Pyomo CBC solver error: Solver (cbc) returned non-zero return code (3221225781); Solver (cbc) did not exit normally

Pyomo CBC solver error: Solver (cbc) returned non-zero return code (3221225781); Solver (cbc) did not exit normally

我正在使用 CBC 求解器解决 PyCharm 上的优化问题,但我一直遇到此错误:

错误:求解器 (cbc) returned 非零 return 代码 (3221225781)

pyutilib.common._exceptions.ApplicationError: Solver (cbc) 没有正常退出

我已经添加了 "keepfiles=True" 参数,但是我找不到求解器日志和解决方案文件,尽管我可以在程序 returns 的路径上找到问题文件。

这个程序在我同事的电脑上能正常运行,(他有 16Gb RAM,我有 8Gb)

我自己找到了一个解决方案,我会post在这里以防将来对任何人有用:

安装解算器时,必须将solver.exe文件添加到系统PATH中,或者将文件放在python文件所在的文件夹中

除了@Camunatas 的解决方案(如果这不起作用)之外,请添加所有 DLL 和 exe,它们是 COIN OR 的包(blis、bonmin、cbc、clp、couenne、ipopt、OSSolverService、symphony)打包在 directory/folder 中,其中 python 文件 are.as 这些 exe 是 windows 的唯一安装程序,它们应该始终与它们的 DLL 一起工作。

我在使用 ipopt 求解器时遇到了同样的问题。 在系统中加入求解器解决了PATH,但重启电脑后才生效!