問題タブ [pulp]
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-2.7 - PuLp: lpSum 制約の最小しきい値と最大しきい値
PuLp で解決しようとしている大規模な線形計画法モデルがあります。これまでのところ、dict 変数の各「行」の最小値と最大値を設定しようとしたときに問題が発生したことを除いて、すべてが順調に進んでいます。以下の例では、示されているように、エリアごとの動物の最小数と最大数を設定したいと考えています。
簡単にするために、変数名を「dogs」と「cats」に変更しました
結果は次のとおりです。min_cats
問題は、これらの変数のそれぞれにとよりも少なくない値が存在する必要があることですmin_dogs
。値を分散するのではなく、猫と犬の 1 つの領域に割り当てました。
行レベルで最小境界と最大境界を割り当てるにはどうすればよいですか?
python-3.x - PuLP に論理制約を追加する方法
PuLP を使用して FLP を解決しようとしています。変数値に論理制約を追加したい。
LpVariable f があり、 C は LpVariables のリストです。問題の制約に f を追加したいのですが、これは c[i] の値に依存します。
以下はコードスニペットです >
最初の制約を追加:
ここで、次の制約を追加します。
ここでの問題は、LpVariables c[i] が初期化されNone
ているため、計算中にエラーがスローされることlpSum()
です。
私がはっきりしていることを願っています。このクエリを理解するのに助けが必要かどうか教えてください。ただし、与えられたコード スニペットで十分だと思います。
python-3.x - PuLP で LpVariable を初期化する方法
私は次のリストfacility
を宣言しましたLpVariable
:
私が行うと、すべての LpVariables がデフォルトで None 値を持っているため、問題のprint(value(facility[i]))
ない出力が得られます。None
しかし、私のコードでは 0 で初期化したいのですが、問題を解決するとき、最適解は 0 から 1 の間の任意の値を持つことができます。
設定されますfacility[i] = 0
(整数値で、LpVariable はもうありません)。
value(facility[i]) = 0.
これらの変数を初期化するにはどうすればよいですか?
python - 配電網の線形計画法の制約
私は、Pulp フレームワークを使用して Python で線形プログラムを作成しようとしています。寄付クリニックは、流通センターに送られる血液を提供し、使用のために病院に送られます。問題は、配送センターを使用するかどうかを決定する制約を作成し、DC に流入するものから流出するものへの流れを維持することです。
python - LpVariables をディープコピーする方法
をディープコピーする必要がありますLpProblem
が、メソッドLpVariables
を使用すると問題が参照によってコピーされますLpProblem.deepcopy()
。この状況で、コピー問題の変数の 1 つの上限を変更すると、この変更は元の問題変数に影響します。
次の状況を考慮してください。
この場合、変数の上限currentProblem
も 10 に変更されます。
LpProblem
すべての要素をディープ コピーする方法を教えてください。(含むLpVariables
)
python - PuLP が IPython セルで出力を印刷しない
プロジェクトにPuLPと IPython/Jupyter Notebook を使用しています。
次のコードのセルがあります。
セルを実行すると、出力は次のようになります。
Notebook サーバーを実行しているターミナルを見ると、ソルバー (この場合は COIN) の出力が表示されます。model.solve引数を次のように変更すると、同じことが起こります。
また
しかし、Gurobi Solverを使用すると、ラインで
ソルバーの出力はノートブック セルに表示されます。これは私が望む動作です。実際、ノートブック セルに出力を直接出力する無料のソルバーがあれば満足です。
PuLP のドキュメントで、この問題に対処する方法についての指示を見つけることができませんでした。どんな助けでも大歓迎です。また、他の誰かがこの動作を取得するかどうかも知りたいです。
Linux Mint、64 ビット、IPython 4.0.0、および PuLP 1.6.0 を使用しています。
scipy - 目的関数の値の乗数がゼロでは、最も実現可能な解が得られません
私はPulpを使用して線形プログラムを解決しています (scipy でも同じ結果が得られます)。私の線形計画法に問題があるか、シンプレックス アルゴリズムがどのように機能するかについてのトリッキーな詳細がわかりません。
最小化の目的関数は次のとおりです。乗数x2
はであることに注意してください。したがって、 には最大制約がなく、最小化により多くの値を提供できるため、以外の値を0
期待しx1
たり、持ったりすることはありません。x2
0
x3
-1 * x3
線形方程式系:
解決策として、x2 = 20
目的関数の乗数が であっても取得してい0
ます。
目的関数で を設定した場合、-2 * x3
問題なく動作します。
python - PuLP: 解が制約を満たすかどうかを確認する
そこで、CBC をパルプで 5 秒間実行したところ、解が得られましたが、すべての制約を満たしているかどうかはわかりません。各変数の値は に格納されprob.variables()
ます。以下のコードと同様のコードを実行して、ソリューションがで与えられた制約を満たしているかどうかを確認する方法はありprob.constraints
ますか?つまり、ソリューションは実行可能ですか?
問題のセットアップと制約は、ここで与えられたものと非常に似ています: github_code
乾杯。