![]() |
SG++-Doxygen-Documentation
|
Zadeh's fuzzy extension principle by the transformation method, where the optimization problems are solved by sampling the optimization domains and taking the best points. More...
#include <FuzzyExtensionPrincipleViaTransformation.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< std::vector< base::DataVector > > | C |
sampling points | |
std::vector< size_t > | gammaSize |
index scaling vector | |
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 transformation method, where the optimization problems are solved by sampling the optimization domains and taking the best points.
The transformation method produces inaccurate results if the fuzzy input intervals are not fuzzy numbers, i.e., if the confidence intervals for \(\alpha = 1\) contain more than one point.
|
explicit |
Constructor.
f | function through which to propagate the uncertainties |
numberOfAlphaSegments | number of \(\alpha\) segments |
sgpp::optimization::FuzzyExtensionPrincipleViaTransformation::FuzzyExtensionPrincipleViaTransformation | ( | const FuzzyExtensionPrincipleViaTransformation & | 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 C, sgpp::optimization::FuzzyExtensionPrinciple::f, gammaSize, sgpp::optimization::FuzzyExtensionPrinciple::m, and xTmp.
|
overrideprotectedvirtual |
Custom preparation method that is called before the parallelized optimizeForSingleAlphaLevel calls.
Reimplemented from sgpp::optimization::FuzzyExtensionPrincipleViaOptimization.
References C, sgpp::optimization::FuzzyExtensionPrinciple::f, gammaSize, sgpp::optimization::FuzzyExtensionPrinciple::m, sgpp::optimization::FuzzyExtensionPrinciple::optimizationDomainsLowerBounds, sgpp::optimization::FuzzyExtensionPrinciple::optimizationDomainsUpperBounds, and xTmp.
|
protected |
sampling points
Referenced by python.tools.Matrix::ApplyMatrix(), optimizeForSingleAlphaLevel(), and prepareApply().
|
protected |
index scaling vector
Referenced by optimizeForSingleAlphaLevel(), and prepareApply().
|
protected |
temporary vector used in optimizeForSingleAlphaLevel
Referenced by optimizeForSingleAlphaLevel(), and prepareApply().