問題タブ [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 - numpy/sympy を使用して線形システムの最小二乗整数解を見つける
numpy または sympy を使用して線形ディオファントス方程式系を解く必要があります。
numpy の linalg.solve/linalg.lstsq メソッドを制約して整数解のみを返す方法はありますか? (おそらくそうではありませんが、私は尋ねるべきだと思いました)
Sympy の diophantine ソルバーを調べたところ、システム全体を解くには適用できないようです
私が取り組んでいる問題は、
この場合、X、Y、Z はおおよそのサービング サイズを表し、P1/F1/C1 はそれぞれプロ/脂肪/炭水化物プロファイルになります。
この論文に基づいて https://www.math.uwaterloo.ca/~wgilbert/Research/GilbertPathria.pdf
行削減を実行して、このシステムの参照 (行階層形式) を見つけ、それを sympy のソルバーにプラグインできるようです。
それについてもっと簡単な方法はありますか?
以下に簡単な例を示します。
整数解 [3,2] を期待していましたが、代わりに [ 2.16666667, 2.66666667] が得られました。
どちらの解も正しいですが、解を整数解のみにバインドしたい
python - 最小絶対値を使用した Python パルプ オプティマイザ
最適化の目的でパルプ ( https://pythonhosted.org/PuLP/ ) を使用しており、問題が発生しています。のような制約を使用する必要があり、abs(x) > MIN
ここで解決策を見つけましたhttp://lpsolve.sourceforge.net/5.5/absolute.htm、2つの制約を作成するだけです:
ここで、B は 0 または 1 で、M は十分な値です。問題は、M ~ 10000 を使用するとすべてがうまく機能することですが、INT_MAX_VALUE または ~ 10000000000 を使用すると機能しません。誰かがこのような問題を抱えていますか?
c++ - C++ での CPLEX: LP から MIP への変換
私は c++ で CPLEX を使用する初心者です。CPLEX を使用して単純な LP を解く方法を知っています。
変数を整数として設定すると (次のように)、CPLEX が分岐限定法を使用して MIP を解決するのか、LP を解決して最後に結果の値を整数に丸めるのか疑問に思っています。
変数以外は LP 問題と同じように定義します。これは私が変数を設定する方法です: IloIntVarArray Variables(env,LowerBound,UpperBound)
私を助けてくれるか、C++ での CPLEX の優れたチュートリアルを紹介していただければ、本当に感謝しています。
ありがとうございました
c++ - c++ を使用して Cplex で 3 次元 IloIntVarArray を作成する
次のように、c++ を使用して cplex でいくつかの整数変数を使用しています。
alpha は、範囲が 0 ~ N の 1 次元配列です...
しかし、私の問題は、整数決定変数になる ax[N][M][K] を作成したいのですが、構文やこれらの変数を開始する方法がわかりません。