ILOG CPLEX 11.0 User's Manual > Continuous Optimization > Solving LPs: Barrier Optimizer > Tuning Barrier Optimizer Performance > Memory Emphasis: Letting the Optimizer Use Disk for Storage

At default settings, the ILOG CPLEX barrier optimizer will do all of its work in central memory (also variously referred to as RAM, core, or physical memory). For models too large to solve in the central memory on your computer, or in cases where you simply do not want to use this much memory, it is possible to instruct the barrier optimizer to use disk for part of the working storage it needs, specifically the Cholesky factorization. Since access to disk is slower than access to central memory, there may be some lost performance by this choice on models that could be solved entirely in central memory, but the out-of-core feature in the barrier optimizer is designed to make this trade-off as efficient as possible. It generally will be far more effective than relying on the virtual memory (that is, the swap space) of your operating system.

To activate the out-of-core feature, set the memory emphasis parameter to 1 (one) instead of its default value of 0 (zero).

This memory emphasis feature will also invoke other memory conservation tactics, such as compression of the data within presolve.

Memory emphasis uses some working memory in RAM to store the portion of the factor on which it is currently performing computation. You can improve performance by allocating more working memory by means of the working memory parameter.

More working memory allows the optimizer to transfer less data to and from disk. In fact, the Cholesky factor matrix will not be written to disk at all if its size does not exceed the value of the working memory parameter. The default for this parameter is 128 megabytes.

When the barrier optimizer operates with memory emphasis, the location of disk storage is controlled by the working directory parameter.

For example, to use the directory /tmp/mywork, set the working directory parameter to the string /tmp/mywork. The value of the working directory parameter should be specified as the name of a directory that already exists, and ILOG CPLEX will create its working directory as a subdirectory there. At the end of barrier optimization, ILOG CPLEX will automatically delete any working directories it created, leaving the directory specified by the working directory parameter intact.