I have a problem in which I want to search the best location in 3D space using a genetic algorithm, according to some fitness function. Because I am searching for a location, my chromosomes are represented by 3 floating point numbers. Currently, crossing over is done by taking 1 or 2 numbers from one parent and the remainder from the another parent.
When crossing over like this the next generation will only consist of positions that have a similar X, Y or Z coordinate as a chromosome in the starting population. Thus, not much variation is possible. My question is if this is best solved by using another representation for my chromosomes (eg. bits) so more crossover points are possible (also inside a floating point number), or is the better solution to set the mutation rate higher and let mutation add more variation in the next generation?