2009-07-30 11 views
14

私は、線形および非線形プログラミング(最適化)フレームワークのオプションを検討しています。Microsoft Solver Foundationは私のニーズに合っていますか?

要件は以下のとおりです。

  1. サポート線形および約非線形計画問題。 100〜1000の変数と約1000までの制約(私はそれはかなり簡単です)を収集します。非線形問題には、複数の変数の乗算や除算が含まれますが、それ以上の複雑さはありません。

  2. もMS環境との統合(SQL Serverの、MS Accessの、.NET、エクセル)

  3. (アドホック問題定義のためのサポートだろう持っているニースすなわち定義するためのスクリプト言語やサポートのいくつかの並べ替えとExcelフロントエンドで問題を解決する)

  4. 私はExcelだけを使用しますが、より大きな問題については、プログラムで(.NET環境)ソルバーにインターフェイスする能力も必要です。

私はソリバーへの抽象インターフェースを開発しようと考えていました(必要に応じてソルバーを変更できるようになりました)。その後、私はすでにこのインターフェースを持っているMSソルバー財団(http://code.msdn.microsoft.com/solverfoundation)に出会いました。私はそれが他の要件に関して法案に合っているのか、そしてユーザーがそれについて何を持っているのかと疑問に思います。

答えて

4

Microsoft Solver Foundationは非線形プログラミングをサポートしていません。 2010年1月現在、チームのofficial wordは、彼らがそれを検討しているが、それは即時の計画ではないということです。

私はモデリング言語のインターフェースとしてAMPLとソルバーアルゴリズムのためにKNITROを決めました。確かに1つのアルゴリズムで3つのアルゴリズム(Interior Point Methodの2種類とActive Set methodの1つ)で構成されているので、KNITROは良好に見えます。 KNITROのWikipediaページも参照してください。

米国Argonne National Laboratoryで米国国立科学財団と米国エネルギー省が明らかに資金を提供している優れたウェブポータルで、両方の評価版を試してみたところ、NEOSというAMPLとKNITROで解決しました。 NEOSは、AMPLまたはGAMSを使用して数学モデルをアップロードし(いくつかのソルバーの場合など)、結果Webページと電子メールで結果を戻すためのWebインターフェイスを提供します。おそらく問題を提出するための電子メールインターフェイスがありますが、私はそれをうまく動作させることができませんでした。

これですべての費用がかかります。 KNITROおよびAMPLは市販品である。結局、このソリューションの費用は約8000米ドルになります。安くない。無料のソリューションをお探しの場合は、オプションがIPOPTのソルバーに限られていると思います(NEOSでも試してみましたが、うまくいきましたが、他の非技術的理由で選択できませんでした)。 AMPLインタフェースは使用できません。 IPOPTのAPIを使用して問題を設定できます。しかし、Micrsoft Solver FoundationのAPIとは異なり、IPOPTインターフェイスはもう少し複雑であり、最も難しいのは、呼び出し元のアプリケーションがモデルの非線形方程式の最初の(そして場合によっては2番目の)導関数を計算するコールバックを実装することです。モデリング言語インターフェース(AMPLのような)は、言語で書かれたすべての方程式の記号的導関数を計算することができるため、これを処理します。

+6

をサポートしています[フロントページの状態](http://code.msdn.microsoft.com/solverfoundation)__ "Solver Foundation 3.0は、非線形関数の構築と解法のための新しい機能を提供しますモデル」を参照してください。__ – bobobobo

+1

ソルバー財団は、約1年前にスタンドアロン製品として廃止されました:http://nathanbrixius.wordpress.com/2012/05/25/no-more-standalone-releases-of-microsoft-solver-foundation / – vitaut

2

要件に基づいて、Microsoft Solver Foundationがすべての要件を満たしているように見えます。 「ソルバー財団とは何ですか?」ソルバー財団のサイトの文書を参照してください。ソルバーファウンデーションには、リニアプログラミング、.NETでの開発、Excelで使用できる非線形プログラミングについても触れられており、Microsoft Office Excelアドインが付属しており、使い慣れたインターフェイスで完全なモデリング環境を提供します。

+2

私はMicrosoft Solver Foundationを試しましたが、非線形の問題はサポートしていません。 – Emmanuel

+4

2010年11月現在、ソルバー基盤3.0は非線形モデル – bobobobo

3

私は過去に解決しようとした(失敗した)問題について、Solver Foundationを試してみましたが、Solver APIの学習を含めて2日間でクラッキングしました。 ソルバーのパフォーマンスは素晴らしいですし、SFS(ソルバーファウンデーションサービス)APIはAWESOMEです。

1

GNUベースのGLPKライブラリは素晴らしい無料オプションです。私は1000年代と1000年代の列問題をそれに投げかけました。いくつかの異なる問題定義フォーマットが必要ですが、CまたはC++ API経由で使用するのが最も簡単でした。その背後にあるエンジンの改善はいつも起こります。私はいくつかのラッパーも利用できると信じています(つまり、Perl、Python)。

関連する問題