-
Notifications
You must be signed in to change notification settings - Fork 0
Description
There is a problem in the way we choose the individuals for crossover.
At the beginning, when an individual wanted to crossover, we randomly choose an other individual for crossover.
Then I choose to implement it differently :
When an individual i1 wants to crossover :
- if we know that there is another individual i2 who wants to crossover, we use i1 and i2 for the crossover
- if we don't know if there is an individual who wants to crossover, we remember that i1 wants to crossover and we continue with the next individual. Then, the next indivudual who wants to crossover will do it with i1.
I think this way of choosing individuals is better because the first solution seems less "natural". However, ther is still an issue.
If we build the list of individuals who wants to crossover, we remark that crossovers will only happend between consecutive individuals in this list. This (roughtly) means that the probability of crossover between the individuals with rank r1 and r1' is less than probability of crossover between individuals of rank r2 and r2' (with [r2, r2'] in [r1, r1']).
This is a kind of "class crossover" (i.e. crossover happends mostly between individuals of close rank).
I don't know if this is a big issue but at least we have to know that our selection does that.