We just raised a $30M Series A: Read our story

IBM ILOG CPLEX Optimization Studio OverviewUNIXBusinessApplication

What is IBM ILOG CPLEX Optimization Studio?

IBM ILOG CPLEX Optimization Studio (COS) is an enterprise analytical decision support toolkit. It enables rapid development and deployment of decision optimization models using mathematical and constraint programming. COS combines a fully featured integrated development environment (IDE) that supports Optimization Programming Language (OPL) and the high-performance CPLEX and CP Optimizer solvers. COS enables you to optimize your business decisions, develop and deploy optimization models quickly, and create real-world applications that can significantly improve business outcomes.

IBM ILOG CPLEX Optimization Studio is also known as IBM ILOG CPLEX.

IBM ILOG CPLEX Optimization Studio Customers

GreenCom Networks, FleetPride, West Point

IBM ILOG CPLEX Optimization Studio Video

Archived IBM ILOG CPLEX Optimization Studio Reviews (more than two years old)

Filter by:
Filter Reviews
Industry
Loading...
Filter Unavailable
Company Size
Loading...
Filter Unavailable
Job Level
Loading...
Filter Unavailable
Rating
Loading...
Filter Unavailable
Considered
Loading...
Filter Unavailable
Order by:
Loading...
  • Date
  • Highest Rating
  • Lowest Rating
  • Review Length
Search:
Showingreviews based on the current filters. Reset all filters
it_user766584
Research Assistant
Vendor
I can click on the results and see how they are coming out

What is our primary use case?

I used CPLEX to solve a linear programming problem, where there was a compartment and there were a lot of containers in that compartment, and I had to optimize the space in that compartment to fit in different size containers. 

I am a data science guy and I'm doing optimization, so CPLEX  helps me when I am not able to solve a problem using machine learning data science principles, and I can solve it using CPLEX. CPLEX is a tool that offers something which cannot be done by statistics or machine learning tools. 

The performance was good, but I can't compare it with any other tools, because this is the only tool that I have used.

What is most valuable?

I really like that I can see the results properly. I can click on the results and then look at them to tell how the results are coming out.

What needs improvement?

In future versions, I would like to see them include different kinds of optimization problem techniques. The performance could also be faster.

One more thing that I would like to see added is the ability to find out how much time other solvers take. I know that CPLEX is one of the solvers, but it would be very helpful to be able to figure out what I need in order to optimize my quota in the runtime of a particular problem.

What do I think about the stability of the solution?

I have not experienced any issues with stability but I have heard from my friends that there are other tools which can perform better than CPLEX sometimes, in terms of computation. 

What do I think about the scalability of the solution?

CPLEX is limited to the linear programming and mixed integer programming. It is not extended to nonlinear programming, so I think the scalability can be an issue in that area. Though, most of the programs in the current industry are having linear programming problems, so I think CPLEX has a good future.

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

CPLEX was the first optimization tool that I have used. I started using CPLEX when a supervisor in my previous company told me to try it out.

How was the initial setup?

The initial setup was straightforward. I did not face any issues with the installation.

What other advice do I have?

When selecting a vendor I would check if the performance is faster, the results are more accurate, and the GUI is more user-friendly than the competition.

I might recommend CPLEX to a colleague, depending on the problems that they are working on. If a university is seeking challenging problems in an area which is heuristic optimization or non-linear optimization, I do not think that CPLEX is the best software to do that. 

In terms of linear programming, CPLEX should be the first choice.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766614
Post Doctorate Research Fellow at a healthcare company with 10,001+ employees
Real User
Facilitates visualizing your prediction and helps you understand the problem better

What is our primary use case?

I just use it for solving mixed integer program models.

It performs well, depending on the problem structure. Some problems have a lot less structure so they can be solved very fast, even when they are very large scale problems. But it's tricky. I don't know why, but sometimes it works very fast and other times I cannot solve it in a reasonable amount of time.

How has it helped my organization?

It helps me a lot. CPLEX is a tool that can kind of visualize your prediction and help you understand the problem better. For example, for every SOS you can just format a model, which could be an inner model or mixed integer model, that can be solved by CPLEX. You can then see the results to verify your idea, or you can modify your idea.

What needs improvement?

I guess I would like to see it become faster and more user-friendly.

I think CPLEX is very flexible for different languages so maybe they can provide more detailed documentation on how to format a model in CPLEX, and how to output the solutions. It could provide some examples, some specific standard examples, which I think would be very helpful for beginners.

I would also like to be able to receive feedback on why sometimes a problem gets solved easily and why sometimes it does not. If we had more insights into the problem structures we would know if we need to use the back end for some problems, or if we need to use other software or develop our own algorithms.

What do I think about the stability of the solution?

For some types of problems the performance is stable. There are other algorithms, like MetaRisk and generic algorithms, that perform much worse than CPLEX. Though if I were able to get some insights as to what type of problems perform best on CPLEX I would be able to use it more efficiently.

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

When I was an undergrad I used Nengo but I heard about CPLEX from my teacher in university, as well as from from friends who recommended it. I also used Gurobi. 

How was the initial setup?

The installation was straightforward. 

What other advice do I have?

If I had a colleague who was considering CPLEX I would tell them to just use it. It is very well-known and has a good reputation. So when you have a model that you solve with CPLEX, other people will be more convinced by your results. 

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766608
Assistant Professor
Real User
Has the ability to do high-level modeling and also go all the way to the engine extensions

What is our primary use case?

I'm a professor in optimization. I do a lot of VIC routing scheduling problems and for those particular cases I use CPLEX and CP Optimizer a lot.

It performs really well. Sometimes you find bugs in there but the support team is good at getting them fixed.

What is most valuable?

I would say its extensibility, and the ability to do both high-level modeling and also go all the way to the engine extensions.

How has it helped my organization?

Whenever you do optimization, having a good CP solver or integer programming solver is a necessity. So CPLEX is a tool that I cannot do without.

What needs improvement?

What I would love to see is better accessibility of the engine extensions. Currently you can do really low-level stuff, and it's great, but you can only do it in C or C++. Whereas, sometimes the application requires another programming language, like Java or Python, and then you simply can't reach the engine extensions from either the Java or Python interface, and that is really a pity.

It would be really nice if you could write your extension in C++ but edit, or use it, through Java. That would be an improvement. But just being able to do everything completely from Java or Python would be a major improvement, and is probably something that CPLEX's competitors already have. So that is something I would really love to see in CPLEX too.

I am also involved in the open-source community and CPLEX is, unfortunately, not particularly nice because it is very expensive to buy. And I understand that obviously you need to earn money with CPLEX, so charging corporate members is necessary. But it would be nice if academics and people in the open-source community could also have access to it, or to a limited version of CPLEX.   

What do I think about the stability of the solution?

The stability is reasonably good. Every single version has some bug, which I somehow always encounter. Some of these issues are really severe and literally crash the engine. Very rarely, I find issues which actually impact the accuracy of the results. That has happened twice so far. In general, it is okay.

What do I think about the scalability of the solution?

I find scalability to be more of an issue that comes from the modeling. If it doesn't scale, then it is usually the problem of the modeler. Some problems are just too big to give as a whole piece to solve and expect a reasonable answer in a reasonable amount of time.

How are customer service and technical support?

I do not use technical support because that is for enterprise users but as an academic I do have direct connections to the development team. I find that the support from the development team is superb. I have frequently interacted with people from the team and they usually fix my bug within the next version. Sometimes I get access to an early developer version if it is a really crucial issue.

I used to frequently interact on the IBM website but it was a major pain. It is absolutely a garbage website. It takes effort to find, the form is really bad, the markup is really bad - they should just switch to any other platform and make it searchable. There is a search function but it is really bad. 

I download my software through the academic initiative, and obviously I love the initiative, but finding the initiative is an absolutely horrible experience too. Every year or so, there is a new version of CPLEX or CP Optimizer and I think, "Oh that's great, I would love to upgrade." Then I need to search, I actually need to search on Google, to find the link to the academic catalogs and then download it. It is really a painful experience. Try finding anything on the IBM website, and that doesn't work either. So the website is one of the major problems at the moment. 

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

I started using CPLEX because I needed access to an integer programming solver and the CP solver. I wasn't using another product beforehand.

How was the initial setup?

The instillation is super easy. You just download it and run the executable in either Linux or Windows, and three questions later it is done. 

The only thing that is hard is if you connect directly to CPLEX through Java you will have to deal with classpath information and linking, which is not explained well. I frequently see people asking questions on websites like Stack Overflow or on the IBM forms about how to do this. CP is significantly easier, but it is still hard.

What other advice do I have?

When researching a product I consider what the quality, the support, and the documentation are like. The documentation for CPLEX, specifically the accessibility and where to find the documentation, is something that should be majorly improved.

If you are interested in CPLEX I recommend that after you install it, look over the examples that you get. There are some old, very hidden tutorials on how to do this. At some point, somebody from IBM wrote a manual on how to do scheduling in CP. That manual was very hard to find but if you can find it, it is a very valuable source of information.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766596
Scientist at a tech services company with 10,001+ employees
Real User
I use it for building mathematical optimization models for scheduling

What is our primary use case?

I use it for building mathematical optimization models for scheduling and assignment kind of models.

It has performed very well.

What is most valuable?

Definitely the speed of the response time. But, I get to also play a lot of variables, also configuration parameters, which CPLEX uses. I think these two features are important. 

A third feature that I find to  be very valuable is the Concert library. I am used to using CPLEX with the old fashioned C++ library, where I have very easily integrated with the C++ framework. I can now also use this Concert library in the same way that I can use the CP, Constant Propagation, as well as CPLEX, which is the optimization. So, having both of the technologies in the same library is a very important feature to me, maybe the most important feature.

How has it helped my organization?

I have used it to solve models for our clients, so all the usual mathematical optimization; the benefits it has given me is in terms of business.

What needs improvement?

One area in which I would like to see improvements made is in parallelization. Right now I can control the number of trials in which it can run, but maybe they can add more parallelization.

What do I think about the stability of the solution?

The stability is good.

What do I think about the scalability of the solution?

I sometimes have an issue with the scalability but until now it has been reasonable. 

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

We use CPLEX because it is the industry standard. Before CPLEX I used open source software and LINDO. 

As a consultant, I need to consider various factors such as cost, performance and client preferences. Taking in these factors, I decided to go with CPLEX. It is the best.

How was the initial setup?

The instillation was pretty straightforward. 

What other advice do I have?

I would definitely recommend CPLEX to my colleagues.

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.
WL
Graduate Research Assistant
Real User
Leaderboard
Compared to other platforms, coding for CPLEX is easy and the performance is good

What is our primary use case?

I use CPLEX to solve integer programming formulations. I think the performance is good. We can use it solve many problems, and it did. 

What is most valuable?

I think we can code quickly. I used C++ before, it would take me a long time to code in the platform. But I can really code in CPLEX easily, and I can solve problems quickly.

It's easy to read, it's easy to code.

How has it helped my organization?

Not me, but my group members published high-quality papers relying on CPLEX.

We really use CPLEX to get the exact optimal solutions. But for other algorithms, we can just get approximately optimal results.

What do I think about the stability of the solution?

Compared with C++, which I used before, for larger transportation networks, CPLEX will take a longer time. For the shorter ones, it's very quick.

How is customer service and technical support?

I didn't use tech support.

How was the initial setup?

I think it is easy to do.

What other advice do I have?

If I had a friend at another university and they had the same problem as me or a similar formulation as me, just integer programming, if CPLEX can be used to solve those problems, I would introduce CPLEX to them.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766620
Graduate Teaching Assistant
Vendor
Gives you control of the parameters and the sets, making it very flexible

What is our primary use case?

My primary use case was for a class that I've taken in integer programming where it required us to implement some basic models in CPLEX. It performed really well. It was a little bit difficult to get at the beginning. What was difficult was setting the sets into it, sets of variables.

What is most valuable?

The best thing is that it offers, compared to other programs that I've used - LINDO and LINGO - it gives you much control on the parameters and the sets, so you can do a lot more with CPLEX.

How has it helped my organization?

It helped me because it was just easier to implement complex models. That's it. But if it was a basic model, then I would use another program. It's not worth the complexity.

What needs improvement?

The layout of the program, the way the windows appear. It's kind of confusing at the beginning to get a hold on.

What do I think about the stability of the solution?

Great. It never crashed. No lag time.

What do I think about the scalability of the solution?

I didn't implement any complex models in it, but I feel if I were to do that, I would use CPLEX for sure.

How are customer service and technical support?

I didn't use it, except at the beginning. Licensing stuff. That was OK.

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

LINDO and LINGO.

How was the initial setup?

I wasn't involved in setting it up.

What other advice do I have?

From my experience, it's the best out there for complex models.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
YZ
Phd Student at a university with 5,001-10,000 employees
Real User
Leaderboard
Learning the languages that interface with CPLEX allows you to customize it

What is our primary use case?

This is for research, I try to develop some optimization models. I solve the problem, I write in Python, and then interface with the CPLEX package. The performance has been pretty good. I think the speed is pretty fast, although I think the interface with Python is not as friendly, because the way that you put in the data is not that intuitive.

What is most valuable?

Usually it solves problems really fast, so that's what's most important to me.

How has it helped my organization?

It definitely helps because it's a solver, I can just plug in and use. It's a tool that I have to use, basically.

What needs improvement?

Maybe they already have it, but I would love to work with something with a direct GUI, instead of interfacing with Python. But my experience is only interfacing with Python.

What do I think about the stability of the solution?

I think it's pretty stable.

What do I think about the scalability of the solution?

I haven't tried really, really big problems, so for your everyday problem it's fine.

But I did have some problems with error messages where, for example, it's infeasible, but instead of telling you it's infeasible it will give you something else.

How are customer service and technical support?

I haven't used it.

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

I also use Gurobi sometimes. I think the university picked CPLEX just because we have a license.

How was the initial setup?

I wasn't involved. It's all set up on the school server, so I just call it.

What other advice do I have?

Learn how to use languages that interface with CPLEX, because then you can get very customized.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766626
Phd Student at University Of Florida
Vendor
Easy to write code and interpret the results; performance is good

What is our primary use case?

To solve LPN-IP. Performance was pretty good. I had some problems with solving one problem, but the problem was because of my formulation. Once I added it, it worked very well.

What is most valuable?

I have experience in Xpress and Gurobi, also. It is easy to write a code in CPLEX. That's a valuable thing.

How has it helped my organization?

What I'm doing is finding some clusters in a network. I'll build a model and apply  it to CPLEX and find some clusters. I can interpret some useful meanings about that.

What needs improvement?

What I'm looking for is actually nonlinear programming. I don't think CPLEX has that. There are some nonlinear program solvers in open source but they don't work well. So if some major commercial solver corporation has that option, it could be very useful.

What do I think about the stability of the solution?

Stability is fine. It's reasonable. Most of the problems are getting slower if I increase the number of nodes or something, but it's a typical thing.

How are customer service and technical support?

I haven't used it.

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

Xpress and Gurobi. I'm not switching. It depends on the project. I can use all of them.

How was the initial setup?

I wasn't involved. Not in upgrades either. There is just  one size installed. I use it every time.

What other advice do I have?

I think CPLEX is the most familiar, other than Xpress and Gurobi. So, it is easy to recommend to others for general use. If they want some specific options or something then, I have to look for a manual.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766599
Associate Professor at Loyola University Chicago
Vendor
Easy to use, provides high quality solutions that make my algorithms run faster and better

What is our primary use case?

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.

What is most valuable?

The way you can interface with it from a programming perspective, the implementation, is very useful. And, just generally, its performance. 

How has it helped my organization?

CPLEX is fairly easy to use and it does provide very high quality solutions which make my algorithms run faster and better.

What do I think about the stability of the solution?

I have not had any issues with stability.

What do I think about the scalability of the solution?

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.

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

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.

How was the initial setup?

I have installed it on my own computer and it was easy.

What other advice do I have?

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.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766593
Graduate Research Assistant at University Of Tennessee Space Institute
Vendor
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 are 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 solution did I use previously and why did I switch?

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.
it_user766590
Graduate Research Assistant at a university with 5,001-10,000 employees
Vendor
Good at solving models and offers a variety of built-in solution methodologies

What is our primary use case?

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.

What is most valuable?

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.

What needs improvement?

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.

What do I think about the stability of the solution?

It is pretty stable. I have never had any crashes.

What do I think about the scalability of the solution?

If there is a lot of data, I have a hard time solving it with CPLEX.

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

My advisor told me that I needed to use CPLEX. I wasn't using a different solution beforehand.

How was the initial setup?

The setup was easy.

Which other solutions did I evaluate?

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.

What other advice do I have?

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.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
GZ
Professor
Real User
Leaderboard
The most valuable feature is the integer program; fast and powerful

What is our primary use case?

I try to use CPLEX for the supply chain optimization problem.

What is most valuable?

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.

What needs improvement?

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.

What was my experience with deployment of the solution?

The instillation of the software was straightforward.

What do I think about the stability of the solution?

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.

What do I think about the scalability of the solution?

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. 

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

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.

What other advice do I have?

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.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766581
Phd Student
Vendor
Helps me solve mathematical modeling and obtain exact solutions

What is our primary use case?

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.

What is most valuable?

It is easy to use compared to other software, like Lingo.

What needs improvement?

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.

What do I think about the stability of the solution?

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.

How is customer service and technical support?

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.

What other advice do I have?

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.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766572
Phd Candidate
Vendor
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.
it_user766569
Phd Student at Bogazici University
Vendor
It is easy to use and has large application areas for optimization problems

What is our primary use case?

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.

What is most valuable?

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.

How has it helped my organization?

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.

What needs improvement?

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.

What do I think about the stability of the solution?

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.

How are customer service and technical support?

I did write to IBM once about an issue related to cogeneration. They responded very quickly and were able to help me.

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

No, I didn't try any other programs but I heard about them from my friends who are using these kind of optimization programs.

What other advice do I have?

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.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766563
Assistant Professor at University Of Florida
Real User
When you do large problems, that's when you see that it's fast

What is our primary use case?

I've used it for optimization of linear models and, from what I've seen, it varies the speed compared to other libraries. 

What is most valuable?

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.

What needs improvement?

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.

What do I think about the stability of the solution?

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. 

How are customer service and technical support?

I haven't used the technical support.

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

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."

What other advice do I have?

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.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766629
Associate Professor at University of Miami - Miller School of Medicine
Vendor
I like that it can be called from many other applications and interfaces

What is our primary use case?

Optimization, mathematical modeling. It's been quite satisfactory so far. It's my choice application.

What is most valuable?

What I like most about CPLEX that it can be called or it can work with many other applications. You can use it with AMPL, which is an application that I use frequently. You can call it, as far as I know from C++ or C#, which I did in the past. Then there's the OPLs suite that you can also use. What I like the most about it is you can actually have access to CPLEX through different interfaces.

And the fact that it can effectively solve integer models, which, most of the time, that's what we deal with.

How has it helped my organization?

It would be great if it also could handle nonlinear models or non-linearity. That would be a great complement to the software.

What do I think about the stability of the solution?

I haven't had any negative experience with stability.

What do I think about the scalability of the solution?

I think that is okay, too. I don't have any complaints about that.

How are customer service and technical support?

I haven't used it.

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

In terms of solvers, yes. For example, for nonlinear, I used different software like Baron, Gurobi, and the like. But for integer programs, I've always been using CPLEX.

How was the initial setup?

I was involved in the procurement of it, but not the installation.

What other advice do I have?

If they're working on integer programming, mathematical, they're probably already aware of CPLEX. I can't imagine that someone is working on an integer program and has not heard about CPLEX.

It's pretty much a standard, but if I come across someone who has never heard of it or is not experienced with it, then obviously I would recommend it to them, to give it a shot.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766632
Research Assistant at a university with 5,001-10,000 employees
Real User
Facilitates constraint programming, a feature that is hard to find anywhere else

What is our primary use case?

We are modeling different problems such radiation therapy optimization using CPLEX.

It is great, actually. It is great for small to medium size problems. When it goes to larger problems it is slow, but it is still understandable, it is still manageable.

What is most valuable?

Simplicity, and it's very comprehensive, a lot of information is there. And because many people are using it you can find almost whatever your question is online.

Another feature that I like is that you can do a lot of constraint programming, which is a unique feature in CPLEX, you cannot do this almost anywhere else.

What needs improvement?

I think one important feature to improve would be the speed of solving the problems. I know that CPLEX and other companies are trying to build new models, a new solution base to enhance the speed of solving problems. I think that is important. 

Also, it would be helpful if you had a more straightforward base to connect CPLEX to other software - to Java, to Python, and others. Make a platform so that it can be connected it to simulation software. That would be a plus.

What do I think about the stability of the solution?

It is fine.

What do I think about the scalability of the solution?

No issues.

How are customer service and technical support?

I haven't used it.

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

When the problem is too large we use Gurobi at the same time. There are ways to connect these things. It's a little hard but it's still possible. So, Gurobi as a solver sometimes. 

I used AMPL but I feel that CPLEX is much bigger, much more professional and easier to use.

I was also using another software called Lindo, but that couldn't handle any big problems. I ended up searching for better solutions and I realized that our university has CPLEX, so I started using CPLEX and that was a life changing.

The constraint programming feature in CPLEX was something that pushed me as well. One of the problems I was solving should have been modeled as a constraint program model.

How was the initial setup?

Straightforward.

What other advice do I have?

Regarding advice to a colleague who is considering using CPLEX, I would say look into a very simple example. And there are handbooks available to guide you in CPLEX. Start to go through them and you can see how you can model it very easily, and you can get used to it, and then make more complex models.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
it_user766635
Graduate Student at a university with 10,001+ employees
Vendor
Easy-to-use interface and the speed have helped me in my integer research

What is our primary use case?

I use it primarily for my research. My research involves a lot of solving, a lot of integer programs and linear programs, and I primarily use CPLEX for doing that.

It has been very good for me. It has helped me a lot in my research.

What is most valuable?

I think the speed, compared to other competitive software, is one of the things that I really like about CPLEX.

It also provides a very easy to use interface.

How has it helped my organization?

There is not much coding overhead to solve multi-dimensional problems. It allows me to just focus on the actual problem and not coding.

What needs improvement?

I'm pretty happy with the current release because I don't use a lot of fancy features of CPLEX. I use it just if I have to solve a linear program or I have to solve an integer problem.

There are some very rare cases when some integer programming problems are performed better by Gurobi compared to CPLEX, but it happens very rarely.

What do I think about the stability of the solution?

I have not faced any issues with instability in CPLEX. My problem-size is not that big. I'm not trying to explain super large problems.

How are customer service and technical support?

I haven't used it.

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

Yes, I switched between Gurobi and CPLEX for a while there.

How was the initial setup?

I wasn't involved.

What other advice do I have?

I would strongly recommend using CPLEX as a problem solver. As I said earlier, in some cases - and I've heard this from some of my colleagues who have faced this problem - in somewhat large integer programming problems, Gurobi performs better in respects, but for me my problem size is not that big. For me they're both competitive to each other.

Disclosure: I am a real user, and this review is based on my own experience and opinions.