What are the features of evolutionary algorithm for optimization in comparison with classical optimization methods?
A. Random vs. deterministic operation: it relies in part on random sampling. This makes it a nondeterministic method, which may yield somewhat different solutions on different runs.
B. Population vs. solutions through mutation: where most classical optimization methods maintain a single best solution found so far, an evolutionary algorithm maintains a population of candidate solutions. It is inspired by the role of mutation of an organism's DNA in natural evolution— an evolutionary algorithm periodically makes random changes or mutations in one or more members of the current population, yielding a new candidate solution.
Combining solutions through crossover: inspired by the role of sexual reproduction in the evolution of living things -- an evolutionary algorithm attempts to combine elements of existing solutions in order to create a new solution, with some of the features of each "parent." The elements (e.g. decision variable values) of existing solutions are combined in a "crossover" operation, inspired by the crossover of DNA strands that occurs in reproduction of biological organisms.
D. Selecting solutions via "survival of the fittest": inspired by the role of natural selection in evolution -- an evolutionary algorithm performs a selection process in which the "most fit" members of the population survive, & the "least fit" members are eliminated. Drawbacks of evolutionary algorithms: A drawback of any evolutionary algorithm is that a solution is "better" only in comparison to other, presently known solutions; such an algorithm actually has no concept of an "optimal solution," or any way to test whether a solution is optimal. This also means that an evolutionary algorithm never knows for certain when to stop, aside from the length of time, or the number of iterations or candidate solutions, that you wish to allow it to explore.