This question comes from the perspective of an MSc student new to both OR and programming OR problems in a MIP framework. My research has led me down this path of needing to program an optimization model using CPLEX and I am not entirely sure whether I should invest my time into learning the MATLAB code with a CPLEX extension or investing my time in learning the CPLEX ILOG Optimization Studio.

I would be interested to know if people have insights into the relevant and relative advantages and disadvantages in pursuing either option for somebody new to this area of study. Again, consider that this question comes from the perspective of someone rather new to the field, so the finer detailed differences might or might not be totally relevant to my context.

  • 2
    $\begingroup$ So you have nit used MATLAB before? The largest benefit of using CPLEX under MATLAB vs. another interface may be if you already use MATLAB and perhaps will do pre- and post-processing of CPLEX problems in MATLAB. There are also two different CPLEX interfaces for MATLAB. 1) "CPLEX for MATLAB Toolbox" and 2) Cplex Class API (for MJATLAB) ibm.com/support/knowledgecenter/es/SSSA5P_12.6.2/… . The first might be a little simpler to use, the 2nd provides acces to more of CPLEX's capabilities. $\endgroup$ Jun 18 '19 at 16:21
  • $\begingroup$ Link for CPLEX for MATLAB Toolbox ibm.com/support/knowledgecenter/SSSA5P_12.5.0/… $\endgroup$ Jun 18 '19 at 16:22
  • $\begingroup$ If you can, do not use MATLAB put Python instead. You will save yourself a lot of headache and the language itself is much nicer. However, installing CPLEX in Python is annoying, Xpress or Gurobi are much, much (!) simpler. $\endgroup$
    – Richard
    Jun 20 '19 at 7:02

Since you are asking from a MSc student's point of view and actually need to use CPLEX, I assume that your research mainly focuses on the applications of OR. Therefore, two things are required to be considered.

  • How difficult it is to implement your model?
  • What is the possible solving approach for this model?

My suggestion:

If your research problem can not be easily implemented or requires some extra fine-tuning solving techniques, it would be better to model it with other programming languages and solve it by calling CPLEX Solver. Calling CPLEX Solver from other programs is harder to learn. However, it gives you more controls in both solving and modeling part of your research.

If you are just working on easy to implement models and solving procedure does not require extra techniques, CPLEX Studio is not a bad choice. It has a relatively nice user interface and not that hard to learn.

  • $\begingroup$ I believe that my research problem will not be easy to implement. I say this because I am intending on incorporating the entire problem into a cellular automaton framework to account for the spatial component of the problem. So that added layer of complexity will probably point me towards using MatLab and calling the CPLEX Solver $\endgroup$ Jun 19 '19 at 14:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.