Recherche Opérationnelle IFIPS – Département Informatique
Recherche Opérationnelle
Cours de 5ème année par A. LISSER
Version du 2 décembre 2004 par Marc SIBERT
1 / 36
Recherche Opérationnelle IFIPS – Département Informatique
Table des matières
Les Méta-Heuristiques..........................................................................................................................4
1 Introduction : la fable des randonneurs.........................................................................................4
2 Formulation du problème..............................................................................................................4
3 Méthode de descente (ou amélioration itérative)..........................................................................4
3.1 Principe................................................................................................................................. 4
3.2 Voisinage d'une solution....................................................................................................... 4
3.3 Quelques exemples de voisinage.......................................................................................... 5
3.4 Exemple : le problème du voyageur de commerce............................................................... 5
3.5 Schéma général d'une descente............................................................................................. 6
4 Le recuit simulé ou RS (Simulated Annealing)............................................................................ 6
4.1 Analogie avec la thermodynamique......................................................................................6
4.2 Schéma du recuit simulé....................................................................................................... 7
4.3 L'algorithme du Recuit Simulé..............................................................................................7
4.4 Modèles de recuit..................................................................................................................8
5 Variable Neighborhood Search (V.N.S.)...................................................................................... 9
La Relaxation Lagrangienne...............................................................................................................10
1 Rappels........................................................................................................................................10
2 Exemple...................................................................................................................................... 10
3 Position du problème.................................................................................................................. 14
4 Résolution du problème dual......................................................................................................15
5 Relaxation Lagrangienne et Programmation Linéaire................................................................ 15
Généralités sur les graphes................................................................................................................. 17
1 Définitions.................................................................................................................................. 17
Arbres Couvrant de Poids Minimum (ACPM)...................................................................................19
1 Définition....................................................................................................................................19
2 Exemple...................................................................................................................................... 19
3 Applications................................................................................................................................19
4 Conditions d'optimalité...............................................................................................................19
4.1 Conditions d'optimalité liées aux coupes............................................................................19
4.2 Conditions d'optimalité du chemin..................................................................................... 20
5 1er algorithme : Algorithme de Kruskal..................................................................................... 20
5.1 Étapes de l'algorithme......................................................................................................... 20
5.2 Remarque............................................................................................................................ 20
5.3 L'algorithme de Kruskal......................................................................................................20
6 2ème algorithme : Algorithme de PRIM.................................................................................... 21
6.1 Principe de l'algorithme.......................................................................................................21
6.2 Algorithme de PRIM...........................................................................................................21
6.3 Complexité de l'algorithme de PRIM..................................................................................21
6.4 Exemple.............................................................................................................................. 22
7 3ème algorithme : Algorithme de Sollin.....................................................................................22
7.1 Principe............................................................................................................................... 22
7.2 Complexité..........................................................................................................................22
7.3 Exemple.............................................................................................................................. 23
ACPM et Programmation Linéaire.....................................................................................................24
1 Motivations................................................................................................................................. 24
2 PL correspondant au problème de l'ACPM................................................................................ 24
Plus court chemin............................................................................................................................... 25
2 / 36
Recherche Opérationnelle IFIPS – Département Informatique
1 Introduction.................................................................................................................................25
1.1 Domaines d'applications..................................................................................................... 25
1.2 Définitions...........................................................................................................................25
1.3 Problème de PCC (plus court chemin)................................................................................26
2 Algorithmes de PCC................................................................................................................... 26
3 PCC d'un sommet à tous les autres.............................................................................................27
3.1 Motivations......................................................................................................................... 27
3.2 Exemple.............................................................................................................................. 27
3.3 Algorithme de Dijkstra........................................................................................................27
3.4 Complexité..........................................................................................................................28
Problème de flots................................................................................................................................30
1 Applications................................................................................................................................30
2 Définitions.................................................................................................................................. 30
3 Algorithme de Ford-Fulkerson................................................................................................... 32
3.1 Chaîne augmentante............................................................................................................32
3.2 Exemple.............................................................................................................................. 32
3.3 Principe de l'algorithme.......................................................................................................33
Problèmes de multiflots......................................................................................................................34
1 Formulation sommets-arcs..........................................................................................................34
2 Conditions d'optimalité...............................................................................................................34
3 Formulation arcs-chemins...........................................................................................................35
3 / 36
Recherche Opérationnelle IFIPS – Département Informatique
Les Méta-Heuristiques
Ce sont des méthodes approchées qui ne donnent pas le résultat exact. Elles sont basées sur
l'exploration du voisinage.
1 Introduction : la fable des randonneurs
4 randonneurs (R1, R2, R3 et R4) arrivés au sommet du Mont Blanc sont surpris par le brouillard. Ils
doivent redescendre à Chamonix et choisissent différentes stratégies pour leurs retours :
R1 effectue l'exploration exhaustive → temps de calcul très important ;
R2 suit des chemins descendants → risque de blocage dans une cuvette (minimum local) :
c'est la méthode de descente ;
R3 fait le choix de chemins aléatoires → il peut atteindre son but avec une certaine
probabilité : c'est la méthode probabiliste, le recuit ;
R4 mémorise les chemins déjà empruntés → taille mémoire limitée, mais peut atteindre son
but : c'est la méthode tabou.
2 Formulation du problème
Le problème à résoudre se présente comme suit :
Minimiser f X
XS
S est l'ensemble (fini) des solutions.
Un élément de S s'appelle une solution réalisable ou solution. Si cet élément donne à f sa valeur
minimale, on l'appellera solution optimale du problème.
3 Méthode de descente (ou amélioration itérative)
3.1 Principe
Il s'agit de partir d'une solution de départ X0 et d'engendrer une suite finie de solutions Xi
déterminées de proche en proche. Xi+1 est calculé à partir de Xi tel que
i ,fXifXi1
. Pour
passer d'une solution à une autre, on utilise la notion de voisinage de celle-ci.
3.2 Voisinage d'une solution
En général, le voisinage d'une solution est définie à l'aide d'une transformation élémentaire (ou
locale). On appelle transformation toute opération permettant de changer une solution X en une
solution X' de S. Une transformation est dite locale si elle ne modifie que faiblement la solution
courante à laquelle elle s'applique.
4 / 36
Recherche Opérationnelle IFIPS – Département Informatique
Le choix de la transformation dépend à priori du problème à résoudre. Néanmoins, une
transformation doit répondre à deux exigences :
on doit pouvoir évaluer facilement ses conséquences dans la mesure où elle va être appliquée de
nombreuses fois ;
elle doit permettre d'explorer une grande partie de l'espace des solutions.
Définition
« Étant donné une transformation locale, le voisinage V(X) d'une solution X est l'ensemble des
solutions que l'on peut obtenir en appliquant à X cette transformation locale ».
3.3 Quelques exemples de voisinage
Pour définir le voisinage, on utilise une ou plusieurs des opérations suivantes, selon la nature du
problème et du codage des solutions :
1. Complémentation
On remplace un bit par son complémentaire. Exemple : 10010100 → 10010010
2. Échange
Consiste à intervertir deux caractères différents de la chaîne. Exemple : ABCDEF → AFCDEB
3. Insertion - décalage
Consiste à choisir deux positions a et b, à insérer en position a le caractère situé en position b et
à décaler tous les caractères situés entre a (inclus) et b (exclu) d'un cran à droite si b > a ou à
gauche sinon. Exemple : ABCDEF → ABECDF
4. Inversion
Elle consiste à choisir deux positions a et b avec b > a puis à inverser l'ordre d'écriture des
caractères entre a et b (inclus). Exemple : ABCDEF→ AEDCBF
3.4 Exemple : le problème du voyageur de commerce
En général, on choisit 2 arêtes non adjacentes dans le cycle hamiltonien1 et on les remplace par les 2
arêtes qui permettent de reconstituer le cycle hamiltonien :
Cette transformation a été proposée par S. Lin et B.W. Kerningham et appelée 2-opt.
1 Cycle Hamiltonien : passe par tous les noeuds une et une seule fois avec fermeture ;
Chemin Hamiltonien : idem mais sans fermeture (sans retour au point de départ)
5 / 36
i
i+1
j
j+1
i
i+1
j
j+1
2-opt
1 / 36 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !