在将 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"
我想知道在使用 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"