COIN-OR Library Stack

The COIN-OR project is organized into dependency layers, where each layer builds on the ones below it. Lower layers provide foundational utilities; higher layers implement complete solvers and applications.


Layer 0: Foundation

Core utilities and sparse linear algebra that all other libraries depend on.

CoinUtils

Foundation utilities: sparse matrices, I/O (MPS/LP), presolve, warm starting

122 classes documented 65 headers
Sparse Matrix LU Factorization Presolve File I/O Warm Start

SuiteSparse

Sparse direct solvers (CHOLMOD, UMFPACK, AMD) for linear algebra

9 classes documented
Cholesky LU Ordering

Layer 1: LP & Cuts

Linear programming solvers, solver interfaces, and cut generation basics.

Clp

COIN-OR LP solver: dual/primal simplex, interior point methods

13 classes documented 90 headers
Simplex Interior Point Presolve Factorization

Osi

Open Solver Interface: common API for LP/MIP solvers

2 classes documented 35 headers
Solver API Branching Cuts

CppAD

C++ algorithmic differentiation for automatic derivatives

2 classes documented 4 headers
Autodiff Gradients Hessians

qpOASES

Online active set QP solver for model predictive control

3 classes documented
QP Active Set MPC

Layer 2: MIP & NLP

Mixed-integer programming and nonlinear optimization solvers.

Cbc

COIN-OR branch-and-cut MIP solver with parallelization

4 classes documented 90 headers
Branch & Cut Heuristics Parallel SOS

Cgl

Cut Generator Library: Gomory, MIR, lift-and-project cuts

6 classes documented 40 headers
Gomory MIR Clique Probing

Ipopt

Interior Point OPTimizer for large-scale nonlinear programming

1 class documented 95 headers
Interior Point NLP Large-scale Filter

ADOL-C

Automatic differentiation via operator overloading

1 class documented
Autodiff Tape-based

Layer 3: MINLP

Mixed-integer nonlinear programming and advanced decomposition methods.

Bonmin

Basic Open-source Nonlinear Mixed INteger programming for convex MINLP

35 files annotated 45 headers
MINLP B&B OA Feasibility Pump

Couenne

Convex Over and Under ENvelopes for global MINLP with spatial B&B

32 files annotated 70 headers
Global Spatial B&B Convexification FBBT

SYMPHONY

Single- or Multi-Process Optimization over Networks (parallel B&C)

4 headers
Parallel Distributed

CHiPPS-ALPS

Abstract Library for Parallel Search tree algorithms

35 headers
Parallel Search Tree Framework

CHiPPS-BLIS

Branch-and-cut with Lp-Based Intelligent Search

27 headers
Branch & Cut Pseudocost

DisCO

Distributed Combinatorial Optimization for parallel MIP

27 headers
Conic SOCP Parallel

Bcp

Branch-Cut-Price parallel framework for column generation

125 files annotated 75 headers
Column Gen Parallel Pricing Decomposition

Dip

Decomposition for Integer Programming (Dantzig-Wolfe, Lagrangean)

1 class documented
Decomposition D-W

Smi

Stochastic Modelling Interface for stochastic programming

Headers only
Stochastic Two-stage

oBB

Optimality-Based Branch-and-Bound for nonconvex MINLP

Headers only
Nonconvex Global

Layer 4: Applications

Modeling tools, solver interfaces, and application-specific systems.

SHOT

Supporting Hyperplane Optimization Toolkit for convex MINLP

15 classes documented 85 headers
ECP ESH Convex MINLP

HiGHS

High-performance LP/MIP solver (simplex, IPM, B&B)

5 classes documented
LP MIP High-perf

GAMSlinks

Interfaces to GAMS optimization modeling system

25 headers
GAMS Modeling Integration

Gravity

High-performance optimization modeling in C++

1 class documented 2 headers
Modeling QCQP SDP

Sonnet

.NET optimization modeling wrapper

24 headers
.NET C# Wrapper

Cmpl

COLIOP Mathematical Programming Language modeling system

Headers only
Modeling Language

OS

Optimization Services: Web services for optimization

Headers only
Web Services OSiL

cuopt

CUDA-accelerated optimization

Headers only
GPU CUDA

Documentation Status

LayerLibrariesDocumentation
Layer 02CoinUtils (122 classes), SuiteSparse (9 classes)
Layer 14Clp (13 classes), Osi (2 classes), CppAD (2 classes), qpOASES (3 classes)
Layer 24Cbc (4 classes), Cgl (6 classes), Ipopt (1 class), ADOL-C (1 class)
Layer 310BCP (125 files), Bonmin (35 files), Couenne (32 files), Dip (1 class)
Layer 48SHOT (15 classes), HiGHS (5 classes), Gravity (1 class)

Total: 28 libraries, 185 classes documented, 192 algorithm-annotated files, ~600 headers indexed


Using the Source Browser

All 30 libraries are indexed in the Source Browser, which provides:

The browser loads data from the JSON API, making it easy for both humans and AI agents to explore the codebase structure.