FORS 8450 • Advanced Forest Planning Lecture 11 Tabu Search Tabu Search Background Tabu search was introduced by Glover (1989, 1990) as a deterministic method for efficiently searching a solution space. It evolved from gradient search techniques, and aspects of the process diversify and intensify the search for good solutions. The key to Tabu search is that it remembers the choices it makes, thereby avoiding becoming trapped in local optima, a feature not common to traditional gradient search algorithms. This forces the Tabu search process to explore other areas of the solution space, thus increasing the chance of locating a good solution. While Tabu search cannot guarantee an optimal solution, it should provide a number of good, feasible solutions to a fully specified problem. Tabu Search Characteristics of the algorithm 1) A solution is improved upon as the algorithm operates. 2) When the full "neighborhood" is developed, all potential changes to the current solution are assessed. In general, Tabu search operates by selecting "candidate" decision choices from a "neighborhood". Therefore, a neighborhood must be defined, and it must consist of a set of candidate decision choices. One of these candidates is selected. If unacceptable, another choice from the neighborhood is selected. 3) Candidate choices that lead to higher quality solutions are always welcome. 4) Candidate choices that lead to lower quality solutions are acceptable as well, as long as they are not tabu. 5) The acceptance of one choice into the solution is one iteration. 6) The algorithm stops and reports the best solution when the total number of iterations have been performed. Tabu Search Advantages: • It is intuitive, since it generally does not include random elements. • It is deterministic, and chooses the best option available to improve a solution. Disadvantages: • It is relatively slow, since a number of choices must be assessed before one is chosen. • It may "cycle," or get in a rut, during the search for a good solution. • Unless given some enhancements, it is an "average" heuristic. These enhancements may include: • 2-opt neighborhoods • Adjustments to the neighborhood based on frequency of choices • Strategic oscillation Tabu Search Necessary parameters 1) The length of the tabu state (number of iterations of the model). 2) A total number of iterations to run the model. Other assumptions 1) Does the tabu state remain fixed, or is it variable? 2) Is the entire neighborhood developed with each iteration of the model? 3) Is the "aspiration criteria" employed? This allows further consideration of Tabu candidate choices when the inclusion of the choice into the current solution will result in a solution that has an objective function value which is better than any previously observed objective function value. 4) Is a "frequency list" created and used? Randomly develop an initial solution Tabu Search Calculate 1-opt neighborhood Basic Process Choose a candidate move Is candidate tabu? Yes Yes No Update solution by incorporating the candidate move, set z value No Will solution be the absolute best? Have we reached the stopping criteria? Yes Stop and report the best solution found during search No Reject candidate move, adjust the neighborhood Tabu Search A Specific Forest Planning Process Read data Step 1 Clear arrays Step 2 Develop initial random solution Step 3 Calculate solution value Step 4 Schedule activities Four broad steps. Step 4 is described in more detail next. Done? Report best solution Tabu Search A Specific Forest Planning Process Step 4 Schedule activities Assess contribution of units Check adjacency constraints Develop neighborhood Make a choice Adjust tabu states Best? No (Return) Yes Save as best solution (Return) Random feasible solution Tabu Search A Specific Forest Planning Process 1-opt and 2-opt neighborhoods Develop 1-opt neighborhood Develop 2-opt neighborhood Select candidate move Select candidate move No Tabu ? Yes No No Best solution ? Tabu ? No Yes Update solution No 1-opt iterations complete? Yes Yes Update solution 2-opt iterations complete? Yes Yes Yes Do another loop? No Report best solution Best solution ? No Tabu Search Cycling of solution values over about 1,000 iterations for a specific forest planning problem with a minimization objective. Tabu state = 25 iterations Tabu Search Cycling of solution values over about 1,000 iterations for a specific forest planning problem with a minimization objective. Tabu state = 50 iterations Tabu Search Cycling of solution values over about 1,000 iterations for a specific forest planning problem with a minimization objective. Tabu state = 75 iterations Tabu Search Cycling of solution values over about 1,000 iterations for a specific forest planning problem with a minimization objective. Tabu state = 100 iterations Tabu Search Typical non-cycling of solution values over about 2,500 iterations for a specific forest planning problem with a minimization objective. Tabu state = 125 iterations