主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

设置基于问题的优化选项

要以基于问题的方法调整优化解流程,请使用 optimoptions 设置选项并将选项传递给 solve

options = optimoptions("fmincon",PlotFcn=@optimplotfvalconstr);
[sol,fval] = solve(prob,x0,Options=options);

您可能想知道要指定哪个求解器;optimoptions 要求您设置一个求解器,但 solve 选择求解器。您应该为您的选项设置哪个求解器?

要查找 solve 用于求解问题的默认求解器,请使用 solvers

default = solvers(prob)
default = 
"lsqnonlin"

如果您想使用默认求解器,您可以指定选项使用 solvers 的第一个输出。

options = optimoptions(default,...);

要找到问题的所有可用求解器,请查看 solvers 的第二个输出。

[~,validsolvers] = solvers(prob)
validsolvers = 1x10 string
    "lsqnonlin"    "lsqcurvefit"    "fmincon"    "ga"    "patternsearch"    "surrogateopt"    "particleswarm"    "simulannealbnd"    "gamultiobj"    "paretosearch"

您可以使用 Solver 名称值参量为 solve 指定非默认求解器。

[sol,fval] = solve(prob,x0,Options=options,Solver="fmincon");

注意

要设置无需 Optimization Toolbox™ 许可证即可使用的求解器选项,请使用 optimset。这些求解器是 fminbndfminsearchfzerolsqnonneg

设置选项的其余考虑与基于求解器的方法相同。有关详细信息,请参阅设置优化选项

另请参阅

| |

主题