Main Content

最適化オプションの設定と変更

最適化オプションの設定方法として、関数 optimoptions を使用することを推奨します。たとえば、次のコードは、fmincon アルゴリズムを sqp に設定して、反復表示を指定し、ConstraintTolerance 許容誤差として小さな値を設定します。

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

メモ

fminbndfminsearchfzerolsqnonneg のソルバーには、optimoptions の代わりに optimset を使用します。これらは 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');

一度に複数のオプションをリセットするには、オプション名の cell 配列を渡します。

options = resetoptions(options,{'Algorithm','StepTolerance'});

また、[最適化] ライブ エディター タスクを使用してオプションの設定と変更を行うこともできます。

参考

| |

関連するトピック