Automatic selection of an optimizer

Describes conditions for automatic selection of an optimizer.

The default Automatic setting of the LP method lets CPLEX decide which algorithm to use to optimize your problem. Most models are solved well with this setting, and this is the recommended option except when you have a compelling reason to tune performance for a particular class of model.

On a serial computer, or on a parallel computer where only one thread will be invoked, the automatic setting will in most cases choose the dual simplex optimizer. An exception to this rule is when an advanced basis is present that is ascertained to be primal feasible; in that case, primal simplex will be called.

On a computer where parallel threads are available to CPLEX, the automatic setting typically results in the concurrent optimizer being called in either deterministic, or opportunistic parallel mode. However, exceptions to this general rule occur when CPLEX analyzes characteristics of your model plus your parameter settings, and determines from that analysis that running different algorithms concurrently may not improve performance on that model with those parameter settings. Here are a few examples (the list is not exhaustive) of situations where CPLEX can draw the conclusion that performance will not be improved by concurrent optimization with different algorithms:
  • The presence of an advanced basis
  • The model is so small that the overhead costs of setting up concurrent optimization exceed possible performance gains
  • The memory emphasis parameter memory reduction switch has been enabled.
In such cases, CPLEX invokes simplex optimizers.