| Begin |
| 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 |
| End. |