> Discrete Optimization > Solving Mixed Integer Programming Problems (MIP) > Using the Mixed Integer Optimizer > Preprocessing: Presolver and Aggregator

When you invoke the MIP optimizer, whether through the Interactive Optimizer command mipopt, through a call to the Concert Technology IloCplex method solve, or through the Callable Library routine CPXmipopt - ILOG CPLEX by default automatically preprocesses your problem. Table 13.9 summarizes the preprocessing parameters. In preprocessing, ILOG CPLEX applies its presolver and aggregator one or more times to reduce the size of the integer program in order to strengthen the initial linear relaxation and to decrease the overall size of the mixed integer program.

Table 13.9 Parameters for Controlling MIP Preprocessing
Interactive Command 
Concert Technology Parameter 
Callable Library Parameter 
Comment 
set preprocessing aggregator 
AggInd 
CPX_PARAM_AGGIND 
on by default 
set preprocessing presolve 
PreInd 
CPX_PARAM_PREIND 
on by default 
set preprocessing boundstrength 
BndStrenInd 
CPX_PARAM_BNDSTRENIND 
presolve must be on 
set preprocessing coeffreduce 
CoeRedInd 
CPX_PARAM_COEREDIND 
presolve must be on 
set preprocessing relax 
RelaxPreInd 
CPX_PARAM_RELAXPREIND 
applies to relaxation 
set preprocessing reduce 
Reduce 
CPX_PARAM_REDUCE 
all on by default 
set preprocessing numpass 
PrePass 
CPX_PARAM_PREPASS 
automatic by default 

The parameters Reduce and Numpass have the same meanings for LP, QCP, QP and MIP. Preprocessing explains the meanings and adjustments of all these parameters.

While preprocessing, ILOG CPLEX also attempts to strengthen bounds on variables. This bound strengthening may take a long time. In such cases, you may want to turn off bound strengthening.

ILOG CPLEX also attempts to reduce coefficients during preprocessing. Coefficient reduction usually strengthens the continuous relaxation and reduces the number of nodes in the branch & cut tree, but not always. Sometimes, it increases the amount of time needed to solve the linear relaxations at each node - enough time to offset the benefit of fewer nodes. Two levels of coefficient reduction are available, so it is worthwhile to experiment with these preprocessing options to see whether they are beneficial to your problem.

In addition, you may also set the relaxation parameter to tell ILOG CPLEX to apply preprocessing to the initial relaxation of the problem. Sometimes this preprocessing will result in additional, beneficial presolve transformations in the continuous LP, QP, or QCP relaxation, transformations that are not possible in the original MIP model. In general, MIP preprocessing reductions and continuous LP, QP, or QCP reductions are not the same, as some MIP reductions are not applicable to the continuous case, and some continuous reductions do not apply in the MIP case. Thus, the RelaxPreInd parameter allows you to get the benefit of both styles of preprocessing, when the model is large enough that the root solution is itself a time consuming step.

ILOG CPLEX preprocesses a MIP by default. However, if you use a basis to start LP optimization of the root relaxation, ILOG CPLEX will proceed with that starting basis without preprocessing it. Frequently the strategic benefits of MIP presolve outweigh the tactical advantage of using a starting basis for the root node, so use caution when considering the advantages of a starting basis.