2

我正在建立一个 MILP 约束系统。以下是我需要建立的约束。

floor(a-b) <= 2c - 1 

这里,a 和 b 是实值。c 是整数变量。我需要 floor 函数才能为变量分配适当的值。如何在 Gurobi 中添加此约束?任何帮助表示赞赏。

4

1 回答 1

2

假设 a 以常数 MaxA 为界,同样令 b <= MaxB。然后,使用不等式

(1): a < b + c*MaxA

(2): b <= a + (1-c)*MaxB。

令 a>=b,因此 (1) 意味着 c=1,并且 (2) 是平凡满足的,独立于 c。否则,假设 a 小于 b ,现在 (2) 意味着 c=0 并且 (1) 变得微不足道。(如果您只是想确保 a>=b 意味着 c=1,则应该跳过 (2),否则不要关心 c。)

于 2013-05-06T06:39:39.277 回答