Hyper-heuristique
Une hyper-heuristique est une méthode heuristique de recherche qui vise à automatiser, souvent par l'intégration de techniques d’apprentissage machine, le processus de sélection, combination, génération ou d’adaptation de plusieurs heuristiques plus simples (ou des composants de ces heuristiques) pour résoudre efficacement les problèmes de calcul de recherche.
L’une des motivations de l’étude de l’hyper-heuristique est de construire des systèmes capables de gérer des classes de problèmes plutôt que de résoudre un seul problème.
On peut avoir le choix entre plusieurs heuristiques pour résoudre un problème, et chaque heuristique a ses forces et ses faiblesses. L'idée est de concevoir automatiquement des algorithmes en combinant la force et en compensant la faiblesse des heuristiques connues. Dans un cadre d'hyper-heuristique typique, il existe une méthodologie de haut niveau et un ensemble d'heuristiques de bas niveau (soit des heuristiques constructives ou perturbatives).
En fonction d'un exemple de problème, la méthode de haut niveau sélectionne l'heuristique de bas niveau à appliquer à un moment donné, en fonction de l'état actuel du problème (ou de l'étape de recherche) déterminé par les caractéristiques.