Problem-based optimization: Initial guess for only one variable

11 次查看(过去 30 天)
Hello,
I have a optimization problem with the problem-based approach and I am defining a few variables
A = ones(50,10);
a = optimvar("a",size(A),"Type","integer","LowerBound",0,"UpperBound",2);
b = optimvar("b",size(a),"Type","integer","LowerBound",0,"UpperBound",2);
c = optimvar("c",size(a),"Type","integer","LowerBound",0,"UpperBound",2);
Now I want to make an initial guess for only a, because I can't guess values for b and c. I tried it like this, but it doesn't work:
initial_guess = ...;
x0 = struct('a', initial_guess, 'b', [], 'c', []);
...
solution = solve(prob, x0);
It says, that b and c can't be empty. But I don't know how to implemnt it in another way.
Is there a possibilty to make a guess for only one variable?
(If I am defining b and c e.g. as zeros, the guess is infeasable)
  2 个评论
Fabio Freschi
Fabio Freschi 2023-10-25
Why don't you set your b and c variables in the middle of the range? In your case 1?
b999
b999 2023-10-25
Because I have a lot of constraints besides the variables, which are not fulfilled then.

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2023-10-25
there are only 3^3 different possibilities. Run them each in turn hardcoding one particular a, b, c possibility. Take the best of the 27 results as the solution.
  2 个评论
b999
b999 2023-10-25
It is an easy example to show my problem. The Size of the Variables could be 50x10 or more and there are more than three variables. The a,b and c is just an example. I can't try taht many possibilities

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Get Started with Problem-Based Optimization and Equations 的更多信息

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by