I am implementing a roulette wheel selection algorithm for a genetic algorithm solution to the WHPP scheduling problem. The problem I am running into is that the initial population (generated randomly) begins with very similar (very low) fitness values, resulting in even (at least very close to) probabilities between the parents and subsequently their children and therefore almost random selection right from the start of the execution. The question is how would I go about this? Should I find another way of evaluating the population so that the best of them have a disproportionately higher chance to get selected? Or is the way that I generate the initial population not supposed to yield uniform fitness values?(meaning that I am doing something wrong right from the beginning) This is for an AI assignment I have to turn over and I can't get a straight answer from the teaching staff for some reason. Thanks in advance, I know it's a very vague question but I can't get information anywhere.
Turns out that wheel selection was not a good option for my case. I ended up using a rank selection algorithm which does exactly what I was thinking to do with my wheel selection. That is, it assigns ranks based on fitness values and then you can calculate probabilities based on that. This way fitter individuals get a better chance even with small advantage over the rest of the population. You can also control how much of an advantage they'll have using a bias multiplier variable. This also works in case some of the individuals have an extremely large fitness value compared to the others.