Ranajit
Ranajit

Reputation: 49

How to overcome Memory Overflow 1001 error in CPLEX OPL

I am running a fairly large problem in CPLEX OPL and get the error :

CPLEX Error 1001: Out of memory

This error comes up in 17 minutes, when the Engine Log tab at the bottom has nothing yet. There are a few debugging scripting logs and they appear within these 17 minutes.

The problem is fairly large and for some data it has run even 70 hours.

I have set a gap tolerance of 0.017 in the Settings under : Mixed Integer Programming, Tolerances.

Although this problem did not show up anything in the log, to give an idea on a similar data with a few less constraints it could have over 1640 binary variables, and 112335 other variables, and over 5 million non zero coefficients. In this run I had introduced a few more constraints and variables(no binary variable added). The previous problem had completed run in 5 Hrs on another higher speced computer.

My computer has the following specs : 2.9 Ghz, 32 GB RAM. I had restarted the computer to make available as much dedicated memory to OPL as possible.

Any suggestions on how this could be overcome ?

Upvotes: 0

Views: 1434

Answers (1)

Daniel Junglas
Daniel Junglas

Reputation: 5940

In case the engine runs out of memory, there are a few things you can do:

  1. Ask CPLEX to swap out search tree nodes to disk, see "Use node files for storage" in CPLEX > User's Manual for CPLEX > Discrete optimization > Solving mixed integer programming problems (MIP) > Troubleshooting MIP performance problems > Running out of memory in the user manual.
  2. Reduce the number of threads, in extreme cases reduce it to 1.

However, if you don't see anything in the engine log then maybe the engine does not even start because OPL runs out of memory while creating the model. Your model dimensions do not seem that big. You could try to run from the command line. Also make sure that you do not create lots of intermediate data in your .mod.

Upvotes: 1

Related Questions