Algorithmes d`optimisation multicritère Théorie de l`évolution
Transcription
Algorithmes d`optimisation multicritère Théorie de l`évolution
Algorithmes d’optimisation multicritère Algorithmes de résolution Algorithmes exacts Heuristiques Heuristiques spécifiques B&B Prog. Dyn. Métaheuristiques 2 phases Selon Jones, Mirrazavi et Tamiz (2002): - 70% Algorithmes évolutionnistes - 24% Recuit simulé - 6% Recherche tabou Recuit simulé Recherche Algorithmes évolutionnistes tabou Note: certains transparents sont tirés de divers présentations disponibles sur le web (Thiele, Dhaenens, Talbi). Je reste bien sûr seul responsable de toute erreur. 2 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Opérateurs génétiques Théorie de l’évolution • Darwin, L’origine des espèces, 1859: • Il existe au sein de chaque espèce de nombreuses variations, chaque individu étant différent • Les ressources naturelles étant finies, il naît rapidement plus d’êtres vivants que la nature ne peut en nourrir; il en résulte une lutte pour l’existence entre chaque organisme • Les individus survivants possèdent des caractéristiques qui les rendent plus aptes à survivre (sélection naturelle) • Les organismes survivants transmettent leurs avantages à leur descendance; l’accumulation au cours des générations des petites différences entre chaque branche généalogique crée de nouvelles espèces de plus en plus aptes à survivre 3 Optimisation Nature Espace de recherche Ecosystème Fonction(s) objectif(s) Ressources Groupe de solutions similaires Espèces Distance mathématique Différence biologique Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Chaque individu est représentée par un génotype et s’exprime sous la forme d’un phénotype Une fonction d’adaptation permet de distinguer les individus les plus performants L’opérateur de sélection décrit la manière dont les candidats sont choisis pour la reproduction L’opérateur de croisement correspond à la méthode utilisée pour mélanger les génotypes des parents L’opérateur de mutation décrit la fréquence et la nature des changements affectant le génotype lors de la transmission des gènes • • • • Génération d’une population initiale Reproduction des individus: • Croisement Itération • Mutation Sélection croisement individu mutation population Condition d’arrêt 4 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Algorithmes evolutionnistes 1. 2. 3. 4. 5. 6. 7. 8. tĸ0 A(0) ĸ Ø Tant qu’une condition d’arrêt n’est pas remplie faire t ĸ t+1 B(t) ĸ générer(A(t-1)) {créer une nouvelle génération} A(t) ĸ sélectionner(A(t-1),B(t)) {sélectionner les parents} Fin tant que Retourner le(s) « meilleur(s) » individu(s) de A(t) Algorithmes génétiques Stratégies évolutionnistes générer(A(t-1)) générer(A(t-1)) 1. Reproduire des individus à l’aide de l’opérateur de croisement 1. Choisir aléatoirement un individu dans A(t-1) et le dupliquer 2. Appliquer l’opérateur de mutation sur les nouveaux individus 2. Appliquer l’opérateur de mutation sur cet individu 5 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Exemple monocritère (codage décimal) Exemple monocritère On cherche à optimiser une fonction f: \]a,b] o . f(x) a Etape 1: choix du codage et d’une fonction d’adaptation Codage (génotype): séquence de bits, nombre décimal… Fonction d’adaptation: f Etape 2: Opérateurs de croisement et de mutation 10100110 10100101 ax + (1-a)y 00010101 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère x + İ (İ dans [-1,1] ) 10101101 Olivier Spanjaard – RHAD 6 Métaheuristiques pour l’optimisation combinatoire multicritère Objectifs Remarque: l’opérateur de mutation permet de maintenir de la diversité et favorise l’exploration Ex: si toutes les solutions dans la population sont dans [x,y], il n’est plus possible de sortir de l’intervalle avec le seul opérateur de croisement 1er problème: en croisant deux points, on peut obtenir un point dans l’intervalle ]a,b[ ĺ il est nécessaire d’affiner le codage, en utilisant par exemple une fonction intermédiaire qui replonge dans un espace fermé Ex: c(x)=x si x<=a et c(x)=x-b+a si x>b 2e problème: optimisation multimodale, si l’on veut trouver plusieurs optima il est nécessaire de pénaliser les points qui ont une forte densité de population dans le voisinage (technique des niches) Ex:f’(x)=f(x)/m où m nb sol « voisines » 7 x b y2 Diversité Comment maintenir la diversité dans l’approximation ? o estimation de la densité y1 Convergence 8 Olivier Spanjaard – RHAD Comment guider la population vers l’ensemble de Pareto ? n fonction de sélection Métaheuristiques pour l’optimisation combinatoire multicritère Fonctions d’adaptation (Fitness) Fonctions fondées sur la dominance A la différence du cas monocritère, où fonction objectif et fonction d’adaptation sont souvent identiques, le choix de la fonction d’adaptation ne va pas de soi. Somme pondérée Les poids utilisés varient au cours de la recherche afin de trouver un ensemble de solutions efficaces Dominance Types d’information: profondeur de dominance ĺ Sur quel front un individu est situé rang de dominance ĺ Par combien d’individus est dominé un individu compteur de dominance ĺ Combien d’individus sont dominés par un individu On se base sur la dominance de Pareto pour calculer la valeur de la fonction d’adaptation ĺ meilleurs résultats en pratique 9 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère NSGA (Srinivas et Deb, 1995) 10 Olivier Spanjaard – RHAD NDS (Fonseca et Fleming, 1995) Métaheuristiques pour l’optimisation combinatoire multicritère Sélection Fonctions d’adaptation hybrides (Zitzler et Thiele, 1999) Nb de solutions dominées Cte + Ȉ solutions dominant 11 Olivier Spanjaard – RHAD (Zitzler, Laumanns et Thiele, 2001) Sélection proportionnelle : on tire aléatoirement les solutions conservées, en biaisant selon la fonction d’adaptation. Inconvénient: un individu largement supérieur aux autres sera sélectionné un nombre trop élevé de fois, entraînant une convergence trop précoce de l’algorithme. Sélection selon le rang : les individus sont rangés par ordre de valeur d’adaptation, et une proba de sélection est donnée à chacun selon son rang. Tournois (Horn, Nafpliotis et Goldberg, 1994) : deux individus A et B rentrent en compétition par rapport à un ensemble de tdom individus de la population appelé ensemble de comparaison. Si le compétiteur A domine tous les individus de l’ensemble et l’autre compétiteur B est dominé par un individu de l’ensemble, alors l’individu est sélectionné. Le paramètre tdom contrôle la pression de sélection. Elitisme : combiné à l’un des trois approches ci-dessus, cela consiste en la sélection automatique des solutions efficaces trouvées, éventuellement départagées selon la densité. S( ): nb de solutions dominées Ȉ S(solutions dominant) Métaheuristiques pour l’optimisation combinatoire multicritère 12 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Fonction de partage Maintien de la diversité Dégrade l’évaluation d’un individu selon le nombre d’individus similaires: f ( x) f ' ( x) m( x ) On module la probabilité de sélection d’un individu en fonction de la densité de population dans son voisinage Voisins Hypergrille Compteur de niches: m( x) Partage ¦ sh(dist ( x, y)) yPop Propriétés de la fonction de partage sh : 0 d sh(dist ( x, y )) d 1 2. sh(0) 1 1. lim 3. dist ( x , y ) o f sh(dist ( x, y )) 0 sh On prend la distance au kième La densité de population plus proche voisin pour estimer correspond au nb d’individus la densité dans la même boîte Ex: pour une fonction d’ évaluation à minimiser on rajoute l’inverse de cette valeur 13 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Exemple: Arbres couvrants multicritères sh(dist ( x, y )) 1 ( dist ( x, y ) V sh )D 0 si dist ( x, y ) V sh 1 sinon V sh Olivier Spanjaard – RHAD 14 dist Métaheuristiques pour l’optimisation combinatoire multicritère Encodage en un nombre de Prüfer Procédure d’encodage en un nombre de Pr¾fer Pas 1. Soit j le sommet de plus petit indice en une feuille de l’arbre T. Pas 2. Poser k comme premier chiffre si le sommet k est adjacent à j. Pas 3. Supprimer le sommet j et l’arête de j à k, en créant ainsi un arbre à n-1 sommets. Pas 4. Répéter les pas 1-3 jusqu’à ce qu’une arête reste et renvoyer le nombre de Prüfer à n-2 chiffres. 3 6 4 Arbre 2 1 7 5 15 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère 16 Nombre de Prüfer 1 1 1 2 2 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Opérateurs génétiques (Zhou et Gen) Decodage d’un nombre de Prüfer Masque 1 0 1 1 0 1 0 Parent 1 1 1 2 2 3 3 3 Pas 1. Soit P le nombre de Prüfer initial et P* l’ensemble des sommets non inclus dans P. Parent 2 1 2 1 3 2 3 1 Pas 2. Soit j le sommet de plus indice dans P*, et soit k le chiffre le plus à gauche dans P. Ajouter l’arête de j à k dans l’arbre. Retirer j de P* et k de P. Si k n’apparaît plus dans la partie restante de P, le placer dans P*. Répéter la procédure jusqu’à ce qu’il ne reste plus de chiffre dans P. Enfant 1 1 2 2 2 2 3 1 Enfant 2 1 1 1 3 3 3 3 Procédure de décodage d’un nombre de Pr¾fer Pas 3. Si il ne reste plus de chiffre dans P, il reste exactement deux sommets, r et s, dans P*. Ajouter l’arête de r à s dans l’arbre. Choisir deux positions au hasard Parent 1 1 2 2 3 3 3 Echanger les chiffres Enfant 1 1 3 2 3 2 3 Croisement Mutation Fonction d’adaptation : rang de dominance Maintien de la diversité : utilisation d’une fonction de partage Sélection proportionnelle : on tire aléatoirement les individus conservés en biaisant le tirage selon les valeurs de la fonction d’adaptation Olivier Spanjaard – RHAD 17 Métaheuristiques pour l’optimisation combinatoire multicritère Résultats numérique et limites • • L’algorithme renvoie une approximation de la frontière efficace en 35s environ sur des instances à 50 sommets L’encodage de Prüfer ne garantit pas que des codes voisins correspondent bien à des arbres voisins Exemple: Les nombres 3241 et 3242 conduisent à deux arbres qui ont seulement deux arêtes sur cinq en commun 5 1 3 6 • 5 Théoriquement (par analyse): – Comportement asymptotique: 1 3 « Est-ce qu’on converge bien vers l’ensemble de Pareto si on s’autorise un temps infini ? » 2 6 – Analyse du temps d’exécution: D’autres codages ont été proposés, qui semblent conduire à une meilleure approximation de la frontière efficace On dispose aujourd’hui d’algorithmes exacts qui résolvent plus rapidement des instances de cette taille. Par contre, sur des instances de grande taille, peu d’autres approches sont envisageables 19 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Empiriquement (par expérimentations numériques) 4 2 Olivier Spanjaard – RHAD Evaluer les performances des algorithmes 4 • 18 Métaheuristiques pour l’optimisation combinatoire multicritère « Quel est le temps moyen pour engendrer l’ensemble de Pareto ? » 20 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Problème: Détérioration f2 t f2 Epsilon-Dominance t+1 population de taille 3 éliminée H-dominée dominée Définition 1: H-Dominance A H-domine B ssi (1+H)·f(A) t f(B) (Warburton, 1987) nouvelle solution nouvelle solution f1 f1 La nouvelle solution acceptée en t+1 est dominée par une solution trouvée précédemment (et « perdue » durant la procédure de sélection) Objectif: maintenir une « bonne » frontière de Pareto (distance + diversité) 21 Olivier Spanjaard – RHAD Pareto H-Pareto Métaheuristiques pour l’optimisation combinatoire multicritère Algorithme générique Définition 2: ensemble H-Pareto Un sous-ens de l’ens Pareto-optimal qui H-domine toutes les solutions Pareto-optimales Olivier Spanjaard – RHAD 22 Assurer Convergence et Diversité Procédure de recherche itérative t:=0 A(0):=Ø tant que terminer(A(t),t) = faux faire t:=t+1 f(t):=générer() A(t):=sélectionner(A(t-1),f(t)) fin tant que Retourner A(t) Objectif: Maintenir un ensemble H-Pareto Idée: H-grille, i.e. maintenir un ens boîtes non-dom (une solution par boîte) 3 y2 (1+H) 2 (1+H) (1+H) 1 1 23 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Métaheuristiques pour l’optimisation combinatoire multicritère 24 (1+H) 2 (1+H) y1 3 (1+H) Olivier Spanjaard – RHAD Algorithme: (H-sélectionner) Accepter une nouvelle solution f si n la boîte correspondante n’est pas dominée par une boîte représentée dans la population ET o tout autre solution dans la même boîte est dominée par la nouvelle solution Métaheuristiques pour l’optimisation combinatoire multicritère Validité de l’algorithme Validité de l’algorithme Théorème (Laumanns et al.): Soit F = (f1, f2, f3, …) une séquence infinie de vecteurs passés un par un à l’algorithme H-sélectionner, et Ft l’union des premiers t vecteurs de F. Alors pour tout t > 0, on vérifie: n la population A à l’instant t est un ens H-Pareto de Ft o la taille de la population A à l’instant t est bornée par le terme (K = “max sur un critère”, m = “nombre de critères”): § log K · ¨¨ ¸¸ log( 1 H ) © ¹ Idée de la preuve: n 3 causes pour que At ne soit pas dans l’ensemble H-Pareto de Ft : À l’instant k d t une solution nécessaire a été manquée À l’instant k d t une solution nécessaire a été exclue At contient un f ensemble de Pareto de Ft o Nb de boîtes dans l’espace des critères: Au plus une solution par boîte m 1 Partition en §¨ log K ·¸ chaînes de boîtes m 1 § log K · ¨¨ ¸¸ © log(1 H ) ¹ ¨ log(1 H ) ¸ © ¹ 25 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Indicateurs pour comparer les frontières Olivier Spanjaard – RHAD 26 m § log K · ¨¨ ¸¸ © log(1 H ) ¹ Métaheuristiques pour l’optimisation combinatoire multicritère Indépendamment des préférences (Hansen et Jaskiewicz, 1998) Approximation de l’ens de Pareto (sortie de l’algorithme) = ens de solutions incomparables ND(X) = ensemble des éléments efficaces de X (1) A domine faiblement B A A B ND(AUB) = A B (2) C domine D ND(CUD) = C et D - ND(CUD) Ø B Est-ce que A est meilleure que B? Indépendamment Oui (strict.) Non des préférences En fonction des De combien? Sur quels aspects? préférences D Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère A domine strictement C ND(AUC) = A et CŀND(AUC) = Ø A B est incomparable avec C C Remarque: (3) (2) (1) pour A,B,C Ø ! 27 (3) 28 Dominance, dominance stricte partie asymétrique de dominance faible Exemple: A domine faiblement B et B ne domine pas faiblement A, et pourtant A ne domine pas B, et A ne domine pas strictement B Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Indicateurs: exemples quand la frontière efficace est connue En fonction des préférences Objectif: Obtenir des indicateurs permettant de comparer deux approximations A et B. application d’un indicateur A B A 432.34 0.3308 0.3637 0.3622 6 hypervolume distance diversité étalement cardinalité B 420.13 0.4532 0.3463 0.3601 5 comparaison et interprétation des indicateurs “A est meilleure” Olivier Spanjaard – RHAD 29 Métaheuristiques pour l’optimisation combinatoire multicritère Indicateurs: exemples quand la frontière efficace est inconnue Unaire Hypervolume Binaire Couverture B C(A,B) = 25% C(B,A) = 75% A S(A) A 30 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Propriétés des indicateurs unaires Il semble désirable pour un indicateur d’être compatible avec les différentes formes de dominance Hypervolume Avantage : Compatible avec la dominance faible dès lors que le point de référence garantit que toute approximation réalisable est évaluée positivement Inconvénient : Dépend du choix d’un point de référence (le choix d’un point de référence ou d’un autre peut conduire à une inversion du sens de la préférence) Distance moyenne Avantage : Compatible avec la dominance stricte pour des approximations de même cardinal Inconvénient : Des incompatibilités pour des approximations de cardinaux distincts (Zitzler et Thiele, 1999) 31 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère 32 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère Limites des indicateurs unaires (pratiques) Limites des indicateurs unaires (théoriques) Indicateurs unaires: distance moyenne, nombre de solutions Théorème (Zitzler et al.): Soient A et B deux approximations de la frontière efficace. Il n’existe pas d’indicateur unaire qui soit capable de détecter est-ce que A domine faiblement B. Ce constat tient toujours si on considère une combinaison finie d’indicateurs unaires. Les indicateurs unaires ne permettent pas de détecter estce que A domine faiblement B; au maximum ils permettent de détecter que B ne domine pas faiblement A. S est meilleure que T pour les deux indicateurs 33 Olivier Spanjaard – RHAD T est meilleure que S pour les deux indicateurs Métaheuristiques pour l’optimisation combinatoire multicritère Couverture C(A,B)=1 signifie que tous les vecteurs dans B sont dominés au sens large par un vecteur A C(A,B)=0 représente la situation où aucun point de B n’est dominé au sens large par un vecteur de A C(A,B) pas nécessairement égal à 1-C(B,A) Compatible avec la dominance faible si on considère A comme meilleure que B dès lors que C(A,B)=1 (tautologique!), sinon des cycles: Exemple: C(A,B)>C(B,A) pt ds A pt ds B pt ds C min C(A,B)=0 et C(B,A)=3/4 C(B,C)=0 et C(C,B)=1/2 C(A,C)=1/2 et C(C,A)=0 Inconvénient: relation pauvre 35 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère 34 Olivier Spanjaard – RHAD Métaheuristiques pour l’optimisation combinatoire multicritère