wiki:AnnualReport2009

COIN-OR 2009 Annual Report

This wiki page will be used to create a hard-copy 2009 Annual Report to be distributed at the INFORMS San Diego Meeting in November 2009. The annual reports serves a couple of purposes. It provides a much needed document of our progress for pursuing sponsorship (those chocolate coins aren't free, you know ;-) It also provides a snapshot of what's happening for potential members. So please, add any information you'd like the world to know about regarding your involvement in COIN-OR.

Introduction

The COmputational INfrastructure for Operations Research (COIN-OR) is the premier web site devoted to open-source software for the operations research community. Hosted by INFORMS, the COIN-OR web site is home to nearly three dozen projects, and a burgeoning community comprised of more than 2,000 subscriptions from more than 1,000 unique e-mail addresses. COIN-OR encourages new project contributions by providing an extensive set of tools and infrastructure support for collaborative project development. Since 2004, COIN-OR has been managed by the non-profit educational COIN-OR Foundation.

Reports from the SLB & TLC

  • SLB: Matthew Saltzman (President), Robert Fourer (Secretary), Ted Ralphs (Treasurer and TLC Rep), Mike Trick, David Jensen, Lou Hafer, Kevin Furman. Our principal activities this year have been related to the legal requirements for projects and the conflict of interest policy for board members and officers. Some progress has been made on both fronts, but neither has reached a conclusion yet.

Reports from each SLB standing committee, which would be ...

  • Corporate Relations:
  • Finance:

  • Legal Affairs:
    • The legal committee has made significant progress towards a reformation of the legal standards and processes that both make the project submission process easier and provide more assurances to entities that want to use COIN code.

  • Membership:
    • The Membership Committee failed to put out the usual annual appeal for nominations for new full members last Fall, and we're way behind. We know there are lots of deserving contributors out there. Don't wait for us! Go to the membership listing and scroll down to the Full Members list for instructions on how to nominate someone.
  • Outreach:
    • Annual meeting and activities at ICS 2009 in Charleston . . .
    • A COIN-OR progress report was presented by Bob Fourer to an audience of about 30 at the International Symposium on Mathematical Programming in Chicago August 23-28. COIN-OR was unveiled at the triennial Symposium in 2000 and this was the third update to be given at subsequent meetings.
    • COIN-OR 10th anniversary celebration and John Forrest retirement party at 2010 INFORMS Annual Meeting in Austin . . .
  • Web (subcommittee of Outreach):
  • Technical Leadership Council (TLC):
    • We spent much of the year and a good deal of effort talking about a reformation to the way the set of interoperable projects the use the common build tools are managed and interact. This reformation is meant to make it easier to manage the repository as a whole by de-coupling development of project, to encourage more frequent releases, and eventually to allow easy maintenance of binary distributions, installers, RPMs and .debs, etc.

Elections

  • Nominated for 2009-2012 terms on SLB:
    • Kevin Furman
    • Lou Hafer
  • Nominated for 2009-2012 terms on TLC:
    • William Hart
    • Leo Lopes
  • Results to be announced at COIN-OR Users Meeting, INFORMS San Diego

Project List

  • Bonmin, Basic Open-source Nonlinear Mixed INteger programming, an experimental C++ code for solving general mixed-integer nonlinear programming problems,
    • Pierre Bonami, pierre.bonami at lif dot univ-mrs dot fr
  • Branch-Cut-Price Framework, a parallel branch-cut-price framework,
    • Laszlo Ladanyi, ladanyi at us dot ibm dot com
  • BuildTools, Unix developer tools and documentation
    • Andreas Waechter, andreasw at watson dot ibm dot com
  • 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
  • COIN-OR Binary Distributions, pre-compiled binary distributions of COIN-OR projects
    • Ted Ralphs, ted at lehigh dot edu
    • There is a new stable version 1.3 of the CoinAll? package, which is an interoperable set of many of the COIN libraries intended to serve as a basis for an envisioned system for automatically creating binaries for COIN projects.
  • COIN-OR Branch and Cut, a library for creating branch and cut algorithms, which together with COIN-OR LP and the Cut Generation Library forms a stand-alone mixed-integer linear solver.
    • John Forrest, jjforre at us.ibm.com
  • COIN-OR Graph Classes, a collection of network representations and algorithms
    • Phillip Walton, hpwalton at comcast.net
  • COIN-OR LP, a linear program solver,
    • John Forrest, jjforre at us.ibm.com
  • CoinUtils, COIN-OR utilities library,
    • Laszlo Ladanyi, ladanyi at us dot ibm dot com
  • CoinWeb, Web services for COIN-OR projects
    • <no pm listed>
  • Couenne, an exact solver for non-convex MINLP problems
    • Pietro Belotti, belotti at lehigh.edu
  • CHiPPS, COIN-OR Open Parallel Search Framework
    • Ted Ralphs, tkralphs at lehigh dot edu
    • There were new releases of all of the CHiPPS projects this year with new functionality, including support for more general search algorithms in ALPS and support for more general branching methods in BLIS.
  • 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
  • Cut Generation Library, a collection of algorithms to generate cutting planes,
    • Robin Lougee-Heimer (robinlh at us.ibm.com) and Francois Margot (fmargot at andrew.cmu.edu)
  • Derivative-Free Optimization, a package for solving general nonlinear optimization problems when derivatives are unavailable,
    • Katya Scheinberg
  • DyLP, an implementation of the dynamic simplex algorithm
    • Lou Hafer, lou@…
  • 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
  • Lagrangian Global Optimizer, global optimization of nonconvex mixed-integer programs
    • Stefan Vigerske
  • Non-Linear Program Application Programming Interface, subroutine interface for defining and solving non-linear programming problems,
    • Michael Henderson
  • OBOE
    • nsawhney at gmail.com
  • Open Solver Interface, a uniform subroutine interface for callable solver libraries,
    • Matthew Saltzman
  • Open Tabu Search, a Java framework for creating tabu search algorithms,
    • Rob Harder
  • OS, 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 and Jun Ma
  • Stochastic Modeling Interface, an interface for optimization under uncertainty,
    • Alan King, kingaj at us dot ibm dot com
  • SVM-QP, Support Vector Machine Quadratic Programming,
    • Katya Scheinberg
  • SYMPHONY, a callable library for solving mixed-integer linear programs,
    • Ted Ralphs, tkralphs at lehigh dot edu
    • The SYMPHONY team released new version 5.2, which includes a preprocessor, an implementation of the feasibility pump heuristic, and improved branching rules. SYMPHONY 5.2 is now several times faster than SYMPHONY 5.1, on average. We also now offer automatic installers for Windows and Linux.
  • 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

The projects above reflect the interests of the individuals who have participated 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 varies by project and 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.

New Projects

The following projects have been published at http://www.coin-or.org/projects/ in the past year. Many more projects are in the approval pipeline.

  1. ADOL-C: ADOL-C joined COIN-OR in March 2009 though ADOL-C has been maintained and developed for over ten years. The package name stands for Automatic Differentiation by OverLoading in C++. ADOL-C facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. It provides drivers for the most common differentiation tasks, e.g. gradients, jacobians, and hessians, allows the exploitation of sparsity and offers several options for adapted derivative computations, e.g. checkpointing facilities, advanced differentiation for fixpoint iterations and first drivers for OpenMP parallel programs.
  1. LEMON: This project joined to COIN-OR in March 2009, though its development started a couple of years before. The LEMON project provides generic data structures and algorithms in the area of graph and network optimization. The main design principle is efficiency, both in terms of running time and in terms of ease of use.
    The latest stable release contains around 43200 lines of source code implementing various graph related data structures and optimization algorithms. They provide a fairly good coverage of the common graph optimization problems, like graph searches, shortest paths, spanning trees, network flows, matchings etc. Many of these tools are the fastest available on the market.
  1. MOCHA: MOCHA joined COIN-OR in October 2009 and stands for Matroid Optimization: Combinatorial Heuristics and Algorithms. The package provides heuristics and algorithms to solve problems in the burgeoning field of multicriteria matroid optimization. Included are data structures to store and work on matroids, in order to provide a foundation for old and new algorithms. MOCHA was initially developed for the paper "Computation in Multicriteria Matroid Optimization", submitted to the Journal of Experimental Algorithmics, 2009, and authored by J. De Loera, D. Haws, J. Lee, and A. O'Hair.

Projects in the Pipeline

Many projects are currently in the process of being approved for publication on COIN-OR. The Foundation does not publicize this list. Contributors who would like to announce their pending contributions are welcome to do so here. We look forward to working with you and seeing your projects available on COIN-OR soon.

Current Projects

In Optimization Services:

  • We have released version 2.0 which includes support for the Couenne solver.
  • Release 2.0 provides a new API for solver options and solver results (along with an API for the model instance). We also provide XML schemas for representing solver options and solver results.
  • We have created a binary distribution for Windows users. This distribution contains executables for the Microsoft Windows operating system and is intended for users of Microsoft Windows who want to use COIN-OR solvers to solve optimization problems without the need to compile any code. This distribution also contains COIN-OR libraries and Visual Studio project files for users that want to write applications that link to COIN-OR libraries using Visual Studio. See Windows Binaries.

In Csdp: Although there has been very little further development of CSDP in the past year, the software continues to be widely used. Some recent developments include: Csdp is used within the HOL-Light theorem proving system. An R interface to Csdp has been developed. A list of recent papers in which Csdp has been used is available.

In Osi: A first version of a link to Gurobi has been added (to trunk). It does not support ranged rows yet.

DyLP has a brand new set of interface routines for generating full solutions, rays, and tableau vectors while working with a partial constraint system, and a spanking new unit test to match. Look for a simplex interface in OsiDylp in the not-too-distant future.

User Reports

One of COIN-OR’s lofty goals is to accelerate the adoption of state-of-the-art models, algorithms, and computational research. The following new-user reports, listed in alphabetical order of the contributor, indicate continuing progress.

HSDSolver - David Bremner, Dan Chen (Carleton University) We are using BCP as a testbed for various cut generation schemes, branching strategies and bounding heuristics for Maximum Infeasible Subset/Halfspace?-depth. Kipp Martin, University of Chicago. I am using COIN-OR Branch Cut and Price (Bcp) for two applications. The first application is to schedule doctors to clinical and surgical requests. This is a problem with millions of variables and I am using the column generation feature of Bcp. I am also using Bcp for a cut generation problem for scheduling campus bus routes.

ASCEND modelling environment - Mahesh Narayanamurthi, John Pye (Australian National University) and Ben Allan (ex-Carnegie-Mellon University)

As a part of the Google Summer of Code (2009) program, we have developed a wrapper for IPOPT to solve NLP problems with ASCEND. ASCEND is a flexible modeling environment for solving complex engineering and science problems. It has an object-oriented model description language, an interactive user interface and a built-in scripting environment to automate complex simulation problems (see our overview). During the course of the recent GSOC, we wrote complete routines for calculation of adjoints, jacobians, exact second partials, and added support for the calculation of the lagrange of hessians in the wrapper layer.

With all of this, ASCEND now offers a completely FOSS way for non-technical users to solve NLP problems, with ASCEND. We are now working on a release that will incorporate the new features (currently we offer Linux & Windows, and next release will include Mac OS X).

ASCEND has some basic support for MINLP problems via the current CMSlv solver, but we're looking at whether we might be able to interface with other solvers like Bonmin from COIN-OR.

We're also looking for people to try out our new IPOPT integration, and any feedback from the COIN community would be very welcome.

Last modified 10 years ago Last modified on Oct 8, 2009 2:47:12 AM