# What is the most computationally efficient genetic algorithm?

In researching genetic algorithms, it seems that there are various methods of selection and other operator methods that can significantly change the performance. For example, this picture contains some of the methods that could be used:

Presumably, you can mix & match these operators to optimize whatever problem you're trying to solve.

What most people care about is how many iterations it takes to get to the target. This is understandable, but I've seen things that would be inefficient in real systems such as:

• using sort on the current population $$\mathcal{O}(n \log n)$$ and picking the first n members for the mating pool

• appending to a constantly resizing slice to create a mating pool instead of rewriting on the current array

What I am looking for is, how can I arrive at the target using the least amount of computation and memory possible. The number of iterations and the time taken to get there is still a secondary priority.

It's possible that it may be the process of picking the right operators, but what I am also considering is how parallelizable the implementation could be as well.

• To me, what you are asking is a variation of the traveling salesman problem. You can only know you have found the best way if you have tried all of the ways, which is the key challenge and why we use heuristics rather than algorithms for this type of problem. Genetic search algorithms seem to be this type of optimization approach. – David Hoelzer Apr 25 at 22:31