SG++-Doxygen-Documentation
|
Abstract class for optimizing objective functions. More...
#include <UnconstrainedOptimizer.hpp>
Public Member Functions | |
virtual void | clone (std::unique_ptr< UnconstrainedOptimizer > &clone) const =0 |
Pure virtual method for cloning the optimizer. More... | |
const base::DataMatrix & | getHistoryOfOptimalPoints () const |
const base::DataVector & | getHistoryOfOptimalValues () const |
size_t | getN () const |
ScalarFunction & | getObjectiveFunction () const |
const base::DataVector & | getOptimalPoint () const |
double | getOptimalValue () const |
const base::DataVector & | getStartingPoint () const |
virtual void | optimize ()=0 |
Pure virtual method for optimization of the objective function. More... | |
void | setN (size_t N) |
void | setStartingPoint (const base::DataVector &startingPoint) |
UnconstrainedOptimizer (const ScalarFunction &f, size_t N=DEFAULT_N) | |
Constructor. More... | |
UnconstrainedOptimizer (const UnconstrainedOptimizer &other) | |
Copy constructor. More... | |
virtual | ~UnconstrainedOptimizer () |
Destructor. More... | |
Static Public Attributes | |
static const size_t | DEFAULT_N = 1000 |
default maximal number of iterations or function evaluations More... | |
Protected Attributes | |
std::unique_ptr< ScalarFunction > | f |
objective function More... | |
base::DataVector | fHist |
search history vector (optimal values) More... | |
double | fOpt |
result of optimization (optimal function value) More... | |
size_t | N |
maximal number of iterations or function evaluations More... | |
base::DataVector | x0 |
starting point More... | |
base::DataMatrix | xHist |
search history matrix (optimal points) More... | |
base::DataVector | xOpt |
result of optimization (location of optimum) More... | |
Abstract class for optimizing objective functions.
|
inlineexplicit |
Constructor.
The starting point is set to \((0.5, \dotsc, 0.5)^{\mathrm{T}}\).
f | function to optimize |
N | maximal number of iterations or function evaluations (depending on the implementation) |
References sgpp::optimization::ScalarFunction::clone().
|
inline |
|
inlinevirtual |
Destructor.
References optimize().
|
pure virtual |
Pure virtual method for cloning the optimizer.
It should generate a pointer to the cloned object and it's used for parallel computations.
[out] | clone | pointer to cloned object |
Implemented in sgpp::optimization::optimizer::Newton, sgpp::optimization::optimizer::AdaptiveNewton, sgpp::optimization::optimizer::AugmentedLagrangian, sgpp::optimization::optimizer::SquaredPenalty, sgpp::optimization::optimizer::NLCG, sgpp::optimization::optimizer::LogBarrier, sgpp::optimization::optimizer::GradientDescent, sgpp::optimization::optimizer::BFGS, sgpp::optimization::optimizer::AdaptiveGradientDescent, sgpp::optimization::optimizer::Rprop, sgpp::optimization::optimizer::NelderMead, sgpp::optimization::optimizer::MultiStart, sgpp::optimization::optimizer::DifferentialEvolution, and sgpp::optimization::optimizer::CMAES.
Referenced by getHistoryOfOptimalValues(), and sgpp::optimization::optimizer::MultiStart::MultiStart().
|
inline |
References xHist.
Referenced by sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), and sgpp::optimization::optimizer::AugmentedLagrangian::optimize().
|
inline |
|
inline |
References N.
|
inline |
References f.
|
inline |
References xOpt.
Referenced by sgpp::datadriven::OperationInverseRosenblattTransformation1DBspline::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBsplineBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModPoly::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPoly::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModBspline::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModPolyClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DBsplineClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyClenshawCurtis::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DPolyClenshawCurtisBoundary::doTransformation1D(), sgpp::datadriven::OperationInverseRosenblattTransformation1DModBsplineClenshawCurtis::doTransformation1D(), sgpp::optimization::optimizer::AugmentedLagrangian::findFeasiblePoint(), sgpp::datadriven::BayesianOptimization::main(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), and sgpp::datadriven::MaximumLikelihoodCrossValidation::optimizeBandwidths().
|
inline |
References fOpt.
Referenced by sgpp::datadriven::BayesianOptimization::main(), and sgpp::optimization::optimizer::MultiStart::optimize().
|
inline |
References x0.
|
pure virtual |
Pure virtual method for optimization of the objective function.
The result of the optimization process can be obtained by member functions, e.g., getOptimalPoint() and getOptimalValue().
Implemented in sgpp::optimization::optimizer::Newton, sgpp::optimization::optimizer::AdaptiveNewton, sgpp::optimization::optimizer::AugmentedLagrangian, sgpp::optimization::optimizer::SquaredPenalty, sgpp::optimization::optimizer::MultiStart, sgpp::optimization::optimizer::NLCG, sgpp::optimization::optimizer::DifferentialEvolution, sgpp::optimization::optimizer::LogBarrier, sgpp::optimization::optimizer::GradientDescent, sgpp::optimization::optimizer::NelderMead, sgpp::optimization::optimizer::BFGS, sgpp::optimization::optimizer::AdaptiveGradientDescent, sgpp::optimization::optimizer::Rprop, and sgpp::optimization::optimizer::CMAES.
Referenced by sgpp::optimization::optimizer::MultiStart::optimize(), and ~UnconstrainedOptimizer().
|
inline |
N | maximal number of iterations or function evaluations |
References N.
Referenced by sgpp::optimization::optimizer::MultiStart::optimize().
|
inline |
startingPoint | starting point |
References x0.
Referenced by sgpp::optimization::optimizer::AugmentedLagrangian::findFeasiblePoint(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), and sgpp::optimization::optimizer::SquaredPenalty::optimize().
|
static |
default maximal number of iterations or function evaluations
|
protected |
objective function
Referenced by sgpp::optimization::optimizer::AugmentedLagrangian::findFeasiblePoint(), getObjectiveFunction(), sgpp::optimization::optimizer::MultiStart::initialize(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), and sgpp::optimization::optimizer::Newton::optimize().
|
protected |
search history vector (optimal values)
Referenced by getHistoryOfOptimalValues(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), and UnconstrainedOptimizer().
|
protected |
result of optimization (optimal function value)
Referenced by getOptimalValue(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), and UnconstrainedOptimizer().
|
protected |
maximal number of iterations or function evaluations
Referenced by getN(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), and setN().
|
protected |
starting point
Referenced by getStartingPoint(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), setStartingPoint(), and UnconstrainedOptimizer().
|
protected |
search history matrix (optimal points)
Referenced by getHistoryOfOptimalPoints(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), and UnconstrainedOptimizer().
|
protected |
result of optimization (location of optimum)
Referenced by getOptimalPoint(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::optimizer::Rprop::optimize(), sgpp::optimization::optimizer::BFGS::optimize(), sgpp::optimization::optimizer::GradientDescent::optimize(), sgpp::optimization::optimizer::NelderMead::optimize(), sgpp::optimization::optimizer::LogBarrier::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::NLCG::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), sgpp::optimization::optimizer::AugmentedLagrangian::optimize(), sgpp::optimization::optimizer::SquaredPenalty::optimize(), sgpp::optimization::optimizer::AdaptiveNewton::optimize(), sgpp::optimization::optimizer::Newton::optimize(), and UnconstrainedOptimizer().