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:
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.
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.
to
in order. This algorithm terminates as soon as any improving point is found. The order of the dimensions may be shuffled.
offsets simultaneously. It then synchronizes the calculation of these offests and keeps the offset which provides the best improvement.\subsection psparams Solver Parameters