ConicBundle is a callable library for C/C++ that implements a bundle method for solving
for convex functions , .
In addition to the standard first order oracle interface the library offers a number of special features:
- Upper and lower bounds may be specified for each design variable ( ); in a less efficient and somewhat experimental variant general linear constraints are allowed, as well.
- Instead of one common cutting plane model for the entire objective function, each function may either have its own specialized cutting model – this may help to improve convergence – or it may be grouped together with others in a common standard cutting plane model.
- It provides substantial support for Lagrangian relaxation, i.e., if the problem corresponds to finding the optimal dual multipliers obtained by relaxing linear constraints in a relaxation or decomposition of a primal problem.
- It allows to generate approximate primal optimal solutions.
- It supports cutting plane approaches by allowing dynamic addition and deletion of dual variables without loss of quality in the cutting models.
- The code offers special cutting models for linear programs over the second order cone and the cone of real symmetric positive semidefinite matrices.
The library comes with three variants of interfaces:
The first two interfaces only use standard types and constructs of the respective languages, the third interface relies heavily on a subpackage of matrix classes also provided with this software.
Here is some more information on details (in part yet to come):
- Attention
- Anything free comes without guarantee. This program 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.
Copyright (C) 2005-2020 Christoph Helmberg