Projects
This page gives links to the web pages for all COIN-OR projects. An alphabetical list with details follows the list by category 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
Projects Alphabetically
ABACUS An LP-based branch-and-cut framework. Inactive
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
- Home page
- https://github.com/coin-or/ABACUS
- License
- Lesser GNU general public license
- Programming language
- C++
- Development status
- Activity: Inactive · Maturity level: 4 · Stable version: 3.2betaU1 · Stable release: no release version
- Linked COIN-OR projects
- OSI, CLP, DyLP, SYMPHONY, Vol
- Categories
- Optimization deterministic linear discrete
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | gcc-4.1 |
ADOL-C A package for the automatic differentiation of C and C++ programs. Active
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
- Home page
- https://github.com/coin-or/ADOL-C
- License
- Eclipse Public License 2.0 or GNU General Public License 2.0
- Programming language
- C and C++
- Development status
- Activity: Active · Maturity level: 4 · Stable version: 2.7 · Stable release: 2.7.2
- Categories
- Optimization utility
Third-party software
| Package | Required/Optional |
|---|---|
| ColPack | Optional (for exploitation of sparsity) |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | g++ |
| Linux | Intel icpc |
| Mac OS X | g++ |
| Microsoft Windows | CYGWIN/icl |
| Microsoft Windows | MSVC++/cl |
AIMMSlinks Links between the modeling language AIMMS and solvers that are hosted at COIN-OR. Active
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
- Home page
- https://github.com/coin-or/AIMMSlinks
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 2 · Stable version: 1.1 · Stable release: 1.1.0
- Linked COIN-OR projects
- CBC, Ipopt
- Categories
- Interfaces
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 |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | MSVC++/cl |
| Linux | g++ |
BCP A framework for constructing parallel branch-cut-price algorithms for mixed-integer linear programs. Active
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
- Home page
- https://github.com/coin-or/Bcp
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: 1.4 · Stable release: 1.4.4
- Linked COIN-OR projects
- BuildTools, CoinUtils, Cgl, OSI, CLP
- Categories
- Optimization deterministic linear discrete
Builds and passes unit tests 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 |
BONMIN An experimental open-source C++ code for solving general MINLP (Mixed Integer NonLinear Programming) problems. Inactive
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
- Home page
- https://coin-or.github.io/Bonmin
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Inactive · Maturity level: 4 · Stable version: 1.8 · Stable release: 1.8.8
- Linked COIN-OR projects
- CBC, Cgl, CLP, CoinUtils, Ipopt, OSI
- Categories
- Optimization deterministic nonlinear discrete
Third-party software
| Package | Required/Optional |
|---|---|
| Ampl Solver Library | Optional |
| Blas | Required (any implementation) |
| CPLEX | Optional |
| Lapack | Optional (any implementation) |
| MA27 | Required |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | CYGWIN/g++ |
| Microsoft Windows | MSys/g++ |
| Linux | g++ |
| Mac OSX | g++ |
BuildTools Tools for managing configuration and compilation of various COIN-OR projects under Linux, Unix, and Cygwin. Active
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
- Home page
- https://github.com/coin-or-tools/BuildTools
- License
- Eclipse Public License 2.0
- Programming language
- Shell script (/bin/sh); autoconf
- Development status
- Activity: Active · Maturity level: 4 · Stable version: 0.8 · Stable release: 0.8.10
- Categories
- Development tools
CBC An LP-based branch-and-cut library. Active
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
- Home page
- https://github.com/coin-or/Cbc
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: 2.10 · Stable release: 2.10.5
- Linked COIN-OR projects
- CoinUtils, OSI, CLP, Cgl
- Categories
- Optimization deterministic linear discrete
Third-party software
| Package | Required/Optional |
|---|---|
| GLPK | Optional |
| GNU Readline | Optional |
| GNU History | Optional |
| AMPL Solver Library (ASL) | Optional |
| BLAS | Optional |
| LAPACK | Optional |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | Visual Studio, cl |
| Microsoft Windows / Cygwin / Msys / MinGW | gcc, cl |
| Linux | gcc |
| Mac OS X | gcc |
Cgc A collection of network representations and algorithms. Inactive
Cgc is a collection of network representations to facilitate the development and implementation of network algorithms.
- Project manager
- hpwalton at yahoo.com
- Home page
- https://github.com/coin-or/Cgc
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Inactive · Maturity level: 2
- Categories
- Graphs, Optimization utility
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | MSVC++/cl |
Cgl A library of cutting-plane generators. Active
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)
- Home page
- https://github.com/coin-or/Cgl
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: 0.60 · Stable release: 0.60.3
- Linked COIN-OR projects
- CoinUtils, OSI
- Categories
- Optimization deterministic linear discrete
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| GNU/Linux | gcc |
| Mac OS X | gcc, clang |
| Microsoft Windows with MSys2 | gcc, cl, icl |
| Microsoft Windows | Visual Studio, cl |
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). Active
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
- Home page
- https://github.com/coin-or/CHiPPS-ALPS
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: see project home page · Stable release: see project home page
- Linked COIN-OR projects
- BuildTools, CoinUtils, Cgl, OSI, CLP
- Categories
- Optimization deterministic linear discrete, Optimization utility
Third-party software
| Package | Required/Optional |
|---|---|
| BLAS | Optional |
| LAPACK | Optional |
Builds and passes unit tests 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 |
CLP A simplex solver. Active
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
- Home page
- https://github.com/coin-or/Clp
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: 1.17 · Stable release: 1.17.6
- Linked COIN-OR projects
- CoinUtils, OSI
- Categories
- Optimization deterministic linear continuous
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | gcc |
| Mac OS X | gcc |
| Microsoft Windows | Visual Studio, cl |
| Microsoft Windows with MSys2 | gcc, cl, icl |
CMPL A mathematical programming language and a system for mathematical programming and optimisation of linear optimisation problems. Active
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
- Home page
- https://github.com/coin-or/Cmpl
- License
- GPLv3 (CMPL and Coliop) and LGPLv3 (pyCMPL, jCMPL, CMPLServer)
- Programming language
- C++, Python, Java
- Development status
- Activity: Active · Maturity level: Not Yet Classified · Stable version: 1.12 · Stable release: 1.12.0
- Linked COIN-OR projects
- CBC
- Categories
- Interfaces, Modeling systems
Third-party software
| Package | Required/Optional |
|---|---|
| CPLEX | Optional |
| GLPK | Required |
| Gurobi | Optional |
| SCIP | Optional |
| Qt5 | Required |
Builds and passes unit tests 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 |
Coin Bazaar Small examples and extensions of COIN-OR projects. Active
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
- Home page
- https://github.com/coin-or-tools/CoinBazaar
- 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: Active · Maturity level: Various
- Categories
- Development tools, Optimization utility
CoinBinary Pre-compiled binary distributions of COIN-OR projects. Active
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
- Home page
- https://github.com/coin-or/CoinBinary
- License
- Eclipse Public License 2.0
- Programming language
- C/C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: see project management page · Stable release: see project management page
- Linked COIN-OR projects
- BCP, BuildTools, CHiPPS, CBC, Cgl, CLP, CoinUtils, DyLP, FLOPC++, Ipopt, OSI, Optimization Services, SMI, Test Tools, Vol
- Categories
- Interfaces, Modeling systems, Optimization deterministic linear continuous, Optimization deterministic linear discrete, Optimization deterministic nonlinear, Optimization stochastic, Optimization utility
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 |
Builds and passes unit tests 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 |
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. Active
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
- Home page
- https://github.com/coin-or/CoinMP
- License
- Eclipse Public License 2.0
- Programming language
- C
- Development status
- Activity: Active · Maturity level: 4 · Stable version: 1.8 · Stable release: 1.8.4
- Linked COIN-OR projects
- CoinUtils, CLP, CBC, Cgl, OSI, BuildTools
- Categories
- Interfaces, Modeling systems, Optimization utility
Builds and passes unit tests 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 |
CoinUtils Utilities, data structures, and linear algebra methods for COIN-OR projects. Active
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
- Home page
- https://www.github.com/coin-or/CoinUtils
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: 2.11 · Stable release: 2.11.4
- Categories
- Optimization utility
Builds and passes unit tests 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 |
Couenne A branch-and-bound algorithm for mixed integer nonlinear programming problems. Active
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
- Home page
- https://github.com/coin-or/Couenne
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 3 · Stable version: 0.5 · Stable release: 0.5.8
- Linked COIN-OR projects
- BuildTools, CoinUtils, Cgl, OSI, CLP, Ipopt, BONMIN, CBC
- Categories
- Optimization deterministic nonlinear nonconvex mixed-integer
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 |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | gcc |
| Microsoft Windows | CYGWIN/gcc |
CppAD A tool for differentiation of C++ functions. Active
Given a C++ algorithm that computes function values, CppAD generates an algorithm that computes corresponding derivative values.
- Project manager
- Brad Bell, https://www.seanet.com/~bradbell
- Home page
- /CppAD
- License
- Eclipse Public License 2.0 or (GNU General Public License 2.0 or later)
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: 20200000 · Stable release: 20200000.1
- Categories
- Optimization utility
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 |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | MSVC++ |
| Mac | clang |
| Cygwin | gcc, clang |
| Msys2 | gcc, clang |
| Linux | gcc, clang |
Crème An implementation of the randomized thermal relaxation method to find a feasible solution of the Maximum Feasible Subsystem problem. Inactive
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)
- Home page
- https://github.com/coin-or/Creme
- License
- Eclipse Public License 2.0
- Programming language
- C
- Development status
- Activity: Inactive · Maturity level: 2 · Stable version: no stable version · Stable release: no release version
- Linked COIN-OR projects
- BuildTools
- Categories
- Optimization deterministic linear
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | gcc |
CSDP A software package for semidefinite programming. Active
A software package for semidefinite programming.
- Project manager
- Brian Borchers borchers at nmt dot edu
- Home page
- https://github.com/coin-or/Csdp
- License
- Eclipse Public License 2.0
- Programming language
- C
- Development status
- Activity: Active · Maturity level: 4 · Stable version: 6.2 · Stable release: 6.2.0
- Categories
- Optimization deterministic semidefinite continuous
Third-party software
| Package | Required/Optional |
|---|---|
| BLAS | Required |
| LAPACK | Required |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | gcc |
| Windows | MinGW gcc |
| Solaris | sunpro |
| AIX | xlc |
cuOpt NVIDIA® cuOpt™ is a GPU-accelerated optimization engine Active
NVIDIA® cuOpt™ is a GPU-accelerated optimization engine that excels in mixed integer linear programming (MILP), linear programming (LP), and vehicle routing problems (VRP). It enables near real-time solutions for large-scale challenges with millions of variables and constraints, offering easy integration into existing solvers and seamless deployment across hybrid and multi-cloud environments.
- Project manager
- Anandh Anandh
- Home page
- https://github.com/coin-or/cuOpt
- License
- Apache License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5
- Categories
- Optimization deterministic linear discrete
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | CUDA |
CyLP a Python interface to Cbc and Clp Abandoned
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
- Home page
- https://github.com/coin-or/CyLP
- License
- Eclipse Public License 2.0
- Programming language
- Python
- Development status
- Activity: Abandoned · Maturity level: 5
- Linked COIN-OR projects
- CBC, CLP, Cgl
- Categories
- Interfaces, Modeling systems, Optimization deterministic linear continuous, Optimization deterministic linear discrete, Python tools
Third-party software
| Package | Required/Optional |
|---|---|
| Numpy | Required |
| Scipy | Required |
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. Active
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
- Home page
- https://github.com/coin-or/Dip
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: 0.92 · Stable release: 0.92.4
- Linked COIN-OR projects
- BuildTools, CoinUtils, CHiPPS, Cgl, OSI, CLP, CBC
- Categories
- Optimization deterministic linear discrete
Third-party software
| Package | Required/Optional |
|---|---|
| BLAS | Optional |
| LAPACK | Optional |
Builds and passes unit tests 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 |
DisCO A solver library for MISOCP. Active
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
- Home page
- https://github.com/coin-or/DisCO
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 2
- Linked COIN-OR projects
- BuildTools, CoinUtils, OSI, CLP, Cgl, Ipopt, CHiPPS-ALPS, CHiPPS-BiCePS
- Categories
- Optimization deterministic linear continuous, Optimization deterministic linear discrete, Optimization deterministic nonlinear, Optimization deterministic nonlinear discrete
Third-party software
| Package | Required/Optional |
|---|---|
| Blas | |
| Lapack | |
| Glpk | |
| HSL | |
| Metis | |
| Mumps | |
| OsiConic | |
| CglConic | |
| OsiMosek | |
| OsiCplex |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| GNU/Linux | gcc |
| Mac OSX 10.11 | clang Xcode 8 |
| Mac OSX 10.12 | clang Xcode 8.2 |
Djinni A templatized C++ framework with Python bindings for heuristic search. Inactive
Djinni is a templatized C++ framework with python bindings for heuristic search.
- Project manager
- Justin C. Goodson
- Home page
- https://github.com/coin-or/Djinni
- License
- ISC License
- Programming language
- C++, Python
- Development status
- Activity: Inactive · Maturity level: 5 · Stable version: 2.2 · Stable release: 2.2.4
- Categories
- Metaheuristics
Third-party software
| Package | Required/Optional |
|---|---|
| boost | Optional |
| PyGTK | Optional |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Mac OS X | GCC |
| Solaris | GCC |
| FreeBSD | GCC |
| Linux | GCC |
DyLP An implementation of the dynamic simplex method. Active
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
- Home page
- https://github.com/coin-or/DyLP
- 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: Active · Maturity level: 5 · Stable version: 1.10 · Stable release: 1.10.4
- Categories
- Optimization deterministic linear continuous
Builds and passes unit tests 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 |
filterSD A library for nonlinear optimization written in Fortran. Active
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
- Home page
- https://github.com/coin-or/filterSD
- License
- Eclipse Public License 2.0
- Programming language
- Fortran 77
- Development status
- Activity: Active · Maturity level: 2 · Stable version: 2.0 · Stable release: 2.0.1
- Categories
- Optimization deterministic nonlinear
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Mac OS X | gfortran |
FLOPC++ An algebraic modeling language embedded in C++. Active
An open source algebraic modelling language implemented as a C++ class library.
- Project manager
- Tim Hultberg, tim dot hultberg at eumetsat dot int
- Home page
- https://github.com/coin-or/FlopC++
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 4 · Stable version: 1.2 · Stable release: 1.2.5
- Linked COIN-OR projects
- CoinUtils, Cgl, CLP, OSI, CBC, SMI, BuildTools
- 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. Active
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
- Home page
- https://github.com/coin-or/GAMSlinks
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 2 · Stable version: 0.5 · Stable release: 0.4.1
- Linked COIN-OR projects
- BuildTools, CoinUtils, Cgl, CLP, OSI, CBC, Ipopt, BONMIN, Couenne, Optimization Services
- Categories
- Interfaces
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 |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | GCC |
| Mac OS X | GCC |
GiMPy a Python library containing pure Python implementations of a variety of graph algorithms with visualizations Active
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
- Home page
- https://github.com/coin-or/GiMPy
- License
- Eclipse Public License 2.0
- Programming language
- Python
- Development status
- Activity: Active · Maturity level: 5
- Categories
- Graphs, Modeling systems, Python tools, Visualization software
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | Python 2.7 |
| Linux | Python 2.7 |
| OS X | Python 2.7 |
Gravity Gravity is an open source, scalable, memory efficient modeling language for solving mathematical models in Optimization and Machine Learning. Active
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
- Home page
- https://github.com/coin-or/Gravity
- License
- BSD-3 Clause
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 3
- Categories
- Modeling systems
Third-party software
| Package | Required/Optional |
|---|---|
| IPOPT | Optional |
| BONMIN | Optional |
| GUROBI | Optional |
| CPLEX | Optional |
| MOSEK | Optional |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| LINUX | GNU |
| MAC | GNU/CLANG |
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. Active
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
- Home page
- https://github.com/coin-or/GrUMPy
- License
- Eclipse Public License 2.0
- Programming language
- Python
- Development status
- Activity: Active · Maturity level: 5 · Stable version: 0.6 · Stable release: 0.6.1
- Categories
- Graphs, Optimization deterministic linear discrete, Optimization utility, Python tools, Visualization software
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | Python 2.7 |
| Linux | Python 2.7 |
| OS X | Python 2.7 |
HiGHS Linear optimization software Active
High performance serial and parallel solver for large scale sparse linear programming
- Project manager
- Julian Hall, jajhall at ed dot ac dot uk
- Home page
- https://github.com/ERGO-Code/HiGHS
- License
- MIT License
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 2
- Linked COIN-OR projects
- OSI
- Categories
- Optimization deterministic linear continuous
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | GCC |
| Linux | CLANG |
Ipopt A solver for general large-scale nonlinear continuous optimization. Active
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
- Home page
- https://github.com/coin-or/Ipopt
- License
- Eclipse Public License
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: see project page · Stable release: see project page
- Categories
- Optimization deterministic nonlinear
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 |
Builds and passes unit tests 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 |
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. Active
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
- Home page
- https://github.com/coin-or/jMarkov
- License
- Eclipse Public License 2.0
- Programming language
- Java
- Development status
- Activity: Active · Maturity level: 4 · Stable version: no stable version · Stable release: 1.0
- Categories
- Stochastic modeling
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | javac |
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. Active
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
- Home page
- https://github.com/coin-or/jORLib
- License
- LGPLv2.1
- Programming language
- Java 8
- Development status
- Activity: Active · Maturity level: 5
- Categories
- Development tools, Metaheuristics, Modeling systems, Optimization deterministic linear continuous, Optimization deterministic linear discrete, Optimization utility
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) |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | |
| Microsoft Windows |
LaGO A package for the global optimization of nonconvex mixed-integer nonlinear programs. Inactive
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
- Home page
- https://github.com/coin-or/LaGO
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Inactive · Maturity level: 2 · Stable version: 0.3 · Stable release: no release version
- Linked COIN-OR projects
- BuildTools, CoinUtils, Cgl, CLP, OSI, Ipopt
- Categories
- Optimization deterministic nonlinear, Optimization deterministic nonlinear discrete
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 |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | gcc |
LEMON A C++ template library aimed at combinatorial optimization tasks, especially those working with graphs and networks. Active
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
- Home page
- https://lemon.cs.elte.hu/
- License
- Boost License 1.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 4 · Stable version: 1.2 · Stable release: 1.2.1
- Categories
- Graphs, Optimization utility
Builds and passes unit tests 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 |
MC++ A toolkit for bounding factorable functions. Inactive
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
- Home page
- https://github.com/coin-or/MCpp
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Inactive · Maturity level: 4
- Categories
- Optimization deterministic nonlinear
Third-party software
| Package | Required/Optional |
|---|---|
| fadbad++ | Required |
| Blas | Required |
| Lapack | Required |
| PROFIL | Optional |
| FILIB++ | Optional |
| CppUnit | Optional |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | GNU |
METSlib An object oriented metaheuristics optimization framework and toolkit in C++. Inactive
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
- Home page
- https://github.com/coin-or/metslib
- License
- GPLv3.0 or, at your option, EPL 1.0
- Programming language
- C++
- Development status
- Activity: Inactive · Maturity level: 3 · Stable version: 0.5 · Stable release: 0.5.3
- Categories
- Metaheuristics
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| GNU/Linux | GCC 4.3.2 |
| Microsoft Windows | CYGWIN 1.7/gcc4 |
| OpenSolarisx86 | gcc-4.x |
MibS Solver for mixed integer bilevel optimization problems. Active
MibS is a solver for mixed integer bilevel optimization problems.
- Project manager
- Ted Ralphs, tkralphs at lehigh dot edu
- Home page
- https://github.com/coin-or/MibS
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 2
- Linked COIN-OR projects
- CHiPPS, CBC, SYMPHONY
- Categories
- Interfaces, Optimization bilevel, Optimization deterministic linear discrete
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | GCC |
| Mac OS X | clang |
| Microsoft Windows | MSVC++/cl |
MOCHA Heuristics and algorithms for multicriteria matroid optimization. Inactive
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
- Home page
- https://github.com/coin-or/MOCHA
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Inactive · Maturity level: 2 · Stable version: 1.0 · Stable release: 1.0.0
- Categories
- Graphs, Optimization deterministic nonlinear, Optimization stochastic
Third-party software
| Package | Required/Optional |
|---|---|
| LAPACK | Required |
| BLAS | Required |
| GMP | Optional |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | gcc |
| Mac | gcc |
NLPAPI A subroutine interface for defining and solving nonlinear programming problems. Inactive
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
- Home page
- https://github.com/coin-or/NLPAPI
- License
- Eclipse Public License 2.0
- Programming language
- C
- Development status
- Activity: Inactive · Maturity level: 4 · Stable version: 0.9 · Stable release: 0.9.0
- Categories
- Development tools, Optimization deterministic nonlinear
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Windows cygwin | gcc |
| GNU/Linux | gcc |
| AIX | xlc |
oBB Parallel global optimization of Hessian Lipschitz continuous functions. Inactive
An algorithm for the parallel global optimization of functions with a Lipschitz continuous gradient or Hessian.
- Project manager
- Jaroslav Fowkes
- Home page
- https://github.com/coin-or/oBB
- License
- Gnu Lesser General Public License Version 3
- Programming language
- Python
- Development status
- Activity: Inactive · Maturity level: 4 · Stable version: no stable version · Stable release: no release version
- Categories
- Optimization deterministic nonlinear
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 |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | GNU |
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). Inactive
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
- Home page
- https://github.com/coin-or/OBOE
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Inactive · Maturity level: 4 · Stable version: 1.0.4 · Stable release: 1.0.3
- Linked COIN-OR projects
- CLP
- Categories
- Optimization convex non-differentiable
Third-party software
| Package | Required/Optional |
|---|---|
| BLAS | Required |
| LAPACK | Required |
| Lapackpp | Required |
| GLPK | Optional |
| Boost serialization (on Linux) | Optional |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | g++ |
| Microsoft Windows | Visual Studio .NET |
| Microsoft Windows | MinGW32/g++ |
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. Active
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
- Home page
- https://github.com/coin-or/OS
- License
- Eclipse Public License 2.0
- Programming language
- C,C++
- Development status
- Activity: Active · Maturity level: 4 · Stable version: 2.10 · Stable release: 2.10.2
- Linked COIN-OR projects
- BuildTools, CBC, Cgl, CLP, CoinUtils, CppAD, DyLP, Ipopt, OSI, SYMPHONY, Vol
- Categories
- Interfaces
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 |
Builds and passes unit tests 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 |
OSI A uniform API for calling embedded linear and mixed-integer programming solvers. Active
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
- Home page
- https://www.github.com/coin-or/Osi
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 5 · Stable version: 0.108 · Stable release: 0.108.6
- Linked COIN-OR projects
- CBC, Cgl, CLP, CoinUtils, Data, DyLP, HiGHS, SYMPHONY, Vol
- Categories
- Interfaces
Third-party software
| Package | Required/Optional |
|---|---|
| CPLEX | Optional |
| Glpk | Optional |
| FICO-Xpress | Optional |
| Gurobi | Optional |
| Mosek | Optional |
| SoPlex | Optional |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| GNU/Linux | gcc |
| Mac OS X | gcc |
| Microsoft Windows with MSys2 | gcc, cl, icl |
| Microsoft Windows | Visual Studio, cl |
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. Active
These tools are meant to simplify the task of performance data comparison and visualization.
- Project manager
- Stefan Vigerske, stefan at gams.com
- Home page
- https://github.com/coin-or/Paver
- License
- Eclipse Public License 2.0
- Programming language
- Python 2.x
- Development status
- Activity: Active · Maturity level: 3
- Categories
- Optimization utility, Python tools
Third-party software
| Package | Required/Optional |
|---|---|
| Python 2.7 | required |
| Numpy | required |
| Pandas | required |
| Matplotlib | required |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | Python 2.7 |
PFunc A lightweight and portable library that provides C and C++ APIs to express task parallelism. Inactive
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
- Home page
- https://github.com/coin-or/PFunc
- License
- Eclipse Public License 2.0
- Programming language
- C, C++
- Development status
- Activity: Inactive · Maturity level: 3 · Stable version: 1.0 · Stable release: 1.0.2
- Categories
- Optimization utility
Builds and passes unit tests 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 |
PuLP A Python library for modeling linear and integer programs. Active
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
- Home page
- https://github.com/coin-or/Pulp
- License
- MIT License
- Programming language
- python
- Development status
- Activity: Active · Maturity level: 3 · Stable version: 1.4 · Stable release: 1.4.8
- Categories
- Modeling systems, Optimization deterministic linear continuous, Optimization deterministic linear discrete
Third-party software
| Package | Required/Optional |
|---|---|
| GLPK | Optional |
Builds and passes unit tests 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 |
Pyomo Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. Active
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
- Home page
- https://www.pyomo.org/
- License
- BSD
- Programming language
- Python
- Development status
- Activity: Active · Maturity level: 4 · Stable version: 4.2 · Stable release: 4.2.10784
- Categories
- Development tools, Modeling systems, Optimization stochastic, Optimization utility
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Any | Python 2.6, 2.7, 3.3, and 3.4 |
Python MIP Python MIP is a collection of Python tools for the modeling and solution of Mixed-Integer Linear programs (MIPs). Active
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
- Home page
- https://github.com/coin-or/python-mip
- License
- Eclipse Public License 2.0
- Programming language
- Python
- Development status
- Activity: Active · Maturity level: 3
- Linked COIN-OR projects
- CBC
- Categories
- Interfaces, Modeling systems, Optimization deterministic linear continuous, Optimization deterministic linear discrete, Optimization utility
Third-party software
| Package | Required/Optional |
|---|---|
| Gurobi | Optional |
qpOASES An open-source C++ implementation of the recently proposed online active set strategy. Active
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
- Home page
- https://github.com/coin-or/qpOASES
- License
- GNU Lesser General Public License (LGPL), v2.1
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 3 · Stable version: 3.2 · Stable release: 3.2.1
- Categories
- Optimization deterministic nonlinear
Third-party software
| Package | Required/Optional |
|---|---|
| BLAS | Optional |
| LAPACK | Optional |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | g++ |
| Microsoft Windows | CYGWIN/g++ |
RBFOpt A global derivative-free solver. Active
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
- Home page
- https://github.com/coin-or/RBFOpt/wiki
- License
- Revised BSD license (3-clause BSD license)
- Programming language
- Python
- Development status
- Activity: Active · Maturity level: 4 · Stable version: 1.1.0 · Stable release: 1.1.0
- Linked COIN-OR projects
- Pyomo
- Categories
- Optimization convex non-differentiable, Optimization deterministic nonlinear discrete, Optimization utility
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | |
| Mac OS X | |
| Microsoft Windows |
Rehearse An algebraic modeling library in C++. Active
An algebraic modeling library in C++.
- Project manager
- Onur Çelebi
- Home page
- https://github.com/coin-or/Rehearse
- License
- MIT
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 4
- Categories
- Modeling systems
ROSE Software for performing symbolic reformulations to Mathematical Programs (MP). Inactive
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
- Home page
- https://github.com/coin-or/ROSE
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Inactive · Maturity level: 2
- Categories
- Modeling systems
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | gcc |
The Supporting Hyperplane Optimization Toolkit (SHOT) A deterministic convex MINLP solver. Active
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
- Home page
- https://www.github.com/COIN-OR/SHOT
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 2
- Linked COIN-OR projects
- Optimization Services, Ipopt, CBC
- Categories
- Optimization deterministic nonlinear, Optimization deterministic nonlinear discrete
Third-party software
| Package | Required/Optional |
|---|---|
| Boost | Required |
| IBM ILOG CPLEX | Optional |
| Gurobi | Optional |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux |
SMI A stochastic modelling interface for optimization under uncertainty. Active
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
- Home page
- https://github.com/coin-or/Smi
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 4 · Stable version: 0.96 · Stable release: 0.96.1
- Linked COIN-OR projects
- CoinUtils, CLP, OSI
- Categories
- Optimization stochastic
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | Visual C++ |
| Linux | gcc |
SONNET Microsoft .NET wrapper for COIN-OR Open Solver Interface Active
A wrapper for COIN-OR mixed integer linear programming via OSI to Microsoft .NET
- Project manager
- Jan-Willem Goossens
- Home page
- https://github.com/coin-or/SONNET
- License
- Eclipse Public License 2.0
- Programming language
- C#
- Development status
- Activity: Active · Maturity level: 2 · Stable version: 1.2 · Stable release: 1.1.2
- Linked COIN-OR projects
- OSI
- Categories
- Interfaces, Modeling systems, Optimization deterministic linear continuous, Optimization deterministic linear discrete
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | MSVS/.NET |
SYMPHONY A callable library for solving mixed-integer linear programs. Active
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
- Home page
- https://github.com/coin-or/SYMPHONY
- License
- Eclipse Public License 2.0
- Programming language
- C
- Development status
- Activity: Active · Maturity level: 5 · Stable version: 5.6 · Stable release: 5.6.17
- Linked COIN-OR projects
- BuildTools, CoinUtils, Cgl, OSI, CLP
- Categories
- Optimization deterministic linear discrete
Third-party software
| Package | Required/Optional |
|---|---|
| Glpk | Optional |
| GNU Readline | Optional |
| GNU History | Optional |
| BLAS | Required (any implementation) |
| Lapack | Optional (any implementation) |
Builds and passes unit tests 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 |
Test Tools Python scripts to automatically download, configure, build, test, and install COIN-OR projects. Inactive
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
- Home page
- https://github.com/coin-or-tools/TestTools
- License
- Eclipse Public License 2.0
- Programming language
- Python
- Development status
- Activity: Inactive · Maturity level: 2
- Categories
- Development tools
Builds and passes unit tests 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 |
Vol A subgradient algorithm that also computes approximate primal solutions. Active
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
- Home page
- https://github.com/coin-or/Vol
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Active · Maturity level: 3 · Stable version: 1.5 · Stable release: 1.5.4
- Linked COIN-OR projects
- CoinUtils
- Categories
- Optimization deterministic linear continuous
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Microsoft Windows | MSVC++/cl |
| Linux | gcc |
VRPH A library of heuristics for generating solutions to variants of the vehicle routing problem. Inactive
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
- Home page
- https://github.com/coin-or/VRPH
- License
- Eclipse Public License 2.0
- Programming language
- C++
- Development status
- Activity: Inactive · Maturity level: 3 · Stable version: 1.0 · Stable release: 1.0.0
- Linked COIN-OR projects
- OSI, SYMPHONY
- Categories
- Optimization deterministic linear discrete
Third-party software
| Package | Required/Optional |
|---|---|
| GLPK | Optional |
| PLplot | Optional |
Builds and passes unit tests on
| Operating system | Compiler |
|---|---|
| Linux | g++ |
| Microsoft Windows | CYGWIN/g++ |
| Microsoft Windows | MSVC++/cl |
yaposib a Python interface to linear solvers that use the OSI Abandoned
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
- Home page
- https://github.com/coin-or/yaposib
- License
- Eclipse Public License 2.0
- Programming language
- Python
- Development status
- Activity: Abandoned · Maturity level: 5
- Linked COIN-OR projects
- OSI
- Categories
- Interfaces, Modeling systems, Optimization deterministic linear continuous, Optimization deterministic linear discrete, Python tools
Third-party software
| Package | Required/Optional |
|---|---|
| boost::python | Required |