Sunday, February 14, 2016

Metaheuristics

Metaheuristics (Metaheuristic Algorithms [MAs])

In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an optimization problem, especially with incomplete or imperfect information or limited computation capacity [ref]. In short, metaheuristics can be summarized as follows:

• MAs employ strategies to effectively perform a search process and to efficiently explore the search space such that near-optimal or optimal solutions are obtained. 
• The search mechanisms in MAs range from simple local search procedures to complex learning processes. 
• MAs provide approximate solutions and are usually nondeterministic. 
• They may incorporate escape mechanisms such as niching and stretching in order to avoid getting trapped in confined areas of the search space. 
• Metaheuristics are not problem specific. 

Based on the aforementioned discussion, metaheuristics can be considered as a set of algorithmic concepts that can be used to define heuristic methods applicable to a wide range of problems. In other words, they (metaheuristics) are a general purpose algorithmic framework applicable to a wide range of problems with relatively fewer modifications (Dorigo et al., 2006). Some of the well-known MAs include tabu search (TS) (Glover, 1989, 1990), genetic algorithms (GAs) (Goldberg, 1989), simulated annealing (SA) (Kirkpatrick et al., 1983), ant colony optimization (ACO) (Dorigo and Stützle, 2004), ABC algorithm (Karaboga and Basturk, 2007), bat algorithm (BA) (Yang and Gandomi, 2012), CS (Yang, 2009), PSO (Kennedy and Eberhart, 1995), harmony search (HS) (Lee and Geem, 2005), firefly algorithm (FA) (Yang, 2010), and krill herd algorithm (Gandomi and Alavi, 2012a) among others. MAs can be classified in different ways (Blum and Roli, 2003); however, in this chapter, we will focus on nature-inspired MAs [ref].

Metaheuristic is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an optimization problem, especially with incomplete or imperfect information or limited computation capacity
Metaheuristic
Metaheuristic: Classes of Search Techniques
Metaheuristic: Classes of Search Techniques

No comments:

Post a Comment