wiki:AnnualReport2014

COIN-OR 2014 Annual Report

This wiki page will become the 2014 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.

Introduction

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 52 projects produced by 90 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), William Hart, Alan King, Andrew Mason, Ted Ralphs (TLC Rep), Matthew Saltzman (President).

Report from the President

I am pleased and proud and humbled to be part of the team of COIN-OR "pioneers" honored by the INFORMS Impact Prize. In my view, the award belongs to the entire COIN-OR community--the community's contributions and adoption of COIN-OR tools and its support for the idea of open source is the reason COIN-OR's impact has been so substantial. Thanks to everyone for making COIN-OR a success.

We have a new Web site under development, which should be in production very soon now. Thanks to Nassim Dehouche for his substantial efforts putting the site together. The site can be previewed at http://wptest.coin-or.org, and comments can be sent to me.

It is exciting to see the community and the number of projects continue to grow. I hope that the Impact Prize will lead to even more interest and more projects in the future.

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)

After two years of neglect, the Membership Committee has finally been able to recognise the contributions of 18 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)

There has been no action by the Outreach Committee this year.

Web (Matt Saltzman, Bill Hart)

The Web Committee has made substantial progress towards a new COIN web site and hopes to complete the task within the next few months. As mentioned in the President's report, the site can be previewed at http://wptest.coin-or.org. Volunteers are always needed and welcome. Offers to work for pay will be considered based on qualifications and the needs of the web site team.

  • Technical Leadership Council (TLC): Tony Kelman, Miles Lubin, Kipp Martin, Ted Ralphs (chair), Haroldo Gambini Santos, John Siirola, Stefan Vigerske. The Technical Leadership Council continued to make progress on the overall agenda of making COIN more accessible, robust and usable. As such, the main goals accomplished this year were
    • More progress has been made on changes to the build system. Specifically, we have a version of the build system that works with the latest version of the auto tools, though this currently only fully implemented for the trunk of CoinUtils?. We have implemented best practices with respect to dependency linking, allowing DLLs to be built on Windows using MinGW.
    • We completed the job of setting up automatic mirroring of projects to github and we now have a fully functioning github group site!
    • The submission process has been reformed and the queue was cleared this year, so that we now no longer have any projects that have been waiting for an extended period of time.
    • Many of the problems with scripts on the server were cleared up.
    • Very significant progress was made on getting projects into Debian and Fedora. Many of the projects in CoinAll? are now available in the Debian-based and Fedora-based Linux distributions.
    • Jenkins integration and support was completed and we now have a full automatic build and test environment operational.

Elections

The SLB welcomes two new members, Robert Fourer and Daniel Reich. Mike Steglich joins the TLC as a new member and John Siirola and Stefan Vigerske return for another term. The Foundation thanks William Hart for his service as a member of the SLB and Kipp Martin for his service as a member of the TLC.

New Members

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

  • Benoit Chachuat (Project Manager and author, MC++)
  • Frank Curtis (Project Manager, filterSD)
  • Christophe-Marie Duquesne (Project Manager and author, yaposib)
  • Joachim Ferreau (Project Manager and author, qpOASES)
  • Roger Fletcher (Author, filterSD)
  • Jaroslav Fowkes (Project Manager and author, oBB)
  • Julio Góez (Author, jMarkov)
  • Christian Kirches (Author, qpOASES)
  • Miles Lubin (2013 COIN Cup winner for contributions to the CoinUtils simplex basis code)
  • Juan Pérez (Project Manager and author, jMarkov)
  • Andreas Potschka (Author, qpOASES)
  • Marcel Roelofs (2012 COIN Cup winner for modelling language interfaces to COIN code)
  • Paul Rubin (SLB Director, 2010 -- 2013)
  • Daniel Silva (Author, jMarkov)
  • Mehdi Towhidi (PM and author, CyLP)
  • Michael Trick (SLB Director, 2007 -- 2010)
  • Dominique Orban (Author, CyLP)
  • Sebastian Walter (Author, qpOASES)

New Projects

COIN-OR is pleased to welcome four new projects in the past year.

  • jMarkov is a Java framework for Markov-chain (MC) modelling. It provides the user with the ability to define MCs from the basic rules that determine their dynamics. From these rules, jMarkov explores and builds the MC state space and generator. The MC is then solved to determine user-defined steady-state and transient performance measures. jMarkov is composed of four modules:
    • The jMarkov module: for finite MCs.
    • The jQBD module: for Quasi-Birth-and-Death MCs.
    • The jPhase module: for Phase-type random variables.
    • The jMDP module: for Markov Decision Processes.
  • oBB implements an algorithm for the parallel global optimization of functions with Lipchitz continuous gradient or Hessian.
  • qpOASES is an open-source C++ implementation of the recently proposed online active set strategy, which was inspired by important observations from the field of parametric quadratic programming (QP). 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 degenerate QP problems. Several interfaces to third-party software like ​Matlab or ​Simulink are provided that make qpOASES easy-to-use even for users without knowledge of C/C++.
  • Paver is a Python tool that is meant to simplify the task of performance data comparison and visualization.

Additionally, the following four projects have almost completed the submission process and their code can already be found. These projects are located at the new COIN-OR outpost at GitHub.

  • CyLP provides a Python interface to the clp and cbc solvers. Cylp's unique feature is that you can use it to alter the solution process of the solvers from within Python. For example, you may define cut generators, branch-and-bound strategies, and primal/dual simplex pivot rules completely in Python. It provides a modelling facility and supports MPS format.
  • GiMPy is a Python graph library containing pure Python implementations of a variety of graph algorithms. The goal is clarity in implementation rather than efficiency. Most methods have an accompanying visualization and are thus appropriate for use in the classroom.
  • GrUMPy is a Python library for visualizing various aspects of mathematical programming, including visualizations of 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.
  • yaposib is a python binding to OSI, the Open Solver Interface from COIN-OR. It gives access to various solvers through python. Yaposib was created in order to be integrated in pulp-or.

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 INFORMS Impact Prize recognizes an individual or team whose contributions have had a widespread impact on the practice of operations research. With great pride, the COIN-OR Strategic Leadership Board extends its congratulations to nine of the pioneers of COIN-OR, Brenda Dietrich, JP Fasano, John Forrest, Lou Hafer, Brady Hunsaker, Laszlo Ladanyi, Robin Lougee, Ted Ralphs, and Matthew Saltzman, the recipients of the 2014 INFORMS Impact Prize.

In its citation, the Impact Prize Award Committee writes:

The Computational Infrastructure for Operations Research (COIN-OR) is an initiative to spur the development of open-source software for the operations research community in order to accelerate the adoption and the evolution of computational operations research. COIN-OR provides development tools, distribution, standards, licensing information, and other infrastructure needed to facilitate and nurture open, community-driven software.

The COIN-OR initiative was launched at the 2000 International Symposium on Mathematical Programming as a three-year experiment by IBM Research. In 2004, a dedicated nonprofit corporation was formed to take over the successful and growing initiative. In the fourteen years of its existence, COIN-OR has grown from its initial offerings of four software projects, to more than fifty projects spanning much of computational operations research. COIN-OR has influenced every aspect of operations research: research, practice, education, community, and outreach.

Software supported by COIN-OR has been an essential part of hundreds of peer-reviewed research papers and is embedded in dozens of software systems, including the most widely used environments for performing analytics in practice. People use COIN-OR software every day to implement advanced operations research solutions to important problems. Through its on-line, in-person, and print activities, COIN-OR has been educating the operations research world about OR software and the potential of open source.

Thousands of people have been involved with COIN-OR; over 1400 people subscribe to one or more COIN-OR mailing lists today. COIN-OR is the result of the collaboration of many people over many years, but there are key individuals whose significant early contributions and leadership distinguish them. We recognize the individuals who launched COIN-OR at IBM Research, where the initiative was conceived and grew over the first four years to a successful community repository, and the individuals who incorporated the non-profit COIN-OR Foundation, Inc., where the initiative has thrived and continues to grow today. For their pivotal role in the creation and wide-spread adoption of COIN-OR, INFORMS is pleased to award the 2014 Impact Prize to Brenda Dietrich, JP Fasano, John Forrest, Lou Hafer, Brady Hunsaker, Laszlo Ladanyi, Robin Lougee, Ted Ralphs, and Matthew Saltzman.

The INFORMS Impact Prize recognizes nine individuals. Without diminishing the well-deserved recognition given to the recipients, the Board would also like to extend its congratulations to all the members of the COIN-OR community. The COIN-OR initiative would not have been so successful without all those individuals who have contributed their time, expertise and software to support our endeavors, and all those users who have spurred us on to greater effort with their valuable feedback. The Board takes this opportunity to recognise the accomplishments of our community over the past decade. We look forward to the accomplishments we know will come in the future.

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.
  • 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.
  • 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.
  • 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 5 years ago Last modified on Jan 24, 2015 4:00:07 PM