CPLEX Preprocessing Parameter Options

You can change the Preprocessing options for CPLEX by choosing CPLEX parameters from the Options menu and then pressing the Preproc tab. This will display the dialog box shown below:

Figure 4.43: The CPLEX Preprocessing Options Dialog Box

List of Options

Option Name MPL Name Solver Param ParamNr Type Default Min Max
Advanced Basis AdvanceBasisInd AdvInd 1001 list 1 0 2
Application Limit AggregatorInd AggInd 1003 int -1 -1 MAXINT
Matrix Fill Limit AggrMatrixFill AggFill 1002 int 10 0 MAXINT
MIP Bound Strengthening BoundStrengthInd BndStrenInd 2029 flag -1 -1 1
Use Presolve PresolveInd PreInd 1030 flag 1 0 1
Pass Dual Problem PresolveDualInd PreDual 1044 flag 0 0 1
Dependency Checker DependencyInd DepInd 1008 flag 0 0 1
Presolve Relaxed LP RelaxedLPPresolveInd RelaxPreInd 2034 flag 0 0 1
MIP Coefficient Reduction CoeffReduce CoeRedInd 2004 list 2 0 2


Description of Options

Advanced Basis

Use Advanced basis: The advance basis for the previous optimization is used as the starting point for the next optimization. The default is On.

Basis Filename: Specifies the filename CPLEX will use for the basis file. If the filename given contains asterisks '*' instead of the name, like the default *.bas CPLEX will use the name of model file with the extension given.

Application Limit

The aggregator, when set to a nonzero value, will invoke the CPLEX Aggregator to use substitution where possible to reduce the number of rows and columns before the problem is solved. If the parameter is set to a positive value, then the aggregator will be applied the specified number of times, or until no more reductions are possible. At the default value of -1, the aggregator is applied once for linear programs, and an unlimited number of times for mixed integer problems. At this setting, all potential presolve reductions are performed for mixed integer programs.

Matrix Fill Limit

Sets the Matrix fill limit for the aggregator. By default, determined automatically. This parameter should only rarely require adjustment.

MIP Bound Strengthening

The Bound Strengthening option is used when solving mixed integer programs. Bound strengthening tightens the bounds on variables, perhaps to the point where the variable can be fixed and thus removed from consideration during branch-and-bound. This reduction is usually beneficial, but occasionally, due to its iterative nature, takes a long time.

Automatically determined (-1)
Do not apply bound strengthening (0)
Apply bound strengthening (1)

Use Presolve

The Presolve option, when set to On, will invoke the CPLEX Presolve to make problem simplifications and reductions.

Pass Dual Problem

The Pass Dual Problem option determines if CPLEX Presolve should pass the primal or dual linear programming problem to the linear programming optimization algorithm. By default, CPLEX Presolve is applied to the primal problem, and the resulting primal problem is passed to the optimizer. If the Pass Dual Problem option is set to On, then the CPLEX presolve algorithm will still be applied to the primal problem, but the resulting dual linear program is passed to the optimizer. This is a useful technique for problems with more constraints than variables.

Dependency Checker

The Dependency Checker option determines if the "dependency checker" is activated. If On, the dependency checker will search for dependent rows during preprocessing. If Off (default), dependent rows will not be identified. For many models, eliminating the dependency check will speed up the preprocessing time, at the expense of not identifying dependent rows.

Presolve Relaxed LP

When the Presolve Relaxed LP option is () On, CPLEX will invoke the Presolve for linear programs for the initial relaxation of a mixed integer program, according to the other CPLEX Presolve parameter settings. Sometimes additional reductions can be made beyond any MIP presolve reductions that may have already been done.

MIP Coefficient Reduction

Coefficient reduction is a technique used when presolving mixed integer programs. The benefit of coefficient reduction is to improve the objective value of the initial (and subsequent) linear programming relaxations solved during branch-and-bound by reducing the number of non-integral vertices. However, the linear programs generated at each node may become more difficult to solve. There is a resulting tradeoff between reducing the number of nodes in the branch-and-bound tree and the time to solve each node via a linear programming algorithm. Full coefficient reduction reduces all possible coefficients, while integer coefficient reduction will only reduce coefficients to integer values.

No Coefficient Reduction (0) No coefficient reduction
Integer Coeff. Reduction (1) Reduce only to integral coefficients
Full Coeff. Reduction (2) Reduce all possible coefficients

Back To Top | Maximal Home Page | List of Solvers | Previous Page | Next Page