使用3个二进制变量构建线性等距线

问题描述 投票:0回答:1

我正在尝试建立遵循此逻辑的线性约束

如果x1 = 1或x2 = 1则y1 = 1

但是如果x1 = 0和x2 = 0,则y1 = 0

如果同时x1 = 1和x2 = 1,则y1 = 1

constraints julia linear-programming mixed-integer-programming
1个回答
0
投票

假设

  • 我们在这里谈论整数编程
  • x1, x2 are binary-variables / integer-variables in [0, 1]

真值表如下:

x1    x2  ||  y1
----------------
0     0   ||   0   
0     1   ||   1
1     0   ||   1
1     1   ||   1

这就是:

y1 = x1 OR x2

这是微不足道的线性化(请参见relevant answer on cs.stackexchange.com:]

y1 = binary-var / (could be integer-var too)

y1 <= x1 + x2
y1 >= x1
y1 >= x2
© www.soinside.com 2019 - 2024. All rights reserved.