A metaheuristic is a high-level search or optimization strategy that guides simpler heuristics in finding good solutions to difficult problems. It is often used when exact optimization is impractical and may trade guarantees of optimality for flexibility, speed, or robustness.
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. Metaheuristics sample a set of solutions which is too large to be completely sampled.