問題タブ [coin-or-cbc]
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.
julia - Julia JuMP Cbc ソルバーが、メッセージも終了もせずに無限にハングアップする
Julia 言語 (バージョン 1.3.1)、JuMP パッケージ (バージョン 0.20.1)、および Cbc パッケージ (バージョン 0.6.6) を使用して、ubuntu:16.04 の Docker コンテナーの最適化問題を解決しています。オプティマイザ Cbc は、CPU 使用率が 100% で、終了せず、メッセージも表示されずにハングしているようです。問題は同様の問題でめったに発生せず、複製できないようです。同じデータで同じコードを実行すると、ハングしなくなります。gdb を介して取得したバックトレースが役立つことを願っています。
必要に応じて、モデルを共有できます。11520 個の変数、4652 個の制約、線形目的関数で使用される 10080 個の変数があります。
これは Cbc オプティマイザーのログです。
CBC MILP ソルバーへようこそ バージョン: 2.10.3 ビルド日: 2019 年 10 月 7 日
コマンド ライン - Cbc_C_Interface -threads 0 -seconds 360.0 -maxNodes 30000 -logLevel 1 -solve -quit (デフォルトの戦略 1) 秒が 1e+100 から 360 に変更されました maxNodes が 2147483647 から 30000 に変更されました 連続目標値は 2.3607e+08 です - 0.11 秒 Cgl0002I 3197 個の変数が修正されました Cgl0005I 8323 個のメンバーを持つ 7 SOS Cgl0004I 処理されたモデルには 15 行、8323 列 (8323 個の整数 (うち 8323 個はバイナリー)) と 26556 個の要素があります Cbc0045I ゼロ以外の変数のみを修正しています。Cbc0045I 警告: mipstart 値を使用してソリューションを構築できませんでした。
ここでは、Cbc がハングしているように見え、100% の CPU 使用率で応答しなくなります。
実行中の pid プロセスのバックトレースは次のとおりです。
#0 0x00007f163c3facc9 in ?? () ターゲットから:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbcSolver.so #1 0x00007f163c4125b3 in ?? () ターゲットから:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbcSolver.so #2 0x00007f163c467586 in ?? () ターゲットから:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbcSolver.so #3 0x00007f163c46aebc in ?? () ターゲットから:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbcSolver.so #4 0x00007f163c40594a in ?? () ターゲットから:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbcSolver.so #5 0x00007f163c29afbe in ?? () ターゲットから:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbcSolver.so #6 0x00007f163c2ad844 in ?? () ターゲットから:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbcSolver.so #7 CbcHeuristicDive::solution(double&, int&, int&, OsiRowCut**, CbcSubProblem&, double*) () from target:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbc.so.3 #8 0x00007f163b8ebf42 in CbcHeuristicDive::solution(double&, double*) () from target:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbc.so.3 #9 0x00007f163b938fd2 in CbcModel::solveWithCuts(OsiCuts&, int, CbcNode*) () from target:/root/. julia/packages/Cbc/vWzyC/deps/usr/lib/libCbc.so.3 #10 0x00007f163b9472d7 in CbcModel::branchAndBound(int) () from target:/root/.julia/packages/Cbc/vWzyC/deps/usr /lib/libCbc.so.3 #11 0x00007f163c214c47 in CbcMain1(int, char const , CbcModel&, int ( )(CbcModel, int), CbcSolverUsefulData&) () ターゲットから:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbcSolver.so #12 0x00007f163c2252ae in CbcMain1(int, char const**, CbcModel&) () からtarget:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbcSolver.so #13 0x00007f163c19bc50 in Cbc_solve () from target:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib /libCbcSolver.so #14 0x00007f16698e7e71 in ?? () #15 0x000000000000000c in ?? () #16 0x00007fff70694480 in ?? () #17 0x00007f16604ce110 in ?? () #18 0x000000000000262e in ?? () #19 0x0000000000000006 in ?? () #20 0x00007fff70694480 in ?? () #21 0x00007f165966ab40 in ?? () #22 0x00007f164a7ce1d0 in ?? () #23 0x00007f164a7ce220 in ?? () #24 0x00007f164a7ce1d0 in ?? () #25 0x00007f1688be7b00 in ?? () ターゲットからの /buildworker/worker/package_linux64/build/src/array.c:738:/opt/julia/bin/../lib/libjulia.so。1 #26 0x00007f163d909af0 in ?? () #27 0x00007f164439d3c0 in ?? () #28 0x00007f1689524200 in ?? () #29 0x0000000000000000 in ?? ()
next
コンソールでコマンドを使用gdb
すると、CbC で StackOverflowError() エラーがキャッチされます。
目的関数の項が多すぎますか?
どんな助けも本当に価値があります。
ありがとうございました
python - パルプ ソルバー - Python 3.8 & Spyder 4
Python 3.8 と Spyder 4 で Pulp を使用しています。
問題なく最適化問題を実行できますが、ソルバーのパラメーターを変更できません。実際、Pulp によって認識されるソルバーはないようです。
入ると
my_lp_problem.solve(PULP_CBC_CMD())
エラーがあります:
名前「PULP_CBC_CMD」は定義されていません
どうすればこの問題を管理できますか?
ありがとうございました!
coin-or-cbc - CBC のモデルに対して解が実行可能かどうかを確認する方法
モデルの解が得られましたが、それが CBC で実行可能かどうかをどのように知ることができますか? どうもありがとうございました!