Projects

This page gives links to the web pages for all COIN-OR projects. An alphabetical list follows the categorical list below.

Projects by Category:

  • Development tools
  • Documentation
  • Graphs
  • Interfaces
  • Metaheuristics
  • Modeling systems
  • Optimization bilevel
  • Optimization convex non-differentiable
  • Optimization deterministic linear
  • Optimization deterministic linear continuous
  • Optimization deterministic linear discrete
  • Optimization deterministic nonlinear
  • Optimization deterministic nonlinear discrete
  • Optimization deterministic nonlinear nonconvex mixed-integer
  • Optimization deterministic semidefinite continuous
  • Optimization stochastic
  • Optimization utility
  • Python tools
  • Stochastic modeling
  • Visualization software
[bg_faq_start]

BuildTools: Tools for managing configuration and compilation of various COIN-OR projects under Linux, Unix, and Cygwin.

Project Description:

COIN-OR developer tools and documentation, tools for managing configuration and compilation of various COIN-OR projects under Linux, Unix, and Cygwin.

Project Manager: stefan at gams dot com

Project Home Page: https://projects.coin-or.org/BuildTools

Project license: Eclipse Public License 1.0

Programming Language: Shell script (/bin/sh); autoconf

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 0.8
Stable Release Number: 0.8.7

Project Categories: development tools.

Coin Bazaar: Small examples and extensions of COIN-OR projects.

Project Description:

The Coin Bazaar project facilitates community involvement in the COIN-OR repositories. This project allows OR researchers to contribute code examples, application examples and code extensions and plugins without directly contributing to a regular COIN-OR project. Thus, this project helps bridge the gap between core package development and package extensions. Specific goals of this project are (1) to manage extensions to COIN-OR packages that have limited subversion access, (2) allow developers and COIN-OR users to share code and application examples, and (3) provide a home for auxilliary software tools that facilitate the use of COIN-OR tools.

Project Manager: William Hart, wehart at sandia dot gov

Project Home Page: https://projects.coin-or.org/CoinBazaar

Project license: Individual Coin Bazaar projects are licensed separately under OSI approved licenses.

Programming Language: Coin Bazaar packages may be written in a variety of languages.

Development Status:

Activity Status: Active
Maturity Level: Various
Stable Version Number:
Stable Release Number:

Project Categories: development tools, optimization utility.

Java Operations Research Library (jORLib): jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Description:

jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Manager: Joris Kinable, jkinable at cs dot cmu dot edu

Project Home Page: https://projects.coin-or.org/jORLib

Project license: LGPLv2.1

Third-party Software:

Package Required/Optional
jGraphT 0.9.0 Required
Guava 14.0.1 Required
Logback 0.9.28 Required
Slf4j 1.6.1 Required
JUnit 4.12 Optional (unit tests only)

Programming Language: Java 8

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Microsoft Windows

Project Categories: development tools, metaheuristics, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

NLPAPI: A subroutine interface for defining and solving nonlinear programming problems.

Project Description:

NLPAPI is a set of subroutines and data structures for defining nonlinear programming problems. It includes an interface to call LANCELOT to solve the problem (you need to get your own copy of LANCELOT), and an interface to IPOPT.

Project Manager: Michael E Henderson

Project Home Page: https://github.com/coin-or/NLPAPI

Project license: Common Public License 1.0

Programming Language: C

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: 0.9
Stable Release Number: 0.9.0

Builds and Passes Unit Test On:

Operating System Compiler
Windows cygwin gcc
GNU/Linux gcc
AIX xlc

Project Categories: development tools, optimization deterministic nonlinear.

Pyomo: Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models.

Project Description:

Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. Modeling optimization applications is a core capability of Pyomo. Pyomo can be used to define symbolic problems, create concrete problem instances, and solve these instances with standard solvers. Thus, Pyomo provides a capability that is commonly associated with algebraic modeling languages such as AMPL, AIMMS, and GAMS, but Pyomo’s modeling objects are embedded within a full-featured high-level programming language with a rich set of supporting libraries.

Project Manager: William Hart, wehart at sandia dot gov, Jean-Paul Watson, jwatson at sandia dot gov and John Siirola, jdsiiro at sandia dot gov

Project Home Page: http://www.pyomo.org/

Project license: BSD

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 4.2
Stable Release Number: 4.2.10784

Builds and Passes Unit Test On:

Operating System Compiler
Any Python 2.6, 2.7, 3.3, and 3.4

Project Categories: modeling systems, development tools, optimization stochastic, optimization utility.

Test Tools: Python scripts to automatically download, configure, build, test, and install COIN-OR projects.

Project Description:

The Test Tools project provides Python scripts to automatically download, configure, build, test, install, and build binaries of COIN-OR projects. If a failure is recognized, the scripts can send an e-mail to the corresponding project manager.

Project Manager: JP Fasano

Project Home Page: https://github.com/coin-or-tools/TestTools

Project license: Common Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux 32 and 64 bit Python 2.5
Sun OS Solaris Python 2.4.4
AIX Unix Python 2.5
Mac OS X Python 2.5
Windows XP Python 2.5
Windows XP (Cygwin) Python 2.5
Windows XP Python 2.5
Windows Server 2003 (Cygwin) Python 2.5
Windows Server 2003 64 Bit (MinGW) Python 2.5

Project Categories: development tools.

[bg_faq_end]

[bg_faq_start]

CoinEasy: New user information and support, CoinEasy is designed for new users of COIN-OR. The objective is to make it easy to use COIN-OR projects. Different users have different objectives and we provide information on how to get up and running easily depending upon the objective

Please consult the CoinEasy home page for further information. [bg_faq_end]

[bg_faq_start]

Cgc: A collection of network representations and algorithms.

Project Description:

Cgc is a collection of network representations to facilitate the development and implementation of network algorithms.

Project Manager: hpwalton at yahoo.com

Project Home Page: https://github.com/coin-or/Cgc

Project license: Common Public License 1.0

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl

Project Categories: graphs, optimization utility.

GiMPy: a Python library containing pure Python implementations of a variety of graph algorithms with visualizations

Project Description:

Graph Methods in Python (GiMPy) is a Python graph library containing pure Python implementations of a variety of graph algorithms. The goal is clarity in implementation rather than eficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.

Project Manager: Ted Ralphs, ted at lehigh.edu

Project Home Page: https://github.com/coin-or/GiMPy

Project license: Eclipse Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Python 2.7
Linux Python 2.7
OS X Python 2.7

Project Categories: graphs.

GrUMPy: a Python library for visualizing various aspects of mathematical programming, including visualizations of the branch-and-cut process, branch-and-bound trees, polyhedra, cutting plane methods, etc.

Project Description:

Graphics for Understanding Mathematical Programming in Python (GrUMPy) is a Python library for visualizing various aspects of mathematical programming, including visualizations of the branch-and process, branch-and-bound trees, polyhedra, cutting plane methods, etc. The goal is clarity in implementation rather than efficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.

Project Manager: Ted Ralphs, ted at lehigh.edu

Project Home Page: https://github.com/coin-or/GrUMPy

Project license: Eclipse Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 0.6
Stable Release Number: 0.6.1

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Python 2.7
Linux Python 2.7
OS X Python 2.7

Project Categories: optimization utility, optimization deterministic linear discrete.

LEMON: A C++ template library aimed at combinatorial optimization tasks, especially those working with graphs and networks.

Project Description:

Library of Efficient Models and Optimization in Networks – A C++ template library providing easy-to-use implementations of common graph and network related data structures and algorithms.

Project Manager: alpar at cs.elte.hu

Project Home Page: http://lemon.cs.elte.hu/

Project license: Boost License 1.0

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.2
Stable Release Number: 1.2.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC 3.3 and upwards
Linux Intel C++ 11.1,13.1.3
AIX xlC
Microsoft Windows Visual C++ 2005,2008
Microsoft Windows Cygwin/GCC
Microsoft Windows MinGW

Project Categories: graphs, optimization utility.

MOCHA: Heuristics and algorithms for multicriteria matroid optimization.

Project Description:

MOCHA is a software package which contains algorithms and heuristics to solve multicriteria matroid optimization problems. Beyond specific algorithms and heuristics, our package also contains and uses matroid (and related) data structures which can be used as a foundation for new and old algorithms and heuristics.

Project Manager: David Haws

Project Home Page: https://github.com/coin-or/MOCHA

Project license: Eclipse Public License 1.0

Third-party Software:

Package Required/Optional
LAPACK Required
BLAS Required
GMP Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number: 1.0
Stable Release Number: 1.0.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Mac gcc

Project Categories: graphs, optimization deterministic nonlinear, optimization stochastic.

[bg_faq_end]

[bg_faq_start]

AIMMSlinks: Links between the modeling language AIMMS and solvers that are hosted at COIN-OR.

Project Description:

The AIMMSlinks project is dedicated to the development of links between the modeling language AIMMS and solvers that are hosted at COIN-OR.

Project Manager: marcel dot hunting at aimms dot com

Project Home Page: https://github.com/coin-or/AIMMSlinks

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Blas Required for IPOPT
Lapack Optional for IPOPT
A sparse linear solver (MA27, MA57, WSMP, Pardiso, MUMPS) Required (at least one) for IPOPT
AIMMS Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 1.1
Stable Release Number: 1.1.0

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Linux g++

Project Categories: interfaces.

CMPL: A mathematical programming language and a system for mathematical programming and optimisation of linear optimisation problems.

Project Description:

CMPL is a mathematical programming language and a system for mathematical programming and optimisation of linear optimisation problems. CMPL executes CBC (default), GLPK, SCIP, Gurobi or CPLEX directly to solve the generated model instance. Because it is also possible to transform the mathematical problem into MPS, Free-MPS or OSiL files, alternative solvers can be used. The CMPL distribution contains Coliop which is an (simple) IDE (Integrated Development Environment) for CMPL. The CMPL package also contains pyCMPL, jCMPL and CMPLServer. pyCMPL is the CMPL application programming interface (API) for Python and an interactive shell and jCMPL is CMPL’s Java API. CMPLServer is an XML-RPC-based web service for distributed and grid optimisation that can be used with CMPL, pyCMPL and jCMPL.

Project Manager: Mike Steglich – mike.steglich at th-wildau dot de

Project Home Page: https://projects.coin-or.org/Cmpl

Project license: GPLv3 (CMPL and Coliop) and LGPLv3 (pyCMPL, jCMPL, CMPLServer)

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
CPLEX Optional
GLPK Required
Gurobi Optional
SCIP Optional
Qt5 Required

Programming Language: C++, Python, Java

Development Status:

Activity Status: Active
Maturity Level: Not Yet Classified
Stable Version Number: 1.11
Stable Release Number: 1.11.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc, Python 2.7, Java 7
Mac OS X gcc, Python 2.7, Java 7
Microsoft Windows MSYS/MinGW/gcc, Python 2.7, Java 7

Project Categories: modeling systems, interfaces.

CoinBinary: Pre-compiled binary distributions of COIN-OR projects.

Project Description:

The goal of this project is to provide sets of libraries and executables precompiled and tested on the most popular platforms for those users who do not need to look at or modify the source code of the COIN projects themselves. The CoinAll distribution is an associated effort to develop a distribution consisting of a set of consistent, interoperable binaries built from the source code of as large a subset of COIN-OR projects as possible. The idea is to allow a user who wants binaries for a large number of COIN projects and wants to ensure that they will all interoperate to be able to download them all at once in a single distribution.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CoinBinary

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Glpk Optional
GNU Readline Optional
GNU History Optional
AMPL Solver Library (ASL) Optional
BLAS Optional
LAPACK Optional
Harwell Subroutine Library Optional
Mumps Optional

Programming Language: C/C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project management page
Stable Release Number: see project management page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization stochastic, optimization utility.

CoinMP: A lightweight API and DLL for CLP, CBC, and CGL.

Project Description:

CoinMP is a C-API interface library that supports most of the functionality of the CLP (Coin LP), CBC (Coin Branch-and-Cut), and CGL (Cut Generation Library) projects. When compiled for Windows it generates a CoinMP.dll library that can be readily used in other Windows C/C++ projects. When compiled for Unix it generates a CoinMP.so library that can be similarly used in other Unix C/C++ projects. The project includes precompiled CoinMP.dll that is ready to be used as is in other Windows applications.

Project Manager: Bjarni Kristjansson, bjarni at maximalsoftware dot com

Project Home Page: https://projects.coin-or.org/CoinMP

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Programming Language: C

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.8
Stable Release Number: 1.8.3

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc/cl
Linux gcc/g++
Mac OSX gcc
Solaris x86 gcc

Project Categories: interfaces, modeling systems, optimization utility.

CyLP: a Python interface to Cbc and Clp

Project Description:

CyLP is a Python interface to COIN-OR’s Linear and mixed-integer program solvers (CLP, CBC, and CGL). CyLP’s unique feature is that one can use it to alter the solution process of the solvers from within Python. For example, one may define cut generators, branch-and-bound strategies, and primal/dual Simplex pivot rules completely in Python.

Project Manager: Mehdi Towhidi, mehdi dot towhidi at kronos dot com

Project Home Page: https://github.com/coin-or/CyLP

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Numpy Required
Scipy Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

GAMSlinks: Links between GAMS (General Algebraic Modeling System) and solvers that are hosted at COIN-OR.

Project Description:

GAMSlinks is dedicated to the development of links between GAMS (General Algebraic Modeling System) and open source solvers. Its goals are to make the COIN-OR solvers available to GAMS users, help developers to hook up their solver to GAMS, and by that provide access to the GAMS quality assurance and benchmarking tools.

Project Manager: Stefan Vigerske

Project Home Page: https://github.com/coin-or/GAMSlinks

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Blas Required for IPOPT, BONMIN, and Couenne
Lapack Optional
A sparse linear solver (MA27, MA57, WSMP, Paradiso, HSL, MUMPS) Required for IPOPT, BONMIN, and Couenne
Metis 4 Optional
GLPK Optional
SCIP Optional
SoPlex Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 0.5
Stable Release Number: 0.4.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC
Mac OS X GCC

Project Categories: interfaces.

MibS: Solver for mixed integer bilevel optimization problems.

Project Description:

MibS is a solver for mixed integer bilevel optimization problems.

Project Manager: Ted Ralphs, tkralphs at lehigh dot edu

Project Home Page: https://github.com/coin-or/MibS

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC
Mac OS X clang
Microsoft Windows MSVC++/cl

Project Categories: interfaces, optimization bilevel, optimization deterministic linear discrete.

Optimization Services: A package for representing optimization instances, results, solver options, and communication between clients and solvers in a distributed environment using Web Services.

Project Description:

The objective of Optimization Services (OS) is to provide a set of standards for representing optimization instances, results, solver options, and communication between clients and solvers in a distributed environment using Web Services. This COIN-OR project provides source code for libraries and executable programs that implement OS standards.

Project Manager: Kipp Martin kipp.martin at chicagogsb dot edu and Jun Ma

Project Home Page: https://projects.coin-or.org/OS

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
AMPL Solver Library (ASL) Optional
Blas Optional
GLPK Optional
HSL Optional
KNITRO Optional
Lapack Optional
LINDO Optional
MUMPS Optional

Programming Language: C,C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 2.10
Stable Release Number: 2.10.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Mac OS X (Intel) gcc
Mac OS X (Power PC) gcc
Microsoft Windows MinGW/gcc
Microsoft Windows Cygwin/gcc
Microsoft Windows Msys/MS cl
Microsoft Windows Visual Studio cl

Project Categories: interfaces.

OSI: A uniform API for calling embedded linear and mixed-integer programming solvers.

Project Description:

The COIN-OR Open Solver Interface is a uniform API for interacting with callable solver libraries. It supports linear programming solvers as well as the ability to “finish off” a mixed-integer problem calling the solver library’s MIP solver. A list of supported solvers appears at the bottom of the page.

Project Manager: Matthew Saltzman, Lou Hafer

Project Home Page: https://www.github.com/coin-or/Osi

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
CPLEX Optional
Glpk Optional
FICO-Xpress Optional
Gurobi Optional
Mosek Optional
SoPlex Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 0.108
Stable Release Number: 0.108.6

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux gcc
Mac OS X gcc
Microsoft Windows with MSys2 gcc, cl, icl
Microsoft Windows Visual Studio, cl

Project Categories: interfaces.

This is an umbrella project for the following subprojects:

  • Solver Interfaces:
    • OsiCpx: CPLEX
    • OsiGlpk: GNU LP Toolkit
    • OsiGrb: Gurobi
    • OsiMsk: Mosek
    • OsiSpx: Soplex
    • OsiXpr: XPRESS-MP

Python MIP: Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs).

Project Description:

Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs). MIP syntax was inspired by Pulp. Just like CyLP it also provides access to advanced solver features like cut generation, MIPstarts and solution Pools. Porting Pulp and Gurobi models should be quite easy.

Project Manager: Haroldo Gambini Santos

Project Home Page: https://github.com/coin-or/python-mip

Project license: Eclipse Public License 2.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Gurobi Optional

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

SONNET: Microsoft .NET wrapper for COIN-OR Open Solver Interface

Project Description:

A wrapper for COIN-OR mixed integer linear programming via OSI to Microsoft .NET

Project Manager: Jan-Willem Goossens

Project Home Page: https://github.com/coin-or/SONNET

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C#

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 1.2
Stable Release Number: 1.1.2

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVS/.NET

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete.

yaposib: a Python interface to linear solvers that use the OSI

Project Description:

Yaposib is a python binding to OSI, the Open Solver Interface from COIN-OR. It intends to give access to various solvers through python. Yaposib was created in order to be integrated in COIN-OR/PuLP.

Project Manager: n/a

Project Home Page: https://github.com/coin-or/yaposib

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
boost::python Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

[bg_faq_end]

[bg_faq_start]

Djinni: A templatized C++ framework with Python bindings for heuristic search.

Project Description:

Djinni is a templatized C++ framework with python bindings for heuristic search.

Project Manager: Justin C. Goodson

Project Home Page: https://github.com/coin-or/Djinni

Project license: ISC License

Third-party Software:

Package Required/Optional
boost Optional
PyGTK Optional

Programming Language: C++, Python

Development Status:

Activity Status: Inactive
Maturity Level: 5
Stable Version Number: 2.2
Stable Release Number: 2.2.4

Builds and Passes Unit Test On:

Operating System Compiler
Mac OS X GCC
Solaris GCC
FreeBSD GCC
Linux GCC

Project Categories: metaheuristics.

Java Operations Research Library (jORLib): jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Description:

jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Manager: Joris Kinable, jkinable at cs dot cmu dot edu

Project Home Page: https://projects.coin-or.org/jORLib

Project license: LGPLv2.1

Third-party Software:

Package Required/Optional
jGraphT 0.9.0 Required
Guava 14.0.1 Required
Logback 0.9.28 Required
Slf4j 1.6.1 Required
JUnit 4.12 Optional (unit tests only)

Programming Language: Java 8

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Microsoft Windows

Project Categories: development tools, metaheuristics, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

METSlib: An object oriented metaheuristics optimization framework and toolkit in C++.

Project Description:

METSlib is an object oriented metaheuristics optimization framework and toolkit in C++. Hill Climbing, Steepest Descent, Random Restart Local Search, Variable Neighborhood Search, Iterated Local Search, Simulated Annealing and Tabu Search algorithms are applicable to one unified modeling framework.

Project Manager: Mirko Maischberger

Project Home Page: https://github.com/coin-or/metslib

Project license: GPLv3.0 or, at your option, EPL 1.0

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 3
Stable Version Number: 0.5
Stable Release Number: 0.5.3

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux GCC 4.3.2
Microsoft Windows CYGWIN 1.7/gcc4
OpenSolarisx86 gcc-4.x

Project Categories: metaheuristics.

OTS: a framework for constructing tabu search algorithms

Please consult the OTS home page for further information. [bg_faq_end]

[bg_faq_start]

CMPL: A mathematical programming language and a system for mathematical programming and optimisation of linear optimisation problems.

Project Description:

CMPL is a mathematical programming language and a system for mathematical programming and optimisation of linear optimisation problems. CMPL executes CBC (default), GLPK, SCIP, Gurobi or CPLEX directly to solve the generated model instance. Because it is also possible to transform the mathematical problem into MPS, Free-MPS or OSiL files, alternative solvers can be used. The CMPL distribution contains Coliop which is an (simple) IDE (Integrated Development Environment) for CMPL. The CMPL package also contains pyCMPL, jCMPL and CMPLServer. pyCMPL is the CMPL application programming interface (API) for Python and an interactive shell and jCMPL is CMPL’s Java API. CMPLServer is an XML-RPC-based web service for distributed and grid optimisation that can be used with CMPL, pyCMPL and jCMPL.

Project Manager: Mike Steglich – mike.steglich at th-wildau dot de

Project Home Page: https://projects.coin-or.org/Cmpl

Project license: GPLv3 (CMPL and Coliop) and LGPLv3 (pyCMPL, jCMPL, CMPLServer)

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
CPLEX Optional
GLPK Required
Gurobi Optional
SCIP Optional
Qt5 Required

Programming Language: C++, Python, Java

Development Status:

Activity Status: Active
Maturity Level: Not Yet Classified
Stable Version Number: 1.11
Stable Release Number: 1.11.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc, Python 2.7, Java 7
Mac OS X gcc, Python 2.7, Java 7
Microsoft Windows MSYS/MinGW/gcc, Python 2.7, Java 7

Project Categories: modeling systems, interfaces.

CoinBinary: Pre-compiled binary distributions of COIN-OR projects.

Project Description:

The goal of this project is to provide sets of libraries and executables precompiled and tested on the most popular platforms for those users who do not need to look at or modify the source code of the COIN projects themselves. The CoinAll distribution is an associated effort to develop a distribution consisting of a set of consistent, interoperable binaries built from the source code of as large a subset of COIN-OR projects as possible. The idea is to allow a user who wants binaries for a large number of COIN projects and wants to ensure that they will all interoperate to be able to download them all at once in a single distribution.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CoinBinary

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Glpk Optional
GNU Readline Optional
GNU History Optional
AMPL Solver Library (ASL) Optional
BLAS Optional
LAPACK Optional
Harwell Subroutine Library Optional
Mumps Optional

Programming Language: C/C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project management page
Stable Release Number: see project management page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization stochastic, optimization utility.

CoinMP: A lightweight API and DLL for CLP, CBC, and CGL.

Project Description:

CoinMP is a C-API interface library that supports most of the functionality of the CLP (Coin LP), CBC (Coin Branch-and-Cut), and CGL (Cut Generation Library) projects. When compiled for Windows it generates a CoinMP.dll library that can be readily used in other Windows C/C++ projects. When compiled for Unix it generates a CoinMP.so library that can be similarly used in other Unix C/C++ projects. The project includes precompiled CoinMP.dll that is ready to be used as is in other Windows applications.

Project Manager: Bjarni Kristjansson, bjarni at maximalsoftware dot com

Project Home Page: https://projects.coin-or.org/CoinMP

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Programming Language: C

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.8
Stable Release Number: 1.8.3

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc/cl
Linux gcc/g++
Mac OSX gcc
Solaris x86 gcc

Project Categories: interfaces, modeling systems, optimization utility.

CyLP: a Python interface to Cbc and Clp

Project Description:

CyLP is a Python interface to COIN-OR’s Linear and mixed-integer program solvers (CLP, CBC, and CGL). CyLP’s unique feature is that one can use it to alter the solution process of the solvers from within Python. For example, one may define cut generators, branch-and-bound strategies, and primal/dual Simplex pivot rules completely in Python.

Project Manager: Mehdi Towhidi, mehdi dot towhidi at kronos dot com

Project Home Page: https://github.com/coin-or/CyLP

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Numpy Required
Scipy Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

FLOPC++: An algebraic modeling language embedded in C++.

Project Description:

An open source algebraic modelling language implemented as a C++ class library.

Project Manager: Tim Hultberg, tim dot hultberg at eumetsat dot int

Project Home Page: https://projects.coin-or.org/FlopC++

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.2
Stable Release Number: 1.2.4

Project Categories: modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization stochastic.

GiMPy: a Python library containing pure Python implementations of a variety of graph algorithms with visualizations

Project Description:

Graph Methods in Python (GiMPy) is a Python graph library containing pure Python implementations of a variety of graph algorithms. The goal is clarity in implementation rather than eficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.

Project Manager: Ted Ralphs, ted at lehigh.edu

Project Home Page: https://github.com/coin-or/GiMPy

Project license: Eclipse Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Python 2.7
Linux Python 2.7
OS X Python 2.7

Project Categories: graphs.

Gravity: Gravity is an open source, scalable, memory efficient modeling language for solving mathematical models in Optimization and Machine Learning.

Project Description:

Gravity is an open source, scalable, memory efficient modeling language for solving mathematical models in Optimization and Machine Learning. It exploits structure to reduce function evaluation time including Jacobian and Hessian computation. Gravity is implemented in C++ with a flexible interface allowing the user to specify the numerical accuracy of variables and parameters and can handle arbitrary Mixed-Integer Nonlinear Programs (MINLPs) as well as Mixed-Integer Semidefinite Programs (MISDPs). It is also designed to offer efficient iterative model solving, convexity detection, multithreading of subproblems, and lazy constraint generation. When compared to state-of-the-art modeling languages such as JuMP, Gravity is 5 times faster in terms of function evaluation and up to 60 times more memory efficient. Short term goals include Lasserre’s hierarchy implementation for polynomial optimization and automatic symbolic variable elimination for MINLPs.

Project Manager: Hassan Hijazi, hlh at lanl dot com

Project Home Page: https://projects.coin-or.org/Gravity

Project license: BSD-3 Clause

Third-party Software:

Package Required/Optional
IPOPT Optional
BONMIN Optional
GUROBI Optional
CPLEX Optional
MOSEK Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
LINUX GNU
MAC GNU/CLANG

Project Categories: modeling systems.

Java Operations Research Library (jORLib): jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Description:

jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Manager: Joris Kinable, jkinable at cs dot cmu dot edu

Project Home Page: https://projects.coin-or.org/jORLib

Project license: LGPLv2.1

Third-party Software:

Package Required/Optional
jGraphT 0.9.0 Required
Guava 14.0.1 Required
Logback 0.9.28 Required
Slf4j 1.6.1 Required
JUnit 4.12 Optional (unit tests only)

Programming Language: Java 8

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Microsoft Windows

Project Categories: development tools, metaheuristics, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

PuLP: A Python library for modeling linear and integer programs.

Project Description:

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

Project Manager: Stuart Mitchell

Project Home Page: https://github.com/coin-or/Pulp

Project license: MIT License

Third-party Software:

Package Required/Optional
GLPK Optional

Programming Language: python

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number: 1.4
Stable Release Number: 1.4.8

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows python 2.5
Microsoft Windows python 2.4
Linux python 2.6
Linux python 2.5
Linux python 2.4

Project Categories: modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete.

Pyomo: Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models.

Project Description:

Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. Modeling optimization applications is a core capability of Pyomo. Pyomo can be used to define symbolic problems, create concrete problem instances, and solve these instances with standard solvers. Thus, Pyomo provides a capability that is commonly associated with algebraic modeling languages such as AMPL, AIMMS, and GAMS, but Pyomo’s modeling objects are embedded within a full-featured high-level programming language with a rich set of supporting libraries.

Project Manager: William Hart, wehart at sandia dot gov, Jean-Paul Watson, jwatson at sandia dot gov and John Siirola, jdsiiro at sandia dot gov

Project Home Page: http://www.pyomo.org/

Project license: BSD

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 4.2
Stable Release Number: 4.2.10784

Builds and Passes Unit Test On:

Operating System Compiler
Any Python 2.6, 2.7, 3.3, and 3.4

Project Categories: modeling systems, development tools, optimization stochastic, optimization utility.

Python MIP: Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs).

Project Description:

Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs). MIP syntax was inspired by Pulp. Just like CyLP it also provides access to advanced solver features like cut generation, MIPstarts and solution Pools. Porting Pulp and Gurobi models should be quite easy.

Project Manager: Haroldo Gambini Santos

Project Home Page: https://github.com/coin-or/python-mip

Project license: Eclipse Public License 2.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Gurobi Optional

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

Rehearse: An algebraic modeling library in C++.

Project Description:

An algebraic modeling library in C++.

Project Manager: Onur Çelebi

Project Home Page: https://projects.coin-or.org/Rehearse

Project license: MIT

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number:
Stable Release Number:

Project Categories: modeling systems.

ROSE: Software for performing symbolic reformulations to Mathematical Programs (MP).

Project Description:

Optimization problems are usually defined in terms of their mathematical programming formulation. This consists of a set of objective functions to be optimized subject to a set of constraints, all expressed in terms of a set of decision variables which may be discrete or continuous. Formulations may be symbolically transformed so that some of their numerical properties (e.g. optimal solutions, feasible region,…) are invariant. Yet sometimes the reformulated problem is easier to solve or is useful within a given solution algorithm. The main aims of this project are a systematic study of reformulation theory, the production of software tools for automating mathematical programming reformulation, and the formalization and implementation of solution algorithms based on reformulation techniques.

Project Manager: David Savourey

Project Home Page: https://github.com/coin-or/ROSE

Project license: Eclipse Public License 1.0

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc

Project Categories: modeling systems.

SONNET: Microsoft .NET wrapper for COIN-OR Open Solver Interface

Project Description:

A wrapper for COIN-OR mixed integer linear programming via OSI to Microsoft .NET

Project Manager: Jan-Willem Goossens

Project Home Page: https://github.com/coin-or/SONNET

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C#

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 1.2
Stable Release Number: 1.1.2

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVS/.NET

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete.

yaposib: a Python interface to linear solvers that use the OSI

Project Description:

Yaposib is a python binding to OSI, the Open Solver Interface from COIN-OR. It intends to give access to various solvers through python. Yaposib was created in order to be integrated in COIN-OR/PuLP.

Project Manager: n/a

Project Home Page: https://github.com/coin-or/yaposib

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
boost::python Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

[bg_faq_end]

[bg_faq_start]

MibS: Solver for mixed integer bilevel optimization problems.

Project Description:

MibS is a solver for mixed integer bilevel optimization problems.

Project Manager: Ted Ralphs, tkralphs at lehigh dot edu

Project Home Page: https://github.com/coin-or/MibS

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC
Mac OS X clang
Microsoft Windows MSVC++/cl

Project Categories: interfaces, optimization bilevel, optimization deterministic linear discrete.

[bg_faq_end]

[bg_faq_start]

OBOE: Optimization of convex problems with user-supplied methods delivering key first order information (like support to the feasible set, support to the objective function).

Project Description:

OBOE (Oracle Based Optimization Engine) is an open source software for general convex optimization. It assumes that a user-made code, thereafter named oracle, is capable of delivering first order information on the key elements of the problem (support the feasible set, support to the objective function). The engine exploits this information to construct the so-called localization set which is a polyhedral approximation of the set of optimal solutions.

Project Manager: Nidhi Swahncy

Project Home Page: https://github.com/coin-or/OBOE

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
BLAS Required
LAPACK Required
Lapackpp Required
GLPK Optional
Boost serialization (on Linux) Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: 1.0.4
Stable Release Number: 1.0.3

Builds and Passes Unit Test On:

Operating System Compiler
Linux g++
Microsoft Windows Visual Studio .NET
Microsoft Windows MinGW32/g++

Project Categories: optimization convex non-differentiable.

RBFOpt: A global derivative-free solver.

Project Description:

Library for black-box (also known as derivative-free) optimization written in Python. Currently, the software supports box-constrained problems with continuous and discrete variables.

Project Manager: Giacomo Nannicini, giacomo dot n at gmail dot com

Project Home Page: https://projects.coin-or.org/RBFOpt/wiki

Project license: Revised BSD license (3-clause BSD license)

Linked COIN-OR Projects:

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.1.0
Stable Release Number: 1.1.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Mac OS X
Microsoft Windows

Project Categories: optimization convex non-differentiable, optimization deterministic nonlinear discrete, optimization utility.

[bg_faq_end]

[bg_faq_start]

Crème: An implementation of the randomized thermal relaxation method to find a feasible solution of the Maximum Feasible Subsystem problem.

Project Description:

Crème (COIN-OR RElaxation MEthod) is an implementation of a heuristic for the Maximum Feasible Subsystem (MaxFS) problem. The MaxFS problem consists of finding the subsystem of an infeasible LP such that the subsystem is feasible and contains a maximum number of constraints. Crème implements a randomized and thermal variant of the relaxation method proposed by Agmon (1954) and Motzkin and Schoenberg (1954). Crème is a heuristic that updates an iterate while keeping track of the number of inequalities satisfied at each iteration. See E. Amaldi, P. Belotti, R. Hauser, Randomized Relaxation Methods for the Maximum Feasible Subsystem Problem. In M. Juenger, V. Kaibel (eds.), Integer Programming and Combinatorial Optimization, 11th International IPCO Conference, Berlin, Germany, June 8-10, 2005, pages 249-264, 2005.

Project Manager: Pietro Belotti (pbelott at clemson dot edu)

Project Home Page: https://github.com/coin-or/Creme

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number: no stable version
Stable Release Number: no release version

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc

Project Categories: optimization deterministic linear.

[bg_faq_end]

[bg_faq_start]

CLP: A simplex solver.

Project Description:

CLP is a high quality open-source LP solver. Its main strengths are its Dual and Primal Simplex algorithms. It also has a barrier algorithm for Linear and Quadratic objectives. There are limited facilities for Nonlinear and Quadratic objectives using the Simplex algorithm. It is available as a library and as a standalone solver. It was written by John Forrest, jjforre at us.ibm.com.

Project Manager: Julian Hall, jajhall@ed.ac.uk

Project Home Page: https://github.com/coin-or/Clp

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 1.17
Stable Release Number: 1.17.5

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Mac OS X gcc
Microsoft Windows Visual Studio, cl
Microsoft Windows with MSys2 gcc, cl, icl

Project Categories: optimization deterministic linear continuous.

CoinBinary: Pre-compiled binary distributions of COIN-OR projects.

Project Description:

The goal of this project is to provide sets of libraries and executables precompiled and tested on the most popular platforms for those users who do not need to look at or modify the source code of the COIN projects themselves. The CoinAll distribution is an associated effort to develop a distribution consisting of a set of consistent, interoperable binaries built from the source code of as large a subset of COIN-OR projects as possible. The idea is to allow a user who wants binaries for a large number of COIN projects and wants to ensure that they will all interoperate to be able to download them all at once in a single distribution.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CoinBinary

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Glpk Optional
GNU Readline Optional
GNU History Optional
AMPL Solver Library (ASL) Optional
BLAS Optional
LAPACK Optional
Harwell Subroutine Library Optional
Mumps Optional

Programming Language: C/C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project management page
Stable Release Number: see project management page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization stochastic, optimization utility.

CyLP: a Python interface to Cbc and Clp

Project Description:

CyLP is a Python interface to COIN-OR’s Linear and mixed-integer program solvers (CLP, CBC, and CGL). CyLP’s unique feature is that one can use it to alter the solution process of the solvers from within Python. For example, one may define cut generators, branch-and-bound strategies, and primal/dual Simplex pivot rules completely in Python.

Project Manager: Mehdi Towhidi, mehdi dot towhidi at kronos dot com

Project Home Page: https://github.com/coin-or/CyLP

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Numpy Required
Scipy Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

DisCO: A solver library for MISOCP.

Project Description:

DisCO is an open-source distributed memory parallel solver library for MISOCP. It implements various algorithms and is compatible with various other solvers at solving continuous relaxations.

Project Manager: Aykut Bulut, aykutblt at gmail dot com

Project Home Page: https://projects.coin-or.org/DisCO

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Blas
Lapack
Glpk
HSL
Metis
Mumps
OsiConic
CglConic
OsiMosek
OsiCplex

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux gcc
Mac OSX 10.11 clang Xcode 8
Mac OSX 10.12 clang Xcode 8.2

Project Categories: optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

DyLP: An implementation of the dynamic simplex method.

Project Description:

DyLP is an open-source implementation of the dynamic simplex algorithm for linear programming. DyLP is pure C, heavily instrumented and commented, targetted toward algorithm development. A C++ OSI interface, OsiDylp, is also available.

Project Manager: Lou Hafer, lou@cs.sfu.ca

Project Home Page: https://projects.coin-or.org/DyLP

Project license: Default is Eclipse Public License (EPL) 1.0. Gnu General Public License (GPL) on request.

Programming Language: C (dylp), C++ (OsiDylp)

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 1.10
Stable Release Number: 1.10.3

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows 7, XP / Cygwin / MinGW / Msys GCC, cl
Microsoft Windows 7, XP / Visual Studio cl
Fedora Linux GCC
Solaris (SPARC, x86) Studio, GCC
Mac OSX GCC

Project Categories: optimization deterministic linear continuous.

FLOPC++: An algebraic modeling language embedded in C++.

Project Description:

An open source algebraic modelling language implemented as a C++ class library.

Project Manager: Tim Hultberg, tim dot hultberg at eumetsat dot int

Project Home Page: https://projects.coin-or.org/FlopC++

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.2
Stable Release Number: 1.2.4

Project Categories: modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization stochastic.

HiGHS: Linear optimization software

Project Description:

High performance serial and parallel solver for large scale sparse linear programming

Project Manager: Julian Hall, jajhall at ed dot ac dot uk

Project Home Page: http://github.com/ERGO-Code/HiGHS

Project license: MIT License

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC
Linux CLANG

Project Categories: optimization deterministic linear continuous.

Java Operations Research Library (jORLib): jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Description:

jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Manager: Joris Kinable, jkinable at cs dot cmu dot edu

Project Home Page: https://projects.coin-or.org/jORLib

Project license: LGPLv2.1

Third-party Software:

Package Required/Optional
jGraphT 0.9.0 Required
Guava 14.0.1 Required
Logback 0.9.28 Required
Slf4j 1.6.1 Required
JUnit 4.12 Optional (unit tests only)

Programming Language: Java 8

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Microsoft Windows

Project Categories: development tools, metaheuristics, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

PuLP: A Python library for modeling linear and integer programs.

Project Description:

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

Project Manager: Stuart Mitchell

Project Home Page: https://github.com/coin-or/Pulp

Project license: MIT License

Third-party Software:

Package Required/Optional
GLPK Optional

Programming Language: python

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number: 1.4
Stable Release Number: 1.4.8

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows python 2.5
Microsoft Windows python 2.4
Linux python 2.6
Linux python 2.5
Linux python 2.4

Project Categories: modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete.

Python MIP: Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs).

Project Description:

Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs). MIP syntax was inspired by Pulp. Just like CyLP it also provides access to advanced solver features like cut generation, MIPstarts and solution Pools. Porting Pulp and Gurobi models should be quite easy.

Project Manager: Haroldo Gambini Santos

Project Home Page: https://github.com/coin-or/python-mip

Project license: Eclipse Public License 2.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Gurobi Optional

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

SONNET: Microsoft .NET wrapper for COIN-OR Open Solver Interface

Project Description:

A wrapper for COIN-OR mixed integer linear programming via OSI to Microsoft .NET

Project Manager: Jan-Willem Goossens

Project Home Page: https://github.com/coin-or/SONNET

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C#

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 1.2
Stable Release Number: 1.1.2

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVS/.NET

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete.

Vol: A subgradient algorithm that also computes approximate primal solutions.

Project Description:

Vol (Volume Algorithm) is an open-source implementation of a subgradient method that produces primal as well as dual solutions. The primal solution comes from estimating the volumes below the faces of the dual problem. This is an approximate method so the primal vector might have small infeasiblities that are negligible in many practical settings. The original subgradient algorithm produces only dual solutions.

Project Manager: Francisco Barahona, barahon at us dot ibm dot com

Project Home Page: https://projects.coin-or.org/Vol

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number: 1.5
Stable Release Number: 1.5.3

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Linux gcc

Project Categories: optimization deterministic linear continuous.

yaposib: a Python interface to linear solvers that use the OSI

Project Description:

Yaposib is a python binding to OSI, the Open Solver Interface from COIN-OR. It intends to give access to various solvers through python. Yaposib was created in order to be integrated in COIN-OR/PuLP.

Project Manager: n/a

Project Home Page: https://github.com/coin-or/yaposib

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
boost::python Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

[bg_faq_end]

[bg_faq_start]

ABACUS: An LP-based branch-and-cut framework.

Project Description:

ABACUS is a software system written in C++ that provides a framework for the implementation of branch-and-bound algorithms using linear programming relaxations. Cutting planes or columns can be generated dynamically (branch-and-cut, branch-and-price, branch-and-cut-and-price).

Project Manager: Frank Baumann, Mark Sprenger

Project Home Page: https://github.com/coin-or/ABACUS

Project license: Lesser GNU general public license

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: 3.2betaU1
Stable Release Number: no release version

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc-4.1

Project Categories: optimization deterministic linear discrete.

BCP: A framework for constructing parallel branch-cut-price algorithms for mixed-integer linear programs.

Project Description:

BCP is a parallel framework for implementing branch, cut, and price algorithms for solving mixed integer programs (MIPs). BCP provides the user with an object-oriented framework that can be used to develop an efficient problem class specific MIP solver without all the implementational effort. involved with implementing a branch and bound framework from scratch.

Project Manager: ladanyi at us dot ibm dot com

Project Home Page: https://projects.coin-or.org/Bcp

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 1.4
Stable Release Number: 1.4.3

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: optimization deterministic linear discrete.

CBC: An LP-based branch-and-cut library.

Project Description:

CBC is an open-source MILP solver. It uses many of the COIN-OR components and is designed to be used with CLP. It is available as a library and as a standalone solver.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://github.com/coin-or/Cbc

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
GLPK Optional
GNU Readline Optional
GNU History Optional
AMPL Solver Library (ASL) Optional
BLAS Optional
LAPACK Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 2.10
Stable Release Number: 2.10.0

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Visual Studio, cl
Microsoft Windows / Cygwin / Msys / MinGW gcc, cl
Linux gcc
Mac OS X gcc

Project Categories: optimization deterministic linear discrete.

Cgl: A library of cutting-plane generators.

Project Description:

The COIN-OR Cut Generation Library (Cgl) is an open collection of cutting plane implementations (“cut generators”) for use in teaching, research, and applications. Cgl can be used with other COIN-OR packages that make use of cuts, such as the mixed-integer linear programming solver Cbc. Each cut generator has its own maintainer who leads the development of its functionality, testing, and documentation. See below for a listing of available generators. All the generators are combined in one library when Cgl is compiled.

Project Manager: Robin Lougee (rlougee at us.ibm.com)

Project Home Page: https://github.com/coin-or/Cgl

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 0.60
Stable Release Number: 0.60.3

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux gcc
Mac OS X gcc, clang
Microsoft Windows with MSys2 gcc, cl, icl
Microsoft Windows Visual Studio, cl

Project Categories: optimization deterministic linear discrete.

This is an umbrella project for the following subprojects:

  • Combinatorial cuts:
    • CglAllDifferent
    • CglBKClique
    • CglClique
    • CglCliqueMerging
    • CglKnapsackCover
    • CglOddHole
    • CglOddHoleWC
    • CglZeroHalf
  • Flow cover cuts:
    • CglFlowCover
  • Gomory cuts and variants:
    • CglGomory
    • CglGMI
    • CglRedSplit
    • CglRedSplit2
  • Lift-and-project cuts:
    • CglLiftAndProject
    • CglLandP
  • Mixed integer rounding cuts and variants:
    • CglMixedIntegerRounding
    • CglMixedIntegerRounding2
    • CglTwomir
    • CglResidualCapacity
  • Strengthening:
    • CglDuplicateRow
    • CglPreprocess
    • CglProbing
    • CglSimpleRounding

CHiPPS: A framework for constructing parallel tree search algorithms (includes an LP-based branch-cut-price implementation).

Project Description:

CHiPPS is the COIN-OR Open Parallel Search Framework, a framework for implementing parallel algorithms based on tree search. The current CHiPPS architecture consists of three layers. The Abstract Library for Parallel Search (ALPS) is the base layer of a hierarchy consisting of implementations of various tree search algorithms for specific problem types. The Branch, Constrain, and Price Software (BiCePS) is a data management layer built on top of ALPS for implementing relaxation-based branch and bound algorithms. The BiCePS Linear Integer Solver (BLIS) is a concretization of the BiCePS layer for solving mixed-integer linear programs. ALPS, BiCePS, and BLIS are sub-repostories of the CHiPPS Subversion repository.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CHiPPS

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
BLAS Optional
LAPACK Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project home page
Stable Release Number: see project home page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: optimization deterministic linear discrete, optimization utility.

CoinBinary: Pre-compiled binary distributions of COIN-OR projects.

Project Description:

The goal of this project is to provide sets of libraries and executables precompiled and tested on the most popular platforms for those users who do not need to look at or modify the source code of the COIN projects themselves. The CoinAll distribution is an associated effort to develop a distribution consisting of a set of consistent, interoperable binaries built from the source code of as large a subset of COIN-OR projects as possible. The idea is to allow a user who wants binaries for a large number of COIN projects and wants to ensure that they will all interoperate to be able to download them all at once in a single distribution.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CoinBinary

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Glpk Optional
GNU Readline Optional
GNU History Optional
AMPL Solver Library (ASL) Optional
BLAS Optional
LAPACK Optional
Harwell Subroutine Library Optional
Mumps Optional

Programming Language: C/C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project management page
Stable Release Number: see project management page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization stochastic, optimization utility.

CyLP: a Python interface to Cbc and Clp

Project Description:

CyLP is a Python interface to COIN-OR’s Linear and mixed-integer program solvers (CLP, CBC, and CGL). CyLP’s unique feature is that one can use it to alter the solution process of the solvers from within Python. For example, one may define cut generators, branch-and-bound strategies, and primal/dual Simplex pivot rules completely in Python.

Project Manager: Mehdi Towhidi, mehdi dot towhidi at kronos dot com

Project Home Page: https://github.com/coin-or/CyLP

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Numpy Required
Scipy Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

DIP: A framework for implementing a variety of decomposition-based branch-and-bound algorithms for solving mixed-integer linear programs.

Project Description:

DIP (Decomposition in Integer Programming) is a framework for implementing a wide variety of decomposition-based algorithms for solving integer programs.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/Dip

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
BLAS Optional
LAPACK Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 0.92
Stable Release Number: 0.92.2

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: optimization deterministic linear discrete.

DisCO: A solver library for MISOCP.

Project Description:

DisCO is an open-source distributed memory parallel solver library for MISOCP. It implements various algorithms and is compatible with various other solvers at solving continuous relaxations.

Project Manager: Aykut Bulut, aykutblt at gmail dot com

Project Home Page: https://projects.coin-or.org/DisCO

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Blas
Lapack
Glpk
HSL
Metis
Mumps
OsiConic
CglConic
OsiMosek
OsiCplex

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux gcc
Mac OSX 10.11 clang Xcode 8
Mac OSX 10.12 clang Xcode 8.2

Project Categories: optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

FLOPC++: An algebraic modeling language embedded in C++.

Project Description:

An open source algebraic modelling language implemented as a C++ class library.

Project Manager: Tim Hultberg, tim dot hultberg at eumetsat dot int

Project Home Page: https://projects.coin-or.org/FlopC++

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.2
Stable Release Number: 1.2.4

Project Categories: modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization stochastic.

Java Operations Research Library (jORLib): jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Description:

jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Manager: Joris Kinable, jkinable at cs dot cmu dot edu

Project Home Page: https://projects.coin-or.org/jORLib

Project license: LGPLv2.1

Third-party Software:

Package Required/Optional
jGraphT 0.9.0 Required
Guava 14.0.1 Required
Logback 0.9.28 Required
Slf4j 1.6.1 Required
JUnit 4.12 Optional (unit tests only)

Programming Language: Java 8

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Microsoft Windows

Project Categories: development tools, metaheuristics, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

MibS: Solver for mixed integer bilevel optimization problems.

Project Description:

MibS is a solver for mixed integer bilevel optimization problems.

Project Manager: Ted Ralphs, tkralphs at lehigh dot edu

Project Home Page: https://github.com/coin-or/MibS

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC
Mac OS X clang
Microsoft Windows MSVC++/cl

Project Categories: interfaces, optimization bilevel, optimization deterministic linear discrete.

PuLP: A Python library for modeling linear and integer programs.

Project Description:

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

Project Manager: Stuart Mitchell

Project Home Page: https://github.com/coin-or/Pulp

Project license: MIT License

Third-party Software:

Package Required/Optional
GLPK Optional

Programming Language: python

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number: 1.4
Stable Release Number: 1.4.8

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows python 2.5
Microsoft Windows python 2.4
Linux python 2.6
Linux python 2.5
Linux python 2.4

Project Categories: modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete.

Python MIP: Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs).

Project Description:

Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs). MIP syntax was inspired by Pulp. Just like CyLP it also provides access to advanced solver features like cut generation, MIPstarts and solution Pools. Porting Pulp and Gurobi models should be quite easy.

Project Manager: Haroldo Gambini Santos

Project Home Page: https://github.com/coin-or/python-mip

Project license: Eclipse Public License 2.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Gurobi Optional

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

SONNET: Microsoft .NET wrapper for COIN-OR Open Solver Interface

Project Description:

A wrapper for COIN-OR mixed integer linear programming via OSI to Microsoft .NET

Project Manager: Jan-Willem Goossens

Project Home Page: https://github.com/coin-or/SONNET

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C#

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 1.2
Stable Release Number: 1.1.2

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVS/.NET

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete.

SYMPHONY: A callable library for solving mixed-integer linear programs.

Project Description:

SYMPHONY is an open-source generic MILP solver, callable library, and extensible framework for implementing customized solvers for mixed-integer linear programs (MILPs). SYMPHONY can be built in various sequential and parallel configurations for either distributed or shared memory architectures and can be used “out of the box” as a solver for generic mixed-integer linear programs or customized through a wide variety of user callback functions and control parameters. SYMPHONY has a number of advanced capabilities stemming from the research projects discussed above, including the ability to solve multi-objective MILPs, the ability to warm start its solution procedure, and the ability to perform basic sensitivity analyses. SYMPHONY has has been deployed in a variety of application areas, including computational biology, wireless telecommunications, supply chain management, transportation services, and air transportation.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/SYMPHONY

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Glpk Optional
GNU Readline Optional
GNU History Optional
BLAS Required (any implementation)
Lapack Optional (any implementation)

Programming Language: C

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 5.6
Stable Release Number: 5.6.14

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: optimization deterministic linear discrete.

VRPH: A library of heuristics for generating solutions to variants of the vehicle routing problem.

Project Description:

VRPH is an open source library of heuristics for the capacitated Vehicle Routing Problem (VRP). It includes several example applications that can be used to quickly generate good solutions to VRP instances containing thousands of customer locations. A large set of well-studied benchmark instances is available from the project homepage.

Project Manager: Chris Groer, cgroer at gmail dot com

Project Home Page: https://github.com/coin-or/VRPH

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
GLPK Optional
PLplot Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 3
Stable Version Number: 1.0
Stable Release Number: 1.0.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux g++
Microsoft Windows CYGWIN/g++
Microsoft Windows MSVC++/cl

Project Categories: optimization deterministic linear discrete.

yaposib: a Python interface to linear solvers that use the OSI

Project Description:

Yaposib is a python binding to OSI, the Open Solver Interface from COIN-OR. It intends to give access to various solvers through python. Yaposib was created in order to be integrated in COIN-OR/PuLP.

Project Manager: n/a

Project Home Page: https://github.com/coin-or/yaposib

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
boost::python Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

[bg_faq_end]

[bg_faq_start]

CoinBinary: Pre-compiled binary distributions of COIN-OR projects.

Project Description:

The goal of this project is to provide sets of libraries and executables precompiled and tested on the most popular platforms for those users who do not need to look at or modify the source code of the COIN projects themselves. The CoinAll distribution is an associated effort to develop a distribution consisting of a set of consistent, interoperable binaries built from the source code of as large a subset of COIN-OR projects as possible. The idea is to allow a user who wants binaries for a large number of COIN projects and wants to ensure that they will all interoperate to be able to download them all at once in a single distribution.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CoinBinary

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Glpk Optional
GNU Readline Optional
GNU History Optional
AMPL Solver Library (ASL) Optional
BLAS Optional
LAPACK Optional
Harwell Subroutine Library Optional
Mumps Optional

Programming Language: C/C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project management page
Stable Release Number: see project management page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization stochastic, optimization utility.

DFO: a package for solving general nonlinear optimization problems when derivatives are unavailable

Please consult the DFO home page for further information.

DisCO: A solver library for MISOCP.

Project Description:

DisCO is an open-source distributed memory parallel solver library for MISOCP. It implements various algorithms and is compatible with various other solvers at solving continuous relaxations.

Project Manager: Aykut Bulut, aykutblt at gmail dot com

Project Home Page: https://projects.coin-or.org/DisCO

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Blas
Lapack
Glpk
HSL
Metis
Mumps
OsiConic
CglConic
OsiMosek
OsiCplex

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux gcc
Mac OSX 10.11 clang Xcode 8
Mac OSX 10.12 clang Xcode 8.2

Project Categories: optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

filterSD: A library for nonlinear optimization written in Fortran.

Project Description:

FilterSD is an open-source package for solving Nonlinear Programming Problems and Linearly Constrained Problems in continuous optimization, written in Fortran.

Project Manager: Frank E. Curtis

Project Home Page: https://github.com/coin-or/filterSD

Project license: Eclipse Public License 1.0

Programming Language: Fortran 77

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 2.0
Stable Release Number: 2.0.1

Builds and Passes Unit Test On:

Operating System Compiler
Mac OS X gfortran

Project Categories: optimization deterministic nonlinear.

Ipopt: A solver for general large-scale nonlinear continuous optimization.

Project Description:

Ipopt is an open-source solver for large-scale nonlinear continuous optimization. It can be used from various modeling environments and is available as callable library with interfaces to C++, C, Fortran, Java, and R. Ipopt uses an interior point method, together with a filter linear search procedure.

Project Manager: andreas dot waechter at northwestern dot edu

Project Home Page: https://github.com/coin-or/Ipopt

Project license: Eclipse Public License

Third-party Software:

Package Required/Optional
Blas Required (any implementation)
Lapack Required (any implementation)
Ampl Solver Library Optional
A sparse linear solver (MA27, MA57, HSL_MA86, HSL_MA97, WSMP, Pardiso, MUMPS) Required (at least one)
Metis Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project page
Stable Release Number: see project page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows with MSYS2/MinGW g++
Microsoft Windows with MSYS2 cl
Microsoft Windows with MSYS2 icl+ifort
Linux g++
Mac OSX g++
Mac OSX clang

Project Categories: optimization deterministic nonlinear.

LaGO: A package for the global optimization of nonconvex mixed-integer nonlinear programs.

Project Description:

LaGO (Lagrangian Global Optimizer) is a software-package for the global optimization of nonconvex mixed-integer nonlinear programs (MINLP). LaGO can work with black-box formulations of the functions, but assumes to have sparsity information and methods for the evaluation of function values, gradients, and Hessian-vector-multiplications.

Project Manager: Stefan Vigerske

Project Home Page: https://github.com/coin-or/LaGO

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
GAMS I/O libraries Required if no ASL available
AMPL Solver Library (ASL) Required if no GAMS I/O libraries available
Blas Required if IPOPT is used
Lapack Optional
A sparse linear solver (MA27, MA57, WSMP, Paradiso, HSL, MUMPS) Required if IPOPT is used
FILIB++ Optional
METIS Required
ranlib Required
TNT Required
CPLEX Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number: 0.3
Stable Release Number: no release version

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc

Project Categories: optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

MC++: A toolkit for bounding factorable functions.

Project Description:

MC++ is a toolkit for bounding factorable functions. It provides methods for computing bounds on a factorable function in the form of convex/concave relaxations, Taylor models, and spectral bounds.

Project Manager: Benoit Chachuat

Project Home Page: https://github.com/coin-or/MCpp

Project license: Eclipse Public License 1.0

Third-party Software:

Package Required/Optional
fadbad++ Required
Blas Required
Lapack Required
PROFIL Optional
FILIB++ Optional
CppUnit Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux GNU

Project Categories: optimization deterministic nonlinear.

MOCHA: Heuristics and algorithms for multicriteria matroid optimization.

Project Description:

MOCHA is a software package which contains algorithms and heuristics to solve multicriteria matroid optimization problems. Beyond specific algorithms and heuristics, our package also contains and uses matroid (and related) data structures which can be used as a foundation for new and old algorithms and heuristics.

Project Manager: David Haws

Project Home Page: https://github.com/coin-or/MOCHA

Project license: Eclipse Public License 1.0

Third-party Software:

Package Required/Optional
LAPACK Required
BLAS Required
GMP Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number: 1.0
Stable Release Number: 1.0.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Mac gcc

Project Categories: graphs, optimization deterministic nonlinear, optimization stochastic.

NLPAPI: A subroutine interface for defining and solving nonlinear programming problems.

Project Description:

NLPAPI is a set of subroutines and data structures for defining nonlinear programming problems. It includes an interface to call LANCELOT to solve the problem (you need to get your own copy of LANCELOT), and an interface to IPOPT.

Project Manager: Michael E Henderson

Project Home Page: https://github.com/coin-or/NLPAPI

Project license: Common Public License 1.0

Programming Language: C

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: 0.9
Stable Release Number: 0.9.0

Builds and Passes Unit Test On:

Operating System Compiler
Windows cygwin gcc
GNU/Linux gcc
AIX xlc

Project Categories: development tools, optimization deterministic nonlinear.

oBB: Parallel global optimization of Hessian Lipschitz continuous functions.

Project Description:

An algorithm for the parallel global optimization of functions with a Lipschitz continuous gradient or Hessian.

Project Manager: Jaroslav Fowkes

Project Home Page: https://github.com/coin-or/oBB

Project license: Gnu Lesser General Public License Version 3

Third-party Software:

Package Required/Optional
Python Required
OpenMPI or another working implementation of MPI-2 Required
NumPy Required
MPI for Python Required
CVXOPT Required
matplotlib Optional

Programming Language: Python

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: no stable version
Stable Release Number: no release version

Builds and Passes Unit Test On:

Operating System Compiler
Linux GNU

Project Categories: optimization deterministic nonlinear.

OptiML: interior point, active set method and parametric solvers for support vector machines, solver for the sparse inverse covariance problem

Please consult the OptiML home page for further information.

qpOASES: An open-source C++ implementation of the recently proposed online active set strategy.

Project Description:

qpOASES is an open-source C++ implementation of the recently proposed online active set strategy for solving quadratic programming (QP) problems. It has several theoretical features that make it particularly suited for model predictive control (MPC) applications. Further numerical modifications have made qpOASES a reliable QP solver, even when tackling semi-definite, ill-posed or degenerated QP problems. Moreover, several interfaces to third-party software make qpOASES easy-to-use even for users without knowledge of C/C++.

Project Manager: Joachim Ferreau

Project Home Page: https://github.com/coin-or/qpOASES

Project license: ​GNU Lesser General Public License (LGPL), v2.1

Third-party Software:

Package Required/Optional
BLAS Optional
LAPACK Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number: 3.2
Stable Release Number: 3.2.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux g++
Microsoft Windows CYGWIN/g++

Project Categories: optimization deterministic nonlinear.

The Supporting Hyperplane Optimization Toolkit (SHOT): A deterministic convex MINLP solver.

Project Description:

SHOT is a deterministic convex MINLP solver based on polyhedral outer approximation and primal heuristics.

Project Manager: Andreas Lundell, andreas dot lundell at abo dot fi

Project Home Page: http://www.github.com/COIN-OR/SHOT

Project license: Eclipse Public License 2.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Boost Required
IBM ILOG CPLEX Optional
Gurobi Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux

Project Categories: optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

[bg_faq_end]

[bg_faq_start]

BONMIN: An experimental open-source C++ code for solving general MINLP (Mixed Integer NonLinear Programming) problems.

Project Description:

BONMIN (Basic Open-source Nonlinear Mixed INteger programming) is an open-source code for solving general MINLP (Mixed Integer NonLinear Programming) problems. It is distributed on COIN-OR under the CPL (Common Public License).

Project Manager: Pierre Bonami

Project Home Page: https://coin-or.github.io/Bonmin

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Ampl Solver Library Optional
Blas Required (any implementation)
CPLEX Optional
Lapack Optional (any implementation)
MA27 Required

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: 1.8
Stable Release Number: 1.8.8

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows CYGWIN/g++
Microsoft Windows MSys/g++
Linux g++
Mac OSX g++

Project Categories: optimization deterministic nonlinear discrete.

DisCO: A solver library for MISOCP.

Project Description:

DisCO is an open-source distributed memory parallel solver library for MISOCP. It implements various algorithms and is compatible with various other solvers at solving continuous relaxations.

Project Manager: Aykut Bulut, aykutblt at gmail dot com

Project Home Page: https://projects.coin-or.org/DisCO

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Blas
Lapack
Glpk
HSL
Metis
Mumps
OsiConic
CglConic
OsiMosek
OsiCplex

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux gcc
Mac OSX 10.11 clang Xcode 8
Mac OSX 10.12 clang Xcode 8.2

Project Categories: optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

LaGO: A package for the global optimization of nonconvex mixed-integer nonlinear programs.

Project Description:

LaGO (Lagrangian Global Optimizer) is a software-package for the global optimization of nonconvex mixed-integer nonlinear programs (MINLP). LaGO can work with black-box formulations of the functions, but assumes to have sparsity information and methods for the evaluation of function values, gradients, and Hessian-vector-multiplications.

Project Manager: Stefan Vigerske

Project Home Page: https://github.com/coin-or/LaGO

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
GAMS I/O libraries Required if no ASL available
AMPL Solver Library (ASL) Required if no GAMS I/O libraries available
Blas Required if IPOPT is used
Lapack Optional
A sparse linear solver (MA27, MA57, WSMP, Paradiso, HSL, MUMPS) Required if IPOPT is used
FILIB++ Optional
METIS Required
ranlib Required
TNT Required
CPLEX Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number: 0.3
Stable Release Number: no release version

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc

Project Categories: optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

RBFOpt: A global derivative-free solver.

Project Description:

Library for black-box (also known as derivative-free) optimization written in Python. Currently, the software supports box-constrained problems with continuous and discrete variables.

Project Manager: Giacomo Nannicini, giacomo dot n at gmail dot com

Project Home Page: https://projects.coin-or.org/RBFOpt/wiki

Project license: Revised BSD license (3-clause BSD license)

Linked COIN-OR Projects:

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.1.0
Stable Release Number: 1.1.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Mac OS X
Microsoft Windows

Project Categories: optimization convex non-differentiable, optimization deterministic nonlinear discrete, optimization utility.

The Supporting Hyperplane Optimization Toolkit (SHOT): A deterministic convex MINLP solver.

Project Description:

SHOT is a deterministic convex MINLP solver based on polyhedral outer approximation and primal heuristics.

Project Manager: Andreas Lundell, andreas dot lundell at abo dot fi

Project Home Page: http://www.github.com/COIN-OR/SHOT

Project license: Eclipse Public License 2.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Boost Required
IBM ILOG CPLEX Optional
Gurobi Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux

Project Categories: optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

[bg_faq_end]

[bg_faq_start]

Couenne: A branch-and-bound algorithm for mixed integer nonlinear programming problems.

Project Description:

Couenne (Convex Over and Under ENvelopes for Nonlinear Estimation) is a spatial branch & bound algorithm that implements linearization, bound reduction, and branching techniques for Mixed-integer, Nonlinear Programming (MINLP) problems. The purpose of Couenne is to find global optima of nonconvex MINLPs.

Project Manager: Pietro Belotti

Project Home Page: https://github.com/coin-or/Couenne

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Ampl Solver Library Optional
Blas Required (any implementation)
Lapack Optional (any implementation)
At least one sparse linear solver (Mumps or MA27) Required

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number: 0.5
Stable Release Number: 0.5.8

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Microsoft Windows CYGWIN/gcc

Project Categories: optimization deterministic nonlinear nonconvex mixed-integer.

[bg_faq_end]

[bg_faq_start]

CSDP: A software package for semidefinite programming.

Project Description:

A software package for semidefinite programming.

Project Manager: Brian Borchers borchers at nmt dot edu

Project Home Page: https://github.com/coin-or/Csdp

Project license: Common Public License 1.0

Third-party Software:

Package Required/Optional
BLAS Required
LAPACK Required

Programming Language: C

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 6.2
Stable Release Number: 6.2.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Windows MinGW gcc
Solaris sunpro
AIX xlc

Project Categories: optimization deterministic semidefinite continuous.

[bg_faq_end]

[bg_faq_start]

CoinBinary: Pre-compiled binary distributions of COIN-OR projects.

Project Description:

The goal of this project is to provide sets of libraries and executables precompiled and tested on the most popular platforms for those users who do not need to look at or modify the source code of the COIN projects themselves. The CoinAll distribution is an associated effort to develop a distribution consisting of a set of consistent, interoperable binaries built from the source code of as large a subset of COIN-OR projects as possible. The idea is to allow a user who wants binaries for a large number of COIN projects and wants to ensure that they will all interoperate to be able to download them all at once in a single distribution.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CoinBinary

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Glpk Optional
GNU Readline Optional
GNU History Optional
AMPL Solver Library (ASL) Optional
BLAS Optional
LAPACK Optional
Harwell Subroutine Library Optional
Mumps Optional

Programming Language: C/C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project management page
Stable Release Number: see project management page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization stochastic, optimization utility.

FLOPC++: An algebraic modeling language embedded in C++.

Project Description:

An open source algebraic modelling language implemented as a C++ class library.

Project Manager: Tim Hultberg, tim dot hultberg at eumetsat dot int

Project Home Page: https://projects.coin-or.org/FlopC++

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.2
Stable Release Number: 1.2.4

Project Categories: modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization stochastic.

MOCHA: Heuristics and algorithms for multicriteria matroid optimization.

Project Description:

MOCHA is a software package which contains algorithms and heuristics to solve multicriteria matroid optimization problems. Beyond specific algorithms and heuristics, our package also contains and uses matroid (and related) data structures which can be used as a foundation for new and old algorithms and heuristics.

Project Manager: David Haws

Project Home Page: https://github.com/coin-or/MOCHA

Project license: Eclipse Public License 1.0

Third-party Software:

Package Required/Optional
LAPACK Required
BLAS Required
GMP Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number: 1.0
Stable Release Number: 1.0.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Mac gcc

Project Categories: graphs, optimization deterministic nonlinear, optimization stochastic.

Pyomo: Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models.

Project Description:

Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. Modeling optimization applications is a core capability of Pyomo. Pyomo can be used to define symbolic problems, create concrete problem instances, and solve these instances with standard solvers. Thus, Pyomo provides a capability that is commonly associated with algebraic modeling languages such as AMPL, AIMMS, and GAMS, but Pyomo’s modeling objects are embedded within a full-featured high-level programming language with a rich set of supporting libraries.

Project Manager: William Hart, wehart at sandia dot gov, Jean-Paul Watson, jwatson at sandia dot gov and John Siirola, jdsiiro at sandia dot gov

Project Home Page: http://www.pyomo.org/

Project license: BSD

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 4.2
Stable Release Number: 4.2.10784

Builds and Passes Unit Test On:

Operating System Compiler
Any Python 2.6, 2.7, 3.3, and 3.4

Project Categories: modeling systems, development tools, optimization stochastic, optimization utility.

SMI: A stochastic modelling interface for optimization under uncertainty.

Project Description:

SMI is an open-source interface for modeling stochastic linear programming problems. Currently it supports: a scenario tree structure for multiperiod stochastic data, an implementation of a Stochastic MPS (SMPS) reader, direct interfaces for generating scenario trees from paths and from discrete random variables, generating the deterministic equivalent problem for OSI compatible solvers, and parsing the solutions by stage and scenario.

Project Manager: Alan King, kingaj at us dot ibm dot com

Project Home Page: https://projects.coin-or.org/Smi

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 0.96
Stable Release Number: 0.96.0

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Visual C++
Linux gcc

Project Categories: optimization stochastic.

[bg_faq_end]

[bg_faq_start]

ADOL-C: A package for the automatic differentiation of C and C++ programs.

Project Description:

ADOL-C is an open-source package for the automatic differentiation of C and C++ programs. The resulting evaluation routines for first and higher-order derivatives may be called from C, C++, Fortran, or any other language that can be linked with C. The numerical values of derivative vectors are obtained free of truncation errors at a small multiple of the run time and random access memory required by the given function evaluation program. Derivative matrices are obtained by columns, by rows or in sparse format. For solution curves defined by ordinary differential equations, special routines are provided that evaluate the Taylor coefficient vectors and their Jacobians with respect to the current state vector. For explicitly or implicitly defined functions derivative tensors are obtained with a complexity that grows only quadratically in their degree.

Project Manager: Andrea Walther

Project Home Page: https://github.com/coin-or/ADOL-C

Project license: Eclipse Public License 1.0 or GNU General Public License 2.0

Third-party Software:

Package Required/Optional
ColPack Optional (for exploitation of sparsity)

Programming Language: C and C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 2.7
Stable Release Number: 2.7.2

Builds and Passes Unit Test On:

Operating System Compiler
Linux g++
Linux Intel icpc
Mac OS X g++
Microsoft Windows CYGWIN/icl
Microsoft Windows MSVC++/cl

Project Categories: optimization utility.

Cgc: A collection of network representations and algorithms.

Project Description:

Cgc is a collection of network representations to facilitate the development and implementation of network algorithms.

Project Manager: hpwalton at yahoo.com

Project Home Page: https://github.com/coin-or/Cgc

Project license: Common Public License 1.0

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl

Project Categories: graphs, optimization utility.

CHiPPS: A framework for constructing parallel tree search algorithms (includes an LP-based branch-cut-price implementation).

Project Description:

CHiPPS is the COIN-OR Open Parallel Search Framework, a framework for implementing parallel algorithms based on tree search. The current CHiPPS architecture consists of three layers. The Abstract Library for Parallel Search (ALPS) is the base layer of a hierarchy consisting of implementations of various tree search algorithms for specific problem types. The Branch, Constrain, and Price Software (BiCePS) is a data management layer built on top of ALPS for implementing relaxation-based branch and bound algorithms. The BiCePS Linear Integer Solver (BLIS) is a concretization of the BiCePS layer for solving mixed-integer linear programs. ALPS, BiCePS, and BLIS are sub-repostories of the CHiPPS Subversion repository.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CHiPPS

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
BLAS Optional
LAPACK Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project home page
Stable Release Number: see project home page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: optimization deterministic linear discrete, optimization utility.

Coin Bazaar: Small examples and extensions of COIN-OR projects.

Project Description:

The Coin Bazaar project facilitates community involvement in the COIN-OR repositories. This project allows OR researchers to contribute code examples, application examples and code extensions and plugins without directly contributing to a regular COIN-OR project. Thus, this project helps bridge the gap between core package development and package extensions. Specific goals of this project are (1) to manage extensions to COIN-OR packages that have limited subversion access, (2) allow developers and COIN-OR users to share code and application examples, and (3) provide a home for auxilliary software tools that facilitate the use of COIN-OR tools.

Project Manager: William Hart, wehart at sandia dot gov

Project Home Page: https://projects.coin-or.org/CoinBazaar

Project license: Individual Coin Bazaar projects are licensed separately under OSI approved licenses.

Programming Language: Coin Bazaar packages may be written in a variety of languages.

Development Status:

Activity Status: Active
Maturity Level: Various
Stable Version Number:
Stable Release Number:

Project Categories: development tools, optimization utility.

CoinBinary: Pre-compiled binary distributions of COIN-OR projects.

Project Description:

The goal of this project is to provide sets of libraries and executables precompiled and tested on the most popular platforms for those users who do not need to look at or modify the source code of the COIN projects themselves. The CoinAll distribution is an associated effort to develop a distribution consisting of a set of consistent, interoperable binaries built from the source code of as large a subset of COIN-OR projects as possible. The idea is to allow a user who wants binaries for a large number of COIN projects and wants to ensure that they will all interoperate to be able to download them all at once in a single distribution.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CoinBinary

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Glpk Optional
GNU Readline Optional
GNU History Optional
AMPL Solver Library (ASL) Optional
BLAS Optional
LAPACK Optional
Harwell Subroutine Library Optional
Mumps Optional

Programming Language: C/C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project management page
Stable Release Number: see project management page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization stochastic, optimization utility.

CoinMP: A lightweight API and DLL for CLP, CBC, and CGL.

Project Description:

CoinMP is a C-API interface library that supports most of the functionality of the CLP (Coin LP), CBC (Coin Branch-and-Cut), and CGL (Cut Generation Library) projects. When compiled for Windows it generates a CoinMP.dll library that can be readily used in other Windows C/C++ projects. When compiled for Unix it generates a CoinMP.so library that can be similarly used in other Unix C/C++ projects. The project includes precompiled CoinMP.dll that is ready to be used as is in other Windows applications.

Project Manager: Bjarni Kristjansson, bjarni at maximalsoftware dot com

Project Home Page: https://projects.coin-or.org/CoinMP

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Programming Language: C

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.8
Stable Release Number: 1.8.3

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc/cl
Linux gcc/g++
Mac OSX gcc
Solaris x86 gcc

Project Categories: interfaces, modeling systems, optimization utility.

CoinUtils: Utilities, data structures, and linear algebra methods for COIN-OR projects.

Project Description:

The CoinUtils project is a collection of open-source utilities developed and used by a variety of other projects in the COIN-OR repository. The project includes classes for storing and manipulating sparse matrices and vectors, performing matrix factorization, parsing input files in standard formats, building representations of mathematical programs, comparing floating point numbers with a tolerance, performing simple presolve operations, and warm starting algorithms for mathematical programs, among others.

Project Manager: Laszlo Ladanyi, ladanyi at us dot ibm dot com

Project Home Page: https://www.github.com/coin-or/CoinUtils

Project license: Eclipse Public License 1.0

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 2.11
Stable Release Number: 2.11.4

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Mac OS X gcc
Microsoft Windows MSys2/cl
Microsoft Windows MSys2/icl
Microsoft Windows MSys2/gcc
Microsoft Windows MSVC++/cl

Project Categories: optimization utility.

CppAD: A tool for differentiation of C++ functions.

Project Description:

Given a C++ algorithm that computes function values, CppAD generates an algorithm that computes corresponding derivative values.

Project Manager: Brad Bell, http://www.seanet.com/~bradbell

Project Home Page: http://www.coin-or.org/CppAD

Project license: Eclipse Public License 2.0 or (GNU General Public License 2.0 or later)

Third-party Software:

Package Required/Optional
ADOL-C Optional
Boost: uBlas vector, Thread Optional
ColPack Optional
Eigen Optional
FADBAD Optional
Ipopt Optional
OpenMP Optional
Pthread Optional
Sacado Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 20200000
Stable Release Number: 20200000.1

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++
Mac clang
Cygwin gcc, clang
Msys2 gcc, clang
Linux gcc, clang

Project Categories: optimization utility.

Java Operations Research Library (jORLib): jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Description:

jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Manager: Joris Kinable, jkinable at cs dot cmu dot edu

Project Home Page: https://projects.coin-or.org/jORLib

Project license: LGPLv2.1

Third-party Software:

Package Required/Optional
jGraphT 0.9.0 Required
Guava 14.0.1 Required
Logback 0.9.28 Required
Slf4j 1.6.1 Required
JUnit 4.12 Optional (unit tests only)

Programming Language: Java 8

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Microsoft Windows

Project Categories: development tools, metaheuristics, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

LEMON: A C++ template library aimed at combinatorial optimization tasks, especially those working with graphs and networks.

Project Description:

Library of Efficient Models and Optimization in Networks – A C++ template library providing easy-to-use implementations of common graph and network related data structures and algorithms.

Project Manager: alpar at cs.elte.hu

Project Home Page: http://lemon.cs.elte.hu/

Project license: Boost License 1.0

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.2
Stable Release Number: 1.2.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC 3.3 and upwards
Linux Intel C++ 11.1,13.1.3
AIX xlC
Microsoft Windows Visual C++ 2005,2008
Microsoft Windows Cygwin/GCC
Microsoft Windows MinGW

Project Categories: graphs, optimization utility.

Paver: Python scripts to do comparisons of solver performance.

Project Description:

These tools are meant to simplify the task of performance data comparison and visualization.

Project Manager: Stefan Vigerske, stefan at gams.com

Project Home Page: https://github.com/coin-or/Paver

Project license: Eclipse Public License 1.0

Third-party Software:

Package Required/Optional
Python 2.7 required
Numpy required
Pandas required
Matplotlib required

Programming Language: Python 2.x

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux Python 2.7

Project Categories: optimization utility, python tools.

PFunc: A lightweight and portable library that provides C and C++ APIs to express task parallelism.

Project Description:

PFunc, short for Parallel Functions, is a lightweight and portable library that provides C and C++ APIs to express task parallelism. The features offered by PFunc are a strict superset of the features offered by current solutions for task parallelism such as Cilk and Intel’s Threading Building Blocks. Specifically, PFunc extends the feature set of current solutions with custom task scheduling, task priorities and task affinities. Furthermore, PFunc offers task groups for SPMD-style programming and multiple task completion notifications for parallel execution of DAGs. PFunc’s extended feature set is geared towards helping knowledgeable users optimize their application performance.

Project Manager: Prabhanjan Kambadur

Project Home Page: https://github.com/coin-or/PFunc

Project license: Eclipse Public License 1.0

Programming Language: C, C++

Development Status:

Activity Status: Inactive
Maturity Level: 3
Stable Version Number: 1.0
Stable Release Number: 1.0.2

Builds and Passes Unit Test On:

Operating System Compiler
Ubuntu Linux gcc
Fedora Linux gcc
RHEL Server release 5.5 gcc
OS X Leopard gcc
AIX xlc
Windows XP Pro Visual Studio Express 10.0

Project Categories: optimization utility.

Pyomo: Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models.

Project Description:

Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. Modeling optimization applications is a core capability of Pyomo. Pyomo can be used to define symbolic problems, create concrete problem instances, and solve these instances with standard solvers. Thus, Pyomo provides a capability that is commonly associated with algebraic modeling languages such as AMPL, AIMMS, and GAMS, but Pyomo’s modeling objects are embedded within a full-featured high-level programming language with a rich set of supporting libraries.

Project Manager: William Hart, wehart at sandia dot gov, Jean-Paul Watson, jwatson at sandia dot gov and John Siirola, jdsiiro at sandia dot gov

Project Home Page: http://www.pyomo.org/

Project license: BSD

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 4.2
Stable Release Number: 4.2.10784

Builds and Passes Unit Test On:

Operating System Compiler
Any Python 2.6, 2.7, 3.3, and 3.4

Project Categories: modeling systems, development tools, optimization stochastic, optimization utility.

Python MIP: Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs).

Project Description:

Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs). MIP syntax was inspired by Pulp. Just like CyLP it also provides access to advanced solver features like cut generation, MIPstarts and solution Pools. Porting Pulp and Gurobi models should be quite easy.

Project Manager: Haroldo Gambini Santos

Project Home Page: https://github.com/coin-or/python-mip

Project license: Eclipse Public License 2.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Gurobi Optional

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

RBFOpt: A global derivative-free solver.

Project Description:

Library for black-box (also known as derivative-free) optimization written in Python. Currently, the software supports box-constrained problems with continuous and discrete variables.

Project Manager: Giacomo Nannicini, giacomo dot n at gmail dot com

Project Home Page: https://projects.coin-or.org/RBFOpt/wiki

Project license: Revised BSD license (3-clause BSD license)

Linked COIN-OR Projects:

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.1.0
Stable Release Number: 1.1.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Mac OS X
Microsoft Windows

Project Categories: optimization convex non-differentiable, optimization deterministic nonlinear discrete, optimization utility.

[bg_faq_end]

[bg_faq_start]

CyLP: a Python interface to Cbc and Clp

Project Description:

CyLP is a Python interface to COIN-OR’s Linear and mixed-integer program solvers (CLP, CBC, and CGL). CyLP’s unique feature is that one can use it to alter the solution process of the solvers from within Python. For example, one may define cut generators, branch-and-bound strategies, and primal/dual Simplex pivot rules completely in Python.

Project Manager: Mehdi Towhidi, mehdi dot towhidi at kronos dot com

Project Home Page: https://github.com/coin-or/CyLP

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Numpy Required
Scipy Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

GiMPy: a Python library containing pure Python implementations of a variety of graph algorithms with visualizations

Project Description:

Graph Methods in Python (GiMPy) is a Python graph library containing pure Python implementations of a variety of graph algorithms. The goal is clarity in implementation rather than eficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.

Project Manager: Ted Ralphs, ted at lehigh.edu

Project Home Page: https://github.com/coin-or/GiMPy

Project license: Eclipse Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Python 2.7
Linux Python 2.7
OS X Python 2.7

Project Categories: graphs.

GrUMPy: a Python library for visualizing various aspects of mathematical programming, including visualizations of the branch-and-cut process, branch-and-bound trees, polyhedra, cutting plane methods, etc.

Project Description:

Graphics for Understanding Mathematical Programming in Python (GrUMPy) is a Python library for visualizing various aspects of mathematical programming, including visualizations of the branch-and process, branch-and-bound trees, polyhedra, cutting plane methods, etc. The goal is clarity in implementation rather than efficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.

Project Manager: Ted Ralphs, ted at lehigh.edu

Project Home Page: https://github.com/coin-or/GrUMPy

Project license: Eclipse Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 0.6
Stable Release Number: 0.6.1

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Python 2.7
Linux Python 2.7
OS X Python 2.7

Project Categories: optimization utility, optimization deterministic linear discrete.

Paver: Python scripts to do comparisons of solver performance.

Project Description:

These tools are meant to simplify the task of performance data comparison and visualization.

Project Manager: Stefan Vigerske, stefan at gams.com

Project Home Page: https://github.com/coin-or/Paver

Project license: Eclipse Public License 1.0

Third-party Software:

Package Required/Optional
Python 2.7 required
Numpy required
Pandas required
Matplotlib required

Programming Language: Python 2.x

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux Python 2.7

Project Categories: optimization utility, python tools.

yaposib: a Python interface to linear solvers that use the OSI

Project Description:

Yaposib is a python binding to OSI, the Open Solver Interface from COIN-OR. It intends to give access to various solvers through python. Yaposib was created in order to be integrated in COIN-OR/PuLP.

Project Manager: n/a

Project Home Page: https://github.com/coin-or/yaposib

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
boost::python Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

[bg_faq_end]

[bg_faq_start]

jMarkov: An open-source tool for Markov chain modeling, including finite Markov chains, quasi-birth-and-death processes, phase-type distributions, and Markov decision processes.

Project Description:

jMarkov is an open-source tool for Markov chain modeling. jMarkov includes support for finite Markov chain, quasi-birth-and-death processes, phase-type distributions, and Markov decision processes.

Project Manager: Juan F. Perez

Project Home Page: https://github.com/coin-or/jMarkov

Project license: Eclipse Public License 1.0

Programming Language: Java

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: no stable version
Stable Release Number: 1.0

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows javac

Project Categories: stochastic modeling.

[bg_faq_end]

[bg_faq_start]

GiMPy: a Python library containing pure Python implementations of a variety of graph algorithms with visualizations

Project Description:

Graph Methods in Python (GiMPy) is a Python graph library containing pure Python implementations of a variety of graph algorithms. The goal is clarity in implementation rather than eficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.

Project Manager: Ted Ralphs, ted at lehigh.edu

Project Home Page: https://github.com/coin-or/GiMPy

Project license: Eclipse Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Python 2.7
Linux Python 2.7
OS X Python 2.7

Project Categories: graphs.

GrUMPy: a Python library for visualizing various aspects of mathematical programming, including visualizations of the branch-and-cut process, branch-and-bound trees, polyhedra, cutting plane methods, etc.

Project Description:

Graphics for Understanding Mathematical Programming in Python (GrUMPy) is a Python library for visualizing various aspects of mathematical programming, including visualizations of the branch-and process, branch-and-bound trees, polyhedra, cutting plane methods, etc. The goal is clarity in implementation rather than efficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.

Project Manager: Ted Ralphs, ted at lehigh.edu

Project Home Page: https://github.com/coin-or/GrUMPy

Project license: Eclipse Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 0.6
Stable Release Number: 0.6.1

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Python 2.7
Linux Python 2.7
OS X Python 2.7

Project Categories: optimization utility, optimization deterministic linear discrete.

[bg_faq_end]

Projects alphabetically:

[bg_faq_start]

ABACUS: An LP-based branch-and-cut framework.

Project Description:

ABACUS is a software system written in C++ that provides a framework for the implementation of branch-and-bound algorithms using linear programming relaxations. Cutting planes or columns can be generated dynamically (branch-and-cut, branch-and-price, branch-and-cut-and-price).

Project Manager: Frank Baumann, Mark Sprenger

Project Home Page: https://github.com/coin-or/ABACUS

Project license: Lesser GNU general public license

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: 3.2betaU1
Stable Release Number: no release version

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc-4.1

Project Categories: optimization deterministic linear discrete.

ADOL-C: A package for the automatic differentiation of C and C++ programs.

Project Description:

ADOL-C is an open-source package for the automatic differentiation of C and C++ programs. The resulting evaluation routines for first and higher-order derivatives may be called from C, C++, Fortran, or any other language that can be linked with C. The numerical values of derivative vectors are obtained free of truncation errors at a small multiple of the run time and random access memory required by the given function evaluation program. Derivative matrices are obtained by columns, by rows or in sparse format. For solution curves defined by ordinary differential equations, special routines are provided that evaluate the Taylor coefficient vectors and their Jacobians with respect to the current state vector. For explicitly or implicitly defined functions derivative tensors are obtained with a complexity that grows only quadratically in their degree.

Project Manager: Andrea Walther

Project Home Page: https://github.com/coin-or/ADOL-C

Project license: Eclipse Public License 1.0 or GNU General Public License 2.0

Third-party Software:

Package Required/Optional
ColPack Optional (for exploitation of sparsity)

Programming Language: C and C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 2.7
Stable Release Number: 2.7.2

Builds and Passes Unit Test On:

Operating System Compiler
Linux g++
Linux Intel icpc
Mac OS X g++
Microsoft Windows CYGWIN/icl
Microsoft Windows MSVC++/cl

Project Categories: optimization utility.

AIMMSlinks: Links between the modeling language AIMMS and solvers that are hosted at COIN-OR.

Project Description:

The AIMMSlinks project is dedicated to the development of links between the modeling language AIMMS and solvers that are hosted at COIN-OR.

Project Manager: marcel dot hunting at aimms dot com

Project Home Page: https://github.com/coin-or/AIMMSlinks

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Blas Required for IPOPT
Lapack Optional for IPOPT
A sparse linear solver (MA27, MA57, WSMP, Pardiso, MUMPS) Required (at least one) for IPOPT
AIMMS Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 1.1
Stable Release Number: 1.1.0

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Linux g++

Project Categories: interfaces.

BCP: A framework for constructing parallel branch-cut-price algorithms for mixed-integer linear programs.

Project Description:

BCP is a parallel framework for implementing branch, cut, and price algorithms for solving mixed integer programs (MIPs). BCP provides the user with an object-oriented framework that can be used to develop an efficient problem class specific MIP solver without all the implementational effort. involved with implementing a branch and bound framework from scratch.

Project Manager: ladanyi at us dot ibm dot com

Project Home Page: https://projects.coin-or.org/Bcp

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 1.4
Stable Release Number: 1.4.3

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: optimization deterministic linear discrete.

BONMIN: An experimental open-source C++ code for solving general MINLP (Mixed Integer NonLinear Programming) problems.

Project Description:

BONMIN (Basic Open-source Nonlinear Mixed INteger programming) is an open-source code for solving general MINLP (Mixed Integer NonLinear Programming) problems. It is distributed on COIN-OR under the CPL (Common Public License).

Project Manager: Pierre Bonami

Project Home Page: https://coin-or.github.io/Bonmin

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Ampl Solver Library Optional
Blas Required (any implementation)
CPLEX Optional
Lapack Optional (any implementation)
MA27 Required

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: 1.8
Stable Release Number: 1.8.8

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows CYGWIN/g++
Microsoft Windows MSys/g++
Linux g++
Mac OSX g++

Project Categories: optimization deterministic nonlinear discrete.

BuildTools: Tools for managing configuration and compilation of various COIN-OR projects under Linux, Unix, and Cygwin.

Project Description:

COIN-OR developer tools and documentation, tools for managing configuration and compilation of various COIN-OR projects under Linux, Unix, and Cygwin.

Project Manager: stefan at gams dot com

Project Home Page: https://projects.coin-or.org/BuildTools

Project license: Eclipse Public License 1.0

Programming Language: Shell script (/bin/sh); autoconf

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 0.8
Stable Release Number: 0.8.7

Project Categories: development tools.

CBC: An LP-based branch-and-cut library.

Project Description:

CBC is an open-source MILP solver. It uses many of the COIN-OR components and is designed to be used with CLP. It is available as a library and as a standalone solver.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://github.com/coin-or/Cbc

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
GLPK Optional
GNU Readline Optional
GNU History Optional
AMPL Solver Library (ASL) Optional
BLAS Optional
LAPACK Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 2.10
Stable Release Number: 2.10.0

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Visual Studio, cl
Microsoft Windows / Cygwin / Msys / MinGW gcc, cl
Linux gcc
Mac OS X gcc

Project Categories: optimization deterministic linear discrete.

Cgc: A collection of network representations and algorithms.

Project Description:

Cgc is a collection of network representations to facilitate the development and implementation of network algorithms.

Project Manager: hpwalton at yahoo.com

Project Home Page: https://github.com/coin-or/Cgc

Project license: Common Public License 1.0

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl

Project Categories: graphs, optimization utility.

Cgl: A library of cutting-plane generators.

Project Description:

The COIN-OR Cut Generation Library (Cgl) is an open collection of cutting plane implementations (“cut generators”) for use in teaching, research, and applications. Cgl can be used with other COIN-OR packages that make use of cuts, such as the mixed-integer linear programming solver Cbc. Each cut generator has its own maintainer who leads the development of its functionality, testing, and documentation. See below for a listing of available generators. All the generators are combined in one library when Cgl is compiled.

Project Manager: Robin Lougee (rlougee at us.ibm.com)

Project Home Page: https://github.com/coin-or/Cgl

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 0.60
Stable Release Number: 0.60.3

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux gcc
Mac OS X gcc, clang
Microsoft Windows with MSys2 gcc, cl, icl
Microsoft Windows Visual Studio, cl

Project Categories: optimization deterministic linear discrete.

This is an umbrella project for the following subprojects:

  • Combinatorial cuts:
    • CglAllDifferent
    • CglBKClique
    • CglClique
    • CglCliqueMerging
    • CglKnapsackCover
    • CglOddHole
    • CglOddHoleWC
    • CglZeroHalf
  • Flow cover cuts:
    • CglFlowCover
  • Gomory cuts and variants:
    • CglGomory
    • CglGMI
    • CglRedSplit
    • CglRedSplit2
  • Lift-and-project cuts:
    • CglLiftAndProject
    • CglLandP
  • Mixed integer rounding cuts and variants:
    • CglMixedIntegerRounding
    • CglMixedIntegerRounding2
    • CglTwomir
    • CglResidualCapacity
  • Strengthening:
    • CglDuplicateRow
    • CglPreprocess
    • CglProbing
    • CglSimpleRounding

CHiPPS: A framework for constructing parallel tree search algorithms (includes an LP-based branch-cut-price implementation).

Project Description:

CHiPPS is the COIN-OR Open Parallel Search Framework, a framework for implementing parallel algorithms based on tree search. The current CHiPPS architecture consists of three layers. The Abstract Library for Parallel Search (ALPS) is the base layer of a hierarchy consisting of implementations of various tree search algorithms for specific problem types. The Branch, Constrain, and Price Software (BiCePS) is a data management layer built on top of ALPS for implementing relaxation-based branch and bound algorithms. The BiCePS Linear Integer Solver (BLIS) is a concretization of the BiCePS layer for solving mixed-integer linear programs. ALPS, BiCePS, and BLIS are sub-repostories of the CHiPPS Subversion repository.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CHiPPS

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
BLAS Optional
LAPACK Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project home page
Stable Release Number: see project home page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: optimization deterministic linear discrete, optimization utility.

CLP: A simplex solver.

Project Description:

CLP is a high quality open-source LP solver. Its main strengths are its Dual and Primal Simplex algorithms. It also has a barrier algorithm for Linear and Quadratic objectives. There are limited facilities for Nonlinear and Quadratic objectives using the Simplex algorithm. It is available as a library and as a standalone solver. It was written by John Forrest, jjforre at us.ibm.com.

Project Manager: Julian Hall, jajhall@ed.ac.uk

Project Home Page: https://github.com/coin-or/Clp

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 1.17
Stable Release Number: 1.17.5

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Mac OS X gcc
Microsoft Windows Visual Studio, cl
Microsoft Windows with MSys2 gcc, cl, icl

Project Categories: optimization deterministic linear continuous.

CMPL: A mathematical programming language and a system for mathematical programming and optimisation of linear optimisation problems.

Project Description:

CMPL is a mathematical programming language and a system for mathematical programming and optimisation of linear optimisation problems. CMPL executes CBC (default), GLPK, SCIP, Gurobi or CPLEX directly to solve the generated model instance. Because it is also possible to transform the mathematical problem into MPS, Free-MPS or OSiL files, alternative solvers can be used. The CMPL distribution contains Coliop which is an (simple) IDE (Integrated Development Environment) for CMPL. The CMPL package also contains pyCMPL, jCMPL and CMPLServer. pyCMPL is the CMPL application programming interface (API) for Python and an interactive shell and jCMPL is CMPL’s Java API. CMPLServer is an XML-RPC-based web service for distributed and grid optimisation that can be used with CMPL, pyCMPL and jCMPL.

Project Manager: Mike Steglich – mike.steglich at th-wildau dot de

Project Home Page: https://projects.coin-or.org/Cmpl

Project license: GPLv3 (CMPL and Coliop) and LGPLv3 (pyCMPL, jCMPL, CMPLServer)

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
CPLEX Optional
GLPK Required
Gurobi Optional
SCIP Optional
Qt5 Required

Programming Language: C++, Python, Java

Development Status:

Activity Status: Active
Maturity Level: Not Yet Classified
Stable Version Number: 1.11
Stable Release Number: 1.11.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc, Python 2.7, Java 7
Mac OS X gcc, Python 2.7, Java 7
Microsoft Windows MSYS/MinGW/gcc, Python 2.7, Java 7

Project Categories: modeling systems, interfaces.

Coin Bazaar: Small examples and extensions of COIN-OR projects.

Project Description:

The Coin Bazaar project facilitates community involvement in the COIN-OR repositories. This project allows OR researchers to contribute code examples, application examples and code extensions and plugins without directly contributing to a regular COIN-OR project. Thus, this project helps bridge the gap between core package development and package extensions. Specific goals of this project are (1) to manage extensions to COIN-OR packages that have limited subversion access, (2) allow developers and COIN-OR users to share code and application examples, and (3) provide a home for auxilliary software tools that facilitate the use of COIN-OR tools.

Project Manager: William Hart, wehart at sandia dot gov

Project Home Page: https://projects.coin-or.org/CoinBazaar

Project license: Individual Coin Bazaar projects are licensed separately under OSI approved licenses.

Programming Language: Coin Bazaar packages may be written in a variety of languages.

Development Status:

Activity Status: Active
Maturity Level: Various
Stable Version Number:
Stable Release Number:

Project Categories: development tools, optimization utility.

CoinBinary: Pre-compiled binary distributions of COIN-OR projects.

Project Description:

The goal of this project is to provide sets of libraries and executables precompiled and tested on the most popular platforms for those users who do not need to look at or modify the source code of the COIN projects themselves. The CoinAll distribution is an associated effort to develop a distribution consisting of a set of consistent, interoperable binaries built from the source code of as large a subset of COIN-OR projects as possible. The idea is to allow a user who wants binaries for a large number of COIN projects and wants to ensure that they will all interoperate to be able to download them all at once in a single distribution.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/CoinBinary

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Glpk Optional
GNU Readline Optional
GNU History Optional
AMPL Solver Library (ASL) Optional
BLAS Optional
LAPACK Optional
Harwell Subroutine Library Optional
Mumps Optional

Programming Language: C/C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project management page
Stable Release Number: see project management page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization stochastic, optimization utility.

CoinEasy: New user information and support, CoinEasy is designed for new users of COIN-OR. The objective is to make it easy to use COIN-OR projects. Different users have different objectives and we provide information on how to get up and running easily depending upon the objective

Please consult the CoinEasy home page for further information.

CoinMP: A lightweight API and DLL for CLP, CBC, and CGL.

Project Description:

CoinMP is a C-API interface library that supports most of the functionality of the CLP (Coin LP), CBC (Coin Branch-and-Cut), and CGL (Cut Generation Library) projects. When compiled for Windows it generates a CoinMP.dll library that can be readily used in other Windows C/C++ projects. When compiled for Unix it generates a CoinMP.so library that can be similarly used in other Unix C/C++ projects. The project includes precompiled CoinMP.dll that is ready to be used as is in other Windows applications.

Project Manager: Bjarni Kristjansson, bjarni at maximalsoftware dot com

Project Home Page: https://projects.coin-or.org/CoinMP

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Programming Language:
C

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.8
Stable Release Number: 1.8.3

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc/cl
Linux gcc/g++
Mac OSX gcc
Solaris x86 gcc

Project Categories: interfaces, modeling systems, optimization utility.

CoinUtils: Utilities, data structures, and linear algebra methods for COIN-OR projects.

Project Description:

The CoinUtils project is a collection of open-source utilities developed and used by a variety of other projects in the COIN-OR repository. The project includes classes for storing and manipulating sparse matrices and vectors, performing matrix factorization, parsing input files in standard formats, building representations of mathematical programs, comparing floating point numbers with a tolerance, performing simple presolve operations, and warm starting algorithms for mathematical programs, among others.

Project Manager: Laszlo Ladanyi, ladanyi at us dot ibm dot com

Project Home Page: https://www.github.com/coin-or/CoinUtils

Project license: Eclipse Public License 1.0

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 2.11
Stable Release Number: 2.11.4

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Mac OS X gcc
Microsoft Windows MSys2/cl
Microsoft Windows MSys2/icl
Microsoft Windows MSys2/gcc
Microsoft Windows MSVC++/cl

Project Categories: optimization utility.

Couenne: A branch-and-bound algorithm for mixed integer nonlinear programming problems.

Project Description:

Couenne (Convex Over and Under ENvelopes for Nonlinear Estimation) is a spatial branch & bound algorithm that implements linearization, bound reduction, and branching techniques for Mixed-integer, Nonlinear Programming (MINLP) problems. The purpose of Couenne is to find global optima of nonconvex MINLPs.

Project Manager: Pietro Belotti

Project Home Page: https://github.com/coin-or/Couenne

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Ampl Solver Library Optional
Blas Required (any implementation)
Lapack Optional (any implementation)
At least one sparse linear solver (Mumps or MA27) Required

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number: 0.5
Stable Release Number: 0.5.8

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Microsoft Windows CYGWIN/gcc

Project Categories: optimization deterministic nonlinear nonconvex mixed-integer.

CppAD: A tool for differentiation of C++ functions.

Project Description:

Given a C++ algorithm that computes function values, CppAD generates an algorithm that computes corresponding derivative values.

Project Manager: Brad Bell, http://www.seanet.com/~bradbell

Project Home Page: http://www.coin-or.org/CppAD

Project license: Eclipse Public License 2.0 or (GNU General Public License 2.0 or later)

Third-party Software:

Package Required/Optional
ADOL-C Optional
Boost: uBlas vector, Thread Optional
ColPack Optional
Eigen Optional
FADBAD Optional
Ipopt Optional
OpenMP Optional
Pthread Optional
Sacado Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 20200000
Stable Release Number: 20200000.1

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++
Mac clang
Cygwin gcc, clang
Msys2 gcc, clang
Linux gcc, clang

Project Categories: optimization utility.

Crème: An implementation of the randomized thermal relaxation method to find a feasible solution of the Maximum Feasible Subsystem problem.

Project Description:

Crème (COIN-OR RElaxation MEthod) is an implementation of a heuristic for the Maximum Feasible Subsystem (MaxFS) problem. The MaxFS problem consists of finding the subsystem of an infeasible LP such that the subsystem is feasible and contains a maximum number of constraints. Crème implements a randomized and thermal variant of the relaxation method proposed by Agmon (1954) and Motzkin and Schoenberg (1954). Crème is a heuristic that updates an iterate while keeping track of the number of inequalities satisfied at each iteration. See E. Amaldi, P. Belotti, R. Hauser, Randomized Relaxation Methods for the Maximum Feasible Subsystem Problem. In M. Juenger, V. Kaibel (eds.), Integer Programming and Combinatorial Optimization, 11th International IPCO Conference, Berlin, Germany, June 8-10, 2005, pages 249-264, 2005.

Project Manager: Pietro Belotti (pbelott at clemson dot edu)

Project Home Page: https://github.com/coin-or/Creme

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number: no stable version
Stable Release Number: no release version

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc

Project Categories: optimization deterministic linear.

CSDP: A software package for semidefinite programming.

Project Description:

A software package for semidefinite programming.

Project Manager: Brian Borchers borchers at nmt dot edu

Project Home Page: https://github.com/coin-or/Csdp

Project license: Common Public License 1.0

Third-party Software:

Package Required/Optional
BLAS Required
LAPACK Required

Programming Language: C

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 6.2
Stable Release Number: 6.2.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Windows MinGW gcc
Solaris sunpro
AIX xlc

Project Categories: optimization deterministic semidefinite continuous.

CyLP: a Python interface to Cbc and Clp

Project Description:

CyLP is a Python interface to COIN-OR’s Linear and mixed-integer program solvers (CLP, CBC, and CGL). CyLP’s unique feature is that one can use it to alter the solution process of the solvers from within Python. For example, one may define cut generators, branch-and-bound strategies, and primal/dual Simplex pivot rules completely in Python.

Project Manager: Mehdi Towhidi, mehdi dot towhidi at kronos dot com

Project Home Page: https://github.com/coin-or/CyLP

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Numpy Required
Scipy Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

DFO: a package for solving general nonlinear optimization problems when derivatives are unavailable

Please consult the DFO home page for further information.

DIP: A framework for implementing a variety of decomposition-based branch-and-bound algorithms for solving mixed-integer linear programs.

Project Description:

DIP (Decomposition in Integer Programming) is a framework for implementing a wide variety of decomposition-based algorithms for solving integer programs.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/Dip

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
BLAS Optional
LAPACK Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 0.92
Stable Release Number: 0.92.2

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: optimization deterministic linear discrete.

DisCO: A solver library for MISOCP.

Project Description:

DisCO is an open-source distributed memory parallel solver library for MISOCP. It implements various algorithms and is compatible with various other solvers at solving continuous relaxations.

Project Manager: Aykut Bulut, aykutblt at gmail dot com

Project Home Page: https://projects.coin-or.org/DisCO

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional

Blas

Lapack

Glpk

HSL

Metis

Mumps

OsiConic

CglConic

OsiMosek

OsiCplex

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux gcc
Mac OSX 10.11 clang Xcode 8
Mac OSX 10.12 clang Xcode 8.2

Project Categories: optimization deterministic linear continuous, optimization deterministic linear discrete, optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

Djinni: A templatized C++ framework with Python bindings for heuristic search.

Project Description:

Djinni is a templatized C++ framework with python bindings for heuristic search.

Project Manager: Justin C. Goodson

Project Home Page: https://github.com/coin-or/Djinni

Project license: ISC License

Third-party Software:

Package Required/Optional
boost Optional
PyGTK Optional

Programming Language: C++, Python

Development Status:

Activity Status: Inactive
Maturity Level: 5
Stable Version Number: 2.2
Stable Release Number: 2.2.4

Builds and Passes Unit Test On:

Operating System Compiler
Mac OS X GCC
Solaris GCC
FreeBSD GCC
Linux GCC

Project Categories: metaheuristics.

DyLP: An implementation of the dynamic simplex method.

Project Description:

DyLP is an open-source implementation of the dynamic simplex algorithm for linear programming. DyLP is pure C, heavily instrumented and commented, targetted toward algorithm development. A C++ OSI interface, OsiDylp, is also available.

Project Manager: Lou Hafer, lou@cs.sfu.ca

Project Home Page: https://projects.coin-or.org/DyLP

Project license: Default is Eclipse Public License (EPL) 1.0. Gnu General Public License (GPL) on request.

Programming Language: C (dylp), C++ (OsiDylp)

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 1.10
Stable Release Number: 1.10.3

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows 7, XP / Cygwin / MinGW / Msys GCC, cl
Microsoft Windows 7, XP / Visual Studio cl
Fedora Linux GCC
Solaris (SPARC, x86) Studio, GCC
Mac OSX GCC

Project Categories: optimization deterministic linear continuous.

filterSD: A library for nonlinear optimization written in Fortran.

Project Description:

FilterSD is an open-source package for solving Nonlinear Programming Problems and Linearly Constrained Problems in continuous optimization, written in Fortran.

Project Manager: Frank E. Curtis

Project Home Page: https://github.com/coin-or/filterSD

Project license: Eclipse Public License 1.0

Programming Language: Fortran 77

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 2.0
Stable Release Number: 2.0.1

Builds and Passes Unit Test On:

Operating System Compiler
Mac OS X gfortran

Project Categories: optimization deterministic nonlinear.

FLOPC++: An algebraic modeling language embedded in C++.

Project Description:

An open source algebraic modelling language implemented as a C++ class library.

Project Manager: Tim Hultberg, tim dot hultberg at eumetsat dot int

Project Home Page: https://projects.coin-or.org/FlopC++

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.2
Stable Release Number: 1.2.4

Project Categories: modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization stochastic.

GAMSlinks: Links between GAMS (General Algebraic Modeling System) and solvers that are hosted at COIN-OR.

Project Description:

GAMSlinks is dedicated to the development of links between GAMS (General Algebraic Modeling System) and open source solvers. Its goals are to make the COIN-OR solvers available to GAMS users, help developers to hook up their solver to GAMS, and by that provide access to the GAMS quality assurance and benchmarking tools.

Project Manager: Stefan Vigerske

Project Home Page: https://github.com/coin-or/GAMSlinks

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Blas Required for IPOPT, BONMIN, and Couenne
Lapack Optional
A sparse linear solver (MA27, MA57, WSMP, Paradiso, HSL, MUMPS) Required for IPOPT, BONMIN, and Couenne
Metis 4 Optional
GLPK Optional
SCIP Optional
SoPlex Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 0.5
Stable Release Number: 0.4.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC
Mac OS X GCC

Project Categories: interfaces.

GiMPy: a Python library containing pure Python implementations of a variety of graph algorithms with visualizations

Project Description:

Graph Methods in Python (GiMPy) is a Python graph library containing pure Python implementations of a variety of graph algorithms. The goal is clarity in implementation rather than eficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.

Project Manager: Ted Ralphs, ted at lehigh.edu

Project Home Page: https://github.com/coin-or/GiMPy

Project license: Eclipse Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Python 2.7
Linux Python 2.7
OS X Python 2.7

Project Categories: graphs.

Gravity: Gravity is an open source, scalable, memory efficient modeling language for solving mathematical models in Optimization and Machine Learning.

Project Description:

Gravity is an open source, scalable, memory efficient modeling language for solving mathematical models in Optimization and Machine Learning. It exploits structure to reduce function evaluation time including Jacobian and Hessian computation. Gravity is implemented in C++ with a flexible interface allowing the user to specify the numerical accuracy of variables and parameters and can handle arbitrary Mixed-Integer Nonlinear Programs (MINLPs) as well as Mixed-Integer Semidefinite Programs (MISDPs). It is also designed to offer efficient iterative model solving, convexity detection, multithreading of subproblems, and lazy constraint generation. When compared to state-of-the-art modeling languages such as JuMP, Gravity is 5 times faster in terms of function evaluation and up to 60 times more memory efficient. Short term goals include Lasserre’s hierarchy implementation for polynomial optimization and automatic symbolic variable elimination for MINLPs.

Project Manager: Hassan Hijazi, hlh at lanl dot com

Project Home Page: https://projects.coin-or.org/Gravity

Project license: BSD-3 Clause

Third-party Software:

Package Required/Optional

IPOPT
Optional

BONMIN
Optional

GUROBI
Optional

CPLEX
Optional

MOSEK
Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
LINUX GNU
MAC GNU/CLANG

Project Categories: modeling systems.

GrUMPy: a Python library for visualizing various aspects of mathematical programming, including visualizations of the branch-and-cut process, branch-and-bound trees, polyhedra, cutting plane methods, etc.

Project Description:

Graphics for Understanding Mathematical Programming in Python (GrUMPy) is a Python library for visualizing various aspects of mathematical programming, including visualizations of the branch-and process, branch-and-bound trees, polyhedra, cutting plane methods, etc. The goal is clarity in implementation rather than efficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.

Project Manager: Ted Ralphs, ted at lehigh.edu

Project Home Page: https://github.com/coin-or/GrUMPy

Project license: Eclipse Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 0.6
Stable Release Number: 0.6.1

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Python 2.7
Linux Python 2.7
OS X Python 2.7

Project Categories: optimization utility, optimization deterministic linear discrete.

HiGHS: Linear optimization software

Project Description:

High performance serial and parallel solver for large scale sparse linear programming

Project Manager: Julian Hall, jajhall at ed dot ac dot uk

Project Home Page: http://github.com/ERGO-Code/HiGHS

Project license: MIT License

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC
Linux CLANG

Project Categories: optimization deterministic linear continuous.

Ipopt: A solver for general large-scale nonlinear continuous optimization.

Project Description:

Ipopt is an open-source solver for large-scale nonlinear continuous optimization. It can be used from various modeling environments and is available as callable library with interfaces to C++, C, Fortran, Java, and R. Ipopt uses an interior point method, together with a filter linear search procedure.

Project Manager: andreas dot waechter at northwestern dot edu

Project Home Page: https://github.com/coin-or/Ipopt

Project license: Eclipse Public License

Third-party Software:

Package Required/Optional
Blas
Required (any implementation)
Lapack
Required (any implementation)
Ampl Solver Library
Optional
A sparse linear solver (MA27, MA57, HSL_MA86, HSL_MA97, WSMP, Pardiso, MUMPS) Required (at least one)
Metis
Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: see project page
Stable Release Number: see project page

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows with MSYS2/MinGW g++
Microsoft Windows with MSYS2 cl
Microsoft Windows with MSYS2 icl+ifort
Linux g++
Mac OSX g++
Mac OSX clang

Project Categories: optimization deterministic nonlinear.

jMarkov: An open-source tool for Markov chain modeling, including finite Markov chains, quasi-birth-and-death processes, phase-type distributions, and Markov decision processes.

Project Description:

jMarkov is an open-source tool for Markov chain modeling. jMarkov includes support for finite Markov chain, quasi-birth-and-death processes, phase-type distributions, and Markov decision processes.

Project Manager: Juan F. Perez

Project Home Page: https://github.com/coin-or/jMarkov

Project license: Eclipse Public License 1.0

Programming Language: Java

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: no stable version
Stable Release Number: 1.0

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows javac

Project Categories: stochastic modeling.

Java Operations Research Library (jORLib): jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Description:

jORLib is a Java library that provides algorithmic implementations and frameworks for optimization problems in the area of Operations Research.

Project Manager: Joris Kinable, jkinable at cs dot cmu dot edu

Project Home Page: https://projects.coin-or.org/jORLib

Project license: LGPLv2.1

Third-party Software:

Package Required/Optional
jGraphT 0.9.0 Required
Guava 14.0.1 Required
Logback 0.9.28 Required
Slf4j 1.6.1 Required
JUnit 4.12 Optional (unit tests only)

Programming Language: Java 8

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Microsoft Windows

Project Categories: development tools, metaheuristics, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

LaGO: A package for the global optimization of nonconvex mixed-integer nonlinear programs.

Project Description:

LaGO (Lagrangian Global Optimizer) is a software-package for the global optimization of nonconvex mixed-integer nonlinear programs (MINLP). LaGO can work with black-box formulations of the functions, but assumes to have sparsity information and methods for the evaluation of function values, gradients, and Hessian-vector-multiplications.

Project Manager: Stefan Vigerske

Project Home Page: https://github.com/coin-or/LaGO

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
GAMS I/O libraries Required if no ASL available
AMPL Solver Library (ASL) Required if no GAMS I/O libraries available
Blas Required if IPOPT is used
Lapack Optional
A sparse linear solver (MA27, MA57, WSMP, Paradiso, HSL, MUMPS) Required if IPOPT is used
FILIB++ Optional
METIS Required
ranlib Required
TNT Required
CPLEX Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number: 0.3
Stable Release Number: no release version

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc

Project Categories: optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

LEMON: A C++ template library aimed at combinatorial optimization tasks, especially those working with graphs and networks.

Project Description:

Library of Efficient Models and Optimization in Networks – A C++ template library providing easy-to-use implementations of common graph and network related data structures and algorithms.

Project Manager: alpar at cs.elte.hu

Project Home Page: http://lemon.cs.elte.hu/

Project license: Boost License 1.0

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.2
Stable Release Number: 1.2.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC 3.3 and upwards
Linux Intel C++ 11.1,13.1.3
AIX xlC
Microsoft Windows Visual C++ 2005,2008
Microsoft Windows Cygwin/GCC
Microsoft Windows MinGW

Project Categories: graphs, optimization utility.

MC++: A toolkit for bounding factorable functions.

Project Description:

MC++ is a toolkit for bounding factorable functions. It provides methods for computing bounds on a factorable function in the form of convex/concave relaxations, Taylor models, and spectral bounds.

Project Manager: Benoit Chachuat

Project Home Page: https://github.com/coin-or/MCpp

Project license: Eclipse Public License 1.0

Third-party Software:

Package Required/Optional

fadbad++
Required

Blas
Required

Lapack
Required

PROFIL
Optional

FILIB++
Optional

CppUnit
Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux GNU

Project Categories: optimization deterministic nonlinear.

METSlib: An object oriented metaheuristics optimization framework and toolkit in C++.

Project Description:

METSlib is an object oriented metaheuristics optimization framework and toolkit in C++. Hill Climbing, Steepest Descent, Random Restart Local Search, Variable Neighborhood Search, Iterated Local Search, Simulated Annealing and Tabu Search algorithms are applicable to one unified modeling framework.

Project Manager: Mirko Maischberger

Project Home Page: https://github.com/coin-or/metslib

Project license: GPLv3.0 or, at your option, EPL 1.0

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 3
Stable Version Number: 0.5
Stable Release Number: 0.5.3

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux GCC 4.3.2
Microsoft Windows CYGWIN 1.7/gcc4
OpenSolarisx86 gcc-4.x

Project Categories: metaheuristics.

MibS: Solver for mixed integer bilevel optimization problems.

Project Description:

MibS is a solver for mixed integer bilevel optimization problems.

Project Manager: Ted Ralphs, tkralphs at lehigh dot edu

Project Home Page: https://github.com/coin-or/MibS

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux GCC
Mac OS X clang
Microsoft Windows MSVC++/cl

Project Categories: interfaces, optimization bilevel, optimization deterministic linear discrete.

MOCHA: Heuristics and algorithms for multicriteria matroid optimization.

Project Description:

MOCHA is a software package which contains algorithms and heuristics to solve multicriteria matroid optimization problems. Beyond specific algorithms and heuristics, our package also contains and uses matroid (and related) data structures which can be used as a foundation for new and old algorithms and heuristics.

Project Manager: David Haws

Project Home Page: https://github.com/coin-or/MOCHA

Project license: Eclipse Public License 1.0

Third-party Software:

Package Required/Optional
LAPACK Required
BLAS Required
GMP Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number: 1.0
Stable Release Number: 1.0.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Mac gcc

Project Categories: graphs, optimization deterministic nonlinear, optimization stochastic.

NLPAPI: A subroutine interface for defining and solving nonlinear programming problems.

Project Description:

NLPAPI is a set of subroutines and data structures for defining nonlinear programming problems. It includes an interface to call LANCELOT to solve the problem (you need to get your own copy of LANCELOT), and an interface to IPOPT.

Project Manager: Michael E Henderson

Project Home Page: https://github.com/coin-or/NLPAPI

Project license: Common Public License 1.0

Programming Language: C

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: 0.9
Stable Release Number: 0.9.0

Builds and Passes Unit Test On:

Operating System Compiler
Windows cygwin gcc
GNU/Linux gcc
AIX xlc

Project Categories: development tools, optimization deterministic nonlinear.

oBB: Parallel global optimization of Hessian Lipschitz continuous functions.

Project Description:

An algorithm for the parallel global optimization of functions with a Lipschitz continuous gradient or Hessian.

Project Manager: Jaroslav Fowkes

Project Home Page: https://github.com/coin-or/oBB

Project license: Gnu Lesser General Public License Version 3

Third-party Software:

Package Required/Optional
Python Required
OpenMPI or another working implementation of MPI-2 Required
NumPy Required
MPI for Python Required
CVXOPT Required
matplotlib Optional

Programming Language: Python

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: no stable version
Stable Release Number: no release version

Builds and Passes Unit Test On:

Operating System Compiler
Linux GNU

Project Categories: optimization deterministic nonlinear.

OBOE: Optimization of convex problems with user-supplied methods delivering key first order information (like support to the feasible set, support to the objective function).

Project Description:

OBOE (Oracle Based Optimization Engine) is an open source software for general convex optimization. It assumes that a user-made code, thereafter named oracle, is capable of delivering first order information on the key elements of the problem (support the feasible set, support to the objective function). The engine exploits this information to construct the so-called localization set which is a polyhedral approximation of the set of optimal solutions.

Project Manager: Nidhi Swahncy

Project Home Page: https://github.com/coin-or/OBOE

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
BLAS Required
LAPACK Required
Lapackpp Required
GLPK Optional
Boost serialization (on Linux) Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 4
Stable Version Number: 1.0.4
Stable Release Number: 1.0.3

Builds and Passes Unit Test On:

Operating System Compiler
Linux g++
Microsoft Windows Visual Studio .NET
Microsoft Windows MinGW32/g++

Project Categories: optimization convex non-differentiable.

OptiML: interior point, active set method and parametric solvers for support vector machines, solver for the sparse inverse covariance problem

Please consult the OptiML home page for further information.

Optimization Services: A package for representing optimization instances, results, solver options, and communication between clients and solvers in a distributed environment using Web Services.

Project Description:

The objective of Optimization Services (OS) is to provide a set of standards for representing optimization instances, results, solver options, and communication between clients and solvers in a distributed environment using Web Services. This COIN-OR project provides source code for libraries and executable programs that implement OS standards.

Project Manager: Kipp Martin kipp.martin at chicagogsb dot edu and Jun Ma

Project Home Page: https://projects.coin-or.org/OS

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
AMPL Solver Library (ASL) Optional
Blas Optional
GLPK Optional
HSL Optional
KNITRO Optional
Lapack Optional
LINDO Optional
MUMPS Optional

Programming Language: C,C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 2.10
Stable Release Number: 2.10.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc
Mac OS X (Intel) gcc
Mac OS X (Power PC) gcc
Microsoft Windows MinGW/gcc
Microsoft Windows Cygwin/gcc
Microsoft Windows Msys/MS cl
Microsoft Windows Visual Studio cl

Project Categories: interfaces.

OSI: A uniform API for calling embedded linear and mixed-integer programming solvers.

Project Description:

The COIN-OR Open Solver Interface is a uniform API for interacting with callable solver libraries. It supports linear programming solvers as well as the ability to “finish off” a mixed-integer problem calling the solver library’s MIP solver. A list of supported solvers appears at the bottom of the page.

Project Manager: Matthew Saltzman, Lou Hafer

Project Home Page: https://www.github.com/coin-or/Osi

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
CPLEX Optional
Glpk Optional
FICO-Xpress Optional
Gurobi Optional
Mosek Optional
SoPlex Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 0.108
Stable Release Number: 0.108.6

Builds and Passes Unit Test On:

Operating System Compiler
GNU/Linux gcc
Mac OS X gcc
Microsoft Windows with MSys2 gcc, cl, icl
Microsoft Windows Visual Studio, cl

Project Categories: interfaces.

This is an umbrella project for the following subprojects:

  • Solver Interfaces:
    • OsiCpx: CPLEX
    • OsiGlpk: GNU LP Toolkit
    • OsiGrb: Gurobi
    • OsiMsk: Mosek
    • OsiSpx: Soplex
    • OsiXpr: XPRESS-MP

OTS: a framework for constructing tabu search algorithms

Please consult the OTS home page for further information.

Paver: Python scripts to do comparisons of solver performance.

Project Description:

These tools are meant to simplify the task of performance data comparison and visualization.

Project Manager: Stefan Vigerske, stefan at gams.com

Project Home Page: https://github.com/coin-or/Paver

Project license: Eclipse Public License 1.0

Third-party Software:

Package Required/Optional
Python 2.7 required
Numpy required
Pandas required
Matplotlib required

Programming Language: Python 2.x

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux Python 2.7

Project Categories: optimization utility, python tools.

PFunc: A lightweight and portable library that provides C and C++ APIs to express task parallelism.

Project Description:

PFunc, short for Parallel Functions, is a lightweight and portable library that provides C and C++ APIs to express task parallelism. The features offered by PFunc are a strict superset of the features offered by current solutions for task parallelism such as Cilk and Intel’s Threading Building Blocks. Specifically, PFunc extends the feature set of current solutions with custom task scheduling, task priorities and task affinities. Furthermore, PFunc offers task groups for SPMD-style programming and multiple task completion notifications for parallel execution of DAGs. PFunc’s extended feature set is geared towards helping knowledgeable users optimize their application performance.

Project Manager: Prabhanjan Kambadur

Project Home Page: https://github.com/coin-or/PFunc

Project license: Eclipse Public License 1.0

Programming Language: C, C++

Development Status:

Activity Status: Inactive
Maturity Level: 3
Stable Version Number: 1.0
Stable Release Number: 1.0.2

Builds and Passes Unit Test On:

Operating System Compiler
Ubuntu Linux gcc
Fedora Linux gcc
RHEL Server release 5.5 gcc
OS X Leopard gcc
AIX xlc
Windows XP Pro Visual Studio Express 10.0

Project Categories: optimization utility.

PuLP: A Python library for modeling linear and integer programs.

Project Description:

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

Project Manager: Stuart Mitchell

Project Home Page: https://github.com/coin-or/Pulp

Project license: MIT License

Third-party Software:

Package Required/Optional
GLPK Optional

Programming Language: python

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number: 1.4
Stable Release Number: 1.4.8

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows python 2.5
Microsoft Windows python 2.4
Linux python 2.6
Linux python 2.5
Linux python 2.4

Project Categories: modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete.

Pyomo: Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models.

Project Description:

Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. Modeling optimization applications is a core capability of Pyomo. Pyomo can be used to define symbolic problems, create concrete problem instances, and solve these instances with standard solvers. Thus, Pyomo provides a capability that is commonly associated with algebraic modeling languages such as AMPL, AIMMS, and GAMS, but Pyomo’s modeling objects are embedded within a full-featured high-level programming language with a rich set of supporting libraries.

Project Manager: William Hart, wehart at sandia dot gov, Jean-Paul Watson, jwatson at sandia dot gov and John Siirola, jdsiiro at sandia dot gov

Project Home Page: http://www.pyomo.org/

Project license: BSD

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 4.2
Stable Release Number: 4.2.10784

Builds and Passes Unit Test On:

Operating System Compiler
Any Python 2.6, 2.7, 3.3, and 3.4

Project Categories: modeling systems, development tools, optimization stochastic, optimization utility.

Python MIP: Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs).

Project Description:

Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs). MIP syntax was inspired by Pulp. Just like CyLP it also provides access to advanced solver features like cut generation, MIPstarts and solution Pools. Porting Pulp and Gurobi models should be quite easy.

Project Manager: Haroldo Gambini Santos

Project Home Page: https://github.com/coin-or/python-mip

Project license: Eclipse Public License 2.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Gurobi Optional

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete, optimization utility.

qpOASES: An open-source C++ implementation of the recently proposed online active set strategy.

Project Description:

qpOASES is an open-source C++ implementation of the recently proposed online active set strategy for solving quadratic programming (QP) problems. It has several theoretical features that make it particularly suited for model predictive control (MPC) applications. Further numerical modifications have made qpOASES a reliable QP solver, even when tackling semi-definite, ill-posed or degenerated QP problems. Moreover, several interfaces to third-party software make qpOASES easy-to-use even for users without knowledge of C/C++.

Project Manager: Joachim Ferreau

Project Home Page: https://github.com/coin-or/qpOASES

Project license: ​GNU Lesser General Public License (LGPL), v2.1

Third-party Software:

Package Required/Optional
BLAS Optional
LAPACK Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number: 3.2
Stable Release Number: 3.2.1

Builds and Passes Unit Test On:

Operating System Compiler
Linux g++
Microsoft Windows CYGWIN/g++

Project Categories: optimization deterministic nonlinear.

RBFOpt: A global derivative-free solver.

Project Description:

Library for black-box (also known as derivative-free) optimization written in Python. Currently, the software supports box-constrained problems with continuous and discrete variables.

Project Manager: Giacomo Nannicini, giacomo dot n at gmail dot com

Project Home Page: https://projects.coin-or.org/RBFOpt/wiki

Project license: Revised BSD license (3-clause BSD license)

Linked COIN-OR Projects:

Programming Language: Python

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 1.1.0
Stable Release Number: 1.1.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux
Mac OS X
Microsoft Windows

Project Categories: optimization convex non-differentiable, optimization deterministic nonlinear discrete, optimization utility.

Rehearse: An algebraic modeling library in C++.

Project Description:

An algebraic modeling library in C++.

Project Manager: Onur Çelebi

Project Home Page: https://projects.coin-or.org/Rehearse

Project license: MIT

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number:
Stable Release Number:

Project Categories: modeling systems.

ROSE: Software for performing symbolic reformulations to Mathematical Programs (MP).

Project Description:

Optimization problems are usually defined in terms of their mathematical programming formulation. This consists of a set of objective functions to be optimized subject to a set of constraints, all expressed in terms of a set of decision variables which may be discrete or continuous. Formulations may be symbolically transformed so that some of their numerical properties (e.g. optimal solutions, feasible region,…) are invariant. Yet sometimes the reformulated problem is easier to solve or is useful within a given solution algorithm. The main aims of this project are a systematic study of reformulation theory, the production of software tools for automating mathematical programming reformulation, and the formalization and implementation of solution algorithms based on reformulation techniques.

Project Manager: David Savourey

Project Home Page: https://github.com/coin-or/ROSE

Project license: Eclipse Public License 1.0

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux gcc

Project Categories: modeling systems.

The Supporting Hyperplane Optimization Toolkit (SHOT): A deterministic convex MINLP solver.

Project Description:

SHOT is a deterministic convex MINLP solver based on polyhedral outer approximation and primal heuristics.

Project Manager: Andreas Lundell, andreas dot lundell at abo dot fi

Project Home Page: http://www.github.com/COIN-OR/SHOT

Project license: Eclipse Public License 2.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Boost Required
IBM ILOG CPLEX Optional
Gurobi Optional

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux

Project Categories: optimization deterministic nonlinear, optimization deterministic nonlinear discrete.

SMI: A stochastic modelling interface for optimization under uncertainty.

Project Description:

SMI is an open-source interface for modeling stochastic linear programming problems. Currently it supports: a scenario tree structure for multiperiod stochastic data, an implementation of a Stochastic MPS (SMPS) reader, direct interfaces for generating scenario trees from paths and from discrete random variables, generating the deterministic equivalent problem for OSI compatible solvers, and parsing the solutions by stage and scenario.

Project Manager: Alan King, kingaj at us dot ibm dot com

Project Home Page: https://projects.coin-or.org/Smi

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Programming Language: C++

Development Status:

Activity Status: Active
Maturity Level: 4
Stable Version Number: 0.96
Stable Release Number: 0.96.0

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows Visual C++
Linux gcc

Project Categories: optimization stochastic.

SONNET: Microsoft .NET wrapper for COIN-OR Open Solver Interface

Project Description:

A wrapper for COIN-OR mixed integer linear programming via OSI to Microsoft .NET

Project Manager: Jan-Willem Goossens

Project Home Page: https://github.com/coin-or/SONNET

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language: C#

Development Status:

Activity Status: Active
Maturity Level: 2
Stable Version Number: 1.2
Stable Release Number: 1.1.2

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVS/.NET

Project Categories: interfaces, modeling systems, optimization deterministic linear continuous, optimization deterministic linear discrete.

SYMPHONY: A callable library for solving mixed-integer linear programs.

Project Description:

SYMPHONY is an open-source generic MILP solver, callable library, and extensible framework for implementing customized solvers for mixed-integer linear programs (MILPs). SYMPHONY can be built in various sequential and parallel configurations for either distributed or shared memory architectures and can be used “out of the box” as a solver for generic mixed-integer linear programs or customized through a wide variety of user callback functions and control parameters. SYMPHONY has a number of advanced capabilities stemming from the research projects discussed above, including the ability to solve multi-objective MILPs, the ability to warm start its solution procedure, and the ability to perform basic sensitivity analyses. SYMPHONY has has been deployed in a variety of application areas, including computational biology, wireless telecommunications, supply chain management, transportation services, and air transportation.

Project Manager: Ted Ralphs, ted at lehigh dot edu

Project Home Page: https://projects.coin-or.org/SYMPHONY

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
Glpk Optional
GNU Readline Optional
GNU History Optional
BLAS
Required (any implementation)
Lapack
Optional (any implementation)

Programming Language: C

Development Status:

Activity Status: Active
Maturity Level: 5
Stable Version Number: 5.6
Stable Release Number: 5.6.14

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Microsoft Windows CYGWIN/cl
Microsoft Windows CYGWIN/gcc
Microsoft Windows MSys/gcc
Linux gcc
OSX gcc
Solarix X86 gcc
Solarix X86 sunpro

Project Categories: optimization deterministic linear discrete.

Test Tools: Python scripts to automatically download, configure, build, test, and install COIN-OR projects.

Project Description:

The Test Tools project provides Python scripts to automatically download, configure, build, test, install, and build binaries of COIN-OR projects. If a failure is recognized, the scripts can send an e-mail to the corresponding project manager.

Project Manager: JP Fasano

Project Home Page: https://github.com/coin-or-tools/TestTools

Project license: Common Public License 1.0

Programming Language: Python

Development Status:

Activity Status: Inactive
Maturity Level: 2
Stable Version Number:
Stable Release Number:

Builds and Passes Unit Test On:

Operating System Compiler
Linux 32 and 64 bit Python 2.5
Sun OS Solaris Python 2.4.4
AIX Unix Python 2.5
Mac OS X Python 2.5
Windows XP Python 2.5
Windows XP (Cygwin) Python 2.5
Windows XP Python 2.5
Windows Server 2003 (Cygwin) Python 2.5
Windows Server 2003 64 Bit (MinGW) Python 2.5

Project Categories: development tools.

Vol: A subgradient algorithm that also computes approximate primal solutions.

Project Description:

Vol (Volume Algorithm) is an open-source implementation of a subgradient method that produces primal as well as dual solutions. The primal solution comes from estimating the volumes below the faces of the dual problem. This is an approximate method so the primal vector might have small infeasiblities that are negligible in many practical settings. The original subgradient algorithm produces only dual solutions.

Project Manager: Francisco Barahona, barahon at us dot ibm dot com

Project Home Page: https://projects.coin-or.org/Vol

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Programming Language:
C++

Development Status:

Activity Status: Active
Maturity Level: 3
Stable Version Number: 1.5
Stable Release Number: 1.5.3

Builds and Passes Unit Test On:

Operating System Compiler
Microsoft Windows MSVC++/cl
Linux gcc

Project Categories: optimization deterministic linear continuous.

VRPH: A library of heuristics for generating solutions to variants of the vehicle routing problem.

Project Description:

VRPH is an open source library of heuristics for the capacitated Vehicle Routing Problem (VRP). It includes several example applications that can be used to quickly generate good solutions to VRP instances containing thousands of customer locations. A large set of well-studied benchmark instances is available from the project homepage.

Project Manager: Chris Groer, cgroer at gmail dot com

Project Home Page: https://github.com/coin-or/VRPH

Project license: Common Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
GLPK Optional
PLplot Optional

Programming Language: C++

Development Status:

Activity Status: Inactive
Maturity Level: 3
Stable Version Number: 1.0
Stable Release Number: 1.0.0

Builds and Passes Unit Test On:

Operating System Compiler
Linux g++
Microsoft Windows CYGWIN/g++
Microsoft Windows MSVC++/cl

Project Categories: optimization deterministic linear discrete.

yaposib: a Python interface to linear solvers that use the OSI

Project Description:

Yaposib is a python binding to OSI, the Open Solver Interface from COIN-OR. It intends to give access to various solvers through python. Yaposib was created in order to be integrated in COIN-OR/PuLP.

Project Manager: n/a

Project Home Page: https://github.com/coin-or/yaposib

Project license: Eclipse Public License 1.0

Linked COIN-OR Projects:

Third-party Software:

Package Required/Optional
boost::python Required

Programming Language: Python

Development Status:

Activity Status: Abandoned
Maturity Level: 5
Stable Version Number:
Stable Release Number:

Project Categories: interfaces, optimization deterministic linear continuous, optimization deterministic linear discrete.

[bg_faq_end]