我正在努力减少B19中的目标函数。为什么解算器找不到任何可行的解决方案?我无法理解。基本上模型是:
变量:
- xi
约束:
- xi是布尔值
- sum(li * xi') < F
- li * xi > F'
,foreach i
目标函数:
- sum(xi * di)
答案 0 :(得分:0)
是的,您目前拥有的一组约束,合并时是不可行的。 如果你放松一点,Excel会找到最佳解决方案。
首先,看看pi * xi > 0.6 for all i
这样做有两件事。由于所有pi都大于0,所有xi变量都被强制为1.(0不可能)
另外,请看最后一栏,xi。由于该pi为0.2,即使对于x = 1,xi * pi
也不能> 0.6。 (要找到可行的解决方案,您必须将P'降低到0.2
sum of pi * xi < 5
你所有的pi加起来都是5.4。由于前一组约束,所有X都被强制取值1.所以你必须使B10至少为5.4。
所有这一切,我怀疑你不希望你的xi是二进制的。也许,你希望它们是0 <= xi <= 1,
,也就是说,它们也可以取小数值。
放松B10和B16的值后,Excel能够找到解决方案。见下图。
根据OP的澄清更新
你的Xi变量很好。 0表示出租车正在运行,1表示它将进行维修。
目标功能:最大限度地降低维修成本(慈溪的产品)也很好。
您必须更改个人出租车限制。正如问题所定义的那样,pi = 0是好的,pi为1是坏的。该公司不希望任何出租车的pi超过阈值P'。
约束:pi * (1-Xi) <= 0.6
(比如说)
想一想:一旦出租车的pi越过门槛,它就会被迫去修理,因为习近平必须成为1。
全球可用性:为此,您可以简单地总结“可用出租车”并确保超出所需的最低要求(比如5)
sum(1-xi) >=5
如果以这种方式设置Excel模型,您将获得可行的解决方案。
见下图:
更新2:包括全球退化指数上限
如果不是上面的约束4.你想要一个约束,使所有pi的总和保持在一定的限度,你将执行以下操作:
(1-xi)
是出租车服务的指标。
所以这个约束变为:
Sum of pi * (1-xi) <= P'
为方便起见,您可以在Excel中创建一行(1-xi),然后使用该行的Sumproduct和pi行。
希望有所帮助。