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.1 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.6, on models requiring 1 second and above, and for the challenging group of models requiring at least 100 seconds the average speedup is 15%. For models with quadratic terms, improvements range from 30% to 65% for models requiring at least 1 second to solve.

Integer models are solved by the CPLEX CP Optimizer on average 25% faster than the prior 12.6 release.

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

CPLEX MIP Optimizer performance benchmark details

Comparison between CPLEX 12.60 (released Dec. 2014) with CPLEX 12.6 (released December 2014) on 12 threads with deterministic parallel.

CPLEX MIP v. 12.6.1 performance imrovement for linear problems

CPLEX MIP v. 12.6.1 performance imrovement for quadratic problems

The problems in the quadratic test sets required at least one second to solve.

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 run on the same hardware in the graphs below. The geometric mean improved by 3x for models requiring at least 1 second and improved by 7x for models requiring at least 100 seconds. The number of models hitting the 10000 second time limit decreased from 285 to 55.

CPLEX MILP 5 yr. performance improvements

Since 2000, for models requiring at least 1 second, the improvement is 12x and for models requiring at least 100 seconds, the improvement is 42x. The number of models hitting the 10000 second limit decreased from 764 to 51.

Version-to-version improvements since 2000

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.1 MILP enhancements and 12.1 to 12.6.1 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.1 performance benchmark details

Test-cases are separated into two groups:

Performance on integer problems was improved 25% in version 12.6.1 compared to version 12.6. Performance on scheduling problems was unchanged. The graph below shows cumulative performance improvements since 2010. Integer problem performance improved by a factor of 1.4 and scheduling problem performance improved by a factor of 2.6.

CP Optimizer performance improvements

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.

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

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?