Diana
0.8.3
|
#include <DianaOEDTask.hpp>
Public Member Functions | |
DianaOEDTask (Numeric::Solvers::NLPTasks::DianaParameterFittingTask *pParFitTask, Numeric::Solvers::Solver::ICapeNumericNLPSolver *pOptimizer, const Common::Parameter::CapeArrayParameterSpec &colDesignVars) throw (Common::Error::ECapeUnknown) | |
~DianaOEDTask () | |
virtual Common::Types::CapeDouble | CalcObjFunction () throw (Common::Error::ECapeUnknown, Common::Error::ECapeSolvingError) |
virtual void | Initialize () throw (Common::Error::ECapeUnknown, Common::Error::ECapeFailedInitialisation, Common::Error::ECapeOutOfResources, Common::Error::ECapeLicenceError, Common::Error::ECapeBadInvOrder) |
void | SetOptimalityCriterion (Numeric::Solvers::NLPTasks::ICapeNLPFunction *func) throw (Common::Error::ECapeUnknown) |
const Common::Types::CapeArrayDouble & | GetParametersBiasEstimate () const throw (Common::Error::ECapeUnknown) |
const Diana::DianaArray & | GetCovarianceMatrixEstimate () const throw (Common::Error::ECapeUnknown) |
Numeric::Solvers::NLPTasks::DianaParameterFittingTask * | GetParameterFttingTask () throw (Common::Error::ECapeUnknown) |
Numeric::Solvers::Solver::ICapeNumericSolver * | GetPFOptimizer () throw (Common::Error::ECapeUnknown) |
Numeric::Solvers::NLPTasks::ICapeNLPFunction * | GetOptimalityCriterion () throw (Common::Error::ECapeUnknown) |
Common::Collection::ICapeCollection * | GetDesignVariables () throw (Common::Error::ECapeUnknown, Common::Error::ECapeFailedInitialisation, Common::Error::ECapeNoImpl) |
Common::Collection::ICapeCollection * | GetEstimatedParameters () throw (Common::Error::ECapeUnknown, Common::Error::ECapeFailedInitialisation, Common::Error::ECapeNoImpl) |
Protected Member Functions | |
virtual Common::Types::CapeDouble | EvaluateObjFunction ()=0 throw (Common::Error::ECapeUnknown, Common::Error::ECapeSolvingError) |
Protected Attributes | |
Numeric::Solvers::NLPTasks::DianaParameterFittingTask * | pParFitTask |
Parameter fitting task for currently explored experiment. | |
Numeric::Solvers::Solver::ICapeNumericNLPSolver * | pParFitOptimizer |
Optimizer for parameter fitting task. | |
OEDOptimalityCriterion * | pOptCriterion |
Optimality criterion function (e.g. D-optimality, E-optimality, user defined etc) | |
OEDOptimalityCriterionType | eOptimalityCriterionType |
Type of optimality criterion. | |
Diana::DianaCollection | collDesignVars |
Collection of design variables. | |
Diana::DianaCollection | collEstimatedPars |
Collection of estimated parameters for optimal design. | |
Common::Types::CapeBoolean | bInitialized |
Flag, indicates that optimizer is initialised. | |
Diana::DianaArray | daCovMatrix |
Estimate of covariance matrix. | |
Common::Types::CapeArrayDouble | arrBias |
Estimate of of parameters' bias. |
Base class for optimal experimental design tasks.
pParFitTask | - parameter fitting task for currently explored experiment |
pOptimizer | - optimizer for solving parameter fitting task |
colDesignVars | - estimated design variables collection with names, bounds and precision. |
DianaOEDTask | ( | Numeric::Solvers::NLPTasks::DianaParameterFittingTask * | pParFitTask, |
Numeric::Solvers::Solver::ICapeNumericNLPSolver * | pOptimizer, | ||
const Common::Parameter::CapeArrayParameterSpec & | colDesignVars | ||
) | throw (Common::Error::ECapeUnknown) |
Constructor.
~DianaOEDTask | ( | ) |
Destructor.
virtual Common::Types::CapeDouble CalcObjFunction | ( | ) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeSolvingError) [virtual] |
Calculates and returns objective function value for optimization task.
Implements ICapeNLPTask.
virtual Common::Types::CapeDouble EvaluateObjFunction | ( | ) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeSolvingError) [protected, pure virtual] |
Calculates and returns objective function value for optimization task.
const Diana::DianaArray& GetCovarianceMatrixEstimate | ( | ) | const throw (Common::Error::ECapeUnknown) |
Returns covariance matrix estimate.
Common::Collection::ICapeCollection* GetDesignVariables | ( | ) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeFailedInitialisation, Common::Error::ECapeNoImpl) [inline] |
Returns an ICapeCollection interface. This method allows any client to access all the Cape Open Parameters that represents design variables.
References DianaOEDTask::collDesignVars.
Common::Collection::ICapeCollection* GetEstimatedParameters | ( | ) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeFailedInitialisation, Common::Error::ECapeNoImpl) [inline] |
Returns an ICapeCollection interface. This method allows any client to access all the Cape Open Parameters that represents estimated parameters for optimal design.
References DianaOEDTask::collEstimatedPars.
Numeric::Solvers::NLPTasks::ICapeNLPFunction* GetOptimalityCriterion | ( | ) | throw (Common::Error::ECapeUnknown) |
Returns function that represents optimality criterion.
Numeric::Solvers::NLPTasks::DianaParameterFittingTask* GetParameterFttingTask | ( | ) | throw (Common::Error::ECapeUnknown) |
Returns parameter fitting task for currently explored experiment.
const Common::Types::CapeArrayDouble& GetParametersBiasEstimate | ( | ) | const throw (Common::Error::ECapeUnknown) |
Returns estimate of parameters' bias.
Numeric::Solvers::Solver::ICapeNumericSolver* GetPFOptimizer | ( | ) | throw (Common::Error::ECapeUnknown) |
Returns optimizer for solving parameter fitting task.
virtual void Initialize | ( | ) | throw (Common::Error::ECapeUnknown, Common::Error::ECapeFailedInitialisation, Common::Error::ECapeOutOfResources, Common::Error::ECapeLicenceError, Common::Error::ECapeBadInvOrder) [virtual] |
The environment will order the component to get initialized through this method. Any initialisation that could fail must be placed here. Initialize is guaranteed to be the first method called by the client (except low level methods such as class constructors or initialization persistence methods). Initialize has to be called once when the component is instantiated in a particular flowsheet. When the initialization fails, before signalling an error, the component must free all the resources that were allocated before the failure occurred. When the environment receives this error, it may not use the component anymore. The method terminate of the current interface must not either be called. Hence, the environment may only release the component through the middleware native mechanisms.
Reimplemented from DianaNLPTask.
void SetOptimalityCriterion | ( | Numeric::Solvers::NLPTasks::ICapeNLPFunction * | func | ) | throw (Common::Error::ECapeUnknown) |
Sets optimality criterion. By default A-optimality criterion is used.
func | pointer on optimality criterion |