7. Problème de flot à coût minimum

142
7. Problème de flot à coût minimum

description

7. Problème de flot à coût minimum. 7.1 Graphes, graphes orientés, réseaux. Un graphe G =( V , E ) est constitué d’un ensemble non vide fini de sommets V et d’un ensemble d’ arêtes E tel que chaque arête a est identifiée par une paire non ordonnée de sommets ( u , v ) . c - PowerPoint PPT Presentation

Transcript of 7. Problème de flot à coût minimum

Page 1: 7. Problème de flot  à  coût minimum

7. Problème de flot

à

coût minimum

Page 2: 7. Problème de flot  à  coût minimum

7.1 Graphes, graphes orientés, réseaux

• Un graphe G =(V, E) est constitué d’un ensemble non vide fini de sommets V et d’un ensemble d’arêtes E tel que chaque arête a est identifiée par une paire non ordonnée de sommets (u, v).

c

a b

d

V = {1, 2, 3} E = {a, b, c, d}

a = b = (1, 2) ; c = (1, 3) ; d =(2, 3)

1

2

3

Page 3: 7. Problème de flot  à  coût minimum

• Un graphe g est un sous graphe d’un graphe G si tous les sommets et toutes les arêtes de g sont aussi des sommets et des arêtes de G.

c c

a b

d

G g

1

2

3

1

3

Page 4: 7. Problème de flot  à  coût minimum

• Un sous graphe d’un graphe G qui contient tous les sommets de G est un graphe partiel de G.

c c

a b

d d

G g

1

2

3

1

3

2

Page 5: 7. Problème de flot  à  coût minimum

• Une chaîne dans un graphe G est une suite d’arêtes distinctes a1, a2, …, ap

avec la propriété qu’il existe (p+1) sommets u1, u2, …, up+1 tels que

ai= (ui, ui+1).

c

a b

d

La suite a, c est une chaîne.

1

2

3

Page 6: 7. Problème de flot  à  coût minimum

• Un cycle dans un graphe G est une chaîne telle que u1 = up+1

c

a b

d

La suite c, b, d est un cycle.

1

2

3

Page 7: 7. Problème de flot  à  coût minimum

• Un graphe G est connexe si pour tout couple de sommets distincts, il existe une chaîne les reliant.

c

a b

d

Ce graphe est connexe.

1

2

3

Page 8: 7. Problème de flot  à  coût minimum

• Un arbre est un graphe connexe sans cycle

Propriété : Un arbre ayant n sommets comporte exactement (n – 1) arêtes

Page 9: 7. Problème de flot  à  coût minimum

• Un arbre partiel ( arbre de recouvrement) d’un graphe connexe G est un graphe partiel de G qui est un arbre

c c

a b

d d

G arbre partiel

1

2

3

1

3

2

Page 10: 7. Problème de flot  à  coût minimum

• Un cycle fondamental par rapport à un arbre partiel est un cycle formé d’une arête du graphe ne se trouvant pas sur l’arbre partiel et d’arêtes de l’arbre.

c c

a b

d d

G arbre partiel

1

2

3

1

3

2

Page 11: 7. Problème de flot  à  coût minimum

• Un cycle fondamental par rapport à un arbre partiel est un cycle formé d’une arête du graphe ne se trouvant pas sur l’arbre partiel et d’arêtes de l’arbre.

c c

a b a

d d

G cycle fondamental

1

2

3

1

3

2

Page 12: 7. Problème de flot  à  coût minimum

• Un graphe orienté G = (V, E) est constitué d’un ensemble non vide fini de sommets V et d’un ensemble d’arcs E tel que chaque arc a est identifié par une paire ordonnée de sommets (u, v).

a b

c d

e f

V = {1, 2, 3, 4} E = {a, b, c, d, e, f}

a = (1, 2), b = (2, 4), c = (2, 3), d =(3, 2), e = (1, 3), f = (3, 4)

2

3

1 4

Page 13: 7. Problème de flot  à  coût minimum

• Un graphe non orienté obtenu à partir d’un graphe orienté G en éliminant l’orientation sur les arcs est dénoté graphe correspondant.

• Les notions de chaîne, cycle, connexité, arbre, arbre partiel, et cycle fondamental pour les graphes orientés sont définies en se référant aux graphes correspondants.

• Un graphe orienté est simple si les sommets identifiant un arc sont distincts et s’il n’existe pas deux arcs identifiés par la même paire ordonnée de sommets.

Page 14: 7. Problème de flot  à  coût minimum

• Un réseau est un graphe orienté connexe dans lequel un flot peut circuler sur les arcs. Chaque arc (i, j) est caractérisée par

une capacité dij qui correspond à une borne supérieure sur le flot

dans l’arc

une borne inférieure lij sur le flot dans l’arc

De plus 0≤ lij ≤ dij

[0, 2] [2, 9]

[0, 6] [3, 4]

[0, 4] [1, 6]

À l’arc (i, j) est associé le couple [lij , dij].

2

3

1 4

Page 15: 7. Problème de flot  à  coût minimum

7.2 Formulation du problème de flot à coût minimum

• Nous considérons un réseau où

à chaque (i, j) sont associés les attributs suivants:

dij la capacité de l’arc

lij la borne inférieure sur le flot dans l’arc

cij le coût unitaire du flot dans l’arc

xij la variable dénotant la valeur du flot dans l’arc

à chaque sommet i sont associés les deux ensembles de sommets reliés ou adjacents à i suivants:

EjiVjP

EijVjB

i

i

),(:

),(:

Page 16: 7. Problème de flot  à  coût minimum

Dans le réseau suivant

B1= Φ , B2= {1, 3}, B3= {1, 2}, B4= {2, 3}

P1= {2, 3}, P2= {3, 4}, P3= {2, 4}, P4= Φ

[0, 2] [2, 9]

[0, 6] [3, 4]

[0, 4] [1, 6]

2

3

1 4

Page 17: 7. Problème de flot  à  coût minimum

• Le problème de flot à coût minimum consiste à déterminer comment

acheminer dans les arcs du réseau une quantité v de flot d’une source

à une destination de sorte à minimiser le coût total.

• Ce qui caractérise les problèmes de flots sont les contraintes de conservation de flot associées aux sommets du réseau.

• La contrainte de conservation de flot associée à un sommet i indique que la quantité totale de flot entrant dans le sommet doit être égale à celle sortant du sommet.

Vs Vt

Page 18: 7. Problème de flot  à  coût minimum

• La contrainte de conservation de flot associée à un sommet i indique que la quantité totale de flot entrant dans le sommet doit être égale à celle sortant du sommet.

v

2

3

1 4 vxx

xxv

s

ss

ss

Bjjs

Pjsj

Pjsj

Bjjs

ou

sourcelaPour

Page 19: 7. Problème de flot  à  coût minimum

• La contrainte de conservation de flot associée à un sommet i indique que la quantité totale de flot entrant dans le sommet doit être égale à celle sortant du sommet.

v

2

3

1 4

vxx

vxx

t

tt

tt

Bjjt

Pjtj

Pjtj

Bjjt

ou

ndestinatiolaPour

Page 20: 7. Problème de flot  à  coût minimum

• La contrainte de conservation de flot associée à un sommet i indique que la quantité totale de flot entrant dans le sommet doit être égale à celle sortant du sommet.

2

3

1 4

0

ou

ireintermédiasommetunPour

ii

ii

Bjji

Pjij

Pjij

Bjji

xx

xx

i

Page 21: 7. Problème de flot  à  coût minimum

• Formulons maintenant le problème de flot à coût minimum consistant à déterminer comment acheminer dans les arcs du réseau une quantité v de

flot d’une source à une destination de sorte à minimiser le

coût total.Vs Vt

( , )(FCM) min

Sujet à

(conservation de flot)

si

0 si ,

si

(capacité)

( , )

i i

ij iji j E

ij jij P j B

ij ij ij

c x

v i s

x x i s t

v i t

l x d i j E

( , )(FCM) min

Sujet à

(conservation de flot)

0 ,

(capacité)

( , )

s s

i i

t t

ij iji j E

sj jsj P j B

ij jij P j B

tj jtj P j B

ij ij ij

c x

x x v

x x i s t

x x v

l x d i j E

( , )(FCM) min

Sujet à

(conservation de flot)

0 ,

(capacité)

( , )

s s

i i

t t

ij iji j E

sj jsj P j B

ij jij P j B

tj jtj P j B

ij ij ij

c x

x x v

x x i s t

x x v

l x d i j E

Page 22: 7. Problème de flot  à  coût minimum

• La matrice correspondant aux contraintes de conservation

de flot est dénoté matrice d’incidence sommets-arcs:

ligne i ↔ sommet i

colonne (i, j) ↔ arc (i, j)

( , )(FCM) min

Sujet à

(conservation de flot)

si

0 si ,

si

(capacité)

( , )

i i

ij iji j E

ij jij P j B

ij ij ij

c x

v i s

x x i s t

v i t

l x d i j E

0

0

1

0

0

1

0

0

ijx

ligne i

ligne j

colonne (i, j)

ij P

ji B

Page 23: 7. Problème de flot  à  coût minimum

• Exemple de matrice d’incidence pour le réseau

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

( , )(FCM) min

Sujet à

(conservation de flot)

si

0 si ,

si

(capacité)

( , )

i i

ij iji j E

ij jij P j B

ij ij ij

c x

v i s

x x i s t

v i t

l x d i j E

Page 24: 7. Problème de flot  à  coût minimum

• La matrice d’incidence sommets-arcs jouit de la propriété d’unimodularité qui fait que l’algorithme du simplexe génère une solution entière pour le problème (FMC) lorsque lij, dij et v sont des entiers.

( , )(FCM) min

Sujet à

(conservation de flot)

si

0 si ,

si

(capacité)

( , )

i i

ij iji j E

ij jij P j B

ij ij ij

c x

v i s

x x i s t

v i t

l x d i j E

Page 25: 7. Problème de flot  à  coût minimum

7.3 Propriétés de la matrice d’incidence

• Nous allons démontrer que les colonnes de toute base de la matrice d’incidence correspondent aux arcs d’un arbre partiel du réseau et vice versa.

• Les notions de chaîne, cycle, connexité, arbre, arbre partiel, et cycle fondamental pour les graphes orientés sont définies en se référant aux graphes correspondants.

• Un arbre partiel ( arbre de recouvrement) d’un graphe connexe G est un graphe partiel de G qui est un arbre

• Un sous graphe d’un graphe G qui contient tous les sommets de G est un graphe partiel de G.

Page 26: 7. Problème de flot  à  coût minimum

7.3 Propriétés de la matrice d’incidence

• Nous allons démontrer que les colonnes de toute base de la matrice d’incidence correspondent aux arcs d’un arbre partiel du réseau et vice versa.

• Théorème: La matrice d’incidence A d’un graphe orienté simple et connexe composé de m sommets et de n arcs est de rang (m–1).

• Un graphe orienté est simple si les sommets identifiant un arc sont distincts et s’il n’existe pas deux arcs identifiés par la même paire ordonnée de sommets.

• Un graphe G est connexe si pour tout couple de sommets distincts, il existe une chaîne les reliant.

Page 27: 7. Problème de flot  à  coût minimum

7.3 Propriétés de la matrice d’incidence

• Nous allons démontrer que les colonnes de toute base de la matrice d’incidence correspondent aux arcs d’un arbre partiel du réseau et vice versa.

• Théorème: La matrice d’incidence A d’un graphe orienté simple et connexe composé de m sommets et de n arcs est de rang (m–1).

Preuve: Démontrons d’abord que le rang de A est inférieur ou égal à (m–1). Chaque colonne de A comporte exactement une composante égale à 1 et un composante égale à –1, les autres étant égales à 0.

Donc la somme des lignes de A engendre un vecteur composé uniquement de 0.

Par conséquent les lignes de A sont linéairement dépendantes. Ainsi le rang de A est inférieure ou égal à (m–1).

Page 28: 7. Problème de flot  à  coût minimum

• Exemple de matrice d’incidence pour le réseau

2

3

1 4

_____________________0 0 0 0 0

1 1 0 0 0 01 0 1 1 1 00 1 1 0 1 10 0 0

0

0 1 1

343224231312 xxxxxx

4

3

2

1

Page 29: 7. Problème de flot  à  coût minimum

Démontrons maintenant que le rang de A est au moins égal à (m–1). Supposons qu’il existe un ensemble K de k lignes de A

qui soient linéairement dépendante.

Il existe donc des scalaires qui ne sont pas tous nuls tels que

Puisque chaque colonne de A comporte exactement une composante égale à 1 et une composante égale à –1, si , alors il faut que pour tout élément différent de 0 dans la ligne nous retrouvions dans K la ligne de A comportant l’élément différent de 0 complémentaire.

kiii aaa ,...,,21

k ,...,, 21

0...21 21 kikii aaa

0jjia

Page 30: 7. Problème de flot  à  coût minimum

• Exemple de matrice d’incidence pour le réseau

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

Page 31: 7. Problème de flot  à  coût minimum

Démontrons maintenant que le rang de A est au moins égal à (m–1). Supposons qu’il existe un ensemble K de k lignes de A

qui soient linéairement dépendante. Il existe donc des scalaires qui ne sont pas tous nuls tels que

Puisque chaque colonne de A comporte exactement une composante égale à 1 et une composante égale à –1, si , alors il faut que pour tout élément différent de 0 dans la ligne nous retrouvions dans K la ligne de A comportant l’élément différent de 0 complémentaire.

Répétant l’argument pour tous les , nous en arrivons à la conclusion que K comporte toutes les lignes de A puisque le graphe orienté est simple et connexe.

Ainsi k = m, et par conséquent tout sous ensemble de τ lignes de A où τ ≤ m–1 sont linéairement indépendantes. Donc le rang de A est au moins

égal à (m –1). Par conséquent la rang de A est égal à (m –1).

kiii aaa ,...,,21

k ,...,, 21

0...21 21 kikii aaa

0jjia

0j

Page 32: 7. Problème de flot  à  coût minimum

• Théorème: Considérons la matrice d’incidence A d’un graphe orienté simple et connexe G composé de m sommets et de n arcs. Une sous matrice carrée de A de dimension (m – 1)x (m – 1) est non singulière si et seulement si les arcs associés aux colonnes de cette sous matrice sont ceux d’un arbre partiel du graphe orienté G.

Page 33: 7. Problème de flot  à  coût minimum

Preuve: Soit T un arbre partiel de G.

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

Page 34: 7. Problème de flot  à  coût minimum

Preuve: Soit T un arbre partiel de G.

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

Page 35: 7. Problème de flot  à  coût minimum

Preuve: Soit T un arbre partiel de G. Dénotons par A(T)) la sous matrice de A de dimension mx (m – 1) qui est la matrice d’incidence de T.

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

Page 36: 7. Problème de flot  à  coût minimum

Preuve: Soit T un arbre partiel de G. Dénotons par A(T)) la sous matrice de A de dimension mx (m – 1) qui est la matrice d’incidence de T.

T étant un graphe simple et connexe, il s’ensuit que le rang de A(T)) est égal à (m – 1) par le théorème précédent.

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

Page 37: 7. Problème de flot  à  coût minimum

Preuve: Soit T un arbre partiel de G. Dénotons par A(T)) la sous matrice de A de dimension mx (m – 1) qui est la matrice d’incidence de T.

T étant un graphe simple et connexe, il s’ensuit que le rang de A(T)) est égal à (m – 1) par le théorème précédent.

Alors toute sous matrice carrée de dimension (m – 1)x (m – 1) obtenue en éliminant une ligne de A(T)) est non singulière.

Or ces sous matrices

sont également des

sous matrices de A.

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

Page 38: 7. Problème de flot  à  coût minimum

Soit B une sous matrice de A carrée non singulière de dimension

(m – 1)x (m – 1).

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

Page 39: 7. Problème de flot  à  coût minimum

Soit B une sous matrice de A carrée non singulière de dimension

(m – 1)x (m – 1).

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

Page 40: 7. Problème de flot  à  coût minimum

Soit B une sous matrice de A carrée non singulière de dimension

(m – 1)x (m – 1). B est obtenue en éliminant une ligne de la matrice

d’incidence d’un sous graphe partiel g de G.

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

Page 41: 7. Problème de flot  à  coût minimum

Soit B une sous matrice de A carrée non singulière de dimension

(m – 1)x (m – 1). B est obtenue en éliminant une ligne de la matrice

d’incidence d’un sous graphe partiel g de G.

Le sous graphe g est donc simple, connexe et comporte exactement m sommets et (m – 1) arcs.

Donc g est un

arbre partiel de G.

2

3

1 4

101000

110110

011101

000011

343224231312 xxxxxx

4

3

2

1

Page 42: 7. Problème de flot  à  coût minimum

• Théorème: La matrice d’incidence A

d’un graphe orienté simple et connexe composé de m sommets et de n arcs est de rang (m–1).

• Théorème: Considérons la matrice d’incidence A d’un graphe orienté simple et connexe G composé de m sommets et de n arcs. Une sous matrice carrée de A de dimension

(m– 1)x (m – 1) est non singulière si et seulement si les arcs associés aux colonnes de cette sous matrice sont ceux d’un arbre partiel du graphe orienté G.

Toute base de la matrice d’incidence est telle que ses colonnes correspondent aux variables associées aux arcs d’un arbre partiel du réseau et vice-versa.

Les variables de base de toute solution de base du problème (FCM)correspondent aux arcs d’un arbre partiel du réseau et vice-versa.

Page 43: 7. Problème de flot  à  coût minimum

7.4 Résolution du problème de flot à coût minimum

• Nous utilisons la variante du simplexe pour les problèmes de programmation linéaire avec variables bornées pour résoudre le problème de flot à coût minimum (FCM):

Ejidx

tisiv

tsisi

sisiv

xx

xc

ijij

Pj Bjjiij

Ejiijij

i i

),(0

(capacité)

,0

flot)deion(conservat

àSujet

min(FCM)),(

EjiVjPEijVjB ii ),(:et),(:où

Page 44: 7. Problème de flot  à  coût minimum

• Pour analyser une itération, supposons que nous disposons d’une solution de base réalisable x du problème.

Donc les variables hors base xij sont telles que

xij = 0 ou dij.

Les variables de base xij correspondent aux arcs E(T) d’un arbre partiel T du réseau

4v

Page 45: 7. Problème de flot  à  coût minimum

• Critère d’entrée

Calcul des coûts relatifs des variables xij :

devient

Pour les variables de base associées aux arcs

Tij ij ijc c a

0

0

1

0

0

1

0

0

ijx

T1[ ,..., , ..., , ..., ]i j m

ligne i

ligne j

ija

jiijij cc

)(),( TEji

)(),(0 TEjicc jiijij

Page 46: 7. Problème de flot  à  coût minimum

Puisque pour un arbre (# d’arcs) = (# de sommets) –1 le système précédent comportent

(m – 1) équations associés aux arcs et m inconnus πi associés aux sommets i de T ( ou de A).

)(),(0 TEjicc jiijij

)(),( TEji

Il suffit de fixer la valeur d’un des multiplicateurs et d’évaluer

les autres avec le système d’équations.

Le système d’équations étant triangulaire, les multiplicateurs sont très simplement évalués

séquentiellement un à un.

Page 47: 7. Problème de flot  à  coût minimum

tttt

ssss

ssss

cc

cc

cc

cc

1111

32322323

2222

1111

10)4(

30)3(

10)2(

40)1(

)(),(0 TEjicc jiijij

3 2

2

1

1

=3

=1

=4

=1

s

s

t

Page 48: 7. Problème de flot  à  coût minimum

Reprenons notre exemple

Posons πt = 0

)(),(0 TEjicc jiijij

tttt

ssss

ssss

cc

cc

cc

cc

1111

32322323

2222

1111

10)4(

30)3(

10)2(

40)1(

143040)3(

451040)2(

514040)1(

11010)4(

3332

222

1

111

s

sss

t

π3=1

πt=0π1=1πs=5

π2=41

3

Page 49: 7. Problème de flot  à  coût minimum

Après avoir déterminer les valeurs des multiplicateurs, déterminons les coûts relatifs

des variables hors base associées aux arcs qui ne font pas partie de l’arbre partiel T.

Revenant à notre exemple

ijT

ijij acc

1012

1142

333

122121

ttt cc

cc

πt=0π1=1πs=5

π2=4 π3=1

Page 50: 7. Problème de flot  à  coût minimum

Après avoir déterminer les valeurs des multiplicateurs, déterminons les coûts relatifs

des variables hors base associées aux arcs qui ne font pas partie de l’arbre partiel T.

Critère d’optimalité

Sinon choisissons une des variables

(admissibles) xij où le critère n’est pas satisfait comme variable d’entrée.

Si la variable admissible xij = 0, alorssa valeur augmente, et si la valeur de

xij = dij, alors sa valeur diminue.

jiijij cc

optimale.estactuellesolutionlaalors

,où)(),(0

et

0où)(),(0

Si

ijijij

ijij

dxTEjic

xTEjic

Page 51: 7. Problème de flot  à  coût minimum

Après avoir déterminer les valeurs des multiplicateurs, déterminons les coûts relatifs

des variables hors base associées aux arcs qui ne font pas partie de l’arbre partiel T.

Revenant à notre exemple

ijT

ijij acc

1012

1142

333

122121

ttt cc

cc

πt=0π1=1πs=5

π2=4 π3=1x21 est admissible à augmenter

x3t est admissible à diminuer

Page 52: 7. Problème de flot  à  coût minimum

Étape 1: Choix de la variable d’entrée

Le critère pour choisir la variable d’entrée est modifié pour tenir compte des variables hors base xj à leur borne supérieure uj qui peuvent diminuer.

Ainsi, pour un indice

si , il est avantageux d’augmenter xj

si , il est avantageux de diminuer xj

JBj0et0 jj cx

0et jjj cux

Déterminons et

SoitSi , alors la solution est optimale et l’algorithme s’arrête.

Si , alors la variable xs augmente; aller à l’étape 2.1.

Si , alors la variable xs diminue; aller à l’étape 2.2

0:min1

jjJBj

s xcc

0sc

10 sss ccc et

10 sss ccc et

jjjJBjs uxcc

:max2

21 ,min sss ccc

Page 53: 7. Problème de flot  à  coût minimum

Après avoir déterminer les valeurs des multiplicateurs, déterminons les coûts relatifs

des variables hors base associées aux arcs qui ne font pas partie de l’arbre partiel T.

Revenant à notre exemple

ijT

ijij acc

1012

1142

333

122121

ttt cc

cc

πt=0π1=1πs=5

π2=4 π3=1x21 est admissible à augmenter

x3t est admissible à diminuer Variable d’entrée

Page 54: 7. Problème de flot  à  coût minimum

• Critère de sortieNous voulons évaluer l’effet de la modification de la variable d’entrée sur les variables de base.Il est facile de vérifier que seules les valeurs du flot des arcs du cycle fondamental associé à l’arc de la variable d’entrée sont modifiées.Revenant à notre exemple:

x3t est une variable d’entrée

Un cycle fondamental par rapport à un arbre partiel est un cycle formé d'une arête du graphe ne se trouvant pas sur l'arbre partiel et d'arêtes de l'arbre.

Page 55: 7. Problème de flot  à  coût minimum

Il faut déterminer la plus grande modification θ de la valeur de la variable d’entrée avant quei) la valeur d’une variable de base

xij diminue à 0;ii) la valeur d’une variable de base

xij atteigne sa capacité dij;iii) la valeur de la variable d’entrée

passe d’une borne à l’autre.

Si le cas i) ou ii) limite la modification θ de la variable d’entrée, la variable de base xij sort de la base pour être remplacée par la variable d’entrée. La nouvelle base correspond à un nouvel arbre partiel T ' où l’arc (i, j) dans T est remplacé par l’arc de la variable d’entrée.

Si le cas iii) se produit, il suffit d’ajuster les valeurs du flot sur les arcs du cycle fondamental et de procéder à la prochaine itération avec la même base.

Page 56: 7. Problème de flot  à  coût minimum

Complétons la résolution de notre

exemple. La variable d’entrée x3t

diminue de θ.La plus grande valeur que θ peut prendre est θ = 2 car alors le flot dans l’arc (1, t) atteint la capacité

d1t = 2.

La variable x1t est remplacé par la

variable x3t dans la base.La nouvelle solution et l’arbre partiel associé à la nouvelle base deviennent

4-θ

4-θ

4-θ

0+θ 0+θ

Page 57: 7. Problème de flot  à  coût minimum

Complétons la résolution de notre

exemple. La variable d’entrée x3t

diminue de θ.La plus grande valeur que θ peut prendre est θ = 2 car alors le flot dans l’arc (1, t) atteint la capacité

d1t = 2.

La variable x1t est remplacé par la

variable x3t dans la base.La nouvelle solution et l’arbre partiel associé à la nouvelle base deviennent

Page 58: 7. Problème de flot  à  coût minimum

Deuxième itération :

Critère d’entrée

Déterminons les multiplicateurs en

solutionnant le système:

tttt

ssss

ssss

cc

cc

cc

cc

3333

32322323

2222

1111

20)4(

30)3(

10)2(

40)1(

Page 59: 7. Problème de flot  à  coût minimum

Posons πt = 0

tttt

ssss

ssss

cc

cc

cc

cc

3333

32322323

2222

1111

20)4(

30)3(

10)2(

40)1(

264040)1(

651040)2(

523040)3(

22020)4(

111

2

2232

333

s

sss

t

3

1

3 2

0t

2 5

6s 1 2

Page 60: 7. Problème de flot  à  coût minimum

Évaluons maintenant les coûts relatifs

des variables hors base

2

3

1

4πt= 0

π3= 2π2= 5

πs= 6 π1= 2ij ij i jc c

1021

1252

111

122121

ttt cc

cc

Page 61: 7. Problème de flot  à  coût minimum

Puisque x1t = 2 = d1t et ,

alors x1t n’est pas admissible.

Par contre x21 = 0 et , et ainsi

x21 est variable d’entrée.

2

3

1

4

1021

1252

111

122121

ttt cc

cc

11 tc

121 c

Page 62: 7. Problème de flot  à  coût minimum

Puisque x1t = 2 = d1t et ,

alors x1t n’est pas admissible.

Par contre x21 = 0 et , et ainsi

x21 est variable d’entrée qui

augmente.

Le cycle fondamental correspondant

à l’arbre partiel devient

1021

1252

111

122121

ttt cc

cc

11 tc

121 c

Page 63: 7. Problème de flot  à  coût minimum

• Critère de sortie

Évaluons la plus grande valeur que

peut prendre l’augmentation θ de la

variable d’entrée.

Alors θ = 2 puisque pour cette valeur,

xs1 = 2 – 2 = 0

x21 = 0 + 2 = 2 = d21.

Nous pouvons poursuivre avec la

même base puisque x21 = 2 = d21.

Nous préférons considérer xs1 comme

variable de sortie.

La nouvelle solution et l’arbre partiel

associé à la nouvelle base deviennent

0+θ2+θ

2-θ

Page 64: 7. Problème de flot  à  coût minimum

• Critère de sortie

Évaluons la plus grande valeur que

peut prendre l’augmentation θ de la

variable d’entrée.

Alors θ = 2 puisque pour cette valeur,

xs1 = 2 – 2 = 0

x21 = 0 + 2 = 2 = d21.

Nous pouvons poursuivre avec la

même base puisque x21 = 2 = d21.

Nous préférons considérer xs1 comme

variable de sortie

La nouvelle solution et l’arbre partiel

associé à la nouvelle base deviennent

Page 65: 7. Problème de flot  à  coût minimum

Troisième itération :

Critère d’entrée

Déterminons les multiplicateurs en

en utilisant directement la

représentation de l’arbre partiel et la

définition des coûts relatifs

Évaluons maintenant les coûts relatifs

des variables hors base

0 jiijij cc

2

3

21

πt=0πs=6

π2=5 π3=2

π1=3

2031

1364

111

111

ttt

sss

cc

cc

Page 66: 7. Problème de flot  à  coût minimum

La solution est optimale puisque

2031

1364

111

111

ttt

sss

cc

cc

02et2

01et0

111

11

ttt

ss

cdx

cx

Page 67: 7. Problème de flot  à  coût minimum

• L’adaptation de la méthode du simplexe est grandement simplifiée grâce à la structure de la matrice d’incidence.

• Il y a beaucoup de dégénérescence dans ce type de problème. Ceci peut entraîner des itérations dégénérées (où les valeurs des variables ne changent pas) tout simplement pour changer de base. Certains résultats existent pour guider le choix des solutions de base d’une itération à l’autre pour réduire le nombre d’itérations dégénérées.

Page 68: 7. Problème de flot  à  coût minimum

Cas avec plusieurs sources et destinations

s1

s2

sp

t1

t2

tq

Reste du réseau

jtj

isi

tvqjVtq

svpiVsp

j

i

àarrivequiflotdequantitéladénoteoù,,1,nsdestinatio

àoriginequiflotdequantitéladénoteoù,,1,sources

Page 69: 7. Problème de flot  à  coût minimum

Construisons un réseau G1= (V1, E1 )

s1

s2

sp

t1

t2

tq

Reste du réseau

s t

tsVV ,1

jtj

isi

tvqjVtq

svpiVsp

j

i

àarrivequiflotdequantitéladénoteoù,,1,nsdestinatio

àoriginequiflotdequantitéladénoteoù,,1,sources

Page 70: 7. Problème de flot  à  coût minimum

Construisons un réseau G1= (V1, E1 )

s1

s2

sp

t1

t2

tq

Reste du réseau

s t

tsVV ,1

qjttpissEE ji ,,1:),(,,1:),(1

jtj

isi

tvqjVtq

svpiVsp

j

i

àarrivequiflotdequantitéladénoteoù,,1,nsdestinatio

àoriginequiflotdequantitéladénoteoù,,1,sources

Page 71: 7. Problème de flot  à  coût minimum

Construisons un réseau G1= (V1, E1 )

s1

s2

sp

t1

t2

tq

Reste du réseau

s t

tsVV ,1

qjttpissEE ji ,,1:),(,,1:),(1

]0,[1s

v

]0,[,2sv

]0,[psv

]0,[1t

v

]0,[2t

v

]0,[qt

v

jtj

isi

tvqjVtq

svpiVsp

j

i

àarrivequiflotdequantitéladénoteoù,,1,nsdestinatio

àoriginequiflotdequantitéladénoteoù,,1,sources

],[ ijij cd

Page 72: 7. Problème de flot  à  coût minimum

Construisons un réseau G1= (V1, E1 )

v v

s1

s2

sp

t1

t2

tq

Reste du réseau

s t

]0,[1s

v

]0,[,2sv

]0,[psv

]0,[1t

v

]0,[2t

v

]0,[qt

v

q

jt

p

is ji

vvv11

totalFlot

jtj

isi

tvqjVtq

svpiVsp

j

i

àarrivequiflotdequantitéladénoteoù,,1,nsdestinatio

àoriginequiflotdequantitéladénoteoù,,1,sources

Page 73: 7. Problème de flot  à  coût minimum

7.5 Problème de transport classique

• S ensemble de m sommets sources ( i =1, 2, …, m),

T ensemble de n sommets destinations (j = 1, 2, …, n)

Aucun sommet intermédiaire

• Il existe un arc reliant chaque pair

source-destination

etV S T S T

TjSijiE ,:),(

Sources Destinations

1

2

m

1

2

n

Page 74: 7. Problème de flot  à  coût minimum

Cas avec plusieurs sources et destinations

s1

s2

sp

t1

t2

tq

Reste du réseau

jtj

isi

tvqjVtq

svpiVsp

j

i

àarrivequiflotdequantitéladénoteoù,,1,nsdestinatio

àoriginequiflotdequantitéladénoteoù,,1,sources

Page 75: 7. Problème de flot  à  coût minimum

7.5 Problème de transport classique

• S ensemble de m sommets sources ( i =1, 2, …, m),

T ensemble de n sommets destinations (j = 1, 2, …, n)

Aucun sommet intermédiaire

• Il existe un arc reliant chaque pair

source-destination

etV S T S T

TjSijiE ,:),(

Sources Destinations

1

2

m

1

2

n

Page 76: 7. Problème de flot  à  coût minimum

• xij : flot dans l’arc (i, j)

• cij : coût unitaire de transport sur l’arc (i, j)

• ai : disponibilité au sommet source i

• bj : demande au sommet destination j

• Problème

Déterminer la quantité à transporter

de chaque source i à chaque

destination j (i. e., xij) pour satisfaire

les demandes en respectant les

disponibilités de façon à minimiser

le coût total de transport.

Sources Destinations

1

2

m

1

2

n

Page 77: 7. Problème de flot  à  coût minimum

• Problème Déterminer la quantité à transporter de chaque source i à chaque destination j (i. e., xij) pour satisfaire les demandes en respectant les disponibilités de façon à minimiser le coût total de transport.

Sources Destinations

1

2

m

1

2

n

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

,,1;,,10

,,1

,,1àSujet

min

1

1

1 1

Formulation

Page 78: 7. Problème de flot  à  coût minimum

• Matrice des contraintes unimodulaire, et par conséquent l’algorithme du simplexe identifie une solution optimale où toutes les valeurs des variables sont entières lorsque les ai et les bj sont des valeurs entières.

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

,,1;,,10

,,1

,,1àSujet

min

1

1

1 1

Formulation

Page 79: 7. Problème de flot  à  coût minimum

• Considérons la combinaison linéaire suivante des contraintes où des poids de 1 et de –1 sont associés respectivement à chacune des m premières et des n dernières contraintes:

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

,,1;,,10

,,1

,,1àSujet

min

1

1

1 1

Formulation

n

jj

m

ii

n

j

n

jj

m

ii

m

iij

m

i

n

jij

n

j

n

jj

m

ii

m

iij

m

i

n

jij

ba

baxx

baxx

11

1 1111 1

1 1111 1

.réalisablesoitproblèmelequepourquedoncfautIl

.0

alorset

1

–1

Page 80: 7. Problème de flot  à  coût minimum

• Il s’ensuit

- une contrainte peut s’exprimer comme combinaison linéaire des autres

- un argument similaire à celui utilisé pour le problème (FCM) peut

être utilisé pour démontrer que le rang de la matrice des contraintes

est égal a (m + n – 1)

-chaque solution de base comporte (m + n – 1) variables de base.

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

,,1;,,10

,,1

,,1àSujet

min

1

1

1 1

Formulation

Page 81: 7. Problème de flot  à  coût minimum

Variante de l’algorithme du simplexepour le problème de transport

• Pour résoudre le problème de transport, nous utilisons un tableau de dimension mxn où l’élément (i, j) du tableau est de la forme suivante

• Exemple numérique pour illustrer la méthode:

xij

cij

24233

23222

55422

98643

ijc

T

T

30,80, 10, 60

10, 50, 20, 80, 20

a

b

Page 82: 7. Problème de flot  à  coût minimum

24233

23222

55422

98643

ijc

T

T

30,80, 10, 60

10, 50, 20, 80, 20

a

b

Page 83: 7. Problème de flot  à  coût minimum

• Première itération de la procédure de résolution:

Trouver une solution de base réalisable initiale

Nous utilisons la méthode du coin Nord-Ouest

Page 84: 7. Problème de flot  à  coût minimum

24233

23222

55422

98643

ijc

T

T

30,80, 10, 60

10, 50, 20, 80, 20

a

b

Page 85: 7. Problème de flot  à  coût minimum

• Au départ tous les flots xij = 0• Étape 1 Commencer au coin en haut à gauche (Nord-Ouest)du tableau.• Étape 2 Affecter comme valeur du flot à cet élément du tableau, la plus grande valeur compatible avec la disponibilité résiduelle de la source correspondante et avec la demande résiduelle de la destination correspondante. Réduire de cette valeur la disponibilité résiduelle de la source et la demande résiduelle de la destination (une des deux quantités devient nulle).

10

0

20

Page 86: 7. Problème de flot  à  coût minimum

• Étape 2 Affecter comme valeur du flot à cet élément du tableau, la plus grande valeur compatible avec la disponibilité résiduelle de la source correspondante et avec la demande résiduelle de la destination correspondante. Réduire de cette valeur la disponibilité résiduelle de la source et la demande résiduelle de la destination (une des deux quantités devient nulle).• Étape 3 Si la disponibilité résiduelle de la source associée à l’élément est positive, passer à l’élément à droite et aller à l’étape 2. Sinon aller à l’étape 4. • Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à l’élément en dessous, et aller à l’étape 2.

10

0

2020 0

30

Page 87: 7. Problème de flot  à  coût minimum

• Étape 2 Affecter comme valeur du flot à cet élément du tableau, la plus grande valeur compatible avec la disponibilité résiduelle de la source correspondante et avec la demande résiduelle de la destination correspondante. Réduire de cette valeur la disponibilité résiduelle de la source et la demande résiduelle de la destination (une des deux quantités devient nulle).• Étape 3 Si la disponibilité résiduelle de la source associée à l’élément est positive, passer à l’élément à droite et aller à l’étape 2. Sinon aller à l’étape 4. • Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à l’élément en dessous, et aller à l’étape 2.

10

0

2020 0

30

30 0

50

Page 88: 7. Problème de flot  à  coût minimum

• Étape 2 Affecter comme valeur du flot à cet élément du tableau, la plus grande valeur compatible avec la disponibilité résiduelle de la source correspondante et avec la demande résiduelle de la destination correspondante. Réduire de cette valeur la disponibilité résiduelle de la source et la demande résiduelle de la destination (une des deux quantités devient nulle).• Étape 3 Si la disponibilité résiduelle de la source associée à l’élément est positive, passer à l’élément à droite et aller à l’étape 2. Sinon aller à l’étape 4. • Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à l’élément en dessous, et aller à l’étape 2.

10

0

2020 0

30

30 0 0

5020 30

Page 89: 7. Problème de flot  à  coût minimum

• Étape 2 Affecter comme valeur du flot à cet élément du tableau, la plus grande valeur compatible avec la disponibilité résiduelle de la source correspondante et avec la demande résiduelle de la destination correspondante. Réduire de cette valeur la disponibilité résiduelle de la source et la demande résiduelle de la destination (une des deux quantités devient nulle).• Étape 3 Si la disponibilité résiduelle de la source associée à l’élément est positive, passer à l’élément à droite et aller à l’étape 2. Sinon aller à l’étape 4. • Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à l’élément en dessous, et aller à l’étape 2.

10

0

2020 0

30

30 0 0

5020 3030 0

50

Page 90: 7. Problème de flot  à  coût minimum

• Étape 2 Affecter comme valeur du flot à cet élément du tableau, la plus grande valeur compatible avec la disponibilité résiduelle de la source correspondante et avec la demande résiduelle de la destination correspondante. Réduire de cette valeur la disponibilité résiduelle de la source et la demande résiduelle de la destination (une des deux quantités devient nulle).• Étape 3 Si la disponibilité résiduelle de la source associée à l’élément est positive, passer à l’élément à droite et aller à l’étape 2. Sinon aller à l’étape 4. • Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à l’élément en dessous, et aller à l’étape 2.

10

0

2020 0

30

30 0 0

5020 3030 0

50

10 0

40

Page 91: 7. Problème de flot  à  coût minimum

• Étape 2 Affecter comme valeur du flot à cet élément du tableau, la plus grande valeur compatible avec la disponibilité résiduelle de la source correspondante et avec la demande résiduelle de la destination correspondante. Réduire de cette valeur la disponibilité résiduelle de la source et la demande résiduelle de la destination (une des deux quantités devient nulle).• Étape 3 Si la disponibilité résiduelle de la source associée à l’élément est positive, passer à l’élément à droite et aller à l’étape 2. Sinon aller à l’étape 4. • Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à l’élément en dessous, et aller à l’étape 2.

10

0

2020 0

30

30 0 0

5020 3030 0

50

10 0

40

40

0

20

Page 92: 7. Problème de flot  à  coût minimum

• Étape 2 Affecter comme valeur du flot à cet élément du tableau, la plus grande valeur compatible avec la disponibilité résiduelle de la source correspondante et avec la demande résiduelle de la destination correspondante. Réduire de cette valeur la disponibilité résiduelle de la source et la demande résiduelle de la destination (une des deux quantités devient nulle).• Étape 3 Si la disponibilité résiduelle de la source associée à l’élément est positive, passer à l’élément à droite et aller à l’étape 2. Sinon aller à l’étape 4. • Étape 4 Si les demandes résiduelles de toutes les destinations sont réduites à 0, alors une solution de base réalisable initiale est disponible. Sinon, passer à l’élément en dessous, et aller à l’étape 2.

10

0

2020 0

30

30 0 0

5020 3030 0

50

10 0

40

40

0

2020 0

0

Page 93: 7. Problème de flot  à  coût minimum

• Poursuivre la résolution avec l’algorithme du simplexe pour le problème de transport.

• Critère d’entrée:

μi ↔ contrainte de la source i

νj ↔ contrainte de la destination j

μT = [μ1 , μ2 , …, μm]

νT = [ν1 , ν2 , …, νn]

Calcul des coûts relatifs des variables xij:T T[ , ]ij ij ijc c a

1

1 1

1

1

1

min

Sujet à 1, ,

1, ,

0 1, , 1 ; 1, ,

m n

ij iji j

n

ij ij

m

ij ji

ij

c x

x a i m

x b j n

x i m j n

μi

νj

Page 94: 7. Problème de flot  à  coût minimum

njmix

bxxx

bxxx

bxxx

axxx

axxx

axxx

xcxcxc

ij

nnmninn

jjmjijj

mi

mmmnmjm

iiiniji

nj

mnmnijij

,,1;,,10

......

......

......

àSujet

min

1

1

111111

1

1

111111

1111

Sources Destinations

1

2

m

1

2

n

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

,,1;,,10

,,1

,,1àSujet

min

1

1

1 1

Page 95: 7. Problème de flot  à  coût minimum

njmix

bxxx

bxxx

bxxx

axxx

axxx

axxx

xcxcxc

ij

nnmninn

jjmjijj

mi

mmmnmjm

iiiniji

nj

mnmnijij

,,1;,,10

......

......

......

àSujet

min

1

1

111111

1

1

111111

1111

T T[ , ]ij ij ijc c a jiijij cc

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

,,1;,,10

,,1

,,1àSujet

min

1

1

1 1

Page 96: 7. Problème de flot  à  coût minimum

• Évaluer les multiplicateurs en trouvant une solution au système

• Rang de la matrice des contraintes égal à (m + n – 1) =>

- système avec (m + n – 1) équations et (m + n) inconnus

- fixer la valeur d’un inconnu (multiplicateur) pour évaluer

les autres

- système triangulaire, les multiplicateurs sont très

simplement évalués séquentiellement un à un.

ijjiijij xcc basedevariables0

variables de baseij i j ijc x

Page 97: 7. Problème de flot  à  coût minimum

2530

5140

1320

1340

3250

1230

2240

2020

0Poser

11111

12112

22222

33223

24224

34334

44444

45445

5

c

c

c

c

c

c

c

c

021-1-2

5 4 45

4 4 44

4 3 34

4 2 24

2

c

c

c

c

3 23

2 2 22

2 1 12

1 1 11

=

=

c

c

c

c

Page 98: 7. Problème de flot  à  coût minimum

Calculons les coûts relatifs des variables hors base

0

11223212

21232035

32231232

10124059

01121258

21120156

4331

4225

4121

3515

3314

3213

cc

cc

cc

cc

cc

cc

x43 est variable d’entrée

0 1 4

1 2

3 2 1

3 2 1

0

Page 99: 7. Problème de flot  à  coût minimum

• Critère de sortie

Quand la valeur de la variable d’entrée augmente, il faut ajuster les valeurs des variables de base pour maintenir la réalisabilité.

Les variables de base dont les valeurs sont modifiées et la variable d’entrée forment un « cycle » dans le tableau.

θ

–θ +θ

–θ

Page 100: 7. Problème de flot  à  coût minimum

θ

–θ +θ

–θ

Pour que les valeurs du flot demeurent non négatifs sur les arcs (2, 3) et (4, 4): 20 – θ ≥ 0 et 40 – θ ≥ 0 La plus grande valeur que θ peut prendre est θ = 20.

La variable de sortie est donc x23.

Alors la variable d’entrée x43 remplace la variable de sortie x23 comme variable de base.

Page 101: 7. Problème de flot  à  coût minimum

• Nouvelle solution de base

• Critère d’entrée

Déterminer les multiplicateurs.

Déterminer les coûts relatifs des variables hors base.

Comme tous les coûts relatifs sont non négatifs, la solution est optimale.

4

1 1 4

1 1 2

3 2 1 1

3 2

Page 102: 7. Problème de flot  à  coût minimum

Pour chaque colonne, soustraire l'élement minimum

du second élément minimum

Pour chaque

Méthode

ligne,

de Vogel pour générer une so

soustraire l'élément minimum

lution initi

du second él

ale

ément minimum

Perte de devoir affecter au deuxiéme élément le plus petit

si on ne peut le f

Méthode de type regr

aire sur le plus p

et:

etit

Page 103: 7. Problème de flot  à  coût minimum

0 0 0 1 0

1

0

0

0

Pour chaque colonne, soustraire l'élement minimum

du second élément minimum

Pour chaque

Méthode

ligne,

de Vogel pour générer une so

soustraire l'élément minimum

lution initi

du second él

ale

ément minimum

Page 104: 7. Problème de flot  à  coût minimum

0 0 0 1 0

1

0

0

0

10 0

70

Identifier le plus grand minimum

Affecter le maximum possible à la case minimum

de la ligne ou de la colonne

Ajuster la disponibilité et la demande associées

Page 105: 7. Problème de flot  à  coût minimum

1 1 2 1 3

1

0

0

10 0

70

Éliminer

la ligne si la disponibilité devient égale à 0

ou

la colonne si la demande devient égale à 0

Répéter le processus avec les lignes

et les colonnes qui restent

Page 106: 7. Problème de flot  à  coût minimum

1 1 2 1 3

1

0

0

10 0

70

20

0

40

Page 107: 7. Problème de flot  à  coût minimum

1 1 2 1

1

0

1

10 0

70

20

0

40

Page 108: 7. Problème de flot  à  coût minimum

1 1 1 2

1

0

1

10 0

70

20

0

40

0

2020

Page 109: 7. Problème de flot  à  coût minimum

1 1 1

1

0

1

10 0

70

20

0

40

0

2020

Page 110: 7. Problème de flot  à  coût minimum

1 1 1

1

0

0

10 0

70

20

0

40

0

2020

50 30

0

Page 111: 7. Problème de flot  à  coût minimum

1 1

5

3

1

10 0

70

20

0

40

0

2020

50 30

0

Page 112: 7. Problème de flot  à  coût minimum

1 1

5

3

1

10 0

70

20

0

40

0

2020

50 30

0

10 20

0

Page 113: 7. Problème de flot  à  coût minimum

1

8

5

4

10 0

70

20

0

40

0

2020

50 30

0

10 20

0

Page 114: 7. Problème de flot  à  coût minimum

1

8

5

4

10 0

70

20

0

40

0

2020

50 30

0

10 20

0

20 0

50

Page 115: 7. Problème de flot  à  coût minimum

1

5

4

10 0

70

20

0

40

0

2020

50 30

0

10 20

0

20 0

50

Page 116: 7. Problème de flot  à  coût minimum

1

5

4

10 0

70

20

0

40

0

2020

50 30

0

10 20

0

20 0

50

30 0

20

Page 117: 7. Problème de flot  à  coût minimum

4

4

10 0

70

20

0

40

0

2020

50 30

0

10 20

0

20 0

50

30 0

20

Page 118: 7. Problème de flot  à  coût minimum

4

4

10 0

70

20

0

40

0

2020

50 30

0

10 20

0

20 0

50

30 0

20

20 0

0

Page 119: 7. Problème de flot  à  coût minimum

• Problème de transport avec surplus:

Formulation

m

i

n

jji ba

1 1

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

,,1;,,10

,,1

,,1àSujet

min

1

1

1 1

Contraintes d’inégalitéspour assurer réalisabilité

Page 120: 7. Problème de flot  à  coût minimum

• Problème de transport avec surplus:

Formulation

m

i

n

jji ba

1 1

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

,,1;,,10

,,1

,,1àSujet

min

1

1

1 1

Contraintes d’inégalitéspour assurer réalisabilité

Page 121: 7. Problème de flot  à  coût minimum

• Transformation en ajoutant une destination fictive (n + 1):

pour retrouver un problème avec des contraintes d’égalités

m

i

n

jjin bab

1 11

1,,1;,,10

1,,1

,,1àSujet

min

1

1

1

1

1

1

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

cin+1 = 0 i =1, 2, …, m

Dans la solution optimale x* :x*in+1 = quantité en surplus à la source i qui n’est pas utilisée

n+1

Page 122: 7. Problème de flot  à  coût minimum

• Problème de transport avec déficit:

Formulation

Contraintes d’inégalitéspour assurer réalisabilité

m

i

n

jji ba

1 1

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

,,1;,,10

,,1

,,1àSujet

min

1

1

1 1

Page 123: 7. Problème de flot  à  coût minimum

• Transformation en ajoutant une source fictive (m + 1):

pour retrouver un problème avec des contraintes d’égalités

cm+1j = 0 j=1, 2, …, n

Dans la solution optimale x* :x*m+1j = déficit de la demande à la destination j (qui n’est pas satisfaite)

m

ii

n

jjm aba

111

njmix

njbx

miax

xc

ij

m

ijij

n

jiij

m

i

n

jijij

,,1;1,,10

,,1

1,,1àSujet

min

1

1

1

1

1 1

m+1

Page 124: 7. Problème de flot  à  coût minimum

7.6 Problème d’affectation

candidats 1, , postes 1, , coût d'affectation du candidat au poste

Le problème consiste à déterminer une affectation de chaque candidat pour combler chacun des postes en minimisant le

ij

m i mm j mc i j

coût total d'affectation

1 1

1

1

min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m

ij iji jm

ijjm

iji

ij

c x

x i m

x j m

x i mj m

Page 125: 7. Problème de flot  à  coût minimum

1 1

1

1

min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m

ij iji jm

ijjm

iji

ij

c x

x i m

x j m

x i mj m

Ce problème a la structure d'un problème de transport: chaque souce comportant un seul candidat chaque destination demandant un candidat

ij

L'algorithme pour résoudre le problème de transport peutdonc être utilisé pour ce problème.

Page 126: 7. Problème de flot  à  coût minimum

1 1

1

1

min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m

ij iji jm

ijjm

iji

ij

c x

x i m

x j m

x i mj m

Pour résoudre ce problème, nous allons plutôt utiliser une autre méthode ad hoc qui a été développée par un mathématicien hongrois. D'où le nom de méthode hongro ise.

Le principe de base consiste à modifier la fonction économique du problème en exploitant les contraintes d'affectation pourexiber plus facilement une solution pour le problème équivalenten utilisant uniquement des affectations dont le coût est nul.

Page 127: 7. Problème de flot  à  coût minimum

1 1

1

1

min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m

ij iji jm

ijjm

iji

ij

c x

x i m

x j m

x i mj m

Utilisons l'exemple suivantpour illustrer:

2 5 74 2 12 6 5

La suite des transformations est la suivante.

Page 128: 7. Problème de flot  à  coût minimum

21

2

5 74 2 6 5

1 1

1

1

min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m

ij iji jm

ijjm

iji

ij

c x

x i m

x j m

x i mj m

2 5 74 2 12 6 5

1, ,

Pour chaque ligne (candidat) déterÉtape 1:

minons Transformation 1.

mini ijj m

i

c

1

1

Déterminons maintenant des nouveaux coûts :

1, , ; 1, ,ij

ij ij i

c

c c i m j m 0 3 53 1 00 4 3

Page 129: 7. Problème de flot  à  coût minimum

1 1

1

1

min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m

ij iji jm

ijjm

iji

ij

c x

x i m

x j m

x i mj m

1

1 1 1 1

Nouvelle fonction économique m m m m

ij ij ij i iji j i j

c x c x

1

1

Déterminons maintenant des nouveaux coûts :

1, , ; 1, ,ij

ij ij i

c

c c i m j m

1 1 1 1

m m m m

ij ij i iji j i j

c x x

1 1 1 1

m m m m

ij ij i iji j i j

c x x

1 1 11

puisque 1m

ijj

m m m

ij ij ii j i

c x x

1

Puisque est une constante (ne depend pas des )m

i iji

x

1

1 1 1 1 1

m m m m m

ij ij ij iiji j i j i

c x c x

Page 130: 7. Problème de flot  à  coût minimum

1 1

1

1

min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m

ij iji jm

ijjm

iji

ij

c x

x i m

x j m

x i mj m

1

1 1 1 1

Nouvelle fonction économique m m m m

ij ij ij i iji j i j

c x c x

1 1 1 1

m m m m

ij ij i iji j i j

c x x

1 1 1 1

m m m m

ij ij i iji j i j

c x x

1 1 11

puisque 1m

ijj

m m m

ij ij ii j i

c x x

1

Puisque est une constante (ne depend pas des )m

i iji

x

1 1 1

1

1

1min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m m

i iji i j

m

ijjm

ij

j

j

i

i

i

x

x i m

x j m

x i m

c

j m

mêmes solutionsoptimales

1

1 1 1 1 1

m m m m m

ij ij ij iiji j i j i

c x c x

Page 131: 7. Problème de flot  à  coût minimum

1 1 1

1

1

1min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m m

i iji i j

m

ijjm

ij

j

j

i

i

i

x

x i m

x j m

x i m

c

j m

1, ,

Pour chaque colonne (poste) déteTr

rmÉtape 2

inons ansformat: io n 2

n

.

mij iji m

j

c

2

2 1

Déterminons maintenant des nouveaux coûts :

1, , ; 1, ,ij

ij jij

c

c c i m j m

1 0 3 5

3 0 4 3

0

0 3 53 1 00 4 3

0 2 53 0 00 3 3

Page 132: 7. Problème de flot  à  coût minimum

1 1 1

1

1

1min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m m

i iji i j

m

ijjm

ij

j

j

i

i

i

x

x i m

x j m

x i m

c

j m

2 1

1 1 1 1

Nouvelle fonction économique m m m m

ij ij j ijiji j i j

c x c x

1

1 1 1 1

m m m m

ij j ijiji j i j

c x x

1

1 1 1 1

m m m m

ij j ijiji j j i

c x x

1

1 11 1

puisque 1m

ij

m m m

ij jiji j j i

c x x

1

Puisque est une constante (ne depend pas des )m

j ijj

x

2

2 1

Déterminons maintenant des nouveaux coûts :

1, , ; 1, ,ij

ij jij

c

c c i m j m

1 2

1 1 1 1 1

m m m m m

ij ij jij iji j i j j

c x c x

Page 133: 7. Problème de flot  à  coût minimum

1 1 1

1

1

1min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m m

i iji i j

m

ijjm

ij

j

j

i

i

i

x

x i m

x j m

x i m

c

j m

2 1

1 1 1 1

Nouvelle fonction économique m m m m

ij ij j ijiji j i j

c x c x

1

1 1 1 1

m m m m

ij j ijiji j i j

c x x

1

1 1 1 1

m m m m

ij j ijiji j j i

c x x

1

1 11 1

puisque 1m

ij

m m m

ij jiji j j i

c x x

1

Puisque est une constante (ne depend pas des )m

j ijj

x

1 1 1 1

1

1

2min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m m m

j i ijj i i j

m

ijjm

iji

ij

ijx

x i m

x j m

x i m

c

j m

mêmes solutionsoptimales

1 2

1 1 1 1 1

m m m m m

ij ij jij iji j i j j

c x c x

Page 134: 7. Problème de flot  à  coût minimum

1 1 1 1

1

1

2min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m m m

j i ijj i i j

m

ijjm

iji

ij

ijx

x i m

x j m

x i m

c

j m

Essayons de compléter une affectation en utilisant uniquementcelles ayant un coût é

Étape

gal

3.

à 0.

0 2 53 0 00 3 3

0 2 53 0 00 3 3

Couvrons les 0 de la nouvelle matrice des coûts enutilisant un minimum de lignes.

Page 135: 7. Problème de flot  à  coût minimum

0 2 53 0 00 3 3

Essayons de compléter une affectation en utilisant uniquementcelles ayant un coût é

Étape

gal

3.

à 0.Couvrons les 0 de la nouvelle matrice des coûts enutilisant un minimum de lignes.

Si le nombre de lignes est inférieure à , on ne peut compléter l'affectation uniquement avec celles ayant un coût égal à 0 . Il faut alors passer à l'étape 4 pour appliquer une autre transformation.

m

Si le nombre de lignes est égal à , on peut compléter l'affectation uniquement avec celles ayant un coût égal à 0 .

m

Page 136: 7. Problème de flot  à  coût minimum

0 0 35 0 00 1 1

1 1 1 1

1

1

2min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m m m

j i ijj i i j

m

ijjm

iji

ij

ijx

x i m

x j m

x i m

c

j m

Déterminons la valeur la plus petite parmi les élémentsno

Tran

n co

sformati

uverts p

Étape

ar le

4.

s li

on

g

.

.

3

nes

0 2 53 0 00 3 3

Soustrayons la valeur des éléments non couverts par les ligneset ajoutons aux éléments à l'intersection de deux lignes.

Il reste à vérifier que la nouvelle matrice engendre un problème équivalent.

Page 137: 7. Problème de flot  à  coût minimum

Notation:1, , l'ensemble des lignes couvertes

1, , l'ensemble des colonnes couvertes

1, ,

1, ,

I m

J m

I m I

J m J

0 2 53 0 00 3 3

2

,

Alors

miniji j I J

c

3 2

3 2

3 2

Ainsi

,

,

, ou ,

ij ij

ij ij

ij ij

c c i j I J

c c i j I J

c c i j I J i j I J

2 1

1,3 2,3

I J

I J

2

0 0 35 0 00 1 1

Page 138: 7. Problème de flot  à  coût minimum

3 2

3 2

3 2

Ainsi

,

,

, ou ,

ij ij

ij ij

ij ij

c c i j I J

c c i j I J

c c i j I J i j I J

Notation:1, , l'ensemble des lignes couvertes

1, , l'ensemble des colonnes couvertes

1, ,

1, ,

I m

J m

I m I

J m J

3 2 2

1 1 , ,

2 2

, ,

Nouvelle fonction économique m m

ij ij ij ij ij iji j i j I J i j I J

ij ij ij iji j I J i j I J

c x c x c x

c x c x

2

1 1 , ,

m m

ij ij ij iji j i j I J i j I J

c x x x

, ,ij ij

i j I J i j I J

x x

Page 139: 7. Problème de flot  à  coût minimum

3 2 2

1 1 , ,

2 2

, ,

Nouvelle fonction économique m m

ij ij ij ij ij iji j i j I J i j I J

ij ij ij iji j I J i j I J

c x c x c x

c x c x

2

1 1 , ,

m m

ij ij ij iji j i j I J i j I J

c x x x

, ,ij ij

i j I J i j I J

x x

,,

Mais iji j

iji j II J J

x x

1

m

iji I j

x

I

, ,ij

i j I Jij

i j I J

x x

1

m

ijj J i

x

J

3 2

1 1 1 1

Donc m m m m

ij ij ij iji j i j

c x c x I J

Page 140: 7. Problème de flot  à  coût minimum

1 1 1 1

1

1

2min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m m m

j i ijj i i j

m

ijjm

iji

ij

ijx

x i m

x j m

x i m

c

j m

3 2

1 1 1 1

Donc m m m m

ij ij ij iji j i j

c x c x I J

Par conséquent

3

1 1 1 1

1

1

min

Sujet à 1 1, ,

1 1, ,

0 ou 1 1, ,1, ,

m m m m

j i ijj i i j

m

ijjm

iji

j

ij

iI J x

x i m

x j m

x i mj m

c

mêmes solutionsoptimales

Retourner à l'étape 3 avec le nouveau problème.

Page 141: 7. Problème de flot  à  coût minimum

0 0 35 0 00 1 1

Essayons de compléter une affectation en utilisant uniquementcelles ayant un coût é

Étape

gal

3.

à 0.Couvrons les 0 de la nouvelle matrice des coûts enutilisant un minimum de lignes.

Si le nombre de lignes est égal à , on peut compléter l'affectation uniquement avec celles ayant un coût égal à 0 .

m

Page 142: 7. Problème de flot  à  coût minimum

Processus pour choisir les affectations:

Choisissons une ligne ou une colonne n'ayant qu'un seul 0.

0 0 35 0 00 1 1

(Si toutes les lignes et colonnes ont plus qu'un seul 0,en choisir une parmi celles ayant un minimum de 0.)

Complétons une affectation avec cet élément à 0.

Reprenons le processus avec la matrice obtenue en éliminantla ligne et la colonne où l'affectation vient d'être complétée, et cejusqu'à ce que les affectations soient déterminées.m

Candidat 3 affecté au poste 1

Candidat 1 affecté au poste 2

Candidat 2 affecté au poste 3