2

こんにちは私は線形計画問題を解決するためにMicrosoftSolverFoundationを使用していますが、変数が1000を超えており、次のエラーが表示されます:{"このバージョンの製品のモデルサイズ制限を超えました。ライセンスオプションについては、MicrosoftCorporationにお問い合わせください。\ r \ n制限:NonzeroLimit = 100000、MipVariableLimit = 2000、MipRowLimit = 2000、MipNonzeroLimit = 10000、CspTermLimit = 25000、有効期限=なし。 "}

Visual Studio IDEで機能する可能性のある、効率的で1000を超える変数を受け入れることができるより優れたソルバーはありますか?ありがとう。

4

4 に答える 4

3

正確に何を意味するのかわからない:ソルバーは「VisualStudioIDEで動作する可能性がありますか?」

ただし、機能的なC#インターフェイスを備えた大規模な(オープンソースの)LPソルバーが必要な場合は、lp_solveをお勧めします。ダウンロードはこちらからソルバーはC/C ++で記述されていますが、P / Invokeを使用してさまざまなlpsolveメソッドを呼び出す包括的で使いやすいC#ラッパーがあります。

于 2012-09-18T06:40:47.403 に答える
2

Hans Mittelmannのベンチマークは、いくつかのLPソルバーの比較を提供します。高性能の無料ソルバーをお探しの場合は、CLPまたはIPOPTをお勧めします。どちらもC++のインターフェイスを備えているため、VisualC++から使用しても問題はありません。優れた商用ソルバーはCPLEXGurobiです。

Marc Gravellが述べたように、制限のないエンタープライズバージョンのMicrosoft Solver Foundationを購入することもできますが、廃止されていることに注意してください。

于 2012-09-18T13:35:30.420 に答える
2

ソルバー財団は放棄されたようです-新しいバージョンが表示されるかどうかは疑問です。変数の制限は、多くの問題に対して小さすぎます。Google OR Toolsが便利だと思いました。GLPKソルバーとCBCソルバーの周りに.NETラッパーを配置し、ソースコードとしてリリースしました。「GoogleORTools」を検索します。これらのソルバーは、商用ソルバーほど高速ではありません(上記のvitaut投稿にリンクされているベンチマークを参照)。ただし、商用ソルバーの価格は通常、6〜12,000ポンドの価格帯です。

于 2013-02-07T11:45:08.177 に答える
1

現在の制約の数はわかりませんが(1000未満の制約がある場合)、変数の代わりにデュアルを使用して1000の制約を設定し、現在のMicrosoftSolverFoundationバージョンを引き続き使用できます。デュアルを採用することは、自動化するのがそれほど難しいことではありません。

于 2012-10-07T17:27:53.407 に答える