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

Routine for selecting the weight of the quadratic/proximal term within BundleSolver implementing BundleWeight roughly along the paper C. Lemarechal, C. Sagastizabal, Variable metric bundle methods: From conceptual to implementable forms, Mathematical Programming 76 (1997) 393-410. Implemented obeserving details of the email communication with Claudia Sagastizabal. More...

#include <BundleRQBWeight.hxx>

Inheritance diagram for ConicBundle::BundleRQBWeight:
ConicBundle::BundleWeight ConicBundle::CBout

Public Member Functions

 BundleRQBWeight (BundleWeight *bwp=0, const CBout *cbo=0, int incr=-1)
 bwp may be used to communicate the previous values used by another routine
 
 BundleRQBWeight (CH_Matrix_Classes::Real m1, CH_Matrix_Classes::Real m2=.2, CH_Matrix_Classes::Real m3=1., CH_Matrix_Classes::Real eta=1e-6, BundleWeight *bwp=0, const CBout *cbo=0, int incr=-1)
 bwp may be used to communicate the previous values used by another routine
 
virtual void set_defaults ()
 set default values for 'constant' parameters, e.g. minweight and maxweight
 
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 Member Functions

int delta_subg (CH_Matrix_Classes::Matrix &delta_subg, MinorantPointer &center, MinorantPointer &cand)
 computes cand-center into delta_subg and retunrs 0 if both are not empty; otherwise it returns 1
 

Private Attributes

Groundsetgroundset
 the groundset, may not be zero in init and *_update
 
BundleModelmodel
 may be zero at any time
 
MinorantPointer center_aggr
 the aggregate stored for the current center, may be empty if not available
 
CH_Matrix_Classes::Real weight
 the current weight
 
CH_Matrix_Classes::Real minweight
 lower bound on the weight, no bound if negative
 
CH_Matrix_Classes::Real maxweight
 upper bound on the weight, no bound of negative
 
bool weightchanged
 true if last choose_* call modified the weight
 
bool next_weight_set
 true if set_nextweight was just called, reset at *_update
 
CH_Matrix_Classes::Real m1
 parameter for descent step
 
CH_Matrix_Classes::Real m2
 parameter in (m1,1) for using quasi udpate
 
CH_Matrix_Classes::Real m3
 parameter for "accepting null steps"
 
CH_Matrix_Classes::Real eta
 parameter for "zero subgradients"
 
CH_Matrix_Classes::Real tL
 lower bound for recording extrapolation
 
CH_Matrix_Classes::Real tR
 upper bound for recording interpolation
 
CH_Matrix_Classes::Real t
 recorded inter/extrapolation
 
CH_Matrix_Classes::Real frel
 realtive precision w.r.t. function value
 
CH_Matrix_Classes::Real delhat1
 oldval-modelval at t==1 unchanged
 

Detailed Description

Routine for selecting the weight of the quadratic/proximal term within BundleSolver implementing BundleWeight roughly along the paper C. Lemarechal, C. Sagastizabal, Variable metric bundle methods: From conceptual to implementable forms, Mathematical Programming 76 (1997) 393-410. Implemented obeserving details of the email communication with Claudia Sagastizabal.


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