14

線形および非線形プログラミング (最適化) フレームワークのオプションを検討しています。

要件は次のとおりです。

  1. 約で線形および非線形計画問題をサポートします。100 ~ 1000 の変数と最大約 1000 の制約 (非常に単純だと思います)。非線形問題には、複数の変数の乗算または除算を含む制約があります。これほど複雑なことはありません。

  2. MS 環境 (SQL Server、MS Access、.NET、Excel) との統合が良好

  3. アドホックな問題定義のサポート (つまり、ある種のスクリプト言語、または Excel フロント エンドでの問題の定義と解決のサポート) があると便利です。

  4. 私は Excel を単独で使用しますが、より大きな問題については、プログラム (.NET 環境) でソルバーに接続する機能も必要です。

プログラムによるアクセスのために、ソルバーへの抽象化インターフェイスを開発するつもりでした (必要に応じてソルバーを変更できるようにするため)。次に、このインターフェイスを既に備えているMS Solver Foundation ( http://code.msdn.microsoft.com/solverfoundation ) に出くわしました。それが私たちの他の要件に関して法案に適合するかどうか、およびユーザーがそれについてどのような意見を持っているか疑問に思っています.

4

4 に答える 4

4

Microsoft Solver Foundation は非線形プログラミングをサポートしていないことがわかりました。2010 年 1 月現在、これに関するチームの公式の言葉は、彼らがそれを検討しているということですが、当面の計画にはありません.

そのため、モデリング言語インターフェースとしてAMPLを使用し、ソルバー アルゴリズムとしてKNITROを使用することにしました。KNITRO は 1 つに 3 つのアルゴリズム (内点法の 2 つのバリアントとアクティブ セット法の 1つのバリアント) が含まれているように見えるため、見栄えがします。KNITROの Wikipedia ページも参照してください。

私は AMPL と KNITRO の両方の評価版を、明らかに米国国立科学財団と米国アルゴンヌ国立研究所の米国エネルギー省が資金を提供しているNEOSという優れた Web ポータルで試した後、決めました。NEOS は、AMPL または GAMS を使用して数学的モデルをアップロードするための Web インターフェイスを提供し (一部のソルバーではその他のソルバーも)、結果 Web ページおよび電子メールで結果を取得します。問題を送信するための電子メール インターフェイスがあると思われますが、うまく機能させることができませんでした。

さて、これにはすべてお金がかかります。KNITRO と AMPL は商用製品です。最終的に、ソリューションの費用は約 8000 米ドルになります。安くない。無料のソリューションを探している場合、オプションはソルバーの IPOPT にかなり限定されていると思います (NEOS でも試してみたところ、うまく機能することがわかりましたが、他の非技術的な理由で選択できませんでした)。 AMPL インターフェイスを放棄します。IPOPT の API を介して問題を設定できます。ただし、Micrsoft Solver Foundation の API とは異なり、IPOPT インターフェースはもう少し複雑であり、何よりも難しいのは、モデルの非線形方程式の 1 次 (および場合によっては 2 次) 導関数を計算するコールバックを呼び出し元のアプリケーションで実装する必要があることです。

于 2010-02-17T14:04:58.920 に答える
3

リストされた要件に基づいて、Microsoft Solver Foundationはすべての要件を満たし、さらにいくつかの要件を満たしているようです。「Solver Foundation とは」をお読みください。Solver Foundation サイトのドキュメント。線形プログラミング、非線形プログラミング、.NET で開発、Excel で使用可能、Solver Foundation には Microsoft Office Excel アドインも付属しており、使い慣れたインターフェイスで完全なモデリング環境を提供します。

于 2009-12-18T16:52:11.197 に答える
3

過去に解決しようとした (失敗した) 問題に対して Solver Foundation を試し、Solver API の学習を含めて 2 日間でクラックしました。ソルバーのパフォーマンスは素晴らしく、SFS (Solver Foundation Services) A​​PI はAWESOMEです。

于 2009-12-27T04:33:30.927 に答える
1

GNU ベースの GLPK ライブラリは、優れた無料のオプションです。何千回も何千回も列の問題を投げてきましたが、心配する必要はありません。いくつかの異なる問題定義形式が必要ですが、C または C++ API を介して使用するのが最も簡単でした。その背後にあるエンジンの改良は常に行われています。いくつかのラッパーも利用できると思います (つまり、Perl、Python)。

于 2011-02-21T04:57:08.067 に答える