Stochastic tunneling

In numerical analysis, stochastic tunneling (STUN) is an approach to global optimization based on the Monte Carlo method-sampling of the function to be objective minimized in which the function is nonlinearly transformed to allow for easier tunneling among regions containing function minima. Easier tunneling allows for faster exploration of sample space and faster convergence to a good solution.

Idea


Monte Carlo method-based optimization techniques sample the objective function by randomly "hopping" from the current solution vector to another with a difference in the function value of $$\Delta E$$. The acceptance probability of such a trial jump is in most cases chosen to be $$ \min\left(1;\exp\left(-\beta\cdot\Delta E\right)\right) $$ (Metropolis criterion) with an appropriate parameter $$\beta$$.

The general idea of STUN is to circumvent the slow dynamics of ill-shaped energy functions that one encounters for example in spin glasses by tunneling through such barriers.

This goal is achieved by Monte Carlo sampling of a transformed function that lacks this slow dynamics. In the "standard-form" the transformation reads $$f_{STUN}:=1-\exp\left( -\gamma\cdot\left( E(x)-E_o\right) \right)$$ where $$E_o$$ is the lowest function value found so far. This transformation preserves the loci of the minima.

$$f_{STUN}$$ is then used in place of $$E$$ in the original algorithm giving a new acceptance probability of $$ \min\left(1;\exp\left(-\beta\cdot\Delta f_{STUN}\right)\right) $$

The effect of such a transformation is shown in the graph.

Dynamically adaptive stochastic tunneling
A variation on always tunneling is to do so only when trapped at a local minimum. $$\gamma$$ is then adjusted to tunnel out of the minimum and pursue a more globally optimum solution. Detrended fluctuation analysis is the recommended way of determining if trapped at a local minimum.

Other approaches

 * Simulated annealing
 * Parallel tempering
 * Genetic algorithm
 * Differential evolution