我创建Excel中的一个模型与解算器一起使用。它主要工作。唯一的问题是,求解是不是真的正确处理限制为二进制的细胞。当它完成寻找解决办法,一些数字实际上是0.9999996,1.0000000003,0.0000017,等等。

我在使用Excel 2004年Mac OS X上的任何想法?

有帮助吗?

解决方案

由于计算机的有限精度和优化算法的性质,解算器已建成的容差。我会尝试选择选项按钮在规划求解参数对话框,然后提高精度(比如从0.000001默认至0.00000001)。我不知道这是否会工作,但它是值得一试。

我公司做商业级求解挂钩到Excel称为What'sBest。如果以上不工作,你可以考虑它。您可以在www.lindo.com

更多信息

其他提示

如果二进制值远离0或1,你可能需要去选择在求解器窗口,并检查框“忽略整数约束检查。”

如果解算器无法找到允许迭代的时间帧或数以内的溶液(或如果没有正确的答案可能)它不会返回二进制答案。

一个可能的方法,请根据问题的类型您正在试图解决的如何确切的答案,你需要,是设置一些细胞(可能只是那些在你与contstraints <=1>=0计算),而不是二进制单元格中的最小值。您提供的图片没有显示出来,所以我不完全相信你是什么了。

(它可能有助于建立与不设置为二进制的细胞SUMPRODUCT的细胞;参见下文)

作为一个例子,如果你正在试图解决总共22(它没有解决),则开始:

9   1
9   1
9   1
6   1
3   1

如果你在第二列作为二进制设置的所有的值,您将结束与:

9   0.5625
9   0.5625
9   0.5625
6   0.708333333
3   0.854166667

如果设置了第一3为二进制,和最后两个作为<=1>=0,你结束了:

9   0
9   1
9   1
6   0.333333333
3   0.666666667

有关的最后两行= 4,然后你可以使用SUMPRODUCT手动设置的最后两个为1,另一个0之一,这取决于是否要稍低于或高于目标的回答。

我有类似的问题,也可以前往求解器选项,然后选中“使用自动缩放”解决这个问题。我不知道这将解决您的问题或没有,但值得一试。

很可能不是你的问题,但要知道存在的选项复选框Ignore Integer Constraints被默认在Excel求解检查。至少,在我的Excel 2011复制的Mac的情况。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top