Drop-Wave

Problem definition

Objective function
f = @(x) -(1+cos(12*(sqrt(x(:,1).^2 + x(:,2).^2))))./(0.5*(x(:,1).^2 + x(:,2).^2) + 2)
Optimization settings
o = struct	

% initializing struct

o.d = 2

% dimension of decision variable

o.lb = -5.12

% lower bounds

o.ub = 5.12

% 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 f(0,0) = -1

Optimization example with ga

Algorithm options
o.maxit = 250	

% number of iterations

Optimization
rng(0)	

% for tractability

[xmin,fmin,popPos,popCost] = ga(f,o)

% running minimization

Animation
rng(0)
[~,~,~,~,info] = ga(f,o)
info.sol = [0 0 -1]	

% solution

info.animate = true

% plot animation

info.animfreq = 15

% frame frequency

info.np = 21

% number of points for meshgrid

optimview('ga',info)

References

[1] M. Molga and C. Smutnicki, "Test functions for optimization needs", 2005

Related functions

ga | meshgrid | surf