![]() |
SG++-Doxygen-Documentation
|
Zadeh's fuzzy extension principle by the vertex method, where the optimization problems are solved by simply taking the best corners of the confidence intervals. More...
#include <FuzzyExtensionPrincipleViaVertexMethod.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 | |
std::vector< size_t > | powersOfTwo |
precomputed storage for the powers of two | |
base::DataVector | xTmp |
temporary vector used in optimizeForSingleAlphaLevel | |
![]() | |
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 the vertex method, where the optimization problems are solved by simply taking the best corners of the confidence intervals.
|
explicit |
Constructor.
f | function through which to propagate the uncertainties |
numberOfAlphaSegments | number of \(\alpha\) segments |
sgpp::optimization::FuzzyExtensionPrincipleViaVertexMethod::FuzzyExtensionPrincipleViaVertexMethod | ( | const FuzzyExtensionPrincipleViaVertexMethod & | other | ) |
Copy constructor.
other | other fuzzy extension principle |
|
override |
Destructor.
|
overridevirtual |
[out] | clone | pointer to cloned object |
Reimplemented from sgpp::optimization::FuzzyExtensionPrincipleViaOptimization.
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 |
Reimplemented from sgpp::optimization::FuzzyExtensionPrincipleViaOptimization.
References sgpp::optimization::FuzzyExtensionPrinciple::f, sgpp::optimization::FuzzyExtensionPrinciple::optimizationDomainsLowerBounds, sgpp::optimization::FuzzyExtensionPrinciple::optimizationDomainsUpperBounds, powersOfTwo, and xTmp.
|
overrideprotectedvirtual |
Custom preparation method that is called before the parallelized optimizeForSingleAlphaLevel calls.
Reimplemented from sgpp::optimization::FuzzyExtensionPrincipleViaOptimization.
References sgpp::optimization::FuzzyExtensionPrinciple::f, powersOfTwo, and xTmp.
|
protected |
precomputed storage for the powers of two
Referenced by optimizeForSingleAlphaLevel(), and prepareApply().
|
protected |
temporary vector used in optimizeForSingleAlphaLevel
Referenced by optimizeForSingleAlphaLevel(), and prepareApply().