I design algorithms to solve transportation problems and then I often use CPLEX as an engine within those algorithms to solve optimization problems.
It has performed very well. I have been using it since 2007 and it has gotten much better over time.
The way you can interface with it from a programming perspective, the implementation, is very useful. And, just generally, its performance.
CPLEX is fairly easy to use and it does provide very high quality solutions which make my algorithms run faster and better.
I have not had any issues with stability.
The algorithms that I design are based on the premise that CPLEX struggles when there is a lot of data. So CPLEX on its own won't scale to the size of problems that I am trying to solve, though I kind of like this because it gives me something to do. But it seems that it can solve bigger and bigger problems every year.
CPLEX is sort of what I learned on. I will admit that I have used other products too, but CPLEX is what I know the best.
I have installed it on my own computer and it was easy.
It is still not clear to me what the GPU potential is for CPLEX. Can you leverage GPU technology, essentially? I think that would be interesting given how many processors there seem to be in those types of machines.
As an academic, when I am selecting a vendor, the first question that I ask is, "is it free"? That plays a big role. But a product's reputation, the recognition of the brand name when I publish my results, that makes a difference too. I want to be able to say that I used a solver that everyone knows and respects. People will say, "Oh, yeah, of course he uses that. He did that the right way."
If I were to offer advice to colleagues considering CPLEX I would tell them there is a learning curve, but that it is worth doing. That you will really see a benefit from putting the time in.
CPLEX comes with APIs in C, C++, Python, Java and C#, as well as a connector for MATLAB.