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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Modeling, solving the models, things like this.
It performs really well. I have experienced some trouble in the input data, but that's probably my fault more than CPLEX's fault.
It is good at solving models and it offers a lot of different solution methodologies that are already built-in, so it is pretty fast.
The overall benefit is that it makes it easy to validate models.
It might already have it, but in the next release I would like to be able to use other languages, like Python or C, in calling CPLEX to solve the model. I think this would make it easier for the input data.
It is pretty stable. I have never had any crashes.
If there is a lot of data, I have a hard time solving it with CPLEX.
My advisor told me that I needed to use CPLEX. I wasn't using a different solution beforehand.
The setup was easy.
We also use Gurobi, which is CPLEX's competitor. One reason why I use Gurobi more is because I use Python and it is easy to call Gurobi in Python.
If I were to advise someone who was looking to implement CPLEX I would say that they should learn about the input data and how to call it from other languages. OPL is the language that CPLEX uses, I think. I had a hard time using that.
I try to use CPLEX for the supply chain optimization problem.
I think that the most valuable feature is the integer program. It is powerful.
I haven’t used CPLEX for many years and I just recently used it again. I needed to familiarize myself with it again, refresh my knowledge of the interface and the new system. I like the new system better. It is more convenient and has a good interface.
I like that it is fast, though this depends on different problems. To my knowledge, it is valuable for the integer and mixed-integer linear. Not for nonlinear, though. For nonlinear I would recommend other tools.
I would like see a more user-friendly interface, especially for new students. I would also like to have more options to choose from. Different problems have different options. We already have a different option in a CPLEX setting for the different search direction but I expect that we can combine with some heuristic matter, have that together.
For example, we might solve some stage at the beginning, find some infeasible and look at the bound. Then I can go to the feasible bound heuristic to find a good solution quickly.
The instillation of the software was straightforward.
It is pretty stable. It has not crashed this time, though this did happen with the older version when I worked on a large problem.
I have not recently used CPLEX for large-scale problems, but about five years ago I used it for a very large-scale problem. That problem was too complex. When I would read it and do the solving, I could not get the feasible solution for the long period.
Before CPLEX I used to use GAMS and I still use both of them. GAMS has different links with different solvers. The solvers are developed by different companies but the functions are different. So the solver that I will choose to use depends on the problem.
CPLEX is a professional and very capable tool for large-scale integer and mixed integer, even linear.
I always recommend this software to my students, both undergraduate and grad students.
I need to do searches, solve mathematical modeling and obtain exact solutions, so I need to use CPLEX to obtain the exact solutions. I usually use CPLEX, but sometimes I use metaheuristics, and I use CPLEX to compare with metaheuristics. It is very convenient and very easy for me.
It performs very well but because I'm not very familiar with it I still need to learn more about it.
It is easy to use compared to other software, like Lingo.
I would like for them to offer a free version. We have to use the version that we got from my teacher but sometimes it doesn't work.
I would also like for there to be more tutorials explaining how to improve solutions. Sometimes I do not know how to improve my solution, so I need a tutorial for that.
Mostly it is good but sometimes it is very slow. My program, my problem, is a little bigger and my scale is a little larger.
I have not needed to use technical support. I got CPLEX from my teacher and if I have any problems I go to him for help.
I would certainly recommend CPLEX to my colleagues or friends at the university who are doing algorithms. I actually did advise my colleague to use it, because he is also doing the integer program.
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.
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.
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.
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.
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.
I was not using any solutions previously. I ended up working on CPLEX because my adviser told me to.
It was very straightforward.
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.
I used CPLEX for optimization while working on my PhD thesis, as well as for writing papers. As to how it performed, sometimes CPLEX solved the cases better than me and sometimes I solved the cases better than CPLEX.
It is easy to use and has very large application areas for optimization problems for networks in teacher optimizations. There is also a lot of documentation available online, which is very helpful when I'm searching for information on how to do something in CPLEX. There is a very large community of people that use CPLEX.
I consider CPLEX to be a state-of-the-art tool and I can't compare the power of my algorithms with CPLEX and the impact that it has had on my PhD thesis.
Actually, when CPLEX adds something it becomes more difficult for me to publish a paper. Maybe CPLEX can sleep a little bit and not make any improvements for a while.
It is stable, though, in one case I noticed that the dual values of the decision variables were not in the correct order. But I managed to find the correct way of presenting that situation and I selected it.
I did write to IBM once about an issue related to cogeneration. They responded very quickly and were able to help me.
No, I didn't try any other programs but I heard about them from my friends who are using these kind of optimization programs.
When choosing to use CPLEX it was important to me that there were a lot of other people who were also using it and knew about it, which is how I knew that it is a good program.
I would certainly recommend CPLEX to a friend or a colleague.
I've used it for optimization of linear models and, from what I've seen, it varies the speed compared to other libraries.
The Speed. When you do large problems, that's when you see that it's fast. With other tools, solving large problems can take way longer. It is better to have the resource faster.
There are also many APIs to connect to it.
I would like to see something more for problems that are not linear. That is what I am looking for. Conic problems, and stuff like that. Though maybe CPLEX has it already and I haven't seen it.
From what I've experienced, it doesn't crash that much. There have been a few crashes but compared to the other tools, it is better.
I haven't used the technical support.
When I scaled the problem and it didn't solve as soon as I did it, it was taking too long, people told me, "Try CPLEX."
When it comes to choosing a vendor I look for people who have had a similar problem as me and I ask them how they solved it. If they tell me CPLEX then I go to CPLEX, and if they tell me something else then I go there.
I have only used CPLEX for a few specific cases so I feel it would be unfair to evaluate it without really seeings all of the things that it is capable of doing. But I would recommend it to others who are considering implementing CPLEX. There is a lot of material online of people solving problems with CPLEX, which is also super helpful.

CPLEX comes with APIs in C, C++, Python, Java and C#, as well as a connector for MATLAB.