![]() |
SG++-Doxygen-Documentation
|
Log Barrier method for constrained optimization. More...
#include <LogBarrier.hpp>
Static Public Attributes | |
| static constexpr double | DEFAULT_BARRIER_DECREASE_FACTOR = 0.5 |
| default barrier decrease factor More... | |
| static constexpr double | DEFAULT_BARRIER_START_VALUE = 1.0 |
| default barrier start value More... | |
| static constexpr double | DEFAULT_TOLERANCE = 1e-6 |
| default tolerance More... | |
Static Public Attributes inherited from sgpp::optimization::optimizer::UnconstrainedOptimizer | |
| static const size_t | DEFAULT_N = 1000 |
| default maximal number of iterations or function evaluations More... | |
Protected Attributes | |
| std::unique_ptr< ScalarFunctionGradient > | fGradient |
| objective function gradient More... | |
| std::unique_ptr< VectorFunctionGradient > | gGradient |
| inequality constraint function gradient More... | |
| std::vector< size_t > | kHistInner |
| search history (number of inner iterations) More... | |
| double | mu0 |
| barrier start value More... | |
| double | rhoMuMinus |
| barrier decrease factor More... | |
| double | theta |
| tolerance More... | |
| base::DataMatrix | xHistInner |
| search history (inner iterations) More... | |
Protected Attributes inherited from sgpp::optimization::optimizer::ConstrainedOptimizer | |
| std::unique_ptr< VectorFunction > | g |
| inequality constraint function More... | |
| std::unique_ptr< VectorFunction > | h |
| equality constraint function More... | |
Protected Attributes inherited from sgpp::optimization::optimizer::UnconstrainedOptimizer | |
| 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... | |
Log Barrier method for constrained optimization.
| sgpp::optimization::optimizer::LogBarrier::LogBarrier | ( | const ScalarFunction & | f, |
| const ScalarFunctionGradient & | fGradient, | ||
| const VectorFunction & | g, | ||
| const VectorFunctionGradient & | gGradient, | ||
| size_t | maxItCount = DEFAULT_N, |
||
| double | tolerance = DEFAULT_TOLERANCE, |
||
| double | barrierStartValue = DEFAULT_BARRIER_START_VALUE, |
||
| double | barrierDecreaseFactor = DEFAULT_BARRIER_DECREASE_FACTOR |
||
| ) |
Constructor.
| f | objective function |
| fGradient | objective function gradient |
| g | inequality constraint |
| gGradient | inequality constraint gradient |
| maxItCount | maximal number of function evaluations |
| tolerance | tolerance |
| barrierStartValue | barrier start value |
| barrierDecreaseFactor | barrier decrease factor |
References sgpp::optimization::ScalarFunctionGradient::clone(), and sgpp::optimization::VectorFunctionGradient::clone().
Referenced by clone().
| sgpp::optimization::optimizer::LogBarrier::LogBarrier | ( | const LogBarrier & | other | ) |
|
override |
Destructor.
|
overridevirtual |
| [out] | clone | pointer to cloned object |
Implements sgpp::optimization::optimizer::UnconstrainedOptimizer.
References LogBarrier().
| double sgpp::optimization::optimizer::LogBarrier::getBarrierDecreaseFactor | ( | ) | const |
References rhoMuMinus.
| double sgpp::optimization::optimizer::LogBarrier::getBarrierStartValue | ( | ) | const |
References mu0.
| const std::vector< size_t > & sgpp::optimization::optimizer::LogBarrier::getHistoryOfInnerIterationNumbers | ( | ) | const |
References kHistInner.
| const base::DataMatrix & sgpp::optimization::optimizer::LogBarrier::getHistoryOfInnerIterationPoints | ( | ) | const |
References xHistInner.
| VectorFunctionGradient & sgpp::optimization::optimizer::LogBarrier::getInequalityConstraintGradient | ( | ) | const |
References gGradient.
| ScalarFunctionGradient & sgpp::optimization::optimizer::LogBarrier::getObjectiveGradient | ( | ) | const |
References fGradient.
| double sgpp::optimization::optimizer::LogBarrier::getTolerance | ( | ) | const |
References theta.
|
overridevirtual |
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().
Implements sgpp::optimization::optimizer::UnconstrainedOptimizer.
References sgpp::base::DataVector::append(), sgpp::base::DataMatrix::appendRow(), sgpp::optimization::optimizer::UnconstrainedOptimizer::f, fGradient, sgpp::optimization::optimizer::UnconstrainedOptimizer::fHist, sgpp::optimization::optimizer::UnconstrainedOptimizer::fOpt, sgpp::optimization::optimizer::ConstrainedOptimizer::g, sgpp::optimization::optimizer::UnconstrainedOptimizer::getHistoryOfOptimalPoints(), sgpp::optimization::Printer::getInstance(), sgpp::base::DataMatrix::getNrows(), sgpp::optimization::optimizer::UnconstrainedOptimizer::getOptimalPoint(), gGradient, python.statsfileInfo::i, kHistInner, sgpp::base::DataVector::l2Norm(), mu, mu0, sgpp::optimization::optimizer::UnconstrainedOptimizer::N, sgpp::optimization::optimizer::AdaptiveGradientDescent::optimize(), sgpp::optimization::Printer::printStatusBegin(), sgpp::optimization::Printer::printStatusEnd(), sgpp::optimization::Printer::printStatusUpdate(), sgpp::base::DataMatrix::resize(), rhoMuMinus, sgpp::optimization::optimizer::UnconstrainedOptimizer::setStartingPoint(), sgpp::base::DataVector::sub(), theta, sgpp::base::DataVector::toString(), sgpp::optimization::optimizer::UnconstrainedOptimizer::x0, sgpp::optimization::optimizer::UnconstrainedOptimizer::xHist, xHistInner, and sgpp::optimization::optimizer::UnconstrainedOptimizer::xOpt.
| void sgpp::optimization::optimizer::LogBarrier::setBarrierDecreaseFactor | ( | double | barrierDecreaseFactor | ) |
| barrierDecreaseFactor | barrier decrease factor |
References rhoMuMinus.
| void sgpp::optimization::optimizer::LogBarrier::setBarrierStartValue | ( | double | barrierStartValue | ) |
| barrierStartValue | barrier start value |
References mu0.
| void sgpp::optimization::optimizer::LogBarrier::setTolerance | ( | double | tolerance | ) |
| tolerance | tolerance |
References theta.
|
static |
default barrier decrease factor
|
static |
default barrier start value
|
static |
default tolerance
|
protected |
objective function gradient
Referenced by getObjectiveGradient(), LogBarrier(), and optimize().
|
protected |
inequality constraint function gradient
Referenced by getInequalityConstraintGradient(), LogBarrier(), and optimize().
|
protected |
search history (number of inner iterations)
Referenced by getHistoryOfInnerIterationNumbers(), and optimize().
|
protected |
barrier start value
Referenced by getBarrierStartValue(), optimize(), and setBarrierStartValue().
|
protected |
barrier decrease factor
Referenced by getBarrierDecreaseFactor(), optimize(), and setBarrierDecreaseFactor().
|
protected |
tolerance
Referenced by getTolerance(), optimize(), and setTolerance().
|
protected |
search history (inner iterations)
Referenced by getHistoryOfInnerIterationPoints(), and optimize().