如何实现AND / OR语句逻辑?

时间:2019-10-13 18:23:52

标签: binary logic linear-programming

我对如何在有约束的情况下执行此声明有疑问: 仅当A或B或两者同时使用时,然后C或D或两者都使用。 我想用带有二进制值的约束来实现它。 这是一个例子: 如果A则B,则意味着A = B; A或B或两者都表示A + B> = 1。 非常感谢。

1 个答案:

答案 0 :(得分:0)

让我尝试。

第一个A => BA=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)

所有变量均假定为二进制。