ConicBundle
Public Member Functions | Private Attributes | List of all members
ConicBundle::BundleHKWeight Class Reference

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>

Inheritance diagram for ConicBundle::BundleHKWeight:
ConicBundle::BundleWeight ConicBundle::CBout

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

Groundsetgroundset
 the groundset, may not be zero in init and *_update
 
BundleModelmodel
 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
 

Detailed Description

Routine for selecting the weight of the quadratic/proximal term withing BundleSolver implementing BundleWeight along the paper by Helmberg and Kiwiel.


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