Skip to main content

Hi,

I am solving a huge MIP (481707 integer variables). I set the relative gap to 0% from CPLEX MIP settings. With such a huge model, the solver should take quite some time to solve. Just after 287466.11 sec (3.3 days), the model stop running and the solver status says 'Terminated by solver' why the gap is 1.27%. Why does this happen? I am attaching a screenshot. 

I'll appreciate any ideas on this. Thanks !

 

Hi @Wanie Saidi. Very likely CPLEX ran out of memory (because the Peak Memory usage by CPLEX is higher than the Memory Free).

There are some ways to reduce the memory usage by CPLEX:

  1. Set the CPLEX option ‘Node file’ to 'On disk and compressed'. However, your hard disk should then have sufficient free space; at least 50 Gb but more preferably.
  2. Enabling the AIMMS Presolver, by switching on the Solvers General option ‘Linear presolve’, sometimes helps to (drastically) reduce the memory usage by CPLEX. For this you need AIMMS 4.89 or newer.
  3. Reduce the number of threads used by CPLEX by setting the CPLEX option ‘Global thread limit’ to 4 or 6. However, this likely will increase the solving time.
  4. Make the model formulation more tight such that CPLEX needs less nodes to solve the model. But this is not easy. See the paper Practical guidelines for solving difficult mixed integer linear programs by Ed Klotz and Alexandra M.Newman (2013) for more information.

I strongly recommend to print the CPLEX status file by setting the following options:

  • Solvers General option 'Solver listing messages' to 'All'
  • CPLEX option 'MIP display' to 'Nth node + info on node cuts'
  • CPLEX option 'Parameter display' to 'Yes'

The CPLEX status file will be printed in the log folder. It contains useful information about the solving process (see also the paper mentioned before).


Noted. Thanks a lot @Marcel Hunting !


Reply


Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator