-1

我有接下来的两个 if-then 约束

1.- 如果 x1+y2-n >= 0 那么 m2=0,否则 m2=1

其中 x1、x2 是离散的,n 是常数,m2 是二进制变量。

  1. 如果 2x1 - y1 >= 0 那么 m1=0,否则 m1=1

其中 m1 是二进制变量。

如何将此约束转换为普通约束。

4

1 回答 1

0

您可以将您的问题分为四个子问题:

问题1:

m2=0
m1=0
x1+y2-n >= 0
2x1 - y1 >= 0

问题2:

m2=1
m1=0
x1+y2-n < 0
2x1 - y1 >= 0

问题3:

m2=0
m1=1
x1+y2-n >= 0
2x1 - y1 < 0`

问题4:

m2=1
m1=1
x1+y2-n < 0
2x1 - y1 < 0

在每个问题上,提取可行的解决方案,并在需要时从四个问题中获得最佳解决方案。

于 2016-08-30T13:38:25.197 回答