【发布时间】:2017-12-19 01:35:35
【问题描述】:
我想为此编写一个约束
if A > 0 then B = 1 else B = 0
其中 A 是决策变量。 B 是二元决策变量。执行此操作的最有效(如果有的话,对于内存和 CPU 使用)的方法是什么?
谢谢。
【问题讨论】:
我想为此编写一个约束
if A > 0 then B = 1 else B = 0
其中 A 是决策变量。 B 是二元决策变量。执行此操作的最有效(如果有的话,对于内存和 CPU 使用)的方法是什么?
谢谢。
【问题讨论】:
指标约束很简单:
B=1 => A >= 0.001
B=0 => A <= 0
在 A 上使用良好的边界来帮助 Gurobi。
如果你有好的界限,你也可以直接做:
A <= B * U
A >= L * (1-B) + B * 0.001
L <= A <= U
【讨论】: