ConicBundle
Public Member Functions | List of all members
ConicBundle::VariableMetricSelection Class Referenceabstract

abstract interface, that allows to specify a routine for providing or computing a suitable variable metric for specific models. Per current default, no such information is generated. More...

#include <VariableMetric.hxx>

Inheritance diagram for ConicBundle::VariableMetricSelection:
ConicBundle::CBout ConicBundle::PSCVariableMetricSelection ConicBundle::VariableMetricSVDSelection

Public Member Functions

 VariableMetricSelection (CBout *cb=0, int cbincr=-1)
 constructor for passing on ouptut information
 
virtual ~VariableMetricSelection ()
 virtual destructor
 
virtual int add_variable_metric (VariableMetric &H, CH_Matrix_Classes::Integer y_id, const CH_Matrix_Classes::Matrix &y, bool descent_step, CH_Matrix_Classes::Real weightu, CH_Matrix_Classes::Real model_maxviol, const CH_Matrix_Classes::Indexmatrix *indices, VariableMetricBundleData &bundle_data)=0
 this routine allows to supply a customized scaling heuristic to a VariableMetricModel More...
 
virtual VariableMetricSelectionclone_VariableMetricSelection ()=0
 clone
 
- 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
 

Detailed Description

abstract interface, that allows to specify a routine for providing or computing a suitable variable metric for specific models. Per current default, no such information is generated.

Member Function Documentation

◆ add_variable_metric()

virtual int ConicBundle::VariableMetricSelection::add_variable_metric ( VariableMetric H,
CH_Matrix_Classes::Integer  y_id,
const CH_Matrix_Classes::Matrix y,
bool  descent_step,
CH_Matrix_Classes::Real  weightu,
CH_Matrix_Classes::Real  model_maxviol,
const CH_Matrix_Classes::Indexmatrix indices,
VariableMetricBundleData bundle_data 
)
pure virtual

this routine allows to supply a customized scaling heuristic to a VariableMetricModel

The routine may add nothing if there is not sufficient information. Otherwise see the functions in VariableMetric for how to enter information depending on how H supports dynamic scaling.

Parameters
[in,out]HVariableMetric H holds the current matrix and provides the information needed to add to it.
[in]y_idthe point id of the point supplied
[in]ythe scaling should be relevant around this point, e.g. in the smooth case the (nonnegative) diagonal or low rank representation of its Hessian
[in]descent_steptrue if and only if the solver just performed a descent step; if not true, the dynamic scaling routine may only add further semidefintie matrices but may not make the term smaller in the semidefinite sense.
[in]weightuthe positive scalar value currently used for weighting the quadratic (trust region) term
[in]model_maxviolfor nonsmooth functions the aggregate together with the quadratic term should aim at keeping the value above the value of the minorant minus this model_maxviol (where all minorants are assumed or shifted to cut below the aggregate by at least .1 this value)
[in]indicesif not NULL, the effect of the changes of the quadratic term must be restricted to these indices
[in]bundle_datathe bundle information on the model for which the variable metric should be added. The
Returns
  • 0 ... on success or if not supported (= adds nothing),
  • 1 ... on failure,

Implemented in ConicBundle::VariableMetricSVDSelection, and ConicBundle::PSCVariableMetricSelection.


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