Optimisation dans les r seaux
This presentation is the property of its rightful owner.
Sponsored Links
1 / 121

Optimisation dans les réseaux PowerPoint PPT Presentation


  • 68 Views
  • Uploaded on
  • Presentation posted in: General

Optimisation dans les réseaux. Recherche Opérationnelle GC-SIE. Le problème de transbordement. Énoncé. sous contraintes. Dualité. Lagrangien. Fonction duale. Dualité. Comme L(x,p) est séparable en x,. avec. (a ij - a )x ij. x ij. b ij. c ij. Dualité. (a ij - a )x ij. a ij - a³ 0.

Download Presentation

Optimisation dans les réseaux

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Optimisation dans les r seaux

Optimisation dans les réseaux

Recherche Opérationnelle

GC-SIE


Le probl me de transbordement

Le problème de transbordement


Optimisation dans les r seaux

Énoncé

sous contraintes

Michel Bierlaire


Dualit

Dualité

  • Lagrangien

  • Fonction duale

Michel Bierlaire


Dualit1

Dualité

  • Comme L(x,p) est séparable en x,

avec

Michel Bierlaire


Dualit2

(aij-a)xij

xij

bij

cij

Dualité

(aij-a)xij

aij-a³0

aij-a<0

xij

bij

cij

Michel Bierlaire


Dualit3

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

Michel Bierlaire


Dualit4

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.

Michel Bierlaire


Dualit5

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

Michel Bierlaire


Transformations

Transformations

Mettre les capacités inférieures à 0

bij£ xij£ cij

  • Posons zij = xij – bij ou xij = zij + bij

  • Fonction objectif

Michel Bierlaire


Transformations1

Transformations

  • Contraintes d’offre-demande

Michel Bierlaire


Transformations2

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é.

Michel Bierlaire


Transformations3

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

    xij£ cij zij³ 0

    xij³ 0 et zij³ 0

Michel Bierlaire


Transformations4

Transformations

  • Contraintes d’offre-demande

Michel Bierlaire


Transformations5

Transformations

  • Interprétation :

sj

si

sj-kcjk

si-kcik

cij

Flot xij

Flot xij

Flot zij

i

j

j

i

Coût aij

Coût aij

Coût 0

Capacité [0,cij]

Capacité [0,[

Michel Bierlaire


Transformations6

Transformations

  • Interprétation :

-50

50

-50

-950

1000

Flot 50

Flot 50

Flot 950

i

j

j

i

Coût aij

Coût aij

Coût 0

Capacité [0,1000]

Capacité [0,[

Michel Bierlaire


Transformations7

Transformations

  • Interprétation :

-50

50

-50

0

50

Flot 50

Flot 50

Flot 0

i

j

j

i

Coût aij

Coût aij

Coût 0

Capacité [0,50]

Capacité [0,[

Michel Bierlaire


Probl me transform

Problème transformé

sous contraintes

Michel Bierlaire


Probl me transform1

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.

Michel Bierlaire


M thode du simplexe

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 sous-graphe 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.

Michel Bierlaire


M thode du simplexe1

Méthode du simplexe

  • Graphe :

2

1

4

5

3

Michel Bierlaire


M thode du simplexe2

Méthode du simplexe

  • Arbre maximal :

2

1

4

5

3

= feuilles

i

Michel Bierlaire


M thode du simplexe3

Méthode du simplexe

  • Arbre maximal :

2

1

4

5

3

= feuilles

i

Michel Bierlaire


M thode du simplexe4

Méthode du simplexe

Propriétés :

  • Soit T le sous-graphe d’un graphe à N nœuds.

  • Si T est sans cycle et possède au moins un arc, alors il a au moins une feuille.

  • T est un arbre maximal ssi T est connexe et contient N nœuds et N-1 arcs.

  • Si T est un arbre, il y a un chemin unique reliant deux nœuds i et j de cet arbre.

  • 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.

  • 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.

Michel Bierlaire


M thode du simplexe5

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

Michel Bierlaire


M thode du simplexe6

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.

Michel Bierlaire


M thode du simplexe7

Méthode du simplexe

  • Problème :

2

2

2

1

5

-2

3

6

1

4

5

3

0

2

2

-1

0

3

-2

  • Sur chaque arc : coût

  • Sur chaque nœud : offre

Michel Bierlaire


M thode du simplexe8

Méthode du simplexe

  • Problème :

2 (2)

2

1 (1)

1

4

5

-1 (-1)

0 (0)

3

-2 (-2)

  • Sur chaque arc : -

  • Sur chaque nœud : offre (wi)

Michel Bierlaire


M thode du simplexe9

Méthode du simplexe

  • Problème :

2 (3)

2

1 (1)

1

1

4

5

-1 (-1)

0 (0)

3

-2 (-2)

  • Sur chaque arc : flot

  • Sur chaque nœud : offre (wi)

Michel Bierlaire


M thode du simplexe10

Méthode du simplexe

  • Problème :

2 (1)

2

1 (1)

1

2

1

4

5

-1 (-1)

0 (0)

3

-2 (-2)

  • Sur chaque arc : flot

  • Sur chaque nœud : offre (wi)

Michel Bierlaire


M thode du simplexe11

Méthode du simplexe

  • Problème :

2 (1)

2

1 (1)

1

0

2

1

4

5

-1 (-1)

0 (0)

3

-2 (-2)

  • Sur chaque arc : flot

  • Sur chaque nœud : offre (wi)

Michel Bierlaire


M thode du simplexe12

Méthode du simplexe

  • Problème :

2 (1)

2

1

1 (1)

1

0

2

1

4

5

-1 (0)

0 (0)

3

-2 (-2)

  • Sur chaque arc : flot

  • Sur chaque nœud : offre (wi)

Michel Bierlaire


M thode du simplexe13

Méthode du simplexe

  • Problème :

2 (2)

2

1 (1)

1

4

5

-1 (-1)

0 (0)

3

-2 (-2)

  • Sur chaque arc : flot

  • Sur chaque nœud : offre (wi)

Michel Bierlaire


M thode du simplexe14

Méthode du simplexe

  • Problème :

2 (2)

2

1 (1)

1

4

5

1

-1 (-1)

0 (0)

3

-2 (-1)

  • Sur chaque arc : flot

  • Sur chaque nœud : offre (wi)

Michel Bierlaire


M thode du simplexe15

Méthode du simplexe

  • Problème :

2 (2)

2

1 (1)

1

4

5

-2

1

-1 (-1)

0 (0)

3

-2 (1)

  • Sur chaque arc : flot

  • Sur chaque nœud : offre (wi)

Michel Bierlaire


M thode du simplexe16

Méthode du simplexe

  • Problème :

2 (2)

2

1 (1)

1

4

5

-2

-1

1

-1 (-1)

0 (-1)

3

-2 (1)

  • Sur chaque arc : flot

  • Sur chaque nœud : offre (wi)

Michel Bierlaire


M thode du simplexe17

Méthode du simplexe

  • Problème :

2 (2)

2

1 (1)

1

4

5

-2

-1

1

-1

-1 (-1)

0 (-1)

3

-2 (0)

  • Sur chaque arc : flot

  • Sur chaque nœud : offre (wi)

Michel Bierlaire


M thode du simplexe18

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.

Michel Bierlaire


M thode du simplexe19

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

    • 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


M thode du simplexe20

Méthode du simplexe

  • Arbre maximal initial :

2 (1)

2

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

1

4

5

3

0

2

2

0

-1

3

-2

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : offre

Michel Bierlaire


M thode du simplexe21

Méthode du simplexe

  • Formation d’un cycle. Coût = -9

2 (1)

2

2 (1)

1

5 (1)

-2

3(0)

6 (2)

1

4

5

3

0

2

2

0

-1

3

-2

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : offre

Michel Bierlaire


M thode du simplexe22

Méthode du simplexe

  • Envoi d’une unité de flot

2 (1)

2

2 (1)

1

5 (0)

-2

3 (0)

6 (1)

1

4

5

3

0

2(1)

2

0

-1

3

-2

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : offre

Michel Bierlaire


M thode du simplexe23

Méthode du simplexe

  • Suppression d’un arc du cycle

2 (1)

2

2 (1)

1

5

-2

3 (0)

6 (1)

1

4

5

3

0

2(1)

2

0

-1

3

-2

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : offre

Michel Bierlaire


M thode du simplexe24

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 ?

Michel Bierlaire


Choix de l arc entrant

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

Michel Bierlaire


Choix de l arc entrant1

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

  • CalculeVoisins(r) ;

Michel Bierlaire


Choix de l arc entrant2

Choix de l’arc entrant

CalculVoisins(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

  • CalculVoisins(j)

Michel Bierlaire


Choix de l arc entrant3

Choix de l’arc entrant

  • Arbre maximal :

2

2

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

1

4

5

3

0

2

2

0

-1

3

-2

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : offre [pi]

Michel Bierlaire


Choix de l arc entrant4

Choix de l’arc entrant

  • Calcul des prix :

2

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

0

3

0

2

2

0

-1

racine

-2

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc entrant5

Choix de l’arc entrant

  • Arbre maximal :

2

-5

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

0

3

0

2

2

0

-1

racine

-2

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc entrant6

Choix de l’arc entrant

  • Arbre maximal :

2

-5

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

0

3

0

2

2

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc entrant7

Choix de l’arc entrant

  • Arbre maximal :

2

-5

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

0

-7

3

0

2

2

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc entrant8

Choix de l’arc entrant

  • Arbre maximal :

2

-5

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

0

-4

-7

3

0

2

2

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc entrant9

Choix de l’arc entrant

  • Calcul des prix (autre racine) :

2

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

23

3

0

2

2

0

-1

-2

racine

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc entrant10

Choix de l’arc entrant

  • Calcul des prix (autre racine) :

2

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

26

23

3

0

2

2

0

-1

-2

racine

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc entrant11

Choix de l’arc entrant

  • Calcul des prix (autre racine) :

2

25

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

26

23

3

0

2

2

0

-1

-2

racine

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc entrant12

Choix de l’arc entrant

  • Calcul des prix (autre racine) :

2

25

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

30

26

23

3

0

2

2

0

-1

-2

racine

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc entrant13

Choix de l’arc entrant

  • Calcul des prix (autre racine) :

2

25

2 (1)

1

5 (1)

-2

3 (0)

6 (2)

30

26

23

3

0

2

2

0

-1

19

-2

racine

  • Sur chaque arc : coût (flot)

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc entrant14

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 des décisions liées à la racine.

  • Notamment, la quantité

    rij = aij + pj – pi

    dépend uniquement de l’arbre maximal T

Michel Bierlaire


Choix de l arc entrant15

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)

Michel Bierlaire


Choix de l arc entrant16

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.

Michel Bierlaire


Choix de l arc entrant17

Choix de l’arc entrant

  • Coût du cycle formé :

Cycle à coût négatif

Michel Bierlaire


Choix de l arc entrant18

Choix de l’arc entrant

  • Solution de base admissible :

2

-5

2 (1)

1

5 (1)

-2 [-1]

3(0)

6 (2)

0

-4

-7

3 [9]

0 [3]

2 [-9]

2 [-5]

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot) [rij]

  • Sur chaque nœud : prix

Michel Bierlaire


Cycle

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é.

Michel Bierlaire


Cycle1

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é.

Michel Bierlaire


Cycle2

Cycle

  • Flot maximum le long du cycle :

2

d=1

-5

2 (1)

1

5 (1)

-2 [-1]

3(0)

6 (2)

0

-4

-7

3 [9]

0 [3]

2 [-9]

2 [-5]

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot) [rij]

  • Sur chaque nœud : prix

Michel Bierlaire


Cycle3

Cycle

  • Flot maximum le long du cycle :

2

-5

d=0

2 (1)

1

5 (1)

-2 [-1]

3(0)

6 (2)

0

-4

-7

3 [9]

0 [3]

2 [-9]

2 [-5]

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot) [rij]

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc sortant

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.

Michel Bierlaire


Choix de l arc sortant1

Choix de l’arc sortant

  • Avant d’envoyer le flot :

2

d=1

-5

2 (1)

1

5 (1)

-2 [-1]

3(0)

6 (2)

0

-4

-7

3 [9]

0 [3]

2 [-9]

2 [-5]

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot) [rij]

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc sortant2

Choix de l’arc sortant

  • Après avoir envoyé le flot :

2

d=1

-5

2 (1)

1

5 (0)

-2 [-1]

3(0)

6 (1)

0

-4

-7

3 [9]

0 [3]

2 [-5]

0

-1

2 (1)[-9]

-11

racine

-2

  • Sur chaque arc : coût (flot) [rij]

  • Sur chaque nœud : prix

Michel Bierlaire


Choix de l arc sortant3

Choix de l’arc sortant

  • Nouvelle solution de base admissible :

2

d=1

-5

2 (1)

1

5

-2

3(0)

6 (1)

0

-4

-7

3

0

2

2 (1)

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot)

Michel Bierlaire


Mise jour des prix

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

Michel Bierlaire


Mise jour des prix1

Mise à jour des prix

2

arc sortant

Tl

-5

2 (1)

1

5

-2

3(0)

6 (1)

0

-4

-7

3

0

2

Tk

2 (1)

0

-1

-11

arc entrant (k,l)

-2

  • Sur chaque arc : coût (flot)

Michel Bierlaire


Mise jour des prix2

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

Michel Bierlaire


D g n rescence

Dégénérescence

  • Impossible d’envoyer du flot

2

-5

d=0

2 (1)

1

5 (1)

-2 [-1]

3(0)

6 (2)

0

-4

-7

3 [9]

0 [3]

2 [-9]

2 [-5]

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot) [rij]

  • Sur chaque nœud : prix

Michel Bierlaire


D g n rescence1

Dégénérescence

  • On change de base mais la fonction objectif ne change pas.

  • Risque que l’algorithme cycle.

  • Pour garantir l’absence de cyclage, on introduit la notion de base fortement admissible.

Michel Bierlaire


D g n rescence2

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.

Michel Bierlaire


D g n rescence3

Dégénérescence

  • Arbre admissible, mais pas fortement

2

-5

2 (1)

1

5 (1)

-2 [-1]

3(0)

6 (2)

0

-4

-7

3 [9]

0 [3]

2 [-9]

2 [-5]

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot) [rij]

  • Sur chaque nœud : prix

Michel Bierlaire


D g n rescence4

Dégénérescence

  • Arbre fortement admissible

2

-5

2 (1)

1

5 (1)

-2 [-1]

3(0)

6 (2)

0

-4

-7

3 [9]

0 [3]

2 [-9]

2 [-5]

0

-1

-11

racine

-2

  • Sur chaque arc : coût (flot) [rij]

  • Sur chaque nœud : prix

Michel Bierlaire


D g n rescence5

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.

Michel Bierlaire


D g n rescence6

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.

Michel Bierlaire


D g n rescence7

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.

Michel Bierlaire


D g n rescence8

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.

Michel Bierlaire


D g n rescence9

Dégénérescence

r

joint

Flot = 1

Flot = 0

Flot = 3

Flot = 2

Flot = 0

Flot = 1

k

l

arc sortant

Michel Bierlaire


Initialisation

Initialisation

  • Comment trouver un premier arbre fortement admissible ?

  • Idée :

    • ajouter un nœud artificiel 0 avec s0=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

Michel Bierlaire


Initialisation1

Initialisation

2

2

2

1

5

-2

3

6

1

4

5

3

0

2

2

-1

0

3

M

M

M

-2

M

M

0

Michel Bierlaire


Initialisation2

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

Michel Bierlaire


Initialisation3

Initialisation

2

2

2

1

5

-2

3

6

1

4

5

3

0

2

2

-1

0

3

M(0)

M(1)

M(2)

M(2)

-2

M (1)

Coûts

(Flots)

0

Michel Bierlaire


Calcul des prix

Calcul des prix

M

2

5

-2

3

6

M

-M

-M

3

0

2

2

-M

M(0)

M(1)

M(2)

M(2)

M (1)

Coûts

(Flots)

0

Michel Bierlaire


Co ts r duits

Coûts réduits

M

2

5

-2

3

6

M

-M

-M

3

2[-2M+2]

0

2

-M

M(0)

M(1)

M(2)

M(2)

M (1)

Coûts

(Flots)

[coûts réduits]

d=1

0

Michel Bierlaire


Mise jour des flots

Mise à jour des flots

M

2

5

-2

3

6

M

-M

-M

3

2(1)

0

2

-M

M(0)

M(0)

M(1)

M(2)

M (1)

Coûts

(Flots)

[coûts réduits]

d=1

0

Michel Bierlaire


Mise jour des prix3

Mise à jour des prix

rkl = - 2M+2

Tl

M

2

Tk

5

-2

3

6

M

-M

-M

3

2(1)

0

2

-M

M(0)

M(0)

M(1)

M(2)

M (1)

Coûts

(Flots)

[coûts réduits]

0

Michel Bierlaire


Nouvel arbre

Nouvel arbre

M

2

5

-2

3

6

-M+2

-M

-M

3

2(1)

0

2

-M

M(0)

M

M(1)

M(2)

M (1)

Coûts

(Flots)

[coûts réduits]

0

Michel Bierlaire


Co ts r duits1

Coûts réduits

M

2 [-2M+2]

5

-2

3

6

-M+2

-M

-M

3

2(1)

0

2

-M

M(0)

M

M(1)

M(2)

M (1)

Coûts

(Flots)

[coûts réduits]

d=1

0

Michel Bierlaire


Mise jour des flots1

Mise à jour des flots

M

2 (1)

5

-2

3

6

-M+2

-M

-M

3

2(1)

0

2

-M

M(0)

M

M(1)

M(1)

M (0)

Coûts

(Flots)

[coûts réduits]

d=1

0

Michel Bierlaire


Mise jour des prix4

Mise à jour des prix

rkl = - 2M+2

M

Tl

2 (1)

Tk

5

-2

3

6

-M+2

-M

-M

3

2(1)

0

2

-M

M(0)

M

M(1)

M(1)

M (0)

Coûts

(Flots)

[coûts réduits]

0

Michel Bierlaire


Nouvel arbre1

Nouvel arbre

-M+2

2 (1)

5

-2

3

6

-3M+4

-3M+2

-M

3

2(1)

0

2

-3M+2

M(0)

M

M(1)

M(1)

M

Coûts

(Flots)

[coûts réduits]

d=1

-2M+2

Michel Bierlaire


Co ts r duits2

Coûts réduits

-M+2

2 (1)

5

-2

3

6

-3M+4

-3M+2

-M

3

2(1)

0[-2M+2]

2

-3M+2

M(0)

M

M(1)

M(1)

M

Coûts

(Flots)

[coûts réduits]

d=0

-2M+2

Michel Bierlaire


Mise jour des prix5

Mise à jour des prix

rkl = - 2M+2

-3M+4

Tk

2 (1)

5

-2

3

6

-5M+6

-3M+2

-3M+2

3

2(1)

0(0)

2

Tl

-5M+4

M(0)

M

M(1)

M(1)

M

Coûts

(Flots)

[coûts réduits]

-4M+4

Michel Bierlaire


Nouvel arbre2

Nouvel arbre

-3M+4

2 (1)

5

-2

3

6

-5M+6

-3M+2

-3M+2

3

2(1)

0(0)

2

-5M+4

M

M

M(1)

M(1)

M

Coûts

(Flots)

[coûts réduits]

-4M+4

Michel Bierlaire


Co ts r duits3

Coûts réduits

-3M+4

2 (1)

5

-2

6[-2M+6]

3

-5M+6

-3M+2

-3M+2

3

2(1)

0(0)

2

-5M+4

M

M

M(1)

M(1)

M

Coûts

(Flots)

[coûts réduits]

d=1

-4M+4

Michel Bierlaire


Mise jour des flots2

Mise à jour des flots

-3M+4

2 (1)

5

-2

6(1)

3

-5M+6

-3M+2

-3M+2

3

2(1)

0(0)

2

-5M+4

M

M

M(0)

M(0)

M

Coûts

(Flots)

[coûts réduits]

d=1

-4M+4

Michel Bierlaire


Choix de l arc sortant4

Choix de l’arc sortant

-3M+4

2 (1)

5

-2

6(1)

3

-5M+6

-3M+2

-3M+2

3

2(1)

0(0)

2

-5M+4

M

M

M(0)

M(0)

M

Coûts

(Flots)

[coûts réduits]

arc sortant

-4M+4

racine=joint

Michel Bierlaire


Mise jour des prix6

Mise à jour des prix

rkl = - 2M+6

Tk

-5M+10

2 (1)

5

-2

6(1)

3

-5M+6

-5M+8

-5M+8

3

2(1)

0(0)

2

Tl

-5M+4

M

M

M(0)

M(0)

M

Coûts

(Flots)

[coûts réduits]

arc sortant

-4M+4

racine=joint

Michel Bierlaire


Nouvel arbre3

Nouvel arbre

-5M+10

2 (1)

5

-2

6(1)

3

-5M+6

-5M+8

-5M+8

3

2(1)

0(0)

2

-5M+4

M

M

M(0)

M

M

Coûts

(Flots)

[coûts réduits]

-4M+4

Michel Bierlaire


Co ts r duits4

Coûts réduits

-5M+10

2 (1)

5

-2[-4]

6(1)

3

-5M+6

-5M+8

-5M+8

3

2(1)

0(0)

2

-5M+4

M

M

M(0)

M

M

Coûts

(Flots)

[coûts réduits]

d=0

-4M+4

Michel Bierlaire


Mise jour des prix7

Mise à jour des prix

rkl = - 4

Tk

-5M+10

2 (1)

5

-2(0)

6(1)

3

-5M+6

-5M+8

-5M+8

3

2(1)

0(0)

Tl

2

-5M+4

M

M

M(0)

M

M

Coûts

(Flots)

[coûts réduits]

-4M+4

Michel Bierlaire


Nouvel arbre4

Nouvel arbre

-5M+6

2 (1)

5

-2(0)

6(1)

3

-5M+2

-5M+8

-5M+4

3

2(1)

0

2

-5M

M

M

M(0)

M

M

Coûts

(Flots)

[coûts réduits]

-4M

Michel Bierlaire


Co ts r duits5

Coûts réduits

-5M+6

2 (1)

5

-2(0)

6(1)

3

-5M+2

-5M+8

-5M+4

3

2(1)

0

2[-6]

-5M

M

M

M

M(0)

M

Coûts

(Flots)

[coûts réduits]

d=1

-4M

Michel Bierlaire


Mise jour des flots3

Mise à jour des flots

-5M+6

2 (1)

5

-2(1)

6(0)

3

-5M+2

-5M+8

-5M+4

3

2(1)

0

2(1)

-5M

M

M

M(0)

M

M

Coûts

(Flots)

[coûts réduits]

d=1

-4M

Michel Bierlaire


Mise jour des prix8

Mise à jour des prix

rkl = - 6

Tk

-5M+6

2 (1)

5

-2(1)

6(0)

3

-5M+2

-5M+8

-5M+4

3

2(1)

0

2(1)

Tl

-5M

M

M

M(0)

M

M

Coûts

(Flots)

[coûts réduits]

-4M

Michel Bierlaire


Nouvel arbre5

Nouvel arbre

-5M

2 (1)

5

-2(1)

6

3

-5M+2

-5M+2

-5M-2

3

2(1)

0

2(1)

-5M

M

M

M(0)

M

M

Coûts

(Flots)

[coûts réduits]

-4M

Michel Bierlaire


Co ts r duits6

Coûts réduits

-5M

2 (1)

5

-2(1)

6

3[-1]

-5M+2

-5M+2

-5M-2

3

2(1)

0

2(1)

-5M

M

M

M(0)

M

M

Coûts

(Flots)

[coûts réduits]

d=1

-4M

Michel Bierlaire


Mise jour des flots4

Mise à jour des flots

-5M

2 (0)

5

-2(2)

6

3(1)

-5M+2

-5M+2

-5M-2

3

2(1)

0

2(1)

-5M

M

M

M(0)

M

M

Coûts

(Flots)

[coûts réduits]

d=1

-4M

Michel Bierlaire


Mise jour des prix9

Mise à jour des prix

rkl = - 1

Tk

-5M

2 (0)

5

-2(2)

6

3(1)

-5M+2

-5M+2

-5M-2

3

2(1)

0

2(1)

Tl

-5M

M

M

M

M(0)

M

Coûts

(Flots)

[coûts réduits]

-4M

Michel Bierlaire


Nouvel arbre6

Nouvel arbre

-5M-1

2

5

-2(2)

6

3(1)

-5M+1

-5M+1

-5M-2

3

2(1)

0

2(1)

-5M-1

M

M

M(0)

M

M

Coûts

(Flots)

[coûts réduits]

-4M-1

Michel Bierlaire


Co ts r duits7

Coûts réduits

-5M-1

2

5

-2(2)

6

3(1)

-5M+1

-5M+1

-5M-2

2(1)

0

3

2(1)

-5M-1

M

M(0)

M

M

M[-1]

Coûts

(Flots)

[coûts réduits]

d=0

-4M-1

Michel Bierlaire


Mise jour des prix10

Mise à jour des prix

rkl = - 1

Tl

-5M-1

2

5

-2(2)

6

3(1)

-5M+1

-5M+1

-5M-2

2(1)

0

3

2(1)

-5M-1

M

M

M

M

M(0)

Coûts

(Flots)

[coûts réduits]

d=0

-4M-1

Tk

Michel Bierlaire


Nouvel arbre7

Nouvel arbre

-5M-1

2

5

-2(2)

6

3(1)

-5M+1

-5M+1

-5M-2

2(1)

0

3

2(1)

-5M-1

M

M

M

M

M(0)

Coûts

(Flots)

[coûts réduits]

-4M-2

Michel Bierlaire


Co ts r duits optimum

Coûts réduits : optimum

-5M-1

2[1]

5[3]

-2(2)

6[6]

3(1)

-5M+1

-5M+1

-5M-2

2(1)

0[3]

3[6]

2(1)

-5M-1

M[2M-1]

M[3]

M[2M-3]

M[1]

M(0)

Coûts

(Flots)

[coûts réduits]

-4M-2

Michel Bierlaire


Propri t d int gralit

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.

Michel Bierlaire


  • Login