Begin

Calculate the so_far_bestpath’s neighborhood;

Sort and Prefer the so_far_bestpath’s neighborhood;

pop = prefer neighborhood;

pop1 = crossover (pop);

pop2 = mutation (pop);

neighborhood = pop + pop1 + pop2;

End