ConicBundle
Classes
Classes for General and Specialized Cutting Models for Various Objective Functions

Classes

class  ConicBundle::BundleModel
 abstract interface for BundleSolver giving access to all objective function specific bundle routines and model descriptions. In particular it hides the cutting model and the oracle. More...
 
class  ConicBundle::BundleData
 base class for use with SumBlockModel for storing and managing essential data of evaluations and the bundle describing the model More...
 
class  ConicBundle::SumModelParametersObject
 abstract interface for SumModel for the models selection routine when using SumBundle and SumBundleHandler More...
 
class  ConicBundle::SumModelParameters
 specifies the suggestion procedure for including models in a joint SumBundle model of SumModel More...
 
class  ConicBundle::AFTData
 specialized BundleData class for use with AFTModel for storing and managing essential data of evaluations and the bundle describing the model More...
 
class  ConicBundle::AFTModel
 mimicks the model of a function with an AffineFunctionTransformation (AFT) applied to it. It does so by the chain rule and calling the original model of the function. More...
 
class  ConicBundle::ConeModel
 provides a general abstract base class for conic cutting models with SumBundle capabilities (as a derived class of SumBlockModel) More...
 
class  ConicBundle::NNCData
 extends BundleData for use with FunctionModel by adding information on subgradients and the cutting plane model More...
 
class  ConicBundle::NNCModel
 implements (as a derived class of SumBlockModel) a standard cutting plane model for a MatrixFunctionOracle More...
 
class  ConicBundle::NNCModelParameters
 default model selection routines for NNCModel More...
 
class  ConicBundle::NNCModelParametersObject
 abstract interface for NNCModel for the model selection routine select_model() More...
 
class  ConicBundle::BoxData
 extends BundleData for use with BoxModel by adding information on subgradients and the cutting plane model More...
 
class  ConicBundle::BoxModel
 implements (as a derived class of ConeModel) a standard cutting plane model for a MatrixBoxOracle More...
 
class  ConicBundle::BoxModelParameters
 abstract interface for BoxModel for the model selection routine More...
 
class  ConicBundle::BoxModelParametersObject
 abstract interface for BoxModel for the model selection routine select_model() More...
 
class  ConicBundle::SumBundleParametersObject
 abstract interface for SumBundleHandler for the model selection and variable metric seletcion routines More...
 
class  ConicBundle::SumBundleParameters
 implements two versions of select_model() (update_rule in {0,1}) More...
 
class  ConicBundle::SOCData
 extends BundleData for use with SOCModel (see there for the description of the function) by adding information on SOC_vectors generating the subgradients and the cutting model More...
 
class  ConicBundle::SOCModel
 implements (as a derived class of ConeModel) a cutting model for a SOCOracle More...
 
class  ConicBundle::SOCModelParameters
 default model selection routine for SOCModel More...
 
class  ConicBundle::SOCModelParametersObject
 abstract interface for SOCModel for the model selection routine select_model() More...
 
class  ConicBundle::PSCData
 extends BundleData for use with PSCModel (see there for the description of the function) by adding information on Ritz_vectors generating the subgradients and the cutting model More...
 
class  ConicBundle::PSCModel
 implements (as a derived class of ConeModel) a cutting model for a PSCOracle More...
 
class  ConicBundle::PSCModelParameters
 default model selection routine for PSCModel More...
 
class  ConicBundle::PSCModelParametersObject
 abstract interface for PSCModel for the model selection routine select_model() More...
 

Detailed Description

The minimal requirements on a cutting model for BundleSolver are laid down in the abstract base class BundleModel. Derived from this is the abstract base class SumBlockModel. The latter provides the actual foundation for all implemented cutting models, it also feeds the common quadratic solver with model data for the quadratic bundle subproblem. Any implemented SumBlockModel can either be used directly as a separate single model for BundleSolver or it can be added to a SumModel. A SumModel represents and manages the sum over several models of convex functions (each must be an implemented SumBlockModel). For each implemented SumBlockModel the actual model data is kept in a class (derived from) BundleData. For the following types of convex functions there exist the following pairs of model and data

Each SumBlockModel may be thought of as offering the choice between two models. In the first the function is represented by its actual local model implemented in this particulay model class. In the second the local minorant information is used to build a general polyhedral SumBundle that may itself either be used as a local model or may contribute to a parent SumBundle, so that the minorant information of several functions is collected and added up in one common polyhedral model. The SumBundle is organized by a SumBundleHandler that is set in SumBlockModel::start_sumaugmodel() after calling SumBlockModel::sumbundle_mode().