 class  NMSearch : public SimplexSearch
  class  NMSearch : public SimplexSearch NMSearch class
 constructors and destructors
  constructors and destructors  
  NMSearch(long dim, Vector<double> &startPoint )
  NMSearch(long dim, Vector<double> &startPoint ) 
  NMSearch(long dim, Vector<double> &startPoint, double sig, Vector<double> &lengths)
  NMSearch(long dim, Vector<double> &startPoint, double sig, Vector<double> &lengths) 
  NMSearch(long dim, Vector<double> &startPoint, double NewSigma, double NewAlpha, double NewBeta, double NewGamma)
  NMSearch(long dim, Vector<double> &startPoint, double NewSigma, double NewAlpha, double NewBeta, double NewGamma) 
  NMSearch(const NMSearch& Original)
  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)
  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) 
  ~NMSearch()
  ~NMSearch() 
  other public methods
  other public methods  
  NMSearch&  operator= (const NMSearch& A)
 NMSearch&  operator= (const NMSearch& A) 
  void  ReadInFile(istream& fp)
 void  ReadInFile(istream& fp) 
  void  ChooseRightSimplex()
 void  ChooseRightSimplex() 
  void  ChooseRegularSimplex()
 void  ChooseRegularSimplex() 
  void  BeginSearch()
 void  BeginSearch() 
  void  SetAlpha(double newAlpha)
 void  SetAlpha(double newAlpha) 
  double  GetAlpha()
 double  GetAlpha() 
  void  SetBeta(double newBeta)
 void  SetBeta(double newBeta) 
  double  GetBeta()
 double  GetBeta() 
  void  SetGamma(double newGamma)
 void  SetGamma(double newGamma) 
  double  GetGamma()
 double  GetGamma() 
  double  GetDelta()
 double  GetDelta() 
  double  alpha
 double  alpha 
  double  beta
 double  beta 
  double  gamma
 double  gamma 
  long  maxIndex
 long  maxIndex 
  Vector <double> *  reflectionPt
 Vector <double> *  reflectionPt 
  double  reflectionPtValue
 double  reflectionPtValue 
  Vector <double> *  expansionPt
 Vector <double> *  expansionPt 
  double  expansionPtValue
 double  expansionPtValue 
  Vector <double> *  contractionPt
 Vector <double> *  contractionPt 
  double  contractionPtValue
 double  contractionPtValue 
  double  maxPrimePtValue
 double  maxPrimePtValue 
  long  maxPrimePtId
 long  maxPrimePtId 
  double  NMdelta
 double  NMdelta 
  void  ExploratoryMoves()
 void  ExploratoryMoves() 
  void  InitRegSimplex()
 void  InitRegSimplex() 
  void  InitRightSimplex()
 void  InitRightSimplex() 
  void  InitGeneralSimplex(const Matrix<double> *plex)
 void  InitGeneralSimplex(const Matrix<double> *plex) 
  bool  Stop()
 bool  Stop() 
  void  CalculateNMDelta()
 void  CalculateNMDelta() 
  void  CopySearch(const NMSearch & Original)
 void  CopySearch(const NMSearch & Original) 
  void  FindMinMaxIndices()
 void  FindMinMaxIndices() 
  long  SecondHighestPtIndex()
 long  SecondHighestPtIndex() 
  void  FindCentroid()
 void  FindCentroid() 
  void  FindReflectionPt()
 void  FindReflectionPt() 
  void  FindExpansionPt()
 void  FindExpansionPt() 
  void  FindContractionPt()
 void  FindContractionPt() 
  static  const  int  def_Length
 static  const  int  def_Length
Constructors and destructor
 SimplexSearch(long dim, Vector<double> &startPoint)
  SimplexSearch(long dim, Vector<double> &startPoint) 
  SimplexSearch(const SimplexSearch& Original)
  SimplexSearch(const SimplexSearch& Original) 
  SimplexSearch(long dim, Vector<double> &startPoint, double sig)
  SimplexSearch(long dim, Vector<double> &startPoint, double sig) 
  SimplexSearch(long dim, Vector<double> &startPoint, double sig, const Vector<double> &lengths)
  SimplexSearch(long dim, Vector<double> &startPoint, double sig, const Vector<double> &lengths) 
  SimplexSearch(long dim, Vector<double> &startPoint, double startStep, double stopStep, void (*objective)(long vars, Vector<double> &x, double & func, bool& flag, void* an_obj), void * input_obj)
  SimplexSearch(long dim, Vector<double> &startPoint, double startStep, double stopStep, void (*objective)(long vars, Vector<double> &x, double & func, bool& flag, void* an_obj), void * input_obj) 
 Other public methods
 virtual  SimplexSearch&  operator= (const SimplexSearch& A)
 virtual  SimplexSearch&  operator= (const SimplexSearch& A) 
  virtual  void  BeginSearch()
 virtual  void  BeginSearch() 
  virtual  void  ChooseRegularSimplex()
 virtual  void  ChooseRegularSimplex() 
  virtual  void  ChooseRightSimplex()
 virtual  void  ChooseRightSimplex() 
  virtual  void  ReadInFile(istream& fp)
 virtual  void  ReadInFile(istream& fp) 
  virtual  void  PrintDesign() const
 virtual  void  PrintDesign() const  
 Accessor and mutator methods
 long  GetReplacementIndex() const
 long  GetReplacementIndex() const  
  void  SetStartingEdgeLengths(const Vector<double> & lengths)
 void  SetStartingEdgeLengths(const Vector<double> & lengths) 
  void  GetStartingEdgeLengths(Vector<double> & lengths)
 void  GetStartingEdgeLengths(Vector<double> & lengths) 
  void  SetSigma(double newSigma)
 void  SetSigma(double newSigma) 
  double  GetSigma()
 double  GetSigma() 
  void  GetCurrentSimplexValues(double* &simValues) const
 void  GetCurrentSimplexValues(double* &simValues) const  
  int  GetTolHit() const
 int  GetTolHit() const  
  long  GetMinIndex() const
 long  GetMinIndex() const  
  void  GetCentroid(Vector<double>* &troid)
 void  GetCentroid(Vector<double>* &troid) 
  double  GetDelta()
 double  GetDelta() 
  bool  Is_Stop_on_std() const
 bool  Is_Stop_on_std() const  
  void  Set_Stop_on_std()
 void  Set_Stop_on_std() 
  void  Set_Stop_on_delta()
 void  Set_Stop_on_delta() 
 protected methods
 virtual  void  ExploratoryMoves()
 virtual  void  ExploratoryMoves() 
  virtual  void  CalculateFunctionValue(long index)
 virtual  void  CalculateFunctionValue(long index) 
  virtual  bool  Stop()
 virtual  bool  Stop() 
  virtual  void  CopySearch(const SimplexSearch & Original)
 virtual  void  CopySearch(const SimplexSearch & Original) 
  virtual  void  Initialize_Right(Matrix<double> *plex)
 virtual  void  Initialize_Right(Matrix<double> *plex) 
  virtual  void  Initialize_Regular(Matrix<double> *plex)
 virtual  void  Initialize_Regular(Matrix<double> *plex) 
  virtual  void  InitGeneralSimplex(const Matrix<double> *plex)
 virtual  void  InitGeneralSimplex(const Matrix<double> *plex) 
  virtual  void  SetReplacementIndex(long newIndex)
 virtual  void  SetReplacementIndex(long newIndex) 
  virtual  void  FindCentroid()
 virtual  void  FindCentroid() 
  virtual  void  ShrinkSimplex()
 virtual  void  ShrinkSimplex() 
  virtual  void  ReplaceSimplexPoint(long index, const Vector<double>& newPoint)
 virtual  void  ReplaceSimplexPoint(long index, const Vector<double>& newPoint) 
 Protected fields
 double*  simplexValues
 double*  simplexValues 
  Vector <double> *  starting_edgeLengths
 Vector <double> *  starting_edgeLengths 
  double  sigma
 double  sigma 
  long  minIndex
 long  minIndex 
  long  replacementIndex
 long  replacementIndex 
  Vector <double> *  centroid
 Vector <double> *  centroid 
  int  toleranceHit
 int  toleranceHit 
  bool  SimplexSpecified
 bool  SimplexSpecified 
  bool  Stop_on_std
 bool  Stop_on_std 
  double  delta
 double  delta 
  Vector <double> *  scratch
 Vector <double> *  scratch 
  static  const  long  NO_MAX
 static  const  long  NO_MAX
Other initialization methods
 virtual  void  ReadInFile(istream & fp)
 virtual  void  ReadInFile(istream & fp) 
  virtual  void  CleanSlate(long dim, Vector<double> & startPoint)
 virtual  void  CleanSlate(long dim, Vector<double> & startPoint) 
  virtual  void  CleanSlate(long dim, Vector<double> &startPoint, double stopStep, void (*objective)(long vars, Vector<double> &x, double &func, bool &flag, void* an_obj), void * input_obj)
 virtual  void  CleanSlate(long dim, Vector<double> &startPoint, double stopStep, void (*objective)(long vars, Vector<double> &x, double &func, bool &flag, void* an_obj), void * input_obj) 
  void  InitializeDesign(const Matrix<double> *designPtr)
 void  InitializeDesign(const Matrix<double> *designPtr) 
  virtual  void  PrintDesign() const
 virtual  void  PrintDesign() const  
 Search method
 virtual  void  BeginSearch()
 virtual  void  BeginSearch() 
 Accessors and Mutators
 long  GetFunctionCalls() const
 long  GetFunctionCalls() const  
  void  SetFunctionCalls(long newCalls)
 void  SetFunctionCalls(long newCalls) 
  int  GetID() const
 int  GetID() const  
  void  GetMinPoint(Vector<double> & minimum) const
 void  GetMinPoint(Vector<double> & minimum) const  
  void  SetMinPoint(Vector<double> & minimum) const
 void  SetMinPoint(Vector<double> & minimum) const  
  void  GetMinVal(double & value) const
 void  GetMinVal(double & value) const  
  void  SetMinVal(double & value)
 void  SetMinVal(double & value) 
  long  GetDimension() const
 long  GetDimension() const  
  long  GetMaxCalls() const
 long  GetMaxCalls() const  
  void  SetMaxCalls(long calls)
 void  SetMaxCalls(long calls) 
  void  SetMaxCallsExact(long calls)
 void  SetMaxCallsExact(long calls) 
  Matrix <double> *  GetDesign()
 Matrix <double> *  GetDesign() 
  void  CopyDesign(Matrix<double>* &designPtr) const
 void  CopyDesign(Matrix<double>* &designPtr) const  
  double  GetStoppingStepLength() const
 double  GetStoppingStepLength() const  
  void  SetStoppingStepLength(double len)
 void  SetStoppingStepLength(double len) 
  virtual  void  SetExact()
 virtual  void  SetExact() 
  virtual  void  SetInexact()
 virtual  void  SetInexact() 
  virtual  bool  IsExact()
 virtual  bool  IsExact() 
  Matrix <double> *  design
 Matrix <double> *  design
 long  dimension
 long  dimension
 Vector <double> *  minPoint
 Vector <double> *  minPoint
 double  minValue
 double  minValue
 long  functionCalls
 long  functionCalls
 long  maxCalls
 long  maxCalls
 double  stoppingStepLength
 double  stoppingStepLength
 void*  some_object
 void*  some_object
 bool  exact_count
 bool  exact_count
 int  IDnumber
 int  IDnumber
 void  fcnCall(long n, Vector<double> &x, double & f, bool& flag, void * nothing)
 void  fcnCall(long n, Vector<double> &x, double & f, bool& flag, void * nothing)
 bool  BreakOnExact()
 bool  BreakOnExact()
 void (*fcn_name)(long dim, Vector<double> &x, double & function, bool & success, void* an_object)
 void (*fcn_name)(long dim, Vector<double> &x, double & function, bool & success, void* an_object)
NMSearch class. A simplex search using the method described by Nelder and Mead.
 constructors and destructors
  constructors and destructors 
 NMSearch(long dim, Vector<double> &startPoint )
  NMSearch(long dim, Vector<double> &startPoint )
 
 
 
 
 
 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)
  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)
  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(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)
  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.
 other public methods
  other public methods 
 NMSearch&  operator= (const NMSearch& A)
 NMSearch&  operator= (const NMSearch& A)
 functionCalls is reset to 0 and ALL FUNCTION VALUES ARE CALCULATED.
 
 
 
 
 
 
 
 
 
 
 void  ReadInFile(istream& fp)
 void  ReadInFile(istream& fp)
 void  ChooseRightSimplex()
 void  ChooseRightSimplex()
 void  ChooseRegularSimplex()
 void  ChooseRegularSimplex()
 void  BeginSearch()
 void  BeginSearch()
 void  SetAlpha(double newAlpha)
 void  SetAlpha(double newAlpha)
 double  GetAlpha()
 double  GetAlpha()
 void  SetBeta(double newBeta)
 void  SetBeta(double newBeta)
 double  GetBeta()
 double  GetBeta()
 void  SetGamma(double newGamma)
 void  SetGamma(double newGamma)
 double  GetGamma()
 double  GetGamma()
 double  GetDelta()
 double  GetDelta()
 void  ExploratoryMoves()
 void  ExploratoryMoves()
 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  InitRegSimplex()
 void  InitRightSimplex()
 void  InitRightSimplex()
 void  InitGeneralSimplex(const Matrix<double> *plex)
 void  InitGeneralSimplex(const Matrix<double> *plex)
 bool  Stop()
 bool  Stop()
 void  CalculateNMDelta()
 void  CalculateNMDelta()
 void  CopySearch(const NMSearch & Original)
 void  CopySearch(const NMSearch & Original)
 void  FindMinMaxIndices()
 void  FindMinMaxIndices()
 long  SecondHighestPtIndex()
 long  SecondHighestPtIndex()
 void  FindCentroid()
 void  FindCentroid()
 void  FindReflectionPt()
 void  FindReflectionPt()
 void  FindExpansionPt()
 void  FindExpansionPt()
 void  FindContractionPt()
 void  FindContractionPt()
 double  alpha
 double  alpha
 double  beta
 double  beta
 double  gamma
 double  gamma
 long  maxIndex
 long  maxIndex
 Vector <double> *  reflectionPt
 Vector <double> *  reflectionPt
 double  reflectionPtValue
 double  reflectionPtValue
 Vector <double> *  expansionPt
 Vector <double> *  expansionPt
 double  expansionPtValue
 double  expansionPtValue
 Vector <double> *  contractionPt
 Vector <double> *  contractionPt
 double  contractionPtValue
 double  contractionPtValue
 double  maxPrimePtValue
 double  maxPrimePtValue
 long  maxPrimePtId
 long  maxPrimePtId
 double  NMdelta
 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