I use lp_solve (from R) currently to solve reasonably large (but sparse) LPs/IPs for planning/optimization and other Operations Research flavored problems that arise at work.

Broadly speaking, it works well, and i like working in R, but i know that the models we consider will need to evolve at least to being quadratic in nature (with the possibility of being non-convex in general).

I'd like to know what the "industry standard" is in this space: should i not look beyond the AMPL/CPLEX combination (and invest some time there) ?

  • Additional questions: Which of GAMS/AMPL is a better choice? (not proficient in either, but know what i need functionally: sparse matrix support for example)
  • For really large LPs/QPs/IPs, how well does CPLEX scale across clusters? How much of a curve is there to be able to setup/run such a cluster?

** Thanks for the useful suggestions: i've had something to take away from all the responses, not sure which one to select as "correct"?

asked 01 Dec '14, 16:29

jumblees's gravatar image

accept rate: 0%

edited 03 Dec '14, 18:59

(Disclaimer: I work at SAS. But, I am in SAS/OR R&D, not in sales. The advice below is my own.)

If your current environment is R and you are looking for an upgrade in performance and functionality, a natural option you might want to consider is SAS and SAS/OR. SAS offers a suite of competitive solvers. Not only LP, MIP, and NLP, but also Constraint Programming, Derivative-Free Optimization with Metaheurstics (which is grid-enabled), Network Algorithms, and a Decomposition LP and MIP solver (which is also grid-enabled). You can access most solvers using a modeling language similar to GAMS or AMPL (OPTMODEL, the product I support), and a few of the solvers using a matrix language similar to R and Matlab (IML). And you can integrate R directly into SAS using IML, so your current investment is protected.

Plus, you can benefit from a well-supported, stable, and comprehensive analytics environment, including web and pc based text editors, visualization tools, middleware, and packages for all the advanced analytics tasks beyond optimization you need to get work done. The documentation is comprehensive, there is training, and there is technical support at all levels, from open forums all the way to advanced analytics consulting services.


answered 02 Dec '14, 22:10

Leo's gravatar image

accept rate: 8%

Thank you for the detailed comment: one other group here does use SAS, and i will need to look into licenses etc. Also, not sure what the learning curve is for a SAS newbie: i expect it will be steep.

(03 Dec '14, 18:54) jumblees

You're welcome. Learning SAS has become much easier. You can start with the free educational edition here: http://www.sas.com/en_us/software/university-edition.html. Unfortunately SAS/OR is not included in the free bundle.

(04 Dec '14, 00:57) Leo

(Disclaimer: I work for IBM, I am the technical lead for IBM optimization products, including CPLEX and OPL)

You can call CPLEX directly from R using packages such as cplexAPI and Rcplex. However, using a higher level modeling language such as AMPL, GAMS, AIMMS or OPL is much more productive. Regarding scalability, CPLEX have several way to scale to clusters or grid. We provide CPLEX Enterprise Server to implement a client server architecture on a cluster. We also provide some grid enabled version of our MIP solver since last year. Our experience is that some MIP models scale very well with this distributed algorithm while others won't benefit from it at all. Best is to try. Please contact me if you want to test CPLEX (j "dash" f "dot" puget "at" fr "dot" ibm "dot" com )


answered 03 Dec '14, 10:03

jfpuget's gravatar image

accept rate: 8%

edited 03 Dec '14, 11:24

Thanks for the insight and the contact: i will check internally and get in touch regarding a test version

(03 Dec '14, 18:57) jumblees

My pleasure. I forgot to mention that you can start with our free CPLEX trial. Instructions for download available at https://www.ibm.com/developerworks/community/blogs/jfp/entry/free_cplex_trials?lang=en No need to talk to an IBM salesperson for that ;)

(03 Dec '14, 22:56) jfpuget

Both AMPL and GAMS are a big improvement in dealing with practical large optimization problems compared to R. You can't go wrong with either of them. I usually try to stay away from very fancy hardware: if a model can not be solved on a reasonable machine (i.e. my laptop) it is often better to rework the problem a bit.


answered 02 Dec '14, 14:46

erwin's gravatar image

accept rate: 10%

Thanks! I have been thinking along the same lines, and hope to get away with being smarter on the modeling side, and may make that work.

(03 Dec '14, 18:55) jumblees

answered 03 Dec '14, 11:08

Chris%20Kuip's gravatar image

Chris Kuip
accept rate: 0%

This is very useful , thanks for the pointer.

(03 Dec '14, 18:57) jumblees
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: 01 Dec '14, 16:29

Seen: 4,817 times

Last updated: 04 Dec '14, 00:57

OR-Exchange! Your site for questions, answers, and announcements about operations research.