このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
最適化の意思決定表
以下の表はソルバ―の選択の手助けを目的としています。ここでは、多目的最適化や方程式の解法には触れていません。以下のすべてのソルバーの詳細については、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 の関数が扱う問題 を参照してください。
メモ
一部のソルバーは複数のアルゴリズムをもっています。選択については、アルゴリズムの選択を参照してください。