Derivative-free optimization is a discipline in
mathematical optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
that does not use
derivative
In mathematics, the derivative of a function of a real variable measures the sensitivity to change of the function value (output value) with respect to a change in its argument (input value). Derivatives are a fundamental tool of calculus. ...
information in the classical sense to find optimal solutions: Sometimes information about the derivative of the objective function ''f'' is unavailable, unreliable or impractical to obtain. For example, ''f'' might be non-smooth, or time-consuming to evaluate, or in some way noisy, so that methods that rely on derivatives or approximate them via
finite difference
A finite difference is a mathematical expression of the form . If a finite difference is divided by , one gets a difference quotient. The approximation of derivatives by finite differences plays a central role in finite difference methods for t ...
s are of little use. The problem to find optimal points in such situations is referred to as derivative-free optimization, algorithms that do not use derivatives or finite differences are called derivative-free algorithms.
Introduction
The problem to be solved is to numerically optimize an objective function
for some
set (usually
), i.e. find
such that without loss of generality
for all
.
When applicable, a common approach is to iteratively improve a parameter guess by local hill-climbing in the objective function landscape. Derivative-based algorithms use derivative information of
to find a good search direction, since for example the gradient gives the direction of steepest ascent. Derivative-based optimization is efficient at finding local optima for continuous-domain smooth single-modal problems. However, they can have problems when e.g.
is disconnected, or (mixed-)integer, or when
is expensive to evaluate, or is non-smooth, or noisy, so that (numeric approximations of) derivatives do not provide useful information. A slightly different problem is when
is multi-modal, in which case local derivative-based methods only give local optima, but might miss the global one.
In derivative-free optimization, various methods are employed to address these challenges using only function values of
, but no derivatives. Some of these methods can be proved to discover optima, but some are rather metaheuristic since the problems are in general more difficult to solve compared to
convex optimization. For these, the ambition is rather to efficiently find "good" parameter values which can be near-optimal given enough resources, but optimality guarantees can typically not be given. One should keep in mind that the challenges are diverse, so that one can usually not use one algorithm for all kinds of problems.
Algorithms
Notable derivative-free optimization algorithms include:
*
Bayesian optimization
*
Coordinate descent and
adaptive coordinate descent
*
Cuckoo search
Beetle Antennae Search (BAS)*
DONE
Done may refer to:
Places
* Done, Maharashtra, a village in India
People with the name
* Done P. Dabale (1949–2006), Nigerian philanthropist, theologian, farmer, nurse, educator and author
* Cheryl Done (born 1970), British bobsledder
* Cy ...
*
Evolution strategies,
Natural evolution strategies (
CMA-ES, xNES, SNES)
*
Genetic algorithm
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to gen ...
s
*
MCS algorithm
*
Nelder-Mead method
*
Particle swarm optimization
*
Pattern search
*
Random search (including
Luus–Jaakola In computational engineering, Luus–Jaakola (LJ) denotes a heuristic for global optimization of a real-valued function. In engineering use, LJ is not an algorithm that terminates with an optimal solution; nor is it an iterative method that gen ...
)
*
Simulated annealing
*
Stochastic optimization
*
Subgradient method Subgradient methods are iterative methods for solving convex minimization problems. Originally developed by Naum Z. Shor and others in the 1960s and 1970s, subgradient methods are convergent when applied even to a non-differentiable objective funct ...
See also
*
Mathematical optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
References
External links
*{{cite journal , last=Audet , first=Charles , last2=Kokkolaras , first2=Michael , year=2016 , title=Blackbox and derivative-free optimization: theory, algorithms and applications , journal=Optimization and Engineering , volume=17 , pages=1–2 , doi=10.1007/s11081-016-9307-4 , doi-access=free
Optimization algorithms and methods