我对如何在有约束的情况下执行此声明有疑问: 仅当A或B或两者同时使用时,然后C或D或两者都使用。 我想用带有二进制值的约束来实现它。 这是一个例子: 如果A则B,则意味着A = B; A或B或两者都表示A + B> = 1。 非常感谢。
答案 0 :(得分:0)
让我尝试。
第一个A => B
与A=B
不同。但是,它与B >= A
相同。如果我们要:A <=> B
,然后A=B
。
真正的问题似乎是:A+B>=1 <=> C+D>=1
或
A+B>=1 => C+D>=1
A+B=0 => C+D=0
我们可以将其写为不平等系统:
C+D >= A
C+D >= B
C+D <= 2(A+B)
所有变量均假定为二进制。