algorithme "out-of-kilter " dû à ford et fulkerson (1962)

Post on 04-Apr-2015

106 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Algorithme "out-of-Kilter "  dûà

Ford et Fulkerson (1962)

Le problème à une source et une destination avec des bornes inférieureset supérieures sur les arcs et avec une valeur de flot v fixée à l’avances’énonce comme suit :

Min c(x, y) f(x, y) (x, y) A

f(x, y)

{y N | (x, y) A}

- f(y, x)

{y N | (y, x) A}

=

v si x = s

0 si x {s, p}-v si x = p

L(x, y) f(x, y) K(x, y), (x, y) A.

Considérons un algorithme de type primal-dual issu de la théorie de ladualité en programmation linéaire.

Posons (i) la variable duale associée au sommet i N.

L’optimum d’un flot réalisable f est atteint s’il existe un vecteur dual satisfaisant la condition de complémentarité suivante :

(x, y) A,

(y) - (x) > c(x, y) f(x, y) = K(x, y)

(y) - (x) < c(x, y) f(x, y) = L(x, y)

(y) - (x) = c(x, y) L(x, y) f(x, y) K(x, y)

L’algorithme primal-dual utilise des couples de solutions primale –réalisable et duale-réalisable et tente de les modifier, une à la fois,de telle sorte que la condition de complémentarité soit satisfaite.

Algorithme primal - dual

Déterminer un flot réalisable f initial dont sa valeur est égale à v.

Choisir un vecteur tel que la condition de complémentarité soitremplie par le plus grand nombre possible d’arcs.

Note : Au pire aller, prenons comme vecteur initial = 0.

Définissons l’état d’un arc (x, y) comme suit :

Condition État

(y) - (x) < c(x, y) et f(x, y) = L(x, y) - arc

(y) - (x) = c(x, y) et L(x, y) f(x, y) K(x, y) - arc

(y) - (x) > c(x, y) et f(x, y) = K(x, y) - arc

(y) - (x) < c(x, y) et f(x, y) > L(x, y) a - arc

(y) - (x) > c(x, y) et f(x, y) < K(x, y) b - arc

On constate que la condition de complémentarité est satisfaite parles - arcs, les - arcs et les - arcs tandis qu’elle ne l’est paspar les a - arcs et les b - arcs.

Évidemment, si la condition de complémentarité est satisfaite partous les arcs du réseau, le flot est optimal et l’algorithme est terminé.Autrement, on modifie soit le flot f, soit le dual , afin d’amener lesa-arcs et les b-arcs à satisfaire les conditions de complémentaritésans que ceux qui y satisfont déjà ne cessent de le faire.

État Modification requise

a - arc changement de flot Diminuer si possible le flot surl’arc à sa borne inférieure.

a - arc changement de la Augmenter si possible la valeurvariable duale de (y) - (x) à c(x, y).

b - arc changement de flot Augmenter si possible le flot surl’arc à sa borne supérieure.

b - arc changement de la Diminuer si possible la valeurvariable duale. de (y) - (x) à c(x, y).

1er cas : changement de flot.

Considérons un a-arc (x, y).

La quantité de flot f(x, y) doit être réduite.

Pour réduire cette quantité sans modifier v, il faut expédierdes unités de flot de x à y par un autre chemin :

il s’agit d’un ré-acheminement de flot de x à y.

Considérons un b-arc (x, y).

La quantité de flot f(x, y) doit être augmentée.

Pour augmenter cette quantité sans modifier v, il faut expédierdes unités de flot de y à x par un autre chemin :

il s’agit d’un ré-acheminement de flot de y à x.

Les changements de flots sur chaque arc doivent être tels qu’aucun arcvérifiant la condition de complémentarité ne cesse de le faire.

Voici un résumé des modifications de flot possibles :

État Type de changement de flot permis

- arc admissible pour augmentation ou diminution (tout enrespectant les contraintes.

a - arc admissible pour diminution seulement.

b - arc admissible pour augmentation seulement.

- arc et - arc aucun changement permis.

Un ré-acheminement de flot de x à y s’opère en obtenant une chaîned’augmentation de x à y au moyen d’un algorithme de marquage.

Cette chaîne d’augmentation, si elle existe, n’est formée que de a-arcs,b-arcs ou -arcs selon les restrictions ci-dessus.

Si une chaîne d’augmentation existe, il faudra modifier le flot enconséquence sans oublier la modification sur l’arc (x, y).

Autrement, il nous faut modifier les variables duales afin d’augmenterle niveau de satisfaction à la condition de complémentarité.

Algorithme de marquageSoient f un flot réalisable et le vecteur dual,

Choisir un a-arc ou un b-arc (x, y) A,- poser i = x et j = y si (x, y) est un a-arc,- poser i = y et j = x si (x, y) est un b-arc.

Notre objectif est de déterminer une chaîne d’augmentationde i à j.

0.

S’il n’existe pas de tels arcs, c’est terminé, le flot est optimal.

1. Tous les sommets sont non marqués sauf i.Le sommet i est marqué (-, d(i) = ) et non encore examiné.

2. Choisir n’importe quel sommet r marqué (z, d(r)) etnon encore examiné.

Si t est un sommet non marqué tel que (r, t) A est un -arcou un b-arc, avec f(r, t) < K(r, t), lui assigner la marque(r+, d(t)) où d(t) = min{d(r), K(r, t) – f(r, t)}.

Si t est un sommet non marqué tel que (t,r) A est un -arcou un a-arc, avec f(t, r) > L(t, r), lui assigner la marque(r-, d(t)) où d(t) = min{d(r), f(t, r) – L(t, r)}.

De tels sommets t sont maintenant marqués et non encoreexaminés.

3. Répéter l’étape précédente, aussi souvent que possible,jusqu’à ce que,

ou bien notre destination j du ré-acheminement soit marquée etnon encore examinée,

aller à l’algorithme de réaménagement du flot;ou bien aucune marque n’ait pu lui être assignée,

aller à l’algorithme de changement du vecteur dual.

Algorithme de réaménagement du flot

1.

Posons = min{d(j), f(i, j) – L(i, j)}f(i, j) = f(i, j) -

(i, j) est un a-arc.

(j, i) est un b-arc.

Posons = min{d(j), K(j, i) – f(j, i)}f(j, i) = f(j, i) +

2. Si j est marqué (t+, d(j)), poser f(t, j) = f(t, j) + , (t-, d(j)), poser f(j, t) = f(j, t) - .

Si t est marqué (r+, d(t)), poser f(r, t) = f(r, t) + , (r-, d(t)), poser f(t, r) = f(t, r) - .

Reprendre cette dernière étape avec le sommet r et ainsi de suitejusqu’à ce que le réaménagement du flot atteigne la source i.

3. Lorsque la source i est atteinte, déterminer l’état de chaque arc etconstater qu’il est le même ou meilleur qu’il était au sens d’unemeilleure satisfaction à la condition de complémentarité.

S’il n’existe plus de a-arcs ou de b-arcs,alors c’est terminé, le flot est optimal,sinon effacer toutes les marques,

retourner à l’algorithme de marquage.

2ième cas : changement des variables duales.

Soient X l’ensemble des sommets marqués etX = N - X, l’ensemble des sommets non marqués.

Il est clair que i X et j X.

Posons :

A1 = {(x, y) A | x X , y X , (x,y) est un a-arc ou un -arc}

A2 = {(x, y) A | x X , y X , (x,y) est un b-arc ou un -arc}

Calculer :

= min{| (y) - (x) - c(x, y) | : (x, y) A1 A2}

(x) = (x) si x X

(x) = (x) + si x X

Déterminer l’état de chaque arc.

S’il n’existe plus de a-arcs ou de b-arcs,alors c’est terminé, le flot est optimal,sinon effacer toutes les marques,

retourner à l’algorithme de marquage.

Considérons maintenant un exemple où dans les cases associées àchaque arc, nous indiquerons les quantités suivantes :

L(x, y), K(x, y), c(x, y)

état, f(x, y)

A D G J

B E H

C F I

5, 20, 2 10, 20, 1 5, 20, 1 5, 30, 1 0, 60, 4 0, 90, 5

5, 20, 3 0, 10, 2 0, 10, 1 0, 10, 2 0, 40, 2 0, 70, 3

0, 10, 2 0, 40, 2

0, 15, 4 0, 20, 1

5, 30, 1 0, 30, 2 0, 50, 2

A D G J

B E H

C F I

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 10

0, 60, 4, 0

0, 90, 5, 40

5, 20, 3, 20

0, 10, 2, 10

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 40

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2, 30

Flotmaximum

A0

D1

G3

J8

B2

E4

H6

C3

F7

I5

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 10

0, 60, 4, 0

0, 90, 5a, 40

5, 20, 3, 20

0, 10, 2a, 10

0, 10, 1a, 10

0, 10, 2b, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 40

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2b, 30

Variablesduales

État dechaque

arc

A0

D1

G3

J8

B2

E4

H6

C3

F7

I5

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 10

0, 60, 4, 0

0, 90, 5a, 40

5, 20, 3, 20

0, 10, 2a, 10

0, 10, 1a, 10

0, 10, 2b, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 40

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2b, 30

Choisirun a-arc :

(C, D).

Il fautdiminuerf(C, D).

ALG.

DE

MARQUAGE (-,)

(C+,15)

(C-,15)

Dn’est pasatteint.

On procède donc à l’algorithme de changement de variables duales

On a : X = {A, C, F} et X = {B, D, E, G, H, I, J}.

D’où, A1 = {(C, D), (C, G), (F, I)}

A2 = {(G, F)}.

Donc, = min { | (D) – (C) - c(C, D)|, | (G) – (C) - c(C, G)|,| (I) – (F) - c(F, I)|,| (F) – (G) - c(G, F)| }

= min {4, 1, 3, 2} = 1.

On ajoute donc 1 unité à chaque variable duale associée à unsommet non marqué. On a aussi déterminé le nouvel état.

A0

D2

G4

J9

B3

E5

H7

C3

F7

I6

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 10

0, 60, 4, 0

0, 90, 5a, 40

5, 20, 3, 20

0, 10, 2a, 10

0, 10, 1, 10

0, 10, 2b, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 40

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2b, 30

Choisirde nouveauun a-arc :

(C, D).

Il fautdiminuerf(C, D).

ALG.

DE

MARQUAGE (-,)

(C+,15)

(C-,15)

Dn’est pasatteint.

On procède donc à l’algorithme de changement de variables duales.

On a : X = {A, C, F} et X = {B, D, E, G, H, I, J}.

D’où, A1 = {(C, D), (F, I)}

A2 = {(G, F)}.

Donc, = min { | (D) – (C) - c(C, D)|, | (I) – (F) - c(F, I)|,| (F) – (G) - c(G, F)| }

= min {3, 2, 1} = 1.

On ajoute donc 1 unité à chaque variable duale associée à unsommet non marqué. On a aussi déterminé le nouvel état de chaquearc.

A0

D3

G5

J10

B4

E6

H8

C3

F7

I7

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 10

0, 60, 4, 0

0, 90, 5a, 40

5, 20, 3, 20

0, 10, 2a, 10

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 40

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2b, 30

Choisirde nouveauun a-arc :

(C, D).

Il fautdiminuerf(C, D).

ALG.

DE

MARQUAGE (-,)

(C+,15)

(C-,15)

Dn’est pasatteint.

On procède donc à l’algorithme de changement de variables duales.

On a : X = {A, C, F} et X = {B, D, E, G, H, I, J}.

D’où, A1 = {(C, D), (F, I)}

A2 = .

Donc, = min { | (D) – (C) - c(C, D)|, | (I) – (F) - c(F, I)| }

= min {2, 1} = 1.

On ajoute donc 1 unité à chaque variable duale associée à unsommet non marqué. On a aussi déterminé le nouvel état de chaquearc.

A0

D4

G6

J11

B5

E7

H9

C3

F7

I8

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 10

0, 60, 4, 0

0, 90, 5a, 40

5, 20, 3, 20

0, 10, 2a, 10

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 40

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2b, 30

Choisirde nouveauun a-arc :

(C, D).ALG.

DE

MARQUAGE (-,)

(C+,15)

(C-,15)

(F+,15)

(G-,5) (E-,5) (I+,15)

(E-,10) (H-,15)(J-,15)

Posons = min{d(D), f(C, D) – L(C, D)} = 5f(C, D) = f(C, D) – 5.

(C, D) est un a-arc.

Appliquons l’algorithme de réaménagement du flot.

Ré-acheminement du flot.

Lorsque la source C est atteinte, déterminer l’état de chaque arc.

A0

D4

G6

J11

B5

E7

H9

C3

F7

I8

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 35

5, 20, 3, 20

0, 10, 2a, 5

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 5

0, 10, 2, 10

0, 40, 2, 35

0, 15, 4, 5

0, 20, 1, 5

5, 30, 1, 30

0, 30, 2, 25

0, 50, 2b, 30

(-,)

(C+,15)

(C-,15)

(F+,15)

(G-,5) (E-,5) (I+,15)

(E-,10) (H-,15)(J-,15)

A0

D4

G6

J11

B5

E7

H9

C3

F7

I8

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 35

5, 20, 3, 20

0, 10, 2a, 5

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 5

0, 10, 2, 10

0, 40, 2, 35

0, 15, 4, 5

0, 20, 1, 5

5, 30, 1, 30

0, 30, 2, 25

0, 50, 2b, 30

Effacerles marques

Déterminerl’état dechaquearc

A0

D4

G6

J11

B5

E7

H9

C3

F7

I8

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 35

5, 20, 3, 20

0, 10, 2a, 5

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 5

0, 10, 2, 10

0, 40, 2, 35

0, 15, 4, 5

0, 20, 1, 5

5, 30, 1, 30

0, 30, 2, 25

0, 50, 2b, 30

Choisirde nouveauun a-arc :

(C, D).ALG.

DE

MARQUAGE (-,)

(C+,10) (F+,10)

(C-,15) (I+,10)

(E-,10) (H-,10)

(J-,10)

On procède donc à l’algorithme de changement de variables duales.

On a : X = {A, B, C, E, F, H, I, J} et X = {D, G}.

D’où, A1 = {(B, D), (C, D)}

A2 = {(D, E), (G, J)}.

Donc, = min {2, 1, 2, 3 } = 1.

On ajoute donc 1 unité à chaque variable duale associée à unsommet non marqué. On a aussi déterminé le nouvel état de chaquearc.

A0

D5

G7

J11

B5

E7

H9

C3

F7

I8

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 35

5, 20, 3, 20

0, 10, 2, 5

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 5

0, 10, 2, 10

0, 40, 2, 35

0, 15, 4, 5

0, 20, 1, 5

5, 30, 1, 30

0, 30, 2, 25

0, 50, 2b, 30

ALG.

DE

MARQUAGE

(-,)

Choisirun b-arc :

(G, J).

Il fautaugmenter

f(G, J).

(J-,5)

(I-,5)

(F-,5)

(C-,5) (C+,5) (D+,5)

(E-,10) (H-,35) (J-,35)

Posons = min{d(G), K(G, J) – f(G, J)} = 5f(G, J) = f(G, J) + 5.

(G, J) est un b-arc.

Appliquons l’algorithme de réaménagement du flot.

Ré-acheminement du flot.

Lorsque la source J est atteinte, déterminer l’état de chaque arc.

A0

D5

G7

J11

B5

E7

H9

C3

F7

I8

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 35

5, 20, 3, 20

0, 10, 2, 10

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 35

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2b, 35

(-,)

(J-,5)

(I-,5)

(F-,5)

(C-,5) (C+,5) (D+,5)

(E-,10) (H-,35) (J-,35)

A0

D5

G7

J11

B5

E7

H9

C3

F7

I8

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 35

5, 20, 3, 20

0, 10, 2, 10

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 35

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2b, 35

Effacerles marques

A0

D5

G7

J11

B5

E7

H9

C3

F7

I8

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 35

5, 20, 3, 20

0, 10, 2, 10

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 35

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2b, 35

Choisirun b-arc :

(G, J).

(-,)

(E-,10) (H-,35) (J-,35)

On procède donc à l’algorithme de changement de variables duales.

On a : X = {B, E, H, J} et X = {A, D, G, I, F, C}.

D’où, A1 = {(B, D)}

A2 = {(A, B), (D, E), (G, J)}.

Donc, = min {1, 3, 1 } = 1.

On ajoute donc 1 unité à chaque variable duale associée à unsommet non marqué. On a aussi déterminé le nouvel état de chaquearc.

A1

D6

G8

J11

B5

E7

H9

C4

F8

I9

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 35

5, 20, 3, 20

0, 10, 2, 10

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 35

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2b, 35

Choisirun b-arc :

(G, J).

(-,)

(E-,10) (H-,35) (J-,35)

ALG.

DE

MARQUAGE

Choisirun b-arc :

(G, J).

(E-,15)(C-,10)

(D-,10)

(C+,10)

(F+,10)

On procède donc à l’algorithme de changement de variables duales.

On a : X = {A, B, C, D, E, F, H, I, J} et X = {G}.

D’où, A1 =

A2 = {(G, J)}.

Donc, = 1.

On ajoute donc 1 unité à chaque variable duale associée à unsommet non marqué. On a aussi déterminé le nouvel état de chaquearc.

A1

D6

G9

J11

B5

E7

H9

C4

F8

I9

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 35

5, 20, 3, 20

0, 10, 2, 10

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 35

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2, 35

Choisirun a-arc :

(H, J).

(-,)

(E-,10) (H-,35)

ALG.

DE

MARQUAGE

(E-,15)(C-,10)

(D-,10)

(C+,10)

(F+,10)

On procède donc à l’algorithme de changement de variables duales.

On a : X = {A, B, C, D, E, F, H, I} et X = {G, J}.

D’où, A1 = {(I, J), (H, J)}

A2 = .

Donc, = min{1, 3} = 1.

On ajoute donc 1 unité à chaque variable duale associée à unsommet non marqué. On a aussi déterminé le nouvel état de chaquearc.

A1

D6

G10

J12

B5

E7

H9

C4

F8

I9

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 20

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 35

5, 20, 3, 20

0, 10, 2, 10

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 0

0, 10, 2, 10

0, 40, 2, 35

0, 15, 4, 0

0, 20, 1, 0

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2, 35

Choisirun a-arc :

(H, J).

(-,)

(E-,10) (H-,35)

ALG.

DE

MARQUAGE

(E-,15)(C-,10)

(D-,10)

(C+,10)

(F+,10)

(I+,10)

Posons = min{d(J), f(H, J) – L(H, J)} = min{10, 35}f(H, J) = f(H, J) - 10.

(H, J) est un a-arc.

Appliquons l’algorithme de réaménagement du flot.

Ré-acheminement du flot.

Lorsque la source H est atteinte, déterminer l’état de chaque arc.

A1

D6

G10

J12

B5

E7

H9

C4

F8

I9

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 10

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 25

5, 20, 3, 20

0, 10, 2, 0

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 10

0, 10, 2, 10

0, 40, 2, 25

0, 15, 4, 10

0, 20, 1, 10

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2, 35

(-,)

(E-,10) (H-,25)

(B+,10)

(D-,10)

(C+,10)

(F+,10)

Effacerles marques

A1

D6

G10

J12

B5

E7

H9

C4

F8

I9

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 10

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 25

5, 20, 3, 20

0, 10, 2, 0

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 10

0, 10, 2, 10

0, 40, 2, 25

0, 15, 4, 10

0, 20, 1, 10

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2, 35

Choisirun a-arc :

(H, J).

A1

D6

G10

J12

B5

E7

H9

C4

F8

I9

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 10

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5a, 25

5, 20, 3, 20

0, 10, 2, 0

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 10

0, 10, 2, 10

0, 40, 2, 25

0, 15, 4, 10

0, 20, 1, 10

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2, 35

(-,)

(E-,10) (H-,25)

(B+,10)

On procède donc à l’algorithme de changement de variables duales.

On a : X = {B, D, E, H} et X = {A, C, F, G, I, J}.

D’où, A1 = {(H, J)}

A2 = {(A, B), (A, D)}.

Donc, = min{2, 2, 4} = 2.

On ajoute donc 2 unités à chaque variable duale associée à unsommet non marqué. On a aussi déterminé le nouvel état de chaquearc.

A3

D6

G12

J14

B5

E7

H9

C6

F10

I11

5, 20, 2, 20

10, 20, 1, 10

5, 20, 1, 10

5, 30, 1, 5

0, 60, 4, 0

0, 90, 5, 25

5, 20, 3, 20

0, 10, 2, 0

0, 10, 1, 10

0, 10, 2, 0

0, 40, 2, 0

0, 70, 3, 10

0, 10, 2, 10

0, 40, 2, 25

0, 15, 4, 10

0, 20, 1, 10

5, 30, 1, 30

0, 30, 2, 30

0, 50, 2, 35

Coûtoptimal :

570

top related