Présenté par : ABED Djemaa; BAKHOUIA Roqiya. Université d’Adrar Faculté des Sciences et de la Technologie Département des Mathématiques et Informatique Heuristique et métaheuristique Présenté par : ABED Djemaa; BAKHOUIA Roqiya. Proposé par: Mr. KADDI
plan introduction ; Définition de l’optimisation; Classification des méthode d’optimisation; Heuristique(définition – méthode – domaines d’application); Méta heuristique (définition – méthode – domaines d’application); Les approche de résolution heuristique et métaheuristique ; Heuristique VS métaheuristique; Les avantages et les inconvénients ; Application en intelligence artificiel; Exemple (comparaison); la différence entre les deux approches; Conclusion.
Introduction Les méthodes de résolution exactes permettent d’obtenir une solutions dont l’optimalité est garantie, et dans certaines situations, on chercher des solutions sans garantie d’optimalité, mais au profit d’un temps de calcul plus réduit. Pour cela, On applique des méthodes appelées heuristiques et métaheuristiques. Quelles sont ces méthodes?
Optimisation Optimisation = modélisation + résolution modélisation d'un problème : espace de recherche, solutions formulation mathématique : fonction objectif, contraintes application d'une méthode d'optimisation obtention d'une solution
Optimisation (suit) Exemple: Problème du Voyageur du Commerce(TSP) générer tous les trajets possibles calculer leurs distances choisir le trajet ayant la distance minimale
Classification des méthodes d’optimisation
Heuristique 1) Définition étymologie : du grec ancien eurisko, trouver. méthode approchée conçue pour un problème d'optimisation particulier permettant de trouver des solutions avec un temps de calcul raisonnable.
Heuristique(suit) 2) Méthodes Méthodes constructives qui génèrent des solutions à partir d’une solution initiale en essayant d’en ajouter petit à petit des éléments jusqu’à ce qu’une solution complète soit obtenue (ex: Algorithme glouton) Méthodes de fouilles locales qui démarrent avec une solution initialement complète et de manière répétitive essaie d’améliorer cette solution en explorant son voisinage(ex: descente de gradient ).
Heuristique(suit) 3) domaines d’application Classification; Ordonnancement; Recherche. … etc
métaHeuristique 1) Définition Méta(au-delà) + heuristique = trouver avec un plus haut niveau d'abstraction. métaheuristique est un algorithmes d'optimisation (généralement de type stochastique) combinant plusieurs approches heuristiques.
métaHeuristique(suit) 2)Méthodes Il sont classer en deux classe principaux en fonction du nombre de solutions: métaheuristiques à solution unique; métaheuristiques à population de solutions.
métaHeuristique(suit)
métaHeuristique(suit) 3) Les domaines d’application NP-complétude; Problèmes de nombreux optimal locaux (l'optimisation multi objectif) ; Recherche des solutions approchées ; … etc.
Les approche de résolution heuristique et méthaheuristique Construction solution construite par une suite de choix Recherche locale (ou voisinage) une solution initiale modifiée itérativement Évolution une population de solutions évolue par des opérateurs génétiques (sélection, croisement, mutation) Hybridation mélange des approches précédantes
Heuristique vs métaheuristique pas de garantie d'optimalité Être généralisée(plusieurs pro-blèmes) spécifique à un seul problème Construisant Un ou plusieurs solution construisant une seule solution adaptables à tout type de problème d’optimisation Problème classique Recherche indépendant du problème Recherche dépendent du problème(guider)
Avantages et inconvénients Heuristique Avantages: Facile à apprendre; Facile à mettre en œuvre (en série ou en parallèle); Ne pas se arrêter à optimum local et la puissance de trouver un optimum global; sera de plus en plus important dans l'avenir. Inconvénients: pas de garantie d'optimalité. S’il y a trop de contraintes, difficile de trouver des solutions Métaheuristique Avantages: Etre Résolu mieux qu’ une heuristique. calcules très efficace. Plus généralisé Inconvénients: aussi pas de garantie d'optimalité. sont très difficiles
Application en intelligence artificielle Dans cette partie, nous évoquons leur application à deux problèmes centraux en intelligence artificielle sont: la satisfiabilité de formules booléennes (sat). la satisfaction des contraintes (csp).
Application en intelligence artificielle(suit) 1) la satisfiabilité de formules boolèenes(sat) Est un problème de décision défini par des formules logiques. Il s'agit, étant donné une formule de logique propositionnelle, de décider si cette formule possède une solution, c'est-à-dire si il existe une assignation des variables rendant la formule vraie.
Application en intelligence artificielle(suit) 1) Exemple de problème (SAT) Problème de décision: Peut-on satisfaire toutes les clauses ? Problème d’optimisation: Plus grand nombre de clauses pouvant être satisfaites ?
Application en intelligence artificielle(suit) 2) satisfaction de contraintes (csp) est un problème modélisé sous la forme d’un ensemble de contraintes posées sur des variables, chacune de ces variables prenant ses valeurs dans un domaine. Résoudre un CSP consiste à affecter des valeurs aux variables, de telle sorte que toutes les contraintes soient satisfaites.
Application en intelligence artificielle(suit)
Exemple (comparaison) Le problème de la recherche aléatoire : Un aveugle se déplace au hasard et se rappelle de la position du plus bas point rencontré.
Exemple (comparaison) Descente de gradient : principe : est de partir d'un point aléatoire ki puis de se déplacer dans la direction de la plus forte ki+1 L'algorithme converge vers une solution ki+1 qui est un minimum local ssi f(ki+1)< f(ki)
Exemple (comparaison) (suit) Donc E1 minimum local Est-ce que E1 est une solution optimal ? Position de départ aléatoire k Si f(k1)<f(k0) S=k1 On a f(kE1)<f(kE1+1) Alors S=kE1 on s'arrêt k0 k1 kE1
Exemple (comparaison) (suit) Requit simulé: x0 solution initiale k = 0; s = xk (meilleure solution rencontrée). Choisir une suite décroissante de nombre k > 0 (k = 1; 2;….n ) Tant que (condition d'arrêt non vérifiée) Choisir aléatoirement f(xk+1) proche de f(xk) (voisins) On a : xk+1 avec probabilité p les autre avec probabilité 1 - p Calculer p = min: Si f (xk+1) < f (xk) alors s = xk+1 k=k+1 Fin tant que
Exemple (comparaison) (suit) f(xk+1) le plus proche de f(xk) f(xk) solution initial S=xk f(xk+1) < f(xk) alors S=xk+1 On a f(xE1) < f(xE1+1) mais le condition d’arrêt n’est pas vérifier k<n Condition d’arrêt k=n f(xn )> f(xE3) Minimum local f(xE3) ; S=xE3 xk+1 xk Xn Espace de recherche
La différence entre les deux approches Une heuristique est le choix d'un élément aléatoire a l’aide de problème. Une métaheuristique ne sait rien sur le problème, il peut traiter des fonctions comme des boîtes noires mais elle est plus généralisé .
Conclusion Les heuristiques et les méta-heuristiques ont été utilisées avec succès pour résoudre de nombreux problèmes d’optimisation difficiles, et ces approches obtiennent bien souvent de très bons résultats lors des compétitions.
Références Christine Solnon, Résolution de problèmes combinatoires, Universite Lyon, 2007; Christine Shoemaker, Heuristic Methods for Optimization, Aout 24 2011; Christian Tanzer, Meta-Heuristics, janvier 2011; Denis Robilliard, Recherche opérationnelle et Optimisation, Univ Littoral-Cote d’opale, 2010 Jin-Kao Hao et Christine Solnon, Métaheuristiques , 2005 http://blackboard.cornell.edu
Questions ?