IBM ILOG CPLEX Optimization Studio Review

The callbacks allow you to add your own additional nuances to the solver

What is our primary use case?

I use CPLEX for network optimization, and the defaults don't work as well, but fortunately they have the callbacks that allow you to add your own additional nuances to the solver, and then that performs really well. 

What is most valuable?

The ability to actually incorporate some stuff that you have developed within CPLEX's big general framework. 

It is a very good tool. It's very user-friendly with its language, OPL. It can be used by someone who has no idea how to code, while also being very useful for someone who is very advanced in programming and has a lot of knowledge of the matter, of the material. So, I think it is very versatile for a very wide audience.

What needs improvement?

One of the new things in CPLEX is the new benders, the composition that does it automatically. One of the things I realized while testing it is that when it does it at the root node of the branch and bound tree, it doesn't leave with the LP relaxation. It often stops, terminates, before it stops adding cuts before. And it makes for a very weak stopping criteria later on in the branch and cut tree. So maybe polish it a little more. I know it is a very generic framework, but I think just by doing that one thing, it could really improve its performance for a lot of stuff. 

What do I think about the stability of the solution?

The stability is okay. For now, I haven't seen it crash. I have seen it become numerically unstable. One of the nice things about CPLEX is that it lets you know that there are certain numerical instabilities. I think that the new feature that they released in the 12.7 version manages to identify that these things are pernicious before trying to solve them, and it recommends other ways to correct that. 

What do I think about the scalability of the solution?

The scalability really depends on the type of problems. For my particular types of problems, it's not as scalable because there are a large number of constraints to the problems. So, if I increase the number of variables, I significantly increase the number of constraints. For my particular problem, it's not as scalable. But that is the reason why I use these nuances for my problems.

Which solution did I use previously and why did I switch?

I was not using any solutions previously. I ended up working on CPLEX because my adviser told me to.

How was the initial setup?

It was very straightforward.

What other advice do I have?

I would recommend to anyone who is looking to implement CPLEX that they read the documentation. I do not think that it is available on PDF, it is all on HTML now, but they can find the PDF file for the 12.5 version. I find it more friendly for navigation, so I'd tell them to read that one, and then for the particular things that are in the newest versions, they can go online.

**Disclosure: IT Central Station contacted the reviewer to collect the review and to validate authenticity. The reviewer was referred by the vendor, but the review is not subject to editing or approval by the vendor.
More IBM ILOG CPLEX Optimization Studio reviews from users
Add a Comment
ITCS user