import CMAEvolutionStrategy, GCMAES
β = ones(10)
f = cueiv(β; γ = I + zeros(length(β),length(β)))[1]
β0 = zero(β)
out = CMAEvolutionStrategy.minimize(f, β0, 1.0;
lower = nothing,
upper = nothing,
popsize = 4 + floor(Int, 3*log(length(β0))),
verbosity = 1,
seed = rand(UInt),
maxtime = nothing,
maxiter = 500,
maxfevals = nothing,
ftarget = nothing,
xtol = nothing,
ftol = 1e-11)
@show CMAEvolutionStrategy.xbest(out)
xmin, fmin, status = GCMAES.minimize(f, β0, 1.0, fill(-10.,length(β0)), fill(10., length(β0)), maxiter=500)
@show xmin
import ForwardDiff
∇f(β) = ForwardDiff.gradient(f, β)
xmin, fmin, status=GCMAES.minimize((f, ∇f), β0, 1.0, fill(-10.,length(β0)), fill(10., length(β0)), maxiter=500)
@show xmin