Friday, April 16, 2010

Recent Coopr Developments

Coopr is a collection of Python optimization-related packages that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. The following are key Coopr capabilities that are driving Coopr development:

  • Pyomo: Formulate algebraic models within Python's modern programming language
  • PySP: Generic solvers for stochastic programming problems
  • COLIN: Scripts that simplify IO between optimizers and black-box applications
  • SUCASA: Customize MIP solvers to expose model structure to the MIP solver engine

See https://software.sandia.gov/trac/coopr/wiki/GettingStarted for instructions for getting started with Coopr. An installation script, coopr_install, is provided to simplify the installation of Coopr packages along with the third-party Python packages that they depend on. This installer can also automatically install extension packages from Coin Bazaar. See http://groups.google.com/group/coopr-forum/topics for online discussions of Coopr.

Two recent Coopr developments are noteworthy:

I. Coopr development is now co-hosted by Sandia National Laboratories and COIN-OR:

Coopr includes wrappers for COIN-OR solvers, and Coopr directly leverages the COIN-OR Coin
Bazaar project to host plug-in packages for Coopr (e.g., see the coopr.neos package in Coin Bazaar).

II. We have recently released Coopr 2.3. This release includes
  • A preliminary Gurobi solver interface
  • Extended syntax for data command files:
    o 'include' command to load other data command files
    o 'import' command to load data from other sources
    o namespaces to next data declarations
  • The coopr_install script can install packages from Coin Bazaar
  • New conversion scripts to generate LP or NL files from Pyomo models
  • Solvers now extract standard suffix information
  • Various fixes to PySP solvers
  • Full support for PyPI. You can install from PyPI using the 'Coopr' package name.

Enjoy!

No comments:

Post a Comment