This process continues for a fixed number of generations. One of the features that separates GAs from other optimization approaches is that they optimize on a representation of the variables and not the variables themselves. This allows GAs to be very flexible and to optimize well in situations where the variables are much different from each other. The three most common representations for a GA are binary, integer, and real number codings. In a binary-coded GA, each chromosome is a vector comprised of zeroes and ones with each bit representing a gene.
Mutation is performed by simply changing a one to zero or a zero to a one.
For applications where the natural representation of the variable settings is not binary, the real or integer number must be converted to a bit string. The bit strings for each variable are combined to form a vector of bits. Of course, for some applications this loss of resolution is a disadvantage. Another disadvantage of binary representation is caused by the fact that for applications where the variables are real numbers or integers, the importance of a gene is determined by its location on the chromosome. Thus, a mutation on one part of the bit string will have a different impact on the variable settings than a mutation on another part of the bit string.