April 8, 2016: CBC now available on Google Sheets
A new version of OpenSolver for Google Sheets added support for the COIN-OR CBC solver via NEOS. This free app allows LP and IP models to be formulated and solved online within Google Sheets. For more details, see here.
June 23, 2015: RBFOpt - A New Library for Black-box Optimization
RBFOpt is a library written in Python for black-box (also known as derivative-free) optimization. It is a global solver that requires 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.
May 5, 2015: Rehearse - A New Library for Algebraic Modeling in C++
Rehearse is an algebraic modeling library in C++, that has been added to the COIN-OR repository. It works in a very similar way to the equivalent proprietary ILOG Concert © library.
November 5, 2014: 2014 INFORMS Impact Prize Winners
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.
October 10, 2014: New Project Paver for Performance Data Comparison
Paver is a collection of Python scripts meant to simplify the task of performance data comparison and visualization. Some example usages of PAVER can be found at here. This paper describes the setup, usage, and features of Paver.
August 5, 2014: New COIN-OR project: qpOASES
qpOASES is an open-source C++ implementation of the recently proposed online active set strategy for solving quadratic programming (QP) problems. 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 degenerated QP problems. Moreover, several interfaces to third-party software make the code easy-to-use. qpOASES is being developed since 2007 and has proved useful in numerous real-world applications and industrial projects.
May 3, 2014: MC++, A Toolkit for Bounding Factorable Functions
Benoit Chachuat announced a new project in COIN-OR: MC++ provides an implementation of various methods for computing bounds for factorable functions, in the formof convex/concave relaxations, Taylor models, or spectral bounds. A main objective in developing MC++ has been to make the bounds computation as simple andnatural as possible, similar to existing interval arithmetic libraries. This way, MC++ can be quite useful for the fast prototyping and testing of newalgorithms and ideas in global or robust optimization. More information about MC++ can be found at here.
May 3, 2014: JuMP 0.5 Released
The JuMP Team announced the release of JuMP 0.5, an open-source algebraic modeling language in Julia, now with support for algebraic modeling of nonlinear problems using Ipopt with a familiar scalar-based syntax similar to AMPL and GAMS. JuMP can efficiently compute sparse Jacobians and Hessians for large-scale problems using reverse-mode automatic differentiation coupled with Julia's powerful just-in-time compilation abilities to generate and compile specialized matrix generators at runtime, all in memory. For example code, see the documentation.
March 11, 2014: Stochastic Modeling Interface Enhancements
The Smi (Stochastic Modeling Interface) has the capability to assemble stochastic linear programs based on scenario trees. Alan King announced that quadratic programming has recently been added to the Smi capabilities. The current stable version 0.94 includes interfaces for constructing a quadratic stochastic program using the core problem / stochastic data paradigm. The unit test contains a use case.
March 4, 2014: New Release of CMPL
Mike Steglich announded the release of CMPL 1.9.0. New main features and change log can found here.
October 7, 2013: COIN-OR Cup 2013 Winner
The winner of the 2013 COIN-OR INFORMS Cup is a parallel, distributed-memory simplex implementation for large-scale block-angular LPs, motivated by energy applications of two-stage stochastic programming. At the core of the implementation is specialized linear algebra for factorizing and solving linear systems with the simplex basis matrix at each iteration. COIN-OR libraries, in particular the CoinFactorization class of the CoinUtils package, were a foundation for their implementation.
May 14, 2012: OpenOffice 3.4.0 Uses COIN-OR Tools
The Apache Software Foundation (ASF) has announced availability of OpenOffice version 3.4.0. Among its new features: The linear programming solver in the Calc spreadsheet program has been replaced with COIN-OR tools. The spreadsheet uses the CoinMP API, which in turn uses the COIN-OR Brach and Cut MIP solver (CBC) and the COIN-OR Linear Programming solver (CLP) as solver engines, the Open Solver Interface (OSI), the Cut Generator Library (CGL) and the CoinUtils utility library.
September 29, 2011: Rose joined COIN-OR
David Savourey and Leo Liberti announced the new ROSE (Reformulation/Optimization Software Engine) project. ROSE is an automatic reformulation software for mathematical programs. ROSE works either stand-alone (mostly for debugging purposes) or as an AMPL solver. As AMPL is very much closed-source and has no facilities for editing a "structured formulations" (i.e. a formulation involving indices and quantifiers) in memory, ROSE writes its output (usually a reformulated version of the mathematical programming formulation given in input) as a text file. This may be an input to a further processing software (such as a numerical solver), or a "flat formulation" (i.e. a formulation without indices where all the parameter symbols have been replaced by numerical data) again in AMPL format. More information can be found in here.
June 8, 2011: Announcing CMPL
Mike Steglich and Thomas Schleiff announced CMPL. CMPL is a mathematical programming language and a system for modelling, solving and analysing linear programming (LP) problems and mixed integer programming (MIP) problems. The CMPL syntax is similar in formulation to the original mathematical model but also includes syntactic elements from modern programming languages. CMPL uses the COIN-OR OSSolverService to solve LP and MIP problems. For more information, please visit the CMPL project page.
April 7, 2011: IPOPT Wins the Wilkinson Prize for Numerical Software
The 2011 Wilkinson Prize for Numerical Software will be awarded to Andreas Waechter (IBM T. J. Watson Research Center) and Carl Laird (Texas A&M University) for IPOPT, a software library for solving nonlinear, nonconvex, large-scale continuous optimization problems. The presentation of the award will take place at the International Congress on Industrial and Applied Mathematics (ICIAM 2011) in Vancouver, BC, Canada.
September 29, 2010: Tutorial on COIN-OR
Kipp Martin was asked to write a tutorial on COIN-OR for Interfaces. This tutorial, "COIN-OR: Software for the OR Community", is due to be published in the November-December 2010 issue, Vol. 40, No. 6.
March 11, 2010: The Coin Bazaar Project
Bill Hart announced the new Coin Bazaar project. This COIN-OR project facilitates community involvement in the COIN-OR repositories by allowing OR researchers to contribute code examples, application examples and code extensions and plug-ins without directly contributing to a regular COIN-OR project. Thus, this project helps bridge the gap between core package development and package extensions. Specific goals of this project are:
- To manage extensions to COIN-OR packages that have limited subversion access
- Allow developers and COIN-OR users to share code and application examples
- Provide a home for auxiliary software tools that facilitate the use of COIN-OR tools
Coin Bazaar projects are managed within separate directories in the Coin Bazaar subversion repository. Subversion access control is used to manage edits for each project. Although these projects are intended for public distribution, the access control mechanism also supports non-public development (e.g. while preparing a publication). Note that each project is licensed separately, and our intent is not to require that Coin Bazaar projects be licensed consistently (e.g. all under the EPL). See here for instructions for contributing to Coin Bazaar and here for the list of current projects.
March 4, 2010: DIP Framework
Matt Galati and Ted Ralphs announced the addition of the Decomposition in Integer Programming (DIP) framework to the COIN-OR repository. DIP is an open-source, extensible framework for implementing decomposition-based bounding algorithms for use in solving large-scale discrete optimization problems. The framework provides a simple API for experimenting with various decomposition-based algorithms, such as Dantzig-Wolfe decomposition, Lagrangian relaxation, and various cutting plane methods. Given a compact formulation and a relaxation, the framework takes care of all algorithmic details associated with implementing any of a wide range of decomposition-based algorithms, such as branch and cut, branch and price, branch and cut and price, subgradient-based Lagrangian relaxation, branch and relax and cut, and decompose and cut. The user can specify customizations, such as methods for generating valid inequalities and branching, in terms of the variables of the compact formulation, without having to worry about the details of any required reformulations. DIP is used in combination with CHiPPS, which provides the underlying tree search methodology required to execute decomposition-based branch-and-bound algorithms using DIP. The DIP project page can be reached at here. The current stable version of DIP is 0.8 and the most recent release is 0.8.2.
December 31, 2009: PuLP: A python library for modeling LP/MILP
Stuart Mitchell announced the release of PuLP 1.4.2. PuLP is a python library for modeling Linear and Integer Programming Problems. PuLP can generate MPS or LP files and call GLPK, COINMP, CBC, CPLEX, and GUROBI to solve the problems. PuLP requires Python >= 2.5. but can be made to work on Python2.4 as well. Pulp comes with Binaries for COINMP complied for both MS Windows and Ubuntu Linux and should be able to work 'out of the box' in those
environments.
Pulp has been in development since 2007 by J.S Roy and is now maintained by Stuart Mitchell. Stuart uses Pulp on a daily basis for a number of projects. As well as being a free, open source modeling language (BSD license). PuLP is implemented in Python a powerful scripting language. The documentation includes some modelling case studies and will eventually include all of the case studies found at here.
Comments, bug reports, patches and suggestions are welcome. For more information, please visit this website.
December 4, 2009: AIMMSlinks
AIMMS is pleased to announce the new COIN-OR project AIMMSlinks, which is dedicated to the development of links between the modeling language AIMMS and solvers that are hosted at COIN-OR. The project is released under the Common Public License. With AIMMSlinks, users can create an interface between AIMMS and a COIN-OR solver using the AIMMS Open Solver Interface API. Currently, the links to Cbc and Ipopt are available. The project page with download and installation instructions can be found here. A mailing list is also available for discussion, asking questions, proposing new features, etc.
November 2, 2009: PFunc: A new library for task parallelism
PFunc, short for Parallel Functions, is a lightweight and portable library that provides C and C++ APIs to express task parallelism. The features offered by PFunc are a strict superset of the features offered by current solutions for task parallelism such as Cilk and Threading Building Blocks. Some of highlights of PFunc are:
- Custom Priorities for tasks.
- Custom Scheduling for tasks.
- Task Groups for collective communication.
- Nested Parallelism
- Generic
- Open Source
Being designed using generic programming principles, PFunc allows users to customize their run at compile-time without any performance penalties. PFunc has been released under the Eclipse Public License v1.0.
For more information, please visit this website.
October 12, 2009: COIN-OR Cup goes to a team from Queen's and Cornell Universities.
Yuri Levin, Tatsiana Levina, Jeff McGill, Mikhail Nediak and Huseyin Topaloglu applied COIN-OR technologies DFO and IPOPT to develop novel techniques for cargo capacity management and dynamic pricing.
Congratulations to our 2009 COIN-OR Cup Winners!
October 10, 2009: Events at INFORMS
For those attending INFORMS, there will be three important events .
- COIN-OR Cup Celebration (Sponsored by IBM): Celebrating the COIN-OR community and presenting COIN-OR Cup.
Day: Monday, October 12, 2009
Time: 9:00 - 11:00 pm
Location: Rock Bottom Restaurant & Brewery, 401 G St., San Diego, CA 92101
Organizer: Bill Hart
- COIN-OR Members & Users Meeting
Day: Monday, October 12, 2009
Time: 12:15 - 1:15PM
Location: C-25A
Organizer: Bob Fourer
- Panel Discussion: COIN-OR Technology Forum
Day: Thuesday, October 13, 2009
Time: 11:00 - 12:30 PM
Location: C-26B
Organizer: Matt Saltzman
October 10, 2009: New Legal Policies Proposed
The COIN-OR Foundation's Strategic Leadership Board is pleased to announce the release of new document outlining a proposed change in legal policy. This document is now available for public comment here. The new policy is aimed at streamlining project acceptance procedures and ensuring the repository remains as open as possible while maintaining respect for intellectual property laws and transparency with regard to the legal pedigree of hosted codes. We would appreciate any feedback we can get from the user community regarding how this change in policy might affect your ability to use or contribute to the growing collection of software in COIN.
August 25, 2009: Visual Studio Project Files
Kipp Martin has provided a distribution of executables, libraries, and sample code for numerous COIN-OR projects including Optimization Services (OS Release 2.0). This distribution is available for downloading via this link. The target audience includes users of Microsoft Windows who want to solve optimization problems without having to compile the COIN-OR source, as well as Visual Studio developers of projects that link to COIN-OR solver libraries.
July 22, 2009: METSlib Metaheuristic library
Mirko Maischberger announced the METSlib project, a metaheuristics modeling framework and optimization toolkit in C++ released under the GPLv3 or, at your opinion, the CPL 1.0. Currently, the toolkit implements the basics of some metaheuristic algorithms
- Local Search,
- Simulated Annealing, and
- Tabu Search.
Users can create their own models and use the built-in algorithms to find solutions. Also, users can implement other metaheuristics by using existing modules as building blocks.