ConicBundle
|
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 . This class prepares 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 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 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 with , 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 with H=weight*I, giving rise to a pure augmented model without scaling More... | |
class | BundleLowRankTrustRegionProx |
implements the abstract interface BundleProxObject for with , 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 -norms with a positive definite matrix 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 as Coeffmat for a dense rectangular CH_Matrix_Classes::Matrix (for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction)). More... | |
class | CMgramsparse |
implements a Gram matrix as Coeffmat for a sparse rectangular CH_Matrix_Classes::Sparsemat (for use with MatrixSDPfunction, see implemention of a PSCOracle (PSCAffineFunction)). More... | |
class | CMgramsparse_withoutdiag |
implements a Gram matrix with zero diagonal as Coeffmat for a sparse rectangular CH_Matrix_Classes::Sparsemat (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 as Coeffmat with 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 as Coeffmat with a sparse rectangular CH_Matrix_Classes::Sparsemat and 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 as Coeffmat with 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 of a Gram matrix and a sparse symmetric matrix 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, but MinRes seems to be more stable. 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 | QPKKT_KKTStats |
Used for collecting statics in QPKKTSolverComparison: For each bundle subproblem there is a block QPKKT_ProbStats, which holds for each KKT system a block of QPKKT_KKTStats (this), which holds for each solver a block QPKKT_SolverStats. More... | |
class | QPKKT_ProbStats |
Used for collecting statics in QPKKTSolverComparison: For each bundle subproblem there is a block QPKKT_ProbStats (this), which holds for each KKT system a block of QPKKT_KKTStats, which holds for each solver a block QPKKT_SolverStats. More... | |
class | QPKKT_SolverStats |
Used for collecting statics in QPKKTSolverComparison: For each bundle subproblem there is a block QPKKT_ProbStats, which holds for each KKT system a block of QPKKT_KKTStats, which holds for each solver a block QPKKT_SolverStats (this). 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 | QPKKTSolverComparison |
This is a pseudosolver designed for producing comparative statistics on the performance of mainly iterative solvers for the interior point KKT systems of QPSolver. 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 | QPModelOracleDataObject |
abstract base class for passing additional oracle information to the QP 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 | QPPSCOracleDataObject |
defines an interface for passing on oracle information to PSCIPBundleBlock 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 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< MinorantPointer > | MinorantBundle |
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 *, FunctionObjectModification > | 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. More... | |
typedef std::vector< CoeffmatPointer > | CoeffmatVector |
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, CoeffmatPointer > | SparseCoeffmatVector |
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 represented by a FunctionModel is equipped with a function_factor (it defaults to 1.) and may be declared as a usual objective function (default) or as a penalty function with either a constant penalty factor or an adaptive penalty factor . 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::Matrix & | genmult (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::Matrix & | genmult (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 | |
std::ostream & | operator<< (std::ostream &out, const QPKKT_SolverStats &s) |
output QPKKT_SolverStats (for files) More... | |
std::istream & | operator>> (std::ostream &in, QPKKT_SolverStats &s) |
input QPKKT_SolverStats (for files) More... | |
std::ostream & | operator<< (std::ostream &out, const QPKKT_KKTStats &k) |
output QPKKT_KKZStats (for files) More... | |
std::istream & | operator>> (std::istream &in, QPKKT_KKTStats &k) |
input QPKKT_KKZStats (for files) | |
std::ostream & | operator<< (std::ostream &out, const QPKKT_ProbStats &p) |
output QPKKT_ProbStats (for files) More... | |
std::istream & | operator>> (std::istream &in, QPKKT_ProbStats &p) |
input QPKKT_ProbStats (for files) More... | |
std::ostream & | operator<< (std::ostream &out, const QPKKTSolverComparison &q) |
output the collected statistical data for this QPKKTSolverComparison (for files) More... | |
std::istream & | operator>> (std::istream &in, QPKKTSolverComparison &q) |
input the stored statistical data of this QPKKTSolverComparison (for files) More... | |
void | NNC_nbh_stepsize (CH_Matrix_Classes::Real x, CH_Matrix_Classes::Real z, CH_Matrix_Classes::Real dx, CH_Matrix_Classes::Real dz, CH_Matrix_Classes::Real mu_xz, CH_Matrix_Classes::Real mu_xdzpdxz, CH_Matrix_Classes::Real mu_dxdz, CH_Matrix_Classes::Real mu_at_one, CH_Matrix_Classes::Real nbh_ubnd, CH_Matrix_Classes::Real &alpha, CH_Matrix_Classes::Real &max_nbh, CH_Matrix_Classes::Real &nrmsqr_xz, CH_Matrix_Classes::Real &nrmsqr_xdzpdxz, CH_Matrix_Classes::Real &nrmsqr_dxdz, CH_Matrix_Classes::Real &ip_xz_xdzpdxz, CH_Matrix_Classes::Real &ip_xz_dxdz, CH_Matrix_Classes::Real &ip_dxdz_xdzpdxz) |
computes values for a neighborhood line search for a primal nonnegative cone pair | |
CoeffmatInfo * | clone (const CoeffmatInfo *cip) |
if cip is not zero, it calls and returns cip->clone() and 0 otherwise | |
Coeffmat * | coeffmat_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 | |
conic bundle method solver for sum of convex functions. See the ConicBundle_Manual for a quick introduction.
typedef std::map<const FunctionObject*,FunctionObjectModification> ConicBundle::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.
std::ostream& ConicBundle::operator<< | ( | std::ostream & | out, |
const QPKKT_SolverStats & | s | ||
) |
output QPKKT_SolverStats (for files)
(file-)output
std::ostream& ConicBundle::operator<< | ( | std::ostream & | out, |
const QPKKT_KKTStats & | k | ||
) |
output QPKKT_KKZStats (for files)
(file-)output
std::ostream& ConicBundle::operator<< | ( | std::ostream & | out, |
const QPKKT_ProbStats & | p | ||
) |
output QPKKT_ProbStats (for files)
(file-)output
std::ostream& ConicBundle::operator<< | ( | std::ostream & | out, |
const QPKKTSolverComparison & | q | ||
) |
output the collected statistical data for this QPKKTSolverComparison (for files)
(file-) output
std::istream& ConicBundle::operator>> | ( | std::ostream & | in, |
QPKKT_SolverStats & | s | ||
) |
input QPKKT_SolverStats (for files)
(file-)input
std::istream& ConicBundle::operator>> | ( | std::istream & | in, |
QPKKT_ProbStats & | p | ||
) |
input QPKKT_ProbStats (for files)
(file-)input
std::istream& ConicBundle::operator>> | ( | std::istream & | in, |
QPKKTSolverComparison & | q | ||
) |
input the stored statistical data of this QPKKTSolverComparison (for files)
(file-) input