ConicBundle
Public Member Functions | Private Attributes | List of all members
ConicBundle::SumModel::ModelData Class Reference

For each model added to the sum, there is an object ModelData that stores required information. More...

#include <SumModel.hxx>

Public Member Functions

SumBlockModelmodel () const
 returns aft_model if this is not NULL, otherwise oracle_model
 
 ModelData (SumBlockModel *oracle_model)
 sets the oracle_model
 
CH_Matrix_Classes::Real get_model_deviation () const
 get recent difference between model and function value in candidate
 
CH_Matrix_Classes::Real get_model_curvature () const
 get recent estimate of the function's "curvature" in candidate
 
CH_Matrix_Classes::Realset_deviation_contribution ()
 get and set the accumulated contribution of this function to the total deviation
 
CH_Matrix_Classes::Realset_weighted_curvature ()
 get and set the accumulated curvature information of this function
 
SumBundle::Modeset_suggested_mode ()
 get and set the sumbundle mode suggested to the model of the function
 

Private Attributes

friend SumModel
 SumModel may access any of this directly.
 
SumBlockModeloracle_model
 this oracle model is part of the sum, it will NOT be deleted on exit
 
CH_Matrix_Classes::Integer function_id
 -1 if not initialized, otherwise the maximum of the identifiers returned by the various calls to evaluation routines
 
CH_Matrix_Classes::Integer center_ub_fid
 -1 if not initialized, otherwise the identifier returned by the call giving the center_ub_value
 
CH_Matrix_Classes::Integer cand_ub_fid
 -1 if not initialized, otherwise the identifier returned by the calls giving the cand_ub_value
 
CH_Matrix_Classes::Integer aggregate_id
 -1 if not initialized, otherwise the identifier returned by the last call to get_model_aggregate
 
CH_Matrix_Classes::Real model_deviation
 for judging whether to use a local model or to suggest contribution to summodel, function_value(y)-aggregate(y) as returned by the last call to the extended SumBlockModel::update_model()
 
CH_Matrix_Classes::Real deviation_contribution
 for judging whether to use a local model or to suggest contribution to summodel, this is changed/updated by SumModelSelection::select_model()
 
CH_Matrix_Classes::Real model_curvature
 for judging whether to use a local model or to suggest contribution to summodel, an estimate of returned by the last call to the extended SumBlockModel::update_model()
 
CH_Matrix_Classes::Real weighted_curvature
 for judging whether to use a local model or to suggest contribution to summodel, this is changed/updated by SumModelSelection::select_model()
 
SumBundle::Mode suggested_mode
 suggested mode for this model set by the last call to SumModelSelection::select_model()
 

Detailed Description

For each model added to the sum, there is an object ModelData that stores required information.

In addition to the pointer oracle_model to the model itself, it holds a pointer aft_model to an optinal AFTModel that allows to apply an AffineFunctionTransformation (AFT) to the function of this model. If no AFT is used, the aft_model pointer will NULL. An AFT may be specified when setting up the problem or it will be generated automatically if a FunctionObjectModification for this model's function specifies a modification for an AFT. The AFTModel will be deleted in the end and, by default, also the AFT it contains. If initially an AFT is provided at construction and this AFT should not be deleted, set delete_this_aft_on_exit to false.

The only other variable is aggregate_id which is -1 if not initialized or gives the identifier returned by the last call to get_model_aggregate.


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