![]() |
SG++-Doxygen-Documentation
|
Zadeh's fuzzy extension principle by solving optimization problems for each \(\alpha\) level. More...
#include <FuzzyExtensionPrincipleViaOptimization.hpp>
Protected Member Functions | |
void | optimizeForSingleAlphaLevel (size_t j, base::DataVector &minimumPoint, double &minimumValue, base::DataVector &maximumPoint, double &maximumValue) override |
Solve the minimization/maximization problem for a single \(\alpha\) level. | |
void | prepareApply () override |
Custom preparation method that is called before the parallelized optimizeForSingleAlphaLevel calls. | |
Protected Attributes | |
optimizer::MultiStart | defaultOptimizer |
default optimization algorithm | |
std::unique_ptr< base::ScalarFunctionGradient > | fGradient |
objective function gradient | |
std::unique_ptr< base::ScalarFunctionGradient > | fGradientScaled |
scaled objective gradient (confidence interval to unit hyper-cube) | |
std::unique_ptr< base::ScalarFunctionHessian > | fHessian |
objective function Hessian | |
std::unique_ptr< base::ScalarFunctionHessian > | fHessianScaled |
scaled objective Hessian (confidence interval to unit hyper-cube) | |
std::unique_ptr< base::ScalarFunction > | fScaled |
scaled objective function (confidence interval to unit hyper-cube) | |
std::unique_ptr< optimizer::UnconstrainedOptimizer > | optimizer |
optimization algorithm | |
![]() | |
base::DataVector | alphaLevels |
number of \(\alpha\) segments | |
std::unique_ptr< base::ScalarFunction > | f |
function through which to propagate the uncertainties | |
size_t | m |
number of \(\alpha\) segments | |
std::vector< base::DataVector > | maximumPoints |
vector of maximum points (after apply call) | |
base::DataVector | maximumValues |
vector of maximum function values (after apply call) | |
std::vector< base::DataVector > | minimumPoints |
vector of minimum points (after apply call) | |
base::DataVector | minimumValues |
vector of minimum function values (after apply call) | |
std::vector< base::DataVector > | optimizationDomainsLowerBounds |
vector of lower bounds of input confidence intervals (after apply call) | |
std::vector< base::DataVector > | optimizationDomainsUpperBounds |
vector of upper bounds of input confidence intervals (after apply call) | |
Additional Inherited Members | |
![]() | |
static const size_t | DEFAULT_NUMBER_OF_ALPHA_SEGMENTS = 10 |
default number of \(\alpha\) segments | |
Zadeh's fuzzy extension principle by solving optimization problems for each \(\alpha\) level.
|
explicit |
Constructor.
By default, MultiStart is used as optimization algorithm.
f | function through which to propagate the uncertainties |
numberOfAlphaSegments | number of \(\alpha\) segments |
References sgpp::optimization::optimizer::MultiStart::clone(), defaultOptimizer, and optimizer.
|
explicit |
Constructor with custom optimization algorithm.
optimizer | optimization algorithm and function through which to propagate the uncertainties |
numberOfAlphaSegments | number of \(\alpha\) segments |
References sgpp::optimization::FuzzyExtensionPrinciple::clone(), fGradient, fHessian, and optimizer.
sgpp::optimization::FuzzyExtensionPrincipleViaOptimization::FuzzyExtensionPrincipleViaOptimization | ( | const FuzzyExtensionPrincipleViaOptimization & | other | ) |
Copy constructor.
other | other fuzzy extension principle |
References fGradient, fGradientScaled, fHessian, fHessianScaled, fScaled, and optimizer.
|
override |
Destructor.
|
overridevirtual |
[out] | clone | pointer to cloned object |
Implements sgpp::optimization::FuzzyExtensionPrinciple.
Reimplemented in sgpp::optimization::FuzzyExtensionPrincipleViaTransformation, and sgpp::optimization::FuzzyExtensionPrincipleViaVertexMethod.
References clone().
Referenced by clone().
|
overrideprotectedvirtual |
Solve the minimization/maximization problem for a single \(\alpha\) level.
[in] | j | index of \(\alpha\) level |
[out] | minimumPoint | minimum point |
[out] | minimumValue | minimum function value |
[out] | maximumPoint | maximum point |
[out] | maximumValue | maximum function value |
Implements sgpp::optimization::FuzzyExtensionPrinciple.
Reimplemented in sgpp::optimization::FuzzyExtensionPrincipleViaTransformation, and sgpp::optimization::FuzzyExtensionPrincipleViaVertexMethod.
References sgpp::optimization::FuzzyExtensionPrinciple::f, fGradientScaled, fHessianScaled, fScaled, sgpp::optimization::FuzzyExtensionPrinciple::m, sgpp::optimization::FuzzyExtensionPrinciple::maximumPoints, sgpp::optimization::FuzzyExtensionPrinciple::minimumPoints, sgpp::optimization::FuzzyExtensionPrinciple::optimizationDomainsLowerBounds, sgpp::optimization::FuzzyExtensionPrinciple::optimizationDomainsUpperBounds, optimizer, sgpp::base::ScaledScalarFunction::setLowerBounds(), sgpp::base::ScaledScalarFunctionGradient::setLowerBounds(), sgpp::base::ScaledScalarFunctionHessian::setLowerBounds(), sgpp::base::ScaledScalarFunction::setUpperBounds(), sgpp::base::ScaledScalarFunctionGradient::setUpperBounds(), sgpp::base::ScaledScalarFunctionHessian::setUpperBounds(), sgpp::base::ScaledScalarFunction::setValueFactor(), sgpp::base::ScaledScalarFunctionGradient::setValueFactor(), and sgpp::base::ScaledScalarFunctionHessian::setValueFactor().
|
overrideprotectedvirtual |
Custom preparation method that is called before the parallelized optimizeForSingleAlphaLevel calls.
Reimplemented from sgpp::optimization::FuzzyExtensionPrinciple.
Reimplemented in sgpp::optimization::FuzzyExtensionPrincipleViaTransformation, and sgpp::optimization::FuzzyExtensionPrincipleViaVertexMethod.
References sgpp::optimization::FuzzyExtensionPrinciple::f, fGradient, fGradientScaled, fHessian, fHessianScaled, and fScaled.
|
protected |
default optimization algorithm
Referenced by FuzzyExtensionPrincipleViaOptimization().
|
protected |
objective function gradient
Referenced by FuzzyExtensionPrincipleViaOptimization(), FuzzyExtensionPrincipleViaOptimization(), and prepareApply().
|
protected |
scaled objective gradient (confidence interval to unit hyper-cube)
Referenced by FuzzyExtensionPrincipleViaOptimization(), optimizeForSingleAlphaLevel(), and prepareApply().
|
protected |
objective function Hessian
Referenced by FuzzyExtensionPrincipleViaOptimization(), FuzzyExtensionPrincipleViaOptimization(), and prepareApply().
|
protected |
scaled objective Hessian (confidence interval to unit hyper-cube)
Referenced by FuzzyExtensionPrincipleViaOptimization(), optimizeForSingleAlphaLevel(), and prepareApply().
|
protected |
scaled objective function (confidence interval to unit hyper-cube)
Referenced by FuzzyExtensionPrincipleViaOptimization(), optimizeForSingleAlphaLevel(), and prepareApply().
|
protected |
optimization algorithm
Referenced by FuzzyExtensionPrincipleViaOptimization(), FuzzyExtensionPrincipleViaOptimization(), FuzzyExtensionPrincipleViaOptimization(), and optimizeForSingleAlphaLevel().