add function to generate a random solution (without duplicate queens)
modify create_population function to replace solutions containing duplicate values
re-write crossover function with a different algorithm
modify build_new_population to use new xover algorithm