首页 > 解决方案 > VBA 中的 Excel Solver 给出的结果与手动执行 Solver 不同

问题描述

我不知道这是否是因为“ayhan”在这里指出的 GRG 非线性算法:Excel 求解器不提供一致的结果

但是当我使用以下代码从宏执行 Solver 时:

SolverReset
SolverOk SetCell:="$F$5", _
         MaxMinVal:=3, _
         ValueOf:=valor, _
         ByChange:="$D$2", _
         EngineDesc:="GRG Nonlinear"
SolverSolve userFinish:=True

我没有得到与手动执行时相同的结果

不同之处

我知道差异很小。这是正常的吗?

谢谢

标签: excelvbasolver

解决方案


求解器的起始值对于两种方法必须完全相同,因为求解器不是使用精确的数学方法,而是基于数值迭代的方法来找到解决方案。因此,如果启动参数不同,它可能会得出不同的结果。


推荐阅读