Tabu search is an iterative procedure for solving optimization problems. It has been successfully used to obtain optimal and near optimal solutions for problems involving scheduling, time-tabling, and layout optimization. The basic idea of tabu search is to explore the search space of all feasible solutions by a sequence of moves. However, to escape from locally optimal but not globally optimal solutions and to prevent cycling, some moves, at one particular iteration, are classified as forbidden or tabu. Tabu moves are derived from the short-term and long-term history of the sequence of moves. A simple implementation, for example, might classify a move as tabu if that move has been made recently or frequently. Sometimes, when it is deemed favorable, a tabu move can be overridden. Forgetting that a move is tabu could lead to a solution which is the best obtained so far.





