IBM Support

Types of problems for which parallel CPLEX can improve performance

Question & Answer


Question

For what class of problems can parallel CPLEX improve performance?

Answer

Parallel CPLEX can significantly improve performance for certain classes of problems. It works particularly well with:

  • MIPs, especially with CPLEX 12.2 or later;
  • barrier method for LPs, QPs and QCPs;
  • concurrent optimization for LPs and QPs.

With MIPs, CPLEX processes nodes in the branch and bound tree on separate threads. Adding multiple processors or cores can cut the run time in half or better on some models. CPLEX 12.2 and later also perform parallel processing at the root node. However, for earlier versions of CPLEX, the majority of the MIP runtime needs to be spent processing nodes for Parallel CPLEX to improve performance.

For LPs and QPs, the barrier optimizer of CPLEX runs in parallel. The barrier optimizer runs well in parallel because most of the computations are focused on the solution of a single linear system of equations with a static nonzero structure across all of the iterations.

For LPs and QPs, CPLEX also offers a concurrent optimization procedure, where CPLEX solves your model with a different LP algorithm on a different processor, stopping as soon as the first one has solved the problem. This feature is not available for QCPs since CPLEX currently only uses the barrier method to solve such models. Note that CPLEX 12.2 and later use concurrent optimization for the root node solve by default, thus potentially improving the run time for MIPs where the root node solve comprises a significant percentage of the total solve time.

[{"Product":{"code":"SSSA5P","label":"IBM ILOG CPLEX Optimization Studio"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Not Applicable","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.2;9.1;9.0;12.4;12.3;12.2;12.1;12.0;11.0;10.3","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Product":{"code":"SSSA5P","label":"IBM ILOG CPLEX Optimization Studio"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF017","label":"Mac OS"}],"Version":"12.2","Edition":"All Editions","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Historical Number

cplex/FAQ/132

Document Information

Modified date:
16 June 2018

UID

swg21400049