IBM ILOG CPLEX Optimizer performance benchmarks

Version-over-version speed comparisons on the world's most reliable
and robust mathematical programming and constraint programming solvers

CPLEX Optimization Studio. Try it free for 90 days CPLEX Optimization Studio. Try it free for 90 days

CPLEX Optimizer performance

IBM ILOG CPLEX Optimizer confirms its performance leadership. The Version 12.6 CPLEX Optimizers provide yet another breakthrough in performance.

Mixed integer programming models with linear terms are solved by the CPLEX MIP Optimizer on average 5% faster than the industry-leading prior release 12.5.1, on models requiring 1 second and above, and for the challenging group of models requiring at least 100 seconds the average speedup is 15%. The enhancements in 12.5.1 and 12.6 result in a combined improvement over the 12.5.0 release by 20% on models requiring 1 second and above and 60% on models requiring at least 100 seconds.

Of note in the 12.5.1 release are improvements to mixed integer programming models with quadratic terms.

Scheduling models are solved by the CPLEX CP Optimizer on average 100% faster than the prior 12.5.1 release.

More detail on these results can be found by clicking on the respective tabs.

CPLEX MIP Optimizer performance benchmark details

CPLEX 12.6 Mixed integer linear programming (MILP) enhancement

Comparison between CPLEX 12.5.1 (released June 2013) with CPLEX 12.6 (released December 2013) on 12 threads

Deterministic parallel MIP (12 threads)

Continuous CPLEX MIP Optimizer performance improvement since 2000

CPLEX has a long history of constant performance improvement. You can compare the cumulative CPLEX speedups since 2009 on the same set of models in the graph below.

MILP Improvements in CPLEX Optimizer from 2009 to 2013: Speedups for 2057 models > 1 sec

MILP Improvements in CPLEX Optimizer from 2009 to 2013: Speedups for 921 models > 100 sec

Historical version-to-version improvements

Benchmark conditions

Default algorithmic settings within CPLEX were used, with a time limit of 10,000 seconds and a tree memory limit of 6 Gbytes and utilizing 12 threads. The test set consisted of optimization models collected from public and private sources. Models unable to be solved within the time limit by all the versions were excluded. When a version is unable to solve a model within the time limit, the solve time is considered to be the time limit. Models judged to have numerically unstable formulations are excluded. A model is assigned to a timing category by the longest time of any of the versions. The comparisons are done with geometric means.

For the 12.6 MILP enhancements and 12.1 to 12.6 continuous improvements depicted graphically above, benchmarks were conducted on 2.66 GHz Intel Xeon X5650 processors with 2 x 6 cores, 12 Mbytes cache on each processor, and 24 Gbytes of RAM. The version of Linux used was 2.6.32 SMP x86_64 GNU/Linux.

The historical version-to-version comparisons are the values reported when those releases occurred and were performed based on the hardware, OS and test set available at the time of each release. The parallel mode for the results with CPLEX 11 and above is the default deterministic mode; with earlier versions the parallel mode is opportunistic.

Performance is based on measurements and projections using standard IBM® benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

CPLEX CP Optimizer v. 12.6 performance benchmark details

Test-cases are separated into two groups:

Comparison of CP Optimizer 12.6 to 12.5.1

The following figures illustrate the distribution of performance improvements in the comparison of releases 12.6 and 12.5.1. Green bars represent an advantage for version 12.6, turquoise bars an advantage for 12.5.1. The percentage indicated below each bar is the gain of speed for the considered version (300% means that speed is 4 times faster).

Integer Problems

Scheduling Problems

Version-to-Version performance in CPLEX CP Optimizer since 2010 on 4 workers

Integer Problems

Scheduling Problems

Results for CP Optimizer 12.3 and earlier use non-deterministic search; deterministic search is used in version 12.4 and up.

Benchmark conditions

Benchmarks were conducted on 2.93 GHz Intel Xeon X570 processors with 2 x 4 cores, 8 Mbytes cache on each processor, and 36 Gbytes of RAM. The version of Linux used for results on 12.5.1 and earlier was 2.6.14 SMP x86_64 GNU/Linux with gcc 4.1 and for 12.6 was 2.6.32 SMP x86_64 GNU/Linux with gcc 4.4.

Default algorithmic settings were used, with a time limit of between 500 and 1000 seconds, depending on the problem. Each run uses 4 threads. Each problem is run with 10 different random seeds. The test set consisted of optimization models collected from public and private sources.

Performance is based on measurements and projections using standard IBM® benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Contact IBM

Considering a purchase?