ctp1
Problem definition
Objective function
f = @(x) [x(:,1), (1+x(:,2)).*exp(-x(:,1)./(1+x(:,2)))]
Optimization settings
o = struct% initializing struct
g1 = @(x) (1+x(:,2)).*exp(-x(:,1)./(1+x(:,2)))./(0.858*exp(-0.541* x(:,1))) -1 g2 = @(x) (1+x(:,2)).*exp(-x(:,1)./(1+x(:,2)))./(0.728*exp(-0.295* x(:,1))) -1 o.g = @(x) g1(x).*(g1(x)<0) + g2(x).*(g2(x)<0)% constraints
o.d = 2% dimension of decision variable
o.lb = 0% lower bounds
o.ub = 1% upper bounds
Problem properties
dimension | objectives | smoothness |
2 | 2 | - |
Optimization example with nsga2
Algorithm options
o.maxit = 50% number of iterations
o.pop = 300% number of population
Optimization
rng(0)% for tractability
[popPos,popFront,popCost,popInfo,traceIt] = nsga2(f,o)% running minimization
Animation
rng(0) [~,~,~,~,~,info] = nsga2(f,o) info.plot = 'pareto' info.animate = true% plot animation
info.animfreq = 4% frame frequency
optimview('nsga2',info)
References
[1] K. Deb, "Multiobjective optimization using evolutionary algorithms", Chichester, Wiley, 2002