NMSearch class
Constructors and destructor
Other public methods
Accessor and mutator methods
protected methods
Protected fields
Other initialization methods
Search method
Accessors and Mutators
NMSearch class. A simplex search using the method described by Nelder and Mead.
This constructor takes ten input parameters. The arguments dim,
startPoint, startStep, stopStep, objective, and input_obj
are sent to one of the SimplexSearch constructors for assignment;
NewSigma, NewAlpha, NewBeta, and NewGamma are assigned in this
constructor.Other fields are set by default as in
SHHSearch(long dim, Vector<double> &startPoint).
NMSearch(long dim, Vector<double> &startPoint, double sig, Vector<double> &lengths)
startpoint - the start point for the search. This will
be initialized as the minPoint.
sig - the user-defined value for sigma, the shrinking
coefficient.
lengths - reference to a Vector of doubles representing
the desired edgelengths of the simplex. NMSearch(long dim, Vector<double> &startPoint, double NewSigma, double NewAlpha, double NewBeta, double NewGamma)
startpoint - the start point for the search. This will
be initialized as the minPoint.
NewSigma - the user-defined value for sigma, the shrinking
coefficient.
NewAlpha - the user-defined value for alpha, the reflection
coefficient.
NewBeta - the user-defined value for beta, the contraction
coefficient.
NewGamma - the user-defined value for gamma, the expansion
coefficient. NMSearch(const NMSearch& Original)
NMSearch(long dim, Vector<double> &startPoint, double NewSigma, double NewAlpha, double NewBeta, double NewGamma, double startStep, double stopStep, void (*objective)(long vars, Vector<double> &x, double & func, bool& flag, void* an_obj), void * input_obj)
startPoint - a Vector of doubles, the starting point for the
search.
NewSigma - the user-defined value for sigma, the shrinking
coefficient.
NewAlpha - the user-defined value for alpha, the reflection
coefficient.
NewBeta - the user-defined value for beta, the contraction
coefficient.
NewGamma - the user-defined value for gamma, the expansion
coefficient.
startStep - will be used as the edge length of a fixed-length
right simplex.
stopStep - the stopping step length for the search
objective - a pointer to the function to be minimized
input_obj - used to send additional data as needed--will
normally be set to NULL.
functionCalls is reset to 0 and ALL FUNCTION VALUES ARE CALCULATED.
void ReadInFile(istream& fp)
void ChooseRightSimplex()
void ChooseRegularSimplex()
void BeginSearch()
void SetAlpha(double newAlpha)
double GetAlpha()
void SetBeta(double newBeta)
double GetBeta()
void SetGamma(double newGamma)
double GetGamma()
double GetDelta()
minPoint points to a point that will be the "origin" of the
simplex points (it will be a part of the simplex)
starting_edgeLengths[0] is the length of each edge of the "triangle." functionCalls is reset to 0 and ALL FUNCTION VALUES ARE CALCULATED.
starting_edgeLengths points to an array of n doubles, where n is the
dimension of the given search. x_1 will then be located
a distance of edgeLengths[0] away from the basepoint along the
the x_1 axis, x_2 is edgeLengths[1] away on the x_2 axis, etc. functionCalls is reset to 0 and ALL FUNCTION VALUES ARE CALCULATED.
void InitRegSimplex()
void InitRightSimplex()
void InitGeneralSimplex(const Matrix<double> *plex)
bool Stop()
void CalculateNMDelta()
void CopySearch(const NMSearch & Original)
void FindMinMaxIndices()
long SecondHighestPtIndex()
void FindCentroid()
void FindReflectionPt()
void FindExpansionPt()
void FindContractionPt()
double alpha
double beta
double gamma
long maxIndex
Vector <double> * reflectionPt
double reflectionPtValue
Vector <double> * expansionPt
double expansionPtValue
Vector <double> * contractionPt
double contractionPtValue
double maxPrimePtValue
long maxPrimePtId
double NMdelta
alphabetic index hierarchy of classes
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de