Many optimization problems that model the essential issues of important real‐world decision making are computationally intractable. Therefore, a practical approach for solving such problems is to employ heuristic techniques that find nearly optimal solutions within a reasonable amount of computation time.
Improvement algorithms
generally start with a feasible solution and iteratively try to obtain a better solution. Neighborhood search algorithms, which are alternatively called
local search algorithms
, are a wide class of improvement algorithms where at each iteration an improving solution is found by searching a “neighborhood” of the current solution. A critical issue in the design of a neighborhood search algorithm is defining what solutions constitute the neighborhood of a solution. As a rule of thumb, the larger the neighborhood, the better is the quality of the locally optimal solutions, including the final solution selected upon termination. Similarly, the larger the neighborhood, the longer it takes to search the neighborhood. Thus, a larger neighborhood does not necessarily produce a more effective heuristic unless one can search the larger neighborhood efficiently. This article concentrates on neighborhood search algorithms where the size of the neighborhood is “very large” with respect to the size of the input data and the neighborhood can be searched efficiently. We survey three broad classes of very large‐scale neighborhood (VLSN) search algorithms: variable‐depth methods in which large neighborhoods are searched heuristically, large neighborhoods that are searched by solving a constrained minimum–cost flow problem, and other situations that give rise to efficiently searchable large neighborhoods.