Step  1: Randomly generate an initial configuration, , with an
     empty tabu list
  Step  2: Repeat the following statements until the stopping criterion is met
   Step  2.1: Identify the neighborhood of current
       configuration , and consider a subset from
   Step  2.2: Choose the best (in terms of a moving evaluation score)
       configuration which is either nontabu or is tabu
       but satisfying the aspiration criterion
   Step  2.3: Update the tabu list and let
  Step  3: Output the best configuration found
Algorithm 6: Algorithm of tabu search.