COIN-OR 2015 Annual Report

This wiki page will become the 2015 Annual Report of the COIN-OR Foundation and will remain available here as soft-copy. The Annual Report serves a couple of purposes. It provides a story to tell potential contributors, corporate partners, code contributors and users. Please add any information you'd like to share regarding your involvement in COIN-OR.


COIN-OR (COmputational INfrastructure for Operations Research) was first announced at ISMP 2000 as an IBM initiative, hosted by IBM and seeded with seven projects produced by a handful of developers at IBM and collaborating academic institutions. In 2004 we became an independent organization, managed by the non-profit educational COIN-OR Foundation and hosted by INFORMS. In 2011 we outgrew our INFORMS hosting and now operate our own server located at Clemson. Today COIN-OR is the premier web site devoted to open-source software for the operations research community, home to 59 projects produced by 95 full members assisted by many more contributors, with a burgeoning community of users and developers comprised of more than 2,000 subscriptions from more than 1,000 unique e-mail addresses. We're proud of what we have become. More, we're proud of what we have produced as a community.

COIN-OR encourages new project contributions by providing an extensive set of tools and infrastructure support for collaborative project development. COIN-OR will continue to work with manufacturers of commercial software to develop interfaces to their products. With the help of a worldwide community of developers, we will continue to offer open-source software that meets the highest standards for state-of-the-art algorithms and industrial strength robustness and efficiency.

Reports from the SLB & TLC

  • Strategic Leadership Board (SLB): Kevin Furman, Lou Hafer (Secretary), Alan King, Andrew Mason, Ted Ralphs (TLC Rep), Daniel Reich, Matthew Saltzman (President).

Report from the President

Reports from SLB standing committees:

Finance (Alan King, Treasurer)

Legal Affairs (Ted Ralphs, chair; Lou Hafer; Matt Saltzman)

To the relief of all concerned, the Legal Affairs Committee has seen no action this year.

Membership (Lou Hafer, chair)

The Membership Committee welcomed 2 individuals who have earned full membership in the COIN-OR Foundation through their contributions of time and effort to build COIN-OR. Don't wait for the Membership Committee to find time to notice someone's good work! Anyone can nominate an individual for full membership at any time. Check the Full Members list for instructions.

Outreach (Alan King, chair)

Web (Matt Saltzman, chair; Lou Hafer, Andrew Mason, Ted Ralphs)

  • Technical Leadership Council (TLC): Tony Kelman, Miles Lubin, Ted Ralphs (chair), Haroldo Gambini Santos, John Siirola, Mike Steglich, Stefan Vigerske.


The SLB welcomes Giacomo Nannicini to the Board, along with Bill Hart (returning after a brief hiatus) and Kevin Furman (reelected for another term). For the TLC, Haroldo Gambini Santos is reelected for another term. The Foundation thanks Lou Hafer and Daniel Reich for their service as members of the SLB.

New Members

COIN-OR is proud to welcome two new members this year, Onur Çelebi, author and project manager for Rehearse, and Giacomo Nannicini, author and project manager for RBFOpt.

New Projects

COIN-OR is pleased to welcome two new projects this year:

  • RBFOpt is a library written in Python for black-box (derivative-free) optimization. It is a global solver that requires only zero-order information — just function values, not even gradients! RBFOpt is aimed at finding the global minimum in a small number of function evaluations, which is particularly useful when each function evaluation requires an expensive computation, e.g., a time-consuming computer simulation.
  • Rehearse is a C++ library designed to describe linear optimization problems programmatically. You can describe linear objectives and constraints using native C++ algebraic expressions, in a manner analogous to the way you would write a model on paper.

News and Announcements

Add your item in the list below (sorted in something vaguely approximating the order of the Projects list). Shameless self-promotion is strongly encouraged, whether you're a user of COIN-OR software or a developer of COIN-OR software.

  • As of release 2.10, Optimization Services provides an interface from OS to CSDP. This means that it is now possible to solve semi-definite programming problems using Optimization Services, greatly extending its remote solving capabilities. Development of complex number support is currently being considered.
  • Pyomo has an active user community; Pyomo 4.0 had over 7500 downloads in 2015. Pyomo is being used in undergraduate and graduate classrooms in several universities: UC Davis, U. Southern California, U. Texas, Naval Postgraduate School, George Washington University, and Rose Holman. Finally, SNL, LLNL, PNNL, ANL and others have used Pyomo to develop solutions to a variety of national security challenges, including:
    • Sensor network design for water distribution systems (EPA, DHS)
    • Power system operations and planning (DOE/EERE, DOE/OE, DOE/ARPA-E, DHS, LDRD)
    • Electric grid resiliency (DHS, DOE/EPSA)
    • Cyber moving target defense (DoD)
    • NNSA enterprise modeling and analysis (DOE)
    • Virtual network overlay design (DoD)
    • Satellite sensor scheduling (DoD, LDRD)
    • Microgrid design (DOE/OE, DoD)
    • Quantum information applications (DOE)
    • Neutron generator master production scheduling (DOE)

Project List

All projects can be reached from the COIN-OR projects page.

  • ABACUS: A Branch-And-CUt System, an LP-based branch-and-cut framework.
  • ADOL-C: Automatic Differentiation by OverLoading in C++, facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++.
  • AIMMSlinks: AIMMS/COIN-OR Links, links between the modeling language AIMMS and solvers that are hosted at COIN-OR.
  • BCP: Branch-Cut-Price Framework, a framework for constructing parallel branch-cut-price algorithms for mixed-integer linear programs.
  • Bonmin: Basic Open-source Nonlinear Mixed INteger programming, is an open-source C++ code for solving general mixed-integer nonlinear programming problems.
  • BuildTools: COIN-OR developer tools and documentation, tools for managing configuration and compilation of COIN-OR projects under Linux, Unix, and Cygwin.
  • Cbc: COIN-OR Branch and Cut, an open-source mixed-integer linear programming library and stand-alone solver.
  • Cgc: COIN-OR Graph Classes, a collection of network representations and algorithms.
  • Cgl: Cut Generation Library, a collection of algorithms to generate cutting planes.
  • CHiPPS: COIN-OR Open Parallel Search Framework, a framework for implementing parallel algorithms based on tree search.
  • Clp: COIN-OR LP, a linear programming library and stand-alone solver with simplex and barrier algorithms.
  • CMPL: Coliop/Coin Mathematical Programming Language, a modelling language and integrated development environment for linear optimisation.
  • CoinBazaar: The COIN-OR Bazaar, small examples and extensions of COIN-OR projects.
  • CoinBinary: Pre-compiled binary distributions of COIN-OR projects. Also contains the repository for CoinAll, an interoperable set of many of the COIN libraries conveniently collected in one place.
  • CoinEasy: Provides guidelines for new users to COIN-OR to get up and running easily.
  • CoinMP: A C API interface to COIN-OR LP, COIN-OR Branch and Cut, and the Cut Generation Library.
  • CoinUtils: The COIN-OR utilities library, utilities, data structures, and linear algebra support for COIN projects.
  • Coopr: COmmon Optimization Python Repository, integrates a variety of Python optimization-related packages.
  • Couenne: Convex Over and Under ENvelopes for Nonlinear Estimation, an exact solver for non-convex MINLP problems.
  • CppAD: A tool that computes derivatives of C++ algorithms.
  • Crème: An implementation of the randomized thermal relaxation method to find a feasible solution fo the Maximum Feasible Subsystem problem.
  • CSDP: A library for semidefinite programming.
  • CyLP: A Python interface to Cbc and Clp.
  • DFO: Derivative-Free Optimization, a package for solving general nonlinear optimization problems when derivatives are unavailable.
  • DIP: Decomposition in Integer Programming, a framework for implementing a variety of decomposition-based branch-and-bound algorithms for solving mixed-integer linear programs.
  • Djinni: A templatized C++ framework with Python bindings for heuristic search.
  • DyLP: Dynamic Linear Programming, an implementation of the dynamic simplex algorithm.
  • filterSD: Subroutines for nonlinear optimization, a library for nonlinear optimization written in Fortran.
  • FLOPC++: An algebraic modeling language embedded in C++.
  • GAMSlinks: Links between GAMS and open source solvers.
  • GiMPy: Graph Methods in Python, Python implementations of a variety of graph algorithms with visualisation.
  • GrUMPy: Graphics for Understanding Mathematical Programming, a Python library for visualising various aspects of mathematical programming.
  • Ipopt: An interior point algorithm for general large-scale nonlinear optimization.
  • jMarkov: A tool for Markov chain modeling including finite Markov chains, quasi-birth-and-death processes, phase-type distributions, and Markov decision processes.
  • LaGO: Lagrangian Global Optimizer, global optimization of nonconvex mixed-integer programs.
  • LEMON: Library of Efficient Models and Optimization in Networks, a C++ template library aimed at combinatorial optimization tasks, especially those working with graphs and networks.
  • METSlib: An object oriented metaheuristics optimization framework and toolkit in C++.
  • MOCHA: Matroid Optimization: Combinatorial Heuristics and Algorithms, heuristics and algorithms for multicriteria matroid optimization.
  • MC++: A toolkit for bounding factorable functions, provides methods for computing bounds on a factorable function, in the form of convex/concave relaxations, Taylor models, and spectral bounds.
  • NLPAPI: Non-Linear Programming Application Programming Interface, subroutine interface for defining and solving non-linear programming problems.
  • oBB: An implementation of an algorithm for the parallel global optimization of functions with Lipchitz continuous gradient or Hessian
  • OBOE: Oracle Based Optimization Engine, optimization of convex problems with user-supplied methods delivering key first order information.
  • OptiML: Optimization for Machine Learning, provides interior point, active set method, and parametric solvers for support vector machines and a solver for the sparse inverse covariance problem.
  • OS: Optimization Services, standards for representing optimization instances, results, solver options, and communication between clients and solvers in a distributed environment using Web Services.
  • OSI: Open Solver Interface, a uniform subroutine interface for callable solver libraries.
  • OTS: Open Tabu Search, a Java framework for creating tabu search algorithms.
  • PAVER: Tools to simplify the task of performance data comparison and visualization.
  • PFunc: Parallel Functions, a lightweight and portable library that provides C and C++ APIs to express task parallelism.
  • PuLP: A Python library for modeling linear and integer programs.
  • qpOASES: A robust implementation of the online active set strategy for quadratic programming problems.
  • RBFOpt: A Python library for black-box (derivative-free) optimization using only function values.
  • Rehearse: An algebraic modeling library in C++ for linear optimization solvers.
  • ROSE: Reformulation-Optimisation Software Engine, tools for automating symbolic reformulation of mathematical programming problems.
  • SMI: Stochastic Modeling Interface, an interface for optimization under uncertainty.
  • SYMPHONY: A callable library for solving mixed-integer linear programming problems.
  • TestTools: Python scripts to automatically download, configure, build, test, install, build binaries, and distribute binaries.
  • VOL: Volume Algorithm, a generalization of the subgradient method which produces approximate primal solutions as well as dual solutions.
  • VRPH: VRP Heuristics, a library of heuristics for generating solutions to variants of the vehicle routing problem.
  • yaposib: Yet Another Python OSI Binding, a Python binding for OSI.

The projects above reflect the interests of the individuals who have contributed to date. The volunteers running COIN-OR and its projects continually strive to improve overall quality, documentation, ease of use, and robustness. The level of success in achieving these goals depends on the support received from the community. New projects that reflect the broad interests and needs of the OR community, such as resources for visualization, data mining, simulation, constraint programming, statistics, forecasting, spreadsheets, and more, are welcome.

Last modified 6 years ago Last modified on Nov 16, 2015 2:54:24 PM