主要内容

设置和更改优化选项

设置优化选项的推荐方法是使用 optimoptions 函数。例如,以下代码将 fmincon 算法设置为 sqp,指定迭代输出,并为 ConstraintTolerance 容差设置较小的值。

options = optimoptions("fmincon",...
    Algorithm="sqp",Display="iter",ConstraintTolerance=1e-12);

注意

对于 fminbndfminsearchfzerolsqnonneg 求解器,请使用 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"});

您还可以使用优化实时编辑器任务来设置和更改选项。

另请参阅

| |

主题