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.