UNIVERSITE DE LIEGE Bachelier 3 sciences de gestion et ing´enieurs de gestion
Gestion de la Production Daniel DE WOLF
Li`ege, Septembre 2006
Table des mati`eres
1
Introduction
9
1.1
Objectifs du cours . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
D´efinition de la gestion de production . . . . . . . . . . . . . . . 10
1.3
Classification des syst`emes productifs . . . . . . . . . . . . . . . 12
9
1.3.1
Organisation de type s´erie unitaire . . . . . . . . . . . . . 12
1.3.2
Organisation en ateliers sp´ecialis´es . . . . . . . . . . . . 13
1.3.3
Organisation en lignes de production . . . . . . . . . . . 13
1.3.4
Les industries de process . . . . . . . . . . . . . . . . . 14
1.4
Formulation en mod`eles math´ematiques . . . . . . . . . . . . . . 14
1.5
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
I Les d´ecisions op´erationnelles
21
2
23
Ordonnancement en ateliers sp´ecialis´es 2.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2
Ordonnancement sur une machine . . . . . . . . . . . . . . . . . 24
2.3
2.2.1
Le diagramme de Gantt . . . . . . . . . . . . . . . . . . 24
2.2.2
La r`egle T.O.M. . . . . . . . . . . . . . . . . . . . . . . 25
Ordonnancement avec deux centres de production . . . . . . . . . 26 2.3.1
Cas o`u toutes les tˆaches sont a` ex´ecuter sur A puis B . . . 26
2.3.2
Cas de tˆaches ne s’effectuant pas dans le mˆeme ordre . . . 28
2.4
Ordonnancement sur trois machines . . . . . . . . . . . . . . . . 29
2.5
Ordonnancement de n tˆaches sur m centres de production . . . . . 31
3
Table des mati`eres
4 2.6 3
La gestion calendaire de stock
35
3.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2
Les politiques de gestion de stock . . . . . . . . . . . . . . . . . 36
3.3
Les coˆuts associ´es aux stocks . . . . . . . . . . . . . . . . . . . 37 3.3.1
Les coˆuts de possession . . . . . . . . . . . . . . . . . . 37
3.3.2
Les coˆuts de rupture . . . . . . . . . . . . . . . . . . . . 39
3.3.3
Les coˆuts de commande . . . . . . . . . . . . . . . . . . 39
3.4
Gestion calendaire de stock a` rotation nulle . . . . . . . . . . . . 40
3.5
Cas d’une loi de demande continue . . . . . . . . . . . . . . . . 46
3.6
Les cons´equences e´ conomiques de la solution optimale . . . . . . 48
3.7
Cas de stocks a` rotation non nulle . . . . . . . . . . . . . . . . . 51
3.8 4
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.7.1
D´etermination de la solution optimale . . . . . . . . . . . 54
3.7.2
Cas d’une loi de demande discr`ete . . . . . . . . . . . . . 56
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
La gestion par point de commande
59
4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2
D´etermination du point de commande en univers certain . . . . . 60
4.3
D´etermination de la quantit´e e´ conomique de commande . . . . . . 61
4.4
Cas d’une demande al´eatoire . . . . . . . . . . . . . . . . . . . . 64
4.5
4.4.1
D´etermination de q et s . . . . . . . . . . . . . . . . . . 65
4.4.2
Cons´equences e´ conomiques du choix . . . . . . . . . . . 67
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
II Les d´ecisions tactiques
71
5
73
La planification de la production 5.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2
La planification des besoins en composants . . . . . . . . . . . . 74
Table des mati`eres 5.3
6
5
D´etermination des besoins nets d’un composant . . . . . . . . . . 78 5.3.1
D´etermination de la couverture des besoins nets . . . . . . 80
5.3.2
Utilisation en cascade de la logique de calcul . . . . . . . 80
5.4
Autres r`egles de calcul des lancements de production . . . . . . . 85
5.5
Ajustement charge-capacit´e . . . . . . . . . . . . . . . . . . . . 86
5.6
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Les techniques de juste a` temps
91
6.1
Origine et principe du JAT . . . . . . . . . . . . . . . . . . . . . 91
6.2
Les deux approches du JAT . . . . . . . . . . . . . . . . . . . . 93
6.3
6.4
6.5
6.2.1
Augmenter la r´eactivit´e du syst`eme logistique . . . . . . . 93
6.2.2
La rationalisation de la production . . . . . . . . . . . . . 93
Les facteurs cl´es du JAT . . . . . . . . . . . . . . . . . . . . . . 94 6.3.1
Recherche d’un plus grande r´eactivit´e . . . . . . . . . . . 94
6.3.2
Maˆıtrise des al´eas . . . . . . . . . . . . . . . . . . . . . 94
La m´ethode Kanban . . . . . . . . . . . . . . . . . . . . . . . . 95 6.4.1
Syst`eme Kanban a` une boucle . . . . . . . . . . . . . . . 95
6.4.2
D´etermination du nombre d’´etiquettes . . . . . . . . . . . 96
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
III Les d´ecisions strat´egiques
101
7
103
L’ordonnancement de projets 7.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.2
Formulation du probl`eme . . . . . . . . . . . . . . . . . . . . . 105
7.3
Repr´esentation graphique du probl`eme . . . . . . . . . . . . . . 105
7.4
Existence d’une solution . . . . . . . . . . . . . . . . . . . . . . 108
7.5
Calcul de l’ordonnancement au plus tˆot . . . . . . . . . . . . . . 109
7.6
Ordonnancement au plus tard . . . . . . . . . . . . . . . . . . . 109
7.7
Chemin critique et calcul des marges . . . . . . . . . . . . . . . 111
7.8
L’ordonnancement par la m´ethode PERT . . . . . . . . . . . . . 112
Table des mati`eres
6 7.9
La minimisation des coˆuts . . . . . . . . . . . . . . . . . . . . . 115
7.10 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 8
Conception d’un centre de production
123
8.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.2
Configuration d’un centre de production . . . . . . . . . . . . . . 124 8.2.1
Configuration en ateliers sp´ecialis´es . . . . . . . . . . . . 124
8.2.2
Configuration en ligne de production . . . . . . . . . . . 128
8.2.3
Configuration a` poste fixe . . . . . . . . . . . . . . . . . 133
8.3
D´ecisions de capacit´e . . . . . . . . . . . . . . . . . . . . . . . 134
8.4
D´ecisions de localisation . . . . . . . . . . . . . . . . . . . . . . 138
8.5
Utilisation de la programmation math´ematique . . . . . . . . . . 141
8.6
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
IV Les techniques d’optimisation
147
9
149
La programmation dynamique. 9.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
9.2
Le probl`eme du voyageur . . . . . . . . . . . . . . . . . . . . . 150 9.2.1
Formulation en un probl`eme dynamique . . . . . . . . . . 151
9.3
Proc´edure de r´esolution . . . . . . . . . . . . . . . . . . . . . . 152
9.4
Un probl`eme d’affectation de ressources rares . . . . . . . . . . . 154
9.5
9.6
9.4.1
Formulation comme un probl`eme dynamique . . . . . . . 154
9.4.2
R´esolution par la programmation dynamique . . . . . . . 156
Application a` la planification de la production. . . . . . . . . . . 157 9.5.1
Formulation en un probl`eme dynamique . . . . . . . . . . 157
9.5.2
R´esolution par la programmation dynamique . . . . . . . 159
9.5.3
Algorithme en cas de coˆut convexe . . . . . . . . . . . . 161
Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10 La programmation lin´eaire.
165
Table des mati`eres
7
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 10.2 Un simple exemple . . . . . . . . . . . . . . . . . . . . . . . . . 165 10.3 R´esolution graphique . . . . . . . . . . . . . . . . . . . . . . . 167 10.4 Le solveur d’Excel . . . . . . . . . . . . . . . . . . . . . . . . . 170 10.5 Les rapports du solveur . . . . . . . . . . . . . . . . . . . . . . 174 10.5.1 Le rapport des r´eponses . . . . . . . . . . . . . . . . . . 174 10.5.2 Le rapport de sensibilit´e . . . . . . . . . . . . . . . . . . 174 10.5.3 Le rapport des limites . . . . . . . . . . . . . . . . . . . 176 10.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 11 Analyse postoptimale.
179
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 11.2 Variation par rapport au second membre . . . . . . . . . . . . . . 180 11.2.1 Calcul des prix cach´es . . . . . . . . . . . . . . . . . . . 180 11.2.2 Analyse de sensibilit´e au membre de droite . . . . . . . . 182 11.3 Variation des coefficients objectifs . . . . . . . . . . . . . . . . . 183 11.3.1 Analyse de sensibilit´e aux coefficients objectif . . . . . . 184 11.4 Coˆut r´eduit des variables hors base . . . . . . . . . . . . . . . . . 186 11.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 12 La programmation en nombres entiers.
189
12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 12.2 Formulation des probl`emes mixtes . . . . . . . . . . . . . . . . . 190 12.2.1 Probl`emes avec coˆuts fixes . . . . . . . . . . . . . . . . . 190 12.2.2 Probl`emes avec contrainte logique . . . . . . . . . . . . . 193 12.2.3 M´elange avec nombre limit´e d’ingr´edients . . . . . . . . 194 12.2.4 Choix parmi un nombre discret de valeurs . . . . . . . . . 195 12.3 Principe de la m´ethode de branch and bound . . . . . . . . . . . . 195 12.4 Application a` l’exemple . . . . . . . . . . . . . . . . . . . . . . 197 12.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 A Formulaire pour la gestion de production
205
Table des mati`eres
8
A.1 La gestion calendaire de stock . . . . . . . . . . . . . . . . . . . 205 A.2 La gestion par point de commande . . . . . . . . . . . . . . . . . 206 A.3 Les techniques de juste a` temps . . . . . . . . . . . . . . . . . . 208 ´ A.4 Equilibrage d’une chaˆıne de production . . . . . . . . . . . . . . 208 A.5 Calcul d’annuit´es
. . . . . . . . . . . . . . . . . . . . . . . . . 208
B Tables pour la gestion de stocks
209
B.1 Table de la loi Poisson(λ) . . . . . . . . . . . . . . . . . . . . . 209 B.2 Table de la loi normale Z ∼ N (0, 1) . . . . . . . . . . . . . . . . 214 B.3 Table pour le calcul de Ir (S) . . . . . . . . . . . . . . . . . . . . 215 C Solutions finales des exercices
217
C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 C.2 Ordonnancement en ateliers sp´ecialis´es . . . . . . . . . . . . . . 218 C.3 Gestion calendaire de stock . . . . . . . . . . . . . . . . . . . . 220 C.4 Gestion de stock par point de commande . . . . . . . . . . . . . 221 C.5 La planification de la production . . . . . . . . . . . . . . . . . . 222 C.6 Les techniques de juste a` temps . . . . . . . . . . . . . . . . . . 224 C.7 L’ordonnancement de projets . . . . . . . . . . . . . . . . . . . 225 C.8 Conception d’un centre de production . . . . . . . . . . . . . . . 227 C.9 La programmation dynamique . . . . . . . . . . . . . . . . . . . 229 C.10 La programmation lin´eaire. . . . . . . . . . . . . . . . . . . . . 230 C.11 Analyse postoptimale . . . . . . . . . . . . . . . . . . . . . . . 232 C.12 La programmation en nombres entiers . . . . . . . . . . . . . . . 233
Chapitre 1 Introduction 1.1
Objectifs du cours
L’objectif du cours est de donner une formation de base a` l’approche quantitative des probl`emes de gestion de l’entreprise tels que : • la planification de la production; • l’ordonnancement de projets; • la gestion des stocks; • la gestion de la capacit´e,. . . Pour cela, on essayer de d´evelopper une double comp´etence : • La capacit´e de formuler ces probl`emes en des mod`eles math´ematiques : c’est-`a-dire, partant de probl`emes e´ nonc´es de mani`ere litt´eraire, de les traduire sous formes d’´equations math´ematiques (cfr section 1.4 a` la fin de ce chapitre). • La connaissance d’outils de r´esolution de ces probl`emes : en effet, une fois le probl`eme formul´e, souvent on tombe sur un probl`eme classique (tel celui de la gestion de stock), pour lequel il existe des m´ethodes de r´esolution adapt´ees (voir chapitres 3 et 4). Comme r´ef´erences, nous utiliserons les livres de Giard [4] et Baglin et al [1] pour tous les mod`eles classiques de gestion de la production. Pour ce qui est de la formulation en mod`eles math´ematiques, une tr`es bonne r´ef´erence est le livre de Williams [17].
9
Chapitre 1. Introduction
10
1.2
D´efinition de la gestion de production
Comme l’indique Vincent Giard [4] dans son ouvrage, pour pouvoir donner une d´efinition de la gestion de production, il faut d’abord d´efinir ce que l’on entend par la production. La production consiste en une transformation de ressources (humaines ou mat´erielles) en vue de la cr´eation de biens ou services : • La production d’un bien s’effectue par une succession d’op´erations consommant des ressources et transformant les caract´eristiques de la mati`ere. Un exemple classique est la production de voitures. • La production d’un service s’effectue par une succession d’op´erations consommant des ressources sans qu’il n’y ait n´ecessairement transformation de mati`ere. Des exemples classiques sont la mise a` disposition de produits aux consommateurs (la vente), le traitement de dossier (par un notaire), la maintenance d’´equipements. On peut alors d´efinir la gestion de production comme suit. D´efinition 1.1 La gestion de la production consiste en la recherche d’une organisation efficace de la production des biens et services. La gestion de production consiste donc a` l’obtention d’un produit donn´e dont les caract´eristiques sont connues en mettant en œuvre un minimum de ressources. En gestion de production, on consid´erera, g´en´eralement, comme donn´ees les caract´eristiques du produit que sont : • la d´efinition du produit; • le processus de fabrication; • la demande a` satisfaire. Ces trois caract´eristiques du produit rel`event des sciences de l’ing´enieur et de la gestion commerciale. Nous verrons cependant au chapitre 7 la gestion de projets qui est souvent utilis´ee pour optimiser le processus de conception d’un nouveau produit. Nous verrons aussi au chapitre 8 comment optimiser le processus de fabrication. Les outils de la gestion de la production sont un ensemble de techniques d’analyse et de r´esolution des probl`emes de mani`ere a` produire au moindre coˆut. Nous verrons dans ce cours un certain nombre de probl`emes types rencontr´es en gestion de production. Pour situer ces diff´erents probl`emes entre eux, on classifie souvent les d´ecisions de gestion en trois classes :
Section 1.2. D´efinition de la gestion de production
11
1. Les d´ecisions strat´egiques : il s’agit de la formulation de la politique a` long terme pour l’entreprise (c’est-`a-dire a` un horizon de plus de deux ans). Entrent dans ces d´ecisions : • la d´efinition du portefeuille d’activit´es; • la d´efinition des ressources stables : aussi bien humaines (engagements, licenciements, pr´eretraites, . . . ) que mat´erielles (d´ecisions d’investissement, de cession, de fermeture, . . . ). 2. Les d´ecisions tactiques : il s’agit des d´ecisions a` moyen terme parmi lesquelles on trouve la planification de la production a` 18 mois. Il s’agit de produire au moindre coˆut pour satisfaire la demande pr´evisible en s’inscrivant dans le cadre fix´e le plan strat´egique de l’entreprise (donc a` ressources mat´erielles et humaines connues). 3. les d´ecisions op´erationnelles : il s’agit des d´ecisions de gestion quotidienne pour faire face a` la demande au jour le jour, dans le respect des d´ecisions tactiques. Parmi ces d´ecisions, on trouve : • la gestion de stocks; • la gestion de la main d’œuvre; • la gestion des e´ quipements. Ces trois classes de d´ecisions de gestion de production se diff´erencient par au moins trois e´ l´ements : 1. par l’horizon de temps consid´er´e : • les d´ecisions op´erationnelles se prennent au jour le jour; • les d´ecisions tactiques concernent la planification a` 18 mois; • les d´ecisions strat´egiques concernent la planification a` long terme. 2. par le niveau d’agr´egation : • les d´ecisions op´erationnelles se prennent au niveau d’un atelier; • les d´ecisions tactiques se prennent au niveau d’une usine; • les d´ecisions strat´egiques se prennent au niveau de l’ensemble de l’entreprise. 3. par le niveau de responsabilit´e : • les d´ecisions op´erationnelles sont prises par les agents de maˆıtrise; • les d´ecisions tactiques sont prises par les cadres; • les d´ecisions strat´egiques sont prises par la direction g´en´erale.
Chapitre 1. Introduction
12
1.3
Classification des syst`emes productifs
On peut classer les modes d’organisation de la production en quatre grandes classes : • l’organisation en s´erie unitaire; • l’organisation en ateliers sp´ecialis´es; • l’organisation en ligne de production; • l’organisation en industries de process. Nous examinerons, dans chaque cas, le type de ressources a` mettre en œuvre et le probl`eme principal de leur utilisation.
1.3.1
Organisation de type s´erie unitaire
D´efinition 1.2 La production de type “s´erie unitaire” est une production mobilisant sur une p´eriode assez longue l’essentiel des ressources d’une entreprise pour r´ealiser un nombre tr`es limit´e de projets. Comme exemples, on peut citer la construction de navires de grande taille (qui se font, le plus souvent, en quelques exemplaires), les grands travaux publics (tel que le creusement du tunnel sous la manche ou la construction d’un pont suspendu). En ce qui concerne les ressources mobilis´ees, on fait le plus souvent appel a` un personnel hautement qualifi´e vu le caract`ere non r´ep´etitif des tˆaches. En ce qui concerne le probl`eme d’ordonnancement, le probl`eme majeur est l’arbitrage entre la recherche d’un coˆut comp´etitif et le respect des d´elais. En effet, d’une part, les commandes seront rapidement honor´ees si beaucoup de ressources sont mises en œuvre. Mais, d’autre part, le coˆut des ressources est g´en´eralement croissant avec leur niveau d’utilisation : la location de machines suppl´ementaires et l’engagement d’int´erimaires coˆutent g´en´eralement plus cher que l’utilisation des ressources propres de l’entreprise (cfr le chapitre 7 consacr´e a` l’ordonnancement de projets). Dans les deux cas, l’ordonnancement des tˆaches, c’est-`a-dire la d´etermination de l’ordre d’ex´ecution des tˆaches) est essentiel. En effet, non seulement l’ordre d’ex´ecution des tˆaches d´etermine la date de livraison, mais, comme nous le verrons au chapitre 7, il influence les coˆuts dans la mesure o`u une mauvaise coordination s’accompagne souvent de chˆomage technique pour certaines ressources et du paiement de p´enalit´es pour non respect des d´elais.
Section 1.3. Classification des syst`emes productifs
1.3.2
13
Organisation en ateliers sp´ecialis´es
D´efinition 1.3 On parle d’organisation en ateliers sp´ecialis´es lorsque tous les e´ quipements assurant une fonction sp´ecialis´ee sont r´eunis en un mˆeme lieu. Comme exemple, on peut citer un atelier d’emboutissage des tˆoles de voitures ou un atelier de peinture dans une usine d’assemblage automobile. En ce qui concerne les ressources mobilis´ees, la main d’œuvre est plutˆot qualifi´ee et les e´ quipements sont polyvalents. En ce qui concerne le probl`eme de l’organisation efficace des ressources, deux probl`emes principaux sont a` consid´erer : • Lors de la conception de l’atelier, le probl`eme principal est la gestion des coˆuts de manutention entre les diff´erents postes de travail. Afin de diminuer ces coˆuts on d´etermine la meilleure localisation des machines les unes par rapport aux autres dans l’atelier. Ceci fait appel aux m´ethodes d’agencement dans l’espace (cfr chapitre 8 consacr´e a` la configuration d’un centre de production). • Lors de la gestion quotidienne de l’atelier, le probl`eme principal est de d´eterminer l’ordre d’ex´ecution des diverses tˆaches sur une ou plusieurs machines (cfr chapitre 2 consacr´e a` l’ordonnancement en ateliers sp´ecialis´es).
1.3.3
Organisation en lignes de production
D´efinition 1.4 On parle d’organisation en lignes de production lorsque qu’un flux r´egulier de produits passe d’un poste a` l’autre, l’ordre de passage e´ tant fix´e. Comme exemple, on peut citer les lignes d’assemblage d’automobiles. En ce qui concerne les ressources mises en œuvre, les e´ quipements sont g´en´eralement tr`es sp´ecialis´es. En ce qui concerne l’organisation efficace des ressources, le probl`eme majeur consiste en l’´equilibrage de la chaˆıne : c’est-`adire a` d´efinir les tˆaches a` r´ealiser a` chaque poste de mani`ere a` avoir le mˆeme temps de r´ealisation a` chaque poste (cfr chapitre 8). En effet, un mauvais e´ quilibrage de la chaˆıne entraˆınera une sous-utilisation des ressources puisque la chaˆıne tourne a` la vitesse de l’´el´ement le plus lent. Deux autres probl`emes sont tr`es importants dans ce mode d’organisation de la production. Il s’agit de : la fiabilit´e de la chaˆıne (un maillon d´efectueux et toute la chaˆıne s’arrˆete) et de la fiabilit´e du syst`eme d’informations.
Chapitre 1. Introduction
14
1.3.4
Les industries de process
D´efinition 1.5 On parle d’industries de process lorsque le mode d’organisation est caract´eris´e par un flux r´egulier et important de mati`eres premi`eres destin´ees a` eˆ tre transform´ees en mati`eres plus e´ labor´ees. Comme exemples, on peut citer la sid´erurgie, la p´etrochimie, le secteur de la chimie lourde, le secteur agro-alimentaire, etc. . . En ce qui concerne l’organisation efficace des ressources, vues l’importance et la r´egularit´e de la demande, le probl`eme d’organisation au coˆut minimum est g´en´eralement assez simple. Il peut eˆ tre r´esolu par la programmation lin´eaire.
1.4
Formulation en mod`eles math´ematiques
Terminons ce chapitre en introduisant la notion de mod`ele math´ematique. Par mod`ele math´ematique, on entend la repr´esentation par des e´ quations math´ematiques d’un probl`eme de la vie r´eelle. Nous allons illustrer la construction d’un mod`ele math´ematique sur un exemple tr`es simplifi´e de planification de la production tir´e de Williams [17]. Une usine peut produire cinq produits (not´es PROD1 a` PROD5). La marge b´en´eficiaire unitaire, c’est-`a-dire la diff´erence entre le prix de vente et le coˆut de production d’un produit, est donn´ee pour chacun des produits au tableau 1.1. Chaque produit n´ecessite le passage par trois e´ tapes de fabrication. Produit PROD1 Marge 550
PROD2 600
PROD3 350
PROD4 400
PROD5 200
Tableau 1.1: Marge par produit. Les temps requis a` chaque e´ tape sont donn´es en heures pour chaque produit au tableau 1.2. Produit PROD1 ´ Etape 1 12 ´Etape 2 10 ´ Etape 3 20
PROD2 20 8 20
PROD3 0 16 20
PROD4 25 0 20
PROD5 15 0 20
Tableau 1.2: Temps de fabrication (en heures par produit). Enfin, il faut tenir compte des ressources en facteurs disponibles donn´ees au tableau 1.3. Les deux premi`eres e´ tapes sont effectu´ees sur machine tandis que la
Section 1.4. Formulation en mod`eles math´ematiques
15
´ Ressources heures par jour jours par semaine Etape ´Etape 1 3 machines 16 6 ´ Etape 2 2 machines 16 6 ´ 8 6 Etape 3 8 personnes Tableau 1.3: Ressources en facteurs troisi`eme ne n´ecessite que l’intervention de main d’œuvre. En ce qui concerne les deux premi`eres e´ tapes, l’usine travaille en deux pauses de huit heures par jour, et ceci, au maximum six jours par semaine. En ce qui concerne la troisi`eme, chaque personne travaille 8 heures par jour et, au maximum, 6 jours par semaine. La question que se pose le gestionnaire de l’usine est la suivante. Quelles sont les quantit´es a` fabriquer de chaque produit pour maximiser le profit net ? La construction d’un mod`ele est, en g´en´eral, une op´eration en trois e´ tapes : 1. le choix des variables de d´ecisions, 2. l’expression de l’objectif en fonction de ces variables, 3. l’expression des contraintes en fonction de ces variables. La premi`ere e´ tape consiste donc a` d´efinir les variables de d´ecision. D´efinition 1.6 On appelle variable de d´ecision toute quantit´e utile a` la r´esolution du probl`eme dont le mod`ele d´etermine la valeur. G´en´eralement, elles sont not´ees par les lettres de la fin de l’alphabet (x, y, z, etc...). Ici, on note simplement par xi , la quantit´e du produit i fabriqu´ee par semaine, i allant de un a` cinq. Une premi`ere remarque importante s’impose. Il est fondamental de bien pr´eciser les unit´es selon lesquelles sont exprim´ees les variables. En effet, l’ordre de grandeur des coefficients de l’objectif et des contraintes d´epend de ces unit´es. La deuxi`eme e´ tape consiste en la formulation de l’objectif. D´efinition 1.7 L’objectif est la quantit´e que l’on veut minimiser ou maximiser. Ici, il s’agit de la somme des contributions de chacune des productions au profit net de l’usine. Elle s’exprime simplement par : max z = 550x1 + 600x2 + 350x3 + 400x4 + 200x5 La troisi`eme e´ tape consiste en la formulation des contraintes.
Chapitre 1. Introduction
16
D´efinition 1.8 Les contraintes sont toutes les relations entre les variables qui limitent les valeurs possibles que peuvent prendre ces variables. • La premi`ere concerne la limite d’utilisation des machines a` l’´etape 1. Il y a trois machines, utilis´ees 16 heures par jour et, au maximum, six jours par semaine, ce qui donne un nombre maximum d’heures par semaine1 : 3 × (2 × 8) × 6 = 288 heures disponibles. Une unit´e de produit 1 demande 12 heures sur machine a` l’´etape 1. Si x1 unit´es de produit 1 sont produites par semaine, cela demande 12 x1 heures sur la machine 1. Par un raisonnement semblable pour les autres produits, on obtient finalement la contrainte : 12x1 + 20x2 + 0x3 + 25x4 + 15x5 ≤ 288. • La deuxi`eme contrainte concerne la limite d’utilisation des machines a` la deuxi`eme e´ tape. Le nombre maximum d’heures d’utilisation vaut : 2 × (2 × 8) × 6 = 192 heures, et la contrainte s’exprime comme : 10x1 + 8x2 + 16x3 + 0x4 + 0x5 ≤ 192. • La troisi`eme contrainte concerne la limite d’utilisation du personnel a` la troisi`eme e´ tape. Le nombre maximum d’heures prest´ees en une semaine par les 8 personnes est de : 8 × (1 × 8) × 6 = 384 heures. Et donc la contrainte s’exprime comme : 20x1 + 20x2 + 20x3 + 20x4 + 20x5 ≤ 384. • Enfin, il ne faut pas oublier les contraintes, presque toujours pr´esentes, disant que l’on ne peut pas produire des quantit´es n´egatives : x1 , x2 , . . .x5 ≥ 0. 1
Remarquez ici l’importance d’avoir pr´ecis´e que les quantit´es produites l’´etaient par semaine.
Section 1.5. Exercices
1.5
17
Exercices
1.1. Probl`eme de transport.On dispose de deux usines de production dont les d´ebouch´es sont situ´es sur trois march´es distants g´eographiquement. On connaˆıt la capacit´e de production de chacune des usines (en tonnes) ainsi que la demande de chacun des march´es (en tonnes). On dispose e´ galement (voir tableau 1.4 pour les donn´ees pr´ecises) des distances, exprim´ees en milliers de miles, entre les sites de production et les march´es. Usines Distance
March´es New York
Offre
Chicago Topeka
Seattle
2.5
1.7
1.8
350
San Diego
2.5
1.8
1.4
600
Demande
325
300
275
Tableau 1.4: Les donn´ees num´eriques du probl`eme de transport. Les frais de transport d’une tonne sont de 90 $ par millier de miles. On se demande combien d’unit´es du produit acheminer a` chaque march´e a` partir de chaque usine de mani`ere a` minimiser les coˆuts de transport, les coˆuts de production, e´ tant les mˆemes dans toutes les usines, n’entrent pas en ligne de compte. Formuler le probl`eme de transport comme un mod`ele lin´eaire (choix des variables, expression de l’objectif et expression des contraintes). 1.2. Optimisation du plan directeur de production. Une soci´et´e voudrait e´ tablir son plan directeur de production, c’est-`a-dire les quantit´es a` produire chaque trimestre ainsi que les ressources a` mobiliser chaque trimestre pour pouvoir satisfaire la demande a` coˆut total annuel minimum. La demande pour les 4 prochains trimestres est donn´ee au tableau 1.5. On suppose qu’un ouvrier peut produire 150 unit´es par jour ouvrable. Le nombre de jours ouvrables est e´ galement repris au tableau 1.5. Il y a un effectif initial de 32 ouvriers et un stock initial de 0. Le coˆut d’embauche d’un ouvrier est de 20 000 euro. Le coˆut de licenciement est de 50 000 euro. Le coˆut de stockage d’une unit´e pendant un trimestre est de 10 euro. On suppose que les licenciements et les embauches de personnel ne peuvent se r´ealiser qu’en d´ebut de chaque trimestre. De plus, pour des raisons commerciales, on souhaite avoir un niveau minimum de stock en fin de chaque trimestre
Chapitre 1. Introduction
18
Trimestre Demande Stock minimum Jours 1
180 000
55 000
62
2
400 000
85 000
64
3
190 000
50 000
55
4
390 000
100 000
59
Tableau 1.5: Optimisation du plan directeur de production afin de faire face aux demandes du d´ebut du trimestre suivant. Ce niveau minimum est donn´e au tableau 1.5. Les temps partiels sont permis. On demande de d´eterminer les engagements et licenciements d´ebut de chaque trimestre, de mani`ere a` ce que l’effectif du mois soit suffisant pour satisfaire la demande (aucune rupture de stock n’est permise) a` coˆut total minimum (somme du coˆut d’embauche, du coˆut de licenciement et du coˆut de stockage). Formuler le mod`ele correspondant (choix des variables, expression de l’objectif et expression des contraintes). Indication : d´eterminez d’abord les variables ind´ependantes (celles a` partir desquelles les autres seront calcul´ees), ensuite les variables d´ependantes (par exemple, la production d´epend du nombre d’ouvriers, le nombre d’ouvriers d´ependant lui-mˆeme des embauches et licenciements). 1.3. Location de surfaces d’entreposage. Le bˆatiment d’entreposage d’une firme fabriquant des peintures vient d’ˆetre compl`etement ravag´e par le feu. Pour pouvoir continuer a` stocker ses surplus de production pr´evus pour les 6 prochains mois (soit la p´eriode de reconstruction de l’entrepˆot), la firme doit disposer des surfaces minimum reprises au tableau 1.6. La soci´et´e s’adresse Mois
1
Surface (en 100 m2 ) 35
2
3
4
5
6
20 30 10 15
20
Tableau 1.6: Besoins minimaux en surface d’entreposage a` une firme sp´ecialis´ee dans l’entreposage qui permet de louer n’importe quelle surface pour un nombre quelconque de mois. Le coˆut de location est d´ecroissant en fonction de la longueur du bail (cfr tableau 1.7). La firme peut donc signer chaque mois autant de baux qu’elle le d´esire pour la dur´ee et la surface qu’elle juge utiles. L’objectif est de minimiser le coˆut total des baux qui permettront de couvrir les besoins en entreposage des 6 prochains
Section 1.5. Exercices
19
Dur´ee du bail (en mois) Coˆut du bail (euro pour 100 m2 )
1
2
3
4
200 360 500 625
5
6
745 850
Tableau 1.7: Coˆut des baux mois. On vous charge d’´etablir le calendrier de d´ebut et de fin de chacun des baux ainsi que la surface sur laquelle ils portent. Formuler le probl`eme correspondant (choix des variables, expression de l’objectif et expression des contraintes). Indication : pensez a` utiliser des variables a` doubles indices (premier pour le d´ebut, second pour la fin du bail). ´ 1.4. Equilibrage du chargement d’un navire. Le capitaine d’un cargo c´er´ealier doit assurer l’´equilibrage du chargement des 4 soutes de son navire pour lui conserver toutes ses qualit´es en haute mer. Les soutes vont de la soute avant A a` la soute arri`ere D en passant par les 2 soutes m´edianes B et C. Leurs capacit´es sont donn´ees ci-dessous : Soute Capacit´e Volume (tonnes)
(m3 )
A
3 600
20 000
B
4 300
30 000
C
4 500
31 000
D
3 300
18 000
La bonne tenue en mer de son navire lui impose de charger dans la soute A un tonnage de c´er´eales compris dans la fourchette qui va de 90 % a` 110 % du tonnage charg´e dans la soute D. Le tonnage dans chacune des soutes B et C doit eˆ tre d’au moins 30 % sup´erieur au tonnage dans la soute A et de 25 % sup´erieur au tonnage dans la soute D; la moiti´e de la somme des tonnages charg´es dans les soutes B et C doit eˆ tre au plus e´ gale a` la somme des tonnages charg´es dans les soutes A et D. L’armateur propose au capitaine d’effectuer
Chapitre 1. Introduction
20
les chargement du navire a` partir des lots de c´er´eales suivants : Lot Nombres
Nombre de
Tarif par tonne
de tonne
m3 par tonne
transport´ee
1
6 000
6,5
7,00 EURO
2
4 400
4,7
6,50 EURO
3
3 200
3,0
6,25 EURO
4
2 100
5,4
7,20 EURO
Le capitaine a carte blanche pour choisir sa cargaison; il peut accepter a` sa guise tout un lot donn´e ou une partie de ce lot. Pour simplifier le probl`eme, on suppose qu’une soute peut contenir plus d’une sorte de c´er´eale. Il partage l’objectif de l’armateur, qui est de maximiser les tarifs re¸cus pour les quantit´es embarqu´ees. Comment doit s’effectuer le chargement des soutes ? Formuler math´ematiquement le probl`eme (choix des variables, expression de l’objectif et expression des contraintes).
Partie I Les d´ecisions op´erationnelles
21
Chapitre 2 Ordonnancement en ateliers sp´ecialis´es 2.1
Introduction
Rappelons qu’on parle d’ateliers sp´ecialis´es lorsque l’ensemble des e´ quipements n´ecessaires pour assurer une fonction d´etermin´ee sont rassembl´es dans un mˆeme atelier. Le probl`eme de gestion quotidienne est de d´eterminer l’ordre d’ex´ecution d’un certain nombre de tˆaches, la r´ealisation d’une tˆache n´ecessitant le passage sur une ou plusieurs machines. Par exemple, l’emboutissage de plusieurs types de porti`eres de voitures demande le passage sur une mˆeme presse, l’ordre de passage des diff´erents types de porti`eres sur la presse n’´etant pas d´etermin´e a` l’avance. Parmi les mod`eles d’ordonnancement en ateliers sp´ecialis´es, on distingue • Les mod`eles statiques pour lesquels on recherche l’ordonnancement optimal d’un ensemble donn´e de tˆaches sur une p´eriode donn´ee : autrement dit, au cours de la p´eriode consid´er´ee, aucune nouvelle tˆache non pr´evue ne peut eˆ tre prise en compte dans l’ordonnancement; • Les mod`eles dynamiques d’ordonnancement qui se caract´erisent par des arriv´ees successives de tˆaches, le plus souvent dans un univers al´eatoire. Dans ce chapitre, nous allons nous limiter aux mod`eles statiques et voir successivement le probl`eme d’ordonnancement sur 1 machine, sur 2 machines. Enfin, nous verrons la g´en´eralisation au probl`eme sur m machines dont la r´esolution demande le recours a` la programmation en nombres entiers.
23
Chapitre 2. Ordonnancement en ateliers sp´ecialis´es
24
2.2
Ordonnancement sur une machine
Illustrons le probl`eme sur l’exemple suivant tir´e de Giard [4]. On a cinq tˆaches a` effectuer sur la machine A. Le tableau 2.1 pr´esente les diff´erentes tˆaches ainsi que leurs temps op´eratoires. Il s’agit de d´eterminer l’ordre dans lequel on va Tˆache (i) 1 2 Temps op´eratoire (ti ) 50 150
3 80
4 5 200 30
Tableau 2.1: Temps op´eratoires (en centi`emes d’heures). effectuer ces diff´erentes tˆaches. Il est clair que, quel que soit l’ordre choisi, le temps op´eratoire total est le mˆeme : il s’agit de la somme des temps op´eratoires. Il faudra donc d´efinir un autre crit`ere de choix entre tous les ordonnancements possibles. Un ordonnancement possible est illustr´e a` la table 2.2. Ordre (j) 1 2 Tˆache programm´ee(i) 3 4 Temps d’ex´ecution (Tj ) 80 200
3 4 1 5 50 30
5 2 150
Tableau 2.2: Un ordonnancement possible.
2.2.1
Le diagramme de Gantt
Illustrons tout d’abord une technique de visualisation d’un ordonnancement, le diagramme de Gantt. Celui-ci est construit a` la figure 2.1 pour l’ordonnancement 1
3
2
3
4
1 5
4
5 2
temps (heures) Z
machine A 0,8
2,8 3,3 3,6
5,1
Figure 2.1: Diagramme de Gantt. du tableau 2.2. Le diagramme de Gantt permet de visualiser a` la fois : • l’utilisation des moyens productifs; • l’avancement de l’ex´ecution des tˆaches.
Section 2.2. Ordonnancement sur une machine
25
En effet, une ligne horizontale illustre l’´evolution du temps. Ensuite, pour chaque moyen productif (ici, il y a seulement la machine A), on trace une ligne horizontale en dessous de la ligne du temps. Chaque tˆache a` effectuer sur la machine est repr´esent´ee par un segment dont la longueur est proportionnelle a` la dur´ee d’ex´ecution de la tˆache. On indiquera le num´ero de la tˆache au dessus du segment tandis qu’une machine au repos est indiqu´ee par un Z. Si l’on veille a` aligner verticalement l’origine du temps pour chaque machine, une ligne verticale indique donc a` tout moment a` quelle tˆache est occup´ee chacune des machines. Un tableau mural peut eˆ tre ainsi d’un grand recours pour les agents de maˆıtrise responsable de l’affectation des moyens humains et mat´eriels.
2.2.2
La r`egle T.O.M.
Comme nous l’avons indiqu´e plus haut, tous les ordonnancements possibles conduisent au mˆeme temps total d’ex´ecution des tˆaches. Dans l’exemple, l’ex´ecution des 5 tˆaches n´ecessite 510 centi`emes d’heure. La question qui se pose est alors : comment choisir parmi les n! ordonnancements possibles ? Notons Aj le temps d’ach`evement de la tˆache programm´ee en position j. Le temps d’ach`evement d’une tˆache est la somme des temps d’ex´ecution de la tˆache avec ceux des tˆaches pr´ec´edentes. Par exemple, A4 = T1 + T2 + T3 + T4 Le calcul des diff´erents temps d’ach`evement des tˆaches est repris au tableau 2.3. Ordre (j)
1
2
3
4
5
Tj
80
200
50
30
150
Aj
80
280 330 360 510
Tableau 2.3: Temps d’ach`evement des tˆaches. Le temps d’ach`evement moyen vaut alors : 80 + 280 + 330 + 360 + 510 = 312 A¯ = 5 En g´en´eral : n 1 1 Aj = [T1 + (T1 + T2 ) + (T1 + T2 + T3 ) A¯ = 5 j=1 5
+(T1 + T2 + T3 + T4 ) + (T1 + T2 + T3 + T4 + T5 )] 1 = (5T1 + 4T2 + 3T3 + 2T4 + T5 ) 5
Chapitre 2. Ordonnancement en ateliers sp´ecialis´es
26
Il s’agit donc d’une somme pond´er´ee des temps op´eratoires, chaque temps op´eratoire e´ tant pond´er´e par un facteur d’autant plus grand qu’il se trouve ex´ecut´e plus tˆot dans l’ordonnancement. La r`egle d’ordonnancement qui minimise le temps d’ach`evement moyen est celle du temps op´eratoire minimum : il s’agit d’ex´ecuter les tˆaches par ordre croissant de dur´ee : T1 ≤ T2 ≤ . . . ≤ Tj ≤ . . . ≤ Tn L’application de cette r`egle donne l’ordonnancement illustr´e au tableau 2.4. Cette application donne le temps d’ach`evement moyen minimum : A¯ = 218. Ordre (j)
1
Tˆaches (i) 5 Tj 30 Aj 30
2
3
1 3 50 80 80 160
4
5
2 4 150 200 310 510
Tableau 2.4: Application de la r`egle TOM. On peut montrer que la r`egle T.O.M. revient a` minimiser le retard moyen, le retard d’une tˆache e´ tant la diff´erence entre le moment o`u la tˆache est termin´ee et celui o`u elle aurait e´ t´e termin´ee si l’on l’avait commenc´e en premier lieu.
2.3
Ordonnancement avec deux centres de production
Chaque tˆache n´ecessite pour son ex´ecution le passage sur deux machines : les machines A et B. Soient tiA et tiB , les temps d’ex´ecution de la tˆache i sur les machines A et B respectivement. On va utiliser comme crit`ere d’ordonnancement la minimisation du temps total d’ex´ecution des tˆaches sur les deux machines. On va distinguer deux cas : • le cas o`u toutes les tˆaches sont a` ex´ecuter sur A puis B; • le cas o`u toutes les tˆaches n’ont pas le mˆeme ordre de passage sur les deux machines.
2.3.1
Cas ou` toutes les tˆaches sont a` ex´ecuter sur A puis B
Supposons donc que cinq tˆaches soient a` ex´ecuter sur les machines A puis B. Les temps op´eratoires (en centi`emes d’heure) sont repris au tableau 2.5.
Section 2.3. Ordonnancement avec deux centres de production Tˆaches (i) tiA tiB
1
2
3
4
27
5
50 150 80 200 30 60 50 150 70 200
Tableau 2.5: Ordonnancement sur deux machines. 5
3
1
4
2
Z
machine A 5
Z
3
1
4
2
machine B 1,6
0,3 0,8 1
2
2,3 2,9 3
4,4
3,6 4
5,1 5,6 5 temps (heures)
Figure 2.2: Diagramme de Gantt. L’ordonnancement optimal est illustr´e a` la figure 2.2. Remarquez que durant l’ex´ecution de la premi`ere tˆache sur A, la machine B dort. On a donc int´erˆet a` mettre en tˆete la tˆache de temps tiA le plus faible. De fa¸con similaire, lors de l’ex´ecution de la derni`ere tˆache sur la machine B, la machine A dort. On a donc int´erˆet a` mettre en fin la tˆache de dur´ee d’ex´ecution tiB minimum. En se basant sur ces deux observations, l’algorithme Johnson (1954) calcule l’ordonnancement minimisant le temps total d’ex´ecution des tˆaches : 1. Rechercher la tˆache i de temps d’ex´ecution tim minimum. 2. Si m = A, placer cette tˆache a` la premi`ere place disponible; Si m = B, placer cette tˆache a` la derni`ere place disponible. 3. Supprimer la tˆache i des tˆaches encore a` programmer, retour en 1. Appliquons ceci a` l’exemple. D’abord, la tˆache 5 (t5A = 30) est mise en premi`ere position. Puis, la tˆache 1 (t1A = 50) est mise en deuxi`eme position. Puis la tˆache 2 (t2B = 50) est mise en derni`ere position. Puis la tˆache 4 (t2B = 70) est mise en avant derni`ere position. Enfin, la tˆache 3 est mise a` la derni`ere place disponible. 5 1 3 4 2 On obtient le graphique de Gantt de la figure 2.2 o`u le passage d’une tˆache d’une machine a` l’autre est visualis´e a` l’aide d’une fl`eche verticale.
Chapitre 2. Ordonnancement en ateliers sp´ecialis´es
28
2.3.2
Cas de tˆaches ne s’effectuant pas dans le mˆeme ordre
Dans ce cas plus g´en´eral, certaines tˆaches ne n´ecessitent que le passage sur une machine, d’autres sur les deux dans un ordre ou l’autre. Les donn´ees num´eriques sont reprises au tableau 2.6. Tˆaches a` effectuer sur A puis B Tˆaches (i)
1
2
3
4
5
tiA
50 80
10
50 30 70
tiB
30 60
30
0
0
6 0
Tˆaches a` effectuer sur B puis A Tˆaches (i)
7
8
9
10 11
tiB
90 20
10
40 10
tiA
70 30
100
0
0
Tableau 2.6: Illustration de l’algorithme de Jackson. L’ordonnancement qui minimise le temps total d’ex´ecution des tˆaches sur les deux machines est obtenu par l’algorithme de Jackson (1957) qui est une g´en´eralisation de l’algorithme de Johnson. Il consiste tout simplement a` : 1. Faire une partition de l’ensemble des n tˆaches en • l’ensemble A des tˆaches ne passant que sur A : A = {4, 5, 6}; • l’ensemble B des tˆaches ne passant que sur B : B = {10, 11}; • l’ensemble AB des tˆaches passant sur A puis B : AB = {1, 2, 3}; • l’ensemble BA des tˆaches passant sur B puis A : BA = {7, 8, 9}. 2. Calculer un ordonnancement pour chaque sous-ensemble : • l’ordonnancement optimal pour AB par Johnson : 3, 2, 1; • l’ordonnancement optimal pour BA par Johnson : 9, 8, 7; • un ordonnancement arbitraire pour A (par exemple, TOM) : 5, 4, 6; • un ordonnancement arbitraire pour B (par exemple, TOM) : 11, 10. 3. Remarquons que l’on a int´erˆet a` d´ebuter le plus vite possible sur A les tˆaches qui doivent ensuite aller sur B et a` mettre en derni`ere place sur A celles qui doivent d’abord aller sur B. Ceci conduit a` combiner ces ordonnancement de la mani`ere suivante :
Section 2.4. Ordonnancement sur trois machines
29
• Pour la machine A : la s´equence optimale pour le sous-ensemble AB, puis les tˆaches de A, puis la s´equence optimale du sous-ensemble BA : 3, 2, 1, 5, 4, 6, 9, 8, 7. • Pour la machine B : la s´equence optimale pour le sous-ensemble BA, puis les tˆaches de B, puis la s´equence optimale du sous-ensemble AB : 9, 8, 7, 11, 10, 3, 2, 1. On obtient le diagramme de Gantt de la figure 2.3. 3 machine A
2 10
98 machine B
1
10 30
90
7
5
4
140 170
11 10 120 130
3 170 200
6
9
220
2
290
1
8 390 420
7 490
Z
260 290
Figure 2.3: Algorithme de Jackson.
2.4
Ordonnancement sur trois machines
L’algorithme de Johnson ne s’applique qu’en pr´esence de deux machines. Cependant, le cas de trois machines peut se ramener au cas de deux machines si la machine B est compl`etement domin´ee par la machine A ou par la machine C, c’est-`a-dire si l’on se trouve dans le cas o`u minimum tiA ≥ maximum tiB , soit dans le cas o`u minimum tiC ≥ maximum tiB . Illustrons ceci sur l’exemple du tableau 2.7. o`u l’on constate que : minimum tiA = 12 = maximum tiB . On est donc bien dans les conditions d’application e´ nonc´ees ci-dessus. Remarquez qu’il suffit qu’une des deux conditions soit v´erifi´ee. Ainsi dans l’exemple, la seconde condition n’est pas v´erifi´ee et l’algorithme s’applique bien.
Chapitre 2. Ordonnancement en ateliers sp´ecialis´es
30
tˆaches 1 Assemblage 20 Inspection 4 Exp´edition 7
2 3 12 19 1 9 11 4
4 5 6 7 16 14 12 17 12 5 7 8 18 18 3 6
Tableau 2.7: Temps op´eratoires avec trois machines. Lorsque l’on se trouve dans un des deux cas, on reformule alors le probl`eme en un probl`eme a` deux machines, la premi`ere groupant les machines A et B (tiAB = tiA + tiB ) et la seconde groupant les machines B et C (tiBC = tiB + tiC ). tˆaches 1 2 Assemblage + Inspection 24 13 Inspection + Exp´edition 11 12
3 4 5 6 7 28 28 19 19 25 13 30 23 10 14
On applique alors l’algorithme de Johnson a` ce probl`eme a` deux machines pour d´eterminer l’ordonnancement optimal. Place 1 2 tˆache 5 4
3 7
4 5 3 2
6 7 1 6
On peut alors tracer le diagramme de Gantt correspondant au probl`eme original, c’est-`a-dire celui avec trois machines (voir figure 2.4). 5
4
7
3
2
1
6
Z
Assemblage Z
5
Z
4 Z 7
Z
3
2 Z
1Z 6
Z
Inspection Z
5
Z
4
7
Z 3 2
Z 1 Z 6
Expédition
14
19
30 37 42 47 55 60 66 75 78 79 90 98 102 109 110 117 120
Figure 2.4: Ordonnancements avec 3 machines. Dans le cas o`u la machine centrale n’est pas domin´ee par la premi`ere o`u la troisi`eme machine, le probl`eme peut eˆ tre mod´elis´e comme un probl`eme en nombres entiers et r´esolu par une technique de programmation en nombres entiers telle que la m´ethode de “branch and bound”.
Section 2.5. Ordonnancement de n tˆaches sur m centres de production
2.5
31
Ordonnancement de n tˆaches sur m centres de production
Comme l’indique Giard [4], le probl`eme combinatoire pos´e est formidable : il y a en effet (n!)m ordonnancements possibles. Le probl`eme g´en´eral a e´ t´e formalis´e en termes de programmation dynamique et en termes de programme lin´eaire en nombres entiers. La formulation permet d’int´egrer des contraintes suppl´ementaires comme la date de livraison, une capacit´e de production, . . . etc. Lorsque l’ordre de passage des tˆaches est identique et que le nombre de centres de production ne d´epasse pas quelques dizaines, une solution souvent proche de la solution optimale peut eˆ tre trouv´ee en utilisant l’algorithme de Johnson sur des groupements de centres de production successifs exactement a` la mani`ere de ce que nous avons fait a` la section pr´ec´edente pour le cas de trois centres de production dont celui du milieu est domin´e. Attention que, au contraire des cas pr´ec´edents il ne s’agit pas d’un algorithme donnant une solution optimale mais bien d’une m´ethode heuristique donnant une solution approch´ee. Prenons le cas de 5 centres de productions not´es A, B, C, D et E. Il faut r´esoudre les 4 probl`emes suivants par l’algorithme de Johnson (des parenth`eses signifient que l’on somme les temps des centres) : • avec la premi`ere et la derni`ere machine : {A} − {E} • avec les deux premi`eres et les deux derni`eres machines : {AB} − {DE} • avec les trois premi`eres et les trois derni`eres machines : {A, B, C} − {C, D, E} • avec les quatre premi`eres et les quatre derni`eres machines : {A, B, C, D} − {B, C, D, E} On prend alors le meilleur des temps totaux d’ex´ecution des tˆaches ainsi trouv´es. Illustrons ceci sur un exemple a` 4 centres de production. Le tableau 2.8 reprend les donn´ees du probl`eme.
Chapitre 2. Ordonnancement en ateliers sp´ecialis´es
32
tˆaches tiA 1 50 2 89 3 7 4 8 5 61 6 1
tiB 43 99 47 64 19 80
tiC 15 95 20 12 65 66
tiD 4 77 98 94 14 78
Tableau 2.8: Temps op´eratoires avec quatre machines. Le premier probl`eme fictif consiste a` ne consid´erer que les machines A et D. Il conduit a` l’ordonnancement suivant par la m´ethode de Johnson : 1 2 3 4 5 6 6 3 4 2 5 1 qui conduit a` un temps de 51,2 heures. Le deuxi`eme probl`eme fictif consiste a` consid´erer les machines A+B et C+D comme illustr´e au tableau 2.9 . Il conduit a` l’ordonnancement suivant par la tˆaches tiA + tiB tiC + tiD 1 50 + 43 =93 15 + 4 = 19 2 89 + 99 = 188 95 + 77= 172 3 7 + 47 = 54 20 + 98 = 118 4 8 + 64 = 72 12 + 94 = 106 5 61 + 19 = 80 65 + 14 = 79 6 1 + 80 = 81 66 + 78 = 144 Tableau 2.9: Deuxi`eme probl`eme fictif. m´ethode de Johnson : 1 2 3 4 5 6 3 4 6 2 5 1 qui conduit a` un temps de 48,7 heures. Le troisi`eme et dernier probl`eme fictif consiste a` consid´erer A+B+C et B+C+D. Il donne la mˆeme solution que le probl`eme fictif 2. On a donc trouv´e une solution de temps e´ gal a` 48,7 heures alors que la solution optimale (qui peut eˆ tre calcul´ee en faisant une e´ num´eration explicite de tous les ordonnancement possibles) conduit a` un temps de 48,5 heures.
Section 2.6. Exercices
2.6
33
Exercices
2.1. Pose de chape et carrelage. Une entreprise de pose de chape et carrelage a enregistr´e pour le mois prochain les commandes suivantes correspondant a autant de chantiers (la dur´ee suppose qu’une e´ quipe enti`ere soit affect´ee a` la tˆache) : C1 Chappe
C2
C3
C4
C5
2 jours 3 jours 10 jours 1 jours 2,5 jours
Carrelage 5 jours 4 jours 12 jours 3 jours
2 jours
Il doit toujours y avoir 2 jours de s´echage entre la fin de la chape et le d´ebut du carrelage. Le s´echage est r´ealis´e avec une machine. L’entreprise ne dispose que d’une seule machine de s´echage. (a) Si l’entreprise dispose d’une e´ quipe de chappistes et d’une e´ quipe de carreleurs, dans quel ordre doit-elle effectuer ces contrats pour r´ealiser les 5 chantiers en un minimum de temps ? (b) Repr´esentez graphiquement votre solution au moyen d’un diagramme de Gantt. (c) Combien de jours sont n´ecessaires pour mener a` bien les cinq chantiers ? 2.2. Ordonnancement de lots de jouets. Une petite entreprise de la r´egion Li´egeoise est sp´ecialis´ee dans la production de jouets en bois. Le plan de fabrication pour le mois de novembre implique la production de 7 types de jouets : J1, J2, . . . , J7. La fabrication de ces produits implique 2 e´ tapes : la d´ecoupe du bois (A) et le montage (B). Selon les produits, ces op´erations ne sont pas toujours toutes effectu´ees et leur ordre peut varier. On demande d’utiliser l’algorithme de Jackson pour d´eterminer l’ordonnancement qui minimise le temps total d’ex´ecution des tˆaches. Les donn´ees num´eriques sont reprises au tableau ci-dessous : Tˆache J1 J2 J3 Dur´ee sur A 15 5 10 Dur´ee sur B 10 0 12 Ordre BA A AB
J4 J5 0 10 10 15 B AB
J6 J 7 10 50 18 40 AB BA
(a) D´eterminez l’ordonnancement optimal des tˆaches passant a` la d´ecoupe puis au montage (A puis B).
34
Chapitre 2. Ordonnancement en ateliers sp´ecialis´es (b) D´eterminez l’ordonnancement optimal des tˆaches passant au montage puis a` la d´ecoupe (B puis A). (c) D´eterminez un ordonnancement pour les tˆaches passant uniquement par la d´ecoupe (A). (d) D´eterminez un ordonnancement pour les tˆaches passant uniquement au montage (B). (e) D´eterminez l’ordonnancement optimal pour les deux op´erations. (f) Dessinez la solution obtenue au point (e) sur un diagramme de Gantt.
2.3. Planification de m tˆaches sur n centres de production. La charcuterie industrielle Detry doit planifier 6 lots de jambons. Pour chacun des 6 lots, trois op´erations doivent eˆ tre ex´ecut´ees dans un ordre d´etermin´e : La pr´eparation (centre de production A), puis la cuisson (centre de production B), enfin le ´ conditionnement (centre de production C). Etant donn´e les diverses tailles de lots, les recettes utilis´ees et les divers types de conditionnements, on e´ tablit les temps op´eratoires suivants pour chaque lot (unit´e : 10 minutes): Machine A B C Lot 1 : jambon belge 4 6 2 Lot 2 : jambon en d´es 4 1 6 Lot 3 : salade de jambon 5 5 7 Lot 4 : jambons de Bayonne 8 7 9 Lot 5 : jambons en tranches 7 5 5 Lot 5 : jambons a` l’os 8 1 3 L’entreprise d´esire minimiser le temps total de production. (a) Utilisez la m´ethode heuristique bas´ee sur l’algorithme de Johnson pour trouver une solution proche de la solution optimale. (b) Donnez l’ordonnancement obtenu. (c) Quelle est la dur´ee de la production (en heures et minutes) ?
Chapitre 3 La gestion calendaire de stock 3.1
Introduction
Comme le souligne Giard [4], une production sans stock est quasi inconcevable vu les nombreuses fonctions que remplissent les stocks. En effet, la constitution de stocks est n´ecessaire s’il y a : 1. non co¨ıncidence dans le temps et l’espace de la production et de la consommation : le stock est indispensable dans ce cas car il est impossible de produire l`a et quand la demande se manifeste. Les exemples classiques sont les jouets et la confiserie pour la non co¨ıncidence dans le temps, et les supermarch´es pour la non co¨ıncidence dans l’espace. 2. incertitude sur le niveau de demande ou sur le prix : s’il y a incertitude sur la quantit´e demand´ee, on va constituer un stock de s´ecurit´e qui permet de faire face a` une pointe de demande. S’il y a incertitude sur le prix, on va constituer un stock de sp´eculation. Par exemple, les compagnies p´etroli`eres ach`etent plus que n´ecessaire en p´etrole brut lorsque le prix de celui-ci est relativement bas. 3. risque de probl`emes en chaˆıne : il s’agit ici d’´eviter qu’une panne a` un poste ne se r´epercute sur toute la chaˆıne : un retard d’ex´ecution au poste pr´ec´edent ou une gr`eve des transports n’arrˆetera pas imm´ediatement l’ensemble du processus de production s’il y a des stocks tampons. 4. pr´esence de couts ˆ de lancement : dans ce cas, travailler par lots permet une e´ conomie d’´echelle sur les coˆuts de lancement mais, en revanche, provoque une augmentation des coˆuts de possession du stock. La gestion des stocks pose cependant de multiples probl`emes : tenue d’inventaires, valorisation du stock, d´efinition des capacit´es de stockage et enfin, disponibilit´e satisfaisante du stock. Nous allons nous concentrer sur ce dernier aspect. 35
Chapitre 3. La gestion calendaire de stock
36
3.2
Les politiques de gestion de stock
Les politiques de gestion de stock visent a` r´epondre aux deux grandes questions : 1. Quand d´eclencher l’approvisionnement du stock? La r´eponse a` cette question est diff´erente suivant la politique de gestion adopt´ee : • En gestion de stock par point de commande, l’approvisionnement du stock est d´eclench´e lorsque l’on observe que le stock descend en dessous d’un niveau s, le point de commande. • En gestion calendaire, l’approvisionnement du stock est d´eclench´e a` intervalles r´eguliers T , par exemple, chaque jour ou chaque semaine. • En gestion calendaire conditionnelle, l’approvisionnement du stock est d´eclench´e a` intervalles r´eguliers T , mais uniquement lorsque l’on observe que le stock descend en dessous d’un niveau s, le point de commande. 2. Combien commander ? La r´eponse a` la question ”Combien ?” d´epend e´ galement du type de gestion de stock appliqu´ee : • En cas de gestion par point de commande, on commande une quantit´e fixe, not´ee q et appel´ee quantit´e e´ conomique de commande. Comme nous le verrons au chapitre 4, sa d´etermination r´esulte d’un calcul d’optimisation. • En cas de gestion calendaire de stock, la quantit´e command´ee est e´ gale a` la diff´erence entre S, le niveau de recompl`etement du stock et le stock r´esiduel observ´e R, pour autant que le produit puisse rester en stock (cas de produits non p´erissables). Cette quantit´e peut e´ galement eˆ tre augment´ee de la valeur des quantit´es non satisfaites lors de la p´eriode pr´ec´edente, pour autant que le client maintienne sa demande. Nous allons nous attacher a` deux politiques particuli`eres : • La politique de gestion calendaire des stocks, not´ee (T, S) avec T l’intervalle entre deux commandes et S, le niveau de recompl`etement du stock. • La politique de gestion par point de commande, quantit´e e´ conomique de commande, not´ee (q, s) avec q, la quantit´e e´ conomique a` commander r´eguli`erement et s, le point de commande qui d´eclenche l’approvisionnement du stock.
Section 3.3. Les coˆ uts associ´es aux stocks
3.3
37
Les couts ˆ associ´es aux stocks
Un stock est constitu´e pour satisfaire une demande future. En cas de demande al´eatoire, il peut y avoir non co¨ıncidence entre la demande et le stock. Deux cas sont e´ videmment possibles : • une demande sup´erieure au stock : on parle alors de rupture de stock; • une demande inf´erieure au stock : on aura alors un stock r´esiduel. Le crit`ere de gestion g´en´eralement retenu en gestion des stocks est celui de la minimisation des couts. ˆ Nous noterons cette fonction par la lettre C, suivie, entre parenth`eses, de la ou des variables de commande du syst`eme. Par exemple, si la variable de commande est la quantit´e command´ee, nous noterons l’objectif C(q). Ces variables de commandes d´eterminent en g´en´eral trois variables d’´etat du syst`eme : Ir , la rupture moyenne, c’est-`a-dire le nombre moyen de demandes non satisfaites au cours d’une p´eriode, auquel est associ´e cr , le coˆut unitaire de rupture; Ip , le stock moyen poss´ed´e au cours d’une p´eriode, auquel est associ´e cp , le coˆut unitaire de possession; Ic , le nombre moyen de commandes pass´ees au cours d’une p´eriode, auquel est associ´e cc , le coˆut unitaire de commande. La fonction de coˆut s’´ecrit donc en g´en´eral comme une fonction de ces trois variables d’´etat : C = cr Ir + cp Ip + cc Ic . Nous allons examiner un peu plus en d´etails chacun des trois coˆuts partiels.
3.3.1
Les couts ˆ de possession
Les couts ˆ de possession comprennent : 1. les coˆuts de d´etention d’un article en stock durant une certaine p´eriode en fonction des conditions financi`eres d’acquisition et des e´ ventuelles conditions de reprise. 2. les coˆuts de stockage qui sont les d´epenses de logistique, de conservation du stock.
38
Chapitre 3. La gestion calendaire de stock
Comme signal´e plus haut, en pr´esence d’une demande al´eatoire, il peut y avoir non co¨ıncidence du stock et de la demande, et donc une rupture ou un stock r´esiduel. Les cons´equences de ce stock r´esiduel seront bien diff´erentes selon que l’on se trouve dans • le cas du stock a` rotation nulle, c’est-`a-dire lorsque le stock r´esiduel est sans utilit´e pour l’entreprise. Ceci se pr´esente notamment : – en cas d’obsolescence technique ou commerciale : par exemple, les vˆetements de mode, . . . – en cas o`u la consommation a un d´elai maximum : par exemple, les primeurs, les journaux, . . . Dans ce cas, le cout ˆ de possession d’un article se calcule comme le coˆut d’acquisition de l’article moins la valeur de r´ecup´eration (solde). Prenons un exemple. Un quotidien achet´e 0,9 euro par le libraire et dont l’invendu est repris 0,75 euro par le grossiste : le coˆut de possession est de cp = 0, 9 − 0, 75 = 0, 15 euro. • le cas du stock a` rotation non nulle, c’est-`a-dire lorsque l’invendu peut eˆ tre vendu a` une p´eriode ult´erieure. C’est l’exemple des boˆıtes de conserves en e´ picerie non vendues une p´eriode qui le seront aux p´eriodes suivantes. Dans ce cas, le cout ˆ de possession li´e a` l’immobilisation du capital. En gelant la somme d’argent correspondant au coˆut d’achat de l’article invendu, la soci´et´e se prive du revenu d’un placement financier qu’elle aurait pu r´ealiser. Ce coˆut est appel´e coˆut d’opportunit´e. Le taux d’opportunit´e est la rentabilit´e du meilleur investissement que l’entreprise aurait pu faire. Prenons un exemple. Si le taux d’opportunit´e est de 6 % l’an, une boˆıte de conserves achet´ee 1,20 euro et restant en rayon un mois entier a coˆut´e cp = 1, 20 × 6% × 1/12 = 0, 006 euro. L’autre partie du coˆut de possession concerne les couts ˆ de stockage. Ces coˆuts de stockage, comprennent, en g´en´eral des frais fixes, tels que le coˆut de location d’entrepˆots, ainsi que des frais variables, tels que le coˆut de manutention. Le cout ˆ unitaire de stockage que l’on doit prendre en consid´eration dans la fonction objectif est le coˆut moyen de l’ensemble de ces frais. Malheureusement, ce ce coˆut moyen d´epend du volume d’activit´e et ne peut donc pas eˆ tre consid´er´e comme une constante. Cette difficult´e fait que souvent on n’inclut pas de cout ˆ de stockage dans le cout ˆ de possession et le coˆut de possession se r´eduit donc au seul coˆut d’immobilisation du capital.
Section 3.3. Les coˆ uts associ´es aux stocks
3.3.2
39
Les couts ˆ de rupture
La rupture se pr´esente lorsque la demande exc`ede le stock constitu´e au cours de la p´eriode. Les cons´equences de cette rupture sont diff´erentes selon que la demande est interne ou externe. En cas de demande externe, la demande non satisfaite peut eˆ tre perdue (on parle de ventes manqu´ees) ou report´ee (on parle de ventes diff´er´ees) : • dans le cas de ventes manqu´ees, le cout ˆ de rupture est le manque a` gagner de la non fourniture d’une unit´e, g´en´eralement la marge b´en´eficiaire. Prenons un exemple. Un journal achet´e 0,90 euro par le libraire et revendu 1,20 euro a un coˆut de rupture de cr = 1, 20 − 0, 90 = 0, 30 euro. • En cas de ventes diff´er´es, le cout ˆ de rupture n’inclut pas la marge car la vente sera r´ealis´ee plus tard. Ce coˆut de rupture est le coˆut administratif d’ouverture d’un dossier et e´ ventuellement un coˆut commercial (on fait une ristourne pour ne pas perdre le client). Prenons un exemple. Un garagiste qui n’a plus en stock le v´ehicule d´esir´e par son client va lui proposer une voiture de location gratuite durant le d´elai d’attente pour ne pas perdre le client. Le coˆut de rupture correspond ici a` la prise en charge de la location de la voiture par le garage. En cas de demande interne, on ne parle plus de stock de distribution mais bien de stock de fabrication. Dans ce cas, la rupture entraˆıne un chˆomage technique des postes en aval. Le cout ˆ de rupture correspond au coˆut financier du chˆomage technique (voir a` ce propos, l’exercice 3.3).
3.3.3
Les couts ˆ de commande
A nouveau, il faut ici distinguer le cas d’une demande interne et celui d’une demande externe : • En cas de stock de fabrication, le coˆut de commande est le coˆut de lancement de la production. Il s’agit du r´eglage des machines, etc . . . Normalement, ce coˆut est ind´ependant de la quantit´e fabriqu´ee. • En cas de stock d’approvisionnement, le coˆut de commande est le coˆut administratif de gestion de la commande : e´ tablissement d’un bordereau, contrˆole de livraison, liquidation comptable,. . . . Normalement, ce coˆut est e´ galement ind´ependant de la quantit´e command´ee.
40
3.4
Chapitre 3. La gestion calendaire de stock
Gestion calendaire de stock a` rotation nulle
Pour rappel, on se trouve dans le cas d’un stock a` rotation nulle lorsqu’il n’y a pas de report possible des invendus aux p´eriodes suivantes. On va ici d´eterminer le niveau initial du stock S, qui est donc ici la variable de commande. En effet, la p´eriode de r´evision calendaire, c’est-`a-dire l’intervalle entre deux approvisionnements, not´e T est g´en´eralement fix´e par la nature de l’approvisionnement. Par exemple, un pˆatissier met en fabrication des gˆateaux chaque jour. Le libraire commande des journaux chaque jour, des p´eriodiques chaque semaine ou chaque mois. Nous allons illustrer les choses sur l’exemple du pˆatissier tir´e de Giard [4] qui est un exemple o`u la demande suit une loi de probabilit´e discr`ete. Supposons un coˆut de fabrication de 25 euro l’unit´e et un prix de vente de 60 euro l’unit´e. Supposons que la demande quotidienne de ce gˆateau soit de 2,5 en moyenne et supposons que la demande, que nous noterons X, suive une loi de Poisson. Le x 0 1 2 3 4 P (X = x) 0, 0821 0, 2052 0, 2565 0, 2138 0, 1336 x 5 6 7 8 9 P (X = x) 0, 0668 0, 0278 0, 0099 0, 0031 0, 0009 Tableau 3.1: Distribution de la loi de Poisson. tableau 3.1 reprend la distribution de probabilit´e du nombre X de clients par jour pour ce produit. Dans ce tableau, x indique une valeur possible de la demande et P (X = x) indique la probabilit´e d’occurrence de cette valeur. Ainsi on a 8,21 % de chance d’observer aucun client un jour donn´e. Les invendus sont donn´es. La question que se pose le pˆatissier est la suivante : combien mettre de gˆateaux en fabrication chaque jour pour maximiser son b´en´efice ? Le coˆut de possession, cp , li´e a` l’invendu en fin de journ´ee est 25 euro, c’esta` -dire le coˆut de production. Tandis que le coˆut de rupture, cr , li´e a` une vente manqu´ee est e´ gal a` la marge, c’est-`a-dire : cr = 60 − 25 = 35 euros. On doit d´eterminer S, le stock initial, de mani`ere a` minimiser : C(S) = cp Ip (S) + cr Ir (S) = 25Ip (S) + 35Ir (S). avec Ip (S), le stock moyen r´esiduel en fin de journ´ee et Ir (S), nombre moyen de ruptures sur la journ´ee.
Section 3.4. Gestion calendaire de stock a` rotation nulle
41
Avant de voir comment d´eterminer, en g´en´eral, le stock initial S ∗ qui minimise le coˆut moyen C(S), voyons sur l’exemple comment on peut calculer num´eriquement ce minimum. Nous allons d’abord calculer Ir (S), le nombre moyen de ruptures. Au tableau 3.2, on calcule explicitement le nombre de ruptures en fonction du stock initial (S) et de la demande observ´ee (x) : bien e´ videmment, ce nombre de ruptures est la partie positive de (x − S). Pour calculer le nombre moyen de ruptures, il suffit, pour chaque valeur de S de faire la moyenne pond´er´ee de ce nombre par la probabilit´e d’observer x. Ceci est fait en derni`ere ligne du tableau 3.2.
x 0 1 2 3 4 5 6 7 8 9
Calcul du nombre de ruptures : (x − S)+ P (X = x) S = 1 S = 2 S = 3 S = 4 S = 5 S = 6 0, 0821 0 0 0 0 0 0 0, 2052 0 0 0 0 0 0 0, 2565 1 0 0 0 0 0 0, 2138 2 1 0 0 0 0 0, 1336 3 2 1 0 0 0 0, 0668 4 3 2 1 0 0 0, 0278 5 4 3 2 1 0 0, 0099 6 5 4 3 2 1 0, 0031 7 6 5 4 3 2 0, 0009 8 7 6 5 4 3 Ir (S) 1, 579 0, 867 0, 411 0, 169 0, 061 0, 019 Tableau 3.2: Calcul du nombre moyen de ruptures.
Nous allons ensuite calculer Ip (S), le stock moyen poss´ed´e. Au tableau 3.3, on calcule explicitement le stock poss´ed´e en fonction du stock initial (S) et de la demande observ´ee (x) : bien e´ videmment, ce stock final poss´ed´e est la partie positive de (S − x). Pour calculer le stock moyen poss´ed´e, il suffit, pour chaque valeur de S de faire la moyenne pond´er´ee de ce nombre par la probabilit´e d’observer x. Ceci est fait en derni`ere ligne du tableau 3.3. Enfin, nous calculons le coˆut moyen de possession du stock en appliquant la formule suivante : C(S) = 35Ir (S) + 25Ip (S) Ceci est fait au tableau 3.4. On constate (voir figure 3.1) que le coˆut minimum est obtenu pour S ∗ = 3.
Chapitre 3. La gestion calendaire de stock
42
x 0 1 2 3 4 5 6 7 8 9
Calcul du stock r´esiduel : (S − x)+ P (X = x) S = 1 S = 2 S = 3 S = 4 S = 5 S = 6 0, 0821 1 2 3 4 5 6 0, 2052 0 1 2 3 4 5 0, 2565 0 0 1 2 3 4 0, 2138 0 0 0 1 2 3 0, 1336 0 0 0 0 1 2 0, 0668 0 0 0 0 0 1 0, 0278 0 0 0 0 0 0 0, 0099 0 0 0 0 0 0 0, 0031 0 0 0 0 0 0 0, 0009 0 0 0 0 0 0 Ip (S) 0, 0821 0, 3694 0, 9132 1, 6708 2, 562 3, 52 Tableau 3.3: Calcul du stock moyen poss´ed´e. Calcul du coˆut du stock S 1 2 3 4 5 6 C(S) 57, 33 39, 58 37, 22 47, 69 66, 17 88, 66 Tableau 3.4: Calcul du coˆut moyen de possession du stock. C(S)
100 80 60 40 20 0 0
1
2
S ∗= 3
4
5
6
S
´ Figure 3.1: Evolution du coˆut moyen de possession du stock.
Section 3.4. Gestion calendaire de stock a` rotation nulle
43
En cas de coˆut convexe (on peut v´erifier que le coˆut est bien une fonction convexe de S), le stock optimal S ∗ est celui pour lequel le coˆut de gestion C(S ∗ ) est inf´erieur a` celui des stocks imm´ediatement inf´erieur ou sup´erieur :
ou encore
C(S ∗ ) ≤ C(S ∗ + 1)
C(S ∗ ) ≤ C(S ∗ − 1)
C(S ∗ + 1) − C(S ∗ ) ≥ 0
C(S ∗ ) − C(S ∗ − 1) ≤ 0
(3.1)
Remarquez que les conditions (3.1) sont l’´equivalent pour une fonction continue de dire que la d´eriv´ee premi`ere doit eˆ tre n´egative avant S ∗ et positive apr`es S ∗ . On va donc e´ tudier l’´evolution de la diff´erence de coˆut de stocks successifs : C(S + 1) − C(S). L’´etude de C(S + 1) − C(S) passe par celle de Ir (S + 1) − Ir (S), car, comme nous allons le voir, on peut exprimer cette variation de coˆut en fonction de la seule variation de rupture moyenne. On va donc e´ tudier Ir (S + 1) − Ir (S). Calculons, par exemple, la rupture moyenne Ir (S = 4) associ´ee au stock initial S = 4. On doit donc calculer l’esp´erance math´ematique de X − 4 pour des valeurs de X sup´erieures a` 4 : Ir (S = 4) =
∞
(x − 4)P (X = x)
x=5
Calculons, de mˆeme, la rupture moyenne Ir (S = 5) associ´ee au stock initial S = 5 : Ir (S = 5) =
∞
(x − 5)P (X = x)
x=6
En g´en´eral : Ir (S) =
∞
(x − S)P (X = x)
x=S+1
Int´eressons nous maintenant a` la diff´erence de ces ruptures moyennes pour deux stocks initiaux cons´ecutifs : Ir (S = 4) − Ir (S = 5) = = =
∞ x=5 ∞ x=5 ∞
(x − 4)P (X = x) − (x − 4)P (X = x) −
∞ x=6 ∞ x=5
1 · P (X = x)
x=5
= P (X > 4)
(x − 5)P (X = x) (x − 5)P (X = x)
Chapitre 3. La gestion calendaire de stock
44
On en conclut que la diminution de rupture moyenne Ir (S) occasionn´ee par une augmentation d’une unit´e du stock a` partir de S est e´ gale a` la probabilit´e que la demande soit strictement sup´erieure au stock initial S : Ir (S + 1) − Ir (S) = −P (X > S)
(3.2)
Il est facile de montrer que ceci est vrai quelle que soit la forme la distribution de probabilit´e discr`ete. Les tableaux de l’annexe B donne le calcul de P (X > x) en fonction de λ, la valeur du param`etre de la loi de Poisson. Comme annonc´e plus haut, il est possible de ramener la fonction de coˆut comme une fonction de la seule variable d’´etat Ir (S). Pour cela, nous allons e´ tablir la relation entre Ir (S) et Ip (S). Le stock moyen sur lequel porte le coˆut de possession est le stock moyen observ´e en fin de p´eriode qui correspond donc a` l’invendu. On observera un stock r´esiduel si la demande observ´ee x est inf´erieure a` S, le stock initial. Son niveau moyen est calcul´e par l’esp´erance math´ematique suivante : Ip (S) = =
S−1
(S − x)P (X = x) =
x=0 ∞
(S − x)P (X = x) −
x=0 ∞
= S
S
(S − x)P (X = x)
x=0 ∞
(S − x)P (X = x)
x=S+1
P (X = x) −
x=0
∞
∞
xP (X = x) +
x=0
(x − S)P (X = x)
x=S+1
¯ + Ir (S) = S−X ¯ note la moyenne de la demande X. D’o`u la relation entre Ip et Ir : o`u X ¯ + Ir (S) Ip (S) = S − X
(3.3)
qui peut s’interpr´eter en disant que le stock moyen r´esiduel Ip (S) est e´ gal au stock ¯ − Ir (S)). de d´epart S diminu´e de la demande moyenne satisfaite (X La cons´equence de la relation (3.3) est que l’on peut exprimer le coˆut total C(S) en fonction du seul coˆut de rupture Ir :
¯ + Ir (S) C(S) = cr Ir (S) + cp Ip (S) = cr Ir (S) + cp S − X D’o`u l’expression de C(S) : ¯ + (cr + cp )Ir (S) C(S) = cp (S − X)
(3.4)
Section 3.4. Gestion calendaire de stock a` rotation nulle
45
Revenons maintenant au probl`eme de la d´etermination de la solution optimale, c’est-`a-dire au stock initial S ∗ qui minimise : ¯ + (cr + cp )Ir (S) C(S) = cp (S − X) On a donc que : ¯ + (cr + cp )Ir (S + 1) C(S + 1) − C(S) = cp (S + 1 − X) ¯ − (cr + cp )Ir (S) −cp (S − X) = cp + (cr + cp )(Ir (S + 1) − Ir (S)) Compte tenu de la relation (3.2) : C(S + 1) − C(S) = cp − (cr + cp )P (X > S) Les conditions d’optimalit´e (3.1) deviennent ici :
cp − (cp + cr )P (X > S ∗ )
cp − (cp + cr )P (X > S ∗ − 1) ≤ 0
≥ 0
ou encore S ∗ optimal si : P (X > S ∗ ) ≤
cp ≤ P (X > S ∗ − 1) cp + cr
(3.5)
Appliquons ceci au cas de l’exemple : cp 25 = = 0, 417 cp + cr 25 + 35 En consultant le tableau donnant P (X > S) (cfr Annexe B), on trouve : P (X > 3) = 0, 2424 ≤ 0, 417 ≤ P (X > 2) = 0, 4562 D’o`u
S ∗ = 3.
On en conclut qu’il est optimal de produire chaque matin 3 gˆateaux, soit la solution d´ej`a d´etermin´ee num´eriquement.
Chapitre 3. La gestion calendaire de stock
46
3.5
Cas d’une loi de demande continue
Nous allons e´ galement illustrer ce cas sur un exemple e´ galement tir´e de Giard [4]. Consid´erons un marchand de journaux qui vent un quotidien a` 3,5 euro l’unit´e, qui lui-mˆeme l’acqui`ere a` 2,8 euro aupr`es de son grossiste qui lui reprend les invendus au prix de 2,6 euro l’unit´e. Le coˆut de rupture, cr , est li´e a` l’invendu et vaut donc la marge b´en´eficiaire : cr = 3, 5 − 2, 8 = 0, 7 euro tandis que le coˆut de possession, cp , vaut la perte enregistr´ee par invendu, c’est-`adire cp = 2, 8 − 2, 6 = 0, 2 euro. On suppose que la demande quotidienne suit approximativement une loi nor¯ = 300 et d’´ecart type σ = 20. La question qui se pose male de moyenne X est la suivante : quel est le nombre d’exemplaires a` commander S de mani`ere a` minimiser le coˆut de gestion : C(S) = cp Ip (S) + cr Ir (S) Le coˆut de gestion s’´ecrit dans le cas d’une loi continue de la mani`ere suivante : S
C(S) = cp
x=0
(S − x)f (x)dx + cr
∞ x=S
(x − S)f (x)dx
La condition d’optimalit´e s’´ecrit dans le cas d’une loi continue : C (S ∗ ) = 0 Comme dans le cas discret, on peut ramener ce coˆut a` une fonction du seul nombre moyen de ruptures. En effet, la relation (3.3) entre Ir (S) et Ip (S) e´ tablie dans le cas discret reste valable : S
Ip (S) = =
(S − x)f (x)dx
0∞ 0
(S − x)f (x)dx −
¯+ = S−X
∞ S
∞ S
(S − x)f (x)dx
(x − S)f (x)dx
¯ + Ir (S) = S−X On en d´eduit a` nouveau l’expression de C(S) en fonction du seul Ir (S) : ¯ + (cp + cr )Ir (S) C(S) = cp (S − X)
Section 3.5. Cas d’une loi de demande continue
47
Il faut maintenant e´ tudier la d´eriv´ee premi`ere de Ir (S). Par application de la formule de Leibnitz (cfr Giard [4]), on d´emontre le r´esultat suivant : ∞ dIr (S) f (x)dx = −P (X > S), =− dS S
(3.6)
c’est-`a-dire exactement le mˆeme r´esultat analytique que la relation (3.2) e´ tablie dans le cas discret. On peut maintenant passer a` la d´etermination de la solution optimale. On doit donc d´eterminer le S qui minimise : ¯ + (cr + cp )Ir (S) C(S) = cp (S − X) On calcule la d´eriv´ee de C(S) en utilisant la relation (3.6) : dC(S) = cp − (cr + cp )P (X > S) dS On annule la d´eriv´ee. D’o`u l’on tire : S ∗ optimal si P (X > S ∗ ) =
cp cr + cp
(3.7)
Cet optimum est un minimum car la d´eriv´ee seconde de C(S) est positive. En effet, la d´eriv´ee de P (X > S) par rapport a` S est clairement n´egative. Appliquons ceci au cas de l’exemple : P (X > S ∗ ) =
cp 0, 2 = = 0, 2222 cr + cp 0, 7 + 0, 2
Comme on ne dispose que de la table de la normale r´eduite, il faut r´eduire la variable al´eatoire X en lui retranchant sa moyenne et en la divisant par son e´ cart type. On obtient :
P
S ∗ − 300 X −µ > = 0, 2222 σ 20
Par lecture dans la table de la normale r´eduite, on d´etermine : tS = D’o`u finalement :
S ∗ − 300 = 0, 765 20
S ∗ = 315, 3 ≈ 315.
L’approvisionnement p´eriodique optimal est donc de S ∗ = 315. Avant de passer au cas de stocks a` rotation non nulle, examinons quelques indicateurs que l’on peut d´eduire de la solution optimale.
Chapitre 3. La gestion calendaire de stock
48
3.6
Les cons´equences e´ conomiques de la solution optimale
La rupture de stock Dans le cas (discret) de la production de gˆateau, le calcul de Ir (s) s’effectue comme suit : Ir (S) =
(x − S)P (X = x)
x>S
=
xP (X = x) − S
x>S
P (X = x)
x>S
D’o`u finalement : Ir (S) =
xP (X = x) − SP (x > S)
x>S
Le premier terme correspond a` un calcul tronqu´e de la moyenne. Pour la distribution de Poisson de param`etre λ, on montre que :
xP (X = x) = λP (X > S − 1)
x>S
D’o`u l’on tire finalement : Ir (S) = λP (X > S − 1) − SP (X > S)
(3.8)
Ce qui nous donne dans le cas de l’exemple : Ir (S ∗ = 3) = 2, 5P (X > 2) − 3P (X > 3) = 2, 5 × 0, 4562 − 3 × 0, 2424 = 0, 4133. Dans le cas de la vente de journaux (loi de demande continue), le calcul de Ir (S) s’effectue par l’int´egrale suivante : Ir (S) = =
∞ S∞ S
D’o`u l’on tire Ir (S) =
∞ S
(x − S)f (x)dx xf (x)dx − S
∞
f (x)dx
S
xf (x)dx − SP (x > S)
Section 3.6. Les cons´equences ´economiques de la solution optimale
49
Le premier terme correspond a` nouveau a` un calcul tronqu´e de la moyenne. On peut montrer que si X suit une distribution normale N (µ, σ), on obtient la formule suivante : Ir (S) = σ [f (tS ) − tS P (t > tS )] = σg(tS ) avec :
2 ¯ S−X e−tS /2 et f (tS ) = √ tS = σ 2π Appliquons ceci aux donn´ees num´eriques de l’exemple pour lequel
ts =
315 − 300 = 0, 75. 20
La table B.3 donne directement : g(tS = 0, 75) = 0, 1312 L’application de la formule donne donc : Ir (S) = 20 × 0, 1312 = 2, 624. Le stock moyen poss´ed´e Le stock moyen poss´ed´e, Ip (S), correspond dans le cas de stock a` rotation nulle au stock r´esiduel moyen. Cet indicateur s’obtient a` partir de la rupture moyenne aussi bien dans le cas discret que dans le cas continu par la relation (3.3) rappel´ee ci-dessous : ¯ + Ir (S) Ip (S) = S − X Pour le pˆatissier, on aura donc : Ip (S ∗ = 3) = (3 − 2, 5) + 0, 413 = 0, 9133 gˆateaux. Pour le marchand de journaux, on aura : Ip (S ∗ = 315) = (315 − 300) + 2, 624 = 17, 624 journaux. Remarquez que, dans les deux cas, le stock r´esiduel se calcule comme le stock initial diminu´e de la demande satisfaite. :
¯ − Ir (S) . Ip (S) = S − X
Chapitre 3. La gestion calendaire de stock
50 Le cout ˆ moyen
Le coˆut moyen C(S) peut eˆ tre calcul´e par la relation suivante : C(S) = cr Ir (S) + cp Ip (S) Pour l’exemple du pˆatissier, on obtient : C(S) = 35 × 0, 4133 + 25 × 0, 9133 = 14, 46 + 22, 83 = 37, 30 euros. Pour l’exemple du marchand de journaux, on obtient : C(S) = 0, 7 × 2, 624 + 0, 2 × 17, 624 = 5, 36 euros. La marge nette moyenne La marge nette moyenne, not´ee B(S), est e´ gale au produit de la marge unitaire, mu , par la demande moyenne, diminu´e du coˆut de stockage : ¯ − C(S) B(S) = mu X
(3.9)
Donnons quelques explications sur cette formule. Deux cas sont possibles quant aux ventes manqu´ees (aux ruptures de ventes) : • Soit les ventes manqu´ees sont perdues, et dans ce cas, le coˆut de rupture est la marge b´en´eficiaire. La formule (3.9) devient dans ce cas : ¯ − cr Ir (S) − cp Ip (S) B(S) = cr X ¯ − Ir (S)) − cp Ip (S) = cr (X Le b´en´efice net est donc la marge b´en´eficiaire sur les ventes r´ealis´ees moins le coˆut des invendus. • Soit les ventes manqu´ees sont diff´er´ees, et dans ce cas, la marge b´en´eficiaire ¯ ce qui justifie disera r´ealis´ee sur l’ensemble de la demande exprim´ee X, rectement la formule (3.9) . L’application de cette relation a` l’exemple num´erique du pˆatissier donne : ¯ − C(S) = 35 × 2, 5 − 37, 30 = 50, 20 euros. B(S) = mu X tandis que pour le marchand de journaux, elle donne : ¯ − C(S) = 0, 7 × 300 − 5, 36 = 204, 64 euros. B(S) = mu X Nous allons maintenant passer au cas de stock a` rotation non nulle.
Section 3.7. Cas de stocks a` rotation non nulle
3.7
51
Cas de stocks a` rotation non nulle
Pour rappel, on parle de stocks a` rotation non nulle lorsque les invendus d’une p´eriode seront vendus aux p´eriodes suivantes. C’est de loin le cas le plus r´epandu. La variable de commande du syst`eme est ici S, le niveau de recompl`etement, c’est-`a-dire le niveau du stock que l’on cherche a` retrouver p´eriodiquement. Remarquons une diff´erence fondamentale avec le cas de stocks a` rotation nulle. En effet, la commande a` passer pour un approvisionnement en d´ebut de p´eriode n’est plus fixe. Deux cas sont possibles : • Il reste un stock r´esiduel positif : dans ce cas, on commande la diff´erence entre S et le stock r´esiduel; • Le stock r´esiduel est nul : dans ce cas, on commande S augment´e des demandes non satisfaites de la p´eriode pr´ec´edente qui ont pu eˆ tre report´ees. Pour illustrer le processus de d´etermination de S ∗ , le niveau optimal de recompl`etement, c’est-`a-dire celui qui minimise le coˆut : C(S) = cp Ip (S) + cr Ir (S), nous consid´erons l’exemple suivant de la ventes d’ampoules d’´eclairage tir´e de Giard [4]. On suppose que la demande hebdomadaire d’ampoules de 60 Watt suit une loi normale de moyenne 300 et d’´ecart type 20. Le r´eapprovisionnement se fait en d´ebut de semaine chez le grossiste au prix d’achat de 3 euro l’unit´e. Les ampoules sont vendues au prix de 3,5 euro l’unit´e. On suppose un taux d’opportunit´e annuel de 20 %. D’o`u un coˆut de possession annuel par ampoule en stock de : 3 × 0, 2 = 0, 6 euro. Pour arriver a` un coˆut de possession hebdomadaire, il faut tenir compte du nombre de semaines sur lesquelles la demande s’exprime. Ici, on suppose le magasin ouvert 52 semaines par an : cp = 0, 6/52 = 0, 01154 euro. Remarquons qu’`a la diff´erence du cas de stock a` rotation nulle, la perte li´ee a` une ampoule en stock n’est plus son prix d’achat mais la perte financi`ere due au gel en stock de son prix d’achat.
Chapitre 3. La gestion calendaire de stock
52
Calculons maintenant le coˆut unitaire de rupture : il correspond a` la marge non r´ealis´ee par ampoule : cr = 3, 5 euros − 3 euros = 0, 5 euro. La question qui se pose est la suivante : quel est le niveau de recompl`etement optimal S ∗ ? Pour le calcul du stock moyen poss´ed´e, il faudra distinguer deux cas de figure : 1. le cas o`u la demande observ´ee est sup´erieure au niveau de recompl`etement; 2. le cas o`u la demande observ´ee est inf´erieure au niveau de recompl`etement. Supposons, pour fixer les id´ees, qu’un niveau de recompl`etement de 320 ait e´ t´e choisi. 1. Cas d’une demande inf´erieure a` S : dans ce cas, il n’y a pas de rupture de stock. C’est l’exemple d’une demande observ´ee de 310. Le stock de fin de p´eriode vaut donc : 320 − 310 = 10 ampoules. En ce qui concerne l’´evolution du stock, on peut supposer que la demande de 310 ampoules est e´ galement r´epartie sur toute la semaine et on peut faire une interpolation lin´eaire comme a` la figure 3.2 S = 320 x = 310 S
x = 10
T = 5 jours
´ Figure 3.2: Evolution du stock. On en d´eduit le stock moyen poss´ed´e : Ip (S) =
320 + 10 S + (S − x) = 2 2
On en conclut donc que : Si x < S : Ip (S) =
S + (S − x) 2
(3.10)
Section 3.7. Cas de stocks a` rotation non nulle
53
2. Cas d’une demande sup´erieure a` S : dans ce cas, on observe une rupture de stock. C’est le cas, par exemple, d’une demande observ´ee de 350. On va maintenant d´eterminer a` partir de quand le stock est nul. La demande, comme dans le cas sans rupture, est suppos´ee uniform´ement r´epartie sur la semaine de cinq jours (cfr figure 3.3). La demande journali`ere est donc S = 320
app rox im ati on
x = 350
s=0
x
S = 30
T = 5 jours
´ Figure 3.3: Evolution du stock en cas de rupture. 350/5 = 70 = x/T ampoules par jour. Et l’´evolution du stock moyen poss´ed´e peut eˆ tre obtenue par : S(t) = 320 − 70t. Ce stock est nul pour : t=
S 320 = 4, 57 jours = 70 x/T
Le stock moyen poss´ed´e se calcule comme : Ip (S) =
0, 43 320 320 SS 320 4, 57 +0 = = 2 5 5 2 350 2x
En g´en´eral : SS 2x Cette formule donne une solution analytique au probl`eme de la d´etermination du niveau optimal de recompl`etement S ∗ assez difficile a` mettre en œuvre. Une hypoth`ese simplificatrice, a` savoir que la rupture se produit en fin de p´eriode (voir figure 3.3) permet d’effectuer des calculs simplifi´es. Sous cette hypoth`ese, le stock varie entre S et 0 et donc : Si x > S : Ip (S) =
Si x > S : Ip (S) =
S 2
(3.11)
Chapitre 3. La gestion calendaire de stock
54
3.7.1
D´etermination de la solution optimale
Sous cette hypoth`ese simplificatrice, nous allons pouvoir d´eterminer le niveau de recompl`etement optimal. Le coˆut de gestion s’´ecrit : C(S) = cp Ip (S) + cr Ir (S) Pour le calcul du stock moyen poss´ed´e Ip (S), il faut dissocier le cas o`u la demande x est inf´erieure a` S de celui o`u elle est sup´erieure a` S : S
Ip (S) =
( 0
S S−x S∞ f (x)dx + )f (x)dx + 2 2 2 S
Tandis que le nombre moyen de ruptures, Ir (S), peut se calculer comme l’int´egrale : Ir (S) =
∞ S
(x − S)f (x)dx
On peut maintenant tirer l’expression de Ip (S) en fonction de Ir (S) : S
Ip (S) = = = =
S S−x S∞ ( + f (x)dx )f (x)dx + 2 2 2 S 0 ∞ S 1 S f (x)dx + (S − x)f (x)dx 2 0 2 0 ∞ ∞ S 1 (S − x)f (x)dx − (S − x)f (x)dx + 2 2 0 S ¯ S S X Ir (S) + − + 2 2 2 2
On obtient donc la relation suivante : Ip (S) = S −
¯ X Ir (S) + 2 2
(3.12)
On peut donc exprimer C(S) en fonction du seul Ir (S) : C(S) = cp Ip (S) + cr Ir (S) = cp [S −
¯ X Ir (S) + ] + cr Ir (S) 2 2
D’o`u finalement : C(S) = cp (S −
¯ X cp ) + (cr + )Ir (S) 2 2
Dans le cas d’une loi de demande continue, il suffit d’annuler la d´eriv´ee premi`ere dC(S) cp dIr (S) cp = cp + (cr + ) = cp + (cr + ) [−P (X > S ∗ )] = 0 dS 2 dS 2
Section 3.7. Cas de stocks a` rotation non nulle
55
d’o`u P (X > S ∗ ) =
cp cr +
cp 2
(3.13)
Appliquons ceci aux donn´ees num´eriques de notre exemple de ventes d’ampoules e´ lectriques. Par la relation (3.13) : P (X > S ∗ ) =
0, 01154 = 2, 28% 0, 5 + 0, 01154/2
La lecture dans la table normale r´eduite nous donne : tS = 2 =
S ∗ − 300 20
D’o`u, le niveau optimal de recompl`etement : S ∗ = 340. Tout comme dans le cas de stock a` rotation nulle, on peut d´eduire les principaux indicateurs de la solution optimale choisie : • Le nombre moyen de rupture se calcule par la formule suivante : Ir (S ∗ ) = σg(tS ) = 20 × 0, 0084 = 0, 168 • Le stock moyen poss´ed´e se calcule a` partir de la formule ¯ X Ir (S ∗ ) + 2 2 300 0, 168 + = 190, 08 = 340 − 2 2
Ip (S ∗ ) = S ∗ −
• Le coˆut moyen de stockage se calcule comme C(S ∗ ) = cp Ip (S ∗ ) + cr Ir (S ∗ ) = 0, 01154 × 190, 08 + 0, 5 × 0, 168 = 2, 28 euros. • La marge hebdomadaire moyenne nette se calcule comme : ¯ − C(S ∗ ) B(S ∗ ) = mu X = 0, 5 × 300 − 2, 28 = 147, 72 euros.
Chapitre 3. La gestion calendaire de stock
56
3.7.2
Cas d’une loi de demande discr`ete
Terminons ce chapitre en voyant les formules de calcul dans le cas d’une loi de demande discr`ete pour la gestion de stock a` rotation non nulle. Le stock moyen poss´ed´e se calcule dans le cas discret comme suit : Ip (S) = =
S−1 0 S−1 0
∞ x S (S − )P (X = x) + P (X = x) 2 S 2
S x (S − )P (X = x) + P (X ≥ S) 2 2
Exprimons ce stock moyen poss´ed´e en fonction du nombre moyen de rupture : Ip (S) =
S−1 0
(
∞ S S x S P (X = x) + − )P (X = x) + 2 2 2 2 S
S 1 [S + (S − x)P (X = x)] 2 0 ∞ ∞ 1 S 1 (S − x)P (X = x) − (S − x)P (X = x) + = 2 2 0 2 S
=
On obtient donc la relation suivante entre Ip et Ir : ¯ X Ir (S) + 2 2 c’est-`a-dire exactement la mˆeme formule que dans le cas continu. Ip (S) = S −
(3.14)
On peut donc exprimer C(S) en fonction du seul Ir (S) : C(S) = cp Ip (S) + cr Ir (S) ¯ Ir (S) X = cp [S − + ] + cr Ir (S) 2 2 ¯ cp X = cp (S − ) + (cr + )Ir (S) 2 2 Par des calculs analogues a` ceux du cas de la rotation nulle, on d´etermine finalement le niveau optimal de recompl`etement S ∗ par la formule suivante : P (X > S ∗ ) ≤
cp cr +
cp 2
≤ P (X > S ∗ − 1)
(3.15)
Il est a` noter que si la loi de demande est du type Poisson, Ir (S), le nombre moyen de demandes non satisfaites, se calcule par la mˆeme formule que pr´ec´edemment a` savoir : Ir (S) = λP (X > S − 1) − SP (X > S)
Section 3.8. Exercices
3.8
57
Exercices
3.1. Vente de fleurs. Un fleuriste est livr´e tous les samedis matin de tr`es bonne heure par son producteur d’une quantit´e de 10 d´ecorations florales qu’il e´ coule durant le week-end. Il n’est plus possible alors d’ˆetre livr´e en urgence en cas de manque de d´ecorations florales. Il ach`ete ses d´ecorations florales 13 euro pi`ece et les revend 25 euro l’unit´e. Il a pass´e un accord avec un fleuriste ambulant faisant le march´e le mardi qui lui rach`ete ses invendus e´ ventuels a` 6 euro l’unit´e. Le fleuriste se rend compte que sa gestion d’approvisionnement actuelle n’est pas optimale. Si la demande est sup´erieure a` 10 unit´es, il perd du chiffre d’affaire. Mais si elle est inf´erieure, il perd de l’argent par la revente en solde des invendus. Des discussions avec le producteur r´ev`elent que celui-ci pourrait lui fournir jusqu’`a 13 d´ecorations florales par week-end. Par ailleurs, le fleuriste a effectu´e un relev´e des demandes de d´ecorations florales sur les 100 derniers week-end. Les r´esultats sont donn´es au tableau suivant (on y reconnaˆıt une distribution de poisson) : Demande
5
6
7
8
9
10 11 12
Observations (cas sur 100)
2
3
4
7
9
10 11 11
Demande
13 14 15 16 17 18 19 20
Observations (cas sur 100) 11
9
7
5
4
3
2
2
Le fleuriste pense qu’il peut vendre en moyenne plus de 10 d´ecorations florales. Il se demande combien commander a` son grossiste pour maximiser ses gains. (a) Confirmez son impression qu’il peut vendre en moyenne plus de 10 d´ecorations florales en calculant la moyenne de la demande de d´ecorations florales. (b) D´eterminez le nombre optimal de d´ecorations florales a` commander aupr`es de son grossiste. (c) Quel sera, en moyenne, le nombre de clients qui sortent de sa boutique chaque fin de week-end sans avoir pu acheter une d´ecoration florale ? (d) Quel est le nombre moyen de d´ecorations florales que le fleuriste ambulant lui rach`ete en fin de week-end ? (e) Quel est le b´en´efice net du fleuriste en un week-end sur ce produit ? 3.2. Gestion d’une exploitation foresti`ere. Un exploitant forestier doit d´ecider de la quantit´e d’arbres r´esineux a` abattre et a` mettre sur le march´e. Ses
58
Chapitre 3. La gestion calendaire de stock ventes sont destin´ees au bois de charpente et on estime que la demande annuelle suit une loi normale de moyenne 10.000 et d’´ecart type 100. Le coˆut de production est de 1.000 euro l’unit´e et le prix de vente de 2.200 euro. Le producteur travaille uniquement sur commande de sorte qu’il ne coupe que les arbres demand´es l’ann´ee courante. Le surplus peut eˆ tre vendu l’ann´ee suivante. L’abattage a lieu une fois l’an. Afin de pr´eserver la forˆet, l’exploitant replante la mˆeme ann´ee exactement la quantit´e abattue. (a) Quelle quantit´e doit-il mettre en production pour minimiser son coˆut de gestion (taux d’opportunit´e de 6 % par an) ? (b) Quelle est en moyenne la quantit´e qu’il ne peut livrer par an faute d’approvisionnement suffisant ?
3.3. Gestion du stock de pi`eces de rechange. Une entreprise d’embouteillage est confront´ee de temps a` autre a` des pannes de sa machine d’embouteillage qui n´ecessitent l’arrˆet de la production pour 24 heures (dont coˆut 10.000 euro). Afin de rem´edier a` ce probl`eme, il a e´ t´e d´ecid´e qu’`a chaque nouvel achat de machine (la machine est remplac´ee tous les 4 ans), un certain nombre de pi`eces de rechange seront command´ees avec la machine. Le coˆut d’achat d’une pi`ece est de 500 euro. On peut r´eutiliser les pi`eces de rechange d’une machine sur l’autre. Ce stock de pi`eces de rechange permettra en cas de panne de r´eparer imm´ediatement la machine et d’´eviter l’arrˆet de la production pour 24 heures. Le nombre de pannes observ´ees sur la dur´ee de vie de la machine est en moyenne de 2 pannes par an (8 pannes sur la dur´ee de 4 ans). Le taux d’opportunit´e est estim´e a` 10 % par an. On se demande combien faut-il commander de pi`eces de rechange avec la commande de la nouvelle machine. (a) De quelle politique de gestion de stock s’agit-il ? Justifiez bri`evement votre r´eponse. (b) Quel est le nombre optimal de pi`eces de rechange a` commander avec la nouvelle machine ? (c) Quel est le nombre moyen d’arrˆets de la nouvelle machine dˆus a` une rupture de stock de pi`eces d´etach´ees ? (d) Quel est le stock moyen poss´ed´e de pi`eces d´etach´ees ? (e) Quel est la coˆut de cette politique sur la dur´ee de vie de la machine ?
Chapitre 4 La gestion par point de commande 4.1
Introduction
La gestion calendaire se caract´erise, comme nous l’avons vu au chapitre 3 par : • des commandes a` intervalles fixes dont la p´eriodicit´e est not´ee T ; • un niveau de commande variable : qui vaut la diff´erence entre S, le niveau de recompl`etement et R, le stock r´esiduel. La gestion par point de commande se caract´erise, elle, au contraire par : • un montant de commande constant : cette quantit´e e´ conomique de commande sera not´ee q; • une p´eriodicit´e de commande variable (lorsqu’on est en univers al´eatoire) : on commande lorsque le stock passe en dessous du point de commande, s. On examinera successivement les deux cas de figures que sont : 1. La gestion (q, s) en univers certain. Comme, dans ce cas, la demande est certaine, on d´etermine s, le point de commande, suffisamment grand afin d’´eviter toute rupture de stock : il n’y a donc pas de cout ˆ de rupture. La variable de d´ecision q, la valeur constante de la commande, sera d´etermin´ee de mani`ere a` minimiser le coˆut de gestion qui ne comprend que deux termes : C(q) = cc Ic (q) + cp Ip (q) 2. La gestion (q, s) en univers incertain. Dans ce cas, le coˆut de rupture intervient aussi. Les variables de d´ecision que sont q, le montant des commandes et s, le point de commande seront d´etermin´es de mani`ere a` minimiser le coˆut de gestion qui comprend trois termes : C(q, s) = cc Ic (q, s) + cp Ip (q, s) + cr Ir (q, s) 59
Chapitre 4. La gestion par point de commande
60
4.2
D´etermination du point de commande en univers certain
Nous allons illustrer la d´etermination de la quantit´e e´ conomique de commande en univers certain sur un exemple tir´e de Giard [4] . Il s’agit d’un ustensile de cuisine achet´e par un supermarch´e au prix unitaire de 30 euro. La demande annuelle, que nous noterons D est estim´ee a` 2 400 unit´es. Cette demande est consid´er´ee comme uniforme sur l’ann´ee. Vu le caract`ere certain de la demande et du d´elai d’obtention (ici de 20 jours ouvrables), on peut e´ viter toute rupture d’approvisionnement en passant commande a` temps. On consid`ere que l’ann´ee comporte 48 semaines de 6 jours ouvrables, soit 288 jours. Le coˆut de passation d’une commande de 300 euro et est ind´ependant de la quantit´e command´ee. L’article est vendu 40 euro. La question qui se pose ici est : “Quand commander ?” Afin de minimiser le stock poss´ed´e, le chef de rayon a int´erˆet a` passer commande exactement 20 jours ouvrables avant la rupture (voir figure 4.1) de mani`ere a` ce que le stock soit nul au moment de la livraison. Il e´ vitera ainsi un stock dormant. niveau du stock 400
q =400
q =400
q =400 s∗ =167
L
L
temps
Figure 4.1: D´etermination du point de commande. Remarquez que cela revient a` d´eclencher la commande au moment o`u il reste exactement en stock de quoi satisfaire la demande de 20 jours. Exprimons le d´elai d’obtention de 20 jours ouvrables en ann´ee : L=
20 = 0, 069 ann´ee. 288
La demande durant cette p´eriode s’´el`eve a` : D × L = 2 400 ×
20 = 166, 67 ≈ 167 articles. 288
Section 4.3. D´etermination de la quantit´e ´economique de commande
61
En g´en´eral, le point de commande optimal est tel que s∗ = DL
(4.1)
avec D = demande annuelle; L = d´elai d’obtention exprim´e en ann´ee. Dans le cas o`u l’on d´eclencherait la commande plus tˆot (voir figure 4.2 o`u l’on a pris s = 200 et q = 400), on aurait un stock r´esiduel de sr = sr − DL = 200 − 167 = 33 et le niveau du stock e´ voluerait entre q + sr et sr , et non plus entre q et 0, d’o`u un niveau moyen du stock de : (q + sr ) + sr (400 + 33) + 33 = = 233 2 2 Il y aurait ainsi un stock dormant de sr . niveau du stock q + sr =433 q =400
q =400
q =400
s =200 s =200
stock dormant
s =200
sr =33
L
L
temps
Figure 4.2: Stock r´esiduel a` la commande.
4.3
D´etermination de la quantit´e e´ conomique de commande
Le cout ˆ de possession annuel unitaire peut eˆ tre calcul´e en tenant compte du taux d’opportunit´e annuel ici suppos´e de 20 % comme : cp = 30 × 0, 2 = 6 euros.
Chapitre 4. La gestion par point de commande
62
La question qui se pose est la suivante : Quelle est la quantit´e q constante a` commander p´eriodiquement pour que le coˆut annuel moyen soit minimum ? Avant de d´eterminer la quantit´e optimale, raisonnons sur une valeur quelconque de q, par exemple, q = 400. Le nombre moyen de commandes par an vaut : Ic (q) =
D 2400 = =6 q 400
D’o`u le coˆut de commande : cc Ic (q) = cc
D 2 400 = 300 = 1 800 euros. q 400
Passons maintenant au calcul du stock moyen poss´ed´e. Pour minimiser le coˆut de possession, on passe commande (voir section pr´ec´edente) de mani`ere a` ce que le stock soit nul au moment o`u arrivent les nouveaux articles. Le stock varie donc entre 400 et 0. Le stock moyen poss´ed´e vaut donc : q 400 = . 2 2 Le coˆut annuel de possession vaut donc : Ip =
cp Ip (q) = 6
400 = 1 200 euros. 2
D’o`u le coˆut annuel de gestion : C(q = 400) = 6
400 2 400 + 300 = 3 000 euros. 2 400
Nous pouvons maintenant faire une mod´elisation du probl`eme pour une quantit´e command´ee quelconque q. On cherche donc a` d´eterminer la valeur de la seule variable de d´ecision, c’est-`a-dire q, la commande p´eriodique, qui minimise le coˆut de gestion qui ne comprend que deux termes : C(q) = cp Ip (q) + cc Ic (q) On peut g´en´eraliser les calculs de l’exemple ci-dessus. On obtient : C(q) = cp Ip (q) + cc Ic (q) q D = cp + cc 2 q Il est facile de calculer l’optimum d’une telle fonction. Il suffit d’annuler sa d´eriv´ee premi`ere : 1 D C (q ∗ ) = cp − cc ∗2 = 0 2 q
Section 4.3. D´etermination de la quantit´e ´economique de commande
63
D’o`u le point optimum :
∗
q =
2Dcc cp
(4.2)
Cette quantit´e est appel´ee quantit´e de Wilson. V´erifions qu’il s’agit bien d’un minimum en calculant la d´eriv´ee seconde : D C”(q) = 2cc 3 > 0 q Remarquez qu’au point optimum, on a e´ galit´e des couts ˆ de commande et de possession. En effet : D D cc Ic (q ∗ ) = cc = cc 2Dc = c q q∗ cp Ip (q ∗ ) = cp = cp 2
cp
2Dcc cp
2
Dcc cp 2
=
Dcc cp 2
Appliquons ceci a` l’exemple num´erique. La quantit´e e´ conomique de commande vaut donc :
q∗ =
2Dcc = cp
2 2 400 300 = 489, 9 ≈ 490 6
Examinons les cons´equences de la politique optimale. 1. Le stock moyen d´etenu vaudra : Ip (q ∗ ) =
490 q∗ = = 245. 2 2
2. le nombre moyen annuel de commandes vaudra : Ic (q ∗ ) =
D 2 400 = = 4, 898 ∗ q 490
3. Le coˆut annuel de gestion vaudra : C(q ∗ ) = cp Ip (q ∗ ) + cc Ic (q ∗ ) 2.400 490 + 300 = 2 939, 39 euros. = 6 2 490 4. La marge b´en´eficiaire nette se calcule par la formule : B(q ∗ ) = mu D − C(q ∗ ) = 10 × 2.400 − 2939, 39 = 21.060, 61 euros.
Chapitre 4. La gestion par point de commande
64
4.4
Cas d’une demande al´eatoire
Rappelons les hypoth`eses de base de la gestion par point de commande en univers certain : • On a une demande certaine uniform´ement r´epartie sur l’ann´ee; • On a un d´elai de livraison certain. Nous allons g´en´eraliser ce mod`ele de la mani`ere suivante : • On suppose que la demande est connue en probabilit´e mais reste statique, c’est-`a-dire que les caract´eristiques de la distribution restent stables dans le temps. • Nous maintenons l’hypoth`ese d’un d´elai d’obtention certain. Ce qui est le plus souvent le cas. Nous illustrons ce cas sur l’exemple introductif, a` savoir la vente d’ustensiles de cuisine mais en consid´erant cette fois que la demande annuelle suit une normale de moyenne 2 400 et d’´ecart type 189,74. Le coˆut de rupture vaut la marge qui est ici de 10 euro. Le coˆut de possession annuel reste de 6 euro. Le coˆut unitaire de commande reste de 300 euro. Passons au probl`eme de la d´etermination de q et s. Tout d’abord, remarquons que pendant le d´elai d’obtention de 20 jours la demande est al´eatoire. Calculons les param`etres de sa distribution. Tout d’abord, le d´elai d’obtention de 20 jours s’exprime en fraction d’ann´ee comme : 20 ann´ees. L= 288 La demande XL en 20 jours suit une loi Normale • de moyenne : µL = Lµ =
20 × 2 400 = 167 288
• de variance : σL2 = Lσ 2 =
20 × (189, 74)2 . 288
En effet, les param`etres de la demande durant 20 jours se d´eduisent des param`etres des ventes annuelles en multipliant la moyenne et la variance (et non l’´ecart type) par L. Donc, on obtient un e´ cart type de :
σL =
20 × 189, 74 = 50. 288
Section 4.4. Cas d’une demande al´eatoire
4.4.1
65
D´etermination de q et s
La fonction de cout ˆ a` minimiser fait intervenir les trois variables d’´etat que sont : • le nombre moyen de commandes, Ic ; • le stock moyen annuel, Ip ; • la rupture moyenne annuelle, Ir . C(q, s) = cc Ic (q, s) + cp Ip (q, s) + cr Ir (q, s) Nous allons obtenir une solution approch´ee au probl`eme en effectuant une d´etermination ind´ependante de s et de q en se basant sur l’observation suivante. Dans l’expression de C, le nombre moyen de commande d´epend essentiellement de la quantit´e command´ee q tandis que le nombre moyen de ruptures d´epend essentiellement du point de commande s. On peut donc r´ecrire cette expression comme : C(q, s) = cc Ic (q) + cp Ip (q, s) + cr Ir (s) On voit que le terme qui lie le probl`eme en la variable q et le probl`eme en la variable s est le stock moyen poss´ed´e Ip qui d´epend a` la fois de q et de s. On va d´eterminer une solution approch´ee en s´eparant le probl`eme a` deux variables en deux probl`emes a` une variable de la mani`ere suivante. On va r´esoudre ind´ependamment les deux probl`emes suivant : 1. D´eterminer la quantit´e e´ conomique q en arbitrant entre le coˆut de commande et le coˆut de possession a` partir de la demande moyenne. 2. D´eterminer le point de commande s en arbitrant entre le coˆut de rupture et le coˆut de possession en utilisant la gestion calendaire pendant le d´elai d’obtention L, en retenant comme s le niveau de recompl`etement optimal. Le probl`eme de la d´etermination de la quantit´e e´ conomique de commande n’est rien d’autre que le probl`eme e´ tudi´e en univers certain si l’on remplace la demande annuelle certaine par la demande annuelle moyenne : D = µ = 2 400. En minimisant le coˆut de gestion : C(q) = cc Ic (q) + cp Ip (q), la solution trouv´ee dans le cas certain e´ tait de : q ∗ = 490.
Chapitre 4. La gestion par point de commande
66
Le probl`eme de la d´etermination du stock de s´ecurit´e est quant a` lui r´esolu en prenant pour point de commande s le niveau de recompl`etement S qui minimise le coˆut d’une gestion calendaire durant le d´elai d’obtention L : C(S) = cp Ip (S) + cr Ir (S) avec Ir (S), le nombre moyen d’articles non fournis durant L et Ip (S), le stock moyen poss´ed´e durant L. niveau du stock 490
q =490
q =490
q =490
s
L
L
temps
q D
Figure 4.3: Point de commande en univers al´eatoire Remarquez qu’un article en stock en fin du d´elai d’obtention (fin L) correspond a` une immobilisation sur toute la dur´ee d’´ecouler q, soit durant Dq ann´ee, et non sur les seuls 20 jours du d´elai d’obtention L. Le coˆut unitaire de possession est donc de : q cp = cp = 6 × 0, 2042 = 1, 225 euros. D En effet, un article encore en stock a` l’issue des 20 jours du d´elai d’obtention augmentera d’une unit´e la valeur du stock durant toute la dur´ee d’´ecoulement de la suivante commande (voir figure 4.3). En utilisant la gestion calendaire, on d´eduit : cp 1, 225 P (X > s ) = = = 0, 115 cr + cp /2 10 + 1, 225/2 ∗
La demande X durant le d´elai d’obtention de 20 jours est une N(167,50). On lit dans la table de la normale N(0,1) : 1, 2 =
s∗ − 167 50
Section 4.4. Cas d’une demande al´eatoire D’o`u finalement
4.4.2
67
s∗ = 227.
Cons´equences e´ conomiques du choix
Le stock de s´ecurit´e est d´efini comme diff´erence entre le niveau de recompl`etement et la demande moyenne durant L et vaut ici : 227 − 167 = 60 articles. Le nombre moyen de commandes d´epend uniquement de q et se calcule par la formule : D 2400 = = 4, 898 commandes. Ic (q) = q 490 Le nombre moyen de ruptures par commande, not´e Irc , se calcule par la formule de la gestion calendaire : Irc (s = 227) = σL × g(tS = 1, 2) = 50 × 0, 0561 = 2, 81 Ce nombre est a` multiplier par le de commandes par an, Ic (q). Le nombre moyen de ventes manqu´ees par an s’´el`eve donc a` : Ir (s, q) = Ic (q) × Irc (q) = 4, 898 × 2, 81 = 13, 76 articles Le calcul du stock moyen poss´ed´e est plus compliqu´e car il d´epend a` la fois de s et de q. On peut montrer : 1. en cas de ventes manqu´ees perdues (voir Giard [4], chapitre XII, relation 275, page 836) que : q I c (s) + (s − DL) + r 2 2 Le coˆut de gestion correspondant vaut : Ip (s, q) =
Irc (s) D q D C(s, q) = cc + cp ( + s − DL + ) + cr ( Irc (s)) q 2 2 q 2. en cas de ventes manqu´ees diff´er´ees (voir Giard [4], chapitre XII, relation 286, page 840) que : Ip (s, q) =
q DL c + (s − DL) + I (S) 2 2q r
o`u Irc (s) note le nombre moyen de ruptures par cycle (durant le d´elai d’obtention). Le coˆut de gestion correspondant vaut : C(s, q) = cc
DL c q D D + cp ( + s − DL + Ir (S)) + cr ( Irc (s)) q 2 2q q
68
Chapitre 4. La gestion par point de commande
Dans le cas pr´esent, les ventes manqu´ees sont suppos´ees perdues pour le supermarch´e et donc le stock moyen poss´ed´e se calcule par la formule suivante : q Irc (s) + (s − DL) + Ip (s, q) = 2 2 490 2, 81 = + 60 + 2 2 = 306, 405 On en d´eduit le cout ˆ de gestion total suivant : C(s, q) = cc Ic (q) + cp Ip (q, s) + cr Ic (q)Irc (s) 2 400 2 400 = 300 + 6 × 306, 4 + 10 2, 81 490 490 = 1 469, 39 + 1 838, 43 + 137, 63 = 3 445, 45 La marge nette moyenne annuelle est obtenue en soustrayant a` la marge b´en´eficiaire sur la demande moyenne le coˆut de gestion annuel : B(s, q) = mu D − C(s, q) = 24 000 − 3 445, 45 = 20 554, 54 On utilise e´ galement un indicateur appel´e le taux de rotation du stock. D´efinition 4.1 On d´efinit le taux de rotation du stock comme le quotient de la demande moyenne sur le stock moyen poss´ed´e. Dans le cas de l’exemple, il se calcule comme suit : r=
2 400 D = 7, 83 = Ip 306, 4
Ce qui s’interpr`ete en disant que le stock tourne environ 8 fois dans l’ann´ee. Il correspond au nombre de fois qu’il faudrait r´eapprovisionner le stock si on le r´eapprovisionnait a` hauteur de son niveau moyen. Il est a` remarque que l’id´ee tr`es largement r´epandue selon laquelle “plus le niveau de rotation est e´ lev´e plus le stock est bien g´er´e” est fausse. En effet, un niveau e´ lev´e de rotation correspond a` un faible niveau de stock poss´ed´e mais correspond a` un coˆut de passation de commande e´ lev´e. Le niveau obtenu ici est le niveau optimal qui r´esulte de l’arbitrage entre les diff´erents coˆuts.
Section 4.5. Exercices
4.5
69
Exercices
4.1. Stock de distribution. Un distributeur Apple a une demande annuelle de 1000 iPod que l’on suppose, pour la facilit´e, r´epartie uniform´ement sur l’ann´ee qui compte 250 jours d’ouverture du magasin. L’approvisionnement aupr`es du grossiste se fait en 5 jours ouvrables. Le coˆut de livraison d’une commande est de 10 euro. L’appareil est achet´e 100 euro hors tva et revendu 125,84 euro tva de 21 % comprise. Le taux d’opportunit´e du distributeur est particuli`erement faible (0,5 % l’an). Pour le moment, le distributeur commande 100 iPod lorsque son stock en magasin passe en dessous de 100 articles. (a) Quelle est la politique de gestion de stock actuelle ? Donnez l’appellation courante de cette politique et la valeur de ses param`etres. (b) Calculez le coˆut de d´etention en stock durant un an d’un iPod sachant que la soci´et´e ne paie pas la tva a` son fournisseur. (c) Calculez la demande durant le d´elai d’obtention. (d) Tracez l’´evolution du stock au cours d’une ann´ee sachant qu’il y a 100 iPod en stock au premier janvier. (e) En d´eduire le coˆut de gestion annuel. (f) En gardant le mˆeme principe de gestion de stock, a` savoir de commander lorsque le stock passe en dessous d’une quantit´e donn´ee, aidez le distributeur a` diminuer son coˆut de gestion annuel du stock. Que proposez-vous comme nouvelle quantit´e a` commander ? (g) Que proposez-vous comme seuil d´eclenchant la commande ? (h) Quelle est l’augmentation de profit du distributeur avec votre politique ? 4.2. Timbrage d’envois multiples. Une entreprise envoyant r´eguli`erement des courriers publicitaires a` ses clients fait appel a` une soci´et´e ext´erieure pour le timbrage des enveloppes. Outre le prix du timbre (3 euro par enveloppe), cette soci´et´e ext´erieure demande 300 euro pour le travail quel que soit le nombre d’enveloppes a` timbrer. On suppose que le nombre d’enveloppes a` envoyer sur l’ann´ee (qui comporte 50 semaines) suit une loi normale de moyenne de 30.000 et d’´ecart type 500. Si on tombe a` court, on peut acheter les enveloppes pr´etimbr´ees a` la pi`ece a` la poste a` 3,5 euro l’unit´e. Le d´elai de r´ealisation du timbrage est d’une semaine. Le taux d’int´erˆet annuel est de 6 %. (a) Quel est la quantit´e optimale d’enveloppes affranchies a` commander aupr`es de la soci´et´e sp´ecialis´ee en timbrage ?
70
Chapitre 4. La gestion par point de commande (b) A partir de quel niveau de stock d’enveloppes affranchies faut-il repasser commande ?
4.3. Ventes de tablettes. Un distributeur de salle de bain doit d´ecider de la commande de tablettes de 60 cm a` faire aupr`es de son fournisseur. On suppose que la demande annuelle de tablettes suit une loi normale de variance 192. Le distributeur vend en moyenne 2 400 tablettes par an a` un prix de d´etail de 26 euro, lui-mˆeme les ach`ete aupr`es de son fournisseur 20 euro pi`ece. Le d´elai d’obtention est d’un mois. Le coˆut de passation d’une commande est de 160 euro. Le taux d’opportunit´e annuel est de 24 %. (a) Calculer la quantit´e optimale a` commander r´eguli`erement. (b) Quel doit eˆ tre le niveau de stock qui d´eclenche la commande ? (c) Quel est le nombre moyen de clients qui ne peuvent eˆ tre servis pendant le d´elai d’un mois entre le lancement d’une commande et sa livraison ? (d) Quelle est l’esp´erance de la marge annuelle nette sur ce produit ? Les ventes manqu´ees sont perdues.
Partie II Les d´ecisions tactiques
71
Chapitre 5 La planification de la production 5.1
Introduction
La planification de la production consiste en la r´egulation a` moyen terme de la production. C’est donc une d´ecision tactique. Elle fait le lien entre les d´ecisions op´erationnelles a` court terme et les d´ecisions strat´egiques a` long terme. La planification de la production s’adresse uniquement au cas de la production en s´erie. Elle ne s’applique donc pas au cas de la production en s´erie unitaire. Il existe deux types d’approches en planification de la production : • la planification des besoins en composants qui vise a` e´ tablir une programmation pr´evisionnelle des composants; • la planification juste a` temps dont le principe fondamental est de produire la quantit´e strictement n´ecessaire aux besoins imm´ediats du client. La planification des besoins en composants ou M.R.P. (Material Requirement Planning) cherche a` e´ tablir la programmation de la production sur base d’un syst`eme d’information. Partant des donn´ees physiques (stocks disponibles, livraisons attendues, demandes pr´evisionnelles, capacit´es de production,. . . ) et des donn´ees comptables (coˆuts de production, d’approvisionnement, de rupture), on e´ tablit un plan de production qui d´etermine pour chaque p´eriode les quantit´es a` produire par produit, les quantit´es fabriqu´ees dans chaque centre productif, le niveau de stock en produits semi-finis et finis et l’utilisation des facteurs travail et machines. L’utilisation des techniques d’optimisation aboutit a` une programmation pr´evisionnelle : on utilisera la programmation dynamique lorsque l’on a une demande dynamique certaine ne portant que sur un seul article et la programmation lin´eaire dans le cas statique portant sur plusieurs produits.
73
Chapitre 5. La planification de la production
74
5.2
La planification des besoins en composants
Illustrons le principe de la planification des besoins en composants sur un exemple tir´e de Giard [4] : il s’agit de l’assemblage de trois v´ehicules a` moteur. La planification des besoins en composants n´ecessite l’existence des e´ l´ements suivants : 1. Une nomenclature compl`ete : c’est-`a-dire une codification de tous les composants qui permet d’´ecrire le sch´ema arborescent du tableau 5.1. Dans l’exemple, pour faire un v´ehicule (T27), il faut une boˆıte de vitesse (E1001), elle mˆeme constitu´ee d’un engrenage (E2010), lui-mˆeme constitu´e de divers e´ l´ements (E3047 et E3052). Le chiffre entre parenth`eses indique le nombre de composants n´ecessaires pour faire le sous-ensemble. Par exemple, il faut deux E3047 et deux E3052 pour faire un sous-ensemble E2040. Niveau 0 -E1001 (1) T27 -E1010 (1) ... -E1001 (1) T28 -E1020 (1) ... -E1004 (1) T29 -E1020 (1) ...
Niveau 1
E1001
E1004
-E2010 (1) ... -E2040 (1) ...
Niveau 2 -E3047 (1) E2010 -E3052 (1) ... -E3047 (2) E2040 -E3052 (2) ...
...
...
Tableau 5.1: D´ecomposition en composants. 2. Un plan directeur de production : le plan directeur de production est le plan de mise a` disposition de produits finaux. Il peut e´ galement comporter le plan de mise a` disposition de sous-ensembles ou de composants vendus comme pi`eces d´etach´ees. Le plan directeur de production est donn´e au tableau 5.2. Il pr´evoit, outre la mise a` disposition des produits finaux, les besoins de sous-ensembles et de composants pour faire des r´eparations. 3. Un syst`eme d’information sur les stocks qui permet de connaˆıtre l’´etat exact du stock de chaque composant en d´ebut de chaque p´eriode. Les stocks de fin de p´eriode 15, not´es SF15 , sont donn´es au tableau 5.3. 4. Un fichier des livraisons attendues : c’est-`a-dire donnant le nombre de pi`eces r´esultant de d´ecisions de mise en production du pass´e qui n’ont pas
Section 5.2. La planification des besoins en composants
P´eriode 16 17 Demande T 27 7 Demande T 28 10 Demande T 29 4 Demande E1001 0 1 Demande E1004 0 0 Demande E1010 0 0 Demande E1020 0 0 Demande E2010 0 0 Demande E2040 0 2 Demande E3047 0 0 Demande E3052 0 2
18 11 9 8 2 1 0 0 2 0 1 0
19 6 4 3 3 4 0 0 1 2 1 2
20 21 15 8 10 7 5 12 0 2 0 5 0 0 0 0 4 0 1 4 2 0 3 1
22 23 24 11 12 7 14 8 8 2 8 7 1 4 0 2 2 0 0 0 0 0 0 0 1 2 3 1 2 3 1 0 2 1 2 1
Tableau 5.2: Plan directeur de production.
´ ement SF15 El´ T27 0 T28 0 T29 0 E1001 17 E1004 4 E1010 0 E1020 0 E2010 10 E2040 1 E3047 15 E3052 0
LA16 0 0 0 0 0 0 0 20 0 0 15
LA17 0 0 0 30 11 0 0 0 17 0 0
Tableau 5.3: Stock initiaux et livraisons attendues.
75
Chapitre 5. La planification de la production
76
encore e´ t´e livr´ees. Les livraisons attendues de d´ebut de p´eriode t, not´ees LAt , sont donn´ees au tableau 5.3. 5. Un fichier des d´elais d’obtention : le d´elai d’obtention e´ tant la somme des temps op´eratoire, de lancement de production et d’attente entre deux productions. Les d´elais d’obtention sont donn´es au tableau 5.4 o`u sont e´ galement indiqu´es les temps op´eratoires unitaires (c’est-`a-dire le temps d’assemblage ou d’usinage d’une unit´e du composant). ´ ement D´elai d’obtention Temps op´eratoire El´ T 27 1 semaine 0,5 heure T 28 1 semaine 1 heure T 29 1 semaine 2 heures E1001 1 semaine 0,5 heure E1004 2 semaines 1 heure E1010 1 semaine 3 heures E1020 2 semaines 4 heures E2010 1 semaine 1 heure E2040 2 semaines 0,5 heure E3047 1 semaine 0,5 heure E3052 1 semaine 0,20 heure Tableau 5.4: D´elais d’obtention et temps op´eratoires. 6. Fichier des capacit´es des centres de production pour chaque p´eriode de l’horizon de planification. Celui-ci est donn´e au tableau 5.5. P´eriode
16
17
18
19
20
21
22
23
Assemblage de T 27, T28 et T29 50
50
60
65
55
50
50
50
Assemblage de E1001 et E1004
20
12
24
20
25
22
22
20
Assemblage de E1010 et E1020
20
20
20
20
20
20
20
20
Assemblage de E2010 et E2040
28
30
22
21
24
21
22
23
Assemblage de E3047 et E3052
32
30
32
33
31
31
32
31
Tableau 5.5: Capacit´es de production. 7. Existence de r`egles de priorit´e en cas de surcharge. Ici, on va utiliser comme r`egle d’avancer les productions constituant le stock de valeur la plus
Section 5.2. La planification des besoins en composants
77
faible. Pour cela, on a besoin des donn´ees de coˆuts de fabrication qui se r´eduisent ici a` un coˆut de mati`ere et un coˆut de main d’œuvre. Le coˆut de la mati`ere premi`ere de chaque composant est donn´e au tableau 5.6. Il faut comprendre ces donn´ees de la mani`ere suivante : il s’agit de la somme du coˆut de mati`ere ajout´ee a` l’´etape d’assemblage du produit et du coˆut des composants (le calcul a d´ej`a e´ t´e fait). Le coˆut horaire de la main d’œuvre ´ ement Coˆut de mati`ere El´ T 27 303 euro T 28 363 euro T 29 421 euro E1001 58 euro E1004 71 euro E1010 30 euro E1020 40 euro E2010 25 euro E2040 53 euro E3047 1 euro E3052 2 euro Tableau 5.6: Coˆut de la mati`ere et des composants. d´epend des ateliers. Ces coˆuts sont donn´es au tableau 5.7. Remarquez que E1001 et E1004, d’une part, et E1010 et E1020, d’autre part, sont assembl´es dans deux ateliers s´epar´es. P´eriode
coˆut horaire de l’atelier
Assemblage de T 27, T28 et T29
100 euro
Assemblage de E1001 et E1004
70 euro
Assemblage de E1010 et E1020
65 euro
Assemblage de E2010 et E2040
28 euro
Assemblage de E3047 et E3052
30 euro
Tableau 5.7: Coˆut horaire de l’atelier. La logique de calcul de la MRP consiste a` l’utilisation en cascade • de la d´etermination des besoins nets d’un composant; • de la mani`ere de couvrir ces besoins.
Chapitre 5. La planification de la production
78
5.3
D´etermination des besoins nets d’un composant
Illustrons ceci sur l’exemple du composant de niveau un E1001. Pour ce composant, sa demande e´ mane des demandes de T27 et T28 (voir nomenclature 5.1). Au niveau 0, les lancements programm´es sont d´etermin´es conform´ement au plan directeur de production du tableau 5.2. Le d´elai d’assemblage est d’une semaine pour les trois mod`eles (voir tableau 5.4). Au niveau z´ero, il n’y a pas de stock initial ni de livraisons attendues (voir tableau 5.3). On fait donc du justea` -temps, c’est-`a-dire que l’on met en production exactement la demande. Ceci conduit aux lancements de productions de niveau z´ero du tableau 5.8. T 27, T 28, T29
16
17
18
19
20
21
22
23
Lancements T 27
7
11
6
15
8
11
12
7
Lancements T 28 10
9
4
10
7
14
8
8
Lancements T 29
8
3
5
12
2
8
7
4
Tableau 5.8: Lancements de production de niveau z´ero. On peut en d´eduire les besoins bruts du composant E1001 puisqu’il est utilis´e a` raison de un par T27 et de un par T28. A ces besoins bruts pour assemble du T27 et du T28, il faut ajouter les besoins de E1001 comme pi`eces d´etach´es (donn´es au plan directeur de production 5.2). Les besoins bruts du composant E1001 sont calcul´es au tableau 5.9. D´efinition 5.1 On appelle besoins nets d’un composant les besoins non couverts par le stock initial ou les livraisons attendues. Ces besoins bruts ne correspondent pas a` la production qu’il est n´ecessaire de mettre en route, compte tenu du stock initial disponible pour cette r´ef´erence et des e´ ventuelles livraisons attendues. Les livraisons attendues sont des quantit´es r´esultant de pr´ec´edents ordres de lancement de production mais qui n’ont pas encore e´ t´e livr´ees. Le stock initial en p´eriode 16 est le stock final de p´eriode 15. Ces informations sont reprises au tableau 5.9. En p´eriode 16, on vide le stock pour satisfaire les 17 de besoins bruts de la p´eriode. En p´eriode 17, on livre 30 alors que les besoins ne sont que de 21. Il restera donc 9 en stock. A ces deux p´eriodes, il n’y a donc pas de besoins nets. Par contre a` la p´eriode suivante, la p´eriode 18, le besoin brut est de 12, on ne livre rien et le stock disponible est de 9. Il manque 3 unit´es qui constitue donc le besoin
Section 5.3. D´etermination des besoins nets d’un composant
E1001
16
17
18
19
20
21
22
23
24
Besoins Bruts pour T27
7
11
6
15
8
11
12
7
-
Besoins Bruts pour T28
10
9
4
10
7
14
8
8
-
Besoins de E1001
0
1
2
3
0
2
1
4
-
Besoins Bruts totaux
17
21
12
28
15
27
21
19
-
Livraisons attendues
0
30
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
3
28
15
27
21
19
-
Stock final Besoins nets
15
79
17
Tableau 5.9: Besoins nets en composant E1001. net de cette p´eriode. A partir de la p´eriode 19, comme le stock est vide et qu’il n’y a plus de livraisons, les besoins nets correspondent au besoins bruts. Formalisons math´ematiquement la d´etermination des besoins nets. Deux cas sont possibles : Cas 1 : Le disponible (somme du stock de fin de p´eriode pr´ec´edente et des livraisons de d´ebut de p´eriode) est suffisant pour couvrir les besoins bruts. Dans ce cas, le besoin net, not´e BNt , est nul et le stock final de p´eriode t, not´e SFt , se calcule comme le stock en fin de p´eriode pr´ec´edente, accru des livraisons attendues de p´eriode t, not´ees LAt , et diminu´e de la demande de la p´eriode (les besoins bruts, not´es BBt ) :
Si SFt−1 + LAt ≥ BBt , alors
BNt = 0 SFt = SFt−1 + LAt − BBt
Ce cas est illustr´e par les p´eriodes 16 et 17 pour le composant E1001. Cas 2 : Le disponible (somme du stock de fin de p´eriode pr´ec´edente et des livraisons de d´ebut de p´eriode) est in suffisant pour couvrir les besoins bruts. Dans ce cas, on a des besoins nets a` couvrir par de nouveaux ordres de fabrication. Les besoins nets de la p´eriode t, not´es BNt , se calculent comme la diff´erence entre les besoins bruts et le disponible (somme des livraisons attendues et du niveau initial du stock de la p´eriode) :
Si BBt ≥ SFt−1 + LAt , alors
BNt = BBt − LAt − SFt−1 SFt = 0
Ce cas est illustr´e par les p´eriodes 18 a` 23 pour le composant E1001 (voir tableau 5.9).
Chapitre 5. La planification de la production
80
5.3.1
D´etermination de la couverture des besoins nets
En planification de la production, on suppose que les besoins nets sont connus suffisamment a` l’avance pour e´ viter toute rupture. La d´etermination de la quantit´e a` livrer pour satisfaire les besoins nets repose donc sur un arbitrage entre • les coˆuts de lancement de production; • les coˆuts de possession. La programmation dynamique permet de faire cet arbitrage. A ce niveau-ci, nous allons faire du lot par lot, ce qui conduit aux lancements de production du tableau 5.10. E1001
16
17
18
19
20
21
22
23
Livraisons attendues
0
30
0
0
0
0
0
0
Besoins nets
0
0
3
28
15
27
21
19
Lancements de production 30
3
28
15
27
21
19
-
Tableau 5.10: Lancement de production en composant E1001. Pour d´eterminer les lancements de production, on a tenu compte du d´elai d’obtention, suppos´e ici de 1 semaine. Remarquez que le lancement de 30 en p´eriode 16 provient non pas d’une livraison programm´ee de p´eriode 17 mais bien d’une livraison attendue de p´eriode 17. Nous pr´esentons a` la section suivante d’autres techniques de d´etermination des lancements de production. Remarquez e´ galement qu’ici on a fait l’hypoth`ese, pour d´eterminer les lancements de production, qu’il n’y avait pas de probl`emes de capacit´e. Sans quoi, il faut proc´eder a` l’ajustement charge capacit´e avant de passer aux calculs du niveau suivant. Nous verrons ce point dans la derni`ere section de ce chapitre.
5.3.2
Utilisation en cascade de la logique de calcul
Maintenant que cet e´ ch´eancier de lancement de production est d´etermin´e pour le composant de niveau un E1001, il va eˆ tre utilis´e a` un niveau sup´erieur pour calculer l’´ech´eancier des demandes brutes des composants de niveau sup´erieur. Ainsi, le composant E1001 (par exemple, une boˆıte de vitesse) utilise le composant de niveau un E2010 (un engrenage). On applique la d´emarche de calcul que nous venons de voir en cascade :
Section 5.3. D´etermination des besoins nets d’un composant
81
• a` toutes les r´ef´erences de niveau 0 (produits finaux); • puis a` celles de niveau 1; • puis a` celles de niveau 2, . . . etc. Illustrons ceci sur l’exemple. Au niveau 0, les lancements programm´es (cfr tableau 5.11) sont d´etermin´es conform´ement au plan directeur de production. T27, T28, T29 16 BBt de T27
-
LAt de T27
17
18
19
20
21
22
23
24
7
11
6
15
8
11
12
7
0
0
0
0
0
0
0
0
SFt de T27
0
0
0
0
0
0
0
0
0
BNt de T27
-
7
11
6
15
8
11
12
7
LPt de T27
7
11
6
15
8
11
12
7
-
BBt de T28
-
10
9
4
10
7
14
8
8
0
0
0
0
0
0
0
0
LAt de T28 SFt de T28
0
0
0
0
0
0
0
0
0
BNt de T28
-
10
9
4
10
7
14
8
8
LPt de T28
10
9
4
10
7
14
8
8
-
BBt de T29
-
4
8
3
5
12
2
8
7
0
0
0
0
0
0
0
0
LAt de T29 SFt de T29
0
0
0
0
0
0
0
0
0
BNt de T29
-
4
8
3
5
12
2
8
7
LPt de T29
4
8
3
5
12
2
8
7
-
Tableau 5.11: Lancements programm´es de niveau z´ero. Au niveau 1, les lancements du composant E1001, de d´elai de fabrication L=1, sont d´etermin´es conform´ement au tableau 5.12. Ce composant est utilis´e a` raison d’une unit´e par produit T27 et d’une unit´e par produit T28. Toujours au niveau 1, les lancements du composant E1004 (de d´elai de fabrication L=2) sont d´etermin´es conform´ement au tableau 5.13. Ce composant est utilis´e a` raison d’une unit´e par produit T29.
Chapitre 5. La planification de la production
82
E1001
16
17
18
19
20
21
22
23
BBt pour T27
7
11
6
15
8
11
12
7
BBt pour T28
10
9
4
10
7
14
8
8
BBt de E1001
0
1
2
3
0
2
1
4
BBt totaux
17
21
12
28
15
27
21
19
LAt
0
30
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
3
28
15
27
21
19
30
3
28
15
27
21
19
-
SFt
15
17
BNt LPt
0
Tableau 5.12: Lancements en composant E1001.
E1004
16
17
18
19
20
21
22
23
BBt pour T29
4
8
3
5
12
2
8
7
BBt de E1004
0
0
1
4
0
5
2
2
BBt totaux
4
8
4
9
12
7
10
9
LAt
0
11
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
9
12
7
10
9
1
9
12
7
10
9
-
-
SFt
15
4
BNt LPt
11
Tableau 5.13: Lancements en composant E1004.
Section 5.3. D´etermination des besoins nets d’un composant
83
Au niveau 2, les lancements du composant E2010 (de d´elai de fabrication L=1) sont d´etermin´es conform´ement au tableau 5.14. Ce composant est utilis´e a` raison E2010
16
17
18
19
20
21
22
23
BBt pour E1001
30
3
28
15
27
21
19
-
BBt de E2010
0
0
2
1
4
0
1
2
BBt totaux
30
3
30
16
31
21
20
-
LAt
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-
0
3
30
16
31
21
20
-
3
30
16
31
21
20
-
-
SFt
15
10
BNt LPt
20
Tableau 5.14: Lancements en composant E2010. d’une unit´e par composant de niveau 1 E1001. Toujours au niveau 2, les lancements du composant E2040 (de d´elai de fabrication L=2) sont d´etermin´es conform´ement au tableau 5.15. Ce composant est E2040
15
16
17
18
19
20
21
22
BBt pour E1004 11
1
9
12
7
10
9
-
BBt de E2040
-
0
2
0
2
1
4
1
BBt totaux
-
1
11
12
9
11
13
-
0
17
0
0
0
0
0
0
6
0
0
0
0
0
6
9
11
13
-
11
13
-
-
-
LAt SFt
1
BNt LPt
17
6
9
Tableau 5.15: Lancements en composant E2040. utilis´e a` raison d’une unit´e par composant de niveau un E1004. Au niveau 3, les lancements du composant E3047 (de d´elai de fabrication L=1) sont d´etermin´es conform´ement au tableau 5.16. Ce composant est utilis´e a` raison d’une unit´e par composant de niveau deux E2010 et de deux unit´es par composant de niveau deux E2040.
Chapitre 5. La planification de la production
84 E3047
15
16
17
18
19
20
21
BBt pour E2010 20
3
30
16
31
21
20
BBt pour E2040 34
12
18
22
26
-
-
BBt de E3047
-
0
0
1
1
2
0
BBt Totaux
-
15
48
39
58
-
-
0
0
0
0
0
0
0
0
0
0
0
0
BNt
0
48
39
58
-
-
LPt
48
39
58
-
-
-
LAt SFt
15
Tableau 5.16: Lancements en composant E3047. Toujours au niveau 3, les lancements du composant E3052 (de d´elai de fabrication L=1) sont d´etermin´es conform´ement au tableau 5.17. Ce composant est e´ galement utilis´e a` raison d’une unit´e par composant de niveau deux E2010 et de deux unit´es par composant de niveau deux E2040. E3052
15
16
17
18
19
20
21
BBt pour E2010 20
3
30
16
31
21
20
BBt pour E2040 34
12
18
22
26
-
-
BBt de E3052
-
0
2
0
2
3
1
BBt Totaux
-
15
50
38
59
-
-
15
0
0
0
0
0
0
0
0
0
0
0
0
50
38
59
-
-
50
38
59
-
-
-
LAt SFt
0
BNt LPt
15
Tableau 5.17: Lancements en composant E3052. Il faut maintenant voir si la capacit´e est suffisante a` chaque niveau pour assembler les v´ehicules. Il est a` remarquer que l’on a int´erˆet a` v´erifier si cette capacit´e est suffisante avant de passer au calcul du niveau sup´erieur. En effet, si on proc`ede a` un ajustement des lancements de production, par exemple au niveau 1, cela remettra en cause le calcul des besoins du niveau 2. Mais avant cela, pr´esentons quelques autres r`egles pour d´eterminer les lancements de production.
Section 5.4. Autres r`egles de calcul des lancements de production
5.4
85
Autres r`egles de calcul des lancements de production
Jusqu’`a pr´esent, nous avons adopt´e la technique du lot par lot pour la d´etermination des lancements de production. Autrement dit, on lance en production exactement les besoins nets en d´ecalant pour tenir compte du d´elai d’obtention. Ce cas est illustr´e au tableau 5.18 pour l’exemple du composant E1001. P´eriode
16
17
18
19
20
21
22
23
Livraisons attendues
0
30
0
0
0
0
0
0
Besoins nets
0
0
3
28
15
27
21
19
Lancements de production 30
3
28
15
27
21
19
-
Tableau 5.18: Lancement de production lot par lot. Il peut y avoir des contraintes techniques ou e´ conomiques qui conduisent a` adopter des r`egles de gestion diff´erentes : • R`egle de la quantit´e fixe. Parfois, pour des raisons techniques, on ne peut produit qu’une quantit´e fixe (cuve enti`ere). Dans ce cas, on la quantit´e mise en œuvre est toujours la mˆeme. Supposons a` titre d’exemple, une quantit´e fixe de 30. Ce cas est illustr´e au tableau 5.19. On remarquera que le nombre de mise en route de production est moins e´ lev´e mais que le niveau de possession du stock augmente fortement. P´eriode
16
17
18
19
20
21
22
23
Livraisons attendues
0
30
0
0
0
0
0
0
Besoins nets
0
0
3
28
15
27
21
19
Lancements de production 30
30
30
0
30
30
0
-
27
29
14
17
26
7
Stock fin de p´eriode
Tableau 5.19: Lancement de production par quantit´e fixe. On peut e´ galement utiliser cette r`egle pour diminuer le nombre de mises en route de production (raison e´ conomique et non technique). On d´eterminera, dans ce cas, la quantit´e e´ conomique a` mettre en œuvre par la formule de Wilson.
Chapitre 5. La planification de la production
86
• R`egle de la quantit´e multiple d’un entier. Ce cas se produit dans l’industrie automobile pour le coulage des moteurs. On utilise des moules de 10 moteurs. On ne peut donc produire que par multiples de 10. Ce cas est illustr´e au tableau 5.20. P´eriode 16
17
18
19
20
21
22
23
LAt
0
30
0
0
0
0
0
0
BNt
0
0
3
28
15
27
21
19
LPt
30
10
30
10
30
20
20
-
7
9
4
7
6
7
SFt
Tableau 5.20: Lancement de production par multiples de 10. • R`egle de la quantit´e minimum. Ce cas se produit lorsqu’il y a un coˆut fixe de mise en route de la production. Pour amortir ce coˆut fixe de lancement, il faut produire au minimum 10. Mais on peut produire e´ galement 11, 12, 13 etc... Ce cas est illustr´e au tableau 5.21. P´eriode 16
17
18
19
20
21
22
23
LAt
0
30
0
0
0
0
0
0
BNt
0
0
3
28
15
27
21
19
LPt
30
10
21
15
27
21
19
-
7
0
0
0
0
0
SFt
Tableau 5.21: Lancement de production par minimum de 10.
5.5
Ajustement charge-capacit´e
Lorsque les lancements de production sont d´etermin´es, on peut calculer les charges r´esultantes pour les diff´erents ateliers. Pour que ce plan de production soit r´ealisable, il faut que la charge r´esultante respecte les capacit´es de production. Si ce n’est pas le cas, un ajustement “charge-capacit´e” est effectu´e. Reprenons le mˆeme exemple. Au niveau 0, le tableau 5.22 reprend les lancements de niveau 0.
Section 5.5. Ajustement charge-capacit´e
87
P´eriode
16
17
18
19
20
21
22
23
LPt de T27
7
11
6
15
8
11
12
7
LPt de T28
10
9
4
10
7
14
8
8
LPt de T29
4
8
3
5
12
2
8
7
heures de T27
3,5
5,5
3
7,5
4
5,5
6
3,5
heures de T28
10
9
4
10
7
14
8
8
heures de T29
8
16
6
10
24
4
16
14
charge
21,5
30,5
13
27,5
35
23,5
30
25,5
capacit´e
50
50
60
65
55
50
50
50
19,5
47
37,5
20
26,5
20
24,5
exc`es capacit´e 28,5
Tableau 5.22: V´erification de la charge au niveau z´ero. En multipliant ces lancements par les temps op´eratoires unitaires donn´es au tableau 5.4, on obtient le nombre d’heures d’assemblage pour chacun des v´ehicules. En les additionnant, on obtient la charge de l’atelier que l’on peut comparer avec la capacit´e donn´ee au tableau 5.5. On constate ici qu’il n’y a aucun probl`eme de capacit´e au niveau 0. Passons au niveau 1. Les lancements de production des sous-ensembles E1001 et E1004 assembl´es dans le mˆeme atelier sont repris au tableau 5.23. En multipliant ces lancements par les temps op´eratoires unitaires donn´es au tableau 5.4, on obtient le nombre d’heures d’assemblage pour chacun des deux sous-ensembles de niveau 1. En les additionnant, on obtient la charge de l’atelier que l’on peut comparer avec la capacit´e donn´ee au tableau 5.5. On constate ici qu’il y a un probl`eme de capacit´e en p´eriode 18. On reporte aux p´eriodes pr´ec´edentes en commen¸cant par utiliser l’exc`es de capacit´e de la p´eriode 17, le reste e´ tant produit en p´eriode 16. Il faut encore d´eterminer sur quel produit cet ajustement va porter. La r`egle adopt´ee ici est de reporter les heures constituant le stock de valeur la plus faible. Pour cela, calculons le coˆut de revient d’une unit´e de E1001 et d’une unit´e de E1004. Au coˆut de la main d’œuvre d’assemblage, il faut ajouter le coˆut de la mati`ere premi`ere ajout´ee a` l’´etape d’assemblage et le coˆut des composants : cE1001 = 0, 5 × 70 + 58 = 93 euros, cE1004 = 1 × 70 + 71 = 141 euros. Il faut se garder de conclure hˆativement qu’il convient de stocker du E1001. En
Chapitre 5. La planification de la production
88
effet, comme son temps op´eratoire unitaire est d’une demi-heure, on en assemble deux par heure tandis que pour le sous-ensemble E1004, son temps op´eratoire unitaire e´ tant d’une heure, on en assemble un par heure. On en d´eduit le coˆut de production d’une heure de chacun des sous-ensembles : cphE1001 = 93/0, 5 = 93 ∗ 2 = 186 euros/h, cphE1004 = 141/1 = 141 ∗ 1 = 141 euros/h. En conclusion, il est plus int´eressant de stocker du E1004 bien qu’il ait un coˆut de revient unitaire plus e´ lev´e ! Le temps op´eratoire unitaire e´ tant d’une heure, les 2 heures d´eplac´ees correspondent a` deux unit´es de E1004 avanc´ees aux p´eriodes 16 et 17. On obtient l’ajustement de niveau 1 illustr´e au tableau 5.23. P´eriode
16
17
18
19
20
21
22
23
LPt de E1001
30
3
28
15
27
21
19
-
LPt de E1004
1
9
12
7
10
9
-
-
heures de E1001
15
1,5
14
7,5
13,5
10,5
9,5
-
heures de E1004
1
9
12
7
10
9
-
-
charge
16
10,5
26
14,5
23,5
19,5
-
-
capacit´e
20
12
24
20
25
22
22
20
Exc`es de capacit´e
4
1,5
0
5,5
1,5
2,5
0
0
Exc`es de charge
0
0
2
0
0
0
-
-
Ajustement
+0,5
+1,5
-2
0
0
0
-
-
LPt de E1001
30
3
28
15
27
21
19
-
LPt de E1004
1,5
10,5
10
7
10
9
-
-
Tableau 5.23: Ajustement charge-capacit´e de niveau 1. On proc´edera alors de mani`ere semblable pour les niveaux sup´erieurs en partant des lancements modifi´es de niveau 1 donn´es au tableau 5.23.
Section 5.6. Exercices
5.6
89
Exercices
5.1. D´etermination des besoins nets. Une soci´et´e fabrique deux produits finis PF1 et PF2 qui se composent de sous-ensembles (S) et de pi`eces achet´ees (A). Les nomenclatures des produits finis et des sous-ensembles sont pr´esent´ees ci-dessous.
2 S1 PF1 utilise 3 S2 , 4 A3 2 A1 , S1 utilise 2 A3
PF2 utilise
S2 utilise
2 S1 , 4 A3 2 A2 . 2 A3
Les cycles de fabrication des sous-ensembles et des produits finis sont de deux semaines. Le d´elai d’approvisionnement des produits achet´es est e´ galement de deux semaines. On dispose d’un stock initial de 150 S1, de 150 S2 et de 500 A3. Il n’y a pas de livraisons attendues. Les produits finis sont fabriqu´es au lot par lot. Les sous-ensembles doivent eˆ tres fabriqu´es par lot minimum (et non n´ecessairement multiple) de 100 unit´es (on peut lancer 100, 101, 102 etc...). Les commandes enregistr´ees pour les 16 semaines a` venir pour ces produits sont indiqu´ees au tableau ci-dessous. Un chiffre absent signifie qu’il n’y a pas de commande. Sem 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 PF1 40 60 50 70 PF2 10 20 30 10 20 30 20 30 (a) Calculez les besoins nets et les lancements de production des deux produits finis. (b) Calculez les besoins nets et les lancements de production ainsi que le stock final des deux sous-ensembles. (c) D´eterminez les besoins nets du composant A3. 5.2. Importation de syst`emes Home Cin´ema. Une soci´et´e vend des ensembles Home Cin´ema compos´es d’un t´el´eviseur plat, un lecteur DVD et un ensemble acoustique. L’ensemble acoustique peut e´ galement eˆ tre vendu seul. La soci´et´e dispose au 31 octobre d’un stock de 200 Home cin´ema (incluant l’ensemble acoustique) et de 600 ensembles acoustiques. La r´eception de 500 ensembles acoustiques est pr´evue pour le 1 d´ecembre. L’importation de l’ensemble Home Cin´ema prend 1 mois et n’inclut pas l’ensemble acoustique. Celui-ci est a` commander en sus et est ajout´e a` l’ensemble Home
Chapitre 5. La planification de la production
90
Cin´ema juste avant sa livraison au client final. L’importation de l’ensemble acoustique prend 2 mois. La valeur de l’ensemble Home Cin´ema complet est de 2500 euro, celle de l’ensemble acoustique est de 800 euro. Le tableau suivant indique les pr´evisions de la demande : Demande Novembre Home Cinema 500 Ensemble acoustique 200
D´ecembre Janvier F´evrier 1200 900 400 400 300 200
Le coˆut de stockage mensuel est de 2 % de la valeur des marchandises. (a) (b) (c) (d)
Calculez les besoins nets pour l’ensemble ”Home Cin´ema”. Calculez les besoins nets pour l’ensemble acoustique. Planifiez les lancements de commande des ensembles Home Cin´ema. Planifiez les lancements de commande des ensembles acoustiques sachant que les commandes doivent eˆ tre multiples de 500 unit´es. (e) Calculez le coˆut de stockage par mois et par produit.
5.3. D´etermination des besoins et lancements de production de niveau 2. A partir de l’ajustement charge-capacit´e de niveau 1, d´eduire les besoins nets et les lancements de production de niveau 2 a` capacit´e infinie. 5.4. Ajustement charge-capacit´e de niveau 2. V´erifier si la charge r´esultante n’exc`ede pas la capacit´e de l’atelier. Si c’est le cas, faire l’ajustement. 5.5. Production de robes de mari´ees. Une petite entreprise de couture confectionne des robes de mari´ees en s´erie. L’unique atelier de l’entreprise r´ealise la confection des robes a` un coˆut horaire est de 100 euro. La fabrication d’une robe n´ecessite 3 heures. Les tissus pour la robe coˆutent 400 euro. Le plan directeur de production indique une demande constante de 10 robes par semaine pour les semaines 1 a` 5. En d´ebut de semaine 1, l’entreprise dispose d’un stock de 15 robes. Une production en sous-traitance (= livraison attendue) de 5 robes est pr´evue en semaine 4. ´ (a) Etablir le tableau des besoins nets et des lancements de production pour les semaines 1 a` 5 en supposant un d´elai d’obtention n´egligeable (on peut produire pour satisfaire une demande de mˆeme p´eriode). (b) La capacit´e de production e´ tant de 30 les deux premi`eres semaines et 21, les trois suivantes, proc´edez a` l’ajustement charge-capacit´e. (c) Calculez le coˆut de stockage total sur les 5 semaines pour les robes. Le coˆut de stockage des articles en stock en fin de semaine est estim´e a` 1% par semaine du coˆut de revient des articles.
Chapitre 6 Les techniques de juste a` temps 6.1
Origine et principe du JAT
Comme le souligne Baglin et al [1], les techniques de juste a` temps trouvent leur origine dans les nouvelles exigences du march´e : • La variabilit´e de la demande : l’augmentation du nombre de mod`eles et la diminution de la dur´ee de vie des produits n´ecessitent une adaptation plus rapide des produits. • Le d´elai admissible par les clients est plus court : on ne peut donc plus produire a` la commande, c’est-`a-dire lancer une commande sp´eciale avec des d´elais longs. • La concurrence internationale impose de produire une bonne qualit´e a` un prix tr`es bas. En conclusions, il faut produire a` la demande du client, sans d´elai et en comprimant au maximum le coˆut de fabrication. Il y a donc conflit entre la gestion en grande s´erie (qui permet de r´eduire les coˆuts de fabrication) et la gestion a` la carte (qui est beaucoup plus souple). L’id´ee du JAT est de chercher a` concilier les avantages de la grande s´erie (flux rapides et importants) avec ceux de la petite s´erie (grande adaptabilit´e). La logique fondamentale du JAT est la suivante : Production = Demande. Autrement dit, on produit la quantit´e strictement n´ecessaire aux besoins imm´ediats du client. Le principe est appliqu´e de proche en proche jusqu’aux fournisseurs. Ceci entraˆıne la suppression des stocks interm´ediaires : on parle de gestion en flux
91
92
Chapitre 6. Les techniques de juste a` temps
tendus. La suppression des stocks apparaˆıt donc comme une cons´equence de la logique du JAT. Ceci va a` l’encontre des politiques traditionnelles d’organisation de la production. Le mode d’organisation traditionnel a pour objectif essentiel la recherche de la plus grande productivit´e du syst`eme. Ses cons´equences sont : 1. Pour raison d’´economie d’´echelle, on a des unit´es de fabrication de grande taille organis´ees en ateliers sp´ecialis´es. On a donc des flux importants et discontinus entre ces unit´es n´ecessitant des stock interm´ediaires. 2. Pour raison de coˆut, on met en place des capacit´es de production correspondant a` la demande moyenne qui sont satur´ees en permanence : la variabilit´e de la demande n´ecessite donc des stocks de produits finis. 3. On lance de grandes s´eries pour amortir le coˆut de lancement. Ce qui entraˆıne aussi des stocks importants. 4. Pour diminuer le coˆut de manutention, on transporte en grande quantit´e (camions, containers complets). Ce qui occasionne e´ galement des stocks e´ lev´es de mati`eres qui ne sont pas imm´ediatement consomm´ees. 5. Pour d´ecoupler les probl`emes, on constitue des stocks interm´ediaires. 6. A chaque stade du produit, on ajoute un d´elai d’obtention pour tenir compte des arrˆets fr´equents (contrˆole, maintenance,. . . ). On en conclut que chacun a` tendance a` gonfler les stocks. Le JAT devant ce constat, plutˆot que d’essayer de g´erer l’ing´erable propose de supprimer les stocks. Le fonctionnement en JAT appelle cependant les remarques suivantes : 1. Souvent, les usines ne fonctionnent que partiellement en flux tendus : en flux tendus au moment o`u l’on personnalise le produit, avec des stocks d’approvisionnement pour les pi`eces standards. 2. Les flux de production peuvent eˆ tre tir´es non par des commandes clients mais par le plan directeur de production. 3. Le JAT n´ecessite tout de mˆeme l’´etablissement d’un plan directeur de production et le calcul des besoins.
Section 6.2. Les deux approches du JAT
6.2
93
Les deux approches du JAT
Le JAT a donc un double objectif : • augmenter la r´eactivit´e du syst`eme logistique : diminuer le d´elai, diversifier la production,. . . • diminuer le coˆut global de production : en e´ liminant les gaspillages inutiles.
6.2.1
Augmenter la r´eactivit´e du syst`eme logistique
Le but est ici de pouvoir r´epondre rapidement aux variations quantitative et qualitative de la demande. Le moyen utilis´e est le suivant : pour raccourcir le cycle de fabrication, on r´eduit les stocks. • Pour r´eduire les stocks de mati`ere premi`ere, les fournisseurs doivent livrer plus souvent. • Pour r´eduire les stocks d’en-cours de production, on doit r´eduire le temps entre ateliers. • Pour r´eduire les stocks de produits finis, on doit pouvoir changer souvent de fabrication. Remarquez que, pour r´eduire les stocks, il faut s’attaquer a` leur cause : les pannes machines, les temps de r´eglage longs, etc. . .
6.2.2
La rationalisation de la production
Le but est ici d’am´eliorer la performance globale en e´ liminant les gaspillages. Le principe fondamental est que les seuls temps utiles sont ceux pendant lesquels le produit voit sa valeur s’accroˆıtre. Ainsi, les op´erations suivantes sont non productives : d´eplacer, stocker, grouper, contrˆoler,. . . Pour pouvoir diminuer ces op´erations improductives, il faut s’attaquer a` leurs causes : les d´efauts de fabrication, les retards, les pannes, les lenteurs administratives,. . . On peut ici citer l’image de Taichi Ohno (de Toyota) qui dit que, pour traverser une rivi`ere sans encombre, dans l’approche traditionnelle : on augmente le niveau de l’eau et on passe au dessus des e´ paves, dans l’approche JAT : on drague le fleuve, ce qui permet un niveau d’eau plus faible. En conclusions, en s’attaquant aux causes de dysfonctionnement, on am´eliore la productivit´e globale du syst`eme et on am´eliore la qualit´e des produits.
Chapitre 6. Les techniques de juste a` temps
94
6.3
Les facteurs cl´es du JAT
La r´eussite du passage d’une organisation classique a` une organisation JAT n´ecessite des m´ethodes de gestion tr`es r´eactives ainsi que la maˆıtrise des al´eas.
6.3.1
Recherche d’un plus grande r´eactivit´e
On atteindra une plus grande r´eactivit´e en augmentant la flexibilit´e de la production. On peut d´efinir la flexibilit´e comme la capacit´e du syst`eme de production a` s’adapter en permanence a` la demande. On distingue deux types de flexibilit´e : • La flexibilit´e quantitative est la capacit´e de faire face a` des pointes de demande : – il faut surdimensionner la capacit´e, par exemple, en gardant les anciennes machines lors d’un renouvellement. – il faut faire appel a` la flexibilit´e de la main d’œuvre : appel aux temporaires, a` la sous-traitance, aux heures suppl´ementaires,. . . • La flexibilit´e qualitative est la capacit´e de traiter une grande vari´et´e de produits : – il faut pouvoir passer rapidement d’un produit a` l’autre : on utilisera des machines a` commandes num´eriques. – la polyvalence du personnel est e´ galement souhaitable.
6.3.2
Maˆıtrise des al´eas
Il faut ici se pr´emunir contre les causes des stocks que sont les pi`eces re¸cues d´efectueuses, les pannes machine, ainsi les retards de livraison. On visera ici le z´ero d´efaut pour les pi`eces fabriqu´ees. En effet, en l’absence de stock, le d´efaut d’une pi`ece livr´ee interrompt la chaˆıne de montage. Le z´ero d´efaut sera recherch´e par la pr´evention plutˆot que par le contrˆole a` posteriori. Il faut e´ galement assurer la fiabilit´e des e´ quipements. En effet, l’arrˆet d’une machine entraˆıne l’arrˆet de toutes les machines en aval faute d’approvisionnement. De mˆeme pour les machines en amont qui, autrement, constitueront des stocks. La fiabilit´e est obtenue par des proc´edures de maintenance pr´eventive. Enfin, il existe relation plus e´ troite entre le client et le fournisseur car le fournisseur d’une usine JAT est g´en´eralement plus conscient des cons´equences de l’envoi d’une pi`ece d´efectueuse pour le client.
Section 6.4. La m´ethode Kanban
6.4
95
La m´ethode Kanban
L’id´ee de la m´ethode est que la production soit tir´ee par l’aval : chaque poste ne travaille que pour satisfaire une demande du poste aval. L’information sur la demande du poste aval est transmise par un document appel´e Kanban (´etiquette) donnant : • la description de la pi`ece et de l’op´eration a` effectuer; • le lieu d’origine et de destination de la pi`ece; • la quantit´e par conteneur. Cette technique utilise en effet des conteneurs standards pour la circulation entre les postes. L’´etiquette est donc un ordre de fabrication des pi`eces qui • descend le flux de pi`eces (lors de la fabrication); • remonte ce flux une fois les pi`eces consomm´ees. Le rythme de fabrication est donc e´ gal a` la vitesse de circulation des e´ tiquettes qui est, elle-mˆeme, d´etermin´ee par le rythme de consommation des pi`eces. Par exemple, si la consommation vient a` se tarir, les e´ tiquettes ne remontent plus et la fabrication s’arrˆete. Pour un bon fonctionnement du syst`eme, il faut une capacit´e suffisante des postes amont pour r´epondre a` la demande : ceci n´ecessite donc en g´en´eral de pr´evoir une surcapacit´e.
6.4.1
Syst`eme Kanban a` une boucle
Le fonctionnement du syst`eme Kanban a` une boucle est le suivant (cfr figure 6.1) : • L’´etiquette est appos´ee sur le conteneur de pi`eces qui viennent d’ˆetre fabriqu´ees en amont (a); • Elle accompagne le conteneur au poste suivant et reste sur le conteneur en attente (b); • Au moment o`u le conteneur est mis en fabrication sur le poste aval, le Kanban est lib´er´e et retourne au poste amont (c);
Chapitre 6. Les techniques de juste a` temps
96 (a)
(b) Transport
POSTE AMONT
POSTE AVAL
entre postes (d) (c)
Conteneur avec étiquette
Etiquette libre
Figure 6.1: Syst`eme Kanban a` une boucle. • Il entre dans le planning du poste amont (d) d’o`u il sort au moment d’une nouvelle fabrication. On peut faire les remarques suivantes sur le fonctionnement du syst`eme kanban a` une boucle : 1. Tout conteneur rempli poss`ede obligatoirement une e´ tiquette (c’est-`a-dire son ordre de fabrication). 2. Une e´ tiquette libre (c’est-`a-dire non attach´ee a` un conteneur) repr´esente un ordre de fabrication pour une quantit´e fixe de pi`eces sur un poste de travail d´etermin´e. 3. Le nombre d’´etiquettes en circulation entre deux postes fixe les stocks d’en cours de fabrication : en effet, le volume des en cours, c’est-`a-dire le nombre de conteneurs entre les postes, est inf´erieur ou e´ gal au nombre d’´etiquettes en circulation. 4. En observant son planning d’´etiquettes en attente, le responsable du poste amont peut choisir ses priorit´es de fabrication d’apr`es les besoins des agents des diff´erents postes aval qu’il fournit.
6.4.2
D´etermination du nombre d’´etiquettes
Un probl`eme fondamental est la d´etermination du nombre d’´etiquettes a` mettre en circulation. Ce nombre doit, en effet, r´esulter d’un compromis entre : • un nombre pas trop e´ lev´e : sinon on g´en`ere des stocks interm´ediaires; • un nombre pas trop faible : sinon le poste aval risque de tomber en rupture.
Section 6.4. La m´ethode Kanban
97
Les donn´ees du probl`eme sont les suivantes : • Cu , la consommation du poste aval en unit´es par minute; • Qe , la taille e´ conomique des lots fabriqu´es en amont; • k, la capacit´e d’un conteneur; • Tr , le d´elai de r´eaction du syst`eme lorsque le stock au poste aval atteint le seuil de lancement d’une production. Ce d´elai de r´eaction comprend – le retour du ticket d’alerte vers l’amont, – l’attente au planning amont, – le r´eglage de la machine amont, – la production du premier conteneur, – le transport du conteneur jusqu’au poste aval. Le principe utilis´e pour d´eterminer le nombre d’´etiquettes est le suivant : le nombre de conteneurs dans la boucle correspond au strict minimum pour que le syst`eme fonctionne sans rupture pour le poste aval. Illustrons ceci sur un exemple tir´e de Baglin et al [1]. Soit D = 2000 pi`eces, la demande moyenne du poste aval par journ´ee de 8 heures de travail. On en d´eduit une consommation en unit´es par minute de : Cu =
2000 = 4, 1667 8 × 60
Soit k = 100 pi`eces, la capacit´e d’un conteneur. Soit Tr , temps de r´eaction qui r´esulte d’un temps de retour du ticket de 30 minutes (le ramassage des tickets s’effectue toutes les heures, donc un temps moyen d’attente d’une demi heure), d’une attente moyenne de 10 minutes au planning du poste amont, d’un r´eglage de la machine de 10 minutes, d’un temps de production de 0,1 minute par pi`ece (donc 10 minutes pour 100 pi`eces), d’un temps de transport de l’amont vers l’aval de 35 minutes : Tr = 30 + 10 + 10 + 10 + 35 = 95 Pendant le temps de r´eaction, la consommation du poste aval est de : Tr Cu = 95 × 4, 1667 = 395, 83 Il en r´esultera qu’il faut au moins 4 e´ tiquettes en permanence dans le syst`eme : Ne ≥
Tr Cu = 3, 96 k
Chapitre 6. Les techniques de juste a` temps
98
Si l’on veut prendre une marge de s´ecurit´e de α = 10 % : Ne ≥
(1 + α)Tr Cu 1, 1 × 395, 83 = = 4, 3541. k 100
Il faudra donc au moins 5 e´ tiquettes en permanence dans le syst`eme. Supposons maintenant que, au poste amont, l’arbitrage entre le coˆut de lancement et le coˆut de possession justifie une production par lot de taille e´ conomique optimale : Qe = 600 pi`eces, c’est-`a-dire a` 6 conteneurs (Qe /k). Il faudra donc attendre d’avoir six e´ tiquettes accroch´ees au planning du poste amont avant de pouvoir lancer en fabrication de quoi remplir le premier conteneur. Il faudra donc ajouter ces 6 conteneurs aux 5 pr´ec´edents. Le nombre de conteneurs dans la boucle correspond donc en g´en´eral a` la somme : • du stock correspondant au seuil d’alerte, c’est-`a-dire au stock permettant de faire fonctionner le poste aval durant Tr , augment´e d’une marge de s´ecurit´e α: (1 + α)Cu Tr • du lot e´ conomique Qe produit par le poste amont : Qe le tout divis´e par k, la capacit´e d’un conteneur :
Ne ≥
(1 + α)Cu Tr + Qe k
Le r´esultat est arrondi a` l’entier sup´erieur. Ce qui donne ici : Ne ≥
(1 + α)Cu Tr + Qe 435 + 600 = = 10, 35 k 100
Ce qui correspond a` 11 conteneurs de 100 pi`eces.
(6.1)
Section 6.5. Exercices
6.5
99
Exercices
6.1. Planification juste-`a-temps d’une brasserie. Une brasserie produit une bi`ere sp´eciale. La fermentation se termine dans des cuves de haute fermentation. L’´equipement d’embouteillage est constitu´e de deux lignes : • une ligne d’embouteillage affect´ee aux bouteilles de 25 cl, qui remplit 1600 bouteilles par heure, • une ligne d’embouteillage affect´ee aux bouteilles de 75 cl, qui remplit 800 bouteilles par heure. La soci´et´e aimerait utiliser un syst`eme de kanban afin de coordonner la production entre le syst`eme amont (les cuves) et le syst`eme aval (l’embouteillage). Les containers de transport entre l’amont et l’aval ont une capacit´e de 300 litres. Le d´elai de r´eaction du syst`eme est de 3 heures. (a) Calculez le nombre d’´etiquettes n´ecessaires pour assurer le fonctionnement en continu de l’embouteillage sans tenir compte d’une taille e´ conomique minimale a` l’amont. Le gestionnaire d´esire appliquer un coefficient de s´ecurit´e de 10 %. (b) Sachant que les cuves de fermentation ont une capacit´e de 10.000 litres et sont vid´ees en entier avant d’ˆetre a` nouveau remplies, on peut consid´erer que la quantit´e e´ conomique du poste amont est de 10.000 litres. Quel est alors le nombre d’´etiquettes a` ajouter dans le syst`eme ? 6.2. Production de hamburgers en restauration rapide. Consid´erons la gestion de la cuisson d’un type de hamburger dans un drive-in d’un point de restauration rapide. La commande aupr`es du pr´epos´e a` la cuisson se fait par lot de 6 hamburgers. Lorsqu’un lot de 6 hamburgers est fourni au comptoir de vente, il est pr´ec´ed´e d’une plaque indiquant ”6 hamburgers”. D`es que le pr´epos´e a` la vente entame le lot de 6 hamburgers, il retourne la plaque au manager qui toutes les dix minutes remonte en cuisine avec les plaques. Consid´erons une soir´ee de semaine (hors mercredi o`u la demande est plus forte). On suppose, ce qui est une approximation, que la demande de 500 hamburgers est r´epartie uniform´ement sur la tranche 18 h - 22 h. Le pr´epos´e a` la cuisson fabrique, outre les hamburgers, trois autres produits qui peuvent l’occuper, parfois de mani`ere continue pendant 12 minutes avant qu’il ne puisse entamer la cuisson des hamburgers. La cuisson d’un lot de 6 hamburgers dure 6 minutes (3 minutes pour une face, 3 minutes pour l’autre). Ensuite, l’emballage et le garnissage prend 0,5 minute par hamburger. L’envoi du lot de 6 hamburgers vers le comptoir est instantan´e (par bande porteuse).
100
Chapitre 6. Les techniques de juste a` temps (a) Calculer la consommation en unit´es par minute faite par les clients du drive-in pour ce hamburger. (b) Calculer le temps de r´eaction du syst`eme, a` savoir le temps qui s’´ecoule entre le moment o`u le pr´epos´e a` la vente entame un lot de 6 hamburgers et celui o`u le lot revient avec la plaque. Donner le d´etail du calcul. (c) Calculer la consommation de hamburgers des clients pendant le temps de r´eaction du syst`eme. (d) En tenant compte du fait que la production de hamburgers n’est lanc´ee que s’il y a une commande de 12 pi`eces, calculez le nombre minimum de plaques a` mettre dans le syst`eme pour e´ viter la rupture d’approvisionnement du comptoir vente. (e) Comment faire pour tenir compte dans votre calcul des hamburgers jet´es car ayant d´epass´e leur dur´ee de conservation (1 heure) ? Ceci repr´esente environ 10 % de la demande.
6.3. Transport de brames. La ligne a` chaud de Chertal produit des bobines d’acier appel´ees coils. L’amont de la ligne a` chaud est compos´e des hauts fourneaux produisant de la fonte en fusion, d’un convertisseur suivi de la coul´ee continue. Lors des diverses op´erations amont, le m´etal liquide est transform´e en plaques, appel´ees brames. Chacune de ces pi`eces p`ese 500 kg. Elles sont alors transport´ees par lots vers l’aval constitu´e du laminoir du site. Ce trajet, chargement et d´echargement inclus, dure 6 heures. Les transporteurs de brames (des trains priv´es) ont une capacit´e maximale utile de 50 tonnes. Le laminoir aval doit fonctionner en permanence a` un rythme de 110 kg a` la minute. Le gestionnaire du site de Chertal d´esire utiliser un syst`eme de Kanbans afin de minimiser les lots de brames en cours entre la production amont (les hauts fourneaux, le convertisseur et la coul´ee) et le syst`eme aval (le laminoir). Le temps de retour des transporteurs, munis des e´ tiquettes, est estim´e a` 120 minutes. On consid`ere que l’on fait partir un train uniquement s’il est charg´e au maximum. (a) En consid´erant un temps nul d’attente au planning amont et un temps de production a` l’amont n´egligeable, calculez le nombre d’´etiquettes n´ecessaires pour assurer le fonctionnement en continu du laminoir aval. (b) Avec ce nombre d’´etiquettes, quel est le coefficient de s´ecurit´e ? (c) On consid`ere maintenant que les hauts- fourneaux d´elivrent des lots de 120 tonnes (= quantit´e e´ conomique). Quel est alors le nombre d’´etiquettes a` mettre en service (avec un coefficient de s´ecurit´e nul) ? (d) Quel est le rythme auquel les lots des hauts-fourneaux doivent eˆ tre d´elivr´es pour que le syst`eme ne tombe pas en rupture ?
Partie III Les d´ecisions strat´egiques
101
Chapitre 7 L’ordonnancement de projets 7.1
Introduction
Lors de tout projet de grande envergure (construction d’un bateau, d’un avion, d’un bˆatiment,...), un probl`eme crucial qui se pose est celui du calendrier d’ex´ecution des tˆaches. Le probl`eme est de d´eterminer dans quel ordre doivent s’enchaˆıner les diverses tˆaches de mani`ere a` minimiser le temps total d’ex´ecution du projet. Prenons un exemple tir´e de Giard [4].. On veut construire un nouveau bˆatiment de mani`ere a` pouvoir d´em´enager au plus tˆot. Certaines tˆaches (voir tableau 7.1) ne peuvent s’ex´ecuter qu’apr`es que d’autres soient termin´ees. Par exemple, on ne peut commencer les fondations que lorsque le terrassement est fini. On ne peut monter les murs que lorsque les fondations sont termin´ees. D’autres tˆaches peuvent s’ex´ecuter simultan´ement. Par exemple, les travaux d’´electricit´e et de plomberie peuvent eˆ tre men´es de pair. On doit tenir compte, dans les probl`emes No 1 2 3 4 5 6 7 8 9 10 11
tˆache dur´ee (jours) pr´ealables terrassement 5 fondations 4 1 colonnes porteuses 2 2 charpente toiture 2 3 couverture 3 4 ma¸connerie 5 3 plomberie, e´ lectricit´e 3 2 coulage dalle b´eton 3 7 chauffage 4 8 et 6 plˆatre 10 9 et 5 finitions 5 10 Tableau 7.1: Construction d’un bˆatiment.
d’ordonnancement, de divers types de contraintes. 103
Chapitre 7. L’ordonnancement de projets
104
• Les contraintes de localisation temporelle expriment la localisation d’une tˆache dans le temps : une tˆache ne peut commencer avant une telle date, ou apr`es une telle date (par exemple, en raison des conditions climatiques). • Les contraintes de succession temporelle expriment les relations d’ant´eriorit´e entre les tˆaches : une tˆache ne peut commencer avant la fin d’une autre (par exemple, on ne coule pas les fondations avant la fin du terrassement). • Les contraintes disjonctives expriment le fait que deux tˆaches ne peuvent avoir lieu en mˆeme temps sans que l’on puisse dire laquelle doit eˆ tre effectu´ee avant l’autre (par exemple, une mˆeme grue est utilis´ee sur deux chantiers). Le probl`eme d’ordonnancement avec des contraintes de localisation temporelle et de succession temporelle seulement est appel´e probl`eme central d’ordonnancement. Il s’agit de d´eterminer le calendrier de d´ebut de chacune des tˆaches de mani`ere a` terminer le chantier au plus vite en respectant les contraintes temporelles. Nous allons voir que ce probl`eme utilise la notion de graphe, aussi bien pour sa formulation que pour sa r´esolution. Il existe deux m´ethodes de r´esolution pour ce probl`eme, a` savoir : • la m´ethode du potentiel d´evelopp´ee en France en 1957 et qui associe a` chaque tˆache un nœud du r´eseau, tandis que les relations d’ant´eriorit´e sont repr´esent´ees par des arcs entre les tˆaches (voir figure 7.1); Tˆache i
i<j di
i
Tˆache j j
Figure 7.1: Graphe de la m´ethode des potentiels. • La m´ethode PERT (pour Program Evaluation Review Technique) s’est d´e´ velopp´ee, parall`element a` la m´ethode du potentiel, aux Etats-Unis en 1958 pour la planification de la construction des sous-marins Polaris. Elle se distingue de la m´ethode du potentiel par le fait que les tˆaches ne sont plus associ´ees aux nœuds mais bien aux arcs du r´eseau (voir figure 7.2). Tˆache i i, di
i <j
Tˆ a che j j, dj
Figure 7.2: Graphe de la m´ethode des potentiels.
Section 7.2. Formulation du probl`eme
7.2
105
Formulation du probl`eme
Fixons-nous les notations suivantes. Nous avons n tˆaches a` ex´ecuter, indic´ees i = 1, . . .n. Utilisons e´ galement la notation di pour d´esigner la dur´ee d’ex´ecution de la tˆache i (qui est ici une donn´ee). D´esignons par t0 le temps de d´ebut d’ex´ecution du chantier, suppos´e e´ galement connu. Les variables du probl`eme sont les suivantes : ti note le temps de d´ebut d’ex´ecution de la tˆache i, et tf (= tn+1 ) note le temps de fin de chantier. Formulons maintenant l’objectif : il s’agit simplement de minimiser le temps de r´ealisation du chantier, autrement dit : min z = tf − t0 qui consistera a` minimiser tf si on se fixe initialement t0 = 0. Formulons maintenant les contraintes du probl`eme central d’ordonnancement. Elles sont de trois types : • Les contraintes de localisation temporelle expriment que la tˆache i ne peut commencer avant le d´ebut de chantier : ti ≥ t0 , ∀i sans pr´ed´ecesseur
(7.1)
• Les contraintes de succession temporelle expriment que la tˆache j ne peut d´ebuter avant que toute tˆache i pr´ealable a` j ne soit finie : ti + di ≤ tj , ∀ tˆache i ant´erieure a` la tˆache j
(7.2)
• Les contraintes de fin de chantier expriment que toute tˆache i doit eˆ tre finie avant la fin de chantier : ti + di ≤ tf , ∀i sans successeur
(7.3)
Remarquez que vu la pr´esence des contraintes de succession temporelle (7.2), il suffit d’´ecrire (7.1) pour toute tˆache n’ayant pas de pr´ed´ecesseur et (7.3) pout toute tˆache n’ayant pas de successeur.
7.3
Repr´esentation graphique du probl`eme
On associe donc au probl`eme central d’ordonnancement un graphe dont les sommets repr´esentent les diverses tˆaches du probl`eme. On ajoute un nœud 0 qui
Chapitre 7. L’ordonnancement de projets
106
correspond a` la date de d´ebut de chantier et un nœud f = n + 1 qui correspond a` la fin de chantier. Les arcs du r´eseau repr´esentent les diverses contraintes qui peuvent toutes se mettre sous la forme suivante ti + di ≤ tj en d´efinissant d0 = 0. Le probl`eme central d’ordonnancement se formule donc ainsi : min tf (−t0 ) (7.4) s.c.q. ti + di ≤ tj , ∀(i, j) ∈ A o`u A note l’ensemble des arcs du r´eseau. 3
2
4 0
0
1
5
4
2
5 3
2
2
6
10
5
4 7
3
8
3
10
11
5
12
4 9
Figure 7.3: graphe associ´e. Reprenons l’exemple. On peut construire syst´ematiquement le graphe associ´e au probl`eme d’ordonnancement de la mani`ere suivante (voir figure 7.3) : 1. On relie d’abord toutes les tˆaches qui peuvent eˆ tre effectu´ees sans pr´ealable au nœud 0, d´ebut de chantier par un arc de longueur nulle. Dans l’exemple, seule la tˆache 1 est dans ce cas. Remarquez qu’il s’agit de la repr´esentation des contraintes (7.1). 2. Ensuite, on prend une tˆache d´ej`a dans le graphe et on examine si elle pr´ec`ede d’autres. Par exemple, la tˆache 1 doit pr´ec´eder la tˆache 2. On doit donc avoir t1 + d1 ≤ t2 . On trace le nœud 2 et on le relie au nœud 1 par un arc de longueur d1 . On fait de mˆeme pour repr´esenter toutes les contraintes de type (7.2). 3. Enfin, quand toutes les tˆaches sont dans le graphe, pour les seules tˆaches qui ne sont suivies d’aucune autre, on les relie au nœud n + 1, fin de chantier, avec un arc de longueur e´ gale a` la dur´ee de la tˆache. Ici, seule la tˆache finition est dans ce cas, et il faut que cette tˆache soit finie pour la fin du chantier. Il s’agit ici de repr´esenter les contraintes du type (7.3).
Section 7.3. Repr´esentation graphique du probl`eme
107
Disons un mot de la repr´esentation des trois autres types de contraintes que l’on peut rencontrer dans les probl`emes d’ordonnancement de projets : 1. Contraintes de localisation temporelle du type min. Supposons d’abord que la tˆache 3 ne puisse commencer avant 10 : 10 ≤ t3 ⇔ t0 + 10 ≤ t3 . Ceci se repr´esente en joignant les nœuds 0 et 3 par un arc de longueur 10. 2. Contrainte de localisation temporelle du type max. Ensuite, supposons que la tˆache 5 doive eˆ tre commenc´ee avant 40 : t5 ≤ t0 + 40 ⇔ t5 − 40 ≤ t0 . Ceci se repr´esente en joignant les nœuds 5 et 0 par un arc de “longueur” -40. 3. Contrainte du type e´ cart maximum. Enfin, supposons que la tˆache 9 doive commencer au plus tard 5 jours apr`es le d´ebut de la tˆache 8 : t9 ≤ t8 + 5 ⇔ t9 − 5 ≤ t8 . Ceci se repr´esente en joignant les nœuds 9 et 8 par une arc de “longueur” -5. -40
10
3
2
0
1
5
2
5 3
2
4 0
4
2
6
10
5
4 7
3
8
10
11
5
12
4
3
9 -5
Figure 7.4: Trois autres types de contraintes. Avant de voir l’algorithme qui permet de r´esoudre le probl`eme d’ordonnancement, nous allons dire un mot des conditions sous lesquelles ce probl`eme est r´ealisable. En effet, les contraintes temporelles peuvent venir de divers services et eˆ tre incompatibles entres elles.
Chapitre 7. L’ordonnancement de projets
108
7.4
Existence d’une solution
Supposons que nous ayons la situation suivante. Tˆache Dur´ee pr´ealable 1 d1 3 2 d2 1 3 d3 2 Cette situation est repr´esent´ee a` la figure 7.5. 2 d1 1
d2 d3
3
Figure 7.5: Circuit de longueur positive. On voit ici que le graphe contient un circuit (cycle avec tous les arcs dans ´ le mˆeme sens) dont la somme des longueurs des arcs est positive. Ecrivons les contraintes correspondantes : t1 + d1 ≤ t2 t2 + d2 ≤ t3 t3 + d3 ≤ t1 En sommant et en simplifiant, on obtient la condition suivante : d1 + d2 + d3 ≤ 0 On peut alors montrer le r´esultat suivant. Lemme 7.1 Les contraintes temporelles sont compatibles entre elles si et seulement si le graphe associ´e ne comporte aucun circuit de longueur (somme des longueurs des arcs le constituant) strictement positive. Remarquez qu’un cycle avec une somme des longueurs n´egative ne pose pas de probl`eme. Par exemple, a` la figure 7.4, la tˆache 8 de longueur 3 doit eˆ tre finie avant que ne commence la tˆache 9 et la tˆache 9 doit commencer end´eans les 5 jours de d´ebut de la tˆache 8 : t8 + 3 ≤ t9 t9 − 5 ≤ t8 Ceci se repr´esente, comme vu ci-dessus, par une fl`eche de 8 vers 9 de longueur 3 et une fl`eche retour de longueur -5. Ceci ne pose pas de probl`eme, la somme des “longueurs” e´ tant n´egative.
Section 7.5. Calcul de l’ordonnancement au plus tˆot
7.5
109
Calcul de l’ordonnancement au plus tˆot
Nous allons maintenant voir un algorithme de calcul de l’ordonnancement au plus tˆot. L’ordonnancement au plus tˆot d´etermine les dates de d´ebut au plus tˆot des diff´erentes tˆaches, not´ees ti , en partant du nœud de d´ebut de chantier. Illustrons les choses sur l’exemple. La tˆache 1 peut commencer au plus tˆot en 0 puisqu’elle est reli´ee au au nœud 0, d´ebut de chantier, par un arc de longueur nulle. La tˆache 2 peut commencer d`es la fin de la tˆache 1, c’est-`a-dire t2 = t1 + d1 = 5 et ainsi de suite, on marque t3 = 9, t4 = 11, t5 = 13, ... Lorsqu’un sommet (comme le sommet 9) a plus d’un pr´ed´ecesseur (8 et 6), on d´etermine la date au plus tˆot par un maximum : t9 = max {t6 + d6 , t8 + d8 } = 16. Il faut, en effet, que les deux tˆaches pr´ec´edentes soient finies avant de pouvoir d´ebuter la tˆache 9. On arrive ainsi a` d´eterminer la dur´ee totale minimum qui est ici de 35 jours. L’ordonnancement au plus tˆot est illustr´e a` la figure 7.6 o`u le temps de d´ebut au plus tˆot est indiqu´e au dessus des nœuds. 9 3
11 4
13 5
2 0 0
5 2
0 1 0
5
2
2
4
11 6
3
30
20 10
11 10
4
9 7
12 8 3
5
35 5
12
16 4 9 3
Figure 7.6: Ordonnancement au plus tˆot.
7.6
Ordonnancement au plus tard
Certaines tˆaches sont telles que si on retarde leur date de d´ebut, cela aura des r´epercussions sur la date de fin de chantier. Par exemple, si on retarde la date de d´ebut de la tˆache 11 (finition), cela va directement retarder la date de fin de
Chapitre 7. L’ordonnancement de projets
110
chantier. De mˆeme, si on retarde la tˆache 10 (plˆatre), cela va retarder la date de d´ebut de la tˆache 11 (finition) qui elle-mˆeme retarde la date de fin de chantier. Par contre, si on retarde le d´ebut de la tˆache 5 (couverture), cela n’aura pas de r´epercussion, car ce n’est pas a` partir de ce nœud que son successeur (10) a e´ t´e marqu´e mais bien a` partir du nœud 9. On voit donc que l’on peut retarder la date de d´ebut de la tˆache 5 sans cons´equence sur la date de fin de chantier jusqu’`a un certain point. En effet, t5 = 13, t10 = 20, et d5 = 3. Autrement dit, la date de d´ebut de la tˆache 5 peut eˆ tre retard´ee jusqu’`a la valeur : t10 − d5 = 20 − 3 = 17 sans retarder la date de d´ebut de la tˆache 10. On dit que 17 est la date de d´ebut au plus tard de la tˆache 5. C’est-`a-dire que la tˆache 5 peut eˆ tre commenc´ee a` cette date au plus tard sans allonger la dur´ee totale minimale des travaux. On notera une date de d´ebut au plus tard par ti . On peut calculer l’ordonnancement au plus tard de la mani`ere suivante (voir figure 7.7). Partant du nœud fin, pour lequel la date de d´ebut au plus tard co¨ıncide avec la date de d´ebut au plus tˆot t12 = t12 = 35, on retranche a` la date au plus tard la dur´ee de la derni`ere tˆache. On d´etermine ainsi la date de d´ebut au plus tard de la tˆache 11 : t11 = t12 − d11 = 35 − 5 = 30. On marque ensuite a` rebours les nœuds 10, 5, ... 9 3 4 0 0 0
0
0 1 0
5
5 2 5 4
9
11
2
4 15
2
13 5
2
17
6
10
3
20
11
10 5
11 9 7
3
12 8
3
13
30 10
20 16 4 9
11 30
5
35 12 35
16
Figure 7.7: Ordonnancement au plus tard. Lorsqu’un nœud a plusieurs successeurs, on ne peut marquer ce sommet que si tous ses successeurs directs sont marqu´es. Prenons, a` titre d’illustration, le cas du nœud 3. Dans ce cas, il faut prendre le minimum : t3 = min{t4 − d3 , t6 − d3 } = min{15 − 2, 11 − 2} = 9, sans quoi on retarderait la date de fin de chantier.
Section 7.7. Chemin critique et calcul des marges
7.7
111
Chemin critique et calcul des marges
D´efinition 7.1 On d´efinit la marge d’une tˆache comme la diff´erence entre son temps de d´ebut au plus tard et au plus tˆot : mi = ti − ti
(7.5)
On peut interpr´eter la marge comme le nombre maximum de jours de retard dans l’ex´ecution de la tˆache sans cons´equence sur la date de fin de projet. On voit directement que l’on a deux sortes de tˆaches. • Les tˆaches critiques qui ont une marge nulle. Ce sont donc les tˆaches a` surveiller en premier si l’on veut respecter le d´elai minimum de r´ealisation du projet. En effet, pour ces tˆaches, tout retard sur leur date de d´ebut se r´epercutera sur la date de fin de chantier. • Les tˆaches non critiques qui ont une marge strictement positive que l’on peut d´eterminer par la formule (7.5). Les marges sont indiqu´ees a` la figure 7.8 entour´ees d’un carr´e. 11 4 0 2 2 3 4 4 9 15 2 5 11 2 0 6 11 0 5 5 4 9
0 0 0
0
0
0 1 0
5
9 7 10
3 1
12 3 8 13 1
13 4 5 17 3 20
0
10 20 16 4 9 16 0
10
30 0 5 11 30
35 12 35
Figure 7.8: Calcul des marges. Nous allons maintenant voir que si le projet dure 35 jours, c’est a` cause d’une suite de tˆaches formant ce que l’on appelle un chemin critique de 35 jours. D´efinition 7.2 On appelle chemin critique tout chemin liant le nœud d´ebut de projet au nœud fin de projet tel que l’en faisant la somme des dur´ees des tˆaches le long de ce chemin critique on obtienne la dur´ee minimale du projet. Le chemin critique peut eˆ tre d´etermin´e a` rebours, partant du nœud n + 1, en retenant les sommets qui ont permis de d´eterminer les dates au plus tˆot a` partir du nœud 1. Il s’agit, dans l’exemple, des nœuds 12,11,10,9,6,3,2,1 et 0. On dit que le chemin critique est constitu´e des tˆaches 1, 2, 3, 6, 9, 10 et 11.
Chapitre 7. L’ordonnancement de projets
112
Remarquons, d’une part, qu’il peut y avoir plusieurs chemins critiques. Remarquons, d’autre part, qu’il ne suffit pas de prendre une suite de tˆache critiques liant le nœud d´ebut du projet au nœud fin du projet pour avoir un chemin critique. Il faut, en plus que la date de fin au plus tˆot du projet correspondent a` la somme des dur´ees de tˆaches le long de ce chemin. Illustrons ces deux ph´enom`enes sur l’exemple de la figure 7.9.
0 Déb 0
0 A
0
3
1 0
4 C 4
4 0 B 0
5 5 9 6
4 4
D 4
15
5
F 15
3
18 Fin 18
E 9
Figure 7.9: Cas de plusieurs chemins critiques. Les tˆaches critiques sont : B, C, D, E et F. Les deux chemins critiques sont : P1 = (B, D, E, F ) et P2 = (B, C, E, F ) Il est a` remarquer que le chemin suivant P3 = (B, C, F ) bien que constitu´e uniquement de tˆaches critiques mais n’est pas critique. Si l’on veut r´eduire la dur´ee du projet, Principe 1 : il ne sert a` rien de r´eduire la dur´ee de tˆaches non critiques. Cela ne ferait qu’augmenter leur marge. Principe 2 : il faudra r´eduire simultan´ement la dur´ee de tous les chemins critiques. Il est aussi a` remarquer que, d`es que l’on a r´eduit la dur´ee du chemin critique, d’autres chemins critiques peuvent apparaˆıtre. Il faut donc proc´eder pas a` pas.
7.8
L’ordonnancement par la m´ethode PERT
Dans la m´ethode PERT, chaque tˆache est associ´ee a` un arc du graphe. La longueur de l’arc correspondant a` la dur´ee de la tˆache en question. Les sommets sont utilis´es pour traduire les relations de succession temporelle. Ainsi, si la tˆache j doit suivre la tˆache i, l’extr´emit´e terminale de l’arc repr´esentant la tˆache i co¨ıncidera avec l’extr´emit´e initiale de l’arc repr´esentant la tˆache j.
Section 7.8. L’ordonnancement par la m´ethode PERT
113
Ceci permet de tracer le graphe pour l’exemple d´ej`a consid´er´e pour la m´ethode du potentiel. Ceci est fait a` la figure 7.10 o`u l’on a not´e, a` cˆot´e de chaque arc, d’une part, le num´ero correspondant a` la tˆache, d’autre part, la dur´ee de la tˆache. 4, 2 5, 3
3, 2 1, 5
2, 4
10, 10
6, 5 7, 3
11, 5
9, 4 8, 3
Figure 7.10: Graphe associ´e pour la m´ethode PERT. Sur cet exemple, la construction du graphe PERT ne pose aucune difficult´e. Parfois, elle n´ecessite parfois l’ajout d’un arc fictif qui ne correspond a` aucune tˆache. Illustrons ce probl`eme sur l’exemple suivant : Tˆache pr´ealable 1 − 2 1 3 1, 4 4 − On pourrait tracer le graphe de la figure 7.11. Mais ce graphe introduit une cont-
1
2
4
3
Figure 7.11: Introduction d’un contrainte. rainte suppl´ementaire qui dit que la tˆache 4 doit pr´ec´eder la tˆache 2. Pour r´esoudre la difficult´e, il faut ajouter un arc fictif de longueur nulle entre l’extr´emit´e de la tˆache 1 et le d´ebut de la tˆache 3. Ceci est illustr´e a` la figure 7.12. L’ordonnancement se calcule ainsi. D’abord, on d´etermine les dates de d´ebut au plus tˆot des nœuds, que nous noterons ti . Ceci est fait par marquage des nœuds a` partir de l’origine comme dans la m´ethode du potentiel. On additionne au temps du nœud pr´ec´edent le temps de la tˆache. En cas de plusieurs pr´ed´ecesseurs, on prend le maximum. Ensuite, on d´etermine les dates au plus tard des nœuds,
Chapitre 7. L’ordonnancement de projets
114
1
2
4
3
Figure 7.12: Arc fictif. not´ees t¯i , par marquage a` partir de la fin, en soustrayant au temps du nœud suivant le temps de la tˆache. En cas de plusieurs successeurs, on prend le minimum. 11
0 0
1, 5 0
5 5
2, 4 0
4, 2 4
3, 2 11 0 9
13 17
5, 3 4
6, 5
20
0
9
9, 4 20
7, 3 1
12 13
8, 3 1
16
10, 10 0
30
11, 5
35
30
0
35
0
16
Figure 7.13: Ordonnancement par la m´ethode PERT. Il est a` souligner que ces dates au plus tard des nœuds ne fournissent pas les dates de d´ebut au plus tard des tˆaches issues du nœud. Par exemple, la tˆache 4 est issue d’un nœud o`u la date au plus tard est de 11 (comme la date au plus tˆot) pourtant cette tˆache a une marge de 4 jours. Il faut donc poursuivre les calculs pour avoir la date de d´ebut au plus tard des tˆaches. On calcule la marge de la tˆache (i, j) liant les nœuds i et j comme : mij = tj − (ti + dij )
(7.6)
Autrement dit, la marge est la diff´erence entre : • la date de fin au plus tard de la tˆache tj et • sa date de fin au plus tˆot ti + dij , qui, elle-mˆeme, se calcule comme sa date de d´ebut au plus tˆot augment´ee de sa dur´ee.
Section 7.9. La minimisation des coˆ uts
115
On calcule alors les dates de d´ebut au plus tard des tˆaches en additionnant a` la date au plus tˆot, la marge. Les r´esultats sont indiqu´es au tableau ci-dessous. Tˆache
1 2 3
4
6
7
8
Date au plus tˆot
0 5 9 11 13 11
9
12 16 20 30
Marge
0 0 0
1
1
4
5
4
0
9
0
10 11
0
0
Date au plus tard 0 5 9 15 17 11 10 13 16 20 30
7.9
La minimisation des couts ˆ
Jusqu’`a pr´esent, on a consid´er´e la dur´ee de chaque tˆache comme donn´ee. Or la dur´ee d’une tˆache particuli`ere i peut varier en fonction, par exemple, de l’embauche de personnel suppl´ementaire, de l’achat ou de la location de mat´eriel suppl´ementaire. On voit donc que l’on pourra, en g´en´eral, r´eduire la dur´ee de chaque tˆache moyennant un cout ˆ suppl´ementaire. Nous allons voir ici comment arbitrer entre les deux crit`eres : diminution de la dur´ee d’ex´ecution des tˆaches et donc du chantier et, d’autre part, augmentation des coˆuts d’ex´ecution des tˆaches. Consid´erons la tˆache i. Sa dur´ee d’ex´ecution di peut varier entre une dur´ee minimale (incompressible) di et une dur´ee maximum di . Si l’on admet que le coˆut ci
mi
di
di
di
Figure 7.14: Coˆut d’ex´ecution de la tˆache i. varie lin´eairement en fonction de la dur´ee, on obtient le graphique de la figure 7.14. Notons par mi la pente. Pour une dur´ee di comprise entre les bornes inf´erieure et sup´erieure, le coˆut de la tˆache i est alors calcul´e par l’´equation suivante : ci (di ) = ci (di ) + mi (di − di )
Chapitre 7. L’ordonnancement de projets
116
Si on r´ep`ete la mˆeme op´eration pour chacune des tˆaches, l’objectif de la minimisation du coˆut total d’ex´ecution des tˆaches peut s’´ecrire: min z =
n
[ci (di ) + mi (di − di )] = K +
i=1
n
mi di
i=1
Le premier terme e´ tant constant, il revient au mˆeme de minimiser le seul second terme et on obtient l’objectif suivant : min z =
n
mi di ,
i=1
les di e´ tant, cette fois, des variables pour le probl`eme. On peut donc formuler le probl`eme comme suit. 1. Choix des variables. Nous avons donc comme variables du probl`eme : ti = le temps de d´ebut de la tˆache i; di = la dur´ee d’ex´ecution de la tˆache i; tf = le temps de fin de chantier. 2. Expression de l’objectif. Il s’agit de minimiser le coˆut direct d’ex´ecution des tˆaches, qui d´epend lin´eairement de leur dur´ee : min z =
n
mi di
i=1
3. Expression des contraintes. • Les contraintes de localisation temporelle s’expriment comme : ti ≥ t0 , ∀i sans pr´ed´ecesseur • Les contraintes de succession temporelle s’expriment comme : ti + di ≤ tj , ∀i < j • Les contraintes de fin de projet s’expriment comme : ti + di ≤ tf , ∀i sans successeur • Les contraintes de bornes sur la dur´ee s’expriment comme : di ≤ di ≤ di
Section 7.9. La minimisation des coˆ uts
117
• On ajout une borne sur la date de fin de chantier, nomm´ee λ : tf ≤ λ Le probl`eme de minimisation des coˆuts d’ex´ecution des tˆaches se formule donc comme suit : cD (λ) = min z =
n
mi di
i=1
t0 ≤ ti ti + di ≤ tj
s.c.q ti + di ≤ tf tf d
i
≤λ
pour toute tˆache i sans pr´ealable, pour toute tˆache i pr´ec´edent j, pour toute tˆache i sans successeur, P (λ) (borne sur tf )
≤ di ≤ di (bornes sur la dur´ee)
La borne sup´erieure sur tf a du eˆ tre ajout´ee car il est clair, au vu de la forme des fonctions de coˆut ci (di ) que sinon on aura tendance a` prendre di = di pout toute tˆache et donc a` augmenter au maximum la dur´ee du chantier. On peut alors r´esoudre ce probl`eme en fonction du param`etre λ. En ajoutant le terme constant que nous avions n´eglig´e, on obtient un graphique du genre de celui repr´esent´e a` la figure 7.15. cD ( )
di = di , ∀i
di = di , ∀i
Figure 7.15: Forme de la fonction de coˆut direct d’ex´ecution des tˆaches Ce graphique appelle plusieurs commentaires :
Chapitre 7. L’ordonnancement de projets
118
1. Tout d’abord, le param`etre λ doit eˆ tre sup´erieur a` une certaine valeur minimum λ qui correspond au temps d’ex´ecution minimum lorsque toutes les tˆaches sont a` leur dur´ee minimum di . 2. Ensuite, remarquons que la fonction c(λ) est convexe, d´ecroissante et lin´eaire par morceaux. 3. Enfin, a` partir d’une certaine valeur λ de λ, on aura syst´ematiquement di = di et l’objectif devient constant. Cette valeur λ correspond au temps d’ex´ecution du projet lorsque toutes les tˆaches sont a` leur dur´ee maximum. Comment va-t-on alors choisir le temps optimum ? A voir la forme de la courbe cD (λ) a` la figure 7.16, il vaudrait mieux prendre λ = λ, le temps maximum. Mais cT ( ) cT ( ) cI ( ) cD ( ) ∗
Figure 7.16: Coˆuts totaux. ceci ne tient compte que des couts ˆ directs d’ex´ecution des tˆaches. Il existe aussi des couts ˆ indirects li´es a` la dur´ee du chantier : les frais d’assurances, les salaires de l’encadrement, les frais de location du mat´eriel et les p´enalit´es par jour de retard. Tous ces frais sont e´ videmment croissants avec λ, la dur´ee du chantier. On note cI (λ) ces coˆuts indirects. Si on additionne les deux courbes (coˆuts directs et coˆuts indirects), comme a` la figure 7.16, on obtient la courbe de coˆut total dont on peut d´eterminer le minimum : cT (λ) = cD (λ) + cI (λ) On a donc arbitr´e entre les deux objectifs de diminution des coˆuts et de diminution du temps d’ex´ecution.
Section 7.10. Exercices
7.10
119
Exercices
7.1. Lancement d’un nouveau produit. On met a` l’´etude le lancement d’un nouveau produit. Ce lancement n´ecessite la r´ealisation des 9 tˆaches suivantes rep´er´ees par les lettres A a` I. Le tableau suivant donne leur dur´ee et leurs pr´ealables e´ ventuels : tˆache dur´ee (semaines) pr´ealables A 5 D B 2 C 5 B D 4 E 2 G,H F 4 E,I G 3 H 2 D I 6 A ´ (a) Etablissez le graphe de la m´ethode des potentiels, d´eterminer les dates de d´ebut au plus tˆot, au plus tard. Utilisez des couleurs diff´erentes pour les deux quantit´es et donnez la signification des couleurs utilis´ees. (b) Donnez le(s) chemin(s) critique(s). (c) On doit maintenant tenir compte en plus du fait que la tˆache G ne peut commencer avant la semaine 10. Cela modifie-t-il le temps de r´ealisation du projet ? Si oui, de combien ? Cela modifie-t-il les marges ? Si oui, de combien ? Cela modifie-t-il votre r´eponse a` la question b) ? (d) On apprend maintenant que, en plus du c), la tˆache D n´ecessitera deux semaines suppl´ementaires. Cela modifie-t-il le temps de r´ealisation du projet ? Si oui, de combien ? 7.2. Ordonnancement de projets. Un projet est constitu´e des tˆaches 0, 1, 2, 3 et 4. La tˆache 0 n’a pas de pr´ed´ecesseur et dure 2 semaines. La tˆache 1 succ`ede directement a` la tˆache 0 et dure 5 semaines. La tˆache 2 succ`ede directement a` la tˆache 1 mais ne peut pas commencer avant la 10`eme semaine. Elle dure 5 semaines. La tˆache 3 succ`ede directement a` la tˆache 2 et dure 3 semaines. La tˆache 4 succ`ede directement aux tˆaches 2 et 3 mais doit commencer au plus tard 7 semaines apr`es le d´ebut de la tˆache 2. Elle dure 2 semaines. (a) Dessinez le r´eseau repr´esentant le projet, en associant les tˆaches aux sommets (nœuds).
Chapitre 7. L’ordonnancement de projets
120
(b) Ce projet est-il r´ealisable ? Justifiez bri`evement. (c) Vous avez la possibilit´e d’allonger ou de r´eduire la dur´ee des tˆaches 1 et 2 de une ou deux semaines, a` un coˆut additionnel de 500 euro la semaine. Et aussi d’allonger ou de r´eduire la dur´ee des tˆaches 3 et 4 de une ou deux semaines, a` un coˆut additionnel de 1000 euro la semaine. Quelle solution proposez-vous afin de r´ealiser le projet a` un coˆut minimum ? (d) Quelle est alors la dur´ee totale du projet ? (e) Quelle(s) activit´e(s) n’appartiennent pas au chemin critique ? 7.3. Planification d’un projet de t´el´ecommunications. La soci´et´e PTV veut moderniser son r´eseau de t´el´edistribution de chaˆınes priv´ees. Le projet s’articule selon les activit´es cit´ees au tableau ci-dessous. Activit´e A B C D E F G
Description
Dur´ee Ant´ec´edents (mois) Etude de march´e 5 D´eveloppement du mat´eriel 6 A D´eveloppement des logiciels 5 (*) Accr´editation du mat´eriel 3 B Mise en œuvre du nouveau r´eseau 10 C,D Arrˆet de l’ancien r´eseau 2 (**) Fin du support pour l’ancien r´eseau 1 E, F
(*) : le d´eveloppement des logiciels (C) peut commencer 3 mois apr`es le d´ebut du d´eveloppement du mat´eriel. (**) : L’arrˆet de l’ancien r´eseau peut avoir lieu 6 mois apr`es le d´emarrage de la mise en œuvre du nouveau r´eseau. (a) Dessinez le r´eseau (m´ethode PERT), indiquez la date de d´ebut au plus tˆot, de d´ebut au plus tard et la marge pour chaque activit´e. (b) Quelle est la dur´ee minimale du projet ? (c) Quelles sont les activit´es critiques ? (d) Quel est le retard d’ex´ecution que chaque activit´e peut prendre sans allonger la dur´ee minimale du projet ? (e) L’administrateur d´esire r´eduire la dur´ee du projet de 2 mois au moindre coˆut. Les tˆaches suivantes peuvent eˆ tre r´eduites de 2 mois au maximum, sachant que le coˆut de r´eduction d’un mois est respectivement pour A : 350 euro ; C : 200 euro ; D : 100 euro ; F : 100 euro ; G : 400 euro. Que proposez-vous et quel est le coˆut de votre solution ?
Section 7.10. Exercices
121
7.4. Construction d’une piscine. Une soci´et´e a re¸cu la maˆıtrise de la construction d’une piscine olympique sur un campus universitaire. Les dur´ees des diff´erentes tˆaches, e´ valu´ees en jours sont reprises au tableau 7.2. Les travaux d´ebutent le premier avril. On suppose que chaque mois comporte 20 jours ouvrables. Code Tˆache Ant´eriorit´e Dur´ee A Excavation 5 B Fondations A 2 C Pose canalisations B 4 D Essai en pression C,G 8 ´ E D 9 Etanch´eit´e F Mise en place de la station d’´epuration A 6 G Mise en place du chauffage F 5 H Raccordement e´ lectricit´e G 4 I Sonorisation sous-marine H 5 J Dallage E,I 6 K Construction vestiaires J 8 L Construction du solarium J 2 M Mise en eau K, L 3 Tableau 7.2: Construction d’une piscine. (a) L’inauguration peut-elle avoir lieu comme pr´evu le 15 juin ? (b) Au cours de la pose des canalisations, on apprend que par suite d’incidents techniques, cette op´eration durera 6 jours de plus que pr´evu. Sans recommencer le diagramme, d´eterminez si cela influencera le d´elai final. (c) La direction du campus, inqui`ete quant au respect des d´elais, propose de se passer de la sonorisation sous-marine. Qu’en pensez-vous ? 7.5. Planification d’un projet de construction. Un entreprise de construction doit planifier la construction d’une maison. Le projet s’articule selon les
122
Chapitre 7. L’ordonnancement de projets activit´es cit´ees au tableau ci-dessous. Activit´e Dur´ee (mois) Ant´ec´edents A 5 B 6 C 3 A D 8 A E 2 B,C F 11 B,C G 1 D H 12 D,E (a) Tracez le graphe de la m´ethode PERT et d´eterminez sur ce graphe la date de fin au plus tˆot de la construction de la maison. (b) Quelle est la dur´ee minimale du projet ? (c) Calculez les dates de d´ebut au plus tˆot, les marges, les dates de d´ebut au plus tard. (d) Quel est le chemin critique ? (e) Les tˆaches E et F n´ecessitent toutes deux la pr´esence d’un bulldozer et la soci´et´e n’en poss`ede qu’un seul. Indiquez comment on peut respecter cette nouvelle contrainte en augmentant au minimum la dur´ee du projet. Quelle est alors la dur´ee du projet ?
Chapitre 8 Conception d’un centre de production 8.1
Introduction
Les d´ecisions d’implantation d’un centre de production incluent 1. la d´ecision de localisation du centre qui d´epend de : • la localisation des clients; • la disponibilit´e et le coˆut de la main d’œuvre; • la disponibilit´e des mati`eres premi`eres; • les aides nationales et locales a` l’investissement; • la volont´e de p´en´etrer un march´e local difficile; • la qualit´e des hˆopitaux, la qualit´e du cadre de vie,. . . A titre d’exemple, on peut citer la localisation de la nouvelle usine TOYOTA pr`es de Valenciennes, qui est situ´ee au cœur de l’Europe et dans le pays europ´een le plus protectionniste en faveur de ses marques nationales. 2. le choix de la capacit´e de production qui d´epend : • de la pr´evision de la demande a` long terme; • de la volont´e de l’entreprise de dominer un march´e; • de la possibilit´e de r´epondre rapidement a` des variations de demande. Vu l’incertitude sur la demande, on implante souvent une nouvelle usine par phases successives. C’est le cas de la nouvelle usine de Toyota pr`es de Valenciennes. 3. la configuration du centre de production : il s’agit de d´eterminer comment les diff´erents e´ quipements et postes de travail doivent eˆ tre dispos´es. Nous commencerons le chapitre en examinant ce point. 123
Chapitre 8. Conception d’un centre de production
124
8.2
Configuration d’un centre de production
Il s’agit donc ici de d´eterminer la mani`ere de disposer les e´ quipements et les postes de travail les uns par rapport aux autres . Il existe au moins trois types de configurations possibles : 1. La configuration en ateliers sp´ecialis´es est utilis´ee lorsqu’il y a une grande vari´et´e d’articles diff´erents a` produire. On peut alors regrouper dans un atelier l’ensemble des machines assurant une fonction donn´ee. Par exemple, dans un garage, l’atelier de peinture, l’atelier carrosserie,. . . 2. La configuration en terme de produit est utilis´ee lorsqu’il y a une demande importante et continue de quelques produits. On organise la production soit en ligne (c’est le cas des lignes d’assemblage d’automobiles) soit en industrie de process (c’est le cas des raffineries de p´etrole). 3. On parle de configuration a` poste fixe lorsque l’op´erateur doit se d´eplacer entre deux op´erations. On peut citer comme exemples : • un client qui se d´eplace entre les diff´erents rayons d’un super march´e; • un magasinier qui se d´eplace entre les diff´erents rayonnages d’un magasin de stockage de carrelage.
8.2.1
Configuration en ateliers sp´ecialis´es
Illustrons cette configuration par l’exemple tir´e de Mac Clain [13] d’une maternit´e qui regroupe les diff´erents services concern´es sur un mˆeme e´ tage d’un hˆopital : • accueil • salle d’attente • consultation pr´enatale • e´ chographie • salle d’accouchement Une question cruciale pour une bonne organisation de ce type de configuration est la localisation relative de ces diff´erents services. On doit tenir compte de : 1. du volume de trafic entre deux services de sorte que deux services avec un flux important soient localis´es proches l’un de l’autre;
Section 8.2. Configuration d’un centre de production
125
2. du fait qu’il peut y avoir r´epulsion entre deux services. Une matrice de proximit´e peut eˆ tre utilis´ee pour indiquer la proximit´e voulue A : Absolument n´ecessaire S : Sp´ecialement important I : Important G : G´en´eralement proche, : sans importance X : a` e´ viter La figure 8.1 illustre cette matrice dans le cas de la maternit´e. On peut e´ galement, ACCUEIL G SALLE D'ATTENTE I CONSULTATIONS
X S
ECOGRAPHIE A SALLE ACCOUCHEMENT
Figure 8.1: Matrice de proximit´e. plutˆot que de noter la proximit´e, donner une matrice de flux entre les diff´erents services. On peut alors concevoir une localisation des diff´erentes services qui minimise la somme des flux entre services pond´er´ee par la distance entre ces services. 4 3 2 1 0 -1
Supposons que l’on note l’int´erˆet d’ˆetre proche par la grille de poids suivante : : Absolument n´ecessaire : Sp´ecialement important : Important : G´en´eralement proche : sans importance : a` e´ viter
On peut alors d´efinir la matrice de poids wik mesurant l’importance pour le service i d’ˆetre proche du service k donn´ee au tableau 8.1. Remarquez que la matrice est sym´etrique. Les cinq services sont a` placer a` une des cinq places disponibles sur le plateau de l’hˆopital repr´esent´e a` la figure 8.2. On peut mesurer la distance djl entre les emplacements j et l. Elles sont reprises au tableau 8.2. On obtient e´ galement une matrice sym´etrique de distances.
Chapitre 8. Conception d’un centre de production
126
wik
k=1 k=2 k=3 k=4 k=5
i=1
−1
1
i=2
1
2
i=3
2
3
i=4
3 −1
i=5
4 4
Tableau 8.1: Matrice de poids mesurant l’importance d’ˆetre proches.
j =2 j =1
j =3 d14
j =4
j =5
Figure 8.2: Disposition relative des locaux a` affecter.
djl
l=1 l=2 l=3 l=4 l=5
j=1
5
7
5
4
4
2
3
2
3
j=2
5
j=3
7
4
j=4
5
2
2
j=5
4
3
3
1 1
Tableau 8.2: Matrice des distances entre locaux.
Section 8.2. Configuration d’un centre de production
127
Formulation du probl`eme de localisation Nous allons maintenant formuler le probl`eme comme un probl`eme d’affectation quadratique. On a donc 5 services a` localiser a` une des 5 places possibles. On choisit ici comme variables : xij = 1 si le service i est localis´e en place j, = 0 sinon. Dans ce cas, l’objectif peut s’´ecrire de la mani`ere suivante : min
n n n n
wik djl xij xkl
i=1 k=1 j=1 l=1
avec djl la distance entre les localisations j et l et wik , le poids dans la matrice de proximit´e. Expliquons la forme de cette fonction objectif : on ne retrouvera dans cet objectif que les termes o`u xij xkl = 1, c’est-`a-dire o`u i est mis en place j et k en place l. L’objectif minimise la somme des distances entre les paires de lieux (j, l), pond´er´ee par l’importance d’une localisation proche des paires de services (i, k), pour autant que xij et xkl soient e´ gaux a` un. Afin de minimiser ce produit, on mettra donc comme coefficient des wik les plus e´ lev´es, les djl les plus faibles, c’est-`a-dire les plus proches l’un de l’autre ceux qui y ont le plus grand int´erˆet. Les contraintes sont de deux types : • ”Toute place j est occup´ee :” n
xij = 1, ∀j = 1, . . .n
i=1
La contrainte indique que chaque place j est occup´ee par un seul service i. • ”Tout service i est plac´e :” n
xij = 1, ∀i = 1, . . .n
j=1
La contrainte indique que chaque service i est plac´e a` une place j. Il faut bien sˆur e´ galement imposer le caract`ere entier des variables : xij ∈ {0, 1}, ∀i, j. Nous ne verrons pas, dans le cadre de ce cours, de m´ethode de r´esolution de ce probl`eme.
Chapitre 8. Conception d’un centre de production
128
8.2.2
Configuration en ligne de production
Lorsqu’un produit est fabriqu´e en grande quantit´e, on peut gagner en efficacit´e en organisant la production en ligne. A titre d’exemple, on peut citer les usines d’assemblage automobiles ou les tunnels de lavage de voitures (car-wash). Le probl`eme principal r´eside dans l’´equilibrage de la chaˆıne : il faut que les diff´erentes op´erations prennent le mˆeme temps car la chaˆıne tourne a` la vitesse de l’op´erateur le plus lent. Une ligne d’assemblage est dite parfaitement e´ quilibr´ee si chaque poste de travail est occup´e a` 100 %. Illustrons ceci sur l’exemple suivant tir´e de Mac Clain [13]. Un appareil e´ lectrom´enager est constitu´e de 11 composants, not´es B1 a` B11, de 3 sousensembles not´es SA1 a` SA3. Le tableau 8.3 fournit les tˆaches, leurs dur´ees et leurs pr´ealables. La somme des temps des diff´erentes tˆaches est de 100 minutes. Label A B C D E F G H I J K L M N Total
Temps 2 7 5 2 15 7 6 4 9 10 4 8 6 15 100
Objet placer le chassis sur la chaˆıne attacher B4 sur chassis attacher B2 sur B1 attacher B3 sur B1 tester SA1 attacher SA1 sur chassis attacher B6 a` B5 attacher SA2 au chassis attacher B7 au chassis attacher B9 a` B8 attacher B10 a` B8 attacher B11 a` B8 attacher SA3 au chassis tester l’appareil
Pr´ed´ecesseurs A C,D A,E B,G A J,K A,L tous
´ Tableau 8.3: Equilibrage d’une chaˆıne. On peut tracer un graphe de pr´es´eance qui n’est rien d’autre que le graphe de la m´ethode du potentiel (sans nœud de d´epart ni d’arriv´e). On a repr´esent´e ce graphe a` la figure 8.3 o`u chaque tˆache est repr´esent´ee par son label et sa dur´ee. La figure 8.3 pr´esente e´ galement une affectation possible des tˆaches a` cinq
Section 8.2. Configuration d’un centre de production
C,5 Poste 1
E,15
129
Poste 2
D,2
F,7 B,7
A,2
H,4
N,15
Poste 3 I,9
G,6
Poste 5
J,10 M,6
L,8 K,4 Poste 4
opérateur 1 opérateur 2 opérateur 3 opérateur 4 opérateur 5 A,B,C,D 16 min
E,F 22 min
G,H,I 19 min
J,K,L 22 min
Figure 8.3: Une affectation possible.
M,N 21 min
Chapitre 8. Conception d’un centre de production
130
op´erateurs. Le temps total de montage pour ce choix est de : 5 op´erateurs × 22 minutes par cycle = 110 homme-minutes. Il y a donc un temps mort de 10 minutes, ce qui correspond a` un pourcentage de temps mort de : 10 = 9, 1% 110 Une mesure de la qualit´e de la solution est pr´ecis´ement ce rapport du temps mort sur le temps total de montage. Ce rapport est appel´e retard d’´equilibre et se calcule par la formule suivante : RE = avec n c T
= = =
nc − T nc
nombre de postes de travail, temps d’un cycle somme des temps individuels.
Remarquons qu’ici on n’a pas atteint l’objectif d’un e´ quilibrage parfait qui impliquerait de construire 3 articles par heure avec un temps de cycle de 20 minutes. Remarquons qu’il n’est pas toujours possible d’atteindre l’´equilibre parfait de la chaˆıne puisque les tˆaches ne sont pas divisibles a` l’infini. R´esolution du probl`eme d’´equilibre de la chaˆıne Voyons maintenant comment r´esoudre le probl`eme. Trouver l’affectation qui minimise le retard d’´equilibre est un probl`eme en nombres entiers particuli`erement difficile a` r´esoudre. Une heuristique qui permet de trouver rapidement une solution (sans garantie qu’elle soit optimale) est la suivante. On se fixe une dur´ee maximum pour chaque poste de travail. Ici fixons nous une dur´ee maximum de 19 minutes. On va alors remplir ces postes de la mani`ere suivante : Pas1. Attribuer un score a` chaque tˆache et classer les tˆaches par score d´ecroissant. Ici, on utilise comme score 1 la dur´e de la tˆache. On obtient : E, N, J, I, L, B, F, G, M, C, H, K, A, D Pas 2. Mettre a` jour l’ensemble des tˆaches disponibles (c’est-`a-dire les tˆaches dont tous les pr´ed´ecesseurs imm´ediats sont affect´es). Au d´ebut, ce sont celles sans pr´ed´ecesseur : S = {J, G, C, K, A, D}
Section 8.2. Configuration d’un centre de production
131
Pas 3. Affecter la tˆache avec le score le plus e´ lev´e dans le premier poste o`u la capacit´e et les contraintes de pr´es´eance ne sont pas viol´ees : J au poste 1. Aller en au Pas 2. On remplit alors progressivement le tableau suivant. Poste 1 Poste 2 Poste 3 J,10 10 C,5 5 I,9 9 G,6 16 K,4 9 B,7 16 A,2 18 L,8 17 D,2 19 18 19 16
Poste 4 M,6 6 H,4 10
Poste 5 E,15 15
10
15
Poste 6 Poste 7 F,7 7 N ,15 15
7
15
Le d´etail des it´erations est repris ci-dessous : S S S S S S S
= {J, G, C, K, A, D} : J en 1; S = {B, M, D} : B en 3; = {G, C, K, A, D} : G en 1; S = {M, H, D} : M en 4; = {C, K, A, D} : C en 2; S = {H, D} : H en 4; = {K, A, D} : K en 2; S = {D} : D en 2; = {L, A, D} : L en 2; S = {E} : E en 5; = {A, D} : A en 1; S = {F } : F en 6; = {I, B, M, D} : I en 3; S = {N } : N en 7
On peut alors calculer le retard d’´equilibre de cette solution : RE =
nc − T 7 × 19 − 100 = = 24, 81% nc 7 × 19
On voit que la solution n’est pas d’une tr`es grande qualit´e. On peut utiliser plutˆot un second score qui consiste a` additionner a` la dur´ee de la tˆache, celles de toutes les tˆaches qui la suivent. Ainsi, a` la dur´ee de la tˆache A, on ajoute le temps des tˆaches F, B, I, M, H et N. Le calcul du second score (voir figure 8.4) donne les r´esultats suivants : A B C D E F G H I J K L M N 50 26 42 39 37 22 25 19 24 39 33 29 21 15 Le classement des tˆaches suivant ce second score est le suivant : A, C, D, J, E, K, L, B, G, I, F, M, H, N
Chapitre 8. Conception d’un centre de production
132
C,5 E,15 D,2
F,7 B,7
A,2
H,4
N,15
I,9
G,6 J,10
M,6
L,8 K,4
Figure 8.4: Graphe des pr´ealables On remplit le tableau comme suit Poste 1 A,2 2 C,5 7 D,2 9 J,10 19 19
Poste 2 Poste 3 Poste 4 Poste 5 E,15 15 L,8 8 G,6 6 F,7 7 K,4 19 B,7 15 I,9 15 M,6 13 H,4 19 19
15
19
Poste 6 N,15 15
13
15
Le d´etail des it´erations est donn´e ci-dessous. S S S S S S S
= {A, C, D, J, K, G} : A en 1; S = {B, G, I, F, M } : B en 3; = {C, D, J, K, B, G, I} : C en 1; S = {G, I, F, M } : G en 4; = {D, J, K, B, G, I} : D en 1; S = {I, F, M, H} : I en 4; = {J, E, K, B, G, I} : J en 1; S = {F, M, H} : F en 5; = {E, K, B, G, I} : E en 2; S = {M, H} : M en 5; = {K, B, G, I, F } : K en 2; S = {H} : H en 4 = {L, B, G, I, F } : L en 3; S = {N } : N en 6.
On peut alors calculer le retard d’´equilibre de cette solution : RE =
19 × 6 − 100 = 12, 3% 19 × 6
On voit que la solution est meilleure sans eˆ tre optimale puisque la solution pr´esent´ee a` la figure 8.3 est meilleure avec un retard d’´equilibre de 9,1 %. On peut e´ galement agir sur la dur´ee maximum de 19 qui est un param`etre de l’heuristique.
Section 8.2. Configuration d’un centre de production
8.2.3
133
Configuration a` poste fixe
Lorsque l’op´erateur voyage entre les diff´erentes op´erations, on parle de conception a` poste fixe. Comme exemples, on peut citer : • les magasins en self-service o`u le client se d´eplace de rayon en rayon; • les entrepˆots de stockage de carrelages, de tapis-pleins, etc. . . • une infirmi`ere qui se d´eplace d’une chambre a` l’autre dans un hˆopital,. . . Le probl`eme principal r´eside dans la localisation des aires de stockage de mani`ere a` minimiser soit • le coˆut total de manipulation en mettant les produits les plus utilis´es aux endroits les plus accessibles; • le temps maximum d’acc`es dans le cas, par exemple, de la localisation de centres d’intervention d’urgence. Cas d’un entrepˆot : Illustrons ce cas par l’exemple de la soci´et´e Sommer qui produit en grandes s´eries ses diff´erentes r´ef´erences de tapis pleins qui sont vendues en quelques unit´es a` ses clients qui sont les centres de bricolage et les surfaces sp´ecialis´ees en revˆetement de sol. On approvisionne le stock en grandes quantit´es (de l’ordre de 200 rouleaux d’un mˆeme type). On d´estocke, a` la demande, en petites quantit´es (un ou deux rouleaux). Le stockage est rendu n´ecessaire par la diff´erence entre la taille e´ conomique d’un lot a` la production et la taille moyenne d’un lot demand´e. Pour le placement optimal des rouleaux, on a int´erˆet a` placer les articles ayant le plus fort taux de rotation de stock aux emplacements les plus accessibles. Il y a deux mani`ere de stocker : • Stocker a` des places d´edi´ees : une r´ef´erence donn´ee sera toujours a` la mˆeme place. Ce qui facilite le contrˆole et l’information. L’inconv´enient est que l’on perd beaucoup de place car chaque emplacement est rempli a` 50 % en moyenne. • Stocker a` la premi`ere place disponible : ceci n´ecessite un syst`eme informatique de localisation : chaque lot est localis´e par le num´ero de l’all´ee, la distance dans l’all´ee, et la hauteur dans le rayon.
134
Chapitre 8. Conception d’un centre de production
La solution adopt´ee chez Sommer est le d´edicacement par zone : on place le produit dans la premi`ere place disponible dans une zone (assez large) correspondant a` son taux de rotation. Ceci est donc un compromis entre une capacit´e de stockage r´eduite et la rapidit´e d’acc`es aux produits a` forte rotation de stock. Cas des centres d’intervention d’urgence : Dans ce second cas, l’objectif est de minimiser le temps d’acc`es au client le plus e´ loign´e. Par exemple, dans un service hospitalier, on veut localiser le local des infirmi`eres de mani`ere a` avoir un temps de r´eaction aupr`es de chaque patient aussi court que possible. La solution, dans ce cas, est de construire un e´ tage circulaire avec le local des infirmi`eres au centre. Remarquez qu’ici souvent la solution impliquera des localisations multiples afin de bien couvrir une zone : par exemple, dans le cas des pompiers, on aura diverses antennes d´elocalis´ees permettant d’atteindre rapidement des villages d´ecentr´es.
8.3
D´ecisions de capacit´e
Nous allons illustrer les d´ecisions de choix d’une capacit´e sur l’exemple tir´e de Mac Clain [13] d’une boulangerie industrielle qui fournit les supermarch´es de sa r´egion et qui s’attend a` une croissance de la demande. Les donn´ees num´eriques sont les suivantes : 1. Mod´elisation de la demande : il y a incertitude sur la demande future du produit. Si le succ`es du produit est important, une capacit´e suppl´ementaire de 5 000 unit´es par semaine sera n´ecessaire pour un profit de 40 000 $ par semaine hors frais d’amortissement du capital. Si le succ`es du produit est mitig´e, une capacit´e de 2 000 unit´es par semaine sera suffisante et la compagnie fera un profit de 16 000 $ par semaine. La demande est connue au bout d’un an. On suppose que les b´en´efices sont comptabilis´es en fin d’ann´ee. Une ann´ee comporte 52 semaines d’ouverture du magasin. 2. Donn´ees de coˆut d’investissement. Une capacit´e de 2 000 unit´es par semaine peut eˆ tre construite pour 800 000 $. Une capacit´e de 5 000 unit´es par semaine peut eˆ tre construite pour 1,5 millions de $. Une capacit´e de 2 000 peut eˆ tre e´ tendue a` une capacit´e de 5 000 pour 1 million de $. Les surcapacit´es sont sans valeur. 3. La dur´ee de vie des e´ quipements est de 20 ans.
Section 8.3. D´ecisions de capacit´e
135
4. Le facteur d’actualisation, n´ecessaire car les profits sont r´epartis dans le futur, est de 25 % l’an. 5. La probabilit´e de succ`es du lancement du produit est estim´ee a` 20 % sur base d’exp´eriences d’introduction d’autres produits. Les diff´erents choix possibles peuvent eˆ tre utilement illustr´es sur un arbre de d´ecision tel que celui de la figure 8.5. Un carr´e repr´esente une d´ecision. Un cercle Investiss. Profit. 1,500,000 40,000
haute demande
00
faible demande
0 e5
r ui
rester à 2000
tr
s on
c
ute e ha and m de
construire 2000 ne
rie
1,500,000 16,000
+3000
faible demande
nc
ons
800,000 16,000 800,000 16,000 +1,000,000 +24,000 800,000 16,000
tru
ire
0
0
Figure 8.5: Arbre de d´ecision repr´esente un e´ tat du monde. Pour le choix d’une capacit´e, on va s´electionner la capacit´e d’esp´erance de profit la plus e´ lev´ee. D´efinition 8.1 On appelle valeur nette pr´esente, la somme actualis´ee des profits futurs moins l’investissement initial. Nous aurons besoin, dans le calcul de la VAN, de la formule suivante pour le calcul d’annuit´es : n t=1
1 1+i
t
1 − (1 + i)−n = i
(8.1)
Consid´erons la construction initiale de 5 000 en cas de demande forte. Ce cas
Chapitre 8. Conception d’un centre de production
136 F Nt
40.000 × 52 0 1
2
3
20 t
.. .
-1.500.000
Figure 8.6: Construction de 5 000 en cas de demande forte. est illustr´e a` la figure 8.6. La VAN se calcule donc comme suit : V AN =
(40 000 × 52) − 1 500 000 1, 25t t=1
20
= (40 000 × 52) ×
20
t=1
1 1, 25
t
− 1 500 000
Appliquons la formule (8.1) a` notre exemple : 20 t=1
1 1, 25
t
1 − (1, 25)−20 = = 3, 953883 0, 25
D’o`u la valeur nette au bout d’un an de : V AN = 40 000 × 52 × 3, 953883 − 1 500 000 = 6 724 077. Consid´erons maintenant la construction initiale de 5 000 en cas de demande faible. La VAN se calcule comme suit : V AN = (16 000 × 52) ×
20
t=1
1 1, 25
t
− 1 500 000 = 1 789 631.
Consid´erons maintenant la construction de 2000 en cas de demande haute et sans investissement suppl´ementaire. La VAN se calcule comme suit : V AN = (16 000 × 52) ×
20 t=1
1 1, 25
t
− 800 000 = 2 489 631.
Section 8.3. D´ecisions de capacit´e
137
F Nt
40.000 × 52 16.000 × 52 0
1
2
3
20 t
.. .
-800.000 -1.000.000
Figure 8.7: Construction de 2 000 (+3000) en cas de demande forte. Consid´erons la construction initiale de 2 000 augment´ee de 3 000, en cas de demande forte. L’investissement initial de 2 000 rapporte 16 000 $ durant 20 ans et l’investissement de d´ebut de 2`eme ann´ee rapporte un suppl´ement de profit de 24 000 durant 19 ans. Ce cas est illustr´e a` la figure 8.7. La VAN au temps 1 de l’investissement suppl´ementaire se calcule comme suit : V AN1 = (24 000 × 52) ×
19 t=1
1 1, 25
t
− 1 000 000.
Appliquons la formule (8.1) a` la somme des facteurs d’actualisation : 19 t=1
1 1, 25
t
1 − (1, 25)−19 = = 3, 942 0, 25
On obtient une valeur nette au bout d’un an de l’investissement suppl´ementaire : V AN1 = 24 000 × 52 × 3, 942 − 1 000 000 = 3 920 058. On en conclut que l’on a int´erˆet a` faire l’investissement puisque la VAN est positive. Pour obtenir la VAN de ce cas, il faut ajouter la VAN de l’investissement initial de 2 000 qui rapporte 16 000 durant 20 ans :
V AN0
20 1 1 = 3 920 058 + (16 000 × 52) × 1, 25 t=1 1, 25 1 = 3 920 058 + 2 489 631 = 5 625 677. 1, 25
t
− 800 000
Enfin, le cas d’une demande faible avec un investissement initial de 2 000 est identique au cas de la construction initiale de 2 000 et d’une demande forte lorsque l’on reste a` 2 000. Il a d´ej`a e´ t´e calcul´e plus haut.
Chapitre 8. Conception d’un centre de production
138
D´ecision
demande
VAN
construire 5 000
forte
6 724 077
construire 5 000
faible
1 789 631
construire 2 000 + 3 000
forte
5 625 677
construire 2 000
faible
2 489 631
construire 0
forte
0
construire 0
faible
0
Tableau 8.4: Calcul de la VAN Les r´esultats dans les diff´erents cas sont r´esum´es au tableau 8.4. On peut alors calculer les profits esp´er´es dans chacun des deux cas d’investissement initial : • Construire 5 000 : E(V AN ) = 0, 2 × 6 724 077 + 0, 8 × 1 789 631 = 2 776 520 $. • Construire 2 000 : E(V AN ) = 0, 2 × 5 625 677 + 0, 8 × 2 489 631 = 3 116 840 $. En conclusion, il vaut mieux construire une petite capacit´e et e´ tendre apr`es un an si n´ecessaire. Remarquons que le r´esultat d´epend crucialement de la probabilit´e de succ`es du produit (voir exercice ci-dessous).
8.4
D´ecisions de localisation
La d´ecision de localisation d’un centre de production doit eˆ tre analys´ee en tenant compte de plusieurs crit`eres : 1. la facilit´e d’acc`es, les coˆuts de transport; 2. la disponibilit´e, qualification et le coˆut de la main d’œuvre; 3. le coˆut de construction, les taxes locales; 4. l’attraction des clients;
Section 8.4. D´ecisions de localisation
139
5. la disponibilit´e des mati`eres premi`eres; 6. les attitudes des autorit´es locales et nationales. L’importance relative de ces crit`eres d´epend du type d’activit´e a` localiser : • localiser un super-march´e : les coˆuts de transport et l’attraction des clients sont pr´epond´erants; • localiser une usine : le coˆut de la main d’œuvre et la disponibilit´e des mati`eres premi`eres sont pr´epond´erants. Les mod`eles de localisation optimale consid`erent g´en´eralement un seul crit`ere. Deux techniques sont appliqu´ees suivant l’objectif poursuivi : la technique de gravit´e si on veut minimiser les coˆuts totaux de transport ou celle de discr´etisation si on veut minimiser le temps d’acc`es au client le plus e´ loign´e. Disons un mot de ces deux techniques qui correspondent chacune a` un choix d’objectif : • La technique du centre de gravit´e. Si l’on veut minimiser le nombre de tonnes-kilom`etres de produit transport´e du fournisseur le plus e´ loign´e ou au client le plus e´ loign´e, on a int´erˆet a` se situer au centre de gravit´e des clients et fournisseurs. Par exemple, dans la localisation d’une usine de production de b´eton, on a int´erˆet a` se situer au centre de gravit´e des carri`eres et des gros clients. y
Cl 1
MP 2 (x1 , y1 )
(x2 , y2 )
MP 1 (x1 , y1 )
Cl n
(x ∗ , y∗ )
(xn , yn )
Cl 2
(x2 , y2 )
MP m (x m , ym )
Figure 8.8: Centre de gravit´e
x
Chapitre 8. Conception d’un centre de production
140
Fixons-nous la notation suivante: tonnes de mati`ere premi`ere venant de i; M Pi = (xi , yi ) = coordonn´ees du fournisseur i; Clj = tonnes vers le client j; (xi , yi ) = coordonn´ees du client i; Le centre de gravit´e se calcule ainsi : m
xi M Pi +
i=1
x∗CG = m
i=1 M Pi +
m
m
xj Clj
j=1 m j=1
y i M Pi +
i=1
∗ yCG = m
Clj
i=1 M Pi +
m
yj Clj
j=1 m j=1
Clj
• La m´ethode de discr´etisation. Lorsque le crit`ere temps d’acc`es est le plus important, on aura recours le plus souvent a` des emplacements multiples afin d’avoir un bon acc`es a` tous. Par exemple, lors de la localisation d’un centre d’intervention de pompiers, on veut minimiser le temps d’acc`es au client le plus e´ loign´e. Ce qui conduit a` implanter des antennes d´ecentralis´ees. Illustrons la diff´erence entre ces deux objectifs sur un exemple simple illustr´e a` la figure 8.9 o`u deux villes sont situ´ees a` 9 kilom`etres de distance l’une de l’autre. 1.000 0
1
2
3
x ∗M D
x ∗C G
4
6
5
2.000 7
8
9
Figure 8.9: Calcul du centre de gravit´e La formule du centre de gravit´e nous donne ici (avec xi la coordonn´ee de la ville i et Pi , sa population) :
x∗CG
x i Pi 0 × 1.000 + 9 × 2.000 = =6 3.000 i Pi
= i
Pour minimiser le nombre de kilom`etres a` parcourir pour desservir les deux villes, un repr´esentant de commerce a int´erˆet a` se localiser a` 6 km de la premi`ere et 3 kilom`etre de la seconde ville. Par contre, pour un centre d’intervention d’urgence, a int´erˆet a` se localiser au centre des deux villes (`a 4,5 kilom`etre de chaque ville). x∗M D = 4, 5
Section 8.5. Utilisation de la programmation math´ematique
8.5
141
Utilisation de la programmation math´ematique
Pour terminer ce chapitre, nous allons illustrer l’utilit´e de la programmation math´ematique dans les d´ecisions de localisation et de choix de capacit´es sur un exemple e´ galement tir´e de tir´e de Mac Clain [13]. Les diff´erentes donn´ees du probl`eme sont reprises aux tableaux 8.5 et 8.6. Les coˆuts de transport entre les diff´erentes usines et les diff´erents clients sont donn´es au tableau 8.5 en $ par kg. Les demandes des clients sont donn´ees au tableau 8.5 en millions de kg par jour. Les coˆuts de production sont donn´es au tableau 8.6 en $ par kg. Les capacit´es de production sont donn´ees au tableau 8.6 en millions de kg par jour. Vers le le client
Coˆut de l’usine ($/kg) A
B
Demande du client
C
(106 kg/jour)
1
0,021 0,039
0,035
0,5
2
0,024 0,029
0,034
0,8
3
0,019 0,040
0,029
0,5
4
0,048 0,027
0,026
0,9
5
0,037 0,024
0,032
0,9
6
0,029 0,023
0,041
0,8
7
0,020 0,041
0,032
0,6
8
0,041 0,034
0,019
0,6
9
0,050 0,034
0,018
0,8
10
0,047 0,035
0,018
0,7
Tableau 8.5: Coˆuts de transport et demandes.
Usine
A
Coˆut de production ($/kg) Capacit´e de production (106 kg/jour)
B
C
0,347 0,326 0,351 1,8
4
1,6
Tableau 8.6: Coˆuts et capacit´es de production. On veut d´eterminer le plan de distribution qui minimise la somme des coˆuts de production et des coˆuts de transport.
142
Chapitre 8. Conception d’un centre de production
Nous allons formuler le probl`eme comme un probl`eme de programmation math´ematique : • Choix des variables. Notons xij , le nombre de millions de kg produits a` l’usine i et livr´es au client j. • Expression de l’objectif. Il s’exprime simplement par : min z =
C 10
cij xij
i=A j=1
avec cij , le coˆut de fourniture d’un million d’unit´e de l’usine i vers le client j. Ce coˆut est la somme du coˆut de production et du coˆut de transport. • Expression des contraintes. Elles sont de deux types : – “Respecter la capacit´e de l’usine i :” 10
xij ≤ CAPi , ∀i = A, B, C
j=1
o`u CAPi note la capacit´e de l’usine i. – “Satisfaire la demande du client j :” C
xij = DEMj , ∀j = 1, 2, ...10
i=A
o`u DEMj note la demande du client j. La solution optimale peut eˆ tre trouv´ee par l’algorithme du Simplexe puisqu’il s’agit d’un probl`eme purement lin´eaire. Examinons maintenant le probl`eme de la localisation d’une nouvelle usine. Supposons que l’usine C doive eˆ tre remplac´ee. Les alternatives possibles sont : 1. Accroˆıtre l’usine B a` 6 millions de kg par jour. 2. Construire une nouvelle C de 2 millions de kg/jour. 3. Construire une nouvelle C de 4 millions de kg/jour.
Section 8.5. Utilisation de la programmation math´ematique
Les alternatives
coˆut fixe
coˆut de production
6 millions B
18 millions de $
0,326
2 millions C
18 millions de $
0,335
4 millions C
34 millions de $
0,320
143
Tableau 8.7: Donn´ees de coˆut des alternatives. Les alternatives
coˆut journalier
coˆut fixe
(LP1) situation actuelle
2 561 600
(LP2) 6 millions B
2 547 300
18 millions
(LP3) 2 millions C
2 533 100
18 millions
(LP4) 4 millions C
2 469 700
34 millions
Tableau 8.8: Donn´ees de coˆut des alternatives. Leurs coˆuts respectifs sont donn´es au tableau 8.7. Effectuons une comparaison des 3 alternatives et de la situation actuelle. Il s’agit de r´esoudre successivement quatre probl`emes lin´eaires not´es (LP1) a` (LP4) au tableau 8.8. Dans la colonne “coˆut journalier”, on donne la somme du coˆut de production et du coˆut de transport, hors frais fixes d’investissement. Une premi`ere conclusion qui peut eˆ tre tir´ee de ce tableau est que (LP2) peut eˆ tre e´ limin´e car ayant un coˆut fixe identique a` celui de (LP3), une alternative qui a un coˆut journalier inf´erieur. Calculons l’´economie de (LP3) sur 300 jours de production par rapport a` la situation actuelle : (2 561 600 − 2 533 100) × 300 = 8 555 000 Soit une e´ conomie de 8,555 millions par an pour un investissement initial de 18 millions de $. Cet investissement est certainement rentable, quel que soit le facteur d’actualisation. Calculons maintenant l’´economie additionnelle de (LP4) par rapport a` (LP3) : (2 533 100 − 2 469 700) × 300 = 19 020 000 Soit un e´ conomie additionnelle de 19,020 millions par an pour un investissement additionnel de 16 millions de $. A nouveau, cet investissement est hautement profitable. On choisira donc la solution (LP4) : construire la nouvelle usine C a` 4 millions de kg par jour.
144
Chapitre 8. Conception d’un centre de production
Remarquons que, dans la solution de (LP4), l’usine A n’est plus utilis´ee du tout et peut eˆ tre ferm´ee. Enfin, terminons ce chapitre en illustrant l’importance de l’utilisation de variable binaires dans les d´ecisions de choix de capacit´e. Prenons l’exemple de l’ouverture e´ ventuelle d’une nouvelle usine D de 2 millions de capacit´e. La d´ecision d’ouverture de la nouvelle usine peut eˆ tre mod´elis´e par la variable binaire : yD ∈ {0, 1} avec yD valant 1 si l’usine D est ouverte et z´ero sinon. Cette variable binaire interviendra dans la contrainte de capacit´e de la nouvelle usine comme suit : 10
xDj ≤ 2yD
j=1
En effet, si l’usine D est ferm´ee, le membre de droite est nul et rien ne peut sortir de l’usine. Cette variable interviendra aussi dans la fonction objectif. En effet, a` la somme des coˆuts de transport, on peut ajouter le coˆut fixe du nouvel investissement. Ceci conduit a` l’expression suivante pour l’objectif : min z =
D 10
cij xij +
i=A j=1
D
Ki y i
i=B
o`u Ki est le coˆut fixe d’ouverture de l’usine i. Remarquez aussi que les variable binaires peuvent eˆ tre utilis´ees pour d´ecider du niveau de la capacit´e d’une nouvelle usine parmi un nombre discret de valeurs possibles. Ainsi, si l’usine D peut avoir comme capacit´e 2 millions ou 5 millions d’unit´es, on peut e´ crire : 10
xDj ≤ 2yD + 5yD
j=1
avec la contrainte suppl´ementaire que yD + yD = 1,
ce qui va assurer qu’une seule des deux capacit´es est s´electionn´ee. Remarquez enfin que l’utilisation de variables binaire conduit a` un probl`eme en nombres entiers. Il s’agit d’un probl`eme plus difficile a` r´esoudre que les probl`emes lin´eaires (LP1) a` (LP4). Il peut eˆ tre r´esolu par application de la m´ethode de branch and bound.
Section 8.6. Exercices
8.6
145
Exercices
8.1. Assemblage de magn´etoscopes. Un atelier de fabrication de magn´etoscopes doit eˆ tre r´eorganis´e en ligne de production. Les op´erations n´ecessaires a` la fabrication d’un magn´etoscope ont e´ t´e divis´ees en 14 tˆaches indivisibles. Les temps op´eratoires (en minutes) ainsi que les relations d’ant´eriorit´e sont d´ecrites dans le tableau ci-dessous. Tˆache
A
B
C
D
E
F
G H
I
J
K
L
M
N
Dur´ee
2
4
10
5
5
4
5
6
8
10
12
9
6
4
Pr´ealables
-
A
A
E
B C H
J
J
D,F
I
K
L
G,M
Vous eˆ tes responsable de la production et d´esirez produire 30 magn´etoscopes par jour de travail (un jour comporte deux pauses de 7,5 heures de travail). On vous demande : (a) Est-il possible de r´ealiser la production de 30 magn´etoscopes par jour si la chaˆıne de production n’est constitu´ee que d’un seul poste de travail ? (b) D´eterminez le temps de cycle requis pour respecter la contrainte de 30 unit´es par p´eriode. Autrement dit, un magn´etoscope doit sortir toute les c minutes : que vaut c ? (c) Repr´esentez les relations d’ant´eriorit´e sur un graphique de r´eseau. (d) D´eterminez au moyen de l’heuristique de score 1 une affectation des op´erations aux postes de travail afin de respecter la contrainte de 30 unit´es par p´eriode. Repr´esentez sur le graphique la solution obtenue. (e) Calculez le retard d’´equilibre de votre solution. 8.2. D´eveloppement de complexes cin´ematographiques. Un groupe de distribution cin´ematographique envisage d’accroˆıtre sa capacit´e de distribution en r´egion Li´egeoise. Deux projets sont a` l’´etude, un seul sera r´ealis´e : • la r´enovation d’un ancien complexe de 4 salles de cin´ema au centre ville d’une capacit´e totale apr`es r´enovation de 2.000 si`eges. • la construction d’un nouveau complexe de 15 salles de cin´ema en p´eriph´erie d’une capacit´e totale 10.000 si`eges. Le coˆut des travaux est de 3 millions d’euro pour le projet de r´enovation et de 15 millions d’euro pour le projet de construction. La dur´ee de vie ´ des installations est de 20 ans. Etant donn´e le planning des s´eances et les diff´erents publics attendus, le profit annuel moyen par si`ege est estim´e
Chapitre 8. Conception d’un centre de production
146
• a` 2000 euro au centre ville et a` 1000 euro en p´eriph´erie en cas de forte fr´equentation, • a` 1500 euro au centre ville et a` 300 euro en p´eriph´erie en cas de fr´equentation faible. Le facteur d’actualisation est de 20 % l’an. (a) On demande de dessiner l’arbre de d´ecision complet, mentionnant les montants des investissements et des profits. (b) Pour chacun des cas, calculez la valeur nette actualis´ee au d´ebut du projet, sur toute sa dur´ee de vie. (c) La probabilit´e de succ`es est difficilement estimable. Quel serait la d´ecision d’investissement la plus rentable, • si la probabilit´e de fr´equentation forte est de 45 % : • si la probabilit´e de fr´equentation forte est de 55 % : 8.3. Probl`eme de localisation de centre de distribution de pneus. Un important groupe de fabrication de pneus envisage de restructurer son r´eseau europ´een. Pour le moment, il dispose d’un centre de production par pays qui lui coˆute, sur base annuelle, les frais fixes suivants : Pays
Frais fixes
Capacit´e
Demande
(106 euros) Belgique
1,2
500.000 pneus
400.000 pneus
Espagne
4
3.000.000 pneus
2.000.000 pneus
France
6
10.000.000 pneus 6.000.000 pneus
Portugal
2
1.500.000 pneus
1.000.00 pneus
On envisage de desservir les mˆemes march´es qu’actuellement avec un nombre moins important de centres de production ouverts. La demande domestique sur base annuelle est donn´ee ci dessus. Les frais de transport d’un pneu du pays i au pays j sont connus et not´es ctij . (a) Repr´esentez le probl`eme par un graphique de r´eseau. Indiquez sur celui-ci les donn´ees du probl`eme. (b) Formuler math´ematiquement le probl`eme du choix des usines a` conserver ouvertes a` l’avenir dans le groupe en supposant que la demande demeure stable. On veut minimiser la somme des coˆuts fixes et des coˆuts de transport des pneus.
Partie IV Les techniques d’optimisation
147
Chapitre 9 La programmation dynamique. 9.1
Introduction
La programmation dynamique a pour but de traiter les mod`eles o`u une s´equence optimale de d´ecisions doit eˆ tre prise. Elle est largement utilis´ee en planification de la production pour d´eterminer les lancements de production en cas de coˆuts fixes de lancement de production. Les mod`eles dynamiques r´epondent aux caract´eristiques suivantes : • Ils comportent une certain nombre de p´eriode de temps qui seront not´ees : t = 1, 2, ...n • A chaque e´ tape, une d´ecision doit eˆ tre prise. On note par xt la d´ecision prise a` la p´eriode t. • Chaque e´ tape est caract´eris´ee par un certain nombre d’´etats initiaux possibles. On note par st l’´etat initial de la p´eriode t. Par exemple, en planification de la production : • les e´ tapes sont les diff´erentes p´eriodes de planification, • la d´ecision xt prise a` la p´eriode t est le niveau de production de la p´eriode, • la variable d’´etat st indique le niveau initial du stock de la p´eriode t. L’id´ee g´en´erale des proc´edures de r´esolution en programmation dynamique est la suivante. On part d’un sous probl`eme, celui de derni`ere e´ tape, dont la r´esolution est triviale. Ensuite, et en proc´edant a` rebours, on e´ tend progressivement le probl`eme en incluant les e´ tapes pr´ec´edentes et en calculant la politique optimale a` chaque e´ tape en se basant sur la politique optimale de l’´etape suivante. 149
Chapitre 9. La programmation dynamique.
150
9.2
Le probl`eme du voyageur
Un exemple purement fictif, tir´e de Hillier et Lieberman [7], va nous permettre d’introduire la terminologie employ´ee en programmation dynamique. Il s’agit du probl`eme du voyageur devant traverser l’ouest am´ericain il y a plus d’un si`ecle. Son point de d´epart et sa destination sont connus. Il effectue son voyage en quatre e´ tapes. A chaque e´ tape, il a le choix de se diriger vers plusieurs e´ tats. A la figure 9.1, on a repr´esent´e chaque e´ tat par un cercle. Son e´ tat de d´epart est l’´etat 1 et son e´ tat d’arriv´ee est l’´etat 10. 7
2
5
1
4
4
6
2
8
3 1
4
6 2
3
10
6
3
4 3 4 4
3
4 9
3
1 5
3
7
Figure 9.1: Probl`eme du voyageur. Le voyageur souscrit a` chaque e´ tape une police d’assurance dont le coˆut refl`ete le degr´e d’ins´ecurit´e du voyage. Ceux-ci sont indiqu´es au dessus des arcs a` la figure 9.1. Il va donc d´eterminer son itin´eraire de mani`ere a` choisir la route la plus sˆure en minimisant la somme des polices d’assurance pour le passage d’´etat en e´ tat. Remarquez d’abord que l’approche tr`es simple qui consiste a` choisir a` chaque e´ tape la police la moins ch`ere ne conduit pas a` une solution globalement la moins ch`ere. En effet, en suivant cette strat´egie, on choisirait le chemin 1 → 2 → 6 → 9 → 10 avec un coˆut total d’assurance de 13. Cependant en sacrifiant un peu a` la premi`ere e´ tape, on peut gagner aux e´ tapes ult´erieures. En effet, par exemple la route 1 → 4 → 6 → 9 → 10 permet un coˆut total de 11. Une autre m´ethode serait d’´evaluer toutes les routes possibles. Cependant sur ce petit exemple, elles sont d´ej`a au nombre de 3 × 3 × 2 = 18 et lorsque le nombre d’´etapes et/ou le nombre d’´etats croˆıt, cela devient vite un travail prohibitif. C’est ici qu’intervient la programmation dynamique qui permet de calculer la solution optimale sans faire de l’´enum´eration explicite.
Section 9.2. Le probl`eme du voyageur
9.2.1
151
Formulation en un probl`eme dynamique
La formulation d’un probl`eme dynamique comporte cinq e´ tapes : 1. La d´efinition des e´ tapes. Ici les e´ tapes sont les quatre e´ tapes du voyage. Elles sont not´ees : t = 1, 2, ...4 2. Le choix des variables d’´etat. Dans notre exemple, st note l’´etat de d´epart de l’´etape t. On peut ici donner les valeurs possibles de st a` chaque e´ tape : s1 s2 s3 s4
= ∈ ∈ ∈
1 {2, 3, 4} {5, 6, 7} {8, 9}
3. Le choix des variables de d´ecision. Dans notre exemple, xt note la destination de l’´etape t. On peut donner les valeurs possibles de xt a` chaque e´ tape : x1 x2 x3 x4
∈ ∈ ∈ =
{2, 3, 4} {5, 6, 7} {8, 9} 10.
4. L’expression des relations entre les variables. Ici, les contraintes expriment que la destination d’une e´ tape (xt ) est le point de d´epart de la suivante (st+1 ) : s1 s2 s3 s4 x4
= = = = =
1 x1 x2 x3 10
5. L’expression de l’objectif. L’objectif est ici de minimiser le coˆut total du voyage. Il peut s’´ecrire : min z =
4
ct (st , xt )
t=1
o`u ct (st , xt ) est le coˆut a` l’´etape t d’aller de st vers xt .
152
9.3
Chapitre 9. La programmation dynamique.
Proc´edure de r´esolution
La programmation dynamique commence avec une petite portion du probl`eme original, trouve la solution optimale pour cette portion du probl`eme. Ensuite on e´ largit progressivement le probl`eme, en d´eterminant la nouvelle solution optimale a` partir de la pr´ec´edente. Pour le probl`eme du voyageur, on consid`ere le probl`eme de fin de voyage, lorsqu’il n’y a plus qu’une e´ tape a` faire. Pour ce probl`eme la solution optimale est e´ vidente : le voyageur doit aller directement a` sa destination, l’´etat 10. A l’it´eration suivante, on e´ largit d’une unit´e le nombre d’´etapes a` effectuer. On peut ensuite d´eduire la strat´egie optimale pour la troisi`eme e´ tape en fonction de la strat´egie optimale pour la derni`ere e´ tape. Fixons-nous deux notations utiles pour la proc´edure de r´esolution. D´efinition 9.1 On note par x∗t (st ) la meilleure strat´egie a` l’´etape t, si on est dans l’´etat st a` l’´etape t. D´efinition 9.2 On note par ft∗ (st ) le coˆut de la meilleure strat´egie a` l’´etape t, si on est dans l’´etat st a` l’´etape t. La programmation dynamique va d´eterminer successivement f4∗ (s4 ), f3∗ (s3 ), f2∗ (s2 ) et enfin f1∗ (s1 ) pour chaque e´ tat possible st a` l’´etape t et utiliser par exemple f2∗ (s2 ) pour calculer f1∗ (s1 ). Pour t = 4, c’est-`a-dire lorsque le voyageur n’a plus qu’une e´ tape a` effectuer, sa destination finale est connue : x4 = 10. Le tableau 9.1 reprend les coˆuts minimaux de la derni`ere e´ tape ainsi que la d´ecision optimale en fonction de s4 ,l’´etat de d´epart. s4 x∗4 f4∗ (s4 ) 8
10
3
9
10
4
Tableau 9.1: Coˆuts minimaux de la derni`ere e´ tape Consid´erons le cas t = 3, c’est-`a-dire lorsque le voyageur a encore deux e´ tapes a` effectuer. Si le voyageur est dans l’´etat 5 (s3 = 5), il peut aller vers 8 ou 9 a` des coˆuts respectifs de c5,8 = 1 ou c5,9 = 4 auxquels il faut ajouter le coˆut additionnel de l’´etape 4 donn´e dans la table 9.1. Il s’agit de f4∗ (8) = 3 s’il va vers 8 et de f4∗ (9) = 4 s’il va vers 9. Le coˆut total minimum de 1 + 3 = 4 est obtenu s’il va
Section 9.3. Proc´edure de r´esolution
s3
x3 = 8
153
x3 = 9
x∗3 f3∗ (s3 )
5
1+3=4 4+4=8
8
4
6
6+3=9 3+4=7
9
7
7
3+3=6 3+4=7
8
6
Tableau 9.2: Coˆuts minimaux de la troisi`eme e´ tape. vers 8, donc x∗3 = 8 et f3∗ (5) = 4. On proc`ede de mˆeme pour s3 = 6 et s3 = 7 et on obtient les valeurs donn´ees dans la table 9.2. La solution pour le probl`eme o`u il reste trois e´ tapes (t = 2) est obtenue de mani`ere similaire. Elle est illustr´ee a` la table 9.3. Les e´ tats destination sont cette fois au nombre de trois : il s’agit de x2 = 5, x2 = 6 ou x2 = 7 tandis que les e´ tats de d´epart possibles sont s2 = 2, s2 = 3 ou s2 = 4. Pour les e´ tats de d´epart 2 ou 4, la destination optimale peut eˆ tre au choix 5 ou 6 puisque le coˆut total est le mˆeme. s2
x2 = 5
x2 = 6
x2 = 7
x∗2
f2∗ (s2 )
2
7 + 4 = 11 4 + 7 = 11 6 + 6 = 12 5 ou 6
11
3
3+ 4 =7
2+ 7 =9
4 + 6 = 10
7
4
4+ 4 =8
1+ 7 =8
5 + 6 = 11 5 ou 6
5
8
Tableau 9.3: Coˆut minimaux de la deuxi`eme e´ tape. Enfin, pour le probl`eme de premi`ere e´ tape (t = 1), le coˆut minimum de la police optimale est a` nouveau donn´e en fonction de l’´etat destination de l’´etape comme la somme du coˆut de premi`ere e´ tape plus le coˆut minimum des e´ tapes ult´erieures. On obtient les r´esultats de la table 9.4. s1 1
x1 = 2
x1 = 3
x1 = 4
x∗1
f1∗ (s1 )
2 + 11 = 13 4 + 7 = 11 3 + 8 = 11 3 ou 4
11
Tableau 9.4: Coˆut minimaux de la premi`ere e´ tape. On faut maintenant identifier une politique optimale. Pour t = 1, le voyageur doit donc se diriger initialement vers l’´etat 3 ou 4. Supposons qu’il choisisse x∗1 = 3. Pour t = 2, la strat´egie optimale pour s2 = 3 est x∗2 = 5 (voir tableau 9.3), ce qui dans l’´etape t = 3 conduit a` l’´etat s3 = 5. La strat´egie optimale pour s3 = 5 consiste a` choisir x∗3 = 8 (voir tableau 9.2). On se retrouve en s4 = 8 et on
Chapitre 9. La programmation dynamique.
154
choisit x∗4 = 10 a` l’´etape 4 (voir tableau 9.1). Une des routes optimales est donc le parcours suivant : 1 → 3 → 5 → 8 → 10 et donnant un coˆut total de :
f1∗ (1) = 11
Cette solution est illustr´ee au tableau 9.5. t
1 2 3
4
st 1 3 5
8
x∗t 3 5 8 10 Tableau 9.5: Solution optimale pour le probl`eme du voyageur.
9.4
Un probl`eme d’affectation de ressources rares
Nous illustrons le fait que le champs d’application de la m´ethode de r´esolution est tr`es large sur un deuxi`eme exemple e´ galement tir´e de Hillier et Lieberman [7] : il s’agit du probl`eme de l’organisation mondiale de la sant´e. On suppose que l’OMS dispose de 5 e´ quipes m´edicales a` affecter a` 3 pays pour mener a` bien une campagne de vaccination. L’OMS doit d´eterminer combien d’´equipes envoyer dans chacun des trois pays de mani`ere a` maximiser l’efficacit´e g´en´erale de l’affectation. La mesure de l’efficacit´e est donn´ee en terme d’ann´ees-homme de vie suppl´ementaire. Ces donn´ees sont reprises au tableau 9.6. On suppose que chaque pays doit b´en´eficier d’au moins une e´ quipe. Nombre d’´equipes Pays 1 Pays 2 Pays 3 1 45 20 50 2 70 45 70 3 90 75 80 Tableau 9.6: Milliers d’ann´ees-homme suppl´ementaires.
9.4.1
Formulation comme un probl`eme dynamique
1. D´efinition des e´ tapes. Bien qu’il n’y ait pas de succession temporelle, on peut imaginer que les trois e´ tapes d’un processus dynamique consistent en l’affectation successive aux trois pays puisque lorsqu’une e´ quipe est affect´ee
Section 9.4. Un probl`eme d’affectation de ressources rares
155
a` un pays, elle n’est plus disponible pour les autres pays. On a donc identifi´e les e´ tapes. 2. Choix des variables d’´etat. Comment identifier les e´ tats ? Autrement dit, quelle est l’information n´ecessaire a` une e´ tape pour pouvoir d´eterminer la politique optimale ? Il s’agit simplement du nombre d’´equipes m´edicales qui restent disponibles. Notons st le nombre d’´equipes encore disponibles au d´ebut de l’´etape t. On peut donner les valeurs possibles de st : s1 = 5 s2 ∈ {2, 3, 4} s3 ∈ {1, 2, 3} 3. Choix des variables de d´ecision. Notons xt le nombre d’´equipes m´edicales affect´ees au pays t. On peut donner les valeurs possibles de xt : x1 ∈ {1, 2, 3} x2 ∈ {1, 2, 3} x3 ∈ {1, 2, 3} 4. Relations entre les variables. Les relations de r´ecurrence entre les variables s’´ecrivent ici : s1 = 5 s2 = s 1 − x 1 s3 = s 2 − x 2 En g´en´eral, on peut e´ crire la relation suivante : st+1 = st − xt . Il faut e´ galement ajouter la condition qu’au moins une e´ quipe soit envoy´ee dans chaque pays : xt ≥ 1, ∀t = 1, 2, 3 5. L’expression de l’objectif. L’objectif est ici de maximiser l’efficacit´e de l’allocation. Il peut s’´ecrire : max z =
3
Bt (xt )
t=1
o`u Bt (xt ) mesure le b´en´efice de l’allocation de xt e´ quipes m´edicales au pays t.
Chapitre 9. La programmation dynamique.
156
9.4.2
R´esolution par la programmation dynamique
A l’´etape t = 3, les e´ tats possibles vont de 1 (il faut au moins une e´ quipe pour le pays 3) jusqu’`a 3 (on a au moins affect´e une e´ quipe au pays 1 et une e´ quipe au pays 2). A la derni`ere e´ tape, on a int´erˆet a` affecter toutes les e´ quipes encore disponibles (voir tableau 9.7). s3 x∗3 f3∗ (s3 ) 1 1 50 2 2 70 3 3 80 Tableau 9.7: Calculs de l’´etape 3. A l’´etape 2, les e´ tats possibles vont de 2 (il faut au moins une e´ quipe pour le pays 2 et une e´ quipe pour le pays 3) a` 4 (on a au moins attribu´e une e´ quipe au pays 1). A la deuxi`eme e´ tape, au gain de l’´etape, il faut ajouter le gain r´esultant pour l’´etape 3 avec s3 = s2 − x2 . Le d´etail des calculs est donn´e au tableau 9.8. s2 x2 = 1 x2 = 2 x2 = 3 x∗2 f2∗ (s2 ) 2 20 + 50 = 70 − − 1 70 3 20 + 70 = 90 45 + 50 = 95 − 2 95 4 20 + 80 = 100 45 + 70 = 115 = 75 + 50 = 125 3 125 Tableau 9.8: Calculs de l’´etape 2. De mˆeme a` l’´etape 1, au gain de l’´etape, il faut ajouter ceux des e´ tapes suivantes avec s2 = s1 − x1 . Le d´etail des calculs est donn´e au tableau 9.9. s1 x1 = 1 x1 = 2 x1 = 3 x∗1 f1∗ (s1 ) 5 45 + 125 = 170 70 + 95 = 165 90 + 70 = 160 1 170 Tableau 9.9: Calculs de l’´etape 1. La solution optimale est calcul´ee ci-dessous. t 1 2 3 st 5 4 1 x∗t 1 3 1 Elle donne un gain de 170 000 hommes-ann´ees.
Section 9.5. Application a` la planification de la production.
9.5
157
Application a` la planification de la production.
Nous allons maintenant voir comment la programmation dynamique permet de r´esoudre des probl`emes de planification de la production en pr´esence de coˆuts de production non convexes. Illustrons ceci sur un exemple. La demande pr´evisionnelle de fin de mois d’un composant est donn´ee au tableau 9.10. La fabrication de ce composant n´ecessite un certain nombre de r´eglages ind´ependants du nombre d’unit´es fabriqu´ees. Le coˆut de lancement est de 150. Le coˆut direct d´epend de la main d’œuvre disponible. Le coˆut est de 200 en heures normales, de 250 en heures suppl´ementaires. Le tableau 9.10 donne la production maximale en heures normales et heures suppl´ementaires. On une capacit´e de stoP´eriode t Capacit´e de production a` 200 Capacit´e de production a` 250 Demande pr´evisionnelle fin t
1 2 3 2
2 2 3 1
3 3 3 4
4 3 3 2
5 3 3 4
Tableau 9.10: Demande pr´evisionnelle et capacit´e de production. ckage limit´ee a` 2 unit´es. Le coˆut de stockage est de 10 par unit´e stock´ee par mois. Une unit´e fabriqu´ee le mois t peut eˆ tre utilis´ee pour satisfaire la demande de fin de mois. On s’interdit toute rupture de stock.
9.5.1
Formulation en un probl`eme dynamique
Nous allons tout d’abord formuler le probl`eme en un probl`eme de programmation dynamique. Pour cela, d´efinissons la variable d’´etat de la p´eriode t suivante : st = stock au d´ebut de la p´eriode t. D´efinissons aussi la variable de d´ecision de la p´eriode t suivante : xt = production a` la p´eriode t. On d´efinit la fonction ft (st , xt ) comme e´ tant le coˆut de la meilleure planification pour les p´eriodes restantes si on est dans l’´etat st au d´ebut de la p´eriode t et que l’on d´ecide de produire xt a` la p´eriode t. Ce coˆut est la somme du coˆut de production de l’´etape t, d’un coˆut de possession du stock pendant le mois t ainsi que du coˆut des e´ tapes ult´erieures : ∗ ft (st , xt ) = cpt (xt ) + cs st + ft+1 (st + xt − dt )
Chapitre 9. La programmation dynamique.
158
o`u dt note la demande pr´evisionnelle qui est donn´ee au tableau 9.10. La fonction cpt (xt ) d´enote le coˆut de production a` l’´etape t. Ce dernier est la somme d’un coˆut fixe de lancement de 150, a` payer pour autant qu’il y ait production, et d’un coˆut direct de main d’œuvre qui est de 200 par unit´e produite en heures normales, de 250 par unit´e produite en heures suppl´ementaires. Remarquez qu’en pr´esence de coˆut de lancement le cout ˆ de production n’est pas convexe. Ceci peut eˆ tre v´erifi´e a` la figure 9.2 qui illustre la fonction de coˆut pour t = 5. cp 5(x5 ) 1500 1250
250
1000 750 200
550 350 350
1
2
3
4
5
6
x5
Figure 9.2: Coˆut non convexe. La capacit´e de stockage est limit´ee a` 2 unit´es : st ≤ 2, ∀t. Ce qui limitera a` trois les e´ tats du monde possibles a` chaque e´ tape. La relation liant les variables d’´etat et de d´ecision est la suivante : st+1 = st + xt − dt On s’interdit toute rupture. Ce qui se traduit par un stock final non n´egatif : xt ≥ 0, ∀t.
Section 9.5. Application a` la planification de la production.
9.5.2
159
R´esolution par la programmation dynamique
Nous allons maintenant r´esoudre le probl`eme par la programmation dynamique. A l’´etape 5, on a d5 = 4. Ce qui explique qu’il faut au moins produire 4 unit´es si s5 = 0 mais pas plus de 6 sinon le stock final sera sup´erieur a` deux unit´es. On doit aussi respecter la capacit´e de production de 6 unit´es. Si le stock initial s5 = 1, on peut se contenter de produire 3. On peut e´ galement produire 4 ou 5 mais pas plus vu la capacit´e de stockage limit´ee a` 2 unit´es. On obtient les coˆuts suivants : s5 x5 = 2 x5 = 3 x5 = 4 x5 = 5 x5 = 6 x∗5 f5∗ (s5 ) 0
−
−
1.000
1.250
1.500
4
1.000
1
−
760
1.010
1.260
−
3
760
2
570
770
1.020
−
−
2
570
Par exemple le coˆut de 1.000 si s5 = 0 et x5 = 4 r´esulte du seul coˆut de production qui se calcule comme suit : 150 + 3 × 200 + 250 = 1000. Le coˆut de 760 si s5 = 1 et x5 = 3 r´esulte de la somme du coˆut de stockage d’une unit´e pendant un mois et du coˆut de production des trois unit´es : 1 × 10 + 150 + 3 × 200 = 760. A l’´etape 4, on a d4 = 2. On ajoute au coˆut de production de l’´etape, le coˆut des e´ tapes ult´erieures. Ainsi, dans le cas o`u s4 = 0 et x4 = 2, le coˆut correspond a` l’application de la formule : f4 (s4 , x4 ) = cp4 (x4 ) + f5∗ (s4 + x4 − d4 ) = (150 + 400) + 1.000 = 1.550 On obtient le tableau de coˆuts suivant : s4 x4 = 0 x4 = 1 x4 = 2 x4 = 3 x4 = 4 x∗4 f4∗ (s4 ) 0 − − 1.550 1.510 1.570 3 1.510 1 − 1.360 1.320 1.330 − 2 1.320 2 1.020 1.130 1.140 − − 0 1.020
160
Chapitre 9. La programmation dynamique.
A l’´etape 3, on a d3 = 4. On d´etermine semblablement le tableau de coˆuts suivant : s3 x3 = 2 x3 = 3 x3 = 4 x3 = 5 x3 = 6 x∗3 f3∗ (s3 ) 0 − − 2.510 2.570 2.520 4 2.510 1 − 2.270 2.330 2.280 − 3 2.270 2 2.080 2.090 2.040 − − 4 2.040 A l’´etape 2, on a d2 = 1. On a une capacit´e de production a` 200 limit´ee a` deux unit´es. On obtient le tableau de coˆuts suivant : s2 x2 = 0 x2 = 1 x2 = 2 x2 = 3 x∗2 f2∗ (s2 ) 0 − 2.860 2.820 2.840 2 2.820 1 2.520 2.630 2.600 − 0 2.520 2 2.290 2.410 − − 0 2.290 A l’´etape 1, la demande est de 2 et on a le tableau de coˆuts suivant : s1 x1 = 2 x1 = 3 x1 = 4 x∗1 f1∗ (s1 ) 0 3.370 3.320 3.340 3 3.320 On d´etermine ensuite la politique optimale. Partant de s1 = 0, il est optimal de produire 3. La demande e´ tant de 2, on se retrouve avec s2 = 1. La strat´egie optimale pour la deuxi`eme p´eriode est de ne produire rien du tout. On se retrouve avec un stock s3 = 0. La strat´egie optimale est de produire x3 = 4. On se retrouve avec un stock s4 = 0. La strat´egie optimale est de produire x4 = 3, soit une unit´e de plus que la demande. On se retrouve avec un stock s5 = 1 et on produit x5 = 3 : t= dt st x∗t
1 2 0 3
2 1 1 0
3 4 0 4
4 2 0 3
5 4 1 3
Remarquez qu’en p´eriode 2, on a pr´ef´er´e ne pas produire la seule unit´e demand´ee car une unit´e en premi`ere e´ tape mˆeme en heures suppl´ementaires et avec un coˆut de stockage revient mois cher (260) qu’une seule unit´e en heure normale a` la p´eriode 2 (350). Remarquez aussi qu’en p´eriode 4, on produit une unit´e de plus que la demande pour e´ viter de produire a` 250 en p´eriode 5 la quatri`eme unit´e demand´ee cette p´eriode. Il y a, en effet, une unit´e disponible a` 200 (+ 10 de coˆut de stockage) au mois pr´ec´edent.
Section 9.5. Application a` la planification de la production.
9.5.3
161
Algorithme en cas de cout ˆ convexe
Signalons qu’il existe un algorithme plus efficace dans le le cas ou` il n’y a pas de cout ˆ fixe et que les couts ˆ marginaux sont croissants. En effet, dans ce cas, le coˆut de production devient convexe et une proc´edure plus efficace consiste a` 1. satisfaire la demande de p´eriode 1 en utilisant les moyens de production les plus avantageux de la p´eriode, et calculer les capacit´es r´esiduelles; 2. satisfaire la demande de p´eriode 2 en utilisant les moyens de production les plus avantageux des deux premi`eres p´eriodes, puis modifier en cons´equence les capacit´es de production r´esiduelles; 3. satisfaire la demande de p´eriode 3 en utilisant les moyens de production les plus avantageux de la p´eriode 3 ou des p´eriodes pr´ec´edentes, puis modifier en cons´equence les capacit´es de production r´esiduelles; etc. . . Appliquons cette proc´edure au mˆeme exemple en supposant qu’il n’y a pas de coˆut fixe de lancement de production. En p´eriode 1, la demande est satisfaite par : -une production en p´eriode 1 a` 200 (2 unit´es). Les demandes et capacit´es r´esiduelles sont donn´ees par : P´eriode t Capacit´e r´esiduelle a` 200 Capacit´e r´esiduelle a` 250 Demande r´esiduelle
1 0 3 0
2 2 3 1
3 3 3 4
4 3 3 2
5 3 3 4
En p´eriode 2, la demande est de 1. Elle est satisfaite par : -une production en p´eriode 2 a` 200 (1 unit´e). Les demandes et capacit´es r´esiduelles sont donn´ees par : P´eriode t Capacit´e r´esiduelle a` 200 Capacit´e r´esiduelle a` 250 Demande r´esiduelle
1 0 3 0
2 1 3 0
3 3 3 4
4 3 3 2
En p´eriode 3, la demande est de 4. Elle est satisfaite par : -une production en p´eriode 3 a` 200 (3 unit´es); -une production a` 200 en p´eriode 2 (1 unit´e).
5 3 3 4
162
Chapitre 9. La programmation dynamique.
Les demandes et capacit´es r´esiduelles sont donn´ees par : P´eriode t Capacit´e r´esiduelle a` 200 Capacit´e r´esiduelle a` 250 Demande r´esiduelle
1 0 3 0
2 0 3 0
3 0 3 0
4 3 3 2
5 3 3 4
En p´eriode 4, la demande est de 2. Elle est satisfaite par : -une production en p´eriode 4 a` 200 (2 unit´es). Les demandes et capacit´es r´esiduelles sont donn´ees par : P´eriode t Capacit´e r´esiduelle a` 200 Capacit´e r´esiduelle a` 250 Demande r´esiduelle
1 0 3 0
2 0 3 0
3 0 3 0
4 1 3 0
5 3 3 4
En p´eriode 5, la demande est de 4. Elle est satisfaite par : -une production en p´eriode 5 a` 200 (3 unit´es); -une production a` 200 en p´eriode 4 (1 unit´e). Les demandes et capacit´es r´esiduelles sont donn´ees par : P´eriode t Capacit´e r´esiduelle a` 200 Capacit´e r´esiduelle a` 250 Demande r´esiduelle
1 0 3 0
2 0 3 0
3 0 3 0
4 0 3 0
5 0 3 0
Par diff´erence avec les capacit´es initiales, on obtient les capacit´es utilis´ees a` chaque e´ tape et donc le plan optimal de production et stockage (st est le stock de d´ebut t) suivant : P´eriode t 1 2 3 4 5 dt 2 1 4 2 4 st 0 0 1 0 1 ∗ xt 2 2 3 3 3 Remarquez que, par rapport au cas avec coˆut de lancement, on a encore avanc´e des productions (une unit´e de demande de p´eriode 3 produite a` la p´eriode 2, et une unit´e de demande de p´eriode 5 produite a` la p´eriode 4) pour b´en´eficier des capacit´es encore disponibles en heures normales qui coˆutent moins cher que la production en heures suppl´ementaires. Mais la deuxi`eme cause d’anticipation de production, a` savoir e´ viter de mettre en route une production pour une faible quantit´e, a disparu.
Section 9.6. Exercices
9.6
163
Exercices
9.1. D´etermination du chemin critique par la programmation dynamique. Consid´erons un projet dont le graphe de la m´ethode PERT est repris cidessous. Consid´erons le probl`eme de la d´etermination du chemin critique. 6
F,1 A,5
2
C,4
4
D,2
G,4 H,6
1 3
E,3
9
K,4 7
5 B,3
J,5
L,7
I,2 8
Figure 9.3: Graphe de la m´ethode PERT. On peut d´eterminer ce chemin critique en cherchant le plus long chemin liant le d´ebut du projet (nœud 1) a` la fin du projet (nœud 9). (a) Formuler ce probl`eme comme un probl`eme dynamique. • • • • •
Quelles sont les e´ tapes ? Quels sont les e´ tats du monde a` chaque e´ tape ? Quels sont les d´ecisions a` chaque e´ tape ? Quel est le lien entre les variables ? Quel est l’objectif du probl`eme ?
(b) Utilisez la programmation dynamique pour r´esoudre ce probl`eme. (c) D´eterminer tous les chemins critiques. 9.2. R´epartition du budget publicitaire. Une compagnie planifie sa strat´egie publicitaire pour le lancement de trois nouveaux produits. Elle a un total de 6 millions de dollars a` sa disposition pour l’ann´ee prochaine pour lancer les trois nouveaux produits. On suppose que la soci´et´e investit par million entier sur chaque produit en publicit´e avec au minimum un million sur chaque produit. Le tableau 9.11 donne les estimations d’augmentation de ventes pour les produits en fonction du budget publicitaire investi. (a) Formulez le probl`eme comme un probl`eme de programmation dynamique. Pour ce faire, • d´efinissez les e´ tapes, • d´efinissez les variables d’´etat,
164
Chapitre 9. La programmation dynamique. Budget Produit 1 Produit 2 Produit 3 1 million +7 +4 +6 2 millions +10 +8 +9 3 millions +14 +11 +13 4 millions +17 +14 +15 Tableau 9.11: Augmentation des ventes • d´efinissez les variables de d´ecision, • donnez la relation de r´ecurrence entre les variables d’´etat de deux e´ tapes successives. (b) Utilisez la programmation dynamique pour r´esoudre ce probl`eme.
9.3. Planification de la production. Un entreprise cherche a` e´ tablir son plan de mise en production pour les trois prochaines semaines d’un composant intervenant dans l’assemblage des trois machines A, B et C. Le plan directeur de production pr´evoit la mise a` disposition les six prochaines semaines des quantit´es suivantes pour les trois types de machines : Semaine 1 A B C -
2 -
3 5 0 12
4 1 5 5
5 7 5 1
6 4 7 0
Pour les trois machines, le d´elai de fabrication est de deux semaines et le composant doit eˆ tre disponible au d´ebut de l’assemblage. (a) D´eterminer les besoins nets de composants pour les quatre prochaines semaines sachant que le stock initial est de deux unit´es et que l’on pr´evoit une livraison en d´ebut de premi`ere semaine de 15 composants. (b) D´eterminer la mani`ere optimale de couvrir ces besoins par des lancements de production de ce composant. On tiendra compte, pour se faire, du d´elai de fabrication de ce composant qui est d’une semaine et des informations de coˆut suivantes. En r´egime normal, la capacit´e de production est de 12 composants par semaine, a` un prix de 50 euro l’unit´e. A l’aide d’heures suppl´ementaires, ce niveau peut eˆ tre e´ lev´e jusqu’`a 4 composants en plus, moyennant un coˆut additionnel de 10 euro par unit´e. Le coˆut de stockage est estim´e a` 3 euro par unit´e et par semaine. La capacit´e de stockage est limit´ee a` deux composants. Il n’y a pas de coˆut fixe de mise en route de la production.
Chapitre 10 La programmation lin´eaire. 10.1
Introduction
On parle de programme lin´eaire lorsque l’on veut minimiser ou maximiser une fonction objectif lin´eaire sous des contraintes purement lin´eaires. Lorsqu’il n’y a que deux variables de d´ecision, un probl`eme lin´eaire peut eˆ tre r´esolu de mani`ere purement graphique. Lorsqu’il y a un plus grand nombre de variables, un algorithme mis en œuvre sous la forme d’un programme informatique s’av`ere n´ecessaire. Il s’agit de l’algorithme du Simplexe. Lorsque les variables doivent prendre des valeurs enti`eres, on parle de probl`emes en nombres entiers. On devrait a` proprement parler de probl`emes lin´eaires en nombres entiers car on impose, en plus, aux contraintes et a` la fonction objectif d’ˆetre lin´eaires. Nous verrons au chapitre 12 une technique de r´esolution de ces probl`emes : il s’agit de la m´ethode de branch and bound. Lorsque les contraintes et/ou la fonction objectif sont non lin´eaires, on parle de probl`emes non lin´eaires. Nous ne verrons pas d’algorithme de r´esolution de ces probl`emes dans le cadre de ce cours. Il est a` remarquer que ces m´ethodes de r´esolutions e´ tant mises en œuvre dans des logiciels commerciaux, il ne viendrait plus a` l’id´ee de les programmer soi-mˆeme. La derni`ere partie de ce chapitre sera consacr´ee a` la pr´esentation du solveur d’Excel qui dispose d’une impl´ementation de ces algorithmes.
10.2
Un simple exemple
Nous prenons un exemple tir´e de Hillier et Lieberman [7]. Il s’agit d’une entreprise de fabrication de chassis qui envisage la production de deux nouveaux mod`eles au moyen des capacit´es r´esiduelles de ses trois ateliers. Il s’agit respectivement d’un chassis en aluminium et d’un chassis en bois. Le premier produit n´ecessite 165
Chapitre 10. La programmation lin´eaire.
166
le passage dans le premier atelier pour fabriquer le cadre en aluminium et dans le troisi`eme atelier o`u le verre est mont´e sur le chassis. Tandis que le second produit n´ecessite le passage dans le deuxi`eme atelier pour fabriquer le cadre en bois et dans le troisi`eme atelier o`u le verre est mont´e sur le chassis. Les marges unitaires, les temps de fabrication de chacun des produits dans chacun des ateliers ainsi que les capacit´es hebdomadaires r´esiduelles de ces ateliers sont donn´es au tableau 10.1.
Produit 1 (heures/produit) Atelier 1 1 Atelier 2 0 Atelier 3 3 Marge 3$
Produit 2 Capacit´e disponible (heures/produit) (heures/semaine) 0 4 2 12 2 18 5$
Tableau 10.1: Marges, temps d’usinage et capacit´es. La question qui se pose est la suivante : “Combien faut-il produire de chassis de chaque type par semaine pour maximiser le profit net ?” Si on choisit comme variables x1 et x2 les quantit´es de chaque bien a` produire par semaine, l’objectif du probl`eme s’´ecrit simplement : max z = 3x1 + 5x2 . Tandis que les contraintes du probl`emes proviennent de la capacit´e limit´ee des trois ateliers : x1 ≤ 4 2x2 ≤ 12 3x1 + 2x2 ≤ 18 Le probl`eme se formule donc comme suit : max z = 3 x1 + 5 x2 x1
s.c.q.
3x1 x1
2x2 + 2x2 x2
≤ 4 ≤ 12 ≤ 18 ≥ 0 ≥ 0
(10.1)
Section 10.3. R´esolution graphique
10.3
167
R´esolution graphique
Dans le cas d’un probl`eme lin´eaire a` deux variables de d´ecision, le probl`eme peut eˆ tre r´esolu de mani`ere graphique en suivant le processus suivant en trois e´ tapes. La premi`ere e´ tape consiste a` repr´esenter graphiquement la r´egion r´ealisable. D´efinition 10.1 On appelle r´egion r´ealisable, l’ensemble des valeurs de variables de d´ecision qui satisfont toutes les contraintes. Dans le cas de l’exemple, c’est l’ensemble des points (x1 , x2 ) satisfaisant les in´egalit´es de (10.1) :
x1 3x1 x1
2x2 + 2x2 x2
≤ 4 (1) ≤ 12 (2) ≤ 18 (3) ≥ 0 (4) ≥ 0 (5)
Graphiquement une in´egalit´e telle que 3x1 + 2x2 ≤ 18 correspond a` un demi-plan limit´e par la droite obtenue en prenant l’in´equation a` l’´egalit´e (ici 3x1 + 2x2 = 18). Lorsque l’on fait l’intersection des cinq demi-plans correspondant aux cinq in´egalit´es, on obtient le polygone hachur´e a` la figure 10.1. x2 (4) 10 8
(1) (2)
6 4 (3)
2
(5) 0
2
4
6
8
x1
Figure 10.1: Ensemble de production. On voit ici clairement que le syst`eme est sous-d´etermin´e. On va devoir choisir entre ces diff´erents plans de production. Pour ce faire, et c’est la deuxi`eme e´ tape
Chapitre 10. La programmation lin´eaire.
168
de la r´esolution, on va repr´esenter graphiquement des lignes d’isovaleur de la fonction objectif : z = 3x1 + 5x2 . En effet, on remarquera que l’expression de la fonction objectif fait intervenir trois variables et ne peut donc eˆ tre repr´esent´ee que dans l’espace. Pour se ramener dans le plan, on va consid´erer des valeurs successives de l’objectif : z = 3x1 + 5x2 = k. Ce qui correspond graphiquement a` des droites parall`eles. Les points d’une de ces droites sont donc le lieu de tous les points donnant la mˆeme valeur du profit (d’o`u le nom de droite d’isovaleur de la fonction objectif). Ceci est fait a` la figure 10.2 o`u l’on a repr´esent´e z = 15, 30 et 36. x2
9 z = 30
6
(2, 6)
z = 15
4 2 0
z = 36
2
5 6
10 x1
Figure 10.2: Droites d’isoprofit. Enfin, et c’est la troisi`eme e´ tape de la r´esolution, l’optimum sera d´etermin´e graphiquement comme le plan de production situ´e sur la droite d’isoprofit la plus e´ lev´ee, c’est-`a-dire celle qui donne le profit le plus e´ lev´e. On voit a` la figure 10.2 qu’il s’agit du point x∗ = (2, 6). Justifions ce choix. Comme on maximise le profit on a int´erˆet a` prendre la droite d’isovaleur la plus e´ lev´ee possible. Bien sˆur, il faut que le plan de production soit encore r´ealisable : autrement dit, il faut se restreindre a` la r´egion r´ealisable. On a alors la tr`es important remarque suivante : Observation 1 : Pour maximiser l’objectif, il faut prendre la droite d’isovaleur de l’objectif qui touche encore la r´egion r´ealisable et qui donne la plus grande valeur a` l’objectif. Sur base de cet exemple, on tire une deuxi`eme observation :
Section 10.3. R´esolution graphique
169
Observation 2 : On constate que la solution optimale est a` un sommet de la r´egion r´ealisable. On peut alors se demander si la solution optimale sera toujours a` un sommet de la r´egion r´ealisable. En fait, lorsque la ligne d’iso-marge est parall`ele a` un cˆot´e du polygone, on a que tout le cˆot´e du polygone est optimal. Par exemple, si l’objectif avait e´ t´e z = 3x1 + 2x2 , tout le segment entre (2,6) et (4,3) aurait e´ t´e optimum. Observation 3 : Mˆeme si tout un cˆot´e du polygone est optimal, on peut toujours choisir une solution optimale correspondant a` un sommet. En conclusion, on peut voir qu’il suffit d’´evaluer la valeur de l’objectif en chacun des sommets pour d´eterminer l’optimum d’un probl`eme lin´eaire. Afin de limiter le nombre de sommets a` examiner, l’algorithme du Simplexe proc`ede de la mani`ere suivante : i) Choisir comme point de d´epart un sommet x∗ de la r´egion r´ealisable. ii) D´eterminer les cˆot´es passant par ce sommet x∗ . Trouver un cˆot´e le long duquel z croˆıt. S’il n’y en n’a pas, STOP : le x∗ courant est optimal. iii) D´eterminer le sommet y ∗ a` l’autre bout du cˆot´e et poser x∗ = y ∗ . Retour en ii). L’algorithme du Simplexe appliqu´e a` notre exemple fonctionne ainsi : partant de (0,0), on se dirige vers le point (0,6) puis vers le point (2,6), l’optimum du probl`eme (voir figure 10.3). x1 = 0
10 (0, 9) 8 (0, 6) 4 2 (0 , 0)
x1 = 4 (2, 6) (4 , 6)
2x2 = 12
(4, 3) 3x1 + 2x2 = 18 2 (4, 0) (6 , 0) 8
x2 = 0
Figure 10.3: Sommets de la r´egion r´ealisable
Chapitre 10. La programmation lin´eaire.
170
10.4
Le solveur d’Excel
Le solveur d’EXCEL est un r´esolveur d’´equation ainsi qu’un optimiseur exploitant les techniques de la programmation lin´eaire, de la programmation en nombres entiers et de la programmation non lin´eaire. Illustrons ceci sur l’exemple de l’entreprise de fabrication de chassis tir´e de Hillier et Lieberman [7] introduit au d´ebut du chapitre. Rappelons la formulation de ce probl`eme. En posant x1 , le nombre de chassis en aluminium fabriqu´es par semaine et x2 , le nombre de chassis en bois fabriqu´es par semaine, on obtient la formulation suivante : max = 3x1 + 5x2 x1 2x2 s.c.q. 3x1 + 2x2 x1 x2
≤ 4 ≤ 12 ≤ 18 ≥ 0 ≥ 0
Nous allons maintenant r´esoudre le probl`eme au moyen du solveur d’Excel. La premi`ere chose a` faire est de rentrer les donn´ees num´eriques du probl`eme et les formules de calcul de la fonction objectif ainsi que du membre de gauche des contraintes. Pour la clart´e du mod`ele, il est indispensable de mettre e´ galement des commentaires. Comme le probl`eme est lin´eaire, on peut rentrer les coefficients num´eriques sous forme d’une matrice. On remarquera au tableau 10.2 que les A 1 2 3 4 5 6
Production de chassis Profit Capacit´e de l’atelier 1 Capacit´e de l’Atelier 2 Capacit´e de l’atelier 3
B C en alu en bois 3 1 0 3
5 0 2 2
D
E b
=B3*$B$2+C3*$C$2 =B4*$B$2+C4*$C$2 4 =B5*$B$2+C5*$C$2 12 =B6*$B$2+C6*$C$2 18
Tableau 10.2: Exemple de probl`eme lin´eaire. coefficients d’une mˆeme e´ quation ainsi que sa formule de calcul ont e´ t´e rang´es dans une mˆeme ligne qui contient comme commentaire le nom de l’´equation (Atelier 1, Atelier 2, . . . ). De mˆeme, les coefficients se rapportant a` une mˆeme variable ont e´ t´e rang´e en colonne sous le nom de la variable (x1 , x2 ). Remarquez ici, pour
Section 10.4. Le solveur d’Excel
171
comprendre les formules, que l’on a choisi de placer la valeur de x1 en cellule $B$2$, tandis que celle de x2 est plac´ee en cellule $C$2. Il reste maintenant a` indiquer a` Excel, o`u se trouvent les variables, la fonction objectif, le membre de gauche, de droite et le sens des contraintes. Ceci peut eˆ tre mis en œuvre en Excel (voir la copie d’´ecran 10.4) de la mani`ere suivante :
Figure 10.4: Param`etres du solveur.
1. Dans le menu “Outils”, choisir le sous-menu “Solveur”. 2. Dans la zone “Cellule a` d´efinir”, mettre la r´ef´erence de la cellule de calcul de l’objectif (ici $D$3). ´ 3. Dans la zone “Egale a` ”, choisir Max ou Min (ici Max). 4. Dans la zone “Cellules variables”, mettre les r´ef´erences des cellules contenant les variables (ici $B$2:$C$2) . 5. Dans la zone “Contraintes”, choisir “ajouter une contrainte”. Le menu suivant apparaˆıt : Cellule : Relation : Contrainte :
Pour chaque contrainte : • Dans la zone “Cellule”, mettre la r´ef´erence de la cellule contenant la formule de calcul du membre de gauche (pour l’atelier 1 : $D$4). Il faut donc pr´ealablement avoir calcul´e ce membre de gauche.
172
Chapitre 10. La programmation lin´eaire. • Dans la zone “Relation”, mettre le sens de la contrainte (par exemple, pour l’atelier 1 : <=). • Dans la zone “Contrainte”, mettre la r´ef´erence de la cellule contenant le membre de droite (pour l’atelier 1 : $E$4). On peut e´ galement directement entrer une valeur. Mais cela n’est pas a` conseiller sauf s’il s’agit de la valeur ”0” qui n’est pas susceptible de varier.
6. Dans ”Option” (voir la copie d’´ecran 10.5), choisir ”Mod`ele suppos´e li-
Figure 10.5: Options du solveur. n´eaire”. On doit e´ galement choisir l’option ”Suppos´e non n´egatif” qui correspond aux contraintes de positivit´e des variables. 7. Lancer la commande “R´esoudre”. Le tableau 10.3 pr´esente la solution du solveur. Il est a` remarquer qu’il indique directement dans les cases des variables la valeur de ces variables. On obtient bien la solution d´etermin´ee graphiquement (2,6) a` laquelle correspond une valeur maximum de l’objectif (36). Plusieurs remarques sur les particularit´es du solveur d’Excel s’imposent ici : 1. On a rentr´e les trois contraintes en un bloc. On peut rentrer par groupe les contraintes ayant mˆeme sens. Ainsi, dans l’exemple, on a rentr´e les trois contraintes de capacit´es en bloc par la commande suivante : $D$4 : $D$6 <= $E$4 : $E$6
Section 10.4. Le solveur d’Excel A 1
173 B
C
D
en alu en bois
E b
2 Production de chassis
2
6
3 Profit
3
5
36
4 Capacit´e de l’atelier 1
1
0
2
5 Capacit´e de l’atelier 2
0
2
12 12
6 Capacit´e de l’atelier 3
3
2
18 18
4
Tableau 10.3: Solution du solveur 2. Excel d´etermine le nom d’une variable ou le nom d’une contrainte en prenant le premier commentaire situ´e a` gauche de la cellule et le premier commentaire situ´e au dessus de la cellule de calcul de la variable ou de la contrainte. Ainsi les noms des variables x1 et x2 seront respectivement “production de chassis en alu” et “production de chassis en bois”. 3. Les contraintes de positivit´e des variables doivent eˆ tre entr´ees explicitement, ceci contrairement a` la convention de certains optimiseurs qui consid`erent par d´efaut des variables non n´egatives. On a rentr´e ces contraintes, comme indiqu´e plus haut, en s´electionnant l’option ”suppos´e non n´egatif”. 4. Seules les variables non calcul´ees (les variables ind´ependantes du mod`ele) doivent eˆ tre rentr´ees dans la section variables. Ainsi, si l’on avait calcul´e dans une cellule le nombre d’heures pass´ees dans l’atelier 1, cette cellule contiendrait une variable (au sens math´ematique du terme) mais ne devrait pas eˆ tre rentr´ee dans les cellules variables pour Excel, sans quoi Excel consid´ererait qu’il s’agit d’une variable ind´ependante et effacerait sa formule de calcul pour y mettre une valeur num´erique. 5. Si le mod`ele est lin´eaire (contraintes lin´eaires et fonction objectif lin´eaire), on a tout int´erˆet a` s´electionner l’option “Mod`ele suppos´e lin´eaire”, ce qui d´eclenchera l’algorithme du Simplexe plutˆot qu’un algorithme g´en´eral de programmation non lin´eaire. 6. Remarquez enfin que pour modifier le mod`ele on peut utiliser : • la commande “supprimer la contrainte”; • la commande “modifier la contrainte”. La solution du solveur correspond bien a` celle d´etermin´ee pr´ec´edemment.
Chapitre 10. La programmation lin´eaire.
174
10.5
Les rapports du solveur
Lorsque le solveur a termin´e, soit qu’il ait trouv´e la solution optimale, soit qu’il ne parvienne pas a` en trouver (probl`eme non r´ealisable ou non convergence de l’algorithme de r´esolution), la boˆıte de dialogue de la figure 10.6 apparaˆıt. Elle
Figure 10.6: Rapports possibles du solveur. permet de g´en´erer trois types de rapport : le rapport des r´eponses, le rapport de sensibilit´e et le rapport des limites.
10.5.1
Le rapport des r´eponses
Le rapport des r´eponses (voir figure 10.7) fournit : • les informations sur l’objectif : la r´ef´erence de la cellule, le nom, la valeur originale et finale de la “cellule cible (`a Maximiser)”; • les informations sur les variables : la r´ef´erence de la cellule, le nom, la valeur originale et finale des “cellules variables”; • les informations sur les contraintes : la r´ef´erence de la cellule, le nom, la valeur finale du membre de gauche, la formule de calcul, son status (active ou non a` la solution finale), ainsi que la marge (valeur de l’´ecart entre les deux membres de l’in´egalit´e).
10.5.2
Le rapport de sensibilit´e
Le rapport de sensibilit´e (voir figure 10.8) fournit : • les informations sur les variables : la r´ef´erence de la cellule, le nom et la valeur finale de la variable, le coˆut r´eduit, le coefficient dans la fonction
Section 10.5. Les rapports du solveur
Figure 10.7: Rapports des r´eponses.
Figure 10.8: Rapport de sensibilit´e.
175
Chapitre 10. La programmation lin´eaire.
176
objectif, l’accroissement et la diminution maximale de ce coefficient avant qu’une variable ne change de valeur. • les informations sur les contraintes : la r´ef´erence de la cellule, le nom et la valeur finale du membre de gauche de la contrainte, le prix cach´e, la valeur du membre de droite, l’augmentation et la diminution maximum de ce membre de droite telle que le prix cach´e reste le mˆeme. Nous verrons au chapitre 11 que le cout ˆ r´eduit mesure l’effet sur l’objectif de forcer a` un une variable nulle. Pour un produit non fabriqu´e, le coˆut r´eduit s’interpr`ete donc comme la perte de profit si on en fabrique un unit´e. De mˆeme, nous verrons que le prix cach´e mesure l’accroissement de l’objectif par unit´e d’accroissement du membre de droite de la contrainte. Ce prix cach´e s’interpr`ete donc comme l’augmentation de profit si on dispose d’une heure suppl´ementaire dans l’atelier. C’est donc le prix maximum que l’on est prˆet a` payer pour cette heure.
10.5.3
Le rapport des limites
Le rapport des limites (voir figure 10.9) fournit pour chaque variable :
Figure 10.9: Rapport des limites. • sa limite inf´erieure, c’est-`a-dire la plus petite valeur de la variable qui satisfait les contraintes en maintenant les autres variables fix´ees a` leur valeur; • la limite sup´erieure, c’est-`a-dire plus grande valeur de la variable qui satisfait les contraintes en maintenant les autres variables fix´ees a` leur valeur.
Section 10.6. Exercices
10.6
177
Exercices
10.1. Optimisation d’une fonderie. Une petite fonderie au Qu´ebec est sp´ecialis´ee dans la fonte de mat´eriaux de r´ecup´eration afin de produire deux types de produits : des tuyaux agricoles d’adduction et d’´evacuation d’eau ainsi que des contrepoids pour tracteurs. La fonderie est en pleine planification des op´erations de la semaine prochaine. Les commandes enregistr´ees s’´el`eve a` 34 tonnes pour les tuyaux et 14 tonnes pour les contrepoids. Cependant la fonderie ne s’est pas engag´ee a` livrer l’ensemble de ces commandes la semaine prochaine. On livrera ce que les capacit´es de production permettent. Il n’y a pas de p´enalit´e a` ne pas livrer les commandes la semaine prochaine. La semaine prochaine, la main d’œuvre disponible sera de 160 heures dans l’atelier de polissage et de 120 heures dans l’atelier peinture. Il faut compter 8 heures la tonne pour polir les tuyauteries et 4 heures la tonne pour les contrepoids. La peinture requiert 4 heures pour une tonne de tuyaux, 6 heures pour une tonne de contrepoids. La marge sur une tonne de tuyaux est de 1 000 $, sur une tonne de contrepoids de 1 200 $. Quelles sont les commandes a` honorer la semaine prochaine pour maximiser le profit ? (a) Formuler le probl`eme lin´eaire de la maximisation du profit (choix des variables, expression des contraintes et de l’objectif). (b) R´esoudre graphiquement. Donnez la solution optimale 10.2. Ventes de dentifrices. Une compagnie fabrique deux types de dentifrices. La formule X procure un b´en´efice net de 50 euro par mille tubes vendus. On ne pr´evoit pas de vendre plus de 50 000 tubes de X par mois. La formule Y procure un b´en´efice net de 60 euro par mille tubes vendus et ses ventes mensuelles sont au maximum de 10 000 tubes. Il y a 100 000 unit´es d’un ingr´edient disponibles par mois. Chaque tube de la formule X n´ecessite 2 unit´es de cet ingr´edient, la formule Y en n´ecessite 4 unit´es. Il y a actuellement des contrats pour 40 000 tubes de formule X par mois. Pour des raisons commerciales, la firme ne veut pas que la formule Y repr´esente plus d’un quart de sa production totale (X et Y) au del`a des 40 000 unit´es de X contract´ees (c’est-`a-dire plus d’un quart de X + Y - 40 000). Les productions non multiples de 1 000 sont admises. L’entreprise cherche a` maximiser sa marge totale. (a) Formuler le probl`eme lin´eaire correspondant (choix des variables, expression de l’objectif, expression des contraintes.) (b) R´esoudre graphiquement. Donner la solution optimale obtenue et le profit optimal.
178
Chapitre 10. La programmation lin´eaire.
10.3. Planification de la production. Une soci´et´e dispose d’une certaine capacit´e de production par mois (coˆut unitaire unitaire de production de 10 euros). Elle peut aussi faire appel au stockage (coˆut unitaire d’un article en stock en fin de mois d’un euro). La capacit´e de stockage est limit´ee a` 10 unit´es. Les capacit´es de production ainsi que les demandes pr´evisionnelles pour les cinq prochains mois sont donn´ees au tableau suivant : P´eriode t 1 2 3 Capacit´e de production 18 15 15 Demande 12 17 13
4 5 18 15 21 18
D´eterminer la politique optimale de production et de stockage sachant que le stock en fin de p´eriode 0 est de 6 unit´es. (a) Formuler le probl`eme de transport comme un probl`eme lin´eaire : • Choix des variables de d´ecision, • Expression de l’objectif, • Expression des contraintes (b) Mettre sous la forme d’un mod`ele de calcul en Excel. (c) Donner la solution obtenue par Excel.
Chapitre 11 Analyse postoptimale. 11.1
Introduction
Dans ce chapitre, nous voir comment va varier la valeur optimale de l’objectif d’un programme lin´eaire lorsque l’on modifie certains coefficients du probl`eme (coefficients objectif ou du membre de droite). En effet, g´en´eralement la solution num´erique d’un probl`eme lin´eaire est moins significative que de savoir comment l’objectif va bouger si l’on modifie certaines donn´ees du probl`eme. C’est l’objet de ce que l’on appelle l’analyse postoptimale. Pour voir l’effet de tels changements de donn´ees, une solution na¨ıve consiste a` appliquer le Simplexe au nouveau probl`eme et bien sˆur on peut en d´eduire l’effet sur l’objectif. Mais nous allons voir dans ce chapitre que, si le sommet optimal du probl`eme original reste optimal pour le nouveau mod`ele, on peut pr´edire sans r´esoudre le nouveau probl`eme l’effet de variation des donn´ees sur la valeur de la fonction objectif. Nous allons d’abord envisager le cas de la variation des coefficients du membre de droite des contraintes. Nous allons voir que la variation de la valeur optimale de l’objectif d’un programme lin´eaire en fonction des coefficients du membre de droite est donn´ee par la valeur des “prix cach´es”. Nous verrons comment les d´eterminer graphiquement pour un exemple a` deux variables et comment d´eterminer le domaine de validit´e de ces prix cach´es. Nous verrons ensuite, le cas de la variation des coefficients de la fonction objectif. Ici, nous verrons que le taux de variation de l’objectif est donn´e par la valeur des variables a` l’optimum. Nous verrons qu’il y a aussi un domaine de validit´e pour ces valeurs optimales des variables. Enfin, nous terminerons en donnant l’interpr´etation d’une autre information que l’on peut tirer de la solution optimale d’un probl`eme lin´eaire, a` savoir la valeur des coˆuts r´eduits des variables.
179
Chapitre 11. Analyse postoptimale.
180
11.2
Variation par rapport au second membre
La question qui se pose est ici la suivante : “Si on augmente la capacit´e disponible d’une ressource, quel est l’impact sur la valeur optimale de la fonction objectif ?” Pour des variations de membre de droite suffisamment faibles pour que le mˆeme sommet reste optimal, on peut r´epondre a` cette question de la mani`ere suivante : Le “prix cach´e” (not´e yi∗ ) mesure l’augmentation de la fonction objectif si l’on accroˆıt d’une unit´e la capacit´e disponible (bi ).
11.2.1
Calcul des prix cach´es
Nous allons illustrer ceci sur sur l’exemple introductif du chapitre 10 dont l’´enonc´e est rappel´e ci-dessous. max z = 3 x1 + 5 x2 x1
s.c.q.
3x1 x1
2x2 + 2x2 x2
≤ 4 ≤ 12 ≤ 18 ≥ 0 ≥ 0
Consid´erons tout d’abord une augmentation de capacit´e du premier atelier de b1 = 4 a` b1 = 5. On peut voir a` la figure 11.1 que le nouveau point optimal reste le mˆeme x∗ = x∗ = (2, 6). En cons´equence de quoi, la valeur optimale de l’objectif ne change pas : z ∗ = z ∗ = 36 D’o`u une variation nulle de l’objectif, ce qui se traduit par une valeur nulle du premier prix cach´e : ∆z = z ∗ − z ∗ = 0 = y1∗ . Une augmentation de capacit´e du deuxi`eme atelier de b2 = 12 a` b2 = 13 donne un d´eplacement du point optimal vers (voir figure 11.1) : x∗ = (5/3, 13/2). En cons´equence de quoi, la nouvelle valeur de l’objectif est donn´ee par : z ∗ = 37, 5
Section 11.2. Variation par rapport au second membre
181
x2 z = 3x1 + 5x2
9 8 (5/3, 13/2)
2x2 = 13 x1 = 4 2x2 = 12 x1 = 5
6 4 2
3x1 + 2x2 = 18
0
0
2
4
6,
8
x1
Figure 11.1: Analyse postoptimale. D’o`u un accroissement de l’objectif qui d´etermine la valeur du deuxi`eme prix cach´e : 3 ∆z = z ∗ − z ∗ = = y2∗ . 2 Enfin, consid´erons une augmentation de capacit´e du troisi`eme atelier de b3 = 18 a` b3 = 19. Comme on peut le voir a` la figure 11.2, cela donne un d´eplacement du point optimal vers : x∗ = (7/3, 6). En cons´equence de quoi, la nouvelle valeur de l’objectif vaut : z ∗ = 37 D’o`u une augmentation d’objectif qui d´etermine la valeur du troisi`eme prix cach´e : ∆z = z ∗ − z ∗ = 1 = y3∗ . Le r´esultat peut aussi eˆ tre interpr´et´e dans l’autre sens : y3∗ est la perte de profit si on diminue d’une unit´e la capacit´e du troisi`eme atelier. Remarquer que dans la pratique, si on utilise la forme alg´ebrique de l’algorithme du Simplexe, ces prix cach´es sont calcul´es automatiquement par l’algorithme. C’est ainsi que tout bonne impl´ementation de l’algorithme du Simplexe fournit cette information (voir le rapport de sensibilit´e d’Excel pr´esent´e au chapitre 10).
Chapitre 11. Analyse postoptimale.
182 x2
z = 3x1 + 5x2
10 3x1 + 2x2 = 19
8 (7/3, 6)
6
x1 = 4
2x2 = 12
4 2 3x1 + 2x2 = 18 0
2
4
6
8
x1
Figure 11.2: Variation de capacit´e de l’atelier 3.
11.2.2
Analyse de sensibilit´e au membre de droite
Remarquons, et ceci est l’objet de l’analyse de sensibilit´e qu’il y a une limite de validit´e de chaque prix cach´e. En effet, dans le cas de la premi`ere ressource, si l’effet d’une augmentation de b1 sera nul sur la valeur optimum de l’objectif quel que soit b1 ≥ 4, il n’en va pas de mˆeme d’une diminution. En effet, en dessous de b1 = 2, la solution optimale va changer. On a donc d´etermin´e le domaine de validit´e de y1∗ = 0 : il s’agit de l’intervalle : b1 ∈ [2, +∞]. Pour le deuxi`eme atelier, au del`a de b2 = 18, la solution optimale reste en (0,9). Le sommet optimum n’est plus a` l’intersection des contraintes (2) et (3) mais bien a` l’intersection des contraintes (3) et (5). Au del`a de ce point, y2∗ change : y2∗ = 0. De mˆeme, une diminution en dessous de b2 = 6 va changer le sommet optimal : en effet, il sera a` l’intersection des contraintes (1) et (2) et non plus a` l’intersection des contraintes (2) et (3). On en d´eduit le domaine de validit´e de y2∗ = 3/2 : b2 ∈ [6, 18]. Pour le troisi`eme atelier, au del`a de b3 = 24, la solution optimale reste en (4,6). Le sommet optimal et y3∗ changent : y3∗ = 0.
Section 11.3. Variation des coefficients objectifs
183
De mˆeme, une diminution en dessous de b3 = 12 va changer le sommet optimal. On en d´eduit le domaine de validit´e de y3∗ = 1 : il s’agit de l’intervalle : b3 ∈ [12, 24]. Ces informations sont donn´ees dans le rapport de sensibilit´e du solveur d’Excel. Ces informations sont fournies sous la forme d’une augmentation admissible et d’une diminution admissible. Elle sont reprises ci-dessous : Contrainte augmentation admissible diminution admissible Atelier 1
+∞
2
Atelier 2
6
6
Atelier 3
6
6
Remarquons finalement que l’on a toujours une valeur nulle du prix cach´e pour une contrainte non liante. Une contrainte non liante est une contrainte o`u la variable d’´ecart est non nulle. Par exemple, la premi`ere contrainte x1 ≤ 4 a un “prix cach´e” nul. Ceci a une interpr´etation e´ conomique. La ressource n’est pas enti`erement utilis´ee : il ne sert donc a` rien d’augmenter son stock disponible.
11.3
Variation des coefficients objectifs
La question qui se pose ici est la suivante :“Si on augmente le prix de vente unitaire ou si l’on diminue le coˆut de production unitaire, quel est l’impact sur la valeur de l’objectif ?” A nouveau, on peut pr´edire cette variation de l’objectif pour autant que le sommet optimal ne change pas. En effet, tant que le sommet optimal ne change pas, la solution optimale x∗ = (x∗1 , x∗2 , . . .x∗n ) reste la mˆeme. Seul le profit optimal change. Le nouveau profit vaut donc : z∗ =
n
(cj + ∆cj )x∗j
j=1
On en conclut que pour une variation unitaire du coefficient cj , l’augmentation de z ∗ est exactement la valeur optimale de la variable x∗j .
Chapitre 11. Analyse postoptimale.
184
La “valeur de la j e` me variable a` l’optimum” (not´ee x∗j ) mesure l’augmentation de la fonction objectif si l’on accroˆıt d’une unit´e la marge unitaire cj . Nous allons a` nouveau l’illustrer sur le mˆeme exemple introductif. D’apr`es le r´esultat e´ nonc´e ci-dessus, les augmentations de profit pour une augmentation unitaire de la marge des produits valent respectivement :
x∗1 = 2,
x∗2 = 6.
Supposons que la marge sur le premier produit augmente d’une unit´e. Autrement dit, l’objectif devient : max z = 4x1 + 5x2 On constate a` la figure 11.3 que la pente de l’objectif ne varie pas suffisamment pour changer le sommet optimum qui reste en : x∗1 = 2 x∗2 = 6 On en d´eduit la nouvelle valeur de l’objectif :
z ∗ = 4 × 2 + 5 × 6 = 38 L’augmentation de l’objectif correspond bien a` la valeur de x∗1 : ∆z ∗ = 38 − 36 = 2 = x∗1
11.3.1
Analyse de sensibilit´e aux coefficients objectif
Consid´erons maintenant la question l’analyse de sensibilit´e. On veut, par exemple, d´eterminer l’intervalle de variation maximum de c1 autour de 3 tel que le sommet optimal ne change pas. A la figure 11.3, on constate que le coefficient c1 peut descendre jusqu’`a ce que l’objectif z = c1 x1 + 5x2 soit parall`ele au segment 2x2 = 12, c’est-`a-dire lorsque c1 = 0. Le coefficient c1 peut augmenter jusqu’`a ce que l’objectif z = c1 x1 + 5x2 soit parall`ele au segment 3x1 + 2x2 = 18.
Section 11.3. Variation des coefficients objectifs
185
x2 10 8 6
(2, 6) z = 4x1 + 5x2 = 38 z = 3x1 + 5x2 = 36
4 2 0
2
4
6
8
10
12
x1
Figure 11.3: Analyse de sensibilit´e de c1 . Ceci se produit lorsqu’il y a e´ galit´e des pentes : −c1 −3 = , 5 2 c’est-`a-dire lorsque c1 = 15/2. On en conclut que tant que c1 ∈ [0, 15/2], on a le mˆeme sommet optimal et donc la mˆeme solution optimale. Effectuons l’analyse de sensibilit´e pour le second coefficient objectif. Celui-ci peut d´ecroˆıtre jusqu’`a ce que l’objectif z = 3x1 + c2 x2 soit parall`ele au segment 3x1 + 2x2 = 18. Ceci se produit lorsqu’il y a e´ galit´e des pentes : −3 −3 = , c2 2 c’est-`a-dire lorsque c2 = 2. Dans l’autre sens, c2 peut augmenter jusqu’`a ce que l’objectif z = 3x1 + c2 x2 soit parall`ele au segment 2x2 = 12. Ceci ne se produit jamais. On en conclut que tant que : c2 ∈ [2, +∞[, on a le mˆeme sommet optimal et donc la mˆeme solution optimale. Ces intervalles de sensibilit´e sont donn´es dans le rapport de sensibilit´e du solveur d’Excel (voir chapitre 10).
Chapitre 11. Analyse postoptimale.
186
11.4
Cout ˆ r´eduit des variables hors base
On appelle variables hors base celles dont la valeur est a` z´ero a` l’optimum. Le “cout ˆ r´eduit” de la variable hors base xj , not´e dj , mesure l’augmentation de la fonction objectif si l’on accroˆıt d’une unit´e la valeur de la variable xj . Nous illustrerons cette notion sur l’ exemple de planification de la production de chassis auquel on adjoint un troisi`eme chassis mixte aluminium bois, pour lequel la marge unitaire est de 4 et les temps unitaires de fabrication dans les trois ateliers sont respectivement de 1, 2 et 3 heures. La formulation de ce probl`eme est donc : max z = 3x1 +5x2 +4x3 s.c.q.
+x3 ≤
x1
4
2x2 +2x3 ≤ 12 3x1 +2x2 +3x3 ≤ 18 x1 ,
x2 ,
x3 ≥
0
La solution optimale de ce probl`eme est d´etermin´ee par le solveur d’Excel : (x∗1 , x∗2 , x∗3 ) = (2, 6, 0) et z ∗ = 36 On constate que seuls sont rentables les chassis 1 et 2. En effet, le chassis 3, bien qu’ayant une marge unitaire sup´erieure au chassis 1, consomme plus de ressources. Si on produit une unit´e de x3 , on va faire un b´en´efice de 4 mais on va retirer en capacit´e respectivement 1, 2 et 3 heures pour les deux autres productions. Ce qui revient a` diminuer les membres de droites des contraintes qui deviennent :
x1 3x1
2x2 +2x2
≤ 4 − x3 = 3 (1) ≤ 12 − 2x3 = 10 (2) ≤ 18 − 3x3 = 15 (3)
De (2), on en tire que x∗2 ≤ 5. On perd une unit´e de x2 . Supposons que x∗2 = 5. De (3) on tire que x∗1 ≤ 5/3. On perd 1/3 de x1 . L’effet sur z ∗ de la production d’une unit´e du produit 3 vaut donc : ∆z ∗ = −1/3 × 3 − 1 × 5 + 1 × 4 = −2 = d3 Le coˆut r´eduit, not´e d3 , est n´egatif, traduisant le fait que si la production de ce chassis e´ tait positive, elle diminuerait le profit d’autant. Pour qu’il devienne int´eressant de produire le chassis, il faut donc augmenter sa marge d’au moins deux unit´es. Ici, le coˆut r´eduit s’interpr`ete comme l’oppos´e de l’augmentation minimale de prix pour que la production devienne int´eressante. A nouveau, le solveur d’Excel fournit cette information (voir chapitre 10).
Section 11.5. Exercices
11.5
187
Exercices
11.1. Plan de production. Une soci´et´e produit deux articles A et B. La production est limit´ee par les disponibilit´es en mati`eres premi`eres : la mati`ere premi`ere P1 est limit´ee a` 21 unit´es par semaine et P2 a` 30 unit´es par semaine. La production est e´ galement limit´ee par la main d’œuvre disponible : on dispose d’au maximum 5 ouvriers par semaine. Par ailleurs, on doit employer au moins 3 ouvriers par semaine. La production d’une unit´e de A n´ecessite un ouvrier pendant une semaine, 9 unit´es de P1 et 10 unit´es de P2. La production d’une unit´e de B n´ecessite un ouvrier pendant une semaine, 3 unit´es de P1 et 4 unit´es de P2. Le profit (en milliers d’Euro) associ´e a` la vente d’une unit´e de A est de 6, il est de 3 pour une unit´e de B. ´ (a) Ecrire le programme lin´eaire correspondant. (b) R´esoudre graphiquement. (c) D´eterminer l’intervalle de variation maximum de la marge sur le produit B qui pr´eserve la solution optimale d´etermin´ee ci-dessus. 11.2. Production de peintures. Une soci´et´e de m´elange de peinture produit a` la fois des peintures int´erieures et des peintures ext´erieures en m´elangeant deux mat´eriaux de base, not´es M1 et M2. Le tableau ci-dessous fournit les donn´ees de base du probl`eme. Peinture
Peinture
Disponible
int´erieure
ext´erieure
par jour
Mat´eriau M1 requis
6
4
24
Mat´eriau M2 requis
1
2
6
Marge (1000 $ par tonne)
5
4
Une e´ tude de march´e indique que la demande journali`ere de peinture ext´erieure ne peut exc´eder celle de la peinture int´erieure de plus d’une tonne. D’autre part, le maximum de la demande journali`ere de peinture ext´erieure est de 2 tonnes. On se demande comment d´eterminer la meilleure combinaison de production de peintures int´erieure et ext´erieure afin de maximiser le profit journalier. (a) Formuler le probl`eme : choix des variables (avec leurs unit´es), expression de l’objectif (avec son unit´e de compte) et des contraintes. (b) R´esoudre graphiquement le probl`eme.
Chapitre 11. Analyse postoptimale.
188
(c) Il y a incertitude sur le prix de vente de la peinture ext´erieure. Dans quel domaine de variation doit se trouver la marge du second produit afin de conserver la solution optimale d´etermin´ee ci-dessus ? (d) En d´eduire l’effet sur le profit d’une augmentation de la marge du second produit de 4 a` 6. 11.3. R´epartition du budget publicitaire. Une soci´et´e envisage un plan de publicit´es pour augmenter ses ventes. Le tableau ci-dessous fournit l’augmentation des ventes pr´evues en fonction du type de campagne envisag´ee. On envisage trois types de publicit´es : les spots a` la t´el´evision, les annonces dans les magazines, les annonces dans les journaux. Type de publicit´e
annonces
annonces
Montant
magazines
journaux
max
130
60
50
Coˆut d’une campagne
300 000
150 000
100 000
4 millions
Coˆut de conception
90 000
30 000
40 000
1 million
Nombre max de campagnes
1
0
0
5
Augmentation de vente
Spots TV
par campagne
Outre le coˆut demand´e par le m´edia qui va difuser la publicit´e (ligne “coˆut d’une campagne”) pour lequel il existe un budget maximum de 4 millions d’euros, il faut payer l’agence de publicit´e pour la conception de la publicit´e (ligne “coˆut de conception”). Le budge total de conception est d’un million d’euros. Il y a aussi un nombre maximum de 5 spots tv autoris´es dans la p´eriode consid´er´ee. On demande de d´eterminer le nombre de campagnes de publicit´e a` effectuer dans chaque m´edia pour maximiser les nouvelles ventes tout en respectant les contraintes de budget publicitaire, de coˆut de conception et du nombre maximum de spots tv par p´eriode. (a) Formuler le probl`eme de r´epartition du budget publicitaire (choix des variables de d´ecisions, expression de l’objectif, expression des contraintes.) (b) Mettre sous la forme d’un mod`ele de calcul en Excel. (c) Donner la solution obtenue par Excel. (d) Quel serait l’effet de lancer un spot tv suppl´ementaire ?
Chapitre 12 La programmation en nombres entiers. 12.1
Introduction
La programmation en nombres entiers permet de mod´eliser et, grˆace a` la m´ethode que nous pr´esenterons dans ce chapitre, de r´esoudre : • des probl`emes avec cout ˆ fixe de mise en route (voir chapitre 5 sur la planification de production); • des probl`emes avec des conditions logiques, par exemple des disjonctions en gestion de projet (voir chapitre 7); • des probl`emes de choix parmi un nombre limit´e de valeurs, par exemple des choix de capacit´e (voir chapitre 8); • des probl`emes de m´elange avec nombre limit´e d’ingr´edients,. . . etc. D´efinition 12.1 On appelle probl`eme en nombres entiers la maximisation d’une fonction lin´eaire sous des contraintes lin´eaires lorsqu’en plus toutes les variables doivent eˆ tre enti`eres. D´efinition 12.2 On appelle probl`emes mixtes entiers (MIP en anglais pour Mixed Integer Programming) les probl`emes comportant un certain nombre de variables positives et un certain nombre de variables enti`eres. L’algorithme du Simplexe fournit une m´ethode de r´esolution g´en´erale pour tous les probl`emes lin´eaires, quelle que soit leur forme. Au contraire, en programmation en nombres entiers, on ne dispose pas d’un algorithme g´en´eral qui permette de r´esoudre efficacement tous les probl`emes en nombres entiers. Cependant, il existe une m´ethode g´en´erale connue sous le nom de m´ethode de branch and bound qui permet de r´esoudre bon nombre de probl`emes en nombres entiers. 189
Chapitre 12. La programmation en nombres entiers.
190
12.2
Formulation des probl`emes mixtes
Nous allons voir quelques probl`emes classiques n´ecessitant le recours a` la programmation mixte enti`ere.
12.2.1
Probl`emes avec couts ˆ fixes
Exemple 12.1 Probl`emes avec cout ˆ fixe de mise en route de la production. On veut repr´esenter un coˆut de production qui est nul en l’absence de production et qui, dans le cas contraire, vaut la somme d’une constante K, le coˆut fixe de production, ainsi que d’un coˆut proportionnel, le taux marginal e´ tant m. On veut donc pouvoir exprimer la fonction de coˆut suivante : Si x = 0, c(x) = 0; Si x > 0, c(x) = K + mx.
(12.1)
o`u x d´enote le niveau de production. Cette fonction est repr´esent´ee a` la figure 12.1. c(x) m K
x
Figure 12.1: Repr´esentation d’un coˆut fixe. La repr´esentation math´ematique de ce coˆut fixe n´ecessite : 1. l’ajout d’une variable indicatrice d’une production positive :
y=
1 si x > 0 0 si x = 0
2. la modification de la fonction objectif en : c(x, y) = Ky + mx qui devient donc purement lin´eaire;
Section 12.2. Formulation des probl`emes mixtes
191
3. l’ajout des contraintes suivantes : x ≤ M y, et y ∈ {0, 1}
(12.2)
avec M une borne sup´erieure sur la quantit´e produite (x). Remarquons que si x > 0, par les relations (12.2), on a que y = 1 et on tient compte du coˆut fixe de mise en route de production. Par contre, lorsque x = 0, les relations (12.2) permettent les choix y = 0 ou y = 1. Cependant, comme on minimise, l’optimiseur va automatiquement choisir y ∗ = 0, la solution qui e´ vite le coˆut fixe ! Il y a de nombreuses applications de cette mod´elisation des coˆuts fixes par la programmation mixte enti`ere. Un exemple de mise en application de ces coˆuts fixes est fournit par l’exemple localisation simple qui suit. Exemple 12.2 Le probl`eme de localisation simple. Il y a n clients pour un certain produit. La demande annuelle de ces clients, not´ee dj pour le client j, peut eˆ tre satisfaite a` partir de m d´epˆots. Le coˆut de transport unitaire entre le d´epˆot i et le client j est donn´e par cij alors que l’utilisation du d´epˆot i implique un coˆut fixe annuel d’ouverture du d´epˆot de fi . La capacit´e du d´epˆot i est not´ee si . Par exemple, on peut imaginer le probl`eme de l’approvisionnement des stations services d’une compagnie p´etroli`ere. Elle dispose, pour ce faire, de plusieurs emplacements possibles pour ses d´epˆots. Le coˆut fixe revient ici a` l’ouverture du d´epˆot. Le coˆut de transport entre un d´epˆot et une station d’essence repr´esente le coˆut du transport routier par camion citerne. Choix des variables : Le choix le plus e´ vident est de consid´erer xij comme e´ tant la partie de demande du client j satisfaite a` partir de l’entrepˆot i (voir figure 12.2). Une seconde s´erie de variables yi , astreintes a` eˆ tre binaires, repr´esente l’ouverture du d´epˆot :
1 si le d´epˆot i est ouvert, yi = 0 sinon Expression des contraintes : Il faut d’abord exprimer que la demande de chaque client est satisfaite. Ceci peut s’´ecrire de la mani`ere suivante : m i=1
xij = dj , j = 1, . . ., n
192
Chapitre 12. La programmation en nombres entiers.
si
1
1
2
2 xij
i
j
m
dj
n
Figure 12.2: Probl`eme de localisation simple. En effet, si l’on fait la somme sur tous les entrepˆots des parties de la demande du client j satisfaites a` partir de ces entrepˆots, on doit obtenir exactement la demande du client. La seconde s´erie de contraintes exprime la liaison entre l’utilisation d’un entrepˆot et son ouverture. Elles peuvent s’´ecrire de la mani`ere suivante : n
xij ≤ si yi et yi ∈ {0, 1}
(12.3)
j=1
Expression de l’objectif : L’objectif est simplement la minimisation des coˆuts totaux et s’exprime donc comme : m n m min z =
i=1 j=1
cij xij +
fi yi
i=1
On peut maintenant d´emontrer que yi est bien une indicatrice d’ouverture du d´epˆot i. En effet, soit il n’y a aucun pr´el`evement au d´epˆot ( nj=1 xij = 0) et yi = 0 ou yi = 1 sont admissibles pour (12.3). Cependant, comme ouvrir le d´epˆot (c’est-`a-dire prendre yi = 1) implique un coˆut fixe d’ouverture, l’algorithme de minimisation des coˆuts choisira yi∗ = 0 comme solution. D’autre part, s’il y a pr´el`evement au d´epˆot ( nj=1 xij > 0), dans ce cas seul yi = 1 est admissible et la premi`ere contrainte de (12.3) impose de respecter la capacit´e du d´epˆot. Ceci est une fa¸con tr`es classique d’exprimer des coˆuts fixes d’ouverture via l’utilisation d’une variable binaire.
Section 12.2. Formulation des probl`emes mixtes
12.2.2
193
Probl`emes avec contrainte logique
Parfois des probl`emes de gestion de production comportent une condition logique. Un exemple typique est celui des probl`emes de gestion de projets avec contrainte disjonctive. Pour rappel, dans ces probl`emes, on doit d´eterminer l’enchaˆınement des tˆaches du projet de mani`ere a` le r´ealiser dans le meilleur d´elai. Il se peut que deux tˆaches doivent eˆ tre effectu´ees par la mˆeme e´ quipe d’ouvriers, soit mettent en œuvre la mˆeme machine. Les deux tˆaches ne peuvent donc avoir lieu simultan´ement, sans que l’on puisse dire laquelle doit eˆ tre effectu´ee en premier lieu. Math´ematiquement, on peut e´ crire ceci par la condition suivante :
soit
ti + di ≤ tj si i est r´ealis´ee avant j tj + dj ≤ ti si j est r´ealis´ee avant i
(12.4)
o`u ti est la variable indiquant le temps de d´ebut de la tˆache i et di , sa dur´ee, est donn´ee. Cette disjonction peut eˆ tre r´esolue par la programmation mixte 0/1. En effet, d´efinissons la variable binaire yij , dont la valeur est 1 si la tache i est r´ealis´ee avant la tˆache j et 0 dans le cas contraire :
1 si la tˆache i est effectu´ee avant j, yij = 0 sinon On remplace alors la condition de disjonction (12.4) par les contraintes suivantes : ti + di ≤ tj + M (1 − yij ) tj + dj ≤ ti + M yij (12.5) yij ∈ {0, 1} o`u M note une borne sup´erieure sur la date de fin des travaux. D´emontrons l’´equivalence. Deux cas sont possibles pour la variable binaire : 1. Cas ou` yij = 1 : dans ce cas, le syst`eme (12.5) devient :
ti + di ≤ tj tj + dj ≤ ti + M
La premi`ere contrainte exprime donc que la tˆache i doit eˆ tre finie avant que ne commence la tˆache j. La seconde contrainte est automatiquement satisfaite. 2. Cas yij = 0 : dans ce cas, le syst`eme (12.5) devient :
ti + di ≤ tj + M tj + dj ≤ ti
La premi`ere contrainte est automatiquement satisfaite. La seconde contrainte exprime que la tˆache j doit eˆ tre finie avant que ne commence la tˆache i.
Chapitre 12. La programmation en nombres entiers.
194
12.2.3
M´elange avec nombre limit´e d’ingr´edients
Il s’agit e´ galement d’un probl`eme g´en´erique conduisant a` une formulation mixte enti`ere, les variables binaires indiquant la pr´esence d’un ingr´edient dans le m´elange. C’est le cas, par exemple, d’un probl`eme de m´elange d’huiles o`u cinq huiles sont disponibles mais o`u des contraintes techniques impliquent que seulement trois huiles diff´erentes peuvent eˆ tre pr´esentes dans le m´elange. Un autre exemple, est celui du chargement de hauts fourneaux o`u le nombre de charbons disponibles est souvent nettement sup´erieur au nombre de charbons qui peuvent eˆ tre charg´es simultan´ement. Ce nombre e´ tant limit´e par le nombre de portes de chargement du haut fourneau. Ce probl`eme peut eˆ tre r´esolu par la programmation mixte z´ero/un. Si xi note la quantit´e d’ingr´edient i dans le m´elange, d´efinissons la variable binaire yi indiquant la pr´esence de l’ingr´edient i dans le m´elange. Autrement dit :
yi =
1 si xi > 0 0 si xi = 0
On introduit alors les contraintes suivantes : mi yi ≤ xi ≤ Mi yi et yi ∈ {0, 1}
(12.6)
o`u mi est une borne inf´erieure sur la teneur de xi dans le m´elange et Mi est une borne sup´erieure sur la teneur de xi dans le m´elange. La condition du nombre maximum d’ingr´edients dans le m´elange s’exprime alors simplement par : n
yi ≤ k,
(12.7)
i=1
avec k, le nombre maximum d’ingr´edients dans le m´elange. D´emontrons l’´equivalence. Deux cas sont possibles pour la variable xi : 1. Soit xi > 0. Alors, par les contraintes (12.6), la variable yi doit valoir 1 et exprime bien que l’ingr´edient i est dans le m´elange. 2. Soit xi = 0. Alors, par la contrainte (12.6), la variable yi doit valoir 0. La condition (12.7) exprimera donc bien que au plus k ingr´edients seront pris dans le m´elange. On a donc bien que yi est une indicatrice de pr´esence de l’ingr´edient i dans le m´elange.
Section 12.3. Principe de la m´ethode de branch and bound
12.2.4
195
Choix parmi un nombre discret de valeurs
Dans beaucoup de probl`emes industriels, lors du dimensionnement d’un appareillage, on doit choisir sa capacit´e parmi les valeurs commerciales existant sur le march´e. Par exemple, lors du dimensionnement d’une canalisation de transport d’eau, on doit choisir parmi les valeurs suivantes pour le diam`etre : 12 cm, 17 cm, 24 cm ou 47 cm. On peut a` nouveau mod´eliser ce choix par l’utilisation de variables binaires. En effet, d´efinissons la variable x comme e´ tant le diam`etre choisi et d´efinissons yi une indicatrice du fait que le diam`etre num´ero i a e´ t´e choisi :
yi =
1 si x = di 0 si sinon.
On peut alors e´ crire la relation suivante pour le choix du diam`etre : x = 12y1 + 17y2 + 24y3 + 47y4 avec la contrainte qu’un seul diam`etre doit eˆ tre choisi : y1 + y2 + y3 + y4 = 1
(12.8)
et bien sˆur en imposant le caract`ere binaire de chaque indicatrice : yi ∈ {0, 1}, ∀i = 1, 2. . .4 La contrainte (12.8) fera en effet qu’une seule indicatrice vaudra un.
12.3
Principe de la m´ethode de branch and bound
La m´ethode de “branch and bound” ou encore appel´ee m´ethode de s´eparation et e´ valuation que nous allons maintenant d´ecrire est destin´ee a` r´esoudre les probl`emes en nombres entiers du type suivant : z ∗ = max cT x Ax ≤ b, s.c.q. x ≥ 0
et entiers.
Cette m´ethode peut e´ galement eˆ tre appliqu´ee aux probl`emes avec variables binaires (z´ero-un). Elle peut e´ galement eˆ tre appliqu´ee aux probl`emes mixtes (MIP), c’esta` -dire aux probl`emes comportant un certain nombre de variables enti`eres et un certain nombre de variables continues.
Chapitre 12. La programmation en nombres entiers.
196
Nous illustrons la m´ethode sur l’exemple suivant tir´e de Norbert et al [15] dont on a l´eg`erement modifi´e la fonction objectif : z ∗ = max z = 15x1 + 50x2
−x1 + 2x2 ≤
5,
x1 + 2x2 ≤ 14,
s.c.q.
≤
8,
x2 ≥
0
x1
x1
,
(12.9)
et entiers
La r´egion r´ealisable est repr´esent´ee a` la figure 12.3. (3) (2)
x2
(1)
P0
5
P2
P1
P3
4
z = 150 3 2 1 0 0
1
2
3
4
5
6
7
8
9
10
x1
Figure 12.3: Repr´esentation de la r´egion r´ealisable. Remarquons qu’une fa¸con de r´esoudre le probl`eme serait de construire une borne sup´erieure sur z ∗ et une borne inf´erieure sur z ∗ et ensuite de raffiner ces bornes jusqu’`a les e´ galiser. Question 1 : comment construire une borne inf´erieure sur z ∗ ? La r´eponse a` cette question est a` la fois simple et difficile. En effet, pour trouver une borne inf´erieure, il suffit de donner une solution r´ealisable pour (12.9). Comme l’objectif est de maximiser, l’optimum du probl`eme ne pourra qu’ˆetre sup´erieur a` la valeur de z en ce point. Par exemple, le point (4,4) appartient a` la r´egion r´ealisable : z(4, 4) = 15 × 4 + 50 × 4 = 260 ≤ zP∗ N E
Section 12.4. Application a` l’exemple
197
Cependant trouver en g´en´eral une solution r´ealisable pour un probl`eme en nombres entiers n’est pas une mince affaire. Question 2 : comment construire une borne sup´erieure sur z ∗ ? Une fa¸con de r´epondre a` cette question est de r´esoudre le probl`eme lin´eaire que l’on obtient a` partir de (12.9) en laissant tomber les contraintes d’int´egralit´e des variables. Comme on maximise sur un ensemble r´ealisable plus large, l’optimum ainsi obtenu ne pourra qu’ˆetre sup´erieur a` l’optimum du probl`eme en nombres entiers. C’est aussi le premier pas de la m´ethode de branch and bound que nous allons maintenant d´ecrire sur l’exemple.
12.4
Application a` l’exemple
Pas 0. R´esoudre la relaxation lin´eaire. Pour cet exemple, on obtient comme solution de la relaxation lin´eaire le point not´e P0 a` la figure 12.3 : x1 = 4, 5 x2 = 4, 75 z0 = 305. Cette solution est inacceptable car les variables ne sont pas enti`eres. Cependant, elle fournit une premi`ere borne sup´erieure sur z ∗ : z ∗ ≤ 305. Pas 1. Brancher sur une variable non enti`ere. La seconde id´ee de la m´ethode de branch and bound est (comme le nom l’indique) d’op´erer une s´eparation : la r´egion r´ealisable va eˆ tre s´epar´ee en deux sous-r´egions dont aucune ne peut contenir la solution optimale non enti`ere P0 . Cette s´eparation n´ecessite le choix d’une variable de s´eparation. Le choix de cette variable est heuristique. Diff´erents choix sont possibles et de ce choix peut d´ependre l’efficacit´e de la m´ethode de r´esolution. Une fa¸con simple de choisir cette variable est de prendre la variable la plus distante d’un entier. Une alternative, parfois utilis´ee, est de prendre la variable la plus proche d’un entier. Le “crit`ere de choix de la variable de branchement” adopt´e ici est de prendre la variable la plus distante d’un entier. Dans notre exemple, il s’agit de la variable x1 . On va effectuer un branchement sur cette variable. Comme x1 ne peut prendre que des valeurs enti`eres, il n’y a
Chapitre 12. La programmation en nombres entiers.
198
aucune perte de g´en´eralit´e d’imposer que soit x1 ≤ 4 soit x1 ≥ 5 Cependant imposer cette condition va e´ liminer la solution courante P0 de la relaxation lin´eaire. En g´en´eral si la variable choisie xk a la valeur fractionnaire N + , on imposera : soit xk ≤ N soit xk ≥ N + 1 En imposant s´epar´ement l’une et l’autre conditions, on obtient deux sousmod`eles, un mod`ele fils et un mod`ele fille. Ce que l’on repr´esente par une diagramme du type de celui de la figure 12.4. Chaque nœud de cette figure correspond
z 0 = 305 x1 = 4, 50 x2 = 4, 75 x1
x1
4
5 z2 = 300 x1 = 5 x 2 = 4, 5
z1 = 285 x1 = 4 x 2 = 4, 5 x2
4
z3 = 290 x1 = 6 x2 = 4
x2
5
z4 = ∞ Probl`eme non r´ealisable
Figure 12.4: Arbre de branch and bound. a` un probl`eme lin´eaire. Le nœud 0 au mod`ele original. Le nœud 1 est le mod`ele original avec en plus la restriction x1 ≤ 4, tandis que le nœud 2 correspond au mod`ele original avec en plus la restriction x1 ≥ 5. On a ici num´erot´e les nœuds dans l’ordre o`u ils ont e´ t´e g´en´er´es. On peut maintenant r´esoudre les relaxations lin´eaires correspondant aux probl`emes fils et fille. Dans notre exemple, on obtient les deux solutions suivantes : Noeud 1 : x1 = 4, x2 = 4, 5, z1 = 285. Noeud 2 : x1 = 5, x2 = 4, 5 z2 = 300. Remarquez que les valeurs atteintes par la fonction objectif sont moins e´ lev´ees que dans la relaxation lin´eaire pr´ec´edente. Ceci n’est pas e´ tonnant : on a, en
Section 12.4. Application a` l’exemple
199
effet, ajout´e des contraintes et donc restreint l’espace des solutions r´ealisables. Comme les deux sous-r´egions forment une repr´esentation contenant l’ensemble des solution enti`eres, on peut en conclure que la borne sup´erieure sur z ∗ est : z ∗ ≤ max(z1 , z2 ) = 300. Pas 2. Diviser a` nouveau un nœud fils ou fille en deux. Ici, aucune des deux solutions n’est acceptable car toutes les deux comportent des parties fractionnaires. On va donc continuer en choisissant un des deux nœuds pour le diviser a` nouveau. Le choix du nœud a` diviser est a` nouveau heuristique et peut a` nouveau avoir une grande influence sur le temps total mis pour r´esoudre le probl`eme. Pour l’illustration de la m´ethode, nous adoptons la r`egle de choix heuristique suivante : Le “crit`ere de choix du nœud a` diviser” adopt´e ici est de prendre la la relaxation lin´eaire fournit la meilleure (c’est-`a-dire la plus grande en cas de maximisation) valeur de la fonction objectif. Pour cet exemple, on choisit donc le nœud 2 et on r´ep`ete le Pas 1. Pas 1. Choisir une variable pour brancher. Ici seule la variable x2 est non enti`ere. On la choisit donc pour op´erer le branchement suivant : soit x2 ≤ 4 soit x2 ≥ 5 On ajoute s´epar´ement chacune de ces contraintes aux contraintes du probl`eme 2 et on g´en`ere ainsi les nœuds 3 et 4. Ceci est illustr´e a` la figure 12.4. On r´esout graphiquement les relaxations lin´eaires (voir figure 12.3) et on obtient les solutions suivantes : Noeud 3 : x1 = 6, x2 = 4, z3 = 290. Noeud 4 : non r´ealisable Noter que, au nœud 3, on a obtenu une solution enti`ere dont la valeur correspondante de la fonction objectif est 290. On a une premi`ere borne inf´erieure sur la valeur optimale de la fonction objectif et on a donc que : 290 ≤ z ∗ Il est clair e´ galement qu’il n’y a aucune raison de continuer a` diviser le nœud 3 pour lequel la solution optimale du probl`eme en nombres entiers a e´ t´e obtenue. On dit que le nœud 3 est coup´e. Remarquons aussi que le nœud 4 a conduit a` un probl`eme non r´ealisable. Ce n’est pas e´ tonnant vu que l’on rajoute de plus en plus de contraintes. A nouveau,
200
Chapitre 12. La programmation en nombres entiers.
dans ce cas, il ne sert a` rien de continuer a` diviser ce nœud. On peut donc couper le nœud 4. Remarquons, pour terminer, que l’on peut e´ galement couper la branche du nœud 1. En effet, la valeur de z1 = 285 est inf´erieure a` la borne inf´erieure de 290 qui vient d’ˆetre trouv´ee. On n’a donc aucun espoir de trouver en poursuivant les calculs a` la branche 1 de trouver une solution enti`ere meilleure que 290. Dans le cas contraire, on aurait du diviser la branche 1. La m´ethode est termin´ee puisqu’il n’existe plus de nœud a` diviser. On d´etermine la solution optimale comme e´ tant la meilleure solution enti`ere trouv´ee. Il s’agit du point P3 suivant : x∗1 = 6 x∗2 = 4 auquel correspond une valeur optimale de l’objectif de z ∗ = 290. On a ainsi, pour notre exemple, trouv´e et aussi prouv´e que la solution du nœud 3 e´ tait la solution optimale du probl`eme en nombres entiers. En conclusions, il y a trois raisons de couper une branche dans l’arbre : 1. lorsque la relaxation lin´eaire obtenue est non r´ealisable (cas du nœud 4), 2. lorsque la relaxation lin´eaire obtenue fournit une solution enti`ere (cas du nœud 3), 3. lorsque la valeur de la borne sup´erieure est inf´erieure a` la valeur de la meilleure solution enti`ere obtenue (cas du nœud 1). Enfin terminons par les remarques g´en´erales suivantes. Si la r´egion r´ealisable de la relaxation lin´eaire n’est pas born´ee, il n’y a pas de garantie de convergence de la m´ethode de branch and bound. Pour e´ viter ce probl`eme, certaines impl´ementations demandent une borne inf´erieure et sup´erieure sur chaque variable. On est ainsi garanti d’un nombre fini de branches dans l’arbre. Signalons, pour terminer, qu’il existe une seconde m´ethode g´en´erale pour r´esoudre les probl`emes en nombres entiers. Il s’agit de la m´ethode dite des plans coupants. En effet, elle g´en`ere des plans qui “coupent” les solutions fractionnaires. Remarquons cependant que, d’un point de vue algorithmique, cette m´ethode s’av`ere moins performante (sauf a` exploiter la structure particuli`ere du probl`eme) que la m´ethode de “branch and bound” et n’est donc pas celle qui est impl´ement´ee dans les logiciels commerciaux de programmation mixte.
Section 12.5. Exercices
12.5
201
Exercices
12.1. Mutation des officiers. L’arm´ee a une politique de mutation r´eguli`ere de ses officiers. Tous les trois ans, ces officiers sont mut´es a` un autre poste pour assurer la polyvalence du commandement et e´ viter que trop de fraternit´e ne s’installe entre les officiers et la troupe. L’arm´ee, pour e´ tablir son plan de mutation, tient compte du d´esagr´ement d’ˆetre mut´e loin de sa base d’origine. Et il est clair que, par exemple dans le cas d’un officier mari´e dont la femme travaille dans le civil, le d´esagr´ement sera d’autant plus grand que la nouvelle affectation sera e´ loign´ee. Pour les 5 officiers a` muter cette ann´ee, on a e´ tabli le coˆut de les affecter a` chacun des 4 autres postes occup´es par les coll`egues. Cette information est reprise dans au tableau 12.1. Formuler le probl`eme de Coˆut pour l’officier A B C D E
d’ˆetre mut´e au poste a b c d e - 12 15 11 17 6 - 14 12 16 8 17 - 21 17 7 16 9 - 12 7 13 8 12 -
Tableau 12.1: D´esagr´ement de la mutation la minimisation du d´esagr´ement total. 12.2. Planification de la production de moteurs d’avions. Une entreprise de fabrication de moteurs d’avions produit, pour plusieurs compagnies clientes des moteurs en travaillant uniquement sur commandes. Elle d´esire planifier sa production pour les quatre prochains mois. Le tableau 12.2 fournit le nombre de moteurs a` fournir en fin de chaque mois pour les quatre premiers mois de l’ann´ee. En fonction des op´erations de maintenance, la capacit´e de production est diff´erente de mois en mois. Elle est donn´ee au tableau 12.2. Le coˆut unitaire de production varie e´ galement de mois en mois. Au vu des donn´ees, il est clair qu’il faudra recourir au stockage. Une unit´e en stock en fin de mois a un coˆut unitaire de stockage donn´e au tableau 12.2. On se demande comment organiser la production du moteur pour minimiser les coˆuts de production et de stockage. (a) En utilisant les symboles d´efinis en deuxi`eme ligne du tableau 12.2 plutˆot que les donn´ees num´eriques particuli`eres, formulez le probl`eme de la minimisation du coˆut total de production et de stockage des moteurs :
Chapitre 12. La programmation en nombres entiers.
202 Mois (t) Janvier F´evrier Mars Avril
Commandes Capacit´e Coˆut de production Coˆut de stockage (COMt ) (CAPt ) (CPt ) (CSt ) 10 25 1,08 0,015 15 35 1,11 0,015 25 30 1,10 0,015 20 10 1,13 0,015 Tableau 12.2: Production de moteurs d’avions. • Choix des variables. • Expression de l’objectif. • Expression des contraintes.
(b) Si maintenant, il y a en plus un coˆut fixe de mise en route de la production de 2,5 a` chaque mois o`u l’on produit, modifiez votre formulation pour tenir compte de ce coˆut de mise en route : • Ajout de nouvelles variables. • Ajout dans l’expression de l’objectif. • Ajout et modification dans l’expression des contraintes. 12.3. M´ethode de branch and bound. Consid´erons le probl`eme en nombres entiers suivant : zP∗ N E = max z = 5x1 + 4x2
x1
+x2 ≤
5,
(1)
s.c.q. 10x1 +6x2 ≤ 45, (2) x , x2 ≥ 0 et entiers 1 On demande de r´esoudre le probl`eme par la m´ethode de branch and bound en r´esolvant les relaxations lin´eaires de mani`ere purement graphique. (a) R´esoudre graphiquement la relaxation lin´eaire initiale. Remarque : n’hachurez pas la r´egion r´ealisable. Entourez-la d’une couleur afin de pouvoir encore utiliser le graphique pour la suite de l’exercice. Donnez la solution optimale du probl`eme lin´eaire ainsi que la valeur optimale de l’objectif de ce probl`eme. (b) Repr´esenter par un arbre la suite de vos calculs de la m´ethode de branch and bound. Comme crit`ere de choix de la variable de branchement, prendre la premi`ere non enti`ere. Justifiez bri`evement les diff´erents pas de la m´ethode. (c) Quelle est la solution optimale du probl`eme en nombres entiers ?
Bibliographie [1] BAGLIN G´erard, Olivier BRUEL, Alain GARREAU, Michel GREIF et Christian VAN DELFT, Management Industriel et Logistique, 3`eme Edition, Economica, Paris, 2001. [2] BROOKE Anthony, David KENDRICK et Alexander MEERAUS, GAMS User’s guide Release 2.25, The Scientific Press, San Francisco, 1992. [3] EXCEL, Guide de l’utilisateur, Microsoft, 1992. [4] GIARD Vincent, Gestion de la production et des flux, 3`eme Edition, Economica, Paris, 2003. [5] GUERET Christelle, Christian PRINS et Marc SEVAUX, Applications of optimization with XPRESS-MP, Eyrolles, Paris, 2000. [6] HEIZEZ Jay, Barry RENDER, Operations Management, 8`eme e´ dition, Pearson Education, Upper Saddle River, 2006. [7] F.S. HILLIER et G.S. LIEBERMAN, Introduction to Operations Research, 6`eme e´ dition, Mac Graw-Hill International Editions, Singapour, 1995. [8] F.S. HILLIER, M.S. HILLIER et G.S. LIEBERMAN, Introduction to Management Sciences, 1`ere e´ dition, Mac Graw-Hill International Editions, Boston, 2000. [9] G. JAVEL, Organisation et gestion de la production, MASSON, 1997. [10] Lee KRAJEWSKI, Manoj MALHOTRA et Larry RITZMAN, Operations Management, 8`eme e´ dition, Pearson Education, Upper Saddle River, 2007. [11] LACAZE Dominique, Optimisation appliqu´ee a` la gestion et a` l’´economie, Economica, 1990. [12] D. G. LUENBERGER, Linear and Nonlinear Programming, Addison Wesley, 1984.
203
204
Bibliographie
[13] J.O. MAC CLAIN, L.J. THOMAS et J.B. MAZZOLA, Operations Management: Production of Goods and Services, Prentice Hall, 1992. [14] NEMHAUSER, G.L. et L.A. WOLSEY, Integer and Combinatorial Optimization, Wiley, New York, 1988. [15] Y. NORBERT, R. OUELLET et R. PARENT, La recherche op´erationnelle, Ga¨etan Morin Editeur, Montr´eal-Paris, 1995. [16] Hamdy TAHA, Operations Resaerch: an Introduction, 8`eme e´ dition, Pearson Education, Upper Saddle River, 2007. [17] M.P. WILLIAMS, Model building in Mathematical Programming, John Wiley, 1990. [18] M.P. WILLIAMS, Model solving in Mathematical Programming, John Wiley, 1992.
Annexe A Formulaire pour la gestion de production A.1 La gestion calendaire de stock Cout ˆ de gestion : C(S) = cp Ip (S) + cr Ir (S) (+cc 1) avec Ip (S) = stock moyen poss´ed´e : ¯ + Ir (S) (cas de stock a` rotation nulle) Ip (S) = S − X Ip (S) =
S−
¯ X 2
+
Ir (S) 2
(cas de stock a` rotation non nulle)
et Ir (S) = nombre moyen de demandes non satisfaites : Ir (S) = λP (X > S − 1) − SP (X > S) Ir (s) =
σg(tS ) avec : tS =
¯ S−X σ
si X ∼Poisson(λ) si X ∼ N (µ, σ)
Politique optimale en stock a` rotation nulle : cp ≤ P (X > S ∗ − 1) cp + cr cp P (X > S ∗ ) = cr + cp
S ∗ tel que P (X > S ∗ ) ≤
si X ∼ Poisson(λ)
S ∗ tel que
si X ∼ N (µ, σ)
Politique optimale en stock a` rotation non nulle : S ∗ tel que P (X > S ∗ ) ≤ S ∗ tel que
cp cr +
cp 2
≤ P (X > S ∗ − 1)
P (X > S ∗ ) =
cp cr +
205
cp 2
si X ∼ Poisson(λ) si X ∼ N (µ, σ)
Annexe A. Formulaire pour la gestion de production
206
Cons´equences e´ conomiques du choix : • coˆut de gestion : C(S) = cr Ir (S) + cp Ip (S) (+cc 1) • marge nette moyenne : ¯ − C(S) B(S) = mu X avec mu , la marge unitaire.
A.2 La gestion par point de commande Niveau optimal de commande optimal :
∗
q = avec cp D
= =
2cc D cp
coˆut unitaire de possession durant un an en stock; demande annuelle.
Point de commande optimal : s∗ = DL avec L = d´elai d’approvisionnement, exprim´e en ann´ee. Calcul du stock moyen poss´ed´e et du nombre moyen de commandes : Ip (q ∗ ) =
q∗ D et Ic (q ∗ ) = ∗ 2 q
Cout ˆ de gestion en univers certain : C(q ∗ ) = cc Ic (q ∗ ) + cp Ip (q ∗ ) = cc avec Ic (q) Ip (q) D q∗
D q∗ + c p q∗ 2
= nombre moyen de commandes par an; = stock moyen poss´ed´e; = demande annuelle; = quantit´e optimale command´ee.
Section A.2. La gestion par point de commande
207
Cout ˆ de gestion en cas de demande al´eatoire : C(s, q) = cc Ic (q) + cp Ip (s, q) + cr Ir (s, q) La quantit´e e´ conomique q est d´etermin´ee par :
∗
q =
2cc D ¯ avec D = X cp
Le point de commande s est d´etermin´e en utilisant la gestion calendaire pendant le d´elai d’obtention L (cas de la rotation non nulle) : P (XL > s∗ ) =
cp cr + cp /2
avec cp , le coˆut unitaire de possession entre deux commandes : cp = cp
q∗ . D
La demande XL durant L suit une loi Normale de moyenne : µL = Lµ et de variance : σL2 = Lσ 2 . Dans le cas de la loi Poisson, le point de commande s est d´etermin´e par (cas de la rotation non nulle) : s∗ tel queP (XL > s∗ ) ≤
cp cr +
cp 2
≤ P (XL > s∗ − 1)
Cons´equences e´ conomique du choix : • Le stock de s´ecurit´e est la diff´erence entre le point de commande et la demande moyenne durant L : s∗ − DL • Le nombre de commandes par an est d´etermin´e par : Ic (q) =
D q
• Le nombre moyen de ruptures par commande, not´e Irc , se calcule par la formule de la gestion calendaire : Irc (s) = λP (XL > s − 1) − sP (XL > s) Irc (s) =
σL g(tS ) avec tS =
s − X¯L σL
si XL ∼Poisson(λ) si XL ∼ N (µL , σL )
Annexe A. Formulaire pour la gestion de production
208
• Le nombre moyen de ventes manqu´ees par an s’´el`eve donc a` : Ir (s, q) = Ic (q) × Irc (s) • Le stock moyen poss´ed´e en cas de ventes manqu´ees perdues : Ip (s, q) =
I c (s) q + (s − DL) + r , 2 2
• Le stock moyen poss´ed´e en cas de ventes manqu´ees diff´er´ees : Ip (s, q) =
DL c q + (s − DL) + I (S). 2 2q r
A.3 Les techniques de juste a` temps D´etermination du nombre d’´etiquettes : (1 + α)Cu Tr + Qe k = consommation du poste aval en unit´es par minute; = taille e´ conomique des lots fabriqu´es en amont; = la capacit´e d’un conteneur; = temps de r´eaction du syst`eme; = marge de s´ecurit´e. Ne ≥
avec Cu Qe k Tr α
A.4
´ Equilibrage d’une chaˆıne de production nc − T nc nombre de postes de travail, temps d’un cycle, temps total requis par un article. RE =
avec n c T
= = =
A.5 Calcul d’annuit´es n t=1
avec n i
= =
1 1+i
t
1 − (1 + i)−n = i
nombre d’ann´ees, taux d’actualisation annuel.
Annexe B Tables pour la gestion de stocks B.1
Table de la loi Poisson(λ) λ x
0,05
0,1
0,15
0,2
0,25
0,3
0,35
0,4
0,45
0,5
0
0,0488
0,0952
0,1393
0,1813
0,2212
0,2592
0,2953
0,3297
0,3624
0,3935
1
0,0012
0,0047
0,0102
0,0175
0,0265
0,0369
0,0487
0,0616
0,0754
0,0902
2
0,0000
0,0002
0,0005
0,0011
0,0022
0,0036
0,0055
0,0079
0,0109
0,0144
3
0,0000
0,0000
0,0000
0,0001
0,0001
0,0003
0,0005
0,0008
0,0012
0,0018
4
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
0,0001
0,0002
5
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
Donne la probabilit´e P [Poisson(λ) > x]
209
Annexe B. Tables pour la gestion de stocks
210
λ x
0,55
0,6
0,65
0,7
0,75
0,8
0,85
0,9
1
1,5
0
0,4231
0,4512
0,4780
0,5034
0,5276
0,5507
0,5726
0,5934
0,6321
0,7769
1
0,1057
0,1219
0,1386
0,1558
0,1734
0,1912
0,2093
0,2275
0,2642
0,4422
2
0,0185
0,0231
0,0283
0,0341
0,0405
0,0474
0,0549
0,0629
0,0803
0,1912
3
0,0025
0,0034
0,0044
0,0058
0,0073
0,0091
0,0111
0,0135
0,0190
0,0656
4
0,0003
0,0004
0,0006
0,0008
0,0011
0,0014
0,0018
0,0023
0,0037
0,0186
5
0,0000
0,0000
0,0001
0,0001
0,0001
0,0002
0,0003
0,0003
0,0006
0,0045
6
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
0,0009
7
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0002
8
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
Donne la probabilit´e P [Poisson(λ) > x]
Section B.1. Table de la loi Poisson(λ)
211
λ x
2
2,5
3
3,5
4
4,5
5
5,5
6
6,5
0
0,8647
0,9179
0,9502
0,9698
0,9817
0,9889
0,9933
0,9959
0,9975
0,9985
1
0,5940
0,7127
0,8009
0,8641
0,9084
0,9389
0,9596
0,9734
0,9826
0,9887
2
0,3233
0,4562
0,5768
0,6792
0,7619
0,8264
0,8753
0,9116
0,9380
0,9570
3
0,1429
0,2424
0,3528
0,4634
0,5665
0,6577
0,7350
0,7983
0,8488
0,8882
4
0,0527
0,1088
0,1847
0,2746
0,3712
0,4679
0,5595
0,6425
0,7149
0,7763
5
0,0166
0,0420
0,0839
0,1424
0,2149
0,2971
0,3840
0,4711
0,5543
0,6310
6
0,0045
0,0142
0,0335
0,0653
0,1107
0,1689
0,2378
0,3140
0,3937
0,4735
7
0,0011
0,0042
0,0119
0,0267
0,0511
0,0866
0,1334
0,1905
0,2560
0,3272
8
0,0002
0,0011
0,0038
0,0099
0,0214
0,0403
0,0681
0,1056
0,1528
0,2084
9
0,0000
0,0003
0,0011
0,0033
0,0081
0,0171
0,0318
0,0538
0,0839
0,1226
10
0,0000
0,0001
0,0003
0,0010
0,0028
0,0067
0,0137
0,0253
0,0426
0,0668
11
0,0000
0,0000
0,0001
0,0003
0,0009
0,0024
0,0055
0,0110
0,0201
0,0339
12
0,0000
0,0000
0,0000
0,0001
0,0003
0,0008
0,0020
0,0045
0,0088
0,0160
13
0,0000
0,0000
0,0000
0,0000
0,0001
0,0003
0,0007
0,0017
0,0036
0,0071
14
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
0,0002
0,0006
0,0014
0,0030
15
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
0,0002
0,0005
0,0012
16
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
0,0002
0,0004
17
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
0,0002
18
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
19
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
Donne la probabilit´e P [Poisson(λ) > x]
Annexe B. Tables pour la gestion de stocks
212
λ x
7
7,5
8
8,5
9
9,5
10
11
12
13
0
0,9991
0,9994
0,9997
0,9998
0,9999
0,9999
1,0000
1,0000
1,0000
1,0000
1
0,9927
0,9953
0,9970
0,9981
0,9988
0,9992
0,9995
0,9998
0,9999
1,0000
2
0,9704
0,9797
0,9862
0,9907
0,9938
0,9958
0,9972
0,9988
0,9995
0,9998
3
0,9182
0,9409
0,9576
0,9699
0,9788
0,9851
0,9897
0,9951
0,9977
0,9989
4
0,8270
0,8679
0,9004
0,9256
0,9450
0,9597
0,9707
0,9849
0,9924
0,9963
5
0,6993
0,7586
0,8088
0,8504
0,8843
0,9115
0,9329
0,9625
0,9797
0,9893
6
0,5503
0,6218
0,6866
0,7438
0,7932
0,8351
0,8699
0,9214
0,9542
0,9741
7
0,4013
0,4754
0,5470
0,6144
0,6761
0,7313
0,7798
0,8568
0,9105
0,9460
8
0,2709
0,3380
0,4075
0,4769
0,5443
0,6082
0,6672
0,7680
0,8450
0,9002
9
0,1695
0,2236
0,2834
0,3470
0,4126
0,4782
0,5421
0,6595
0,7576
0,8342
10
0,0985
0,1378
0,1841
0,2366
0,2940
0,3547
0,4170
0,5401
0,6528
0,7483
11
0,0533
0,0792
0,1119
0,1513
0,1970
0,2480
0,3032
0,4207
0,5384
0,6468
12
0,0270
0,0427
0,0638
0,0909
0,1242
0,1636
0,2084
0,3113
0,4240
0,5369
13
0,0128
0,0216
0,0342
0,0514
0,0739
0,1019
0,1355
0,2187
0,3185
0,4270
14
0,0057
0,0103
0,0173
0,0274
0,0415
0,0600
0,0835
0,1460
0,2280
0,3249
15
0,0024
0,0046
0,0082
0,0138
0,0220
0,0335
0,0487
0,0926
0,1556
0,2364
16
0,0010
0,0020
0,0037
0,0066
0,0111
0,0177
0,0270
0,0559
0,1013
0,1645
17
0,0004
0,0008
0,0016
0,0030
0,0053
0,0089
0,0143
0,0322
0,0630
0,1095
18
0,0001
0,0003
0,0007
0,0013
0,0024
0,0043
0,0072
0,0177
0,0374
0,0698
19
0,0000
0,0001
0,0003
0,0005
0,0011
0,0020
0,0035
0,0093
0,0213
0,0427
20
0,0000
0,0000
0,0001
0,0002
0,0004
0,0009
0,0016
0,0047
0,0116
0,0250
21
0,0000
0,0000
0,0000
0,0001
0,0002
0,0004
0,0007
0,0023
0,0061
0,0141
22
0,0000
0,0000
0,0000
0,0000
0,0001
0,0001
0,0003
0,0010
0,0030
0,0076
23
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
0,0001
0,0005
0,0015
0,0040
24
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0002
0,0007
0,0020
25
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
0,0003
0,0010
26
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
0,0005
27
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
0,0002
28
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0001
29
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
0,0000
Donne la probabilit´e P [Poisson(λ) > x]
Section B.1. Table de la loi Poisson(λ)
213
λ x
14
15
16
17
18
0
1,0000
1,0000
1,0000
1,0000
1,0000
1
1,0000
1,0000
1,0000
1,0000
1,0000
2
0,9999
1,0000
1,0000
1,0000
1,0000
3
0,9995
0,9998
0,9999
1,0000
1,0000
4
0,9982
0,9991
0,9996
0,9998
0,9999
5
0,9945
0,9972
0,9986
0,9993
0,9997
6
0,9858
0,9924
0,9960
0,9979
0,9990
7
0,9684
0,9820
0,9900
0,9946
0,9971
8
0,9379
0,9626
0,9780
0,9874
0,9929
9
0,8906
0,9301
0,9567
0,9739
0,9846
10
0,8243
0,8815
0,9226
0,9509
0,9696
11
0,7400
0,8152
0,8730
0,9153
0,9451
12
0,6415
0,7324
0,8069
0,8650
0,9083
13
0,5356
0,6368
0,7255
0,7991
0,8574
14
0,4296
0,5343
0,6325
0,7192
0,7919
15
0,3306
0,4319
0,5333
0,6285
0,7133
16
0,2441
0,3359
0,4340
0,5323
0,6249
17
0,1728
0,2511
0,3407
0,4360
0,5314
18
0,1174
0,1805
0,2577
0,3450
0,4378
19
0,0765
0,1248
0,1878
0,2637
0,3491
20
0,0479
0,0830
0,1318
0,1945
0,2693
21
0,0288
0,0531
0,0892
0,1385
0,2009
22
0,0167
0,0327
0,0582
0,0953
0,1449
23
0,0093
0,0195
0,0367
0,0633
0,1011
24
0,0050
0,0112
0,0223
0,0406
0,0683
25
0,0026
0,0062
0,0131
0,0252
0,0446
26
0,0013
0,0033
0,0075
0,0152
0,0282
27
0,0006
0,0017
0,0041
0,0088
0,0173
28
0,0003
0,0009
0,0022
0,0050
0,0103
29
0,0001
0,0004
0,0011
0,0027
0,0059
30
0,0001
0,0002
0,0006
0,0014
0,0033
31
0,0000
0,0001
0,0003
0,0007
0,0018
32
0,0000
0,0000
0,0001
0,0004
0,0010
33
0,0000
0,0000
0,0001
0,0002
0,0005
34
0,0000
0,0000
0,0000
0,0001
0,0002
35
0,0000
0,0000
0,0000
0,0000
0,0001
36
0,0000
0,0000
0,0000
0,0000
0,0001
37
0,0000
0,0000
0,0000
0,0000
0,0000
Annexe B. Tables pour la gestion de stocks
214
Table de la loi normale Z ∼ N (0, 1)
B.2 P zi
zj 0,00
0,01
0,02
0,03
0,04
0,05
0,06
0,07
0,08
0,09
0,0
0,5000
0,4960
0,4920
0,4880
0,4840
0,4801
0,4761
0,4721
0,4681
0,4641
0,1
0,4602
0,4562
0,4522
0,4483
0,4443
0,4404
0,4364
0,4325
0,4286
0,4247
0,2
0,4207
0,4168
0,4129
0,4090
0,4052
0,4013
0,3974
0,3936
0,3897
0,3859
0,3
0,3821
0,3783
0,3745
0,3707
0,3669
0,3632
0,3594
0,3557
0,3520
0,3483
0,4
0,3446
0,3409
0,3372
0,3336
0,3300
0,3264
0,3228
0,3192
0,3156
0,3121
0,5
0,3085
0,3050
0,3015
0,2981
0,2946
0,2912
0,2877
0,2843
0,2810
0,2776
0,6
0,2743
0,2709
0,2676
0,2643
0,2611
0,2578
0,2546
0,2514
0,2483
0,2451
0,7
0,2420
0,2389
0,2358
0,2327
0,2296
0,2266
0,2236
0,2206
0,2177
0,2148
0,8
0,2119
0,2090
0,2061
0,2033
0,2005
0,1977
0,1949
0,1922
0,1894
0,1867
0,9
0,1841
0,1814
0,1788
0,1762
0,1736
0,1711
0,1685
0,1660
0,1635
0,1611
1,0
0,1587
0,1562
0,1539
0,1515
0,1492
0,1469
0,1446
0,1423
0,1401
0,1379
1,1
0,1357
0,1335
0,1314
0,1292
0,1271
0,1251
0,1230
0,1210
0,1190
0,1170
1,2
0,1151
0,1131
0,1112
0,1093
0,1075
0,1056
0,1038
0,1020
0,1003
0,0985
1,3
0,0968
0,0951
0,0934
0,0918
0,0901
0,0885
0,0869
0,0853
0,0838
0,0823
1,4
0,0808
0,0793
0,0778
0,0764
0,0749
0,0735
0,0721
0,0708
0,0694
0,0681
1,5
0,0668
0,0655
0,0643
0,0630
0,0618
0,0606
0,0594
0,0582
0,0571
0,0559
1,6
0,0548
0,0537
0,0526
0,0516
0,0505
0,0495
0,0485
0,0475
0,0465
0,0455
1,7
0,0446
0,0436
0,0427
0,0418
0,0409
0,0401
0,0392
0,0384
0,0375
0,0367
1,8
0,0359
0,0351
0,0344
0,0336
0,0329
0,0322
0,0314
0,0307
0,0301
0,0294
1,9
0,0287
0,0281
0,0274
0,0268
0,0262
0,0256
0,0250
0,0244
0,0239
0,0233
2,0
0,0228
0,0222
0,0217
0,0212
0,0207
0,0202
0,0197
0,0192
0,0188
0,0183
2,1
0,0179
0,0174
0,0170
0,0166
0,0162
0,0158
0,0154
0,0150
0,0146
0,0143
2,2
0,0139
0,0136
0,0132
0,0129
0,0125
0,0122
0,0119
0,0116
0,0113
0,0110
2,3
0,0107
0,0104
0,0102
0,0099
0,0096
0,0094
0,0091
0,0089
0,0087
0,0084
2,4
0,0082
0,0080
0,0078
0,0075
0,0073
0,0071
0,0069
0,0068
0,0066
0,0064
2,5
0,0062
0,0060
0,0059
0,0057
0,0055
0,0054
0,0052
0,0051
0,0049
0,0048
2,6
0,0047
0,0045
0,0044
0,0043
0,0041
0,0040
0,0039
0,0038
0,0037
0,0036
2,7
0,0035
0,0034
0,0033
0,0032
0,0031
0,0030
0,0029
0,0028
0,0027
0,0026
2,8
0,0026
0,0025
0,0024
0,0023
0,0023
0,0022
0,0021
0,0021
0,0020
0,0019
2,9
0,0019
0,0018
0,0018
0,0017
0,0016
0,0016
0,0015
0,0015
0,0014
0,0014
3,0
0,0013
0,0013
0,0013
0,0012
0,0012
0,0011
0,0011
0,0011
0,0010
0,0010
Donne la probabilit´e P (Z > zi + zj )
Section B.3. Table pour le calcul de Ir (S)
B.3
215
Table pour le calcul de Ir (S)
g(tS ) ti
tj 0,00
0,01
0,02
0,03
0,04
0,05
0,06
0,07
0,08
0,09
-3
3,0005
3,0104
3,0202
3,0304
3,0403
3,0505
3,0603
3,0702
3,0804
3,0903
-2,9
2,9004
2,9105
2,9204
2,9305
2,9406
2,9504
2,9606
2,9704
2,9805
2,9904
-2,8
2,8006
2,8107
2,8207
2,8308
2,8405
2,8506
2,8607
2,8705
2,8805
2,8906
-2,7
2,7010
2,7109
2,7209
2,7309
2,7409
2,7508
2,7608
2,7708
2,7809
2,7909
-2,6
2,6014
2,6115
2,6214
2,6312
2,6414
2,6513
2,6612
2,6711
2,6811
2,6910
-2,5
2,5020
2,5120
2,5218
2,5318
2,5419
2,5517
2,5617
2,5716
2,5817
2,5915
-2,4
2,4027
2,4126
2,4225
2,4326
2,4425
2,4524
2,4624
2,4721
2,4821
2,4920
-2,3
2,3037
2,3137
2,3234
2,3334
2,3434
2,3531
2,3632
2,3730
2,3828
2,3929
-2,2
2,2049
2,2146
2,2246
2,2344
2,2445
2,2543
2,2641
2,2740
2,2839
2,2938
-2,1
2,1064
2,1164
2,1261
2,1359
2,1457
2,1556
2,1654
2,1753
2,1852
2,1949
-2
2,0084
2,0183
2,0280
2,0378
2,0476
2,0574
2,0672
2,0771
2,0868
2,0967
-1,9
1,9111
1,9207
1,9305
1,9402
1,9499
1,9597
1,9694
1,9792
1,9889
1,9987
-1,8
1,8143
1,8240
1,8335
1,8433
1,8529
1,8625
1,8723
1,8820
1,8916
1,9013
-1,7
1,7182
1,7279
1,7374
1,7470
1,7566
1,7661
1,7758
1,7853
1,7951
1,8047
-1,6
1,6232
1,6327
1,6422
1,6516
1,6611
1,6706
1,6801
1,6896
1,6992
1,7088
-1,5
1,5293
1,5387
1,5479
1,5574
1,5667
1,5761
1,5855
1,5949
1,6043
1,6138
-1,4
1,4366
1,4458
1,4551
1,4643
1,4736
1,4829
1,4922
1,5013
1,5107
1,5200
-1,3
1,3455
1,3546
1,3636
1,3726
1,3818
1,3909
1,4000
1,4092
1,4183
1,4274
-1,2
1,2561
1,2650
1,2739
1,2828
1,2916
1,3006
1,3096
1,3186
1,3275
1,3365
-1,1
1,1686
1,1773
1,1859
1,1947
1,2034
1,2121
1,2209
1,2296
1,2384
1,2473
-1
1,0833
1,0918
1,1002
1,1087
1,1171
1,1256
1,1342
1,1428
1,1513
1,1599
-0,9
1,0004
1,0086
1,0168
1,0250
1,0333
1,0415
1,0499
1,0582
1,0666
1,0749
-0,8
0,9202
0,9281
0,9360
0,9440
0,9519
0,9599
0,9680
0,9760
0,9842
0,9923
-0,7
0,8429
0,8504
0,8581
0,8658
0,8735
0,8812
0,8889
0,8967
0,9045
0,9123
-0,6
0,7686
0,7760
0,7833
0,7906
0,7980
0,8054
0,8128
0,8203
0,8277
0,8353
-0,5
0,6978
0,7047
0,7117
0,7187
0,7257
0,7328
0,7399
0,7471
0,7542
0,7614
-0,4
0,6304
0,6370
0,6436
0,6503
0,6569
0,6636
0,6704
0,6772
0,6840
0,6909
-0,3
0,5668
0,5730
0,5792
0,5855
0,5918
0,5981
0,6045
0,6109
0,6174
0,6239
-0,2
0,5069
0,5127
0,5186
0,5245
0,5304
0,5363
0,5424
0,5484
0,5545
0,5606
-0,1
0,4509
0,4564
0,4618
0,4673
0,4728
0,4784
0,4840
0,4897
0,4954
0,5011
0
0,3989
0,4040
0,4090
0,4141
0,4193
0,4244
0,4297
0,4349
0,4402
0,4456
Annexe B. Tables pour la gestion de stocks
216 g(tS ) ti
tj 0,00
0,01
0,02
0,03
0,04
0,05
0,06
0,07
0,08
0,09
0
0,3989
0,3940
0,3890
0,3841
0,3793
0,3744
0,3697
0,3649
0,3602
0,3556
0,1
0,3509
0,3464
0,3418
0,3373
0,3328
0,3284
0,3240
0,3197
0,3154
0,3111
0,2
0,3069
0,3027
0,2986
0,2945
0,2904
0,2863
0,2824
0,2784
0,2745
0,2706
0,3
0,2668
0,2630
0,2592
0,2555
0,2518
0,2481
0,2445
0,2409
0,2374
0,2339
0,4
0,2304
0,2270
0,2236
0,2203
0,2169
0,2136
0,2104
0,2072
0,2040
0,2009
0,5
0,1978
0,1947
0,1917
0,1887
0,1857
0,1828
0,1799
0,1771
0,1742
0,1714
0,6
0,1686
0,1660
0,1633
0,1606
0,1580
0,1554
0,1528
0,1503
0,1477
0,1453
0,7
0,1429
0,1404
0,1381
0,1358
0,1335
0,1312
0,1289
0,1267
0,1245
0,1223
0,8
0,1202
0,1181
0,1160
0,1140
0,1119
0,1099
0,1080
0,1060
0,1042
0,1023
0,9
0,1004
0,0986
0,0968
0,0950
0,0933
0,0915
0,0899
0,0882
0,0866
0,0849
1
0,0833
0,0818
0,0802
0,0787
0,0771
0,0756
0,0742
0,0728
0,0713
0,0699
1,1
0,0686
0,0673
0,0659
0,0647
0,0634
0,0621
0,0609
0,0596
0,0584
0,0573
1,2
0,0561
0,0550
0,0539
0,0528
0,0516
0,0506
0,0496
0,0486
0,0475
0,0465
1,3
0,0455
0,0446
0,0436
0,0426
0,0418
0,0409
0,0400
0,0392
0,0383
0,0374
1,4
0,0366
0,0358
0,0351
0,0343
0,0336
0,0329
0,0322
0,0313
0,0307
0,0300
1,5
0,0293
0,0287
0,0279
0,0274
0,0267
0,0261
0,0255
0,0249
0,0243
0,0238
1,6
0,0232
0,0227
0,0222
0,0216
0,0211
0,0206
0,0201
0,0196
0,0192
0,0188
1,7
0,0182
0,0179
0,0174
0,0170
0,0166
0,0161
0,0158
0,0153
0,0151
0,0147
1,8
0,0143
0,0140
0,0135
0,0133
0,0129
0,0125
0,0123
0,0120
0,0116
0,0113
1,9
0,0111
0,0107
0,0105
0,0102
0,0099
0,0097
0,0094
0,0092
0,0089
0,0087
2
0,0084
0,0083
0,0080
0,0078
0,0076
0,0074
0,0072
0,0071
0,0068
0,0067
2,1
0,0064
0,0064
0,0061
0,0059
0,0057
0,0056
0,0054
0,0053
0,0052
0,0049
2,2
0,0049
0,0046
0,0046
0,0044
0,0045
0,0043
0,0041
0,0040
0,0039
0,0038
2,3
0,0037
0,0037
0,0034
0,0034
0,0034
0,0031
0,0032
0,0030
0,0028
0,0029
2,4
0,0027
0,0026
0,0025
0,0026
0,0025
0,0024
0,0024
0,0021
0,0021
0,0020
2,5
0,0020
0,0020
0,0018
0,0018
0,0019
0,0017
0,0017
0,0016
0,0017
0,0015
2,6
0,0014
0,0015
0,0014
0,0012
0,0014
0,0013
0,0012
0,0011
0,0011
0,0010
2,7
0,0010
0,0009
0,0009
0,0009
0,0009
0,0008
0,0008
0,0008
0,0009
0,0009
2,8
0,0006
0,0007
0,0007
0,0008
0,0005
0,0006
0,0007
0,0005
0,0005
0,0006
2,9
0,0004
0,0005
0,0004
0,0005
0,0006
0,0004
0,0006
0,0004
0,0005
0,0004
3
0,0005
0,0004
0,0002
0,0004
0,0003
0,0005
0,0003
0,0002
0,0004
0,0003
Donne g(tS ) = [f (tS ) − tS P (t > tS )]
Annexe C Solutions finales des exercices C.1 Introduction 1.1 Un probl`eme de transport a) Choix des variables : les quantit´es transport´ees de l’usine vers le march´e. b) Expression de l’objectif : minimisation de la somme des coˆuts de transport. c) Expression des contraintes : • Respect de la capacit´e de l’usine, • Satisfaction de la demande du march´e, • Positivit´e. 1.2 Optimisation du plan directeur de production. a) Choix des variables ind´ependantes : les embauches et licenciements de d´ebut de p´eriode. Choix des variables d´ependantes : les effectifs, la production et le stock de fin de p´eriode. b) Expression de l’objectif : minimisation de la somme des coˆuts d’embauche, de licenciement et de stockage. c) Expression des contraintes : • • • • •
Bilan sur les effectifs pr´esent chaque p´eriode, Calcul de la production a` chaque p´eriode, Bilan sur les stocks a` chaque fin de p´eriode, Stock minimum de fin de p´eriode, Positivit´e.
1.3 Location de surfaces d’entreposage. 217
Annexe C. Solutions finales des exercices
218
a) Choix des variables : les surfaces lou´ees de d´ebut de mois i a` la fin du mois j. b) Expression de l’objectif : minimisation de la somme des coˆuts de location. c) Expression des contraintes : • Satisfaction du besoin de surface a` chaque p´eriode, • Positivit´e. ´ 1.4 Equilibrage du chargement d’un navire. a) Choix des variables : nombre de tonnes du lot i charg´ees dans la soute j et nombre total de tonnes charg´ees dans la soute j. b) Expression de l’objectif : maximisation de la somme des tarifs re¸cus fois le tonnage des lots. c) Expression des contraintes : • • • • • •
Respect de la capacit´e des soutes, Rapport entre la soute A et la soute D, Rapport entre les soutes B, C et A, Rapport entre les soutes B, C et D, Rapport entre les soutes B,C et A,D, Positivit´e.
C.2 Ordonnancement en ateliers sp´ecialis´es 2.1 Pose de carrelages. a) Ordre pour r´ealiser les 5 chantiers en un minimum de temps : C4 C1 C2 C3 C5 b) Repr´esentation au moyen d’un diagramme de Gantt : voir cours. c) Nombre de jours n´ecessaires au total : 32 jours. 2.2 Ordonnancement de lots de jouets. a) Ordonnancement optimal des tˆaches passant sur A puis B : J3 J5 J6
Section C.2. Ordonnancement en ateliers sp´ecialis´es
219
b) Ordonnancement optimal des tˆaches passant sur B puis A: J1 J7 c) Ordonnancement des tˆaches pour la d´ecoupe (A) : J2 d) Ordonnancement des tˆaches pour le montage (B) : J4 e) Ordonnancement optimal pour les deux op´erations: A J3 J5 J6 J2 B J1 J7 J4 J3
J1 J7 J5 J6
f) Diagramme de Gantt : le temps de fin sur la machine B est de 105. 2.3 Planification de m tˆaches sur n centres de production. a) Utilisez la m´ethode heuristique bas´ee sur l’algorithme de Johnson pour trouver une solution proche de la solution optimale : Probl`eme 1 : utiliser l’algorithme de Johnson pour le probl`eme constitu´e de la premi`ere et de la derni`ere machine : Place
1 2
3
4
5 6
Tˆache 2 3
4
5
6 1
Diagramme de Gantt : tf = 44. Probl`eme 2 : utiliser l’algorithme de Johnson pour le probl`eme constitu´e des deux premi`eres et des deux derni`eres machines : Place
1 2
3
4
5 6
Tˆache 2 3
4
5
1 6
5 1
6
Diagramme de Gantt : tf = 43. b) Ordonnancement propos´e : Lot 2
3 4
c) Dur´ee de la production (en heures et minutes): tf = 430 minutes soit 7 heures et 10 minutes.
Annexe C. Solutions finales des exercices
220
C.3 Gestion calendaire de stock 3.1 Vente de fleurs. a) Calcul de la moyenne de la demande : ¯ = X
n
Di P (D = Di ) = 12
i=1
b) Nombre optimal de d´ecorations florales a` commander : S ∗ = 13 . c) Nombre moyen de clients qui sortent de sa boutique chaque fin de weekend sans avoir pu acheter une d´ecoration florale ? Ir (S) = 0,9475 . d) Nombre moyen de d´ecorations florales que le fleuriste ambulant lui rach`ete ? Ip (S) = 1,9475 . e) B´en´efice net en un week-end sur ce produit ? B(S) = 119,00 euro . 3.2 Gestion d’une exploitation foresti`ere. a) Quantit´e a` mettre en production pour minimiser le coˆut de gestion ? S ∗ = 10.166 . b) Quantit´e moyenne qu’il ne peut livrer par an faute de stock ? Ir (S ∗ ) = 2,01 unit´es . 3.3 Gestion du stock de pi`eces de rechange. a) Type de gestion de stock : Gestion calendaire de stock a` rotation non nulle. En effet, on reconstitue le stock tous les 4 ans et les pi`eces non utilis´ees pour une machine le seront pour la suivante. b) Nombre optimal de pi`eces a` commander : S ∗ = 14 . c) Nombre moyen d’arrˆets de la machine : Ir (S) = 0,0314 . d) Stock moyen poss´ed´e de pi`eces d´etach´ees : Ip (S) = 10,0157 . e) Coˆut de cette politique : C(S) = 2.317,14 .
Section C.4. Gestion de stock par point de commande
221
C.4 Gestion de stock par point de commande 4.1 Stock de distribution. a) Politique actuelle de gestion de stock ? Valeur de ses param`etres ? Il s’agit d’une politique de gestion de stock par point de commande a` deux casiers avec : q = 100 et s = 100. b) Calculez le coˆut de d´etention en stock durant un an d’un Ipod : cp = 0, 5 euros par an c) Calculez la demande durant le d´elai d’obtention : s = 20 d) Tracez l’´evolution du stock au cours d’une ann´ee : le niveau du stock oscille entre 80 et 180. e) En d´eduire le coˆut de gestion annuel : C(s, q) = 165 f) Que proposez-vous comme nouvelle quantit´e a` commander ? q ∗ = 200 g) Que proposez-vous comme seuil d´eclenchant la commande ? s∗ = 20 h) Quelle est l’augmentation de profit du distributeur avec votre politique ? 165 − 100 = 65 4.2 Timbrage d’envois multiples. a) Quel est la quantit´e optimale d’enveloppes affranchies a` commander aupr`es de la soci´et´e sp´ecialis´ee en timbrage ? q ∗ = 10.000 . b) A partir de quel niveau de stock d’enveloppes affranchies faut-il repasser commande ? s∗ = 686 . 4.3 Ventes de tablettes. a) Le niveau de commande : q ∗ = 400 . b) Le point de commande : s∗ = 205 . c) Nombre moyen de ruptures par commande : Ir (s) = 0,2024 . d) Marge annuelle moyenne nette de : B(S) = 12.448,23 .
Annexe C. Solutions finales des exercices
222
C.5 La planification de la production 5.1 D´etermination des besoins nets. a) Besoins nets et lancements de production des produits finis : PF1
1
2
3
4
BBt
6
7
40
LPt PF2
5
10 11 12 13 14 15 16 50
60
2
3
4
BBt
5
6
10 20
LPt
9
60
40 1
8
10 20
70 −
50 7
8
30
30
70
9
−
10 11 12 13 14 15 16
10 20
30
20
30
30
20
30 −
−
10 20
Besoins nets, Lancements de Production et Stock Final des sous-ensembles : S1
1
2
3
4
5
BNt
0
0
0
0
8
9
10
11
12
13
14
50 120 20
40
0
160
0
40
0
200
100 100
0
100
0
100
0
100
0
130
10
10
50
30
10
70
70
10
10
70
70
0
2
3
4
5
6
7
8
9
10
11
12
13
14
0
0
0
0
150 0
0
0 150
0
0
0
210
LPt
0
150
0
0
0 150 0
0
0
SFt
150 30 30
30
30
0
0
0
0
0
0
0
0
7
8
9
13 14
LPt SFt
150 50
1
S2 BNt
6
7
210 −
− 0
c) Besoins nets du composant A3 : 1
2
3
10
11
12
BNt 0
0
0 480 120 440 40 580 0 520
0
760 −
A3
4
5
6
−
5.2 Importation de syst`emes Home Cin´ema. a) Besoins nets pour l’ensemble ”Home Cin´ema” : H.C. Octobre Novembre BNt
300
D´ecembre Janvier F´evrier 1200
900
400
Section C.5. La planification de la production
223
b) Besoins nets pour l’ensemble acoustique : E.A. Octobre Novembre 0
BNt
D´ecembre Janvier F´evrier 1000
1200
600
c) Lancements de commande pour les ensembles Home Cin´ema : H.C. Octobre Novembre LCt
300
1200
D´ecembre Janvier F´evrier 900
400
d) Lancements de commande pour les ensembles acoustiques, les commandes e´ tant multiples de 500 : E.A. Octobre Novembre
D´ecembre Janvier F´evrier
LCt
1500
1500
500
-
SFt
600
100
0
300
200
e)Coˆuts de stockage par mois et par produit : CSt
Octobre Novembre
H.C.
10.000
E.A.
9.600
1.600
D´ecembre Janvier F´evrier
4.800
3.200
5.3 Production de robes de mari´ees. a) Tableau des besoins nets et lancements de production : Robes Sem 0 Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 BNt 0 5 10 5 10 LPt 0 5 10 5 10 b) Ajustement charge-capacit´e : Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 Ajustement +12 -9 +6 -9 LPt 0 9 7 7 7 c) Calcul du coˆut de stockage des robes sur les cinq semaines : 7 × (5 + 4 + 1 + 3) = 91 euros .
Annexe C. Solutions finales des exercices
224
C.6 Les techniques de juste a` temps 6.1 Planification juste-`a-temps d’une brasserie. a) Nombre d’´etiquettes pour assurer le fonctionnement en continu de l’embouteillage sans tenir compte d’une taille e´ conomique minimale : Ne = 11 b) Sachant que la quantit´e e´ conomique du poste amont est de 10.000 litres, nombre d’´etiquettes a` ajouter dans le syst`eme ? +Ne = + 34. 6.2 Production de hamburgers en restauration rapide. a) Consommation en unit´es par minute pour ce hamburger : Cu = 2, 083 unit´es par minute. b) Le temps de r´eaction du syst`eme : Tr = 26 minutes . c) Consommation pendant le temps de r´eaction du syst`eme : Cu Tr = 54,166 hamburgers d) Nombre minimum de plaques a` mettre dans le syst`eme pour e´ viter la rupture d’approvisionnement du comptoir vente : Ne =
12 plaques.
e) Tenir compte des hamburgers jet´es ? Il suffit d’ajouter 10 % a` la demande ou de prendre α = 10 % : Ne =
12 plaques.
6.3 Transport de brames. a) Nombre d’´etiquettes n´ecessaires pour assurer le fonctionnement en continu du laminoir aval : Ne = 2 b) Coefficient de s´ecurit´e atteint ? α = 89 % c) Nombre d’´etiquettes tenant compte de Qe = 120 tonnes ? Ne = 4 d) Rythme auquel les lots des hauts-fourneaux doivent eˆ tre d´elivr´es pour que le syst`eme ne tombe pas en rupture ? 18 heures 11 minutes.
Section C.7. L’ordonnancement de projets
225
C.7 L’ordonnancement de projets 7.1 Lancement d’un nouveau produit. a) Graphe de la m´ethode des potentiels, dates de d´ebut au plus tˆot, au plus tard : la date de fin est 19 semaines. b) Chemin critique : D − A − I − F . c) La tˆache G ne peut commencer avant la semaine 10 : Cela ne modifie pas le temps de r´ealisation du projet car la date de d´emarrage au plus tard de la tˆache G est de 10. Cela modifie certaines marges (celles de G et E deviennent nulles). Un second chemin critique apparaˆıt : G − E − F. d) En plus du c), la tˆache D n´ecessitera deux semaines suppl´ementaires. Cela modifie-t-il le temps de r´ealisation du projet ? Si oui, de combien ? Cela retarde la fin du projet a` 21 jours car la tˆache est critique. 7.2 Ordonnancement de projets. a) Graphe de la m´ethode des potentiels : il y a a` la fois un arc entre 2 et 4 (+5) et entre 4 et 2 (-7). b) Projet r´ealisable ? Le projet est non r´ealisable car il contient un cycle de somme des longueurs positive : 2 - 3 - 4 -2 avec une somme des longueurs : 5 + 3 − 7 = +1 > 0 c) Rendre le projet r´ealisable a` coˆut minimum ? Il faut r´eduire la tˆache 2 d’une semaine pour e´ liminer le cycle. d) Dur´ee totale du projet ? tf = 19 jours. e) Activit´es n’appartenant pas au chemin critique ? Les tˆaches 0 et 1 n’appartiennent pas au chemin critique. 7.3 Planification d’un projet de t´el´ecommunications. a) Graphe de la m´ethode PERT, calcul des date de d´ebut au plus tˆot, de d´ebut au plus tard et de la marge pour chaque activit´e : pensez a` d´ecomposer B en deux p´eriodes de 3 mois. Mˆeme astuce pour E. b) Dur´ee minimale du projet : 25 mois. c) Activit´es critiques : A, B, D, E et G. d) Retard d’ex´ecution de chaque tˆache sans allonger le projet : Tˆache
A B C D E F G
Marge
0
0
1
0
0
2
0
Annexe C. Solutions finales des exercices
226
e) R´eduire la dur´ee du projet de 2 mois au moindre coˆut : • D’abord, r´eduire D de 1 jour au surcoˆut de 100 euro. Dans ce cas, C devient critique. • Ensuite, r´eduire C + D de 1 jour au surcoˆut de 300 euro. Le temps final devient 23. 7.4 Construction d’une piscine. a) L’inauguration peut-elle avoir lieu le 15 juin ? Le temps total disponible est de 50 jours ouvrables correspondant a` : 20 jours (avril) + 20 jours (mai) + 10 jours (juin). La dur´ee minimum de r´ealisation est aussi de 50 jours ouvrables : on peut donc respecter le d´elai. b) La pose des canalisations dure 6 jours de plus que pr´evu : La r´epercussion sur la dur´ee des travaux est de passer a` 51 jours car la tˆache n’a qu’une marge de 5 jours et non 6. On aura donc un jour de retard. c) Se passer de la sonorisation sous-marine : Cela ne sert a` rien car la tˆache est non critique. 7.5 Planification d’un projet de construction. a) Graphe de la m´ethode PERT : on a un arc fictif entre la fin de D et le d´ebut de H. b) Dur´ee minimale du projet ? tf = 25 mois. c) Dates de d´ebut au + tˆot, les marges, les dates de d´ebut au + tard : Tˆache
A
B C D
E
F
G
H
Date au plus tˆot
0
0
5
5
8
8
13 13
Marge
0
5
3
0
3
6
11
Date au plus tard
0
5
8
5
11 14 24 13
0
d) Chemin critique ? A−D−H e) Les tˆaches E et F n´ecessitent toutes deux la pr´esence d’un bulldozer : On repousse le d´ebut de F en 10, soit apr`es la fin de E. Il n’y a alors plus de recouvrement entre E et F. Quelle est alors la dur´ee du projet ? Comme la date au plus tard de F est 14, il n’y a aucune cons´equence sur la date de fin de projet.
Section C.8. Conception d’un centre de production
227
C.8 Conception d’un centre de production 8.1 Assemblage de magn´etoscopes. a) Peut-on produire 30 unit´es par jour de 15 heures de travail avec un poste ? N
ti = 90 minutes
i=A
Il faut donc, avec un seul poste, 1,5 heure pour faire un magn´etoscope. Il faut donc 45 heures pour en produire 30 par jour. R´eponse : non. b) D´etermination du temps de cycle : on veut 30 unit´es par jour. Or un jour repr´esente : 7, 5 × 2 × 60 = 900 minutes. Donc un magn´etoscope doit sortir de la chaˆıne toutes les 900 = 30 minutes. 30 c) graphe de pr´es´eances : voir cours. d) Utilisation de l’heuristique : Poste 1 Poste 2 Poste 3 A,2 J,10 L,9 C,10 I,8 H,6 B,4 K,12 M,6 E,5 G, 5 D,5 N,4 F,4 30 30 30 e) Retard d’´equilibre : RE =
3 × 30 − 90 = 0% 3 × 30
8.2 D´eveloppement de complexes cin´ematographiques. a) Arbre de d´ecision complet : voir cours. b) Calcul des valeurs nettes actualis´ees dans chacun des cas : notations : RC NC D d
= = = =
R´enover Nouveau Complexe Demande forte Demande faible
Annexe C. Solutions finales des exercices
228 Calcul des VAN :
V AN (RC|D) = 16.478.319 V AN (RC|d) = 11.608.739 V AN (N C|D) = 33.695.797 V AN (N C|D) = −391.261 c) E(V AN ) de RC si la probabilit´e de demande forte est de 45 % : E(V AN ) = 13.800.050 E(V AN ) du N C si la probabilit´e de demande forte est de 45 % : E(V AN ) = 14.947.915 D´ecision optimale ? ouvrir le nouveau complexe. E(V AN ) de RC si la probabilit´e de demande forte est de 55 % : E(V AN ) = 14.287.008 E(V AN )du N C si la probabilit´e de demande forte est de 55 % : E(V AN ) = 18.356.621 D´ecision optimale ? ouvrir le nouveau complexe. 8.3 Probl`eme de localisation de centre de distribution de pneus. a) Repr´esentation par un graphique de r´eseau : voir cours. b) Formulation du probl`eme : • Variables : quantit´e de pneus transport´ees du d´epˆot i vers le pays j et indicatrice de l’ouverture du d´epˆot i l’ann´ee prochaine. • Contraintes : – Capacit´e de production, – Satisfaction de la demande, – Non n´egativit´e et caract`ere binaire. • Objectif : somme des coˆuts de transports et des frais fixes d’ouverture des d´epˆots.
Section C.9. La programmation dynamique
229
C.9 La programmation dynamique 9.1 D´etermination du chemin critique par la programmation dynamique. a) Formuler ce probl`eme comme un probl`eme dynamique. Etapes : t = 1,2, 3 et 4 sont les e´ tapes dans le chemin. Etats du monde a` chaque e´ tape : st = nœud de d´epart de l’´etape t. D´ecision a` chaque e´ tape : xt = nœud d’arriv´ee de l’´etape t. Lien entre les variables : st+1 = xt et xt ≥ 1 Objectif du probl`eme : maximiser la somme des longueurs des arcs du chemin. b) R´esoudre par la programmation dynamique : voir cours (exemple de l’O.MS.) c) Chemin(s) critique(s) : 1−2−4−7−9 1−2−5−7−9 9.2 R´epartition du budget publicitaire. a) Formulation en un probl`eme de programmation dynamique : • Choix des e´ tapes : t = 1, 2, 3 les produits. • Choix des variables d’´etat : xt = nombre de millions investis dans le produit t; • Choix des variables de d´ecision : st = nombre de millions encore disponibles au d´ebut de l’´etape t. • Relation de r´ecurrence entre les variables d’´etat de deux e´ tapes sucessives : st+1 = st − xt b) Utilisez la programmation dynamique pour r´esoudre ce probl`eme : voir cours (algorithme en cas de coˆut convexe). Affectations optimales : Produit t 1 st 6 x∗t 1
2 3 Produit t 1 2 5 3 ou st 6 3 2 3 x∗t 3 2
3 1 1
Annexe C. Solutions finales des exercices
230 9.3 Planification de production.
a) D´etermination des besoins de C : P´eriode Besoins nets
1 2 3 4 0 11 13 11
b) D´eterminer le plan optimal de production et de stockage : Utiliser l’algorithme en cas de coˆut convexe. Solution : Mois 1 2 3 Production 12 12 11 Stock final 1 0 0
C.10 La programmation lin´eaire. 10.1 Optimisation d’une fonderie. a) Formulation du probl`eme : • Choix des variables : x1 = nombre de tonnes de tuyaux produites/ semaine x2 = nombre de tonnes de contrepoids produites/s. • Expression de l’objectif : max z = 1 000x1 + 1 200x2 . • Expression des contraintes : – Capacit´e des ateliers, – Limite de commandes, – Non n´egativit´e. b) R´esolution graphique : voir cours. Solution optimale : x∗1 = 15 x∗2 = 10 z ∗ = 27 000 10.2 Ventes de dentifrice. a) Formulation du probl`eme lin´eaire : • Choix des variables : x = ventes de la formule X (en milliers); y = ventes de la formule Y (en milliers).
Section C.10. La programmation lin´eaire.
231
• Expression de l’objectif : max z = 50x + 60y • Expressions des contraintes : – Limites de vente des produits, – Limite d’ingr´edient, – Contrainte commerciale, – Satisfaire les contrats sur la formule X, – Positivit´e. b) R´esolution graphique : voir cours. Solution optimale : x∗ = 50 y ∗ = 0 z ∗ = 2 500 10.3 Planification de la production. a) Formulation du probl`eme : • Choix des variables : xt = production de p´eriode t st = stock fin de p´eriode t • Expression de l’objectif : max z =
5
10xt +
t=1
5
1st
t=1
• Expression des contraintes : – Calcul de st , – Limite de production, – Limite de stock en fin de mois, – Caract`ere non n´egatif. b) Mettre sous la forme d’un mod`ele de calcul en Excel : voir cours. c) Coˆut total de production et stockage : z ∗ = 769. P´eriode
1
2
3
Production en 12 15 15 Stock fin de
6
4
6
4
5
18 15 3
0
Annexe C. Solutions finales des exercices
232
C.11 Analyse postoptimale 11.1 Plan de production. a) Formulation du probl`eme : • Variables : xA = production hebdomadaire de produit A, xB = production hebdomadaire de produit B. • Objectif : max z = 6xA + 3xB . • Contraintes : – Limite de mati`ere premi`ere P1 et P2, – Nombre minimum et maximum d’ouvriers, – Non n´egativit´e. b) R´esoudre graphiquement : voir cours. Solution optimale : x∗1 = 1, x∗2 = 4, z ∗ = 18 c) Intervalle de variation maximum de la marge sur le produit B qui pr´eserve la solution optimale : 2 ≤ cB ≤ 6 11.2 Production de peintures. Formuler le probl`eme : • Choix des variables (avec leurs unit´es) : x1 = production journali`ere de peintures int´erieures (tonnes/jour) x2 = production journali`ere de peintures ext´erieures (tonnes/jour). • Expression de l’objectif (avec son unit´e de compte): maxz = 5x1 + 4x2 (milliers $ par jour) • Expression des contraintes : – Disponible de M1 et M2, – Relation entre les deux productions, – Production maximale de peinture ext´erieure , – Positivit´e. b) R´esoudre graphiquement le probl`eme: voir cours. Solution optimale obtenue : x∗1 = 3 x∗2 = 1, 5 z ∗ = 21.000$ .
Section C.12. La programmation en nombres entiers
233
c) Domaine de variation maximum de la la marge du second produit ? m2 ∈ [3, 33; 10] d) Effet sur le profit d’une augmentation de m2 de 4 a` 6 : ∆z ∗ = ∆m2 x∗2 = +2 × 1, 5 = +3 milliers de $ 11.3 R´epartition du budget publicitaire. a) Formulation du probl`eme : • Choix des variables : T V = nombre de campagnes tv M = nombre de campagnes dans les magazines J = nombre de campagnes dans les journaux • Expression de l’objectif : maximiser l’augmentation des ventes. • Expression des contraintes : – R´epartition du budget, – Budget de conception, – Limite de spots tv, – Caract`ere non n´egatif. b) Mettre sous la forme d’un mod`ele de calcul en Excel : voir cours. c) Augmentation des ventes = 1.700 T V ∗ = 0, M ∗ = 20 J ∗ = 10 d) Effet de lancer un spot tv suppl´ementaire ? Une diminution des ventes de 5, donn´ee par le coˆut r´eduit de la variable.
C.12 La programmation en nombres entiers 12.1 Mutation des officiers. a) Formulation du probl`eme : • Choix des variables : indicatrice du fait que l’officier i est mut´e au poste j. • Expression de l’objectif : minimiser la somme des coˆuts de mutation. • Expression des contraintes :
Annexe C. Solutions finales des exercices
234 – – – –
Chaque poste est pourvu, Chaque officier est affect´e, Chaque officier doit changer de place, Caract`ere binaire.
12.2 Planification de la production de moteurs. a) Formulation du probl`eme : • Choix des variables : Pt = production a` la p´eriode t; St = stock de fin de p´eriode t. • Expression de l’objectif : minimisation de la somme des coˆuts de production et de stockage. • Expression des contraintes : – Satisfaire la demande de p´eriode t, – Respecter la capacit´e de production de p´eriode t, – Positivit´e. b) Ajout d’un coˆut fixe de mise en route : • Ajout d’un nouvelle variable : yt = indicatrice de production en t. • Modification de l’objectif : +
4
2, 5yt
t=1
• Modification des contraintes : – Modification de la contrainte de capacit´e : Pt ≤ CAPt yt – Ajout du caract`ere entier : yt ∈ {0, 1} 12.3 M´ethode de branch and bound. a) R´esoudre la relaxation lin´eaire initiale: voir cours. La solution optimale du probl`eme lin´eaire vaut : 15 x∗1 = = 3, 75 x∗2 = 54 = 1, 25 zP∗ L = 23, 75 4 b) Arbre de branch and bound : voir cours. c) Solution optimale du probl`eme en nombres entiers : x∗1 = 3, x∗2 = 2, zP∗ N E = 23