the operations in genetic operators

when applicat the genetic algorithm in matlab there is two type of crossover
the first type is
y1=alpha.*x1+(1-alpha).*x2;
y2=alpha.*x2+(1-alpha).*x1;
and the second is
y'= alpha(x2 - x1) + x2
Tow types is using in real genetic algorithm ,what is the difference between them? When we use the first method and when we use the second?

4 comentarios

Johan - please post a reference to your above code. Is it from the File Exchange (possibly from https://www.mathworks.com/matlabcentral/fileexchange/52856-binary-and-real-coded-genetic-algorithms) or from the Optimization Toolbox? At a glance, it looks like the first type will produce two children whereas the second type will just produce one child (or have you neglected to add the second equation?). Note how if we rewrite it, we get
y'= (1 + alpha)*x2 - alpha*x1;
Depending upon what alpha is, it would seem that x2 is being weighted "more" than x1...and seems to be incorrectly weighted. Please include a reference to this equation.
Johan Johan
Johan Johan el 10 de Jul. de 2018
Editada: Johan Johan el 10 de Jul. de 2018
yes you are right in your reference for the first method and the second method i find it in this page http://www.geatbx.com/ver_3_7/geaindex.html(name the function is 'recint')
Geoff Hayes
Geoff Hayes el 10 de Jul. de 2018
Johan - I'm not sure where in that index I should be looking for this other function. Please provide more details.
Johan Johan
Johan Johan el 11 de Jul. de 2018
I find the answer in this book 'Handbook of Research on Nature-Inspired Computing for Economics and Management' , the first method is The arithmetic crossover creates two complimentary linear combinations of x1 and x2. The second method is Heuristic crossover produces a linear extrapolation of the parents by using the fitness values of the two parent chromosomes to determine the direction of the search.

Iniciar sesión para comentar.

Respuestas (0)

Preguntada:

el 10 de Jul. de 2018

Comentada:

el 11 de Jul. de 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by