【发布时间】:2021-09-26 08:30:56
【问题描述】:
我们正在使用网格(二维数组)。在每个单元格中,我们计算一个双精度值。
有没有办法在 gurobi 中定义约束(或目标) 确保只允许所有单元格中的 5% 大于某个值?
【问题讨论】:
标签: optimization mathematical-optimization gurobi
我们正在使用网格(二维数组)。在每个单元格中,我们计算一个双精度值。
有没有办法在 gurobi 中定义约束(或目标) 确保只允许所有单元格中的 5% 大于某个值?
【问题讨论】:
标签: optimization mathematical-optimization 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),δ(i,j)) ≤ 0.05*gridsize
δ(i,j) ∈ {0,1}
【讨论】: