ConicBundle
BoxModelParametersObject.hxx
Go to the documentation of this file.
1 
2 
3 #ifndef CONICBUNDLE_BOXMODELPARAMETERSOBJECT_HXX
4 #define CONICBUNDLE_BOXMODELPARAMETERSOBJECT_HXX
5 
13 #include "SumBlockModel.hxx"
14 #include "BoxData.hxx"
15 
16 namespace ConicBundle {
21 
61  class BoxModelParametersObject: public virtual CBout, public BundleParameters
62 {
63 protected:
64  //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)
65  //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)
66  //int update_rule; // in case several update rules are available
67 
68  //bool enforce_separate_model; // when forming combined models for a sum of functions, enforce a separate model for this function
69 
70 public:
72  int init(const BundleParameters& bp){
74  const BoxModelParametersObject* mpo=dynamic_cast<const BoxModelParametersObject*>(&bp);
75  if (mpo){
76  set_cbout(mpo,0);
77  }
78  return 0;
79  }
80 
82  BoxModelParametersObject(const CBout* cb=0,int cbinc=-1):
83  CBout(cb,cbinc),BundleParameters()
84  {}
85 
87  BoxModelParametersObject(const BundleParameters& bp,const CBout* cb=0,int cbinc=-1):
88  CBout(cb,cbinc),BundleParameters(bp)
89  {}
90 
93  CBout(sms),BundleParameters(sms)
94  {}
95 
97  virtual ~BoxModelParametersObject();
98 
223  virtual int select_model(MinorantBundle& box_model,
224  CH_Matrix_Classes::Matrix& box_coeff,
225  CH_Matrix_Classes::Matrix& box_indicators,
226  CH_Matrix_Classes::Indexmatrix& box_coords,
227  CH_Matrix_Classes::Matrix& box_complvalues,
228  MinorantBundle& nnc_model,
229  CH_Matrix_Classes::Matrix& nnc_coeff,
230  CH_Matrix_Classes::Matrix& nnc_indicators,
231  const CH_Matrix_Classes::Matrix& coord_switching,
232  const MinorantBundle& minorants,
233  const MinorantPointer cand_minorant,
234  const PrimalMatrix cand_boxvec,
235  const PrimalMatrix aggr_boxvec,
236  CH_Matrix_Classes::Real aggr_scaleval,
237  BoxOracle* oracle,
238  CH_Matrix_Classes::Integer modification_id,
239  FunctionTask function_task,
240  CH_Matrix_Classes::Real function_factor,
241  BundleModel::ModelUpdate model_update,
242  CH_Matrix_Classes::Integer center_id,
243  const CH_Matrix_Classes::Matrix& center_y,
245  const CH_Matrix_Classes::Matrix& cand_y,
246  CH_Matrix_Classes::Real model_maxviol,
247  BundleProxObject& H)=0;
248 
249 
250 };
251 
252 
254 
255 }
256 
257 #endif
258 
int Integer
all integer numbers in calculations and indexing are of this type
Definition: matop.hxx:40
Header declaring the class ConicBundle::SumBlockModel.
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
Matrix class for integral values of type Integer
Definition: indexmat.hxx:195
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)=0
BoxModel calls this for selecting the next coordinates for a specialized polyhedral model with a box ...
BoxModelParametersObject(const BundleParameters &bp, const CBout *cb=0, int cbinc=-1)
copy constructor for BundleParameters
Definition: BoxModelParametersObject.hxx:87
abstract interface for BoxModel for the model selection routine select_model()
Definition: BoxModelParametersObject.hxx:61
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
virtual int init(const BundleParameters &bp)
initialize to given values
Definition: CBSolver.hxx:900
Serves for specifying parameters regarding the construction of cutting models.
Definition: CBSolver.hxx:891
BoxModelParametersObject(const BoxModelParametersObject &sms)
copy constructor
Definition: BoxModelParametersObject.hxx:92
Matrix class for real values of type Real
Definition: matrix.hxx:74
Header declaring the class ConicBundle::BoxData (needed for ConicBundle::BoxModel) ...
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
BoxModelParametersObject(const CBout *cb=0, int cbinc=-1)
default constructor
Definition: BoxModelParametersObject.hxx:82
virtual ~BoxModelParametersObject()
virtual destructor, implemented in BoxModelParameters.cxx
int init(const BundleParameters &bp)
initialize BundleParameters to given values, if bp is a SumModleParametersObject alos set n_local_mod...
Definition: BoxModelParametersObject.hxx:72
points to MinorantUseData that may be shared by many and allows computations with Minorants ...
Definition: MinorantPointer.hxx:34
virtual void set_cbout(const CBout *cb, int incr=-1)
Specifies the output level relative to the given CBout class.