C++SIMPLE

C++SIMPLE#

  • 読み: しーぷらすぷらすしんぷる

  • 英名:

モデリング言語 SIMPLE を C/C++ に移植したモデリング言語 1リリース当時の名称は単に「SIMPLE」であった..Nuorium Optimizer V2 で実装された 2「Nuorium Optimizer V2」も単に「NUOPT 2」であった.

機能的な特色としては「計算グラフ」を用いた自動微分があり, 当時のモデリング言語処理系の中でもいち早く実装していた.

C++SIMPLE が二階微分の情報を簡便に供給する環境を整えたことで, Nuorium Optimizer に組み込まれた信頼領域法のような高精度な非線形最適化アルゴリズムに, モデリング言語というツールを通してインタラクティブにアクセス可能となった. これにより「回路設計」や「生産計画」,そして「フィッティング」などに現れる複雑で大規模な問題に対して適用する余地が生まれた.

C++ の演算子オーバーロード機能を用いたクラスライブラリとして実装されており,いわゆる「パーサー」がないことも特色の一つである. モデル記述そのものを C++ のコンパイラによってコンパイルして実行することで,数式の情報を「計算グラフ」という形でメモリ上に構成する.

コンパイルしたオブジェクトコードを数理計画法アルゴリズムの実装とリンクすることで, モデル記述の解釈とデータの入力,アルゴリズムの実行および結果の出力を一括して行うロードモジュール(Windows 環境では .exe)を作成することができる.

関連