SimultaneousPerturbationStochasticApproximation

using SimultaneousPerturbationStochasticApproximation
f(x) = sum(abs2, x)
result = minimize(f, lower = fill(-10, 10), upper = fill(10, 10), maxfevals = 10^5)
1-element Array{Any,1}:
 (x = [5.709728947263545e-21, 2.5332645667262345e-21, 2.037385585780084e-20, 1.1949949632333856e-20, -2.41682064852466e-20, 1.7430842882710955e-20, -1.9709712546525954e-20, -9.674114437961352e-21, 1.3385675841053994e-20, -1.2440646770159904e-20], f = 1.8730950287147333e-6, evals = 8201)
SimultaneousPerturbationStochasticApproximation.SPSAMethod
SPSA(; lower, upper,
       heuristic = SimpleHeuristic(elementwise = true,
                                   update = LearningRateUpdate(lower, upper)),
       initializer = SobolInitializer(restarts = 1, N = 100),
       convergencetest = ConvergenceWelchTest(),
       pi_max = .1,
       init = lower)
source