Optimisation dans les rseaux Recherche Oprationnelle GCSIE Transbordement
Optimisation dans les réseaux Recherche Opérationnelle GC-SIE Transbordement Michel Bierlaire
Le problème de transbordement Transbordement Michel Bierlaire
Énoncé sous contraintes Transbordement Michel Bierlaire 3
Dualité § Lagrangien § Fonction duale Transbordement Michel Bierlaire 4
Dualité § Comme L(x, p) est séparable en x, avec Transbordement Michel Bierlaire 5
(aij-a)xij Dualité aij-a³ 0 bij Transbordement aij-a<0 cij xij Michel Bierlaire bij cij xij 6
Dualité Condition des écarts complémentaires (CEC) § La paire (x, p) vérifie la condition des écarts complémentaires si x vérifie les contraintes de capacité et § pi-pj £ aij (i, j) A tel que xij < cij § pi-pj ³ aij (i, j) A tel que bij < xij Note § pi-pj = aij (i, j) A tel que bij < xij < cij Transbordement Michel Bierlaire 7
Dualité Théorème : § Un vecteur de flot admissible x* et un vecteur p* satisfont la CEC ssi x* et p* sont solutions primales et duales (resp. ) et les coûts optimaux sont égaux. Transbordement Michel Bierlaire 8
Dualité Note : § Si bij = 0 et cij = + La CEC § pi-pj £ aij (i, j) A tel que xij < cij § pi-pj ³ aij (i, j) A tel que bij < xij s’écrit § pi-pj £ aij (i, j) A § pi-pj = aij (i, j) A tel que xij > 0 Transbordement Michel Bierlaire 9
Transformations Mettre les capacités inférieures à 0 bij £ xij £ cij § Posons zij = xij – bij ou xij = zij + bij § Fonction objectif Transbordement Michel Bierlaire 10
Transformations § Contraintes d’offre-demande Transbordement Michel Bierlaire 11
Transformations § Contraintes de capacité bij £ xij £ cij bij £ zij+bij £ cij 0 £ zij £ cij-bij On peut donc supposer bij = 0 (i, j) A sans perte de généralité. Transbordement Michel Bierlaire 12
Transformations Supprimer les contraintes supérieures de capacité § Idée : ajouter des variables d’écart xij + zij = cij avec zij ³ 0 § Fonction objectif : inchangée § Contraintes de capacité : 0 £ xij £ cij zij ³ 0 xij ³ 0 et zij ³ 0 Transbordement Michel Bierlaire 13
Transformations § Contraintes d’offre-demande Transbordement Michel Bierlaire 14
Transformations § Interprétation : sj si i Flot xij Coût aij si- kcik j i Capacité [0, cij] Transbordement sj- kcjk cij Flot zij Flot xij Coût 0 Coût aij j Capacité [0, [ Michel Bierlaire 15
Transformations § Interprétation : -50 50 i Flot 50 Coût aij -950 j i Capacité [0, 1000] Transbordement -50 1000 Flot 950 Flot 50 Coût aij j Capacité [0, [ Michel Bierlaire 16
Transformations § Interprétation : -50 50 i Flot 50 Coût aij 0 j i Capacité [0, 50] Transbordement -50 50 Flot 50 Coût aij j Capacité [0, [ Michel Bierlaire 17
Problème transformé sous contraintes Transbordement Michel Bierlaire 18
Problème transformé Attention : § En l’absence de capacités supérieures, le problème peut être non borné. § Cela n’arrive cependant pas s’il s’agit d’un problème transformé. § Le problème est non borné ssi il possède au moins un solution admissible, et s’il existe un cycle avançant de coût négatif. Transbordement Michel Bierlaire 19
Méthode du simplexe Idée : exploiter explicitement la structure de réseau. Élément principal : arbre maximal Définitions : § Un arbre est un graphe connexe sans cycle § Un arbre maximal d’un graphe G est un sousgraphe qui soit un arbre et qui inclue tous les nœuds du graphe § Une feuille est un nœud de degré 1 dans un arbre. Transbordement Michel Bierlaire 20
Méthode du simplexe § Graphe : 2 1 4 5 3 Transbordement Michel Bierlaire 21
Méthode du simplexe § Arbre maximal : 2 1 4 5 3 i Transbordement = feuilles Michel Bierlaire 22
Méthode du simplexe § Arbre maximal : 2 1 4 5 3 i = feuilles Transbordement Michel Bierlaire 23
Méthode du simplexe Propriétés : § Soit T le sous-graphe d’un graphe à N nœuds. 1. Si T est sans cycle et possède au moins un arc, alors il a au moins une feuille. 2. T est un arbre maximal ssi T est connexe et contient N nœuds et N-1 arcs. 3. Si T est un arbre, il y a un chemin unique reliant deux nœuds i et j de cet arbre. 4. Soit e T un arc dont les extrémités sont dans T. Le graphe T {e} contient un cycle simple unique, dont e est un arc avançant. 5. Si T est un arbre contenant (i, j), et si (i, j) est supprimé, les arcs restant forment deux arbres disjoints, l’un contenant i l’autre j. Transbordement Michel Bierlaire 24
Méthode du simplexe § § La base en programmation linéaire « générale » peut être représentée ici grâce aux arbres maximaux. Pour chaque arbre maximal T, il existe un vecteur de flots unique x tel que – – x vérifie les contraintes de conservation des flots xi = 0 si i T Transbordement Michel Bierlaire 25
Méthode du simplexe Procédure : § Soit R=T, x=0, wi=si i. § Pas 1 : – – – § choisir une feuille i de R. si (i, j) est l’unique arc incident à i xij=wi et wj=wj+wi si (j, i) est l’unique arc incident à i xij=-wi et wj=wj+wi Pas 2 : supprimer i et son arc incident de R. Si R n’a plus que 1 nœud, STOP. Sinon retour au pas 1. Transbordement Michel Bierlaire 26
Méthode du simplexe § Problème : 2 2 1 2 5 6 1 3 2 -2 4 2 3 0 5 -1 -2 § § Sur chaque arc : coût Sur chaque nœud : offre Transbordement Michel Bierlaire 27
Méthode du simplexe § Problème : 1 (1) 2 (2) 2 1 4 0 (0) 3 5 -1 (-1) -2 (-2) § § Sur chaque arc : Sur chaque nœud : offre (wi) Transbordement Michel Bierlaire 28
Méthode du simplexe § Problème : 1 (1) 2 (3) 2 1 1 4 0 (0) 3 5 -1 (-1) -2 (-2) § § Sur chaque arc : flot Sur chaque nœud : offre (wi) Transbordement Michel Bierlaire 29
Méthode du simplexe § Problème : 1 (1) 1 2 (1) 2 1 2 4 0 (0) 3 5 -1 (-1) -2 (-2) § § Sur chaque arc : flot Sur chaque nœud : offre (wi) Transbordement Michel Bierlaire 30
Méthode du simplexe § Problème : 1 (1) 1 2 (1) 2 1 2 4 0 (0) 3 0 5 -1 (-1) -2 (-2) § § Sur chaque arc : flot Sur chaque nœud : offre (wi) Transbordement Michel Bierlaire 31
Méthode du simplexe § Problème : 1 (1) 1 2 (1) 2 1 1 2 4 0 (0) 3 0 5 -1 (0) -2 (-2) § § Sur chaque arc : flot Sur chaque nœud : offre (wi) Transbordement Michel Bierlaire 32
Méthode du simplexe § Problème : 1 (1) 2 (2) 2 1 4 0 (0) 3 5 -1 (-1) -2 (-2) § § Sur chaque arc : flot Sur chaque nœud : offre (wi) Transbordement Michel Bierlaire 33
Méthode du simplexe § Problème : 2 (2) 2 1 (1) 1 4 1 0 (0) 3 5 -1 (-1) -2 (-1) § § Sur chaque arc : flot Sur chaque nœud : offre (wi) Transbordement Michel Bierlaire 34
Méthode du simplexe § Problème : 2 (2) 2 1 (1) 1 -2 1 4 0 (0) 3 5 -1 (-1) -2 (1) § § Sur chaque arc : flot Sur chaque nœud : offre (wi) Transbordement Michel Bierlaire 35
Méthode du simplexe § Problème : 2 (2) 2 1 (1) 1 -2 1 4 0 (-1) 3 -1 5 -1 (-1) -2 (1) § § Sur chaque arc : flot Sur chaque nœud : offre (wi) Transbordement Michel Bierlaire 36
Méthode du simplexe § Problème : 2 (2) 2 1 (1) 1 4 -2 1 -1 3 0 (-1) -1 5 -1 (-1) -2 (0) § § Sur chaque arc : flot Sur chaque nœud : offre (wi) Transbordement Michel Bierlaire 37
Méthode du simplexe § § § Ce vecteur de flots est appelé une solution de base Si, de plus, le vecteur de flots vérifie les contraintes de capacité xij ³ 0, il est appelé une solution de base admissible. Un arbre maximal sera dit admissible si le vecteur de flots correspondant est une solution de base admissible. Transbordement Michel Bierlaire 38
Méthode du simplexe Aperçu de la méthode § Soit un arbre maximal admissible initial. § Chaque itération (pivotage) génère un autre arbre admissible dont le coût n’est pas plus élevé que le précédent. § Chaque itération est composée de trois opérations principales 1. 2. 3. Transbordement Ajout d’un arc à l’arbre afin de former un cycle à coût négatif Envoyer le plus de flot possible le long de ce cycle, sans violer les contraintes Supprimer un arc du cycle pour obtenir à nouveau un arbre. Michel Bierlaire 39
Méthode du simplexe § Arbre maximal initial : 2 (1) 1 2 2 (1) 5 (1) 6 (2) 1 3 -2 2 4 2 3 0 3 (0) 0 5 -1 -2 § § Sur chaque arc : coût (flot) Sur chaque nœud : offre Transbordement Michel Bierlaire 40
Méthode du simplexe § Formation d’un cycle. Coût = -9 2 (1) 1 2 2 (1) 5 (1) 6 (2) 1 3 -2 2 4 2 3 0 3(0) 0 5 -1 -2 § § Sur chaque arc : coût (flot) Sur chaque nœud : offre Transbordement Michel Bierlaire 41
Méthode du simplexe § Envoi d’une unité de flot 2 (1) 1 2 2 (1) 5 (0) 6 (1) 1 3 -2 2(1) 4 2 3 0 3 (0) 0 5 -1 -2 § § Sur chaque arc : coût (flot) Sur chaque nœud : offre Transbordement Michel Bierlaire 42
Méthode du simplexe § Suppression d’un arc du cycle 2 (1) 1 2 2 (1) 5 6 (1) 1 3 -2 2(1) 4 2 3 0 3 (0) 0 5 -1 -2 § § Sur chaque arc : coût (flot) Sur chaque nœud : offre Transbordement Michel Bierlaire 43
Méthode du simplexe Questions : § Comment choisir l’arc entrant ? § Comment choisir l’arc sortant ? § Comment gérer les cas de dégénérescence ? Transbordement Michel Bierlaire 44
Choix de l’arc entrant § § Idée : utiliser la condition des écarts complémentaires pi-pj £ aij (i, j) A pi-pj = aij (i, j) A tel que xij > 0 Nous allons affecter des prix pi aux nœuds tels que pi-pj = aij (i, j) T Transbordement Michel Bierlaire 45
Choix de l’arc entrant Procédure récursive : § Soit un nœud r arbitraire (racine). § pr est initialisé à une valeur quelconque. § pi = + , i r § Calcule. Voisins(r) ; Transbordement Michel Bierlaire 46
Choix de l’arc entrant Calcul. Voisins(i) § Pour tout j adjacent à i t. q. pj = + § Si (i, j) T, alors pj = pi-aij § Si (j, i) T, alors pj = pi+aij § Calcul. Voisins(j) Transbordement Michel Bierlaire 47
Choix de l’arc entrant § Arbre maximal : 2 1 2 2 (1) 5 (1) 6 (2) 1 3 -2 2 4 2 3 0 3 (0) 0 5 -1 -2 § § Sur chaque arc : coût (flot) Sur chaque nœud : offre [pi] Transbordement Michel Bierlaire 48
Choix de l’arc entrant § Calcul des prix : 2 1 2 (1) 5 (1) 6 (2) 0 3 -2 3 (0) 0 2 2 0 -1 racine -2 § § Sur chaque arc : coût (flot) Sur chaque nœud : prix Transbordement Michel Bierlaire 49
Choix de l’arc entrant § Arbre maximal : 2 1 -5 2 (1) 5 (1) 6 (2) 0 3 -2 3 (0) 0 2 2 0 -1 racine -2 § § Sur chaque arc : coût (flot) Sur chaque nœud : prix Transbordement Michel Bierlaire 50
Choix de l’arc entrant § Arbre maximal : 2 1 -5 2 (1) 5 (1) 6 (2) 0 3 -2 3 (0) 0 2 racine 2 -11 0 -1 -2 § § Sur chaque arc : coût (flot) Sur chaque nœud : prix Transbordement Michel Bierlaire 51
Choix de l’arc entrant § Arbre maximal : 2 1 -5 2 (1) 5 (1) 6 (2) 0 3 -2 3 (0) 0 2 racine 2 -11 0 -7 -1 -2 § § Sur chaque arc : coût (flot) Sur chaque nœud : prix Transbordement Michel Bierlaire 52
Choix de l’arc entrant § Arbre maximal : 2 1 -5 2 (1) 5 (1) 6 (2) 0 3 -2 2 racine -4 2 -11 0 3 (0) 0 -7 -1 -2 § § Sur chaque arc : coût (flot) Sur chaque nœud : prix Transbordement Michel Bierlaire 53
Choix de l’arc entrant § Calcul des prix (autre racine) : 2 1 2 (1) 5 (1) 6 (2) 3 -2 3 (0) 0 2 2 -2 § § 0 23 -1 racine Sur chaque arc : coût (flot) Sur chaque nœud : prix Transbordement Michel Bierlaire 54
Choix de l’arc entrant § Calcul des prix (autre racine) : 2 1 2 (1) 5 (1) 6 (2) 3 -2 2 2 -2 § § 26 3 (0) 0 0 23 -1 racine Sur chaque arc : coût (flot) Sur chaque nœud : prix Transbordement Michel Bierlaire 55
Choix de l’arc entrant § Calcul des prix (autre racine) : 2 1 25 2 (1) 5 (1) 6 (2) 3 -2 2 2 -2 § § 26 3 (0) 0 0 23 -1 racine Sur chaque arc : coût (flot) Sur chaque nœud : prix Transbordement Michel Bierlaire 56
Choix de l’arc entrant § Calcul des prix (autre racine) : 2 1 25 2 (1) 5 (1) 6 (2) 30 3 -2 2 2 -2 § § 26 3 (0) 0 0 23 -1 racine Sur chaque arc : coût (flot) Sur chaque nœud : prix Transbordement Michel Bierlaire 57
Choix de l’arc entrant § Calcul des prix (autre racine) : 2 1 25 2 (1) 5 (1) 6 (2) 30 3 -2 2 26 2 3 (0) 0 19 -2 § § 0 23 -1 racine Sur chaque arc : coût (flot) Sur chaque nœud : prix Transbordement Michel Bierlaire 58
Choix de l’arc entrant Notes : § Les prix dépendent – – § § du choix de la racine du prix de la racine La différence de prix entre deux nœuds quelconques est indépendantes décisions liées à la racine. Notamment, la quantité rij = aij + pj – pi dépend uniquement de l’arbre maximal T Transbordement Michel Bierlaire 59
Choix de l’arc entrant § § Par définition des prix, rij = aij + pj – pi = 0 si (i, j) T Si, de plus, rij ³ 0 (i, j) A, la CEC est vérifiée – – § § pi-pj £ aij (i, j) A pi-pj = aij (i, j) A tel que xij > 0 Dans ce cas, x est une solution optimale du primal, et p du dual. rij est appelé le coût réduit de (i, j) Transbordement Michel Bierlaire 60
Choix de l’arc entrant § Dans le cas contraire, il existe (k, l) tel que – – – § (k, l) A, (k, l) T rkl = akl + pl - pk < 0 Si l’on rajoute (k, l) à l’arbre, on crée un cycle. Par convention, (k, l) doit être avançant dans le cycle. Transbordement Michel Bierlaire 61
Choix de l’arc entrant § Coût du cycle formé : Cycle à coût négatif Transbordement Michel Bierlaire 62
Choix de l’arc entrant § Solution de base admissible : 2 1 -5 2 (1) 5 (1) 6 (2) 0 -2 [-1] 3 [9] 2 [-9] racine 2 [-5] -11 -4 0 3(0) 0 [3] -7 -1 -2 § § Sur chaque arc : coût (flot) [rij] Sur chaque nœud : prix Transbordement Michel Bierlaire 63
Cycle § § Soit C le cycle formé par T et (k, l) Si C- est vide, tous les arcs sont orientés comme (k, l) C est donc un cycle à coût négatif, le long duquel le flot peut être augmenté arbitrairement. Le problème est donc non-borné. Transbordement Michel Bierlaire 64
Cycle § § Si C- n’est pas vide, notons d = min(i, j) C- xij le plus petit flot sur les arcs reculant. Il n’est pas possible d’envoyer plus que d unités de flots sans violer les contraintes de non négativité. Transbordement Michel Bierlaire 65
Cycle § Flot maximum le long du cycle : 2 1 d=1 -5 2 (1) 5 (1) 6 (2) 0 -2 [-1] 3 [9] 2 [-9] racine 2 [-5] -11 -4 0 3(0) 0 [3] -7 -1 -2 § § Sur chaque arc : coût (flot) [rij] Sur chaque nœud : prix Transbordement Michel Bierlaire 66
Cycle § Flot maximum le long du cycle : 2 1 -5 5 (1) 6 (2) 0 -2 [-1] 3 [9] 2 [-9] racine d=0 2 (1) 2 [-5] -11 -4 0 3(0) 0 [3] -7 -1 -2 § § Sur chaque arc : coût (flot) [rij] Sur chaque nœud : prix Transbordement Michel Bierlaire 67
Choix de l’arc sortant § Le nouveau vecteur de flot sera § Tout arc (i, j) du cycle tel que xij+ = 0 est candidat pour sortir. Transbordement Michel Bierlaire 68
Choix de l’arc sortant § Avant d’envoyer le flot : 2 1 d=1 -5 2 (1) 5 (1) 6 (2) 0 -2 [-1] 3 [9] 2 [-9] racine 2 [-5] -11 -4 0 3(0) 0 [3] -7 -1 -2 § § Sur chaque arc : coût (flot) [rij] Sur chaque nœud : prix Transbordement Michel Bierlaire 69
Choix de l’arc sortant § Après avoir envoyé le flot : 2 1 d=1 -5 2 (1) 5 (0) 6 (1) 0 2 (1) [-9] racine -2 [-1] 3 [9] 2 [-5] -11 -4 0 3(0) 0 [3] -7 -1 -2 § § Sur chaque arc : coût (flot) [rij] Sur chaque nœud : prix Transbordement Michel Bierlaire 70
Choix de l’arc sortant § Nouvelle solution de base admissible : 2 1 d=1 -5 2 (1) 5 -2 6 (1) 0 2 2 (1) racine -4 3 -11 0 3(0) 0 -7 -1 -2 § Sur chaque arc : coût (flot) Transbordement Michel Bierlaire 71
Mise à jour des prix § § § Soit (k, l) l’arc entrant Soit e l’arc sortant Soit T+=T+(k, l)-e l’arbre correspondant à la nouvelle base. Considérons le sous-graphe T-e. Il est composé de deux arbres : – – Tk contient le nœud k Tl contient le nœud l Transbordement Michel Bierlaire 72
Mise à jour des prix 2 arc sortant 1 -5 -2 6 (1) -4 3 2 2 (1) arc entrant (k, l) § 2 (1) 5 0 Tk Tl -11 0 3(0) 0 -7 -1 -2 Sur chaque arc : coût (flot) Transbordement Michel Bierlaire 73
Mise à jour des prix Méthode 1 § pi+ = pi si i Tk § pi+ = pi-rkl si i Tl Méthode K § pi+ = pi + K si i Tk § pi+ = pi-rkl + K si i Tl Méthode 2 [K=rkl] § pi+ = pi+rkl si i Tk § pi+ = pi si i Tl Transbordement Michel Bierlaire 74
Dégénérescence § Impossible d’envoyer du flot 2 1 -5 5 (1) 6 (2) 0 -2 [-1] 3 [9] 2 [-9] racine d=0 2 (1) 2 [-5] -11 -4 0 3(0) 0 [3] -7 -1 -2 § § Sur chaque arc : coût (flot) [rij] Sur chaque nœud : prix Transbordement Michel Bierlaire 75
Dégénérescence § § § On change de base mais la fonction objectif ne change pas. Risque l’algorithme cycle. Pour garantir l’absence de cyclage, on introduit la notion de base fortement admissible. Transbordement Michel Bierlaire 76
Dégénérescence Définition § Soit T un arbre admissible. § Soit r la racine de l’arbre. § On dit que (i, j) T s’écarte de la racine si le seul chemin entre r et j passe par i. § Un arbre admissible T est fortement admissible si tous les arcs (i, j) tels que xij = 0 s’écartent de la racine. Transbordement Michel Bierlaire 77
Dégénérescence § Arbre admissible, mais pas fortement 2 1 -5 2 (1) 5 (1) 6 (2) 0 -2 [-1] 3 [9] 2 [-9] racine 2 [-5] -11 -4 0 3(0) 0 [3] -7 -1 -2 § § Sur chaque arc : coût (flot) [rij] Sur chaque nœud : prix Transbordement Michel Bierlaire 78
Dégénérescence § Arbre fortement admissible 2 1 -5 2 (1) 5 (1) 6 (2) 0 -2 [-1] 3 [9] 2 [-5] -11 -2 § § -4 3(0) -7 0 [3] 0 -1 racine Sur chaque arc : coût (flot) [rij] Sur chaque nœud : prix Transbordement Michel Bierlaire 79
Dégénérescence Théorème § Si les arbres admissibles générés par la méthode du simplexe sont tous fortement admissibles, alors tous ces arbres sont distincts. § Dans ce cas, l’algorithme effectuera un nombre fini d’itérations. Transbordement Michel Bierlaire 80
Dégénérescence § § § Supposons que l’on dispose au début d’un arbre fortement admissible. Il faut s’arranger pour que le nouvel arbre produit soit aussi fortement admissible. Il faut choisir l’arc sortant de manière appropriée. Transbordement Michel Bierlaire 81
Dégénérescence Procédure de choix de l’arc sortant § Soit T un arbre fortement admissible § Soit (k, l) l’arc entrant § Soit C le cycle formé par T et (k, l) § Supposons que C- est non vide. § Soit d = min(i, j) C- xij § Soit C*={(i, j) C-¦xij = d} l’ensemble des candidats à sortir. Transbordement Michel Bierlaire 82
Dégénérescence Procédure de choix de l’arc sortant (suite) § Le joint de C est le premier nœud du cycle sur le chemin entre r et k. § Choisir comme arc sortant le premier arc de C* rencontré lorsque l’on parcourt le cycle en partant du joint. § Dans ce cas, le nouvel arbre sera également fortement admissible. Transbordement Michel Bierlaire 83
Dégénérescence r Flot = 1 joint Flot = 0 Flot = 3 Flot = 2 Flot = 1 Transbordement Flot = 0 k l Michel Bierlaire arc sortant 84
Initialisation § § Comment trouver un premier arbre fortement admissible ? Idée : – – ajouter un nœud artificiel 0 avec s 0=0 ajouter un arc entre 0 et chaque nœud i § § – Arc (i, 0) si si > 0 Arc (0, i) si si £ 0 coût des arcs artificiels : M > 0, très grand Transbordement Michel Bierlaire 85
Initialisation 2 2 1 2 5 1 6 3 2 -2 4 2 M 3 -2 M 3 0 5 -1 0 M M M 0 Transbordement Michel Bierlaire 86
Initialisation Arbre initial : § Uniquement les arcs artificiels. § Racine : nœud 0 § Par construction, les arcs transportant un flot nul s’éloignent de la racine § Il s’agit donc bien d’un arbre fortement admissible Transbordement Michel Bierlaire 87
Initialisation 2 2 1 2 5 1 6 3 2 M(1) -2 4 2 3 M(2) -2 Coûts (Flots) Transbordement 3 0 5 -1 0 M(0) M (1) 0 Michel Bierlaire 88
Calcul des prix M 2 5 M 6 3 2 M(1) -2 -M 0 -M 2 -M M(2) Coûts (Flots) Transbordement 3 M(0) M (1) 0 Michel Bierlaire 89
Coûts réduits M 2 5 M 2[-2 M+2] 6 3 -2 -M 3 0 -M 2 -M M(1) Coûts (Flots) [coûts réduits] Transbordement M(2) d=1 M(0) M (1) 0 Michel Bierlaire 90
Mise à jour des flots M 2 5 M 2(1) 6 3 -2 -M 3 0 -M 2 -M M(0) Coûts (Flots) [coûts réduits] Transbordement M(1) M(2) d=1 M(0) M (1) 0 Michel Bierlaire 91
Mise à jour des prix rkl = - 2 M+2 Tl M Tk 2 5 M 2(1) 6 3 -2 -M 3 0 -M 2 M(0) -M M(1) M(2) Coûts (Flots) [coûts réduits] Transbordement M(0) M (1) 0 Michel Bierlaire 92
Nouvel arbre M 2 5 -M+2 2(1) 6 3 -2 -M 3 0 -M 2 M -M M(1) M(2) Coûts (Flots) [coûts réduits] Transbordement M(0) M (1) 0 Michel Bierlaire 93
Coûts réduits M 2 [-2 M+2] 5 -M+2 2(1) 6 3 -2 -M 3 0 -M 2 M -M M(1) M(2) Coûts (Flots) [coûts réduits] Transbordement M(0) M (1) d=1 0 Michel Bierlaire 94
Mise à jour des flots M 2 (1) 5 -M+2 2(1) 6 3 -2 -M 3 0 -M 2 M -M M(1) Coûts (Flots) [coûts réduits] Transbordement M(0) M (0) d=1 0 Michel Bierlaire 95
Mise à jour des prix rkl = - 2 M+2 Tk -M+2 M 2(1) 6 Tl 2 (1) 5 3 -2 -M 3 0 -M 2 M -M M(1) Coûts (Flots) [coûts réduits] Transbordement M(0) M (0) 0 Michel Bierlaire 96
Nouvel arbre -M+2 2 (1) 5 -3 M+4 2(1) 6 3 -2 -3 M+2 3 0 -M 2 -3 M+2 M Coûts (Flots) [coûts réduits] Transbordement M(1) M(0) M d=1 -2 M+2 Michel Bierlaire 97
Coûts réduits -M+2 2 (1) 5 -3 M+4 2(1) 6 3 -2 -3 M+2 3 0[-2 M+2] -M 2 -3 M+2 M Coûts (Flots) [coûts réduits] Transbordement M(1) M(0) M d=0 -2 M+2 Michel Bierlaire 98
Mise à jour des prix rkl = - 2 M+2 Tk -5 M+6 -3 M+4 2 (1) 5 2(1) 6 3 -2 -3 M+2 2 -5 M+4 M Coûts (Flots) [coûts réduits] Transbordement M(1) 3 0(0) -3 M+2 Tl M(0) M -4 M+4 Michel Bierlaire 99
Nouvel arbre -3 M+4 2 (1) 5 -5 M+6 2(1) 6 3 -2 -3 M+2 3 0(0) -3 M+2 2 -5 M+4 M Coûts (Flots) [coûts réduits] Transbordement M(1) M M -4 M+4 Michel Bierlaire 100
Coûts réduits -3 M+4 2 (1) 5 6[-2 M+6] -5 M+6 2(1) 3 -2 -3 M+2 3 0(0) -3 M+2 2 -5 M+4 M Coûts (Flots) [coûts réduits] Transbordement M(1) M M d=1 -4 M+4 Michel Bierlaire 101
Mise à jour des flots -3 M+4 2 (1) 5 -5 M+6 6(1) 2(1) 3 -2 -3 M+2 3 0(0) -3 M+2 2 -5 M+4 M Coûts (Flots) [coûts réduits] Transbordement M(0) M M d=1 -4 M+4 Michel Bierlaire 102
Choix de l’arc sortant -3 M+4 2 (1) 5 -5 M+6 6(1) 2(1) 3 -2 -3 M+2 3 0(0) -3 M+2 2 -5 M+4 M Coûts (Flots) [coûts réduits] Transbordement M(0) M M arc sortant -4 M+4 Michel Bierlaire racine=joint 103
Mise à jour des prix rkl = - 2 M+6 Tk -5 M+10 2 (1) 5 -5 M+6 6(1) 2(1) -5 M+4 M Transbordement -5 M+8 3 0(0) -5 M+8 2 Tl Coûts (Flots) [coûts réduits] 3 -2 M(0) M M arc sortant -4 M+4 Michel Bierlaire racine=joint 104
Nouvel arbre -5 M+10 2 (1) 5 -5 M+6 6(1) 2(1) 3 -2 -5 M+8 3 0(0) -5 M+8 2 -5 M+4 M Coûts (Flots) [coûts réduits] Transbordement M(0) M M M -4 M+4 Michel Bierlaire 105
Coûts réduits -5 M+10 2 (1) 5 -5 M+6 6(1) 2(1) 3 -2[-4] -5 M+8 3 0(0) -5 M+8 2 -5 M+4 M Coûts (Flots) [coûts réduits] Transbordement M(0) M M M d=0 -4 M+4 Michel Bierlaire 106
Mise à jour des prix rkl = - 4 Tk -5 M+10 2 (1) 5 -5 M+6 6(1) 2(1) 3 -2(0) -5 M+8 M Coûts (Flots) [coûts réduits] Transbordement M(0) M 0(0) Tl 2 -5 M+4 3 -5 M+8 M M -4 M+4 Michel Bierlaire 107
Nouvel arbre -5 M+6 2 (1) 5 -5 M+2 6(1) 3 2(1) -2(0) -5 M+8 3 0 -5 M+4 2 -5 M M Coûts (Flots) [coûts réduits] Transbordement M(0) M M M -4 M Michel Bierlaire 108
Coûts réduits -5 M+6 2 (1) 5 -5 M+2 6(1) 3 2(1) -2(0) -5 M+8 3 0 -5 M+4 2[-6] -5 M M Coûts (Flots) [coûts réduits] Transbordement M M(0) M M d=1 -4 M Michel Bierlaire 109
Mise à jour des flots -5 M+6 2 (1) 5 -5 M+2 6(0) 3 2(1) -5 M+8 3 0 -5 M+4 2(1) -5 M M Coûts (Flots) [coûts réduits] Transbordement M M(0) M M d=1 -4 M Michel Bierlaire 110
Mise à jour des prix rkl = - 6 Tk -5 M+6 2 (1) 5 -5 M+2 6(0) 2(1) -5 M+8 -5 M M Transbordement -2(1) 3 0 -5 M+4 2(1) Tl Coûts (Flots) [coûts réduits] 3 M M(0) M M -4 M Michel Bierlaire 111
Nouvel arbre -5 M 2 (1) 5 -5 M+2 6 3 2(1) -5 M+2 3 0 -5 M-2 2(1) -5 M M Coûts (Flots) [coûts réduits] Transbordement M(0) M M M -4 M Michel Bierlaire 112
Coûts réduits -5 M 2 (1) 5 -5 M+2 6 3 2(1) -5 M+2 3[-1] 0 -5 M-2 2(1) -5 M M Coûts (Flots) [coûts réduits] Transbordement M(0) M M M d=1 -4 M Michel Bierlaire 113
Mise à jour des flots -5 M 2 (0) 5 -5 M+2 6 3 2(1) -2(2) -5 M+2 3(1) 0 -5 M-2 2(1) -5 M M Coûts (Flots) [coûts réduits] Transbordement M(0) M M M d=1 -4 M Michel Bierlaire 114
Mise à jour des prix rkl = - 1 Tk -5 M 2 (0) 5 -5 M+2 6 3 2(1) -2(2) -5 M+2 3(1) 0 2(1) -5 M M Coûts (Flots) [coûts réduits] Transbordement M(0) M -5 M-2 Tl M M -4 M Michel Bierlaire 115
Nouvel arbre -5 M-1 2 5 -5 M+1 6 2(1) 3 -2(2) -5 M+1 3(1) 0 -5 M-2 2(1) -5 M-1 M Coûts (Flots) [coûts réduits] Transbordement M(0) M M M -4 M-1 Michel Bierlaire 116
Coûts réduits -5 M-1 2 5 -5 M+1 -2(2) 6 -5 M+1 2(1) 3 3(1) 0 -5 M-2 2(1) -5 M-1 M Coûts (Flots) [coûts réduits] Transbordement M(0) M M M[-1] d=0 -4 M-1 Michel Bierlaire 117
Mise à jour des prix rkl = - 1 Tl -5 M-1 2 5 -5 M+1 -2(2) 6 -5 M+1 2(1) 3(1) 0 3 -5 M-2 2(1) -5 M-1 M Coûts (Flots) [coûts réduits] Transbordement M M -4 M-1 Michel Bierlaire M M(0) Tk d=0 118
Nouvel arbre -5 M-1 2 5 -5 M+1 -2(2) 6 -5 M+1 2(1) 3(1) 0 3 -5 M-2 2(1) -5 M-1 M Coûts (Flots) [coûts réduits] Transbordement M M(0) -4 M-2 Michel Bierlaire 119
Coûts réduits : optimum -5 M-1 2[1] 5[3] -2(2) 6[6] -5 M+1 2(1) -5 M+1 3[6] 3(1) 0[3] -5 M-2 2(1) -5 M-1 M[2 M-3] Coûts (Flots) [coûts réduits] Transbordement M[2 M-1] M[3] M[1] M(0) -4 M-2 Michel Bierlaire 120
Propriété d’intégralité § § Si les si sont tous entiers, alors la solution optimale primale sera aussi entière. De plus, si le prix arbitraire initial de la racine est entier, et que tous les coefficients de coût sont entiers, alors la solution optimale duale sera aussi entière. Transbordement Michel Bierlaire 121
- Slides: 121