Find initial central points of k-means clustering using genetic algorithm I am implementing genetic algorithm in order to find best initial central points for k-means clustering algorithm.
I use this formula for fitness function:
$$\sum_{\chi_{j}\in X}{\min_{1\le i\le k}(\text{dist}(C_i,\chi_j))}$$
I need a good mutation function for my algorithm. Even after searching a lot I couldn't find a good mutation function for this problem.
 A: I think if it were me I would consider the initial cluster points to be something like
[x1, x2, x3, ... ]

And you could represent each xi as a bit string of appropriate length (8?). You could concatenate them into one bit string and make a random population of such bit strings. Then you can perform crossover and mutation as you traditionally would, with a mutation occurring with some probability, say, 0.001 and on some random bit where you flip that bit from 0 to 1 or vice versa. 
At each iteration, you can employ your fitness function, as-is, by first converting the bit string back to its decimal equivalent, calculate your distances from each data point to each centroid point, get the minimum for each and sum those minimum distances. The smaller that some, the better your fitness, so you will want to use something like 1/fitness.
After you do this for a number of iterations, I believe it's actually quite possible you will arrive at a good solution that will make for a fast k-means implementation. 
