IF,THEN,ELSE整数约束问题

IF, THEN, ELSE Integer Constraint Problem

一段时间以来,我一直坚持制定这个逻辑约束。我试图转化为整数约束的是:

如果 x1i + x2i + x3i 等于 3, 那么 yi 等于 1,否则 yi 等于 0。

我找到了这样的作品:

x1i + x2i + x3i >= 3*yi,但在 x1i + x2i + x3i 等于 3 的情况下,yi 可以取值 0 或 1。我只希望它严格为一个这种情况。

如有任何见解,我们将不胜感激。

根据上下文,我怀疑 x 变量是二进制的。所以这将是我的假设。您基本上是在询问如何线性化约束:

 y = x1*x2*x3

这个等式可以改写为:

 y >= x1+x2+x3-2
 y <= x1
 y <= x2
 y <= x3
 y,x1,x2,x3 ∈ {0,1}