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
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 |
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.
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.
Sets the Matrix fill limit for the aggregator. By default, determined automatically. This parameter should only rarely require adjustment.
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) |
The Presolve option, when set to On, will invoke the CPLEX Presolve to make problem simplifications and reductions.
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.
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.
When the Presolve Relaxed LP option is
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 |