In the Cellular Genetic Algorithm:
for each cell in the grid do in parallel
generate a random individual
end parallel for
while not termination condition do
for each cell in the grid do in parallel
Evaluate individual
Select individual(s) in the neighbourhood ( )
Produce offspring
Evaluate offspring
Assign one of the offspring to cell according to some criterion
end parallel for
end while
Why the individual must be evaluated before selecting the parents? (line 6). As I understand, the evaluation must be done on the proudced individual (i.e. offspring) after applying the operators.
In genetic algorithms, good solutions should be rewarded with higher mating chance (transfering their DNAs to next generations). For example, fast and strong (high fitness value) animals have more chance to mate. Nature gives preferential treatment to fit animals. So, in your algorithm, fitness evaluation must be done before decide to which parents will be selected for mating. Generally fitness value is directly proportionate to possibility of to be selected as a parent. To see how selection can be done: "biased roulette wheel" parent selection technique.