Stratified Monte Carlo

Overview

The class sMC provides an abstract base class for stratified Monte Carlo sampling (sMC). Stratified Monte Carlo sampling partitions the search domain into a finite number of disjoint regions, each of which is sampled independently. In each iteration sMC samples a point from each region (from a fixed distribution), and the best of these points is reported. sMC reduces to standard Monte Carlo sampling algorithm (MC) in the case where there is a single region, the entire search domain. Ermakov, Zhigyavskii and Kondratovich [ErmZhiKon89a] and Hart [Har94] provide formal descriptions and theoretical analyses of sMC. It is particularly interesting to note that for a given number of samples from the total search domain, the probability that sMC samples an epsilon-close point is greater than or equal to the probability that MC samples an epsilon-close point.

Classes sMCreal and sMCint provide a common interface for performing sMC on $R^n$ and $Z^n$. The method set_lsopt in these classes defines a local search optimizer and specifies the frequency with which local search should be applied to the randomly generated points. When freq = 1.0, this converts sMCreal to stratified multistart local search (see Morris and

Wong [WonMor89,MorWon91] and Hart [Har94]).

Current Status

sMC and sMCreal are stable. sMCint needs to be re-implemented. The termination rules described in Hart [Har94] need to be incorporated into sMC.