Sifting Optimizer
Sifting was developed to exploit the characteristics of models with large aspect ratios (that is, a large ratio of the number of columns to the number or rows). In particular, the method is well suited to large aspect ratio models where an optimal solution can be expected to place most variables at their lower bounds. The sifting algorithm can be thought of as an extension to the familiar simplex method. It starts by solving a subproblem, called the working problem, consisting of all rows but only a small subset of the full set of columns, by assuming an arbitrary value (such as its lower bound) for the solution value of each of the remaining columns. This solution is then used to re-evaluate the reduced costs of the remaining columns. Any columns whose reduced costs violate the optimality criterion become candidates to be added to the working problem for the next major sifting iteration. When no candidates are present, the solution of the working problem is optimal to the full problem, and sifting terminates.
The choice of optimizer to solve the working problem is governed by the SiftAlg
parameter. You can set this parameter to any of the values accepted by the LPMethod
parameter, except for Concurrent
and of course Sifting
itself. Under the default SiftAlg
setting, ILOG CPLEX chooses the optimizer automatically, typically switching between primal simplex and barrier as the optimization proceeds.