I am basing my question on the pseudocode for the CHC Adaptive Search Algorithm by Eshelman given in this answer by deong:
delta = k/4 # k = chromosome length
while not done
create new child population
for i = 1 to n/2 # n = population size
select p1, p2 from population without replacement
if hamming_distance(p1, p2) > delta
c1, c2 = HUX crossover(p1, p2)
insert c1, c2 into child pop
end if
end for
if child pop is empty
delta = delta - 1
else
take best n individuals from union of parent and child populations as next population
end if
if delta < 0
keep one copy of best individual in population
generate n-1 new population members by flipping 35% of the bits of the best individual
delta = k/4
end if
How does this algorithm deal with situations where the child population has lower fitness than the parent population?
Consider a population of two parent with a large enough hamming distance to produce children. Now if both children have a lower fitness than their parents, doesn't the survivor selection ("take best n") select the same parents again, resulting in an infinite loop?