Python 纸浆线性规划最小最大范围

Python Pulp Linear Programming Min Max range

我有以下代码片段 - 这基本上是我试图解决的 LP 问题的约束。我怎样才能把它放在一个最小最大范围的单行中?

prob += lpSum([base[i] * id_vars[i] for i in ID]) >= 33, "P1_34_Min_Base"
prob += lpSum([base[i] * id_vars[i] for i in ID]) <= 37, "P2_37_Max_Base"

基本上我想做的是:

prob += lpSum([base[i] * id_vars[i] for i in ID]) between 33 and 37, "P1_Base"

任何帮助都会很棒。谢谢

我个人认为你得到的很好。不确定这是否有效,但您可以尝试

prob += lpSum([base[i] * id_vars[i] for i in ID]) - 33 <= 4

这假设您的变量的下限为 0