Pattern search methods are a class of direct search optimizers that have recently received a lot of attention because of new convergence proofs that guarantee weak first order stationary point convergence [DenTor94,Tor89,Tor97,Tor91].
The GPSOpt class provides a generic framework for defining generalized pattern search algorithms. This class implements the framework used by Torczon [Tor97] to define generalized pattern search methods. The class PatternSearch provides a specific implementation of several types of pattern search methods that perform a rather local search about the best current iterate. This includes randomized variants of these methods, which randomize the order of the steps taken in the deterministic algorithm; these methods have the same convergence properties as their deterministic counterparts.
The PatternSearch 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.
For each of these pattern search algorithms, a single expansion and contraction factor is used. The default expansion factor is 2.0 and the default contraction factor is 0.5. None of these methods explicitly maintains a pattern matrix, so the UpdateMatrix
method is not defined. The variable em_case
is used to select amongst the following pattern search algorithms:
- Standard PS: (em_case=0) This PS method checks for improvement in each dimension iteratively, examining dimensions from
to
in order. If an improvement is detected, this algorithm keeps that improvement and continues checking the remaining dimensions, using the improved point as the starting point from which new offsets are examined. The order of the dimensions may be shuffled. This is the default PS method. - Best Offset First: (em_case=1) This PS method checks for improvement in each of the
possible offsets iteratively. This algorithm terminates as soon as any improving point is found. In PatternSearch each dimension from
to
is examined in order. The order of the offsets may be shuffled. - Best Dimension First: (em_case=2) This PS method checks for improvement in each dimension iteratively, examining dimensions from
to
in order. This algorithm terminates as soon as any improving point is found. The order of the dimensions may be shuffled. - Asynchronous: (em_case=3) This PS method spans off asynchronous function evaluations that compute all
offsets simultaneously. It then synchronizes the calculation of these offests and keeps the offset which provides the best improvement. - Biased Best Dimension First: (em_case=4) This PS method uses a bias to guide the algorithm in a direction where improving points have previously been found. If improving points are not found with the bias, the bias is halved and then zeroed. In each of these phases, the algorithm acts like the Best Dimension First method. The order of the dimensions may be shuffled.
The code in GPSOpt is rather stable. The code defining the various pattern search methods continues to be refined.
\subsection psparams Solver Parameters