我正在构建一个MILP约束系统。以下是我需要构建的约束。
floor(a-b) <= 2c - 1
这里,a和b是实值的。 c是整数变量。我需要floor函数才能为变量分配适当的值。如何在Gurobi中添加此约束?任何帮助表示赞赏。
答案 0 :(得分:2)
假设a以常数MaxA为界,并且类似地让b <= MaxB。 然后,使用不等式
(1):a&lt; b + c * MaxA
(2):b&lt; = a +(1-c)* MaxB。
设a&gt; = b,因此(1)意味着c = 1,并且(c)在c上独立地满足。除此以外, 假设a小于b,现在(2)暗示c = 0并且(1)变得微不足道。 (你应该跳过(2),如果你只是想确保a> = b意味着c = 1,否则不关心c。)