使用 Pulp 更新约束
update a constraint with Pulp
假设有一个线性程序和以下形式的约束:
4 x_1 + 3 x_2 ≤ 10
并且您想将其更新为
4 x_1 + 3 x_2 + 10 x_3 ≤ 10
或到
3 x_2 ≤ 10
为了做到这一点,我 "rewrite" 从头开始约束,比如
prob.constraints[0] = ...
但是对于很长的约束,这是非常低效的。
是否有更简单的方法来从约束中添加或删除变量?
您可以通过以下方式将新条款添加到您的约束中:
prob.constraints[0].addterm(x_3, 10)
同样,您可以通过
删除条款
prob.constraints[0].pop(x_1)
这完成了您列出的两个示例。
假设有一个线性程序和以下形式的约束:
4 x_1 + 3 x_2 ≤ 10
并且您想将其更新为
4 x_1 + 3 x_2 + 10 x_3 ≤ 10
或到
3 x_2 ≤ 10
为了做到这一点,我 "rewrite" 从头开始约束,比如
prob.constraints[0] = ...
但是对于很长的约束,这是非常低效的。
是否有更简单的方法来从约束中添加或删除变量?
您可以通过以下方式将新条款添加到您的约束中:
prob.constraints[0].addterm(x_3, 10)
同样,您可以通过
删除条款prob.constraints[0].pop(x_1)
这完成了您列出的两个示例。