MCS algorithm
![]() | This article provides insufficient context for those unfamiliar with the subject.(October 2009) |
Multilevel Coordinate Search (MCS) is an algorithm for bound constrained global optimization using function values only.
To do so, the n-dimensional search space is represented by a set of non-intersecting hypercubes (boxes). The boxes are then iteratively split along an axis plane according to the value of the function at a representative point of the box and the box's size. These two splitting criteria combine to form a global search by splitting large boxes and a local search by splitting areas for which the function value is good.
Additionally a local search combining a quadratic interpolant of the function and line searches can be used to augment performance of the algorithm.
Convergence
The algorithm is guaranteed to converge to the global minimum in the long run (i.e. when the number of function evaluations and the search depth are arbitrarily large) if the objective function is continuous in the neighbourhood of the global minimizer.
Implementation
MCS can be implemented in an efficient recursive way with the aid of trees. With this approach the amount of memory required is independent of problem dimensionality since the sampling points are not stored explicitly. Instead, just a single coordinate of each sample is saved and the remaining coordinates can be recovered by tracing the history of a box back to the root (initial box).
External links