Excel求解器/线性规划:如何设置约束强制执行高决策变量和低决策变量之间的最大“距离”?

时间:2018-01-29 08:51:31

标签: excel linear-programming solver

假设我有一组二元决策变量(例如,从1美元,2美元,......,10美元的10个价格点的1行数组)。

优化本身并不重要,除非我必须选择不超过4个价格点。该约束被解决,将二进制数相加并将总和约束为< = 4。

然而,需要另一个限制,这让我很难过。我需要创建一个约束,其中所选内容的最高和最低价格点不大于我在单元格中输入的值。假设我在单元格中输入“4”,那么所有价格点必须在彼此的4美元之内(例如,1美元不能选择6美元或更高,5美元就可以)。

示例:最大价格距离= $ 5(这是一个可变单元格)

DV: [1, 0, 1, 1, 1, 0, 0, 0, 0, 0] is OK
DV: [1, 0, 1, 0, 0, 0, 0, 0, 1, 0] is NOT OK

如何以线性方式执行此操作(不能使用MAX(),MIN()或IF()函数)?

1 个答案:

答案 0 :(得分:1)

这样的东西
 Maxprice >= x(i) * price(i)
 Minprice <= x(i) * price(i)+(1-x(i))*M
 Maxprice - minprice <= maxdifference

其中M是常数M=max(i,price(i))