我正在尝试在线性编程问题中添加一个包含上下限的约束。
con1 = m3.addConstr(500 <= 52*x1 + 89*x2 + 57*x3 + 147*x4 + 53*x5 <= 3000, name="con1")
这是我使用的代码。尽管这是一种有效的语法,但是我无法解决我的问题。我做得对吗?
答案 0 :(得分:1)
您想要的是范围约束;这是语法:
con1 = m3.addRange(52*x1 + 89*x2 + 57*x3 + 147*x4 + 53*x5, 500, 3000 name="con1")
或
con1 = m3.addConstr(52*x1 + 89*x2 + 57*x3 + 147*x4 + 53*x5 == [500, 3000], name="con1")
Here is the documentation。这些形式是等效的。他们添加了范围变量r
和以下约束:
52*x1 + 89*x2 + 57*x3 + 147*x4 + 53*x5 + r == 3000
0 <= r <= 3000 - 500