ConicBundle
|
For each model added to the sum, there is an object ModelData that stores required information. More...
#include <SumModel.hxx>
Public Member Functions | |
SumBlockModel * | model () 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::Real & | set_deviation_contribution () |
get and set the accumulated contribution of this function to the total deviation | |
CH_Matrix_Classes::Real & | set_weighted_curvature () |
get and set the accumulated curvature information of this function | |
SumBundle::Mode & | set_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. | |
SumBlockModel * | oracle_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() | |
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.