Top Banner
Tutorial on Genetic Algorithm Dr. Adel Abdennour, Electrical Engineering Department,
19

Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

Aug 31, 2018

Download

Documents

dangdiep
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

Tutorial on Genetic AlgorithmDr. Adel Abdennour,

Electrical Engineering Department,

Page 2: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

• Type in “gatool” in the command window

• OR

Page 3: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters
Page 4: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters
Page 5: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

Example 1 : Ackley Function

Page 6: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

Ackley FunctionFunction graph: for n = 2.

MATLAB CODE : function z = ft_ackley(in)

a = 20; b = 0.2; c = 2*pi; d = 5.7; f = 0.8;

n = 2;

x= in(:,1); y= in(:,2);

z = (1/f)*( -a*exp(-b*sqrt((1/n)*(x.^2+y.^2))) - exp((1/n)*(cos(c*x) + cos(c*y))) + a + exp(1) + d);

Page 7: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

Using the gatool

Page 8: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

You can customize your solution by manipulating the “Option Menu”

Page 9: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

For example plotting the fitness function

Page 10: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters
Page 11: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

Example 2: Rastrigin’s Function

Page 12: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

• MATLAB Code:

• function y = rast(x)

• % The default value of n = 2.

• n = 2;

• s = 0;

• for j = 1:n

• s = s+(x(j)^2-10*cos(2*pi*x(j)));

• end

• y = 10*n+s;

Function graph for n = 2

Page 13: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters
Page 14: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

Example 3: Sum Squares Function

Page 15: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

• Matlab Code:

Function Graph for n =15 function y = sum2(x)

% The default value of n = 15.

n = 15;

s = 0;

for j = 1:n

s=s+j*x(j)^2;

end

y = s;

Page 16: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

Best Fitness:

Page 17: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

Example 4: Easom Function:

Page 18: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

• Matlab Code:

• function y = easom(x)

• % Easom function

• %The number of variables n = 2.

• y = -cos(x(1))*cos(x(2))*exp(-(x(1)-pi)^2-(x(2)-pi)^2);

Page 19: Tutorial on Genetic Algorithm - pdfs.semanticscholar.org · •Matlab Code: Function Graph for n =15 function y = sum2(x) % The default ... Crossover Miqratian Constraint parameters

Best Fitness