Main Content

设置和更改优化选项

设置优化选项的推荐方法是使用 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'});

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

另请参阅

| |

相关主题