12.07.2015 Views

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

◆ Preprocessing on page 176◆ Starting from an Advanced Basis on page 178◆ Simplex Parameters on page 179PreprocessingAt default settings, <strong>ILOG</strong> <strong>CPLEX</strong> preprocesses problems by simplifying constraints,reducing problem size, and eliminating redundancy. Its presolver tries to reduce the size of aproblem by making inferences about the nature of any optimal solution to the problem. Itsaggregator tries to eliminate variables and rows through substitution. For most models,preprocessing is beneficial to the total solution speed, and <strong>ILOG</strong> <strong>CPLEX</strong> reports the model'ssolution in terms of the user's original formulation, making the exact nature of anyreductions immaterial.Dual Formulation in PresolveA useful preprocessing feature for performance tuning, one that is not always activated bydefault, can be to convert the problem to its dual formulation. The nature of the dualformulation is rooted in linear programming theory, beyond the scope of this manual, but forthe purposes of this preprocessing feature it is sufficient to think of the roles of the rows andcolumns of the model's constraint matrix as being switched. Thus the feature is especiallyapplicable to models that have many more rows than columns.You can direct the preprocessor to form the dual by setting the PreDual parameter to 1(one).Conversely, to entirely inhibit the dual formulation for the barrier optimizer, you can set thePreDual parameter to -1. The default, automatic, setting is 0.It is worth emphasizing, to those familiar with linear programming theory, that the decisionto solve the dual formulation of your model, via this preprocessing parameter, is not thesame as the choice between using the dual simplex method or the primal simplex method toperform the optimization. Although these two concepts (dual formulation and dual simplexoptimizer) have theoretical foundations in common, it is valid to consider, for example,solving the dual formulation of your model with the dual simplex method; this would notsimply result in the same computational path as solving the primal formulation with theprimal simplex method. However, with that distinction as background, it may be worthknowing that when <strong>CPLEX</strong> generates the dual formulation, and a simplex optimizer is to beused, <strong>CPLEX</strong> will in most cases automatically select the opposite simplex optimizer to theone it would have selected for the primal formulation. Thus, if you set the PreDualparameter to 1 (one), and also select LPMethod 1 (which normally invokes the primalsimplex optimizer), the dual simplex optimizer will be used in solving the dual formulation.Because solution status and the other results of an optimization are the same regardless ofthese settings, no additional steps need to be taken by the user to use and interpret the176 <strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!