improve genetic algorithm