A software base algorithm that optimizes using analogies to Darwin’s theory of evolution. The optimized solution survives and the weaker solutions die off. The algorithm was developed by John Holland and is described in his book, Adaptation in Natural and Artificial Systems (1975).