問題タブ [glpk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
221 参照

c++ - MathProg から C++ への変換

混合整数問題に対する私の理解が正しいかどうかを確認するために、MathProg 言語を使用して問題を作成しました。しばらくして私はそれを理解することができたので、この解決策は正しいと推測できます.

しかし、実際に必要なのは、C++ コードで実装されたまったく同じルーチンです。GLPK C API に関して問題を書き直すのにしばらく時間がかかりましたが、単体テスト中に、実行可能なソリューションがないため、その C++ バージョンではソリューションが返されないことがわかりました。

明らかに、私はいくつかの間違いを犯したので、どこを見つける必要があります。

たとえば、C++ コードによって生成されたモデルと MathProg モデルによって生成されたモデルを比較するために使用できるデバッグまたはプレビューの方法はありますか? 何かを台無しにする可能性のあるすべての場所を単純に通過することは、何らかの解決策になりますが、まったく効果がありません.

0 投票する
1 に答える
1582 参照

r - 手続き制限のある線形計画輸送の最適化

GLPK または R で、最適化 (輸送コストの最小化) を使用して典型的な輸送問題を解決しようとしています。

簡単なケース: 2 つの州 (A と B) にある 4 つの生産者が、別の場所にある 2 つの輸出者に製品を配送しています。各ルート プロデューサー - エクスポーターのコスト マトリックスがあります (以下を参照)。解決策は自明です。これは輸送問題の典型的な例です。

例:

しかし、問題をより複雑にする追加の制限があります。私は、輸出者 (5) が実際に各州から特定の固定量を調達していることを知っています。特に上記の例では、輸出者 (5) は州 A から 400 Tn、州 B から 600 Tn を調達する必要があります。輸出者 (6) には制限がなく、どの州からでも商品を調達できます。これらの制限を表現する方法が見つかりません。

助けてもらえますか?

0 投票する
4 に答える
1935 参照

python - OSX 10.8 / Ubuntu 14.x で pyglpk をコンパイルできない

OSX 10.8 で PyGLPK をコンパイルするのに苦労しています。自作で glpk と gmp をインストールしました。次のファイルがすべて /usr/local/include に存在することを確認しました

それでも、次のエラーが表示されます。

誰かがこれを修正する方法について提案できますか? パスと環境変数で遊んでみましたが、何も効果がありませんでした。

0 投票する
1 に答える
515 参照

debugging - GLPK の目的/制約を人間が読める形式で出力する

混合整数プログラミングの問題に GLPK C API を使用しています。デバッグのために人間が読める形式で目的/制約を出力する方法はありますか?

0 投票する
1 に答える
958 参照

linear-programming - または、GLPSOL AMPL/MathProg を使用した線形計画法の条件付け

いくつかの制約に応じて、2 つのタスクのうち小さい方を選択する最適化モデルを作成したいと考えています。

ここで、T1 と T2 はタスクの期間を表し、doT1 はこれらのタスクを実行するためのフラグを表します。必要に応じて、この最適化でそのうちの 1 つだけを選択するようにします。

制約を入れると

glpsol で線形形式の乗算が許可されていないというエラー メッセージが表示されます。

線形計画法で OR 条件を表現することはできますか?

0 投票する
1 に答える
1341 参照

ampl - オペランドの前 > 無効な型があります

私はこの変数を持っています:

produced内部の値が 0 より大きい値の数を見つけようとしています。

しかし、それはこのエラーをスローします:「先行するオペランド > 無効な型があります」...

これを解決するにはどうすればよいですか?

ありがとう

0 投票する
1 に答える
1704 参照

linear-programming - GMPLコードの問題

GLPSOL ソルバーを使用して、次の問題を解決しようとしていました。

フレッドは、今後 5 年間で 5000 ドルを投資する必要があります。毎年初めに、彼は 1 年または 2 年の定期預金にお金を投資することができます。銀行は、1 年定期預金で 4%、2 年定期預金で合計 9% の利息を支払います。さらに、West World Limited は、2 年目の初めから 3 年間の証明書を提供します。これらの証明書は 15% (合計) を返します。フレッドが毎年利用できるお金を再投資する場合、線形計画を作成して、5 年目の終わりに手持ちの総現金を最大化する方法を彼に示します。

次の LP モデルを思いつきました。

x ijが j 年にオプション i に投資された金額であるため、
z = 1,04x 15 + 1,09x 24 + 1,15x 33を最大化しよ
うとします。

  • x 11 + x 12 <= 5000
  • × 31 =× 34=× 35=0
  • x 12 + x 22 + x 32 <= 1,04 x 11
  • x 13 + x 23 + x 33 <= 1,04 x 12 + 1,09 x 21
  • x 14 + x 24 <= 1,04 x 13 + 1,09 x 22
  • x 15 <= 1,04 x 14 + 1,09 x 23 + 1,15 x 32
  • x ij >= 0

そしてそれをGMPLで書き込もうとしました:

ただし、次のエラーが発生します。

inv.mod:14: x 乗算宣言
コンテキスト: ...[ 1 , 5 ] + 1.09 * x [ 2 , 4 ] + 1.15 * x [ 3 , 3 ] ; st x
MathProg モデル処理エラー

これについて何か考えている人はいますか?

0 投票する
2 に答える
160 参照

java - GLPK.new_intArray で GLPK Java がクラッシュする

私のコードで奇妙なことが起こっています。MIP問題を動的に作成してGLPK解決する機能を作りました。問題は、コードの一部で JVM がクラッシュすることです。

デバッグ後、intArray (GLPK.new_intArray) を作成したときにクラッシュが発生することがわかりました。ソース コードでは、この関数は GLPKJNI.new_intArray(nelements) を呼び出します。これは、DLL ファイルのネイティブ関数に対応します。

この関数は新しい intArray へのポインターを返すため、メモリの問題である可能性があると考え、Tomcat ヒープのサイズを増やしましたが、効果はありませんでした。

考え?

情報:

ありがとうございました!