Mutation

The mutation operator for the genetic algorithm has been adopted from the Breeder Genetic Algorithm [53]. Given any set of parameters as a chromosome, we can view it as a point x within a 10 dimensional space. Using our mutation operator, we seek to search for optimality within a ``small'' hypercube centered at x. How small this hypercube is, depends on the ranges in each parametric dimension within which we allow the chromosome to mutate. The parametric dimensions are not homogeneous, hence mutation ranges differ for each dimension, being directly proportional to the variance allowed in that parameter. Another feature of this mutation operator is that while it searches within the hypercube centered at x, it tests more often in the very close neighborhood of x, the idea being that, while we want to conduct a global search for optimum using our recombination, mutation is used for a more restricted local search. Having understood the broad features which the mutation operator should demonstrate, we formally define the mutation as follows:

Given a chromosome x, each parameter $x_{i}$ is mutated with probability 0.1. The number of parameters being 10 implies that at least one parameter will be probably mutated. Further, given the mutation range for the parameter $x_{i}$ as ${\it range_{i}}$, the parameter $x_{i}$ is mutated to the value ${x_{i}}^*$ given by

\begin{displaymath}{x_{i}}^* = x_{i} \pm range_{i}\cdot\rho\end{displaymath}

As previously discussed, $\rho$ should be such that it lies between 0 and 1 (to generate the hypercube centered at $\bf\it x$) and also it should probabilistically take on small values so as to test more often in the close neighborhood of $\bf\it x$. This is realized by computing $\rho$ from the distribution

\begin{displaymath}\rho = \sum_j \alpha_{j}2^{-j}\end{displaymath}

where each $\alpha_{j}$ is probabilistically either 0 or 1.

© 2003 Dídac Busquets