Sifting may be beneficial for models with many more columns than rows.
A sequence of LP subproblems is solved where the results from one
subproblem are used to select columns from the original model for
inclusion in the next subproblem. The process converges to a solution
for the original model.
Concurrentopt
Concurrentopt is available on multi-CPU computers if the parallel
option has been purchased for GAMS/Cplex. When specified as the LP
method, LP optimizations will be launched on multiple threads at
once. The first thread will use Dual Simplex, the second will use
the Barrier method (if licensed), and the third will use Primal
Simplex. Any additional threads, if available, will be used by the
Barrier method. On a machine with enough memory, this will result
in the solution being returned by the fastest method.
New QP Capabilities
Simplex Methods for Solving QP Models
Dual Simplex and Primal Simplex methods have been added for solving
Quadratic Programming (QP) models. In prior releases, QP models
could be solved by only the Barrier method which is not able to
restart an optimization from a previous solution.
Presolve has been extended to perform reductions on QP
models that will benefit all the QP methods.
Mixed Integer Quadratic Programming
The Cplex branch & cut algorithm has been extended to support
QP models.
The Simplex QP methods and the ability to solve MIQP problems
are licensed together as a separate option. The Barrier and MIP
options are prerequisites. QP (continuous or mixed integer) models
are supported from GAMS via the GAMS/QPwrap facility.
The meaning of the automatic setting has been changed. If a
primal feasible-basis is available, Primal Simplex will be used.
If the number of parallel threads (parameter threads) has been
set to greater than 1, and an advanced basis is not available,
the concurrentopt method will be used.
Cplex Parameters barthreads, mipthreads, simthreads
The default values for these parameters have been changed to the
setting for the new (global) threads parameter. It, in turn,
defaults to 1.
Cplex Parameter bttol
The default value has changed from 0.01 to 0.9999 because of changes
made to the overall branching strategy. This change will not be
likely to affect users unless they have been supplying their own values
for bttol.
Cplex Parameter startalg
The values meaning "Dual to iteration limit then barrier" and
"Barrier without crossover" are no longer allowed. Barrier without
crossover can still be accomplished by specifying Barrier and then
using parameter barcrossalg to specify no crossover. Sifting and
concurrentopt have been added as possible choices.
Cplex Parameter bargrowth
The default has been increased from 1.0e6 to 1.0e8 to reduce the
likelyhood that a model will be declared to have an unbounded
optimal face.
Cplex Parameter baritlim
The default has been changed to no explicit limit (ie very large).
Formerly, by default, an iteration limit was enforced, but it was
automatically calculated based on model characteristics.
Cplex Parameter mipemphasis
The default has been changed to a new value, "balanced", which
seeks a balance between searching for feasible solutions and
proving optimality.
A new choice, "best bound", has been added which emphasizes moving
the best bound as an aggressive technique for proving optimality
on extremely difficult models.
Cplex Parameter baralg
The same values are allowed, but the feasibility algorithms now
support solution of QP models.
This parameter is similar to parameter lpmethod except, of course,
that it controls which method will be used for solving QPs instead
of LPs. The default is to use Barrier for continuous QP models and
Dual Simplex for the root node of MIQPs.
Cplex Parameter qpmakepsdind
This parameter determines whether or not Cplex will attempt to adjust
an MIQP formulation to make a QP positive semi-definite, if it is not
already, or to tighten an already positive semi-definite matrix for
better numerical performance. This only applies to models where all
variables appearing in the quadratic term are binary. The default is
Cplex Parameter threads
This single parameter overrides the default value for the individual
parameters barthreads, mipthreads and simthreads. It also sets the
number of threads for the concurrentopt method. It's default value
is 1.
Cplex Parameter siftalg
This parameter is used to specify which method to use for sifting
subproblems.
Cplex Parameter siftdisplay
This parameter is used to control the amount of information written
to the log file (screen) as the sifting algorithm proceeds.
Cplex Parameter siftitlim
This parameter provides a limit on the number of sifting iterations.
The default is very large (ie no limit).
Cplex Parameter divetype
The Cplex MIP traversal strategy occasionally performs probing dives
where it looks ahead at both child nodes before deciding which node
to choose. This parameter controls how much diving is done.
Cplex Parameter symmetry
This parameter determines whether or not symmetry breaking cuts