Memory “如何调试错误”;“bonmin.exe已停止工作”;

Memory “如何调试错误”;“bonmin.exe已停止工作”;,memory,nonlinear-optimization,pyomo,ampl,ipopt,Memory,Nonlinear Optimization,Pyomo,Ampl,Ipopt,我想解决一个多整数非线性规划问题。我有大约178848个决策变量,它们都是二进制的。我正在从pyomo创建.nl文件,然后通过命令提示符尝试解决该.nl文件,命令为:bonmin test.nl 在我得到标题中的错误之前,我看到内存突然跳跃,在程序退出之前,内存使用率跳跃到100%。是否有任何设置可以传递给bonmin以防止发生此错误?或者是否有任何启发式选项可供我传递给bonmin?这是一个相当大的整数程序。解算器有局限性,因此可能只是由于分支和绑定树变得太大,Bonmin/CBC无法处理系统

我想解决一个多整数非线性规划问题。我有大约178848个决策变量,它们都是二进制的。我正在从
pyomo
创建
.nl
文件,然后通过命令提示符尝试解决该
.nl
文件,命令为:
bonmin test.nl


在我得到标题中的错误之前,我看到内存突然跳跃,在程序退出之前,内存使用率跳跃到100%。是否有任何设置可以传递给bonmin以防止发生此错误?或者是否有任何启发式选项可供我传递给bonmin?

这是一个相当大的整数程序。解算器有局限性,因此可能只是由于分支和绑定树变得太大,Bonmin/CBC无法处理系统上可用内存大小的问题。如果有任何重新格式化或预处理可以减少问题的大小,您可能希望在发送到Bonmin之前尝试一下。您也可以尝试设置分支优先级,尽管我不太熟悉如何实现它。

我同意内存可能是罪魁祸首。一种测试方法可能是在一个小问题上尝试相同的代码(例如,约束大多数决策变量),并检查错误是否仍然出现。请阅读-总结是,这不是解决志愿者问题的理想方法,可能会对获得答案产生反作用。请不要将此添加到您的问题中。