Mutation is necessary to prevent areas of the search space
being discarded. The standard mutation operator chooses a
single bit at random and swaps its value. Again, we did not
allow changing the number of ones and zero’s. Therefore, we
applied ‘mutation inversion’: rather than selecting a single
bit to mutate, inversion mutation finds just two random
characters in the string and reverses them. We further note
that the mutation effect of this inverse mutation operator
is uniformly spread over the chromosome and, in addition,
generally lower that the mutation effect caused by the order based
crossover operator mentioned above since the latter
often causes mutations of several bits.