6

制約付きの逐次非線形最適化のための c++ の適切なライブラリはありますか?

不等式の制約および/または上限と下限を探しています。

これにはすでにスタックオーバーフローの質問がありますが、すべてに制約があるわけではありません。

私はNLoptを知っていますが、私の特定の問題ではうまくいきません。他にもありますか?


他の誰かがlpOptに興味を持っている場合、私は最終的に私が探していた解決策を見つけました

4

1 に答える 1

7

試すことができる 1 つの SQP アルゴリズムはDONLP2です。元々は Fortran 77 で書かれていましたが、ANSI C バージョンもあります。密な代数を使用するため、主に小規模から中規模の問題に適しています。アカデミック利用は無料です。作成者に直接コードを要求する必要があります。リンクの指示に従ってください。

UPDATE Sequential Quadratic Programmingは、制約のある非線形目的関数を解くための唯一のアプローチです。たとえば、内点法もあります。内点アプローチを適用する非常に優れた大規模なオープンソース C++ の代替手段の 1 つはIpopt です(別の回答で既に言及されています)。たとえば、商用パッケージKNITROもあります。目的関数と制約の勾配を提供できない、または提供したくない場合は、COBYLA2 を参照することもできます。COBYLA2 の C バージョンは、ここからダウンロードできます。

さらにインスピレーションを得るために、さまざまな問題に適したさまざまな最適化コードをリストしている最適化ソフトウェアの決定ツリーを参照することもできます。

于 2012-07-11T09:09:19.967 に答える