|
ConicBundle
|
Routine for selecting the weight of the quadratic/proximal term withing BundleSolver implementing BundleWeight along the paper by Helmberg and Kiwiel. More...
#include <BundleHKWeight.hxx>
Public Member Functions | |
| BundleHKWeight (CH_Matrix_Classes::Real mRin=.5, BundleWeight *bwp=0, const CBout *cbo=0, int incr=-1) | |
| the parameter mRin gets the value for accepting descent steps, bwp may be used to communicate the previous values use by another routine | |
| virtual void | set_defaults () |
| set default values for 'constant' parameters, e.g. minweight and maxweight | |
| virtual void | set_nullstep_updates (int nu=0) |
| set nullstep update strategy (0 ... original, 1 ... none, 2 ... enlarge if subsequence of three norm increases is found | |
| virtual void | clear () |
| reset all adaptive variables and parameters | |
| int | init (CH_Matrix_Classes::Real aggr_dnmormsqr, Groundset *groundset, BundleModel *model) |
| compute first weight and set some parameters | |
| void | set_next_weight (CH_Matrix_Classes::Real u) |
| <=0 leaves everything unchanged and does nothing | |
| void | set_minweight (CH_Matrix_Classes::Real mw) |
| <=0 means no bound | |
| bool | get_next_weight_set () const |
| true if the next weight was prespecified externally | |
| CH_Matrix_Classes::Real | get_minweight () const |
| Returns the current value of the minweight. | |
| virtual void | set_maxweight (CH_Matrix_Classes::Real mw) |
| <=0 means no bound | |
| CH_Matrix_Classes::Real | get_maxweight () const |
| Returns the current value of the maxweight. | |
| CH_Matrix_Classes::Real | get_weight () const |
| returns current value of the weight | |
| bool | weight_changed () const |
| returns true if last call of *_update modified current value of tau, else 0 | |
| int | descent_update (CH_Matrix_Classes::Real newval, CH_Matrix_Classes::Real oldval, CH_Matrix_Classes::Real modelval, const CH_Matrix_Classes::Matrix &y, const CH_Matrix_Classes::Matrix &newy, CH_Matrix_Classes::Real normsubg2, BundleProxObject *Hp) |
| determine next weight after a descent step | |
| int | nullstep_update (CH_Matrix_Classes::Real newval, CH_Matrix_Classes::Real oldval, CH_Matrix_Classes::Real modelval, const CH_Matrix_Classes::Matrix &y, const CH_Matrix_Classes::Matrix &newy, MinorantPointer &new_minorant, MinorantPointer &aggregate, CH_Matrix_Classes::Real nullstep_bound, CH_Matrix_Classes::Real normsubg2, BundleProxObject *Hp) |
| determine next weight after a null step | |
| virtual int | apply_modification (const GroundsetModification &gsmdf) |
| reinitialize after modifications | |
Public Member Functions inherited from ConicBundle::BundleWeight | |
| BundleWeight (const CBout *cb=0, int incr=-1) | |
| default constructor with the possibility to set the output | |
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 | |
Private Attributes | |
| Groundset * | groundset |
| the groundset, may not be zero in init and *_update | |
| BundleModel * | model |
| may be zero at any time | |
| CH_Matrix_Classes::Integer | iweight |
| counting the iterations since last change | |
| CH_Matrix_Classes::Real | weight |
| the current weight | |
| CH_Matrix_Classes::Real | epsweight |
| value for guessing the function variation | |
| CH_Matrix_Classes::Real | minweight |
| lower bound on the weight | |
| CH_Matrix_Classes::Real | maxweight |
| upper bound on the weight | |
| CH_Matrix_Classes::Real | modelmax |
| largest model value encountered | |
| bool | weightchanged |
| true if last choose_* call modified the weight | |
| bool | next_weight_set |
| true if set_nextweight was just called, reset at *_update | |
| int | nullstep_updates |
| true is weight may be changed after null steps [default: true] | |
| CH_Matrix_Classes::Matrix | valuelevels |
| for judging null step progress | |
| CH_Matrix_Classes::Matrix | ratiolevels |
| for judging null step progress | |
| CH_Matrix_Classes::Real | mR |
| parameter for reduction criterion in descent steps | |
Routine for selecting the weight of the quadratic/proximal term withing BundleSolver implementing BundleWeight along the paper by Helmberg and Kiwiel.
1.8.13