Páginas

domingo, 8 de febrero de 2015

A list of linear programming solvers

Here is a list of software available to solve linear programming (LP) models, focused on free software with an R implementation. Most of this software is also able to solve integer linear programming (ILP) and mixed integer linear programming (MILP) models. The list is intended to be extended and more extensively annotated in the future. Don't hesitate to comment below if you see how this list can be extended or enhanced.

lp_solve

lp_solve is a MILP solver, that runs in a large variety of languages. Models can be passed via input files, an API (application programming interface) or an IDE (integrated development environment). It is also embedded into R via the lp_solve and lp_solveAPI packages. The reference guide is quite exhaustive, and a good place to start using this software.

lp_solve reference guide
lp_solve FAQ (MIT)
R package lp_solve
R package lp_solveAPI

GLPK

GLPK stands for GNU Linear Programming Kit. It is a set of callable libraries written in C intended to solve large scale LP, ILP and MILP models. It is developed by Andrei Makhorin, of the Moscow Aviation Institute. GLPK contains an standalone solver, glpsol, that can be called from the command line. It can read models written in a variety of languages, among them CPLEX, convenient for relatively small problems and GNU MathProg, a standard based on the AMPL format adequate to write large models with regular structure.

GLPK can be used in R via the Rglpk package. For windows users is available GUSEK, an IDE running the GLPK libraries.

GLPK homepage
R package Rglpk
GUSEK IDE

SYMPHONY

Symphony is an open-source solver of MILP problems written in C. It is an initiative of the COIN-OR project. It can read problems written in MPS and MathProg formats. It is also implemented in R through the Rsymphony package.

SYMPHONY homepage
SYMPHONY user's manual
R package Rsymphony

linprog

A library for solving linear programming models, quite popular in MATLAB. There is also a R package available. This library does not solve ILP/MILP models.

linprog in MATLAB
linprog R package

2 comentarios:

  1. the OMPR package certainly deserves a mention.

    https://cran.r-project.org/web/packages/ompr/index.html

    ResponderEliminar
  2. Do you have a recommendation to solve goal programming model using R, actually which available package do you recommend?

    ResponderEliminar