Class HierarchicalOptimizationReporter¶
Defined in File hierarchicalOptimization.h
Inheritance Relationships¶
Base Type¶
public parpe::OptimizationReporter
(Class OptimizationReporter)
Class Documentation¶
-
class parpe::HierarchicalOptimizationReporter : public parpe::OptimizationReporter¶
The HierarchicalOptimizationReporter class saves optimization parameters of the inner optimization problem on each function evaluation which would be hidden from the (outer) optimizer otherwise.
Public Functions
-
HierarchicalOptimizationReporter(HierarchicalOptimizationWrapper *gradFun, std::unique_ptr<OptimizationResultWriter> rw, std::unique_ptr<Logger> logger)¶
-
virtual FunctionEvaluationStatus evaluate(gsl::span<const double> parameters, double &fval, gsl::span<double> gradient, Logger *logger = nullptr, double *cpuTime = nullptr) const override¶
-
virtual bool iterationFinished(gsl::span<const double> parameters, double objectiveFunctionValue, gsl::span<const double> objectiveFunctionGradient) const override¶
Is called after each iteration except for the last one.
- Parameters
parameters –
objectiveFunctionValue –
objectiveFunctionGradient –
- Returns
Quit optimization?
-
virtual bool afterCostFunctionCall(gsl::span<const double> parameters, double objectiveFunctionValue, gsl::span<double const> objectiveFunctionGradient) const override¶
-
virtual void finished(double optimalCost, gsl::span<const double> parameters, int exitStatus) const override¶
Is called after optimization finished.
-
virtual std::vector<double> const &getFinalParameters() const override¶
Public Members
-
HierarchicalOptimizationWrapper *hierarchical_wrapper_ = nullptr¶
-
mutable std::vector<double> cached_full_parameters_¶
-
mutable std::vector<double> cached_full_gradient_¶
-
HierarchicalOptimizationReporter(HierarchicalOptimizationWrapper *gradFun, std::unique_ptr<OptimizationResultWriter> rw, std::unique_ptr<Logger> logger)¶