# Tabu search

### From Glossary

This is a metaheuristic to solve global optimization problems, notably combinatorial programs, based on multi-level memory management and response exploration. It requires the concept of a neighborhood for a trial solution (perhaps partial). In its simplest form, a tabu search appears as follows:

*Initialize*. Select and set*Tabu List*= null. If is feasible, set and otherwise, set (for minimization set ).*Select move*. Let = set of neighbors of If is empty, go to update. Otherwise, select where E is an*evaluator function*that measures the merit of a point (need not be the original objective function, ). If y is feasible and set and Set (i.e., move to the new point).*Update*. If some stopping rule holds, stop. Otherwise, update (by some*tabu update rule*) and return to select move.

There are many variations, such as *aspiration levels*, that can be included in more complex specifications.