Welcome to the OR-Exchange, your site for questions and answers in operations research.

3

1

I am solving big optimization models (more than 100k variables) with the academic version of CPLEX but I'd like to see if I can find an open source alternative, I solve mixed integer problems (MILP) and CPLEX works great but it is very expensive if I graduate (which will hopefully happen someday in the future). so I really need to find an alternative or start writing my own optimization library (which will be painful)

Any suggestion/insight would be much appreciated

Any feedback on GLPK or lp_solve?

flag

6 Answers

4

Mittlemann's benchmarks (http://plato.asu.edu/ftp/milpf.html) provide a nice list of open source solvers along with head to head comparison of performance out of the box. Each of those can also be tweaked in several different ways. Your mileage may vary. Problems of size you are talking about will probably require lot of tweaking.

link|flag
1 
You may also try them without downloading/compiling at the NEOS solver (neos.mcs.anl.gov/neos/solvers/index.html) page to get some idea how they perform for the problem you wish to solve. – anonymous Nov 21 at 5:56
Those links were great. Thanks for sharing. It is always hard to move away from CPLEX :) – Mark Nov 21 at 16:10
2

Definitely check out COIN-OR http://www.coin-or.org . http://www.coin-or.org/projects/ lists many of the relevant codes including CLP (the linear programming solver) and BCP (Branch, Cut, and Price) and CBC (Branch and Cut).

Don't start writing an optimization library from scratch! Build off of COIN.

link|flag
Thanks! Is it possible to include COIN-OR solvers in a commercial software and sell it? I mean what license does it use? Not that I want to sell an MIP software, I am just wondering about the licensing of COIN-OR components – Mark Nov 18 at 20:57
1 
Check out individual packages, but generally yes since most are EPL/CPL : en.wikipedia.org/wiki/Eclipse_Public_License – Michael Trick Nov 19 at 14:19
2

if u are working within an academic environment, check out Gurobi's new and free (i think) academic licensing innovation. Otherwise, COIN-OR is good, even for commercial use and is risk-free, unless you or your company expect to run into any patenting disputes with IBM on related or unrelated issues :-)

The other open-source solvers are available under *GPL license and you have to tread carefully around them, but they may be ok for your internal research.

Caution: I'm just an OR guy. Consult your friendly neighborhood lawyer or law-school grad before using open-source stuff for commercial use

link|flag
2

Regarding the licensing of COIN-OR start by reading this post by Mike Trick

link|flag
1

why not try SCIP?

link|flag
1

Here is my feedback on GLPK. I believe GLPK can be scalable dependent on the PC/Server platform it is run on. If you have enough memory and processing power I believe you can do a fairly large dataset of variables and constraints. I would suggest running it on a Linux machine with a a multi-core processor and at least 4GB memory.

I have such machine and I can try it if you want to give me a dataset. You can contact me through my blog at IEOR Tools.

For more information you might want to try the GLPK mailing list and contact the maintainer Andrew M. http://www.gnu.org/software/glpk/

From the mailing list archive this my give you an answer for GLPK.

http://lists.gnu.org/archive/html/help-glpk/2008-03/msg00052.html

link|flag
Thanks for the offer, I have switched to Gurobi lately. Have not started using GLPK yet but will do it soon. I am wondering though is it possible to use GLPK as a standalone application or do I need to install it? I mean for Gurobi I can simply throw Gurobi.exe and ampl.exe in the same folder and start calling them from excel. I can put everything on a jump drive and move them to wherever I want. I am wondering if it is possible with GLPK? – Mark Apr 9 at 0:01
1 
Yes. GLPK is a software kit. The binary optimization solver is glpsol (or glpsol.exe for windows). As long as you have a pointer to that binary you can solve problems. – larrydag Apr 9 at 15:33
Thanks Larry, I downloaded glpsol.exe but I was not able to call it from AMPL (commercial) do you, by any chance, have experiences in calling glpsol from AMPL? I use option solve glpsol got an error in AMPL. My guess is that glpsol does not read AMPL files. Is that right? – Mark Apr 9 at 20:44
1 
you would use glpsol.exe from a command line in Windows(cmd.exe). > glpsol.exe --model example.txt --output results.txt This assumes example.txt is in a GNU MathProg or GMPL. GMPL is a subset of AMPL so AMPL model should work. You can leave out the --output results.txt and it will print to the screen. – larrydag Apr 9 at 21:01
Thanks. I called the model and data file from within glpsol. It brings up an error in my data file. I need to find the error in that file. Thanks a lot for the help. I am very excited to see the results. – Mark Apr 9 at 22:53
show 2 more comments

Your Answer

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