6

Linuxで整数プログラムを解決するための優れたツールはありますか?

時間を節約するために計算したい小さな問題があります:D。これは一種の部分和問題です。約20個の整数値のリストがあり、特定の最小値を満たす最小の合計でサブセットを計算したいと思います。あなたは整数計画法でこれを定式化することができます...のようなもの

\sum_{i=1}^{n} w*x -> min

\sum_{i=1}^{n} w*x >= c with x \in \{0,1\}

または、これを行う他の良い方法はありますか?

4

5 に答える 5

9

GLPKSCIPのどちらかを試してみます。

それらには独自のモデリング言語があり、GLPKにはGNU MathProgがあり、SCIPにはZIMPLがあるので、LP問題を簡単にコーディングできます。

GNU MathProgには、AMPLと互換性があるという利点があります。したがって、CPLEXを使用したAMPLの学生版、またはGNUMathProgモデルを使用したGurobiを試すことができます。AMPL、CPLEX、Gurobiは商用ソフトウェアであることに注意してください。

于 2012-05-19T18:58:41.613 に答える
4

LibreOffice Calc Solverでそれをやろうとしましたか?

C#を知っている場合は、MonoFramework上のMicrosoftSolverFoundationもその役割を果たします。

于 2012-09-28T10:07:15.690 に答える
1

Lindo/Lingoをお試しください。それらは無料ではありませんが、試すことができます。

彼らはあなたが非常にきちんとした数学的方法であなたの問題を特定することを可能にします。

于 2012-05-19T17:29:44.343 に答える
0

@Aliが行ったGLPKの提案にもう1つのオプションを追加したいと思いました。LP / IPの解決に関心のある人は、R言語が提供する最適化パッケージも調べることをお勧めします。

すでにRを知っていて使用している場合は、適切なパッケージをダウンロードするだけです。そして、そうでない場合でも、これはRを紹介するための良い方法であり、分析の分野で実際に普及しています。

このビネットは、どのRパッケージが関連しているかを知るための非常に良い方法です。あなたにとって、RSymphonyまたはRglpkが最初のものかもしれません。

于 2012-05-20T07:59:01.837 に答える
0

gnuoctaveを試すことができます-それはmatlabのサブセットです

于 2012-05-19T17:21:23.420 に答える