Cache the fitness value for performance
Add weighted individual choice