最適化オプションの設定と変更
最適化オプションの設定方法として、関数 optimoptions を使用することを推奨します。たとえば、次のコードは、fmincon アルゴリズムを sqp に設定して、反復表示を指定し、ConstraintTolerance 許容誤差として小さな値を設定します。
options = optimoptions("fmincon",... Algorithm="sqp",Display="iter",ConstraintTolerance=1e-12);
メモ
fminbnd、fminsearch、fzero、lsqnonneg のソルバーには、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"});また、[最適化] ライブ エディター タスクを使用してオプションの設定と変更を行うこともできます。
参考
optimoptions | resetoptions | 最適化