ConicBundle
|
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... | |
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().