MATLAB Result Figure for genetic algorithm

Hi all,
I have a question about the plot that MATLAB creates runnig genetic algorithm. The vertical axis shows the "number of individuals" and the horizontal axis shows "score". In Mathwork website, I found the definition for these as below:
  • number of individuals: number of population in each generation
  • score: fitness function or objective function value
My questions are:
  1. Is the the diagram shows the values correspond to all of the iterations from start to end, or it just shows the values for the last iteration?
  2. Based on my understanding the "population size" should remain the same for all the generations, if this is correct why it keeps changing in this diagram?
Thank you so much for your time and consideration.

16 Comments

I believe I used 'gaplotscores'. Below is the example of my resaults. Please note that the lower diagram, not the upper one, is the one I'm refering to!
cccccccc.png
The lower one is a histogram with scores on the x and number of entries in the population with that score vertically. It refers to the current generation.
Thanks for the explanation. So the score is the objective function value? Also when you say number of entries in population you mean the number of population? If not what exactly you mean by that?
The number of individuals in the population whose score falls within a range is on the y axes.
At the moment I do not know if score is objective function value or that value modified to penalize constraint violations.
Oh that clears up a lot. Basically it does not show all the population, but it only shows the certain number of population which have that certain score!
I don’t have any constraints! Also it is a non-integer problem, so I believe the score shows the objective function value. If this is the case, it means that at the last iteration the number of population with the objective function value are zero?! Or non of the population members falls within the objective function value?! (Isn’t this mean we have not reached the right answer?)
And because I have control on my variables I know the final answer is correct!
ga() stops processing under a number of different circumstances. It would not be typical that the entire population has converged to the same solution. It would be more typical that the best score had not decreased for a number of iterations.
Thanks so much for taking your time answering my question. I do appreciate it. I just wanna make sure I understood completely. Based on my understanding, the low diagram shows the last iteration (not all the iterations), and it shows the score of different individual in the population. For example, 35 of the population falls within the first range score. And the second bar shows almost 4 of the population have the score of second range. Correct?
I again thank you so very much for your explanation and highly appreciate your answers!
Yes, I agree, about 35 of the population is in the first score range, and 3 or 4 are in the second score range.
Awesome thank you SO much. I appreciate it!
Sorry one more question: does this diagram shows all of the individuals in the population? If not why? And if not how many are the individuals are shown in the figure, any rules for that?
Thanks again so much!
I am not sure at the moment. If the first bin is 37 then it looks like the total is 50.
Thank you. So you believe the figure shows all the individuals in population correct (which in this example is about 50)?
I think that one does but I cannot be sure at the moment that one outlier did not get dropped. I would need to dig into the code.
Okay. Is there any reason for MATLAB to drop an outlier? I mean is there a rule or something or it just random?
I do appreciate you answering my questions patiently!

Sign in to comment.

Answers (0)

Asked:

on 17 Oct 2019

Commented:

on 19 Oct 2019

Community Treasure Hunt

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

Start Hunting!