【问题标题】:Python Pulp Linear Programming Min Max rangePython Pulp 线性规划最小最大范围
【发布时间】:2021-04-19 02:20:29
【问题描述】:

我有以下代码 sn-p - 这本质上是我试图解决的 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"

任何帮助都会很棒。谢谢

【问题讨论】:

  • 一种方法是创建一个变量y,边界为33和37,然后引入一个等式约束:y=sum(i, base[i]*id_vars[i])..

标签: python-3.x linear-programming pulp


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 2016-04-14
    • 2021-01-29
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 1970-01-01
    相关资源
    最近更新 更多