Elite feature of genetic algorithm

12 views (last 30 days)
hi all
i successfully make a Matlab program for Genetic algorithm (without using elite feature) and achieve goal which was desired. i have tried for various number of chromosomes like.5,6,10 and 20. but didn't notice any significant change. i logically believe, there must me some impact on output response by increasing the number of chromosome. and my second question is i want to know, at which stage elite strategy is used and how. i am following the below link: http://www.mathworks.com/help/gads/how-the-genetic-algorithm-works.html in which a line is written "Some of the individuals in the current population that have lower fitness are chosen as elite. These elite individuals are passed to the next population." i am confused at this stage , means if a individual have low fitness then how it is processed to a next level?.
kindly share information if any one have, thanks in advance :)

Accepted Answer

Geoff Hayes
Geoff Hayes on 23 Oct 2014
Mudasir - from your previous posts, I think that you have written your own version of the genetic algorithm and are not using that from the Global Optimization Toolbox. So depending upon how you have written the code to initialize the chromosomes, do the selection, do the crossover, do the mutation, then that all that will impact what happens when you increase the number of chromosomes (size of population). What do you observe about your initial population when you increase the size from 5 to 20? Do the genes in each chromosome vary significantly? How does the crossover affect the new chromosomes? When does convergence occur (i.e. at which generation)? I think that you will need to analyze the chromosomes to see how they change from one generation to the next. That analysis may explain why increasing the population size seems to have no affect on producing different/better results.
As for the elite strategy, the above link goes on to say that a fixed number of "elite children" are chosen for the next generation. These elite members have the best (i.e. lowest) fitness of the current generation and are "copied" in to the next generation as is. The remaining members of the next generation's population is made up of the children created through crossover and/or mutation. So this processing would occur prior to selection and crossover. See the example (from the link) for more details.
  6 Comments
Geoff Hayes
Geoff Hayes on 28 Oct 2014
Use matrices (or cell arrays) to manage your data rather than individual variables. It simplifies code considerably!
Emily Kambalame
Emily Kambalame on 5 Sep 2022
Edited: Emily Kambalame on 14 Nov 2022
Dear @Mudasir Ahmed please help me with the elitism NSGA 2 code. How can a certain percent of solutions be preserved from the merged parent and child population?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!