ILOG CPLEX allows you to solve your QP models through a simple interface, by calling the default optimizer as follows:
Under default settings, this will result in the Barrier optimizer being called when solving a continuous QP.
For users who wish to do some performance tuning of their applications, there are two Simplex optimizers that can be tried for solving QPs. They are Dual Simplex and Primal Simplex. You can also use the Network Simplex optimizer; this solves the model as an LP network (temporarily ignoring the quadratic term in the objective function) and takes this solution as a starting point for the Primal Simplex QP optimizer. This choice of QP optimizer is controlled by the RootAlg
parameter (QPMETHOD in the Interactive Optimizer and in the Callable Library). Permitted values are:
Many of the optimizer tuning decisions for LP apply in the QP case; and parameters that control Barrier and Simplex optimizers in the LP case can be set for the QP case, although in some instances to differing effect. Most models are solved fastest under default parameter settings. See the LP chapter for tuning advice.
Just as for the LP case, each of the available QP optimizers automatically preprocesses your model, conducting presolution problem analysis and reductions appropriate for a QP.
Note that, unlike the LP case, the Barrier optimizer for QP does not provide the capability of a crossover step that provides an optimal basic solution. The QP Simplex optimizers, by contrast, do return basic solutions, and these bases can be used for purposes of restarting sequences of optimizations, for instance. As a result, application writers who wish to allow end users control over the choice of QP optimizer need to be aware of this fundamental difference and to program carefully. For most purposes, the nonbasic Barrier solution is entirely satisfactory, in that all such solutions fully satisfy the standard optimality and feasibility conditions of optimization theory.