ConicBundle
|
abstract interface for SumModel for the models selection routine when using SumBundle and SumBundleHandler More...
#include <SumModelParametersObject.hxx>
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 BundleParameters * | clone_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 | |
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.