World Library  
Flag as Inappropriate
Email this Article


Article Id: WHEBN0008757491
Reproduction Date:

Title: Coin-or  
Author: World Heritage Encyclopedia
Language: English
Subject: Nl (format), AIMMS, MINTO, Automatic differentiation, AMPL
Collection: Mathematical Optimization Software
Publisher: World Heritage Encyclopedia


Formation 2000

COIN-OR, which stands for Computational Infrastructure for Operations Research, is a project that aims to "create for mathematical software what the open literature is for mathematical theory." The open literature (e.g., a research journal) provides the OR community with a peer-review process and an archive. Papers in operations research journals on mathematical theory often contain supporting numerical results from computational studies. The software implementations, models, and data used to produce the numerical results are typically not published. The status quo impeded researchers needing to reproduce computational results, make fair comparisons, and extend the state of the art.

The success of Linux, Apache, and other projects popularized the open-source model of software development and distribution. A group at IBM Research proposed open source as an analogous yet viable means to "publish" software, models, and data. COIN-OR was conceived as an initiative to promote open-source in the computational Operations Research community and to provide the on-line resources and hosting services required to enable others to run their own open-source software projects.

The COIN-OR website was launched as an experiment in 2000, in conjunction with 17th International Symposium on Math Programming in Atlanta, Georgia. In the year 2007, COIN-OR had 25 application projects,[1] including tools for linear programming (e.g., COIN-OR CLP), nonlinear programming (e.g., IPOPT), integer programming (e.g., CBC, Bcp and COIN-OR SYMPHONY), algebraic modeling languages (e.g., Coopr) and more. COIN-OR is hosted by the Institute for Operations Research and the Management Sciences, INFORMS, and run by the educational, non-profit COIN-OR Foundation.


  • Projects 1
    • CLP 1.1
    • CBC 1.2
    • SYMPHONY 1.3
    • PuLP 1.4
    • SMI 1.5
  • References 2
  • Further reading 3
  • External links 4



CLP (COIN-OR LP) is an open-source linear programming solver written in C++. It is published under the Common Public License so it can be used in proprietary software without any of the restrictions of the GNU General Public License. CLP is primarily meant to be used as a callable library, although a stand-alone executable version can be built. It is designed to be as reliable as any commercial solver (if not quite as fast) and to be able to tackle very large problems.

CLP is designed to solve linear programming problems such as :

minimize c_1 x_1 + c_2 x_2\,
  • subject to problem constraints of the following form
a_{11} x_1 + a_{12} x_2 \le b_1
a_{21} x_1 + a_{22} x_2 \le b_2
a_{31} x_1 + a_{32} x_2 \le b_3
  • Non-negative variables
x_1 \ge 0
x_2 \ge 0

with up to millions of variables and/or constraints. Its main algorithm is the Simplex algorithm.

CLP is used in other COIN-OR projects such as SYMPHONY, BCP (Branch Cut and Price), CBC (COIN-OR Branch and Cut) and others.


CBC (COIN-OR branch and cut) is an open-source mixed integer programming solver written in C++. It can both be used as a stand-alone executable and as a callable library (through AMPL [natively], GAMS [using the links provided by the COIN-OR Optimization Services (OS) and GAMSlinks projects], MPL [through the CoinMP project], AIMMS [through the AIMMSlinks project], or PuLP).


SYMPHONY (Single- or multi-process optimization over networks) is an open source branch and cut framework for solving mixed integer programs (MIPs) over heterogeneous networks – and can use CLP, CPLEX, XPRESS or other linear programming solvers to solve the underlying linear programs.

SYMPHONY is a callable library which implements both sequential and parallel versions of branch, cut and price to solve MILPs. A branch, cut and price algorithm is similar to a branch and bound algorithm but additionally includes Cutting-plane methods and pricing algorithms. The user of the library can customize the algorithm in any number of ways by supplying application-specific subroutines for reading in custom data files, generating application-specific cutting planes, or applying custom branching rules, resulting in a customized state-of-the-art branch and cut algorithm. Most components of the algorithm, e.g., search tree management, management of linear programming solution, cut pool management, and communication management, are internal to the library and need not be touched by the user. The executables can be built in any number of configurations ranging from completely sequential to fully parallel with independently functioning cut generators, cut pools, and LP solvers. The distributed version currently runs in any environment supported by the PVM message passing protocol. The same source code can also be compiled for shared-memory architectures using any OpenMP compliant compiler.

SYMPHONY reads MPS (through the COIN-OR MPS reader) and GNU MathProg files. SYMPHONY does not have an LP-Solver of its own, but can be used with solvers like Clp, Cplex, Xpress through the Osi-interface. Cuts are generated using COIN's cut generation library: CGL. SYMPHONY also has structure specific implementations for problems like the Traveling salesman problem, Vehicle routing problem, Set partitioning problem, Mixed postman problem etc. SYMPHONY also has an interactive shell where the user can enter commands to execute and control the program.


PuLP is an LP modeler written in Python. It can generate MPS or LP files and call GLPK, CLP/CBC, CPLEX, and Gurobi to solve linear problems.


SMI is a Stochastic programming modeler and solver written in C++. It can read Stochastic MPS as well as offers direct interfaces for constructing stochastic programs. It generates the deterministic equivalent linear program, solves it, and provides interfaces to access the scenario solutions.


  1. ^ COIN-OR Annual Report, 2007

Further reading

  • J.T. Linderoth and T.K. Ralphs: Noncommercial Software for Mixed-Integer Linear Programming. In: Integer Programming: Theory and Practice, John Karlof (ed.), CRC Press Operations Research Series, 2005, 253-303. (Working paper version)
  • T. Ralphs: An Introduction to the COIN-OR Optimization Suite: Open Source Tools for Building and Solving Optimization Models. Optimization Days, Montreal, May 7, 2013. (Presentation slides)

External links

  • SYMPHONY Homepage
  • COIN-OR, Computational Infrastructure for Operations Research
  • COIN-OR solvers are available in the AIMMS, AMPL and GAMS modeling systems as well as in the FortSP solver
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.