# MultistartOptimization

MultistartOptimization.MinimizationProblemType
struct MinimizationProblem{F, T}

Wrapper for a minimization problem.

Fields

• objective

The function to be minimized.

• lower_bounds

Lower bounds (a vector of real numbers).

• upper_bounds

Upper bounds (a vector of real numbers).

MultistartOptimization.LocationValueType
struct LocationValue{T<:(AbstractArray{#s280,1} where #s280<:Real), S<:Real}

A location-value pair.

Fields

• location

Location (a vector of real numbers).

• value

The value of the objective at location.

MultistartOptimization.NLoptLocalMethodType
NLoptLocalMethod(algorithm; options...)


A wrapper for algorithms supported by NLopt. Used to construct the corresponding optimization problem.

See the NLopt documentation for the options. Defaults are changed slightly.

MultistartOptimization.local_minimizationFunction
local_minimization(local_method, minimization_problem, x)


Solve minimization_problem using local_method, starting from x. Return a LocationValue.

MultistartOptimization.TikTakType
TikTak(quasirandom_N; keep_ratio, θ_min, θ_max, θ_pow)


The “TikTak” multistart method, as described in Arnoud, Guvenen, and Kleineberg (2019).

This implements the multistart part, can be called with arbitrary local methods, see multistart_minimization.

Arguments

• quasirandom_N: the number of quasirandom points for the first pass (using a Sobol sequence).

Keyword arguments

• keep_ratio: the fraction of best quasirandom points which are kept

• θ_min and θ_max clamp the weight parameter, θ_pow determines the power it is raised to.

The defaults are from the paper cited above.

MultistartOptimization.multistart_minimizationFunction
multistart_minimization(multistart_method, local_method, minimization_problem)


Solve minimization_problem by using local_method within multistart_method.