Absolute value as a linear programming constraint?
21 ビュー (過去 30 日間)
古いコメントを表示
Suppose I want to use absolute values in a constraint equation for linear or mixed integer programming - i.e. suppose I need one of the form abs(x1) + abs(x2) <= 1.
How would I incorporate this in the constraint matrix in MATLAB?
2 件のコメント
回答 (1 件)
Matt J
2013 年 6 月 22 日
編集済み: Matt J
2013 年 6 月 22 日
abs(x1+x2)<=1
is equivalent to the constraints
x1+x2<=1
-(x1+x2)<=1
5 件のコメント
James Tursa
2020 年 4 月 8 日
編集済み: James Tursa
2020 年 4 月 8 日
Correct. This constraint abs(x1) + abs(x2) <= 1 is actually inside a diamond with vertices at (1,0), (0,1), (-1,0), and (0,-1). So there would be four inequality constraints involved for the four line segments, not just two.
Matt J
2020 年 4 月 8 日
編集済み: Matt J
2020 年 4 月 8 日
The original question was how to code abs(x1)+abs(x2)<=1 as a constraint.
I suspect the original question was abs(x1+x2) and was later edited....
However, abs(x1) + abs(x2) <= 1 can be represented by 4 inequality constraints, as James says:
[1 1 * [x1;x2] <=[1;1;1;1]
1 -1
-1 1
-1 -1]
参考
カテゴリ
Help Center および File Exchange で Linear Programming and Mixed-Integer Linear Programming についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!