問題ベースの構成とパフォーマンスの改善
問題ベースの設定における特殊なタスクの処理
このカテゴリでは問題ベースの解の詳細を説明し、より特殊なタスクに対してのヒントを示します。基本タスクおよび基本的なワークフローについては、問題ベースの最適化および方程式の概要を参照してください。
1 番目のセクションでは、問題を作成または調節する場合にパフォーマンスを改善する方法について説明します。
2 番目のセクションでは、目的関数または制約に
for
ループが含まれる場合にパフォーマンスを改善する方法を示します。3 番目のセクションでは、問題ベースのアプローチを効率的に使用するためのヒントを示します。
トピック
効率的に解くための問題の設定
- 効率的な最適化問題の作成
問題に整数制約がある場合に、より迅速または正確に解を得たり、問題作成でループを回避したりします。 - 共通の関数を持つ目的関数と制約の逐次評価または並列評価、問題ベース
問題ベースのアプローチで目的関数と非線形制約関数が共通の計算を共有する場合の時間を節約します。 - 解析のための解の調整
問題ベースのアプローチで解析機能を有効活用する手法。 - 問題ベースのワークフローへの導関数の供給
自動導関数が適用されない場合に問題ベースの最適化に導関数情報を含める方法。 - 問題ベースの最適化における自動微分の効果
自動微分によって、問題を解くための関数評価の数が減少します。
静的解析
- 最適化式の静的解析
fcn2optimexpr
アルゴリズムの一部である最適化式の静的解析を説明します。 - 静的解析のための for ループの作成
静的解析のために、別個の関数に for ループを作成する方法。 - 静的解析のための for ループの制約の変換
静的解析のために、別個の関数の制約に for ループを作成する方法。
問題ベースの設定のヒント
- 問題ベースの [最適化] ライブ エディター タスクの効果的な使い方
問題ベースの [最適化] ライブ エディター タスクの使用方法と概要。 - 最適化モデルのデータからの分離
モデルをデータから分離して、再利用可能および拡張可能な問題を作成します。 - 最適化変数の名前付きインデックス
変数の名前付きインデックスを作成して使用します。 - 名前付きインデックス変数による最適化の初期点の作成
名前付きインデックス変数がある場合に、関数findindex
を使用してsolve
の初期点を作成します。 - 最適化式の初期化
関数の最適化式を初期化する方法、およびそれらの初期化が必要なことを認識する方法。 - 非線形問題ベースの最適化における整数制約
問題ベースの最適化関数prob2struct
およびsolve
で整数制約を処理する方法を学習します。 - 生成された関数詳細の取得
prob2struct
によって作成された非線形関数内の追加のパラメーターの値を見つけます。 - 問題ベースの最適化の出力関数
問題ベースのアプローチで出力関数を使用して、反復の履歴を記録し、カスタム プロットを作成します。