In intlinprog how can I put condition for x = 1 or 0
2 ビュー (過去 30 日間)
古いコメントを表示
Meriem Ben Kalia
2020 年 8 月 23 日
コメント済み: Meriem Ben Kalia
2020 年 8 月 23 日
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 件のコメント
採用された回答
Thiago Henrique Gomes Lobato
2020 年 8 月 23 日
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
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Robotics System Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!