In intlinprog how can I put condition for x = 1 or 0
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Meriem Ben Kalia
il 23 Ago 2020
Commentato: Meriem Ben Kalia
il 23 Ago 2020
hello,
I have optimization problem that i will solve it with intlinprog. But I have a condition in constraint that x must be 0 or 1 how can I put it in the code ?
0 Commenti
Risposta accettata
Thiago Henrique Gomes Lobato
il 23 Ago 2020
You use a lower and upper bound of 0 and 1, respectively. Then if your number is an integer and should be between 0 and 1, the only possible values it can have are those two. Here is an example direct from the intlinprog documentation page where x(3) can only have values between 0 and 1:
f = [-3;-2;-1];
intcon = 3;
A = [1,1,1];
b = 7;
Aeq = [4,2,1];
beq = 12;2
% Lower and upper bound
lb = zeros(3,1);
ub = [Inf;Inf;1]; % Enforces x(3) is binary
x = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub) % If you don't need A,b,Aeq etc, make their value equal []
Optimal solution found.
Intlinprog stopped at the root node because the objective value is within a gap tolerance of the optimal value, options.AbsoluteGapTolerance = 0 (the
default value). The intcon variables are integer within tolerance, options.IntegerTolerance = 1e-05 (the default value).
x =
0
5.5000
1.0000
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Robotics System Toolbox in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!