We are proud to announce the latest CPLEX release. It will ship in electronic form on June 12 for commercial users. Academic users can get it from the Academic Initiative site.
- The ability to solve larger problems faster as a result of improvements to the optimizers. In some cases the difference is really impressive.
- The ability to submit Optimization Programming Language (OPL) models to the DOcloud service from its desktop Integrated Development environment (IDE).
- Better support of constraint programming in the IDE with a model viewer
CPLEX Optimizer improvements include:
- Exploit symmetry for LP
- Improvements to distributed MIP
- Cuts for non convex (MI)QP
- Improvements for Second Order Cone problems (SOCP)
- Improvements to MIQCP/MISOCP
Our Constraint programming Optimizer performance has been improved as well, especially for scheduling problems
I will blog later about the second major improvement, i.e. the ability to develop models on a local machine using OPL, and seamlessly solve them on our DOcloud service
The official announce is available here.
Update on June 26 2015
One way we use to convey performance improvements for CPLEX is a performance graph. The latest one for CPLEX mixed Integer Programming solver is shown below. It shows steady improvements version after version which still amaze me. Before looking at details please keep in mind the following.
- These are average improvements. For some models newer version may actually be slower
- They were measured on a particular set of model, i.e. our test suite. A different set of models would lead to different average improvement measures.
- Running these tests on a different machine could also lead to a difference compared to what we report here.
- You should test on you own models on your own machines to see how latest CPLEX version improves your running times. Do not rely on this performance graph or any other public benchmark to estimate the gain for you. Just try it yourself!
- We use geometric mean to define relative performance between two CPLEX versions. I explained why in Benchmarking Is Tricky
Here is an explanation of what is shown.
- The complete test set had 3691 models. These models have been collected from our users over the years. Great care has been done to remove models that are similar, in order to have the largest variety in our test set. The goals is to have a representative sample of what our users need to solve. See Benchmarking Is Tricky for more on this.
- 731 of these were not solved in 10.000 seconds by any CPLEX version, and are excluded from the test
For the remaining models, we look at the best time across all measured CPLEX versions. We classify them by the shortest time to solve them with any of the CPLEX version so far.
- 1579 were solved by ‘their best version’ in 10 seconds or more,
- 1185 in 100 seconds or more,
- 905 in 1000 seconds or more
That defines 3 categories of models. A model may belong to 0, 1, 2 or 3 of these categories. For each category, we compute the ratio of the geometric means of the running times of the models. This is what is being shown in the three curves. For instance, 12.6.2 is 15x faster than 9.0 on models taking at least 10 seconds for all versions.
The blue bars represent timeouts (e.g. 48 for 12.6.2). These are the number of models that were solved (in 10.000 seconds or less) by at least one other version, but not this one.