3 #ifndef CONICBUNDLE_BUNDLEHKWEIGHT_HXX 4 #define CONICBUNDLE_BUNDLEHKWEIGHT_HXX 53 {nullstep_updates=nu;}
72 if ((weight>0)&&(weight<minweight))
74 if ((maxweight>0)&&(maxweight<minweight))
90 if (weight>maxweight){
93 if ((minweight>0)&&(minweight>maxweight))
int Integer
all integer numbers in calculations and indexing are of this type
Definition: matop.hxx:40
abstract interface that allows to use different -norms with a positive definite matrix in the proxi...
Definition: BundleProxObject.hxx:88
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 void clear()
reset all adaptive variables and parameters
double Real
all real numbers in calculations are of this type
Definition: matop.hxx:50
int init(CH_Matrix_Classes::Real aggr_dnmormsqr, Groundset *groundset, BundleModel *model)
compute first weight and set some parameters
CH_Matrix_Classes::Real get_weight() const
returns current value of the weight
bool get_next_weight_set() const
true if the next weight was prespecified externally
Definition: BundleHKWeight.hxx:80
virtual int apply_modification(const GroundsetModification &gsmdf)
reinitialize after modifications
virtual void set_nullstep_updates(int nu=0)
set nullstep update strategy (0 ... original, 1 ... none, 2 ... enlarge if subsequence of three norm ...
Definition: BundleHKWeight.hxx:52
CH_Matrix_Classes::Real weight
the current weight
Definition: BundleHKWeight.hxx:26
void set_minweight(CH_Matrix_Classes::Real mw)
<=0 means no bound
Definition: BundleHKWeight.hxx:68
CH_Matrix_Classes::Real mR
parameter for reduction criterion in descent steps
Definition: BundleHKWeight.hxx:39
Routine for selecting the weight of the quadratic/proximal term withing BundleSolver implementing Bun...
Definition: BundleHKWeight.hxx:21
int nullstep_updates
true is weight may be changed after null steps [default: true]
Definition: BundleHKWeight.hxx:34
conic bundle method solver for sum of convex functions. See the ConicBundle_Manual for a quick introd...
Definition: CBSolver.hxx:22
base class for uniform use of WARNINGS and ERRORS (at some point in time)
Definition: CBout.hxx:30
bool next_weight_set
true if set_nextweight was just called, reset at *_update
Definition: BundleHKWeight.hxx:33
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
bool weight_changed() const
returns true if last call of *_update modified current value of tau, else 0
virtual void set_maxweight(CH_Matrix_Classes::Real mw)
<=0 means no bound
Definition: BundleHKWeight.hxx:86
bool weightchanged
true if last choose_* call modified the weight
Definition: BundleHKWeight.hxx:32
virtual void set_defaults()
set default values for 'constant' parameters, e.g. minweight and maxweight
abstract representation of the feasible convex ground set to be optimized over, provides the QP solve...
Definition: Groundset.hxx:77
Groundset * groundset
the groundset, may not be zero in init and *_update
Definition: BundleHKWeight.hxx:23
CH_Matrix_Classes::Matrix valuelevels
for judging null step progress
Definition: BundleHKWeight.hxx:36
CH_Matrix_Classes::Real modelmax
largest model value encountered
Definition: BundleHKWeight.hxx:30
BundleModel * model
may be zero at any time
Definition: BundleHKWeight.hxx:24
void set_next_weight(CH_Matrix_Classes::Real u)
<=0 leaves everything unchanged and does nothing
Definition: BundleHKWeight.hxx:62
const double CB_minus_infinity
serves as the value "plus infinity", i.e., all bounds >= this value are set to this value and are reg...
Header declaring the class ConicBundle::BundleWeight.
Matrix class for real values of type Real
Definition: matrix.hxx:74
CH_Matrix_Classes::Matrix ratiolevels
for judging null step progress
Definition: BundleHKWeight.hxx:37
abstract interface for BundleSolver giving access to all objective function specific bundle routines ...
Definition: BundleModel.hxx:140
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 pre...
CH_Matrix_Classes::Real get_maxweight() const
Returns the current value of the maxweight.
Definition: BundleHKWeight.hxx:99
CH_Matrix_Classes::Real get_minweight() const
Returns the current value of the minweight.
Definition: BundleHKWeight.hxx:83
Abstract interface for BundleSolver providing routines that determine the weight of the quadratic ter...
Definition: BundleWeight.hxx:35
CH_Matrix_Classes::Integer iweight
counting the iterations since last change
Definition: BundleHKWeight.hxx:25
double max(double a, double b)
maximum value of two double variables
Definition: mymath.hxx:43
Collects modifications for the unconstrained Groundset for appending, deleting or reassigning variabl...
Definition: GroundsetModification.hxx:32
CH_Matrix_Classes::Real minweight
lower bound on the weight
Definition: BundleHKWeight.hxx:28
CH_Matrix_Classes::Real maxweight
upper bound on the weight
Definition: BundleHKWeight.hxx:29
points to MinorantUseData that may be shared by many and allows computations with Minorants ...
Definition: MinorantPointer.hxx:34
CH_Matrix_Classes::Real epsweight
value for guessing the function variation
Definition: BundleHKWeight.hxx:27