Excel Solver在运行时提供不同的解决方案,无需更改

时间:2016-03-15 18:50:36

标签: excel solution solver

我有一个包含5列A,B,C,D和E的电子表格,所有相同的长度都包含数字数据。

A,B和C列的值均为-10到+10,D列为结果。在E列中我有一个If AND公式,只有当A,B或C落在一个范围内时,才会显示D的相应结果。范围由IF AND公式引用的单独单元格设置。

我希望求解器找到A,B和C的最佳范围,通过改变A,B,C的范围来最大化E的结果。

例如解算器可能会返回;

A必须在0到5之间,B可以在-10到+10之间,C是-2到0.这个标准最大化了相邻单元格中的总数E.

电子表格中的所有内容都可以正常运行,但每次运行解算​​器时,都会弹出不同的解决方案,而不会更改任何数据或执行任何不同的操作。我是否错过了求解器如何工作的逻辑?我相信它应该始终找到最佳解决方案,如果没有其他改变,它应该总是相同的

1 个答案:

答案 0 :(得分:1)

Evolutionary algorithms通过模拟生物进化找到启发式解决方案。它们通过创建随机生成的候选解决方案群体并使用您尝试优化的目标函数来判断候选解决方案的适用性(具有与fitter解决方案相对应的更好的目标函数值)。允许Fitter解决方案彼此交配(以一种具有相当大量随机性的方式)与交配解决方案生成由随机交叉和突变组合构建的子项。即使是简单的进化算法运行也会涉及数十万甚至数百万次随机数生成器的调用,因此没有两次运行是相同的。如果一切顺利,所有运行都应该给出值大约相同的解决方案 - 尽管有大量局部最优的问题有时会出现一个问题,而这个问题并不容易解决。