Excel VBA 中的求解器给出的结果与手动执行求解器的结果不同
Excel Solver in VBA gives different results than executing Solver manually
我不知道这是不是因为 'ayhan' 在这里指出的 GRG 非线性算法:
但是当我使用以下代码从宏执行 Solver 时:
SolverReset
SolverOk SetCell:="$F", _
MaxMinVal:=3, _
ValueOf:=valor, _
ByChange:="$D", _
EngineDesc:="GRG Nonlinear"
SolverSolve userFinish:=True
我没有得到与手动执行时相同的结果
我知道差别很小。这正常吗?
谢谢
这两种方法的求解器的起始值必须完全相同,因为求解器不是使用精确的数学方法,而是基于数值迭代的方法来寻找解决方案。所以如果启动参数不同,它可能会得出不同的结果。
我不知道这是不是因为 'ayhan' 在这里指出的 GRG 非线性算法:
但是当我使用以下代码从宏执行 Solver 时:
SolverReset
SolverOk SetCell:="$F", _
MaxMinVal:=3, _
ValueOf:=valor, _
ByChange:="$D", _
EngineDesc:="GRG Nonlinear"
SolverSolve userFinish:=True
我没有得到与手动执行时相同的结果
我知道差别很小。这正常吗?
谢谢
这两种方法的求解器的起始值必须完全相同,因为求解器不是使用精确的数学方法,而是基于数值迭代的方法来寻找解决方案。所以如果启动参数不同,它可能会得出不同的结果。