OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2...

70
OPM3001 - Techniques quantitatives de gestion Eric L ALLET, Jean-Luc R AFFY TELECOM É COLE DE MANAGEMENT - 1 re A NNÉE Décembre 2015

Transcript of OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2...

Page 1: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

OPM3001 - Techniques quantitatives de gestion

Eric LALLET , Jean-Luc RAFFY

TELECOM ÉCOLE DE MANAGEMENT - 1re ANNÉE

Décembre 2015

Page 2: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

ii Eric L ALLET , Jean-Luc RAFFY

Page 3: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Table des matières

Avant propos v

0.1 Organiser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . v

0.2 Minimiser des coûts, des temps . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . vi

0.3 Gérer la logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . vi

0.4 Optimiser une vente, une production . . . . . . . . . . . . . . . . .. . . . . . . . . . . . vi

0.5 La vraie problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . vii

I Théorie des graphes 1

1 Graphes orientés : définitions et généralités 3

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 3

1.2 Graphes orientés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 3

2 Les problèmes d’ordonnancement 5

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 5

2.2 L’analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 5

2.3 Le diagramme de GANTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 6

2.4 La méthode potentiel-tâches . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 8

3 Flot Maximal 15

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 15

3.2 Description du problème . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 15

3.3 Exemple de problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 16

3.4 L’algorithme de Ford-Fulkerson . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . 17

3.5 Fin de l’exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 22

3.6 Flot au jugé, seconde version . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 23

3.7 Coupe minimale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 24

3.8 Une méthode pour modéliser un flot maximal . . . . . . . . . . . . .. . . . . . . . . . . 25

4 Recherche du plus court chemin 31

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 31

4.2 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 31

4.3 Exemples de problèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . 31

4.4 Algorithme de Ford-Moore . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 32

Eric LALLET , Jean-Luc RAFFY iii

Page 4: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

4.5 Modélisation des problèmes de plus court chemin . . . . . . .. . . . . . . . . . . . . . . 34

II Programmation linéaire 39

5 La programmation linéaire 41

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 41

5.2 La forme canonique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 41

5.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 42

6 La méthode géométrique 45

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 45

6.2 La méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 45

6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . 46

7 Le simplexe 49

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 49

7.2 La forme standard et son tableau associé . . . . . . . . . . . . . .. . . . . . . . . . . . . 49

7.3 L’algorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 51

7.4 Interprétation du tableau final . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . 52

7.5 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 53

7.6 Plus loin au sujet des valeurs marginales . . . . . . . . . . . . .. . . . . . . . . . . . . . 55

7.7 Unités et simplifications . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 56

iv Eric LALLET , Jean-Luc RAFFY

Page 5: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Avant propos

À quoi servent les techniques quantitatives de gestion ? A répondre à ce genre de questions :

Combien d’hommes et en combien de temps une armée peut-elle emmener sur tel ou tel terrain d’opé-ration en cas de besoin ?

Existe-t-il des cas où une entreprise doit produire moins pour gagner plus ?

Quelles sont les tâches d’un projet sur lesquelles il ne fautpas prendre de retard sous peine de pénalisertout le projet ?

Voici quelques problèmes pour illustrer ces questions :

0.1 Organiser

Les TQG permettent de s’organiser, calculer le temps d’un projet, trouver les tâches «critiques» d’unprojet.

Voici un mini-exemple de problème :

Alice et Hugo sont employés dans une agence événementielle.Ils doivent organiser un spectaclepour un client.Alice doit s’occuper de l’organisation du spectacle et Hugode son financement.Alice se donne 2 semaines de prospection afin de faire une liste de lieux possibles. Ensuite elleaura besoin de 4 semaines pour établir une liste d’intervenants pour le spectacle.Hugo se donne 5 semaines pour trouver des sponsors prêts à associer leur image à cet événement.Une fois tout cela trouvé, Hugo et Alice devront proposer un créneau d’une semaine pour fixerune réunion avec leur client pour qu’il décide parmi tous leschoix possibles.Après cette réunion Alice aura besoin de deux semaines pour préparer le lieu retenu, et une autresemaine pour organiser toutes les répétitions.Après la réunion, Hugo aura besoin d’une semaine pour réunirtous les fonds promis par lessponsors. Une fois les lieux de spectacle préparés, il se donne une semaine faire les affiches etles tracts pour annoncer l’événement. Pour finir, il veut encore une semaine pour distribuer tousces tracts.Dans combien de temps au plus tôt pourra avoir lieu cet événement ? Est-ce grave si les répéti-tions prennent plus de temps que prévu ?Réponse avec les techniques vues dans le chapitre «Les problèmes d’ordonnancement» page 5.

Eric LALLET , Jean-Luc RAFFY v

Page 6: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

0.2 Minimiser des coûts, des temps

Les TQG vont permette de faire des choix pour minimiser des coûts, des temps. . .

Voici un mini-exemple de problème :

Une usine d’assemblage smart-phone a reçu la commande pour200 000 appareils à livrer dansquatre mois. Chaque mois l’usine peut produire jusqu’à80 000 appareils. Tous les appareilsconstruits à l’avance devront être stockés, avec un certaincoût.Le coût de production unitaire pour le mois 1 est de 50 écus, pour le mois 2 de 60 écus, pour lemois 3 de 60 écus et pour le mois 4 de 75 écus.Le coût de stockage par appareil des productions terminées les mois précédents est de 5 écuspour le mois 2, 5 écus pour le mois 3 et 10 écus pour le mois 4.Comment l’usine doit organiser la production pour obtenir un coût minimal pour les200 000appareils ?Réponse avec la technique vue dans le chapitre «Recherche duplus court chemin» page 31.

0.3 Gérer la logistique

Les TQG vont permettre de gérer la logistique : où et combien produire, où et combien stocker, où etcombien vendre. . .

Voici un mini-exemple de problème :

Fontaine Bleue est une entreprise qui gère un parc de fontaines d’eau de bureau dans trois zonesdifférentes : en région parisienne, en région lyonnaise et en bourgogne. Elle possède deux grandsentrepôts : un à coté de Paris, l’autre à coté de Lyon. Elle obtient son eau déjà conditionnée enbidons compatibles avec ses fontaines, de trois fournisseurs : le premier est en Val de Loire, lesecond en Auvergne et le troisième dans la région stéphanoise.Le fournisseur de Val de Loire peut produire et livrer dans l’entrepôt parisien 40m3 d’eau parmois. Le fournisseur auvergnat peut produire 70m3 d’eau par mois. Il à la capacité d’en livrer 40dans l’entrepôt parisien, et 50 dans l’entrepôt lyonnais. Le fournisseur stéphanois peut produireet livrer dans l’entrepôt lyonnais 30m3 par mois.L’entrepôt parisien peut recevoir 100m3 par mois, et l’entrepôt lyonnais 50m3. Depuis l’entrepôtparisien, Fontaine Bleue sait livrer 50m3 d’eau par mois en région parisienne et 40 en bourgogne.Depuis l’entrepôt lyonnais elle sait livrer 30m3 d’eau par mois en région lyonnaise et 10 enbourgogne.Combien dem3 d’eau au maximum sait fournir Fontaine Bleue ?Réponse avec les techniques vues dans le chapitre «Flot maximal» page 15.

0.4 Optimiser une vente, une production

Les TQG vont permettre de trouver l’optimum de nombreux de problèmes, comme maximiser un béné-fice, une production, etc. . .

Voici un mini-exemple de problème :

Un atelier d’ébénisterie a obtenu un contrat de sous-traitance de meubles pour deux modèles debibliothèques. Ces deux modèles utilisent du chêne et du hêtre pour être fabriqués. Le modèle«petit chêne» utilise2 stères de chêne et4 stères de hêtre. Le modèle «grand hêtre» utilise8stères de hêtre et1 stère de chêne. La construction des 2 modèles nécessite10 heures de travailchacun. La marge obtenu sur le modèle «petit chêne» est de600 euros, et celle sur le modèle«grand hêtre» de400 euros.Sachant que cet atelier dispose chaque année d’un stock de8.000 stères de hêtre et2.000 stèresde chêne, et qu’il peut fournir12.500 heures de travail, quelle quantité de chaque modèle doit-ilproduire pour optimiser sa marge ?Sachant qu’en heure supplémentaire les ouvriers coûtent25 euros de l’heure. Est-il rentabled’avoir recours à des heures supplémentaires pour produireplus ?Réponse avec les techniques vues dans la partie «Programmation linéaire» page 41.

vi Eric LALLET , Jean-Luc RAFFY

Page 7: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

0.5 La vraie problématique

Tôt ou tard le directeur d’une entreprise, d’une équipe ou d’un projet devra répondre à des questionsdu même type que vu ci-dessus. Évidemment il lui faudra réunir diverses informations et paramètres pourpouvoir le faire. Mais une fois toutes les cartes en main il devra mettre en œuvre des techniques de calculpour trouver la bonne réponse.

Ce sont ces «techniques quantitatives de gestion» qui vont être présentées dans ce cours. Elles utilisentdes algorithmes issus de deux types de théories différents :certains reposent sur la théorie des graphes, etd’autres sur la programmation linéaire.

Cependant ce cours n’est ni un cours de théorie des graphes, ni un cours de programmation linéaire. Ilva présenter les bases nécessaires à la compréhension des algorithmes utilisés par les différentes techniques,mais il n’en fera pas une présentation formelle ou complète.Ainsi les algorithmes seront décrits, mais lesthéories sous-jacentes ne seront qu’effleurées, leurs preuves ne seront pas faites.

Ne pensez pas pour autant qu’il faille laisser votre intelligence au vestiaire. Certes, une fois l’algorithmecompris, il devient vite une technique «automatique» et assez facile à appliquer, mais la vraie difficultén’est pas ici. Le véritable problème à résoudre est de trouver comment modéliser votre question et doncquelle technique appliquer pour avoir la réponse. Ainsi l’enjeu de ce cours n’est pas tant de savoir commentmarchent les techniques (même si vous allez effectivement devoir le savoir !), mais plutôt de savoir à quellesquestions et à quels types de problèmes elles répondent.

Eric LALLET , Jean-Luc RAFFY vii

Page 8: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

viii Eric L ALLET , Jean-Luc RAFFY

Page 9: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Première partie

Théorie des graphes

Eric LALLET , Jean-Luc RAFFY 1

Page 10: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit
Page 11: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Chapitre 1

Graphes orientés : définitions etgénéralités

1.1 Introduction

Beaucoup d’algorithmes d’optimisation, d’ordonnancement, de recherche d’optimum reposent sur desgraphes. Un bon dessin valant souvent plus qu’un long discours, les gens formalisent naturellement beau-coup de leur problèmes avec des graphes.

Il existe deux grandes familles de graphes : les graphes orientés, et les graphes non orientés. Dans cepremier chapitre nous allons décrire le minimum à savoir pour les diverses techniques utilisant les graphesorientés.

1.2 Graphes orientés

Un graphe orienté est composé de sommets et d’arcs allant d’un sommet vers un autre (éventuellementle même).

Un graphe fini orienté (G) se définit grâce deux ensembles finis : un ensemble de sommets(X), et unensemble d’arc (U ).

G = [X,U ] avec X = {x1, x2, x3, . . . , xn} et U = {u1, u2, u3, . . . , um}

Un arcuk deU est défini par une paire ordonnée de sommets(xi, xj). On dit que l’arcuk va dexi àxj .

FIG. 1.1 – Exemples de graphe orienté

Sur la figure 1.1G = [X,U ] avecX = {1, 2, 3, 4, 5, 6, } et U = {u1, u2, u3, u4, u5, u6, u7, u8}. L’arcu1 va de1 vers2 et l’arcu3 va de2 vers2.

Définition 1.1 (extrémité initiale) Soit un arcuk = (xi, xt). xi est dite l’extrémité initiale deuk. Ondéfinit aussi une fonctionI(uk) = xi qui donne l’extrémité initiale d’un arc.

Eric LALLET , Jean-Luc RAFFY 3

Page 12: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Définition 1.2 (extrémité terminale) Soit un arcuk = (xi, xt). xt est dite l’extrémité terminale deuk.On définit aussi une fonctionT (uk) = xt qui donne l’extrémité terminale d’un arc. On nomme aussi cetteextrémité, l’extrémité finale.

Définition 1.3 (successeur)On dit que le sommetxt est successeur du sommetxi s’il existe au moins unarc ayantxi comme extrémité initiale, etxt comme extrémité terminale.

Définition 1.4 (prédécesseur)On dit que le sommetxi est prédécesseur du sommetxt s’il existe au moinsun arc ayantxi comme extrémité initiale, etxt comme extrémité terminale.

Sur l’exemple le sommet2 a2 , 3 et4 pour successeurs. Le sommet2 a1 et2 pour prédécesseurs

Définition 1.5 (application multivoqueΓ+) Soit un grapheG = [X,U ]. On définitΓ+ comme l’applica-

tion qui à tout sommetx deX associe l’ensemble des sommets successeurs dex.

Sur l’exemple de la figure 1.1Γ+(2) = {2, 3, 4}.

Γ+(2) peut se noterΓ+2 .

Définition 1.6 (application multivoqueΓ−) Soit un grapheG = [X,U ]. On définitΓ− comme l’applica-

tion qui à tout sommetx deX associe l’ensemble des sommets prédécesseurs dex.

Sur l’exempleΓ−(2) = {1, 2}.

Γ−(2) peut se noterΓ−

2 .

Définition 1.7 (Graphe simple) Un graphe simple est un graphe dans lequel il n’y pas deux arcsayant lamême extreminité initiale et la même extréminité terminal.

FIG. 1.2 – Exemples de graphe orienté

Le graphe 1.1 n’est pas un graphe simple (u1 etu2 ont les même extrémités), mais le graphe 1.2 est ungraphe simple.

Dans le cas d’un graphe simple la connaissance de l’ensembledes sommetsX et de l’applicationΓ+

définit totalement le graphe. Voila pourquoi dans ce cas, il est possible de définir un grapheG commeG = [X,Γ+].

De plus dans un graphe simple il est possible de désigner les arcs par leurs extrémités sans la moindreambigüité. Sur le graphe 1.2 l’arcu1 peut aussi être nommé l’arc(1, 2).

Définition 1.8 (chemin) Un chemin est une suite d’arcs(u0, u1, . . . , un) avecT (ui) = I(ui+1) pour iallant de0 à n− 1.

(u1, u3, u6) est un chemin allant de 1 à 4. Sur un graphe simple on peut noter le chemin en indiquantles sommets parcourus.(1, 2, 2, 4) désigne le même chemin.

4 Eric LALLET , Jean-Luc RAFFY

Page 13: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Chapitre 2

Les problèmes d’ordonnancement

2.1 Introduction

On se pose des problèmes d’ordonnancement lorsque l’on est confronté à un problème d’organisation. Ilfaut accomplir de multiples tâches qui demandent un certaintemps d’exécution et qui doivent être exécutéesdans un certain ordre. Il est donc nécessaire d’identifier les tâches prioritaires en fonction de l’objectif àatteindre et, lors de leur exécution, il faut détecter les retards et les dépassements de moyens.

Les nombreuses méthodes d’ordonnancement peuvent se regrouper en deux grandes familles selon leprincipe de base qu’elles utilisent. On distingue :

– les méthodes du type diagramme à barres : GANTT– les méthodes à chemin critique : potentiel-tâches, potentiel-étapes (PERT).Dans ce cours nous allons traiter les diagrammes de GANTT et le potentiel-tâches.

2.2 L’analyse

La première étape d’un problème d’ordonnancement consisteà obtenir une liste de tâches, leur du-rée, et les contraintes de temps les unes par rapport aux autres (quelles tâches doivent être finies pour encommencer une autre).

Voici un petit exemple d’ordonnancement pour illustrer ce chapitre :

Pour mieux rentabiliser ses cours, un organisme de formation mutualise ses modules dans diverscursus différents. Ainsi avec 8 modules de cours il arrive à proposer les trois cursus suivants :– Le premier cursus commence par le modules A, puis le D, suividu F, et enfin se termine par

le H.– Le deuxième cursus commence au choix par le module A ou B, puis le E, suivi du G, et enfin

se termine par le H.– Le troisième cursus commence par le module C, puis le G et enfin se termine par le H.Pour chacun des cursus, on ne peut commencer un module que si le précédent est terminé.Voici la durée des divers modules :

Modules A B C D E F G HDurée

(semaines) 3 2 5 3 3 5 2 2

Quelle va être le temps minimum pour terminer toutes les formations ?

L’analyse des divers cursus nous apprend :– Les modules A, B, C peuvent commencer dès le début.– Le module D commence après la fin de A (à cause du premier cursus)– le module E commence après la fin de A et de B (à cause du deuxième cursus)– le module F commence après la fin de D (à cause du premier cursus)– le module G commence après la fin de E (à cause du deuxième cursus) et après la fin de C (à cause

du troisième cursus).

Eric LALLET , Jean-Luc RAFFY 5

Page 14: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

– le module H commence après la fin de F (à cause du deuxième cursus) et après la fin de G (à causedu deuxième et du troisième cursus).

On obtient donc le tableau des tâches, durées et contraintessuivant :

Tâches Durées ContraintesA 3 semainesB 2 semainesC 5 semainesD 3 semaines A achevéeE 3 semaines A, B achevéesF 5 semaines D achevéeG 2 semaines C, E achevéesH 2 semaines F, G achevées

2.3 Le diagramme de GANTT

Un diagramme de GANTT se présente sous la forme d’un tableau àdeux dimensions. Les colonnes re-présentent l’avancement du temps (par exemple chaque colonne pourra symboliser la durée d’une semaine),et les lignes contiennent les différentes tâches à accomplir. En face de chaque tâche on va dessiner une barreallant du temps début de la tâche à son temps de fin.

On va dessiner le diagramme de GANTT des divers cursus de formations en utilisant le tableau obtenuaprès analyse dans la section précédente.

Les trois premières tâches (A, B et C) n’ont aucune contrainte. Elles peuvent commencer au temps0.On peut donc les représenter dans notre table en traçant une barre partant du temps 0, et parcourant la duréede la tâche : 3 semaines pourA, 2 pourB, et 6 semaines pourC :

Tâches 1 2 3 4 5 6 7 8 9 10 11 12 13

A

B

C

Par contre la tâcheD ne peut commencer qu’après la tâcheA et E ne peut commencer qu’après lestâchesA et B. Comme ces tâches sont déjà dans notre diagramme, on connaîtleurs temps de fin (après lasemaine 3 et 2), il est donc possible de tracer la barre ces deux tâches :

Tâches 1 2 3 4 5 6 7 8 9 10 11 12 13

A

B

C

D

E

Les contraintes deF etG sont maintenant résolues.F commence aprèsD donc après la sixième semaine.G ne peut commencer qu’aprèsC etE, c’est le temps de fin deE (6) la plus grande contrainte qui va imposerle début deG :

6 Eric LALLET , Jean-Luc RAFFY

Page 15: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Tâches 1 2 3 4 5 6 7 8 9 10 11 12 13

A

B

C

D

E

F

G

Il ne reste plus queH à placer. Cette tâche commence aprèsF et G. De ces deux tâches, c’estF quitermine en dernier, c’est donc après la semaine 11, queH va commencer.

Tâches 1 2 3 4 5 6 7 8 9 10 11 12 13

A

B

C

D

E

F

G

H

Ce diagramme nous apprend déjà qu’il faudra au minimum 13 semaines pour achever toutes les forma-tions. Comme il est très visuel il pourra aussi servir de planning. Il permet aussi de voir facilement quellestâches se déroulent en parallèle.

Sur ce graphe, les tâchesD etE sont très similaires. Elles semblent devoir commencer et finir en mêmetemps. Pourtant on va voir dans la section suivante qu’il esttout à fait possible de reporter la tâcheE detrois semaine sans que cela ne change la durée du projet, alors que le moindre report de la tâcheD allongerala durée du projet. Cette notion importante de tâche «critique» n’apparaît pas sur le diagramme de GANTT.

De plus les contraintes n’apparaissent plus sur cette version du graphe. Par exemple on voit bien que latâcheF commence après la semaine 6, mais on ne peut pas savoir si c’est à cause de la tâcheD ou de la tâcheE. On ne peut pas immédiatement déduire les conséquences d’unretard d’une tâche sur les autres. Voilapourquoi certains logiciels proposent une version améliorée de GANTT qui fait ressortir ces dépendances.

En résumé ce diagramme présente les avantages suivants :– clarté et simplicité de la méthode– information très condensée et très lisible.– facilité de visualisation des tâches parallèles.

Par contre il a des inconvénients :– les tâches critiques ne sont pas mises en évidence

Eric LALLET , Jean-Luc RAFFY 7

Page 16: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

– l’élaboration d’un plan d’action se révèle malaisé car cette méthode ne fait pas apparaître les liaisonsentre les tâches.

La mise en évidence de ces tâches critiques et de l’enchaînement des tâches est au contraire le point fortde la méthode «potentiel-tâches» présentée dans la sectionsuivante.

2.4 La méthode potentiel-tâches

2.4.1 Construction du graphe

Le but de cette méthode est de mettre en valeur l’enchaînement des tâches, de déterminer les dates dedébut et de fin de chaque tâche, de connaître les marges de manœuvre possibles sur ces dates. Pour cela onva construire un graphe dont les sommets seront les tâches duprojet et les arcs les contraintes qui les lient.Ces arcs seront étiquetés (valués) par la durée de la tâche dont ils sont issus.

La première étape de cette méthode va être de dessiner le graphe des tâches. Reprenons l’exemple de lasection précédente :

Tâches Durées ContraintesA 3 semainesB 2 semainesC 5 semainesD 3 semaines A achevéeE 3 semaines A, B achevéeF 5 semaines D achevéeG 2 semaines C, E achevéesH 2 semaines F, G achevées

On commence le graphe en plaçant un sommet pour toutes les tâches n’ayant aucune contrainte. Pourl’exemple, on place donc les sommetsA, B et C (cf l’étape 1 sur la figure 2.1). Ensuite on ajoute étape parétape les sommets qui ne dépendent que des sommets déjà placés. On ajoute un arc entre les sommets desétapes pré-requises et le sommet ajouté. Sur cet arc on indique la durée de la tâche pré-requise. Donc pourl’exemple, après les tâchesA, B etC, on peut placer les tâchesD etE. On trace aussi les arcs partant deA etB vers ces deux tâches, en indiquant dessus leur durée. Donc lavaleur 3 pour la tâcheA et 2 pour la tâcheB (cf l’étape 2 de la figure 2.1).

A

B

C

Etape 1

A

B

C

E

D

Etape 2

3

3

2

FIG. 2.1 – Début de la construction du graphe

On continue ainsi à placer les autres tâches et les arcs qui indiquent les dépendances jusqu’à la dernière.On arrive alors au graphe de la figure 2.2.

Il nous reste à finaliser ce graphe. Pour cela il faut ajouter une ou deux tâches fictives de durée nulle. Sile projet débute par plusieurs tâches en parallèle, on ajoute avant celles-ci une tâcheα qui va symboliser ledébut du projet. On va la relier à toutes les tâches qui débutent le projet (les tâches sans dépendance, donc

8 Eric LALLET , Jean-Luc RAFFY

Page 17: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

A

B

C

F

G

D

E H

3 3

53

2

5

3 2

FIG. 2.2 – Graphe avec toutes les tâches

qui n’ont pas de prédécesseur). Enfin une tâcheω va symboliser la fin du projet. Tous les sommets sanssuccesseur vont y être reliés. Il faut bien sûr penser à placer sur les arcs la durée des tâches correspondantes.On arrive alors au graphe finalisé de la figure 2.3.

FIG. 2.3 – Graphe finalisé

Pour appliquer l’algorithme du potentiel-tâches on va calculer pour chaque tâche trois valeurs (la dateau plus tôt, la date au plus tard, et la marge totale). Pour pouvoir faire ces calculs directement sur le grapheon transforme chaque sommet en une case divisée en trois sections pour recevoir ces trois valeurs.

FIG. 2.4 – Préparation du potentiel-tâches pour les calculs

Eric LALLET , Jean-Luc RAFFY 9

Page 18: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

2.4.2 Calcul des dates au plus tôt

Pour qu’une tâche puisse commencer il faut que toutes les tâches qui la relient au début du projet soientréalisées.

Définition 2.1 (date au plus tôt) On définit doncti, la date au plus tôtde la tâchei comme la date au plustôt de l’exécution de la tâchei.

Par exemple, pour commencer la tâcheE, il faut avoir finit la tâcheA et B. CommeA dure 3 semaineset B 2 semaines, ce sont les 3 semaines deA qui sont la véritable contrainte pourE. La tâcheE ne pourradonc commencer au plus tôt que 3 semaines après le début du projet. En fait pour retrouver ce temps on acherché le plus long chemin sur le graphe entreα etE.

Définition 2.2 (durée du projet) On définit la durée du projet comme la date au plus tôt de la tâcheω.

Cette date va donc se calculer en trouvant le plus long chemindeα àω.

Pour trouver les dates au plus tôt des différentes tâches, ilsuffit d’appliquer l’algorithme de recherchedu plus long chemin sur le graphe du potentiel-tâches.

Pour cela on commence par fixer la date au plus tôt de tâcheα à 0. Ensuite on traite étape après étapetoutes tâches dont la date au plus tôt des prédécesseurs est connue. Pour chaque prédécesseur on fait lasomme de sa date au plus tôt et de sa durée. On conserve la plus grande valeur qui devient la date au plustôt de la tâche.

On débute avec un graphe avec des cases vides, sauf pour letα qu’on initialise à 0 (voir figure 2.5).

FIG. 2.5 – Calcul de la date au plus tôt : état initial

Ensuite on traite tous les sommets dont les prédécesseurs sont déjà traités. Pour chaque arc arrivant surle sommet, on calcule la somme la valeur duti du sommet initial de l’arc et de la valeur de l’arc. On met lemaximum sur le sommet terminal.

Pour la première étape, on peut remplir les sommetsA, B etC. Ils n’ont qu’un seul prédécesseur chacun,et donc la maximum est vite trouvé (voir figure 2.6).

FIG. 2.6 – Calcul de date au plus tôt : première étape A, B et C

Pour la seconde étape, le calcul est simple pourD. Il n’y a qu’un seul prédécesseur, il suffit donc defaire la somme du sommet initial (A=0) et de l’arc (3).Par contreE à 2 prédécesseurs. La somme en partantA est plus grande, c’est donc cette valeur (3) que l’on prend (voir figure 2.7).

10 Eric LALLET , Jean-Luc RAFFY

Page 19: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

FIG. 2.7 – Calcul de la date au plus tôt : seconde étape D et E

La troisième étape permet de remplir la date au plus tôt deF etG. PourF il n’y a que l’arc venant deDà prendre en compte, mais pourG il y a deux choix. La plus grande valeur vient parE (voir figure 2.8).

FIG. 2.8 – Calcul de la date au plus tôt : troisième étape F, et G

En continuant avec la même logique on remplit la date au plus tôt deH (un maximum à choisir parmi 2arcs) et deω (voir figure 2.9).

FIG. 2.9 – Calcul de la date au plus tôt : fin

2.4.3 Recherche de la date au plus tard

On sait maintenant quand une tâche pourra commencer au plus tôt. On va maintenant calculer quand ilsera possible de commencer au plus tard une tâche sans que cela ne retarde la fin du projet.

Définition 2.3 (date au plus tard) On définit doncTi, la date au plus tardde la tâchei comme la date auplus tard où l’on puisse commenceri sans augmenter la durée du projet.

Par exemple, prenons la tâcheG. Cette tâche dure 2 semaines et doit être faite pour commencer la tâcheH. La tâcheH commence la11me semaine. Donc on peut décider de commencer la tâcheG que 2 semainesavant c’est à dire la9me semaine sans que le projet ne prenne de retard. En résumé on peut commencer auplus tôtG la 6me semaine et au plus tard la9me semaine (TG = 9).

Eric LALLET , Jean-Luc RAFFY 11

Page 20: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Pour calculer la date au tard de chaque tâche, on va remonter le graphe depuis la tâcheω jusqu’à la tâcheα. On initialiseTω, la date au plus tard d’ω avec la valeur de sa date au plus tôt que l’on vient de calculer.On obtient le graphe initial de la figure 2.10.

FIG. 2.10 – Calcul de la date au plus tard : état initial

Ensuite on déroule l’algorithme du calcul de la date au plus tard : on regarde tous les sommets dont lessuccesseurs sont déjà traités. On choisit parmi les successeurs celui qui à le plus petitTi, et on lui retire lavaleur de l’arc.

Pour la première étape, on peut remplir le sommetH. Il n’a qu’un seul successeur et donc la minimumest vite trouvé (voir figure 2.11).

FIG. 2.11 – Calcul de date au plus tard : première étape H

Le seconde étape permet de trouver la date au plus tard pourF etG. Ces deux sommets n’ont qu’un seulsuccesseur, donc il suffit de retirer la valeur de l’arc auTi du successeur. On arrive au graphe de la figure2.12

FIG. 2.12 – Calcul de la date au plus tard : seconde étape (F etG)

Les tâches D et E se traitent exactement de la même façon. Par contre la tâche A a deux successeurs.On retient la date au plus tard la plus petite (TD = 3) et on rejette la plus grande (TE = 6). On obtient legraphe de la figure 2.13.

Pour la dernière étape, lorsque les dates au plus tard deA, B et C sont calculées, on peut trouver celledeα. Il a trois successeur, et c’estA qui avecTA = 0 a leTi minimum alors queB avecTB = 4 et C avecTC = 3 sont rejetés.

12 Eric LALLET , Jean-Luc RAFFY

Page 21: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

FIG. 2.13 – Calcul de la date au plus tard de la tâcheA

FIG. 2.14 – Calcul de la date au plus tard : fin

On finit par le sommet initial du graphe (iciα). Sa date au plus tard est obligatoirement0. Trouver uneautre valeur prouve qu’il y a des erreurs dans les calculs.

2.4.4 Calcul des marges

Définition 2.4 (marge totale) La marge totaleMi d’une tâchei est le délai dont on peut retarder cettetâche sans affecter l’achèvement du projet.

Cette marge est donnée par la différence entre la date au plustard et la date au plus tôt :Mi = Ti − ti.

Les tâches critiques sont celles qui ont une marge totale nulle. Il est impossible de prendre du retarddessus sans retarder tout le projet. Le chemin critique passe par les tâches critiques. On le visualise sur legraphe en doublant les arcs de ce chemin : les arcs doublés sont ceux dont les deux extrémités ont une margetotale nulle. Sur notre exemple (voir figure 2.15) il n’y qu’un seul chemin critique, mais il est possible d’enobtenir plusieurs. Ce chemin critique va deα à ω en passant partA, D, F et H qui sont donc les quatretâches critiques sur lesquelles aucun retard n’est permis.

FIG. 2.15 – Calcul des marges et du chemin critique

Eric LALLET , Jean-Luc RAFFY 13

Page 22: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

14 Eric LALLET , Jean-Luc RAFFY

Page 23: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Chapitre 3

Flot Maximal

3.1 Introduction

Dans ce chapitre nous allons voir un algorithme qui permet detrouver le flot maximal entre deux pointsd’un graphe. De nombreux problèmes de natures très différentes se modélisent avec ce genre de graphe. Envoici juste quelques-uns :

– Des problèmes de logistique : c’est d’ailleurs avec ce domaine d’application que les militaires ontdéveloppé cette technique pour gérer au mieux leur logistique. Mais la logistique est loin d’êtreréservée aux militaires !

– Des problèmes d’optimisation de production ou de vente : produire ou vendre en masse est avant toutun problème de flux. Il faut que le produit aille de la matière première jusqu’au client en passant parle processus de fabrication. Le flot-max permettra de trouver la capacité maximale de ce flux et mêmede trouver où il faut travailler pour l’améliorer.

– Des problèmes d’échanges financiers : les marchés sont des lieux d’échanges et donc ils génèrent desflux. Trouver leur limite, c’est rechercher un flot maximal.

3.2 Description du problème

Le problème du flot maximal consiste à faire passer un flot optimal à travers un «réseau de transport».Un réseau de transport est un graphe orienté sans boucle, dont chaque arc est valué par un nombre repré-sentant sa capacité de transport, c’est à dire le nombre maximal d’éléments que l’on peut faire transiter parcet axe. On distingue deux sommets particuliers dans ce graphe :S, la source, etP , le puits. Le problèmesera de trouver la capacité du transit maximal entre la source et le puits. La capacité d’un arcu sera notéec(u), et le flot attribué à cet arc sera notéϕ(u). Pour les dessiner on va adopter quelques notations.

Pour décrire ce graphe de transport, les capacités seules suffisent. Donc on dessinera des graphes avecune seule valeur sur les arcs. Cette valeur correspondra alors à la capacité de transport de cet arc. Surl’exemple de la figure 3.1, l’arcA→ B permet le passage de 15 éléments au maximum.

FIG. 3.1 – conventions de notation

Lorsque l’on va rechercher le flot-max, en plus de la capacitéon va devoir noter le flot que l’on faitcirculer sur l’arc. Cette valeur sera notée avant la capacité avec une barre de fraction pour les séparer :flot/capacité. En aucun cas le flot qui traverse un arc ne peut être supérieur à sa capacité. Sur l’exemple dela figure 3.2, l’arcA → B est traversé par un flot de 9 éléments. Comme sa capacité totale est de 15, ondira que sa capacité résiduelle est de 6 (15− 9).

Les éléments qui circulent dans un réseau de transport, arrivent tous dans le graphe par un sommet

Eric LALLET , Jean-Luc RAFFY 15

Page 24: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

FIG. 3.2 – conventions de notation

unique appelé la source. Ils doivent tous transiter et sortir par un sommet unique appelé le puits. Il faut doncvérifier que la totalité du flot qui arrive au puits est égal à latotalité du flot qui part de la source. De plus lesautres sommets (entre la source et le puits) n’ont pas le droit de faire apparaître ou disparaître le moindreélément. Donc pour tous les autres sommets on doit vérifier que la somme des flots entrant est égale à lasomme des flots sortant.

Par exemple sur l’extrait de graphe de la figure 3.3, il y a un flot de2+6+7 = 15 éléments qui arriventsur le sommet E. Il y a en bien aussi 15 qui en partent (5 + 10).

FIG. 3.3 – Le flot doit être équilibré sur tous les sommets

3.3 Exemple de problème

Pour illustrer ce chapitre, imaginons un exemple :

Un magasin («M») spécialisé dans les téléphones mobiles a une capacité de vente de500 appareils parjour . Il se les fait livrer chaque matin à partir de deux entrepôts («E1» et «E2»). La capacité de livraisonà partir de l’entrepôt «E1» vers le magasin est de400 appareil chaque matin. Pour l’entrepôt «E2» elle estde300 appareils. Les entrepôts se font eux-même approvisionner régulièrement : la capacité moyenne desarrivées sur l’entrepôt «E1» est de500 appareils par jour. Pour l’entrepôt «E2» elle est de900. Le gérantdu magasin s’est aperçu que la capacité d’accueil de ses entrepôts dépassait la capacité de vente de sonmagasin. Il a donc aussi développé un système de vente directe dans ses entrepôts. La capacité de vente del’entrepôt «E1» est de400 appareils par jour. Celle de l’entrepôt «E2» de500 appareils.

Dans ces conditions combien peut-il vendre au maximum d’appareils chaque jour ?

Il faut commencer par modéliser le problème pour obtenir le graphe de transport qui correspond à ceténoncé. Dans ce graphe de transport, chacune des contraintes (capacité de vente, de livraison, d’approvi-sionnement) devra apparaître sous la forme d’un et un seul arc. Ensuite il faudra créer tous les cheminspossibles entre les approvisionnements et ventes.

Au tout début du circuit commercial, il y a les approvisionnements des deux entrepôts. On va donccommencer à placer ces deux arcs avec leur deux contraintes (500 appareils pour «E1» et 900 pour «E2»).

Il y a deux usages possibles des appareils arrivés dans les entrepôts : soit ils sont vendus directement sur

16 Eric LALLET , Jean-Luc RAFFY

Page 25: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

FIG. 3.4 – Début de la modélisation

place, soit ils sont livrés au magasin «M». Depuis l’entrepôt «E1» on peut en vendre 400 et en livrer 400,depuis l’entrepôt «E2» on peut en vendre 500 et en livrer 300.

FIG. 3.5 – Suite de la modélisation

Les appareils arrivés au magasin doivent être vendus. On ajoute donc cette capacité au graphe (500).Toutes les contraintes seront alors reportées sur le modèle. Mais un graphe de transport ne doit avoir qu’uneseule entrée (la source) et qu’une seule sortie (le puits). Donc on ajoute un somme «S» pour servir d’origineà tous les arcs en début de graphe, et un sommet «P» pour servirde destination à tous les arcs en fin degraphe.

FIG. 3.6 – Fin de la modélisation

3.4 L’algorithme de Ford-Fulkerson

3.4.1 Introduction

Une fois la modélisation terminée, il faut utiliser l’algorithme de Ford-Fulkerson pour trouver le flotmaximal du graphe de transport. Cet algorithme se passe en deux phases :

1. Le flot au jugé : on commence par établir un premier flot au jugé le meilleur possible.

2. L’amélioration de ce flot jusqu’au flot max : grâce à un algorithme itératif on va améliorer le flotjusqu’à prouver qu’on ne peut plus faire mieux, et l’on a alors trouvé le flot maximal.

3.4.2 Flot au jugé, première version

L’algorithme débute sur un graphe avec un premier flot établi. Ce premier flot est quelconque, il peutmême être nul. Mais pour diminuer le nombre d’itérations mieux vaut essayer de faire passer «au jugé» lemeilleur flot possible. L’idéal est d’avoir le flot maximal dès le départ, car ainsi l’algorithme se termineratrès vite !

Eric LALLET , Jean-Luc RAFFY 17

Page 26: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Le but de cet exemple étant de montrer la technique, le premier flot au jugé que l’on va placer sur legraphe ne sera pas optimal (on pourra ainsi montrer comment on peut l’améliorer). Mais plus loin danscette documentation on reviendra sur une meilleure façon d’établir un flot au jugé.

Pour ce premier flot, on va commencer par privilégier les ventes en magasin. Pour cela, on va acheminerun maximum de l’approvisionnent du premier entrepôt vers lavente en magasin : il y a 500 appareils quipeuvent arriver en «E1», 400 peuvent être livrés au magasin,et 500 peuvent être vendus. Donc sur cetteroute, on peut faire passer au maximum 400 appareils (la pluspetite des 3 capacités).

FIG. 3.7 – Début du flot au jugé

Ensuite on va compléter les ventes du magasin avec les approvisionnements de «E2». Il y a 900 appareilsqui peuvent arriver en «E2», 300 peuvent être livrés au magasin, mais la capacité résiduelle de vente n’estque de 100. Donc on fait passer un flot de 100 appareils par cette route.

FIG. 3.8 – Flot au jugé : suite

Enfin, on va vendre directement aux entrepôts le maximum de cequi n’a pas pu être livré au magasin :100 appareils pour «E1», et 500 appareils pour «E2».

FIG. 3.9 – Flot au jugé : fin

Il y a 1100 appareils qui partent de la source (et autant qui arrivent au puits, sinon il y aurait un erreur).Donc le flot actuel est de 1100 appareils.

Ce n’est pas le flot maximal, et on va le prouver dans la sectionsuivante.

3.4.3 L’algorithme de Ford-Fulkerson

L’algorithme de Ford-Fulkerson est un algorithme itératifqui se fait en trois étapes :

Le marquage : il va essayer de trouver un suite d’arcs allant de la source aupuits pour améliorer le flot :cette suite d’arcs sera appelée une «chaîne améliorante».

Le calcul du gain : si on a trouvé une chaîne améliorante, cette étape sert à calculer de combien on vapouvoir augmenter le flot grâce à cette chaîne.

18 Eric LALLET , Jean-Luc RAFFY

Page 27: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

L’augmentation du flot : il s’agit du report du gain sur la chaîne améliorante que l’ona trouvée.

Tant que le marquage arrive à trouver une chaîne améliorante, on recommence les trois étapes en boucle.

Algorithme 3.1 (Algorithme de Ford-Fulkerson : étape du marquage)

Cette première étape de l’algorithme consiste à chercher soit un chemin non saturé allant de sourceSau puitsP , soit une chaîne permettant de dérouter une partie du flot pour désaturer un arc au profit d’un flotparallèle. Pour cela on va construire «une chaîne améliorante» allant deS àP . Cette étape peut prouver quecette chaîne n’existe pas, ce qui signifie que le flot maximal est déjà atteint.

Ce marquage devra déjà respecter trois axiomes de bases :

1. On commence toujours en marquant la sourceS d’une *.

2. On ne marque jamais une seconde fois un sommet déjà marqué.

3. On ne peut marquer que les sommets voisins des sommets déjàmarqués.

Une fois la source marquée, on va essayer de marquer les autres sommets de proche en proche. On nepeut marquer que les sommets voisins d’un sommet déjà marquégrâce à deux règles qui dépendent du sensde l’arc.

1. Soit l’arc va du sommetX marqué vers le sommetY non marqué : si sur cet arc il reste de la capacitérésiduelle (le flot qui passe est inférieur à la capacité de l’arc), alors on marque le sommetY avec un«+X» (voir figure 3.10 page 19)

2. Soit l’arc va du sommetY non marqué vers le sommetX marqué : si sur cet arc il y a un flot non nulqui circule, alors on marque le sommetY avec un «−X» (voir figure 3.11 page 19)

FIG. 3.10 – Marquage : première règle

FIG. 3.11 – Marquage : seconde règle

On essaye ainsi de marquer les sommets de proche en proche jusqu’à marquer le puits. On s’arrête soitquand on a réussi à marquer le puitsP , soit quand aucun nouveau sommet ne peut être marqué avec unedes 2 règles.

Si le puitsP n’a pas pu être marqué, c’est que le flot est déjà maximal. Sinon, on vient de trouver unechaîne améliorante. Il faut alors en calculer le gain.

Mais avant de faire le calcul de ce gain, appliquons l’algorithme de marquage à notre exemple.

On commence par marquer la source (S) avec une *.

Ensuite comme on ne peut marquer que les sommets voisins des sommets déjà marqués, seul E1 et E2peuvent être marqués. Comme les arcs partent de S pour aller vers ces sommets, on va appliquer la première

Eric LALLET , Jean-Luc RAFFY 19

Page 28: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

FIG. 3.12 – Marquage : début

des deux règles. Sur l’arcS → E1, il ne reste plus de capacité résiduelle (on est à 500 sur 500), il n’est doncpas possible de marquerE1 à cette étape. Par contre sur l’arcS → E2 il reste 300 de capacité résiduelle(on est à 600 sur 900), donc on peut marquerE2 d’un +S.

FIG. 3.13 – Marquage : suite

On ne peut plus rien marquer à partir de S, mais commeE2 est marqué, on peut tenter de marquerles voisins deE2. Le sommetE2 a trois voisins :S, M , et P . S est déjà marqué, on ne peut donc pas leremarquer. PourM , etP les arcs partent deE2, on applique donc encore la première règle. L’arcE2→ Pn’a pas de capacité résiduelle (on est 500 sur 500), il n’est donc pas possible de marquerP pour l’instant(sinon on l’aurait fait immédiatement, puisque marquer le puits permet de finir l’étape du marquage !). Parcontre il reste 200 de capacité résiduelle sur l’arcE2→M , donc on peut marquerM avec un+E2.

FIG. 3.14 – Marquage : suite

On a fini tout ce que l’on pouvez tenter avecE2. On va continuer avec un autre sommet marqué parencore traité. Il n’y a queM . M a trois voisins :E1, E2 et P . E2 est déjà marqué, donc impossible de lemarquer une seconde fois. L’arcM → P part deM , il faut donc appliquer la première règle. Comme il estsaturé (aucune capacité résiduelle), on ne peut pas encore marquerP . L’arc E1 → M arrive surM . Donccette fois on utilise la seconde règle. Comme il y a un flot non nul (il circule 400 mobiles), on peut marquerE1 mais cette fois avec un - :−M .

FIG. 3.15 – Marquage : suite

20 Eric LALLET , Jean-Luc RAFFY

Page 29: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

On a fini tout ce que l’on pouvait tenter avecM . On passe àE1 qui est maintenant marqué. Il a troisvoisins :S, M etP . S etM sont déjà marqués, on ne peut donc pas les marquer à nouveau. L’arc M → Pn’est pas saturé, on peut donc appliquer la première règle, et marquerP avec un+E1. CommeP estmarqué, le marquage est terminé.

FIG. 3.16 – Marquage : fin

Algorithme 3.2 (Algorithme de Ford-Fulkerson : étape du calcul du gain)

La marquage de l’étape précédente a trouvé une «chaîne améliorante». Pour trouver le gain qu’elle per-met il faut commencer par lire cette chaîne. Pour cela on partdu puits, et on remonte la piste du marquage.Utilisons l’exemple pour expliquer cette lecture.P qui est en bout de chaîne, est marqué part un+E1, doncle sommet qui juste avant lui dans la chaîne estE1. La chaîne se termine donc par :

E1 −→ P

E1 est marqué de−M . Donc le sommetM précèdeE1 dans la chaîne, mais attention comme il y a−,il s’agit d’un arc qui est dans l’autre sens (il va deE1 versM , comme dessiné sur le graphe). On parle dansce cas d’arc inverse. La chaîne se termine donc par :

M ←− E1 −→ P

M est marqué d’un+E2. Donc le sommet qui le précède dans la chaîne estE2 :

E2 −→ M ←− E1 −→ P

Enfin,E2 est marqué avec un+S, donc on a remonté la piste jusqu’à la source, et on a fini la lecture dela chaîne améliorante :

S −→ E2 −→ M ←− E1 −→ P

Maintenant il faut trouver le gain permis par cette chaîne. Pour cela on va regarder chaque arc de lachaîne pour appliquer une des deux règles suivantes :

1. Soit il s’agit d’un arc direct (orienté dans le bon sens, gauche vers droite), dans ce cas on va indiquerla capacité résiduelle de l’arc.

2. Soit il s’agit d’un arc inverse (orienté dans le sens droite vers gauche), dans ce cas on va indiquer leflot qui circule sur l’arc.

Pour notre exemple il y 3 arcs directs :S → E2 avec 300 de capacité résiduelle,E2→M avec 200 decapacité résiduelle, etE1→ P avec 300 de capacité résiduelle. Il y a 1 seul arc inverseM ← E1 avec 400de flot.

900− 600 = 300 300− 100 = 200 400 400− 100 = 300S −→ E2 −→ M ←− E1 −→ P

Le gain que permet la chaîne améliorante est la plus petite des valeurs que l’on a placées sur les arcs.Donc ici le gain de notre chaîne est de 200 appareils.

Une fois ce gain évalué, il faut le reporter sur le flot du graphe.

Eric LALLET , Jean-Luc RAFFY 21

Page 30: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Algorithme 3.3 (Algorithme de Ford-Fulkerson : étape de l’augmentation du flot)

Maintenant que l’on connaît la valeur du gain, il suffit de reparcourir sur le graphe la chaîne amélioranteque l’on a trouvée, mais cette fois ci, en ajoutant le flot aux arcs directs, et en le retirant sur les arcs inverses.

Donc pour notre exemple, on ajoute200 sur les arcsS → E2, E2 → M et E1 → P , et on retire200sur l’arcM ← E1. On obtient ce nouveau flot :

FIG. 3.17 – Report du gain sur la chaîne

On vérifie que le nouveau flot obtenu (la somme de tout ce qui part de la source ou de tout ce qui arriveau puits) est passé à1 300 (on a donc bien un gain de 200 par rapport au1 100 d’avant), et que tous lessommets ont toujours un flot équilibré (pour tous les sommets, il y a toujours autant d’appareils qui arriventque d’appareils qui en partent).

3.5 Fin de l’exemple

Lors de l’étape du marquage, le puits a été marqué, on a donc prouvé que le flot de1 100 n’était pas leflot max, mais qu’il pouvait être amélioré. On vient de le passer à1 300. Ce n’est peut-être pas encore leflot max. La seule façon de le savoir consiste à recommencer l’algorithme de marquage pour voir si on peutencore ou non améliorer ce flot.

On commence par marquer la source :

FIG. 3.18 – Début du marquage

Deux arcs partent de la source, mais un seul n’est pas saturé.Donc à partir de la source, seulE2 peutêtre marqué :

FIG. 3.19 – Suite et fin du marquage

On a fini les marquage possible à partir de la source, on passe àE2 le seul autre sommet marqué. Ila 3 voisins.S est déjà marqué, et les deux arcs qui partent versM et P sont saturés. Il n’y a donc pas demarquage supplémentaire possible.

22 Eric LALLET , Jean-Luc RAFFY

Page 31: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

L’algorithme s’arrête là. Comme on n’a pas pu marquer le puits, la valeur du flot qui circule sur cegraphe (1 300 appareils) est le flot maximal.

3.6 Flot au jugé, seconde version

Le flot au jugé que l’on a placé sur le graphe pour l’exemple du cours n’a pas permis d’obtenir leflot maximal d’entrée. Sur les graphes complexes, il est d’ailleurs difficile de le faire, mais sur un graphesimple, en procédant de façon méthodique, on arrive souventà obtenir le flot max dès le flot au jugé (maisattention, on n’a jamais la garantie qu’un flôt établi au jugéest maximal, vous devrez donc toujours en fairela preuve avec le marquage de l’algorithme de Ford-Fulkerson). Cela raccourcit beaucoup la recherche duflot maximal, puisque dès le premier marquage l’algorithme se termine.

Comment doit-on procéder pour établir ce flot au jugé. On partavec un flot nul, et ensuite il faut balayerle graphe de haut en bas (ou de bas en haut), en saturant un à un tous les chemins que l’on trouve de lasource au puits.

Reprenons l’exemple du cours. Le premier chemin que l’on va saturer est celui qui passe tout en hautdu graphe :S → E1→ P .

FIG. 3.20 – Flot au jugé : début

Ce chemin permet de faire passer 400 appareil. On ajoute ces 400 sur le graphe et on raye (sur cettedocumentation, on passe en pointillé) les arcs qui sont saturés. On recommence en saturant le chemin duhaut du graphe :S → E1→M → P .

FIG. 3.21 – Flot au jugé : suite

Ce chemin permet de faire passer 100 appareils (la capacité résiduel de l’arcS → E1). On ajoute ces100 sur le graphe et on raye les arcs qui sont saturés. On recommence en saturant le chemin du haut dugraphe non rayé :

FIG. 3.22 – Flot au jugé : suite

Ce chemin permet de faire passer 300 appareils. On ajoute ces300 sur le graphe et on raye les arcs quisont saturés. On recommence en saturant le seul chemin non rayé qui reste :

Eric LALLET , Jean-Luc RAFFY 23

Page 32: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

FIG. 3.23 – Flot au jugé : suite

Ce chemin permet de faire passer 500 appareils. On ajoute ces500 sur le graphe et on raye les arcs quisont saturés. Il n’y a alors plus aucun chemin non rayé qui va de la source au puits. On a fini le flot jugé.

FIG. 3.24 – Flot au jugé : fin

Ce flot au jugé est de1 300 appareils, le flot maximal. On a donc réussi à l’établir dès leflot au jugé. Maisattention, cette méthode n’est pas certaine d’arriver au flot maximal ! Il faut donc appliquer l’algorithme demarquage pour le prouver !

De plus, vous noterez que même si la valeur du flot maximal est la même (1 300 appareils), le flot luimême n’est pas identique à la solution de la section précédente. Par exemple dans cette solution on vend 400appareils dans le magasin, alors que dans la solution précédente on en vendait 500. Il y a souvent plusieursflots différents qui permettent d’obtenir le flot maximal ! C’est pour cela que lorsqu’on ajoute la dimensionsupplémentaire de coût unitaire pour chaque élément qui esttransporté, il est pertinent de chercher parmitous les flots-max, lequel a un coût minimal ! Cela est le sujetd’une autre technique (pas abordée dans cecours) : le recherche du flot maximal au coût minimal.

3.7 Coupe minimale

Mais avant d’aborder la recherche du flot maximal à coût minimal, on va se poser une autre question :sur quelle contrainte doit-on agir pour améliorer le flot maximal ? Pour illustrer ce problème, on va poserla question vue du manager du magasin de mobiles : sur quellescapacités doit-il agir pour réussir à vendreplus d’appareils ?

Commençons par regarder le graphe du marquage qui nous a prouvé le flot-maximal :

FIG. 3.25 – Flot maximal avec marquage

Sur ce graphe il y a des arcs saturés, et d’autres qui ne le sontpas.

Une chose est déjà évidente, il ne sert à rien d’augmenter la capacité des arcs qui ne sont pas saturés. Parexemple, si le manager décide d’augmenter la capacité de vente directe de l’entrepôt E1 (l’arcE1 → P ),

24 Eric LALLET , Jean-Luc RAFFY

Page 33: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

cela ne va pas améliorer sa capacité de vente globale. En effet, il n’y a déjà que 300 appareils vendus surune capacité de 400, donc cette capacité n’est déjà pas utilisée à fond.

Mais ce n’est parce qu’un arc est saturé qu’il est forcement intéressant d’augmenter sa capacité pouraméliorer le flot. Par exemple la capacité de vente du magasinest saturée (l’arcM → P , 500 sur 500).Pourtant si le manager décide d’augmenter cette capacité, il n’arrivera pas à vendre un appareil de plus.

Où est le blocage ? Où faut-il travailler pour réussir à augmenter la capacité de vente ? Cette questionrevient à chercher ce qu’on appelle une «coupe minimale» du graphe. Cette coupe représente tous les arcsqui limitent la capacité d’un graphe de transport. En fait, notre algorithme a déjà trouvé cette coupe. Il suffitde mettre dans un ensemble tous les sommets marqués du graphedu flot maximal (voir le graphe 3.26 page25).

FIG. 3.26 – Coupe minimale du graphe

Ensuite on met en valeur tous les arcs qui sortent de cet ensemble (ils sont obligatoirement saturés,sinon l’algorithme de marquage n’était pas fini). Ces arcs forment une coupe minimale du graphe. Si onveut améliorer la capacité de ce graphe, il faut forcément améliorer au moins un de ces arcs !

Donc si le manager veut améliorer sa capacité de vente il doitau minimum :– soit améliorer la capacité d’approvisionnement de son entrepôt E1 (l’arcS → E1).– soit améliorer la capacité de livraison de son entrepôt E2 vers son magasin (l’arcE2→M ).– soit améliorer la capacité de vente directe de l’entrepôt E2 (l’arc E2→ P ).Tant qu’il n’aura pas travaillé sur un de ces points, il n’a aucune chance d’améliorer ses ventes.

Maintenant, même si ce n’est pas le sujet de ce cours, ni le casde notre exemple, il faut savoir qu’unecoupe minimale d’un graphe n’est pas forcement unique, et donc lorsqu’on améliore la capacité de la coupeminimale que l’on a trouvée avec l’algorithme de marquage, une autre, un peu plus loin peut engendrer unblocage, et la capacité globale ne sera pas augmentée pour autant. Dans un cas comme celui-ci, il suffit derefaire l’algorithme de marquage après amélioration, on trouvera alors les nouveaux points de blocage surlesquels il faut travailler pour améliorer la capacité du graphe.

3.8 Une méthode pour modéliser un flot maximal

3.8.1 Introduction

Modéliser un problème de flot maximal signifie dessiner un graphe de réseau de transport. Pour l’exempledu cours, le modèle a été fait de façon intuitive. Cette section va formaliser un peu plus une méthode pourobtenir un graphe qui correspond bien au problème donné.

Eric LALLET , Jean-Luc RAFFY 25

Page 34: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Nous allons utiliser cette méthode sur le problème suivant :

Un éleveur de vaches doit prévoir la production, l’achat, letransport et le stockage du fourragepour l’alimentation de son bétail pour l’hiver prochain.Il estime qu’il pourra lui même récolter en juin 70 tonnes de fourrage.Par ailleurs il a obtenu à bon prix l’achat de fourrage auprèsde deux autres producteurs.– Le premier pourra lui fournir fin juin jusqu’à 30 tonnes de fourrage. Mais c’est à l’éleveur de

les acheminer jusqu’à son exploitation et de les stocker en attendant l’hiver.– Le second lui propose jusqu’à 120 tonnes de fourrage. Il pourra prendre cette livraison en

deux parties. La première fin juin qu’il devra stocker lui même durant l’été et l’automne et laseconde au début de l’hiver. C’est à l’éleveur de venir prendre livraison du fourrage.

L’éleveur ne peut stoker durant l’été et l’automne que 130 tonnes de fourrage. Au début de l’hiver,il récupère un silo supplémentaire qui lui permet de monter jusqu’à un total de 250 tonnes destockage. Fin juin, il aura les moyens de transporter des vendeurs jusqu’à son exploitation 50tonnes de fourrage. Au début de l’hiver il pourra en transporter 80 tonnes.

3.8.2 Une contrainte : un et un seul arc

Commençons par énoncer une règle fondamentale pour modéliser un problème de flot maximal :

Pour chaque contrainte identifiée dans le problème, il faut placer un et un seul arc sur le graphe.

Avant d’appliquer cette règle à notre exemple, nous allons l’appliquer un problème très simple pourbien faire comprendre sa raison d’être.

Pour un voyage scolaire, une école doit transporter ses élèves de son école à Paris. Elle va utiliserle train pour une partie d’entre-eux, et l’avion pour les autres. Le train lui permettra d’achemi-ner jusqu’à 200 élèves, et l’avion jusqu’à 100 élèves. Pour transporter les élèves depuis l’écolejusqu’à la gare ou l’aéroport, elle dispose des trois moyenssuivants :– Deux bus pourront transporter jusqu’à 160 élèves jusqu’à la gare.– Un autre bus pourra transporter jusqu’à 80 élèves jusqu’à l’aéroport.– Des parents d’élèves ont accepté de transporter avec leur voiture jusqu’à 50 élèves soit vers la

gare, soit vers l’aéroport.

Ce problème contient 5 contraintes, il faut donc placer les 5arcs pour ces 5 contraintes. Pourtant, pource genre de problème, souvent les gens voudront le modéliseravec le graphe suivant (qui est faux !) :

FIG. 3.27 – Erreur de modélisation

En plaçant deux arcs pour représenter la contrainte du transport en voiture, on vient de doubler sacapacité : on modélise qu’il est possible de transporter 50 élèves vers la gare et 50 élevés vers l’aéroport,donc au total 100 élèves. Certains pour éviter ce problème vont placer des valeurs différentes (comme 25 et25), mais en faisant cela ils obligent une répartition qui n’était pas spécifiée dans l’énoncé. Donc il va falloirne placer qu’un et qu’un seul arc pour la contrainte des voitures, et ensuite ajouter des arcs supplémentairespour rejoindre les bonnes destinations. Ces arcs supplémentaires ne sont là que pour créer des chemins. Ilsne doivent pas ajouter des contraintes. Donc tous les arcs supplémentaires reçoivent l’infini (∞) en capacité.

26 Eric LALLET , Jean-Luc RAFFY

Page 35: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

On obtient donc ce graphe, qui contient bien un et un seul arc pour chacune des contraintes de l’énoncé :

FIG. 3.28 – Modélisation correcte

L’erreur commise dans le premier graphe vient souvent du fait que les gens construisent leur graphe enplaçant d’abord les sommets (comme ici l’école, la gare, l’aéroport et Paris), et ensuite les arcs pour lesrelier. La meilleure méthode pour arriver au bon modèle consiste à construire le graphe dans l’autre sens :on commence par les arcs, et ce n’est qu’à la fin que les sommetsapparaissent.

C’est cette méthode que nous allons décrire dans la section suivante.

3.8.3 Modéliser un problème de flot maximal en quatre étapes

Pour modéliser un problème de flot maximal, nous allons suivre une méthode en quatre étapes :

Étape 1 : identifier des contraintes.Cette première étape relève de l’analyse de texte. Il faut relever etidentifier dans l’énoncé toutes les contraintes.

Étape 2 : dessiner les arcs de ces contraintes.Cette étape débute le dessin du graphe. Il faut placer un etun seul arc pour chaque contrainte. À ce stade, les arcs ne sont pas reliés entre eux, et il n’y a encoreaucun sommet sur ce dessin.

Étape 3 : dessiner les chemins.C’est la seule étape un peu difficile de la modélisation. Il faut comprendrele sens de l’énoncé pour comprendre l’enchaînement des contraintes, et ainsi relier, sur le dessin del’étape précédente, les arcs entre-eux.

Étape 4 : finaliser le graphe. À cette étape là, il faut ajouter les sommets (la source, le puits, les sommetsaux extrémités des arcs), et les valeurs (l’infini) sur les arcs que l’on a ajoutés pour créer des chemins.

Nous allons détailler chacune de ces étapes pour notre problème.

3.8.4 Étape 1 : Identifier les contraintes

Cette étape est avant tout une analyse de texte. Il faut trouver toutes les contraintes. De plus, un problèmede flot maximal consiste toujours à faire circuler des éléments depuis un point d’entrée (la source) jusqu’àun point de sortie (le puits). Cela signifie que le processus suit une chronologie. Il est intéressant de faireressortir cette chronologie dès l’étape d’analyse, car elle va beaucoup aider à disposer correctement les arcsdes contraintes sur le graphe.

Eric LALLET , Jean-Luc RAFFY 27

Page 36: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

FIG. 3.29 – Analyse du problème

L’énoncé du problème contient 7 contraintes. Au début du processus on va trouver les 3 productions,ensuite le transport avant l’été, puis le stockage d’été, suivi du transport avant l’hiver et enfin le stockaged’hiver. Les informations contenues dans l’énoncé peuventse résumer par le tableau suivant :

Chronologie Contrainte Valeur (tonnes) Suivie de

Productions

Récolte du fermier 70 Stockage d’étéProduction vendeur 1 30 Transport avant étéProduction vendeur 2 120 Transport avant été

Transport avant hiverTransport printemps Transport avant été 50 Stockage d’étéStockage été Stockage d’été 130 Stockage d’hiverTransport automne transport avant hiver 80 Stockage d’hiverHiver Stockage d’hiver 250

3.8.5 Étape 2 : Dessiner les arcs

À cette étape, nous ne placerons sur le graphe que les arcs descontraintes (un et un seul par contrainte),mais pour aider la suite du dessin, nous allons les disposer dans l’ordre de la chronologie.

FIG. 3.30 – Dessin des arcs

28 Eric LALLET , Jean-Luc RAFFY

Page 37: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

3.8.6 Étape 3 : Dessiner les chemins

À cette étape, nous reprenons le tableau d’analyse de l’étape 1, et nous utilisons la dernière colonne pourcréer les chemins entre les arcs. Cette étape peut faire apparaître des nouveaux arcs lorsqu’une contrainteest suivie de plusieurs contraintes (comme par exemple ici,la contrainte «Production vendeur 2»).

FIG. 3.31 – Dessin des chemins

3.8.7 Étape 4 : Finaliser le graphe

Il faut terminer en transformant ce graphe en un graphe de réseau de transport. Il faut placer un seulpoint d’entrée (la source), un seul point de sortie (le puits), mettre une valeur infinie (∞) sur les arcs quisont apparus pour la création de chemin à l’étape précédente, et nommer tous les sommets (les sommetsdoivent être placés aux extrémités des arcs) pour pouvoir dérouler l’algorithme de Ford-Fulkerson.

FIG. 3.32 – Finalisation du graphe

Voila, le modéle du problème est terminé. Il est prêt pour la mise en œuvre de l’algorithme de Ford-Fulkerson.

Vous trouverez la résolution complète de cet exercice dans la partie exercices corrigés de la documen-tation de ce cours.

Eric LALLET , Jean-Luc RAFFY 29

Page 38: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

30 Eric LALLET , Jean-Luc RAFFY

Page 39: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Chapitre 4

Recherche du plus court chemin

4.1 Introduction

Les problèmes de cheminement dans les graphes sont parmi lesplus anciens de la théorie des graphes.Ce type de recherche se rencontre soit directement, soit sous la forme d’un problème dans de nombreusesapplications. Toutes les fois que l’on voudra trouver un minimum pour un processus qui passer par une seried’étapes succéssive, la recherche du plus court chemin seraun méthode adéquate.

Voici quelques exemples :– Evidemment, cette technique sera utilisée pour trouver ladistance minimale ou le temps minimal

d’un trajet routier.– Cette technique sera aussi adaptée pour trouver minimiserun coût (ou le temps) de production d’un

processus industriel qui passe par différentes étapes.– On va aussi se servir de cette technique pour minimiser le coût de la gestion de stocks (pour savoir

quand produire, et quand stocker).

4.2 Définitions

Définition 4.1 (graphe valué) Étant donné un grapheG = (X,U), on associe à chaque arcu ∈ U unnombrel(u) ∈ R. On dit queG est valué par la longueurl(u).

Définition 4.2 (plus court chemin) Le problème du plus court chemin (PCCH) entre 2 sommetsi etj serade trouver un cheminpi,j dont la longueur totalel(pi,j) est minimale.

Avecl(pi,j) =∑

u∈pi,j

l(u)

4.3 Exemples de problèmes

L’interprétation la plus évidente del(u) est une distance. Mais toute autre valeur peut être modélisée :un coût de transport, une dépense de construction, une durée, . . . .

Pour illustrer ce chapitre nous allons utiliser un problèmede remplissage d’un bassin de rétention d’eau.Une commune doit réussir à faire monter chaque jour 10m3 d’eau jusqu’à un bassin nomméH. Pour celaelle puise dans une sourceA. Entre les deux, elle a à sa disposition une série de réservoirs intermédiairesreliés par des pompes (qui consomment de l’énergie), ou des turbines (qui restituent de l’énergie). Toutesles conduites ont la capacité nécessaire pour faire transiter les 10m3 d’eau, mais les rendements n’étant pastous égaux, les coûts en énergie varient beaucoup.

Voici les diverses conduites possibles avec leur coût en kWh (lorsque la conduite passe par une turbineet redonne de l’énergie, le coût est mis en négatif).

Eric LALLET , Jean-Luc RAFFY 31

Page 40: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Réservoir Réservoir Coûtde départ d’arrivée (kWh)

A B 5A C 4A D 3B C -2B G 4C E 3C F -1D C 1D G 8E G 2F E 5F G 7

Par quelles conduites cette commune doit faire transiter l’eau pour consommer le moins d’énergie pos-sible ?

La première étape consiste à construire le graphe valué de ceproblème :

FIG. 4.1 – Par quelles conduites faire transiter l’eau ?

Ensuite il faut calculer le chemin le plus court allant deA à H sur ce graphe. Pour cela on va utiliserl’algorithme de Ford-Moore.

4.4 Algorithme de Ford-Moore

On va dérouler l’algorithme de Ford-Moore sur un tableau. Pour cela on commence par créer un tableauavec une colonne pour chaque sommet, une pour la liste des sommets qui ont changé, et une dernière pourleurs successeurs. L’algorithme de Ford-Moore est un algorithme itératif. Il y aura une nouvelle ligne pourchaque itération (on ajouter une colonne au début juste pournuméroter ces itérations).

Pour l’itération 0, le tableau est initialisé avecλ(A) = 0 et tous les autres avec∞. On place justeAdans les sommets changés, on indique tous les successeurs deA dans la colonneΓ+.

m λ(A) λ(B) λ(C) λ(D) λ(E) λ(F ) λ(G) Sommets Γ+

changés0 0 ∞ ∞ ∞ ∞ ∞ ∞ A B,C,D

Maintenant à chaque itération il faut reprendre un à un tous les sommets qui apparaissent dans la colonneΓ+ de l’itération précédente. Un sommet peut apparaître plusieurs fois, il faut alors le traiter plusieurs fois.En fait, on traite tous les arcs (Sommets changés→ Γ+) que l’itération précédente a fait apparaître. On doitdonc faire à l’itération suivante autant de calculs qu’il y ade sommets dans la colonneΓ+.

Par exemple à l’itération 0, il y a un seul sommet changé (A), qui a trois successeurs (B, C, D). On vadonc traiter trois arcsA→ B, A→ C, etA→ D.

32 Eric LALLET , Jean-Luc RAFFY

Page 41: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Pour traiterA → B, on écrit dans la colonne deB la somme de la plus petite valeur de la colonne deA (ici 0) et de la valeur de l’arcA→ B (ici 5). Avec ce résultat (0 + 5 = 5), on note aussi le prédécesseur(donc iciA) pour pouvoir retrouver les sommets du chemin à la fin de l’algorithme. Reste alors à regardersi la valeur que l’on vient d’ajouter dans la colonne deB est plus petite que les anciennes. Si oui, on rayeles anciennes, et on garde celle-ci (c’est le cas pour notre exemple), sinon on raye la nouvelle valeur, eton garde l’ancienne. Si les deux valeurs sont égales, on garde les deux : cela signifie juste qu’il y a pourl’instant plusieurs plus petits chemins de même longueur.

On traite de la même façon les arcsA → C, etA → D. On obtient le tableau avec l’itération 1. Troissommets ont changé de valeur (puisque pour les trois, la nouvelle valeur était plus petite que celle calculéejusqu’à présent). On renseigne leΓ+ pour chacun de ces sommets.

m λ(A) λ(B) λ(C) λ(D) λ(E) λ(F ) λ(G) Sommets Γ+

changés0 0 ��HH∞ ��HH∞ ��HH∞ ∞ ∞ ∞ A B,C,D1 5/A 4/A 3/A B C, G

C E,FD C,G

Il y a six sommets présents dans la colonneΓ+, il faut donc faire six calculs pour l’itération 2 : les sixarcs qui doivent être traités sontB → C, B → G, C → E, C → F , D → C, etD → G.

On remarque queC apparaît deux fois dans la colonneΓ+. Ce sommet sera donc traité deux fois :– PourC venant deB, on obtient la somme de la valeur deB (5) et de l’arcB → C (-2), donc3.

Comme cette valeur est plus petite que le4 jusque là choisi, on raye le4 et garde le3.– PourC venant deD, on obtient la somme la valeur deD (3) et de l’arcD → C (1), donc4. Comme

cette valeur est plus grande que celle que l’on vient de placer (3) on la raye.On procède de la même façon pour les quatre autres arcs, et on obtient le tableau avec l’itération 2.

Quatre sommets ont changé de valeur (puisque pour les quatre, une nouvelle valeur était plus petite quecelle calculée jusqu’à présent). On renseigne leΓ+ pour chacun de ces sommets.

m λ(A) λ(B) λ(C) λ(D) λ(E) λ(F ) λ(G) Sommets Γ+

changés0 0 ��HH∞ ��HH∞ ��HH∞ ��HH∞ ��HH∞ ��HH∞ A B,C,D1 5/A �

�HH4/A 3/A B C,G

C E,FD C, G

2 3/B 9/B C E, F�

�HH4/D 6/C 2/C ���XXX11/D E G

F E, GG

Pour l’itération 3, il y a cinq sommets dans la colonneΓ+, donc cinq arcs doivent être traités :C → E,C → F , E → G, F → E etF → G. Pour la colonneE et la colonneG il faut donc faire deux calculs.

On retrouve les calculs deE venant deC, et deF venant deC (on avait déjà intégré la nouvelle valeurde C dans le calcul précédent), donc ces valeurs ne changent pas. La valeur deG venant de E est plus petiteque celles déjà calculées, donc le sommetG change. Les valeurs deE venant deF et deG venant deFsont plus grandes, et sont donc rayées.

On obtient le tableau avec l’itération 3. Seul le sommetG a changé de valeur.

Eric LALLET , Jean-Luc RAFFY 33

Page 42: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

m λ(A) λ(B) λ(C) λ(D) λ(E) λ(F ) λ(G) Sommets Γ+

changés0 0 ��HH∞ ��HH∞ ��HH∞ ��HH∞ ��HH∞ ��HH∞ A B,C,D1 5/A �

�HH4/A 3/A B C,G

C E,FD C, G

2 3/B ��HH9/B C E, F

��HH4/D 6/C 2/C ���XXX11/D E G

F E, GG

3 6/C 2/C 8/E G��HH7/F ��HH9/F

La colonneΓ+ est vide. L’algorithme est donc fini.

Tous les résultats se lisent dans le tableau.

La valeur : il suffit de regarder la valeur qui n’est pas rayée dans la colonne de G : 8. Donc il faudra utiliser8 kWh par jour pour remplir les 10m3 du bassinG.

Le chemin : il suffit de remonter la route des marques non rayées laisséesdans les colonnes. Dans lacolonne deG on trouve8/E. Donc avantG il y a E. Dans la colonne deE il y a 6/C. Donc avantEil y a C. Dans la colonne deC il y a 3/B. Donc avantC il y a B. Et enfin dans la colonne deB, il ya 5/A. Donc avantB il y a A. Lorsqu’on remet ce chemin dans l’ordre, on obtientA → B → C →E → G

4.5 Modélisation des problèmes de plus court chemin

4.5.1 Les écueils

Il y a deux principaux écueils à éviter lorsqu’on veut modéliser un problème avec un plus court chemin :

1. La carte n’est pas le graphe. Même lorsque l’on modélise undéplacement géographique, il ne fautpas croire que les différents lieux parcourus seront les différents états du graphes. Il peut y avoir pleinde bonnes raisons pour lesquelles le lieu géographique ne suffit plus à déterminer l’état : un parcourspeut passer plusieurs fois par le même lieu, plusieurs étapes d’un processus peuvent s’enchaîner surun même lieu. . .

2. Les états ne sont pas des lieux géographiques. Excepté dans le cas particulier des parcours routiers(même si c’est une des applications majeures du PCCH), il estrare que les états du graphe soientdes lieux géographiques. Lorsqu’on veut modéliser un PCCH il faut penser en «étape»1. Les étapespeuvent effectivement être les différents lieux parcourus, mais le plus souvent il s’agit d’étapes suc-cessives dans un processus. Par exemple un processus industriel pourra commencer par une «produc-tion», puis passer par un «transport» et une «transformation» et finir par une «livraison». Même sitoutes ses étapes peuvent se passer dans des lieux différents, la modélisation ne reposera pas que surces lieux.

Pour illustrer un problème où les états ne sont pas des lieux,voici un exemple d’une production indus-trielle.

4.5.2 Une production industrielle

Une entreprise productrice d’acier possède deux sites industriels : un à Issy et l’autre à Lahba. Elle doitproduire et livrer des pièces en acier pour une société localisée à Hayeur. Le processus pour obtenir cespièces passe par trois étapes, toutes trois possibles sur les deux sites. Mais suivant le site, le coût diffère :

– L’extraction du fer coûterait 100 U à Issy, et 120 U à Lahba.– Le raffinage pour obtenir l’acier coûterait 90 U à Issy, et 110 U à Lahba.

1Notez que cette façon de penser est aussi celle des problèmes d’ordonnancement. Mais il y a une grande différence entre les deux.Dans le cas d’un problème d’ordonnancement, on veut réaliser toutes les actions (éventuellement en parallèle), et donc parcourir tousles chemins. En fait on cherche quel est le chemin le plus long (le chemin critique). Par contre, dans la recherche d’un plus courtchemin, à chaque bifurcation, on ne doit faire le choix que d’une seule route : on fait une des actions, mais pas les autres.

34 Eric LALLET , Jean-Luc RAFFY

Page 43: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

– Le moulage pour obtenir les pièces coûterait 40 U à Issy ou à Lahba.

Il est possible de transporter les matériaux intermédiaires d’un site à l’autre :– Le transport du fer coûterait 40 U (dans un sens ou dans l’autre).– Le transport de l’acier coûterait 30 U (dans un sens ou dans l’autre).

Enfin la livraison depuis Issy vers Hayeur coûterait 50 U, et celle depuis Lahba vers Hayeur coûterait10 U.

Comment l’entreprise doit organiser sa production pour fabriquer et livrer ces pièces au moindre coût ?

Pour cet exemple aussi il y a des lieux, mais ils ne suffiront pas à modéliser notre problème. Le but estde minimiser le coût total de production (et livraison). Il va donc falloir faire apparaître sur notre modèletoutes les étapes de cette production. Pour les identifier ilsuffit de suivre le processus industriel :

1. La première étape est l’extraction du minerai.

2. La deuxième étape (optionnelle) est le transport de ce minerai.

3. La troisième étape est le raffinage pour obtenir l’acier.

4. La quatrième étape (optionnelle) est le transport de cet acier.

5. La cinquième étape est la moulage des pièces.

6. La sixième est dernière étape est la livraison de ces pièces.

Chacune de ces étapes peuvent se faire dans deux lieux différents. Il y aura donc au moins6 × 2 = 12arcs différents dans notre modèle (puisque pour le PCCH les longueurs -qui ici représenteront les coûts- seplacent sur les arcs). Il va falloir placer ces arcs en suivant la logique du processus industriel, pour créer unchemin qui va de l’extraction à la livraison.

Voici le début du brouillon de ce graphe : le processus commence par l’extraction, mais il y en a deuxpossibles : une à Issy, l’autre à Lahba. On place ces deux arcssur le brouillon :

FIG. 4.2 – Début du brouillon de modélisation

Une fois l’extraction faite, suit une étape (optionnelle) de transport. S’il n’y pas de transport, il fautenchaîner immédiatement avec le raffinage. Donc l’arc de l’étape de raffinage doit être placé directementsur le sommet où arrive l’arc d’extraction (pour que le modèle puisse enchaîner les deux étapes). Ajoutonsimmédiatement cette étape de raffinage au brouillon :

FIG. 4.3 – Brouillon : le raffinage

Sur ce brouillon, le premier transport (optionnel) n’a toujours pas été placé. Un transport doit être placéentre l’extraction à Issy et raffinage à Lahba. L’autre transport arrive entre l’extraction à Lahba, et raffinage

Eric LALLET , Jean-Luc RAFFY 35

Page 44: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

à Issy. Donc, sur notre modèle, pour pouvoir enchaîner l’extraction à Issy, puis le transport entre Issy etLahba et enfin le raffinage à Lahba, il suffit d’ajouter un arc entre «Issy 1» et «Lahba 1», ainsi on aura biencréer un chemin qui pourra enchaîner les trois étapes. On place aussi l’arc dans l’autre sens pour le transportdans l’autre sens. On obtient le brouillon suivant :

FIG. 4.4 – Brouillon : le premier transport

Après le raffinage, suit un second transport optionnel, et lemoulage. On procède avec le même raison-nement que précédemment : on fait fait partir le moulage des sommets où arrive le raffinage, et on place lestransports entre «Issy 2» et «Lahba 2». On obtient le brouillon suivant :

FIG. 4.5 – Brouillon : le moulage + le second transport

Il ne reste plus qu’à faire la livraison. Les chemins en coursconvergent donc vers un même sommet, cequi donne le brouillon suivant :

FIG. 4.6 – Brouillon : la livraison

Sur ce graphe toutes les étapes sont bien modélisées, mais ilne convient pas à la modélisation d’unPCCH. En effet, ce graphe a deux points d’entrée («Issy 0» et «Lahba 0»). Or, la recherche d’un plus courtchemin se fait à partir d’un point unique (vers tous les autres points du graphe). Ce n’est pas vraiment unproblème : les sommets ne sont là que pour nous permettent d’enchaîner les étapes. Si on s’aperçoit quedeux sommets différents sont en fait un point de passage unique de deux chemins, il suffit de les réunir enseul sommet. Donc on remplace «Issy 0» et «Lahba 0» par un sommet unique que l’on va appeler «Départ».On obtient au final le modèle suivant :

36 Eric LALLET , Jean-Luc RAFFY

Page 45: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

FIG. 4.7 – Modèle final

Puisque le modèle est achevé, continuons avec le calcul de ceplus court chemin. On commence parsimplifier le graphe en supprimant les sommets n’ayant qu’unarc entrant et un seul arc sortant. On obtientle graphe simplifié suivant :

FIG. 4.8 – Graphe simplifié avant calcul

On applique Ford-Moore.

m Départ Issy 1 Lahba 1 Issy 2 Lahba 2 Hayeur Sommets Γ+

0 0 ��HH∞ ��HH∞ ��HH∞ ��HH∞ ��HH∞ Départ Issy 1, Lahba 11 100/Départ Issy 1 Issy 2, Lahba 1

120/Départ Lahba 1 Issy 1, Lahba 22

�����XXXXX140/Issy 1 190/Issy 1 Issy 2 Lahba 2, Hayeur

((((((hhhhhh160/Lahba 1 ((((((hhhhhh230/Lahba 1 Lahba 2 Issy 2, Hayeur3 220/Issy 2

�����XXXXX280/Issy 2 Lahba 2 Issy 2, Hayeur

((((((hhhhhh250/Lahba 2 270/Lahba 2 Hayeur4 ((((((hhhhhh250/Lahba 2 270/Lahba 2

L’entreprise devra donc dépenser 270U pour produire et livrer les moulages d’acier. Pour cela, elledevra extraire minerai et raffiner l’acier à Issy, puis transporter cet acier à Lahba. Là il sera moulé puis livréà Hayeur.

Eric LALLET , Jean-Luc RAFFY 37

Page 46: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

38 Eric LALLET , Jean-Luc RAFFY

Page 47: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Deuxième partie

Programmation linéaire

Eric LALLET , Jean-Luc RAFFY 39

Page 48: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit
Page 49: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Chapitre 5

La programmation linéaire

5.1 Introduction

Un des problèmes le plus classique en gestion consiste à optimiser un gain, un coût, ou toutes autresvaleurs fonctions de nombreux paramètres. De plus ces paramètres ne peuvent généralement pas être fixésà volonté, mais sont soumis à des contraintes.

La valeur à optimiser et les contraintes sont très souvent des fonctions linéaires des paramètres. Il existealors diverses techniques pour résoudre ce problème. Nous allons présenter deux d’entre elles : la méthodegéométrique et le simplexe.

5.2 La forme canonique

L’objectif de la programmation linéaire est de trouver la valeur optimale d’une fonction linéaire souscontraintes linéaires. La fonction à optimiser est baptisée fonction coût ou fonction économique. On lanomme généralementZ.

Un problème de programmation linéaire se modélise de la façon suivante :

Soit la fonction économique Z que l’on souhaite optimiser (maximiser ou minimiser).

Z = C1 ×X1 + C2 ×X2 + ... + Cn ×Xn

où lesXi sont des variables qui influent sur la valeur deZ, et lesCi les poids respectifs de ces variablesmodélisant l’importance relative de chacune de ces variables sur la valeur de la fonction économique.

Les contraintes relatives aux variables s’expriment de la façon suivante :

A1.1 ×X1 + A1.2 ×X2 + . . . + A1.n ×Xn ≤ B1

A2.1 ×X1 + A2.2 ×X2 + . . . + A2.n ×Xn ≥ B2

...Am.1 ×X1 + Am.2 ×X2 + . . . + Am.n ×Xn ≤ Bm

avecXi ≥ 0 ∀i

Le modèle ci-dessus contient des contraintes de type «≤» et d’autres de type «≥». Cependant lorsqu’onvoudra résoudre un problème, la première étape consistera àle modéliser sous une forme dite «canonique».Pour un problème de maximisation la forme canonique se décrit qu’avec des contraintes de type «≤» etpour un problème de minimisation la forme canonique se décrit qu’avec des contraintes de type «≥». Silors de la modélisation des contraintes de l’autre type sontapparues, il suffit de multiplier par−1 les deuxmembres pour renverser l’opérateur.

Eric LALLET , Jean-Luc RAFFY 41

Page 50: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

La forme canonique d’un problème de type maximisation est :

Trouver la valeur maximale deZ pour :

Z = C1 ×X1 + C2 ×X2 + ... + Cn ×Xn

A1.1 ×X1 + A1.2 ×X2 + . . . + A1.n ×Xn ≤ B1

A2.1 ×X1 + A2.2 ×X2 + . . . + A2.n ×Xn ≤ B2

...Am.1 ×X1 + Am.2 ×X2 + . . . + Am.n ×Xn ≤ Bm

avecXi ≥ 0 ∀i

La forme canonique d’un problème de type minimisation est :

Trouver la valeur minimale deZ pour :

Z = C1 ×X1 + C2 ×X2 + ... + Cn ×Xn

A1.1 ×X1 + A1.2 ×X2 + . . . + A1.n ×Xn ≥ B1

A2.1 ×X1 + A2.2 ×X2 + . . . + A2.n ×Xn ≥ B2

...Am.1 ×X1 + Am.2 ×X2 + . . . + Am.n ×Xn ≥ Bm

avecXi ≥ 0 ∀i

Nous allons dans un premier temps nous intéresser au problème de type maximisation

5.3 Exemple

Pour illustrer les deux prochains chapitres nous allons modéliser jusqu’à la forme canonique un exemple :

Un atelier d’ébénisterie a obtenu un contrat de sous-traitance de meubles pour deux modèles de bi-bliothèques. Ces deux modèles utilisent du chêne et du hêtrepour être fabriqués. Le modèle «petit chêne»utilise 2 stères de chêne et4 stères de hêtre. Le modèle «grand hêtre» utilise8 stères de hêtre et1 stère dechêne. La construction des 2 modèles nécessite10 heures de travail chacun. La marge obtenu sur le modèle«petit chêne» est de600 euros, et celle sur le modèle «grand hêtre» de400 euros.

Sachant que cet atelier dispose chaque année d’un stock de8.000 stères de hêtre et2.000 stères dechêne, et qu’il peut fournir12.500 heures de travail, quelle quantité de chaque modèle doit-ilproduire pouroptimiser sa marge ?

La première étape du problème est la modélisation.

Il faut en général commencer par trouver la fonction économique. Cela permet de définir les variablesdu problème. Pour notre exemple, en appelantM1 le nombre de modèles «petit chêne» etM2 le nombre demodèles «grand hêtre» fabriqués, la marge dégagée par l’atelier sera de600×M1 +400×M2 euros. Doncla fonction économique à maximiser est :

Z = 600×M1 + 400×M2 (unité : euro)

.

Mais l’atelier ne peut pas produire à l’infini ces deux modèles. Il est limité par ses stocks de bois et sonvolume horaire de travail. Le stock de chêne est de2.000 stères, il en faut2 pour le modèleM1 et1 pour lemodèleM2. Donc on obtient la contrainte suivante :

2×M1 + M2 ≤ 2000

Avec le même raisonnement sur les stères de hêtre il faut respecter la contrainte :

4×M1 + 8×M2 ≤ 8000

Enfin, il faut10 heures de travail pour chaque meuble, et l’atelier en dispose de12.500, donc :

10×M1 + 10×M2 ≤ 12500

42 Eric LALLET , Jean-Luc RAFFY

Page 51: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Donc en résumé on obtient le modèle suivant :

Z = 600×M1 + 400×M2

avec

2×M1 + M2 ≤ 20004×M1 + 8×M2 ≤ 800010×M1 + 10×M2 ≤ 12500M1 ≥ 0 etM2 ≥ 0

Eric LALLET , Jean-Luc RAFFY 43

Page 52: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

44 Eric LALLET , Jean-Luc RAFFY

Page 53: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Chapitre 6

La méthode géométrique

6.1 Introduction

Dans ce chapitre nous allons décrire la méthode géométrique. Pour les cas simples (c’est à dire, géné-ralement pas plus de deux variables une fois le modèle simplifié), sa mise en œuvre est très facile et rapide.De plus elle permettra plus tard dans ce cours d’illustrer lecomportement des autres méthodes, et ainsi dedonner une compréhension intuitive des algorithmes.

6.2 La méthode

La méthode géométrique consiste à matérialiser dans un espace àn (le nombre de variables de la fonc-tion économique) dimensions les contraintes sur les variables. Ensuite on représente dans cet espace lafonction économique, et on essaie de faire monter «Z» jusqu’au maximum possible tout en restant dansl’espace limité par les contraintes.

Cette méthode s’applique facilement lorsque le nombre de dimensions est réduit, car dans ce cas lareprésentation géométrique est facile, mais dès que ce nombre est important (plus de 3), cette méthode n’estplus envisageable.

L’exemple de la section précédente utilise 2 variables. On peut donc l’appliquer. Notre espace est justeun plan. On va mettre sur l’axex (horizontal) la variableM1 est sur l’axey (vertical) la variableM2.Comme on sait que l’on doit avoirM1 ≥ 0 et M2 ≥ 0, la solution de notre problème se trouve dans lepremier quadrant (le quart haut droit) de notre espace (voirfigure 6.1.)

Il faut maintenant mettre en place les trois autres contraintes. Pour indiquer que2 × M1 + M2 ≤2000, il faut tracer la droite2 × M1 + M2 = 2000 et supprimer de l’espace de solution tout ce qui setrouve au dessus. On fait de même pour les deux autres contraintes (droites4 ×M1 + 8 ×M2 = 8000 et10×M1 + 10×M2 = 12500). On obtient le schéma de la figure 6.2.

Maintenant que l’on a cerné l’espace des possibilités, il faut trouver le (ou les) point(s) qui nousdonne(nt) la plus grande valeur pour la fonction économiqueZ = 600 × M1 + 400 × M2. Pour celaon va commencer par dessiner la droite avecZ = 0, et on va faire glisser cette droite jusqu’à faire monterZ au maximum tout en restant dans l’espace de solution. Quand on aura atteint ce maximum, le (ou les)point(s) commun(s) à la droite et l’espace des solutions sera notre optimum (voir figure 6.3).

Il reste alors à interpréter le résultat. Sur le schéma, lorsqu’on a fait monterZ, l’ultime point communentreZ et l’espace des solutions admissibles était pourM1 = 750 et M2 = 500. Donc la solution quiapporte la plus grande marge possible à notre atelier consiste à construire750 bibliothèques «petit chêne»et500 bibliothèques «grand hêtre». Sa marge sera alors de750× 600 + 500× 400 = 650.000 euros.

Eric LALLET , Jean-Luc RAFFY 45

Page 54: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

FIG. 6.1 – Espace possible pourM1 etM2 positifs

FIG. 6.2 – Espace des «solutions admissibles» après prise en compte des contraintes

6.3 Conclusion

Très simple à utiliser cette méthode atteint vite ses limites pour des problèmes correspondant aux casréels. En dehors des cas d’école, il est rare de pouvoir construire une modèle avec seulement deux variables.Et quand ce n’est pas le cas, il faut alors utiliser d’autres méthodes. Le chapitre suivant présente une desméthodes les plus utilisées, car très performante : le simplexe.

46 Eric LALLET , Jean-Luc RAFFY

Page 55: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

FIG. 6.3 – Recherche du Z optimum

Eric LALLET , Jean-Luc RAFFY 47

Page 56: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

48 Eric LALLET , Jean-Luc RAFFY

Page 57: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Chapitre 7

Le simplexe

7.1 Introduction

Le méthode du simplexe a été mise au point par Georges Dantzigdans les années 1950. Elle implémenteune heuristique qui permet dans une très grande majorité descas d’atteindre l’optimum du problème trèsrapidement. Son principe consiste à parcourir un chemin surles frontières du domaine des solutions ad-missibles, en s’approchant à chaque étape un peu plus de l’optimum. L’heuristique essaye de trouver parmitous les chemins un qui soit très court.

7.2 La forme standard et son tableau associé

L’algorithme du simplexe sert à résoudre un problème de programmation linéaire de type maximisationqui s’exprime sous la forme canonique suivante :

Il faut trouver le maximum d’une fonction économiqueZ exprimée par :

Z = C1 ×X1 + C2 ×X2 + ... + Cn ×Xn

en respectant les contraintes :

A1.1 ×X1 + A1.2 ×X2 + . . . + A1.n ×Xn ≤ B1

A2.1 ×X1 + A2.2 ×X2 + . . . + A2.n ×Xn ≤ B2

...Am.1 ×X1 + Am.2 ×X2 + . . . + Am.n ×Xn ≤ Bm

Xj ≥ 0 ∀j

Pour résoudre ce problème, on va commencer par transformer les inégalités en égalités en introduisantune variable «d’écart» positive ou nulle pour chacune des contraintes. Par exemple avec une nouvelle va-riableE1, on peut transformer l’inégalitéA1.1 ×X1 + A1.2 ×X2 + . . . + A1.n ×Xn ≤ B1 pour la fairedevenir l’égalitéA1.1 ×X1 + A1.2 ×X2 + . . . + A1.n ×Xn + E1 = B1.

Avec lesm variables d’écart, notre problème devient :

AvecXj ≥ 0 ∀j etEi ≥ 0 ∀i, trouver le maximum deZ pour :

A1.1 ×X1 + A1.2 ×X2 + . . . + A1.n ×Xn + E1 = B1

A2.1 ×X1 + A2.2 ×X2 + . . . + A2.n ×Xn + E2 = B2

...Am.1 ×X1 + Am.2 ×X2 + . . . + Am.n ×Xn + Em = Bm

C1 ×X1 + C2 ×X2 + ... + Cn ×Xn = Z

Ceci est la forme standard du problème.

Eric LALLET , Jean-Luc RAFFY 49

Page 58: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Avant de mettre en œuvre l’algorithme du simplexe on transforme ces équations sous la forme d’untableau qui auran + m + 2 colonnes, etm + 2 lignes :

– La première ligne contiendra le nom de nos colonnes.– Il y aura une ligne pour chacune des équations1 àm.– La dernière ligne sert pour la fonction économique.– La première colonne sert à connaître ce qu’on va appeler les«variables en base». Au début on y

placera la variable d’écartEi de la ligne. Les variables qui ne seront pas dans cette colonne seront«hors base».

– Ensuite on placen colonnes, une pour chaque variableXj .– Ensuite on placem colonnes, une pour chaque variableEi.– Enfin on place une dernière colonne qui contiendra la somme de chaque ligne (Bi).– Enfin la valeur «Somme» de la ligne∆j est initialisée avec 0 (sauf exception expliquée plus loin).

Donc le tableau obtenu est le suivant :

base X1 X2 . . . Xn E1 E2 . . . Em SommeE1 A1.1 A1.2 . . . A1,n 1 0 0 0 B1

E2 A2.1 A2.2 . . . A2,n 0 1 0 0 B2

...Em Am.1 Am.2 . . . Am,n 0 0 0 1 Bm

∆j C1 C2 . . . Cn 0 0 0 0 0

Avant d’aller plus loin, décryptons le sens de ce tableau. Tout le long de l’algorithme du simplexe cetableau va donner des solutions (de plus en plus optimales pour la valeur deZ) du système d’équationsde la forme standard. Dans cette solution toutes les variables hors base ont une valeur nulle. La valeur desvariables en base se lit dans la dernière colonne (la colonne«Somme»). Enfin le∆j de la colonne «Somme»donne l’opposé de la valeur deZ. Donc ce premier tableau du simplexe donne la solution de départ qui vaservir à amorcer l’algorithme du simplexe : toutes les variablesXi sont à0, toutes les variables d’écartEi

valent leBi de leur ligne d’équation et la valeur deZ est 01.

Sur ce tableau la dernière ligne (∆j) donne les gains (ou les coûts, si la valeur est négative) marginauxdes variables de leur colonne. Autrement dit, elle permet desavoir de combien va augmenter (ou diminuersi la valeur est négative) la valeur deZ si on augmente de1 la variable de cette colonne. Par exemple,si on arrive à trouver une solution admissible qui augmente de 1 la valeur deX2, alors la valeur deZ vaaugmenter deC2.

Revenons à l’exemple de l’atelier d’ébénisterie de la section 5.3, et construisons son tableau pour lesimplexe :

Z = 600×M1 + 400×M2 (unité : euro)

avec

2×M1 + M2 ≤ 20004×M1 + 8×M2 ≤ 800010×M1 + 10×M2 ≤ 12500M1 ≥ 0 etM2 ≥ 0

Mis sous la forme standard, avec l’ajout de 3 variables d’écartsE1, E2 etE3 telles que :– E1 désigne le nombre de stères de chêne qui restent sans usage pour la solution courante.– E2 désigne le nombre de stères de hêtre qui restent sans usage pour la solution courante.– E3 désigne le nombre d’heures de travail qui restent sans usagepour la solution courante.

1Certains problèmes donnent un modèle où cette solution de départ n’est pas admissible car certainsBi sont négatifs. Il faut alorstrouver un autre point de départ. Il faut alors utiliser le méthode «générale du simplexe» qui n’est pas exposée dans ce cours. D’autrepart, dans certains cas, la valeur deZ de la solution initiale n’est pas nulle, il faut alors mettre l’opposé de cette valeur dans le∆j dela colonne «Somme».

50 Eric LALLET , Jean-Luc RAFFY

Page 59: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

2×M1 + M2 + E1 = 20004×M1 + 8×M2 + E2 = 800010×M1 + 10×M2 + E3 = 12500600×M1 + 400×M2 = Z

Ce qui donne le tableau :

base M1 M2 E1 E2 E3 Somme

E1 2 1 1 0 0 2000E2 4 8 0 1 0 8000E3 10 10 0 0 1 12500

∆j 600 400 0 0 0 0

7.3 L’algorithme du simplexe

Pour décrire cet algorithme, on va noter le tableau du simplexe sous la forme suivante2 :

base x1 x2 . . . xj . . . xp Sommey1 a1,1 a1,2 . . . a1,j . . . a1,p SM1

...yi ai,1 ai,2 . . . ai,j . . . ai,p SMi

...ym am,1 am,2 . . . am,j . . . am,p SMm

∆ ∆1 ∆2 . . . ∆j . . . ∆p Res

Dans ce tableau la colonne des variablesyi est appelé la base. Au cours de l’algorithme certaines va-riablesxi vont pivoter et vont venir se mettre en base. Au tout début de l’algorithme les variables de basesont lesm variables d’écart.

L’algorithme du simplexe est un algorithme itératif qui à chaque tour va trouver une nouvelle solutionqui augmente la valeur deZ jusqu’à ce qu’on ne puisse plus l’améliorer. Chaque tour de cet algorithme sepasse en deux grandes étapes.

– La recherche du pivot (grâce à une heuristique qui permet généralement de converger rapidement versla solution)

– La mise en base de la variable du pivot, et le calcul du nouveau tableau

Algorithme 7.1 (Algorithme du simplexe)

1. La recherche du pivot :

a) Premier critère de Dantzig :On a vu que la dernière ligne donnait le gain marginal des variables. Comme le but est d’augmenterla valeur deZ et d’arriver le plus vite possible à la solution optimale, onva choisir la variable quia le plus grand gain.Ainsi le pivot se trouve sur la colonne j qui a le∆j strictement positif le plus grand.

b) Second critère de Dantzig : Le premier critère nous a indiqué la variable qui allait passer en base.Le second critère sert à indiquer la variable qui va sortir dela base (et donc passer à 0) pouraugmenter le plus possible la variable choisie tout en gardant une solution admissible pour lesystème d’équations.Le pivot se trouve sur la ligne i qui unai,j strictement positif et le rapportSMi/ai,j le plus petit.

2Dans ce tableau il y a p=n+m variables x : lesn variables de la fonction économique, plus lesm variables d’écart

Eric LALLET , Jean-Luc RAFFY 51

Page 60: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

2. Le pivotement : soitai,j le pivot trouvé à l’étape 1.

a) Mise en base dexj

Lors du pivotement, la variablesyi de la base est remplacée parxj .

b) Modification de la ligne du pivot :

On divise la ligne par le pivot.Pourl allant de1 àp faire :

a′

i,l ←ai,l

ai,j

Notez que le pivot passe donc à 1.

c) Modification des autres lignes

On soustrait à toutes les lignes k, aveck 6= i la ligne du pivot proportionnellement àak,j/ai,j :

SM ′

k ← SMk −(SMi × ak,j)

ai,j

Res′ ← Res−(SMi ×∆j)

ai,j

Pourl allant de1 àp faire :

a′

k,l ← ak,l −(ai,l × ak,j)

ai,j

∆′

l ← ∆l −(ai,l ×∆j)

ai,j

Notez que sur la colonne du pivot, mis à part le pivot lui même,toutes les valeurs sont passées à0.

3. La boucle

Si après le nouveau calcul il existe encore un∆j strictement positif, on peut encore augmenterZ :retournez à l’étape 1.

Pour simplifier la description de l’étape «2c» de l’algorithme, il y une formule qui fonctionne pourtoutes les valeurs qui ne sont pas sur la ligne du pivot (même sur la colonne «Somme» ou sur la ligne«∆j») :

On recherchev′, la nouvelle valeur dev. Soitp le pivot,x et y les valeurs qui sont à l’intersection deslignes et colonnes dev et du pivot, alors :v′ = v − x× y/p

p . . . x...

...y . . . v′ = v − x× y/p

7.4 Interprétation du tableau final

À la fin de l’algorithme, le tableau du simplexe continue à se lire de la même manière. Ainsi les solutionsdu problème d’origine se lisent directement dans ce tableau.

Les valeurs des variablesXj passées en base à la place deEi se lisent dans la colonne «Somme» :SMi.Les variablesXj qui ne sont pas passées en base sont nulles.

La valeur optimale deZ est l’opposé de la valeur de «Res».

Les valeurs des variables d’écart qui ont quitté la base sontnulles.

Les variables d’écartEi qui sont toujours en base indiquent qu’une contrainte n’a pas atteint son maxi-mum. La valeur de cette variable d’écart se lit dans la colonne «Somme» :SMi.

52 Eric LALLET , Jean-Luc RAFFY

Page 61: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Si à la fin de l’algorithme il y a des variables hors base avec un∆j nul, alors il existe d’autres solutionsoptimales (une infinité en fait). Vous pouvez faire un pivotement de plus en choisissant la colonne d’une deces variables pour trouver la solution optimale qui privilégie cette valeur.

Si alors qu’il reste des∆j strictement positifs, il n’est plus possible de trouver un pivot strictementpositif sur leur colonne, alors la fonction économique n’est pas bornée. Il existe des solutions qui permettentde monter sa valeur à l’infini . Mais dans le cadre de modèles degestion, il est peu probable que vouspuissiez dégager des bénéfices infinis. Ce diagnostic cache dont très certainement un problème dans votremodélisation (probablement des contraintes oubliées).

7.5 Exemple

Reprenons l’exemple de l’ébénisterie. On avait déjà construit letableau du simplexe suivant. Il correspond à une première solution(non optimale pourZ) du système d’équations :M1 = 0 etM2 = 0.

base M1 M2 E1 E2 E3 SommeE1 2 1 1 0 0 2000E2 4 8 0 1 0 8000E3 10 10 0 0 1 12500∆j 600 400 0 0 0 0

Il y a des∆j strictement positifs : on peut trouver une meilleuresolution. Faisons la première itération :

1. a) Le premier critère de Dantzig (le plus grand∆j) permet de sélectionner la colonne deM1 pour lepivot.

b) Le second critère de Dantzig (le plus petitSMi/ai, j) permet de sélectionner la ligne deE1 pourle pivot.

base M1 M2 E1 E2 E3 Somme

E1 2 1 1 0 0 2000

E2 4 8 0 1 0 8000E3 10 10 0 0 1 12500∆j 600 400 0 0 0 0

2. a) La variableM1 passe en base à la place deE1.

b) La ligne du pivot est divisée par2.

c) on retire à la ligne deE2 4/2 = 2 fois la ligne du pivot.

on retire à la ligne deE3 10/2 = 5 fois la ligne du pivot.

on retire à la ligne des∆j 600/2 = 300 fois la ligne du pivot.

On obtient un nouveau tableau du simplexe. Son interprétationcorrespond à la solutionM1 = 1000 etM2 = 0.

base M1 M2 E1 E2 E3 SommeM1 1 1/2 1/2 0 0 1000E2 0 6 -2 1 0 4000E3 0 5 -5 0 1 2500∆j 0 100 -300 0 0 -600000

Eric LALLET , Jean-Luc RAFFY 53

Page 62: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

3. Il reste un∆j strictement positif. On peut encore améliorer la valeur deZ. Donc on fait une autreitération.

Seconde itération :

1. a) Le premier critère de Dantzig permet de sélectionner lacolonne deM2 pour le pivot.

b) Le second critère de Dantzig permet de sélectionner la ligne deE3 pour le pivot.

base M1 M2 E1 E2 E3 SommeM1 1 1/2 1/2 0 0 1000E2 0 6 -2 1 0 4000

E3 0 5 -5 0 1 2500

∆j 0 100 -300 0 0 -600000

2. (a) La variableM2 passe en base à la place deE3

(b) La ligne du pivot est divisée par5

(c) On retire à la ligne deM1 (1/2)/5 = 1/10 fois la ligne du pivot.On retire à la ligne deE2 (6/5) fois la ligne du pivot.On retire à la ligne des∆j 100/5 = 20 fois la ligne du pivot.

On obtient un nouveau tableau du simplexe. Son interprétationcorrespond à la solutionM1 = 750 etM2 = 500.

base M1 M2 E1 E2 E3 SommeM1 1 0 1 0 -1/10 750E2 0 0 4 1 6/5 1000M2 0 1 -1 0 1/5 500∆j 0 0 -200 0 -20 -650000

3. Il ne reste plus aucun∆j strictement positif. La solution est optimale. L’algorithme s’arrête ici.

Il nous reste à interpréter le tableau final.– La somme au bout de la ligne deM1 est 750 : il faut construire 750 bibliothèquesM1 («petit chêne»).– La somme au bout de la ligne deM2 est 500 : il faut construire 500 bibliothèquesM2 («grand hêtre»).– La valeur de Res est -650000 : le Z optimal est de 650000, qui sera (en euros) la marge dégagée par

la vente des bibliothèques construites.– La variable d’écartE2 est toujours en base. La valeur dans sa colonne somme est1000. Donc pour la

solution optimaleE2 = 1000. E2 est la variable d’écart qui donne le nombre de stères de hêtrenonutilisés. Donc la solution optimale du problème laisse1000 stères de hêtre sans usage.

Trois nombres restent à interpréter. Les valeurs des∆j pour les colonnes des variables d’écart. Ce sontles «coûts marginaux». Elles indiquent combien on pourraitdégager de marge en plus si on augmentait nosstocks de chêne, de hêtre et d’heures de travail (ou au contraire à quel prix minimum il faudrait vendre cestock pour qu’il rapporte au moins autant que la production faite avec).

– La valeur marginale pourE1 est -200. EtE1 est la variable d’écart qui désigne les stères de chênenon-utilisés. Cela signifie qu’augmenter de1 E1, c’est à dire de laisser sans usage 1 stère de chêne,coûterait200 Euros. Et au contraire, disposer de 1 stère de chêne de plus permettrait de gagner200euros supplémentaires. Donc si le stère de chêne coûte moinsde200 euros, il sera intéressant d’enacheter pour produire plus, et s’il coûte plus de200 euros, il vaudra mieux vendre notre stock plutôtque de produire avec.

– La valeur marginale pourE2 est 0. Cela signifie qu’acheter du hêtre en plus ne rapporterait rien. Cequi est logique puisqu’on vient de voir que l’on n’avait déjàpas épuisé notre propre stock. Et doncon peut vendre ce sur-stock à n’importe quel prix sans perdred’argent.

54 Eric LALLET , Jean-Luc RAFFY

Page 63: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

– La valeur marginale pourE3 est -20.E3 est la variable qui sert à désigner le nombre d’heures detravail non utilisées. Ainsi augmenter le nombre d’heures de travail de1, permet de gagner20 eurosde plus. Donc l’entreprise n’a intérêt à augmenter le nombred’heures de travail que si cela ne luicoûte pas plus de 20 euros de l’heure.

7.6 Plus loin au sujet des valeurs marginales

Attention l’interprétation des coûts marginaux n’est valable qu’à la marge. Dans ce type de problèmeon parcourt des paliers avec des effets de seuil. Dès qu’on franchit un seuil les coûts marginaux changent.

Dans l’exemple de la section précédente, il reste 1000 stères de hêtre sans usage. Donc les coûts mar-ginaux associés à cette variable sont nuls : on peut vendre cebois à n’importe quel prix, cela augmenterales gains. Mais cette remarque n’est vrai que pour le stock inutilisé. Au delà des 1000 stères, continuer àvendre du hêtre diminuerait la production de meuble, et doncles gains. C’est le seuil à partir duquel le coûtmarginal pour les bois de hêtre va changer.

Pour le cas des stocks inutilisés le seuil est assez simple à trouver (c’est la grandeur du stock), maispour les autres variables il faut procéder différemment.

Examinons un autre cas : le coût marginal associé au bois de chêne est de200 euros le stère. Autrementdit si on arrive à vendre ce bois plus cher que200 euros le stère on a intérêt à le vendre plutôt que de produireavec. Par contre si on arrive à trouver du chêne à moins de200 euros le stère, on a intérêt à l’acheter et àproduire avec pour augmenter les gains. Imaginons que l’ébénisterie trouve un marché où elle peut acheterdu chêne à150 euros le stère. Elle devrait l’acheter. Chaque stère obtenuainsi va lui permettre d’augmenterses gains de50 euros. Mais ce gain ne peut monter que jusqu’à un certain seuil : la production est limitéepar le stock de hêtre et le nombre d’heure de travail dont dispose l’ébénisterie. Au delà de ce seuil, ellene pourra plus produire de meubles avec le chêne acheté, et elle dépensera donc150 euros pas stère sanspouvoir rien en faire.

Quel est ce seuil ? On retombe sur un nouveau problème de programmation linéaire. Si l’ébénisterieaccepte d’acheter du chêne tant que c’est rentable, on retrouve le même problème que précédemment avecune contrainte de moins : celle concernant le stock de chêne.Sa modélisation est donc identique à avant,excepté l’inégalité concernant cette contrainte qui disparaît :

Z = 600×M1 + 400×M2

avec

((((((((((hhhhhhhhhh2×M1 + M2 ≤ 2000 la contrainte sur le chêne n’existe plus4×M1 + 8×M2 ≤ 8000 contrainte sur le hêtre10×M1 + 10×M2 ≤ 12500 contrainte sur les heures de travailM1 ≥ 0 etM2 ≥ 0

On obtient ainsi le même tableau du simplexe que précédemment mais avec la variableE1 (celle concer-nant le chêne) en moins :

base M1 M2 E2 E3 SommeE2 4 8 1 0 8000E3 10 10 0 1 12500∆j 600 400 0 0 0

Ce simplexe se résout en une seule itération :

base M1 M2 E2 E3 SommeE2 0 4 1 -2/5 3000M1 1 1 0 1/10 1250∆j 0 -200 0 -60 750000

Grâce à l’achat de stères supplémentaires, une nouvelle solution optimale se dessine :– M1 vaut 1250. Il faut produire 1250 bibliothèques «petit chêne».– M2 n’est pas en base, doncM2 vaut 0. Il ne faut plus produire de bibliothèques «petit hêtre»

Eric LALLET , Jean-Luc RAFFY 55

Page 64: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

– E2 vaut 3000. Il reste donc 3000 stères de hêtre inutilisé.Chaque bibliothèque «petit chêne» consomme 2 stères de chênes. Il a donc fallu un total de1250× 2 =

2 500 stères de chêne pour la production. Comme le stock initial était de2 000, il a fallu acheter500 stèressupplémentaires. Le coût de cet achat est :150× 500 = 75 000 euros.

Et attention le nouveau gain pour l’ébénisterie est donc de675 000 euros. En effet, même si le gain quiapparaît dans le dernier tableau du simplexe est750 000 euros, il faut penser à lui soustraire le prix desstères de chêne qu’il fallut acheter pour obtenir la nouvelle solution :750 000− 75 000 = 675 000.

Il existe un autre moyen de calculer ce nouveau gain : dans le problème précédent le gain était de650 000 euros. On a vu qu’en achetant le chêne à150 euros le stère, on augmentait le gain de50 euros parstères. Donc les500 stères ont augmenté le gain de500× 50 = 25 000. Et 650 000 + 25 000 redonne bienla même valeur :675 000.

7.7 Unités et simplifications

7.7.1 Les unités des variables

Un risque important d’erreurs dans l’interprétation du tableau du simplexe est de se tromper dans lesunités. En effet entre les données originales du problème, leur interprétation, la mise en équation, les sim-plifications, la construction du tableau et les pivotementsil y a de nombreuses occasions d’erreurs. Dans letableau du simplexe les nombres qui ont besoin d’être interprétés sont dans la dernière ligne et la dernièrecolonne. Leurs unités sont directement liées aux variablesdans la première ligne et la première colonne. Ilfaudra donc veiller à toujours bien indiquer le nom de ces variables lors de la création du tableau et lors desdivers pivotements.

L’unité d’un nombre sur la dernières colonne est celle de la variable en première colonne. Attention,celle-ci peut changer lors d’un pivotement.

L’unité d’un nombre sur la dernière ligne est celle deZ divisée par celle de la variable en premièreligne.

base X1 . . . Xp SommeY1 Unité deY1

......

Ym Unité deYm

∆j Unité deZ/Unité deX1 . . . Unité deZ/Unité deXp Unité deZ

Dans un problème classique les unités des variables du problème et l’unité deZ sont généralement bienidentifiées. Par contre il y a souvent plus d’incertitudes sur les unités des variables d’écart. Tant qu’on necherchera qu’à connaître la valeur deZ et des variables du problèmes il sera possible de laisser ce flou surles variables d’écart, mais si on doit interpréter les valeurs marginales liées à ces variables, il faudra êtretrès rigoureux.

Un des risques majeurs de se tromper dans leur unités apparaît lors de la simplification des inégalités duproblème. Reprenons l’exemple traité précédemment, mais cette fois ci en simplifiant les nombres lorsquecela est possible.

7.7.2 Simplification de la fonction économique

Toutes les simplifications faites sur la fonction économique apportent un changement d’unité deZ.

Pour illustrer cela, reprenons l’exemple de la modélisation de la page 42. On avait décritZ avec lafonction :Z = 600×M1 + 400×M2.

M1 et M2 étaient le nombre de modèles de chaque étagère. Chaque modèle M1 rapporte600 euros,et chaque modèleM2, 400 euros. Donc ici l’unité deZ est l’euro. Mais on peut décider de simplifier lesnombres, et dire que chaque modèleM1 rapporte6 «hecto euros3» et chaque modèleM2 4 «hecto euros».Alors on obtient une fonctionZ ′ = 6×M1 + 4×M2 exprimée en «hecto euros».

31 hecto euro = 100 euro

56 Eric LALLET , Jean-Luc RAFFY

Page 65: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

7.7.3 Simplification des inégalités

Les simplifications faites sur les inégalités obtenues grâce aux diverses contraintes laissent inchangéesles unités des variables du modèle, mais changent les unitésdes variables d’écarts.

Reprenons encore le problème de la page 42 pour illustrer ce type de simplification. Le modèle avait 3contraintes, et donc trois inégalités.

– La première concernait la consommation des stères de chêneà disposition. Chaque modèleM1

consomme 2 stères de chêne et chaque modèleM2 consomme 1 stère de chêne. Comme on ne dis-pose que de2000 stères de chêne on a :2 ×M1 + M2 ≤ 2000. L’unité des variables du modèleM1 etM2 est «le nombre de modèle». Mais les coefficients placés devant (2 pourM1 et1 pourM2)sont en «stère de chêne par modèle». Donc l’unité des membresde cette inégalité est le «stère dechêne». Lors du passage à la forme standard, la variable d’écart ajoutée (E′

1) sera homogène avec lesautres membres de cette inégalité, et sera donc exprimée en «stère de chêne». Il n’y aucun intérêt àsimplifier cette inégalité qui va donc rester inchangée.

– Le seconde contrainte concernait la consommation de stères de hêtre. Chaque modèleM1 consomme4 stères de hêtre et chaque modèleM2 consomme 8 stères de hêtre. Comme on ne dispose que de8000 stères de hêtre on a :4×M1 +8×M2 ≤ 8000. L’unité des variables du modèleM1 etM2 restetoujours «le nombre de modèle», mais les coefficients placésdevant (4 pourM1 et 8 pourM2) sonten «stère de hêtre par modèle». Donc l’unité des membres de cette inégalité est le «stère de hêtre».Il est intéressant de simplifier cette inégalité par 4. On obtient : M1 + 2 ×M2 ≤ 2000. Mais si ondevait maintenant interpréter cette inégalité, il faudrait changer d’unités. Il faudrait parler le «4 stèresde hêtre». Chaque modèleM1 consomme1 «4 stères de hêtre», chaque modèleM2 consomme2 «4stères de hêtre», et on dispose de2000 «4 stères de hêtres». Donc l’unité des membres de l’inégalitésimplifiée est «4 stères de hêtre». La variable d’écart qui sera ajoutée lors du passage à la formestandard (E′

2) devra être homogène avec les autres membres, et aura donc pour unité «4 stères dehêtre».

– Enfin, la troisième contrainte concernait la consommationd’heures de travail. Chaque modèleM1

et M2 nécessite10 heures de travail. Comme on ne dispose que de12500 heures de travail on a :10 × M1 + 10 × M2 ≤ 12500. Les unités deM1 et M2 reste «le nombre de modèle», mais lescoefficients placés devant (10 pourM1 et M2) sont en «heure de travail par modèle». Donc l’unitédes membres de cette inégalité est «l’heure de travail». Il est intéressant de simplifier cette inégalitépar 10. On obtient :M1 +M2 ≤ 1250. Les coefficients devantM1 etM2 ont (en apparence) disparu.Et une lecture rapide pourrait interpréter cette inégalitéen «nombre de modèle». Mais en fait devantles variableM1 et M2 se cache un «1×» qui dit 1× «10 heures de travail» par modèle. Donc lavéritable unité des membres de cette inégalité est «10 heures de travail». La variable d’écart qui seraajoutée lors du passage à la forme standard (E′

3) devra être homogène avec les autres membres, etaura donc pour unité «10 heures de travail».

En résumé on obtient, trouver le maximum deZ ′ avec :

avec

2×M1 + M2 ≤ 2000 unité des membres : stère de chêneM1 + 2×M2 ≤ 2000 unité des membres : 4 stères de hêtreM1 + M2 ≤ 1250 unité des membres : 10 heures de travailZ ′ = 6×M1 + 4×M2 unité des membres : 100 eurosM1 ≥ 0 etM2 ≥ 0

7.7.4 Calculs et interprétations

Il faut ensuite tenir compte de ces changements d’unités lors des calculs et des interprétations.

Durant la phase de calcul il n’y en fait aucun changement, sauf bien sûr des nombres plus simples àmanipuler. Continuons le traitement de l’exemple après la simplification :

Lorsque l’on passe à la forme standard il faut ajouter 3 variables d’écart au problème. Ces 3 variablesvont récupérer l’unité de leur équation. On va donc avoir :

– E′

1 : le nombre de stères de chêne non utilisés.– E′

2 : le nombre de «4 stères de hêtre» non utilisés.– E′

3 : le nombre de «10 heures de travail» non utilisés.Ainsi l’unité deE′

1 est «1 stère de chêne», celle deE′

2 est «4 stères de hêtre» et celle deE′

3 est «10

Eric LALLET , Jean-Luc RAFFY 57

Page 66: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

heures de travail».

Mis sous la forme du simplexe, on obtient :

base M1 M2 E′

1 E′

2 E′

3 SommeE′

1 2 1 1 0 0 2000E′

2 1 2 0 1 0 2000E′

3 1 1 0 0 1 1250∆j 6 4 0 0 0 0

Après le premier pivotement on a :

base M1 M2 E′

1 E′

2 E′

3 SommeM1 1 1/2 1/2 0 0 1000E′

2 0 3/2 -1/2 1 0 1000E′

3 0 1/2 -1/2 0 1 250∆j 0 1 -3 0 0 -6000

Après le second pivotement on a :

base M1 M2 E′

1 E′

2 E′

3 SommeM1 1 0 1 0 -1 750E′

2 0 0 1 1 -3 250M2 0 1 -1 0 2 500∆j 0 0 -2 0 -2 -6500

Le simplexe s’arrête ici. Il faut maintenant faire l’interprétation des résultats.

L’interprétation des variablesM1 et M2 ne posent aucun problème. Leur unité n’a pas changé. Il fautdonc construire 750 modèles 1 et 500 modèles 2.

L’interprétation deZ ′ demande plus de vigilance : son unité est «100 euros». Donc lamarge dégagéesera de 6500 «100 euros», autrement dit 650000 euros.

La valeur deE′

2 est de 250. Mais attention, son unité est «4 stères de hêtre».Donc à la fin, il reste 250«4 stères de hêtre» sans usage, autrement dit 1000 stères de hêtre sans usage.

La valeur marginale dans la colonne deE′

3 est−2. Son unité est celle deZ ′ divisée par celle deE′

3, donc«100 euros»/«10 heures de travail». Donc le coût marginale de l’heure de travail est de 2 «100 euros»/«10heures de travail», autrement dit 20 euros par heure de travail.

Ainsi, une fois interprétés avec leurs bonnes unités les nombres donnés par le tableau du simplexe deséquations simplifiées donnent heureusement la même solution que précédemment.

58 Eric LALLET , Jean-Luc RAFFY

Page 67: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Index

algorithme,dates au plus tôt, 10dates au plus tard, 12Ford-Fulkerson, 17Ford-Moore, 32plus court chemin, 32simplexe, 51

arc, 3arc,

extréminité initiale, 3extrémité terminale, 4

chemin, 4chemin critique, 5, 7, 13

date au plus tôt, 9date au plus tard, 11durée de projet, 10

flot max, 13flot max,

Ford-Fulkerson, 17Ford-Fulkerson, 17Ford-Moore, 32forme canonique, 41, 49forme standard, 49, 51, 57

GANTT, 5GANTT,

diagramme, 6graphe, 8graphe

prédécesseur, 4successeur, 4

graphe,Γ+, 4Γ−, 4arc, 3chemin, 4multivoque, 4non orienté, 3orienté, 3valué, 31

méthode géométrique, 43marge totale, 13

ordonnancement, 5

PERT, 5plus court chemin, 29

plus court chemin,Ford-Moore, 32

potentiel-tâches, 5, 8potentiel-tâches,

date au plus tôt, 9date au plus tard, 11durée de projet, 10marge totale, 13

prédécesseur, 4programmation linéaire, 41, 43, 46programmation linéaire,

forme canonique, 41, 49forme standard, 49, 51, 57méthode géométrique, 43simplexe, 46

simplexe, 46simplexe,

algorithme, 51base, 50, 51forme canonique, 41, 43, 49forme standard, 49, 51, 57marge, 54pivot, 51premier critère de Dantzig, 51second critère de Dantzig, 51valeur marginale, 54variable d’écart, 49, 52

sommet,prédécesseur, 4successeur, 4

successeur, 4

Eric LALLET , Jean-Luc RAFFY 59

Page 68: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

60 Eric LALLET , Jean-Luc RAFFY

Page 69: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

Bibliographie

[1] Jean-Claude Papillon.Eléments de recherche opérationnelle. Dalloz-Sirey, 1992.

[2] Roseaux. Exercices et problèmes résolus de recherche opérationnelle : Tome 3 : Programmation li-néaire et extensions - Problèmes classiques. DUNOD, 1985.

[3] Roseaux.Exercices et problèmes résolus de recherche opérationnelle : Tome 1, Graphes : leurs usages,leurs algorithmes. DUNOD, 1998.

[4] Daniel Thiel. Recherche opérationnelle et management des entreprises. Economica, 1990.

Eric LALLET , Jean-Luc RAFFY 61

Page 70: OPM3001 - Techniques quantitatives de gestion …epsi/TQG/2016/cours.pdfLa construction des 2 modèles nécessite 10 heures de travail chacun. La marge obtenu sur le modèle «petit

.

62 Eric LALLET , Jean-Luc RAFFY