This is COAL (Convex Optimization Algorithms Library)

Introduction

The Convex Optimization Algorithms Library (COAL) provides a flexible algorithmic framework written in C++, that connects solvers, relying on certain generic properties of a mathematical problem, such as differentiability, linearity, specific constraint forms etc., to applications, whose models exhibit these properties.

The key features of COAL are:

  • COAL does not rely on an explicit representation, but supports a compact problem implementation that relies on implicit representations wherever possible, similar to using callbacks. It can therefore also be used for large-scale problems.
  • Using an extensible set of properties, it permits to formulate problems as close as possible to their native formulation. Also, this allows the solver to access all information available for the problem, as long as a corresponding interface has been implemented. While COAL is not a complete modeling language, it allows to build complex problems from simple building blocks in a plug-and-play fashion, without transforming them to a standard form beforehand.
  • COAL is implemented in C++ and relies on a fast lower-level linear algebra subsystem. Thus, the overall performance is only slightly lower than for hand-tuned implementations, therefore a reimplementation can be avoided when moving from modeling to production. Nevertheless, due to the modularity of the higher-level optimization layer, it is easy to add additional constraints, or even change the solver, if requirements change.

Obtaining COAL

COAL is released under the GPL and can be obtained via sourceforge including the source files and documentation.

Documentation

COAL is documented using doxygen. To generate the documentation, please run doxygen on your local checkout.

License

Copyright (c) 2011 by Image & Pattern Analysis Group (University of Heidelberg, Germany) - Dirk Breitenreicher, Jan Lellmann and Christoph Schnörr

COAL is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

COAL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/licenses.

Using and Citing COAL

Anyone is free to use COAL for academic research. In case you are using COAL in work that is to be published, please refer to COAL by citing:

Breitenreicher, Dirk and Lellmann, Jan and Schnörr, Christoph - COAL: a generic modelling and prototyping framework for convex optimization problems of variational image analysis. Optimization Methods and Software (2012), pages 1-14

 

Last edit: Dirk Breitenreicher 2012-09-26