Professional Documents
Culture Documents
Pierre Brezellec Laboratoire Gnome et Informatique, Evry Prsentation informelle du problme Dfinition formelle du problme}
OPTIMISATION COMBINATOIRE MTAHEURISTIQUES LE PROBLEME DU VOYAGEUR DE COMMERCE CARACTERISATION DU PROBLEME TECHNIQUES DE RESOLUTION EXACTES DU PROBLEME TECHNIQUES DE RESOLUTION APPROCHEE DU PROBLEME: RECHERCHE D'UN OPTIMUM LOCAL CADRE DE TRAVAIL: LE PROBLEME A "RESOUDRE" LE VOISINAGE LA DESCENTE (RECHERCHE D'UN MINIMUM) LA DESCENTE (EXEMPLE) IDEES A LA BASE DES META-HEURISTIQUES RECUIT SIMULE (METROPOLIS [1953], KIRKPATRICK [1983]) LE TABOU (FRED GLOVER [1989]) LES ALGORITHMES GENETIQUES (1RE CONFRENCE EN 1986) CONCLUSION
1 1 2 4 4 6 6 6 8 8 8 9 10 11 12
CARACTERISATION DU PROBLEME
Etant donn une fonction f valeurs numriques dfinie sur X et un ensemble fini F(P) inclus dans X, trouver un lment x de F(P) qui atteint l'optimum de f Les lments de F(P) sont appeles solutions ralisables CARACTERISATION DU PROBLEME Optimiser (maximiser ou minimiser) la fonction objectif f dfinie sur X, l'optimum - appel x* devant appartenir au domaine F(P) X La condition x F(P) X est appele contrainte
SAT (problme SAT: satisfiable): tant donne une formule logique : existe-t il une interprtation qui la satisfasse ?
Problme du sac dos: Tableau d'objets/proprits O1 P1 P2 ... Pm max cjxj xi = 0 si Oj n'est pas dans le sac xi = 1 si Oj est dans le sac aijxj bj (contraintes) Le fait que les xi vaillent 0 ou 1 empche une rsolution numrique. Rsolution approche: mthodes de relaxation: exemple: xi [0,1[ dans le problme du sac dos, rsolution numrique, puis choix si xi > 0.5 alors xi = 1, sinon xi = 0. heuristiques: guides par astuces mta-heuristiques : indpendantes du problme trait O2 O3... On b1 b2
bm
P ?= NP Cook (1971): tout problme peut se rduire SAT en temps polynomial (reformulation). (Informatique quantique ?) Problmes de dcision = problmes doptimisation Problmes de dcision : 2 rponses : oui/non Classes P et NP Exemples : - a) parit dun nombre entier, - b) plus court chemin G dans un graphe, a et b sommets de G et B un nombre entier. Question : existe til un chemin entre a et b de longueur infrieure B. -c) Question : existe til un chemin lmentaire (cad ne passant pas 2 fois par un mme sommet) entre a et b de longueur suprieure B ? -d) G admet il un cycle hamiltonien (cad passant une fois et une seule par chaque sommet) ? Classe P : classes de problmes de dcision polynomiaux. Un problme appartient P si il peut tre rsolu par un algorithme A de complexit O(Nk) o k est une constante et N la taille du problme. Problmes ci dessus : - a) O(1) -> division par 2 - b) O(N2) - c) et d) jusquici pas trouv NP : classes de problme de dcision pouvant tre rsolus en temps polynomial par un algo non dterministe Df : un problme appartient NP ssi pour tout jeu de donnes du problme ayant pour rponse oui , il existe un certificat permettant avec un algorithme polynomial, de vrifier que la rponse au problme est effectivement oui . Problmes c) et d) : la vrification, si on donne le chemin ou lhamiltonien est faite en temps polynomial. - problme de la non primalit : n est il divisible par un nombre autre que 1 et lui mme ? Ce problme appartient NP car : - si on considre une instance o la rponse est oui , cad que n nest pas premier, il admet un diviseur a et en prenant a comme certificat, la division par a (en temps polnomial) vrifie la rponse au problme, donc ce problme appartient NP Complmentaire : n est il premier ? : Ici la dtermination dun certificat est moins aise (mais la dmonstration existe). Note : P est inclus dans NP NP complets : en 1970, Cook a montr que parmi les problmes de dcision, certains taient plus difficiles rsoudre que dautres. Conjecture : seuls des algorithmes numratifs de complexit
au moins O(2N) permettent la rsolution de ces problmes NP complets . Les problmes c) et d) dans un graphe quelconque sont NP complets. Par contre, dans un graphe sans circuit, le problme c) est en O(m), m tant le nombre darcs. Problmes doptimisation NP difficiles : Problme b) : trouver un chemin entre a et b de longueur minimale Problme c) : trouver un chemin entre a et b de longueur maximale Les versions optimisation sont au moins aussi difficiles rsoudre que les versions dcision . Si le problme de dcision est NP complet , la version optimisation sera qualifie de NP difficiles (numration de type sparation et valuation).
TECHNIQUES DE RESOLUTION APPROCHEE DU PROBLEME : RECHERCHE D'UN OPTIMUM LOCAL Mthodes de relaxation
On relche le problme pour rendre plus ais sa rsolution La solution obtenue n'est pas ncessairement la solution optimale du problme
Heuristiques
Recherche guide par des "astuces" qui dpendent du problme trait
Mta-heuristiques
Mthodes de recherche indpendantes du problme trait (recuit simul, tabou search, ...) Pour les problmes intressants, i.e. les problmes NP,on ne connait pas d'algorithmes exacts et rapides permettant de rsoudre la question pose EXPONENTIEL versus POLYNOMIAL n=1 Exponentielle 1,1 n=10 2593 n=100 13780,61 n=500 4,969.10
20
n=1000 2,469.1041
Polynomiale
1010
1020
9,765.1026
1030
CADRE DE TRAVAIL:
LE PROBLEME A "RESOUDRE"
f : E > R E est couramment appel "espace de recherche". On cherche l'optimum de f, i.e. l'lment x de E minimisant (ou maximisant) f. On suppose que l'espace E est de grande taille
LE VOISINAGE
Notion de voisinage : l'espace est structur A chaque lment x de E, on associe un voisinage. Un voisinage est un ensemble d'lments de E
xE
1 0 0 0 0 0
1 0 1 1 1 1
0 0 1 0 0 0
1 1 1 0 1 1
0 0 0 0 1 0
1 1 1 1 1 0
LA DESCENTE (EXEMPLE)
RECUIT SIMULE (Metropolis [1953], Kirkpatrick, Gelatt, Vecci [1982], indpendamment Cerny en 1985)
Mthode inspire d'une analogie avec un phnomne physique (exemple de laimantation). Analogie avec Boltzmann. Ne dispose pas en elle-mme de mcanismes "anti-bouclage" RECUIT SIMULE (recherche d'un minimum)
choisir choisir choisir choisir choisir [0,1[ T < T_{i}$ WHILE { Tf < T} FOR {k = 1 to NB} S < voisin alatoire de s < f(s') - f(s)$ IF { 0} s < s' ELSE -/T s < s' avec la probabilit e ENDIF ENDFOR T < T* ENDWHILE une solution initiale s une temprature initiale Ti > 0 une temprature finale Tf > 0 // Tf < Ti un nombre d'itration NB ( une temprature donne) le coefficient de diminution de la temprature
Explication : - si T grande, exp(-/T) est de lordre de 1, on garde toujours le mouvement, mme si il est mauvais. - si T trs petit, exp(-/T) est de lordre de 0, donc les mouvements qui augmentent lnergie (la diffrence) sont disqualifis. - mthode : on tire au hasard dans lintervalle [0,1[, si le nombre est < exp(-/T) , on garde sinon on jette. Amlioration: stocker la meilleure solution !!! Cest une bonne mthode pour le voyageur de commerce, mais pas trs bonne pour les problmes dordonnancement.
choisir la taille k de la liste tabou LTABOU choisir un nombre d'itration NB choisir une solution initiale s meilleure_evaluation < f(s) meilleure_solution < s change < TRUE WHILE {change = TRUE} change < FALSE FOR {iteration = 1 to NB} identifier le voisinage N(s) T(s,k) <- les points de N(s) de la liste LTABOU N(s,k) <- N(s)-T(s,k)+A(s,k) trier le voisinage en fonction de la fonction f s = lment de N(s,k) tel que f(s) minimum IF {f(s') < meilleure_evaluation} meilleure_solution < s' meilleure_evaluation < f(s') change = TRUE ENDIF mettre jour la liste tabou, (i.e. ajouter N(s,k) LTABOU) s < s' ENDFOR ENDWHILE
Note : la gestion de la liste tabou est de type FIFO (First In First Out) La liste tabou ne doit pas tre trop grande (sinon, on bloque les mouvements), ni trop petite. En gnral, k=7 est pas mal. Nanmoins, la taille de la liste doit tre proportionnelle la taille du problme. Algorithme tabou de base : mmoire court terme (liste taboue), assure une diversification court terme Algorithme tabou volu : mmoire court terme (liste taboue) + mmoire long terme pour assurer lintensification et/ou la diversification
Mutation
Croisement
0 1 0 1 0 1
Algorithme :
Choisir la taille t de la population Gnrer la population initiale P // i.e. un ensemble de solutions WHILE {le critre d'arrt n'est pas satisfait} // recombinaisons par mutation et croisement Reproduction des individus de P // slection probabiliste de t individus // crs l'tape prcdente (plus ils sont "bons", // et plus la probabilit de les slectionner // est forte Mise jour de P ENDWHILE
Dans un espace cartsien, par exemple des points en 2 dimensions, si les solutions prcdentes sont (x1,y1) et (x2,y2), on pourrait crer des mutations (x1+x1,y1) ou (x2,y2+x2), etc ou des croisements comme (x1,y2) et (x2,y1) pour crer de nouvelles solutions.
CONCLUSION
Convergence ( la limite) des Mta-heuristiques Robustesse aux conditions initiales Ncessit d'automatiser le processus d'initialisation des paramtres Plus on injecte de la "culture" dans la dfinition du voisinage, meilleurs sont les rsultats O l'heuristique irrigue la Mta-heuristique
Combiner les Mta-Heuristiques entre elles "Au pays des Z'heuristiques, l'inceste n'est pas tabou" Existence d'autres Meta-Heuristiques (Bruitage, etc.)