CPLEX version 10 extended its facilities for generating cuts automatically to attempt generation of Gomory cuts for mixed integer programs with a quadratic objective function.

CPLEX version 10 rejects fewer models that are not positive semi-definite.

MIP starts now accept fractional (that is, noninteger) solutions.

If a user provides a MIP start that cannot be extended into a
feasible solution, CPLEX will try to repair it. For more detail about
this feature, see also parmeter *repairtries* in these release
notes.

The Infeasibility Finder identifies the causes of infeasibility by
means of inconsistent set of constraints (IIS). However, you may want
to go beyond diagnosis to perform automatic correction of your model
and then proceed with delivering a solution. One approach for doing so
is to build your model with explicit slack variables and other
modeling constructs, so that an infeasible outcome is never a
possibility. An automated approach offered in GAMS/Cplex is known as
FeasOpt (for Feasible Optimization) and turned on by parameter
*feasopt* in a CPLEX option file.

With the FeasOpt option CPLEX accepts an infeasible model and
selectively relaxes the bounds and constraints in a way that minimizes
a weighted penalty function. In essence, the feasible relaxation
tries to suggest the least change that would achieve feasibility. It
returns an infeasible solution to GAMS and marks the relaxations of
bounds and constraints with the INFES marker in the solution section
of the listing file.
By default all equations are candiates for relaxation and weigthed
equally but none of the variables can be relaxed. This default
behavior can be modified by assigning relaxation preferences to
variable bounds and constraints. These preferences can be conveniently
specified with the `.feaspref` option. A negative or zero
preference means that the associated bound or constraint is not to be
modified. The weighted penalty function is constructed from these
preferences. The larger the preference, the more likely it will be
that a given bound or constraint will be relaxed. Values for specific
variable or constraints can be passed on through option

The parameter FeasOptMode allows different strategies in finding feasible relaxation in one or two phases. In its first phase, it attempts to minimize its relaxation of the infeasible model. That is, it attempts to find a feasible solution that requires minimal change. In its second phase, it finds an optimal solution (using the original objective) among those that require only as much relaxation as it found necessary in the first phase. Values of the parameter FeasOptMode indicate two aspects: (1) whether to stop in phase one or continue to phase two and (2) how to measure the relaxation (as a(variable or equation name).feaspref(value)

A very aggressive new setting (3) is available for the clique cut parameter.

A very aggressive new setting (3) is available for the cover cut parameter.

This parameter allows now setting all cuts at once to off (-1), automatic (0), moderate (1), aggressive (2), and very aggressive (3).

This parameter lets you control whether CPLEX applies a local branching heuristic to try to improve new incumbents found during a MIP search. By default, this parameter is off. If you turn it on, CPLEX will invoke a local branching heuristic only when it finds a new incumbent. If CPLEX finds multiple incumbents at a single node, the local branching heuristic will be applied only to the last one found.

This parameter lets you indicate to CPLEX that it should conserve memory where possible. When you set this parameter to its nondefault value, CPLEX will choose tactics, such as data compression or disk storage, for some of the data computed by the barrier and MIP optimizers. Of course, conserving memory may impact performance in some models. Also, while solution information will be available after optimization, certain computations that require a basis that has been factored (for example, for the computation of the condition number Kappa) may be unavailable.

This replaces old Cplex parameters *barooc*,
*finalfactor*, and *precompress*.

This parameter lets you control the degree of precision displayed in output files in MPS and REW formats

This parameter lets you indicate to CPLEX that it should emphasize precision in numerically difficult or unstable problems, with consequent performance trade-offs in time and memory.

This parameter enables you to regulate the amount of time that CPLEX spends in polishing the best solution found. During solution polishing, CPLEX applies its effort to trying to improve the best feasible solution. Polishing can yield better solutions in some situations.

A new setting (2) for the presolve node parameter is available. The new setting probes all integer-feasible variables at each node to find those that can be fixed.

This parameter enables you to limit the amount of time that CPLEX spends in probing.

The default value of the indicator for preprocessing relaxation has changed. The default is now -1 automatic: let CPLEX decide. The new default usually produces a faster initial solution of the relaxation.

If a user provides a MIP start (full or partial) that cannot be extended into a feasible solution, CPLEX will try to repair it. By default, CPLEX will try the repair heuristic once.

This new parameter lets you tell CPLEX to re-apply the MIP presolve techniques of the preprocessor to a MIP model at the root after preprocessing has otherwise finnished (that is, after cut generation at the root).

CPLEX now offers more aggressive techniques for symmetry breaking.