Azzera filtri
Azzera filtri

Problem-based optimization: Initial guess for only one variable

3 visualizzazioni (ultimi 30 giorni)
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 Commenti
Fabio Freschi
Fabio Freschi il 25 Ott 2023
Why don't you set your b and c variables in the middle of the range? In your case 1?
b999
b999 il 25 Ott 2023
Because I have a lot of constraints besides the variables, which are not fulfilled then.

Accedi per commentare.

Risposte (1)

Walter Roberson
Walter Roberson il 25 Ott 2023
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 Commenti
b999
b999 il 25 Ott 2023
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
Walter Roberson
Walter Roberson il 26 Ott 2023
Is there a possibilty to make a guess for only one variable?
NO.

Accedi per commentare.

Categorie

Scopri di più su Get Started with Optimization Toolbox in Help Center e File Exchange

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by