我正在使用 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 Solver 版本: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 7 SOS 有 8323 个成员 Cgl0004I 处理的模型有 15 行,8323 列(8323 个整数(其中 8323 个二进制))和 26556 个元素 Cbc0045I 仅修复非零变量。Cbc0045I 警告:mipstart 值不能用于构建解决方案。
此处 Cbc 似乎挂起并变得无响应,CPU 使用率为 100%。
这里是正在运行的 pid 进程的回溯:
#0 0x00007f163c3facc9 在?? () 来自目标:/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 0x00007f163b8ea31f 在 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&) () from target:/root/.julia/packages/Cbc/vWzyC/deps/usr/lib/libCbcSolver.so #12 0x00007f163c2252ae in CbcMain1(int, char const**, CbcModel&) () from 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 在?? () #15 0x000000000000000c 在 ?? () #16 0x00007fff70694480 在?? () #17 0x00007f16604ce110 在?? () #18 0x000000000000262e 在?? () #19 0x0000000000000006 在?? () #20 0x00007fff70694480 在?? () #21 0x00007f165966ab40 在?? () #22 0x00007f164a7ce1d0 在?? () #23 0x00007f164a7ce220 在?? () #24 0x00007f164a7ce1d0 在?? () #25 0x00007f1688be7b00 在?? () 在 /buildworker/worker/package_linux64/build/src/array.c:738 来自目标:/opt/julia/bin/../lib/libjulia.so。1 #26 0x00007f163d909af0 在?? () #27 0x00007f164439d3c0 在?? () #28 0x00007f1689524200 在?? () #29 0x0000000000000000 在 ?? ()
在控制台中使用next
命令,gdb
CbC 会捕获 StackOverflowError() 错误。
目标函数是否有太多项?
任何帮助都是非常可观的。
谢谢