ConicBundle
|
default model selection routine for SOCModel More...
#include <SOCModelParameters.hxx>
Public Member Functions | |
SOCModelParameters (const CBout *cb=0, int incr=-1) | |
default constructor with the possibility to set the output | |
SOCModelParameters (int modelsize, int bundlesize=10, int updaterule=0, const CBout *cb=0, int incr=-1) | |
constructor for size parameters | |
SOCModelParameters (const BundleParameters &bp, const CBout *cb=0, int incr=-1) | |
copy constructor for BundleParameters | |
SOCModelParameters (const SOCModelParameters &sms) | |
copy constructor | |
virtual | ~SOCModelParameters () |
destructor | |
BundleParameters * | clone_BundleParameters () const |
clone | |
virtual int | select_model (CH_Matrix_Classes::Matrix &modelvecs, const CH_Matrix_Classes::Matrix &aggrvec, CH_Matrix_Classes::Real cand_SOCval, const CH_Matrix_Classes::Matrix &cand_SOCvec, CH_Matrix_Classes::Real center_SOCval, const CH_Matrix_Classes::Matrix ¢er_SOCvec, const CH_Matrix_Classes::Matrix &SOCvecs, SOCOracle *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 ¢er_y, CH_Matrix_Classes::Integer cand_id, const CH_Matrix_Classes::Matrix &cand_y, CH_Matrix_Classes::Real model_maxviol, BundleProxObject &H) |
SOCModel calls this for selecting the next minorants for a polyhedral model. More... | |
Public Member Functions inherited from ConicBundle::SOCModelParametersObject | |
int | init (const BundleParameters &bp) |
initialize BundleParameters to given values, if bp is a SumModleParametersObject alos set n_local_models to its values, otherwise leave it unchanged | |
SOCModelParametersObject (const CBout *cb=0, int cbinc=-1) | |
default constructor | |
SOCModelParametersObject (const BundleParameters &bp, const CBout *cb=0, int cbinc=-1) | |
copy constructor for BundleParameters | |
SOCModelParametersObject (const SOCModelParametersObject &sms) | |
copy constructor | |
virtual | ~SOCModelParametersObject () |
virtual destructor, implemented in SOCModelParameters.cxx | |
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 | |
Additional Inherited Members | |
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 | |
default model selection routine for SOCModel
There is not yet much experience with this and it is certainly worth to try to improve this.
|
virtual |
SOCModel calls this for selecting the next minorants for a polyhedral model.
[in,out] | modelvecs | the columns span the barx subspace of the SOC face (the model is initialized if modelvecs.coldim()>0). On output it has to span at least the subspace spanned by aggrvec and cand_SOCvec |
[in,out] | aggrvec | current aggregate soc vector (includes all coordinates and function_factor according to function_task); if not valid it has coldim==0. |
[in] | cand_SOCval | lower bound on the candidate value |
[in] | cand_SOCvec | the SOCvector generating cand_SOCval (includes all coordinates but no function_factor) |
[in] | center_SOCval | lower bound on the center value |
[in] | center_SOCvec | the SOCvector generating center_SOCval (includes all coordinates but no function_factor) |
[in] | SOCvecs | collects the barx parts of the old SOCvecs |
[in] | oracle | gives access to the evaluation oracle |
[in] | function_task | see FunctionTask |
[in] | function_factor | interpreted according to function_task and the coefficients sum up to at most this value |
[in] | model_update | informs about whether cand_y is the result of a null_step or descent_step or a new set up. |
[in] | center_id | the identifier of the center point |
[in] | center_y | the center point |
[in] | cand_id | the identifier of the candidate point |
[in] | cand_y | the candidate (mostly differnt from the center), close to it the model should be good |
[in] | model_maxviol | a minorant violated by this would have caused a null step |
[in] | H | the variable metric used in the proximal term (function_factor is already removed in this) |
Implements ConicBundle::SOCModelParametersObject.
Referenced by clone_BundleParameters().