设置和更改优化选项
设置优化选项的推荐方法是使用 optimoptions 函数。例如,以下代码将 fmincon 算法设置为 sqp,指定迭代输出,并为 ConstraintTolerance 容差设置较小的值。
options = optimoptions("fmincon",... Algorithm="sqp",Display="iter",ConstraintTolerance=1e-12);
注意
对于 fminbnd、fminsearch、fzero 和 lsqnonneg 求解器,请使用 optimset 而不是 optimoptions。这些求解器不需要 Optimization Toolbox™ 许可证。
您可以通过几种方式更改选项。例如,可以使用圆点表示法。
options.StepTolerance = 1e-10;
也可以使用 optimoptions 更改选项。
options = optimoptions(options,StepTolerance=1e-10);
注意
确保在求解器调用中传递 options,如以下示例所示。
[x,fval] = fmincon(@objfun,x0,[],[],[],[],lb,ub,@nonlcon,options);
要将选项重置为其默认值,请使用 resetoptions。
options = resetoptions(options,"StepTolerance");通过传递选项名称的元胞数组来一次重置多个选项。
options = resetoptions(options,{"Algorithm","StepTolerance"});您还可以使用优化实时编辑器任务来设置和更改选项。
另请参阅
optimoptions | resetoptions | 优化