IBM ILOG CPLEX Optimization Studio Review

The language is simple and intuitive but the infeasibility checks should be easier to set up

What is our primary use case?

I use CPLEX mainly for validation of the algorithms that I develop, such as metaheuristics. I want to compare their performance against CPLEX.

I also use it to validate my models. The math models that I make, mixed-integer programming and stochastic programming. In order to make sure that they are feasible, to test them, I use CPLEX. And if there is a case study that is small, I usually use CPLEX to solve it.

The performance is good for those exact solutions. But, in general, exact methods have this problem of computation time. And the amount of memory they need is considerable, sometimes. It also takes a while to learn how to adjust the settings of the software so it can perform better.

What is most valuable?

I think that it is user-friendly, compared to other methods. 

I also like the optimization studio in Windows. It is really awesome for someone who wants to just start using CPLEX, especially the OPL for writing the model. The language is really, really simple and intuitive and it is very easy to read and write. it's also easy to write control flows in CPLEX.

What needs improvement?

The infeasibility checks should be easier to set up. Currently, you have to name your constraints. It is really hard to find the infeasible constraints. If they could add that to the features, it would be great. 

It would also be awesome if they had a short tutorial that tells someone like me, who is not a new user, about the different features that I might not be aware of. Sometimes I will talk to a friend who will tell me that they are using a CPLEX feature that I didn't even know existed. I know what the software does but it would be helpful to have a tutorial that summarizes all of the features.

It is also a problem that CPLEX does not have a user-interface in Mac.

What do I think about the stability of the solution?

You need to learn how to play with the settings so it doesn't crash. But if you run on the default settings and your program size is large, it might crash after about an hour.

How is customer service and technical support?

I have never personally contacted to ask for support. I usually just google the problems that I have. There is usually a forum where I can find the answer.

Which solutions did we use previously?

Beforehand, I was using GAMS for my masters degree. Then my advisor recommended using CPLEX. Once I installed it I found that I loved the OPL and how easy it was to write down the model. So if I want to do something really quickly, I go straight to CPLEX's studio and write it there. 

I also use Gurobi, in conjunction with Python. This is just because one of my course instructors used Gurobi with Python. But it shouldn't be any different, it's the same. 

How was the initial setup?

I had installed Optimization Studio. That was very easy and straightforward. The other one, for Mac, that one was a little tricky. I had to search online for instructions for the installation.

What other advice do I have?

I would definitely recommend CPLEX to colleagues who are thinking of using it. It is very reliable and there is a lot of programming behind it. I am confident that I can rely on the solutions that it gives me.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
Add a Comment
Sign Up with Email