在将 Python PuLP 用于线性程序时,我有一种方法可以为同一个变量指定两个约束

I there a way to specify two constraints for the same variable when using Puthon PuLP for a linear program

我想知道在使用 Python PuLP 时是否有一种方法可以让两个变量具有两个不同的约束。

prob += lpSum([evaptwohundredF[i] * component_vars[i] for i in name]) >= 30.0000, "evaptwohundredFrequirement"
prob += lpSum([evaptwohundredF[i] * component_vars[i] for i in name]) <=70.0000, "evaptwohundredFrequirement"

这是我想要的示例,其中同一个变量有两个约束,因此 >= 30 和 <= 70,但问题是我得到一个错误 'pulp.constants.PulpError: overlapping constraint names: evaptwohundredrequirement',那么如何我让它允许两个约束?

我不是 pulp 的忠实用户,但线性规划(因此可能在所有建模工具中)显然允许您要求的内容。

您遇到的问题:pulp 需要每个约束的唯一标识符/str(您的是相同的)。

做类似的事情(只改变了约束名称):

prob += lpSum([evaptwohundredF[i] * component_vars[i] for i in name]) >= 30.0000, "evaptwohundredFrequirement_a"
prob += lpSum([evaptwohundredF[i] * component_vars[i] for i in name]) <=70.0000, "evaptwohundredFrequirement_b"