使用 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)

这完成了您列出的两个示例。