|
ConicBundle
|
stores use information for the model that the minorant is generated for or to the data the model refers to More...
#include <MinorantUseData.hxx>
Public Member Functions | |
| MinorantUseData (Minorant *mp, CH_Matrix_Classes::Real sval, CH_Matrix_Classes::Integer modif_id) | |
| constructor for a new minorant with scaling sval and modification id modfi_id | |
| MinorantUseData (MinorantUseData *mdp, CH_Matrix_Classes::Real sval) | |
| constructor for a recursively containing further MinorantUseData with an additional scaling factor sval | |
| int | get_scaleval_and_minorant (CH_Matrix_Classes::Real &sv, Minorant *&m) |
| by a recursive call return the collected scaling value and the final minorant | |
| bool | valid () const |
| check validity recursively | |
| Minorant * | get_minorant () const |
| return the final minorant (by a recursive call) or 0 if there is none | |
| CH_Matrix_Classes::Integer & | set_modification_id () |
| returns the modification id also for overwriting | |
| CH_Matrix_Classes::Integer | get_modification_id () const |
| returns the modification id | |
| int | synchronize_ids (CH_Matrix_Classes::Integer new_modification_id, CH_Matrix_Classes::Integer new_center_id, CH_Matrix_Classes::Integer old_center_id, CH_Matrix_Classes::Integer new_cand_id, CH_Matrix_Classes::Integer old_cand_id, CH_Matrix_Classes::Integer new_prex_id) |
| sets the modification_id to its new id and reinitializes the evaluation map | |
| bool | aggregate () const |
| returns true if the minorant is an aggregate of several minorants | |
| int | aggregated (CH_Matrix_Classes::Integer n) |
| add n to the number couting the aggregations | |
| CH_Matrix_Classes::Real | offset () const |
| return the offset of the minorant | |
| CH_Matrix_Classes::Real | coeff (CH_Matrix_Classes::Integer i) const |
| return coefficient i of the minorant | |
| int | scale (CH_Matrix_Classes::Real factor) |
| carries through the scaling for the underlying minorant, afterwards scaleval==1., may only be carried out if use_cnt==1 | |
| int | call_primal_extender (PrimalExtender &prex, CH_Matrix_Classes::Integer in_prex_id) |
| apply the primal extender to the minorant if in_prex_id indicates a new extension | |
| CH_Matrix_Classes::Real | evaluate (CH_Matrix_Classes::Integer yid, const CH_Matrix_Classes::Matrix &y, bool with_constant=true) const |
| evaluate the minorant for y unluess yid allows to retrieve a previous evaluation | |
| bool | one_user () const |
| returns true if not valid or use_cnt==1 recursively | |
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 | |
| MinorantUseData (const MinorantUseData &) | |
| forbidden, blocked deriberately | |
| MinorantUseData & | operator= (const MinorantUseData &) |
| forbidden, blocked deriberately | |
Private Attributes | |
| CH_Matrix_Classes::Integer | use_cnt |
| the number of MinorantPointer instance pointing to this; once it reaches 0 the corresponding Minorant Pointer will delete it | |
| CH_Matrix_Classes::Integer | modification_id |
| the value of the modification id of the function at the time of generation or when modified; if minorant!=0 and modification_id<0, the minorant is no longer valid | |
| CH_Matrix_Classes::Integer | aggr_stat |
| the number of minorants aggregated in this (only caused by MinorantPointer::aggregate | |
| CH_Matrix_Classes::Integer | prex_id |
| gives the id of the last primal extender call, -1 for failed, 0 initially | |
| CH_Matrix_Classes::Real | scaleval |
| value by which the minorant or the MinorantUseData has to be scaled | |
| std::map< CH_Matrix_Classes::Integer, CH_Matrix_Classes::Real > | evals |
| if minorant!=0, this records evaluations for given point ids | |
| Minorant * | minorant |
| this points to the minorant or maybe to nothing if not valid | |
| MinorantUseData * | md |
| if there is no minorant, it should be in here (recursively) | |
Friends | |
| class | MinorantPointer |
stores use information for the model that the minorant is generated for or to the data the model refers to
The data always relates to the function/model the MinorantPointer was generated for; If a MinorantPointer from another function/model makes use of this, it generates its own MinorantUseData pointing to this MinorantUseData. This make it possible to recognize/enable dynamic function changes at any level.
1.8.13