COIN-OR 2011 Annual Report

This wiki page was used to create a hard-copy 2011 Annual Report to be distributed at the INFORMS Charlotte Meeting in November 2011, and remains available here as soft-copy. The annual report serves a couple of purposes. It provides much needed documentation of our progress, a prerequisite for pursuing financial stability (those chocolate coins aren't free, you know ;-) It also provides a snapshot of what's happening for potential contributors and users. So please, add any information you'd like the world to know regarding your involvement in COIN-OR to the current year annual report page.


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 organisation, managed by the non-profit educational COIN-OR Foundation and hosted by INFORMS. In 2011 we outgrew our INFORMS hosting and we're moving to a commercial hosting facility. Today COIN-OR is the premier web site devoted to open-source software for the operations research community, home to 48 projects produced by 74 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): Robert Fourer, Kevin Furman, Lou Hafer (Secretary), David Jensen, Randy Kiefer (Treasurer), Alan King, Ted Ralphs (TLC Rep), Paul Rubin, Matthew Saltzman (President).

Report from the President This year, COIN-OR is engaged in a major upgrade of our Web infrastructure. Upon the creation of the COIN-OR Foundation, COIN's Web infrastructure was migrated from its original host, IBM's DeveloperWorks, to a server in the INFORMS business office. That server was adequate in its day, but with 48 projects and growing, and with the strong growth in our community of developers and users, we have outstripped INFORMS's ability to host us in house. So we are in the process of moving. The COIN-OR Foundation has provided a grant to Clemson University to provide us with a new server and housing infrastructure.

The new server is a Dell PowerEdge R650 with eight hyperthreaded cores, 12GB of RAM and 1TB of RAID-1 disk, running Red Hat Enterprise Server 6.1. It is housed at Clemson's Information Technology Center, which provides rack space, backups, cooling, redundant power, and Internet access including commodity internet, Internet2, and National LambdaRail connections. This arrangement should mitigate all of the performance issues associated with the current server, and makes possible support for new services to help our developers and users make better use of COIN-OR.

We are in the process of migrating services off of the INFORMS server and onto the Clemson server with as minimal disruption as possible. The new server is already supporting mail, mailing lists, and static Web pages. We will shortly be moving the Subversion repository, and the Trac pages will follow.

  • Reports from each SLB standing committee, which would be:


The balance in the checkbook as of September 30, 2011 was $21,244.24. This is prior to the expenses for the INFORMS meeting.

Legal Affairs
To comply with the safe harbour provisions of the Digital Millenium Copyright Act (DMCA), the Foundation has filed the necessary paperwork to register a takedown agent.
The Eclipse Public License (EPL) is now the preferred license for COIN projects. Projects relicensed under the EPL include AIMMSlinks, CBC, CGL, CLP, CoinUtils, Couenne, DIP, DyLP, Ipopt, MOCHA, OSI, PFunc, ROSE, SYMPHONY, and Vol. The Foundation encourages Project Managers to license their project under the EPL if they have no strong preference for another license.

COIN-OR welcomed eight new full members this year, for contributions ranging from new projects to infrastructure.
Don't wait for the Membership Committee to notice someone's good work! Anyone can nominate an individual for full membership. Check the Full Members list for instructions.

  • Report from the Technical Leadership Council (TLC):


  • Elected for 2011-2014 term on SLB: William Hart

  • Elected for 2011-2014 terms on TLC: Kipp Martin, John Siirola, Stefan Vigerske

New Members

COIN-OR is proud to welcome eight new full members this year:

  • Robert Hansen, project manager and contributor for Djinni.
  • Leo Liberti, for contributions to ROSE.
  • Thomas Schleiff, for contributions to CMPL.
  • John Siirola, for contributions to Coopr and COIN infrastructure.
  • Mike Steglich, project manager and contributor for CMPL.
  • John Tomlin, for contributions to CoinUtils.
  • Jean-Paul Watson, co-manager and contributor to Coopr.
  • David Savourey, project manager and contributor for ROSE.

New Projects

The following projects have been published at in the past year.

  • CMPL is a mathematical programming language and a system for modelling, solving and analysing linear programming (LP) problems and mixed integer programming (MIP) problems. CMPL is intended to combine the clarity of mathematical models with the flexibility of programming languages. CMPL contains the COIN-OR OSSolverService including the COIN-OR solvers. Since it is also possible to transform the mathematical problem into MPS, Free-MPS or OSiL files, alternative solvers can be used.
  • The Djinni project is a framework for implementing heuristic search algorithms. The core elements are coded in C++ and python bindings are provided to simplify the user interface. The current version of Djinni implements compressed annealing, a generalization of the well-known simulated annealing algorithm. The Djinni framework uses C++ templates to separate code into three parts: a heuristic search algorithm, a problem model, and problem data.
  • The ROSE (Reformulation/Optimisation Software Engine) project provides software tools for automating mathematical programming reformulation and the formalization and implementation of solution algorithms based on reformulation techniques.

Add new projects here: name and a paragraph or two of description.

At any given time, there are typically a few projects in the process of being approved for publication on COIN-OR. The Foundation doesn't publicise these; we don't want to steal the publicity from the contributor. (If you're the contributor, and you want to get the news out now, feel free to edit!)

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.

  • The upcoming GAMS 23.8 release will support up to date releases of the COIN-OR solvers Clp, Cbc, Ipopt, Bonmin, Couenne, and Csdp. Further, Osi is used to access current versions of Cplex, Gurobi, Mosek, SoPlex, and Xpress from GAMS without extra charge (only a GAMS base license and a solver license is required).
  • SCIP 2.1 was released and comes with updated links to Clp, Ipopt and CppAD. SCIP users still have the option to use SoPlex and other LP solvers for solving linear relaxations in SCIP. CppAD and Ipopt are used for MINLP solving components in SCIP.
  • BARON version 10 was just released and comes with links to CLP and Ipopt. BARON users still have the option of using CPLEX/Xpress/MINOS/SNOPT for solving BARON's LP/NLP subproblems but now also have the option of using COIN solvers.
  • Build system: An initiative to revise parts of the BuildTools based build system that is used by several COIN-OR projects has been completed with the release of BuildTools 0.7 and projects in CoinAll 1.6. In addition to many small features and bugfixes, improvements include the possibility to build single projects against installed versions of their dependencies (making use of pkg-config, if available), including an automated way to set up compiler and linker flags for dependencies in a project's Makefile. C preprocessor defines to check for a projects version number(s) are now available by default. There is a tutorial to help project managers upgrade from previous BuildTools releases.
    BuildTools based setups for building the third-party software SoPlex and SCIP within COIN-OR have been added.
  • CoinEasy: New users to COIN-OR may wish to check this out. It is designed to make it easy to use COIN-OR and it describes sample code illustrating various projects and solvers.
  • Coopr 3.0 was released on July 18, 2011. Coopr is a Python-based library for modeling and solving mathematical optimization problems. Coopr is designed to support advanced modeling capabilities, parallel computation, generic solution strategies, and advanced scripting capabilities in an open and flexible software architecture. Core Coopr capabilities include the ability to model linear and non-linear optimization problems, both with and without parameter uncertainty. Interfaces to standard open-source and commercial solvers are provided, as are advanced decomposition algorithms for solving large-scale stochastic optimization problems. Coopr has been used in both undergraduate and graduate classroom environments, by researchers at U.S. and international universities, and at national laboratories run by the United States Department of Energy. Example applications include electrical grid operations (unit commitment), nuclear weapons enterprise planning, natural resource management (forest harvesting, open-pit mining), biofuel distribution network design, sensor placement for detecting contaminants and gas leaks, and electrical grid expansion planning.
  • But before you rush out to get Coopr 3.0, Coopr 3.1 was released November 11, 2011. Coopr is a collection of Python software packages that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. The following are highlights of this release:
    • Solvers: Interfaces for OpenOpt solvers; many solver interface improvements; a solver checker to validate solver interfaces; improved support for SOS constraints (cplex, gurobi); PH supports nonlinear models; PH-specific solver servers.
    • Modeling: Comprehensive rework of blocks and connectors for modular modeling; new VarList component; added comprehensive support for set expressions.
    • Usability enhancements: New 'coopr' command has subcommands that consolidate Coopr scripting; added support to connect to databases with ODBC; made JSON the default results format.
    • Other: Efficiency improvements in model generation, memory, runtime, etc.; preliminary support for black-box applications; deprecated modeling syntax in Coopr 3.0 is no longer legal.
  • Optimization Services (OS): Release 2.4.0 is now available. This release has full support, including an API, for the OS solver result language and the OS option language. In addition, the OS project along with other COIN-OR packages, was used to model a student bus routing system at the University of Cincinnati. See the paper The Demand Weighted Vehicle Routing Problem. Finally, the new COIN-OR modeling language CMPL is integrated with the OSSolverService executable in order to solve the generated model.

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.
    • Michael Juenger
  • 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++.
    • Andrea Walther, andrea dot walther at uni-paderborn dot de
  • AIMMSlinks: AIMMS/COIN-OR Links, links between the modeling language AIMMS and solvers that are hosted at COIN-OR.
    • Marcel Hunting, marcel dot hunting at aimms dot com
  • BCP, Branch-Cut-Price Framework, is a parallel branch-cut-price framework.
    • Laszlo Ladanyi, ladanyi at us dot ibm dot com
  • Bonmin, Basic Open-source Nonlinear Mixed INteger programming, is an experimental C++ code for solving general mixed-integer nonlinear programming problems.
    • Pierre Bonami, pierre.bonami at lif dot univ-mrs dot fr
  • BuildTools, build and documentation support for COIN-OR projects.
    • Andreas Waechter, andreasw at watson dot ibm dot com
  • Cbc, COIN-OR Branch and Cut, a library for creating branch and cut algorithms; includes a standalone branch-and-cut executable.
    • Ted Ralphs, ted at lehigh dot edu
  • Cgc, COIN-OR Graph Classes, a collection of network representations and algorithms.
    • Phillip Walton, hpwalton at
  • Cgl, Cut Generation Library, a collection of algorithms to generate cutting planes.
    • Robin Lougee, rlougee at us dot ibm dot com
  • CHiPPS, COIN-OR Open Parallel Search Framework.
    • Ted Ralphs, tkralphs at lehigh dot edu
  • Clp, COIN-OR LP, a linear program solver.
    • Julian Hall, jajhall at ed dot ac dot uk
  • CMPL, Coliop/Coin Mathematical Programming Language.
    • Mike Steglich mike.steglich at th-wildau dot de
  • CoinBazaar: The COIN-OR Bazaar, small examples and extensions of COIN-OR projects.
    • William Hart, wehart at sandia dot gov
  • CoinBinary, pre-compiled binary distributions of COIN-OR projects.
    • Ted Ralphs, ted at lehigh dot edu
    • The repository for CoinAll, an interoperable set of many of the COIN libraries conveniently collected in one place, is housed in the CoinBinary project.
  • CoinEasy: Provides guidelines for new users to COIN-OR to get up and running easily.
    • Kipp Martin, kmartin at chicagobooth dot edu
  • CoinMP, a Windows DLL solver with a C-API interface to COIN-OR LP, COIN-OR Branch and Cut, and the Cut Generation Library.
    • Bjarni Kristjansson, bjarni at maximalsoftware dot com
  • CoinUtils, COIN-OR utilities library.
    • Laszlo Ladanyi, ladanyi at us dot ibm dot com
  • Coopr, COmmon Optimization Python Repository, integrates a variety of Python optimization-related packages.
    • William Hart, wehart at sandia dot gov
  • Couenne, an exact solver for non-convex MINLP problems.
    • Pietro Belotti, pbelott at clemson dot edu
  • CppAD, a tool that computes derivatives of C++ algorithms.
    • Brad Bell, bradbell at seanet dot com
  • CSDP, library for semidefinite programming.
    • Brian Borchers borchers at nmt dot edu
  • DFO, Derivative-Free Optimization, a package for solving general nonlinear optimization problems when derivatives are unavailable.
    • Katya Scheinberg
  • DIP, Decomposition in Integer Programming, a framework for implementing a variety of decomposition-based branch-and-bound algorithms for solving mixed-integer linear programs.
    • Ted Ralphs, ted at lehigh dot edu
  • Djinni, a templatized C++ framework with Python bindings for heuristic search.
    • Justin C. Goodson, goodson at slu dot edu
  • DyLP, an implementation of the dynamic simplex algorithm.
    • Lou Hafer, lou at cs dot sfu dot ca
  • FLOPC++, an algebraic modeling language embedded in C++.
    • Tim Hultberg, tim dot hultberg at eumetsat dot int
  • GAMSlinks, links between GAMS and open source solvers.
    • Stefan Vigerske
  • IPOPT, an interior point algorithm for general large-scale nonlinear optimization.
    • Andreas Waechter, andreasw at watson dot ibm dot com
  • LaGO, Lagrangian Global Optimizer, global optimization of nonconvex mixed-integer programs.
    • Stefan Vigerske
  • 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.
    • Alpar Juttner, alpar at cs dot elte dot hu
  • METSlib, an object oriented metaheuristics optimization framework and toolkit in C++.
    • Mirko Maischberger, mirko dot maischberger at gmail dot com
  • MOCHA, Matroid Optimization: Combinatorial Heuristics and Algorithms, heuristics and algorithms for multicriteria matroid optimization.
    • David Haws, dchaws+MOCHA at gmail dot com
  • NLPAPI, Non-Linear Program Application Programming Interface, subroutine interface for defining and solving non-linear programming problems.
    • Michael Henderson
  • OBOE, Oracle Based Optimization Engine, optimization of convex problems with user-supplied methods delivering key first order information.
    • Nidhi Sawhney, nsawhney at gmail dot com
  • OptiML: Optimization for Machine Learning, interior point, active set method and parametric solvers for support vector machines, solver for the sparse inverse covariance problem.
    • Katya Scheinberg
  • OS, Optimization Services, standards for representing optimization instances, results, solver options, and communication between clients and solvers in a distributed environment using Web Services.
    • Kipp Martin, kipp.martin at chicagogsb dot edu, Horand Gassmann and Jun Ma
  • OSI, Open Solver Interface, a uniform subroutine interface for callable solver libraries.
    • Matthew Saltzman, mjs at clemson dot edu and Lou Hafer, lou at cs dot sfu dot ca
  • OTS, Open Tabu Search, a Java framework for creating tabu search algorithms.
    • Rob Harder
  • PFunc, Parallel Functions, a lightweight and portable library that provides C and C++ APIs to express task parallelism.
    • Prabhanjan Kambadur, pkambadu at osl dot iu dot edu
  • PuLP, Python library for modeling linear and integer programs.
    • Stuart Mitchell, s.mitchell at auckland dot ac dot nz
  • ROSE, Reformulation/Optimisation Software Engine, tools for automating mathematical programming reformulation.
    • David Savourey, savourey at lix dot polytechnique dot fr
  • SMI, Stochastic Modeling Interface, an interface for optimization under uncertainty.
    • Alan King, kingaj at us dot ibm dot com
  • SYMPHONY, a callable library for solving mixed-integer linear programs.
    • Ted Ralphs, tkralphs at lehigh dot edu
  • TestTools, Python scripts to automatically download, configure, build, test, install, build binaries, and distribute binaries.
    • JP Fasano
  • Volume Algorithm, a generalization of the subgradient method which produces approximate primal solutions as well as dual solutions.
    • Francisco Barahona, barahon at us dot ibm dot com
  • VRPH: VRP Heuristics, a library of heuristics for generating solutions to variants of the vehicle routing problem.
    • Chris Groer, cgroer at gmail dot com

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 9 years ago Last modified on Aug 14, 2012 3:16:07 PM