ConicBundle
Public Member Functions | Protected Attributes | List of all members
ConicBundle::SumModelParametersObject Class Referenceabstract

abstract interface for SumModel for the models selection routine when using SumBundle and SumBundleHandler More...

#include <SumModelParametersObject.hxx>

Inheritance diagram for ConicBundle::SumModelParametersObject:
ConicBundle::CBout ConicBundle::BundleParameters ConicBundle::SumModelParameters

Public Member Functions

int init (const BundleParameters &bp)
 initialize BundleParameters to the given values; if bp is a SumModelParametersObject alos set max_local_models and possibly clone sum_bundle_handler correspondigly; if bp is a SumBundleParametersObject, clone it into sum_bundle_handerl;
 
 SumModelParametersObject (CBout *cb=0, int cbinc=-1)
 default constructor
 
virtual ~SumModelParametersObject ()
 virtual destructor, implemented in SumModelParameters.cxx
 
virtual int get_max_local_models () const
 returns the value of the variable
 
virtual int set_max_local_models (int mlm)
 returns the value of the variable
 
virtual int select_models (SumModel::ModelMap &modelmap)=0
 generate a suggestion list on which to include in the SumBundle (the othersi should keep their local models)
 
- Public Member Functions inherited from ConicBundle::CBout
virtual void set_out (std::ostream *out=0, int print_level=1)
 Specifies the output level (out==NULL: no output at all, out!=NULL and level=0: errors and warnings, level>0 increasingly detailed information) More...
 
virtual void set_cbout (const CBout *cb, int incr=-1)
 Specifies the output level relative to the given CBout class. More...
 
void clear_cbout ()
 reset to default settings (out=0,print_level=1)
 
 CBout (const CBout *cb=0, int incr=-1)
 calls set_cbout
 
 CBout (std::ostream *outp, int pl=1)
 initialize correspondingly
 
 CBout (const CBout &cb, int incr=0)
 copy constructor
 
virtual bool cb_out (int pl=-1) const
 Returns true if out!=0 and (pl<print_level), pl<0 should be used for WARNINGS and ERRORS only, pl==0 for usual output.
 
std::ostream & get_out () const
 If cb_out() returned true, this returns the output stream, but it will abort if called with out==0.
 
std::ostream * get_out_ptr () const
 returns the pointer to the output stream
 
int get_print_level () const
 returns the print_level
 
virtual int mfile_data (std::ostream &out) const
 writes problem data to the given outstream
 
- Public Member Functions inherited from ConicBundle::BundleParameters
virtual int get_max_model_size () const
 returns the value of the variable
 
virtual int get_max_bundle_size () const
 returns the value of the variable
 
virtual int get_update_rule () const
 returns the value of the variable
 
virtual int set_max_model_size (int mms)
 sets the value of the variable
 
virtual int set_max_bundle_size (int mbs)
 sets the value of the variable
 
virtual int set_update_rule (int ur)
 sets the value of the variable
 
 BundleParameters (const BundleParameters &bp)
 often works well: small model of size 2 and some history in bundle size for use in scaling
 
 BundleParameters (int modelsize=-1, int bundlesize=-1, int updaterule=-1)
 often works well for fast initial progress: small model of size 2 and some history in bundle size for use in scaling; default values give no preference at all
 
virtual ~BundleParameters ()
 virtual destructor
 
virtual BundleParametersclone_BundleParameters () const
 return a new clone object of this on the heap (caller needs to delete the result)
 

Protected Attributes

int max_local_models
 when combining models, aim for this number of local models
 
- Protected Attributes inherited from ConicBundle::BundleParameters
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)
 
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)
 
int update_rule
 in case several update rules are available
 

Detailed Description

abstract interface for SumModel for the models selection routine when using SumBundle and SumBundleHandler

Whenever a joint model should be formed dynamically for some of the functions within SumModel in order to achieve a reduced model size for those that do not need a detailed description, the routine select_models() provides a suggestion which models should be asked to contribute to this joint model.

The parameter max_local_models gives a preference on the maximum number of models that may keep their own separate model, all others should be asked to join.

Except for possibly update_rule the other parameters of BundleParameters are likely not needed here, because the separate SumBundleParametersObject is relevant for the SumBundleHandler, but the class helps to provide a uniform interface.


The documentation for this class was generated from the following file: