ConicBundle
BoxModelParameters.hxx
Go to the documentation of this file.
1 
2 
3 #ifndef CONICBUNDLE_BOXMODELPARAMETERS_HXX
4 #define CONICBUNDLE_BOXMODELPARAMETERS_HXX
5 
14 
15 namespace ConicBundle {
20 
27 {
28 protected:
29  //int max_model_size; // maximum number of minorants to be selected for the cutting model (numbers<=1 for no limit, numbers >=2 impose a strict limit)
30  //int max_bundle_size; // suggested maximum number of latest minorants stored for use in a model, for constructing variable metric information etc. (negative numbers give no preference; the size may be increased internally in case of confliciting requirements, eg. in n_model_size or by variable metric routines)
31  //int update_rule; // in case several update rules are available
32 
33  //bool enforce_separate_model; // when forming combined models for a sum of functions, enforce a separate model for this function
34 
35 public:
36 
38  BoxModelParameters(const CBout* cb=0,int cbinc=-1):
39  BoxModelParametersObject(cb,cbinc)
40  {}
41 
43  BoxModelParameters(const BundleParameters& bp,const CBout* cb=0,int cbinc=-1):
44  BoxModelParametersObject(bp,cb,cbinc)
45  {}
46 
50  {}
51 
53  virtual ~BoxModelParameters();
54 
57  { return new BoxModelParameters(*this); }
58 
183  virtual int select_model(MinorantBundle& box_model,
184  CH_Matrix_Classes::Matrix& box_coeff,
185  CH_Matrix_Classes::Matrix& box_indicators,
186  CH_Matrix_Classes::Indexmatrix& box_coords,
187  CH_Matrix_Classes::Matrix& box_complvalues,
188  MinorantBundle& nnc_model,
189  CH_Matrix_Classes::Matrix& nnc_coeff,
190  CH_Matrix_Classes::Matrix& nnc_indicators,
191  const CH_Matrix_Classes::Matrix& coord_switching,
192  const MinorantBundle& minorants,
193  const MinorantPointer cand_minorant,
194  const PrimalMatrix cand_boxvec,
195  const PrimalMatrix aggr_boxvec,
196  CH_Matrix_Classes::Real aggr_scaleval,
197  BoxOracle* oracle,
198  CH_Matrix_Classes::Integer modification_id,
199  FunctionTask function_task,
200  CH_Matrix_Classes::Real function_factor,
201  BundleModel::ModelUpdate model_update,
202  CH_Matrix_Classes::Integer center_id,
203  const CH_Matrix_Classes::Matrix& center_y,
205  const CH_Matrix_Classes::Matrix& cand_y,
206  CH_Matrix_Classes::Real model_maxviol,
207  BundleProxObject& H);
208 
209 
210 
211 };
212 
213 
215 
216 }
217 
218 #endif
219 
int Integer
all integer numbers in calculations and indexing are of this type
Definition: matop.hxx:40
virtual ~BoxModelParameters()
virtual destructor, implemented in BoxModelParameters.cxx
abstract interface that allows to use different -norms with a positive definite matrix in the proxi...
Definition: BundleProxObject.hxx:88
If in Lagrangean relaxation primal solutions are in the form of a real vector or, more generally a ma...
Definition: MatrixCBSolver.hxx:211
double Real
all real numbers in calculations are of this type
Definition: matop.hxx:50
BundleParameters * clone_BundleParameters() const
clone
Definition: BoxModelParameters.hxx:56
BoxModelParameters(const BoxModelParameters &sms)
copy constructor
Definition: BoxModelParameters.hxx:48
Matrix class for integral values of type Integer
Definition: indexmat.hxx:195
BoxModelParameters(const CBout *cb=0, int cbinc=-1)
default constructor
Definition: BoxModelParameters.hxx:38
abstract interface for BoxModel for the model selection routine select_model()
Definition: BoxModelParametersObject.hxx:61
abstract interface for BoxModel for the model selection routine
Definition: BoxModelParameters.hxx:26
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
Oracle interface providing the lower and upper bounds for the internally implemented support function...
Definition: BoxOracle.hxx:72
Serves for specifying parameters regarding the construction of cutting models.
Definition: CBSolver.hxx:891
BoxModelParameters(const BundleParameters &bp, const CBout *cb=0, int cbinc=-1)
copy constructor for BundleParameters
Definition: BoxModelParameters.hxx:43
Matrix class for real values of type Real
Definition: matrix.hxx:74
virtual int select_model(MinorantBundle &box_model, CH_Matrix_Classes::Matrix &box_coeff, CH_Matrix_Classes::Matrix &box_indicators, CH_Matrix_Classes::Indexmatrix &box_coords, CH_Matrix_Classes::Matrix &box_complvalues, MinorantBundle &nnc_model, CH_Matrix_Classes::Matrix &nnc_coeff, CH_Matrix_Classes::Matrix &nnc_indicators, const CH_Matrix_Classes::Matrix &coord_switching, const MinorantBundle &minorants, const MinorantPointer cand_minorant, const PrimalMatrix cand_boxvec, const PrimalMatrix aggr_boxvec, CH_Matrix_Classes::Real aggr_scaleval, BoxOracle *oracle, CH_Matrix_Classes::Integer modification_id, 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)
BoxModel calls this for selecting the next coordinates for a specialized polyhedral model with a box ...
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
Header declaring the class ConicBundle::BoxModelParametersObject.
points to MinorantUseData that may be shared by many and allows computations with Minorants ...
Definition: MinorantPointer.hxx:34