mise à niveau en recherche opérationnelle première partie théorie des graphes mohamed ali...
TRANSCRIPT
![Page 1: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/1.jpg)
Mise à Niveau en Recherche Opérationnelle
Première partie
Théorie des graphes
Mohamed Ali [email protected]
Ce transparents ont été élaborés en se basant sur le document de
Pierre Lopez, LAAS, Toulouse http://www.laas.fr/~lopez/cours/GRAPHES/graphes.html
![Page 2: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/2.jpg)
Plan du cours
1. Qu’est ce qu’on peut faire avec la théorie des graphes ?
2. Concepts généraux en théorie des graphes
3. Le problème du plus court chemin
4. Problème central de l’ordonnancement
5. Flots et réseaux de transports
http://www.laas.fr/~lopez/cours/GRAPHES/graphes.htmlhttp://www.laas.fr/~lopez/cours/GRAPHES/graphes.html
![Page 3: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/3.jpg)
Pourquoi la théorie des graphes ?
• Modélisation– Plusieurs problèmes dans différentes
disciplines (chimie, biologie, sciences sociales, applications industrielles, …)
– Un graphe peut représenter simplement la structure, les connexions, les cheminements possibles d’un ensemble complexe comprenant un grand nombre de situations
• Un graphe est une structure de données puissante pour l’informatique
Exemples
![Page 4: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/4.jpg)
1. Concepts généraux en théorie des graphes
• Définitions
• Représentations d’un graphe
• Coloration des sommets d’un graphe
• Connexité dans les graphes
• Graphes particuliers
![Page 5: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/5.jpg)
1. Concepts généraux en théorie des graphes
Définitions• Concepts orientés
– Un graphe G(X,U) est déterminé par
• Un ensemble X={x1,…,xn} de sommets
• Un ensemble U={u1, …, um} du produit cartésien X×X d’arcs.
– Un p-graphe : pas plus que p arcs (xi,xj)
3-graphe
1-graphe = graphe
boucleArc u=(xi,xj)
![Page 6: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/6.jpg)
1. Concepts généraux en théorie des graphes
Définitions• Graphes et applications multivoques
– xj est successeur de xi si (xi,xj)U– L’ensemble des successeurs de xi est noté
(xi)– L’ensemble des prédécesseurs de xi est noté
-1(xi) est appelée une application multivoque
• Pour un 1-graphe, G peut être parfaitement déterminé (ou caractérisé) par (X,)
![Page 7: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/7.jpg)
1. Concepts généraux en théorie des graphes
Définitions
• Concepts non orientés– On s’intéresse à l’existence d’arcs entre deux
sommets sans en préciser l’ordre– Arc = arête– U est constitué de paires non pas de couples– Multigraphe : plusieurs arêtes entre deux
sommets– Graphe simple = non multigraphe + pas de
boucles
![Page 8: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/8.jpg)
1. Concepts généraux en théorie des graphes
Définitions
• D’autres définitions : Voir http://www.laas.fr/~lopez/cours/GRAPHES/graphes.html– Adjacence, degrés, Graphe complémentaire,
partiel, sous graphe, sous graphe partiel– Graphe réflexif, irréflexif, symétrique,
antisymétrique, transitif, complet …
définitions
![Page 9: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/9.jpg)
1. Concepts généraux en théorie des graphes
Représentations d’un graphe
1. Matrice d’adjacence
Pour un graphe numérisé : remplacer 1 par la valeur de l’arc
Place mémoire : n²
![Page 10: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/10.jpg)
1. Concepts généraux en théorie des graphes
Représentations d’un graphe
2. Matrice d’incidence sommets-arcs
Place mémoire : n x m
![Page 11: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/11.jpg)
1. Concepts généraux en théorie des graphes
Représentations d’un graphe3. Listes d’adjacence
Place mémoire : n+1+m
![Page 12: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/12.jpg)
1. Concepts généraux en théorie des graphes
Coloration d’un graphe
![Page 13: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/13.jpg)
1. Concepts généraux en théorie des graphes
Coloration d’un graphe
![Page 14: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/14.jpg)
1. Concepts généraux en théorie des graphes
Connexité dans les graphes• Chaîne – Cycle
• Chemin – Circuit
![Page 15: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/15.jpg)
1. Concepts généraux en théorie des graphes
Connexité dans les graphes• Le terme parcours regroupe les chemins, les
chaînes, les circuits et les cycles• Un parcours peut être
– élémentaire : tous les sommets sont distincts– simple : tous les arcs sont distincts– hamiltonien : passe une fois et une seule par chaque
sommet– eulérien : passe une fois et une seule par chaque arc– préhamiltonien : ou moins une fois par chaque
sommet– préeulérien : au moins une fois par chaque arc
![Page 16: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/16.jpg)
1. Concepts généraux en théorie des graphes
Connexité dans les graphes
• Exemple– Le problème du voyageur de
commerce : un voyageur de commerce doit visiter n villes données en passant par chaque ville exactement une fois et doit revenir à la ville de départ.
Trouver un circuit hamiltonien de coût minimal dans un graphe valué
![Page 17: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/17.jpg)
1. Concepts généraux en théorie des graphes
Connexité dans les graphes• Connexité
![Page 18: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/18.jpg)
1. Concepts généraux en théorie des graphes
Connexité dans les graphes• Forte connexité
![Page 19: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/19.jpg)
1. Concepts généraux en théorie des graphes
Graphes particuliers• Graphes sans circuit
– Décomposition en niveaux
• Graphe biparti• Graphe planaire• Hypergraphe• Arbre• Forêt• Arborescence
![Page 20: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/20.jpg)
2. Le problème du plus court chemin
• Définition• Exemples de formulation avec pcch• Principe d’optimalité et conditions d’existence• Graphes sans circuit• Graphes à valuations positives
– Algorithme de Moore-Dijkstra (1959)
• Graphes à valuations quelconques– Contre-exemple– Algorithme de Bellman-Ford
![Page 21: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/21.jpg)
2. Le problème du plus court chemin
Définition
![Page 22: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/22.jpg)
2. Le problème du plus court chemin
Exemples• Exemple 1 : Construire une autoroute entre
deux villes A et K– Arcs = tronçons possibles de l’autoroute– Valuation des arcs peut être
• coût de réalisation correspondant• longueur du trajet • …
A
B
C
D
E
F
H
I
J
K
G
![Page 23: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/23.jpg)
2. Le problème du plus court chemin
Exemples• Exemple 2 : Chemin le plus fiable dans un
réseau de télécommunication– Arêtes = liens physiques– Valuation des arêtes (i,j) est pij: fiabilité du lien (la
probabilité pour que le lien fonctionne)
– La fiabilité d’un chemin est le produit des probabilités des liens qui le constituent
– Le problème devient un problème de pcch en remplaçant chaque probabilité par aij = - log pij
![Page 24: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/24.jpg)
2. Le problème du plus court chemin
Exemples• Exemple 3 : Problème de sac à dos
– Un sac à dos de capacité b– n objets j=1…n
• aj : poids de l’objet j• pj : profit de l’objet j
– Objectif : déterminer un sous ensemble d’objets de profit maximal respectant la capacité du sac.
Maximiser j pjxj
s.c.
j aj xj b
avec xij = 1 si l’objet est choisi et 0 sinon
![Page 25: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/25.jpg)
2. Le problème du plus court chemin
Exemples• Exemple 3 : Problème de sac à dos
– n(b+1) sommets notés j(k), j=1,2,…,n et k=0,1,…,b– Un sommet origine s et un sommet destination t– Un sommet j(k) a deux arcs entrants (s’ils existent):
• Un arc de (j-1)(k) valué par 0• Un arc de (j-1)(k-aj) valué par pj
– Deux arcs de s vers 1(0) et 1(a1) valués par 0 et p1– Un arc de valuation 0 entre chaque sommet n(k) et t
– Un chemin de s à j(k) correspond a un sous ensemble des j premiers objets dont le poids total est égal à k. La longueur du chemin est la valeur du sous ensemble
![Page 26: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/26.jpg)
2. Le problème du plus court chemin
Principe d’optimalité
• aij = longueur de l’arc (i,j) si l’arc existe sinon + • uj : longueur du pcch de l’origine 1 vers le sommet j• Equations de Bellman
– u1 =0– uj = min {kj, uk + akj}
![Page 27: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/27.jpg)
2. Le problème du plus court chemin
Condition d’existence
• Condition d’existence Le graphe n’admet pas de circuit de longueur négative
i
j
k
w l(w)<0
![Page 28: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/28.jpg)
2. Le problème du plus court chemin
Graphes acycliques
• Un graphe est acyclique ssi il existe une numérotation des sommets telle qu’un arc existe entre i et j seulement si i < j
• Les équations de Bellman deviennent
– u1 =0
– uj = min {k < j, uk + akj}
1
42
3 5
6
3
1
-6
3
-42
9
6
1
2
5
![Page 29: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/29.jpg)
2. Le problème du plus court chemin
Graphes à valuations positives
• Algorithme de Dijkstra : plus court chemin de l’origine à tous les autres sommets– Utilise des labels pour les sommets
• Les labels permanents représentent la valeur du pcch de l’origine jusqu’au sommet correspondant
• Les labels temporaires représentent une borne supérieure de ce pcch
– A chaque itération un label temporaire est transformé en label permanent
![Page 30: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/30.jpg)
2. Le problème du plus court chemin
Graphes à valuations positivesAlgorithme de Dijkstra
• Etape 0– u1 =0;– uj =a1j, pour j=2,…, n– P={1}, T={2, …, n}
• Etape 2 (Désignation du label permanent)– Déterminer kT, tq uk=min{j T, uj}– T=T\{k} et P=P{k}– Si T=vide, stop
• Etape 3 (Révision des labels temporaires)– uj=min{uj, uk+akj} pour tout j T– Aller à l’étape 1
![Page 31: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/31.jpg)
2. Le problème du plus court chemin
Graphes à valuations positives
• Exemple
A
B
D
C
E
F H
G
2
4
4
32 2
1
2
3
25
3
![Page 32: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/32.jpg)
2. Le problème du plus court chemin
Algorithme de Dijkstra et graphes à valuations quelconques
S
A
B
C
E
D
6
1
23
3
2
2
-4
![Page 33: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/33.jpg)
2. Le problème du plus court chemin
Graphes à valuations quelconques
• Algorithme de Bellman-Ford– uj
(m) = longueur du pcch de 1 vers j tel que le chemin ne contient pas plus que m arcs
u1(1)= 0
uj(1) = a1j
uj(m+1) = min{uj
(m) , min{kj, uk(m) + akj}}
• Si le graphe ne contient pas de circuit de valeur négative alors uj = uj
(n-1)
![Page 34: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/34.jpg)
2. Le problème du plus court chemin
Graphes à valuations quelconques
• Plus court chemin entre tous les couples de sommets– Algorithme matriciel de Floyd-Warshall
![Page 35: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/35.jpg)
3. Le problème central de l’ordonnancement
C,F,I ,N,O0Fin du projetFin
E,J1Pose éléments hautsO
E,M1Etanchéité plan de travailN
L4Pose plan de travailM
B,J ,H,K6Pose éléments basL
Début8Assemblage caissons et tiroirsK
G4Dépose ancien élémentsJ
Mobilier
M2Pose et raccordement EvierI
G6déplacement arrivées et évacuationH
Début1Dépose ancien évierG
Plomberie
E4Pose nouveau papierF
D6Pose faïenceE
J8Décollage ancien papierD
Murs
B2J oints carrelageC
A4Pose carrelageB
J6Dépose ancien carrelageA
Sols
-0Lancement du projetDébut
Tâches précédentes
Durée (h)DescriptionTâcheRubrique
C,F,I ,N,O0Fin du projetFin
E,J1Pose éléments hautsO
E,M1Etanchéité plan de travailN
L4Pose plan de travailM
B,J ,H,K6Pose éléments basL
Début8Assemblage caissons et tiroirsK
G4Dépose ancien élémentsJ
Mobilier
M2Pose et raccordement EvierI
G6déplacement arrivées et évacuationH
Début1Dépose ancien évierG
Plomberie
E4Pose nouveau papierF
D6Pose faïenceE
J8Décollage ancien papierD
Murs
B2J oints carrelageC
A4Pose carrelageB
J6Dépose ancien carrelageA
Sols
-0Lancement du projetDébut
Tâches précédentes
Durée (h)DescriptionTâcheRubrique
![Page 36: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/36.jpg)
3. Le problème central de l’ordonnancement Modélisation
Le niveau d’une tâche X est le plus grand nombre d’arc sur un chemin entre Début et X
Début
G
K
J
H
D
A
E F
B C
O
L M
N
I
Fin
O 1 2 3 4 5 6 7 8NIVEAU :
0
0 8 64
4
1
2
1
246
4
4
1
1
8 6
4
6
![Page 37: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/37.jpg)
3. Le problème central de l’ordonnancement Dates de début au plus tôt
• La date début au plus tôt dptôt(i) d’une tâche i = longueur du plus long chemin de la tâche Début (ou 0) à i
• Formule de récurrence– dptôt(i)=maxjPred(i)(dptôt(j)+durée(j))
– dptôt(0) =0
![Page 38: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/38.jpg)
3. Le problème central de l’ordonnancement Dates de fin au plus tard
• On souhaite terminer le projet au plus tard à la date D=dptôt(n+1)
• Date de début au plus tard de i = Date maximum à laquelle on peut exécuter i sans retarder le chantier
• Longueur du plus long chemin de i à Fin (ou n+1)
• Formule de récurrence– dptard(n+1)=D– dptard(i)=minjSucc(i)dptard(j)-durée(i)
![Page 39: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/39.jpg)
3. Le problème central de l’ordonnancement Marges, chemin critique
• La marge totale d’une tâche i est le retard total qu’on peut se permettre sur i sans remettre en cause la date de fin du projet
• MT(i)=dptard(i)-dptôt(i). • Les tâches critiques ont une marge nulle. Tout
retard sur leur exécution entraîne un retard global sur le projet
• Un chemin est critique s’il relie Début à Fin et s’il ne contient que des tâches critiques
![Page 40: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/40.jpg)
4. Flots dans les réseaux
• Définition : Un flot dans un graphe G=(X,U) est un vecteur =[1,2,…,m]m tel que
– La quantité de flot ou flux sur l’arc j j 0, pour tout j =1,…, m
– Pour tout sommet xX, la 1ère loi de Kirchhoff est vérifiée
)()( xwjj
xwjj
![Page 41: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/41.jpg)
4. Flots dans les réseaux
Flot dans un réseau de transport• On dit que le vecteur =[1,2,…,m] est flot
de E à S dans G ssi la loi de Kirshhoff est vérifiée en tout sommet de G sauf pour E et S où on a
• Donc, si =[1,2,…,m] est un flot dans G alors ’=[0,1,2,…,m] est un flot dans G0
’=[0,1,2,…,m] est un flot admissible dans G0
ssi pour tout j=0,…,m, b(j)jk(j)
flotdu valeur : )(
0)(
Swjj
Ewjj
![Page 42: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/42.jpg)
4. Flots dans les réseaux
Flot dans un réseau de transport• On veut acheminer un produit à partir de 3
entrepôts (1,2,3) vers 4 clients (a,b,c,d)– Quantités en stock : 45, 25, 25– Demande des clients : 30,10, 20, 30– Limitations en matière de transport d’un entrepôt à un
client
a b c d
1 10 15 - 20
2 20 5 5 -
3 - - 10 10
E
1
2
3
a
b
d
c
S
[0,10]
[0,15]
[0,20]
[0,20]
[0,5]
[0,5][0,10]
[0,10]
[0,45]
[0,25][0,25]
[0,30]
[0,10]
[0,20]
[0,30]
![Page 43: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/43.jpg)
4. Flots dans les réseaux
Exemple de flot
E
1
2
3
a
b
d
c
S
[0,10], 10
[0,15], 5
[0,20], 20
[0,20], 15
[0,5], 5
[0,5], 5
[0,10], 10
[0,10], 10
[0,45], 35
[0,25], 25
[0,25], 20
[0,30], 25
[0,10], 10
[0,20], 15
[0,30], 30
Valeur du flot = 80
Ce flot est un flot complet, c-à-d, tout chemin de E à S comporte au moins un arc saturé
![Page 44: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/44.jpg)
4. Flots dans les réseaux
Quelques problèmes qui se posent1. Détermination d’un flot réalisable ou
compatible : c’est le cas où il existe des arcs u tels que b(u)>0
2. Détermination d’un flot maximum• Un flot complet n’est pas forcément maximum• Un flot maximum est forcément complet
3. Détermination d’un flot maximum de coût minimum
![Page 45: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/45.jpg)
4. Flots dans les réseaux
Détermination d’un flot maximum
• Principe de l’algorithme de Ford-Fulkerson1. Construire un flot complet
2. Améliorer itérativement ce flot
1. Construire un flot complet– Examiner tous les chemins de E à S de façon
systématique– Pour chaque chemin faire passer un flot égal à la
capacité résiduelle minimale de ce chemin
![Page 46: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/46.jpg)
4. Flots dans les réseaux
Détermination d’un flot maximum
2. Améliorer itérativement ce flot– Graphe d’écart : Soit un flot admissible sur
G. Le graphe d’écart Ge()=(X, Üe()) est tel que• Pour tout arc jU on associe deux arcs dans
Üe()– j+ de même sens que j et de capacité résiduelle k+
(j)=k(j)- j
– j- de sens opposé que j et de capacité k-(j)=j-b(j)
![Page 47: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/47.jpg)
10
5
10 5 5
5
E
1
2
3
a
b
d
c
S
[0,10], 10
[0,15], 5
[0,20], 20
[0,20], 15
[0,5], 5
[0,5], 5
[0,10], 10
[0,10], 10
[0,45], 35
[0,25], 25
[0,25], 20
[0,30], 25
[0,10], 10
[0,20], 15
[0,30], 30
E
1
2
3
a
b
d
c
S
35
25
20
10
1020
55
10
15
5
25
10
30
15
Graphe d’écart
Un flot complet
![Page 48: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/48.jpg)
4. Flots dans les réseaux
Détermination d’un flot maximum
2. Améliorer itérativement ce flot– Théorème : Un flot compatible est
maximal ssi il n’existe pas de chemin de E à S dans Ge().
– Principe de l’amélioration• Chercher un chemin de E à S dans Ge()• Soit la plus petite capacité de
– Pour j+ de , augmenter j de
– Pour j- de , diminuer j de
![Page 49: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/49.jpg)
4. Flots dans les réseaux
Détermination d’un flot maximum
10
5
10 5 5
5E
1
2
3
a
b
d
c
S
35
25
20
10
1020
55
10
15
5
25
10
30
15
Capacité minimale = 5
5
40
5
10
0
5
020 0
30
Valeur du flot = 85
![Page 50: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/50.jpg)
Exemples
En 1736, Euler a montré que c’est impossible !!
retour
![Page 51: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/51.jpg)
retour
![Page 52: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/52.jpg)
![Page 53: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/53.jpg)
retour
![Page 54: Mise à Niveau en Recherche Opérationnelle Première partie Théorie des graphes Mohamed Ali Aloulou aloulou@lamsade.dauphine.fr Ce transparents ont été élaborés](https://reader034.vdocuments.net/reader034/viewer/2022042814/551d9d85497959293b8c079c/html5/thumbnails/54.jpg)
Références bibliographiques
• P. Lopez, Cours de graphes, LAAS-CNRS http://www.laas.fr/~lopez/cours/GRAPHES/graphes.html
• Ph. Vallin and D. Vanderpooten. Aide à la décision : une approche par les cas. Ellipses, Paris, 2000.
• M. Gondron, M. Minoux, Graphes et algorithmes, Eyrolles, Paris, 1984
• C. Prins, Algorithmes de graphes, Eyrolles, Paris, 1994
• Ph. Lacomme, C. Prins, M. Sevaux, Algorithmes de graphes, Eyrolles, 2003
• B. Baynat, Ph. Chrétienne, …, Exercices et problèmes d’algorithmique, Dunod, 2003
• E. Lawler, Combinatorial Optimization – Networks and matroids, Dover Publications, INC, 1976.