/* NLessSearch.h 
 * header file for a regular simplex search based on 
 * the PatternSearch class
 * The NLessSearch searches about a regular simplex (i.e. 
 * minimal positive basis) until finding improvement in the
 * objective function value.  Then the search relocates to the
 * improving point and begins again.
 * Liz Dolan, The College of William & Mary, 1999
 *
 *                                                                 
 *  The author of this software is Elizabeth  D. Dolan.                     
 *  Permission to use, copy, modify, and distribute this software  
 *  for any purpose without fee is hereby granted, provided that   
 *  this entire notice is included in all copies of any software   
 *  which is or includes a copy or modification of this software   
 *  and in all copies of the supporting documentation for such     
 *  software.  THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT    
 *  ANY EXPRESS OR IMPLIED WARRANTY.  IN PARTICULAR, THE AUTHOR    
 *  OFFERS NO REPRESENTATION OR WARRANTY OF ANY KIND                   
 *  CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR ITS    
 *  FITNESS FOR ANY PARTICULAR PURPOSE.                            
 */                                                                 

#ifndef _NLessSearch_
#define _NLessSearch_

#include "PatternSearch.h"


class NLessSearch: public PatternSearch
{

  public :
  NLessSearch(int numberOfVariables);
  //constructor requires only the dimensionality of the search space
  ~NLessSearch();

  void ExploratoryMoves();

  private:
  void CreatePattern(double);
  void UpdatePattern();
  void SizePattern(int dimens, Matrix<double> & pat, double size);

};//class NLessSearch


#endif









