Metaheuristics are algorithms that combine heuristics in a higher level framework aimed at efficiently and effectively exploring the search space. Formally, they are iterative generation processes that guide a subordinate heuristic by combining concepts for exploring and exploiting the search space, learning strategies to structure information in order to find near-optimal solutions.

Metaheuristics are essentially strategies that guide the search process; we want to efficiently explore the search space to find near-optimal solutions. They range from simple local search procedures to complex learning processes. Metaheuristic algorithms are usually approximate and non-deterministics.

Properties

  • Incorporate mechanisms to avoid getting trapped in confined areas of the search space
  • Not problem specific
  • May make use of domain-specific knowledge in the form of heuristics that are controlled by an upper-level strategy