|
ConicBundle
|
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>
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 VariableMetricSelection * | clone_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 | |
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.
|
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.
| [in,out] | H | VariableMetric H holds the current matrix and provides the information needed to add to it. |
| [in] | y_id | the point id of the point supplied |
| [in] | y | the 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_step | true 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] | weightu | the positive scalar value currently used for weighting the quadratic (trust region) term |
| [in] | model_maxviol | for 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] | indices | if not NULL, the effect of the changes of the quadratic term must be restricted to these indices |
| [in] | bundle_data | the bundle information on the model for which the variable metric should be added. The |
Implemented in ConicBundle::VariableMetricSVDSelection, and ConicBundle::PSCVariableMetricSelection.
1.8.13