Ackley
Problem definition
Objective function
f = @(x) -20*exp(-0.2*sqrt(0.5*sum(x.^2,2))) - exp(0.5*(cos(2*pi*x(:,1))+cos(2*pi*x(:,2)))) + exp(1) + 20
Optimization settings
o = struct% initializing struct
o.lb = -2% lower bounds
o.ub = 2% upper bounds
Graphic representation
[x,y] = meshgrid(o.lb:0.2:o.ub) surf(x,y,f([x(:),y(:)]))
Problem properties
convexity | smoothness | minimum |
0 | 0 | f(0,0) = 0 |
Optimization example with fminsearch
Optimization
rng(0)% for tractability
x0 = [2,2]% initial guess
[xmin,fmin,info] = fminsearch(f,x0,o)% running minimization
Animation
rng(0) x0 = [2,2] [~,~,info] = fminsearch(f,x0,o) info.sol = [0 0 0]% solution
info.animate = true% plot animation
info.animfreq = 5% frame frequency
info.np = 21% number of points for meshgrid
optimview('fminsearch',info)
References
[1] T. Back, H. P. Schwefel, An Overview of Evolutionary Algorithm for Parameter Optimization,
Evolutionary Computation, vol. 1, no. 1, pp. 1-23, 1993