NAG最適化モデリングスイートによる柔軟なモデリング

NAG最適化モデリングスイートの紹介

NAGライブラリ Mark27.1 では、NAG最適化モデリングスイートが大幅な改善されました。機能は数学的最適化モデルの定義をより簡単にし、モデル定式化の編集をサポートし、NAGソルバー間の切り替えをより簡単にすることを可能にします。

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

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

新しいモデリングの可能性 - 柔軟性の向上

我々が解決する必要のある最適化モデルは、時間の経過とともに進化していくのが一般的です。初期解が発見された後、現実世界の問題をより良く数学的モデルに表現し、モデルの内部の働きを理解するために、定式化のさらなる修正が行われます。この課題に直面しているユーザーを支援するために、スイートは定義された定式化を拡張または変更するさまざまな方法を提供します。

  • 追加変数を導入する
  • 特定の制約、変数、または最小二乗残差の効果を、それらを無効にして(一時的に削除して)、それらを再び有効にして(元に戻して)見る
  • 既存のコンポーネントを再定義する、非線形目的関数を再定義する、または目的関数のタイプを完全に変更するなど
  • 線形制約の複数のブロックを追加して、すべての線形制約を一度に1つの大きな行列を定式化する必要性をなくす
  • 線形目的語または線形制約の個々の係数を変更する
  • 任意の変数または制約の境界を変更する
  • 変数を所定の定数に固定することで,定式化の際に変数を排除し,問題の次元を小さくすることができる
  • 2次のコーンを編集し、コーンの重複を許可する (同じ変数を共有する2つ以上のコーン)
  • 二次制約または目的関数を組み立て式または因数分解式で定式化する

Pythonノートブックの例

NAG最適化モデリングスイートで利用可能な数理最適化ソルバー

; グローバル非線形計画法 - 分岐、マルチスタート、確率的最適化に基づくアルゴリズム。 混合整数非線形計画法 の問題を解決することができます。 半定型プログラミング - 両一次行列不等式 と双線形行列の不等式 派生物のない最適化 - 微分が容易に計算できず、有限差分近似が適していない問題のためのソルバーです。 最小二乗 データフィッティング,キャリブレーション,回帰 - 線形および非線形,制約付きおよび制約なし
  • 線形計画法 (LP) - 密と疎
  • 二次計画法 (QP) - 凸と非凸、密と疎
  • 二次円錐計画法 (SOCP) - 二次制約二次計画法 (QCQP) など、多くの凸型最適化問題をカバー
  • 非線形計画法 (NLP) - 密と疎、アクティブセットSQP法と内点法に基づく
  • 大域的非線形計画法 - 分岐、マルチスタート、確率的最適化に基づくアルゴリズム
  • 混合整数非線形計画法 (MINLP) - 密 (非凸問題も可)
  • 半正定値計画法 (SDP) - 線形行列不等式(LMI)と双線形行列不等式(BMI)の両方
  • DFO最適化 (DFO) - 導関数を簡単に計算できず、有限差分近似が適していない問題のソルバー
  • 最小二乗法 (LSQ), データフィッティング、キャリブレーション、回帰(線形および非線形)、制約付きおよび制約なし
関連情報
MENU
Privacy Policy  /  Trademarks