ConicBundle
Classes | Typedefs | Enumerations | Functions | Variables
ConicBundle Namespace Reference

conic bundle method solver for sum of convex functions. See the ConicBundle_Manual for a quick introduction. More...

Classes

class  AffineFunctionTransformation
 transform a function f(z) to fun_coeff*f(arg_offset+arg_trafo*y)+linear_cost*y+fun_offset (scales the value, substitutes argument z=c+Ay, and adds an affine term b'y+d) More...
 
class  AFTData
 specialized BundleData class for use with AFTModel for storing and managing essential data of evaluations and the bundle describing the model More...
 
class  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  AFTModification
 collects modifications for an AffineFunctionTransformation for the scaling and offset constants as well as for appending, deleting or reassigning columns and rows of the transformation data More...
 
class  Bigmatrix
 AffineMatrixFunction needs to compute the maximum eigenvalue of an affine matrix function $F(y)=C+\sum y_iA_i$. This class prepares $F(y)$ in useful form for iterative eigenvalue solvers. More...
 
class  BlockPSCPrimal
 implements a block diagonal PSCPrimal consisting of several PSCPrimal blocks More...
 
class  BoxData
 extends BundleData for use with BoxModel by adding information on subgradients and the cutting plane model More...
 
class  BoxIPBundleBlock
 QPBundleBlock interface for the interior point routines specific to the primal dual complementarity conditions of a scaled, fulldimensional box given by vectors lb < ub. It resolves the scaling internally. There is no pure QPBlock version of this. More...
 
class  BoxModel
 implements (as a derived class of ConeModel) a standard cutting plane model for a MatrixBoxOracle More...
 
class  BoxModelParameters
 abstract interface for BoxModel for the model selection routine More...
 
class  BoxModelParametersObject
 abstract interface for BoxModel for the model selection routine select_model() More...
 
class  BoxOracle
 Oracle interface providing the lower and upper bounds for the internally implemented support function over this box for an affine function given by an AffineFucntionTransfomation or, equivalently, Lagrangian relaxation of linear programs over box domains. No modifications of the box groundset are supported so far. More...
 
class  BoxPrimalExtender
 Interface for extending PrimalData, e.g., in Lagrangian relaxation of column generation approaches. More...
 
class  BundleData
 base class for use with SumBlockModel for storing and managing essential data of evaluations and the bundle describing the model More...
 
class  BundleDenseTrustRegionProx
 implements the abstract interface ConicBundle::BundleProxObject for $\|y-\hat{y}\|_H^2$ for general symmetric H+weight*I (H is assumed to be positive semidefinite without checking) giving rise to an augmented model with dense variable metric More...
 
class  BundleDiagonalTrustRegionProx
 implements the abstract interface ConicBundle::BundleProxObject for $\|y-\hat{y}\|_H^2$ with H=D+weight*I, where D is a diagonal matrix, giving rise to an augmented model with diagonal scaling More...
 
class  BundleDLRTrustRegionProx
 implements the abstract interface ConicBundle::BundleProxObject for $\|y-\hat{y}\|_H^2$ with $ H=VV^\top+D+u I$, i.e., a low rank representation of a symmetric positive definite matrix with a diagonal and the weight times identity added as regularization More...
 
class  BundleHKWeight
 Routine for selecting the weight of the quadratic/proximal term withing BundleSolver implementing BundleWeight along the paper by Helmberg and Kiwiel. More...
 
class  BundleIdProx
 implements the abstract interface ConicBundle::BundleProxObject for $\|y-\hat{y}\|_H^2$ with H=weight*I, giving rise to a pure augmented model without scaling More...
 
class  BundleLowRankTrustRegionProx
 implements the abstract interface BundleProxObject for $\|y-\hat{y}\|_H^2$ with $ H=V\Lambda V^\top+u I$, i.e., a low rank representation of a symmetric positive definite matrix with the weight times identity added as regularization More...
 
class  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  BundleParameters
 Serves for specifying parameters regarding the construction of cutting models. More...
 
class  BundleProxObject
 abstract interface that allows to use different $H$-norms $\|y-\hat{y}\|_H^2$ with a positive definite matrix $H$ in the proximal term of the augmented model of ConicBundle::BundleSolver. More...
 
class  BundleRQBWeight
 Routine for selecting the weight of the quadratic/proximal term within BundleSolver implementing BundleWeight roughly along the paper C. Lemarechal, C. Sagastizabal, Variable metric bundle methods: From conceptual to implementable forms, Mathematical Programming 76 (1997) 393-410. Implemented obeserving details of the email communication with Claudia Sagastizabal. More...
 
class  BundleSolver
 This is the internal bundle solver managing descent/null steps with inner updates for approximating the proximal point by alternatingly adapting the groundset aggregate and the model aggregate. More...
 
class  BundleTerminator
 basic class implementing termination criteria for BundleSolver, may also serve as base class for other termination criteria More...
 
class  BundleTerminatorData
 abstract interface for BundleTerminator providing the data needed for deciding on termination More...
 
class  BundleWeight
 Abstract interface for BundleSolver providing routines that determine the weight of the quadratic term in the augmented model. It also allows the user to specify bounds on the weights by setting minweight and maxweight or to choose the weight to be used in the next iteration. More...
 
class  CBout
 base class for uniform use of WARNINGS and ERRORS (at some point in time) More...
 
class  CBSolver
 Bundle method solver. More...
 
class  CFunction
 for the "C" interface this maps c oracles to the standard function oracle with matrix classes More...
 
class  CFunctionMinorantExtender
 MinorantExtender for CFunction. More...
 
class  CMgramdense
 implements a Gram matrix $\pm AA^T$ as Coeffmat for a dense rectangular CH_Matrix_Classes::Matrix $A$ (for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction)). More...
 
class  CMgramsparse
 implements a Gram matrix $\pm AA^T$ as Coeffmat for a sparse rectangular CH_Matrix_Classes::Sparsemat $A$ (for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction)). More...
 
class  CMgramsparse_withoutdiag
 implements a Gram matrix $\pm (AA^T-\mbox{Diag}(AA^T))$ with zero diagonal as Coeffmat for a sparse rectangular CH_Matrix_Classes::Sparsemat $A$ (for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction)). More...
 
class  CMIName
 extends CoeffmatInfo to store a name (e.g. of the constraint it represents) More...
 
class  CMlowrankdd
 implements a low rank matrix $AB^T+BA^T$ as Coeffmat with $A,B$ each a dense rectangular CH_Matrix_Classes::Matrix (for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction)). More...
 
class  CMlowranksd
 implements a low rank matrix $AB^T+BA^T$ as Coeffmat with $A$ a sparse rectangular CH_Matrix_Classes::Sparsemat and $B$ a dense rectangular CH_Matrix_Classes::Matrix (for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction)). More...
 
class  CMlowrankss
 implements a low rank matrix $AB^T+BA^T$ as Coeffmat with $A,B$ each a sparse rectangular CH_Matrix_Classes::Sparsemat (for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction)). More...
 
class  CMsingleton
 implements a Coeffmat having just one nonzero element (or two by symmetry) for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction). More...
 
class  CMsymdense
 implements a general dense symmetric Coeffmat based on CH_Matrix_Classes::Symmatrix (for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction)). More...
 
class  CMsymsparse
 implements a general sparse symmetric Coeffmat based on CH_Matrix_Classes::Sparsesym (for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction)). More...
 
class  Coeffmat
 defines a base class for coefficient matrices in semidefinite programming, in particular for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction). More...
 
class  CoeffmatInfo
 allows to memorize the scalings applied to a Coeffmat and offers the basis for storing further user defined informations on a Coeffmat More...
 
class  CoeffmatPointer
 pointer class for Coeffmat for deleting objects on the heap if Coefmat::use_cnt is reduced to zero and deletion is allowed. More...
 
class  ConeModel
 provides a general abstract base class for conic cutting models with SumBundle capabilities (as a derived class of SumBlockModel) More...
 
class  DensePSCPrimal
 implements a general purpose dense symmetric PSCPrimal based on CH_Matrix_Classes::Symmatrix More...
 
class  FunctionObject
 basic function object (abstract class). It serves for using the same interface on distinct oracle types, but is not yet needed in the standard C++ interface. More...
 
class  FunctionObjectModification
 abstract interface for informing the bundle model routines about changes in the oracle function and, possibly, for modifying the affine transformation of the oracle function's arguments. More...
 
class  FunctionOracle
 oracle interface (abstract class). For each of your functions, provide a derived class. More...
 
class  GramSparsePSCPrimal
 represents an PSCPrimal as the sum $PP^T+S$ of a Gram matrix and a sparse symmetric matrix $S$ More...
 
class  Groundset
 abstract representation of the feasible convex ground set to be optimized over, provides the QP solver for the bundle subproblem as well as routines for computing feasible points and ground set aggregates More...
 
class  GroundsetModification
 Collects modifications for the unconstrained Groundset for appending, deleting or reassigning variables. More...
 
class  InteriorPointBlock
 abstract interface for interior point vector/matrix variables and routines specific to primal dual complementarity conditions of symmetric cones More...
 
class  InteriorPointBundleBlock
 abstract interface for interior point routines specific to primal dual complementarity conditions of a symmetric cone with special routines for handling the bundle and the trace constraint More...
 
class  LPGroundset
 represents a polyhedral feasible ground set by affine constraints as in Linear Programming with special support for simple box constraints More...
 
class  LPGroundsetModification
 Collects modifications for the linearly constrained LPGroundset for appending, deleting or reassigning variables (with bounds and starting values) and constraints (with bounds) More...
 
class  MatrixCBSolver
 The Full Conic Bundle method solver invoked by ConicBundle::MatrixCBSolver(), it uses a separate cutting model for each function. More...
 
class  MatrixFunctionOracle
 Oracle interface (abstract class). For each of your functions, provide an instance of a derived class. More...
 
class  MatrixMinorant
 Minorant interface supporting Matrix classes; simple constructros for subgradients given by column vectors in form of a CH_Matrix_Classes::Matrix or a CH_Matrix_Classes::Sparsemat. More...
 
class  Minorant
 this is used to describe affine minorants of convex functions that will be used for generating cutting models of these functions. More...
 
class  MinorantExtender
 Interface for extending a Minorant, e.g., in Lagrangian Relaxation of cutting plane approaches. More...
 
class  MinorantPointer
 points to MinorantUseData that may be shared by many and allows computations with Minorants More...
 
class  MinorantUseData
 stores use information for the model that the minorant is generated for or to the data the model refers to More...
 
class  ModifiableOracleObject
 ModifiableOracle provides all oracles with a uniform interface for a modification routine and an on/off switch for internal correctness checks. More...
 
class  Modification
 base class for collecting and organizing a sequence of changes to linear data so that it can be carried out in one step later on; this class comprises all features, derived ones are specializations with partial reinterpretations. More...
 
class  ModificationBase
 basic routines for the base classes for reorganizing maps More...
 
class  ModificationTreeData
 Represents a tree node of the tree within MatrixCBSolver that describes the problem with its interacting functions and that allows to collect modifications before executing them on the respective models. More...
 
class  NNCBoxSupportFunction
 general purpose implementation of MatrixFunctionOracle as explained in implemention of MatrixFunctionOracle (NNCBoxSupportFunction) (see, however, the likely better choice of a BoxOracle) More...
 
class  NNCBoxSupportMinorantExtender
 Implementation of MinorantExtender for NNCBoxSupportFunction. More...
 
class  NNCBoxSupportModification
 Collects modifications for NNCBoxSupport for appending, deleting or reassigning variables and respective upper and lower bounds. More...
 
class  NNCData
 extends BundleData for use with FunctionModel by adding information on subgradients and the cutting plane model More...
 
class  NNCIPBlock
 interface for the interior point variable vector and routines specific to the primal dual complementarity conditions of the nonnegative cone More...
 
class  NNCIPBundleBlock
 interior point variables and routines specific to primal dual complementarity conditions of a nonnegative cone with special routines for handling the bundle and the trace constraint More...
 
class  NNCModel
 implements (as a derived class of SumBlockModel) a standard cutting plane model for a MatrixFunctionOracle More...
 
class  NNCModelParameters
 default model selection routines for NNCModel More...
 
class  NNCModelParametersObject
 abstract interface for NNCModel for the model selection routine select_model() More...
 
class  OracleModification
 Base class for informing oracles (or the solver) about dynamic changes in the number and sorting of the variables, if such changes occur at all. More...
 
class  PrimalData
 In Lagrangean relaxation an approximate primal solution can be generated by supplying primal information derived from this abstract class for each epsilon subgradient within ConicBundle::FunctionOracle::evaluate(). More...
 
class  PrimalDVector
 If in Lagrangean relaxation primal solutions are in the form of a ConicBundle::DVector, then an approximate primal solution can be generated by supplying primal information of this form for each epsilon subgradient within ConicBundle::FunctionOracle::evaluate(). More...
 
class  PrimalExtender
 Interface for extending PrimalData, e.g., in Lagrangian relaxation of column generation approaches. More...
 
class  PrimalMatrix
 If in Lagrangean relaxation primal solutions are in the form of a real vector or, more generally a matrix, then an approximate primal solution can be generated by supplying primal information of this form for each epsilon subgradient within ConicBundle::MatrixFunctionOracle::evaluate(). More...
 
class  PSCAffineFunction
 general purpose implementation of PSCOracle as explained in implemention of a PSCOracle (PSCAffineFunction) More...
 
class  PSCAffineMinorantExtender
 Implementation of MinorantExtender for PSCAffineFunction. More...
 
class  PSCAffineModification
 class for collecting and organizing a sequence of changes to block diagonal symmetric affine matrix functions so that it can be carried out in one step later on; More...
 
class  PSCBundleParameters
 Bundle parameters for PSCModel, we recommend no to modify them. More...
 
class  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  PSCIPBlock
 interface for interior point variable and routines specific to primal dual complementarity conditions of a positive semidefinite cone More...
 
class  PSCIPBundleBlock
 interior point variables and routines specific to the primal dual complementarity conditions of a positive semidefinite cone with special routines for handling the bundle and the trace constraint More...
 
class  PSCModel
 implements (as a derived class of ConeModel) a cutting model for a PSCOracle More...
 
class  PSCModelParameters
 default model selection routine for PSCModel More...
 
class  PSCModelParametersObject
 abstract interface for PSCModel for the model selection routine select_model() More...
 
class  PSCOracle
 Oracle interface for minimization of the maximum eigenvalue of an affine matrix function or, equivalently, Lagrangian relaxation of semidefinite programs. More...
 
class  PSCPrimal
 PSCPrimal is the corresponding positive semidefinite object for PSCOracle like PrimalMatrix for a MatrixFunctionOracle. More...
 
class  PSCPrimalExtender
 Interface for extending PrimalData, e.g., in Lagrangian relaxation of column generation approaches. More...
 
class  PSCVariableMetricSelection
 iplementation of a VariableMetricSelection routine for PSCModel for forming and adding variable metric information to a BundleProxObject More...
 
class  QPCentralPathPoint
 currently not in use, storing the points of the central path might help to restart faster if only the cost terms are modified slightly; an instance of this class stores one such point More...
 
class  QPConeModelBlock
 implements a QPModelBlock for conic cutting models in QPSolver More...
 
class  QPConeModelDataObject
 abstract interface extension of QPModelDataObject to allow uniform generation of tuned quadratic solver model blocks in model forming routines for specializd oracles More...
 
class  QPDirectKKTSolver
 implements a direct KKT Solver variant of QPKKTSolverObject More...
 
class  QPIterativeKKTHAeqSolver
 Iterative solver for the reduced symmetric, in general indefinite primal dual KKT System within QPSolverBasicStructures, where only the block H and the equality rows of A remain, the inequalities of A as well as B and C are removed by Schur complements. If there are no equalities in A, PCG may used. More...
 
class  QPIterativeKKTHASolver
 Iterative solver for the reduced symmetric, in general indefinite primal dual KKT System within QPSolverBasicStructures, where only H and A blocks remain, B and C are removed by Schur complements. If there is no A, PCG may used. More...
 
class  QPIterativeKKTSolver
 Iterative solver for the full symmetric, in general indefinite primal dual KKT System within QPSolverBasicStructures. More...
 
class  QPKKTPrecondObject
 Abstract Interface for preconditioners to be used with a QPIterativeKKTSolver and a CH_Matrix_Classes::IterativeSolverObject, see Interfaces and Classes for Iterative Solvers like PCG, MINRES and PSQMR. It will depend on the system setup and the solver method which preconditioning routines are called and what requirements the preconditioners have to fulfill. Feasible combinations lie in the responsibility of the caller and are not checked for correctness. More...
 
class  QPKKTSolverObject
 abstract class for setting up and solving the primal dual KKT System within QPSolverBasicStructures More...
 
class  QPKKTSubspaceHPrecond
 Subspace projection preconditioner for the H-block of the KKT-System assuming that B and C have been Schur complemented into the H-block. For the A-Block, if it is there, the identity is used. If there is no A-block, PCG may be used. More...
 
class  QPModelBlock
 combines and provides basic functionalities of QPModelDataObject and QPModelBlockObject, but is still abstract More...
 
class  QPModelBlockObject
 abstract interface for model blocks in the constrained QPSolver More...
 
class  QPModelDataObject
 abstract interface declaring the uniform outer appearance of general cutting models produced by the various models for use in generating the model data so that QP Solvers can provide their own tuned data blocks More...
 
class  QPModelDataPointer
 abstract interface for automatically generating and retrieving the qp blocks with the model data that are needed for specific implementations of the qp solver. More...
 
class  QPModelPointer
 Implementation of the QPModelDataPointer Interface for BundelModel for generating the correct type of blocks for QPSolver and for setting the final block in the solver. More...
 
class  QPSolver
 QPSolver is the access point for ConicBundle to the internal constrained QP Solver, see Internal QP Solver for linearly constrained groundsets. More...
 
class  QPSolverBasicInterface
 defines the abstract interface for QPSolverBasicStructures that the basic routines there need to access the cost and constraint data; it also defines the interface to QPSolverBasicStructures, how to call those routines and how to retrieve the results. More...
 
class  QPSolverBasicStructures
 provides the basic variables and implements basic routines for the primal dual interior point solver interface of QPSolverBasicInterface (see there for the problem description and the switched roles of x and y) except for setting up and solving the primal dual KKT system, which is left to a specialized QPKKTSolverObject provided in QPSolverParameters to allow the exploitation of structural properties in the data. The basic problem description must also still be provided in a derived class that implements the remaining abstract data retrieval functions. The bundle data is made available by deriving this class from QPModelPointer, see Interface for qp solver dependent model descriptions. More...
 
class  QPSolverObject
 abstract interface for a QPSolver More...
 
class  QPSolverParameters
 parameters for steering the termination criteria and solution method of the solver More...
 
class  QPSolverParametersObject
 in order to pass parameters to a customized QPSolverObject, derive the parameters from this object; no other requirements More...
 
class  QPSolverProxObject
 in order to pass a ConicBundle::BundleProxObject, see Quadratic Proximal Terms, to a custzomized QPSolverObject, the prox classes are also derived from this object More...
 
class  QPSumModelBlock
 implements a (virtual) cutting model being built of a (possibly recursive) sum of QPModelBlock cutting model instances for QPSolver More...
 
class  QPSumModelDataObject
 abstract interface extension of QPModelDataObject for use in SumModel where several blocks are concatenated for a common bundle More...
 
class  SOCBundleParameters
 Bundle parameters for SOCModel. More...
 
class  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  SOCIPBlock
 interface for interior point variable and routines specific to primal dual complementarity conditions of a second order cone More...
 
class  SOCIPBundleBlock
 interior point variables and routines specific to primal dual complementarity conditions of a second order cone with special routines for handling the bundle and the trace constraint More...
 
class  SOCModel
 implements (as a derived class of ConeModel) a cutting model for a SOCOracle More...
 
class  SOCModelParameters
 default model selection routine for SOCModel More...
 
class  SOCModelParametersObject
 abstract interface for SOCModel for the model selection routine select_model() More...
 
class  SOCOracle
 Oracle interface for minimization of the support function over the seoncd order cone with $x_0=1$ for an affine cost function or, equivalently, Lagrangian relaxation of second order cone programs. More...
 
class  SOCPrimalExtender
 Interface for extending PrimalData, e.g., in Lagrangian relaxation of column generation approaches. More...
 
class  SOCSupportFunction
 general purpose implementation of SOCOracle as explained in implemention of a SOCOracle (SOCSupportFunction) More...
 
class  SOCSupportMinorantExtender
 Implementation of MinorantExtender for SOCSupportFunction. More...
 
class  SOCSupportModification
 Collects modifications for SOCSupportFunction for appending, deleting or reassigning variables. More...
 
class  SparseCoeffmatMatrix
 stores/organizes the CoeffmatPointer pointers to Coeffmat matrices with the purpose of describing the block diagonal symmetric matrices used in PSCAffineFunction More...
 
class  SparsePSCPrimal
 implements a sparse symmetric PSCPrimal collecting data only on a sparse, prespecified support; it is based on CH_Matrix_Classes::Sparsesym More...
 
class  SumBlockModel
 abstract interface extending BundleModel so that any such model can be used alone or within SumModel and so that it supports AffineFunctionTransformation as well as switching to a SumBundle with some SumBundleHandler More...
 
class  SumBundle
 class for use with SumBlockModel and BundlData for storing and managing a common bundle describing (part of) the model More...
 
class  SumBundleHandler
 routines for updating and handling SumBundle components, possibly by cooperating over several recursive levels More...
 
class  SumBundleParameters
 implements two versions of select_model() (update_rule in {0,1}) More...
 
class  SumBundleParametersObject
 abstract interface for SumBundleHandler for the model selection and variable metric seletcion routines More...
 
class  SumModel
 gives a SumBlockModel interface to a sum of (possibly AffineFunctionTransformation transformed) SumBlockModels. This allows e.g. to optimize over a nonnegative combination of convex functions, possibly each with its own cutting model. More...
 
class  SumModelParameters
 specifies the suggestion procedure for including models in a joint SumBundle model of SumModel More...
 
class  SumModelParametersObject
 abstract interface for SumModel for the models selection routine when using SumBundle and SumBundleHandler More...
 
class  UnconstrainedGroundset
 implements an unconstrained groundset More...
 
class  UQPConeModelBlock
 implements a UQPModelBlock for conic cutting models in UQPSolver More...
 
class  UQPModelBlock
 combines and provides basic functionalities of QPModelDataObject and UQPModelBlockObject, but is still abstract More...
 
class  UQPModelBlockObject
 abstract interface for model blocks in the unconstrained UQPSolver More...
 
class  UQPModelPointer
 Interface in BundelSolver for generating the correct type of blocks for UQPSolver and for setting the final block in the solver. More...
 
class  UQPSolver
 unconstrained QP solver combining the properties of a QPModelDataPointer and QPSolverObject More...
 
class  UQPSumModelBlock
 implements a (virtual) cutting model being built of a (possibly recursive) sum of UQPModelBlock cutting model instances for UQPSolver More...
 
class  VariableMetric
 interface class that allows a VariableMetricModel to contribute information to a VariableMetric object for use in a BundleProxObject More...
 
class  VariableMetricBundleData
 abstract interface providing the bundle data that is typically needed in VariableMetricSelection classes. More...
 
class  VariableMetricModel
 declares the interface that a BundelModel needs to provide for contributing to VariableMetric information More...
 
class  VariableMetricSelection
 abstract interface, that allows to specify a routine for providing or computing a suitable variable metric for specific models. Per current default, no such information is generated. More...
 
class  VariableMetricSVDSelection
 general implementation of a VariableMetricSelection routine to form and add variable metric information to a BundleProxObject generically mainly from the aggregate and a collection of minorants given by a MinorantBundle More...
 

Typedefs

typedef std::vector< double > DVector
 A dense vector of double, arguments and subgradients are specified like this.
 
typedef std::vector< int > IVector
 A dense vector of int, index vectors for deleting/reorganizing variables are specified like this.
 
typedef std::vector< MinorantPointerMinorantBundle
 a bundle is a vector with MinorantPointer entries
 
typedef std::map< const FunctionObject *, ModificationTreeData * > FunctionMap
 this serves either as searchable storage for nodes on the heap or as an adjacency list of adjacent nodes
 
typedef std::map< const FunctionObject *, FunctionObjectModificationFunObjModMap
 In order to pass on problem modifications, FunObjModMap allows to specify a FunctionObjectModification for each FunctionObject whose changes are not fully described by the default changes induced by those on the Groundset. More...
 
typedef std::vector< CoeffmatPointerCoeffmatVector
 convenient for initializing SparseCoeffmatMatrix via the sparse (block_i,column_i,Coeffmat_i), i=1,...,nz (nonzeros) format with Indexmatrix,Indexmatrix,CoeffmatVector
 
typedef std::map< CH_Matrix_Classes::Integer, CoeffmatPointerSparseCoeffmatVector
 this is used to extract a row/block or a column from a SparseCoeffmatMatrix
 

Enumerations

enum  FunctionTask { ObjectiveFunction =0, ConstantPenaltyFunction =1, AdaptivePenaltyFunction =2 }
 Each function $f$ represented by a FunctionModel is equipped with a function_factor $\gamma>0$ (it defaults to 1.) and may be declared as a usual objective function (default) or as a penalty function $\gamma \max\{f,0\}$ with either a constant penalty factor or an adaptive penalty factor $\gamma\in(0,\infty)$. More...
 
enum  Coeffmattype {
  CM_unspec =0, CM_symdense =1, CM_symsparse =2, CM_lowrankdd =3,
  CM_lowranksd =4, CM_lowrankss =5, CM_gramdense =6, CM_gramsparse =7,
  CM_singleton =8, CM_gramsparsewd =9
}
 for recognizing the type when writing and reading the problem More...
 

Functions

CH_Matrix_Classes::Matrixgenmult (const MinorantBundle &A, const CH_Matrix_Classes::Matrix &B, CH_Matrix_Classes::Matrix &C, CH_Matrix_Classes::Real alpha=1., CH_Matrix_Classes::Real beta=0., int Atrans=0, int Btrans=0, CH_Matrix_Classes::Matrix *Coffset=0)
 computes and returns C=alpha*A*B+beta*C where A and B may be transposed and A is considered to have the gradients of the minorants of the bundle as columns. Because the bundle has no fixed row dimension, the dimension of C has to be compatible at input to serve as size in the untranposed case. If Coffset is given and A is not transposed, the offsets are treated as an extra row to be computed into Coffset, if A is transposed, the vector of offsets is added to Coffset with the same alpha and beta interpretation but without multiplication
 
CH_Matrix_Classes::Matrixgenmult (const CH_Matrix_Classes::Matrix &A, const MinorantBundle &B, CH_Matrix_Classes::Matrix &C, CH_Matrix_Classes::Real alpha=1., CH_Matrix_Classes::Real beta=0., int Atrans=0, int Btrans=0, CH_Matrix_Classes::Matrix *Coffset=0)
 computes and returns C=alpha*A*B+beta*C where A and B may be transposed and B is considered to have the gradients of the minorants of the bundle as columns. Because the bundle has no fixed row dimension, the dimension of C has to be compatible at input to serve as size in the tranposed case. If Coffset is given and A is transposed, the offsets are treated as an extra column to be computed into Coffset, if A is not transposed, the row vector of offsets is added to the presized row vector Coffset with the same alpha and beta interpretation but without multiplication
 
CoeffmatInfoclone (const CoeffmatInfo *cip)
 if cip is not zero, it calls and returns cip->clone() and 0 otherwise
 
Coeffmatcoeffmat_read (std::istream &in)
 reads the next Coeffmat from in into an object on the heap and returns a pointer to it. The caller has to destruct the object.
 

Variables

const double CB_plus_infinity
 serves as the value "minus infinity", i.e., all bounds <= this value are set to this value and are regarded as minus infinity
 
const double CB_minus_infinity
 serves as the value "plus infinity", i.e., all bounds >= this value are set to this value and are regarded as plus infinity
 
const double CB_minorant_zero_tolerance
 serves as the default tolerance for considering minorant entries as zero
 
const double CB_minorant_sparsity_ratio
 serves as the default ratio of nonzeros to dimension for using a sparse representatio of a minorant
 

Detailed Description

conic bundle method solver for sum of convex functions. See the ConicBundle_Manual for a quick introduction.

Author
C. Helmberg

Typedef Documentation

◆ FunObjModMap

In order to pass on problem modifications, FunObjModMap allows to specify a FunctionObjectModification for each FunctionObject whose changes are not fully described by the default changes induced by those on the Groundset.

In BundleModel::apply_modification each BundleModel will check whether the FunctionObject representing its oracle is present in the map. If so, it carries out the modifications described here, or it resorts to the defaul actions based on the GroundsetModifications of the Groundset.