COIN-OR

COIN-OR

Infobox Organization
name = COIN-OR


image_border =
size = 80x80
caption =
formation = 2000
type =
headquarters =
location =
membership =
language =
leader_title =
leader_name =
key_people =
num_staff =
budget =
website = http://www.coin-or.org

COIN-OR stands for the Computational Infrastructure for Operations Research. The stated goal of the COIN-OR project is "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 intiative 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 [ [http://www.coin-or.org/coin-or-foundation/annual_report2007.pdf COIN-OR Annual Report, 2007] ] , 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) 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.

Significance

COIN-OR has attraction from both the research oriented and the application oriented organizations. At the National Science Foundation(NSF) workshop on Cyberinfrastructure and OR, only 3 examples were given: COIN-OR, [http://www-neos.mcs.anl.gov/ NEOS] , and CONDOR. Funded proposals of NSF awardees include publishing their work on COIN-OR (e.g [ [http://www.nsf.gov/eng/cbet/nuggets/1403/1403_gatzke.htm NSF Award for Mixed-Integer Nonlinear Programming Approaches for Hydrogen Production Systems] ] ).

* COIN-OR is changing the way research is done in the field of OR/MS. Novel work in non-linear mixed-integer programming: Bonmin was only made possible by having access to linear programming solver source code (Clp), non-linear programming solver source code (IPOPT), branch-and-cut source code (Cbc), cut generation library (Cgl), interfaces and expertise made possible by COIN-OR. [ [http://egon.cheme.cmu.edu/ibm/page.htm CMU-IBM Open Source MINLP Project ] ] )
* COIN-OR is recognized by the Center for Discrete Mathematics and Theoretical Computer Science (DIMACS).The first DIMACS workshop on COIN-OR was held in 2006. [ [http://dimacs.rutgers.edu/Workshops/COIN/ DIMACS Workshop on COIN-OR] ]
* COIN-OR provoked the creation of the Common Public License.
* COIN-OR changed IBM Research. COIN-OR (circa 2000) promoted open source as a model for university collaborations. [ [http://domino.watson.ibm.com/comm/pr.nsf/pages/news.20061214_ocr.html IBM, top universities continue software Intellectual Property reform] , IBM corporate website, December 2006]
* COIN-OR is referenced in the scientific literature.
* COIN-OR is being used by business.

Projects

CLP

CLP stands for COIN-OR LP . CLP is an open-source linear programming solver written in C++. It is published under the Common Public License so it can be used in commercial software without any of the contamination issues 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 Branch and Cut) and others.

SYMPHONY

"SYMPHONY" is a software for solving a class of mathematical problems called Integer Programming (IP) problems and its variants. A Linear Programming problem is an optimization (mathematics) problem in which we want to maximize or minimize a linear objective function over a set of linear constraints. A Pure Integer Programming problem is a Linear Programming problem in which all the variables are allowed to assume only integer values. A Mixed Integer Programming (MIP) problem is similar to a Pure IP Problem, but only some of the variables are constrained to be integers. Other variables can assume non-integral values. MIPs are useful in modelling a lot of real life problems in logistics, scheduling, production planning, finance and management sciences. They are also extensively used in theoretical research like combinatorics, statistics, physics and computational biology. MIPs are therefore, an important tool in the field of Operations research (OR), which is, roughly, the analysis and optimization of business and other decisions using mathematics.

SYMPHONY is an acronym standing for Single- or Multi-Process Optimization over Networks. It is a callable library which can solve general Mixed Integer Programs (MIPs) over heterogeneous networks. It is an open source branch and cut framework for solving MIPs and is available as a part of COIN-OR. It 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 files in both, the MPS (format) (through the COIN-OR MPS reader) and AMPL files (through the GLPK parser). SYMPHONY does not have an LP-Solver of its own, but can be used with solvers like Clp, Cplex, Xpress through the Osi-interface. The 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 and enter commands to execute and control the program.

References

Further reading

* J.T. Linderoth and T.K. Ralphs, "Noncommercial Software for Mixed-Integer Linear Programming, Integer Programming: Theory and Practice", John Karlof (ed.), CRC Press Operations Research Series, 2005, 253-303. [http://coral.ie.lehigh.edu/pubs/files/jtl3_noncomm.pdf (Working Paper Version PDF)]

External links

* [http://branchandcut.org SYMPHONY Homepage]
* [http://coin-or.org COIN-OR] , Computational Infrastructure for Operations Research
* COIN-OR solvers are available in the GAMS Modeling Systems


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • coin — coin …   Dictionnaire des rimes

  • coin — [ kwɛ̃ ] n. m. • XIIe; lat. cuneus 1 ♦ Instrument de forme prismatique (en bois, en métal) utilisé pour fendre des matériaux, serrer et assujettir certaines choses. ⇒ 2. cale, patarasse. Assujettir avec des coins (⇒ coinçage, coincement) . Ôter… …   Encyclopédie Universelle

  • Coin — ist der Name mehrerer Orte in den Vereinigten Staaten: Coin (Arkansas) Coin (Iowa) Coin (Kentucky) Coin (Minnesota) Coin (Nevada) in Frankreich: Coin lès Cuvry, Ort in Frankreich Coin sur Seille, Ort in Frankreich in Spanien: Coín, einer Gemeinde …   Deutsch Wikipedia

  • Coin S.p.A. — Coin Rechtsform S.p.A. ISIN IT0001336772 Gründung 1926 Sitz Venedig, Italien Leitung Paolo Ricotti, Vor …   Deutsch Wikipedia

  • Coín — es un pueblo de la provincia de Málaga (España), de unos 20.000 habitantes, tuvo resonancia en los medios por el asesinato de Sonia Carabantes en 2003. COÍN PUEBLO DE LA PROVINCIA DE MÁLAGA Coín es un pueblo de provincia de Málaga, fué fundado… …   Enciclopedia Universal

  • Coin — (koin), n. [F. coin, formerly also coing, wedge, stamp, corner, fr. L. cuneus wedge; prob. akin to E. cone, hone. See {Hone}, n., and cf. {Coigne}, {Quoin}, {Cuneiform}.] 1. A quoin; a corner or external angle; a wedge. See {Coigne}, and {Quoin} …   The Collaborative International Dictionary of English

  • Coin — Coin, v. t. [imp. & p. p. {Coined} (koind); p. pr. & vb. n. {Coining}.] 1. To make of a definite fineness, and convert into coins, as a mass of metal; to mint; to manufacture; as, to coin silver dollars; to coin a medal. [1913 Webster] 2. To make …   The Collaborative International Dictionary of English

  • coin — coin·age; coin; coin·er; coin·tise; Coin·treau; re·coin; …   English syllables

  • coin it — coin money or coin it To make a lot of money rapidly • • • Main Entry: ↑coin * * * coin it (or coin money) Brit informal : to earn a lot of money quickly or easily They are really coining it/money with their new CD. • • • Main Entry: ↑ …   Useful english dictionary

  • coin — [koin] n. [ME < OFr coin, coigne, a wedge, stamp, corner < L cuneus, a wedge < IE base * kū , pointed > OIr cuil, L culex, gnat, Avestan sū kā, needle] 1. archaic var. of QUOIN 2. a) a usually round piece of metal with a distinctive… …   English World dictionary

  • Coín — Données générales Pays …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”