Optimization Toolbox

非線形計画法

Optimization Toolbox は、MATLAB における非線形計画法の問題の解決に広く使用されている最適化アルゴリズムを提供します。このツールボックスには、制約なしと制約ありの非線形最適化のためのソルバーと、最小二乗最適化のためのソルバーが含まれています。

制約のない非線形最適化

Optimization Toolbox では、次の 3 つのアルゴリズムを使用して、制約のない非線形最小化の問題を解決できます。

  • 擬似 Newton アルゴリズム: 二次元と三次元の混在する直線探索法と、ヘッセ行列の近似を向上する Broyden-Fletcher-Goldfarb-Shanno (BFGS) 方程式を使用。
  • Nelder-Mead アルゴリズム (または、滑降シンプレックス法): 直接探索アルゴリズムで、関数値のみを使用し (導関数を必要としない)、滑らかでない目的関数を処理。Global Optimization Toolbox: 非線形最適化のために、追加の導関数を使用しない最適化アルゴリズムを提供。
  • 信頼領域アルゴリズム: 制約のない非線形問題に使用され、スパース性や構造を利用できる大規模な問題で特に便利。
Unconstrained nonlinear programming used to search an engine performance map for peak efficiency.
最高の効率性を得るためのエンジンの性能マップの探索に使用された、制約のない非線形計画法。

制約付きの非線形最適化

制約付きの非線形最適化の問題は、非線形目的関数で構成されており、線型または非線形の制約を付けることができます。Optimization Toolbox では、次の 4 つのアルゴリズムを使用して、これらの問題を解決できます。

  • 内点法アルゴリズム: 一般的な非線形最適化に使用。スパース性や構造をもつ大規模な問題に特に便利で、ユーザー定義の目的や、制約関数の評価エラーも許容されます。このアルゴリズムは障壁関数に基づいており、最適化の実行中、オプションで、境界に関してすべての繰り返しを完全に実行可能に保つことができます。
  • SQPアルゴリズム: 一般的な非線形最適化に使用。すべての繰り返しで境界が守られ、ユーザー定義の目的や、制約関数の評価エラーも許容されます。
  • active-setアルゴリズム: 一般的な非線形最適化に使用。
  • 信頼領域 Reflective 法 アルゴリズム: 上下限制約を持つ問題や、線型等式にのみ使用。大規模な問題に特に便利です。

内点法アルゴリズムと信頼領域 Revlective アルゴリズムでは、異なるアプローチを使用してヘッセを推測できます。

内点法アルゴリズムでは、以下を使用してヘッセを推測できます。

  • BFGS (密)
  • Limited memory BFGS (大規模な問題用)
  • ヘッセ乗算関数
  • 実際のヘッセ (スパースまたは密)
  • スパースな構造に関する知識を必要としない、有限差分勾配

信頼領域 Revlective 法アルゴリズムでは、以下を使用できます。

  • 既知のスパースな構造をもつ、有限差分勾配のヘッセ
  • 実際のヘッセ (スパースまたは密)
  • ヘッセ乗算関数

また、内点法アルゴリズムと信頼領域 Revlective 法アルゴリズムでは、ヘッセ行列を明示的に作成しなくても、関数でヘッセとベクトルの積を計算できます。

Optimization Toolbox には、制約付き非線形最適化の問題を解決するために、Ziena Optimization の KNITRO® ライブラリへのインターフェイスも含まれています。

Constrained nonlinear programming used to design an optimal suspension system.
最適なサスペンション システムの設計に使用された、制約付き非線形計画法。
次のトピック: 多目的最適化

製品評価版の入手または製品の購入

評価版 Optimization Toolbox

評価版ソフトウェアを入手する

MATLAB による最適化入門

Web セミナーを表示する