Local Derivative-Free Optimization
Derivative-free optimizers are optimizers that can be used even in cases where no derivatives or automatic differentiation is specified. While they tend to be less efficient than derivative-based optimizers, they can be easily applied to cases where defining derivatives is difficult.
Recommended Methods
NLOpt COBYLA
Optim.jl
Optim.NelderMead
: Nelder-Mead optimizersolve(problem, NelderMead(parameters, initial_simplex))
parameters = AdaptiveParameters()
orparameters = FixedParameters()
initial_simplex = AffineSimplexer()
- defaults to:
parameters = AdaptiveParameters(), initial_simplex = AffineSimplexer()
Optim.SimulatedAnnealing
: Simulated Annealingsolve(problem, SimulatedAnnealing(neighbor, T, p))
neighbor
is a mutating function of the current and proposedx
T
is a function of the current iteration that returns a temperaturep
is a function of the current temperature- defaults to:
neighbor = default_neighbor!, T = default_temperature, p = kirkpatrick