ConicBundle
NNCModelParameters.hxx
Go to the documentation of this file.
1 
2 
3 #ifndef CONICBUNDLE_NNCMODELPARAMETERS_HXX
4 #define CONICBUNDLE_NNCMODELPARAMETERS_HXX
5 
6 
15 
16 namespace ConicBundle {
17 
22 
23 
43 {
44 private:
64  CH_Matrix_Classes::Matrix& coefficients,
65  CH_Matrix_Classes::Matrix& indicators,
67  const CH_Matrix_Classes::Matrix& cand_y,
68  const MinorantBundle& minorants,
69  bool grow);
70 
71 
74  CH_Matrix_Classes::Matrix& coefficients,
75  CH_Matrix_Classes::Matrix& activity_indicators,
77  const CH_Matrix_Classes::Matrix& cand_y,
78  const MinorantBundle& cand_minorants,
79  const MinorantPointer& aggregate,
80  FunctionTask function_task,
81  CH_Matrix_Classes::Real function_factor);
82 
83 
84 public:
86  NNCModelParameters(const CBout* cb=0,int incr=-1):
88  {}
89 
91  NNCModelParameters(int modelsize,int bundlesize=10,int updaterule=0,const CBout* cb=0,int incr=-1):
92  NNCModelParametersObject(BundleParameters(modelsize,bundlesize,updaterule),cb,incr)
93  {}
94 
96  NNCModelParameters(const BundleParameters& bp,const CBout* cb=0,int incr=-1):
97  NNCModelParametersObject(bp,cb,incr)
98  {}
99 
103  {}
104 
106  virtual ~NNCModelParameters();
107 
110  { return new NNCModelParameters(*this); }
111 
112 
172  virtual int select_model(MinorantBundle& model,
173  CH_Matrix_Classes::Matrix& coefficients,
174  CH_Matrix_Classes::Matrix& activity_indicators,
175  const MinorantPointer& aggregate,
176  const MinorantPointer& center_minorant,
177  const MinorantBundle& cand_minorants,
178  const MinorantBundle& old_minorants,
179  MatrixFunctionOracle* oracle,
180  FunctionTask function_task,
181  CH_Matrix_Classes::Real function_factor,
182  BundleModel::ModelUpdate model_update,
183  CH_Matrix_Classes::Integer center_id,
184  const CH_Matrix_Classes::Matrix& center_y,
186  const CH_Matrix_Classes::Matrix& cand_y,
187  CH_Matrix_Classes::Real model_maxviol,
188  BundleProxObject& H);
189 
190 
191 };
192 
194 
195 }
196 
197 #endif
198 
int Integer
all integer numbers in calculations and indexing are of this type
Definition: matop.hxx:40
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
BundleParameters * clone_BundleParameters() const
clone
Definition: NNCModelParameters.hxx:109
Oracle interface (abstract class). For each of your functions, provide an instance of a derived class...
Definition: MatrixCBSolver.hxx:404
int select_active_model(MinorantBundle &bundle, CH_Matrix_Classes::Matrix &coefficients, CH_Matrix_Classes::Matrix &indicators, CH_Matrix_Classes::Integer cand_id, const CH_Matrix_Classes::Matrix &cand_y, const MinorantBundle &minorants, bool grow)
this implements update_rule 0 and 1: Add maximizing minorant, keep positive indicators if possible...
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
abstract interface for NNCModel for the model selection routine select_model()
Definition: NNCModelParametersObject.hxx:27
default model selection routines for NNCModel
Definition: NNCModelParameters.hxx:42
Header declaring the class ConicBundle::NNCModelParametersObject.
Matrix class for real values of type Real
Definition: matrix.hxx:74
NNCModelParameters(const CBout *cb=0, int incr=-1)
default constructor with the possibility to set the output
Definition: NNCModelParameters.hxx:86
FunctionTask
Each function represented by a FunctionModel is equipped with a function_factor (it defaults to 1...
Definition: CBSolver.hxx:221
std::vector< MinorantPointer > MinorantBundle
a bundle is a vector with MinorantPointer entries
Definition: MinorantPointer.hxx:24
NNCModelParameters(int modelsize, int bundlesize=10, int updaterule=0, const CBout *cb=0, int incr=-1)
constructor for size parameters
Definition: NNCModelParameters.hxx:91
NNCModelParameters(const BundleParameters &bp, const CBout *cb=0, int incr=-1)
copy constructor for BundleParameters
Definition: NNCModelParameters.hxx:96
int select_model_heuristic(MinorantBundle &bundle, CH_Matrix_Classes::Matrix &coefficients, CH_Matrix_Classes::Matrix &activity_indicators, CH_Matrix_Classes::Integer cand_id, const CH_Matrix_Classes::Matrix &cand_y, const MinorantBundle &cand_minorants, const MinorantPointer &aggregate, FunctionTask function_task, CH_Matrix_Classes::Real function_factor)
heuristic for updating the model grown over some time (update_rule==2); do not expect any documentati...
virtual int select_model(MinorantBundle &model, CH_Matrix_Classes::Matrix &coefficients, CH_Matrix_Classes::Matrix &activity_indicators, const MinorantPointer &aggregate, const MinorantPointer &center_minorant, const MinorantBundle &cand_minorants, const MinorantBundle &old_minorants, MatrixFunctionOracle *oracle, FunctionTask function_task, CH_Matrix_Classes::Real function_factor, BundleModel::ModelUpdate model_update, CH_Matrix_Classes::Integer center_id, const CH_Matrix_Classes::Matrix &center_y, CH_Matrix_Classes::Integer cand_id, const CH_Matrix_Classes::Matrix &cand_y, CH_Matrix_Classes::Real model_maxviol, BundleProxObject &H)
NNCModel calls this for selecting the next minorants for a polyhedral model.
virtual ~NNCModelParameters()
destructor
points to MinorantUseData that may be shared by many and allows computations with Minorants ...
Definition: MinorantPointer.hxx:34
NNCModelParameters(const NNCModelParameters &sms)
copy constructor
Definition: NNCModelParameters.hxx:101