You are on page 1of 169

M ethodes dOptimisation

Licence Professionnelle Logistique Universit e du Littoral - C ote dOpale, P ole Lamartine Laurent SMOCH (smoch@lmpa.univ-littoral.fr) Septembre 2011

Laboratoire de Math ematiques Pures et Appliqu ees Joseph Liouville Universit e du Littoral, zone universitaire de la Mi-Voix, b atiment H. Poincarr e 50, rue F. Buisson, BP 699, F-62228 Calais cedex

Table des mati` eres


1 Quelques rappels sur les graphes 1.1 Initiation ` a la th eorie des graphes . . . . . . . . . . . . 1.1.1 Vocabulaire . . . . . . . . . . . . . . . . . . . . 1.1.2 Niveaux des sommets dun graphe sans circuit 1.1.3 Exemples . . . . . . . . . . . . . . . . . . . . . 1.1.4 Exercices . . . . . . . . . . . . . . . . . . . . . 1.2 Graphes valu es et chemins critiques . . . . . . . . . . . 1.2.1 Valuations dun graphe . . . . . . . . . . . . . 1.2.2 Longueur dun chemin . . . . . . . . . . . . . . 1.2.3 Chemins minimaux . . . . . . . . . . . . . . . . 1.2.4 Chemins maximaux . . . . . . . . . . . . . . . 1.2.5 Int er et dune telle recherche . . . . . . . . . . . 1.3 Exercices r ecapitulatifs . . . . . . . . . . . . . . . . . . 2 Probl` emes dordonnancement 2.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . 2.2 Notions de projet, t ache et ordonnancement . . . 2.2.1 Notion de projet . . . . . . . . . . . . . . 2.2.2 Notion de t ache . . . . . . . . . . . . . . . 2.3 M ethode dordonnancement . . . . . . . . . . . . 2.4 Etablissement dun ordonnancement . . . . . . . 2.5 D etermination du chemin critique et enum eration 2.6 Exercices . . . . . . . . . . . . . . . . . . . . . . 1 1 1 5 7 11 13 13 13 13 19 20 21 25 25 25 25 25 26 26 26 26 29 29 29 29 30 31 31 32 32 33 36 36 36 36 37 37 38 39 39 39

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . des t aches critiques . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

3 La m ethode MPM 3.1 Le graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 El ements du graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Contraintes potentielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Exercice corrig e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 T aches parall` eles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 Op erations d ependantes et ind ependantes . . . . . . . . . . . . . . . . . . . 3.1.6 Op erations compos ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.7 Conditions limites de d emarrage . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Exercice synth etique corrig e : construction dun pont . . . . . . . . . . . . . . . . . 3.3 Date au plus t ot dune t ache i, ordonnancement minimum ou au plus t ot . . . . . 3.3.1 D enition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 D etermination des dates au plus t ot . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Chemins critiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Date au plus tard de d ebut dune t ache i, ordonnancement limite (ou au plus tard) 3.4.1 D enition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Recherche de lordonnancement au plus tard . . . . . . . . . . . . . . . . . 3.5 Marges dune t ache i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Marge totale mT (i) de la t ache i . . . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Marge libre mL (i) dune t ache i . . . . . . . . . . . . . . . . . . . . . . . . . I

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

II

` TABLE DES MATIERES

3.6

3.7

3.5.3 Marge certaine mC (i) dune t ache i . . . 3.5.4 Exemple . . . . . . . . . . . . . . . . . . . M ethode MPM pr esent ee sous forme de tableaux 3.6.1 Ordonnancement au plus t ot . . . . . . . 3.6.2 Ordonnancement au plus tard . . . . . . . Exercices . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

39 40 41 41 43 44 53 53 53 54 55 55 56 57 61 61 61 61 62 63 64 66

4 La m ethode PERT 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . 4.2 Dicult es de construction du graphe PERT . . . . 4.3 Calcul de lordonnancement par la m ethode PERT 4.3.1 Calcul de lordonnancement au plus t ot . . 4.3.2 Calcul de lordonnancement au plus tard . . 4.3.3 Calcul du chemin critique . . . . . . . . . . 4.4 Exercices . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

5 Ordonnancement en ateliers sp ecialis es - Diagrammes 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Ordonnancement sur une machine . . . . . . . . . . . . 5.2.1 Le diagramme de Gantt . . . . . . . . . . . . . . 5.2.2 La r` egle T.O.M. . . . . . . . . . . . . . . . . . . 5.3 Ordonnancement avec deux centres de production . . . 5.4 Ordonnancement sur trois machines . . . . . . . . . . . 5.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . .

de . . . . . . . . . . . . . .

Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

6 R eduction de la dur ee dun projet 71 6.1 Pr esentation de la m ethode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.2 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7 Optimisation des ux 7.1 G en eralit es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 R eseau de circulation . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.2 Graphe associ e` a un r eseau de circulation . . . . . . . . . . . . . . 7.1.3 Graphe canonique associ e` a un r eseau de circulation . . . . . . . . 7.1.4 Flot sur un graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Recherche dun ot maximal dans un r eseau avec capacit es . . . . . . . . 7.2.1 La coupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.3 Etude th eorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.4 Flot complet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Algorithme de Ford-Fulkerson . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 Enonc e de lalgorithme . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.3 Suite de lalgorithme : Marquage des sommets . . . . . . . . . . . 7.3.4 Suite de lalgorithme : Modication des ux . . . . . . . . . . . . . 7.3.5 Recherche ` a partir du marquage dune coupe de capacit e minimale 7.4 Exercices r ecapitulatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 La programmation lin eaire 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . 8.2 Mod elisation dun programme lin eaire . . . . . . 8.2.1 Exemples . . . . . . . . . . . . . . . . . . 8.2.2 Formule g en erale dun programme lin eaire 8.3 M ethode graphique : probl` eme ` a deux inconnues 8.3.1 R egionnement du plan . . . . . . . . . . . 77 77 77 77 80 81 82 82 83 84 88 88 88 89 92 94 95 101 109 109 109 110 113 114 114

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

` TABLE DES MATIERES

III

8.4

8.3.2 Les ensembles convexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.3 R esolution de syst` emes din equations - Exemples . . . . . . . . . . . . . . . . . 8.3.4 R esolution de programmes lin eaires . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.5 Cas g en eral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La m ethode du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.1 Programme lin eaire standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.2 Lalgorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.3 D etermination dune solution de base admissible . . . . . . . . . . . . . . . . . 8.4.4 Utilisation de la m ethode du simplexe lorsque la solution optimale nexiste pas 8.4.5 Utilisation de la m ethode du simplexe dans un probl` eme de minimisation . . . 8.4.6 Exercices r ecapitulatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

115 116 120 126 126 130 131 132 157 159 160 161

IV

` TABLE DES MATIERES

Chapitre 1

Quelques rappels sur les graphes


1.1
1.1.1

Initiation ` a la th eorie des graphes


Vocabulaire

(a) Produit cart esien. Carr e cart esien On appelle produit cart esien de E par F , lensemble not e E F = {(x, y )/x E, y F } On appelle carr e cart esien de E , lensemble not e E E = E 2 = {(x, y )/x E, y E } (b) Relation de E dans F On appelle relation R de E dans F toute correspondance qui ` a certains el ements de E associe certains el ements de F . x est en relation avec y (x E, y F ) est not e xRy Lensemble des couples (x, y ) de E F tels que xRy est appel e graphe de la relation. On note G = {(x, y ) E F/xRy } On remarque que G E F . Soit R une relation de E dans F , la relation r eciproque R1 est une relation de F dans E d enie par xRy y R1 x (c) Relation binaire D enition 1.1.1 Une relation binaire d enie sur E est une relation de E dans E qui est dite : r eexive si : sym etrique si : transitive si :

x E , xRx x E, y E, xRy y Rx x E, y E, z E, (xRy et y Rz ) xRz 1

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

(d) Caract erisation de la relation binaire Une relation binaire est caract eris ee 1. par son graphe Exemple 1.1.1 Soit E = {x1 , x2 , x3 , x4 , x5 }. On se donne G = {(x1 , x1 ), (x1 , x2 ), (x1 , x5 ), (x2 , x1 ), (x2 , x3 ), (x4 , x3 ), (x4 , x5 ), (x5 , x3 )} 2. par sa repr esentation sagittale

Figure 1.1 Repr esentation sagittale du graphe 3. par sa repr esentation cart esienne
XXX ee XXX arriv x1 XXX d epart XX

x2

x3

x4

x5

x1 x2 x3 x4 x5 4. par sa matrice bool eenne

XXX ee XXX arriv x1 XXX d epart XX

x2 1 0 0 0 0

x3 0 1 0 1 1

x4 0 0 0 0 0

x5 1 0 0 1 0

x1 x2 x3 x4 x5 5. par son dictionnaire des sommets (a) des suivants ou des successeurs

1 1 0 0 0

` LA THEORIE 1.1. INITIATION A DES GRAPHES

x x1 x2 x3 x4 x5

S (x) x1 , x2 , x5 x1 , x3

x3 , x5 x3

Dans le cas o` u xRy , y est le suivant ou le successeur de x.

(b) des pr ec edents

x x1 x2 x3 x4 x5

P (x) x1 , x2 x1 x2 , x4 , x5

x1 , x4

Dans le cas o` u xRy , x est le pr ec edent de y . Remarque 1.1.1 La relation R1 est d enie par le graphe G = {(x1 , x1 ), (x1 , x2 ), (x2 , x1 ), (x5 , x1 ), (x3 , x2 ), (x3 , x4 ), (x5 , x4 ), (x3 , x5 )} En eet, xRy y R1 x. Elle est egalement d enie par sa matrice bool eenne
XXX ee XXX arriv x1 XXX d epart XX

x2 1 0 1 0 0

x3 0 0 0 0 0

x4 0 0 1 0 1

x5 0 0 1 0 0

x1 x2 x3 x4 x5

1 1 0 0 1

Remarque 1.1.2 Les matrices de R et R1 ont leurs termes sym etriques par rapport ` a la diagonale principale. (e) Vocabulaire particulier ` a la th eorie des graphes Soit X un ensemble de cardinal n, ensemble de points appel es sommets tel que X = {A1 , A2 , . . . , An } et R une relation binaire d enie sur X . (a) Cette relation binaire est caract eris ee par son graphe, sa relation sagittale, sa repr esentation cart esienne, sa matrice bool eenne, le dictionnaire des suivants ou des pr ec edents. On note G = (X, R) (b) On appelle boucle tout couple (Ap , Ap ) du graphe donc avec Ap RAp .

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

Figure 1.2 Une boucle

Figure 1.3 Un arc (c) On appelle arc tout couple de points distincts du graphe donc tout couple (Ap , Aq ) avec Ap = Aq et Ap RAq . (d) On appelle ar ete toute partie {Ap , Aq } avec Ap = Aq et Ap RAq ou Aq RAp .

ou Figure 1.4 Une ar ete (e) On appelle arcs adjacents deux arcs (Ap , Aq ), (Aq , Ar ) avec Ap RAq et Aq RAr . Les sommets Ap , Aq et Ar sont des sommets adjacents.

Figure 1.5 Arcs adjacents Remarque 1.1.3 : Si on a le graphe suivant : les arcs (Ap , Aq ) et (Aq , Ar ) ne sont pas adjacents.

Figure 1.6 Arcs non adjacents

(f) On appelle chemin une suite de sommets adjacents permettant de passer dune mani` ere continue dun sommet ` a lautre, cest-` a-dire une suite non vide darcs (Ai , Aj ) et (Aj , Ak ), lextr emit e de chacun deux co ncidant avec lorgine de larc suivant (sauf pour le dernier arc de la suite). Un chemin est simple sil ne contient pas deux fois le m eme arc. Un chemin est el ementaire sil ne passe pas deux fois par le m eme sommet. Un chemin est hamiltonien sil passe par tous les sommets une fois et une seule. Exemple 1.1.2 Reprenons lexemple 1.1.1,

` LA THEORIE 1.1. INITIATION A DES GRAPHES

. (x1 , x2 , x3 ), (x4 , x5 , x3 ), (x1 , x2 , x1 ) et (x1 , x2 , x1 , x5 , x3 ) sont des chemins, . (x1 , x2 , x3 ) est un chemin el ementaire, . (x1 , x2 , x1 , x5 , x3 ) nest pas el ementaire. (g) On appelle circuit un chemin o` u lorigine et lextr emit e sont confondues. Exemple 1.1.3 Dans lexemple 1.1.1, (x1 , x2 , x1 ) est un circuit, dorigine x1 et dextr emit e x1 . Remarque 1.1.4 Une boucle est un circuit : (x1 , x1 ). (h) On appelle cha ne une suite dar etes adjacentes. Exemple 1.1.4 Dans lexemple 1.1.1, {x1 , x2 , x3 } et {x1 , x5 , x4 , x3 , x2 } sont des cha nes. (i) Soient deux sommets distincts Ai et Aj . Sil existe au moins un chemin de Ai ` a Aj , on dit que Ai est un ascendant de Aj et Aj un descendant de Ai . Exemple 1.1.5 Dans lexemple 1.1.1, (x1 , x2 , x3 ) est un chemin, x1 est un ascendant de x3 , x2 est aussi ascendant de x3 et x3 est un descendant de x1 . Remarque 1.1.5 On ne confondra pas suivant et descendant, ascendant et pr ec edent. En eet, si lon consid` ere dans lexemple 1.1.1, le chemin (x1 , x2 , x3 ) x1 et x2 sont ascendants de x3 mais

Figure 1.7 Ascendants et pr ec edents dans lexemple 1.1.1 x3 admet un unique pr ec edent qui est x2 . x3 est le descendant de x1 et x2 mais x3 nest pas le suivant de x1 .
Exercice 1 enie par lensemble de sommets E = {x1 , x2 , x3 , x4 , x5 } On se donne la relation binaire d

et le graphe

G = {(x1 , x2 ); (x1 , x5 ); (x2 , x3 ); (x2 , x4 ); (x4 , x3 ); (x4 , x4 ); (x4 , x5 )} Caract eriser cette relation binaire par 1. sa repr esentation sagittale, 2. sa repr esentation cart esienne, 3. sa matrice bool eenne.

1.1.2

Niveaux des sommets dun graphe sans circuit

Soit G = (X, R) un graphe sans circuit donc n ecessairement sans boucle. On associe ` a tout sommet xi un nombre entier r(xi ) appel e rang ou niveau du sommet xi d eni de la fa con suivante. 1. Soit N0 lensemble des sommets exempts de pr ec edent. Pour tout sommet xi de N0 , on pose r(xi ) = 0. N0 est lensemble des sommets de niveau 0. Exemple 1.1.6 dans lexemple 1.1.1, en supprimant les boucles (x1 , x1 ) et (x2 , x1 ) (an d eviter les boucles et les circuits), on obtient le dictionnaire suivant :

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

x x1 X; R x2 x3 x4 x5 La repr esentation sagittale du graphe est donn ee par

P (x)

x1 x2 , x4 , x5

x1 , x4

Figure 1.8 Repr esentation sagittale du graphe - Exemple 1.1.6 x1 et x4 nont pas de pr ec edent donc N0 = {x1 , x4 } avec r(x1 ) = r(x4 ) = 0 2. On supprime dans X (lensemble des sommets du graphe) les points de N0 (ou les points de niveau 0). On obtient un ensemble X1 . G1 est d eni comme etant la restriction du graphe de R ` a X1 . Soit N1 lensemble des sommets de X1 exempts de pr ec edent. Pour tout sommet xi de N1 , on pose r(xi ) = 1. N1 est lensemble des sommets de niveau 1. Remarque 1.1.6 Les pr ec edents des sommets de N1 sont les sommets de N0 . Dans lexemple, on a N0 = {x1 , x4 } et X1 = {x2 , x3 , x5 }. On supprime dans le dictionnaire des pr ec edents les sommets x1 et x4 : x X1 ; R x2 x3 x5 Les sommets exempts de pr ec edent sont maintenant x2 et x5 . Ainsi, N1 = {x2 , x5 } avec r(x2 ) = r(x5 ) = 1 3. On supprime dans X1 les sommets de N1 (les sommets de niveau 1). On obtient un ensemble X2 et G2 est la restriction du graphe de R ` a x2 . Soit N2 lensemble des points de X2 exempts de pr ec edent. Pour tout point xi de N2 , on pose r(xi ) = 2 et N2 est lensemble des sommets de niveau 2. x 2 , x5 P (x)

` LA THEORIE 1.1. INITIATION A DES GRAPHES

Dans lexemple, on a N1 = {x2 , x5 } et X2 = {x3 }. On supprime dans le dictionnaire des pr ec edents les sommets x2 et x5 : X2 ; R Le sommet x3 est exempt de pr ec edent donc N2 = {x3 } avec r(x3 ) = 2. 4. Les it erations cessent d` es que tous les sommets de X sont class es par niveaux. Si Card(X ) = n, on a xi X, r(xi ) n 5. Le graphe ordonnanc e par niveaux est donn e par : x x3 P (x)

Figure 1.9 Graphe ordonnanc e - Exemple 1.1.6 Il est equivalent au graphe de la gure 1.8

1.1.3

Exemples

Exemple 1.1.7 On se donne lensemble de sommets X = {a, b, c, d, e, f, g } ainsi que la repr esentation sagittale du graphe consid er e:

Figure 1.10 Repr esentation sagittale - Exemple 1.1.7 On donne les dictionnaires des pr ec edents et des suivants des sommets du graphe :

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

x a b c d e f g

S (x) b, c, e g, f, c d, f, g f c, d

x a b c d e f g

P (x)

a a, b, e c, e a b, c, d b, c

Niveau 0 : On obtient ` a laide du dictionnaire des pr ec edents N0 = {a} ; en eet, a na pas de pr ec edent. On pose r(a) = 0. Niveau 1 : X1 = X N0 = {b, c, d, e, f, g } x P (x) b c X1 , R d e f g b, c, d b, c b, e c, e

Les sommets b et e nont pas de pr ec edent donc N1 = {b, e} avec r(b) = r(e) = 1. Niveau 2 : X2 = X1 N1 = {c, d, f, g } x P (x) c X2 , R d f g c c, d c

Le sommet c na pas de pr ec edent donc N2 = {c} avec r(c) = 2. Niveau 3 : X3 = X2 N2 = {d, f, g } x P (x) X3 , R d f g Les sommets d et g nont pas de pr ec edent donc N3 = {d, g } avec r(d) = r(g ) = 3. Niveau 4 : X4 = X3 N3 = {f } X4 , R x f P (x) d

Le sommet f na pas de pr ec edent donc N4 = {f } avec r(f ) = 4.

` LA THEORIE 1.1. INITIATION A DES GRAPHES

Le graphe ordonnanc e en niveaux est donn e par :

Figure 1.11 Graphe ordonnanc e - Exemple 1.1.7

Exemple 1.1.8 On se donne lensemble de sommets X = {1, 2, 3, 4, 5, 6, 7, 8} ainsi que la repr esentation sagittale du graphe consid er e:

Figure 1.12 Diagramme sagittal - Exemple 1.1.8 On donne le dictionnaire des pr ec edents des sommets du graphe :

x 1 2 3 4 5 6 7 8

P (x) 3, 6, 7 1, 4, 7, 8 7 3, 5

5, 7

10

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

Niveau 0 : On obtient ` a laide du dictionnaire des pr ec edents N0 = {5, 7} ; en eet, 5 et 7 nont pas de pr ec edent. On pose r(5) = r(7) = 0. Niveau 1 : X1 = X N0 = {1, 2, 3, 4, 6, 8} x 1 2 X1 , R 3 4 6 8 Les sommets 3, 6 et 8 sont exempts de pr ec edent donc N1 = {3, 6, 8} avec r(3) = r(6) = r(8) = 1. Niveau 2 : X2 = X1 N1 = {1, 2, 4} x X2 , R 1 2 4 Les sommets 1 et 4 sont exempts de pr ec edent donc N2 = {1, 4} avec r(1) = r(4) = 2. Niveau 3 : X3 = X2 N2 = {2} X3 , R x 2 P (x) 1, 4 P (x) 3 P (x) 3, 6 1, 4, 8

Le sommet 2 est exempt de pr ec edent donc N3 = {2} avec r(2) = 3. On en d eduit le graphe ordonnanc e suivant :

Figure 1.13 Graphe ordonnanc e - Exemple 1.1.8

` LA THEORIE 1.1. INITIATION A DES GRAPHES

11

Remarque 1.1.7 Si xi est de niveau p = 0, i.e. r(xi ) = p, p est le nombre darcs du plus long chemin joignant un sommet de niveau 0 au sommet xi . Dans lexemple 1.1.8 pr ec edent, Niveau 0 : 7 et 5 nont pas de pr ec edent, r(5) = r(7) = 0. Niveau 1 : . r(3) = 1, le seul chemin de longueur 1 joignant 7 ou 5 ` a 3 est (7, 3). . r(6) = 1, il y a deux chemins de longueur 1 (donc contenant un seul arc) ayant pour extr emit e6` a savoir (7, 6) et (5, 6). . r(8) = 1, le seul chemin de longueur 1 joignant 7 ou 5 ` a 8 est (5, 8). Niveau 2 : . r(1) = 2, les chemins (7, 3, 1), (7, 1), (7, 6, 1) et (5, 6, 1) sont constitu es dun ou deux arcs. . r(4) = 2, les chemins (5, 4) et (7, 3, 4) sont consitu es dun ou deux arcs. Niveau 3 : On a r(2) = 3. Les chemins transformant 5 ou 7 en 2 sont (7, 3, 1, 2), (7, 3, 4, 2), (7, 1, 2), (7, 6, 1, 2), (5, 8, 2), (5, 4, 2) et (6, 5, 1, 2) et sont constitu es de deux ou trois arcs. D enition 1.1.2 Si r(xi ) = p = 0, p est le nombre maximum darcs dun chemin dorigine un sommet de niveau 0, dextr emit e ce point xi .

1.1.4

Exercices

Exercice 2 ots reli es par un r eseau routier, sont mis ` a contribution pour fabriquer un produit Huit entrep

A. Le tableau ci-dessous indique les routes menant ` a chacun de ces entrep ots.
XXX ee XXX Arriv A XX XXX D epart

A B C D E F G H

1. Etablir le dictionnaire des pr ec edents puis le dictionnaire des suivants des sommets du graphe. 2. Utiliser le dictionnaire des pr ec edents pour ordonnancer le graphe par niveaux. 3. Repr esenter le graphe sous sa forme ordonnanc ee.

12

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

Exercice 3 On consid` ere le graphe ci-dessous :

Figure 1.14 Diagramme sagittal - Exercice 3 1. Montrer que le graphe admet des circuits tout en les pr ecisant. Quest-ce que cela implique sur lordonnancement par niveaux de ce graphe ? 2. On elimine larc (A, G) (a) D eterminer le dictionnaire des pr ec edents et des suivants de chacun des sommets du graphe. (b) Ordonnancer le graphe par niveaux.
Exercice 4 enie par lensemble de sommets E = {A, B, C, D, E, F } On se donne la relation binaire d

et le graphe

G = {(A, B ); (A, D); (A, F ); (B, D); (C, A); (C, D); (C, E ); (D, E ); (F, C ); (F, E )}. 1. Caract eriser cette relation binaire par (a) sa repr esentation sagittale, (b) sa repr esentation cart esienne, (c) sa matrice bool eenne. 2. Est-il possible selon vous, dordonnancer le graphe par niveaux et pourquoi ? 3. On elimine larc (A, F ). (a) D eterminer le dictionnaire des pr ec edents et des suivants de chacun des sommets du graphe. (b) Ordonnancer le graphe par niveaux.
Exercice 5

1. Proposez un exemple de graphe contenant 4 sommets, une boucle, un circuit constitu e dau moins trois arcs et un chemin hamiltonien. Voux exprimerez ce graphe sous la forme G = (X, R) o` u X est lensemble constitu e des sommets du graphe et R est la relation binaire d enie sur X . 2. Caract erisez ce graphe par (a) sa relation sagittale, (b) sa repr esentation cart esienne, (c) sa matrice bool eenne, (d) son dictionnaire des pr ec edents, (e) son dictionnaire des suivants.

ET CHEMINS CRITIQUES 1.2. GRAPHES VALUES

13

1.2
1.2.1

Graphes valu es et chemins critiques


Valuations dun graphe

D enition 1.2.1 Soit (X, R) un graphe sans boucle. On associe ` a chaque arc u = (xi , xj ) du graphe un nombre r eel positif n egatif ou nul not e vij = v (u). On appellera ce nombre valuation ou longueur de larc m eme si v (u) < 0. Un graphe est dit valu e si tout arc est muni dune longueur. Exemple 1.2.1 On consid` ere le graphe suivant

Figure 1.15 Graphe valu e - Exemple 1.2.1 Les valuations du graphe sont les suivantes : v13 = 7, v36 = 10, v14 = 2, v12 = 9, v24 = 2, v46 = 11, v45 = 13, v65 = 6.

1.2.2

Longueur dun chemin

D enition 1.2.2 Soit (X, R) un graphe orient e, sans boucle et valu e. La longueur dun chemin c quelconque est par d enition la somme des longueurs des arcs qui composent ce chemin. Exemple 1.2.2 Dans lexemple 1.2.1 pr ec edent, la longueur du chemin (1, 2, 4, 5) est 9 + (2) + 13 = 20, la longueur du chemin (1, 4, 6, 5) est 2 + 11 + 6 = 19, la longueur du chemin (1, 3, 6, 5) est 7 + 10 + 6 = 23. Dans la suite du cours, la probl ematique sera la suivante : Soit un graphe valu e et sans circuit, ` a valeurs positives (vij > 0), poss edant une entr ee not ee x1 et une sortie not ee xn . Le probl` eme que lon souhaite r esoudre consiste ` a d eterminer parmi tous les chemins dorigine xi , dextr emit e xn , ceux dont la longueur est extr emale (maximale ou minimale).

1.2.3

Chemins minimaux

(a) Strat egie : lalgorithme de Ford De sommet en sommet, on retient larc de plus faible valuation. On associe ` a chaque sommet xj un coecient j d eni par

1 = 0 j = min[i + vij ]

o` u les xi sont les pr ec edents de xj . Remarque 1.2.1 : Les valeurs j sont port ees au dessus des sommets dans le diagramme sagittal et d esign ees par j .

14

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

Figure 1.16 Diagramme sagittal - Exemple 1.2.2 (b) Exemple 1.2.2 On consid` ere le graphe ci-dessus : 1 = 0 Le sommet x2 a un seul pr ec edent x1 donc 2 = min[1 + v12 ] = min[0 + 3] = 3 Le sommet x3 a deux pr ec edents x1 et x2 donc 3 = min[1 + v13 , 2 + v23 ] = min[0 + 5, 3 + 1] = 4 Larc (x1 , x3 ) a pour longueur 5. Le chemin (x1 , x2 , x3 ) a pour longueur 3 + 1 = 4. Par cons equent, le chemin le plus court pour aller de x1 ` a x3 est le chemin (x1 , x2 , x3 ). Le sommet x4 a un seul pr ec edent x3 donc 4 = min[3 + v34 ] = min[4 + 4] = 8 Le sommet x5 a trois pr ec edents x2 , x3 et x4 donc 5 = min[2 + v25 , 3 + v35 , 4 + v45 ] = min[3 + 10, 4 + 6, 8 + 5] = 10 Le chemin minimal a pour longueur 10 car 5 = 10. Pour retrouver les arcs qui constituent le chemin minimal, appel e chemin critique, on part de la sortie et on rep` ere larc qui donne la valeur correspondante.

Ainsi 5 = 10 provient de 3 + v35 = 4 + 6, on obtient le sommet x3 ; 3 = 4 = 2 + v23 , on obtient le sommet x2 ; 2 = 1 + v13 = 0 + 3, on obtient le sommet x1 . Le chemin critique minimal est alors (x1 , x2 , x3 , x5 ), chemin repr esent e ci-dessous par un trait double sur le diagramme sagittal, chemin dorigine x1 , dextr emit e x5 , il est appel e chemin 1.5 minimal. Tout arc emprunt e par ce chemin extr emal est appel e arc 1-minimal. En g en eralisant, un chemin minimal dorigine xk dextr emit e xi est appel e k.i chemin minimal et tout arc emprunt e par ce chemin est appel e arc k -minimal.

(c) Exemple 1.2.3 On consid` ere le graphe valu e ci-dessous et on souhaite d eterminer les chemins de longueur minimale issus du sommet x1 et aboutissant ` a un sommet donn e et ceci pour tout sommet. V erions que ce graphe est sans circuit et ordonnan cons-le en niveaux en utilisant le dictionnaire des pr ec edents.

ET CHEMINS CRITIQUES 1.2. GRAPHES VALUES

15

Figure 1.17 Chemin critique minimal - Exemple 1.2.2

Figure 1.18 Diagramme sagittal - Exemple 1.2.3


sommet x x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 pr ec edent(s) de x x1 , x3 , x5 , x8 x1 x 1 , x2 , x3 x1 x5 , x8 x9 , x11 , x13 x1 x1 , x8 x4 , x11 x 2 , x5 , x6 x4 , x7 , x9 , x10 , x11 x6 , x8

16

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

Niveau N0 : Le sommet x1 est le seul exempt de pr ec edent donc N0 = {x1 }. On consid` ere ensuite lensemble de sommets X1 = X N0 = {x2 , x3 , x4 , x5 , x6 , x7 , x8 , x9 , x10 , x11 , x12 , x13 } On barre tous les sommets x1 dans le tableau pr ec edent.
sommet x x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x8 x4 , x11 x2 , x5 , x6 x4 , x7 , x9 , x10 , x11 x 6 , x8 x 5 , x8 x9 , x11 , x13 x 2 , x3 pr ec edent(s) de x x3 , x5 , x8

Remarque 1.2.2 Dans la suite de lexercice, tous les sommets xi seront not es i par souci de commodit e. Niveau N1 : Les sommets 3, 5 et 8 sont exempts de pr ec edent donc N1 = {3, 5, 8}. On consid` ere ensuite lensemble de sommets X2 = X1 N1 = {2, 4, 6, 7, 9, 10, 11, 12, 13} On barre tous les sommets 3, 5, 8 dans le tableau pr ec edent.
sommet x 2 4 6 7 9 10 11 12 13 4, 11 2, 6 4, 7, 9, 10, 11 6 9, 11, 13 2 pr ec edent(s) de x

Niveau N2 : Les sommets 2, 6 et 9 sont exempts de pr ec edent donc N2 = {2, 6, 9}. On consid` ere ensuite lensemble de sommets X3 = X2 N2 = {4, 7, 10, 11, 12, 13} On barre tous les sommets 2, 6, 9 dans le tableau pr ec edent.

ET CHEMINS CRITIQUES 1.2. GRAPHES VALUES

17

sommet x 4 7 10 11 12 13

pr ec edent(s) de x

11, 13 4, 11

4, 7, 10, 11

Niveau N3 : Les sommets 4, 11 et 13 sont exempts de pr ec edent donc N3 = {4, 11, 13}. On consid` ere ensuite lensemble de sommets X4 = X3 N3 = {7, 10, 12} On barre tous les sommets 4, 11, 13 dans le tableau pr ec edent. sommet x 7 10 12 7, 10 pr ec edent(s) de x

Niveau N4 : Les sommets 7 et 10 sont exempts de pr ec edent donc N4 = {7, 10}. On consid` ere ensuite lensemble de sommets X5 = X4 N4 = {12} On barre tous les sommets 7, 10 dans le tableau pr ec edent. sommet x 12 Niveau N5 : Le sommet 12 est exempt de pr ec edent donc N5 = {12}. On redessine le graphe en mettant en evidence les niveaux. pr ec edent(s) de x

Figure 1.19 Graphe ordonnanc e - Exemple 1.2.3

18

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

Bien evidemment, on a r(1) = 0, r(3) = r(5) = r(8) = 1, r(2) = r(6) = r(9) = 2, r(4) = r(11) = r(13) = 3, r(7) = r(10) = 4, r(12) = 5. D eterminons les coecients j de chacun des sommets xj : 1 = 0 3 = min[1 + v13 ] = min[0 + 2] = 2 5 = min[1 + v15 ] = min[0 + 2] = 2 8 = min[1 + v18 ] = min[0 + 1] = 1 2 = min[3 + v32 , 1 + v12 , 5 + v52 , 8 + v82 ] = min[2 + 1, 0 + 4, 2 + 3, 1 + 2] = 3 6 = min[5 + v56 , 8 + v86 ] = min[2 + 5, 1 + 2] = 3 9 = min[1 + v19 , 8 + v89 ] = min[0 + 9, 1 + 8] = 9 4 = min[1 + v14 , 2 + v24 , 3 + v34 ] = min[0 + 7, 3 + 5, 2 + 3] = 5 11 = min[2 + v2,11 , 5 + v5,11 , 6 + v6,11 ] = min[3 + 4, 2 + 6, 3 + 6] = 7 13 = min[6 + v6,13 , 8 + v8,13 ] = min[3 + 6, 1 + 7] = 8 10 = min[4 + v4,10 , 11 + v11,10 ] = min[5 + 3, 7 + 7] = 8 7 = min[11 + v11,7 , 13 + v13,7 , 9 + v97 ] = min[7 + 3, 8 + 5, 9 + 3] = 10 12 = min[4 +v4,12 , 10 +v10,12 , 11 +v11,12 , 7 +v7,12 , 9 +v9,12 = min[5+8, 8+5, 7+6, 10+2, 9+5] = 12 On peut maintenant compl eter le graphe pr ec edent :

Figure 1.20 Chemins minimaux - Exemple 1.2.3 Pour chaque sommet, la valeur donn ee indique la longueur du plus court chemin reliant le niveau N0 ` a ce sommet. Il y a deux plus courts chemins reliant x1 ` a x2 : (x1 , x3 , x2 ) et (x1 , x8 , x2 ) de longueur 3. Pour les chemins de longueur minimale reliant x1 ` a x12 , on part de x12 , on chemine dans le sens contraire des ` eches dans le graphe 1-minimal et on retrouve ainsi les chemins : (x1 , x3 , x2 , x11 , x7 , x12 ) et (x1 , x8 , x2 , x11 , x7 , x12 )

ET CHEMINS CRITIQUES 1.2. GRAPHES VALUES

19

Remarque 1.2.3 Sur la gure 1.20, on a repass e en traits epais les arcs 1-minimaux au fur et ` a mesure quils ont et e d etermin es. La marque de chaque sommet xk cest-` a-dire k est la longueur dun plus court chemin reliant le sommet x1 au sommet consid er e xk . Il ny a pas quun seul chemin reliant le sommet x1 ` a un sommet donn e de longueur minimale. Par exemple, les chemins (x1 , x3 , x2 , x11 , x7 , x12 ) et (x1 , x8 , x2 , x11 , x7 , x12 ) sont de longueur 12 et sont les seuls ` a relier x1 ` a x12 .

1.2.4

Chemins maximaux

De sommet en sommet, on retient larc de plus grande valuation. On associe ` a chaque sommet xj un coecient j d eni par 1 = 0 j = max[i + vij ] o` u les xi sont les pr ec edents de xj . n repr esente alors la valeur maximale du chemin entre x1 et xn . Reprenons lexemple 1.2.3 pr ec edent, le graphe etant ordonnanc e par niveaux. Recherchons un graphe 1maximal. Les calculs sont identiques ` a l etude pr ec edente en rempla cant minimum par maximum. 1 = 0 3 = max[1 + v13 ] = max[0 + 2] = 2 5 = max[1 + v15 ] = max[0 + 2] = 2 8 = max[1 + v18 ] = max[0 + 1] = 1 2 = max[3 + v32 , 1 + v12 , 5 + v52 , 8 + v82 ] = max[2 + 1, 0 + 4, 2 + 3, 1 + 2] = 5 6 = max[5 + v56 , 8 + v86 ] = max[2 + 5, 1 + 2] = 7 9 = max[1 + v19 , 8 + v89 ] = max[0 + 9, 1 + 8] = 9 4 = max[1 + v14 , 2 + v24 , 3 + v34 ] = max[0 + 7, 5 + 5, 2 + 3] = 10 11 = max[2 + v2,11 , 5 + v5,11 , 6 + v6,11 ] = max[5 + 4, 2 + 6, 7 + 6] = 13 13 = max[6 + v6,13 , 8 + v8,13 ] = max[7 + 6, 1 + 7] = 13 10 = max[4 + v4,10 , 11 + v11,10 ] = max[10 + 3, 13 + 7] = 20 7 = max[11 + v11,7 , 13 + v13,7 , 9 + v97 ] = max[13 + 3, 13 + 5, 9 + 3] = 18 12 = max[4 + v4,12 , 10 + v10,12 , 11 + v11,12 , 7 + v7,12 , 9 + v9,12 = max[10 + 8, 20 + 5, 13 + 6, 18 + 2, 9 + 5] = 25 Le graphe prend maintenant les valeurs indiqu ees par la gure 1.21. Remarque 1.2.4 Sur la gure 1.21, on a repass e en traits epais les arcs 1-maximaux au fur et ` a mesure quils ont et e d etermin es. La marque de chaque sommet xk cest-` a-dire k est la longueur dun plus long chemin reliant le sommet x1 au sommet consid er e xk . Il ny a pas quun seul chemin reliant le sommet x1 ` a un sommet donn e de longueur maximale. Par exemple, le chemin (x1 , x5 , x6 , x11 , x10 , x12 ) est de longueur 25 et est le seul ` a relier x1 ` a x12 . Les chemins reliant x1 ` a x9 sont au nombre de 2 ` a savoir (x1 , x9 ) et (x1 , x8 , x9 ), de longueur maximale 9. Sur la gure 1.22 ci-apr` es, on a repris le graphe sous sa forme initiale puis on a repr esent e les plus courts chemins reliant le sommet x1 au sommet x12 en trait pointill e ainsi que le plus long chemin de x1 ` a x12 en trait double. On voit que sous sa forme ordonnanc ee (lorsque cela est possible), non seulement le graphe est plus lisible, mais permet de mettre en place un proc ed e tr` es rapide de recherche de chemins extr emaux. Il existe par ailleurs dautres algorithmes applicables lorsque le graphe pr esente des circuits. On sest born e au cas le plus courant.

20

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

Figure 1.21 Chemins maximaux - Exemple 1.2.3

Figure 1.22 Plus longs et courts chemins- Exemple 1.2.3

1.2.5

Int er et dune telle recherche

Cette recherche intervient 1. dans les probl` emes de transport ou de circulation : on verra par la suite que tout r eseau de transport peut etre repr esent e par un graphe dans lequel les sommets sont les nuds dentr ee, de transit, de sortie du r eseau, les arcs gurant les liaisons entre les di erents nuds. A chaque arc (xi , xj ) est associ ee la valuation vij > 0 qui repr esente le co ut unitaire du transport sur la liaison correspondante. Le probl` eme de lacheminement dune certaine marchandise depuis un nud dentr ee jusqu` a un nud de sortie, au moindre co ut, se ram` ene ` a la recherche dun chemin de longueur minimale. La longueur repr esente ici le co ut unitaire total. 2. Dans les probl` emes dordonnancement :

1.3. EXERCICES RECAPITULATIFS

21

on verra que l etablissement du planning relatif ` a la r ealisation dune t ache conduit ` a consid erer un graphe dans lequel tout arc (xi , xj ) repr esente une op eration, auquel on associe le nombre vij repr esentant la dur ee de lop eration. Tout sommet traduit la n dune op eration. Lextr emit e dun arc co ncide avec lorigine dun autre si et seulement si lop eration associ ee au premier est achev ee an que celle associ ee au second puisse d ebuter. La dur ee totale de r ealisation dun programme ne peut etre inf erieure ` a la somme des dur ees prises sur le chemin le plus d efavorable depuis le sommet x0 d ebut des travaux jusquau sommet xn n des travaux, cest-` a-dire les chemins de longueur maximale de x0 ` a xn . Un tel chemin est un chemin critique. Pour que la dur ee de lop eration soit minimale, il est n ecessaire que sur ce chemin critique, lorsque deux op erations se suivent, la deuxi` eme d ebute exactement lorsque la premi` ere se termine.

1.3

Exercices r ecapitulatifs

Exercice 6 La r ealisation dun chantier n ecessite la r ealisation des op erations ci-dessous

Op erations Dur ee en semaines

A 32

B 13

C 4

D 3

E 6

F 32

G 20

H 8

I 13

J 38

K 42

L 39

Dautre part, on a constat e que lop eration B devait etre pr ec ed ee de lop eration A et suivie des op erations C, D, E et F, que les op erations C et D devaient pr ec eder lop eration G, que les op erations H et J, enn, devaient suivre les op erations E, F et G et pr ec eder les op erations I, K et L. D eterminer la dur ee minimale du projet.
Exercice 7 Une entreprise conna t une croissance importante cr eant de gros besoins en locaux de construc

tion et aussi de stockage. Il en r esulte une grande dispersion des di erents b atiments. Le tableau ci-dessous indique le temps en minutes que mettent les navettes pour joindre les di erents points :
XXX ee XXX Arriv A XXX D epart XX

B 36

D 20

E 30 24

G 16

H 18 16

A B C D E F G H I J

28 16 14 10 12 8 4 12 18 26 28

1. Etablir le dictionnaire des pr ec edents 2. (a) Ordonnancer le graphe par niveaux (b) Repr esenter le graphe

22

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

3. Quel est le chemin que doit emprunter un employ e d esirant se rendre du point A au point J en un temps minimal ? Quel est ce temps ?
Exercice 8

1. En utilisant lalgorithme de Ford, d eterminez le chemin minimal allant de x1 ` a x10 et pr ecisez la longueur de ce chemin. Interpr etez le r esultat de la question pr ec edente dans un contexte dentreprise que vous inventerez. 2. En utilisant lalgorithme de Ford, d eterminez le chemin maximal allant de x1 ` a x10 et pr ecisez la longueur de ce chemin. Interpr etez le r esultat de la question pr ec edente dans un contexte dentreprise que vous inventerez.
Exercice 9 ege est situ e ` a Berne doit eectuer Une entreprise de transport SUISSEXPORT dont le si`

de fr equentes livraisons ` a Milan, en dehors de la p eriode hivernale. Ses v ehicules doivent donc traverser le massif des Alpes : leur gabarit interdit lusage des tunnels ferroviaires (Simplon, Saint-Gothard, L otschberg,. . . ) qui, sinon, faciliteraient le voyage. Vus la fr equence et le co ut de ces livraisons, lentreprise d esire d eterminer litin eraire le plus court de Berne ` a Milan.

On a orient e les tron cons de route et port e les distances en kilom` etres. ` laide dun graphe que vous aurez trac A e, d eterminer litin eraire demand e et pr eciser son kilom etrage.

1.3. EXERCICES RECAPITULATIFS

23

Exercice 10 On se donne le r eseau routier ci-dessous o` u chaque sommet repr esente un entrep ot et chaque

arc, une route entre deux entrep ots ; chaque route est suppos ee ` a sens unique, le sens de progression etant indiqu e par la direction de larc.

1. Le premier probl` eme est le suivant : tous les matins, plusieurs chaueurs doivent acheminer le courrier interne et les colis aux di erents entrep ots de lentreprise. On suppose que le centre de tri est lentrep ot B , cest donc le point de d epart des navettes. (a) Sachant quune m eme navette ne peut emprunter deux fois le m eme arc (ce qui est permis pour deux navettes di erentes), combien faut-il de chaueurs au minimum pour acheminer ` a chaque entrep ot son courrier ? (certains arcs peuvent ne pas etre parcourus.) (b) En supposant que chaque route soit longue de 100 m` etres, quelle distance totale parcourent chaque matin les navettes ? (c) Quel chemin emprunte la navette qui dessert le maximum dentrep ots ?

2. Le second probl` eme s enonce comme suit : on se donne ci-dessous, pour chaque entrep ot, le temps moyen (en minutes) n ecessaire ` a la livraison du courrier (trajet et/ou d echargement) des entrep ots suivants :

Entrep ot i Temps t(i)

A 5

B 6

C 3

D 8

E 4

F 5

G 6

H 20

I 4

J 4

K 9

Par exemple, une fois le courrier livr e en A, il faut 5 minutes pour livrer le ou les entrep ots suivants. D eterminer la dur ee minimale moyenne de livraison du courrier dans cette entreprise.

Exercice 11 et e dentreposage pour stocker des produits alimentaires. Une entreprise contacte votre soci

Vos di erents entrep ots sont localis es g eographiquement ` a laide de la carte fournie ci-apr` es.

24

CHAPITRE 1. QUELQUES RAPPELS SUR LES GRAPHES

Dans le cadre du contrat, lentreprise vous demande de d eterminer les chemins minimaux et maximaux du r eseau an doptimiser les prix de transport de leurs marchandises. Les entrep ots sont sch ematis es par des points et les routes reliant ces di erents entrep ots par des droites. On supposera que les routes sont ` a sens unique, leur direction etant indiqu ee par les arcs orient es. La valuation de chaque arc indique la distance s eparant les entrep ots reli es par cet arc. Par exemple, les entrep ots G et F sont distants de 160 m` etres. 1. Etablir le dictionnaire des pr ec edents puis le dictionnaire des suivants des sommets du graphe. 2. Utiliser le dictionnaire des pr ec edents pour ordonnancer le graphe par niveaux. 3. Repr esenter le graphe sous sa forme ordonnanc ee. On pr ecise que les entrep ots dentr ee sont ceux appartenant au niveau N0 et que les entrep ots de sortie sont ceux appartenant au dernier niveau. 4. D eterminer la longueur du chemin minimal menant dun entrep ot dentr ee ` a un entrep ot de sortie tout en pr ecisant ce chemin. 5. D eterminer la longueur du chemin maximal menant dun entrep ot dentr ee ` a un entrep ot de sortie tout en pr ecisant ce chemin.

Chapitre 2

Probl` emes dordonnancement


2.1 Contexte

Les retards apport es aux r ealisations de projets aux livraisons ponctuelles aux clients dus en g en eral ` a la mauvaise conception du produit ` a fabriquer, la mauvaise gestion des stocks, la xation arbitraire dun calendrier de n des travaux sans rapport ni avec l evolution r eelle des di erentes t aches ni avec les moyens dont on dispose eectivement, le manque de coordination entre les responsables des op erations concernant lordre de passage des di erentes t aches et leur n, sont autant de probl` emes que les entreprises doivent aronter aujourdhui. An de minimiser ces retards, lorganisation des t aches devient indispensable et fait intervenir des notions tr` es particuli` eres.

2.2
2.2.1

Notions de projet, t ache et ordonnancement


Notion de projet

Un projet est un ensemble dop erations permettant datteindre un objet x e, ces op erations etant soumises ` a un certain nombre de contraintes. Les contraintes potentielles On distingue deux cas : . Les contraintes de succession ou contraintes dant eriorit e qui se traduisent par le fait quune t ache j ne peut d ebuter que lorsque la t ache i est achev ee ou bien se trouve ` a un certain degr e dex ecution. . Les contraintes de localisation temporelle, permettant de localiser dans le temps chacune des t aches en cours dex ecution ; la t ache i doit etre achev ee ` a telle date ou au contraire son ex ecution ne doit jamais commencer avant telle date. Les contraintes disjonctives. Elles imposent la r ealisation non simultan ee de certaines t aches. Ces contraintes se manifestent en particulier lorsque les disponibilit es en mat eriel ou personnel sont insufsantes. Les contraintes cumulatives. Elles limitent les possibilit es dordonnancement car elles tiennent compte de tous les facteurs productifs, hommes, mat eriels, moyens nanciers.

2.2.2

Notion de t ache

Une t ache est une op eration. Lensemble des t aches forme le projet. On associe ` a chaque t ache sa dur ee et une contrainte dant eriorit e par rapport aux autres t aches. On dira que xi est imm ediatement ant erieure ` a xj si xj ne peut d ebuter que lorsque xi est achev ee. 25

26

` CHAPITRE 2. PROBLEMES DORDONNANCEMENT

2.3

M ethode dordonnancement

Cest un ensemble de m ethodes qui permettent au responsable du projet de prendre les d ecisions n ecessaires dans les meilleures conditions possibles. Un probl` eme dordonnancement est donc un probl` eme dorganisation du projet. On distingue di erentes m ethodes : Les m ethodes du type diagramme de Gantt. La m ethode PERT (Program Evaluation and Review Technique) mise en place pour la r ealisation du programme de recherche et de construction des fus ees Polaris en 1958. La m ethode CPM (Critical Path Method). La m ethode MPM (M ethode des Potentiels M etra) mise au point en France par B. Roy et son equipe de la SEMA. Cette m ethode pr esente des avantages par rapport ` a la m ethode am ericaine PERT, les graphiques etant plus simples ` a elaborer et le d eveloppement plus prometteur. Son utilisation est tr` es importante dans la construction dimmeubles, de barrages, dautoroutes,...

2.4

Etablissement dun ordonnancement

D` es que les contraintes sont compatibles, le crit` ere principal est la minimisation de la dur ee totale de r ealisation des travaux.

2.5

D etermination du chemin critique et enum eration des t aches critiques

Les t aches critiques sont celles dont lex ecution ne peut etre ni retard ee ni ralentie sans que la dur ee totale des travaux ne soit augment ee. Le (ou les) chemin(s) critique(s) visualise(nt) lensemble des t aches critiques sur le graphique de lordonnancement.

2.6

Exercices

Exercice 12 Votre soci et e a besoin de vos services pour implanter la zone de stockage dun entrep ot

quelle vient dacqu erir. Vous prenez connaissance des di erentes t aches quil faudra r ealiser : Code des t aches A B C D E F G H I J Description des t aches Livraison des racks Rangement dans les palettiers R eception des marchandises Identication des emplacements Mise en service du mat eriel de manutention R eception du mat eriel de manutention Commande des racks Commande des chariots Installation des racks Acceptation du projet Dur ee 1h 12h 3h 6h 1h 1h 1h 1h 15h 2h

Votre mission (si vous lacceptez) est doptimiser lam enagement de lentrep ot 1. Etablir le tableau des ant eriorit es (ou dictionnaire des pr ec edents).

2.6. EXERCICES

27

2. V erier quil ny a pas de circuit dans le graphe d eni par le dictionnaire de la question pr ec edente. 3. Ordonnancer les t aches du graphe par niveaux. 4. Visualiser les di erentes t aches ` a accomplir. 5. Evaluer la dur ee totale du projet.
Exercice 13 Votre soci et e d esire faire construire un nouvel entrep ot commercial dont vous devez r ealiser

la mise en chantier. Vous prenez connaissance des di erentes t aches quil faudra r ealiser : Code des t aches A B C D E F G H I Description des t aches Pr eparation du terrain Creusement des fondations Commande des mat eriaux Commande des portes et fen etres Livraison des mat eriaux Coulage des fondations, de la dalle et des quais Livraison des portes et fen etres Pose des murs, de la charpente et du toit Mise en place des portes et fen etres

Dur ee 2 semaines 1 semaine 1 semaine 2 semaines 1 semaine 2 semaines 9 semaines 8 semaines 1 semaine

Votre mission (si vous lacceptez) est doptimiser la mise en chantier de lentrep ot 1. Etablir le tableau des ant eriorit es (ou dictionnaire des pr ec edents). 2. V erier quil ny a pas de circuit dans le graphe d eni par le dictionnaire de la question pr ec edente. 3. Ordonnancer les t aches du graphe par niveaux. 4. Visualiser les di erentes t aches ` a accomplir. 5. Evaluer la dur ee totale du projet.

28

` CHAPITRE 2. PROBLEMES DORDONNANCEMENT

Chapitre 3

La m ethode MPM
3.1
3.1.1

Le graphe
El ements du graphe

Chaque op eration est repr esent ee par un sommet, chaque sommet est repr esent e par un rectangle dans lequel on inscrit le num ero de code de la t ache associ ee. Il convient de consid erer que le sommet no i repr esente le d ebut de la t ache i. Chaque arc repr esente une contrainte de succession. On introduit une op eration initiale rep er ee par un sommet not e E (pour Entr ee) ou D (pour D epart ou D emarrage) ou 1 (premi` ere etape), ce qui correspond au d emarrage des travaux, ainsi quune op eration terminale ou nale ` a laquelle on associe un sommet num erot e F (pour Final) ou n (derni` ere etape), qui correspond ` a la livraison des travaux.

Remarque 3.1.1 Il est inutile dintroduire des sommets qui correspondraient au d ebut de la r ealisation de certaines etapes ou objectifs partiels ou de p eriode dattente.

3.1.2

Contraintes potentielles

Les arcs du graphe traduisent les contraintes selon la r` egle suivante : Si deux sommets sont reli es par un arc, cela signie que lop eration associ ee ` a lextr emit e initiale de larc doit etre commenc ee pour quon puisse d ebuter lop eration associ ee ` a lextr emit e terminale de larc. A chaque arc est associ ee une valeur num erique qui repr esente soit un dur ee op eratoire soit plus g en eralement un d elai.

Exemple 3.1.1 On consid` ere la succession de deux op erations a de dur ee 6 et b de dur ee 4, b ne pouvant d ebuter que si a est achev ee

Figure 3.1 Succession de 2 etapes - Exemple 3.1.1 Par contre, si lop eration b peut d emarrer 2 unit es de temps apr` es a, on aura En conclusion, la valeur potentielle associ ee ` a larc (xi , xj ) est le d elai minimum de la t ache xi , au bout duquel peut d emarrer la t ache xj . 29

30

CHAPITRE 3. LA METHODE MPM

Figure 3.2 Succession de 2 etapes - Exemple 3.1.1

3.1.3

Exercice corrig e

Un ensemble de travaux comprend 7 t aches. Le tableau ci-dessous pr ecise les dur ees op eratoires et les contraintes de succession : T aches a b c d e f g Dur ees 3 2 4 3 5 4 2 a a b, d b, d c, f T aches pr ealables

Repr esenter le graphe ordonnanc e par niveaux associ e` a ce projet. Correction : On v erie tout dabord que le graphe sagittal associ e au projet est bien sans circuit. On peut ensuite ordonnancer ce graphe par niveaux, ceci ` a laide du dictionnaire des pr ec edents. x P (x) On a : N0 = {a, b} et X1 = {c, d, e, f, g }. x c d e f g N1 = {c, d} et X2 = {e, f, g }. x e f g N2 = {e, f } et X3 = {g }. x g P (x) f P (x) d d c, f P (x) a b c a d a e b, d f b, d g c, f

3.1. LE GRAPHE

31

N3 = {g } On en d eduit le graphe ordonnanc e en niveaux suivant :

Figure 3.3 Graphe ordonnanc e - Exercice corrig e On a repr esent e sur les arcs dorigine a , la dur ee op eratoire de la t ache a. Si lon note D le d ebut, F la n, les arcs issus de D sont aect es de potentiels nuls puisque la t ache correspondante est de dur ee nulle. Les t aches a et b peuvent commencer d` es le d ebut.

3.1.4

T aches parall` eles

Soient deux op erations b et c devant satisfaire aux conditions suivantes : seectuer en m eme temps (op erations parall` eles), succ eder ` a une m eme op eration a, pr ec eder une op eration d. Les t aches b et c sont dites parall` eles. Exemple 3.1.2 Soient quatre t aches a, b, c et d satisfaisant aux conditions pr ec edentes, de dur ees respectives 3, 2, 5 et 7. Le graphe associ e est alors :

Figure 3.4 T aches parall` eles - Exemple 3.1.2 Tout arc issu de d sera aect e dun coecient 7, d elai op eratoire de d .

3.1.5

Op erations d ependantes et ind ependantes

Soient dune part a et b ind ependantes et dautre part c et d. Ces op erations sont telles que c succ` ede ` a a sans succ eder ` a b, d succ` ede ` a la fois ` a a et ` a b. Lop eration c d epend de a, lop eration d d epend de a et de b. Exemple 3.1.3 Soient quatre t aches a, b, c et d satisfaisant aux conditions pr ec edentes, de dur ees respectives 3, 4, 3 et 7. Le graphe associ e est alors : Les arcs issus de c auront un potentiel 3, ceux de d un potentiel 7.

32

CHAPITRE 3. LA METHODE MPM

Figure 3.5 D ependance et ind ependance - Exemple 3.1.3

3.1.6

Op erations compos ees

Exemple 3.1.4 Consid erons une situation o` u certaines op erations peuvent d ebuter avant lach` evement complet dune t ache. La t ache a dure 2 jours, la t ache b dure 7 jours, b succ` ede ` a a, e de dur ee 2 jours succ` ede ` a b, c de dur ee 3 jours peut d ebuter 1 jour apr` es le d ebut de b, d de dur ee 4 jours peut d ebuter 3 jours apr` es le d ebut de b. On pourrait tout dabord fractionner lop eration sous la forme

Figure 3.6 T aches compos ees - Exemple 3.1.4 mais les 3 sommets b1 , b2 et b3 peuvent etre condens es en un seul b , en modiant correctement les potentiels sur les arcs issus de b :

Figure 3.7 T aches compos ees - Exemple 3.1.4

3.1.7

Conditions limites de d emarrage

Dans certains cas (livraison de mat eriaux, intemp eries), il arrive quune op eration qui doit normalement succ eder ` a dautres sans attente impos ee, ne puisse etre entreprise quapr` es une certaine date qui repr esente un d elai d etermin e par rapport ` a la date de d emarrage des travaux. On exprime cette contrainte particuli` ere de lancement de telles op erations par des arcs. La valuation des arcs ainsi introduits suppose que 0 est choisie comme date de d ebut des travaux. Exemple 3.1.5 b de dur ee 2 jours succ` ede ` a a de dur ee 3 jours mais ne peut d ebuter quapr` es un d elai de 10 jours apr` es le d ebut des travaux.

: CONSTRUCTION DUN PONT 3.2. EXERCICE SYNTHETIQUE CORRIGE

33

Figure 3.8 Conditions limites de d emarrage - Exemple 3.1.5

b de dur ee 2 jours, c de dur ee 1 jour succ` edent ` a a de dur ee 3 jours mais ne peuvent d emarrer que 10 jours apr` es le d ebut des travaux.

Figure 3.9 Conditions limites de d emarrage - Exemple 3.1.5

Remarque 3.1.2 Les graphes ainsi obtenus sont exempts de circuit, sans quoi une op eration pourrait faire suite ` a elle m eme. On peut donc les ordonnancer en niveaux.

3.2

Exercice synth etique corrig e : construction dun pont

On se donne le projet de construction suivant :

T aches el ementaires A B C D E F G

Description des t aches Lancement des poutres pr efabriqu ees Corage des dalles Ferraillage des dalles B etonnage des dalles Durcissement des dalles Corage des dalles de de trottoir Mise en place des guides roues

Interd ependance des t aches D ebute avant toute t ache Succ` ede ` aA Suit la t ache B Suit la t ache C Suit D. Doit etre termin ee avant que P ne commence Suit B, peut etre ex ecut ee en m eme temps que C et G Succ` ede ` a B, peut etre ex ecut ee en m eme temps que C et F

dur ee en jours 1 3 1 1 7 4 1

34

CHAPITRE 3. LA METHODE MPM

T aches el ementaires H J K L M N P Q

Description des t aches Ferraillage des dalles de trottoir B etonnage des dalles de trottoir Durcissement des dalles de trottoir Ex ecution du rev etement bitumeux Ex ecution du rev etement des dalles de trottoir Mise en place des garde-fous D ecorage des dalles et et nition des parements D ecorage des dalles de de trottoir

Interd ependance des t aches Suit F et C. Doit etre termin ee avant que ne d ebute J Suit les t aches H et D Suit J, doit etre termin ee avant que ne commence Q Peut d ebuter 3 jours apr` es le d ebut de E Peut d ebuter 3 jours apr` es le d ebut de K. Suit la t ache L Suit la t ache K 3 jours apr` es son d ebut Succ` ede ` aE Succ` ede ` aK

dur ee en jours 1 1 7 1 1 1 2 2

1. Ordonnancer le graphe par niveaux. 2. Tracer le graphe ordonnanc e en evitant que les arcs se coupent. 3. D eterminer le (les) chemin(s) critique(s). Correction : 1. Ordonnancement par niveaux : on se donne le dictionnaire des pr ec edents : x P (x) A B A C B D C E D F B G B H F,C J H,D K J L E M L,K N K P E Q K

N0 = {A}, r(A) = 0, on barre A dans le dictionnaire : x P (x) A B A C B D C E D F B G B H F,C J H,D K J L E M L,K N K P E Q K

N1 = {B }, r(B ) = 1, on barre B dans le dictionnaire : x P (x) A B A C B D C E D F B G B H F,C J H,D K J L E M L,K N K P E Q K

N2 = {C, F, G}, r(C ) = r(F ) = r(G) = 2, on barre C, F, G dans le dictionnaire : x P (x) A B A C B D C E D F B G B H F, C J H,D K J L E M L,K N K P E Q K

: CONSTRUCTION DUN PONT 3.2. EXERCICE SYNTHETIQUE CORRIGE

35

N3 = {D, H }, r(D) = r(H ) = 3, on barre D, H dans le dictionnaire : x P (x) A B A C B D C E D F B G B H F,C J H,D K J L E M L,K N K P E Q K

N4 = {E, J }, r(E ) = r(J ) = 4, on barre E, J dans le dictionnaire : x P (x) A B A C B D C E D F B G B H F,C J H,D K J L E M L,K N K P E Q K

N5 = {K, L, P }, r(K ) = r(L) = r(P ) = 5, on barre K, L, P dans le dictionnaire : x P (x) A B A C B D C E D F B G B H F,C J H,D K J L E M L,K N K P E Q K

N6 = {M, N, Q}, r(K ) = r(L) = r(P ) = 6. 2. Le graphe ordonnanc e:

Figure 3.10 Graphe ordonnanc e - Exercice synth etique corrig e Remarque 3.2.1 La t ache L peut d ebuter 3 jours apr` es le d ebut de E alors que E dure 7 jours :

36

CHAPITRE 3. LA METHODE MPM

La t ache N suit K 3 jours apr` es son d ebut, K dure 7 jours, K pr ec` ede aussi Q, M d ebute 3 jours apr` es le d ebut de K :

La recherche du chemin critique sera eectu ee sur ce graphe.

3.3
3.3.1

Date au plus t ot dune t ache i, ordonnancement minimum ou au plus t ot


D enition

Si on d ecide de commencer les travaux ` a la date T1 = 0, la date au plus t ot Ti de d ebut de la t ache i est la date ` a laquelle peut commencer au plus t ot la t ache i. Cette date Ti est la somme des d elais (ou potentiels) prise sur la succession la plus d efavorable des d ebuts de t aches commen cant par la t ache 1, d ebut du programme et se terminant par la t ache i. Quoi quon fasse, la t ache i ne peut commencer avant la date Ti . Ti est la longueur dun plus long chemin, au sens des d elais dans le graphe, reliant le sommet 1, d ebut du programme, au sommet i. Lensemble de toutes les dates au plus t ot sappelle ordonnancement minimum ou au plus t ot. En particulier si n est le sommet repr esentant la t ache n de programme, Tn repr esente la dur ee minimale de r ealisation du programme. La recherche de lordonnancement au plus t ot revient ` a celle du graphe 1-maximal, cest-` a-dire les chemins de longueur maximale dorigine le sommet 1.

3.3.2

D etermination des dates au plus t ot

Les dates au plus t ot sont donn ees par : T1 = 0 Ti = max [Th + dh,i ]
hP (i)

o` u P (i) est lensemble des pr ec edents de i et Th la date de d ebut au plus t ot de la t ache de niveau pr ec edent. dh,i est le potentiel (ou d elai) port e sur larc (h, i) cest-` a-dire le d elai minimum apr` es le d ebut de la t ache h, au bout duquel peut d emarrer la t ache i.

3.3.3

Chemins critiques

Tout chemin reliant le sommet 1 au sommet n dans le graphe 1-maximal est un chemin critique. Les chemins critiques seront repass es en traits epais ou traits gras. Chaque sommet i sera not e

Exemple 3.3.1 Reprenons lexemple du pont.

3.4. DATE AU PLUS TARD DE DEBUT DUNE TACHE I , ORDONNANCEMENT LIMITE (OU AU PLUS TARD) 37

Figure 3.11 Ordonnancement au plus t ot - Exercice synth etique corrig e Remarque 3.3.1 Les arcs du chemin critique sont en trait gras : (A,B,F,H,J,K,Q). 19 est la date au plus t ot de d ebut de la t ache n. La dur ee minimale des travaux est de 19 jours. Les t aches critiques sont repass ees en traits gras, ce sont les t aches A,B,F,H,J,K et Q. Ce sont les sommets qui jalonnent le chemin critique. Si le d ebut dune op eration critique est retard ee, tout le programme se trouve retard e de la m eme dur ee. Il est donc formellement interdit de retarder une t ache critique. Par contre, les autres t aches peuvent l etre.

3.4
3.4.1

Date au plus tard de d ebut dune t ache i, ordonnancement limite (ou au plus tard)
D enition

Il est indispensable pour une t ache i donn ee de conna tre le retard que lon peut se permettre sur sa date de mise en route, par rapport ` a sa date Ti de d ebut au plus t ot, sans pour cela di erer la date de n des travaux. On sait que pour une t ache critique, aucun retard nest permis donc le retard permis sera nul. Par contre, pour les t aches non critiques, un retard est tol er e, nengendrant aucun retard nal. Le d elai minimal dn qui s e pare la mise en route de la t a che i et celle de la t ache n n est la somme des d elais i prise sur la succession la plus d efavorable des d ebuts de t aches commen cant par i et se terminant par n. Ce d elai minimum dn est la longueur du plus long chemin dans le graphe reliant le sommet i au sommet n. i Lobjectif etant de r ealiser lensemble du programme en un temps minimum, on impose ` a la t ache n (n) de d ebuter ` a sa date au plus t ot Tn . La date au plus tard ` a laquelle doit d ebuter la t ache i pour que la t ache n (n) intervienne ` a la date impos ee Tn est not ee Ti d enie par Ti = Tn dn i Lensemble de toutes les dates au plus tard de d ebut de t aches sappelle ordonnancement limite ou plus tard.

38

CHAPITRE 3. LA METHODE MPM

Remarque 3.4.1 Pour les t aches critiques qui ne peuvent tol erer aucun retard , on a Ti = Ti

3.4.2

Recherche de lordonnancement au plus tard

La recherche de lordonnancement au plus tard revient ` a la recherche du graphe maximal dorigine n, not e G , oppos e au graphe de G. On suppose G ordonnanc e par niveaux relativement aux suivants, les du sommet n au sommet i. Les dates au plus tard Ti marques n,i des sommets repr esentant les d elais dn i de d ebut de t aches sont alors d enies par Ti = Tn n,i avec n,n = 0. Pratiquement, on calcule les dates au plus tard par
=T Tn n Ti = min (Tj di,j ) j S (i)

o` u S (i) est lensemble des suivants du sommet i di,j est le potentiel port e sur larc (i, j ). Le chemin critique peut etre obtenu ` a partir des deux ordonnancements, les t aches critiques etant celles pour lesquelles Ti = Ti . Chaque sommet sera not e:

Exemple 3.4.1 Reprenons lexemple du pont :


= T = 19 Tn n = min(T 1) = min(19 1) = 18 TM n = min(T 2) = min(19 2) = 17 TQ n = min(T 1) = min(19 1) = 18 TN n = min(T 2) = min(19 2) = 17 TP n = min(T 1) = min(18 1) = 17 TL M = min(T 3, T 7, T 3) = min(18 3, 17 7, 18 3) = 10 TK M Q N = min(T 7, T 3) = min(17 7, 17 3) = 10 TE P L = min(T 1) = min(10 1) = 9 TJ K = min(T 1, T 1) = min(10 1, 9 1) = 8 TD E J = min(T 1) = min(9 1) = 8 TH J = min(T 1) = min(19 1) = 18 TG n = min(T 1, T 1) = min(8 1, 8 1) = 7 TC D H = min(T 4) = min(8 4) = 4 TF H = min(T 3, T 3, T 3) = min(18 3, 7 3, 4 3) = 1 TB G C F = min(T 1) = min(1 1) = 0 TA B

On peut ainsi donner le graphe nal :

3.5. MARGES DUNE TACHE I

39

Figure 3.12 Ordonnancement au plus tard - Exercice synth etique corrig e

3.5
3.5.1

Marges dune t ache i


Marge totale mT (i) de la t ache i
mT (i) = Ti Ti

Cest la dur ee d enie par :

o` u Ti est la date au plus t ot du d ebut de la t ache i et Ti est la date au plus tard de d ebut de la t ache i. La marge totale de la t ache i est le d elai ou retard maximum que lon peut apporter ` a la mise en route de cette t ache sans r epercussion sur le d elai dach` evement du programme. Remarque 3.5.1 Les marges totales des t aches critiques sont n ecessairement nulles.

3.5.2

Marge libre mL (i) dune t ache i


mL (i) = min (Tj Ti dij )
j S (i)

Cest la dur ee d enie par :

o` u S (i) d esigne lensemble des suivants du sommet i et dij d esigne le potentiel port e par larc (i, j ). La marge libre de la t ache i est le d elai ou retard maximum que lon peut apporter ` a sa mise en route par rapport ` a sa date au plus t ot Ti sans retarder la date de d ebut au plus t ot de toute autre t ache.

3.5.3

Marge certaine mC (i) dune t ache i


mC (i) = max(0; min (Tj Ti dij ))
j S (i)

Cest la dur ee d enie par

40

CHAPITRE 3. LA METHODE MPM

o` u S (i) est lensemble des suivants de i. Si pour une t ache i, la marge certaine est strictement positive, cette marge certaine repr esente le d elai ou le retard maximum que lon peut apporter ` a sa mise en route sans perturber pour autant les dates attendues des ev enements post erieurs et ceci, bien que la t ache i nait et e r ealis ee qu` a sa date limite. On remarquera que les marges certaines des t aches critiques sont n ecessairement nulles.

3.5.4

Exemple

Reprenons lexemple du pont : Les marges totales : T ache Ti Ti mT (i) A 0 0 0 B 1 1 0 C 7 4 3 D 8 5 3 E 10 6 4 F 4 4 0 G 18 4 14 H 8 8 0 J 9 9 0 K 10 10 0 L 17 9 8 M 18 13 5 N 18 13 5 P 17 13 4 Q 17 17 0

On retrouve les marges totales des t aches critiques nulles (en eet, pour ces t aches critiques Ti = Ti ). Par exemple, mT (G) = 14 ce qui signie que 14 jours est le d elai maximum que lon peut apporter a la mise en route de cette t ` ache (par rapport ` a sa date au plus t ot) sans r epercussion sur le d elai dach` evement du programme. Les marges libres : mL (A) = min(TB TA dAB ) = min(1 0 1) = 0 mL (B ) = min(TG TB dBG , TC TB dBC , TF TB dBF ) = min(4 1 3, 4 1 3, 4 1 3) = 0 mL (G) = min(Tn TG dGn ) = min(19 4 1) = 14 mL (C ) = min(TD TC dCD , TH TC dCH ) = min(5 4 1, 8 4 1) = 0 mL (F ) = min(TH TF dF H ) = min(8 4 4) = 0 mL (D) = min(TE TD dDE , TJ TD dDJ ) = min(6 5 1, 9 8 1) = 0 mL (H ) = min(TJ TH dHJ ) = min(9 8 1) = 0 mL (E ) = min(TP TE dEP , TL TE dEL ) = min(13 7 6, 9 3 6) = 0 mL (J ) = min(TK TJ dJK ) = min(10 9 1) = 0 mL (P ) = min(Tn TP dP n ) = min(19 13 2) = 4 mL (L) = min(TM TL dLM ) = min(13 9 1) = 3 mL (K ) = min(TM TK dKM , TQ TK dKQ , TN TK dKN ) = min(13 10 3, 17 10 7, 13 10 3) = 0 mL (M ) = min(Tn TM dM n ) = min(19 13 1) = 5 mL (Q) = min(Tn TQ dP n ) = min(19 17 2) = 0 mL (N ) = min(Tn TN dN n ) = min(19 13 1) = 5 Signication : . Comme mT (E ) = 0, la t ache E peut d emarrer au maximum 4 jours apr` es sa date au plus t ot sans retarder la n des travaux. Comme mL (E ) = 0, si lon retarde la t ache E, par rapport ` a sa date au plus t ot, les dates au plus t ot des autres t aches sont retard ees. . Comme mL (L), le seul suivant de L etant M, si lon retarde la t ache L de 3 jours par rapport ` a sa date au plus t ot, la date au plus t ot (13 jours) de la t ache M ne sera pas retard ee. Comme mT (8), on peut retarder la t ache L de 8 jours par rapport ` a sa date au plus t ot sans retarder la r ealisation du chantier mais dans ce cas, la t ache M sera retard ee de 8 3 = 5 jours par rapport ` a sa date au plus t ot.

SOUS FORME DE TABLEAUX 3.6. METHODE MPM PRESENT EE

41

Les marges certaines :


d mC (A) = max(0, min(TB TA AB )) = max(0, min(1 0 1)) = max(0, 0) = 0 d mC (B ) = max(0, min(TG TB BG , TC TB dBC , TF TB dBF )) = max(0, min(4 1 3, 4 1 3, 4 1 3)) = max(0, 0) = 0 star d mC (G) = max(0, min(Tn TG Gn )) = max(0, min(19 18 1)) = max(0, 0) = 0 d mC (C ) = max(0, min(TD TC CD , TH TC dCH )) = max(0, min(5 7 1, 8 7 1)) = max(0, 3) = 0 d mC (F ) = max(0, min(TH TF F H )) = max(0, min(8 4 4)) = max(0, 0) = 0 d mC (D) = max(0, min(TE TD DE , TJ TD dDJ )) = max(0, min(6 8 1, 9 8 1)) = max(0, 3) = 0 d mC (H ) = max(0, min(TJ TH HJ )) = max(0, min(9 8 1)) = max(0, 0) = 0 d mC (E ) = max(0, min(TP TE EP , TL TE dEL )) = max(0, min(13 10 7, 9 10 3)) = max(0, 4) = 0 d mC (J ) = max(0, min(TK TJ JK )) = max(0, min(10 9 1)) = max(0, 0) = 0 d mC (P ) = max(0, min(Tn TP P n )) = max(0, min(15 17 2)) = max(0, 0) = 0 d mC (L) = max(0, min(TM TL LM )) = max(0, min(13 17 1)) = max(0, 5) = 0 d mC (K ) = max(0, min(TM TK KM , TQ TK dKQ , TN TK dKN )) = max(0, min(13 10 3, 17 10 7, 18 10 3)) = max(0, 0) = 0 d mC (M ) = max(0, min(Tn TM M n )) = max(0, min(14 1 18)) = max(0, 5) = 0 d mC (Q) = max(0, min(Tn TQ P n )) = max(0, min(19 17 2)) = max(0, 0) = 0 d mC (N ) = max(0, min(Tn TN N n )) = max(0, min(14 18 1)) = max(0, 5) = 0

Les marges certaines de toutes les t aches sont nulles. Aucun d elai ne peut etre apport e ` a la mise en route des t aches r ealis ees ` a leur date limite sans perturber les dates attendues des ev enements post erieurs.

3.6

M ethode MPM pr esent ee sous forme de tableaux

Il est possible d eviter de dessiner le graphe en raisonnant sur un tableau. Ce tableau est ` a la fois un dictionnaire des pr ec edents et des suivants du graphe MPM. Il va permettre la recherche de lordonnancement au plus t ot ` a partir du dictionnaire des pr ec edents et de lordonnancement au plus tard ` a partir du dictionnaire des suivants. Lun ou lautre des ordonnancements donnera en plus le chemin critique. Enn, les marges sen d eduiront imm ediatement.

3.6.1

Ordonnancement au plus t ot

Le tableau suivant pr ecise les contraintes de succession des di erentes t aches. Les dates de d ebut et n du programme sont rep er ees respectivement par et . La premi` ere ligne enum` ere les sommets (les t aches). Les lignes suivantes enum` erent les pr ec edents dans le graphe MPM avec mention du potentiel sur larc correspondant. Ces lignes sont partag ees en colonnes, chacune se rapportant ` a un sommet, chaque colonne est elle-m eme divis ee en deux sous-colonnes. Seules les colonnes de droite font mention des pr ec edents et des potentiels associ es.

0: 0

0:A :0 0

1:B A:1 1

4:C B:3 4

5:D C:1 5

6:E D:1 1

4:F B:3 1

4:G B:3 4 4

8:H C:1 F :4

42

CHAPITRE 3. LA METHODE MPM

9:J 5 8 D:1 H:1

10 : K 9 J :1 6

13 : L E:7

17 : M 10 13 K:7 L:1

17 : N 10 K:7 6

13 : P E:7

17 : Q 10 K:7 4 17 17 13 17

19 : G:1 M :1 N :1 P :2 Q:2

Le tableau est compl et e de la fa con suivante : ` a gauche des lettres repr esentant les t aches, sont inscrites les dates au plus t ot de d ebut Ti et ceci sur la premi` ere ligne et sur les lignes suivantes dans les souscolonnes de gauche. Ces dates de d ebut au plus t ot sont d etermin ees par lalgorithme pr ec edent, on progresse selon les niveaux croissants dans le graphe, on ecrit 0 ` a gauche de partout o` u est ecrit. Appelons colonne compl` ete toute colonne dont les deux sous-colonnes sont enti` erement remplies. Ainsi, la colonne se r ef erant ` a A est compl` ete. La somme 0 + 0 des nombres gurant dans les deux sous-colonnes dans la m eme ligne donne la date au plus t ot de A que lon inscrit ` a gauche de tous les A du tableau. La colonne B est ainsi compl` ete. La date de d ebut au plus t ot de B est la somme 0 + 1 = 1 que lon inscrit ` a gauche de tous les B du tableau. Les colonnes C,F,G sont alors compl` etes. Les dates de d ebut au plus t ot de C,F,G sont egales ` a 1+3=4 ` a inscrire ` a gauche de tous les C,F,G du tableau. Les colonnes de D et H sont compl` etes et 4 + 1 = 5 est la date de d ebut au plus t ot de D ` a inscrire a gauche de tous les D du tableau, la date de d ` ebut au plus t ot de H est max(4 + 1, 4 + 4) = 8, on inscrit 8 ` a gauche de tous les H du tableau... date au plus t ot de J : max(5 + 1, 8 + 1) = 9 date au plus t ot de K : 9 + 1 = 10 date au plus t ot de M : max(10 + 3, 9 + 1) = 13 date au plus t ot de N : 10 + 3 = 13 date au plus t ot de P : 6 + 7 = 13 date au plus t ot de Q : 10 + 7 = 17 date au plus t ot de : max(1 + 1, 13 + 1, 13 + 1, 13 + 2, 17 + 2) = 19 Cette m ethode nest pas di erente de celle de lalgorithme des pr ec edents pour d eterminer les niveaux dun graphe sans circuit. La notion de colonne compl` ete correspond ` a celle de ligne vide dans lalgorithme du dictionnaire des pr ec edents. On voit ainsi appara tre les di erents niveaux : {}, {A}, {C,F,G}, {D,H}, {E,J}, {K,L,P}, {M,N,Q}, { } Obtention du chemin critique : On part de la colonne et on souligne son pr ec edent minimum Q dans la sous-colonne de droite (pr ec edent qui r ealise le maximum de la somme des nombres par lignes dans les deux sous-colonnes). Dans la colonne Q, on souligne son pr ec edent minimum K (unique pr ec edent). Dans la colonne J, on souligne H, son pr ec edent minimum (pr ec edent qui r ealise le maximum de la somme des nombres par lignes dans les deux sous-colonnes). Dans la colonne H, on souligne F. Dans la colonne F, on souligne B. Dans la colonne B, on souligne A. Dans la colonne A, on souligne . On obtient ainsi le chemin critique en commen cant par : Q K J H F B A soit , A B F H J K Q en commen cant par .

SOUS FORME DE TABLEAUX 3.6. METHODE MPM PRESENT EE

43

3.6.2

Ordonnancement au plus tard

Le principe est le m eme. Le tableau d enit cette fois-ci le dictionnaire des suivants, toujours avec la mention du potentiel de larc correspondant : A:0 B:1 7 4 18 C:7 D:1 H:1 8 8 D:8 E:1 J :1 18 17 E : 10 L:3 P :7 F :4 G : 18 H:8

A:0 0 B:1 1 C:3 F :3 G:3

18 H : 4 8 : 1 19 J : 1 9 17

J :9 K:1 10

K : 10 H:3 N :3 Q:7 18 18 17

L : 18 M :1 18

M : 18 :1 19

N : 18 :1 19

P : 17 :2 19

Q : 17 :2 19

: 19

Ici, les dates de d ebut au plus tard sont inscrites ` a droite de chaque lettre repr esentant une t ache. Conform ement ` a lalgorithme de lordonnancement au plus tard, on commence par inscrire 19, dur ee minimale du programme obtenue dans le tableau pr ec edent (19 : ), ` a droite de tous les du tableau correspondant ` a la date de d ebut au plus tard de . Les colonnes G,M,N,P,Q sont alors compl` etes, do` u les dates de d ebut au plus tard des t aches correspondantes. Pour G, on a 19 1 = 18 et on reporte 18 ` a droite de tous les G du tableau. Pour M, on a 19 1 = 18, on reporte 18 ` a droite de tous les M du tableau. Pour N, on a 19 1 = 18 et on reporte 18 ` a droite de tous les N du tableau. Pour P, on obtient 19 2 = 17 et on reporte 17 ` a droite de tous les P du tableau. Enn pour Q, on obtient 19 2 = 17 et on reporte 17 ` a droite de tous les Q du tableau. Les colonnes K et L sont alors compl` etes. La date de d ebut au plus tard de K est alors min(18 3, 18 3, 17 7) = 10, on reporte 10 ` a droite de tous les K du tableau. Pour L, la date de d ebut au plus tard est 18 1 = 17. On reporte 17 ` a droite de tous les L du tableau. Les colonnes de E et J sont alors compl` etes. La date de d ebut au plus tard de E est min(18 3, 17 7) = 10. On reporte 10 ` a droite de tous les E du tableau. Pour J, la date de d ebut au plus tard est de 10 1 = 9. On reporte 9 ` a droite de tous les J du tableau. Les colonnes D et H sont lors compl` etes. La date d ebut au plus tard de H est 9 1 = 8. On reporte 8 a droite de tous les H du tableau. Celle de D est min(10 1, 9 1) = 8. On reporte 8 ` ` a droite de tous les D du tableau. Les colonnes C et F sont compl` etes. La date de d ebut au plus tard de C est min(8 1, 8 1) = 7. On reporte 7 ` a droite de tous les C du tableau. Celle de F est 8 4 = 4. On reporte 4 ` a droite de tous les F du tableau. La colonne B est alors compl` ete. La date de d ebut au plus tard de B est min(7 3, 4 3, 18 3) = 1. On reporte 1 ` a droite de tous les B du tableau. La colonne A est alors compl` ete. La date de d ebut au plus tard de A est 1 1 = 0. On reporte 0 ` a droite de tous les A du tableau. Pour chaque sommet, on a soulign e le suivant qui r ealise le minimum de la di erence des nombres par lignes dans les deux sous-colonnes. Obtention du chemin critique : Dans lordonnancement au plus tard, on part de . Le suivant qui r ealise le minimum est A. Dans la colonne A, on souligne B qui r ealise le minimum. Dans la colonne B, le suivant qui r ealise le minimum est F. On

44

CHAPITRE 3. LA METHODE MPM

souligne F. Dans la colonne F, le suivant qui r ealise le minimum est H, quon souligne. Dans la colonne H, le suivant qui r ealise le minimum est J, quon souligne. Dans la colonne J, le suivant qui r ealise le minimum est K, quon souligne. Dans la colonne K, le suivant qui r ealise le minimum est Q, quon souligne. Enn, dans la colonne Q, le suivant qui r ealise le minimum est , quon souligne. Le chemin critique est alors : (,A,B,F,H,J,K,Q, )

3.7

Exercices

Exercice 14 Un entrep ot a proc ed e` a la d enition dun certain nombre de t aches ` a eectuer et ` a l evaluation

de leur dur ee. Le tableau suivant est laboutissement de ce travail.

1. Ordonnancer le graphe par niveaux. Tracer le graphe associ e. 2. Indiquer les dates de d ebut au plus t ot ainsi que les dates au plus tard de chaque t ache. On pr ecisera sur la copie lalgorithme (le programme) permettant la d etermination de date au plus t ot de la t ache k ainsi que celui donnant la date de d ebut au plus tard de la t ache j . 3. En d eduire le(s) chemin(s) critique(s) ainsi que la dur ee minimale du projet. 4. Calculer les marges libres et les marges totales de toutes les t aches. Donner la signication des marges trouv ees pour les t aches d, i et o uniquement.

D esignation des t aches a b c d e f g h i j k l m n o p

T aches imm ediatement ant erieures a b c d c f c h i e,g k,j l k,j b m,n

Dur ee en semaines 2 8 1 3 5 1 2 2 3 8 7 2 1 1 8 1

Exercice 15 Un etudiant en Licence 2 Logistique se voit proposer un stage de deux mois dans une entre

prise assemblant des t el ephones portables. On lui propose de mener ` a bien un projet li e` a la gestion des ux des composants du t el ephone produit. Lentreprise a proc ed e` a la d enition dun certain nombre de t aches ` a eectuer et ` a l evaluation de leur dur ee. Les conditions dant eriorit e liant ces t aches et les dur ees en jours de celles-ci, sont rassembl ees dans le tableau ci-dessous :

3.7. EXERCICES

45

T aches T aches imm ediatement ant erieures Dur ees

E A 12

D B,H A 10 14 14 8

D B,D,F B,I,E D,E F,G,H G,H H,I,E J,G K,J 22 25 18 6 9 13 8 10 9

1. (a) Ordonnancer les t aches de ce projet par niveaux. (b) Tracer le graphe. (c) i. Donner une d enition de la date de d ebut au plus t ot. ii. D eterminer les dates de d ebut au plus t ot de chacune des t aches. iii. En d eduire la dur ee minimale du projet ainsi que le chemin critique. (d) i. Donner une d enition de la date de d ebut au plus tard. ii. D eterminer les dates de d ebut au plus tard de chacune des t aches et retrouver ainsi les t aches critiques. (e) i. Donner les d enitions de la marge totale et de la marge libre. ii. D eterminer les marges totales et les marges libres de chacune des t aches du projet. iii. On consid` ere la t ache B , donner une interpr etation des r esultats obtenus. (f) On d emarre la t ache B ` a la date 24. Quelle en est linuence sur la date de n au plus t ot de la t ache L ? 2. An de diminuer la dur ee minimale du projet, on propose ` a l etudiant di erentes am eliorations, les dur ees initiales des t aches ne sont pas modi ees mais certaines dentre-elles peuvent commencer avant lach` evement des t aches pr ec edentes. * La t ache F peut commencer 4 jours apr` es le d ebut de D. * La t ache G peut commencer 15 jours apr` es le d ebut de F et 10 jours apr` es le d ebut de B . * La t ache H peut commencer 7 jours apr` es le d ebut de B et 2 jours apr` es le d ebut de I . * La t ache K peut commencer 15 jours apr` es le d ebut de G et 12 jours apr` es le d ebut de H . * La t ache N peut commencer 5 jours apr` es le d ebut de J . Apporter ces di erentes modications au graphe.
Exercice 16 e daccueil de marchandises et commande pour Une entreprise souhaite augmenter sa capacit

cela la construction dun entrep ot sp ecialis e suppl ementaire. La soci et e responsable de ce projet d ep eche un sp ecialiste qui fournit la liste des t aches ` a r ealiser et l evaluation de leur dur ee. Les conditions dant eriorit e liant ces t aches et les dur ees en jours de celles-ci, sont donn ees dans le tableau ci-dessous :

T aches T aches imm ediatement ant erieures Dur ees

B A

C B 7

D A 6

A B,E A,D,E C,F F,H,K K E,F,G I,J D,G K,G,M J,M,N 3 8 4 13 4 4 7 5 6 4 4

1. (a) Ordonnancer les t aches de ce projet par niveaux. (b) Tracer le graphe.

46

CHAPITRE 3. LA METHODE MPM

2. (a) D eterminer les dates de d ebut au plus t ot de chacune des t aches du projet en pr ecisant pour une t ache quelconque, la signication de cette date. (b) En d eduire la dur ee minimale du projet ainsi que le chemin critique. (a) D eterminer les dates de d ebut au plus tard de chacune des t aches en pr ecisant pour une t ache quelconque, la signication de cette date. (b) Que peut-on d eduire des t aches pour lesquelles les dates au plus t ot et au plus tard sont egales ? 3. (a) D eterminer les marges totales et les marges libres de chacune des t aches du projet. (b) On d emarre la t ache G quatre jours apr` es sa date au plus t ot, que se passe-t-il alors ?
Exercice 17 ebut Vous travaillez actuellement sur un projet de construction dun atelier de nition. Le d

des travaux est pr evu pour le 1er mai. Le d etail et le dur ee des travaux de chaque corps de m etier vous sont donn es ci-apr` es. An de d eterminer la date dach` evement de latelier et d eviter les retards qui seraient dus ` a limpr evision, vous etes charg es de visualiser le projet. ` partir du tableau des ant ec edentes), A eriorit es ci-apr` es (donnant les t aches pr ec edentes et ant 1. Trouver les t aches imm ediatement ant erieures ` a chaque t ache. 2. Ordonnancer les t aches du projet par niveaux.

3. D eterminer les dates au plus t ot de chacune des t aches du projet en pr ecisant pour lune dentre-elles le calcul r ealis e. Quelle est la date au plus t ot de r ealisation du projet ? 4. Faire appara tre sur le graphe le chemin critique. Que peut-on dire sur les t aches qui composent ce chemin ? 5. D eterminer les dates au plus tard de chacune des t aches du projet en pr ecisant pour lune dentre-elles le calcul r ealis e. 6. D eterminer pour chacune des t aches qui composent le projet sa marge totale et sa marge libre.

Symboles A B C D E F G H I J K L M N

T aches Gros uvre ma connerie Charpente Zinguerie Couverture


ere Electricit e 1` etape ere Sanitaire 1` etape

Dur ee (en semaines) 12 1 1 1 2 1 1 4 1 1 6 1 2 1

T aches ant erieures A B C D D D G H H I,J I L L

Vitreries ext erieures Pl atrerie


eme Sanitaire 2` etape eme Electricit e 2` etape

Carrelage Volets roulants Menuiseries int erieures Serrurerie

3.7. EXERCICES

47

Symboles O P Q R

T aches Peintures
eme Electricit e 3` etape

Dur ee (en semaines) 5 1 5 3

T aches ant erieures N O P O

Rev etements des sols Cr epissage ext erieur

Exercice 18 u vous travaillez a re cu commande dune nouvelle machine-outil tr` es perfec Lentreprise o`

tionn ee. Le d elai de livraison est absolument imp eratif. Vous etes charg e(e) d etablir les pr evisions de dur ee de fabrication. ` partir du tableau des ant A eriorit es ci-dessous (donnant les t aches pr ec edentes et ant ec edentes), 1. Trouver les t aches imm ediatement ant erieures ` a chaque t ache. 2. Ordonnancer les t aches du projet par niveaux. 3. D eterminer les dates au plus t ot de chacune des t aches du projet en pr ecisant pour lune dentre-elles le calcul r ealis e. Quelle est la date au plus t ot de r ealisation du projet ? 4. Faire appara tre sur le graphe le chemin critique. Que peut-on dire sur les t aches qui composent ce chemin ? 5. D eterminer les dates au plus tard de chacune des t aches du projet en pr ecisant pour lune dentre-elles le calcul r ealis e. 6. D eterminer pour chacune des t aches qui composent le projet sa marge totale et sa marge libre.

Symboles A B C D E F G H I J K L

T aches Fabrication de l el ement 1 Fabrication de l el ement 2 Assemblage a des el ements 1 et 2 Fabrication de l el ement 3 Assemblage b (assemblage a avec l el ement 3) Fabrication de l el ement 4 quand les el ements 1 et 2 sont termin es Fabrication de l el ement 5 en m eme temps que la fabrication de l el ement 4 Fabrication de l el ement 6 quand la fabrication de l el ement 5 est termin ee Fabrication de l el ement 7 Assemblage d des el ements 5 et 6 Assemblage c (assemblage b avec l el ement 4) Assemblage e (assemblage c,d avec l el ement 7)

Dur ee (en mois) 3 2 1 2 2 3 24 4 6 1 2 7

T aches ant erieures A A,B C C,D A,B A G H G,H E,F I,J,K

48

CHAPITRE 3. LA METHODE MPM

Exercice 19 Une importante soci et e de magasins alimentaires ` a grande surface diversie son activit e

en cr eant des commerces dans de petites villes. La soci et e cr ee le fonds de commerce qui est ensuite g er e de fa con autonome par un commer cant franchis e.

La soci et e r ealise tout dabord une etude dimplantation : etude de march e sur un certain rayon daction et choix de la localit e o` u sera install e le commerce. ` partir du tableau des ant A eriorit es de la page suivante (donnant les t aches pr ec edentes et ant ec edentes), 1. Trouver les t aches imm ediatement ant erieures ` a chaque t ache. ` laide du tableau 1, retrouver 2. A les niveaux de lordonnancement, les dates au plus t ot de chaque t ache ainsi que la date au plus t ot de r ealisation du projet, le chemin critique (en soulignant les t aches en faisant partie). ` laide du tableau 2, retrouver 3. A les dates au plus tard de chaque t ache, le chemin critique (en soulignant les t aches en faisant partie). Symb. A B C D E F G H I K L M N T aches Recherche dun local Recherche dun franchis e Constitution du dossier bancaire du franchis e Constitution du dossier ` a la Chambre de Commerce pour les inscriptions obligatoires Formation du franchis e Am enagement, pl aterie, peinture du magasin R efection, fa cade, enseigne Equipement chambre froide et rayonnages Implantation du magasin (disposition des articles) Tirage en imprimerie des feuillets publicitaires Distribution des feuillets publicitaires Liste et envoi des invitations pour linauguration Inauguration du magasin Dur ee (jours ouvr.) 50 45 15 10 30 20 25 15 6 6 2 6 1 T aches ant erieures A A,B A,B,C B A A A,F A,B,E,F,H A,G A,G,K A,B,D Toutes les autres

3.7. EXERCICES

49

Exercice 20 On souhaite r ealiser un projet dont les principales t aches sont donn ees ci-dessous et pour

lesquelles on pr ecise les suivants ainsi que la dur ee :

Etape Lancement du projet

No 1 2 3

Nom de la t ache

Suivant(s) 2

Dur ee (jours) 0 5 4 4 4 8 3 7 8 42 14 10 5 7 5 0

Caract eristiques des charges Caract eristiques des ux entrants Caract eristiques des ux sortants Caract eristiques des commandes Fonctionnalit es g en erales Contraintes diverses Dimensionnement statique Dimensionnement dynamique Conception de 3 solutions Implantations Elaboration des dossiers techniques Etablissement des budgets Comparaison des solutions Choix de la meilleure solution

3, 4 8 5, 8 8 8 8 10 10 11 12 13 14 15 16

Recueil des donn ees 4 5 6 7 8 9 Conception 10 11 12 13 14 15 Fin du projet 16

1. Quelle est la condition n ecessaire pour quun graphe quelconque puisse etre ordonnanc e par niveaux ? Prouver que cette condition est v eri ee dans le cadre de lexercice. 2. Ordonnancer les t aches par niveaux. Tracer le graphe associ e. 3. On utilise dans les questions suivantes la m ethode MPM. (a) Indiquer les dates de d ebut au plus t ot ainsi que les dates de d ebut au plus tard de chaque t ache. (b) En d eduire le(s) chemin(s) critique(s) ainsi que la dur ee minimale du projet. (c) Calculer les marges libres et les marges totales de toutes les t aches. Donner la signication des marges trouv ees pour les t aches 3 et 13 uniquement.
Exercice 21 et e Dupont S.A. sp ecialis ee dans l etude et la composition dunit es industrielles a La soci

obtenu la ma trise duvre pour linstallation dune usine chimique. Lanalyse du projet a permis de distinguer 14 phases de travaux di erents : ma connerie, plomberie, electricit e, conditionnement dair, traitement des d echets, installations et essais machines, etc. Ces travaux sont d esign es par les lettres de A ` a N. La soci et e responsable de cette implantation dispose de moyens (moyens propres en equipes sp ecialis ees, machines. . . auxquels sajoutent quelques sous-traitants) permettant lex ecution des travaux en parall` ele, sous r eserve toutefois du respect des relations dordre montr ees dans le tableau suivant. Ces relations sont impos ees par un ensemble de contraintes techniques. Ce tableau montre egalement la dur ee pr evue (en jours) de chacune des phases des travaux.

50

CHAPITRE 3. LA METHODE MPM

Liste des travaux A B C D E F G H I J K L M N

Dur ee pr evue (en jours) 10 25 25 20 35 20 25 15 40 30 20 40 10 15

Travaux ant erieurs A B,E,G E,G A,D E C,F,H B,E,G J,M K,N A

Suivants B,G,N C,K J G C,F,H,K J C,F,K J L M L M

Marge totale 10 10 0 0 10 5 0 20 100 0 25 0 25 65

1. Quelle est la dur ee (en jours ouvr es) minimale de r ealisation de ce projet ? Indiquer la s equence des travaux qui d etermine cette dur ee (travaux critiques). 2. D eterminer la marge totale pour chacune des phases du projet.
Exercice 22 La soci et e SGTB (Soci et e des Grands Travaux de la Bi` evre) a re cu la ma trise duvre

de la construction dune piscine olympique sur un campus universitaire. Le tableau des ant eriorit es des t aches est le suivant : Codes A B C D E F G H I J K L M T aches Excavation Fondation Pose de canalisations Essais en pression Etanch eit e Mise en place de la station d epuration Mise en place du chauage Raccordement electrique Sonorisation sous-marine Dallage Construction des vestiaires Construction du solarium Mise en eau Ant eriorit es A B C,G D A F G H E,I J J K,L Dur ee (en jours) 5 2 4 8 9 6 5 4 5 6 8 2 3 Suivants B,F C D E J G D,H I J K,L M M

3.7. EXERCICES

51

Les travaux d ebutent le 1er avril. Chaque mois comporte 20 jours ouvrables. 1. D eterminer si linauguration peut avoir lieu comme pr evu le 15 juin. 2. Lors de la pose des canalisations, on apprend que, suite ` a un incident technique, cette op eration durera 6 jours de plus que pr evu. Cela aura-t-il une inuence sur le d elai pr evu ?
Exercice 23 eforme hospitali` ere, les conseils dadministration de 3 centres hospi Dans le cadre de la r

taliers voisins ont elabor e en commun un plan de rationnalisation de leurs activit es. Tout en maintenant les 3 sites existants, ils ont d ecid e de fusionner en une seule entit e appele HOPITAL NORD. La r eorganisation des unit es de soins et de leur gestion implique linterconnexion des r eseaux informatiques des 3 sites. Deux des 3 h opitaux, d esigns H1 et H2, sont d ej` a interconnect es ; vous participez ` a l etude et ` a la mise en place de la connexion du troisi` eme h opital, d esign e H3. L evolution du r eseau local du site H3 a et e plani ee. Les t aches n ecessaires ` a la r ealisation de ce projet, leurs dur ees ainsi que les conditions dant eriorit e qui les relient gurent dans le tableau ci-dessous : Code de la t ache A B C D E F G H I J K L M D esignation de la t ache D enition des contraintes du r eseau Mise en place du projet Mise ` a jour des droits dacc` es Achat des composants mat eriels D enition du budget Mise ` a jour des groupes utilisateurs Formation de ladministrateur r eseau Cablage Commande de Novell Netware 5 Choix des fournisseurs et des intervenants Mise ` a jour logicielle des postes clients Mise ` a jour mat erielle des postes Installation Novell Netware 5 Dur ee en jours 2 6 2 8 3 2 5 10 4 5 1 2 2 T aches ant erieures B,E F J K J J D A M D L,I,G,H Suivants J A I,L A C M M M D,G,H F M K

1. Construire le graphe dordonnancement du projet. 2. D eterminer le chemin critique et indiquer la dur ee minimale de r ealisation du projet. 3. Le responsable redoute maintenant des dicult es techniques sur la mise ` a jour mat erielle des postes, dicult es qui porteraient de 2 ` a 8 jours la dur ee de la t ache L. Indiquer lincidence sur la dur ee globale du projet dallongement de la dur ee de la t ache L.

52

CHAPITRE 3. LA METHODE MPM

Chapitre 4

La m ethode PERT
4.1 Introduction

La m ethode PERT (pour Program Evaluation Review Technique) sest d evelopp ee, parall` element ` a la m ethode des potentiels m etra (m ethode MPM), aux Etats-Unis en 1958 pour la planication de la construction des sous-marins Polaris. Elle se distingue de la m ethode des potentiels par le fait que les t aches ne sont plus associ ees aux nuds mais aux arcs du r eseau. Lalgorithme de r esolution est tr` es semblable ` a celui de la m ethode des potentiels. La di erence majeure r eside donc dans la construction du graphe : le graphe de la m ethode PERT est souvent plus dicile ` a construire que celui de la m ethode des potentiels car on peut etre amen e` a introduire des arcs ctifs qui ne correspondent ` a aucune t ache. Dans la m ethode PERT, chaque t ache est donc associ ee ` a un arc du graphe, la longueur de larc correspondant ` a la dur ee de la t ache en question. Les sommets sont utilis es pour traduire les relations de succession temporelle. Ainsi, si la t ache j doit suivre la t ache i, lextr emit e terminale de larc repr esentant la t ache i co ncidera avec lextr emit e initiale de larc repr esentant la t ache j .

Figure 4.1 T aches

4.2

Dicult es de construction du graphe PERT

La construction du graphe PERT pose divers probl` emes qui am` enent ` a ajouter des arcs ctifs qui ne correspondent ` a aucune t ache. Un premier probl` eme se rencontre lorsquon veut tenir compte des contraintes de localisation temporelle. Par exemple, on suppose quune t ache i ne peut commencer avant une date li . Il faut introduire un arc joignant lorigine des travaux ` a lorigine de larc repr esentant la t ache i et ayant pour longueur la date en question li . On est donc amen e, dans ce cas, ` a ajouter un arc ctif qui ne correspond ` a aucune t ache. Un second probl` eme plus d elicat, se rencontre pour les contraintes de succession temporelle. En eet, supposons que la t ache 1 pr ec` ede les t aches 2 et 3 et que la t ache 4 pr ec` ede la t ache 3. On pourrait tracer le graphe ci-dessous mais ce graphe introduit une contrainte suppl ementaire qui implique que la t ache 4 doit pr ec eder la t ache 2. Pour r esoudre ce probl` eme, on ajoute un arc ctif de longueur nulle entre lextr emit e de la t ache 1 et le d ebut de la t ache 3 : Il conviendra donc d etre vigilant dans la construction du graphe PERT. On remarquera egalement que le probl` eme ne peut se produire que dans le cas o` u il y a au moins

54

CHAPITRE 4. LA METHODE PERT

Figure 4.2 Contraintes de succession temporelle

Figure 4.3 Arc ctif deux pr edecesseurs et deux successeurs. Dans tous les autres cas, on peut construire le graphe sans ajouter darc ctif.

4.3

Calcul de lordonnancement par la m ethode PERT

Exemple 4.3.1 Construisons le graphe PERT associ e` a lexemple de construction dun b atiment dont les donn ees sont disponibles ci-dessous : No 1 2 3 4 5 6 7 8 9 10 11 T ache Terrassement Fondations Colonnes porteuses Charpente toiture Couverture Ma connerie Plomberie, electricit e Coulage dalle b eton Chauage Pl atre Finitions Dur ee (jours) 5 4 2 2 3 5 3 3 4 10 5 Pr edecesseurs 1 2 3 4 3 2 7 6, 8 5, 9 10 Successeurs 2 3, 7 4, 6 5 10 9 8 9 10 11

4.3. CALCUL DE LORDONNANCEMENT PAR LA METHODE PERT

55

Lordonnancement par niveaux donne N0 = {1}, N1 = {2}, N2 = {3, 7}, N3 = {4, 6, 8}, N4 = {5, 9}, N5 = {10}, N6 = {11}. Le graphique de la m ethode PERT est illustr e` a la page suivante :

Figure 4.4 Graphe ordonnanc e - Exemple 4.3.1

4.3.1

Calcul de lordonnancement au plus t ot

On d etermine tout dabord les dates de d ebut au plus t ot des nuds, quon notera ti . Cela est r ealis e par marquage des nuds ` a partir de lorigine comme dans la m ethode des potentiels. On additionne au temps du nud pr ec edent le temps de la t ache. En cas de plusieurs pr edecesseurs, on prend le maximum. Ces dates au plus t ot seront indiqu ees au dessus des nuds comme ci-dessous, toujours dans le cadre de lexemple 4.3.1 : Comme dans la m ethode des potentiels, les dates de d ebut au plus t ot de toutes les t aches

Figure 4.5 Graphe ordonnanc e - Exemple 4.3.1 suivant un nud correspondent ` a la date au plus t ot ti du nud situ e juste avant la t ache.

4.3.2

Calcul de lordonnancement au plus tard

Contrairement ` a la m ethode des potentiels, on ne peut calculer simplement lordonnancement au plus tard. En eet, on d etermine les dates au plus tard des nuds not ees ti , par marquage ` a partir de la n, en soustrayant au temps du nud suivant le temps de la t ache. En cas de plusieurs successeurs, on prend le minimum. Il est ` a remarquer que ces dates au plus tard des nuds ti ne correspondent pas dans tous les cas aux dates au plus tard des t aches qui suivent le nud.

56

CHAPITRE 4. LA METHODE PERT

Reprenons lexemple 4.3.1 et plus particuli` erement la t ache 4 de dur ee 2. La date de d ebut au plus tard de son successeur direct cest-` a-dire la t ache 5 est de 17. La date de d ebut au plus tard de la t ache 4 est donc de 17 2 = 15 alors que la date de d ebut au plus tard du nud pr ec edent la t ache dans le graphe est de 11. Ce 11 provient en fait de la t ache 6 qui est critique (16 5 = 11). Il convient donc de proc eder en deux temps. Dabord, on calcule le temps de d ebut au plus tard des nuds comme dans la m ethode des potentiels. Ensuite, on calcule la marge de la t ache (i, j ) entre les nuds i et j d enie par mij = tj (ti + dij ) Autrement dit, la marge est la di erence entre le temps de debut au plus tard du nud j et ` a larriv ee au plus t ot ` a ce nud pour la t ache (i, j ) qui peut partir au plus t ot en ti du nud i. On obtient alors les dates au plus tard des t aches en additionnant ` a la date au plus t ot du nud de d epart, la marge de la t ache. Dans le cadre de lexemple 4.3.1, les r esultats sont indiqu es ci-dessous : T ache Date au plus t ot Marge Date au plus tard 1 0 0 0 2 5 0 5 3 9 0 9 4 11 4 15 5 13 4 17 6 11 0 11 7 9 1 10 8 12 1 13 9 16 0 16 10 20 0 20 11 30 0 30

On peut maintenant compl eter le graphe :

Figure 4.6 Graphe ordonnanc e - Exemple 4.3.1

4.3.3

Calcul du chemin critique

Un chemin critique peut se construire ` a partir du nud de n en ne retenant que les arcs critiques. Lapplication ` a lexemple donne le chemin critique suivant : P = (1, 2, 3, 6, 9, 10, 11) On remarquera que le chemin critique peut ne pas etre unique. En eet, on peut avoir des chemins critiques parall` eles. Si par exemple, la dur ee de la t ache 4 est port ee de 2 ` a 6, un second chemin critique appar t dans notre exemple : P1 = (1, 2, 3, 6, 9, 10, 11) P2 = (1, 2, 3, 4, 5, 10, 11)

4.4. EXERCICES

57

On remarquera egalement que pour r eduire la dur ee minimum de r ealisation du projet, il faut r eduire la dur ee dune t ache dans chaque chemin critique. En eet, il ne sert ` a rien de r eduire la dur ee dun chemin critique si un autre chemin reste critique avec une valeur sup erieure. On doit alors soit r eduire la dur ee dune t ache dans chaque chemin, soit r eduire la dur ee dune t ache dans chaque chemin, soit r eduire la dur ee dune t ache commune aux chemins dans le cas o` u une telle t ache existe.

4.4

Exercices

Exercice 24 ealisation dun projet n ecessite la r ealisation des 15 t aches suivantes : La r

D esignation des t aches el ementaires A B C D E F G H J K L M N P Q

Interd ependance des t aches el ementaires D ebute avant toute autre t ache succ` ede ` a la t ache A suit la t ache A suit la t ache C suit la t ache B suit la t ache B succ` ede ` aB suit les t aches F et C suit les t aches H et D suit la t ache J d ebute apr` es E suit la t ache L suit la t ache K succ` ede ` aE succ` ede ` aK

Dur ee en jours 12 36 12 12 84 48 12 12 12 84 12 12 12 24 24

1. Ordonnancer les t aches par niveaux. ` ethode MPM, 2. A laide de la m (a) tracer le graphe associ e au projet en interdisant les intersections darcs, (b) indiquer sur ce graphe les dates au plus t ot Ti et les dates au plus tard Ti de d ebut des t aches, (c) donner la dur ee minimale du projet, (d) pr eciser le chemin critique. ` laide de la m 3. A ethode PERT, (a) tracer le graphe associ e au projet, (b) retrouver les dates du 2.(a) en pr ecisant vos calculs, (c) retrouver la dur ee minimale du projet, (d) retrouver le chemin critique.

58

CHAPITRE 4. LA METHODE PERT

Exercice 25 Un entrep ot a proc ed e` a la d enition dun certain nombre de t aches ` a eectuer et ` a l evaluation

de leur dur ee. Le tableau ci-dessous est laboutissement de ce travail.

1. Quelle est la condition n ecessaire pour quun graphe quelconque puisse etre ordonnanc e par niveaux ? Prouver que cette condition est v eri ee dans le cadre de lexercice. 2. Ordonnancer les t aches par niveaux. Tracer le graphe associ e. 3. On utilise dans les questions suivantes la m ethode MPM. (a) Indiquer les dates de d ebut au plus t ot ainsi que les dates au plus tard de chaque t ache. (b) En d eduire le(s) chemin(s) critique(s) ainsi que la dur ee minimale du projet. (c) Calculer les marges libres et les marges totales de toutes les t aches. Donner la signication des marges trouv ees pour les t aches E et M uniquement. 4. Retrouver les r esultats pr ec edents ` a laide de la m ethode PERT.

D esignation des t aches A B C D E F G H I J K L M N O P Q

T aches imm ediatement ant erieures P B,N L,Q D,J H,P O P C D F,N D,J H,O A,G I

Dur ee en semaines 3 9 3 1 6 7 12 9 6 4 5 3 1 1 6 8 15

4.4. EXERCICES

59

Exercice 26 Tracer le r eseau PERT relatif au projet ci-dessous et d eterminer sa dur ee minimale :

D esignation des t aches A B C D E F G H I J K L M N O P Q

T aches imm ediatement ant erieures P B,N L,Q D,J H,P O P C D F,N D,J H,O A,G I

Dur ee en semaines 3 9 3 1 6 7 12 9 6 4 5 3 1 1 6 8 15

60

CHAPITRE 4. LA METHODE PERT

Chapitre 5

Ordonnancement en ateliers sp ecialis es Diagrammes de Gantt


5.1 Introduction

On parle dateliers sp ecialis es lorsque lensemble des equipements n ecessaires pour assurer une fonction d etermin ee sont rassembl es dans un m eme atelier. Le probl` eme de gestion quotidienne est de d eterminer lordre dex ecution dun certain nombre de t aches, la r ealisation dune t ache n ecessitant le passage sur une ou plusieurs machines. Parmi les mod` eles dordonnancement en ateliers sp ecialis es, on distingue : Les mod` eles statiques pour lesquels on recherche lordonnancement optimal dun ensemble donn e de t aches sur ue p eriode donn ee. Autrement dit, au cours de la p eriode consid er ee, aucune nouvelle t ache non pr evue ne peut etre prise en compte dans lordonnancement. Les mod` eles dynamiques dordonnancement qui se caract erisent par des arriv ee successives de t aches, le plus souvent dans un univers al eatoire. Dans ce dernier chapitre, on se limitera aux mod` eles statiques et on verra le probl` eme dordonnancement sur une ou deux machines.

5.2

Ordonnancement sur une machine

Exemple 5.2.1 On illustre la m ethode par le biais de lexemple suivant : on souhaite eectuer 5 t aches sur une machine A. Le tableau ci-dessous pr esente les di erentes t aches ainsi que leur temps op eratoire en centi` emes dheures. T ache i Temps op eratoire Ti 1 50 2 150 3 80 4 200 5 30

Table 5.1 Donn ees - Exemple 5.2.1

Il sagit de d eterminer lordre dans lequel on va eectuer ces di erentes t aches. Il est clair que, quel que soit lordre choisi, le temps op eratoire total (ou somme des temps op eratoires) est le m eme. Il faut donc d enir un autre crit` ere entre tous les ordonnancements possibles. Un exemple dordonnancement est donn e ci-dessous :

5.2.1

Le diagramme de Gantt

Le diagramme de Gantt repr esente une technique de visualisation dun ordonnancement.

- DIAGRAMMES DE GANTT 62CHAPITRE 5. ORDONNANCEMENT EN ATELIERS SPECIALIS ES

Ordre (j ) T ache programm ee (i) Temps dex ecution Tj

1 3 80

2 4 200

3 1 50

4 5 30

5 2 150

Table 5.2 Ordonnancement 1 - Exemple 5.2.1 Reprenons lordonnancement choisi dans lexemple 4.3.1 et construisons le diagramme de Gantt associ e:

Figure 5.1 Diagramme de Gantt - Exemple 5.2.1 Le diagramme de Gantt permet de visualiser ` a la fois : lutilisation des moyens productifs, lavancement de lex ecution des t aches. Une ligne horizontale illustre l evolution du temps. Pour chaque moyen productif (en loccurence la machine A), on trace une ligne horizontale au dessus (ou en dessous) de la ligne du temps. Chaque t ache ` a eectuer sur la machine A est repr esent ee par un segment horizontal dont la longueur est proportionnelle ` a la dur ee dex ecution de la t ache. Le num ero de la t ache sera indiqu e au dessus du segment.

5.2.2

La r` egle T.O.M.

On a vu pr ec edemmment que tous les ordonnancements possibles conduisent au m eme temps op eratoire total. Dans lexemple 4.3.1, lex ecution des 5 t aches n ecessite 510 centi` emes dheures soit 5 heures et 6 minutes. Alors quel ordonnancement doit-on choisir ? On note Aj le temps dach` evement de la t ache programm ee en position j . Le temps dach` evement dune t ache est la somme des temps dex ecution de la t ache avec ceux des t aches pr ec edentes : Aj =
j i=1

Ti = T1 + T2 + . . . + Tj

o` u Ti est le temps op eratoire de la t ache i. Le calcul des di erents temps dach` evement des t aches est donn e dans le tableau ci-dessous : Ordre (j ) Tj Aj Le temps dach` evement moyen vaut alors : A= 1 80 + 280 + 330 + 360 + 510 Aj = = 312. 5 5
n j =1

1 80 80

2 200 280

3 50 330

4 30 360

5 150 510

5.3. ORDONNANCEMENT AVEC DEUX CENTRES DE PRODUCTION

63

Ce temps dach` evement moyen peut se r e ecrire en d etails comme suit : A = (80 +80 + 200 +80 + 200 + 50 +80 + 200 + 50 + 30 +80 + 200 + 50 + 30 + 150)/5 = (5 80 + 4 200 + 3 50 + 1 30)/5 Il sagit donc dune somme pond er ee des temps op eratoires, chaque temps op eratoire etant pond er e par un facteur dautant plus grand quil se trouve ex ecut e plus t ot dans lordonnancement. La r` egle dordonnancement qui minimise le temps dach` evement moyen est celle du Temps Op eratoire Minimum (r` egle T.O.M.) qui consiste ` a ex ecuter les t aches par ordre croissant de dur ee : T1 T2 . . . Tj . . . Tn Lapplication de cette r` egle donne lordonnancement illustr e dans le tableau ci-dessous On peut montrer Ordre (j ) T aches (i) Tj Aj 1 5 30 30 2 1 50 80 3 3 80 160 4 2 150 310 5 4 200 510

Table 5.3 Ordonnancement 2 - Exemple 5.2.1 que la r` egle T.O.M. revient ` a minimiser le retard moyen, le retard dune t ache etant la di erence entre le moment o` u la t ache est termin ee et celui o` u elle aurait et e termin ee si lon avait commenc e en premier lieu.

5.3

Ordonnancement avec deux centres de production

On consid` ere le cas o` u toutes les t aches sont ` a ex ecuter sur le premier centre puis sur le second. Soient tiA et tiB les temps dex ecution de la t ache i sur les machines (ou centres de production) A et B respectivement. On va utiliser comme crit` ere dordonnancement la minimisation du temps total dex ecution des t aches sur les deux machines. Exemple 5.3.1 Supposons que cinq t aches soient ` a ex ecuter sur les machines A puis B. Les temps op eratoires (en centi` emes dheures) sont repris ci-dessous : T aches (i) ti,A ti,B 1 50 60 2 150 50 3 80 150 4 200 70 5 30 200

Table 5.4 Donn ees - Exemple 5.3.1 Durant lex ecution de la premi` ere t ache sur A, la machine B dort. On a donc int er et ` a mettre en t ete la t ache de temps tiA le plus faible. De fa con similaire, lors de lex ecution de la derni` ere t ache sur la machine B, la machine A dort. On a donc int er et ` a mettre en n la t ache de dur ee dex ecution tiB minimum. En se basant sur ces deux observations, lalgorithme Johnson (1954) calcule lordonnancement minimisant le temps total dex ecution des t aches.

- DIAGRAMMES DE GANTT 64CHAPITRE 5. ORDONNANCEMENT EN ATELIERS SPECIALIS ES

Algorithme 5.3.1 Algorithme de Johnson 1. Rechercher la t ache i de temps dex ecution tim minimum. 2. Si m = A, placer cette t ache ` a la premi` ere place disponible. Si m = B , placer cette t ache ` a la derni` ere place disponible. 3. Supprimer la t ache i des t aches encore ` a programmer, retour en 1. Appliquons cet algorithme ` a lexemple 5.3.1 : la t ache 5 (t5A = 30) est mise en premi` ere position 1 2 3 5 Puis la t ache 1 (t1A = 50) est mise en deuxi` eme position 1 2 3 4 5 5 1 4 5

Puis la t ache 2 (t2B = 50) est mise en derni` ere position 1 2 3 4 5 5 1 2

Puis la t ache 4 (t2B = 70) est mise en avant-derni` ere position 1 2 3 4 5 5 1 4 2 5 2

Puis la t ache 3 est mise ` a la derni` ere place disponible. 1 2 3 4 5 1 3 4

Lordonnancement obtenu est optimal et est illustr e` a la gure 5.2. ci-dessous. Le passage dune t ache dune machine ` a lautre est visualis e` a laide dune ` eche verticale. On notera quune machine au repos est indiqu ee

Figure 5.2 Diagramme de Gantt - Exemple 5.3.1 par un Z. Si lon veille ` a aligner verticalement lorigine du temps pour chaque machine, une ligne verticale indique donc ` a tout moment ` a quelle t ache est occup ee chacune des machines. Un tableau mural peut etre ainsi dun grand recours pour les agents de ma trise responsables de laectation des moyens humains et mat eriels.

5.4

Ordonnancement sur trois machines

Lalgorithme de Johnson ne sapplique quen pr esence de deux machines. Cependant, le cas de trois machines peut se ramener au cas de deux machines si la machine B est compl` etement domin ee par la machine A ou par la machine C, cest-` a-dire si lon se trouve dans le cas o` u

5.4. ORDONNANCEMENT SUR TROIS MACHINES

65

minimum tiA maximum tiB soit dans le cas o` u minimum tiC maximum tiB Ces conditions evitent de fausser lalgorithme de Johnson. Dans le cadre de lexemple ci-dessous, Exemple 5.4.1 T aches Assemblage Inspection Exp edition 1 20 4 7 2 12 1 11 3 19 9 4 4 16 12 18 5 14 5 18 6 12 7 3 7 17 8 6

Table 5.5 Donn ees - Exemple 5.4.1 on constate que les conditions dapplication enonc ees pr ec edemment sont v eri ees. Il est ` a remarquer que les deux conditions ne doivent pas etre v eri ees simultan ement. Dans lexemple 5.4.1, la seconde condition nest pas v eri ee. Lorsquon se trouve dans un des deux cas, on reformule le probl` eme en un probl` eme ` a deux machines. Dans le cadre de lexemple 5.4.1, la premi` ere regroupe les machines A et B (puisque lassemblage domine linspection) avec tiAB = tiA + tiB et la seconde regroupe les machines B et C (lexp edition domine lassemblage) avec tiBC = tiB + tiC ce qui donne les nouveaux temps op eratoires T aches Assemblage + Inspection Inspection + Exp edition 1 24 11 2 13 12 3 28 13 4 28 30 5 19 23 6 19 10 7 25 14

Table 5.6 Reformulation du probl` eme - Exemple 5.4.1 On applique alors lalgorithme de Johnson ` a ce probl` eme ` a deux machines pour d eterminer lordonnancement optimal. Place T ache 1 5 2 4 3 7 4 3 5 2 6 1 7 6

Table 5.7 Ordonnancement - Exemple 5.4.1 On peut alors tracer le diagramme de Gantt correspondant au probl` eme original, cest-` a-dire celui avec trois machines.

Figure 5.3 Diagramme de Gantt - Exemple 5.4.1

- DIAGRAMMES DE GANTT 66CHAPITRE 5. ORDONNANCEMENT EN ATELIERS SPECIALIS ES

5.5

Exercices

Exercice 27 erateurs sont charg es de remplir un camion avec des cartons identiques qui sont Deux op

dispos es sur 8 palettes situ ees en zone de stockage. Chaque palette contient 40 cartons.

Le processus de chargement est le suivant : au d epart de lactivit e, lop erateur 1 est sur son chariot el evateur en zone de stockage. Lop erateur 2 est en attente pr` es du camion. Lop erateur 1 d estocke une palette et lam` ene ` a lop erateur 2 puis il retourne chercher une autre palette pour lui-m eme. Quand les cartons des deux palettes sont charg es dans le camion, il va chercher deux autres palettes. Pendant ce temps, lop erateur 2 ` a laide dune transpalette, ram` ene les deux palettes vides au parc palettes et ainsi de suite jusqu` a la n des op erations. On appellera cette succession de manuvres un cycle. On pr ecise que les deux derni` eres palettes sont rang ees par lop erateur 1. On se donne les temps op eratoires ci-dessous (exprim es en centi` emes de minutes) :

T ache prendre une palette en zone de stockage amener une palette pr` es du camion et la poser aller chercher une palette en zone de stockage oter le lm dune palette prendre un carton sur la palette et le placer dans le camion sortir du camion ramener les palettes vides au parc palettes et revenir

Temps op eratoire 14 46 30 10 10 4 34

1. Tracer un diagramme de Gantt correspondant ` a un cycle (on consid erera en abscisse le temps exprim e en centi` emes de minutes et en ordonn ee les op erateurs 1 et 2). 2. Pr eciser le temps n ecessaire pour r ealiser un cycle. 3. Quel est le temps n ecessaire pour r ealiser la totalit e du chargement (et ranger les palettes vides) ? 4. Est-il n ecessaire de d eterminer un ordonnancement des palettes (num erot ees de 1 ` a 8) ? Pourquoi ?
Exercice 28 Un responsable dentrep ot re coit une commande de chargement pour 10 palettes bien sp eciques.

Chaque palette doit etre assembl ee (atelier A), emball ee (atelier B ) puis inspect ee et charg ee (atelier C ) dans le camion. Les temps en heures des di erentes op erations sont donn es ` a la page suivante. Comme seulement 3 personnes sont disponibles pour r ealiser ce travail, les palettes sont r ealis ees lune apr` es lautre et sont trait ees sur A, puis sur B , puis sur C . 1. Pour chaque atelier, appliquer la r` egle T.O.M an de minimiser le temps dach` evement moyen Ti tout en pr ecisant cette valeur. 2. On consid` ere ensuite les 3 ateliers simultan ement. (a) En justiant des conditions n ecessaires ` a lutilisation de lalgorithme de Johnson, donner lordre de traitement des palettes permettant de minimiser le temps n ecessaire ` a la r ealisation de la commande.

(b) Tracer un diagramme de Gantt correspondant au probl` eme. Pr eciser le temps minimal n ecessaire a la r ` ealisation de la commande.

5.5. EXERCICES

67

Palette i Temps assemblage tiA Temps emballage tiB Temps inspection + chargement tiC

10

1h10 0h55 0h45 0h20 1h15 1h25 0h55 0h40 1h05 1h00 0h25 0h30 0h35 0h25 0h40 0h35 0h40 0h25 0h20 0h30

0h45 0h55 1h10 1h05 0h50 1h15 0h45 0h50 1h05 1h20

Exercice 29 10 palettes de natures di erentes sont ` a traiter sur trois ateliers di erents. On se donne

le tableau ci-dessous fournissant les temps op eratoires (exprim es en minutes) de chacune des palettes sur chaque atelier :
XXX XXX Palette XX XXX Atelier

1 40 10 15

2 30 15 27

3 60 20 35

4 75 10 40

5 20 20 40

6 50 15 30

7 50 15 10

8 55 15 20

9 35 10 30

10 25 20 30

A B C

` laide de lalgorithme de Johnson, d 1. (a) A eterminer tous les ordonnancements possibles permettant de minimiser le temps de traitement total des palettes. ` laide dun diagramme de Gantt et de lordonnancement que vous aurez choisi, pr (b) A eciser le temps total n ecessaire au traitement des dix palettes. ` laide de lalgorithme de Johnson G 2. (a) A ene ralis e, d eterminer tous les ordonnancements possibles permettant de minimiser le temps de traitement total des palettes. ` laide dun diagramme de Gantt et de lordonnancement que vous aurez choisi, pr eciser le temps (b) A total n ecessaire au traitement des dix palettes.
Exercice 30 erer lassemblage, linspection et lexp edition de 7 pa Un entreposeur vous demande de g

lettes en un temps minimum. Vos etudes ant erieures vous permettent destimer les temps (en minutes) n ecessaires ` a la r ealisation des trois t aches pour chaque palette ` a savoir :
XXX XXX Palette P1 XXX Atelier XX

P2 4 1 12

P3 11 9 19

P4 18 12 16

P5 18 5 14

P6 3 7 12

P7 6 8 17

Assemblage Inspection Exp edition

7 4 20

Pour r ealiser ces 7 palettes, vous employez trois personnes, chacune aect ee ` a un atelier bien pr ecis. 1. Pr eciser au moins une raison permettant dexpliquer limportance des temps op eratoires lors de lexp edition des palettes. 2. (a) Lalgorithme de Johnson peut-il sappliquer ici et si oui, quel est lordonnancement optimal ? ` laide dun diagramme de Gantt et de lordonnancement pr ec edent, d eterminer le temps minimal (b) A de traitement des 7 palettes.

- DIAGRAMMES DE GANTT 68CHAPITRE 5. ORDONNANCEMENT EN ATELIERS SPECIALIS ES

3. (a) Appliquer lalgorithme de Johnson G en eralis e et pr eciser lordonnancement optimal permettant de minimiser le temps total de traitement des 7 palettes. (b) Remplir le tableau ci-dessous Palette Pi Assemblage d ... Td Tf c d Inspection Td Tf c Exp edition d Td Tf c

o` u d correspond ` a la dur ee de la t ache, Td est la date au plus t ot de r ealisation de la t ache, Tf est la date au plus tard de r ealisation de la t ache, c est la contrainte ou temps dattente. ` laide dun diagramme de Gantt et de lordonnancement pr (c) A ec edent, d eterminer le temps minimal de traitement des 7 palettes.
Exercice 31 et e de magasins alimentaires ` a grande surface diversie son activit e Une importante soci

en cr eant des commerces dans les petites villes. La soci et e cr ee le fonds de commerce qui est ensuite g er e de fa con autonome par un commer cant franchis e. La soci et e r ealise une etude dimplantation puis elle installe le commerce. Les t aches ` a ex ecuter sont r esum ees dans le tableau suivant : Liste des t aches A - Recherche dun local B - Recherche dun franchis e C - Constitution du dossier du franchis e D - Constitution du dossier pour la chambre de commerce E - Formation du franchis e F - Am enagement, pl atrerie, peinture du magasin G - R efection fa cade, enseigne H - Equipement chambre froide I - Equipement rayonnage J - Implantation du magasin K - Tirage des feuillets publicitaires L - Distribution des feuillets publicitaires M - Envoi des invitations pour linauguration N - Inauguration du magasin 1. Tracez le diagramme du projet. 2. En quel temps minimum ce projet pourra-t-il etre r ealis e? 3. Fa tes appara tre le chemin critique. 4. Tracez le diagramme de GANTT de ce projet. 5. Donnez, sous forme de tableau, les marges totales. Dur ee en jours 50 45 15 10 30 20 8 8 5 6 6 2 6 1 T aches qui doivent etre ex ecut ees avant A,B A,B B A A A,F A,F A,B,E,F,G,H,I A,B,D A,B,D,K A,B,D toutes

5.5. EXERCICES

69

Exercice 32 La d ecision vient d etre prise dacqu erir une imprimante thermique ` a codes barres. Les t aches

` a r ealiser, leurs ant eriorit es ainsi que leur dur ee (en semaines) sont r epertori ees dans le tableau suivant : Code de la t ache A B C D E F G H I J T ache Collecte de la documentation sur les imprimantes Choix du mat eriel Etude de la documentation, d emonstration par les fabricants Installation de limprimante, tests de fonctionnement Passation du march e, commande D elai de livraison du mat eriel Commande des etiquettes de livraison Etablissement dun projet d etiquettes Mise au point des etiquettes Formation des op erateurs Ant eriorit es C A F B E I B H D,G Dur ee 2 semaines 1 semaine 2 semaines 1 semaine 1 semaine 4 semaines 3 semaines 2 semaines 2 semaines 2 semaines

Votre mission consiste ` a d eterminer dans quel d elai le mat eriel sera op erationnel. 1. Construire le r eseau PERT ` a partir des ant eriorit es puis d eterminer la dur ee minimale du projet. ` laide du planning, repr 2. A esenter lordonnancement au plus t ot du projet. ` laide du planning, repr 3. A esenter lordonnancement au plus tard du projet. 4. D eterminer les marges totale et libre de chacune des t aches.

ORDONNANCEMENT AU PLUS TOT


Semaine no T ache A B C D E F G H I J Dur ee 2 1 2 1 1 4 3 2 2 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

- DIAGRAMMES DE GANTT 70CHAPITRE 5. ORDONNANCEMENT EN ATELIERS SPECIALIS ES

ORDONNANCEMENT AU PLUS TARD


Semaine no T ache A B C D E F G H I J Dur ee 2 1 2 1 1 4 3 2 2 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Chapitre 6

R eduction de la dur ee dun projet


6.1 Pr esentation de la m ethode

On va illustrer le probl` eme de la r eduction de la dur ee du projet sur lexemple suivant. Exemple 6.1.1 On consid` ere la construction dun b atiment dont les di erentes t aches sont list ees dans le tableau de la page suivante :
No 1 2 3 4 5 6 7 8 9 10 11 12 13 T ache Terrassement Fondations Colonnes porteuses Charpente toiture Couverture Ma connerie Plomberie, electrict e Coulage dalle b eton Chauage Pl atre Finitions Achat de la cuisine Installation de la cuisine Dur ee (jours) 5 4 2 2 3 5 3 3 4 10 5 15 3 Pr edecesseurs 1 2 3 4, 6 3 2 7 6, 8 5, 9 10, 13 12

On a la possibilit e de r eduire la dur ee de certaines t aches moyennant un surco ut par jour de r eduction de la dur ee comme indiqu e dans le tableau ci-dessous :
No 5 6 8 9 12 T ache Couverture Ma connerie Coulage dalle b eton Chauage Achat de la cuisine R eduction maximum (jours) 1 3 1 1 5 Surco ut par jour 120 150 180 200 100

On veut r eduire au maximum la dur ee du projet en minimisant le co ut de cette r eduction. On utilise la m ethode des potentiels pour mettre en place le graphe ordonnanc e en niveaux : ` a laide du dictionnaire des pr ec edents, on obtient les niveaux ci-dessous :

72

DUN PROJET CHAPITRE 6. REDUCTION DE LA DUREE

Figure 6.1 Graphe ordonnanc e - Exemple 6.1.1 N0 = {1, 12}, N1 = {2, 13}, N2 = {3, 7}, N3 = {4, 6, 8}, N4 = {5, 9}, N5 = {10}, N6 = {11} Au d epart, pour passer de 35 ` a 34 jours, seules sont candidates les t aches critiques 6 et 9. On r eduit la t ache 6 dun jour car cest la d ecision la moins co uteuse. La t ache 9 d ebute en 15 et la t ache 8 devient critique. Par r epercussion, la t ache 7 devient aussi critique. Le nouveau graphe est donn e par :

Figure 6.2 R eduction de la dur ee du projet - Exemple 6.1.1 On peut maintenant observer deux chemins critiques P1 = (1, 2, 3, 6, 9, 10, 11) et P2 = (1, 2, 7, 8, 9, 10, 11). Pour diminuer la r ealisation du projet dun jour suppl ementaire, il faut r eduire simultan ement une t ache dans chaque chemin. Le choix est ` a eectuer entre 9 (de co ut 200) et 8 et 6 (de co ut 150 + 180 = 330). On retient la t ache 9 que lon diminue dun jour. Le nouveau graphe est donn e par

6.1. PRESENTATION DE LA METHODE

73

Figure 6.3 R eduction de la dur ee du projet - Exemple 6.1.1 On voit appara tre trois chemins critiques P1 = (1, 2, 3, 6, 9, 10, 11) P2 = (1, 2, 7, 8, 9, 10, 11) P3 = (1, 2, 3, 6, 5, 10, 11) Pour diminuer le projet dun jour suppl ementaire , on s electionne la t ache 6 qui est commune ` a deux chemins ainsi que la t ache 8 pour un co ut total de 180 + 150 = 330. On remarque que la t ache 9 nest plus disponible car on a d eja utilis e le seul jour de r eduction possible. On obtient le graphe ci-dessous : Il nest plus alors

Figure 6.4 R eduction de la dur ee du projet - Exemple 6.1.1 possible de diminuer la dur ee du projet car si on diminuait la t ache 6 dun jour, il resterait un des trois chemins critiques (P2 ) et la dur ee resterait ` a 32 jours.

74

DUN PROJET CHAPITRE 6. REDUCTION DE LA DUREE

6.2

Exercices

Exercice 33 Vous travaillez actuellement sur un projet de construction dun atelier jouxtant votre en-

trep ot. Le d ebut des travaux est pr evu pour le jeudi 1er septembre. Le d etail et la dur ee des travaux de chaque corps de m etiers vous sont donn es ci-dessous. An de d eterminer la date dach` evement de latelier et d eviter les retards qui seraient dus ` a limpr evision, vous etes charg es de visualiser le projet.

T ache A B C D E F G H I J K L M N O P Q R

Description de la t ache Gros uvre ma connerie Charpente Zinguerie Couverture ere Electricit e 1` etape ` e re Sanitaire 1 etape Vitreries ext erieures Pl atrerie eme Sanitaire 2` etape eme Electricit e 2` etape Carrelage Volets roulants Menuiseries int erieures Serrurerie Peintures eme Electricit e 3` etape Rev etements des sols Cr epissage ext erieur

Dur ee de la t ache 12 jours 1 jour 1 jour 1 jour 2 jours 1 jour 1 jour 4 jours 1 jour 1 jour 6 jours 1 jour 2 jours 1 jour 5 jours 1 jour 5 jours 3 jours

T aches ant erieures A B C D D D G H H I et J J L L N O P O

1. (a) Construire le r eseau PERT et mettre en evidence le(s) chemin(s) critique(s). (b) D eterminer les marges totales et libres de chacune des t aches composant le projet. (c) D eterminer la date pr evisible dach` evement de latelier. 2. Retrouver les r esultats des questions pr ec edentes ` a laide de la m ethode MPM. 3. Vous souhaitez r eduire la dur ee totale dex ecution des travaux. Pour cela, il est possible de r eduire la dur ee des t aches K, Q et R de deux, trois ou quatre jours au prix dun co ut suppl ementaire de 1000 ou 2000 euros par jour de r eduction selon la t ache comme indiqu e dans le tableau ci-dessous : T ache K Q R R eduction maximum (jours) 2 4 3 Surco ut par jour (euros) 1000 1000 2000

(a) Comment peut-on en pratique diminuer la dur ee dun projet ? (b) De combien peut-on r eduire la dur ee totale des travaux et ` a quel co ut ?
Exercice 34 ecide de commercialiser un nouveau produit. La planication de ce lan Une entreprise d

cement fait appara tre les t aches du tableau ci-apr` es avec leur dur ee (en semaines) et leurs pr edecesseurs. 1. Tracer le graphe correspondant ` a la m ethode PERT. 2. Calculer les dates de d ebut au plus t ot, au plus tard, les marges et le chemin critique.

6.2. EXERCICES

75

3. Lentreprise voudrait r eduire la dur ee totale dex ecution des travaux. Pour cela, il est possible de r eduire la dur ee des t aches 5 et 11 dune ou deux semaines, au prix dun co ut suppl ementaire de 100000 euros par semaine de r eduction pour la t ache 5 et de 200000 euros par semaine pour la t ache 11. De combien peut-on r eduire la dur ee totale des travaux et ` a quel co ut ? No 1 2 3 4 5 6 7 8 9 10 11 12 13 T ache S election des equipements Choix de la m ethode de production Proc edures de contr ole de qualit e Choix des mati` eres premi` eres R eception des equipements Commande des mati` eres premi` eres R eception des mati` eres premi` eres Essais de production Premi` ere fourniture aux magasins Conception du conditionnement Production du conditionnement R eunion des vendeurs Formation des vendeurs Dur ee 1 2 2 2 7 1 3 2 6 4 5 1 1 Pr edecesseurs 1 2 1 1 4 6 3, 5, 7 8, 11 1 10 11 12

76

DUN PROJET CHAPITRE 6. REDUCTION DE LA DUREE

Chapitre 7

Optimisation des ux
7.1
7.1.1

G en eralit es
R eseau de circulation

Un probl` eme de circulation a pour objet doptimiser l ex ecution dun certain mouvement de mati` ere sur un r eseau donn e. Il pourra sagir dun uide (eau, gaz, p etr ole,. . . ) parcourant des canalisations ou des v ehicules se d epla cant sur des voies et transportant des marchandises. Le mouvement de mati` ere se d ecompose en un nombre ni de mouvements partiels, chacun allant dun point de d epart i vers un point darriv ee j de fa con que : chaque mouvement se comporte entre i et j de fa con ind ependante des autres mouvements partiels, en i ou en j , di erents mouvements partiels peuvent se s eparer ou se r eunir. La redistribution de ces mouvements partiels nest possible quen des points privil egi es du r eseau, appel es nuds du r eseau. Ce r eseau est donc constitu e de lensemble des nuds et de lensemble des liaisons pour lesquelles il existe des mouvements de mati` ere. On supposera que la mati` ere qui circule dans le r eseau est constitu ee par un seul produit homog` ene. Cette mati` ere p en` etre par certains nuds appel es nuds dentr ee, sort du r eseau par certains nuds appel es nuds de sortie. Les nuds du r eseau qui ne sont ni dentr ee ni de sortie sont des nuds de transit.

7.1.2

Graphe associ e` a un r eseau de circulation

` D enition 7.1.1 Un r eseau est compos e de nuds et de liaisons joignant entre eux certains nuds. A ` chaque liaison (i, j ), on associe chaque nud i, on associe un sommet xi . A un arc (xi , xj ) si le mouvement seectue de i vers j

deux arcs (xi , xj ) et (xj , xi ) si le mouvement peut seectuer dans les deux sens

On peut faire des hypoth` eses g en erales sur les r eseaux de circulation : Le mouvement de mati` ere est ind ependant du temps. On consid` ere une p eriode susamment longue pour couvrir la totalit e du ph enom` ene.

78

CHAPITRE 7. OPTIMISATION DES FLUX

Il y a conservation de la mati` ere transport ee sur tout arc (xi , xj ) du r eseau, la quantit e de mati` ere partant du nud i et empruntant la liaison (i, j ) pendant la p eriode de r ef erence est la m eme que celle arrivant au nud j . D enition 7.1.2 La quantit e de mati` ere s ecoulant pendant une p eriode de r ef erence sur larc u = (xi , xj ) sappelle ux sur larc u et se note (u). Pour tout arc u on a evidemment (u) 0. Pendant une p eriode de r ef erence, la quantit e de mati` ere qui arrive ` a un nud de transit est egale ` a celle qui en sort : il y a conservation de mati` ere aux nuds de transit. Soient X lensemble des sommets du graphe G associ e au r eseau, E lensemble des sommets repr esentant les nuds dentr ee, S lensemble des sommets repr esentant les nuds de sortie, (x) lensemble des arcs aboutissant au sommet x, + (x) lensemble des arcs sortant du sommet x. La conservation de mati` ere aux nuds de transit sexprime math ematiquement par la relation x X (E S ),
ui (x)

(ui ) =

ui + (x)

(ui )

Sur chaque arc ui , le ux (ui ) peut etre soumis ` a une contrainte de canalisation cest-` a-dire que pour larc ui , il peut exister deux r eels bi et ci positifs ou nuls tels que 0 bi (ui ) ci ci etant la capacit e de larc ui et bi la borne de larc ui . En un nud dentr ee, la di erence entre le ux total partant de ce nud et le ux total y aboutissant repr esente la quantit e de mati` ere sintroduisant, pendant la p eriode consid er ee, par ce nud dans le r eseau. Soit xk le sommet associ e au nud dentr ee k , ek la quantit e entrante par le nud k
ui + (xk )

(ui )

ui (xk )

(ui ) = ek 0

De fa con analogue pour un nud de sortie, en d esignant par sl la quantit e sortante du r eseau au nud de sortie l repr esent e par le sommet xl , pendant la p eriode de r ef erence
ui (xl )

(ui )

ui + (xl )

(ui ) = sl 0

Remarque 7.1.1 Si, pour un arc particulier ui , aucune limite sup erieure nest impos ee au ux, on notera ci = . Exemple 7.1.1 On se donne le dictionnaire des suivants et des pr ec edents des nuds dun certain r eseau

ERALIT 7.1. GEN ES

79

Nud x1 x2 x3 x4 x5 x6 x7 x8 x9

Pr ec edent x2 , x8

Suivant x7 x1 , x3 , x8

x2 , x9 x3 , x9 x4 , x6 , x9 x7 , x8 x1 , x8 x2 , x3 x6 , x8

x4 , x8 x5

x5 , x9 x6 x1 , x6 , x7 , x9 x3 , x4 , x5

On se donne les informations suppl ementaires ci-dessous : nuds dentr ee : x2 , x7 , x8 nuds de sortie : x5 , x9 nuds de transit : x1 , x3 , x4 , x6 On peut maintenant tracer le r eseau ainsi d eni.

Figure 7.1 Diagramme sagittal - Exemple 7.1.1 Remarque 7.1.2 Pendant la p eriode consid er ee, la quantit e totale de mati` ere entrant dans le r eseau est egale ` a la quantit e sortant de celui-ci, soit ek = sl
xk E xl S

Une limitation des disponibilit es se traduit sur une entr ee par ek ck

Lexistence dune demande maximale se traduit sur une sortie par sl cl

80

CHAPITRE 7. OPTIMISATION DES FLUX

7.1.3

Graphe canonique associ e` a un r eseau de circulation

On construit un nouveau graphe par introduction de sommets et darcs suppl ementaires dans le graphe pr ec edent, an de ne plus avoir ` a distinguer entre nuds dentr ee, de sortie et de transit. Chaque sommet aura alors des propri et es identiques vis ` a vis des ux entrants et sortants. Ce nouveau graphe permettra l elaboration dalgorithmes . Soit G = (X, U ) le graphe associ e` a un r eseau de circulation, les sommets etant d esign es par x1 , x2 , . . . , xn . On appelle graphe canonique GC associ e` a ce r eseau le graphe obtenu ` a partir de G de la fa con suivante : On introduit un sommet ctif x0 reli e` a tout sommet dentr ee xk de E par un arc uk = (x0 , xk ). On associe ensuite ` a chaque arc uk le ux dentr ee (uk ) = ek avec 0 (uk ) ck . Le sommet x0 joue alors le r ole dune entr ee ctive rempla cant toutes les entr ees r eelles. On introduit un sommet ctif xn+1 reli e` a tout sommet de sortie xl de S par un arc ul = (xl , xn+1 ). On associe ensuite ` a cet arc ul le ux (ul ) = sl avec 0 (ul ) cl . On introduit larc ctif (xn+1 , x0 ) appel e arc retour et on lui associe le ux (u0 ) tel que (u0 ) = ek = sl .
xk E xl S

On attribue conditionnellement ` a u0 une borne nulle et une capacit e innie. En reprenant le graphe de lexemple 7.1.1 pr ec edent, on peut construire le graphe canonique associ e

Figure 7.2 Sommets ctifs et arc retour - Exemple 7.1.1 On consid` ere dans la suite GC = (XC , UC ), cest-` a-dire le graphe canonique associ e au graphe G = (X, U ). Il est essentiel de noter que le ux est conservatif en tout sommet : x XC , (ui ) = (ui )
ui (x) ui + (x)

mais egalement que sur chaque arc du graphe canonique GC , on a des contraintes de limitation des ux ainsi que des contraintes sur les quantit es entrantes et sortantes : ui UC , 0 (ui ) ci

ERALIT 7.1. GEN ES

81

Exercice 35 On se donne le dictionnaire des pr ec edents et des suivants des nuds dun certain r eseau.

Nud x1 x2 x3 x4 x5 x6 x7

Pr ec edent x1 , x3 x1 x2 , x5 , x6 x5 x3 , x5

Suivant x2 , x3 , x5 x4 x2 , x7 x4 , x6 , x7 x4 -

ainsi que les informations suppl ementaires ci-dessous

nuds de transit : x4 , x6 , x7
1. Tracer le r eseau ainsi d eni. 2. Construire le graphe canonique associ e. 3. Quel est lint er et de ce graphe ?

nuds de sortie : x5

nuds dentr ee : x1 , x2 , x3

7.1.4

Flot sur un graphe

Soit un graphe G = (X, U ) avec U = {u1 , u2 , . . . , un }. D enition 7.1.3 On appelle ot tout el ement de Rn : = ((u1 ), (u2 ), . . . , (un )) tel que x X (ui ) (ui ) = 0
ui (x) ui + (x)

Les nombres (ui ) sinterpr` etent comme les ux sur les arcs ui , conservatifs en tout sommet. Lorsque les ux (ui ) sur tout arc ui de U sont astreints ` a v erier une condition de canalisation 0 bi (ui ) ci , on dit que le ot est canalis e. Le ux sur larc retour (u0 ) du graphe canonique du r eseau repr esente la quantit e totale de mati` ere qui traverse le r eseau pendant la p eriode consid er ee. On lappelle valeur du ot. Le probl` eme que nous nous proposons de r esoudre est celui de la recherche dun ot canalis e m de valeur m (u0 ) maximale, dans un r eseau avec capacit es : cest le probl` eme du ot maximal.
Exercice 36 ep ot A et de 6 tonnes de la m eme On dispose de 15 tonnes de marchandises dans un d

marchandise dans un d ep ot B . Des camions doivent transporter cette marchandise en trois lieux x, y et z . Les liaisons existant entre les d ep ots et les destinations, ainsi que les quantit es maximales qui peuvent transiter sur chacune delles sont donn ees en tonnes dans le tableau suivant : x A B 3 4 y 15 5 z 0 7

82

CHAPITRE 7. OPTIMISATION DES FLUX

Par ailleurs x peut recevoir au maximum 11 tonnes, y 9 tonnes et z 12 tonnes. Le probl` eme est le suivant : D eterminer la quantit e maximale de marchandise qui peut etre livr ee. 1. Sch ematiser le probl` eme par un r eseau et placer sur chaque arc sa capacit e maximale. 2. On consid` ere ensuite le ot d eni de la mani` ere suivante : D enition de larc u1 = (E, A) u2 = (E, B ) u3 = (A, X ) u4 = (A, Y ) u5 = (B, X ) u6 = (B, Y ) u7 = (B, Z ) u8 = (X, S ) u9 = (Y, S ) u10 = (Z, S ) Flux de larc (u1 ) = 6 (u2 ) = 6 (u3 ) = 1 (u4 ) = 5 (u5 ) = 2 (u6 ) = 4 (u7 ) = 0 (u8 ) = 3 (u9 ) = 9 (u10 ) = 0

V erier ` a laide du tableau ci-dessous que le ux est conservatif Somme des ux entrants A B X Y Z 3. On peut encore augmenter la quantit e de marchandise transport ee, par exemple avec huit tonnes provenant du d ep ot A et six tonnes du d ep ot B . (a) Imaginer un ot d eni partiellement par (u1 ) = 8 et (u2 ) = 6. V erier que le ux est conservatif. (b) D enir le ot maximal. Somme des ux sortants

7.2
7.2.1

Recherche dun ot maximal dans un r eseau avec capacit es


La coupe

D enition 7.2.1 Soit A X un sous-ensemble de sommets avec x0 A, xn+1 / A. Le sous-ensemble darcs + (A) = {(x, y )/x A, y / A} dont lorigine est dans A et lextr emit e hors de A, sappelle la coupe du r eseau associ e ` a A. On appelle capacit e de la coupe la somme des capacit es des arcs contenant la coupe c(A) =
ui

+ (A)

ci

7.2. RECHERCHE DUN FLOT MAXIMAL DANS UN RESEAU AVEC CAPACITES

83

D enition 7.2.2 Soit A un sous-ensemble de sommets tel que x0 A et xn+1 / A. (A) est lensemble des arcs d enis par (A) = {(x, y )/x / A, y A} Cest lensemble des arcs du graphe canonique dont lorigine est hors de A et lextr emit e est dans A. Remarque 7.2.1 Larc retour est n ecessairement dans (A).

7.2.2

Applications

Exercice 37 On consid` ere le r eseau suivant :

1. Pour chaque sous-ensemble donn e ci-dessous, pr eciser la coupe ainsi que la capacit e de cette derni` ere. A = {x0 , x1 , x4 } B = {x0 , x2 , x3 , x7 } 2. Peut-on pr eciser la coupe du sous-ensemble C = {x0 , x3 , x8 } ? Pourquoi ?
Exercice 38 On se donne le graphe ci-dessous :

Pour chaque sous-ensemble donn e ci-dessous, pr eciser la coupe ainsi que la capacit e de cette derni` ere. A = {x0 , x1 , x2 , x4 , x7 } B = {x0 , x1 , x2 , x4 } C = {x0 , x1 , x2 }

84

CHAPITRE 7. OPTIMISATION DES FLUX

Propri et e 7.2.1 Si lon supprime tous les arcs dune coupe, on supprime en m eme temps tous les chemins reliant x0 ` a xn+1 dans le graphe canonique. Propri et e 7.2.2 Si est un ot canalis e sur G, tout mouvement de mati` ere de x0 ` a xn+1 emprunte au moins un arc de la coupe + (A) quelle quelle soit. La valeur (u0 ) de ce ot canalis e et la capacit e c(A) de cette coupe v erient alors (u0 ) c(A) quel que soit le ot canalis e et quelle que soit la coupe. Preuve : Soit un ot canalis e sur G = (X, U ) graphe canonique avec capacit es. On a donc 0 (ui ) ci , ui U . Comme u0 (A), on a (u0 ) (ui ). Le ux est conservatif en chacun des sommets donc
ui

(A)

(ui ) =
ui

+ (A)

ui (A)

(ui ) et par transitivit e, on obtient (u0 )


ui

(A)

(ui ) =
ui

+ (A)

(ui ) = c(A).

D enition 7.2.3 Larc ui est satur e pour un ot canalis e si et seulement si (ui ) = ci . D enition 7.2.4 La quantit e ci (ui ) sappelle capacit e r esiduelle de larc ui pour le ot (un arc satur e est donc de capacit e r esiduelle nulle). D enition 7.2.5 Un arc non satur e de ot non nul sappelle encore arc uide.

7.2.3

Etude th eorique

Proposition 7.2.1 Soit un ot canalis e d eni sur G et un chemin reliant x0 ` a xn+1 . Si aucun des arcs de nest satur e pour , il existe un ot canalis e d eni sur G et (u0 ) > (u0 ). Preuve : Soit j = cj (uj ) la capacit e r esiduelle de larc uj . Par hypoth` ese, aucun des arcs de nest satur e. Par cons equent, sur ce chemin , tous les j sont strictement positifs. On peut donc poser = min j > 0.
uj

En ajoutant au ux de tous les arcs de ainsi quau ux (u0 ) de larc retour, on respecte la conservativit e du ux en chaque sommet et on d enit un nouveau ot . Ce nouveau ot est canalis e et (u0 ) = (u0 ) + > (u0 ). Exemple 7.2.1 On consid` ere le graphe suivant issu de lexercice 38 :

Figure 7.3 Compl etude - Etape 1 - Exemple 7.1.1

7.2. RECHERCHE DUN FLOT MAXIMAL DANS UN RESEAU AVEC CAPACITES

85

Soient cj la capacit e de larc uj , (uj ) le ux de larc uj pour le ot . Le ot a pour valeur (u0 ) = 2 + 4 + 2 = 8, cest-` a-dire les quantit es de mati` ere entrant dans le r eseau par les trois entr ees x1 , x2 et x3 . On consid` ere ensuite le chemin (x0 , x2 , x4 , x6 , x7 ) (en pointill es sur la gure 7.3) ne contenant aucun arc satur e pour , on dira que le chemin nest pas satur e pour le ot . Sur ce chemin, les capacit es r esiduelles sont respectivement 5 4 = 1, 2 1 = 1, 1 0 = 1 et 7 3 = 4. Le plus petit de ces entiers est = 1. En augmentant de 1 les ux sur chaque arc de ce chemin ainsi que sur larc retour, on obtient un ot d eni sur G, ce ot est canalis e et sa valeur est (u0 ) = (u0 ) + = 8 + 1 = 9.

Figure 7.4 Compl etude - Etape 2 - Exemple 7.1.1

Proposition 7.2.2 Soit un ot canalis e d eni sur G et C une cha ne reliant x0 ` a xn+1 , nempruntant pas larc retour u0 . Si en parcourant la cha ne C depuis x0 jusqu` a xn+1 , un arc est emprunt e dans un sens, . on le note uj sinon dans le cas contraire, on le note u j On d enit ensuite les quantit es 1 , 2 , respectivement par : 1 = min [ci (ui )] la plus petite des capacit es r esiduelles des arcs de la cha ne C , parcourus dans
ui C

leur sens, 2 = min [(ui )] le plus petit ux circulant sur les arcs de la cha ne C , parcourus ` a loppos e de leur C u i sens, = min(1 , 2 ). Alors si > 0, il existe un ot canalis e sur G tel que (u0 ) > (u0 ). Preuve : On ajoute au ux de tous les arcs uj ainsi quau ux (u0 ) de larc retour puis on retranche au ux de tous les arcs uj de la cha ne C . Ce nouveau ot est encore canalis e, tous les nouveaux ux restent compris entre les bornes toutes nulles et les capacit es des arcs et (u0 ) = (u0 ) + donc (u0 ) > (u0 ).

86

CHAPITRE 7. OPTIMISATION DES FLUX

Retour ` a lexemple 7.2.1. On envisage la cha ne C = {x0 , x3 , x4 , x2 , x6 , x7 } (en pointill es sur la gure

Figure 7.5 Saturation - Etape 1 - Exemple 7.2.1 FIG. 2.2.5). Les arcs (x0 , x3 ), (x3 , x4 ), (x2 , x6 ), (x6 , x7 ) sont dans le sens , larc (x4 , x2 ) est dans le sens . 1 = min(5 2, 2 0, 4 1, 7 4) = min(3, 2, 3, 3) = 2, 2 = min((u2 )) = min(2) = 2 (o` u (u2 ) est le ux entre x2 et x4 ), = min(2, 2) = 2. On ajoute ensuite ` a tous les arcs ainsi qu` a larc retour (u0 ), on retire ` a tous les arcs (cest` a-dire au ux de larc (x2 , x4 )). On obtient un nouveau ot encore canalis e et (u0 ) = (u0 ) + 2 soit (u0 ) = 9 + 2 = 11.

Figure 7.6 Saturation - Etape 2 - Exemple 7.2.1

Remarque 7.2.2 La proposition 7.2.2 est une g en eralisation de la proposition 7.2.1.


Exercice 39 On consid` ere le dictionnaire suivant faisant intervenir treize sommets dun graphe G.

1. D eterminer le dictionnaire des pr ec edents du graphe G 2. Ordonnancer le graphe par niveaux.

7.2. RECHERCHE DUN FLOT MAXIMAL DANS UN RESEAU AVEC CAPACITES

87

x x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12

Suivant de x x1 , x3 , x4 x2 , x8 , x11 x5 , x6 x8 x8 , x11 x7 , x9 x9 , x10 x12 x6 x12 x12 x6 , x10

On assimile maintenant ce graphe ` a un r eseau de circulation. 3. Construire le graphe canonique associ e. 4. On consid` ere le ot dont les composantes sont pr ecis ees dans le tableau ci-dessous.

Nom de larc u1 = (x0 , x1 ) u2 = (x0 , x3 ) u3 = (x0 , x4 ) u4 = (x1 , x2 ) u5 = (x1 , x8 ) u6 = (x1 , x11 ) u7 = (x3 , x8 ) u8 = (x4 , x8 ) u9 = (x4 , x11 ) u10 = (x2 , x5 ) u11 = (x2 , x6 )

Capacit e 6 6 7 5 2 8 3 7 2 4 4

Flux 6 1 3 5 1 0 1 1 2 3 2

Nom de larc u12 = (x8 , x5 ) u13 = (x8 , x6 ) u14 = (x11 , x6 ) u15 = (x11 , x10 ) u16 = (x5 , x7 ) u17 = (x5 , x9 ) u18 = (x6 , x9 ) u19 = (x6 , x10 ) u20 = (x7 , x12 ) u21 = (x9 , x12 ) u22 = (x10 , x12 )

Capacit e 4 4 4 4 7 3 4 5 3 4 10

Flux 1 2 2 0 1 3 1 5 1 4 5

5. Donner la valeur du ot cest-` a-dire (u0 ) en pr ecisant sa signication. 6. V erier que la mati` ere est conserv ee aux nuds du r eseau. 7. (a) Trouver un chemin non satur e reliant x0 ` a x12 . (b) Montrer alors quil existe un autre ot canalis e sur G tel que (u0 ) > (u0 ).

88

CHAPITRE 7. OPTIMISATION DES FLUX

7.2.4

Flot complet

D enition 7.2.6 Soit un ot canalis e sur G. On dit que est un ot complet si et seulement si tout chemin reliant x0 ` a xn+1 contient au moins un arc satur e pour . Un tel chemin sera dit chemin satur e pour . Proposition 7.2.3 Un ot complet nest pas n ecessairement maximal. Il sut de prendre lexemple 7.2.1, issu de lexercice 38 ; en eet si on supprimait tous les arcs satur es par (cest-` a-dire les arcs (x0 , x1 ), (x0 , x2 ), (x2 , x4 ), (x3 , x6 ), (x4 , x6 ), (x5 , x7 ), (x2 , x5 )), il ne resterait aucun chemin reliant x0 ` a x7 . Cependant nest pas de valeur maximale puisque dans lexemple, on a am elior e la valeur de (u0 ) = 9 ` a (u0 ) = 11. On a la gure ci-dessous en supprimant tous les arcs satur es (repr esent es en traits gras)

Figure 7.7 Flot complet non maximal - Exemple 7.2.1 On ne peut passer de x0 ` a x7 par une ligne continue, par des arcs non satur es. D enition 7.2.7 Toute cha ne C reliant x0 ` a xn+1 , sans passer par larc retour, pour laquelle on a = min(1 , 2 ) = 0 donc 1 = 0 ou 2 = 0, relativement ` a un ot canalis e , est dite satur ee pour le ot . On peut remarquer que la cha ne {x0 , x3 , x4 , x2 , x6 , x7 } qui intervient dans lexemple de r ef erence (issu de lexercice 34) nest pas satur ee pour , en eet 1 = 2, 2 = 2 et = 2. Proposition 7.2.4 Une condition n ecessaire et susante pour quun ot canalis e m soit un ot de valeur maximale est que toute cha ne C reliant x0 ` a xn+1 (sans emprunter larc retour) soit satur ee pour le ot m .

7.3
7.3.1

Algorithme de Ford-Fulkerson
Introduction

Th eor` eme 7.3.1 Dans un graphe G avec capacit es, la valeur maximale dun ot canalis e est egale ` a la capacit e minimale dune coupe. Tout ot canalis e de valeur maximale est n ecessairement complet. On commencera donc, ` a partir dun ot de d epart, par d eterminer un ot complet. On cherchera ensuite ` a am eliorer la valeur du ot complet. Enn, une proposition indiquera ` a quel moment il faut mettre un terme ` a la recherche dune am elioration. L enonc e de lalgorithme qui va suivre fournit une proc edure tr` es commode de recherche des cha nes insatur ees reliant x0 ` a xn+1 sans emprunter larc retour, au moyen de marques de sommets.

7.3. ALGORITHME DE FORD-FULKERSON

89

7.3.2

Enonc e de lalgorithme

Choisir un ot initial 0 canalis e sur G, on peut prendre par exemple 0 (ui ) = 0 pour tout arc ui . Recherche dun ot complet sur G. On consid` ere le graphe partiel G0 de G obtenu en supprimant dans G tous les arcs satur es par 0 et en conservant tous les sommets de G. Si G0 ne contient aucun chemin reliant x0 ` a xn+1 , le ot 0 est complet (tout chemin reliant x0 ` a xn+1 dans G est satur e pour 0 ). Sinon, il existe dans G0 un chemin de x0 ` a xn+1 , cest un chemin non satur e pour 0 . On calcule pour un tel chemin = min [ci 0 (ui )]
u i

puis on augmente de le ux de chaque arc de ainsi que larc retour u0 . On obtient ainsi un ot 1 et un graphe partiel G1 de G par suppression dans G de tous les arcs satur es par 1 . On recommence sur G1 la recherche des chemins reliant x0 a ` xn+1 . Si G1 ne contient pas un tel chemin alors 1 est un ot complet. Sinon, on applique pour 1 la proc edure pr ec edente. En it erant un nombre ni de fois une telle proc edure, on parvient ` a un ot canalis e l et un graphe partiel Gl de G ne poss edant aucun chemin reliant x0 ` a xn+1 . l est alors un ot complet sur G. ` laide de lalgorithme pr Exemple 7.3.1 A ec edent, d eterminer le(s) ot(s) complet(s) parcourant le graphe ci-dessous.

On part dun ot nul qui est n ecessairement canalis e:

Figure 7.8 Compl etude - Graphe initial - Exemple 7.3.1

90

CHAPITRE 7. OPTIMISATION DES FLUX

On consid` ere le chemin = (x0 , x1 , x5 , x7 ). On a = min(2 0, 3 0, 5 0) = 2. On ajoute 2 ` a tous les arcs du chemin ainsi qu` a larc retour, on obtient ainsi le ot 1 avec 1 (u0 ) = 2. On obtient le graphe G1 qui est le graphe de G obtenu en supprimant dans G larc satur e (x0 , x1 ) (en traits gras dans G1 ) :

Figure 7.9 Compl etude - Graphe G1 - Exemple 7.3.1 On consid` ere le chemin = (x0 , x2 , x5 , x7 ), on a = min(5 0, 2 0, 5 2) = 2. On ajoute 2 ` a tous les arcs de ce chemin ainsi qu` a larc retour. On obtient alors un ot 2 de valeur 2 (u0 ) = 2 + 2 = 4. On supprime alors dans G1 larc (x2 , x5 ) qui est satur e. On obtient le graphe G2 :

Figure 7.10 Compl etude - Graphe G2 - Exemple 7.3.1 Dans le graphe G2 , on consid` ere le chemin = (x0 , x2 , x4 , x5 , x7 ) et on a = min(5 2, 2 0, 2 0, 5 4) = 1. On ajoute alors 1 unit e aux ux de tous les arcs du chemin ainsi qu` a larc retour et on obtient 3 (u0 ) = 4 + 1 = 5. On supprime dans G2 larc (x5 , x7 ) qui est satur e.

7.3. ALGORITHME DE FORD-FULKERSON

91

On obtient le graphe G3 :

Figure 7.11 Compl etude - Graphe G3 - Exemple 7.3.1 Dans le graphe G3 , on consid` ere alors le chemin = (x0 , x2 , x4 , x6 , x7 ), on a = min(5 2, 2 0, 1 0, 7 0) = 1. On ajoute une unit e aux ux de tous les arcs de ainsi qu` a larc retour. On obtient 5 (u0 ) = 5 + 1 = 6, les arcs (x4 , x6 ) et (x2 , x4 ) sont satur es. On les supprime dans le graphe de G3 . On obtient ainsi le graphe G4 :

Figure 7.12 Compl etude - Graphe G4 - Exemple 7.3.1 Dans G4 , on consid` ere le chemin = (x0 , x2 , x6 , x7 ) o` u = min(5 4, 4 0, 7 1) = 1. On ajoute 1 aux ux des arcs (x0 , x2 ), (x2 , x6 ) et (x6 , x7 ) ainsi qu` a larc retour. On obtient 5 (u0 ) = 7. Larc (x0 , x2 ) est satur e et on le supprime.

92

CHAPITRE 7. OPTIMISATION DES FLUX

On obtient le graphe G5 :

Figure 7.13 Compl etude - Graphe G5 - Exemple 7.3.1 Dans le graphe G5 , on consid` ere le chemin = (x0 , x3 , x6 , x7 ) pour lequel = min(5 0, 2 0, 7 2) = 2. On ajoute 2 aux ux des arcs (x0 , x3 ), (x3 , x6 ) et (x6 , x7 ) ainsi qu` a larc retour. On obtient 5 (u0 ) = 7 + 2 = 9. Larc (x3 , x6 ) est satur e, on le supprime. On obtient le graphe G6 :

Figure 7.14 Compl etude - Graphe G6 - Exemple 7.3.1 Le ot 6 de valeur 6 (u0 ) = 9 est alors complet. Tout chemin reliant x0 ` a x7 contient au moins un arc satur e ou encore il nexiste plus de chemin reliant x0 ` a x7 constitu e exclusivement par des arcs non satur es.

7.3.3

Suite de lalgorithme : Marquage des sommets

On consid` ere le ot complet l ainsi que le graphe priv e de larc retour u0 . 1. On marque par 0 tout suivant xk de x0 tel que la capacit e r esiduelle de larc (x0 , xk ) soit non nulle. 2. xi etant un sommet d eja marqu e: On recherche tous les arcs (xi , xk ) de capacit e r esiduelle non nulle et on marque le sommet xk du chire i, on recherche tous les arcs (xk , xi ) de ux non nul et on marque le sommet xk du chire i.

7.3. ALGORITHME DE FORD-FULKERSON

93

3. Si par cette proc edure, xn+1 ne peut etre marqu e alors le ot complet l est un ot canalis e de valeur maximale. Remarque 7.3.1 On observera que la proc edure de marquage consiste, ` a partir de x0 , ` a marquer en avant ` a partir darcs non satur es, de capacit e r esiduelle non nulle, en arri` ere ` a partir darcs sur lesquels circule un ux non nul. Revenons ` a lexemple 7.3.1. On part de x0 . La capacit e r esiduelle de larc (x0 , x3 ) est egale ` a 3, non nulle, donc x3 est marqu e du chire 0. Les capacit es r esiduelles des arcs (x0 , x1 ) et (x0 , x2 ) sont nulles, les sommets x1 et x2 ne sont pas marqu es pour linstant. Le sommet x3 est alors le seul el ement marqu e. On recherche les arcs (x3 , xk ) de capacit e r esiduelle non nulle, le seul arc de ce type est larc (x3 , x4 ) et le sommet x4 est marqu e du chire 3. On recherche ensuite les arcs (xk , x3 ) de ux non nul, le seul arc qui correspond ` a ce choix est alors larc (x0 , x3 ) et le sommet x0 est marqu e du chire 3. Le sommet x4 est marqu e du chire 3. On recherche des arcs (x4 , xk ) de capacit e r esiduelle non nulle, soit larc (x4 , x5 ). Le sommet x5 est marqu e du chire 4. On recherche ensuite les arcs (xk , x4 ) de ux non nul, soit larc (x2 , x4 ). Le sommet x2 est marqu e du chire 4. On continue le marquage en utilisant les sommets x5 et x2 . Tout dabord x5 : On recherche les arcs (x5 , xk ) de capacit e r esiduelle non nulle, il ny en a pas. On recherche les arcs (xk , x5 ) de ux non nul. Le seul arc correspondant est (x1 , x5 ). Le sommet x1 est marqu e par 5. Ensuite x2 : On recherche les arcs (x2 , xk ) de capacit e r esiduelle non nulle, ce qui est le cas de larc (x2 , x6 ). Le sommet x6 est marqu e du chire 2. Il nexiste pas darc (xk , x2 ) de ux non nul avec xk non marqu e. On consid` ere le sommet x6 : ` A laide du sommet x6 , larc (x6 , x7 ) est de capacit e non nulle, on marque x7 du chire 6 Aucun arc du type (xk , x6 ) est de ux non nul avec xk non marqu e. En conclusion, x7 peut etre marqu e par cette proc edure (voir gure 7.15) et le ot complet 6 de valeur 9 nest pas maximal :

Figure 7.15 Marquage des sommets - Exemple 7.3.1

94

CHAPITRE 7. OPTIMISATION DES FLUX

7.3.4

Suite de lalgorithme : Modication des ux

1. Si la proc edure de marquage utilis ee auparavant permet de marquer xn+1 , le ot complet nest pas de valeur maximale. 2. On obtient ` a partir de xn+1 , en utilisant la marque de certains sommets, une cha ne insatur ee C , reliant x0 ` a xn+1 et nempruntant pas larc retour u0 . Cette cha ne se construit ` a lenvers de la fa con suivante : On relie xn+1 au sommet dont lindice est la marque de xn+1 . On recommence ` a partir du sommet obtenu jusqu` a ce quon atteigne x0 . 3. On calcule pour cette cha ne C les quantit es 1 = min (ci l (ui ))
ui C

2 = min (l (ui ))
ui C

= min(1 , 2 ) Sur chaque arc ui de C , ainsi que sur larc retour uo , on augmente le ux de . Sur chaque arc ui de C , on diminue le ux de . On obtient ainsi un ot l+1 ` a partir duquel on recommence la proc edure de marquage des sommets. 4. On it` ere alternativement les proc edures des sommets et des modications de ux jusqu` a lobtention dun ot m ` a partir duquel la proc edure de marquage ne permet plus de marquer xn+1 . m est alors un ot canalis e de valeur maximale sur G. Revenons ` a lexemple 7.3.1. 1. D eterminons tout dabord la cha ne insatur ee qui parcourt le graphe : . x7 est de marque 6 (on relie x7 et x6 ), . x6 est de marque 2 (on relie x6 et x2 ), . x2 est de marque 4 (on relie x2 et x4 ), . x4 est de marque 3 (on relie x4 et x3 ), . x3 est de marque 0 (on relie x3 et x0 ). La cha ne peut s ecrire : C = {x0 , x3 , x4 , x2 , x6 , x7 } (en gras sur la gure 7.16).

Figure 7.16 Cha ne insatur ee - Exemple 7.3.1 2. Modication des ux : On a les valeurs 1 = min(5 2, 2 0, 4 1, 7 4) = 2 et 2 = min(2) = 2 donc = min(2, 2) = 2. On ajoute 2 aux arcs ui (donc aux ux des arcs (x0 , x3 ), (x3 , x4 ), (x6 , x7 ) et (x2 , x6 )) ainsi qu` a larc retour. On retire 2 au ux de larc (x2 , x4 ). On obtient alors un ot 7 de valeur 7 (u0 ) = 9 + 2 = 11.

7.3. ALGORITHME DE FORD-FULKERSON

95

Figure 7.17 Saturation - Graphe G7 - Exemple 7.3.1 3. On recommence alors la proc edure de marquage des sommets : On consid` ere le sommet x0 . ` A partir de x0 , larc (x0 , x3 ) est le seul arc dorigine x0 , de capacit e r esiduelle non nulle. On marque le sommet x3 du chire 0. ` partir de x3 , le seul arc du type (xk , x3 ) qui soit de ux non nul est (x0 , x3 ). On marque x0 du A chire 3. On consid` ere le sommet x3 . ` es. On ne peut A partir de x3 , les seuls arcs sont (x3 , x4 ) et (x3 , x6 ) et ils sont tous les deux satur donc plus faire progresser le marquage. Comme x7 ne peut pas etre marqu e, le ot 7 est un ot canalis e de valeur maximale.

7.3.5

Recherche ` a partir du marquage dune coupe de capacit e minimale

Dans la seconde proc edure de marquage de lexemple 7.3.1, les sommets marqu es sont x0 et x3 (on notera + A0 = {x0 , x3 }). La coupe associ ee ` a A0 est (A0 ) = {(x0 , x1 ), (x0 , x2 ), (x3 , x4 ), (x3 , x6 )}. Pour 7 , elle est compos ee darcs satur es. La coupe est donc de capacit e minimale de valeur c(A0 ) = 2 + 5 + 2 + 2 = 11 = 7 (u0 ). Remarque 7.3.2 Dans lexemple 7.3.1 pr ec edent, lors de la recherche du ot complet, on a successivement satur e les chemins dans un ordre syst ematique de haut en bas par exemple. Dans lapplication manuelle de lalgorithme, on peut souvent gagner du temps en saturant en priorit e les chemins pour lesquels est le plus grand possible. Il est tr` es probable que le ot complet soit alors maximal, un marquage testant loptimalit e. On consid` ere le chemin = (x0 , x2 , x6 , x7 ) pour lequel = 4. On ajoute 4 aux ux des arcs (x0 , x2 ), (x2 , x6 ), (x6 , x7 ) et 1 (u0 ) = 4. Larc (x2 , x6 ) est satur e (cf. gure 7.18). On consid` ere le chemin = (x0 , x1 , x5 , x7 ) pour lequel = 2. On ajoute 2 aux ux des arcs (x0 , x1 ), (x1 , x5 ), (x5 , x7 ) et 2 (u0 ) = 6. Larc (x0 , x1 ) est satur e (cf. gure 7.19). On consid` ere le chemin = (x0 , x3 , x6 , x7 ) pour lequel = 2. On ajoute 2 aux ux des arcs (x0 , x3 ), (x3 , x6 ), (x6 , x7 ) et 3 (u0 ) = 8. Larc (x3 , x6 ) est satur e (cf. gure 7.20). On consid` ere le chemin = (x0 , x3 , x4 , x5 , x7 ) pour lequel = 2. On ajoute 2 aux ux des arcs (x0 , x3 ), (x3 , x4 ), (x4 , x5 ), (x5 , x7 ) et 4 (u0 ) = 10. Les arcs (x3 , x4 ) et (x4 , x5 ) sont satur es (cf. gure 7.21). On consid` ere le chemin = (x0 , x2 , x5 , x7 ) pour lequel = 1. On ajoute 1 aux ux des arcs (x0 , x2 ), (x2 , x5 ), (x5 , x7 ) et 5 (u0 ) = 11. Les arcs (x0 , x2 ) et (x5 , x7 ) sont satur es (cf. gure 7.22).

96

CHAPITRE 7. OPTIMISATION DES FLUX

Figure 7.18 Compl etude - Graphe G1 - Exemple 7.3.1

Figure 7.19 Compl etude - Graphe G2 - Exemple 7.3.1

Figure 7.20 Compl etude - Graphe G3 - Exemple 7.3.1

7.3. ALGORITHME DE FORD-FULKERSON

97

Figure 7.21 Compl etude - Graphe G4 - Exemple 7.3.1

Figure 7.22 Compl etude - Graphe G5 - Exemple 7.3.1 Le ot pr ec edent est complet : si on supprime les arcs satur es (en traits gras sur la gure 7.20), il nexiste plus de chemin reliant x0 ` a x7 do` u le ot complet de valeur 5 (u0 ) = 11. Ce ot est-il maximal ? On utilise pour le savoir la proc edure de marquage : On part de x0 : le seul arc (x0 , xk ) de capacit e r esiduelle non nulle est (x0 , x3 ), on marque le sommet x3 du chire 0. Le seul arc (xk , x3 ) de ux non nul est (x0 , x3 ) donc x0 est marqu e du chire 3. Les marques sarr etent, x7 ne pouvant etre marqu e, le ot complet est aussi de valeur maximale. Remarque 7.3.3 Un ot canalis e de valeur maximale nest pas n ecessairement unique Dans lexemple pr ec edent, on a trouv e deux ots di erents ayant la m eme valeur maximale 11. La nonunicit e du ot maximal repr esente le cas g en eral, il en est de m eme pour les coupes de capacit e minimale. On peut remarquer que les sommets marqu es dans les deux ots de valeur maximale sont identiques, ce qui conduit ` a la m eme coupe de capacit e minimale pour les deux ots. Le choix des chemins qui conduit au ot maximal ne donne pas n ecessairement la solution la plus rapide, il a pour but dillustrer lalgorithme. Exemple 7.3.2 On reprend le sujet de lexercice 36. Le graphe sous sa forme ordonnanc ee est donn ee par la gure 7.23 :

98

CHAPITRE 7. OPTIMISATION DES FLUX

Figure 7.23 Graphe ordonnanc e - Exemple 7.3.2 On consid` ere le ot propos e dans lexercice.

Figure 7.24 Compl etude - Graphe G1 - Exemple 7.3.2 Les arcs satur es sont (E, B ), (A, X ) et (Y, S ) (en traits gras sur la gure 7.24). Si on supprime tous les arcs satur es, il nexiste plus de chemin reliant E ` a S . Le ot est complet mais ce ot est-il maximal ? On utilise pour le savoir le marquage des sommets. . Le seul arc (E, xk ) de capacit e r esiduelle non nulle est (E, A), le sommet A est marqu e de la lettre E . . Le seul arc (xk , A) de ux non nul est (E, A), le sommet E est marqu e de la lettre A. . Larc (A, Y ) est de capacit e r esiduelle non nulle donc Y est marqu e par A. . Larc (B, Y ) est de ux non nul donc B est marqu e par Y . . Larc (B, Z ) est de capacit e non nulle donc Z est marqu e par B . . Larc (Z, S ) est de capacit e non nulle donc S est marqu e par Z . . Larc (X, S ) est de ux non nul donc X est marqu e par S .

7.3. ALGORITHME DE FORD-FULKERSON

99

On obtient le marquage suivant :

Figure 7.25 Marquage - Exemple 7.3.2 B est marqu e par Y , larc (B, X ) est de capacit e non nulle donc on peut aussi marquer X de la lettre B . Le sommet X etant marqu e par B et larc (X, S ) etant de capacit e non nulle, le sommet S peut etre marqu e par X . Il existe donc deux marquages possibles et dans les deux cas, la sortie ctive S est marqu ee, le ot complet nest donc pas maximal. Sommet Marques Marques E A A A E E B Y Y X S B Y A A Z B B S Z X

D eterminons le ot maximal. Quelles sont les cha nes non satur ees ? Graphiquement, on trouve deux cha nes non satur ees ` a savoir (E, A, Y, B, Z, S ) et (E, A, Y, B, X, S ). En utilisant lalgorithme, on pourrait eviter dutiliser le graphique. ` laide du premier marquage : A S est de marque 5, on relie S ` a Z (de marque B ), on relie Z ` a B (de marque Y ), on relie B ` a Y (de marque A), on relie Y ` a A (de marque E ), on relie A ` a E , do` u la cha ne (E, A, Y, B, Z, S ). ` laide du second marquage : A S (3) X (2) B (4) Y (1) A(0) E do` u la cha ne (E, A, Y, B, X, S ). Modication des ux : consid erons la cha ne (E, A, Y, B, Z, S ), on a . 1 = min(15 8, 15 5, 7 0, 12 0) = 7 . 2 = 4 . = min(7, 4) = 4 On ajoute 4 aux ux des arcs (E, A), (A, Y ), (B, Z ) et (Z, S ) ainsi quau ux de larc retour 1 (u0 ) = 14 (on obtient donc 2 (u0 ) = 18), et on retire 4 au ux de larc (B, Y ). On obtient le graphe de la gure 7.26. Consid erons maintenant la cha ne (E, A, Y, B, X, S ), on a . 1 = min(15 8, 15 5, 4 2, 11 5) = 2 . 2 = 4 . = min(2, 4) = 2 On ajoute 2 aux ux des arcs (E, A), (A, Y ), (B, X ) et (X, S ) ainsi quau ux de larc retour 1 (u0 ) = 14 (on obtient donc ( u ) = 18), et on retire 2 au ux de larc ( B, Y ). On obtient le graphe de la gure 7.27. 2 0

100

CHAPITRE 7. OPTIMISATION DES FLUX

Figure 7.26 Saturation - Graphe G2a - Exemple 7.3.2

Figure 7.27 Saturation - Graphe G2b - Exemple 7.3.2


On a 2 (u0 ) > 2 (u0 ), 2 nest pas le ot maximal. 2 est-il maximal ?

Proc edure de marquage : (E, A) est de capacit e r esiduelle non nulle donc on marque A de la lettre E , (E, A) est de ux non nul, on marque E de la lettre A. Larc (A, Y ) est de capacit e non nulle, on marque donc Y de la lettre A, (B, Y ) est de ux nul, on ne peut pas marquer B . Larc (A, X ) est de capacit e nulle, on ne peut pas marquer S . Pour ce ot 2 , S ne peut etre marqu e. Conclusion, le ot est maximal et vaut 18. Il existe des cha nes constitu ees darcs non satur es pour 2 ` a savoir (E, A, Y, B, Z, S ) et (E, A, Y, B, X, S ). Pour la premi` ere, 1 = min(3, 6, 3, 8) = 3, 2 = 0 et = min(1 , 2 ) = 0. On ne peut donc plus faire evoluer les ux sur cette cha ne, tous les arcs ayant une capacit e r esiduelle non nulle et le ux sur larc (B, Y ) etant nul. Pour la seconde, 1 = min(3, 6, 2, 9) = 2, 2 = 0 et = min(1 , 2 ) = 0.

7.4. EXERCICES RECAPITULATIFS

101

Conclusion, dans le ot 2 , toutes les cha nes reliant E ` a S sont satur ees et ce ot est maximal. D eterminons la capacit e maximale : pour 2 , les seuls sommets marqu es sont E , A, Y (on note A0 = {E, A, Y }). Alors + (A0 ) = {(x, y )/x A et y / A} = {(E, B ), (A, X ), (Y, S )} et on retrouve la valeur du ot qui vaut 6 + 3 + 9 = 18.

7.4

Exercices r ecapitulatifs

Exercice 40 On consid` ere 13 entrep ots dune entreprise sp ecialis ee dans le stockage de denr ees alimen

taires, d esign es par x1 ,x2 ,. . . ,x13 ainsi que les 19 axes routiers ` a sens unique reliant ces di erents entrep ots. An d etudier les ux de marchandises de cette entreprise, on assimile ce r eseau routier ` a un graphe compos e de 13 sommets et de 19 arcs, disponibles par linterm edaire du dictionnaire des suivants ci-dessous.
Sommets Suivants x1 x3 , x5 , x9 x2 x1 x3 x6 , x7 , x8 x4 x12 , x13 x5 x8 x6 x10 x7 x6 , x8 x8 x10 x9 x10 x10 x11 x5 x12 x5 x13 x3 , x11

1. Retrouver ` a laide de ce dictionnaire, les pr ec edents de chacun des sommets. ` laide de la question pr 2. A ec edente, ordonnancer le graphe par niveaux. On pr ecise ensuite, pour chacun des noeuds du r eseau, sa nature. . . .

sortie : x6 , x9 , x10

entr ee : x2 , x4

transit : x1, x3, x5, x7, x8, x11, x12, x13


Arc (x0 , x2 ) (x0 , x4 ) (x1 , x3 ) (x1 , x5 ) (x1 , x9 ) (x2 , x1 ) (x3 , x6 ) (x3 , x7 ) (x3 , x8 ) (x4 , x12 ) (x4 , x13 ) (x5 , x8 ) Capacit e 12 6 5 2 4 11 8 2 2 1 5 3 Flux 10 5 5 1 4 10 6 2 1 1 4 2 Arc (x6 , x10 ) (x7 , x6 ) (x7 , x8 ) (x8 , x10 ) (x9 , x10 ) (x11 , x5 ) (x12 , x5 ) (x13 , x3 ) (x13 , x11 ) (x9 , x14 ) (x10 , x14 ) (x6 , x14 ) Capacit e 3 1 3 4 3 1 2 5 2 5 8 6 Flux 3 1 1 4 1 0 1 4 0 3 8 4

Les capacit es et ux de mati` eres sur chacun des arcs du graphe (donc sur chaque axe routier) sont donn es ci-dessous :

3. Repr esenter le graphe canonique associ e et indiquer les capacit es et les ux sur chacun des arcs. Indiquer la valeur du ot. 4. V erier quen chacun des noeuds du r eseau, la mati` ere est conserv ee. On utilisera un tableau de la forme ux entrants ux sortants Noeud xk (ui ) (ui )
ui (xk ) ui + (xk )

. . .

. . .

. . .

5. Sur le graphe canonique, mettre en evidence ` a laide dun crayon de couleur les arcs satur es. Montrer que le ot nest pas complet.

102

CHAPITRE 7. OPTIMISATION DES FLUX

On utilise lalgorithme de Ford-Fulkerson pour rendre le ot maximal. 6. Expliquer bri` evement le principe de cet algorithme. 7. Montrer quune seule it eration de cet algorithme (compl etion + marquage) sut pour rendre le ot maximal (on apportera un soin tout particulier au d etail des etapes). 8. Donner la valeur maximale du ot.
Exercice 41 ere le graphe orient e ci-apr` es. On consid`

Les sommets x1 , x2 ,. . . ,x7 repr esentent des entrep ots et les arcs des routes ` a sens unique. Il sagit de transporter une certaine marchandise de certains entrep ots ` a dautres entrep ots. Les capacit es sont toutes egales ` a 24.

On pr ecise ci-dessous, pour chacun des noeuds du r eseau, sa nature. . entr ee : x6 , x7 . sortie : x3 , x4 , x5 . transit : x1 , x2 1. R eorganiser le graphe ` a laide dun ordonnancement par niveaux. 2. Repr esenter le graphe canonique associ e (en int egrant au pr ealable les sommets ctifs dentr ee x0 et de sortie x8 ). 3. On se donne les capacit es suivantes : Nom de larc (x0 , x6 ) (x0 , x7 ) (x3 , x8 ) (x4 , x8 ) (x5 , x8 ) Capacit e de larc 9 15 6 10 8

(a) Donner en quelques lignes le principe de lalgorithme de Ford-Fulkerson. (b) Donner la d enition dun ot complet. (c) D eterminer ` a laide de lalgorithme de Ford-Fulkerson le ot maximal sur ce r eseau en apportant un soin particulier au d etail des di erentes etapes.

7.4. EXERCICES RECAPITULATIFS

103

Exercice 42 Le r eseau de la gure ci-apr` es repr esente un probl` eme de ot. Le r eseau peut- etre vu comme

un r eseau de transport, dans lequel on charge de la marchandise ` a certains points et duquel on d echarge ` a dautres points. On d enit des points dentr ee ainsi que des points de sortie. Par ailleurs, lar ete i a une capacit e maximale 5 qui ne peut etre d epass ee (assimilable ` a une capacit e de canalisation). Chaque nud v erie une loi de conservation naturelle, ` a savoir que la quantit e entrant dans un nud doit etre egale ` a la quantit e sortant du nud. Bien entendu, les nuds dentr ee et de sortie sont exclus de cette contrainte.

1. Proposer un ot de marchandises sur le r eseau ci-dessus dans le cas suivant : Les points dentr ee sont les nuds x1 , x2 et x3 . Les quantit es qui entrent dans le r eseau valent respectivement 4, 6 et 4. Les points de sortie sont les nuds x23 et x24 . Les quantit es qui sortent du r eseau valent respectivement 2 et 12. 2. En consid erant le probl` eme tel que pos e en 1., donner la quantit e maximale que lon peut faire passer dans le r eseau. Justier votre raisonnement. Retrouver la valeur du ot maximal ` a laide de la capacit e minimale de la coupe associ ee.
Exercice 43 e Le trac matinal entre une banlieue dortoir (nud 1) et le centre ville (nud 9) est illustr

dans la gure ci-dessous. On a repr esent e le trac actuel ainsi que la capacit e maximum de chacune des routes en nombre de v ehicules par heure.

104

CHAPITRE 7. OPTIMISATION DES FLUX

1. Montrer ` a laide de lalgorithme du ot maximal que lon peut augmenter le trac global entre le sommet 1 et le sommet 9. Quelle est la valeur de ce trac maximum ? 2. Sugg erer les endroits o` u le r eseau devrait etre renforc e si on veut d epasser ce ot maximum. 3. Montrer que si lon consid` ere le trac inverse qui concerne la n de journ ee (avec les m emes capacit es pour le retour), le ot maximum sera le m eme qu` a la question 1.
Exercice 44 La soci et e SUPERSTOCK est sp ecialis ee dans la fabrication et le stockage de coussins.

Compte tenu de la r eglementation europ eenne, cette soci et e d ecide la construction dun nouvel entrep ot aux normes europ eennes ` a la place de lancien (symbolis e dans la suite par x5 ). Vous etes charg es de mettre ` a jour les ux de marchandises sur le r eseau et de les maximiser. Les liaisons entre les di erents points n evralgiques (ou sommets du graphe) de la soci et e sont donn es dans le tableau ci-dessous ainsi que la nature des sommets :

Sommet xi x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11

Pr ec edent x4 x4 x3 x3 , x4 , x11 x5 , x7 , x8 x1 , x2 , x5 x5 , x9 , x10 x11 x11 x3

Suivant x7 x7 x4 , x5 , x11 x1 , x2 , x5 x6 , x7 , x8 x6 x6 x8 x8 x5 , x9 , x10

entr ee : x3 sortie : x6 transit : x1 , x2 , x4 , x5 , x7 , x8 , x9 , x10 , x11

Les ux et les capacit es des di erents axes routiers sont donn es par :

7.4. EXERCICES RECAPITULATIFS

105

Nom de larc (x1 , x7 ) (x2 , x7 ) (x3 , x4 ) (x3 , x5 ) (x3 , x11 ) (x4 , x1 ) (x4 , x2 ) (x4 , x5 ) (x5 , x6 )

Capacit e de larc 4 3 10 1 5 5 4 2 1

Flux de larc 4 2 8 1 5 4 2 2 1

Nom de larc (x5 , x7 ) (x5 , x8 ) (x7 , x6 ) (x8 , x6 ) (x9 , x8 ) (x10 , x8 ) (x11 , x5 ) (x11 , x9 ) (x11 , x10 )

Capacit e de larc 2 2 7 7 2 5 3 2 4

Flux de larc 1 2 7 6 2 2 1 2 2

1. Ordonnancer les sommets par niveaux. 2. Tracer le graphe canonique correspondant. 3. Prouver que le ot est complet mais pas maximal. 4. Utiliser lalgorithme de Ford-Fulkerson pour maximiser le ot. Quelle est alors la valeur du ot maximal ? Retrouver cette valeur ` a laide de la coupe de capacit e maximale.
Exercice 45 Une soci et e de vente par correspondance g` ere un r eseau commercial et logistique compos e

de : trois centres de prise de commandes Ci (i = 1, 2, 3), deux centres de pr eparation de commandes Pj (j = 1, 2), deux centres de distribution Dk (k = 1, 2). Cette soci et e d esire evaluer la capacit e mensuelle du r eseau (nombre maximum de commandes pouvant etre prises, pr epar ees et livr ees en un mois). Le r eseau poss` ede les caract eristiques suivantes (en milliers de commandes par mois) : les capacit es de prise de commandes de C1 , C2 et C3 sont respectivement de 30, 30 et 10, les capacit es de pr eparation de commandes de P1 et P2 sont respectivement de 10 et 60, les capacit es de distribution de D1 et D2 sont respectivement de 30 et 50,

chaque centre de prise de commandes peut alimenter les deux centres de pr eparation mais les capacit es des liaisons informatiques limitent ` a un maximum de 20000 commandes par mois le ux entre un centre Ci et un centre Pj , P1 alimente D1 , P2 alimente uniquement D2 , D2 a la possibilit e de transf erer une partie de son activit e sur D1 ; ce transfert ne peut d epasser 20000 commandes par mois, il ne r eduit pas la capacit e de distribution de D2 , parmi les clients de la soci et e, les collectivit es ne sadressent qu` a C3 ; il y a un minimum de 5000 commmandes mensuelles de ce type. 1. Construire en le justiant le r eseau de transport mod elisant le contexte. 2. D enir le nombre maximum de commandes que la soci et e peut traiter mensuellement (on pourra partir dun ot initial nul). Traduire le ot obtenu en termes dactivit e pour chaque centre. 3. Identier une coupe de capacit e minimale.

106

CHAPITRE 7. OPTIMISATION DES FLUX

Exercice 46 Avant d etablir un projet de construction dautoroute on d esire etudier la capacit e du r eseau

autoroutier, repr esent e par le graphe suivant :

Pour cela, on a evalu e le nombre maximal de v ehicules que chaque route peut ecouler par heure, compte tenu des ralentissements aux travers ees des villes et villages, des arr ets aux feux, etc. . . Ces evaluations sont indiqu ees en centaines de v ehicules par heure sur les arcs du graphe (nombres entre crochets). Les temps de parcours entre villes sont tels que les automobilistes nemprunteront que les chemins repr esent es par le graphe. Quel est le d ebit horaire total maximum de v ehicules susceptibles de s ecouler entre les villes E et S ? (En utilisant lalgorithme de Ford-Fulkerson, augmenter le ot entre les sommets E et S jusqu` a ce quil devienne maximal).
Exercice 47 Soit le probl` eme de transport suivant : une rme dispose de trois entrep ots A, B et C

dans lesquels sont stock es respectivement 31, 14 et 26 tonnes de marchandises. La rme doit livrer 5 clients u, v , x, y et z ayant respectivement un besoin de 15, 20, 9, 10 et 17 tonnes de marchandises. Les co uts de transport (par tonne de marchandises) des entrep ots vers les clients sont les suivants :
``` ``` ``` Clients u ``` Entrep ot ` `

v 5 4

x 9

y 12 8

z 10

A B C

On voit que chaque client nest pas accessible ` a partir de chaque entrep ot. Utiliser les ots an de voir sil existe une solution r ealisable ` a ce probl` eme. Si le probl` eme est r ealisable, en donner une solution. Sinon, quelle est la quantit e maximale de marchandises qui peut etre d elivr ee ?
Exercice 48 Une soci et e dimport-export dispose, dans les ports de Veracruz, S ao Paulo, Conakry et

Abidjan, de stocks de caf e de respectivement 120 tonnes, 100 tonnes, 100 tonnes et 100 tonnes, pour lesquels elle a re cu des commandes dimportateurs de Dunkerque (100 tonnes), Bordeaux (80 tonnes), Saint-Nazaire (90 tonnes) et Le Havre (150 tonnes). Divers bateaux se rendent des ports etrangers consid er es vers les ports fran cais de destination. Les tonnages sont donn es par le tableau suivant :

7.4. EXERCICES RECAPITULATIFS


``` ``` Destination ``` Dunkerque ``` Origine ` `

107

Bordeaux 30 40 20 20

Saint-Nazaire 20 10 40 40

Le Havre 80 80

Veracruz S ao Paulo Conakry Abidjan

70 50

D eterminer les diverses cargaisons de fa con ` a satisfaire au mieux les demandes, les commandes destin ees ` a Bordeaux et au Havre etant prioritaires. On donnera egalement la coupe minimale.

108

CHAPITRE 7. OPTIMISATION DES FLUX

Chapitre 8

La programmation lin eaire


8.1 Introduction

La programmation math ematique recouvre un ensemble de techniques doptimisation sous contraintes qui permettent de d eterminer dans quelles conditions on peut rendre maximum ou minimum une fonction objectif Z (Xj ) de n variables Xj li ees par m relations ou contraintes Hi (Xj ) 0. De nombreux probl` emes de lentreprise peuvent sexprimer en termes doptimisation contrainte, aussi rencontre t-on de multiples applications de la programmation math ematique et ceci dans pratiquement tous les domaines de la gestion. La gestion de production est le domaine o` u ces applications sont les plus nombreuses. On citera entre-autres : l elaboration de plans de production et de stockage, le choix de techniques de production, laectation de moyens de production, la d etermination de la composition de produits. Les applications sont egalement nombreuses dans le domaine du marketing avec, en particulier : le choix de plans-m edia, la d etermination de politiques de prix, la r epartition des eorts de la force de vente, la s election des caract eristiques du produit. On citera encore des applications en mati` ere nanci` ere (choix de programmes dinvestissements), en mati` ere logistique (gestion des transports) et en mati` ere de gestion des ressources humaines (aectation de personnel). Si les applications de la programmation math ematique sont aussi nombreuses, on doit lattribuer en grande partie ` a la souplesse de ses techniques en ce qui concerne leur formulation mais aussi ` a la relative simplicit e des m ethodes de r esolution utilisables dans les cas les plus courants et pour lesquelles existent des programmes informatiques largement r epandus. Parmi les techniques de programmation math ematique la programmation lin eaire est la plus classique. Les deux chapitres qui suivent traitent exclusivement de ce type de programmation.

8.2

Mod elisation dun programme lin eaire

La formalisation dun programme est une t ache d elicate mais essentielle car elle conditionne la d ecouverte ult erieure de la bonne solution. Elle comporte les m emes phases quelles que soient les techniques requises ult erieurement pour le traitement (programmation lin eaire ou programmation non lin eaire) : 1. La d etection du probl` eme et lidentication des variables. Ces variables doivent correspondre exactement aux pr eoccupations du responsable de la d ecision. En programmation math ematique, les variables sont des variables d ecisionnelles. 2. La formulation de la fonction economique (ou fonction objectif) traduisant les pr ef erences du d ecideur exprim ees sous la forme dune fonction des variables identi ees.

110

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

3. La formulation des contraintes. Il est bien rare quun responsable dispose de toute libert e daction. Le plus souvent il existe des limites ` a ne pas d epasser qui rev etent la forme d equations ou din equations math ematiques. Le responsable dune d ecision ne dispose que de sa comp etence pour r ealiser une formalisation correcte du probl` eme pos e car il nexiste pas de m ethode en la mati` ere. Un moyen dacqu erir cette comp etence est lapprentissage comme propos e dans les exemples suivants :

8.2.1

Exemples

Exemple 8.2.1 Une usine fabrique deux produits P1 et P2 ` a laide de trois mati` eres premi` eres M1 , M2 et M3 dont on dispose en quantit e limit ee. On se pose le probl` eme de lutilisation optimale de ce stock de mati` eres premi` eres cest-` a-dire la d etermination dun sch ema, dun programme de fabrication tel que : les contraintes de ressources en mati` eres premi` eres soient respect ees, le b en ece r ealis e par la vente de la production soit maximum. Mod` ele math ematique : Donn ees num eriques des contraintes. La disponibilit e en mati` eres premi` eres est de 18 unit es de M1 , 8 unit es de M2 et 14 unit es de M3 . Caract eristiques de fabrication. Elles sont donn ees dans le tableau ci-dessous : M1 P1 P2 1 3 M2 1 1 M3 2 1

Hypoth` eses de lin earit e du mod` ele. La fabrication est ` a rendement constant, cest-` a-dire que pour fabriquer x1 unit es de P1 , il faut 1 x1 unit es de M1 , 1 x1 unit es de M2 et 2 x1 unit es de M3 , de m eme pour la fabrication de x2 unit es de P2 . Lin earit e de la fonction economique. On suppose que le b en ece peut sexprimer ` a laide des b en eces unitaires c1 , c2 sous la forme : Z = c1 x1 + c2 x2 R ealisation dun sch ema de production. Un sch ema de production est un couple (x1 , x2 ), x1 et x2 d esignant respectivement les quantit es de P1 et P2 fabriqu ees donc vendues, qui doit v erier les contraintes x1 0, x2 0. Deux questions se posent : un tel sch ema est-il r ealisable ? A-t-on susamment de mati` eres premi` eres pour assurer une telle production ? Le programme lin eaire : x 1 0 , x2 0 x1 + 3x2 18 x1 + x2 8 2x1 + x2 14 Z = c1 x1 + c2 x2

o` u Z est une fonction economique ou fonction objectif quil faut maximiser. Exemple 8.2.2 Lintendant dun lyc ee doit composer un menu qui doit contenir un minimum d el ements nutritifs et qui doit etre le moins co uteux possible. On se limite ` a une situation simple, deux denr ees alimentaires principales D1 , D2 et trois el ements nutritifs, les vitamines V, les calories C et les prot eines P. Le tableau suivant indique le nombre d el ements nutritifs par unit e daliment :

8.2. MODELISATION DUN PROGRAMME LINEAIRE

111

V D1 D2 1 5

C 1 2

P 3 2

Une unit e de D1 contient 1 unit e de V, 1 unit e de C et 3 unit es de P. Mod` ele math ematique : Contraintes di et etiques. Le menu doit comporter au minimum 5 unit es de V, 4 unit es de C, 6 unit es de P. Les co uts unitaires sont 20 pour D1 , 25 pour D2 . R ealisation du menu. Un menu contenant x1 unit es de D1 , x2 unit es de D2 est r ealisable si le couple (x1 , x2 ) v erie : x1 0, x2 0 x1 + 5x2 5 x + 2x2 4 1 3x1 + x2 6 Le programme lin eaire. Le probl` eme consiste ` a d eterminer deux nombres x1 et x2 tels que : x1 0, x2 0 x1 + 5x2 5 x1 + 2x2 4 3x1 + x2 6 Z = 20x1 + 25x2 graphique o` u Z est la fonction objectif ` a minimiser.
Exercice 49 Formaliser les situations suivantes :

1. La soci et e Bonvin, S.A., qui pratique le n egoce en vins propose ` a sa client` ele deux vins de table : lun est d enomm e Extra, lautre Sup erieur. Ces produits sont obtenus par coupage de crus issus de diverses r egions : un vin de lH erault, un vin du Bordelais et un vin dItalie. Les coupages sont r ealis es selon les proportions xes suivantes : Vin Extra Vin de lH erault Vin du Bordelais Vin dItalie Total 0,5 0,3 0,2 1 Vin Sup erieur 0,2 0,6 0,2 1

Apr` es les vendanges, la soci et e dispose en stock dans ses cuves des quantit es suivantes de crus dorigine : Vin de lH erault .. 13600 hectolitres Vin du Bordelais .. 12000 hectolitres Vin dItalie ... 10400 hectolitres Ces quantit es constituent les ressources disponibles pour la production de lann ee ` a venir. En outre, compte tenu des capacit es techniques de mise en bouteille existantes, cette production ne peut pas d epasser 36000 hectolitres au total dans lann ee. Lactivit e de cette entreprise comporte des co uts qui ont et e class es en deux cat egories : Une partie est consid er ee comme xe ; elle correspond aux approvisionnements, puisque ceux-ci sont d eja constitu es, ainsi quaux frais de personnel. Ces co uts s el` event ` a 12000000 euros pour lann ee. Lautre partie correspond aux frais de mise en bouteille, demballage et de commercialisation. Cette seconde partie est proportionnelle aux quantit es produites : soit 100 euros par hectolitre de vin quelle que soit la qualit e de celui-ci.

112

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

Une etude de march e r ev` ele que celui-ci ne saurait absorber plus de 20000 hectolitres de vin Extra ` a 500 euros par hectolitre, et 16000 hectolitres de vin Sup erieur ` a 600 euros lhectolitre. Le probl` eme de cette entreprise peut etre formul e ainsi : Quelles quantit es faut-il produire de vin Extra et Sup erieur an de rendre maximum le b en ece total ? 2. Consid erons d esormais : que le vin Extra doit contenir au moins 30% de cru du Bordelais et au plus 20% de cru dItalie, et que le vin Sup erieur doit etre compos e dau moins 60% de cru du Bordelais et dau moins 20% de cru de lH erault. Toutes les autres caract eristiques du probl` eme restent identiques au cas pr ec edent. Le probl` eme peut sexprimer sous la forme : Quelle quantit e de chaque vin dorigine aecter ` a chaque qualit e de produit ni ? 3. On consid` ere un co ut dapprovisionnement qui nest plus xe. Transport inclus, il s el` eve ` a: vin de lH erault : 230 euros lhectolitre, vin du Bordelais : 250 euros lhectolitre, vin dItalie : 180 euros lhectolitre. Il subsiste n eanmoins un co ut xe constitu e pour lessentiel de frais de personnel, egal ` a 4000000 euros. Le probl` eme pr esent comporte trois questions : } - Quelle quantit e produire pour chaque vin, Extra et Sup erieur, - Quelle composition adopter - Quelle quantit e de mati` eres premi` eres acqu erir aupr` es des fournisseurs ? Remarque 8.2.1 Ces trois questions sont li ees et on peut constater que le fait de conna tre la quantit e de chaque mati` ere premi` ere incorpor ee dans chaque produit permet de d eterminer simultan ement lapprovisionnement n ecessaire, la composition ad equate des produits et la quantit e` a produire. 4. Les produits de la soci et e sont conditionn es dans des r ecipients de 0, 75 litre et de 3 litres. An de pouvoir satisfaire la client` ele, Bonvin se xe comme objectif annuel de disposer dau moins 400000 bouteilles de 3 litres et dau moins 3200000 bouteilles de 0,75 litre. Pour produire ces r ecipients Bonvin dispose de deux ateliers dont les rendements sont di erents : Nombre de r ecipients par heure de fonctionnement Atelier A 0,75 litre ... 3 litres ..... 500 400 Atelier B 400 320

Chaque atelier fonctionne au maximum 4000 heures dans lann ee. Les pr evisions de co ut variable de production de chaque type de r ecipient donnent comme r esultats : Co uts variables de production Atelier A 0,75 litre ... 3 litres ..... 0,4 0,75 Atelier B 0,55 0,85

Mais Bonvin peut egalement sous-traiter la fabrication de ces r ecipients ` a la soci et e Corec qui propose comme tarif : 0,5 euro la bouteille de 0,75 litre 1 euro la bouteille de 3 litres Les dirigeants de Bonvin S.A. se posent trois questions faut-il produire des bouteilles et en quelles quantit es ?

8.2. MODELISATION DUN PROGRAMME LINEAIRE

113

en utilisant quelle technique de production (atelier A et/ou atelier B) ? faut-il sous-traiter tout ou partie de la production ` a Corec ? qui peuvent etre condens ees en une seule : Quelles li` eres utiliser pour obtenir les bouteilles n ecessaires ?

8.2.2

Formule g en erale dun programme lin eaire

De fa con g en erale, un probl` eme de programmation math ematique met en jeu quatre cat egories d el ements : des variables ou activit es, des coecients economiques, des ressources, des coecients techniques. Les activit es sont les variables de d ecision du probl` eme etudi e. Il sagit pour lentreprise de s electionner le meilleur programme dactivit es X = (x1 , . . . , xn ), cest-` a-dire celui qui est le plus conforme ` a ses objectifs. Les coecients economiques mesurent le degr e de r ealisation de lobjectif de lentreprise, associ e ` a une ` chaque variable xj est ainsi associ valeur unitaire de chacune des variables. A e un coecient economique cj . L evaluation des coecients cj d epend du type dobjectif poursuivi : selon le cas ce sera un prix de vente, une marge brute, un co ut variable unitaire, etc. Les ressources peuvent etre egalement de nature tr` es diverse selon le probl` eme rencontr e. Dans tous les cas, ce sont les el ements qui limitent le calcul economique de lentreprise : des capacit es de production limit ees, des normes ` a respecter, des potentiels de vente, etc. Dans tout probl` eme, il faudra ainsi prendre en consid` eration un vecteur de ressources B = (b1 , . . . , bm ) donn e. ` la Par coecient technique on d esignera le degr e de consommation dune ressource par une activit e. A ressource i et ` a lactivit e j correspondra le coecient technique aij . Dans la mesure o` u le probl` eme etudi e met en jeu n activit es et m ressources, il faudra consid erer m n coecients techniques que lon pourra regrouper dans un tableau du type suivant :
``` ``` Activit es ``` ``` Ressources ` `

1 a11 . . . ai1 . . . am1

... ... .. . ... .. . ...

j a1j . . . aij . . . amj

... ... .. . ... .. . ...

n a1n . . . ain ... amn

1 . . . i . . . m

Si les variables sont continues, si les coecients economiques et techniques sont ind ependants des valeurs des variables, alors le probl` eme peut etre formalis e` a laide dun programme lin eaire. Un m eme programme peut etre traduit sous une forme canonique ou sous une forme standard ; lune et lautre pouvant adopter soit la notation alg ebrique classique soit la notation matricielle que lon ne traitera pas ici. Voyons tout dabord la forme canonique. Elle se caract erise par des contraintes pr esent ees sous la forme din equations telles que x1 0, x2 0, . . . , xn 0 a 11 x1 + a12 x2 + . . . + a1n xn ou ou = b1 . . . a i1 x1 + ai2 x2 + . . . + ain xn ou ou = bi . . . am1 x1 + am2 x2 + . . . + amn xn ou ou = bm

114

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

et par une forme lin eaire Z = c1 x1 + c2 x2 + . . . + cn xn R esoudre le programme lin eaire consiste ` a d eterminer les n-uplets (x1 , x2 , . . . , xn ) qui optimisent Z (maximisent ou minimisent) Z ou ` a montrer que de tels n-uplets nexistent pas. On se donne les d enitions suivantes : D enition 8.2.1 On appelle solution r ealisable tout n-uplet (x1 , x2 , . . . , xn ) v eriant le syst` eme din equations pr ec edent. On appelle solution optimale toute solution r ealisable qui optimise Z . On appelle fonction objectif la forme lin eaire Z = c1 x1 + c2 x2 + . . . + cn xn Lensemble des solutions r ealisables du programme lin eaire P est appel e domaine des solutions r ealisables. Lorsque ce domaine est non vide, on dit que P est r ealisable. R esoudre un programme lin eaire consiste ` a d eterminer les valeurs des variables qui permettent doptimiser la fonction economique. Il existe diverses techniques de r esolution parmi lesquelles la m ethode graphique se montre ` a l evidence la plus rapide et la plus simple mais aussi la plus limit ee, car d` es lors que le nombre de variables ou de contraintes d epasse 2, elle devient impraticable. Cest pourquoi divers chercheurs se sont eorc es de mettre au point une m ethode de calcul algorithmique qui permet de d etecter la solution optimale (si elle existe) quel que soit le nombre des variables et des contraintes. Bien que tr` es ecace, cette m ethode connue sous le nom dalgorithme du simplexe, exige des calculs longs et fastidieux. Cest pourquoi ceux-ci sont de plus en plus con es ` a loutil informatique. D` es lors une question se pose : puisque les logiciels correspondants sont largement r epandus, est-il n ecessaire pour appliquer la m ethode, den conna tre les ressorts ? Deux raisons essentielles justient une r eponse armative : dabord, la compr ehension des principes de r esolution est une aide pr ecieuse pour, en amont, analyser et formaliser le probl` eme et pour, en aval, interpr eter et exploiter la solution obtenue ; ensuite parce que la d emarche algorithmique pr esente en elle-m eme un int er et formateur non n egligeable.

8.3
8.3.1

M ethode graphique : probl` eme ` a deux inconnues


R egionnement du plan

Le r egionnement du plan revient ` a etudier le signe de ax + by + c avec (a, b) = (0, 0). Si on consid` ere la droite D dont une equation est ax + by + c = 0 avec a = 0 ou b = 0, cette droite partage le plan en deux demi-plans (I ) et (II ) de fronti` ere D :

Pour tout point M (x, y ) situ e sur D, on a ax + by + c = 0 . Pour tous les points M (x, y ) situ es dans le demi-plan (I ), ax + by + c a le m eme signe et si ax + by + c > 0 (respectivement < 0) alors tous les points N (x, y ) situ es dans le demi-plan (II ) v erient ax + by + c < 0 (respectivement > 0).

` ` DEUX INCONNUES 8.3. METHODE GRAPHIQUE : PROBLEME A

115

Exemple 8.3.1 Signe de x + y 1 :

` lorigine, x + y 1 = (0) + (0) 1 = 1 < 0 donc pour On trace la droite d equation x + y 1 = 0. A tous les points M (x, y ) situ es dans le demi-plan (II ), x + y 1 < 0 et pour tous les points N (x, y ) situ es dans le demi-plan (I ), x + y 1 > 0. Pour les points P (x, y ) de la droite D, x + y 1 prend la valeur 0.

Signe de x + y : On trace la droite D d equation x + y = 0, cette droite contient lorigine du rep` ere. Pour le point A(1, 0), x y = 1 > 0 donc pour tous les points M (x, y ) situ es dans le demi-plan (I ), x y > 0 et pour tous les points N (x, y ) situ es dans le demi-plan (II ), x y < 0. Pour les points P (x, y ) de la droie D, x y prend la valeur 0.

8.3.2

Les ensembles convexes

D enition 8.3.1 Un ensemble E est dit convexe si pour M1 et M2 deux points quelconques de E , tous les points du segment [M1 , M2 ] appartiennent ` a E. Exemple 8.3.2 Le disque est un ensemble convexe :

Le rectangle est un ensemble convexe :

116

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

Le cercle nest pas un ensemble convexe : les points du segment ]M1 , M2 [ nappartiennent pas au cercle.

Cet ensemble nest pas convexe.

8.3.3

R esolution de syst` emes din equations - Exemples

Exemple 8.3.3 On consid` ere le syst` eme suivant : x1 0, x2 0 x1 x2 1 x1 + 4x2 2 6x1 + x2 2 Comme x1 0 et x2 0, les points M (x1 , x2 ) seront choisis dans le quart du plan :

Lensemble des solutions est repr esent ee par la surface grise. On consid` ere ensuite le syst` eme partiel { x1 0, x2 0 x1 + 4x2 2 On trace la droite D1 d equation x1 + 4x2 = 2. Comment d eterminer le demi-plan qui convient ? Il sut de prendre un point quelconque du plan et dobserver si ses coordonn ees v erient lin equation. Si cest le cas, le point se situe dans le bon demi-plan. Consid erons par exemple lorigine, x1 + 4x2 = 0 + 4 0 = 0 2 donc lorigine est solution et tous les points situ es dans le demi-plan contenant lorigine sont solutions.

` ` DEUX INCONNUES 8.3. METHODE GRAPHIQUE : PROBLEME A

117

On consid` ere ensuite le syst` eme

x1 0, x2 0 x1 + 4x2 2 x1 x2 1

On trace la droite D2 d equation x1 x2 = 1. Consid erons lorigine, x1 x2 = 0 0 = 0 > 1 donc lorigine nest pas solution, les solutions du syst` e me sont par cons equent les points du triangle ABC et son ( ) 2 1 int erieur avec A(1, 0), B (2, 0) et C , . 3 3

On consid` ere enn le syst` eme de d epart x1 0, x2 0 x1 + 4x2 2 x1 x2 1 6x1 + x2 2 On trace la droite D3 d equation 6x1 + x2 = 2. Consid erons le point origine, 6x1 + x2 = 6 0 + 0 = 0 < 2 donc lorigine est solution de lin equation. On s electionne le demi-plan qui convient et on observe nalement que le syst` eme nadmet pas de solution (la partie grise est inexistante).

Exemple 8.3.4 On consid` ere le syst` eme suivant : x1 0, x2 0 x1 + x2 1 3x1 + x2 3 On s electionne lintersection des deux demi-plans x1 0 et x2 0.

118

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

On consid` ere la droite d equation D1 : x1 + x2 = 1. Le demi-plan qui convient est rep er e gr ace, par exemple, ` a lorigine.

On consid` ere la droite d equation D2 : 3x1 + x2 = 3. Le demi-plan qui convient est rep er e une fois de plus gr ace ` a lorigine. Lensemble solution se restreint ` a un seul point, le couple solution (1, 0).

Exemple 8.3.5 On consid` ere le syst` eme suivant : x 1 0 , x2 0 x1 + 5x2 5 x + 2x2 4 1 3x1 + 2x2 6 Comme x1 0 et x2 0, les points M (x1 , x2 ) seront choisis dans le quart du plan :

On consid` ere la droite d equation D1 : x1 +5x2 = 5. Le demi-plan qui convient est rep er e gr ace, par exemple, ` a lorigine.

` ` DEUX INCONNUES 8.3. METHODE GRAPHIQUE : PROBLEME A

119

On consid` ere la droite d equation D2 : x1 +2x2 = 4. Le demi-plan qui convient est rep er e gr ace, par exemple, ` a lorigine.

On consid` ere la droite d equation D3 : 3x1 + 2x2 = 6. Le demi-plan qui convient est rep er e gr ace, par exemple, ` a lorigine.

Exemple 8.3.6 On consid` ere le syst` eme suivant : x 1 0 , x2 0 x1 + 3x2 18 x + x2 8 1 2x1 + x2 14 Soient les droites d equations respectives D1 : x1 + 3x2 = 18, D2 : x1 + x2 = 8 et D3 : 2x1 + x2 = 14. Lensemble solution est un poly` edre convexe limit e par la ligne polygonale OABCD.

120

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

8.3.4

R esolution de programmes lin eaires

Exemple 8.3.7 On reprend le syst` eme de lexemple 8.3.4 auquel on ajoute une fonction objectif : x 1 0 , x2 0 3x1 + x2 3 x + x2 1 1 Z = 3x1 + x2 ` a maximiser On rappelle que le domaine des solutions r ealisables est donn e graphiquement par :

Le programme lin eaire admet une unique solution r ealisable (1, 0) qui est dailleurs la solution optimale. Z est maximum pour le couple (1, 0) et vaut Z = 3 1 + 0 = 3. Exemple 8.3.8 On reprend le syst` eme de lexemple 8.3.3 auquel on ajoute une fonction objectif : x 1 0 , x2 0 x1 + 4x2 2 x1 x2 1 6x1 + x2 2 Z = 6x1 + x2 ` a maximiser Lensemble solution est donn e graphiquement par :

Ce programme na pas de solution r ealisable. Le domaine des solutions r ealisables est le vide. Exemple 8.3.9 On reprend le syst` eme de lexemple 8.3.6 auquel on ajoute une fonction objectif : x1 0, x2 0 x1 + 3x2 18 x1 + x2 8 2x1 + x2 14 Z = 2x1 + 4x2 ` a maximiser Le domaine des solutions r ealisables est donn e graphiquement par :

` ` DEUX INCONNUES 8.3. METHODE GRAPHIQUE : PROBLEME A

121

Le domaine des solutions r ealisables est un domaine plan, d elimit e par le polygone OABCD. Le domaine plan est un ensemble convexe. On d etermine ensuite les couples (x1 , x2 ) de solutions r ealisables tels que Z = 2x1 + 4x2 soit maximum. Pour tout nombre Z , on note DZ la droite d equation Z = 2x1 + 4x2 . ( ) ( ) 1 4 2 Un vecteur directeur de cette droite DZ est v ou w . Son coecient directeur est . En 2 1 2 1 Z eet, x2 = x1 + . Lorsque Z varie, ces droites DZ ayant m eme coecient directeur sont parall` eles entre 2 4 Z Z equivalent ` a maximiser . Le probl` eme elles. Lordonn ee ` a lorigine des droites DZ est . Maximiser Z est 4 4 consiste donc ` a d eterminer une ou plusieurs droites DZ qui rencontrent le domaine des solutions r ealisables et ayant une ordonn ee ` a lorigine maximale. Lorsque Z augmente, la droite DZ se d eplace parall` element ` a elle m eme vers le haut :

La droite DZ qui rencontre le domaine des solutions r ealisables et qui a une ordonn ee ` a lorigine maximale est celle qui contient le point C . Le programme lin eaire a une seule solution maximale, le couple (3, 5). En conclusion, pour x1 = 3, x2 = 5, la fonction objectif est maximale et vaut Z = 2 3 + 4 5 = 26. Remarque 8.3.1 La fonction objectif atteint son maximum en un des sommets du polygone.

122

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

Exemple 8.3.10 On consid` ere le syst` eme x1 0, x2 0 x1 + x2 2 2 x1 + x2 3 Z = x1 + x2 ` a minimiser Le domaine des solutions r ealisables est donn e graphiquement par :

Le domaine des solutions r ealisables est convexe. Minimisons la fonction objectif : pour Z donn e, on trace la droite equation x1 + x2 = Z x2 = x1 + Z . Lorsque Z varie, ces droites DZ de vecteur directeur ( ) DZ d 1 (de coecient directeur 1) sont parall` eles entre elles. On recherche une ou plusieurs droites DZ ayant 1 une ordonn ee ` a lorigine Z minimale. Pour toute valeur de Z ( R), DZ rencontre le domaine des solutions r ealisables. Le programme lin eaire na pas de solution minimale. Exemple 8.3.11 On reprend le syst` eme de lexemple 8.3.5 auquel on ajoute une fonction objectif : x 1 0 , x2 0 x1 + 5x2 5 x1 + 2x2 4 3x1 + 2x2 6 Z = 20x1 + 25x2 ` a minimiser Le domaine des solutions r ealisables est donn e graphiquement par :

4 Z Pour Z donn e, on trace la droite DZ d equation Z = 20x1 + 25x2 ou encore x2 = x1 + . Cette droite 5) 25 ( ) ( 4 25 5 DZ a pour coecient directeur , pour vecteur directeur v ou w et pour ordonn ee ` a 20 4 5

` ` DEUX INCONNUES 8.3. METHODE GRAPHIQUE : PROBLEME A

123

Z 4 . On trace des droites DZ de coecient directeur et on recherche une ou plusieurs droites 25 5 Z DZ , rencontrant le domaine des solutions r ealisables et ayant une ordonn ee ` a lorigine minimale. La 25 droite DZ rencontrant le domaine ealisables et ayant une ordonn ee ` a lorigine est ( ) des solutions r ( minimale ) 3 3 celle qui contient le point C 1, . La fonction objectif atteint son minimum pour le couple 1, et vaut 2 2 3 115 Z = 20 1 + 25 = . 2 2 lorigine Exemple 8.3.12 On consid` ere le syst` eme mis en place dans le cadre de lexemple 8.3.6 : x1 0, x2 0 x1 + 3x2 18 x1 + x2 8 2 x1 + x2 14 Z = c1 x1 + c2 x2 o` u Z est une fonction economique ou fonction objectif quil faut maximiser et c1 et c2 sont les b en eces unitaires. R esolvons ce probl` eme lin eaire, on discutera bien-s ur des valeurs attribu ees ` a c1 et c2 . Le domaine des solutions r ealisables est le domaine convexe d elimit e par le polygone OABCD. Les coordonn ees des sommets sont obtenues en d eterminant les intersections des droites donc en r esolvant des syst` emes de deux equations ` a deux inconnues. Etude de cas particuliers c1 = 1, c2 = 4 : on trace les droites DZ d equations : ( 4 1

de vecteur directeur v 1 ( ) 0 le point D . La fonction objectif est maximale pour le couple (0, 6) et vaut Z = 0 + 4 6 = 24. 6 c1 = 2, c2 = 4 : on trace les droites DZ d equations : 1 Z 2x1 + 4x2 = Z x2 = x1 + 2 4 ( ) 2 de vecteur directeur v 2 . La droite qui a une ordonn ee ` a lorigine maximale est celle qui contient 1 ( ) 3 le point C . La fonction objectif atteint son maximum au point (3, 5) et vaut Z = 23+45 = 26. 5 c1 = 2, c2 = 2 : on trace les droites DZ d equations : Z 2x1 + 2x2 = Z x2 = x1 + 2 ( ) 1 de vecteur directeur v 3 . Cette droite DZ est parall` ele au c ot e (BC ) du polygone. La fonction 1 objectif atteint son maximum en tous les points du c ot e (BC ). La fonction objectif atteint donc ce maximum pour tous les couples (x1 , x2 ) tels que x1 + x2 = 8 et 3 x1 6. Z vaut alors 2x1 +2x2 = 16. c1 = 3, c2 = 2 : on trace les droites DZ d equations : 3 Z 3x1 + 2x2 = Z x2 = x1 + 2 2 ( ) 2 de vecteur directeur v 4 . La droite qui a une ordonn ee ` a lorigine maximale est celle qui contient 3 ( ) 6 le point B . La fonction objectif atteint son maximum au point (6, 2) et vaut Z = 36+22 = 22. 2 c1 = 5, c2 = 1 : on trace les droites DZ d equations : 5x1 + x2 = Z x2 = 5x1 + Z

) . La droite qui a une ordonn ee ` a lorigine maximale est celle qui contient

1 Z x1 + 4x2 = Z x2 = x1 + 4 4

124 ( 1 5

CHAPITRE 8. LA PROGRAMMATION LINEAIRE ) . La droite qui a une ordonn ee ` a lorigine maximale est celle qui contient

de vecteur directeur v 5 ( ) 7 le point A . La fonction objectif atteint son maximum au point (7, 0) et vaut Z = 5 7 + 0 = 35. 0

Remarque 8.3.2 En fonction des di erentes valeurs attribu ees ` a c1 et c2 , la fonction objectif atteint son maximum en di erents sommets du polygone. Le programme lin eaire a soit une unique solution soit une innit e de solutions (lorsque la droite DZ est parall` ele ` a lun des c ot es du polygone). Etude du cas g en eral. L equation de DZ est donn ee par : DZ : c1 x1 + c2 x2 = Z x2 = ( Ces droites DZ ont pour vecteur directeur v ` a lorigine p = Z . c2 c2 c1 c1 Z x1 + avec c1 > 0, c2 > 0. c2 c2

) c1 , pour coecient directeur m = et pour ordonn ee c2

Z . On recherche une ou plusieurs droites DZ rencontrant le domaine c2 des solutions r ealisables et ayant une ordonn ee ` a lorigine maximale. Le c ot e (AB ) a pour equation 2x1 + x2 = 14, le coecient directeur est 2 et 6 x1 7. Le c ot e (BC ) a pour equation x1 + x2 = 8, le coecient directeur est 1 et 3 x1 6. 1 Le c ot e (CD) a pour equation x1 + 3x2 = 18, le coecient directeur est et 0 x1 3. 3 c1 La droite DZ a pour coecient directeur , on compare ensuite ce coecient aux pentes des droites c2 contenant les c ot es (AB ), (BC ) et (CD). Maximiser Z est equivalent ` a maximiser c1 c1 < 2 > 2 c1 > 2c2 c2 c2 Dans ce cas, la droite des b en eces est plus pointue que le c ot e (AB ). Le maximum est atteint au point A(7, 0) et en ce point seulement. Le programme lin eaire admet une seule solution maximale (7, 0) qui est un sommet, avec x2 = 0 on ne produit que P1 . c1 = 2 c1 = 2c2 c2 2 est la pente du c ot e (AB ). Les droites DZ : c1 x1 + c2 x2 = Z sont parall` eles au c ot e (AB ). Il y a une innit e de solutions optimales repr esent ees par tous les points du segment [ AB ] d e ni par : { 2x1 + x2 = 14 [AB ] : 6 x1 7

` ` DEUX INCONNUES 8.3. METHODE GRAPHIQUE : PROBLEME A {

125

6 x1 7 sont solutions optimales, le b en ece vaut alors 2x1 + x2 = 14 14c2 . En eet, Z = c1 x1 + c2 x2 = 2c2 x1 + c2 x2 = c2 (2x1 + x2 ). c1 c1 2 < < 1 1 < <2 c2 c2 1 est la pente du c ot e (BC ), 2 celle de (AB ). Le maximum est atteint en un seul point B qui est aussi un sommet. c1 c1 = 1 = 1 c1 = c2 c2 c2 Les droites DZ sont parall` eles au c ot e (BC ). Il y a une innit e de solutions optimales repr esent ees par tous les points du segment [BC ] d eni par : { x1 + x2 = 8 [BC ] : 3 x1 6 { 3 x1 6 Tous les couples (x1 , x2 ) tels que sont solutions optimales, le b en ece vaut alors 8c1 . x1 + x2 = 8 c1 1 1 < < c2 3 1 ot e (CD), 1 celle du c ot e (BC ). Le programme lin eaire a un seule solution est la pente du c 3 optimale soit le point C (3, 5) qui est un sommet. 1 c1 = c2 = 3c1 c2 3 Les solutions optimales sont tous les points du u une innit e de solutions. {segment [CD] do` x1 + 3x2 = 18 [CD] : 0 x1 3 La fonction objectif atteint son maximum{ pour tous les couples (x1 , x2 ) tels que x1 + 3x2 = 18 0 x1 3 et le b en ece vaut Z = 18c1 . 1 c1 c1 1 < <00< < 3 c2 c2 3 Il existe une seule solution optimale cest-` a-dire le point D(0, 6) qui est un sommet ; x1 etant nul, on ne produit que P2 . Tous les couples (x1 , x2 ) tels que

Exemple 8.3.13 Consid erons lexemple suivant faisant intervenir trois dimensions : x1 0, x2 0, x3 0 2x1 + x2 + 2x3 4 Z = x1 + x2 ` a maximiser On trace le plan equation 2x1 + x2 + 2x3 = 4. Ce plan rencontre les axes de coordonn ees aux points d 0 0 2 M1 0 , M2 4 , M3 0 . 2 0 0

126

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

Le domaine des solutions r ealisables est repr esent e par lint erieur de la pyramide OM1 M2 M3 . La fonction objectif est x1 + x2 = Z . Lorsque Z varie, x1 + x2 = Z est l equation dun plan parall` ele ` a (0, k ), ce plan rencontre le plan (O, i, j ) suivant la droite d equation Z = 0 et x1 + x2 = Z . Le plan PZ qui rencontre le 0 4 . La domaine des solutions r ealisables et tel que Z soit maximum est celui qui contient le point M 0 fonction objectif atteint son maximum en un seul point qui est dailleurs un des sommets, cest-` a-dire M2 .

8.3.5

Cas g en eral

Soit un programme lin eaire P . On admettra les r esultats suivants : 1. Le domaine des solutions r ealisables de tout programme lin eaire ` a n variables est soit lensemble vide soit une partie convexe de Rn . 2. Dans le cas dun programme lin eaire ` a deux variables, le domaine des solutions r ealisables, lorsquil nest pas vide, est une partie D du plan d elimit e par un polygone convexe, poss edant eventuellement des c ot es de longueur innie. Dans chaque cas, lensemble des solutions optimales (lorsquil nest pas vide) contient un sommet de D, cest-` a-dire que si la fonction objectif a un maximum ou un minimum, il est atteint en au moins un des sommets du polygone d elimitant le domaine des solutions r ealisables. 3. On admettra que ces r esultats se g en eralisent ` a un programme lin eaire ` a n variables.

8.3.6

Exercices

Exercice 50 enes A1 et A2 dans trois en Une entreprise stocke successivement deux types de polystyr`

trep ots distincts E1 , E2 et E3 an quils y subissent des traitements particuliers. Le co ut de fonctionnement de lentrep ot E1 est de 200 euros par jour, celui de lentrep ot E2 est de 400 euros et celui de lentrep ot E3 est de 300 euros. Les temps de stockage pour une tonne de polystyr` ene A1 sont de 3 jours dans lentrep ot E1 , de 1 jour dans lentrep ot E2 et dune demi-journ ee dans lentrep ot E3 . Ils sont pour le polystyr` ene A2 de 2 jours dans chacun des 3 entrep ots. Les co uts de fabrication des polystyr` enes A1 et A2 sont respectivement de 600 euros et 400 euros la tonne. Les prix de vente dune tonne des polystyr` enes fabriqu es sont de 1950 euros pour A1 et de 2440 euros pour A2 . 1. (a) Calculer le co ut de stockage dune tonne de polystyr` ene A1 et dune tonne de polystyr` ene A2 . (b) D eterminer le b en ece r ealis e par la fabrication, le stockage et la vente dune tonne de chacun des produits. (c) En d eduire que le b en ece total Z pour la production, le stockage et la vente de x tonnes de polystyr` ene A1 et de y tonnes de polysytyr` ene A2 est donn e par Z = 200x + 240y . 2. La logistique des stockages est telle que lentrep ot E1 peut fonctionner au maximum 360 jours dans lann ee, lentrep ot E2 peut fonctionner au maximum 160 jours par an, lentrep ot E3 ne peut fonctionner annuellement plus de 120 jours. La demande est telle que la production de polystyr` ene A1 ne peut d epasser 120 tonnes, celle de A2 50 tonnes. (a) D eterminer les nombres x et y de tonnes des deux produits fabriqu es pour que lentrep ot E1 fonctionne exactement 360 jours et lentrep ot E3 exactement 120 jours. Cette production est-elle possible ? (b) On veut maintenant d eterminer les nombres x et y de tonnes des deux produits fabriqu es, stock es et vendus qui donneraient ` a lentreprise le b en ece maximum. i. Donner les 7 contraintes de production ainsi que la fonction ` a maximiser sous la forme dun programme lin eaire du type

` ` DEUX INCONNUES 8.3. METHODE GRAPHIQUE : PROBLEME A x et/ou y et/ou . . . Z = ` a maximiser ii. Repr esenter sur le graphique ci-joint le domaine des solutions r ealisables en justiant.

127

` laide dune r iii. A esolution graphique, d eterminer en justiant la production qui assurera le b en ece maximal. Quel sera alors son prix ?

Exercice 51 ede deux unit es de production U1 et U2 . Elle commercialise ses pro Une entreprise poss`

duits ` a laide de trois entrep ots distincts E1 , E2 et E3 situ es dans di erentes zones de consommation. Le tableau ci-dessous indique pour chaque entrep ot, les proportions de stockage dunit es x et y provenant respectivement de U1 et U2 .
HH Ei H E1 Ui HH H

E2 2 3

E3 1 1

U1 U2

1 2

Ces valeurs signient par exemple que les structures de lentrep ot E1 permettent de stocker 2 fois plus dunit es provenant de U2 que dunit es provenant de U1 . Lorganisation actuelle des entrep ots est telle que E1 ne peut stocker au total plus de 120 unit es, E2 ne peut stocker au total plus 200 unit es et E3 ne peut stocker au total plus 90 unit es. Les productions journali` eres de U1 et de U2 sont limit ees respectivement ` a 80 et 50 unit es.

128

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

On sait que le b en ece r ealis e par lentreprise est de 50 euros pour la vente dune unit e de U1 et 80 euros pour la vente dune unit e de U2 . On veut d eterminer maintenant les nombres x et y dunit es provenant de U1 et U2 , qui permettraient ` a lentreprise de r ealiser un b en ece journalier maximum. 1. Donner les 7 contraintes portant sur x et y ainsi que la fonction ` a maximiser sous la forme dun programme lin eaire 2. R esolution graphique (a) Repr esenter sur le graphique de la page suivante, le domaine des solutions r ealisables en justiant vos d emarches. ` laide dune r (b) A esolution graphique, d eterminer en justiant, la production qui assurera le b en ece ` maximal. A quoi sera alors egal ce b en ece ?

Exercice 52 erant dun entrep ot souhaite renouveler le mat eriel de s ecurit e de son etablissement. Le g

Il a besoin au minimum de 90 paires de chaussures de s ecurit e, 240 casques de s ecurit e, 240 paires de gants. Une premi` ere entreprise de vente lui propose un lot A comprenant 2 paires de chaussures, 4 casques et 8 paires de gants pour 200 euros. Une deuxi` eme entreprise vend pour 400 euros un lot B de 3 paires de chaussures, 12 casques et 6 paires de gants. Pour r epondre ` a ses besoins, le g erant ach` ete x lots A et y lots B.

1. Traduire par un syst` eme din equations les contraintes auxquelles satisfont x et y . On consid` ere un plan P rapport e` a un rep` ere orthonorm e (O, i, j ). A tout couple (x, y ) on associe le point M de P de coordonn ees (x, y ), en prenant comme unit e 1 cm pour 10 lots. 2. Repr esenter dans P lensemble des points M (x, y ) satisfaisant aux in equations :

` ` DEUX INCONNUES 8.3. METHODE GRAPHIQUE : PROBLEME A x 0 et y 0 2x + 3y 90 x + 3y 60 4x + 3y 120

129

On hachurera la partie du plan form ee des points pour lesquels les contraintes ne sont pas respect ees. 3. Exprimer en fonction de x et de y la d epense en euros occasionn ee par lachat de x lots A et de y lots B. 4. Est-il possible de proc eder aux achats n ecessaires avec 5000 euros ? Justier la r eponse. 5. D eterminer graphiquement, en pr ecisant la d emarche suivie, le nombres de lots A et de lots B ` a acheter pour avoir une d epense minimale. 6. Quelle est cette d epense minimale ?

Exercice 53 Un artisan fabrique des objets A et des objets B. On dispose des informations suivantes :

La r ealisation dun objet A demande 30 euros de mati` ere premi` ere et 125 euros de main-duvre. La r ealisation des objets B demande 70 euros de mati` ere premi` ere et 75 euros de mains-duvre. Les prots r ealis es sont de 54 euros par objets A, et de 45 euros par objet B. On note x le nombre dobjets A fabriqu es et y le nombre dobjets B fabriqu es, en une journ ee. La d epense journali` ere en mati` ere premi` ere ne doit pas d epasser 560 euros. La d epense journali` ere en main-duvre ne doit pas d epasser 1250 euros. 1. Traduire math ematiquement ces deux hypoth` eses. 2. Le plan est rapport e` a un rep` ere orthonorm e (unit e graphique = 1 cm). Repr esenter graphiquement lensemble des points M (x, y ) dont les coordonn ees v erient ces hypoth` eses. Exprimer le b en ece journalier Z de lentreprise en fonction de x et de y , puis la production journali` ere dobjets A et B qui assurerait un b en ece maximum. On pr ecisera, graphiquement, et par le calcul, cette production journali` ere.

130

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

3. En d eduire le montant de ce b en ece.

Exercice 54 R esoudre le probl` eme de la soci et e Bonvin S.A. dans sa forme initiale ` a laide de la m ethode

graphique (exercice 45)

8.4

La m ethode du simplexe

Lalgorithme du simplexe fut propos e en 1947 par G. B. Dantzig comme m ethode de r esolution g en erale des programmes lin eaires. La solution optimale est approch ee par etapes ou it erations successives. Chaque etape correspond au calcul de la valeur economique dune solution. Comme il existe une innit e de solutions admissibles, la m ethode propose de nexplorer quun nombre limit e de solutions parmi lesquelles se trouve ` a coup s ur la solution optimale. La m ethode du simplexe repose sur le th eor` eme fondamental suivant : Th eor` eme 8.4.1 Si un programme lin eaire admet une solution possible nie, alors il admet au moins une solution de base. Si ce programme lin eaire admet une solution optimale, il admet au moins une solution de base optimale (ce qui signie quune solution de base au moins est optimale). La solution optimale etant une solution de base, lalgorithme du simplexe consiste ` a: 1. d eterminer une solution de base, 2. faire subir un test doptimalit e` a cette solution de base pour d eterminer sil sagit ou non de la solution optimale, sil sagit de la solution optimale, le probl` eme est termin e, sil ne sagit pas de la solution optimale, on passe ` a l etape 3.,

8.4. LA METHODE DU SIMPLEXE

131

3. changer de solution de base puis reprendre la proc edure au 1. jusqu` a lobtention de la solution optimale. Chaque changement de solution de base constitue une it eration. An de r ealiser les op erations successives de lalgorithme du simplexe, il convient de mettre le programme sous une forme standard.

8.4.1

Programme lin eaire standard

Exemple 8.4.1 On se donne le probl` eme suivant : x 1 0 , x2 0 5x1 x2 3 x + 4x2 4 1 Z = 2x1 + 3x2 ` a optimiser, programme lin eaire exprim e sous sa forme canonique. On introduit des variables auxiliaires positives ou nulles appel ees variables d ecart de la fa con suivante : { 5x1 x2 + e1 = 3 5x1 x2 3 e1 0 { x1 + 4x2 4 x1 + 4x2 + e2 = 4 e2 0

Le programme lin eaire peut se r e ecrire alors : x1 0, x2 0, e1 0, e2 0 5x1 x2 + e1 = 3 x + 4x2 + e2 = 4 1 Z = 2x1 + 3x2 ` a optimiser. Le programme est ecrit sous sa forme standard et les variables e1 et e2 sont des variables d ecart. Exemple 8.4.2 On se donne le programme lin eaire ci-dessous : x1 0, x2 0, x3 0 x 1 + x2 1 x1 + 2x2 + 3x3 5 x 2 4x3 2 x + x2 + x3 = 5 1 Z = 2x1 + x2 + x3 ` a optimiser. On remplace les 3 in egalit es par 3 egalit es en introduisant 3 variables d ecart e1 , e2 et e3 . Le programme lin eaire standard est alors x1 0, x2 0, x3 0, e1 0, e2 0, e3 0 x 1 + x 2 + e1 = 1 x1 + 2x2 + 3x3 + e2 = 5 x2 4x3 + e3 = 2 x + x2 + x3 = 5 1 Z = 2 x1 + x2 + x3 ` a optimiser. Cas g en eral. Soit un programme lin eaire ` a n variables. On remplace chacune des egalit es a1 x1 + a2 x2 + . . . + an xn b1 par l egalit e a1 x1 + a2 x2 + . . . + an xn + e1 = b1 avec e1 0

132

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

et chaque in egalit e a1 x1 + a2 x2 + . . . + an xn b1 par l egalit e a1 x1 + a2 x2 + . . . + an xn e1 = b1 avec e1 0 On obtient alors le programme lin eaire standard quon cherche ` a r esoudre.

8.4.2

Lalgorithme du simplexe

Exemple 8.4.3 (solution unique) 1. Enonc e Un eb eniste fabrique des bureaux sous forme standard ou luxe. Des etudes de march e ont montr e que pour lann ee ` a venir, les possibilit es de vente s el` event ` a 300 unit es pour le mod` ele luxe et ` a 400 unit es pour le mod` ele standard. Lapprovisionnement en bois est susant pour fabriquer annuellement 500 bureaux quel que soit le type. Par ailleurs, le temps de fabrication dun mod` ele luxe est le double de celui dun bureau de mod` ele standard. La capacit e annuelle de fabrication est telle que, si tous les bureaux fabriqu es etaient de type standard, on pourrait en fabriquer 700 au maximum. La vente dun bureau sous le mod` ele luxe conduit ` a une marge unitaire sur co ut variable egale ` a 7, celle dun bureau de type standard egale ` a 5. On se propose de rechercher le programme annuel de fabrication conduisant au prot global maximum. 2. Mise en equation Soit x1 le nombre de bureaux de type luxe, x2 le nombre de bureaux de type standard. Le programme lin eaire est x 1 0 , x2 0 x1 300 x2 400 x1 + x2 500 2x1 + x2 700 Z = 7x1 + 5x2 ` a maximiser 3. Domaine des solutions r ealisables

4. Forme standard On introduit les variables d ecart xi avec i {3, 4, 5, 6} positives ou nulles. x1 + x3 = 300 x2 + x4 = 400 x1 + x2 + x5 = 500 2x1 + x2 + x6 = 700 Z = 7x1 + 5x2 ` a maximiser

8.4. LA METHODE DU SIMPLEXE

133

5. Variables hors-base, variable dans la base Une solution de base est avant tout une solution admissible ; elle satisfait lensemble des contraintes et conditions de signe. Toute solution de base comporte deux cat egories de variables. Des variables ayant une valeur pr ed etermin ee nulle : ces variables nulles sont dites variables horsbase (ou variables exclues). Il y a au moins autant de variables hors-base que le probl` eme comporte de variables r eelles. Des variables ayant une valeur non nulle : ce sont les variables dans la base (ou variables retenues). Leur nombre est au plus equivalent au nombre de variables d ecart. De fa con g en erale, si un probl` eme comprend m contraintes et n variables r eelles, pour quune solution soit solution de base il faut et il sut quelle soit solution admissible, quelle admette au moins n variables hors base et au plus m variables dans la base. Pour amorcer lalgorithme du simplexe, il est n ecessaire de conna tre une solution de base. La solution de base de d epart de l eb eniste consiste ` a ne rien produire : x1 = x2 = 0. Ces variables x1 , x2 qui sont nulles sont hors-base. Dans ce cas, x3 = 300, x4 = 400, x5 = 500, x6 = 700. Les variables x3 , x4 , x5 , x6 non nulles sont dans la base. La valeur de la fonction economique est Z = 70+50 = 0. VDB Notation : x3 x4 x5 x6 VHB x1 x2

Tableau initial :
PP PP VHB PP VDB PP P

x1 1 0 1 2 7

x2 0 1 1 1 5

x3 1 0 0 0 0

x4 0 1 0 0 0

x5 0 0 1 0 0

x6 0 0 0 1 0

cste 300 400 500 700 0 x1 + x3 = 300 x2 + x4 = 400 x1 + x2 + x5 = 500 2x1 + x2 + x6 = 700 Z = 7x1 + 5x2

x3 x4 x5 x6 Z

6. Premi` ere it eration La solution de base de d epart consiste ` a ne rien produire soit x1 = x2 = 0. On etudie ensuite, ` a partir de cette solution, jusqu` a quel niveau on peut porter x1 ou x2 conform ement aux contraintes de fa con a accro ` tre au maximum le prot. Il se pose le probl` eme du choix de la variable x1 ou x2 qui va passer de la valeur 0 ` a une valeur strictement positive. La variable choisie sera appel ee variable entrante. Crit` ere de s election de la variable entrante : Cette s election doit saccompagner dune augmentation de la fonction economique Z = 7x1 + 5x2 La s election portera sur x1 qui par unit e rapporte le plus. Cette r` egle est appel ee r` egle du plus grand gain marginal : Le crit` ere de s election de Dantzig de la variable entrante consiste, dans la fonction economique exprim ee exclusivement en fonction des variables hors-base, ` a s electionner la variable aect ee du coecient strictement positif le plus elev e. On exprime ensuite x3 , x4 , x5 , x6 et Z en fonction des variables hors-base x1 et x2

134

CHAPITRE 8. LA PROGRAMMATION LINEAIRE x3 = 300 x1 x4 = 400 x2 x5 = 500 x1 x2 x = 700 2x1 x2 6 Z = 7x1 + 5x2 La variable x2 reste hors-base donc nulle, la variable x1 entre en base. On reporte x2 = 0 dans ce syst` eme, on obtient : x3 = 300 x1 x4 = 400 x5 = 500 x1 x6 = 700 2x1 Z = 7x1 On cherche jusqu` a quel niveau il est possible de porter x1 , de fa con compatible avec les contraintes x3 0, x4 0, x5 0, x6 0. Les contraintes de positivit e donnent x1 300, x1 500, x1 350. La valeur maximale prise par x1 est donc 300. On remplace x1 par 300 dans le syst` eme et on obtient x3 = 0, x4 = 400, x5 = 200, x6 = 100 et Z = 2100. La variable x3 est devenue nulle, elle est sortie de la base, x3 est appel ee variable sortante. Les variables x1 et x3 ont permut e.

On exprime le programme standard en fonction des nouvelles variables hors-base x2 , x3 : x1 + x3 = 300 x1 = 300 x3 x1 + x3 = 300 x2 + x4 = 400 x4 = 400 x2 x2 + x4 = 400 x2 x3 + x5 = 200 x5 = 500 (300 x3 ) x2 x1 + x2 + x5 = 500 x 2x3 + x6 = 100 x = 700 2(300 x ) x 2 x + x + x = 700 1 2 6 3 2 2 6 Z = 5x2 7x3 + 2100 Z = 7(300 x3 ) + 5x2 Z = 7x1 + 5x2 On exprime ce nouveau programme ` a laide dun second tableau. Pour lobtenir, on remplace imp erativement dans le premier tableau la variable x3 par la variable x1 (x1 et x3 ont permut e) et ceci dans la colonne variables dans la base.
PP PP VHB x1 PP VDB PP P

x2 0 1 1 1 5

x3 1 0 1 2 7

x4 0 1 0 0 0

x5 0 0 1 0 0

x6 0 0 0 1 0

cste 300 400 200 100 2100 x1 + x3 = 300 x2 + x4 = 400 x2 x3 + x5 = 200 x2 2x3 + x6 = 100 Z = 5x2 7x3 + 2100

1 0 0 0 0

x1 x4 x5 x6 Z

On a pris la colonne des variables dans la base du premier tableau et on y a remplac e x3 par x1 . Pour la fonction economique Z , le coecient constant 2100 est aect e imp erativement du signe et on place 2100. 7. Deuxi` eme it eration S election de la variable entrante :

8.4. LA METHODE DU SIMPLEXE

135

Z = 5x2 7x3 + 2100 On s electionne x2 ; en eet, toute augmentation de x3 ` a partir de la valeur 0 provoquerait une diminution de la fonction economique Z . S election de la variable sortante : la variable x3 reste hors-base donc nulle, on remplace x3 par 0 dans le syst` eme pr ec edent, on obtient x1 = 300, x4 = 400 x2 0, x5 = 200 x2 0 et x6 = 100 x2 0. Les contraintes de positivit e imposent x2 400, x2 200 et x2 100. Jusqu` a quel niveau peut-on porter x2 ? La valeur maximale prise par x2 est 100. Dans ce cas, x1 = 300, x4 = 300, x5 = 100 et x6 = 0. La variable sortante est x6 . Les variables hors-base sont alors x3 et x6 , les variables dans la base sont x1 , x2 , x4 et x5 . Cette it eration conduit au sommet B (300, 100). Pour cette solution, la fonction economique prend la valeur 2600.

x2 et x6 ont permut e. On exprime les variables dans la base en fonction des nouvelles variables hors-base x3 et x6 x1 = 300 x3 x + x = 300 1 3 x2 = 700 2(300 x3 ) x6 = 100 + 2x3 x6 x2 + x4 = 400 x4 = 400 (100 + 2x3 x6 ) x1 + x2 + x5 = 500 x5 = 500 (300 x3 ) (100 + 2x3 x6 ) 2x1 + x2 + x6 = 700 Z = 7(300 x3 ) + 5(100 + 2x3 x6 ) Z = 7x1 + 5x2 Le programme lin eaire se r e ecrit nalement : x1 + x3 = 300 x2 2x3 + x6 = 100 2x3 + x4 x6 = 300 x + x5 x6 = 100 3 Z = 2600 + 3x3 5x6
PP PP VHB x1 PP VDB PP P

x2 0 0 0 1 0

x3 1 2 1 2 3

x4 0 1 0 0 0

x5 0 0 1 0 0

x6 0 1 1 1 5

cste 300 300 100 100 2600 x1 + x3 = 300 2x3 + x4 x6 = 300 x3 + x5 x6 = 100 x2 2x3 + x6 = 100 Z = 3x3 5x6 + 2600

1 0 0 0 0

x1 x4 x5 x2 Z

On a pris la colonne des variables dans la base du second tableau et on y a remplac e x6 par x2 (ces deux variables permutent). Pour la fonction economique Z , le coecient constant 2600 est aect e du signe et on place 2600. 8. Troisi` eme it eration

136

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

S election de la variable entrante : Z = 3x3 5x6 + 2600 x3 sera la variable entrante car toute augmentation de x6 entra ne une diminution de la fonction economique Z . S election de la variable sortante : on exprime les variables dans la base en fonction des variables hors-base x3 et x6 . x1 = 300 x3 x2 = 100 + 2x3 x6 x = 300 2x3 + x6 4 x5 = 100 x3 + x6 La variable x6 reste hors-base donc nulle, on remplace x6 par 0. On obtient x1 = 300 x3 0, x2 = 100 + 2x3 0, x4 = 300 2x3 0 et x5 = 100 x3 0. Les contraintes de positivit e donnent x3 300, x3 50, x3 150 et x3 100. La valeur maximale prise par x3 est 100. Pour x3 = 100, on obtient x1 = 200, x2 = 300, x4 = 100 et x5 = 0. La variable qui sort de la base est x5 . Cette it eration conduit au sommet C (200, 300). La valeur de la fonction economique est Z = 2900.

Les variables x3 et x5 ont permut e. On exprime les variables dans la base en fonction des variables hors-base x5 et x6 . x3 + x5 x6 = 100 x3 = 100 x5 + x6 x1 x5 + x6 = 200 x1 = 300 (100 x5 + x6 ) = 200 + x5 x6 x2 + 2x5 x6 = 300 x2 = 100 + 2(100 x5 + x6 ) = 300 2x5 + x6 x 2x5 + x6 = 100 x = 300 2(100 x + x ) = 100 + 2 x x 5 6 5 6 4 4 Z = 2600 + 3(100 x5 + x6 ) = 2900 3x5 2x6 Z = 2900 3x5 2x6 On obtient le tableau :
PP PP VHB x1 PP VDB PP P

x2 0 0 0 1 0

x3 0 0 1 0 0

x4 0 1 0 0 0

x5 1 2 1 2 3

x6 1 1 1 1 2

cste 200 100 100 300 2900 x1 x5 + x6 = 200 x4 2x5 + x6 = 100 x3 + x5 x6 = 100 x2 + 2x5 x6 = 300 Z = 2900 3x5 2x6

1 0 0 0 0

x1 x4 x3 x2 Z

On a pris la colonne des variables dans la base du troisi` eme tableau et on y a remplac e x5 par x3 . Pour la fonction economique Z , le coecient constant 2900 est aect e du signe et on place 2900.

8.4. LA METHODE DU SIMPLEXE

137

Conclusion : Z = 2900 3x5 2x6 , x5 et x6 sont hors-base donc nulles, toute augmentation de x5 ou x6 entra ne une diminution de Z . Il nest plus possible dam eliorer la fonction economique, la solution (x1 = 200, x2 = 300) est la solution optimale. On interpr` ete les r esultats de la mani` ere suivante : . x1 = 200 bureaux de mod` ele luxe, . x2 = 300 bureaux de mod` ele standard, . x3 = 100, il reste une possibilit e de fabriquer 100 bureaux de mod` ele luxe, . x4 = 100, il reste une possibilit e de fabriquer 100 bureaux de mod` ele standard, . x5 = 0, tout le bois disponible est utilis e, . x6 = 0, tout le temps disponible est utilis e. Z est maximum pour x1 = 200, x2 = 300 et vaut 2900. Disposition pratique des tableaux : An de syst ematiser et de simplier les calculs, ceux-ci peuvent etre pr esent es sous forme de tableaux. Un tableau correspond ` a une solution de base et une it eration repr esente une modication du tableau. Tableau initial
PP PP VHB PP VDB PP P

x1 1 0 1 2 7

x2 0 1 1 1 5

x3 1 0 0 0 0

x4 0 1 0 0 0

x5 0 0 1 0 0

x6 0 0 0 1 0

cste 300 400 500 700 0

x3 x4 x5 x6 Z

x1 = x2 = 0 repr esente le sommet origine et Z = 0. On a de plus, x3 = 300, x4 = 400, x5 = 500 et x6 = 700. On s electionne dans la fonction economique la variable aect ee du coecient strictement positif le plus grand. La variable x1 entre en base. Quelle est la variable sortante ? On consid` ere la colonne C obtenue en divisant les coecients constants par la colonne des coecients de la variable x1 qui entre en base. x1 x3 x4 x5 x6 1 0 1 2 constante 300 400 500 700 C 300 = 300 1 400 = + 0 500 = 500 1 700 = 350 2

On s electionne dans cette colonne le plus petit nombre strictement positif 300. La variable x3 sort de la base. Les deux variables x1 et x3 ont permut e. Le pivot est situ e` a lintersection de la colonne variable entrante et de la ligne variable sortante et est egal ` a 1.

138

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

Deuxi` eme tableau : Imp erativement dans la colonne des variables dans la base du tableau initial, on remplace la variable x3 qui sort de la base par la variable x1 qui entre en base, on recopie les autres variables do` u la disposition du second tableau
PP PP VHB PP VDB PP P

x1

x2

x3

x4

x5

x6

cste

x1 x4 x5 x6 Z Comment remplit-on le tableau ? On recopie la ligne Lp du pivot (avec un pivot a = 1) dans la ligne Lx1 : Lp . Pour la ligne Lx4 , x2 + x4 = 400. x4 sexprime bien en fonction de x2 et x3 . On recopie cette ligne. . Pour la ligne Lx5 , x1 + x2 + x5 = 500. Par une combinaison lin eaire de la ligne Lx5 et de la ligne pivot Lp , on elimine la variable x1 qui est entr ee en base : Lx5 Lp Lx5 Lp 1 1 0 1 0 1 0 1 1 0 0 0 1 0 1 0 0 0 500 300 200 1 0 1 0 0 0 300

On doit exprimer le programme en fonction des nouvelles variables hors-base x2 et x3 .

On recopie ensuite cette nouvelle ligne Lx5 : x2 x3 + x5 = 200 . Pour la ligne Lx6 Lx6 Lp Lx6 2Lp On recopie cette nouvelle ligne Lx6 : 2 1 0 1 0 1 0 1 2 0 0 0 0 0 0 1 0 1 700 300 100

x2 2x3 + x6 = 100 . Pour la ligne de la fonction economique LZ LZ Lp LZ 7Lp 7 1 0 5 0 5 0 1 7 0 0 0 0 0 0 0 0 0 0 300 2100

do` u la fonction economique exprim ee en fonction des variables hors-base :

8.4. LA METHODE DU SIMPLEXE

139

Z = 5x2 7x3 + 2100 On obtient donc le second tableau :


PP PP VHB x1 PP VDB PP P

x2 0 1 1 1 5

x3 1 0 1 2 7

x4 0 1 0 0 0

x5 0 0 1 0 0

x6 0 0 0 1 0

cste 300 400 200 100 2100

1 0 0 0 0

x1 x4 x5 x6 Z

On a x2 = x3 = 0. Comme x1 = 300, on atteint le sommet A(300, 0) et Z = 2900. On a de plus, x4 = 400, x5 = 200, x6 = 100. Troisi` eme tableau : Z = 5x2 7x3 + 2100, la variable entrante est x2 (une augmentation de x3 entra ne une dimimution de Z ). D eterminons la variable sortante : la colonne C est donn ee par : x2 x1 x4 x5 x6 0 1 1 1 constante 300 400 200 100 C 300 = + 0 400 = 400 1 200 = 200 1 100 = 100 1

On s electionne dans cette colonne C le coecient strictement positif le plus petit cest-` a-dire 100, la variable x6 sort de la base. Les variables x2 et x6 ont permut e. Le pivot est situ e` a lintersection de la colonne variable entrante et de la ligne variable sortante. Ce pivot vaut 1. On remplit le troisi` eme tableau : dans la colonne des variables dans la base du deuxi` eme tableau, on remplace la variable x6 qui sort de la base par la variable x2 qui entre en base. On recopie la ligne pivot avec le pivot de 1 : Lp : 1.x2 2.x3 + 1.x6 = 100
PP PP VHB x1 PP VDB PP P

x2

x3

x4

x5

x6

cste

x1 x4 x5 x2 Z Par des combinaisons avec la ligne pivot, on exprime le syst` eme en fonction des variables hors-base x3 0 1 2 0 0 1 100

140

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

et x6 cest-` a-dire quon elimine la variable x2 qui est entr ee en base : . pour la ligne Lx4 : Lx4 Lp Lx4 Lp . pour la ligne Lx5 : Lx5 Lp Lx5 Lp . pour la ligne LZ : LZ Lp LZ 5Lp Une fois le tableau rempli, on obtient :
PP PP VHB x1 PP VDB PP P

0 0 0 0 0 0 0 0 0 5 1 0

1 1 0 1 1 0

0 2 2 1 2 1 7 2 3 0 0 0

1 0 1 0 0 0 0 0 0

0 0 0 1 0 1

0 1 1 0 1 1 0 1 5

400 100 300 200 100 100 2100 100 2600

x2 0 0 0 1 0

x3 1 2 1 2 3

x4 0 1 0 0 0

x5 0 0 1 0 0

x6 0 1 1 1 5

cste 300 300 100 100 2600

1 0 0 0 0

x1 x4 x5 x2 Z

On a x3 = x6 = 0. Comme x1 = 300 et x2 = 100, on est pass e du sommet A(300, 0) au sommet B (300, 100). On a de plus x4 = 300, x5 = 100 et Z vaut 2600. Quatri` eme tableau : Z = 3x3 5x6 + 2600 La variable entrante est x3 (toute augmentation de x6 entra ne une diminution de Z ). D eterminons la variable sortante : la colonne C est donn ee par x3 x1 1 constante 300 C 300 = 300 1 300 x4 2 300 = 150 2 100 x5 1 100 = 100 1 100 x2 2 100 = 50 2 On s electionne dans cette colonne C le coecient strictement positif le plus petit cest-` a-dire 100, la variable x5 sort de la base. Les variables x3 et x5 ont permut e. Le pivot est 1, il est situ e` a lintersection de la colonne x3 et de la ligne x5 . On remplit le quatri` eme tableau : dans la colonne des variables dans la base du troisi` eme tableau, on remplace la variable x5 qui sort de base par la variable x3 qui entre en base. On recopie la ligne pivot avec un pivot de 1 :

8.4. LA METHODE DU SIMPLEXE

141

Lp : x3 + x5 x6 = 100
PP PP VHB x1 PP VDB PP P

x2

x3

x4

x5

x6

cste

x1 x4 x3 x2 Z Par des combinaisons avec la ligne pivot, on exprime le syst` eme en fonction des variables hors-base x5 et x6 cest-` a-dire quon elimine la variable x3 qui est entr ee en base : . pour la ligne Lx1 : Lx1 Lp Lx1 Lp . pour la ligne Lx4 : Lx4 Lp Lx4 2Lp . pour la ligne Lx2 : Lx2 Lp Lx2 + 2Lp . pour la ligne LZ : LZ Lp LZ 3Lp
PP PP VHB x1 PP VDB PP P

100

1 0 1

0 0 0

1 1 0

0 0 0

0 1 1

0 1 1

300 100 200

0 0 0

0 0 0

2 1 0

1 0 1

0 1 2

1 1 1

300 100 100

0 0 0

1 0 1

2 1 0

0 0 0

0 1 2

1 1 1

100 100 300

0 0 0

0 0 0

3 1 0

0 0 0

0 1 3

5 1 2

2600 100 2900

On peut ensuite remplir le quatri` eme tableau : x2 0 0 0 1 0 x3 0 0 1 0 0 x4 0 1 0 0 0 1 2 1 2 3 1 1 1 1 2 200 100 100 300 2900

x5

x6

cste

1 0 0 0 0

x1 x4 x3 x2 Z

142

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

Conclusion, la fonction economique s ecrit Z = 2900 3x5 2x6 o` u x5 et x6 sont les variables hors-base donc nulles. Toute augmentation de x5 et x6 conduit ` a une diminution de Z . Donc x1 = 200, x2 = 300, x3 = 100, x4 = 100 et Z = 2900. La fonction economique atteint son maximum au point C (200, 300) et vaut 2900. Exemple 8.4.4 (solution unique) On consid` ere le programme lin eaire suivant x1 0, x2 0, x3 0 x1 + 3x2 + 2x3 40 3x1 + 2x2 + x3 45 x + x2 + 4x3 38 1 Z = 10x1 + 14x2 + 12x3 ` a maximiser 1. Programme standard : x1 0, x2 0, x3 0, x4 0, x5 0, x6 0 x1 + 3x2 + 2x3 + x4 = 40 3x1 + 2x2 + x3 + x5 = 45 x + x2 + 4x3 + x6 = 38 1 Z = 10x1 + 14x2 + 12x3 ` a maximiser

La solution de base de d epart du programme correspond au sommet 0, cest la solution nulle qui consiste ` a ne rien produire : x1 = x2 = x3 = 0 et Z = 0. Les variables x1 , x2 , x3 sont hors-base donc nulles, les autres variables x4 , x5 , x6 sont dans la base. 2. Tableau initial :
PP PP VHB PP VDB PP P

x1 1 3 1 10

x2 3 2 1 14

x3 2 1 4 12

x4 1 0 0 0

x5 0 1 0 0

x6 0 0 1 0

cste 40 45 38 0 x1 + 3x2 + 2x3 + x4 = 40 3x1 + 2x2 + x3 + x5 = 45 x1 + x2 + 4x3 + x6 = 38 Z = 10x1 + 14x2 + 12x3

x4 x5 x6 Z

Choix de la variable entrante : on s electionne la variable aect ee du coecient strictement positif le plus grand dans la fonction economique, la variable x2 entre en base. Choix de la variable sortante : on d etermine la colonne C : x2 x4 x5 x6 3 2 1 constante 40 45 38 C 40 13, 33 3 45 = 22, 5 2 38 = 38 1

On s electionne le coecient strictement positif le plus petit dans la colonne C , la variable x4 sort de la base.

8.4. LA METHODE DU SIMPLEXE

143

Le pivot : il est situ e` a lintersection de la colonne variable qui entre en base et de la ligne variable qui sort de la base, ce pivot est 3. An dobtenir un pivot de 1, on divise tous les coecients de la ligne pivot par ce pivot 3. On obtient la nouvelle ligne pivot : 1 2 1 40 Lp : x1 + x2 + x3 + x4 = 3 3 3 3 soit 1 2 40 Lp 1 1 0 0 3 3 3 3. Deuxi` eme tableau :
PP PP VHB PP VDB PP P

x1 1 3

x2 1

x3 2 3

x4 1 3

x5 0

x6 0

cste 40 3

x2 x5 x6 Z

On recopie la ligne du pivot avec le pivot de 1. Pour remplir ce second tableau, par des combinaisons avec la ligne pivot, on elimine la variable x2 qui est entr ee en base : . pour la ligne Lx5 : Lx5 Lp Lx5 2Lp . pour la ligne Lx6 : L x6 Lp Lx6 Lp . pour la ligne LZ : LZ Lp LZ 14Lp 10 1 3 16 3 14 1 0 12 2 3 8 3 0 1 3 14 3 0 0 0 0 0 0 0 40 3 560 3 1 1 3 2 3 1 1 0 4 2 3 10 3 0 1 3 1 3 0 0 0 1 0 1 38 40 3 74 3 3 1 3 7 3 2 1 0 1 2 3 1 3 0 1 3 2 3 1 0 1 0 0 0 45 40 3 55 3

Le deuxi` eme tableau s ecrit alors :

144
PP PP VHB PP VDB PP P

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

x1 1 3 7 3 2 3 16 3

x2 1 0 0 0

x3 2 3 1 3

x4 1 3 2 3 1 3

x5 0 1 0 0

x6 0 0 1 0

cste 40 3 55 3 74 3 560 3

x2 x5 x6 Z

10 3 8 3

14 3

On a par cons equent Z= 4. Troisi` eme tableau : 16 La variable entrante est x1 ; en eet, est le coecient strictement positif le plus grand dans la 3 fonction economique. La variable sortante est d etermin ee ` a laide de la colonne C : x1 x2 x5 x6 1 3 7 3 2 3 constante 40 3 55 3 74 3 C 40 1 / = 40 3 3 55 7 55 / = 3 3 7 74 2 / = 37 3 3 16 8 14 560 x1 + x3 x4 + 3 3 3 3

55 On choisit le coecient strictement positif le plus petit dans la colonne C soit , la variable x5 7 sort de la base. 7 Le pivot est , situ e` a lintersection de la colonne variable qui entre en base et de la ligne variable 3 7 qui sort de la base. Pour obtenir un pivot de 1, on divise la ligne pivot par ce pivot , on obtient 3 1 2 3 55 Lp = x1 x3 x4 + x5 = 7 7 7 7 soit Lp 1 0 1 7 2 7 3 7 0 55 7

On exprime le syst` eme en fonction des nouvelles variables hors-base x3 et x4 et on elimine x1 qui est entr ee en base. . Pour la ligne Lx2 : Lx2 Lp Lx2 1 3 Lp 1 3 1 0 1 0 1 2 3 1 7 5 7 1 3 2 7 3 7 0 3 7 1 7 0 0 0 40 3 55 7 75 7

8.4. LA METHODE DU SIMPLEXE

145

. Pour la ligne Lx6 : Lx6 Lp Lx6 2 3 Lp . Pour la ligne LZ : LZ Lp LZ


16 3 Lp

2 3 1 0

0 0 0

10 3 1 7 24 7

1 3 2 7 1 7

0 3 7 2 7

1 0 1

74 3 55 7 136 7

16 3 1 0

0 0 0

8 3 1 7 24 7

14 3 2 7 22 7

0 3 7 16 7

0 0 0

560 3 55 7 1600 7

On peut maintenant remplir le troisi` eme tableau :


PP PP VHB x1 PP VDB PP P

x2 1 0 0 0

x3 5 7 1 7

x4 3 7 2 7 1 7

x5 1 7

x6

cste 75 7 55 7 136 7 1600 7

0 1 0 0

x2 x1 x6 Z 5. Quatri` eme tableau :

0 0 1 0

3 7 2 7

24 7 24 7

22 7

16 7

Z=

24 22 16 1600 x3 x4 x5 + 7 7 7 7 24 , la variable x3 entre en base. 7 C 75 5 / = 15 7 7 55 1 / = 55 7 7 17 136 24 / = 7 7 3

Variable entrante : on s electionne le coecient Variable sortante : x2 x1 x6 x3 5 7 1 7 24 7

Constante 75 7 55 7 136 7

La variable x6 sort de base. 24 Le pivot est , on divise la ligne pivot par ce pivot et on obtient la nouvelle ligne pivot : 7 1 1 7 17 Lp : x3 x4 x5 + x6 = 24 12 24 3 1 1 7 17 Lp 0 0 1 24 12 24 3

146

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

Dans la colonne variables dans la base du troisi` eme tableau, on remplace la variable x6 par la variable x3 et on y recopie la nouvelle ligne pivot
PP PP VHB x1 PP VDB PP P

x2

x3

x4

x5

x6

cste

x2 x1 x3 Z On exprime le syst` eme en fonction des variables hors-base x4 , x5 et x6 . On elimine la variable x3 qui est entr ee en base : . pour la ligne Lx2 : Lx2 Lp Lx2 5 7 Lp . pour la ligne Lx1 : Lx1 Lp Lx1 + 1 7 Lp . pour la ligne LZ : LZ Lp LZ
24 7 Lp

1 24

1 12

7 24

17 3

0 0 0

1 0 1

5 7 1 0

3 7 1 24 11 24

1 7 1 12 1 12

0 7 24 5 24

75 7 17 3 20 3

1 0 1

0 0 0

1 7

1 0

2 7 1 24 7 24

3 7 1 12 5 12

0 7 24 1 24

55 7 17 3 26 3

0 0 0

0 0 0

24 7 1 0

22 7 1 24 3

16 7 1 12 2

0 7 24 1

1600 7 17 3

248

Le quatri` eme tableau est nalement donn e par :


PP PP VHB x1 PP VDB PP P

x2 1 0 0 0

x3 0 0 1 0

x4 11 24 7 24 1 24 3

x5 1 12 5 12 1 12 2

x6 5 24 1 24 7 24 1

cste 20 3 26 3 17 3 248

0 1 0 0

x2 x1 x3 Z

8.4. LA METHODE DU SIMPLEXE

147

6. Conclusion : Z = 3x4 2x5 x6 + 248 Les trois variables x4 , x5 et x6 sont aect ees de coecients n egatifs, toute augmentation de x4 , x5 ou x6 diminuerait la valeur de Z . Il nest plus possible dam eliorer la fonction economique. 20 26 17 Z est maximum pour x4 = 0, x5 = 0, x6 = 0, x1 = , x2 = , x3 = et Z = 248. 3 )3 ( 3 20 26 17 . De plus, x4 = 0, x5 = 0 et La fonction economique atteint son maximum au point , , 3 3 3 x6 = 0, les trois mati` eres premi` eres sont utilis ees en totalit e. Exemple 8.4.5 (innit e de solutions) On se donne le programme lin eaire suivant : x1 0, x2 0 x2 45 3x1 + x2 120 x1 + 2x2 100 x + x2 60 1 Maximiser Z = x1 + 2x2 1. R esolution graphique

Les c ot es du polygone sont d enis de la mani` ere suivante : le segment [AB ] : x2 = 45, 0 x1 10 le segment [BC ] : x1 + 2x2 = 100, 10 x1 20 le segment [CD] : x1 + x2 = 60, 20 x1 30 le segment [DE ] : 3x1 + x2 = 60, 30 x1 40 ) 2 On trace les droites DZ d equations Z = x1 + 2x2 , ces droites ont pour vecteur directeur v . 1 Elles sont parall` eles entre-elles et de plus, elles sont parall` eles au c ot e (BC ) d equation x1 + 2x2 = 100, 10 x1 20. La droite DZ qui rencontre le domaine des solutions r ealisables et qui a une ordonn ee ` a lorigine maximale est la droite qui contient B et C , d equation x1 +2x2 = 100. La fonction economique { x1 + 2x2 = 100 atteint son maximum 100 en tous les points du segment [BC ] : 10 x1 20 2. Le simplexe Comment fait-on appara tre cette innit e de couples solutions dans les tableaux du simplexe ? (

148

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

(a) Tableau initial : les variables hors-base sont x1 et x2 , le programme standard est donn e par : x1 0, x2 0, x3 0, x4 0, x5 0, x6 0 x2 + x3 = 45 3x1 + x2 + x4 = 120 x1 + 2x2 + x5 = 100 x1 + x2 + x6 = 60 Z = x1 + 2x2 ` a maximiser Le tableau initial peut s ecrire sous la forme :
PP PP VHB PP VDB PP P

x1

x2

x3

x4 0 1 0 0

x5 0 0 1 0

x6 0 0 0 1

cste

C 45 = 45 1 120 = 120 1 100 = 50 2 60 = 60 1

x3 x4 x5 x6 Z

0 3 1 1 1

1 1 2 1 2

1 0 0 0

45 120 100 60

(b) Premi` ere it eration On s electionne la variable x2 qui entre en base, la variable qui sort de base est x3 . Le pivot est 1, la ligne pivot est Lp les variables x2 et x3 permutent . Pour la ligne Lx4 : Lx4 Lp Lx4 Lp . Pour la ligne Lx5 : Lx5 Lp Lx5 2Lp . Pour la ligne Lx6 : Lx6 Lp Lx6 Lp 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 60 45 15 1 0 1 2 1 0 0 1 2 0 0 0 1 0 1 0 0 0 100 45 10 3 0 3 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 120 45 75 0 1 1 0 0 0 45

. Pour la ligne LZ :

8.4. LA METHODE DU SIMPLEXE

149

LZ Lp LZ 2Lp
PP PP VHB PP VDB PP P

1 0 1

2 1 0 1 2 0 0 0 0 0 0 45 90

x1

x2

x3

x4

x5 0 0 1 0 0

x6 0 0 0 1 0

cste

C 45 = + 0 75 = 25 3 10 = 10 1 15 = 15 1

x2 x4 x5 x6 Z

0 3 1 1 1

1 0 0 0 0

1 1 2 1 2

0 1 0 0 0

45 75 10 15 90

Cette premi` ere it eration conduit du sommet O(0, 0) au sommet A(0, 45) et Z = 90. (c) Deuxi` eme it eration Z = x1 2x3 + 90, la variable x1 entre en base, la variable x5 sort de base, le pivot est 1, la ligne pivot est Lp : x1 2x3 + x5 = 10 soit Lp les variables x1 et x5 permutent L x2 Lp L x2 Lx4 Lp Lx4 3Lp Lx6 Lp Lx6 Lp LZ Lp LZ Lp 1 1 0 0 1 0 3 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 2 1 1 2 5 1 2 1 2 2 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 3 0 1 1 0 1 1 0 0 0 45 10 45 0 0 0 1 0 1 75 10 45 15 10 5 90 10 100 1 0 2 0 1 0 10

150
PP PP VHB x1 PP VDB PP P

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

x2 1 0 0 0 0

x3

x4

x5

x6

cste

C 45 = 45 1 45 =9 5 10 = 5 2 5 =5 1

0 0 1 0 0

x2 x4 x1 x6 Z

1 5 2 1 0

0 1 0 0 0

0 3 1 1 1

0 0 0 1 0

45 45 10 5 100

Les variables hors-base sont x3 , x5 et Z = 0.x3 + (1).x5 + 100 = x5 + 100. Pour x3 = x5 = 0, on obtient x1 = 10, x2 = 45, x4 = 45 et x6 = 5. On atteint le sommet B (10, 45). Dans la fonction economique, la variable hors-base x3 est aect ee du coecient 0. Si on augmente x3 , Z sera invariant et egal ` a 100. (d) Troisi` eme it eration On fait entrer en base x3 , x6 sort de base, le pivot est 1, la ligne pivot est Lp : x3 x5 + x6 = 5 soit Lp x3 et x6 ont permut e Lx2 Lp Lx2 Lp Lx4 Lp Lx4 5Lp Lx1 Lp Lx1 + 2Lp LZ Lp LZ + 0.Lp 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 5 1 0 2 1 0 0 0 0 1 1 1 0 5 100 0 0 0 1 0 1 0 0 0 0 1 1 3 1 2 1 1 1 0 1 1 0 1 5 0 1 2 45 5 40 45 5 20 10 5 20 0 0 1 0 1 1 5

8.4. LA METHODE DU SIMPLEXE


PP PP VHB x1 PP VDB PP P

151

x2 1 0 0 0 0

x3 0 0 0 1 0

x4 0 1 0 0 0

x5 1 2 1 1 1

x6 1 5 2 1 0

cste 40 20 20 5 100

0 0 1 0 0

x2 x4 x1 x3 Z La fonction economique s ecrit :

Z = 1.x5 + 0.x6 + 100 = x5 + 100 Les variables hors-base sont x5 , x6 . Pour x5 = x6 = 0, on obtient x1 = 20, x2 = 40, x3 = 5, x4 = 20 et Z = 100. Z est maximum pour le deuxi` eme sommet C (20, 40). On a obtenu Z maximum pour deux sommets adjacents B (10, 45) et C (20, 40). On admettra que la fonction economique atteint son maximum en tous les points du segment [BC ]. Remarque 8.4.1 1. La pr esence dun z ero dans la ligne pivot entra ne linvariance de la colonne correspondante. Reprenons le tableau initial de lexemple 8.4.3 :
PP PP VHB PP VDB PP P

x1

x2

x3

x4 0 1 0 0 0

x5 0 0 1 0 0

x6 0 0 0 1 0

cste

C 300 = 300 1 400 = + 0 500 = 500 1 700 = 350 2

x3 x4 x5 x6 Z

1 0 1 2 7

0 1 1 1 5

1 0 0 0 0

300 400 500 700 0

Le pivot est 1, dans la ligne pivot, les variables x2 , x4 , x5 , x6 sont aect ees du coecient 0. Ces quatre colonnes seront invariantes dans le tableau suivant, on peut donc recopier ces quatre colonnes sans eectuer de calculs.
PP PP VHB x1 PP VDB PP P

x2 0 1 1 1 5

x3 1

x4 0 1 0 0 0

x5 0 0 1 0 0

x6 0 0 0 1 0

cste 300

x1 x4 x5 x6 Z

152

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

On peut aussi recopier la ligne pivot. De plus, le syst` eme doit sexprimer en fonction des variables hors-base x2 , x3 donc x4 sexprime en fonction de x2 , x3 ainsi que x5 , x6 et Z do` u les compl ements dans le tableau encadr es. On peut donc, sans eectuer de calculs, remplir certaines cases du tableau.

2. La pr esence dun z ero dans la colonne du pivot entra ne linvariance de la ligne correspondante. On reprend le second tableau de lexemple 8.4.3. En utilisant les deux remarques 1. et 2., on obtient
PP PP VHB x1 PP VDB PP P

x2

x3

x4

x5 0 0 1 0 0

x6 0 0 0 1 0

cste

C 300 1 400 1 200 1 100 1

1 0 0 0 0

x1 x4 x5 x6 Z

0 1 1 1 5

1 0 1 2 7

0 1 0 0 0

300 400 200 100 200

= 300 = 400 = 200 = 100

x2 entre en base, x6 sort de base, le pivot est 1, la ligne pivot est Lp 0 1 2 0 0 1 100

. Dans la ligne du pivot, les variables x1 , x4 ou x5 sont aect ees du coecient 0, on recopiera ces trois colonnes. . On recopie la ligne du pivot. . Dans la colonne du pivot appara t un z ero, on recopie la ligne Lx1 . Ces remarques permettent donc dobtenir deux lignes et trois colonnes du tableau suivant :
PP PP VHB x1 PP VDB PP P

x2 0

x3 1

x4 0 1 0

x5 0 0 1 0 0

x6 0

cste 300

1 0 0 0 0

x1 x4 x5 x2 Z

0 0

100

Les variables hors-base etant x2 , x3 , le syst` eme s ecrit en fonction des variables hors-base seulement do` u les compl ements dans le tableau encadr es . Il reste neuf cases ` a remplir dans le tableau. 3. Si deux coecients positifs dans la fonction economique sont egaux, on pourra d eterminer dans chaque colonne correspondante le pivot eventuel et le rapport associ e. On choisira comme pivot celui qui correspond au plus grand rapport. Exemple 8.4.6 On se donne le programme lin eaire suivant :

8.4. LA METHODE DU SIMPLEXE x1 0, x2 0, x3 0 3x1 + 5x2 + x3 150 x + 4x2 + 2x3 + x5 80 1 Z = 2x1 + 2x2 + x3 ` a maximiser Le programme standard s ecrit x1 0, x2 0, x3 0, x4 0, x5 0 3x1 + 5x2 + x3 + x4 = 150 x + 4x2 + 2x3 + x5 = 80 1 Z = 2x1 + 2x2 + x3 ` a maximiser
PP PP VHB PP VDB PP P

153

x1 3 1 2

x2 5 4 2

x3 1 2 1

x4 1 0

x5 0 1

cste 150 80

x4 x5 Z

1. Si lon choisit comme variable sortante x1 , la colonne C est alors x1 x4 x5 3 1 150 80 C 150 = 50 3 80 = 80 1

La variable sortante est x4 , le pivot est egal ` a 3, le rapport vaut 50. 2. Si lon choisit comme variable sortante x2 , la colonne C est donn ee par : x2 x4 x5 5 4 150 80 C 150 = 30 5 80 = 20 4

La variable sortante est alors x5 , le pivot est egal ` a 4 et le rapport vaut 20. On choisit comme variable sortante celle qui correspond au plus grand rapport. Dans lexemple, 50 > 20, la variable sortante est x4 , la variable entrante x1 , le pivot est 3. La r` egle dentr ee du plus grand gain marginal nous propose une m ethode qui permet dobtenir la valeur optimale de Z , mais rien nindique que cette m ethode propose le plus court chemin. Exemple 8.4.7 Soit le programme lin eaire x1 0, x2 0, x3 0 x1 5 4x1 + x2 25 8 x1 + 4x2 + x3 125 Z = 4x1 + 2x2 + x3 ` a maximiser Le programme standard s ecrit

154

CHAPITRE 8. LA PROGRAMMATION LINEAIRE x1 0, x2 0, x3 0, x4 0, x5 0, x6 0 x 1 + x4 = 5 4x1 + x2 + x5 = 25 8x1 + 4x2 + x3 + x6 = 125 Z = 4x1 + 2x2 + x3 ` a maximiser

On a le tableau :
PP PP VHB PP VDB PP P

x1 1 4 8 4

x2 0 1 4 2

x3 0 0 1 1

x4 1 0 0 0

x5 0 1 0 0

x6 0 0 1 0

cste 5 25 125 0

C 5 25 = 6, 25 4 125 = 15, 625 8

x4 x5 x6 Z

On se trouve au sommet origine O(0, 0), x4 = 5, x5 = 25, x6 = 125 et Z = 0. On applique la r` egle du plus grand gain marginal, x1 entre en base, x4 sort de base, le pivot est 1. On obtient le tableau suivant
PP PP VHB x1 PP VDB PP P

x2

x3

x4

x5

x6 0 0 1 0

cste

C 5 = + 0 5 =5 1 85 = 21, 25 4

1 0 0 0

x4 x5 x6 Z

0 1 4 2

0 0 1 1

1 4 8 4

0 1 0 0

5 5 85 20

On se trouve au sommet A1 de coordonn ees (5, 0, 0) avec x4 = 0, x5 = 5, x6 = 85 et Z = 20.

x2 entre en base, x5 sort de base, le pivot est 1.


PP PP VHB x1 PP VDB PP P

x2 0 1 0 0

x3

x4

x5

x6

cste

C 5 =5 1 5 4 65 = 8, 125 8

1 0 0 0

x1 x2 x6 Z

0 0 1 1

1 4 8 4

0 1 4 2

0 0 1 0

5 5 65 30

On se trouve au sommet A2 de coordonn ees (5, 5, 0) avec x4 = 0, x5 = 0, x6 = 65 et Z = 30.

8.4. LA METHODE DU SIMPLEXE

155

x4 entre en base, x1 sort de base, le pivot est 1.


PP PP VHB PP VDB PP P

x1 1 4 8 4

x2 0 1 0 0

x3 0 0 1 1

x4 1 0 0 0

x5 0 1 4 2

x6 0 0 1 0

cste 5 25 25 50

C + + 25

x4 x2 x6 Z

On se trouve au sommet A3 de coordonn ees (0, 25, 0) avec x4 = 5, x5 = 0, x6 = 25 et Z = 50.

x3 entre en base, x6 sort de base, le pivot est 1.


PP PP VHB PP VDB PP P

x1 1 4 8 4

x2 0 1 0 0

x3 0 0 1 0

x4 1 0 0 0

x5 0 1 4 2

x6 0 0 1 1

cste 5 25 25 75

C 5 6, 25 3, 125

x4 x2 x3 Z

On se trouve au sommet A4 de coordonn ees (0, 25, 25) avec x4 = 5, x5 = 0, x6 = 0 et Z = 75.

x1 entre en base, x4 sort de base, le pivot est 1.


PP PP VHB x1 PP VDB PP P

x2 0 1 0 0

x3 0 0 1 0

x4 1 4 8 4

x5 0 1 4 2

x6 0 0 1 1

cste 5 5 65 95

C + 5 16, 25

1 0 0 0

x1 x2 x3 Z

On se trouve au sommet A5 de coordonn ees (5, 5, 65) avec x4 = 0, x5 = 0, x6 = 0 et Z = 95.

x5 entre en base, x2 sort de base, le pivot est 1.

156
PP PP VHB x1 PP VDB PP P

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

x2 0 1 4 2

x3 0 0 1 0

x4 1 4 8 4

x5 0 1 0 0

x6 0 0 1 1

cste 5 5 85 105

C 5 1, 25 10, 625

1 0 0 0

x1 x5 x3 Z

On se trouve au sommet A6 de coordonn ees (5, 0, 85) avec x4 = 0, x5 = 5, x6 = 0 et Z = 105. x4 entre en base, x1 sort de base, le pivot est 1.
PP PP VHB PP VDB PP P

x1 1 4 8 4

x2 0 1 4 2

x3 0 0 1 0

x4 1 0 0 0

x5 0 1 0 0

x6 0 0 1 1

C 5 25 125 125

x4 x5 x3 Z

On se trouve au sommet A7 de coordonn ees (0, 0, 125) avec x4 = 5, x5 = 25, x6 = 0 et Z = 125. La fonction economique s ecrit alors : Z = 4x1 2x2 x6 + 125, les variables hors-base x1 , x2 et x6 sont aect ees de coecients n egatifs, Z atteint son maximum au point A7 (0, 0, 125) et vaut 125. La r` egle du plus grand gain marginal nous a contraint au chemin OA1 A2 A3 A4 A5 A6 A7 de coordonn ees respectives (0, 0, 0), (5, 0, 0), (5, 5, 0), 0, 25, 0), (0, 25, 25), (5, 5, 65), (5, 0, 85), (0, 0, 125). Retour sur le tableau initial :
PP PP VHB PP VDB PP P

x1 1 4 8 4

x2 0 1 4 2

x3 0 0 1 1

x4 1 0 0 0

x5 0 1 0 0

x6 0 0 1 0

cste 5 25 125 0

C + + 125

x4 x5 x6 Z

Si on nutilise pas la r` egle du plus grand gain marginal et si on d ecide de faire entrer x3 en base, x6 sort de base et le pivot est 1 :

8.4. LA METHODE DU SIMPLEXE


PP PP VHB PP VDB PP P

157

x1 1 4 8 4

x2 0 1 4 2

x3 0 0 1 0

x4 1 0 0 0

x5 0 1 0 0

x6 0 0 1 1

cste 5 25 125 125

x4 x5 x3 Z

les variables hors-base x1 , x2 et x6 sont aect ees de coecients n egatifs, Z atteint son maximum au point A7 (0, 0, 125) et vaut 125. Le r esultat est cette fois-ci atteint en une seule it eration ` a laide de ce quon appelle la r` egle du plus petit gain marginal. Il conviendra de choisir alors parmi les deux r` egles propos ees an de minimiser les temps de calculs.

8.4.3

D etermination dune solution de base admissible

Reprenons lexercice 45 et le cas de lentreprise Bonvin (1.) mais avec des sp ecications suppl ementaires : Bonvin sest engag ee ` a fournir ` a sa client` ele : au moins 15000 hectolitres de vin Extra, et au moins 5000 hectolitres de vin sup erieur. Sous sa forme canonique le programme lin eaire s ecrit : X1 , X2 0 0, 5X1 + 0, 2X2 13600 0, 3X1 + 0, 6X2 12000 0, 2X1 + 0, 2X2 10400 X1 20000 X2 16000 X1 15000 X2 5000 max Z avec Z = 400X1 + 500X2 Les donn ees suppl ementaires ont et e traduites par les deux derni` eres contraintes qui sous leur forme standard s ecrivent : X1 e6 = 15000 X2 e7 = 5000 avec e6 , e7 0.

Dans cette hypoth` ese, il nexiste plus de base naturelle evidente pour amorcer les calculs car si X1 = X2 = 0 alors e6 = 15000 et e7 = 5000 ce qui est en contradiction avec les conditions de non-n egativit e. Une solution consiste alors ` a annuler au hasard n variables parmi les m + n variables que comporte le probl` eme (dans le cas de lexemple pr ec edent, 2 variables parmi 9). 2 = 36). Mais toutes ne sont pas admissibles et, n solutions de base envisageables (ici C9 Il y a alors Cm +n de plus, si le nombre de variables et de contraintes est important, il devient fastidieux de sen remettre au hasard. Cest pourquoi une proc edure plus m ethodique consiste : ` introduire dans chaque contrainte h qui pose probl` 1. A eme une variable articielle ah aect ee dun coecient egal ` a 1. ` 2. A iniger ` a chaque variable articielle une p enalit e sous la forme dun coecient n egatif (dans le cas dun probl` eme de maximisation) et de valeur absolue tr` es elev ee dans la fonction economique originelle.

158

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

Ainsi, lintroduction de variables articielles permet de d eterminer simplement une base, certes articielle, mais admissible pour amorcer lalgorithme. Les p enalit es ont pour objet de provoquer l elimination des variables articielles au l des it erations. La m ethode consiste donc ensuite ` retenir comme solution de base initiale la base articielle telle que : 3. A toutes les variables articielles sont en base (cest-` a-dire non nulles) ; toutes les autres variables des contraintes o` u gurent des variables articielles (r eelles et d ecart) sont hors base (cest-` a-dire nulles). ` appliquer lalgorithme du simplexe jusqu` 4. A a ce que toutes les variables articielles soient supprim ees. Dans le cas etudi e, apr` es introduction des variables articielles a6 et a7 respectivement dans les contraintes 6 et 7, le probl` eme s ecrit :

X1 , X2 , e1 , . . . , e7 , a6 , a7 0 0, 5X1 + 0, 2X2 + e1 = 13600 0, 3X1 + 0, 6X2 + e2 = 12000 0, 2X1 + 0, 2X2 + e3 = 10400 X1 + e4 = 20000 X2 + e5 = 16000 X1 e6 + a6 = 15000 X2 e7 + a7 = 5000 max Z avec Z = 400X1 + 500X2 Ga6 Ga7

Les tableaux ci-dessous montrent quapr` es deux it erations, une solution de base admissible est obtenue. Cette base nest plus articielle mais r eelle. La proc edure doit ensuite etre poursuivie jusqu` a lobtention de loptimum, sans tenir compte des colonnes concernant les variables articielles.

PP PP VHB PP VDB PP P

X1 0,5 0,3 0,2 1 0 1 0 400

X2 0,2 0,6 0,2 0 1 0 1 500

e1 1 0 0 0 0 0 0 0

e2 0 1 0 0 0 0 0 0

e3 0 0 1 0 0 0 0 0

e4 0 0 0 1 0 0 0 0

e5 0 0 0 0 1 0 0 0

e6 0 0 0 0 0 -1 0 0

e7 0 0 0 0 0 0 -1 0

a6 0 0 0 0 0 1 0 -G

a7 0 0 0 0 0 0 1 -G

cste 13600 12000 10400 20000 16000 15000 5000 0

C 68000 20000 52000 + 16000 + 5000

e1 e2 e3 e4 e5 a6 a7 Z

8.4. LA METHODE DU SIMPLEXE


PP PP VHB PP VDB PP P

159

X1 0,5 0,3 0,2 1 0 1 0 400

X2 0 0 0 0 0 0 1 0

e1 1 0 0 0 0 0 0 0

e2 0 1 0 0 0 0 0 0

e3 0 0 1 0 0 0 0 0

e4 0 0 0 1 0 0 0 0

e5 0 0 0 0 1 0 0 0

e6 0 0 0 0 0 -1 0 0

e7 0,2 0,6 0,2 0 1 0 -1 500

a6 0 0 0 0 0 1 0 -G

cste 12600 9000 9400 20000 11000 15000 5000 -2500000

C 25200 30000 47000 20000 + 15000 +

e1 e2 e3 e4 e5 a6 X2 Z

PP PP VHB X1 PP VDB PP P

X2 0 0 0 0 0 0 1 0

e1 1 0 0 0 0 0 0 0

e2 0 1 0 0 0 0 0 0

e3 0 0 1 0 0 0 0 0

e4 0 0 0 1 0 0 0 0

e5 0 0 0 0 1 0 0 0

e6 0,5 0,3 0,2 1 0 -1 0 400

e7 0,2 0,6 0,2 0 1 0 -1 500

cste 5100 4500 6400 5000 11000 15000 5000 -8500000

0 0 0 0 0 1 0 0

e1 e2 e3 e4 e5 X1 X2 Z

On peut alors d emarrer lalgorithme du simplexe avec la solution admissible X1 = 15000 et X2 = 5000.

8.4.4

Utilisation de la m ethode du simplexe lorsque la solution optimale nexiste pas

On consid` ere lexemple suivant :

Exemple 8.4.8 x0 , y0 x y 30 Maximiser = 2x + 6y si y x 40 En r esolvant graphiquement ce probl` eme on remarque que la solution optimale nexiste pas puisque lensemble convexe des solutions r ealisables nest pas born e et la fonction objectif peut augmenter dans ce cas sans limite. Appliquons lalgorithme du simplexe ` a cet exemple : la solution (x, y ) = (0, 0) est admissible.

160
PP PP VHB PP VDB PP P

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

x 1 -1 2

y -1 1 6

e1 1 0 0

e2 0 1 0

cste 30 40 0

C -30 40

e1 y

PP PP VHB PP VDB PP P

x 0 -1 8

y 0 1 0

e1 1 0 0

e2 1 1 -6

cste 70 40 -240

C + -40

e1 y

Aucun coecient de la colonne s electionn ee nest positif donc la colonne C ne donne aucune valeur positive non innie, x peut donc augmenter ind eniment et la fonction objectif egalement. On dira dans ce cas que la valeur maximale nexiste pas.

8.4.5

Utilisation de la m ethode du simplexe dans un probl` eme de minimisation

On consid` ere lexemple suivant : Exemple 8.4.9 x0 , y0 x 3y 1 Minimiser = 2x + y si xy 1 On d enit dans ce cas une fa con de transformer les probl` emes de minimisation en probl` emes de maximisation. On formule le principe suivant : minimiser = - maximiser(- ) Le probl` eme de minimisation pr ec edent devra donc etre transform e en x0 , x 3y Maximiser = 2x y si xy un probl` eme de maximisation soit y0 1 1

Appliquons lalgorithme du simplexe ` a cet exemple : la solution (x, y ) = (0, 0) est admissible.
PP PP VHB PP VDB PP P x

y -3 -1 -1

e1 -1 0 0

e2 0 1 0

cste -1 1 0

C -1 1

e1 e2

1 1 2

8.4. LA METHODE DU SIMPLEXE


PP PP VHB x PP VDB PP P

161

y -2 -1 1

e1 -1 0 0

e2 -1 1 -2

cste -2 1 -2

C 1 -1

0 1 0

e1 x

PP PP VHB x PP VDB PP P

y 1 0 0

e1 1 2 1 2 1 2

e2 1 2 3 2 5 2

cste

0 1 0

y x

1 2 -3

Lalgorithme sarr ete, la solution maximale est = 3 si x = 2 et y = 1. La solution minimale sera donc = 3 si x = 2 et y = 1.

8.4.6

Exercices r ecapitulatifs

Exercice 55 Une entreprise fabrique 3 produits P1 , P2 et P3 ` a partir des 3 composants C1 , C2 et C3 .

Les composants sont achemin es vers lusine par linterm edaire dune soci et e de transport qui facture le co ut de transport ` a lunit e. Les donn ees sont rassembl ees dans les tableaux ci-dessous : Produits P1 Nombre de composants C1 Nombre de composants C2 Nombre de composants C3 1 2 3 P2 2 1 2 P3 4 2 2

Par exemple, pour fabriquer une unit e de produit P3 , il faut 4 composants C1 , 2 composants C2 et 2 composants C3 . On se donne ensuite les co uts unitaires transport et hors transport en euros des di erents composants : C1 Co uts unitaires hors-transport (en euros) Co uts unitaires transport (en euros) 20 7 C2 25 6 C3 25 5

Les contraintes dapprovisionnement sont telles que lentrep ot dispose chaque semaine de 70 composants C1 , 80 composants C2 et 60 composants C3 . Les marges sur co uts variables unitaires sont de 3 euros pour P1 , 5 euros pour P2 et 6 euros pour P3 . On note respectivement x, y et z les nombres dunit es de P1 , P2 et P3 fabriqu ees au cours dune semaine. 1. Quels sont les co uts totaux hors-transport ainsi que les co uts totaux de transport pour chacun des composants utilis es ?

162

CHAPITRE 8. LA PROGRAMMATION LINEAIRE

2. Pr esenter la forme canonique du programme lin eaire permettant de maximiser la marge sur co uts variables hebdomadaires. 3. Pr esenter la forme standard du programme lin eaire permettant de maximiser la marge sur co uts variables hebdomadaires. 4. D eterminer le programme optimal de production. Quelle est la marge correspondante ? 5. Si lentreprise fabrique le programme optimal, combien reste t-il de composants de chaque sorte ?
Exercice 56 Suite ` a lincendie dun entrep ot, une soci et e fait appel ` a vos comp etences pour reconsti

tuer un programme lin eaire retrouv e sur place, dans un etat malheureusement assez d elabr e. Les seules informations dont vous disposez consistent en le tableau donn e ci dessous :
PP PP VHB PP VDB PP P

x 1 2 2 20

y 0 1 2 16

z 0 1 3 12

e1 0 0 0 0

e2 0 0 0 0

e3 0 0 0 0

cste 400 1000 2000 0

e1 e2 e3 Z

` laide du tableau, d 1. A eterminer le programme lin eaire r ealis e par lentrep ot. 2. Recr eer un contexte economique dentrep ot utilisant les donn ees du tableau pr ec edent. 3. R esoudre le programme lin eaire pr ec edent. 4. Comment proc` ede t-on an de minimiser la fonction objectif ?
Exercice 57 Une entreprise fabrique trois types de piles : s` eches de type 1 (PS1), s` eches de type 2 (PS2)

et ` a combustible (PC). Le processus de fabrication comporte trois etapes :

lassemblage, un test de qualit e, un traitement disolation. Seules les piles satisfaisant le test de qualit e sont soumises au traitement disolation. Les piles qui ratent le test de qualit e sont mises au rebut. Au cours du mois prochain, lentreprise disposera en temps-machine de 9000 heures pour lassemblage, de 1200 heures pour les tests de qualit e et de 8500 heures pour le traitement disolation. Le tableau suivant r esume les informations pertinentes du proc ed e de fabrication : Type PS1 PS2 PC Assemblage (seconde/unit e) 33 25 24 Test (s/unit e) 3 4, 5 4 Isolation (s/unit e) 15 22 21 Prot (euros/unit es) 1, 25 1 1, 1 Perte Taux e) d echec (euros/unit 3% 1% 2% 0, 6 0, 55 0, 75

1. Quel type de probl` eme reconna t-on ? 2. Mod eliser cet exercice de fa con ` a pouvoir r epondre aux questions suivantes : (a) Quel est le nombre optimal de piles de chaque type ` a fabriquer le mois prochain si lentreprise est assur ee de vendre toute sa production ?

8.4. LA METHODE DU SIMPLEXE

163

(b) Quel sera le prot ?


Exercice 58 La soci et e SUPERSTOCK d esire stocker dans son nouvel entrep ot trois types de produits ` a

savoir des coussins (produit P1 ), des traversins (produit P2 ) et des couvertures (produit P3 ) ` a laide de trois conditionnements particuliers C1 (sacs), C2 (palettes) et C3 (cartons). Les donn ees sont rassembl ees dans les tableaux ci-dessous : Conditionnement C1 Nombre de coussins P1 Nombre de traversins P2 Nombre de couvertures P3 20 40 60 C2 40 20 40 C3 80 40 40

Les contraintes de fabrication sont telles que lentreprise stocke journali` erement 1400 coussins, 1600 traversins et 1200 couvertures. Les gains relatifs au stockage et au transport pour les trois conditionnements sont donn es ci-dessous :

C1 Gains relatifs au stockage (en euros) Gains relatifs au transport (en euros) 46 14

C2 55 45

C3 105 15

1. Donner la forme canonique du programme lin eaire associ e. 2. Une r esolution graphique du programme lin eaire pr ec edent est-elle possible ? Si oui, comment sy prendre pour trouver la solution optimale ? ` laide de la m ethode du simplexe, r esoudre le programme lin eaire propos e en utilisant la r` egle du 3. A plus grand gain marginal. 4. Retrouver cette solution ` a laide du plus petit gain marginal. 5. Pr eciser la valeur maximale de la fonction objectif ainsi que les quantit es restantes de coussins, traversins et couvertures.

You might also like