問題タブ [mixed-integer-programming]
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.
python - 混合整数計画法 IF-THEN と論理 AND 演算
Python の PuLP モジュールを使用して混合整数プログラミングでモデル化しようとしている次の制約があります。
与えられた線形計画法変数: x1,x2,y1,y2
x1、x2、y1、y2 は最終的に整数値に解決されます
Logical AND
で を処理する方法がわかりませんIF condition
。が存在しない場合はAND
、Big-M 表記を使用する必要があることがわかります。
mathematical-optimization - NEOS サーバーに送信する単純な MPS ファイルを作成する方法
私の問題に対して十分に高速なオープンソースの lp ソルバーを見つけようとしています。NEOS サーバーに送信して、さまざまなソルバーのパフォーマンスを比較できるように、MPS ファイルを作成しようとしています。
私の問題には、最も困難なケースで約 150 の整数変数が含まれますが、MPS ファイル形式がどのように機能するかを理解するのに役立つ単純なケースから始めています。
これが問題です:
そして、次のMPSファイルを書きました:
NEOS ( https://neos-server.org/neos/solvers/index.html ) で利用できる線形ソルバーを使用すると、Gurobi だけで解決できます。他の人は、問題が実行不可能であることに気づきます (そうではありません)。
これは私のMPSファイルの問題であると確信していますが、それが何であるかを理解することはできません. 私は何を間違っていますか?
python - Linprog Python - 2 進数の実装
複数の制約があり、それらは linprog に入力するのは簡単ですが、バイナリ コンポーネントを含む 2 つの制約があります。次のとおりです。
1 または 0 は Nabc です
Mabc - 11(1) <= 0 <-- M111 - 11(1) または Mabc - 11(0) <= 0 <-- M111 - 11(0)
abc は添え字です
これを linprog モジュールに実装する方法、またはバイナリが不要になるようにする方法を教えてください。
2 進数が関連付けられていないため、Python で実装できるのは次のとおりです。
Mabc <= 40