improved genetic algorithm