The greedy randomized adaptive search procedure (also known as GRASP) is a
metaheuristic
In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, tune, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an op ...
algorithm commonly applied to
combinatorial optimization
Combinatorial optimization is a subfield of mathematical optimization that consists of finding an optimal object from a finite set of objects, where the set of feasible solutions is discrete or can be reduced to a discrete set. Typical combina ...
problems. GRASP typically consists of iterations made up from successive constructions of a
greedy randomized solution and subsequent iterative improvements of it through a
local search.
The greedy randomized solutions are generated by adding elements to the problem's solution set from a list of elements ranked by a ''greedy function'' according to the quality of the solution they will achieve. To obtain variability in the candidate set of greedy solutions, well-ranked candidate elements are often placed in a ''restricted candidate list'' (RCL), and chosen at random when building up the solution. This kind of greedy randomized construction method is also known as a semi-greedy heuristic, first described in Hart and Shogan (1987).
GRASP was first introduced in Feo and Resende (1989). Survey papers on GRASP include Feo and Resende (1995),
[ and Resende and Ribeiro (2003).]
There are variations of the classical algorithm, such as the Reactive GRASP. In this variation, the basic parameter that defines the restrictiveness of the RCL during the construction phase is self-adjusted according to the quality of the solutions previously found.
There are also techniques for search speed-up, such as cost perturbations, bias functions, memorization and learning, and local search on partially constructed solutions.[
]
See also
* Constructive cooperative coevolution
* Cooperative coevolution
* Local search (optimization)
In computer science, local search is a heuristic method for solving computationally hard Mathematical optimization, optimization problems. Local search can be used on problems that can be formulated as finding a solution that maximizes a criterio ...
* Metaheuristic
In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, tune, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an op ...
* Simulated annealing
Simulated annealing (SA) is a probabilistic technique for approximating the global optimum of a given function. Specifically, it is a metaheuristic to approximate global optimization in a large search space for an optimization problem. ...
* Tabu search Tabu search (TS) is a metaheuristic search method employing local search methods used for mathematical optimization. It was created by Fred W. Glover in 1986
and formalized in 1989.
Local (neighborhood) searches take a potential solution to a ...
References
Combinatorial optimization
Greedy algorithms
{{combin-stub