Many optimization problems require the satisfaction of constraints in addition to their objectives. When using an evolutionary algorithm to solve such problems, these constraints can be enforced in many different ways to ensure that legal solutions (phenotypes) are evolved. We have identified eleven ways to handle constraints within various stages of an evolutionary algorithm. Five of these methods are experimented on a run-time error constraint in a Genetic Programming system. The results are compared and analyzed.
Tina Yu, Peter J. Bentley