Each feature vij of a cluster center is a real number. In
order to do crossover the feature value is converted into an integer
which captures three decimal places of precision. The integer is then
represented as a binary bit string. For example, if the
largest value for a feature is 7.999 then it will be converted to 7999
which may be represented by a 13 bit binary number. The binary
representation of a V matrix with c clusters and s features each
represented by 13 bits requires
bits (for
this example).
Crossover is done using 2 point crossover [7].
Each binary string is viewed as a ring. Then 2
cut points are chosen and the bits between the cut points are
interchanged to form the two children.
This crossover operation is done on each of the c cluster centers of the mating parents. Crossover produces two children for the next generation which are created by concatenating the results of the c crossovers. It is necessary to do c crossovers to enable each cluster center to move independently of the others. Allowing each cluster center to be adjusted during a generation is important to minimize the number of generations, because each generation requires significant time in the calculation of the Rm value of each population member.