QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Criteria to end optimization process: More...
#include <endcriteria.hpp>
Public Types | |
enum | Type { None , MaxIterations , StationaryPoint , StationaryFunctionValue , StationaryFunctionAccuracy , ZeroGradientNorm , Unknown } |
Public Member Functions | |
EndCriteria (Size maxIterations, Size maxStationaryStateIterations, Real rootEpsilon, Real functionEpsilon, Real gradientNormEpsilon) | |
Initialization constructor. More... | |
Size | maxIterations () const |
Size | maxStationaryStateIterations () const |
Real | rootEpsilon () const |
Real | functionEpsilon () const |
Real | gradientNormEpsilon () const |
bool | operator() (Size iteration, Size &statState, bool positiveOptimization, Real fold, Real normgold, Real fnew, Real normgnew, EndCriteria::Type &ecType) const |
bool | checkMaxIterations (Size iteration, EndCriteria::Type &ecType) const |
bool | checkStationaryPoint (Real xOld, Real xNew, Size &statStateIterations, EndCriteria::Type &ecType) const |
bool | checkStationaryFunctionValue (Real fxOld, Real fxNew, Size &statStateIterations, EndCriteria::Type &ecType) const |
bool | checkStationaryFunctionAccuracy (Real f, bool positiveOptimization, EndCriteria::Type &ecType) const |
bool | checkZeroGradientNorm (Real gNorm, EndCriteria::Type &ecType) const |
Protected Attributes | |
Size | maxIterations_ |
Maximum number of iterations. More... | |
Size | maxStationaryStateIterations_ |
Maximun number of iterations in stationary state. More... | |
Real | rootEpsilon_ |
root, function and gradient epsilons More... | |
Real | functionEpsilon_ |
Real | gradientNormEpsilon_ |
Criteria to end optimization process:
Definition at line 40 of file endcriteria.hpp.
enum Type |
Enumerator | |
---|---|
None | |
MaxIterations | |
StationaryPoint | |
StationaryFunctionValue | |
StationaryFunctionAccuracy | |
ZeroGradientNorm | |
Unknown |
Definition at line 42 of file endcriteria.hpp.
EndCriteria | ( | Size | maxIterations, |
Size | maxStationaryStateIterations, | ||
Real | rootEpsilon, | ||
Real | functionEpsilon, | ||
Real | gradientNormEpsilon | ||
) |
Initialization constructor.
Definition at line 29 of file endcriteria.cpp.
Size maxIterations | ( | ) | const |
Size maxStationaryStateIterations | ( | ) | const |
Real rootEpsilon | ( | ) | const |
Real functionEpsilon | ( | ) | const |
Real gradientNormEpsilon | ( | ) | const |
Definition at line 157 of file endcriteria.cpp.
bool operator() | ( | Size | iteration, |
Size & | statState, | ||
bool | positiveOptimization, | ||
Real | fold, | ||
Real | normgold, | ||
Real | fnew, | ||
Real | normgnew, | ||
EndCriteria::Type & | ecType | ||
) | const |
Test if the number of iterations is not too big and if a minimum point is not reached
Definition at line 125 of file endcriteria.cpp.
bool checkMaxIterations | ( | Size | iteration, |
EndCriteria::Type & | ecType | ||
) | const |
Test if the number of iteration is below MaxIterations
Definition at line 56 of file endcriteria.cpp.
bool checkStationaryPoint | ( | Real | xOld, |
Real | xNew, | ||
Size & | statStateIterations, | ||
EndCriteria::Type & | ecType | ||
) | const |
Test if the root variation is below rootEpsilon
Definition at line 64 of file endcriteria.cpp.
bool checkStationaryFunctionValue | ( | Real | fxOld, |
Real | fxNew, | ||
Size & | statStateIterations, | ||
EndCriteria::Type & | ecType | ||
) | const |
Test if the function variation is below functionEpsilon
Definition at line 79 of file endcriteria.cpp.
bool checkStationaryFunctionAccuracy | ( | Real | f, |
bool | positiveOptimization, | ||
EndCriteria::Type & | ecType | ||
) | const |
Test if the function value is below functionEpsilon
Definition at line 95 of file endcriteria.cpp.
bool checkZeroGradientNorm | ( | Real | gNorm, |
EndCriteria::Type & | ecType | ||
) | const |
Test if the gradient norm variation is below gradientNormEpsilon
Test if the gradient norm value is below gradientNormEpsilon
Definition at line 117 of file endcriteria.cpp.
|
protected |
Maximum number of iterations.
Definition at line 100 of file endcriteria.hpp.
|
mutableprotected |
Maximun number of iterations in stationary state.
Definition at line 102 of file endcriteria.hpp.
|
protected |
root, function and gradient epsilons
Definition at line 104 of file endcriteria.hpp.
|
protected |
Definition at line 104 of file endcriteria.hpp.
|
protected |
Definition at line 104 of file endcriteria.hpp.