To set the working memory parameter:
set workmem n
using a value n
that is smaller than the total available memory in megabytes.
IloCplex::WorkMem
or CPX_PARAM_WORKMEM.
To set the tree limit parameter:
set
mip limits treememory .
IloCplex::TreLim
, or CPX_PARAM_TRELIM
.
Interactive Optimizer | Concert Technology Library | Callable Library |
---|---|---|
mip limits treememory | ||
mip strategy file | ||
workdir | ||
workmem |
To set a limit on the size of the branch & cut tree held in memory:
set
workmem n
, substituting a value for n
.
IloCplex::WorkMem
or CPX_PARAM_WORKMEM
.
When tree storage size exceeds the limit defined by IloCplex::WorkMem
/ CPX_PARAM_WORKMEM
, what happens next is determined by the setting of IloCplex::NodeFileInd
/ CPX_PARAM_NODEFILEIND
. If the latter parameter is set to zero, then optimization proceeds with the tree stored in memory until CPLEX reaches the tree memory limit (IloCplex::TreLim / CPX_PARAM_TRELIM
). If the parameter is set to 1 (the default), then a very fast compression algorithm is used on the nodes to try to conserve memory, without resorting to writing the node files to disk. If the parameter is set to 2, then node files are written to disk. If the parameter is set to 3, then nodes are both compressed (as in option 1) and written to disk (as in option 2). Thus, regardless of the setting of IloCplex::NodeFileInd /CPX_PARAM_NODEFILEIND
, CPLEX will stop the optimization when the total memory used to store the tree exceeds the tree memory limit.
In cases where node files are written to disk, CPLEX will create a temporary subdirectory under the directory specified by the IloCplex::WorkDir
/ CPX_PARAM_WORKDIR
parameter. The directory named by this parameter must exist before CPLEX attempts to create node files. By default, the value of this parameter is ".", which means the current working directory.
If a program terminates abnormally, the files are not removed.
Node files may grow very large. You can limit their size by setting the file limit parameter:
set
workmem with any positive value.
IloCplex::setParam(Workmem, n)
, and in the Callable Library, use the routine CPXsetdblparam(env, CPX_PARAM_WORKMEM,
n)
where n is any positive value. The default value is 128 (megabytes).
set mip cuts all -1
to turn off all cuts. Use set mip cuts
class
-1
(where class
may be cliques
, covers
etc.) to turn off individual classes of cuts.
IloCplex::setParam()
or the routine CPXsetintparam()
with the appropriate parameter to indicate which class of cuts to turn off (Cliques
/ CPX_PARAM_CLIQUES
, Covers
/ CPX_PARAM_COVERS
, etc
) and the value -1
each time.