6
5

Please post an answer that is your favorite solver. If your favorite solver is already listed vote it up. Examples include CPLEX, Gurobi, GLPK, Symphony, lpsolve, Excel Solver, etc...

asked 15 Apr '10, 12:55

larrydag%201's gravatar image

larrydag 1 ♦
3.1k1726
accept rate: 9%

You might want to specify type of problem (LP/MILP, NLP, nonconvex global optimum, ...)?

(15 Apr '10, 13:14) Paul Rubin ♦

Agreed with Paul that the question is vague. This could become a popularity contest, dominated by vocal supporters of one solver or another (ex: employees at one vendor, or people who have contributed to the open source solver). As a longtime employee in the solver industry, I'm refraining from posting my employer (Gurobi) just to win votes.

(31 Jan '11, 18:53) Greg Glockner

12next »

CPLEX (which is less than 15 characters, so I'm padding it)

link

answered 15 Apr '10, 13:13

Paul%20Rubin's gravatar image

Paul Rubin ♦
10.5k412
accept rate: 17%

1

Good idea. We might want to give a brief description of the solver. Proprietary/Open Source, Maintainer, Company, Years of Existence and what not.

(15 Apr '10, 13:22) larrydag 1 ♦

Makes sense. CPLEX is commercial (but there's a free student version limited to 500 variables / 500 constraints, and the full version is free to academics who register). It's currently owned by IBM (who bought ILOG) (who bought CPLEX Inc.). Years of existence = 20 (25?) plus.

(17 Apr '10, 20:08) Paul Rubin ♦

GLPK

Fast, easy free and open source(GPL) linear,mixed integer, branch & cut modeling system http://www.gnu.org/software/glpk/

From the site...

The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library.

GLPK supports the GNU MathProg modeling language, which is a subset of the AMPL language.

The GLPK package includes the following main components:

* primal and dual simplex methods
* primal-dual interior-point method
* branch-and-cut method
* translator for GNU MathProg
* application program interface (API)
* stand-alone LP/MIP solver 
link

answered 16 Apr '10, 13:56

larrydag%201's gravatar image

larrydag 1 ♦
3.1k1726
accept rate: 9%

Used to work with CPLEX a lot now I use Gurobi instead (usually with AMPL). Trying to switch to GLPK but still no luck in converting my AMPL models.

For nonlinear models depending on the level of complexity I either use Matlab or MINOS.

For portfolio optimization I use either R or Cplex (it is easy to model cone programming in Cplex)

link

answered 15 Apr '10, 18:53

Mark's gravatar image

Mark ♦
3.6k941
accept rate: 10%

Comet (downloadable at www.dynadec.com)

link

answered 15 Apr '10, 14:08

pschaus's gravatar image

pschaus
991
accept rate: 0%

I've also had good luck with XPRESS-MP (commercial, current owner = FICO, been around a while).

link

answered 17 Apr '10, 20:09

Paul%20Rubin's gravatar image

Paul Rubin ♦
10.5k412
accept rate: 17%

gurobi works really well on big problems.

link

answered 06 Nov '10, 18:53

Jerry%20Shaw's gravatar image

Jerry Shaw
1312
accept rate: 0%

I'd vote for Gurobi -- it's really fast on my MILPs. The latest version (4.0) just added support for QPs and MIQPs.

(07 Nov '10, 18:04) Gilead ♦

is it really true that nobody posted SCIP here?

link

answered 11 Jan '12, 13:11

Marco%20Luebbecke's gravatar image

Marco Luebbecke ♦
2.5k314
accept rate: 16%

I have worked with lpsolve and Mathematica for linear programming, and like both. lpsolve seems to have a more open community, however.

link

answered 15 Apr '10, 13:37

Karsten%20W.'s gravatar image

Karsten W.
2037
accept rate: 0%

I've found SAS/OR to be very powerful and flexible. Here is a link to the documentation page about the math programming modelling language.

http://support.sas.com/documentation/cdl/en/ormpug/59679/HTML/default/optmodel.htm

link

answered 19 Apr '10, 11:13

DC%20Woods's gravatar image

DC Woods ♦
4.0k838
accept rate: 5%

For large-scale Nonlinear Programs (NLPs), I would have to vote IPOPT (free). I have used almost every single commercial NLP solver available, and IPOPT just consistently outperforms all of them on the kinds of problems I'm solving.

http://www.coin-or.org/Ipopt/

Pros:

  • Free
  • Modular support for different sparse-structured linear algebra packages (very important for really large scale problems)
  • Generally fast convergence, and converges even with somewhat poor initial guesses. Ill-conditioned problems are also handled fairly well.
  • Exploits 2nd-order and sparsity information. Has a quasi-newton mode, but automatic differentiation works much better.
  • Filter line search.
  • Faster and more robust than most other NLP solvers for a wider class of problems (see Dolan-More benchmark diagrams on test problems).
  • Works with various modeling languages like AMPL, GAMS; and also with MATLAB, C++, Python (limited), etc.
  • Code is fairly mature, and many organizations are adopting it in-house or even bundling it with their software.

Cons:

  • Being an interior-point method, the warm-starting is temperamental -- IPMs don't warm-start well.
  • Does not work well when the no. of constraints exceeds the no. of variables, even if some of the constraints are redundant. GRG methods tend to work better in such situations.
  • The dominating performance bottleneck is the linear algebra, and the default free linear solver MUMPS isn't the fastest out there. There are other high performance linear solvers like PARDISO and MA57 which are free for academic use, but have to be licensed for commercial use.
link

answered 07 Nov '10, 17:56

Gilead's gravatar image

Gilead ♦
2.0k39
accept rate: 17%

edited 07 Nov '10, 18:02

Your answer
toggle preview

Follow this question

By Email:

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

By RSS:

Answers

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

Tags:

×116
×36
×33

Asked: 15 Apr '10, 12:55

Seen: 5,795 times

Last updated: 11 Jan '12, 16:38

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