c++ - CPLEX MIP 内存不足 : NodeFileInd is 2 but no files has been created

标签 c++ out-of-memory cplex

我知道 CPLEX 内存不足的问题在论坛上已经讨论了很多。然而,他们中没有一个能解决我的问题。

我在一台 32 位、3 GB 的 Widnows 7 机器上通过 C++ Concert 技术使用 CPLEX,我正在处理 MIP 问题。为了克服内存不足的问题,我设置了 CPLEX 推荐的内存控制参数,如下所示:

cplex.setParam(IloCplex::NodeFileInd,2)
cplex.setParam(IloCplex::MemoryEmphasis,true)
cplex.setParam(IloCplex::WorkMem,1024)
cplex.setParam(IloCplex::TreLim,1024)
cplex.setParam(IloCplex::Threads,1)   
cplex.setParam(IloCplex::VarSel,3)

我从 CPLEX 得到了如下日志:

Parallel mode: none, using 1 thread.
Root relaxation solution time =    9.97 sec.

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

      0     0        4.8000   290                      4.8000     6031

Root node processing (before b&c):
  Real time             =   11.97
Sequential b&c:
  Real time             =    0.00
                          -------
Total (root+branch&cut) =   11.97 sec.
Warning: MIP starts not constructed because of out-of-memory status.
Error: CPLEX Error  1001: Out of memory.

据我所知,工作目录中没有创建任何文件来写入树。我想知道是否有任何其他参数可以设置为启用在文件上写入树。

非常感谢任何评论。

最佳答案

在我看来它甚至还没有进入分支和剪切,但在此之前达到了内存限制。如果它还没有开始 B&C 处理,它就不会处理任何节点,那么节点文件中就没有什么可放的吗?

关于c++ - CPLEX MIP 内存不足 : NodeFileInd is 2 but no files has been created,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24842115/

相关文章:

java - 从回调中手动触发解决方案完善

java - CPLEX 目标函数错误

python - 使用 PULP 进行 CPLEX 间隙设置

c++ - 爱特梅尔工作室7 : USART interrupt handler provided by ASF library works once only in case of encountering infinite loop in main()?

c++ - boost.log 含义和作用

android - 如何解决Android View Pager内存不足异常?

java - 大数组 - 内存不足错误

c++ - 在哪里可以查看 C++ 标准

c++ - 连续的互斥锁阻塞

java - 捕获 OutOfMemoryError 是个坏主意吗?