Two Critical Design Issues
There are some issues that should be kept in mind when designing and running a genetic algorithm. One crucial issue is to try to preserve the genetic diversity of the population as long as possible. Opposite to many other optimization methods, GAs use a whole population of individuals - and this is one of the reasons for their power. However, if that population starts to concentrate in a very narrow region of the search space, all advantages of handling many different individuals vanish, while the burden of computing their fitness remains. This phenomenon is known as premature convergence. There are two main directions to prevent this: a priori ensuring creation of new material, for instance by using a high level of mutation; or a posteriori manipulating the fitness of all individuals to create a bias against being similar, or close to, existing candidates.
Exploration and exploitation are two terms that describe the dilemma within an optimization procedure to either (a) search around the best-so-far solutions (as their neighborhood hopefully contains even better points), or (b) explore some totally different regions of the search space (as the best-so-far solutions might only be local optima). A GA must be set up in such a way that it solves this dilemma without a priori knowledge of the kind of landscape it will have to explore. The exploitation phase can sometimes be "delegated" to some local optimization procedure, whether called as a mutation operator, or systematically applied to all newborn individuals, moving them to the nearest local optimum. In the latter case, the resulting hybrid algorithm is called a memetic algorithm.