ConicBundle
SumBundleParameters.hxx
Go to the documentation of this file.
1 
2 
3 #ifndef CONICBUNDLE_SUMBUNDLEPARAMETERS_HXX
4 #define CONICBUNDLE_SUMBUNDLEPARAMETERS_HXX
5 
6 
16 
17 namespace ConicBundle {
18 
23 
24 
32 {
33 private:
34 
48  const CH_Matrix_Classes::Matrix& cand_y,
49  const MinorantBundle& minorants,
50  CH_Matrix_Classes::Integer aggr_index,
51  CH_Matrix_Classes::Real model_maxviol,
53  BundleModel::ModelUpdate model_update);
54 
65  const CH_Matrix_Classes::Matrix& cand_y,
66  const MinorantBundle& minorants,
67  CH_Matrix_Classes::Integer aggr_index,
68  CH_Matrix_Classes::Real model_maxviol,
70  BundleModel::ModelUpdate model_update);
71 
72 
73 public:
75  SumBundleParameters(const CBout* cb=0,int incr=-1):
77  {}
78 
80  SumBundleParameters(int modelsize,int bundlesize=10,int updaterule=0,const CBout* cb=0,int incr=-1):
81  SumBundleParametersObject(BundleParameters(modelsize,bundlesize,updaterule),cb,incr)
82  {}
83 
87  {}
88 
90  virtual ~SumBundleParameters()
91  {}
92 
95  { return new SumBundleParameters(*this); }
96 
97 
129  virtual int select_model(CH_Matrix_Classes::Indexmatrix& model_indices,
131  const CH_Matrix_Classes::Matrix& cand_y,
132  const MinorantBundle& minorants,
133  CH_Matrix_Classes::Integer aggr_index,
134  CH_Matrix_Classes::Real model_maxviol,
135  BundleProxObject& H,
136  BundleModel::ModelUpdate model_update);
137 
138 
139 };
140 
142 
143 }
144 
145 #endif
146 
int Integer
all integer numbers in calculations and indexing are of this type
Definition: matop.hxx:40
SumBundleParameters(const SumBundleParameters &sbp)
copy constructor
Definition: SumBundleParameters.hxx:85
abstract interface that allows to use different -norms with a positive definite matrix in the proxi...
Definition: BundleProxObject.hxx:88
virtual int select_model(CH_Matrix_Classes::Indexmatrix &model_indices, CH_Matrix_Classes::Integer cand_id, const CH_Matrix_Classes::Matrix &cand_y, const MinorantBundle &minorants, CH_Matrix_Classes::Integer aggr_index, CH_Matrix_Classes::Real model_maxviol, BundleProxObject &H, BundleModel::ModelUpdate model_update)
FunctionModel and SumBundleHandler call this for selecting the next minorants for a polyhedral model...
double Real
all real numbers in calculations are of this type
Definition: matop.hxx:50
Matrix class for integral values of type Integer
Definition: indexmat.hxx:195
SumBundleParameters(int modelsize, int bundlesize=10, int updaterule=0, const CBout *cb=0, int incr=-1)
constructor for customized parameters
Definition: SumBundleParameters.hxx:80
Header declaring the class ConicBundle::SumBundleParametersObject.
virtual BundleParameters * clone_BundleParameters() const
clone
Definition: SumBundleParameters.hxx:94
abstract interface for SumBundleHandler for the model selection and variable metric seletcion routine...
Definition: SumBundleParametersObject.hxx:50
conic bundle method solver for sum of convex functions. See the ConicBundle_Manual for a quick introd...
Definition: CBSolver.hxx:22
int select_model0(CH_Matrix_Classes::Indexmatrix &model_indices, CH_Matrix_Classes::Integer cand_id, const CH_Matrix_Classes::Matrix &cand_y, const MinorantBundle &minorants, CH_Matrix_Classes::Integer aggr_index, CH_Matrix_Classes::Real model_maxviol, BundleProxObject &H, BundleModel::ModelUpdate model_update)
default heuristic by curvatuer guess; selected by update_rule 0
base class for uniform use of WARNINGS and ERRORS (at some point in time)
Definition: CBout.hxx:30
ModelUpdate
for informing update_model() at what stage it is called to update the bundle so that the amount of in...
Definition: BundleModel.hxx:149
Serves for specifying parameters regarding the construction of cutting models.
Definition: CBSolver.hxx:891
Matrix class for real values of type Real
Definition: matrix.hxx:74
int select_model1(CH_Matrix_Classes::Indexmatrix &model_indices, CH_Matrix_Classes::Integer cand_id, const CH_Matrix_Classes::Matrix &cand_y, const MinorantBundle &minorants, CH_Matrix_Classes::Integer aggr_index, CH_Matrix_Classes::Real model_maxviol, BundleProxObject &H, BundleModel::ModelUpdate model_update)
simple heuristic by function value; selected by update_rule 1
SumBundleParameters(const CBout *cb=0, int incr=-1)
default constructor with the possibility to set the output
Definition: SumBundleParameters.hxx:75
std::vector< MinorantPointer > MinorantBundle
a bundle is a vector with MinorantPointer entries
Definition: MinorantPointer.hxx:24
implements two versions of select_model() (update_rule in {0,1})
Definition: SumBundleParameters.hxx:31