【问题标题】:Thrifty boundaries in Mixed Integer Linear Programming混合整数线性规划中的节俭边界
【发布时间】:2019-06-29 11:54:59
【问题描述】:

我目前正在使用lp_solve 及其R API 来设置和解决线性规划问题。

对于这个问题,设置一个更简单的线性规划问题很有用,所以让我们有一个鼓励你玩的玩具示例:

 minimize     3 x1 -   x2
 subject to    -x1 + 6 x2 - x3 +   x4 >= -3
                     7 x2      + 2 x4 <=  5
                x1 +   x2 + x3        >=  1
                            x3 +   x4 <=  2

此外,x1x2x3x4 应为整数。

这可以很容易地解决,但是如果我需要添加一个这样的约束:

abs(x1) + abs(x2) + abs(x3) + abs(x4) &lt;= 3

您将如何添加此约束和/或您将如何处理符合此类附加约束的解决方案?

【问题讨论】:

标签: linear-programming lpsolve


【解决方案1】:

您的问题目前是

minimize     3 x1 -   x2
 subject to    -x1 + 6 x2 - x3 +   x4 >= -3
                     7 x2      + 2 x4 <=  5
                x1 +   x2 + x3        >=  1
                            x3 +   x4 <=  2

添加约束

abs(x1) + abs(x2) + abs(x3) + abs(x4) <= 3

引入一些额外的变量并重写约束:

 x1<=z1
-x1<=z1
 x2<=x2
-x2<=z2
 x3<=z3
-x3<=z3
 x4<=z4
-x4<=z4
z1+z2+z3+z4<=3

z 变量将仅绑定到 x 变量的正(绝对)值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    相关资源
    最近更新 更多