8.2 Representation of the Variables

The choice of representation of the variables of the objective functions has a profound effect on the operators to be applied on the individuals of the population. In analogy to biology the variable values are called phenotypes and their (internal) representation genotype. In this analogy the value of the objective function determines the fitness of the individual.

The first algorithms developed represented the individuals as vectors of discrete values inspired by the DNA representation [147]. Later, when the need for real valued variables was recognized, these were approximated by assigning the integer value $ \sum_{k=1}^n 2^{k-1}
a_k$ to a vector $ (a_1,\ldots,a_n)\in\{0,1\}^n$ and scaling appropriately to the desired interval. Using this method the operators known from vectors of discrete values can be applied at once. On the other hand the effects of the discrete operators on the continuous variables are not straightforward to understand and result in unexpected behavior. For example consider one point crossover of $ (1,1,0,0) \sim 3$ and $ (0,0,1,1) \sim 12$ between positions two and three resulting in $ (0,0,0,0) \sim 0$ and $ (1,1,1,1) \sim 15$ (cf. Section 8.3.2). Thus crossing $ 3$ and $ 12$ results in 0 and $ 15$, whereas applying the continuous point in the middle crossover operator (cf. Section 8.3.2) yields values in the interval $ [3,12]$, which will be the right behavior in almost all cases.

Real valued variables can be more readily represented using floating point numbers. To that end different operators have of course to be used. After weighing the advantages and disadvantages of the traditional representation and the floating point representation, it is now generally acknowledged that the floating point representation together with suiting operators is the most advantageous method for continuous variables [77].

Going back to vectors of discrete values it is clear that some grouping of single vector elements into larger entities has to take place. For example, elements are grouped in order to represent integer values, and these integers can be grouped again into chromosomes according to their meaning.

Clemens Heitzinger 2003-05-08