Optimization Toolbox

Optimization Toolbox

線形、二次、円錐、整数、非線形の最適化問題を求解

詳細を見る:

最適化問題の定義

設計問題や決定問題を最適化問題としてモデル化します。設計パラメーターと決定を最適化変数として設定します。それらを目的関数の定義に使用して最適化し、制約を使用して変数値を制限します。

問題ベースの最適化

最適化変数の式を使用して、目的や制約を記述します。非線形式の自動微分によって、より速く、よりロバストに求解します。自動選択されたソルバーを適用します。

ソルバーベースの最適化

関数を使用して非線形の目的や制約を記述し、係数行列を使用して線形の目的や制約を記述します。ライブエディターの最適化タスクで問題を対話的に作成および求解し、アプリケーションで共有または使用するためのコードを生成します。

最適化問題の解法

最適解 (目的関数の最適値があればそれを生成し、制約があればそれを満たす最適化変数の値のセット) を見つけるソルバーを最適化問題に適用します。

ソルバーの選択

ライブエディターの最適化タスクを使用することで,ソルバーベースのアプローチを使用する際,問題の種類に適したソルバーを選択しやすくなります。問題ベースのアプローチでは、ソルバーは自動選択されます。

オプションの設定

最適化オプションを設定して、最適化プロセスを調整します。たとえば、ソルバーが使用する最適化アルゴリズムを選択するか、一連の終了条件を設定します。最適化ソルバーの進行状況を監視してプロットするオプションを設定します。

結果のレビューと改善

終了メッセージ、最適性測定、反復表示を確認して、解を評価します。自動微分や、勾配の指定、並列計算による勾配の推定により、非線形問題における性能を改善します。

反復表示によるソルバーの進捗状況の監視

反復表示によるソルバーの進捗状況の監視。

非線形計画法

非線形の目的や制約がある最適化問題を求解します。

ソルバー

制約なしの問題を解くには、準ニュートン、信頼領域、Nelder-Mead シンプレックス アルゴリズムを適用します。制約付きの問題を解決するには、内点法、逐次二次計画法 (SQP)、または信頼領域 Reflective 法アルゴリズムを適用します。

用途

非線形最適化は、パラメーターの推定と調整、最適な設計の探索、最適な軌道の計算、ロバストなポートフォリオの構築など、変数間に非線形関係がある用途に使用します。

線形計画法、二次計画法、および円錐計画法

線形目的または二次目的を持ち、線形制約または二次錐制約がある凸最適化問題を求解します。

線形計画法のソルバー

線形計画を解くには、双対シンプレックス法または内点法アルゴリズムを適用します。

最適解

線形計画の実行可能領域と最適解

二次計画法と二次錐計画法のソルバー

二次計画法を解くには、内点法、有効制約法、または信頼領域 Reflective 法アルゴリズムを適用します。二次錐計画問題を解くには、内点法を適用します。

最適解

二次計画の実行可能領域と最適解

用途

リソース割り当て、生産計画、配合計画、投資計画などの問題に対して、線形計画法を使用します。設計最適化、ポートフォリオ最適化、水力発電ダムの制御などの問題に対して、二次計画法や二次錐計画法を使用します。

水力発電プラントの運転計画

二次計画法による最適制御戦略

混合整数線形計画法

線形制約だけでなく、一部またはすべての変数が整数値でなければならない追加制約がある、線形目的を含む最適化問題を求解します。

ソルバー

分枝限定法アルゴリズムを使用して、混合整数線形計画法の問題を解きます。たとえば、前処理や実行可能点を生成するためのヒューリスティックな方法、切除平面法などがあります。

最適解

分枝限定法アルゴリズムの適

混合整数線形計画法ベースのアルゴリズム

混合整数線形計画法のソルバーを使用して、特定の目的のアルゴリズムを構築します。。

200 都市をめぐる巡回セールスマン問題の解法

各都市を一度のみ訪問する最も短い移動方法

用途

オン/オフの決定や論理的制約がある場合や、変数値を積分する必要がある場合は、整数変数でモデル化します。一般的な用途としては、ルーティングやスケジューリング、計画、割り当て、資本予算の問題などがあります。

最適な発電機のスケジュール

変動する電気料金のもとでの 2 つの発電機のスケジュール

多目的最適化

一連の制約がある多目的関数を含む最適化問題を求解します。

ソルバー

目標計画法またはミニマックスとして問題を定式化します。各目的に対して目標値 (オプションで重み付け済み) がある場合は、目標計画法を使用します。一連の目的関数の最悪値を最小化するには、ミニマックスを使用します。

パレートプロット

関数fgoalattainを使用して計算されたパレートフロント

用途

矛盾した目的に対してトレードオフが必要な場合は、多目的最適化を使用します。一例として、構造設計における重量や強度、ポートフォリオ最適化におけるリスクとリターンなどがあります。

FIR フィルター設計

初期状態と最適化されたフィルター係数での振幅応答

最小二乗法と方程式の解法

非線形最小二乗問題と、範囲制約のある連立非線形方程式を求解します。範囲制約や線形制約のある線形最小二乗問題を求解します。

ソルバー

レーベンバーグ・マルカートや信頼領域、有効制約法、または内点法アルゴリズムを適用します。

非線形データ近似

ローカルアプローチとグローバルアプローチの比較

線形最小二乗法の用途

線形最小二乗ソルバーを使用して、取得したデータへの線形モデルのあてはめや、線形方程式系の解法を行うことができます (パラメーターが範囲制約や線形制約をもつ場合など)。

光学的なブレ除去

線形最小二乗問題の解法によるブレ画像の修復

非線形最小二乗法の用途

非線形最小二乗ソルバーを使用して、取得したデータへの非線形モデルのあてはめや、非線形方程式系の解法を行うことができます (パラメーターが範囲制約をもつ場合など)。

ローレンツ方程式への円形パスのあてはめ

常微分方程式のローレンツ系への円形パスのあてはめ

展開

最適化ベースの意思決定サポートおよび設計ツールの構築、企業システムとの統合、組み込みシステムへの最適化アルゴリズムの展開を行います。

MATLAB Compiler のサポート

MATLAB Compiler™MATLAB Compiler SDK™を使用して、MATLAB®最適化モデルをスタンドアロンの実行可能ファイルや Web アプリケーション、C/C++ 共有ライブラリ、Microsoft®.NET アセンブリ、Java®クラス、Python®パッケージとして展開します。

ユニット コミットメント アプリ

最適な発電スケジュールを計算するアプリ

コード生成

MATLAB Coder™ を使用して、移植可能で可読性に優れた C コードまたは C++ コードを生成して、最適化問題を求解します。組み込みシステムなどの任意のハードウェア向けに生成されたコードをコンパイルします。