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