我想在线性编程中制定一个问题,我似乎无法做到这一点。问题是: 如果A> 0,则b = 1 否则(如果A = 0)则b = 0,
其中b是二进制变量,A> = 0(整数)。
有任何建议/建议吗?
答案 0 :(得分:1)
<强>假设强>:
A
表示法不是很好)约束:
(1) A <= M * b
(2) b <= M * A
检查:
A = 2
(1) b = 1
(2) b free
A = 0
(1) b free
(2) b = 0
b = 1
(1) A free
(2) A > 0
b = 0
(1) A = 0
(2) A free
这几乎是:
x == y <-> (x -> y) & (y -> x)