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

stores use information for the model that the minorant is generated for or to the data the model refers to More...

#include <MinorantUseData.hxx>

Inheritance diagram for ConicBundle::MinorantUseData:
ConicBundle::CBout

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
 
Minorantget_minorant () const
 return the final minorant (by a recursive call) or 0 if there is none
 
CH_Matrix_Classes::Integerset_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
 
MinorantUseDataoperator= (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::Realevals
 if minorant!=0, this records evaluations for given point ids
 
Minorantminorant
 this points to the minorant or maybe to nothing if not valid
 
MinorantUseDatamd
 if there is no minorant, it should be in here (recursively)
 

Friends

class MinorantPointer
 

Detailed Description

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.


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