In der Informatik und der mathematischen Optimierung ist eine Metaheuristik (von altgriechisch μετα (über, darüber) und εὑρίσκειν heurískein (auffinden, entdecken)) ein Verfahren oder eine Heuristik auf höherer Ebene. Es dient dazu, eine oder mehrere Heuristiken (auf Erfahrung und begrenztem Wissen beruhender Suchalgorithmus) zu finden, zu generieren, zu tunen oder auszuwählen, die eine hinreichend gute Lösung für ein Optimierungsproblem oder ein Problem des maschinellen Lernens bieten kann, insbesondere bei unvollständigen oder unvollkommenen Informationen oder begrenzter Rechenleistung.[1][2][3] Metaheuristiken können mit relativ wenigen Annahmen über das zu lösende Optimierungsproblem auskommen und sind daher für eine Vielzahl von Problemen verwendbar.[2][4][5] Ihr Einsatz ist immer dann von Interesse, wenn exakte oder andere (Näherungs-)Verfahren nicht zur Verfügung stehen oder nicht zielführend sind, sei es wegen zu langer Rechenzeiten oder weil z. B. die gelieferte Lösung zu ungenau ist.
Im Vergleich zu exakten Optimierungsalgorithmen und iterativen Methoden der numerischen Mathematik garantieren Metaheuristiken nicht, dass für eine bestimmte Klasse von Problemen das globale Optimum gefunden werden kann.[3] Viele Metaheuristiken implementieren eine Form der stochastischen Optimierung, so dass die gefundene Lösung von den erzeugten Zufallsvariablen abhängt und jeder Optimierungslauf ein anderes Ergebnis bringen kann und seien die Unterschiede auch nur gering.[6] In der kombinatorischen Optimierung gibt es viele Aufgabenstellungen, die zur Klasse der NP-vollständigen Probleme gehören. Sie sind damit ab einem relativ geringen Komplexitätsgrad nicht mehr in akzeptabler Zeit exakt lösbar.[7][8] Metaheuristiken liefern dann oft gute Lösungen mit weniger Rechenaufwand als iterative Methoden, Näherungsverfahren oder einfache Heuristiken.[2][3][6] Dies gilt ebenfalls im Bereich der kontinuierlichen oder mixed-integer Optimierung.[2][9][10] Mehrere Bücher und Übersichtsarbeiten sind zu diesem Thema veröffentlicht worden.[2][3][6][11] Der Begriff Metaheuristik geht auf Fred Glover zurück,[12] der sie als Lösungsmethoden beschrieb, die eine Interaktion zwischen lokalen Verbesserungsverfahren und Strategien auf höherer Ebene organisieren, um einen Prozess zu schaffen, der in der Lage ist, aus lokalen Optima zu entkommen und eine robuste Suche in einem Lösungsraum durchzuführen.[2]
Generell hängen Erfolg und Laufzeit metaheuristischer Verfahren entscheidend von der Definition und Implementierung der einzelnen Schritte ab. Es gibt keine Metaheuristik, die für beliebige Probleme besser ist als alle anderen (No-free-Lunch-Theoreme). Die meiste Literatur über Metaheuristiken ist experimenteller Natur und beschreibt empirische Ergebnisse auf der Grundlage von Computerexperimenten mit den Algorithmen. Es liegen aber auch einige formale theoretische Ergebnisse vor, häufig zur Konvergenz und zur Möglichkeit, das globale Optimum zu finden.[3][13]
<ref>
-Tag; kein Text angegeben für Einzelnachweis mit dem Namen :10.<ref>
-Tag; kein Text angegeben für Einzelnachweis mit dem Namen :11.