线性化 MILP 约束中的 if 语句
Linearize if statement in MILP constraint
我正在尝试解决一个优化问题,其中一个约束是:
x*y=0,其中x和y是决策变量,只有x或y可以为正。换句话说,如果 x!=0 则 y=0,如果 y!=0 则 x=0。
请帮助
假设:x
和 y
是非负的
推断 x
、y
的上限 UB_x
和 UB_y
引入新的布尔变量b
添加约束:
x <= (1-b) * UB_x
y <= b * UB_y
我正在尝试解决一个优化问题,其中一个约束是: x*y=0,其中x和y是决策变量,只有x或y可以为正。换句话说,如果 x!=0 则 y=0,如果 y!=0 则 x=0。 请帮助
假设:
x
和y
是非负的推断
的上限x
、y
UB_x
和UB_y
引入新的布尔变量
b
添加约束:
x <= (1-b) * UB_x y <= b * UB_y