Parallel evolutionary algorithm with interleaving generations
We present a parallel evolutionary algorithm with interleaving generations. The algorithm uses a careful analysis of genetic operators and selection in order to evaluate individuals from following generations while the current generation is still not completely evaluated. This brings significant advantages in cases where each fitness evaluation takes different amount of time, the evaluations are performed in parallel, and a traditional generational evolutionary algorithm has to wait for all evaluations to finish. The proposed algorithm provides better utilization of computational resources in these cases. Moreover, the algorithm is functionally equivalent to the generational evolutionary algorithm, and thus it does not have any evaluation time bias, which is often present in asynchronous evolutionary algorithms.
 The proposed algorithm is tested in a series of simple experiments and its effectiveness is compared to the effectiveness of the generational evolutionary algorithm in terms of CPU utilization.