ConicBundle
SumBundleParametersObject.hxx
Go to the documentation of this file.
1 
2 
3 #ifndef CONICBUNDLE_SUMBUNDLEPARAMETERSOBJECT_HXX
4 #define CONICBUNDLE_SUMBUNDLEPARAMETERSOBJECT_HXX
5 
6 
15 #include "BundleModel.hxx"
16 #include "SumBundle.hxx"
17 
18 namespace ConicBundle {
19 
24 
25 
50  class SumBundleParametersObject : public virtual CBout, public BundleParameters
51 {
52 private:
55 
56 protected:
57 
60 
61 
62 public:
63 
65  virtual int init(const BundleParameters& bp);
66 
68  SumBundleParametersObject(const CBout* cb=0,int incr=-1):
69  CBout(cb,incr),BundleParameters(),acceptable_mode(SumBundle::inactive),vm_selection(0)
70  {}
71 
73  SumBundleParametersObject(const BundleParameters& bp,const CBout* cb=0,int incr=-1):
74  CBout(cb,incr),BundleParameters(),acceptable_mode(SumBundle::inactive),vm_selection(0)
75  { init(bp); }
76 
79  CBout(&bp,0),BundleParameters(),acceptable_mode(SumBundle::inactive),vm_selection(0)
80  { init(bp); }
81 
83  virtual ~SumBundleParametersObject();
84 
87  {return acceptable_mode;}
88 
98  {acceptable_mode=mode; return 0;}
99 
102  { delete vm_selection; vm_selection=vms; return 0;}
103 
106  { return vm_selection; }
107 
108 
140  virtual int select_model(CH_Matrix_Classes::Indexmatrix& model_indices,
142  const CH_Matrix_Classes::Matrix& cand_y,
143  const MinorantBundle& minorants,
144  CH_Matrix_Classes::Integer aggr_index,
145  CH_Matrix_Classes::Real model_maxviol,
146  BundleProxObject& H,
147  BundleModel::ModelUpdate model_update)=0;
148 
149 
150 };
151 
153 
154 }
155 
156 #endif
157 
int Integer
all integer numbers in calculations and indexing are of this type
Definition: matop.hxx:40
class for use with SumBlockModel and BundlData for storing and managing a common bundle describing (p...
Definition: SumBundle.hxx:190
abstract interface that allows to use different -norms with a positive definite matrix in the proxi...
Definition: BundleProxObject.hxx:88
double Real
all real numbers in calculations are of this type
Definition: matop.hxx:50
virtual int init(const BundleParameters &bp)
copies the values of BundleParameters, leaving vm_selection unchanged, unless bp is a SumBundleParame...
VariableMetricSelection * get_variable_metric_selection() const
return pointer to an installed VariableMetricSelection object or NULL
Definition: SumBundleParametersObject.hxx:105
Matrix class for integral values of type Integer
Definition: indexmat.hxx:195
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)=0
the SumBundleHandler calls this for selecting the next minorants for a polyhedral model ...
virtual SumBundle::Mode get_acceptable_mode() const
see set_acceptable_mode() for possible settings and their meaning
Definition: SumBundleParametersObject.hxx:86
SumBundleParametersObject(const BundleParameters &bp, const CBout *cb=0, int incr=-1)
copy constructor for BundleParameters
Definition: SumBundleParametersObject.hxx:73
VariableMetricSelection * vm_selection
points to a VariableMetricSelection object owned by *this, may be NULL
Definition: SumBundleParametersObject.hxx:59
abstract interface for SumBundleHandler for the model selection and variable metric seletcion routine...
Definition: SumBundleParametersObject.hxx:50
Mode
specifies for different parts of the sumbundle whether it is active and who is responsible for handli...
Definition: SumBundle.hxx:194
conic bundle method solver for sum of convex functions. See the ConicBundle_Manual for a quick introd...
Definition: CBSolver.hxx:22
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
SumBundle::Mode acceptable_mode
see set_acceptable_mode() for explanations
Definition: SumBundleParametersObject.hxx:54
virtual int set_acceptable_mode(SumBundle::Mode mode)
specifies the sumbundle modes the model accepts
Definition: SumBundleParametersObject.hxx:97
Header declaring the class ConicBundle::SumBundle (see ConicBundle::SumBlockModel) ...
Matrix class for real values of type Real
Definition: matrix.hxx:74
abstract interface, that allows to specify a routine for providing or computing a suitable variable m...
Definition: VariableMetric.hxx:237
std::vector< MinorantPointer > MinorantBundle
a bundle is a vector with MinorantPointer entries
Definition: MinorantPointer.hxx:24
SumBundleParametersObject(const SumBundleParametersObject &bp)
copy constructor
Definition: SumBundleParametersObject.hxx:78
int set_variable_metric_selection(VariableMetricSelection *vms=0)
delete old selector and set a new one (0 is allowed resulting in no local selector) ...
Definition: SumBundleParametersObject.hxx:101
Header declaring the class ConicBundle::BundleModel.
SumBundleParametersObject(const CBout *cb=0, int incr=-1)
default constructor with the possibility to set the output
Definition: SumBundleParametersObject.hxx:68