PatternSearch Class Reference

Common Pattern Search methods defined within the framework of Generalized Pattern Search. More...

#include <PatternSearch.h>

Inheritance diagram for PatternSearch::

GPSOpt RealOptimizer BaseOptimizer CommonIO List of all members.

Configuration Controls

void set_exploratory_move (const char *str)
 Set the type of exploratory moves to be called.

void set_pattern_basis (const char *str)
 Set the type of basis used for the pattern steps.

int randomize
int reverse_flag
 If true, consider -2*Delta if a Delta step fails. More...

int num_augmented_trials
 The number of additional trial points that may be considered.

int trunc_fps
 If true, then truncate "fast_adaptive" to only allow one iteration where you shrink after one feval.

int fps_batch
int extended_stopping_rule

Configuration Controls

virtual void UpdateDelta (int flag)
 This method expands or contracts \Ref{Delta} based on the prior success of \Ref{ExploratoryMoves} (as indicated by \Ref{flag}).

void UpdateMatrix (int)
 A generic hook to the update of the pattern matrix. More...

int Lambda_ndx ()
int ncore_trials
int ntrials
int em_case
int btype

Iteration Controls

void virt_debug_io (ostream &os, const int finishing, const int io_level)
 Print debugging information for subclasses of \Ref{BaseOptimizer}. More...

void reflect_pattern (const int id)
void generate_trial (int id, RealVector &x, RealVector &trial, REAL scale, int &feasible)
int ExploratoryMoves (RealVector &x, REAL *fret, RealVector &tmpx)
 The exploratory moves algorithm samples a finite number of moves that are offsets from the current iterate. More...

int EM_standard (RealVector &x, REAL *fret, RealVector &tmpx)
int EM_best_first (RealVector &x, REAL *fret, RealVector &tmpx)
int EM_global (RealVector &x, REAL *fret, RealVector &tmpx)
int EM_biased_best_first (RealVector &x, REAL *fret, RealVector &tmpx)
int EM_fast_adaptive (RealVector &x, REAL *fret, RealVector &tmpx)
int EM_test (RealVector &x, REAL *fret, RealVector &tmpx)
RealVector bias
IntVector ndx
RealVector Ans
RealVector tvec
BasicArray< RealVectorpattern

Public Methods

General Information
 PatternSearch ()
virtual ~PatternSearch ()
void reset ()
 Setup the Delta and Sigma scale information.

int write (ostream &os)
 Print information about the optimizer.


Protected Attributes

PatternSearch:: { ... }  FA
 Control data for the fast_adaptive pattern search.

int ntrial_points
int nfeasible_points
int first
int succ_flag
REAL rho
REAL rho_prev
int ctr
int extended_ctr

Detailed Description

Common Pattern Search methods defined within the framework of Generalized Pattern Search.

This class defines a variety of pattern search algorithms. Although these algorithms could have been defined with seperate classes, it has proved easier to maintain these algorithms within a single class, using a switch to select which algorithm is executed. See \Ref{Pattern Search Methods} for a complete description of these methods.

Similarly, this code provides options for the choice of several standard bases. The standard maximal basis includes the 2n coordinate offsets, the standard minimal basis include n+1 offsets which represents corners of an n-dimensional polyhderon. Additionally, the user may specify a number of additional search directions which are generated randomly.


Member Function Documentation

int PatternSearch::ExploratoryMoves RealVector   x,
REAL   fret,
RealVector   tmpx
[protected, virtual]
 

The exploratory moves algorithm samples a finite number of moves that are offsets from the current iterate.

The set of these offsets constitutes the {pattern matrix} for the pattern search method. If the method is successful, \Ref{tmpx} contains a solution with a lower value.

Reimplemented from GPSOpt.

void PatternSearch::UpdateMatrix int    flag [inline, protected, virtual]
 

A generic hook to the update of the pattern matrix.

Generalized pattern search methods allow the pattern matrix to vary in a slightly restricted fashion. The variable \Ref{flag} indicates whether the last call to \Ref{ExploratoryMoves} was successful.

Reimplemented from GPSOpt.

void PatternSearch::virt_debug_io ostream &    os,
const int    finishing,
const int    io_level
[protected, virtual]
 

Print debugging information for subclasses of \Ref{BaseOptimizer}.

Parameters:
os  Output stream.
finishing  If true, then the optimizer is finishing up.

Reimplemented from GPSOpt.


Member Data Documentation

int PatternSearch::reverse_flag
 

If true, consider -2*Delta if a Delta step fails.

This is only used by the "best_first" method.


The documentation for this class was generated from the following file: