ソルバーベースの非線形最適化
ソルバーベースのアプローチを使用した非線形最小化問題および半無限計画問題の逐次評価または並列評価による解法
最適化問題を解く前に、問題ベースかソルバーベースか、適切なアプローチを選択しなければなりません。詳細については、はじめに問題ベース アプローチまたはソルバーベース アプローチを選択を参照してください。
問題の設定については、ソルバーベースの最適化問題の設定を参照してください。
関数
fminbnd | 固定区間における 1 変数関数の最小値を求める |
fmincon | 制約付き非線形多変数関数の最小値を求める |
fminsearch | 導関数を使用せず制約なし多変数関数の最小値を求める |
fminunc | 制約なし多変数関数の最小値を求める |
fseminf | 半無限制約付き多変数非線形関数の最小値を計算する |
checkGradients | Check first derivative function against finite-difference approximation (R2023b 以降) |
optim.coder.infbound | コード生成の無限境界サポート (R2022b 以降) |
ライブ エディター タスク
最適化 | ライブ エディターでの方程式の最適化または解決 (R2020b 以降) |
トピック
制約なしのソルバーベースの応用
- バナナ関数の最小化
勾配がある場合とない場合について、各種のソルバーを使用して Rosenbrock 関数の最小値を求める方法を示す。 - 多くの変数を使用した非線形問題の求解
大規模な非線形問題の適切なオプションの選択。 - fminunc を使用した制約なし最小化
制約なし非線形計画法の例。 - 勾配およびヘッシアンを使った最小化
導関数を含めた制約なし非線形計画法の例。 - 勾配およびヘッセ スパース パターンを使った最小化
導関数情報を使用する非線形計画法の例。
制約付きのソルバーベースの応用
- Optimization Toolbox のチュートリアル
非線形問題を解く方法と追加パラメーターを渡す方法を示すチュートリアル例。 - fmincon ソルバーを使用した最適化ライブ エディター タスク
最適化ライブ エディター タスクを使用した制約付きの非線形計画法の例。 - 非線形不等式制約
非線形不等式制約をもつ非線形計画法の例。 - 勾配付き非線形制約
導関数情報を使用する非線形計画法の例。 - 解析的ヘッシアンを使用した fmincon の内点法アルゴリズム
すべての導関数情報を使用する非線形計画法の例。 - 二次制約付きの線形または二次目的関数
この例では、線形または二次の目的関数および二次不等式制約をもつ最適化問題を解く方法を説明します。 - 非線形の等式制約と不等式制約
両方のタイプの非線形制約をもつ非線形計画法。 - すべての制約タイプの使用方法
すべての制約を示す例です。 - 最良実行可能点の取得
output
構造体で最良実行可能点を探します。 - 多くの変数を使用した非線形問題の求解
大規模な非線形問題の適切なオプションの選択。 - 範囲制約および範囲付きの前提条件子を使った最小化
構造化された非線形問題をもつ可能性がある効率性ゲインを示す例。 - 線形等式制約を使用した最小化 (信頼領域 Reflective 法アルゴリズム)
線形等式制約のみをもつ非線形計画法を示す例。 - 密に構造化されたヘッシアンと線形等式を使用した最小化
構造化されたヘッシアンと線形等式制約または範囲のみを使用した非線形計画法でメモリを節約する方法を示す例。 - Symbolic Math Toolbox を使用した勾配とヘッシアンの計算
最適化ソルバー用に導関数をシンボリックに計算する方法を示す例。 - Optimization Toolbox ソルバーによる記号数学の使用
Symbolic Math Toolbox™ を使用して、勾配とヘッシアンを生成します。
コード生成
- fmincon でのコード生成の背景
非線形最適化用の C コードを生成するための前提条件。 - 最適化のためのコード生成の基本
最適化ソルバーfmincon
のコード生成の基本を学習します。 - fmincon コード生成の静的メモリ割り当て
コード生成において問題が変化する場合に静的メモリ割り当てを使用します。 - リアルタイム アプリケーションの最適化コード生成
生成コードにおいてリアルタイム要件に対処する手法を紹介します。
半無限制約
- 1 次元半無限制約
非線形計画法で 1 次元の半無限制約を使用する方法を示す例。 - 2 次元の半無限制約
非線形計画法で 2 次元の半無限制約を使用する方法を示す例。 - 半無限計画法を使用した不確定性の影響の解析
この例では、最適化問題のモデル パラメーターにおける不確定性の影響を調べるために半無限計画法を使用する方法を説明します。
並列計算
- Optimization Toolbox での並列計算とは
最適化に複数のプロセッサを使用します。 - Optimization Toolbox での並列計算の使用
勾配推定を並列で行います。 - 並列計算によるパフォーマンスの向上
最適化の高速化のための要因について調べます。 - Parallel Computing Toolbox を使用した、時間のかかる最適化問題の最小化
Global Optimization Toolbox と Optimization Toolbox™ の両方のソルバーで並列計算を使用する方法を示す例。
シミュレーションまたは ODE
- シミュレーションまたは常微分方程式の最適化
シミュレーション、ブラック ボックス目的関数または ODE を最適化する際の特別な考慮事項。
アルゴリズムとその他の理論
- 制約なし非線形最適化アルゴリズム
制約なしの n 次元の目的関数で単一の目的関数を最小化します。 - 制約付き非線形最適化アルゴリズム
さまざまなタイプの制約をもつ n 次元で単一の目的関数を最小化。 - fminsearch アルゴリズム
関数の最小化にfminsearch
が使用するステップ。 - 最適化オプション リファレンス
最適化のオプションを紹介します。 - 大域的最適解と局所的最適解
ソルバーが最小の最小値を検索しないかもしれない理由。 - 滑らかでない関数の滑らかな定式化
補助変数を使用して、滑らかでない関数を滑らかな関数として再定式化します。 - 最適化に関する参考文献
最適化ソルバーのアルゴリズムで実装する概念を扱った印刷物のリストです。