Optimization Modeling Suite によるモデリングの簡素化

ホーム > 製品 > NAG 数値計算ライブラリ > 最適化問題(数理計画問題) > Optimization Modeling Suite によるモデリングの簡素化

Optimization Modeling Suiteとは

NAG ライブラリに含まれる Optimization Modeling Suite は、最適化の問題を定義して解決する際に、統一されたアプローチをユーザーに提供するために開発されました。 Optimization Modeling Suite のルーチンを使用すると、線形、二次、非線形 (凸と非凸の両方)、データ フィッティングなど、さまざまな最適化問題をすばやく簡単に設定、変更、解決できます。

Optimization Modelling Suite のユーザーは、モデル定式化がその基本的な構成要素から自然な表現に従うという事実から恩恵を受けることができます。例えば、QP問題は、変数のセット、二次目的、単純な境界、および線形制約から構成され、コンポーネントを構築する個々のルーチンを順番に呼び出すことによって、同じようにモデルが定式化されます。すべての種類のモデルと互換性のあるソルバーに対して同じアプローチが使用されるため、モデルの切り替えや異なる設定のテストが非常に簡単になります。

e04 handle flow

新たなモデリングの可能性 - 柔軟性の向上

解決すべき最適化モデルが時間とともに進化していくことはよくあることです。初期解が見つかった後、現実世界の問題を数学的モデルでより適切に表現し、モデルの内部動作の理解を深めるために、定式化をさらに修正することが行われます。このような事を行うユーザーを支援するために、Optimization Modeling Suiteは定義された定式化を拡張または修正する様々な方法を提供します。

  • 変数を追加する
  • 特定の制約、変数、最小二乗残差を無効化(一時的に削除)し、再有効化することで、その効果を確認する。
  • 非線形目的関数の再定義や目的関数タイプの変更など、既存のコンポーネントを再定義する。
  • 線形制約の複数のブロックを追加し、一度にすべての線形制約を持つ1つの大きな行列を定式化する必要性をなくす。
  • 線形目的関数または線形制約の個々の係数を修正する。
  • 変数や制約の境界を変更する。
  • 変数を与えられた定数に固定し,定式化全体にわたって変数を除去し,問題の次元を減少させる。
  • 2次コーンの編集とコーンの重複(同じ変数を共有する2つ以上のコーン)を許可する。
  • 二次制約または目的関数を,組み立てられた形式または因数分解された形式で定式化する (さらに詳しく)

Pythonノートブックの例

数理最適化ソルバー

NAGライブラリに含まれている Optimization Modeling Suite は、以下を含む様々な数理最適化ソルバーを提供しています。
  • 線形計画法(LP)-密および疎
  • 二次計画法(QP)-凸および非凸、密および疎
  • 二次コーンプログラミング(SOCP) - 二次制約付き二次プログラミング(QCQP)などの多くの凸最適化問題をカバー
  • 非線形計画法(NLP) - アクティブセットSQP法と内点法(IPM)に基づく密と疎の問題
  • グローバル非線形プログラミング - 分岐、マルチスタート、確率的最適化に基づくアルゴリズム
  • 混合整数非線形計画法 (MINLP) - 密な(場合によっては非凸の)問題のためのもの
  • 半正定値計画法 (SDP) - 線形行列不等式 (LMI) と双線形行列不等式 (BMI) の両方
  • 非誘導体最適化(DFO) - 微分が容易に計算できず、有限差分近似が適さない問題に対するソルバー
  • 最小二乗法(LSQ)、データフィット、キャリブレーション、回帰 - 線形および非線形、制約条件付きおよび制約条件なし

NAGライブラリ提供最適化機能

NAGライブラリ及びOptimization Modeling Suiteにご興味のある方は

お客様のご利用言語/及びご利用環境(OS等)にあった、適切なライブラリをご選択ください。

詳細につきましてはNAG数値計算ライブラリのページをご参照下さい。

また、もしご不明な点などございましたら、こちらからお問い合わせ下さい。

関連情報
MENU
Privacy Policy  /  Trademarks