【问题标题】:gurobi, do not have a specific range of values,gurobi,没有特定的值范围,
【发布时间】:2021-08-30 02:20:44
【问题描述】:

x 是一个决策变量。 如何构建满足以下条件的约束?

(x >= 100) or (x <= 50)

or条件下下面的两个表达式如何组合?

mdl.addConstr(x>=100) 
mdl.addConstr(x<=50) 

【问题讨论】:

  • 您可以定义变量x1 &gt;= 100x2 &lt;= 50b二进制。然后,将x 替换为x1 * b + x2 * (1-b)

标签: python optimization mathematical-optimization gurobi


【解决方案1】:

通常,此类公式有一些其他依赖项来定义任何一个约束何时应该成立。这里可以使用indicator constraints

mdl.addConstr((y == 0) >> (x <= 50))
mdl.addConstr((y == 1) >> (x >= 100))

二进制变量y 用于打开两个约束中的任何一个。

【讨论】:

    猜你喜欢
    • 2020-01-24
    • 2014-10-11
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多