Gurobi 计数:将约束设置为网格值的百分比

我们正在使用网格(二维数组)。在每个单元格中,我们计算一个双精度值。

有没有办法在 gurobi 中定义约束(或目标) 确保只有 5% 的单元格可以大于某个值?

daiqilin1970 回答:Gurobi 计数:将约束设置为网格值的百分比

计数需要(某种形式的)二进制变量。例如

 x(i,j) ≤ threshold + δ(i,j)⋅(U(i,j)-threshold) 
 sum((i,j),δ(i,j)) ≤ 0.05*gridsize
 x(i,j) ∈ [0,U(i,j)]
 δ(i,j) ∈ {0,1}

这里的 U(i,j)x(i,j)(您的单元格值)的边界。如果您对 x(i,j) 的边界没有很好的了解,可以使用指标约束:

 δ(i,j) = 0 ==> x(i,j) ≤ threshold
 sum((i,j)) ≤ 0.05*gridsize
 δ(i,1}
本文链接:https://www.f2er.com/77688.html

大家都在问