Main Content

最適化の意思決定表

以下の表はソルバ―の選択の手助けを目的としています。ここでは、多目的最適化や方程式の解法には触れていません。以下のすべてのソルバーの詳細については、Optimization Toolbox の関数が扱う問題を参照してください。

以下の表では、

  • * は、該当するソルバーが Global Optimization Toolbox (Global Optimization Toolbox) の関数 (Optimization Toolbox™ ソルバーとは別ライセンス) 内にあることを意味します。

  • fmincon は、滑らかな制約をもつ滑らかな目的関数のほとんどに適用できます。表にリストされたソルバーの方が一般的に効率が良いため、fmincon は最小二乗法と線形/二次計画法の推奨ソルバーとしてはリストされていません。

  • 表には推奨される関数が示されていますが、選択の幅を過度に制限するものではありません。たとえば fmincon は、ある種の滑らかでない問題に効果的な場合があります。

  • Global Optimization Toolbox ga (Global Optimization Toolbox) 関数と surrogateopt (Global Optimization Toolbox) 関数は、混合整数非線形計画問題を扱うことができます。

  • Statistics and Machine Learning Toolbox™ の関数 bayesopt (Statistics and Machine Learning Toolbox) は、連続変数、整数変数、categorical 変数の組み合わせを使用して、低次元の確定的または確率的な最適化問題を扱うことができます。

目的関数と制約によるソルバーの分類

制約タイプ 目的の種類
線形二次最小二乗法滑らかな非線形滑らかでない
なしN/A (f = const または min = )quadprog, 詳細mldivide, lsqcurvefit, lsqnonlin, 詳細fminsearch, fminunc, 詳細fminsearch, *
範囲linprog, 詳細quadprog, 詳細lsqcurvefit, lsqlin, lsqnonlin, lsqnonneg, 詳細fminbnd, fmincon, fseminf, 詳細fminbnd, *
線形linprog, 詳細quadprog, 詳細lsqcurvefit, lsqlin, lsqnonlin, 詳細fmincon, fseminf, 詳細*
円錐coneprog, 詳細fmincon, 詳細lsqcurvefit, fmincon, lsqnonlin, 詳細fmincon, 詳細*
全体に滑らかfmincon, 詳細fmincon, 詳細lsqcurvefit, fmincon, lsqnonlin, 詳細fmincon, fseminf, 詳細*
範囲制約または線形制約のある離散intlinprog, 詳細****

メモ

この表は、多目的関数のソルバーと方程式を解くソルバーはリストしていません。Optimization Toolbox の関数が扱う問題の全リストは Optimization Toolbox の関数が扱う問題 を参照してください。

メモ

一部のソルバーは複数のアルゴリズムをもっています。選択については、アルゴリズムの選択を参照してください。