Vous êtes sur la page 1sur 234

UNIVERSITE DE LIEGE

Bachelier 3 sciences de gestion


et ingénieurs de gestion

Gestion de la Production

Daniel DE WOLF

Liège, Septembre 2006


Table des matières

1 Introduction 9
1.1 Objectifs du cours . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Définition de la gestion de production . . . . . . . . . . . . . . . 10
1.3 Classification des systèmes productifs . . . . . . . . . . . . . . . 12
1.3.1 Organisation de type série unitaire . . . . . . . . . . . . . 12
1.3.2 Organisation en ateliers spécialisés . . . . . . . . . . . . 13
1.3.3 Organisation en lignes de production . . . . . . . . . . . 13
1.3.4 Les industries de process . . . . . . . . . . . . . . . . . 14
1.4 Formulation en modèles mathématiques . . . . . . . . . . . . . . 14
1.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

I Les décisions opérationnelles 21

2 Ordonnancement en ateliers spécialisés 23


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Ordonnancement sur une machine . . . . . . . . . . . . . . . . . 24
2.2.1 Le diagramme de Gantt . . . . . . . . . . . . . . . . . . 24
2.2.2 La règle T.O.M. . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Ordonnancement avec deux centres de production . . . . . . . . . 26
2.3.1 Cas où toutes les tâches sont à exécuter sur A puis B . . . 26
2.3.2 Cas de tâches ne s’effectuant pas dans le même ordre . . . 28
2.4 Ordonnancement sur trois machines . . . . . . . . . . . . . . . . 29
2.5 Ordonnancement de n tâches sur m centres de production . . . . . 31

3
4 Table des matières

2.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3 La gestion calendaire de stock 35


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Les politiques de gestion de stock . . . . . . . . . . . . . . . . . 36
3.3 Les coûts associés aux stocks . . . . . . . . . . . . . . . . . . . 37
3.3.1 Les coûts de possession . . . . . . . . . . . . . . . . . . 37
3.3.2 Les coûts de rupture . . . . . . . . . . . . . . . . . . . . 39
3.3.3 Les coûts de commande . . . . . . . . . . . . . . . . . . 39
3.4 Gestion calendaire de stock à rotation nulle . . . . . . . . . . . . 40
3.5 Cas d’une loi de demande continue . . . . . . . . . . . . . . . . 46
3.6 Les conséquences économiques de la solution optimale . . . . . . 48
3.7 Cas de stocks à rotation non nulle . . . . . . . . . . . . . . . . . 51
3.7.1 Détermination de la solution optimale . . . . . . . . . . . 54
3.7.2 Cas d’une loi de demande discrète . . . . . . . . . . . . . 56
3.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4 La gestion par point de commande 59


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2 Détermination du point de commande en univers certain . . . . . 60
4.3 Détermination de la quantité économique de commande . . . . . . 61
4.4 Cas d’une demande aléatoire . . . . . . . . . . . . . . . . . . . . 64
4.4.1 Détermination de q et s . . . . . . . . . . . . . . . . . . 65
4.4.2 Conséquences économiques du choix . . . . . . . . . . . 67
4.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

II Les décisions tactiques 71

5 La planification de la production 73
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2 La planification des besoins en composants . . . . . . . . . . . . 74
Table des matières 5

5.3 Détermination des besoins nets d’un composant . . . . . . . . . . 78


5.3.1 Détermination de la couverture des besoins nets . . . . . . 80
5.3.2 Utilisation en cascade de la logique de calcul . . . . . . . 80
5.4 Autres règles de calcul des lancements de production . . . . . . . 85
5.5 Ajustement charge-capacité . . . . . . . . . . . . . . . . . . . . 86
5.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6 Les techniques de juste à temps 91


6.1 Origine et principe du JAT . . . . . . . . . . . . . . . . . . . . . 91
6.2 Les deux approches du JAT . . . . . . . . . . . . . . . . . . . . 93
6.2.1 Augmenter la réactivité du système logistique . . . . . . . 93
6.2.2 La rationalisation de la production . . . . . . . . . . . . . 93
6.3 Les facteurs clés du JAT . . . . . . . . . . . . . . . . . . . . . . 94
6.3.1 Recherche d’un plus grande réactivité . . . . . . . . . . . 94
6.3.2 Maı̂trise des aléas . . . . . . . . . . . . . . . . . . . . . 94
6.4 La méthode Kanban . . . . . . . . . . . . . . . . . . . . . . . . 95
6.4.1 Système Kanban à une boucle . . . . . . . . . . . . . . . 95
6.4.2 Détermination du nombre d’étiquettes . . . . . . . . . . . 96
6.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

III Les décisions stratégiques 101

7 L’ordonnancement de projets 103


7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.2 Formulation du problème . . . . . . . . . . . . . . . . . . . . . 105
7.3 Représentation graphique du problème . . . . . . . . . . . . . . 105
7.4 Existence d’une solution . . . . . . . . . . . . . . . . . . . . . . 108
7.5 Calcul de l’ordonnancement au plus tôt . . . . . . . . . . . . . . 109
7.6 Ordonnancement au plus tard . . . . . . . . . . . . . . . . . . . 109
7.7 Chemin critique et calcul des marges . . . . . . . . . . . . . . . 111
7.8 L’ordonnancement par la méthode PERT . . . . . . . . . . . . . 112
6 Table des matières

7.9 La minimisation des coûts . . . . . . . . . . . . . . . . . . . . . 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écialisés . . . . . . . . . . . . 124
8.2.2 Configuration en ligne de production . . . . . . . . . . . 128
8.2.3 Configuration à poste fixe . . . . . . . . . . . . . . . . . 133
8.3 Décisions de capacité . . . . . . . . . . . . . . . . . . . . . . . 134
8.4 Décisions de localisation . . . . . . . . . . . . . . . . . . . . . . 138
8.5 Utilisation de la programmation mathématique . . . . . . . . . . 141
8.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

IV Les techniques d’optimisation 147

9 La programmation dynamique. 149


9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
9.2 Le problème du voyageur . . . . . . . . . . . . . . . . . . . . . 150
9.2.1 Formulation en un problème dynamique . . . . . . . . . . 151
9.3 Procédure de résolution . . . . . . . . . . . . . . . . . . . . . . 152
9.4 Un problème d’affectation de ressources rares . . . . . . . . . . . 154
9.4.1 Formulation comme un problème dynamique . . . . . . . 154
9.4.2 Résolution par la programmation dynamique . . . . . . . 156
9.5 Application à la planification de la production. . . . . . . . . . . 157
9.5.1 Formulation en un problème dynamique . . . . . . . . . . 157
9.5.2 Résolution par la programmation dynamique . . . . . . . 159
9.5.3 Algorithme en cas de coût convexe . . . . . . . . . . . . 161
9.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

10 La programmation linéaire. 165


Table des matières 7

10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165


10.2 Un simple exemple . . . . . . . . . . . . . . . . . . . . . . . . . 165
10.3 Résolution graphique . . . . . . . . . . . . . . . . . . . . . . . 167
10.4 Le solveur d’Excel . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.5 Les rapports du solveur . . . . . . . . . . . . . . . . . . . . . . 174
10.5.1 Le rapport des réponses . . . . . . . . . . . . . . . . . . 174
10.5.2 Le rapport de sensibilité . . . . . . . . . . . . . . . . . . 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és . . . . . . . . . . . . . . . . . . . 180
11.2.2 Analyse de sensibilité au membre de droite . . . . . . . . 182
11.3 Variation des coefficients objectifs . . . . . . . . . . . . . . . . . 183
11.3.1 Analyse de sensibilité aux coefficients objectif . . . . . . 184
11.4 Coût réduit 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èmes mixtes . . . . . . . . . . . . . . . . . 190
12.2.1 Problèmes avec coûts fixes . . . . . . . . . . . . . . . . . 190
12.2.2 Problèmes avec contrainte logique . . . . . . . . . . . . . 193
12.2.3 Mélange avec nombre limité d’ingrédients . . . . . . . . 194
12.2.4 Choix parmi un nombre discret de valeurs . . . . . . . . . 195
12.3 Principe de la méthode de branch and bound . . . . . . . . . . . . 195
12.4 Application à l’exemple . . . . . . . . . . . . . . . . . . . . . . 197
12.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

A Formulaire pour la gestion de production 205


8 Table des matières

A.1 La gestion calendaire de stock . . . . . . . . . . . . . . . . . . . 205


A.2 La gestion par point de commande . . . . . . . . . . . . . . . . . 206
A.3 Les techniques de juste à temps . . . . . . . . . . . . . . . . . . 208
A.4 Équilibrage d’une chaı̂ne de production . . . . . . . . . . . . . . 208
A.5 Calcul d’annuités . . . . . . . . . . . . . . . . . . . . . . . . . 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écialisés . . . . . . . . . . . . . . 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 à 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éaire. . . . . . . . . . . . . . . . . . . . . 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 à l’approche quantitative


des problèmes 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é,. . .

Pour cela, on essayer de développer une double compétence :

• La capacité de formuler ces problèmes en des modèles mathématiques :


c’est-à-dire, partant de problèmes énoncés de manière littéraire, de les tra-
duire sous formes d’équations mathématiques (cfr section 1.4 à la fin de ce
chapitre).

• La connaissance d’outils de résolution de ces problèmes : en effet, une


fois le problème formulé, souvent on tombe sur un problème classique (tel
celui de la gestion de stock), pour lequel il existe des méthodes de résolution
adaptées (voir chapitres 3 et 4).

Comme références, nous utiliserons les livres de Giard [4] et Baglin et al [1]
pour tous les modèles classiques de gestion de la production. Pour ce qui est de
la formulation en modèles mathématiques, une très bonne référence est le livre de
Williams [17].

9
10 Chapitre 1. Introduction

1.2 Définition de la gestion de production

Comme l’indique Vincent Giard [4] dans son ouvrage, pour pouvoir donner une
définition de la gestion de production, il faut d’abord définir ce que l’on entend
par la production. La production consiste en une transformation de ressources
(humaines ou matérielles) en vue de la création de biens ou services :

• La production d’un bien s’effectue par une succession d’opérations consom-


mant des ressources et transformant les caractéristiques de la matière. Un
exemple classique est la production de voitures.
• La production d’un service s’effectue par une succession d’opérations con-
sommant des ressources sans qu’il n’y ait nécessairement transformation
de matière. Des exemples classiques sont la mise à disposition de produits
aux consommateurs (la vente), le traitement de dossier (par un notaire), la
maintenance d’équipements.

On peut alors définir la gestion de production comme suit.

Définition 1.1 La gestion de la production consiste en la recherche d’une orga-


nisation efficace de la production des biens et services.

La gestion de production consiste donc à l’obtention d’un produit donné dont les
caractéristiques sont connues en mettant en œuvre un minimum de ressources.
En gestion de production, on considérera, généralement, comme données les ca-
ractéristiques du produit que sont :

• la définition du produit;
• le processus de fabrication;
• la demande à satisfaire.

Ces trois caractéristiques du produit relèvent des sciences de l’ingénieur et de la


gestion commerciale. Nous verrons cependant au chapitre 7 la gestion de projets
qui est souvent utilisée 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ésolution des problèmes de manière à produire au moindre coût.
Nous verrons dans ce cours un certain nombre de problèmes types rencontrés en
gestion de production. Pour situer ces différents problèmes entre eux, on classifie
souvent les décisions de gestion en trois classes :
Section 1.2. Définition de la gestion de production 11

1. Les décisions stratégiques : il s’agit de la formulation de la politique à


long terme pour l’entreprise (c’est-à-dire à un horizon de plus de deux ans).
Entrent dans ces décisions :
• la définition du portefeuille d’activités;
• la définition des ressources stables : aussi bien humaines (engagements,
licenciements, préretraites, . . . ) que matérielles (décisions d’investis-
sement, de cession, de fermeture, . . . ).
2. Les décisions tactiques : il s’agit des décisions à moyen terme parmi les-
quelles on trouve la planification de la production à 18 mois. Il s’agit de
produire au moindre coût pour satisfaire la demande prévisible en s’inscri-
vant dans le cadre fixé le plan stratégique de l’entreprise (donc à ressources
matérielles et humaines connues).
3. les décisions opérationnelles : il s’agit des décisions de gestion quotidienne
pour faire face à la demande au jour le jour, dans le respect des décisions
tactiques. Parmi ces décisions, on trouve :
• la gestion de stocks;
• la gestion de la main d’œuvre;
• la gestion des équipements.
Ces trois classes de décisions de gestion de production se différencient par au
moins trois éléments :
1. par l’horizon de temps considéré :
• les décisions opérationnelles se prennent au jour le jour;
• les décisions tactiques concernent la planification à 18 mois;
• les décisions stratégiques concernent la planification à long terme.
2. par le niveau d’agrégation :
• les décisions opérationnelles se prennent au niveau d’un atelier;
• les décisions tactiques se prennent au niveau d’une usine;
• les décisions stratégiques se prennent au niveau de l’ensemble de l’en-
treprise.
3. par le niveau de responsabilité :
• les décisions opérationnelles sont prises par les agents de maı̂trise;
• les décisions tactiques sont prises par les cadres;
• les décisions stratégiques sont prises par la direction générale.
12 Chapitre 1. Introduction

1.3 Classification des systèmes productifs

On peut classer les modes d’organisation de la production en quatre grandes


classes :

• l’organisation en série unitaire;


• l’organisation en ateliers spécialisés;
• l’organisation en ligne de production;
• l’organisation en industries de process.

Nous examinerons, dans chaque cas, le type de ressources à mettre en œuvre


et le problème principal de leur utilisation.

1.3.1 Organisation de type série unitaire

Définition 1.2 La production de type “série unitaire” est une production mobili-
sant sur une période assez longue l’essentiel des ressources d’une entreprise pour
réaliser un nombre très limité 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ées, on fait le plus souvent appel à
un personnel hautement qualifié vu le caractère non répétitif des tâches.
En ce qui concerne le problème d’ordonnancement, le problème majeur est
l’arbitrage entre la recherche d’un coût compétitif et le respect des délais. En effet,
d’une part, les commandes seront rapidement honorées si beaucoup de ressources
sont mises en œuvre. Mais, d’autre part, le coût des ressources est généralement
croissant avec leur niveau d’utilisation : la location de machines supplémentaires
et l’engagement d’intérimaires coûtent généralement plus cher que l’utilisation des
ressources propres de l’entreprise (cfr le chapitre 7 consacré à l’ordonnancement
de projets).
Dans les deux cas, l’ordonnancement des tâches, c’est-à-dire la détermination
de l’ordre d’exécution des tâches) est essentiel. En effet, non seulement l’ordre
d’exécution des tâches détermine la date de livraison, mais, comme nous le verrons
au chapitre 7, il influence les coûts dans la mesure où une mauvaise coordination
s’accompagne souvent de chômage technique pour certaines ressources et du paie-
ment de pénalités pour non respect des délais.
Section 1.3. Classification des systèmes productifs 13

1.3.2 Organisation en ateliers spécialisés

Définition 1.3 On parle d’organisation en ateliers spécialisés lorsque tous les


équipements assurant une fonction spécialisée sont réunis en un même lieu.

Comme exemple, on peut citer un atelier d’emboutissage des tôles de voitures ou


un atelier de peinture dans une usine d’assemblage automobile.
En ce qui concerne les ressources mobilisées, la main d’œuvre est plutôt
qualifiée et les équipements sont polyvalents.
En ce qui concerne le problème de l’organisation efficace des ressources,
deux problèmes principaux sont à considérer :

• Lors de la conception de l’atelier, le problème principal est la gestion des


coûts de manutention entre les différents postes de travail. Afin de diminuer
ces coûts on détermine la meilleure localisation des machines les unes par
rapport aux autres dans l’atelier. Ceci fait appel aux méthodes d’agencement
dans l’espace (cfr chapitre 8 consacré à la configuration d’un centre de
production).

• Lors de la gestion quotidienne de l’atelier, le problème principal est de


déterminer l’ordre d’exécution des diverses tâches sur une ou plusieurs ma-
chines (cfr chapitre 2 consacré à l’ordonnancement en ateliers spécialisés).

1.3.3 Organisation en lignes de production

Définition 1.4 On parle d’organisation en lignes de production lorsque qu’un


flux régulier de produits passe d’un poste à l’autre, l’ordre de passage étant fixé.

Comme exemple, on peut citer les lignes d’assemblage d’automobiles.


En ce qui concerne les ressources mises en œuvre, les équipements sont
généralement très spécialisés. En ce qui concerne l’organisation efficace des
ressources, le problème majeur consiste en l’équilibrage de la chaı̂ne : c’est-à-
dire à définir les tâches à réaliser à chaque poste de manière à avoir le même temps
de réalisation à chaque poste (cfr chapitre 8). En effet, un mauvais équilibrage de
la chaı̂ne entraı̂nera une sous-utilisation des ressources puisque la chaı̂ne tourne à
la vitesse de l’élément le plus lent.
Deux autres problèmes sont très importants dans ce mode d’organisation de la
production. Il s’agit de : la fiabilité de la chaı̂ne (un maillon défectueux et toute
la chaı̂ne s’arrête) et de la fiabilité du système d’informations.
14 Chapitre 1. Introduction

1.3.4 Les industries de process

Définition 1.5 On parle d’industries de process lorsque le mode d’organisation


est caractérisé par un flux régulier et important de matières premières destinées à
être transformées en matières plus élaborées.

Comme exemples, on peut citer la sidérurgie, la pétrochimie, 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égularité de la demande, le problème d’organisation au coût minimum est
généralement assez simple. Il peut être résolu par la programmation linéaire.

1.4 Formulation en modèles mathématiques

Terminons ce chapitre en introduisant la notion de modèle mathématique. Par


modèle mathématique, on entend la représentation par des équations mathéma-
tiques d’un problème de la vie réelle. Nous allons illustrer la construction d’un
modèle mathématique sur un exemple très simplifié de planification de la produc-
tion tiré de Williams [17]. Une usine peut produire cinq produits (notés PROD1 à
PROD5). La marge bénéficiaire unitaire, c’est-à-dire la différence entre le prix de
vente et le coût de production d’un produit, est donnée pour chacun des produits
au tableau 1.1. Chaque produit nécessite le passage par trois étapes de fabrication.

Produit PROD1 PROD2 PROD3 PROD4 PROD5


Marge 550 600 350 400 200

Tableau 1.1: Marge par produit.

Les temps requis à chaque étape sont donnés en heures pour chaque produit au
tableau 1.2.

Produit PROD1 PROD2 PROD3 PROD4 PROD5


Étape 1 12 20 0 25 15
Étape 2 10 8 16 0 0
Étape 3 20 20 20 20 20

Tableau 1.2: Temps de fabrication (en heures par produit).

Enfin, il faut tenir compte des ressources en facteurs disponibles données au


tableau 1.3. Les deux premières étapes sont effectuées sur machine tandis que la
Section 1.4. Formulation en modèles mathématiques 15

Étape Ressources heures par jour jours par semaine


Étape 1 3 machines 16 6
Étape 2 2 machines 16 6
Étape 3 8 personnes 8 6

Tableau 1.3: Ressources en facteurs

troisième ne nécessite que l’intervention de main d’œuvre. En ce qui concerne les


deux premières é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ème, 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és à fabriquer de chaque produit pour maximiser le profit net ?
La construction d’un modèle est, en général, une opération en trois étapes :

1. le choix des variables de décisions,


2. l’expression de l’objectif en fonction de ces variables,
3. l’expression des contraintes en fonction de ces variables.

La première étape consiste donc à définir les variables de décision.

Définition 1.6 On appelle variable de décision toute quantité utile à la résolution


du problème dont le modèle détermine la valeur.

Généralement, elles sont notées par les lettres de la fin de l’alphabet (x, y, z, etc...).
Ici, on note simplement par xi , la quantité du produit i fabriquée par semaine, i
allant de un à cinq.
Une première remarque importante s’impose. Il est fondamental de bien
préciser les unités selon lesquelles sont exprimées les variables. En effet, l’ordre
de grandeur des coefficients de l’objectif et des contraintes dépend de ces unités.
La deuxième étape consiste en la formulation de l’objectif.

Définition 1.7 L’objectif est la quantité 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ème étape consiste en la formulation des contraintes.


16 Chapitre 1. Introduction

Définition 1.8 Les contraintes sont toutes les relations entre les variables qui
limitent les valeurs possibles que peuvent prendre ces variables.

• La première concerne la limite d’utilisation des machines à l’étape 1. Il y


a trois machines, utilisées 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é de produit 1 demande 12 heures sur machine à l’étape 1. Si x1


unités 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ème contrainte concerne la limite d’utilisation des machines à la


deuxième é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ème contrainte concerne la limite d’utilisation du personnel à la


troisième étape. Le nombre maximum d’heures prestées 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ésentes, disant
que l’on ne peut pas produire des quantités négatives :

x1 , x2 , . . .x5 ≥ 0.

1
Remarquez ici l’importance d’avoir précisé que les quantités produites
l’étaient par semaine.
Section 1.5. Exercices 17

1.5 Exercices

1.1. Problème de transport.On dispose de deux usines de production dont les


débouchés sont situés sur trois marchés distants géographiquement. On
connaı̂t la capacité de production de chacune des usines (en tonnes) ainsi
que la demande de chacun des marchés (en tonnes). On dispose également
(voir tableau 1.4 pour les données précises) des distances, exprimées en
milliers de miles, entre les sites de production et les marchés.

Usines Marchés Offre


Distance New York 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ées numériques du problème de transport.

Les frais de transport d’une tonne sont de 90 $ par millier de miles. On se


demande combien d’unités du produit acheminer à chaque marché à partir
de chaque usine de manière à minimiser les coûts de transport, les coûts de
production, étant les mêmes dans toutes les usines, n’entrent pas en ligne de
compte.
Formuler le problème de transport comme un modèle linéaire (choix des
variables, expression de l’objectif et expression des contraintes).

1.2. Optimisation du plan directeur de production. Une société voudrait


établir son plan directeur de production, c’est-à-dire les quantités à produire
chaque trimestre ainsi que les ressources à mobiliser chaque trimestre pour
pouvoir satisfaire la demande à coût total annuel minimum. La demande
pour les 4 prochains trimestres est donnée au tableau 1.5.
On suppose qu’un ouvrier peut produire 150 unités par jour ouvrable. Le
nombre de jours ouvrables est également repris au tableau 1.5. Il y a un
effectif initial de 32 ouvriers et un stock initial de 0. Le coût d’embauche d’un
ouvrier est de 20 000 euro. Le coût de licenciement est de 50 000 euro. Le
coût de stockage d’une unité pendant un trimestre est de 10 euro. On suppose
que les licenciements et les embauches de personnel ne peuvent se réaliser
qu’en début de chaque trimestre. De plus, pour des raisons commerciales,
on souhaite avoir un niveau minimum de stock en fin de chaque trimestre
18 Chapitre 1. Introduction

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ébut du trimestre suivant. Ce niveau


minimum est donné au tableau 1.5. Les temps partiels sont permis.
On demande de déterminer les engagements et licenciements début de chaque
trimestre, de manière à ce que l’effectif du mois soit suffisant pour satisfaire
la demande (aucune rupture de stock n’est permise) à coût total minimum
(somme du coût d’embauche, du coût de licenciement et du coût de stockage).
Formuler le modèle correspondant (choix des variables, expression de l’ob-
jectif et expression des contraintes). Indication : déterminez d’abord les
variables indépendantes (celles à partir desquelles les autres seront cal-
culées), ensuite les variables dépendantes (par exemple, la production dépend
du nombre d’ouvriers, le nombre d’ouvriers dépendant lui-même des em-
bauches et licenciements).

1.3. Location de surfaces d’entreposage. Le bâtiment d’entreposage d’une


firme fabriquant des peintures vient d’être complètement ravagé par le feu.
Pour pouvoir continuer à stocker ses surplus de production prévus pour les 6
prochains mois (soit la période de reconstruction de l’entrepôt), la firme doit
disposer des surfaces minimum reprises au tableau 1.6. La société s’adresse

Mois 1 2 3 4 5 6
Surface (en 100 m2 ) 35 20 30 10 15 20

Tableau 1.6: Besoins minimaux en surface d’entreposage

à une firme spécialisée dans l’entreposage qui permet de louer n’importe


quelle surface pour un nombre quelconque de mois. Le coût de location est
décroissant 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ésire pour la durée
et la surface qu’elle juge utiles. L’objectif est de minimiser le coût total des
baux qui permettront de couvrir les besoins en entreposage des 6 prochains
Section 1.5. Exercices 19

Durée du bail (en mois) 1 2 3 4 5 6


Coût du bail (euro pour 100 m2 ) 200 360 500 625 745 850

Tableau 1.7: Coût des baux

mois. On vous charge d’établir le calendrier de début et de fin de chacun des


baux ainsi que la surface sur laquelle ils portent.
Formuler le problème correspondant (choix des variables, expression de
l’objectif et expression des contraintes). Indication : pensez à utiliser des
variables à doubles indices (premier pour le début, second pour la fin du
bail).

1.4. Équilibrage du chargement d’un navire. Le capitaine d’un cargo céréalier


doit assurer l’équilibrage du chargement des 4 soutes de son navire pour lui
conserver toutes ses qualités en haute mer. Les soutes vont de la soute avant
A à la soute arrière D en passant par les 2 soutes médianes B et C. Leurs
capacités sont données ci-dessous :

Soute Capacité 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éréales compris dans la fourchette qui va de 90 % à 110 %
du tonnage chargé dans la soute D. Le tonnage dans chacune des soutes B et
C doit être d’au moins 30 % supérieur au tonnage dans la soute A et de 25
% supérieur au tonnage dans la soute D; la moitié de la somme des tonnages
chargés dans les soutes B et C doit être au plus égale à la somme des tonnages
chargés dans les soutes A et D. L’armateur propose au capitaine d’effectuer
20 Chapitre 1. Introduction

les chargement du navire à partir des lots de céréales suivants :

Lot Nombres Nombre de Tarif par tonne


de tonne m3 par tonne transportée
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 à sa


guise tout un lot donné ou une partie de ce lot. Pour simplifier le problème,
on suppose qu’une soute peut contenir plus d’une sorte de céréale. Il par-
tage l’objectif de l’armateur, qui est de maximiser les tarifs reçus pour les
quantités embarquées. Comment doit s’effectuer le chargement des soutes ?
Formuler mathématiquement le problème (choix des variables, expression
de l’objectif et expression des contraintes).
Partie I
Les décisions opérationnelles

21
Chapitre 2

Ordonnancement en ateliers spécialisés

2.1 Introduction

Rappelons qu’on parle d’ateliers spécialisés lorsque l’ensemble des équipements


nécessaires pour assurer une fonction déterminée sont rassemblés dans un même
atelier. Le problème de gestion quotidienne est de déterminer l’ordre d’exécution
d’un certain nombre de tâches, la réalisation d’une tâche nécessitant le passage sur
une ou plusieurs machines.
Par exemple, l’emboutissage de plusieurs types de portières de voitures de-
mande le passage sur une même presse, l’ordre de passage des différents types de
portières sur la presse n’étant pas déterminé à l’avance.
Parmi les modèles d’ordonnancement en ateliers spécialisés, on distingue

• Les modèles statiques pour lesquels on recherche l’ordonnancement opti-


mal d’un ensemble donné de tâches sur une période donnée : autrement dit,
au cours de la période considérée, aucune nouvelle tâche non prévue ne peut
être prise en compte dans l’ordonnancement;

• Les modèles dynamiques d’ordonnancement qui se caractérisent par des


arrivées successives de tâches, le plus souvent dans un univers aléatoire.

Dans ce chapitre, nous allons nous limiter aux modèles statiques et voir suc-
cessivement le problème d’ordonnancement sur 1 machine, sur 2 machines. Enfin,
nous verrons la généralisation au problème sur m machines dont la résolution
demande le recours à la programmation en nombres entiers.

23
24 Chapitre 2. Ordonnancement en ateliers spécialisés

2.2 Ordonnancement sur une machine

Illustrons le problème sur l’exemple suivant tiré de Giard [4]. On a cinq tâches
à effectuer sur la machine A. Le tableau 2.1 présente les différentes tâches ainsi
que leurs temps opératoires. Il s’agit de déterminer l’ordre dans lequel on va

Tâche (i) 1 2 3 4 5
Temps opératoire (ti ) 50 150 80 200 30

Tableau 2.1: Temps opératoires (en centièmes d’heures).

effectuer ces différentes tâches. Il est clair que, quel que soit l’ordre choisi, le
temps opératoire total est le même : il s’agit de la somme des temps opératoires.
Il faudra donc définir un autre critère de choix entre tous les ordonnancements
possibles. Un ordonnancement possible est illustré à la table 2.2.

Ordre (j) 1 2 3 4 5
Tâche programmée(i) 3 4 1 5 2
Temps d’exécution (Tj ) 80 200 50 30 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 à la figure 2.1 pour l’ordonnancement

1 2 3 4 5 temps
(heures)

3 4 1 5 2 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 à la fois :

• l’utilisation des moyens productifs;

• l’avancement de l’exécution des tâches.


Section 2.2. Ordonnancement sur une machine 25

En effet, une ligne horizontale illustre l’évolution du temps. Ensuite, pour chaque
moyen productif (ici, il y a seulement la machine A), on trace une ligne horizon-
tale en dessous de la ligne du temps. Chaque tâche à effectuer sur la machine
est représentée par un segment dont la longueur est proportionnelle à la durée
d’exécution de la tâche. On indiquera le numéro de la tâche au dessus du segment
tandis qu’une machine au repos est indiquée par un Z.
Si l’on veille à aligner verticalement l’origine du temps pour chaque machine,
une ligne verticale indique donc à tout moment à quelle tâche est occupée chacune
des machines. Un tableau mural peut être ainsi d’un grand recours pour les agents
de maı̂trise responsable de l’affectation des moyens humains et matériels.

2.2.2 La règle T.O.M.

Comme nous l’avons indiqué plus haut, tous les ordonnancements possibles con-
duisent au même temps total d’exécution des tâches. Dans l’exemple, l’exécution
des 5 tâches nécessite 510 centièmes d’heure. La question qui se pose est alors :
comment choisir parmi les n! ordonnancements possibles ?
Notons Aj le temps d’achèvement de la tâche programmée en position j. Le
temps d’achèvement d’une tâche est la somme des temps d’exécution de la tâche
avec ceux des tâches précédentes. Par exemple,
A4 = T1 + T2 + T3 + T4
Le calcul des différents temps d’achèvement des tâches 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èvement des tâches.

Le temps d’achèvement moyen vaut alors :


80 + 280 + 330 + 360 + 510
Ā = = 312
5
En général :
1 n
1
Ā = Aj = [T1 + (T1 + T2 ) + (T1 + T2 + T3 )
5 j=1 5
+(T1 + T2 + T3 + T4 ) + (T1 + T2 + T3 + T4 + T5 )]
1
= (5T1 + 4T2 + 3T3 + 2T4 + T5 )
5
26 Chapitre 2. Ordonnancement en ateliers spécialisés

Il s’agit donc d’une somme pondérée des temps opératoires, chaque temps opéra-
toire étant pondéré par un facteur d’autant plus grand qu’il se trouve exécuté plus
tôt dans l’ordonnancement. La règle d’ordonnancement qui minimise le temps d’a-
chèvement moyen est celle du temps opératoire minimum : il s’agit d’exécuter
les tâches par ordre croissant de durée :
T1 ≤ T2 ≤ . . . ≤ Tj ≤ . . . ≤ Tn
L’application de cette règle donne l’ordonnancement illustré au tableau 2.4. Cette
application donne le temps d’achèvement moyen minimum :
Ā = 218.

Ordre (j) 1 2 3 4 5
Tâches (i) 5 1 3 2 4
Tj 30 50 80 150 200
Aj 30 80 160 310 510

Tableau 2.4: Application de la règle TOM.

On peut montrer que la règle T.O.M. revient à minimiser le retard moyen, le


retard d’une tâche étant la différence entre le moment où la tâche est terminée et
celui où elle aurait été terminée si l’on l’avait commencé en premier lieu.

2.3 Ordonnancement avec deux centres de production

Chaque tâche nécessite pour son exécution le passage sur deux machines : les
machines A et B. Soient tiA et tiB , les temps d’exécution de la tâche i sur les
machines A et B respectivement. On va utiliser comme critère d’ordonnancement
la minimisation du temps total d’exécution des tâches sur les deux machines. On
va distinguer deux cas :

• le cas où toutes les tâches sont à exécuter sur A puis B;


• le cas où toutes les tâches n’ont pas le même ordre de passage sur les deux
machines.

2.3.1 Cas où toutes les tâches sont à exécuter sur A puis B

Supposons donc que cinq tâches soient à exécuter sur les machines A puis B. Les
temps opératoires (en centièmes d’heure) sont repris au tableau 2.5.
Section 2.3. Ordonnancement avec deux centres de production 27

Tâches (i) 1 2 3 4 5
tiA 50 150 80 200 30
tiB 60 50 150 70 200

Tableau 2.5: Ordonnancement sur deux machines.


5 1 3 4 2 Z
machine A

Z 5 1 3 4 2
machine B

0,3 0,8 1,6 2,3 2,9 3,6 4,4 5,1 5,6


1 2 3 4 5 temps
(heures)

Figure 2.2: Diagramme de Gantt.

L’ordonnancement optimal est illustré à la figure 2.2. Remarquez que durant


l’exécution de la première tâche sur A, la machine B dort. On a donc intérêt à
mettre en tête la tâche de temps tiA le plus faible. De façon similaire, lors de
l’exécution de la dernière tâche sur la machine B, la machine A dort. On a donc
intérêt à mettre en fin la tâche de durée d’exécution tiB minimum.
En se basant sur ces deux observations, l’algorithme Johnson (1954) calcule
l’ordonnancement minimisant le temps total d’exécution des tâches :

1. Rechercher la tâche i de temps d’exécution tim minimum.


2. Si m = A, placer cette tâche à la première place disponible;
Si m = B, placer cette tâche à la dernière place disponible.
3. Supprimer la tâche i des tâches encore à programmer, retour en 1.

Appliquons ceci à l’exemple. D’abord, la tâche 5 (t5A = 30) est mise en


première position. Puis, la tâche 1 (t1A = 50) est mise en deuxième position. Puis
la tâche 2 (t2B = 50) est mise en dernière position. Puis la tâche 4 (t2B = 70)
est mise en avant dernière position. Enfin, la tâche 3 est mise à la dernière place
disponible.
5 1 3 4 2
On obtient le graphique de Gantt de la figure 2.2 où le passage d’une tâche d’une
machine à l’autre est visualisé à l’aide d’une flèche verticale.
28 Chapitre 2. Ordonnancement en ateliers spécialisés

2.3.2 Cas de tâches ne s’effectuant pas dans le même ordre

Dans ce cas plus général, certaines tâches ne nécessitent que le passage sur une
machine, d’autres sur les deux dans un ordre ou l’autre. Les données numériques
sont reprises au tableau 2.6.

Tâches à effectuer sur A puis B


Tâches (i) 1 2 3 4 5 6
tiA 50 80 10 50 30 70
tiB 30 60 30 0 0 0
Tâches à effectuer sur B puis A
Tâches (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écution des tâches sur


les deux machines est obtenu par l’algorithme de Jackson (1957) qui est une
généralisation de l’algorithme de Johnson. Il consiste tout simplement à :

1. Faire une partition de l’ensemble des n tâches en


• l’ensemble A des tâches ne passant que sur A : A = {4, 5, 6};
• l’ensemble B des tâches ne passant que sur B : B = {10, 11};
• l’ensemble AB des tâches passant sur A puis B : AB = {1, 2, 3};
• l’ensemble BA des tâches 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érêt à débuter le plus vite possible sur A les tâches
qui doivent ensuite aller sur B et à mettre en dernière place sur A celles qui
doivent d’abord aller sur B. Ceci conduit à combiner ces ordonnancement
de la manière suivante :
Section 2.4. Ordonnancement sur trois machines 29

• Pour la machine A : la séquence optimale pour le sous-ensemble AB,


puis les tâches de A, puis la séquence optimale du sous-ensemble BA :

3, 2, 1, 5, 4, 6, 9, 8, 7.

• Pour la machine B : la séquence optimale pour le sous-ensemble BA,


puis les tâches de B, puis la séquence 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 2 1 5 4 6 9 8 7
machine A
10 90 140 170 220 290 390 420 490

98 7 11 10 3 2 1 Z
machine B
10 30 120 130 170 200 260 290

Figure 2.3: Algorithme de Jackson.

2.4 Ordonnancement sur trois machines

L’algorithme de Johnson ne s’applique qu’en présence de deux machines. Cepen-


dant, le cas de trois machines peut se ramener au cas de deux machines si la machine
B est complètement dominée par la machine A ou par la machine C, c’est-à-dire
si l’on se trouve dans le cas où

minimum tiA ≥ maximum tiB ,

soit dans le cas où


minimum tiC ≥ maximum tiB .

Illustrons ceci sur l’exemple du tableau 2.7. où l’on constate que :

minimum tiA = 12 = maximum tiB .

On est donc bien dans les conditions d’application énoncées ci-dessus. Remarquez
qu’il suffit qu’une des deux conditions soit vérifiée. Ainsi dans l’exemple, la
seconde condition n’est pas vérifiée et l’algorithme s’applique bien.
30 Chapitre 2. Ordonnancement en ateliers spécialisés

tâches 1 2 3 4 5 6 7
Assemblage 20 12 19 16 14 12 17
Inspection 4 1 9 12 5 7 8
Expédition 7 11 4 18 18 3 6

Tableau 2.7: Temps opératoires avec trois machines.

Lorsque l’on se trouve dans un des deux cas, on reformule alors le problème en
un problème à deux machines, la première groupant les machines A et B (tiAB =
tiA + tiB ) et la seconde groupant les machines B et C (tiBC = tiB + tiC ).

tâches 1 2 3 4 5 6 7
Assemblage + Inspection 24 13 28 28 19 19 25
Inspection + Expédition 11 12 13 30 23 10 14

On applique alors l’algorithme de Johnson à ce problème à deux machines pour


déterminer l’ordonnancement optimal.

Place 1 2 3 4 5 6 7
tâche 5 4 7 3 2 1 6

On peut alors tracer le diagramme de Gantt correspondant au problème original,


c’est-à-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ù la machine centrale n’est pas dominée par la première où la
troisième machine, le problème peut être modélisé comme un problème en nombres
entiers et résolu par une technique de programmation en nombres entiers telle que
la méthode de “branch and bound”.
Section 2.5. Ordonnancement de n tâches sur m centres de production 31

2.5 Ordonnancement de n tâches sur m centres de production

Comme l’indique Giard [4], le problème combinatoire posé est formidable : il y


a en effet (n!)m ordonnancements possibles. Le problème général a été formalisé
en termes de programmation dynamique et en termes de programme linéaire en
nombres entiers. La formulation permet d’intégrer des contraintes supplémentaires
comme la date de livraison, une capacité de production, . . . etc.
Lorsque l’ordre de passage des tâches est identique et que le nombre de centres
de production ne dépasse pas quelques dizaines, une solution souvent proche de
la solution optimale peut être trouvée en utilisant l’algorithme de Johnson sur des
groupements de centres de production successifs exactement à la manière de ce que
nous avons fait à la section précédente pour le cas de trois centres de production
dont celui du milieu est dominé.
Attention que, au contraire des cas précédents il ne s’agit pas d’un algorithme
donnant une solution optimale mais bien d’une méthode heuristique donnant une
solution approchée.
Prenons le cas de 5 centres de productions notés A, B, C, D et E. Il faut résoudre
les 4 problèmes suivants par l’algorithme de Johnson (des parenthèses signifient
que l’on somme les temps des centres) :

• avec la première et la dernière machine :

{A} − {E}

• avec les deux premières et les deux dernières machines :

{AB} − {DE}

• avec les trois premières et les trois dernières machines :

{A, B, C} − {C, D, E}

• avec les quatre premières et les quatre dernières machines :

{A, B, C, D} − {B, C, D, E}

On prend alors le meilleur des temps totaux d’exécution des tâches ainsi trouvés.
Illustrons ceci sur un exemple à 4 centres de production. Le tableau 2.8 reprend
les données du problème.
32 Chapitre 2. Ordonnancement en ateliers spécialisés

tâches tiA tiB tiC tiD


1 50 43 15 4
2 89 99 95 77
3 7 47 20 98
4 8 64 12 94
5 61 19 65 14
6 1 80 66 78

Tableau 2.8: Temps opératoires avec quatre machines.

Le premier problème fictif consiste à ne considérer que les machines A et D.


Il conduit à l’ordonnancement suivant par la méthode de Johnson :

1 2 3 4 5 6
6 3 4 2 5 1

qui conduit à un temps de 51,2 heures.


Le deuxième problème fictif consiste à considérer les machines A+B et C+D
comme illustré au tableau 2.9 . Il conduit à l’ordonnancement suivant par la

tâches 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ème problème fictif.

méthode de Johnson :
1 2 3 4 5 6
3 4 6 2 5 1
qui conduit à un temps de 48,7 heures. Le troisième et dernier problème fictif
consiste à considérer A+B+C et B+C+D. Il donne la même solution que le problème
fictif 2. On a donc trouvé une solution de temps égal à 48,7 heures alors que la
solution optimale (qui peut être calculée en faisant une énumération explicite de
tous les ordonnancement possibles) conduit à un temps de 48,5 heures.
Section 2.6. Exercices 33

2.6 Exercices

2.1. Pose de chape et carrelage. Une entreprise de pose de chape et carrelage


a enregistré pour le mois prochain les commandes suivantes correspondant
a autant de chantiers (la durée suppose qu’une équipe entière soit affectée à
la tâche) :

C1 C2 C3 C4 C5
Chappe 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échage entre la fin de la chape et le début du


carrelage. Le séchage est réalisé avec une machine. L’entreprise ne dispose
que d’une seule machine de séchage.

(a) Si l’entreprise dispose d’une équipe de chappistes et d’une équipe de


carreleurs, dans quel ordre doit-elle effectuer ces contrats pour réaliser
les 5 chantiers en un minimum de temps ?
(b) Représentez graphiquement votre solution au moyen d’un diagramme
de Gantt.
(c) Combien de jours sont nécessaires pour mener à bien les cinq chantiers ?

2.2. Ordonnancement de lots de jouets. Une petite entreprise de la région


Liégeoise est spécialisée 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 étapes :
la découpe du bois (A) et le montage (B). Selon les produits, ces opérations
ne sont pas toujours toutes effectuées et leur ordre peut varier. On demande
d’utiliser l’algorithme de Jackson pour déterminer l’ordonnancement qui
minimise le temps total d’exécution des tâches. Les données numériques
sont reprises au tableau ci-dessous :

Tâche J1 J2 J3 J4 J5 J6 J 7
Durée sur A 15 5 10 0 10 10 50
Durée sur B 10 0 12 10 15 18 40
Ordre BA A AB B AB AB BA

(a) Déterminez l’ordonnancement optimal des tâches passant à la découpe


puis au montage (A puis B).
34 Chapitre 2. Ordonnancement en ateliers spécialisés

(b) Déterminez l’ordonnancement optimal des tâches passant au montage


puis à la découpe (B puis A).
(c) Déterminez un ordonnancement pour les tâches passant uniquement
par la découpe (A).
(d) Déterminez un ordonnancement pour les tâches passant uniquement au
montage (B).
(e) Déterminez l’ordonnancement optimal pour les deux opérations.
(f) Dessinez la solution obtenue au point (e) sur un diagramme de Gantt.

2.3. Planification de m tâches sur n centres de production. La charcuterie in-


dustrielle Detry doit planifier 6 lots de jambons. Pour chacun des 6 lots, trois
opérations doivent être exécutées dans un ordre déterminé : La préparation
(centre de production A), puis la cuisson (centre de production B), enfin le
conditionnement (centre de production C). Étant donné les diverses tailles de
lots, les recettes utilisées et les divers types de conditionnements, on établit
les temps opératoires suivants pour chaque lot (unité : 10 minutes):

Machine A B C
Lot 1 : jambon belge 4 6 2
Lot 2 : jambon en dés 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 à l’os 8 1 3

L’entreprise désire minimiser le temps total de production.

(a) Utilisez la méthode heuristique basée sur l’algorithme de Johnson pour


trouver une solution proche de la solution optimale.
(b) Donnez l’ordonnancement obtenu.
(c) Quelle est la durée 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écessaire 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à 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és 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é demandée, on va constituer un stock de sécurité qui permet
de faire face à une pointe de demande. S’il y a incertitude sur le prix, on va
constituer un stock de spéculation. Par exemple, les compagnies pétrolières
achètent plus que nécessaire en pétrole brut lorsque le prix de celui-ci est
relativement bas.
3. risque de problèmes en chaı̂ne : il s’agit ici d’éviter qu’une panne à un poste
ne se répercute sur toute la chaı̂ne : un retard d’exécution au poste précédent
ou une grève des transports n’arrêtera pas immédiatement l’ensemble du
processus de production s’il y a des stocks tampons.
4. présence de coûts de lancement : dans ce cas, travailler par lots permet une
économie d’échelle sur les coûts de lancement mais, en revanche, provoque
une augmentation des coûts de possession du stock.

La gestion des stocks pose cependant de multiples problèmes : tenue d’inven-


taires, valorisation du stock, définition des capacités de stockage et enfin, disponi-
bilité satisfaisante du stock. Nous allons nous concentrer sur ce dernier aspect.

35
36 Chapitre 3. La gestion calendaire de stock

3.2 Les politiques de gestion de stock

Les politiques de gestion de stock visent à répondre aux deux grandes questions :

1. Quand déclencher l’approvisionnement du stock? La réponse à cette ques-


tion est différente suivant la politique de gestion adoptée :

• En gestion de stock par point de commande, l’approvisionnement du


stock est déclenché lorsque l’on observe que le stock descend en des-
sous d’un niveau s, le point de commande.
• En gestion calendaire, l’approvisionnement du stock est déclenché à
intervalles réguliers T , par exemple, chaque jour ou chaque semaine.
• En gestion calendaire conditionnelle, l’approvisionnement du stock
est déclenché à intervalles réguliers 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éponse à la question ”Combien ?” dépend


également du type de gestion de stock appliquée :

• En cas de gestion par point de commande, on commande une quantité


fixe, notée q et appelée quantité économique de commande. Comme
nous le verrons au chapitre 4, sa détermination résulte d’un calcul
d’optimisation.
• En cas de gestion calendaire de stock, la quantité commandée est égale
à la différence entre S, le niveau de recomplètement du stock et le stock
résiduel observé R, pour autant que le produit puisse rester en stock
(cas de produits non périssables). Cette quantité peut également être
augmentée de la valeur des quantités non satisfaites lors de la période
précédente, pour autant que le client maintienne sa demande.

Nous allons nous attacher à deux politiques particulières :

• La politique de gestion calendaire des stocks, notée (T, S) avec T l’inter-


valle entre deux commandes et S, le niveau de recomplètement du stock.

• La politique de gestion par point de commande, quantité économique


de commande, notée (q, s) avec q, la quantité économique à commander
régulièrement et s, le point de commande qui déclenche l’approvisionnement
du stock.
Section 3.3. Les coûts associés aux stocks 37

3.3 Les coûts associés aux stocks

Un stock est constitué pour satisfaire une demande future. En cas de demande
aléatoire, il peut y avoir non coı̈ncidence entre la demande et le stock. Deux cas
sont évidemment possibles :

• une demande supérieure au stock : on parle alors de rupture de stock;

• une demande inférieure au stock : on aura alors un stock résiduel.

Le critère de gestion généralement retenu en gestion des stocks est celui de


la minimisation des coûts. Nous noterons cette fonction par la lettre C, suivie,
entre parenthèses, de la ou des variables de commande du système. Par exemple,
si la variable de commande est la quantité commandée, nous noterons l’objectif
C(q). Ces variables de commandes déterminent en général trois variables d’état
du système :

Ir , la rupture moyenne, c’est-à-dire le nombre moyen de demandes non satis-


faites au cours d’une période, auquel est associé cr , le coût unitaire de
rupture;

Ip , le stock moyen possédé au cours d’une période, auquel est associé cp , le coût
unitaire de possession;

Ic , le nombre moyen de commandes passées au cours d’une période, auquel est


associé cc , le coût unitaire de commande.

La fonction de coût s’écrit donc en général comme une fonction de ces trois
variables d’état :
C = cr Ir + cp Ip + cc Ic .
Nous allons examiner un peu plus en détails chacun des trois coûts partiels.

3.3.1 Les coûts de possession

Les coûts de possession comprennent :

1. les coûts de détention d’un article en stock durant une certaine période en
fonction des conditions financières d’acquisition et des éventuelles condi-
tions de reprise.

2. les coûts de stockage qui sont les dépenses de logistique, de conservation du


stock.
38 Chapitre 3. La gestion calendaire de stock

Comme signalé plus haut, en présence d’une demande aléatoire, il peut y avoir
non coı̈ncidence du stock et de la demande, et donc une rupture ou un stock
résiduel. Les conséquences de ce stock résiduel seront bien différentes selon que
l’on se trouve dans

• le cas du stock à rotation nulle, c’est-à-dire lorsque le stock résiduel est


sans utilité pour l’entreprise. Ceci se présente notamment :
– en cas d’obsolescence technique ou commerciale : par exemple, les
vêtements de mode, . . .
– en cas où la consommation a un délai maximum : par exemple, les
primeurs, les journaux, . . .
Dans ce cas, le coût de possession d’un article se calcule comme le coût
d’acquisition de l’article moins la valeur de récupération (solde).
Prenons un exemple. Un quotidien acheté 0,9 euro par le libraire et dont
l’invendu est repris 0,75 euro par le grossiste : le coût de possession est de
cp = 0, 9 − 0, 75 = 0, 15 euro.

• le cas du stock à rotation non nulle, c’est-à-dire lorsque l’invendu peut être
vendu à une période ultérieure. C’est l’exemple des boı̂tes de conserves en
épicerie non vendues une période qui le seront aux périodes suivantes.
Dans ce cas, le coût de possession lié à l’immobilisation du capital. En
gelant la somme d’argent correspondant au coût d’achat de l’article invendu,
la société se prive du revenu d’un placement financier qu’elle aurait pu
réaliser. Ce coût est appelé coût d’opportunité. Le taux d’opportunité est
la rentabilité du meilleur investissement que l’entreprise aurait pu faire.
Prenons un exemple. Si le taux d’opportunité est de 6 % l’an, une boı̂te de
conserves achetée 1,20 euro et restant en rayon un mois entier a coûté
cp = 1, 20 × 6% × 1/12 = 0, 006 euro.

L’autre partie du coût de possession concerne les coûts de stockage. Ces coûts
de stockage, comprennent, en général des frais fixes, tels que le coût de location
d’entrepôts, ainsi que des frais variables, tels que le coût de manutention. Le
coût unitaire de stockage que l’on doit prendre en considération dans la fonction
objectif est le coût moyen de l’ensemble de ces frais. Malheureusement, ce ce coût
moyen dépend du volume d’activité et ne peut donc pas être considéré comme une
constante. Cette difficulté fait que souvent on n’inclut pas de coût de stockage
dans le coût de possession et le coût de possession se réduit donc au seul coût
d’immobilisation du capital.
Section 3.3. Les coûts associés aux stocks 39

3.3.2 Les coûts de rupture

La rupture se présente lorsque la demande excède le stock constitué au cours de la


période. Les conséquences de cette rupture sont différentes selon que la demande
est interne ou externe.
En cas de demande externe, la demande non satisfaite peut être perdue (on
parle de ventes manquées) ou reportée (on parle de ventes différées) :

• dans le cas de ventes manquées, le coût de rupture est le manque à gagner


de la non fourniture d’une unité, généralement la marge bénéficiaire.
Prenons un exemple. Un journal acheté 0,90 euro par le libraire et revendu
1,20 euro a un coût de rupture de
cr = 1, 20 − 0, 90 = 0, 30 euro.

• En cas de ventes différés, le coût de rupture n’inclut pas la marge car la


vente sera réalisée plus tard. Ce coût de rupture est le coût administratif
d’ouverture d’un dossier et éventuellement un coût commercial (on fait une
ristourne pour ne pas perdre le client).
Prenons un exemple. Un garagiste qui n’a plus en stock le véhicule désiré
par son client va lui proposer une voiture de location gratuite durant le délai
d’attente pour ne pas perdre le client. Le coût de rupture correspond ici à 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ômage technique
des postes en aval. Le coût de rupture correspond au coût financier du chômage
technique (voir à ce propos, l’exercice 3.3).

3.3.3 Les coûts 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ût de commande est le coût de lancement


de la production. Il s’agit du réglage des machines, etc . . . Normalement,
ce coût est indépendant de la quantité fabriquée.
• En cas de stock d’approvisionnement, le coût de commande est le coût
administratif de gestion de la commande : établissement d’un bordereau,
contrôle de livraison, liquidation comptable,. . . . Normalement, ce coût est
également indépendant de la quantité commandée.
40 Chapitre 3. La gestion calendaire de stock

3.4 Gestion calendaire de stock à rotation nulle

Pour rappel, on se trouve dans le cas d’un stock à rotation nulle lorsqu’il n’y a
pas de report possible des invendus aux périodes suivantes.
On va ici déterminer le niveau initial du stock S, qui est donc ici la variable
de commande. En effet, la période de révision calendaire, c’est-à-dire l’intervalle
entre deux approvisionnements, noté T est généralement fixé par la nature de
l’approvisionnement. Par exemple, un pâtissier met en fabrication des gâteaux
chaque jour. Le libraire commande des journaux chaque jour, des périodiques
chaque semaine ou chaque mois.
Nous allons illustrer les choses sur l’exemple du pâtissier tiré de Giard [4]
qui est un exemple où la demande suit une loi de probabilité discrète. Supposons
un coût de fabrication de 25 euro l’unité et un prix de vente de 60 euro l’unité.
Supposons que la demande quotidienne de ce gâteau 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é 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é d’occurrence de cette valeur. Ainsi on a 8,21 %
de chance d’observer aucun client un jour donné. Les invendus sont donnés.
La question que se pose le pâtissier est la suivante : combien mettre de gâteaux
en fabrication chaque jour pour maximiser son bénéfice ?
Le coût de possession, cp , lié à l’invendu en fin de journée est 25 euro, c’est-
à-dire le coût de production. Tandis que le coût de rupture, cr , lié à une vente
manquée est égal à la marge, c’est-à-dire :
cr = 60 − 25 = 35 euros.
On doit déterminer S, le stock initial, de manière à minimiser :
C(S) = cp Ip (S) + cr Ir (S) = 25Ip (S) + 35Ir (S).
avec Ip (S), le stock moyen résiduel en fin de journée et Ir (S), nombre moyen de
ruptures sur la journée.
Section 3.4. Gestion calendaire de stock à rotation nulle 41

Avant de voir comment déterminer, en général, le stock initial S ∗ qui mi-


nimise le coût moyen C(S), voyons sur l’exemple comment on peut calculer
numériquement 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ée (x) : bien é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érée de ce nombre par la
probabilité d’observer x. Ceci est fait en dernière ligne du tableau 3.2.

Calcul du nombre de ruptures : (x − S)+


x P (X = x) S = 1 S = 2 S = 3 S = 4 S = 5 S = 6
0 0, 0821 0 0 0 0 0 0
1 0, 2052 0 0 0 0 0 0
2 0, 2565 1 0 0 0 0 0
3 0, 2138 2 1 0 0 0 0
4 0, 1336 3 2 1 0 0 0
5 0, 0668 4 3 2 1 0 0
6 0, 0278 5 4 3 2 1 0
7 0, 0099 6 5 4 3 2 1
8 0, 0031 7 6 5 4 3 2
9 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édé. Au tableau 3.3,
on calcule explicitement le stock possédé en fonction du stock initial (S) et de
la demande observée (x) : bien évidemment, ce stock final possédé est la partie
positive de (S − x). Pour calculer le stock moyen possédé, il suffit, pour chaque
valeur de S de faire la moyenne pondérée de ce nombre par la probabilité d’observer
x. Ceci est fait en dernière ligne du tableau 3.3.
Enfin, nous calculons le coût 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ût minimum est
obtenu pour
S ∗ = 3.
42 Chapitre 3. La gestion calendaire de stock

Calcul du stock résiduel : (S − x)+


x P (X = x) S = 1 S = 2 S = 3 S = 4 S = 5 S = 6
0 0, 0821 1 2 3 4 5 6
1 0, 2052 0 1 2 3 4 5
2 0, 2565 0 0 1 2 3 4
3 0, 2138 0 0 0 1 2 3
4 0, 1336 0 0 0 0 1 2
5 0, 0668 0 0 0 0 0 1
6 0, 0278 0 0 0 0 0 0
7 0, 0099 0 0 0 0 0 0
8 0, 0031 0 0 0 0 0 0
9 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édé.

Calcul du coût 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ût 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: Évolution du coût moyen de possession du stock.


Section 3.4. Gestion calendaire de stock à rotation nulle 43

En cas de coût convexe (on peut vérifier que le coût est bien une fonction
convexe de S), le stock optimal S ∗ est celui pour lequel le coût de gestion C(S ∗ )
est inférieur à celui des stocks immédiatement inférieur ou supérieur :


 C(S ∗ ) ≤ C(S ∗ + 1)

 C(S ∗ ) ≤ C(S ∗ − 1)
ou encore 

 C(S ∗ + 1) − C(S ∗ ) ≥ 0

(3.1)
 C(S ∗ ) − C(S ∗ − 1) ≤ 0
Remarquez que les conditions (3.1) sont l’équivalent pour une fonction continue
de dire que la dérivée première doit être négative avant S ∗ et positive après S ∗ . On
va donc étudier l’évolution de la différence de coût de stocks successifs :
C(S + 1) − C(S).

L’étude 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ût en fonction de la seule
variation de rupture moyenne. On va donc étudier Ir (S + 1) − Ir (S). Calculons,
par exemple, la rupture moyenne Ir (S = 4) associée au stock initial S = 4. On
doit donc calculer l’espérance mathématique de X − 4 pour des valeurs de X
supérieures à 4 :


Ir (S = 4) = (x − 4)P (X = x)
x=5
Calculons, de même, la rupture moyenne Ir (S = 5) associée au stock initial S = 5 :


Ir (S = 5) = (x − 5)P (X = x)
x=6

En général :


Ir (S) = (x − S)P (X = x)
x=S+1
Intéressons nous maintenant à la différence de ces ruptures moyennes pour deux
stocks initiaux consécutifs :

 ∞

Ir (S = 4) − Ir (S = 5) = (x − 4)P (X = x) − (x − 5)P (X = x)
x=5 x=6
∞ ∞
= (x − 4)P (X = x) − (x − 5)P (X = x)
x=5 x=5
∞
= 1 · P (X = x)
x=5
= P (X > 4)
44 Chapitre 3. La gestion calendaire de stock

On en conclut que la diminution de rupture moyenne Ir (S) occasionnée par


une augmentation d’une unité du stock à partir de S est égale à la probabilité que
la demande soit strictement supérieure 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é discrète.
Les tableaux de l’annexe B donne le calcul de P (X > x) en fonction de λ, la
valeur du paramètre de la loi de Poisson.
Comme annoncé plus haut, il est possible de ramener la fonction de coût comme
une fonction de la seule variable d’état Ir (S). Pour cela, nous allons établir la
relation entre Ir (S) et Ip (S).
Le stock moyen sur lequel porte le coût de possession est le stock moyen
observé en fin de période qui correspond donc à l’invendu. On observera un stock
résiduel si la demande observée x est inférieure à S, le stock initial. Son niveau
moyen est calculé par l’espérance mathématique suivante :

S−1 
S
Ip (S) = (S − x)P (X = x) = (S − x)P (X = x)
x=0 x=0
∞ ∞

= (S − x)P (X = x) − (S − x)P (X = x)
x=0 x=S+1

 ∞
 ∞

= S P (X = x) − xP (X = x) + (x − S)P (X = x)
x=0 x=0 x=S+1
= S − X̄ + Ir (S)

où X̄ note la moyenne de la demande X. D’où la relation entre Ip et Ir :

Ip (S) = S − X̄ + Ir (S) (3.3)

qui peut s’interpréter en disant que le stock moyen résiduel Ip (S) est égal au stock
de départ S diminué de la demande moyenne satisfaite (X̄ − Ir (S)).
La conséquence de la relation (3.3) est que l’on peut exprimer le coût total
C(S) en fonction du seul coût de rupture Ir :
 
C(S) = cr Ir (S) + cp Ip (S) = cr Ir (S) + cp S − X̄ + Ir (S)

D’où l’expression de C(S) :


C(S) = cp (S − X̄) + (cr + cp )Ir (S) (3.4)
Section 3.4. Gestion calendaire de stock à rotation nulle 45

Revenons maintenant au problème de la détermination de la solution opti-


male, c’est-à-dire au stock initial S ∗ qui minimise :

C(S) = cp (S − X̄) + (cr + cp )Ir (S)

On a donc que :

C(S + 1) − C(S) = cp (S + 1 − X̄) + (cr + cp )Ir (S + 1)


−cp (S − X̄) − (cr + cp )Ir (S)
= 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é (3.1) deviennent ici :




 cp − (cp + cr )P (X > S ∗ ) ≥ 0

 cp − (cp + cr )P (X > S ∗ − 1) ≤ 0

ou encore S ∗ optimal si :

cp
P (X > S ∗ ) ≤ ≤ P (X > S ∗ − 1) (3.5)
cp + cr

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ù
S ∗ = 3.
On en conclut qu’il est optimal de produire chaque matin 3 gâteaux, soit la solution
déjà déterminée numériquement.
46 Chapitre 3. La gestion calendaire de stock

3.5 Cas d’une loi de demande continue

Nous allons également illustrer ce cas sur un exemple également tiré de Giard [4].
Considérons un marchand de journaux qui vent un quotidien à 3,5 euro l’unité, qui
lui-même l’acquière à 2,8 euro auprès de son grossiste qui lui reprend les invendus
au prix de 2,6 euro l’unité.
Le coût de rupture, cr , est lié à l’invendu et vaut donc la marge bénéficiaire :

cr = 3, 5 − 2, 8 = 0, 7 euro

tandis que le coût de possession, cp , vaut la perte enregistrée par invendu, c’est-à-
dire
cp = 2, 8 − 2, 6 = 0, 2 euro.

On suppose que la demande quotidienne suit approximativement une loi nor-


male de moyenne X̄ = 300 et d’écart type σ = 20. La question qui se pose
est la suivante : quel est le nombre d’exemplaires à commander S de manière à
minimiser le coût de gestion :

C(S) = cp Ip (S) + cr Ir (S)

Le coût de gestion s’écrit dans le cas d’une loi continue de la manière suivante :
 S  ∞
C(S) = cp (S − x)f (x)dx + cr (x − S)f (x)dx
x=0 x=S

La condition d’optimalité s’écrit dans le cas d’une loi continue :

C  (S ∗ ) = 0

Comme dans le cas discret, on peut ramener ce coût à une fonction du seul
nombre moyen de ruptures. En effet, la relation (3.3) entre Ir (S) et Ip (S) établie
dans le cas discret reste valable :
 S
Ip (S) = (S − x)f (x)dx
0∞  ∞
= (S − x)f (x)dx − (S − x)f (x)dx
0 S
 ∞
= S − X̄ + (x − S)f (x)dx
S
= S − X̄ + Ir (S)

On en déduit à nouveau l’expression de C(S) en fonction du seul Ir (S) :

C(S) = cp (S − X̄) + (cp + cr )Ir (S)


Section 3.5. Cas d’une loi de demande continue 47

Il faut maintenant étudier la dérivée première de Ir (S). Par application de la


formule de Leibnitz (cfr Giard [4]), on démontre le résultat suivant :
 ∞
dIr (S)
=− f (x)dx = −P (X > S), (3.6)
dS S

c’est-à-dire exactement le même résultat analytique que la relation (3.2) établie


dans le cas discret.
On peut maintenant passer à la détermination de la solution optimale. On
doit donc déterminer le S qui minimise :
C(S) = cp (S − X̄) + (cr + cp )Ir (S)
On calcule la dérivée de C(S) en utilisant la relation (3.6) :
dC(S)
= cp − (cr + cp )P (X > S)
dS
On annule la dérivée. D’où l’on tire :
cp
S ∗ optimal si P (X > S ∗ ) = (3.7)
cr + cp

Cet optimum est un minimum car la dérivée seconde de C(S) est positive. En
effet, la dérivée de P (X > S) par rapport à S est clairement négative.
Appliquons ceci au cas de l’exemple :
cp 0, 2
P (X > S ∗ ) = = = 0, 2222
cr + cp 0, 7 + 0, 2
Comme on ne dispose que de la table de la normale réduite, il faut réduire la
variable aléatoire X en lui retranchant sa moyenne et en la divisant par son écart
type. On obtient :

X −µ S ∗ − 300
P > = 0, 2222
σ 20
Par lecture dans la table de la normale réduite, on détermine :
S ∗ − 300
tS = = 0, 765
20
D’où finalement :
S ∗ = 315, 3 ≈ 315.
L’approvisionnement périodique optimal est donc de S ∗ = 315.
Avant de passer au cas de stocks à rotation non nulle, examinons quelques
indicateurs que l’on peut déduire de la solution optimale.
48 Chapitre 3. La gestion calendaire de stock

3.6 Les conséquences économiques de la solution optimale

La rupture de stock

Dans le cas (discret) de la production de gâteau, le calcul de Ir (s) s’effectue comme


suit :

Ir (S) = (x − S)P (X = x)
x>S
 
= xP (X = x) − S P (X = x)
x>S x>S

D’où finalement :

Ir (S) = xP (X = x) − SP (x > S)
x>S

Le premier terme correspond à un calcul tronqué de la moyenne. Pour la distribu-


tion de Poisson de paramètre λ, on montre que :

xP (X = x) = λP (X > S − 1)
x>S

D’où 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égrale suivante :
 ∞
Ir (S) = (x − S)f (x)dx
S∞  ∞
= xf (x)dx − S f (x)dx
S S

D’où l’on tire  ∞


Ir (S) = xf (x)dx − SP (x > S)
S
Section 3.6. Les conséquences économiques de la solution optimale 49

Le premier terme correspond à nouveau à un calcul tronqué 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 :
e−tS /2
2
S − X̄
tS = et f (tS ) = √
σ 2π
Appliquons ceci aux données numériques de l’exemple pour lequel
315 − 300
ts = = 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édé

Le stock moyen possédé, Ip (S), correspond dans le cas de stock à rotation nulle
au stock résiduel moyen. Cet indicateur s’obtient à partir de la rupture moyenne
aussi bien dans le cas discret que dans le cas continu par la relation (3.3) rappelée
ci-dessous :
Ip (S) = S − X̄ + Ir (S)
Pour le pâtissier, on aura donc :

Ip (S ∗ = 3) = (3 − 2, 5) + 0, 413 = 0, 9133 gâteaux.

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ésiduel se calcule comme le stock
initial diminué de la demande satisfaite. :
 
Ip (S) = S − X̄ − Ir (S) .
50 Chapitre 3. La gestion calendaire de stock

Le coût moyen

Le coût moyen C(S) peut être calculé par la relation suivante :


C(S) = cr Ir (S) + cp Ip (S)
Pour l’exemple du pâtissier, 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ée B(S), est égale au produit de la marge unitaire,
mu , par la demande moyenne, diminué du coût de stockage :
B(S) = mu X̄ − C(S) (3.9)
Donnons quelques explications sur cette formule. Deux cas sont possibles quant
aux ventes manquées (aux ruptures de ventes) :

• Soit les ventes manquées sont perdues, et dans ce cas, le coût de rupture est
la marge bénéficiaire. La formule (3.9) devient dans ce cas :
B(S) = cr X̄ − cr Ir (S) − cp Ip (S)
= cr (X̄ − Ir (S)) − cp Ip (S)
Le bénéfice net est donc la marge bénéficiaire sur les ventes réalisées moins
le coût des invendus.
• Soit les ventes manquées sont différées, et dans ce cas, la marge bénéficiaire
sera réalisée sur l’ensemble de la demande exprimée X̄, ce qui justifie di-
rectement la formule (3.9) .

L’application de cette relation à l’exemple numérique du pâtissier donne :


B(S) = mu X̄ − C(S) = 35 × 2, 5 − 37, 30 = 50, 20 euros.
tandis que pour le marchand de journaux, elle donne :
B(S) = mu X̄ − C(S) = 0, 7 × 300 − 5, 36 = 204, 64 euros.

Nous allons maintenant passer au cas de stock à rotation non nulle.


Section 3.7. Cas de stocks à rotation non nulle 51

3.7 Cas de stocks à rotation non nulle

Pour rappel, on parle de stocks à rotation non nulle lorsque les invendus d’une
période seront vendus aux périodes suivantes. C’est de loin le cas le plus répandu.
La variable de commande du système est ici S, le niveau de recomplètement,
c’est-à-dire le niveau du stock que l’on cherche à retrouver périodiquement. Re-
marquons une différence fondamentale avec le cas de stocks à rotation nulle. En
effet, la commande à passer pour un approvisionnement en début de période n’est
plus fixe. Deux cas sont possibles :

• Il reste un stock résiduel positif : dans ce cas, on commande la différence


entre S et le stock résiduel;

• Le stock résiduel est nul : dans ce cas, on commande S augmenté des


demandes non satisfaites de la période précédente qui ont pu être reportées.

Pour illustrer le processus de détermination de S ∗ , le niveau optimal de re-


complètement, c’est-à-dire celui qui minimise le coût :

C(S) = cp Ip (S) + cr Ir (S),

nous considérons l’exemple suivant de la ventes d’ampoules d’éclairage tiré de


Giard [4].
On suppose que la demande hebdomadaire d’ampoules de 60 Watt suit une loi
normale de moyenne 300 et d’écart type 20. Le réapprovisionnement se fait en
début de semaine chez le grossiste au prix d’achat de 3 euro l’unité. Les ampoules
sont vendues au prix de 3,5 euro l’unité. On suppose un taux d’opportunité annuel
de 20 %.
D’où un coût de possession annuel par ampoule en stock de :

3 × 0, 2 = 0, 6 euro.

Pour arriver à un coût 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’à la différence du cas de stock à rotation nulle, la perte liée à une
ampoule en stock n’est plus son prix d’achat mais la perte financière due au gel en
stock de son prix d’achat.
52 Chapitre 3. La gestion calendaire de stock

Calculons maintenant le coût unitaire de rupture : il correspond à la marge non


réalisée 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ètement


optimal S ∗ ?
Pour le calcul du stock moyen possédé, il faudra distinguer deux cas de figure :

1. le cas où la demande observée est supérieure au niveau de recomplètement;


2. le cas où la demande observée est inférieure au niveau de recomplètement.

Supposons, pour fixer les idées, qu’un niveau de recomplètement de 320 ait
été choisi.

1. Cas d’une demande inférieure à S : dans ce cas, il n’y a pas de rupture


de stock. C’est l’exemple d’une demande observée de 310. Le stock de fin
de période vaut donc :
320 − 310 = 10 ampoules.
En ce qui concerne l’évolution du stock, on peut supposer que la demande
de 310 ampoules est également répartie sur toute la semaine et on peut faire
une interpolation linéaire comme à la figure 3.2
S = 320

x = 310

S x = 10

T = 5 jours

Figure 3.2: Évolution du stock.

On en déduit le stock moyen possédé :


320 + 10 S + (S − x)
Ip (S) = =
2 2
On en conclut donc que :

S + (S − x) (3.10)
Si x < S : Ip (S) =
2
Section 3.7. Cas de stocks à rotation non nulle 53

2. Cas d’une demande supérieure à S : dans ce cas, on observe une rupture


de stock. C’est le cas, par exemple, d’une demande observée de 350. On
va maintenant déterminer à partir de quand le stock est nul. La demande,
comme dans le cas sans rupture, est supposée uniformément répartie sur
la semaine de cinq jours (cfr figure 3.3). La demande journalière est donc
S = 320
app
rox
im
ati x = 350
on

s=0
x S = 30

T = 5 jours

Figure 3.3: Évolution du stock en cas de rupture.

350/5 = 70 = x/T ampoules par jour. Et l’évolution du stock moyen


possédé peut être obtenue par :

S(t) = 320 − 70t.

Ce stock est nul pour :


320 S
t= = 4, 57 jours =
70 x/T
Le stock moyen possédé se calcule comme :
320 4, 57 0, 43 320 320 SS
Ip (S) = +0 = =
2 5 5 2 350 2x
En général :
SS
Si x > S : Ip (S) =
2x
Cette formule donne une solution analytique au problème de la détermination
du niveau optimal de recomplètement S ∗ assez difficile à mettre en œuvre.
Une hypothèse simplificatrice, à savoir que la rupture se produit en fin de
période (voir figure 3.3) permet d’effectuer des calculs simplifiés. Sous cette
hypothèse, le stock varie entre S et 0 et donc :

S (3.11)
Si x > S : Ip (S) =
2
54 Chapitre 3. La gestion calendaire de stock

3.7.1 Détermination de la solution optimale

Sous cette hypothèse simplificatrice, nous allons pouvoir déterminer le niveau de


recomplètement optimal. Le coût de gestion s’écrit :
C(S) = cp Ip (S) + cr Ir (S)

Pour le calcul du stock moyen possédé Ip (S), il faut dissocier le cas où la
demande x est inférieure à S de celui où elle est supérieure à S :
 S
S S−x S∞
Ip (S) = ( + )f (x)dx + f (x)dx
0 2 2 2 S
Tandis que le nombre moyen de ruptures, Ir (S), peut se calculer comme l’intégrale :
 ∞
Ir (S) = (x − S)f (x)dx
S

On peut maintenant tirer l’expression de Ip (S) en fonction de Ir (S) :


 S
S S−x S∞
Ip (S) = ( + )f (x)dx + f (x)dx
0 2 2 2 S
 ∞  S
S 1
= 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 :

X̄ Ir (S) (3.12)
Ip (S) = S − +
2 2

On peut donc exprimer C(S) en fonction du seul Ir (S) :


X̄ Ir (S)
C(S) = cp Ip (S) + cr Ir (S) = cp [S − + ] + cr Ir (S)
2 2
D’où finalement :
X̄ cp
C(S) = cp (S − ) + (cr + )Ir (S)
2 2
Dans le cas d’une loi de demande continue, il suffit d’annuler la dérivée première
dC(S) cp dIr (S) cp
= cp + (cr + ) = cp + (cr + ) [−P (X > S ∗ )] = 0
dS 2 dS 2
Section 3.7. Cas de stocks à rotation non nulle 55

d’où
cp
P (X > S ∗ ) = cp
(3.13)
cr + 2

Appliquons ceci aux données numériques de notre exemple de ventes d’am-


poules électriques. Par la relation (3.13) :
0, 01154
P (X > S ∗ ) = = 2, 28%
0, 5 + 0, 01154/2
La lecture dans la table normale réduite nous donne :
S ∗ − 300
tS = 2 =
20
D’où, le niveau optimal de recomplètement :

S ∗ = 340.

Tout comme dans le cas de stock à rotation nulle, on peut déduire 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édé se calcule à partir de la formule

X̄ Ir (S ∗ )
Ip (S ∗ ) = S ∗ − +
2 2
300 0, 168
= 340 − + = 190, 08
2 2

• Le coût 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 :

B(S ∗ ) = mu X̄ − C(S ∗ )
= 0, 5 × 300 − 2, 28 = 147, 72 euros.
56 Chapitre 3. La gestion calendaire de stock

3.7.2 Cas d’une loi de demande discrète

Terminons ce chapitre en voyant les formules de calcul dans le cas d’une loi de
demande discrète pour la gestion de stock à rotation non nulle.
Le stock moyen possédé se calcule dans le cas discret comme suit :

S−1 ∞

x S
Ip (S) = (S − )P (X = x) + P (X = x)
0 2 S 2

S−1
x S
= (S − )P (X = x) + P (X ≥ S)
0 2 2
Exprimons ce stock moyen possédé en fonction du nombre moyen de rupture :
 ∞
S−1
S S x S
Ip (S) = ( + − )P (X = x) + P (X = x)
0 2 2 2 2 S
1 
S
= [S + (S − x)P (X = x)]
2 0

 ∞
S 1 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)
Ip (S) = S −
+ (3.14)
2 2
c’est-à-dire exactement la même formule que dans le cas continu.
On peut donc exprimer C(S) en fonction du seul Ir (S) :
C(S) = cp Ip (S) + cr Ir (S)
X̄ Ir (S)
= cp [S − + ] + cr Ir (S)
2 2
X̄ cp
= cp (S − ) + (cr + )Ir (S)
2 2
Par des calculs analogues à ceux du cas de la rotation nulle, on détermine finalement
le niveau optimal de recomplètement S ∗ par la formule suivante :
cp
P (X > S ∗ ) ≤ cp ≤ P (X > S ∗ − 1) (3.15)
cr + 2

Il est à 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ême formule que précé-
demment à savoir :
Ir (S) = λP (X > S − 1) − SP (X > S)
Section 3.8. Exercices 57

3.8 Exercices

3.1. Vente de fleurs. Un fleuriste est livré tous les samedis matin de très bonne
heure par son producteur d’une quantité de 10 décorations florales qu’il
écoule durant le week-end. Il n’est plus possible alors d’être livré en urgence
en cas de manque de décorations florales. Il achète ses décorations florales 13
euro pièce et les revend 25 euro l’unité. Il a passé un accord avec un fleuriste
ambulant faisant le marché le mardi qui lui rachète ses invendus éventuels à 6
euro l’unité. Le fleuriste se rend compte que sa gestion d’approvisionnement
actuelle n’est pas optimale. Si la demande est supérieure à 10 unités, il perd
du chiffre d’affaire. Mais si elle est inférieure, il perd de l’argent par la
revente en solde des invendus. Des discussions avec le producteur révèlent
que celui-ci pourrait lui fournir jusqu’à 13 décorations florales par week-end.
Par ailleurs, le fleuriste a effectué un relevé des demandes de décorations
florales sur les 100 derniers week-end. Les résultats sont donnés 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écorations


florales. Il se demande combien commander à son grossiste pour maximiser
ses gains.

(a) Confirmez son impression qu’il peut vendre en moyenne plus de 10


décorations florales en calculant la moyenne de la demande de déco-
rations florales.
(b) Déterminez le nombre optimal de décorations florales à commander
auprès 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écoration florale ?
(d) Quel est le nombre moyen de décorations florales que le fleuriste am-
bulant lui rachète en fin de week-end ?
(e) Quel est le bénéfice net du fleuriste en un week-end sur ce produit ?

3.2. Gestion d’une exploitation forestière. Un exploitant forestier doit décider


de la quantité d’arbres résineux à abattre et à mettre sur le marché. Ses
58 Chapitre 3. La gestion calendaire de stock

ventes sont destinées au bois de charpente et on estime que la demande


annuelle suit une loi normale de moyenne 10.000 et d’écart type 100. Le
coût de production est de 1.000 euro l’unité 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és l’année courante. Le surplus peut être vendu
l’année suivante. L’abattage a lieu une fois l’an. Afin de préserver la forêt,
l’exploitant replante la même année exactement la quantité abattue.

(a) Quelle quantité doit-il mettre en production pour minimiser son coût
de gestion (taux d’opportunité de 6 % par an) ?
(b) Quelle est en moyenne la quantité qu’il ne peut livrer par an faute
d’approvisionnement suffisant ?

3.3. Gestion du stock de pièces de rechange. Une entreprise d’embouteillage


est confrontée de temps à autre à des pannes de sa machine d’embouteillage
qui nécessitent l’arrêt de la production pour 24 heures (dont coût 10.000
euro). Afin de remédier à ce problème, il a été décidé qu’à chaque nouvel
achat de machine (la machine est remplacée tous les 4 ans), un certain nombre
de pièces de rechange seront commandées avec la machine. Le coût d’achat
d’une pièce est de 500 euro. On peut réutiliser les pièces de rechange
d’une machine sur l’autre. Ce stock de pièces de rechange permettra en
cas de panne de réparer immédiatement la machine et d’éviter l’arrêt de la
production pour 24 heures. Le nombre de pannes observées sur la durée de
vie de la machine est en moyenne de 2 pannes par an (8 pannes sur la durée
de 4 ans). Le taux d’opportunité est estimé à 10 % par an. On se demande
combien faut-il commander de pièces de rechange avec la commande de la
nouvelle machine.

(a) De quelle politique de gestion de stock s’agit-il ? Justifiez brièvement


votre réponse.
(b) Quel est le nombre optimal de pièces de rechange à commander avec
la nouvelle machine ?
(c) Quel est le nombre moyen d’arrêts de la nouvelle machine dûs à une
rupture de stock de pièces détachées ?
(d) Quel est le stock moyen possédé de pièces détachées ?
(e) Quel est la coût de cette politique sur la durée de vie de la machine ?
Chapitre 4

La gestion par point de commande

4.1 Introduction

La gestion calendaire se caractérise, comme nous l’avons vu au chapitre 3 par :

• des commandes à intervalles fixes dont la périodicité est notée T ;


• un niveau de commande variable : qui vaut la différence entre S, le niveau
de recomplètement et R, le stock résiduel.

La gestion par point de commande se caractérise, elle, au contraire par :

• un montant de commande constant : cette quantité économique de com-


mande sera notée q;
• une périodicité de commande variable (lorsqu’on est en univers aléatoire) :
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étermine s, le point de commande, suffisamment grand afin
d’éviter toute rupture de stock : il n’y a donc pas de coût de rupture. La
variable de décision q, la valeur constante de la commande, sera déterminée
de manière à minimiser le coût 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ût de rupture


intervient aussi. Les variables de décision que sont q, le montant des
commandes et s, le point de commande seront déterminés de manière à
minimiser le coût de gestion qui comprend trois termes :
C(q, s) = cc Ic (q, s) + cp Ip (q, s) + cr Ir (q, s)

59
60 Chapitre 4. La gestion par point de commande

4.2 Détermination du point de commande en univers certain

Nous allons illustrer la détermination de la quantité économique de commande en


univers certain sur un exemple tiré de Giard [4] . Il s’agit d’un ustensile de cuisine
acheté par un supermarché au prix unitaire de 30 euro. La demande annuelle, que
nous noterons D est estimée à 2 400 unités. Cette demande est considérée comme
uniforme sur l’année. Vu le caractère certain de la demande et du délai d’obtention
(ici de 20 jours ouvrables), on peut éviter toute rupture d’approvisionnement en
passant commande à temps. On considère que l’année comporte 48 semaines de
6 jours ouvrables, soit 288 jours. Le coût de passation d’une commande de 300
euro et est indépendant de la quantité commandée. L’article est vendu 40 euro.
La question qui se pose ici est : “Quand commander ?” Afin de minimiser le
stock possédé, le chef de rayon a intérêt à passer commande exactement 20 jours
ouvrables avant la rupture (voir figure 4.1) de manière à ce que le stock soit nul au
moment de la livraison. Il évitera ainsi un stock dormant.
niveau du stock

400

q =400 q =400 q =400

s∗ =167

L temps
L

Figure 4.1: Détermination du point de commande.

Remarquez que cela revient à déclencher la commande au moment où il reste


exactement en stock de quoi satisfaire la demande de 20 jours. Exprimons le délai
d’obtention de 20 jours ouvrables en année :
20
L= = 0, 069 année.
288
La demande durant cette période s’élève à :
20
D × L = 2 400 × = 166, 67 ≈ 167 articles.
288
Section 4.3. Détermination de la quantité économique de commande 61

En général, le point de commande optimal est tel que

s∗ = DL (4.1)

avec D = demande annuelle;


L = délai d’obtention exprimé en année.
Dans le cas où l’on déclencherait la commande plus tôt (voir figure 4.2 où l’on
a pris s = 200 et q = 400), on aurait un stock résiduel de

sr = sr − DL = 200 − 167 = 33

et le niveau du stock évoluerait entre q + sr et sr , et non plus entre q et 0, d’où 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
stock dormant
s =200 s =200
sr =33

L temps
L

Figure 4.2: Stock résiduel à la commande.

4.3 Détermination de la quantité économique de commande

Le coût de possession annuel unitaire peut être calculé en tenant compte du taux
d’opportunité annuel ici supposé de 20 % comme :

cp = 30 × 0, 2 = 6 euros.
62 Chapitre 4. La gestion par point de commande

La question qui se pose est la suivante : Quelle est la quantité q constante à


commander périodiquement pour que le coût annuel moyen soit minimum ?
Avant de déterminer la quantité optimale, raisonnons sur une valeur quelconque
de q, par exemple, q = 400. Le nombre moyen de commandes par an vaut :
D 2400
Ic (q) = = =6
q 400
D’où le coût de commande :
D 2 400
cc Ic (q) = cc = 300 = 1 800 euros.
q 400

Passons maintenant au calcul du stock moyen possédé. Pour minimiser le


coût de possession, on passe commande (voir section précédente) de manière à ce
que le stock soit nul au moment où arrivent les nouveaux articles. Le stock varie
donc entre 400 et 0. Le stock moyen possédé vaut donc :
q 400
Ip =
= .
2 2
Le coût annuel de possession vaut donc :
400
cp Ip (q) = 6 = 1 200 euros.
2
D’où le coût annuel de gestion :
400 2 400
C(q = 400) = 6 + 300 = 3 000 euros.
2 400
Nous pouvons maintenant faire une modélisation du problème pour une quan-
tité commandée quelconque q. On cherche donc à déterminer la valeur de la seule
variable de décision, c’est-à-dire q, la commande périodique, qui minimise le
coût de gestion qui ne comprend que deux termes :
C(q) = cp Ip (q) + cc Ic (q)

On peut généraliser 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érivée première :
1 D
C  (q ∗ ) = cp − cc ∗2 = 0
2 q
Section 4.3. Détermination de la quantité économique de commande 63

D’où le point optimum :



∗ 2Dcc (4.2)
q =
cp

Cette quantité est appelée quantité de Wilson. Vérifions qu’il s’agit bien d’un
minimum en calculant la dérivée seconde :
D
C”(q) = 2cc 3 > 0
q
Remarquez qu’au point optimum, on a égalité des coûts de commande et de
possession. En effet :

D D Dcc cp
cc Ic (q ∗ ) = cc = cc  2Dc =
q c 2
cp

2Dcc
q∗ cp Dcc cp
cp Ip (q ∗ ) = cp = cp =
2 2 2
Appliquons ceci à l’exemple numérique. La quantité économique de com-
mande vaut donc :

2Dcc 2 2 400 300
q∗ = = = 489, 9 ≈ 490
cp 6
Examinons les conséquences de la politique optimale.

1. Le stock moyen détenu vaudra :


q∗ 490
Ip (q ∗ ) = = = 245.
2 2
2. le nombre moyen annuel de commandes vaudra :
D 2 400
Ic (q ∗ ) = ∗
= = 4, 898
q 490
3. Le coût annuel de gestion vaudra :
C(q ∗ ) = cp Ip (q ∗ ) + cc Ic (q ∗ )
490 2.400
= 6 + 300 = 2 939, 39 euros.
2 490
4. La marge bénéficiaire nette se calcule par la formule :
B(q ∗ ) = mu D − C(q ∗ )
= 10 × 2.400 − 2939, 39 = 21.060, 61 euros.
64 Chapitre 4. La gestion par point de commande

4.4 Cas d’une demande aléatoire

Rappelons les hypothèses de base de la gestion par point de commande en univers


certain :

• On a une demande certaine uniformément répartie sur l’année;


• On a un délai de livraison certain.

Nous allons généraliser ce modèle de la manière suivante :

• On suppose que la demande est connue en probabilité mais reste statique,


c’est-à-dire que les caractéristiques de la distribution restent stables dans le
temps.
• Nous maintenons l’hypothèse d’un délai d’obtention certain. Ce qui est le
plus souvent le cas.

Nous illustrons ce cas sur l’exemple introductif, à savoir la vente d’ustensiles


de cuisine mais en considérant cette fois que la demande annuelle suit une normale
de moyenne 2 400 et d’écart type 189,74. Le coût de rupture vaut la marge qui est
ici de 10 euro. Le coût de possession annuel reste de 6 euro. Le coût unitaire de
commande reste de 300 euro.
Passons au problème de la détermination de q et s. Tout d’abord, remarquons
que pendant le délai d’obtention de 20 jours la demande est aléatoire. Calculons
les paramètres de sa distribution. Tout d’abord, le délai d’obtention de 20 jours
s’exprime en fraction d’année comme :
20
L= années.
288
La demande XL en 20 jours suit une loi Normale

• de moyenne :
20
µL = Lµ = × 2 400 = 167
288
• de variance :
20
σL2 = Lσ 2 = × (189, 74)2 .
288
En effet, les paramètres de la demande durant 20 jours se déduisent des paramètres
des ventes annuelles en multipliant la moyenne et la variance (et non l’écart type)
par L. Donc, on obtient un écart type de :

20
σL = × 189, 74 = 50.
288
Section 4.4. Cas d’une demande aléatoire 65

4.4.1 Détermination de q et s

La fonction de coût à minimiser fait intervenir les trois variables d’état 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ée au problème en effectuant une dé-
termination indépendante de s et de q en se basant sur l’observation suivante.
Dans l’expression de C, le nombre moyen de commande dépend essentiellement
de la quantité commandée q tandis que le nombre moyen de ruptures dépend
essentiellement du point de commande s. On peut donc récrire 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ème en la variable q et le problème en la variable
s est le stock moyen possédé Ip qui dépend à la fois de q et de s. On va déterminer
une solution approchée en séparant le problème à deux variables en deux problèmes
à une variable de la manière suivante. On va résoudre indépendamment les deux
problèmes suivant :

1. Déterminer la quantité économique q en arbitrant entre le coût de com-


mande et le coût de possession à partir de la demande moyenne.
2. Déterminer le point de commande s en arbitrant entre le coût de rupture
et le coût de possession en utilisant la gestion calendaire pendant le délai
d’obtention L, en retenant comme s le niveau de recomplètement optimal.

Le problème de la détermination de la quantité économique de commande n’est


rien d’autre que le problème étudié en univers certain si l’on remplace la demande
annuelle certaine par la demande annuelle moyenne :
D = µ = 2 400.
En minimisant le coût de gestion :
C(q) = cc Ic (q) + cp Ip (q),
la solution trouvée dans le cas certain était de :
q ∗ = 490.
66 Chapitre 4. La gestion par point de commande

Le problème de la détermination du stock de sécurité est quant à lui résolu en


prenant pour point de commande s le niveau de recomplètement S qui minimise
le coût d’une gestion calendaire durant le délai 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édé durant L.
niveau du stock

490

q =490 q =490 q =490

L L temps

q
D

Figure 4.3: Point de commande en univers aléatoire

Remarquez qu’un article en stock en fin du délai d’obtention (fin L) correspond


à une immobilisation sur toute la durée d’écouler q, soit durant Dq année, et non
sur les seuls 20 jours du délai d’obtention L. Le coût unitaire de possession est
donc de :
q
cp = cp = 6 × 0, 2042 = 1, 225 euros.
D
En effet, un article encore en stock à l’issue des 20 jours du délai d’obtention
augmentera d’une unité la valeur du stock durant toute la durée d’écoulement de la
suivante commande (voir figure 4.3). En utilisant la gestion calendaire, on déduit :

∗ cp 1, 225
P (X > s ) = = = 0, 115
cr + cp /2 10 + 1, 225/2
La demande X durant le délai d’obtention de 20 jours est une N(167,50). On lit
dans la table de la normale N(0,1) :
s∗ − 167
1, 2 =
50
Section 4.4. Cas d’une demande aléatoire 67

D’où finalement
s∗ = 227.

4.4.2 Conséquences économiques du choix

Le stock de sécurité est défini comme différence entre le niveau de recomplètement


et la demande moyenne durant L et vaut ici :
227 − 167 = 60 articles.
Le nombre moyen de commandes dépend uniquement de q et se calcule par la
formule :
D 2400
Ic (q) = = = 4, 898 commandes.
q 490
Le nombre moyen de ruptures par commande, noté 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 à multiplier par le de commandes par an, Ic (q). Le nombre moyen
de ventes manquées par an s’élève donc à :
Ir (s, q) = Ic (q) × Irc (q) = 4, 898 × 2, 81 = 13, 76 articles
Le calcul du stock moyen possédé est plus compliqué car il dépend à la fois de s
et de q. On peut montrer :

1. en cas de ventes manquées perdues (voir Giard [4], chapitre XII, relation
275, page 836) que :
q I c (s)
Ip (s, q) =+ (s − DL) + r
2 2
Le coût de gestion correspondant vaut :
D q Irc (s) D
C(s, q) = cc + cp ( + s − DL + ) + cr ( Irc (s))
q 2 2 q
2. en cas de ventes manquées différées (voir Giard [4], chapitre XII, relation
286, page 840) que :
q DL c
Ip (s, q) = + (s − DL) + I (S)
2 2q r
où Irc (s) note le nombre moyen de ruptures par cycle (durant le délai d’ob-
tention). Le coût de gestion correspondant vaut :
D q DL c D
C(s, q) = cc + 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ésent, les ventes manquées sont supposées perdues pour le super-
marché et donc le stock moyen possédé se calcule par la formule suivante :

q Irc (s)
Ip (s, q) = + (s − DL) +
2 2
490 2, 81
= + 60 +
2 2
= 306, 405

On en déduit le coût 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 à la marge bénéfi-


ciaire sur la demande moyenne le coût de gestion annuel :

B(s, q) = mu D − C(s, q)
= 24 000 − 3 445, 45
= 20 554, 54

On utilise également un indicateur appelé le taux de rotation du stock.

Définition 4.1 On définit le taux de rotation du stock comme le quotient de la


demande moyenne sur le stock moyen possédé.

Dans le cas de l’exemple, il se calcule comme suit :


D 2 400
r= = = 7, 83
Ip 306, 4

Ce qui s’interprète en disant que le stock tourne environ 8 fois dans l’année. Il
correspond au nombre de fois qu’il faudrait réapprovisionner le stock si on le
réapprovisionnait à hauteur de son niveau moyen.
Il est à remarque que l’idée très largement répandue selon laquelle “plus le
niveau de rotation est élevé plus le stock est bien géré” est fausse. En effet, un
niveau élevé de rotation correspond à un faible niveau de stock possédé mais
correspond à un coût de passation de commande élevé. Le niveau obtenu ici est le
niveau optimal qui résulte de l’arbitrage entre les différents coûts.
Section 4.5. Exercices 69

4.5 Exercices

4.1. Stock de distribution. Un distributeur Apple a une demande annuelle de


1000 iPod que l’on suppose, pour la facilité, répartie uniformément sur
l’année qui compte 250 jours d’ouverture du magasin. L’approvisionnement
auprès du grossiste se fait en 5 jours ouvrables. Le coût de livraison d’une
commande est de 10 euro. L’appareil est acheté 100 euro hors tva et revendu
125,84 euro tva de 21 % comprise. Le taux d’opportunité du distributeur
est particulièrement 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’appel-


lation courante de cette politique et la valeur de ses paramètres.
(b) Calculez le coût de détention en stock durant un an d’un iPod sachant
que la société ne paie pas la tva à son fournisseur.
(c) Calculez la demande durant le délai d’obtention.
(d) Tracez l’évolution du stock au cours d’une année sachant qu’il y a 100
iPod en stock au premier janvier.
(e) En déduire le coût de gestion annuel.
(f) En gardant le même principe de gestion de stock, à savoir de com-
mander lorsque le stock passe en dessous d’une quantité donnée, aidez
le distributeur à diminuer son coût de gestion annuel du stock. Que
proposez-vous comme nouvelle quantité à commander ?
(g) Que proposez-vous comme seuil déclenchant la commande ?
(h) Quelle est l’augmentation de profit du distributeur avec votre politique ?

4.2. Timbrage d’envois multiples. Une entreprise envoyant régulièrement des


courriers publicitaires à ses clients fait appel à une société extérieure pour
le timbrage des enveloppes. Outre le prix du timbre (3 euro par enveloppe),
cette société extérieure demande 300 euro pour le travail quel que soit le
nombre d’enveloppes à timbrer. On suppose que le nombre d’enveloppes
à envoyer sur l’année (qui comporte 50 semaines) suit une loi normale de
moyenne de 30.000 et d’écart type 500. Si on tombe à court, on peut acheter
les enveloppes prétimbrées à la pièce à la poste à 3,5 euro l’unité. Le délai
de réalisation du timbrage est d’une semaine. Le taux d’intérêt annuel est
de 6 %.

(a) Quel est la quantité optimale d’enveloppes affranchies à commander


auprès de la société spécialisée en timbrage ?
70 Chapitre 4. La gestion par point de commande

(b) A partir de quel niveau de stock d’enveloppes affranchies faut-il repas-


ser commande ?

4.3. Ventes de tablettes. Un distributeur de salle de bain doit décider de la


commande de tablettes de 60 cm à faire auprès 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 à un prix de
détail de 26 euro, lui-même les achète auprès de son fournisseur 20 euro
pièce. Le délai d’obtention est d’un mois. Le coût de passation d’une
commande est de 160 euro. Le taux d’opportunité annuel est de 24 %.

(a) Calculer la quantité optimale à commander régulièrement.


(b) Quel doit être le niveau de stock qui déclenche la commande ?
(c) Quel est le nombre moyen de clients qui ne peuvent être servis pendant
le délai d’un mois entre le lancement d’une commande et sa livraison ?
(d) Quelle est l’espérance de la marge annuelle nette sur ce produit ? Les
ventes manquées sont perdues.
Partie II
Les décisions tactiques

71
Chapitre 5

La planification de la production

5.1 Introduction

La planification de la production consiste en la régulation à moyen terme de la


production. C’est donc une décision tactique. Elle fait le lien entre les décisions
opérationnelles à court terme et les décisions stratégiques à long terme. La plani-
fication de la production s’adresse uniquement au cas de la production en série.
Elle ne s’applique donc pas au cas de la production en série unitaire.
Il existe deux types d’approches en planification de la production :

• la planification des besoins en composants qui vise à établir une program-


mation prévisionnelle des composants;

• la planification juste à temps dont le principe fondamental est de produire la


quantité strictement nécessaire aux besoins immédiats du client.

La planification des besoins en composants ou M.R.P. (Material Require-


ment Planning) cherche à établir la programmation de la production sur base d’un
système d’information. Partant des données physiques (stocks disponibles, li-
vraisons attendues, demandes prévisionnelles, capacités de production,. . . ) et des
données comptables (coûts de production, d’approvisionnement, de rupture), on
établit un plan de production qui détermine pour chaque période les quantités
à produire par produit, les quantités fabriquées 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 à une program-
mation prévisionnelle : on utilisera la programmation dynamique lorsque l’on a
une demande dynamique certaine ne portant que sur un seul article et la program-
mation linéaire dans le cas statique portant sur plusieurs produits.

73
74 Chapitre 5. La planification de la production

5.2 La planification des besoins en composants

Illustrons le principe de la planification des besoins en composants sur un exemple


tiré de Giard [4] : il s’agit de l’assemblage de trois véhicules à moteur. La plani-
fication des besoins en composants nécessite l’existence des éléments suivants :

1. Une nomenclature complète : c’est-à-dire une codification de tous les


composants qui permet d’écrire le schéma arborescent du tableau 5.1. Dans
l’exemple, pour faire un véhicule (T27), il faut une boı̂te de vitesse (E1001),
elle même constituée d’un engrenage (E2010), lui-même constitué de divers
éléments (E3047 et E3052). Le chiffre entre parenthèses indique le nombre
de composants nécessaires pour faire le sous-ensemble. Par exemple, il faut
deux E3047 et deux E3052 pour faire un sous-ensemble E2040.

Niveau 0

Niveau 1 Niveau

2
 -E1001 (1)  
 -E2010 (1)  -E3047 (1)
T27  -E1010 (1) E1001 E2010  -E3052 (1)
 ... 

... 
...
  
 -E1001 (1) -E2040 (1)  -E3047 (2)
T28 -E1020 (1) E1004 E2040  -E3052 (2)

 ... 

... ...

 -E1004 (1)
T29 -E1020 (1) ... ...


...

Tableau 5.1: Décomposition en composants.

2. Un plan directeur de production : le plan directeur de production est le


plan de mise à disposition de produits finaux. Il peut également comporter
le plan de mise à disposition de sous-ensembles ou de composants vendus
comme pièces détachées. Le plan directeur de production est donné au
tableau 5.2. Il prévoit, outre la mise à disposition des produits finaux, les
besoins de sous-ensembles et de composants pour faire des réparations.

3. Un système d’information sur les stocks qui permet de connaı̂tre l’état


exact du stock de chaque composant en début de chaque période. Les stocks
de fin de période 15, notés SF15 , sont donnés au tableau 5.3.

4. Un fichier des livraisons attendues : c’est-à-dire donnant le nombre de


pièces résultant de décisions de mise en production du passé qui n’ont pas
Section 5.2. La planification des besoins en composants 75

Période 16 17 18 19 20 21 22 23 24
Demande T 27 7 11 6 15 8 11 12 7
Demande T 28 10 9 4 10 7 14 8 8
Demande T 29 4 8 3 5 12 2 8 7
Demande E1001 0 1 2 3 0 2 1 4 0
Demande E1004 0 0 1 4 0 5 2 2 0
Demande E1010 0 0 0 0 0 0 0 0 0
Demande E1020 0 0 0 0 0 0 0 0 0
Demande E2010 0 0 2 1 4 0 1 2 3
Demande E2040 0 2 0 2 1 4 1 2 3
Demande E3047 0 0 1 1 2 0 1 0 2
Demande E3052 0 2 0 2 3 1 1 2 1

Tableau 5.2: Plan directeur de production.

Élément SF15 LA16 LA17


T27 0 0 0
T28 0 0 0
T29 0 0 0
E1001 17 0 30
E1004 4 0 11
E1010 0 0 0
E1020 0 0 0
E2010 10 20 0
E2040 1 0 17
E3047 15 0 0
E3052 0 15 0

Tableau 5.3: Stock initiaux et livraisons attendues.


76 Chapitre 5. La planification de la production

encore été livrées. Les livraisons attendues de début de période t, notées


LAt , sont données au tableau 5.3.

5. Un fichier des délais d’obtention : le délai d’obtention étant la somme


des temps opératoire, de lancement de production et d’attente entre deux
productions. Les délais d’obtention sont donnés au tableau 5.4 où sont
également indiqués les temps opératoires unitaires (c’est-à-dire le temps
d’assemblage ou d’usinage d’une unité du composant).

Élément Délai d’obtention Temps opératoire


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élais d’obtention et temps opératoires.

6. Fichier des capacités des centres de production pour chaque période de


l’horizon de planification. Celui-ci est donné au tableau 5.5.

Période 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és de production.

7. Existence de règles de priorité en cas de surcharge. Ici, on va utiliser


comme règle 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ées de coûts de fabrication qui se


réduisent ici à un coût de matière et un coût de main d’œuvre. Le coût de
la matière première de chaque composant est donné au tableau 5.6. Il faut
comprendre ces données de la manière suivante : il s’agit de la somme du
coût de matière ajoutée à l’étape d’assemblage du produit et du coût des
composants (le calcul a déjà été fait). Le coût horaire de la main d’œuvre

Élément Coût de matière


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ût de la matière et des composants.

dépend des ateliers. Ces coûts sont donnés au tableau 5.7. Remarquez que
E1001 et E1004, d’une part, et E1010 et E1020, d’autre part, sont assemblés
dans deux ateliers séparés.

Période coût 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ût horaire de l’atelier.

La logique de calcul de la MRP consiste à l’utilisation en cascade

• de la détermination des besoins nets d’un composant;


• de la manière de couvrir ces besoins.
78 Chapitre 5. La planification de la production

5.3 Détermination des besoins nets d’un composant

Illustrons ceci sur l’exemple du composant de niveau un E1001. Pour ce compo-


sant, sa demande émane des demandes de T27 et T28 (voir nomenclature 5.1).
Au niveau 0, les lancements programmés sont déterminés conformément au
plan directeur de production du tableau 5.2. Le délai d’assemblage est d’une
semaine pour les trois modèles (voir tableau 5.4). Au niveau zéro, il n’y a pas de
stock initial ni de livraisons attendues (voir tableau 5.3). On fait donc du juste-
à-temps, c’est-à-dire que l’on met en production exactement la demande. Ceci
conduit aux lancements de productions de niveau zéro 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 4 8 3 5 12 2 8 7

Tableau 5.8: Lancements de production de niveau zéro.

On peut en déduire les besoins bruts du composant E1001 puisqu’il est utilisé
à 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èces détachés (donnés au
plan directeur de production 5.2). Les besoins bruts du composant E1001 sont
calculés au tableau 5.9.

Définition 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 à la production qu’il est nécessaire de


mettre en route, compte tenu du stock initial disponible pour cette référence et
des éventuelles livraisons attendues. Les livraisons attendues sont des quantités
résultant de précédents ordres de lancement de production mais qui n’ont pas
encore été livrées. Le stock initial en période 16 est le stock final de période 15.
Ces informations sont reprises au tableau 5.9.
En période 16, on vide le stock pour satisfaire les 17 de besoins bruts de la
période. En période 17, on livre 30 alors que les besoins ne sont que de 21. Il
restera donc 9 en stock. A ces deux périodes, il n’y a donc pas de besoins nets.
Par contre à la période suivante, la période 18, le besoin brut est de 12, on ne livre
rien et le stock disponible est de 9. Il manque 3 unités qui constitue donc le besoin
Section 5.3. Détermination des besoins nets d’un composant 79

E1001 15 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
Stock final 17 0 9 0 0 0 0 0 0 0
Besoins nets 0 0 3 28 15 27 21 19 -

Tableau 5.9: Besoins nets en composant E1001.

net de cette période. A partir de la période 19, comme le stock est vide et qu’il n’y
a plus de livraisons, les besoins nets correspondent au besoins bruts.
Formalisons mathématiquement la détermination des besoins nets. Deux cas
sont possibles :

Cas 1 : Le disponible (somme du stock de fin de période précédente et des livrai-


sons de début de période) est suffisant pour couvrir les besoins bruts. Dans
ce cas, le besoin net, noté BNt , est nul et le stock final de période t, noté SFt ,
se calcule comme le stock en fin de période précédente, accru des livraisons
attendues de période t, notées LAt , et diminué de la demande de la période
(les besoins bruts, notés BBt ) :

BNt = 0
Si SFt−1 + LAt ≥ BBt , alors
SFt = SFt−1 + LAt − BBt
Ce cas est illustré par les périodes 16 et 17 pour le composant E1001.
Cas 2 : Le disponible (somme du stock de fin de période précédente et des livrai-
sons de début de période) est in suffisant pour couvrir les besoins bruts.
Dans ce cas, on a des besoins nets à couvrir par de nouveaux ordres de fa-
brication. Les besoins nets de la période t, notés BNt , se calculent comme
la différence entre les besoins bruts et le disponible (somme des livraisons
attendues et du niveau initial du stock de la période) :

BNt = BBt − LAt − SFt−1
Si BBt ≥ SFt−1 + LAt , alors
SFt = 0
Ce cas est illustré par les périodes 18 à 23 pour le composant E1001 (voir
tableau 5.9).
80 Chapitre 5. La planification de la production

5.3.1 Détermination de la couverture des besoins nets

En planification de la production, on suppose que les besoins nets sont connus


suffisamment à l’avance pour éviter toute rupture. La détermination de la quantité
à livrer pour satisfaire les besoins nets repose donc sur un arbitrage entre

• les coûts de lancement de production;


• les coûts 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éterminer les lancements de production, on a tenu compte du délai


d’obtention, supposé ici de 1 semaine. Remarquez que le lancement de 30 en
période 16 provient non pas d’une livraison programmée de période 17 mais bien
d’une livraison attendue de période 17.
Nous présentons à la section suivante d’autres techniques de détermination des
lancements de production.
Remarquez également qu’ici on a fait l’hypothèse, pour déterminer les lance-
ments de production, qu’il n’y avait pas de problèmes de capacité. Sans quoi, il
faut procéder à l’ajustement charge capacité avant de passer aux calculs du niveau
suivant. Nous verrons ce point dans la dernière section de ce chapitre.

5.3.2 Utilisation en cascade de la logique de calcul

Maintenant que cet échéancier de lancement de production est déterminé pour le


composant de niveau un E1001, il va être utilisé à un niveau supérieur pour
calculer l’échéancier des demandes brutes des composants de niveau supérieur.
Ainsi, le composant E1001 (par exemple, une boı̂te de vitesse) utilise le composant
de niveau un E2010 (un engrenage).
On applique la démarche de calcul que nous venons de voir en cascade :
Section 5.3. Détermination des besoins nets d’un composant 81

• à toutes les références de niveau 0 (produits finaux);

• puis à celles de niveau 1;

• puis à celles de niveau 2, . . . etc.

Illustrons ceci sur l’exemple. Au niveau 0, les lancements programmés (cfr


tableau 5.11) sont déterminés conformément au plan directeur de production.

T27, T28, T29 16 17 18 19 20 21 22 23 24


BBt de T27 - 7 11 6 15 8 11 12 7
LAt de T27 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
LAt de T28 0 0 0 0 0 0 0 0
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
LAt de T29 0 0 0 0 0 0 0 0
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és de niveau zéro.

Au niveau 1, les lancements du composant E1001, de délai de fabrication L=1,


sont déterminés conformément au tableau 5.12. Ce composant est utilisé à raison
d’une unité par produit T27 et d’une unité par produit T28.
Toujours au niveau 1, les lancements du composant E1004 (de délai de fabri-
cation L=2) sont déterminés conformément au tableau 5.13. Ce composant est
utilisé à raison d’une unité par produit T29.
82 Chapitre 5. La planification de la production

E1001 15 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
SFt 17 0 9 0 0 0 0 0 0
BNt 0 0 3 28 15 27 21 19
LPt 0 30 3 28 15 27 21 19 -

Tableau 5.12: Lancements en composant E1001.

E1004 15 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
SFt 4 0 3 0 0 0 0 0 0
BNt 0 0 1 9 12 7 10 9
LPt 11 1 9 12 7 10 9 - -

Tableau 5.13: Lancements en composant E1004.


Section 5.3. Détermination des besoins nets d’un composant 83

Au niveau 2, les lancements du composant E2010 (de délai de fabrication L=1)


sont déterminés conformément au tableau 5.14. Ce composant est utilisé à raison

E2010 15 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
SFt 10 0 0 0 0 0 0 0 -
BNt 0 3 30 16 31 21 20 -
LPt 20 3 30 16 31 21 20 - -

Tableau 5.14: Lancements en composant E2010.

d’une unité par composant de niveau 1 E1001.


Toujours au niveau 2, les lancements du composant E2040 (de délai de fabri-
cation L=2) sont déterminés conformément 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 -
LAt 0 17 0 0 0 0 0
SFt 1 0 6 0 0 0 0 0
BNt 6 9 11 13 -
LPt 17 6 9 11 13 - - -

Tableau 5.15: Lancements en composant E2040.

utilisé à raison d’une unité par composant de niveau un E1004.


Au niveau 3, les lancements du composant E3047 (de délai de fabrication L=1)
sont déterminés conformément au tableau 5.16. Ce composant est utilisé à raison
d’une unité par composant de niveau deux E2010 et de deux unités par composant
de niveau deux E2040.
84 Chapitre 5. La planification de la production

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 - -
LAt 0 0 0 0 0 0
SFt 15 0 0 0 0 0 0
BNt 0 48 39 58 - -
LPt 48 39 58 - - -

Tableau 5.16: Lancements en composant E3047.

Toujours au niveau 3, les lancements du composant E3052 (de délai de fabri-


cation L=1) sont déterminés conformément au tableau 5.17. Ce composant est
également utilisé à raison d’une unité par composant de niveau deux E2010 et de
deux unités 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 - -
LAt 15 0 0 0 0 0
SFt 0 0 0 0 0 0 0
BNt 0 50 38 59 - -
LPt 15 50 38 59 - - -

Tableau 5.17: Lancements en composant E3052.

Il faut maintenant voir si la capacité est suffisante à chaque niveau pour assem-
bler les véhicules. Il est à remarquer que l’on a intérêt à vérifier si cette capacité est
suffisante avant de passer au calcul du niveau supérieur. En effet, si on procède à 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ésentons quelques autres règles pour déterminer les lance-
ments de production.
Section 5.4. Autres règles de calcul des lancements de production 85

5.4 Autres règles de calcul des lancements de production

Jusqu’à présent, nous avons adopté la technique du lot par lot pour la détermination
des lancements de production. Autrement dit, on lance en production exactement
les besoins nets en décalant pour tenir compte du délai d’obtention. Ce cas est
illustré au tableau 5.18 pour l’exemple du composant E1001.

Période 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 économiques qui conduisent à


adopter des règles de gestion différentes :

• Règle de la quantité fixe. Parfois, pour des raisons techniques, on ne peut


produit qu’une quantité fixe (cuve entière). Dans ce cas, on la quantité
mise en œuvre est toujours la même. Supposons à titre d’exemple, une
quantité fixe de 30. Ce cas est illustré au tableau 5.19. On remarquera que
le nombre de mise en route de production est moins élevé mais que le niveau
de possession du stock augmente fortement.

Période 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 -
Stock fin de période 27 29 14 17 26 7

Tableau 5.19: Lancement de production par quantité fixe.

On peut également utiliser cette règle pour diminuer le nombre de mises en


route de production (raison économique et non technique). On déterminera,
dans ce cas, la quantité économique à mettre en œuvre par la formule de
Wilson.
86 Chapitre 5. La planification de la production

• Règle de la quantité multiple d’un entier. Ce cas se produit dans l’in-


dustrie 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é au tableau 5.20.

Période 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 -
SFt 7 9 4 7 6 7

Tableau 5.20: Lancement de production par multiples de 10.

• Règle de la quantité minimum. Ce cas se produit lorsqu’il y a un coût fixe


de mise en route de la production. Pour amortir ce coût fixe de lancement,
il faut produire au minimum 10. Mais on peut produire également 11, 12,
13 etc... Ce cas est illustré au tableau 5.21.

Période 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 -
SFt 7 0 0 0 0 0

Tableau 5.21: Lancement de production par minimum de 10.

5.5 Ajustement charge-capacité

Lorsque les lancements de production sont déterminés, on peut calculer les charges
résultantes pour les différents ateliers. Pour que ce plan de production soit réali-
sable, il faut que la charge résultante respecte les capacités de production. Si ce
n’est pas le cas, un ajustement “charge-capacité” est effectué.
Reprenons le même exemple. Au niveau 0, le tableau 5.22 reprend les lance-
ments de niveau 0.
Section 5.5. Ajustement charge-capacité 87

Période 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é 50 50 60 65 55 50 50 50
excès capacité 28,5 19,5 47 37,5 20 26,5 20 24,5

Tableau 5.22: Vérification de la charge au niveau zéro.

En multipliant ces lancements par les temps opératoires unitaires donnés au ta-
bleau 5.4, on obtient le nombre d’heures d’assemblage pour chacun des véhicules.
En les additionnant, on obtient la charge de l’atelier que l’on peut comparer avec
la capacité donnée au tableau 5.5. On constate ici qu’il n’y a aucun problème de
capacité au niveau 0.
Passons au niveau 1. Les lancements de production des sous-ensembles E1001
et E1004 assemblés dans le même atelier sont repris au tableau 5.23. En multipliant
ces lancements par les temps opératoires unitaires donnés 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é donnée au tableau 5.5. On constate ici qu’il y a un problème de
capacité en période 18. On reporte aux périodes précédentes en commençant par
utiliser l’excès de capacité de la période 17, le reste étant produit en période 16.
Il faut encore déterminer sur quel produit cet ajustement va porter. La règle
adoptée ici est de reporter les heures constituant le stock de valeur la plus faible.
Pour cela, calculons le coût de revient d’une unité de E1001 et d’une unité de
E1004. Au coût de la main d’œuvre d’assemblage, il faut ajouter le coût de la
matière première ajoutée à l’étape d’assemblage et le coût des composants :

cE1001 = 0, 5 × 70 + 58 = 93 euros,
cE1004 = 1 × 70 + 71 = 141 euros.

Il faut se garder de conclure hâtivement qu’il convient de stocker du E1001. En


88 Chapitre 5. La planification de la production

effet, comme son temps opératoire unitaire est d’une demi-heure, on en assemble
deux par heure tandis que pour le sous-ensemble E1004, son temps opératoire
unitaire étant d’une heure, on en assemble un par heure. On en déduit le coût 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éressant de stocker du E1004 bien qu’il ait un coût
de revient unitaire plus élevé ! Le temps opératoire unitaire étant d’une heure, les
2 heures déplacées correspondent à deux unités de E1004 avancées aux périodes
16 et 17. On obtient l’ajustement de niveau 1 illustré au tableau 5.23.

Période 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é 20 12 24 20 25 22 22 20
Excès de capacité 4 1,5 0 5,5 1,5 2,5 0 0
Excès 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é de niveau 1.

On procédera alors de manière semblable pour les niveaux supérieurs en partant


des lancements modifiés de niveau 1 donnés au tableau 5.23.
Section 5.6. Exercices 89

5.6 Exercices

5.1. Détermination des besoins nets. Une société fabrique deux produits finis
PF1 et PF2 qui se composent de sous-ensembles (S) et de pièces achetées (A).
Les nomenclatures des produits finis et des sous-ensembles sont présentées
ci-dessous.

 2 S1 
 2 S1
PF1 utilise  3 S2 , PF2 utilise ,
 4 A3
 4 A3 
2 A1 2 A2
S1 utilise , S2 utilise .
2 A3 2 A3

Les cycles de fabrication des sous-ensembles et des produits finis sont de


deux semaines. Le délai d’approvisionnement des produits achetés est
é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és au lot par lot. Les sous-ensembles doivent êtres fabriqués par
lot minimum (et non nécessairement multiple) de 100 unités (on peut lancer
100, 101, 102 etc...). Les commandes enregistrées pour les 16 semaines
à venir pour ces produits sont indiquées 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éterminez les besoins nets du composant A3.

5.2. Importation de systèmes Home Cinéma. Une société vend des ensembles
Home Cinéma composés d’un téléviseur plat, un lecteur DVD et un en-
semble acoustique. L’ensemble acoustique peut également être vendu seul.
La société dispose au 31 octobre d’un stock de 200 Home cinéma (incluant
l’ensemble acoustique) et de 600 ensembles acoustiques. La réception de
500 ensembles acoustiques est prévue pour le 1 décembre. L’importation de
l’ensemble Home Cinéma prend 1 mois et n’inclut pas l’ensemble acous-
tique. Celui-ci est à commander en sus et est ajouté à l’ensemble Home
90 Chapitre 5. La planification de la production

Cinéma juste avant sa livraison au client final. L’importation de l’ensemble


acoustique prend 2 mois. La valeur de l’ensemble Home Cinéma complet
est de 2500 euro, celle de l’ensemble acoustique est de 800 euro. Le tableau
suivant indique les prévisions de la demande :
Demande Novembre Décembre Janvier Février
Home Cinema 500 1200 900 400
Ensemble acoustique 200 400 300 200
Le coût de stockage mensuel est de 2 % de la valeur des marchandises.
(a) Calculez les besoins nets pour l’ensemble ”Home Cinéma”.
(b) Calculez les besoins nets pour l’ensemble acoustique.
(c) Planifiez les lancements de commande des ensembles Home Cinéma.
(d) Planifiez les lancements de commande des ensembles acoustiques sa-
chant que les commandes doivent être multiples de 500 unités.
(e) Calculez le coût de stockage par mois et par produit.
5.3. Détermination des besoins et lancements de production de niveau 2. A
partir de l’ajustement charge-capacité de niveau 1, déduire les besoins nets
et les lancements de production de niveau 2 à capacité infinie.
5.4. Ajustement charge-capacité de niveau 2. Vérifier si la charge résultante
n’excède pas la capacité de l’atelier. Si c’est le cas, faire l’ajustement.
5.5. Production de robes de mariées. Une petite entreprise de couture confec-
tionne des robes de mariées en série. L’unique atelier de l’entreprise réalise
la confection des robes à un coût horaire est de 100 euro. La fabrication
d’une robe nécessite 3 heures. Les tissus pour la robe coûtent 400 euro.
Le plan directeur de production indique une demande constante de 10 robes
par semaine pour les semaines 1 à 5. En début de semaine 1, l’entreprise
dispose d’un stock de 15 robes. Une production en sous-traitance (= livraison
attendue) de 5 robes est prévue en semaine 4.
(a) Établir le tableau des besoins nets et des lancements de production pour
les semaines 1 à 5 en supposant un délai d’obtention négligeable (on
peut produire pour satisfaire une demande de même période).
(b) La capacité de production étant de 30 les deux premières semaines et
21, les trois suivantes, procédez à l’ajustement charge-capacité.
(c) Calculez le coût de stockage total sur les 5 semaines pour les robes.
Le coût de stockage des articles en stock en fin de semaine est estimé
à 1% par semaine du coût de revient des articles.
Chapitre 6

Les techniques de juste à temps

6.1 Origine et principe du JAT

Comme le souligne Baglin et al [1], les techniques de juste à temps trouvent leur
origine dans les nouvelles exigences du marché :

• La variabilité de la demande : l’augmentation du nombre de modèles et la


diminution de la durée de vie des produits nécessitent une adaptation plus
rapide des produits.

• Le délai admissible par les clients est plus court : on ne peut donc plus
produire à la commande, c’est-à-dire lancer une commande spéciale avec
des délais longs.

• La concurrence internationale impose de produire une bonne qualité à un


prix très bas.

En conclusions, il faut produire à la demande du client, sans délai et en comprimant


au maximum le coût de fabrication. Il y a donc conflit entre la gestion en grande
série (qui permet de réduire les coûts de fabrication) et la gestion à la carte (qui est
beaucoup plus souple).
L’idée du JAT est de chercher à concilier les avantages de la grande série (flux
rapides et importants) avec ceux de la petite série (grande adaptabilité). La logique
fondamentale du JAT est la suivante :

Production = Demande.

Autrement dit, on produit la quantité strictement nécessaire aux besoins immédiats


du client. Le principe est appliqué de proche en proche jusqu’aux fournisseurs.
Ceci entraı̂ne la suppression des stocks intermédiaires : on parle de gestion en flux

91
92 Chapitre 6. Les techniques de juste à temps

tendus. La suppression des stocks apparaı̂t donc comme une conséquence de la


logique du JAT.
Ceci va à l’encontre des politiques traditionnelles d’organisation de la produc-
tion. Le mode d’organisation traditionnel a pour objectif essentiel la recherche
de la plus grande productivité du système. Ses conséquences sont :

1. Pour raison d’économie d’échelle, on a des unités de fabrication de grande


taille organisées en ateliers spécialisés. On a donc des flux importants et
discontinus entre ces unités nécessitant des stock intermédiaires.

2. Pour raison de coût, on met en place des capacités de production correspon-


dant à la demande moyenne qui sont saturées en permanence : la variabilité
de la demande nécessite donc des stocks de produits finis.

3. On lance de grandes séries pour amortir le coût de lancement. Ce qui entraı̂ne


aussi des stocks importants.

4. Pour diminuer le coût de manutention, on transporte en grande quantité


(camions, containers complets). Ce qui occasionne également des stocks
élevés de matières qui ne sont pas immédiatement consommées.

5. Pour découpler les problèmes, on constitue des stocks intermédiaires.

6. A chaque stade du produit, on ajoute un délai d’obtention pour tenir compte


des arrêts fréquents (contrôle, maintenance,. . . ).

On en conclut que chacun à tendance à gonfler les stocks. Le JAT devant ce constat,
plutôt que d’essayer de gérer l’ingérable 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ù l’on personnalise le produit, avec des stocks
d’approvisionnement pour les pièces standards.

2. Les flux de production peuvent être tirés non par des commandes clients
mais par le plan directeur de production.

3. Le JAT nécessite tout de même l’établissement d’un plan directeur de pro-


duction et le calcul des besoins.
Section 6.2. Les deux approches du JAT 93

6.2 Les deux approches du JAT

Le JAT a donc un double objectif :

• augmenter la réactivité du système logistique : diminuer le délai, diversifier


la production,. . .

• diminuer le coût global de production : en éliminant les gaspillages inutiles.

6.2.1 Augmenter la réactivité du système logistique

Le but est ici de pouvoir répondre rapidement aux variations quantitative et qua-
litative de la demande. Le moyen utilisé est le suivant : pour raccourcir le cycle
de fabrication, on réduit les stocks.

• Pour réduire les stocks de matière première, les fournisseurs doivent livrer
plus souvent.

• Pour réduire les stocks d’en-cours de production, on doit réduire le temps


entre ateliers.

• Pour réduire les stocks de produits finis, on doit pouvoir changer souvent de
fabrication.

Remarquez que, pour réduire les stocks, il faut s’attaquer à leur cause : les pannes
machines, les temps de réglage longs, etc. . .

6.2.2 La rationalisation de la production

Le but est ici d’améliorer la performance globale en é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érations suivantes sont non
productives : déplacer, stocker, grouper, contrôler,. . . Pour pouvoir diminuer
ces opérations improductives, il faut s’attaquer à leurs causes : les défauts 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ère sans encombre, dans l’approche traditionnelle : on augmente le niveau
de l’eau et on passe au dessus des é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éliore la productivité globale du système
et on améliore la qualité des produits.
94 Chapitre 6. Les techniques de juste à temps

6.3 Les facteurs clés du JAT

La réussite du passage d’une organisation classique à une organisation JAT


nécessite des méthodes de gestion très réactives ainsi que la maı̂trise des aléas.

6.3.1 Recherche d’un plus grande réactivité

On atteindra une plus grande réactivité en augmentant la flexibilité de la produc-


tion. On peut définir la flexibilité comme la capacité du système de production à
s’adapter en permanence à la demande. On distingue deux types de flexibilité :

• La flexibilité quantitative est la capacité de faire face à des pointes de


demande :

– il faut surdimensionner la capacité, par exemple, en gardant les an-


ciennes machines lors d’un renouvellement.
– il faut faire appel à la flexibilité de la main d’œuvre : appel aux tem-
poraires, à la sous-traitance, aux heures supplémentaires,. . .

• La flexibilité qualitative est la capacité de traiter une grande variété de


produits :

– il faut pouvoir passer rapidement d’un produit à l’autre : on utilisera


des machines à commandes numériques.
– la polyvalence du personnel est également souhaitable.

6.3.2 Maı̂trise des aléas

Il faut ici se prémunir contre les causes des stocks que sont les pièces reçues
défectueuses, les pannes machine, ainsi les retards de livraison. On visera ici le
zéro défaut pour les pièces fabriquées. En effet, en l’absence de stock, le défaut
d’une pièce livrée interrompt la chaı̂ne de montage. Le zéro défaut sera recherché
par la prévention plutôt que par le contrôle à posteriori.
Il faut également assurer la fiabilité des équipements. En effet, l’arrêt d’une
machine entraı̂ne l’arrêt de toutes les machines en aval faute d’approvisionnement.
De même pour les machines en amont qui, autrement, constitueront des stocks. La
fiabilité est obtenue par des procédures de maintenance préventive.
Enfin, il existe relation plus étroite entre le client et le fournisseur car le
fournisseur d’une usine JAT est généralement plus conscient des conséquences de
l’envoi d’une pièce défectueuse pour le client.
Section 6.4. La méthode Kanban 95

6.4 La méthode Kanban

L’idée de la méthode est que la production soit tirée 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é Kanban (étiquette)
donnant :

• la description de la pièce et de l’opération à effectuer;

• le lieu d’origine et de destination de la pièce;

• la quantité par conteneur.

Cette technique utilise en effet des conteneurs standards pour la circulation entre
les postes.
L’étiquette est donc un ordre de fabrication des pièces qui

• descend le flux de pièces (lors de la fabrication);

• remonte ce flux une fois les pièces consommées.

Le rythme de fabrication est donc égal à la vitesse de circulation des étiquettes


qui est, elle-même, déterminée par le rythme de consommation des pièces. Par
exemple, si la consommation vient à se tarir, les étiquettes ne remontent plus et la
fabrication s’arrête.
Pour un bon fonctionnement du système, il faut une capacité suffisante des
postes amont pour répondre à la demande : ceci nécessite donc en général de
prévoir une surcapacité.

6.4.1 Système Kanban à une boucle

Le fonctionnement du système Kanban à une boucle est le suivant (cfr figure 6.1) :

• L’étiquette est apposée sur le conteneur de pièces qui viennent d’être fa-
briquées en amont (a);

• Elle accompagne le conteneur au poste suivant et reste sur le conteneur en


attente (b);

• Au moment où le conteneur est mis en fabrication sur le poste aval, le Kanban
est libéré et retourne au poste amont (c);
96 Chapitre 6. Les techniques de juste à temps

(a) (b)
POSTE Transport POSTE
AMONT AVAL
entre postes
(d)
(c)

Conteneur avec étiquette Etiquette libre

Figure 6.1: Système Kanban à une boucle.

• Il entre dans le planning du poste amont (d) d’où il sort au moment d’une
nouvelle fabrication.

On peut faire les remarques suivantes sur le fonctionnement du système kan-


ban à une boucle :

1. Tout conteneur rempli possède obligatoirement une étiquette (c’est-à-dire


son ordre de fabrication).

2. Une étiquette libre (c’est-à-dire non attachée à un conteneur) représente un


ordre de fabrication pour une quantité fixe de pièces sur un poste de travail
déterminé.

3. Le nombre d’étiquettes en circulation entre deux postes fixe les stocks d’en
cours de fabrication : en effet, le volume des en cours, c’est-à-dire le nombre
de conteneurs entre les postes, est inférieur ou égal au nombre d’étiquettes
en circulation.

4. En observant son planning d’étiquettes en attente, le responsable du poste


amont peut choisir ses priorités de fabrication d’après les besoins des agents
des différents postes aval qu’il fournit.

6.4.2 Détermination du nombre d’étiquettes

Un problème fondamental est la détermination du nombre d’étiquettes à mettre


en circulation. Ce nombre doit, en effet, résulter d’un compromis entre :

• un nombre pas trop élevé : sinon on génère des stocks intermédiaires;

• un nombre pas trop faible : sinon le poste aval risque de tomber en rupture.
Section 6.4. La méthode Kanban 97

Les données du problème sont les suivantes :

• Cu , la consommation du poste aval en unités par minute;

• Qe , la taille économique des lots fabriqués en amont;

• k, la capacité d’un conteneur;

• Tr , le délai de réaction du système lorsque le stock au poste aval atteint le


seuil de lancement d’une production. Ce délai de réaction comprend

– le retour du ticket d’alerte vers l’amont,


– l’attente au planning amont,
– le réglage de la machine amont,
– la production du premier conteneur,
– le transport du conteneur jusqu’au poste aval.

Le principe utilisé pour déterminer le nombre d’étiquettes est le suivant : le


nombre de conteneurs dans la boucle correspond au strict minimum pour que le
système fonctionne sans rupture pour le poste aval.
Illustrons ceci sur un exemple tiré de Baglin et al [1]. Soit D = 2000 pièces, la
demande moyenne du poste aval par journée de 8 heures de travail. On en déduit
une consommation en unités par minute de :
2000
Cu = = 4, 1667
8 × 60
Soit k = 100 pièces, la capacité d’un conteneur. Soit Tr , temps de réaction qui
résulte 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églage
de la machine de 10 minutes, d’un temps de production de 0,1 minute par pièce
(donc 10 minutes pour 100 pièces), 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éaction, la consommation du poste aval est de :

Tr Cu = 95 × 4, 1667 = 395, 83

Il en résultera qu’il faut au moins 4 étiquettes en permanence dans le système :


Tr Cu
Ne ≥ = 3, 96
k
98 Chapitre 6. Les techniques de juste à temps

Si l’on veut prendre une marge de sécurité de α = 10 % :

(1 + α)Tr Cu 1, 1 × 395, 83
Ne ≥ = = 4, 3541.
k 100
Il faudra donc au moins 5 étiquettes en permanence dans le système.
Supposons maintenant que, au poste amont, l’arbitrage entre le coût de lance-
ment et le coût de possession justifie une production par lot de taille économique
optimale :
Qe = 600 pièces,
c’est-à-dire à 6 conteneurs (Qe /k). Il faudra donc attendre d’avoir six étiquettes
accrochées 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écédents.
Le nombre de conteneurs dans la boucle correspond donc en général à la
somme :

• du stock correspondant au seuil d’alerte, c’est-à-dire au stock permettant de


faire fonctionner le poste aval durant Tr , augmenté d’une marge de sécurité
α:
(1 + α)Cu Tr

• du lot économique Qe produit par le poste amont :

Qe

le tout divisé par k, la capacité d’un conteneur :

(1 + α)Cu Tr + Qe (6.1)
Ne ≥
k

Le résultat est arrondi à l’entier supérieur. Ce qui donne ici :

(1 + α)Cu Tr + Qe 435 + 600


Ne ≥ = = 10, 35
k 100
Ce qui correspond à 11 conteneurs de 100 pièces.
Section 6.5. Exercices 99

6.5 Exercices

6.1. Planification juste-à-temps d’une brasserie. Une brasserie produit une


bière spéciale. La fermentation se termine dans des cuves de haute fermen-
tation. L’équipement d’embouteillage est constitué de deux lignes :

• une ligne d’embouteillage affectée aux bouteilles de 25 cl, qui remplit


1600 bouteilles par heure,
• une ligne d’embouteillage affectée aux bouteilles de 75 cl, qui remplit
800 bouteilles par heure.

La société aimerait utiliser un système de kanban afin de coordonner la


production entre le système amont (les cuves) et le système aval (l’embou-
teillage). Les containers de transport entre l’amont et l’aval ont une capacité
de 300 litres. Le délai de réaction du système est de 3 heures.

(a) Calculez le nombre d’étiquettes nécessaires pour assurer le fonction-


nement en continu de l’embouteillage sans tenir compte d’une taille
économique minimale à l’amont. Le gestionnaire désire appliquer un
coefficient de sécurité de 10 %.
(b) Sachant que les cuves de fermentation ont une capacité de 10.000
litres et sont vidées en entier avant d’être à nouveau remplies, on peut
considérer que la quantité économique du poste amont est de 10.000
litres. Quel est alors le nombre d’étiquettes à ajouter dans le système ?

6.2. Production de hamburgers en restauration rapide. Considérons la ges-


tion de la cuisson d’un type de hamburger dans un drive-in d’un point de
restauration rapide. La commande auprès du préposé à la cuisson se fait par
lot de 6 hamburgers. Lorsqu’un lot de 6 hamburgers est fourni au comptoir
de vente, il est précédé d’une plaque indiquant ”6 hamburgers”. Dès que
le préposé à 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érons une soirée de semaine (hors mercredi où la demande est plus
forte). On suppose, ce qui est une approximation, que la demande de 500
hamburgers est répartie uniformément sur la tranche 18 h - 22 h. Le préposé
à la cuisson fabrique, outre les hamburgers, trois autres produits qui peuvent
l’occuper, parfois de manière continue pendant 12 minutes avant qu’il ne
puisse entamer la cuisson des hamburgers. La cuisson d’un lot de 6 hambur-
gers dure 6 minutes (3 minutes pour une face, 3 minutes pour l’autre). En-
suite, l’emballage et le garnissage prend 0,5 minute par hamburger. L’envoi
du lot de 6 hamburgers vers le comptoir est instantané (par bande porteuse).
100 Chapitre 6. Les techniques de juste à temps

(a) Calculer la consommation en unités par minute faite par les clients du
drive-in pour ce hamburger.
(b) Calculer le temps de réaction du système, à savoir le temps qui s’écoule
entre le moment où le préposé à la vente entame un lot de 6 hamburgers
et celui où le lot revient avec la plaque. Donner le détail du calcul.
(c) Calculer la consommation de hamburgers des clients pendant le temps
de réaction du système.
(d) En tenant compte du fait que la production de hamburgers n’est lancée
que s’il y a une commande de 12 pièces, calculez le nombre minimum
de plaques à mettre dans le système pour éviter la rupture d’approvi-
sionnement du comptoir vente.
(e) Comment faire pour tenir compte dans votre calcul des hamburgers
jetés car ayant dépassé leur durée de conservation (1 heure) ? Ceci
représente environ 10 % de la demande.
6.3. Transport de brames. La ligne à chaud de Chertal produit des bobines
d’acier appelées coils. L’amont de la ligne à chaud est composé des hauts
fourneaux produisant de la fonte en fusion, d’un convertisseur suivi de la
coulée continue. Lors des diverses opérations amont, le métal liquide est
transformé en plaques, appelées brames. Chacune de ces pièces pèse 500
kg. Elles sont alors transportées par lots vers l’aval constitué du laminoir
du site. Ce trajet, chargement et déchargement inclus, dure 6 heures. Les
transporteurs de brames (des trains privés) ont une capacité maximale utile
de 50 tonnes. Le laminoir aval doit fonctionner en permanence à un rythme
de 110 kg à la minute. Le gestionnaire du site de Chertal désire utiliser un
système de Kanbans afin de minimiser les lots de brames en cours entre la
production amont (les hauts fourneaux, le convertisseur et la coulée) et le
système aval (le laminoir). Le temps de retour des transporteurs, munis des
étiquettes, est estimé à 120 minutes. On considère que l’on fait partir un
train uniquement s’il est chargé au maximum.
(a) En considérant un temps nul d’attente au planning amont et un temps
de production à l’amont négligeable, calculez le nombre d’étiquettes
nécessaires pour assurer le fonctionnement en continu du laminoir aval.
(b) Avec ce nombre d’étiquettes, quel est le coefficient de sécurité ?
(c) On considère maintenant que les hauts- fourneaux délivrent des lots
de 120 tonnes (= quantité économique). Quel est alors le nombre
d’étiquettes à mettre en service (avec un coefficient de sécurité nul) ?
(d) Quel est le rythme auquel les lots des hauts-fourneaux doivent être
délivrés pour que le système ne tombe pas en rupture ?
Partie III
Les décisions stratégiques

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âtiment,...), un problème crucial qui se pose est celui du calendrier d’exécution
des tâches. Le problème est de déterminer dans quel ordre doivent s’enchaı̂ner les
diverses tâches de manière à minimiser le temps total d’exécution du projet.
Prenons un exemple tiré de Giard [4].. On veut construire un nouveau bâtiment
de manière à pouvoir déménager au plus tôt. Certaines tâches (voir tableau 7.1)
ne peuvent s’exécuter qu’après que d’autres soient terminées. 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ées. D’autres tâches
peuvent s’exécuter simultanément. Par exemple, les travaux d’électricité et de
plomberie peuvent être menés de pair. On doit tenir compte, dans les problèmes

No tâche durée (jours) préalables


1 terrassement 5 -
2 fondations 4 1
3 colonnes porteuses 2 2
4 charpente toiture 2 3
5 couverture 3 4
6 maçonnerie 5 3
7 plomberie, électricité 3 2
8 coulage dalle béton 3 7
9 chauffage 4 8 et 6
10 plâtre 10 9 et 5
11 finitions 5 10
Tableau 7.1: Construction d’un bâtiment.
d’ordonnancement, de divers types de contraintes.

103
104 Chapitre 7. L’ordonnancement de projets

• Les contraintes de localisation temporelle expriment la localisation d’une


tâche dans le temps : une tâche ne peut commencer avant une telle date, ou
après une telle date (par exemple, en raison des conditions climatiques).

• Les contraintes de succession temporelle expriment les relations d’anté-


riorité entre les tâches : une tâche 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âches ne peuvent


avoir lieu en même temps sans que l’on puisse dire laquelle doit être effectuée
avant l’autre (par exemple, une même grue est utilisée sur deux chantiers).

Le problème d’ordonnancement avec des contraintes de localisation temporelle


et de succession temporelle seulement est appelé problème central d’ordonnan-
cement. Il s’agit de déterminer le calendrier de début de chacune des tâches de
manière à terminer le chantier au plus vite en respectant les contraintes temporelles.
Nous allons voir que ce problème utilise la notion de graphe, aussi bien pour
sa formulation que pour sa résolution. Il existe deux méthodes de résolution pour
ce problème, à savoir :

• la méthode du potentiel développée en France en 1957 et qui associe à


chaque tâche un nœud du réseau, tandis que les relations d’antériorité sont
représentées par des arcs entre les tâches (voir figure 7.1);

Tâche i i<j Tâche j


di
i j

Figure 7.1: Graphe de la méthode des potentiels.

• La méthode PERT (pour Program Evaluation Review Technique) s’est dé-


veloppée, parallèlement à la méthode du potentiel, aux États-Unis en 1958
pour la planification de la construction des sous-marins Polaris. Elle se
distingue de la méthode du potentiel par le fait que les tâches ne sont plus
associées aux nœuds mais bien aux arcs du réseau (voir figure 7.2).
Tâche i Tâche j
i <j
i, di j, dj

Figure 7.2: Graphe de la méthode des potentiels.


Section 7.2. Formulation du problème 105

7.2 Formulation du problème

Fixons-nous les notations suivantes. Nous avons n tâches à exécuter, indicées


i = 1, . . .n. Utilisons également la notation di pour désigner la durée d’exécution
de la tâche i (qui est ici une donnée). Désignons par t0 le temps de début d’exécution
du chantier, supposé également connu.
Les variables du problème sont les suivantes : ti note le temps de début
d’exécution de la tâche 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éalisation du chantier, autrement dit :

min z = tf − t0

qui consistera à minimiser tf si on se fixe initialement t0 = 0.


Formulons maintenant les contraintes du problème central d’ordonnancement.
Elles sont de trois types :

• Les contraintes de localisation temporelle expriment que la tâche i ne peut


commencer avant le début de chantier :

ti ≥ t0 , ∀i sans prédécesseur (7.1)

• Les contraintes de succession temporelle expriment que la tâche j ne peut


débuter avant que toute tâche i préalable à j ne soit finie :

ti + di ≤ tj , ∀ tâche i antérieure à la tâche j (7.2)

• Les contraintes de fin de chantier expriment que toute tâche i doit être finie
avant la fin de chantier :

ti + di ≤ tf , ∀i sans successeur (7.3)

Remarquez que vu la présence des contraintes de succession temporelle (7.2),


il suffit d’écrire (7.1) pour toute tâche n’ayant pas de prédécesseur et (7.3) pout
toute tâche n’ayant pas de successeur.

7.3 Représentation graphique du problème

On associe donc au problème central d’ordonnancement un graphe dont les som-


mets représentent les diverses tâches du problème. On ajoute un nœud 0 qui
106 Chapitre 7. L’ordonnancement de projets

correspond à la date de début de chantier et un nœud f = n + 1 qui correspond


à la fin de chantier. Les arcs du réseau représentent les diverses contraintes qui
peuvent toutes se mettre sous la forme suivante

ti + di ≤ tj

en définissant d0 = 0. Le problème central d’ordonnancement se formule donc


ainsi :
min tf (−t0 )
(7.4)
s.c.q. ti + di ≤ tj , ∀(i, j) ∈ A
où A note l’ensemble des arcs du réseau.
2 2
3 4 5
4 2 3
0 5 10 5
0 1 2 6 10 11 12
5
4
4
3 3
7 8 9

Figure 7.3: graphe associé.

Reprenons l’exemple. On peut construire systématiquement le graphe associé


au problème d’ordonnancement de la manière suivante (voir figure 7.3) :

1. On relie d’abord toutes les tâches qui peuvent être effectuées sans préalable
au nœud 0, début de chantier par un arc de longueur nulle. Dans l’exemple,
seule la tâche 1 est dans ce cas. Remarquez qu’il s’agit de la représentation
des contraintes (7.1).

2. Ensuite, on prend une tâche déjà dans le graphe et on examine si elle précède
d’autres. Par exemple, la tâche 1 doit précéder la tâche 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ême pour représenter toutes les contraintes de type (7.2).

3. Enfin, quand toutes les tâches sont dans le graphe, pour les seules tâches qui
ne sont suivies d’aucune autre, on les relie au nœud n + 1, fin de chantier,
avec un arc de longueur égale à la durée de la tâche. Ici, seule la tâche finition
est dans ce cas, et il faut que cette tâche soit finie pour la fin du chantier. Il
s’agit ici de représenter les contraintes du type (7.3).
Section 7.3. Représentation graphique du problème 107

Disons un mot de la représentation des trois autres types de contraintes que


l’on peut rencontrer dans les problèmes d’ordonnancement de projets :

1. Contraintes de localisation temporelle du type min. Supposons d’abord


que la tâche 3 ne puisse commencer avant 10 :

10 ≤ t3 ⇔ t0 + 10 ≤ t3 .

Ceci se représente 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âche 5 doive être commencée avant 40 :

t5 ≤ t0 + 40 ⇔ t5 − 40 ≤ t0 .

Ceci se représente en joignant les nœuds 5 et 0 par un arc de “longueur” -40.

3. Contrainte du type écart maximum. Enfin, supposons que la tâche 9 doive


commencer au plus tard 5 jours après le début de la tâche 8 :

t9 ≤ t8 + 5 ⇔ t9 − 5 ≤ t8 .

Ceci se représente en joignant les nœuds 9 et 8 par une arc de “longueur” -5.

-40

10 2 2
3 4 5
4 2 3
0 5 10 5
0 1 2 6 10 11 12
5
4
4
3 3
7 8 9

-5

Figure 7.4: Trois autres types de contraintes.

Avant de voir l’algorithme qui permet de résoudre le problème d’ordonnan-


cement, nous allons dire un mot des conditions sous lesquelles ce problème est
réalisable. En effet, les contraintes temporelles peuvent venir de divers services et
être incompatibles entres elles.
108 Chapitre 7. L’ordonnancement de projets

7.4 Existence d’une solution

Supposons que nous ayons la situation suivante.


Tâche Durée préalable
1 d1 3
2 d2 1
3 d3 2
Cette situation est représentée à la figure 7.5.

2
d1 d2

d3
1 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ême sens) dont la somme des longueurs des arcs est positive. Écrivons 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ésultat suivant.
Lemme 7.1 Les contraintes temporelles sont compatibles entre elles si et seu-
lement si le graphe associé 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égative ne pose pas de
problème. Par exemple, à la figure 7.4, la tâche 8 de longueur 3 doit être finie avant
que ne commence la tâche 9 et la tâche 9 doit commencer endéans les 5 jours de
début de la tâche 8 :
t8 + 3 ≤ t9
t9 − 5 ≤ t8
Ceci se représente, comme vu ci-dessus, par une flèche de 8 vers 9 de longueur 3
et une flèche retour de longueur -5. Ceci ne pose pas de problème, la somme des
“longueurs” étant négative.
Section 7.5. Calcul de l’ordonnancement au plus tôt 109

7.5 Calcul de l’ordonnancement au plus tôt

Nous allons maintenant voir un algorithme de calcul de l’ordonnancement au plus


tôt. L’ordonnancement au plus tôt détermine les dates de début au plus tôt des
différentes tâches, notées ti , en partant du nœud de début de chantier.
Illustrons les choses sur l’exemple. La tâche 1 peut commencer au plus tôt en
0 puisqu’elle est reliée au au nœud 0, début de chantier, par un arc de longueur
nulle. La tâche 2 peut commencer dès la fin de la tâche 1, c’est-à-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édécesseur (8 et 6), on
détermine la date au plus tôt par un maximum :

t9 = max {t6 + d6 , t8 + d8 } = 16.

Il faut, en effet, que les deux tâches précédentes soient finies avant de pouvoir
débuter la tâche 9. On arrive ainsi à déterminer la durée totale minimum qui est
ici de 35 jours.
L’ordonnancement au plus tôt est illustré à la figure 7.6 où le temps de début
au plus tôt est indiqué au dessus des nœuds.

9 11 13
3 4 5
2 2
0 0 5 2 3 20 30 35
4 11
0 1 2 6 10 11 12
0 5 10 5
4 5
9 12 16 4
7 8 9
3 3

Figure 7.6: Ordonnancement au plus tôt.

7.6 Ordonnancement au plus tard

Certaines tâches sont telles que si on retarde leur date de début, cela aura des
répercussions sur la date de fin de chantier. Par exemple, si on retarde la date
de début de la tâche 11 (finition), cela va directement retarder la date de fin de
110 Chapitre 7. L’ordonnancement de projets

chantier. De même, si on retarde la tâche 10 (plâtre), cela va retarder la date de


début de la tâche 11 (finition) qui elle-même retarde la date de fin de chantier.
Par contre, si on retarde le début de la tâche 5 (couverture), cela n’aura pas de
répercussion, car ce n’est pas à partir de ce nœud que son successeur (10) a été
marqué mais bien à partir du nœud 9. On voit donc que l’on peut retarder la date
de début de la tâche 5 sans conséquence sur la date de fin de chantier jusqu’à un
certain point. En effet, t5 = 13, t10 = 20, et d5 = 3. Autrement dit, la date de
début de la tâche 5 peut être retardée jusqu’à la valeur :
t10 − d5 = 20 − 3 = 17
sans retarder la date de début de la tâche 10. On dit que 17 est la date de début au
plus tard de la tâche 5. C’est-à-dire que la tâche 5 peut être commencée à cette
date au plus tard sans allonger la durée totale minimale des travaux.
On notera une date de début au plus tard par ti . On peut calculer l’ordonnan-
cement au plus tard de la manière suivante (voir figure 7.7). Partant du nœud fin,
pour lequel la date de début au plus tard coı̈ncide avec la date de début au plus tôt
t12 = t12 = 35,
on retranche à la date au plus tard la durée de la dernière tâche. On détermine ainsi
la date de début au plus tard de la tâche 11 :
t11 = t12 − d11 = 35 − 5 = 30.
On marque ensuite à rebours les nœuds 10, 5, ...
9 11 13
2 2
3 4 5
4 3
9 15 17 20
0 0 5 2 30 35
0 5 11 10 5
0 1 2 6 10 11 12
5 4 11 5
0 0 20 30 35
9 12 16 4
3 3
7 8 9
10 13 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és. Prenons, à 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 111

7.7 Chemin critique et calcul des marges

Définition 7.1 On définit la marge d’une tâche comme la différence entre son
temps de début au plus tard et au plus tôt :

mi = ti − ti (7.5)

On peut interpréter la marge comme le nombre maximum de jours de retard dans


l’exécution de la tâche sans conséquence sur la date de fin de projet.
On voit directement que l’on a deux sortes de tâches.

• Les tâches critiques qui ont une marge nulle. Ce sont donc les tâches à
surveiller en premier si l’on veut respecter le délai minimum de réalisation
du projet. En effet, pour ces tâches, tout retard sur leur date de début se
répercutera sur la date de fin de chantier.

• Les tâches non critiques qui ont une marge strictement positive que l’on
peut déterminer par la formule (7.5). Les marges sont indiquées à la figure
7.8 entourées d’un carré.

9 0 11 4 13 4
2 2
3 4 5
4 9 15 17 3
0 0 0 5 2 0 30 0 35
0 5 11 10 5
20
0 1 2 0 6 10 11 12
0 5 4 11 0 5 20 30 35
0
9 12 16 4
3 3
7 8 9
10 1 13 1 16 0

Figure 7.8: Calcul des marges.

Nous allons maintenant voir que si le projet dure 35 jours, c’est à cause d’une
suite de tâches formant ce que l’on appelle un chemin critique de 35 jours.

Définition 7.2 On appelle chemin critique tout chemin liant le nœud début de
projet au nœud fin de projet tel que l’en faisant la somme des durées des tâches le
long de ce chemin critique on obtienne la durée minimale du projet.

Le chemin critique peut être déterminé à rebours, partant du nœud n + 1, en


retenant les sommets qui ont permis de déterminer les dates au plus tôt à 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é des tâches 1, 2, 3, 6, 9, 10 et 11.
112 Chapitre 7. L’ordonnancement de projets

Remarquons, d’une part, qu’il peut y avoir plusieurs chemins critiques. Re-
marquons, d’autre part, qu’il ne suffit pas de prendre une suite de tâche critiques
liant le nœud début 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ôt du projet correspondent à la somme
des durées de tâches le long de ce chemin. Illustrons ces deux phénomènes sur
l’exemple de la figure 7.9.

0 4
3
A C 5
0 15 18
0 1 4 3
5 F Fin
Déb 4
0
0
0 4 9 6 15 18
4 5
B D E
0 4 9

Figure 7.9: Cas de plusieurs chemins critiques.

Les tâches 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 à remarquer que le chemin suivant P3 = (B, C, F ) bien que constitué uni-
quement de tâches critiques mais n’est pas critique.
Si l’on veut réduire la durée du projet,

Principe 1 : il ne sert à rien de réduire la durée de tâches non critiques. Cela ne


ferait qu’augmenter leur marge.

Principe 2 : il faudra réduire simultanément la durée de tous les chemins critiques.

Il est aussi à remarquer que, dès que l’on a réduit la durée du chemin critique,
d’autres chemins critiques peuvent apparaı̂tre. Il faut donc procéder pas à pas.

7.8 L’ordonnancement par la méthode PERT

Dans la méthode PERT, chaque tâche est associée à un arc du graphe. La longueur
de l’arc correspondant à la durée de la tâche en question. Les sommets sont utilisés
pour traduire les relations de succession temporelle. Ainsi, si la tâche j doit suivre
la tâche i, l’extrémité terminale de l’arc représentant la tâche i coı̈ncidera avec
l’extrémité initiale de l’arc représentant la tâche j.
Section 7.8. L’ordonnancement par la méthode PERT 113

Ceci permet de tracer le graphe pour l’exemple déjà considéré pour la méthode
du potentiel. Ceci est fait à la figure 7.10 où l’on a noté, à côté de chaque arc,
d’une part, le numéro correspondant à la tâche, d’autre part, la durée de la tâche.

4, 2

3, 2 5, 3
1, 5 2, 4 10, 10 11, 5
6, 5

7, 3
9, 4

8, 3

Figure 7.10: Graphe associé pour la méthode PERT.

Sur cet exemple, la construction du graphe PERT ne pose aucune difficulté.


Parfois, elle nécessite parfois l’ajout d’un arc fictif qui ne correspond à aucune
tâche. Illustrons ce problème sur l’exemple suivant :

Tâche préalable
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émentaire qui dit que la tâche 4 doit précéder la tâche 2. Pour résoudre
la difficulté, il faut ajouter un arc fictif de longueur nulle entre l’extrémité de la
tâche 1 et le début de la tâche 3. Ceci est illustré à la figure 7.12.
L’ordonnancement se calcule ainsi. D’abord, on détermine les dates de début
au plus tôt des nœuds, que nous noterons ti . Ceci est fait par marquage des nœuds
à partir de l’origine comme dans la méthode du potentiel. On additionne au temps
du nœud précédent le temps de la tâche. En cas de plusieurs prédécesseurs, on
prend le maximum. Ensuite, on détermine les dates au plus tard des nœuds,
114 Chapitre 7. L’ordonnancement de projets

1 2

4 3

Figure 7.12: Arc fictif.

notées t¯i , par marquage à partir de la fin, en soustrayant au temps du nœud suivant
le temps de la tâche. En cas de plusieurs successeurs, on prend le minimum.

11 4, 2 13

4 17
3, 2 11 5, 3
0 4
0 5 9 20 30 35
1, 5 2, 4 6, 5 10, 10 11, 5
0 0
0 9 0 0 35
0 5 7, 3 9, 4 20 30
1 16 0
12
8, 3

13 1 16

Figure 7.13: Ordonnancement par la méthode PERT.

Il est à souligner que ces dates au plus tard des nœuds ne fournissent pas les
dates de début au plus tard des tâches issues du nœud. Par exemple, la tâche 4
est issue d’un nœud où la date au plus tard est de 11 (comme la date au plus tôt)
pourtant cette tâche a une marge de 4 jours. Il faut donc poursuivre les calculs
pour avoir la date de début au plus tard des tâches.
On calcule la marge de la tâche (i, j) liant les nœuds i et j comme :

mij = tj − (ti + dij ) (7.6)

Autrement dit, la marge est la différence entre :

• la date de fin au plus tard de la tâche tj et

• sa date de fin au plus tôt ti + dij , qui, elle-même, se calcule comme sa date


de début au plus tôt augmentée de sa durée.
Section 7.9. La minimisation des coûts 115

On calcule alors les dates de début au plus tard des tâches en additionnant à la date
au plus tôt, la marge. Les résultats sont indiqués au tableau ci-dessous.

Tâche 1 2 3 4 5 6 7 8 9 10 11
Date au plus tôt 0 5 9 11 13 11 9 12 16 20 30
Marge 0 0 0 4 4 0 1 1 0 0 0
Date au plus tard 0 5 9 15 17 11 10 13 16 20 30

7.9 La minimisation des coûts

Jusqu’à présent, on a considéré la durée de chaque tâche comme donnée. Or la


durée d’une tâche particulière i peut varier en fonction, par exemple, de l’em-
bauche de personnel supplémentaire, de l’achat ou de la location de matériel
supplémentaire. On voit donc que l’on pourra, en général, réduire la durée de
chaque tâche moyennant un coût supplémentaire. Nous allons voir ici comment
arbitrer entre les deux critères : diminution de la durée d’exécution des tâches et
donc du chantier et, d’autre part, augmentation des coûts d’exécution des tâches.
Considérons la tâche i. Sa durée d’exécution di peut varier entre une durée
minimale (incompressible) di et une durée maximum di . Si l’on admet que le coût

ci

mi

di di di

Figure 7.14: Coût d’exécution de la tâche i.

varie linéairement en fonction de la durée, on obtient le graphique de la figure 7.14.


Notons par mi la pente. Pour une durée di comprise entre les bornes inférieure et
supérieure, le coût de la tâche i est alors calculé par l’équation suivante :

ci (di ) = ci (di ) + mi (di − di )


116 Chapitre 7. L’ordonnancement de projets

Si on répète la même opération pour chacune des tâches, l’objectif de la minimi-


sation du coût total d’exécution des tâches peut s’écrire:

n 
n
min z = [ci (di ) + mi (di − di )] = K + mi di
i=1 i=1

Le premier terme étant constant, il revient au même de minimiser le seul second


terme et on obtient l’objectif suivant :

n
min z  = mi di ,
i=1

les di étant, cette fois, des variables pour le problème.


On peut donc formuler le problème comme suit.

1. Choix des variables. Nous avons donc comme variables du problème :

ti = le temps de début de la tâche i;


di = la durée d’exécution de la tâche i;
tf = le temps de fin de chantier.

2. Expression de l’objectif. Il s’agit de minimiser le coût direct d’exécution


des tâches, qui dépend linéairement de leur durée :

n
min z = mi di
i=1

3. Expression des contraintes.

• Les contraintes de localisation temporelle s’expriment comme :

ti ≥ t0 , ∀i sans prédécesseur

• 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ée s’expriment comme :

di ≤ di ≤ di
Section 7.9. La minimisation des coûts 117

• On ajout une borne sur la date de fin de chantier, nommée λ :

tf ≤ λ

Le problème de minimisation des coûts d’exécution des tâches se formule donc


comme suit :

n
cD (λ) = min z  = mi di
i=1




 t0 ≤ ti pour toute tâche i sans préalable,





 ti + di ≤ tj pour toute tâche i précédent j,



s.c.q  ti + di ≤ tf pour toute tâche i sans successeur, P (λ)





 tf ≤λ (borne sur tf )





 d
i ≤ di ≤ di (bornes sur la durée)

La borne supérieure sur tf a du être ajoutée car il est clair, au vu de la forme des
fonctions de coût ci (di ) que sinon on aura tendance à prendre di = di pout toute
tâche et donc à augmenter au maximum la durée du chantier.
On peut alors résoudre ce problème en fonction du paramètre λ. En ajoutant
le terme constant que nous avions négligé, on obtient un graphique du genre de
celui représenté à la figure 7.15.

cD ( )

di = di , ∀i di = di , ∀i

Figure 7.15: Forme de la fonction de coût direct d’exécution des tâches

Ce graphique appelle plusieurs commentaires :


118 Chapitre 7. L’ordonnancement de projets

1. Tout d’abord, le paramètre λ doit être supérieur à une certaine valeur mi-
nimum λ qui correspond au temps d’exécution minimum lorsque toutes les
tâches sont à leur durée minimum di .

2. Ensuite, remarquons que la fonction c(λ) est convexe, décroissante et linéaire


par morceaux.

3. Enfin, à partir d’une certaine valeur λ de λ, on aura systématiquement


di = di et l’objectif devient constant. Cette valeur λ correspond au temps
d’exécution du projet lorsque toutes les tâches sont à leur durée maximum.

Comment va-t-on alors choisir le temps optimum ? A voir la forme de la courbe


cD (λ) à la figure 7.16, il vaudrait mieux prendre λ = λ, le temps maximum. Mais

cT ( )
cT ( )

cI ( )

cD ( )

Figure 7.16: Coûts totaux.

ceci ne tient compte que des coûts directs d’exécution des tâches.
Il existe aussi des coûts indirects liés à la durée du chantier : les frais d’as-
surances, les salaires de l’encadrement, les frais de location du matériel et les
pénalités par jour de retard. Tous ces frais sont évidemment croissants avec λ, la
durée du chantier. On note cI (λ) ces coûts indirects. Si on additionne les deux
courbes (coûts directs et coûts indirects), comme à la figure 7.16, on obtient la
courbe de coût total dont on peut déterminer le minimum :

cT (λ) = cD (λ) + cI (λ)

On a donc arbitré entre les deux objectifs de diminution des coûts et de diminution
du temps d’exécution.
Section 7.10. Exercices 119

7.10 Exercices

7.1. Lancement d’un nouveau produit. On met à l’étude le lancement d’un


nouveau produit. Ce lancement nécessite la réalisation des 9 tâches suivantes
repérées par les lettres A à I. Le tableau suivant donne leur durée et leurs
préalables éventuels :

tâche durée (semaines) préalables


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) Établissez le graphe de la méthode des potentiels, déterminer les dates


de début au plus tôt, au plus tard. Utilisez des couleurs différentes pour
les deux quantités et donnez la signification des couleurs utilisées.
(b) Donnez le(s) chemin(s) critique(s).
(c) On doit maintenant tenir compte en plus du fait que la tâche G ne
peut commencer avant la semaine 10. Cela modifie-t-il le temps de
réalisation du projet ? Si oui, de combien ? Cela modifie-t-il les
marges ? Si oui, de combien ? Cela modifie-t-il votre réponse à la
question b) ?
(d) On apprend maintenant que, en plus du c), la tâche D nécessitera deux
semaines supplémentaires. Cela modifie-t-il le temps de réalisation du
projet ? Si oui, de combien ?

7.2. Ordonnancement de projets. Un projet est constitué des tâches 0, 1, 2, 3 et


4. La tâche 0 n’a pas de prédécesseur et dure 2 semaines. La tâche 1 succède
directement à la tâche 0 et dure 5 semaines. La tâche 2 succède directement
à la tâche 1 mais ne peut pas commencer avant la 10ème semaine. Elle dure
5 semaines. La tâche 3 succède directement à la tâche 2 et dure 3 semaines.
La tâche 4 succède directement aux tâches 2 et 3 mais doit commencer au
plus tard 7 semaines après le début de la tâche 2. Elle dure 2 semaines.

(a) Dessinez le réseau représentant le projet, en associant les tâches aux


sommets (nœuds).
120 Chapitre 7. L’ordonnancement de projets

(b) Ce projet est-il réalisable ? Justifiez brièvement.


(c) Vous avez la possibilité d’allonger ou de réduire la durée des tâches
1 et 2 de une ou deux semaines, à un coût additionnel de 500 euro
la semaine. Et aussi d’allonger ou de réduire la durée des tâches 3
et 4 de une ou deux semaines, à un coût additionnel de 1000 euro la
semaine. Quelle solution proposez-vous afin de réaliser le projet à un
coût minimum ?
(d) Quelle est alors la durée totale du projet ?
(e) Quelle(s) activité(s) n’appartiennent pas au chemin critique ?
7.3. Planification d’un projet de télécommunications. La société PTV veut
moderniser son réseau de télédistribution de chaı̂nes privées. Le projet
s’articule selon les activités citées au tableau ci-dessous.
Activité Description Durée Antécédents
(mois)
A Etude de marché 5 -
B Développement du matériel 6 A
C Développement des logiciels 5 (*)
D Accréditation du matériel 3 B
E Mise en œuvre du nouveau réseau 10 C,D
F Arrêt de l’ancien réseau 2 (**)
G Fin du support pour l’ancien réseau 1 E, F
(*) : le développement des logiciels (C) peut commencer 3 mois après le
début du développement du matériel.
(**) : L’arrêt de l’ancien réseau peut avoir lieu 6 mois après le démarrage
de la mise en œuvre du nouveau réseau.
(a) Dessinez le réseau (méthode PERT), indiquez la date de début au plus
tôt, de début au plus tard et la marge pour chaque activité.
(b) Quelle est la durée minimale du projet ?
(c) Quelles sont les activités critiques ?
(d) Quel est le retard d’exécution que chaque activité peut prendre sans
allonger la durée minimale du projet ?
(e) L’administrateur désire réduire la durée du projet de 2 mois au moindre
coût. Les tâches suivantes peuvent être réduites de 2 mois au maximum,
sachant que le coût de réduction 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ût de votre solution ?
Section 7.10. Exercices 121

7.4. Construction d’une piscine. Une société a reçu la maı̂trise de la construc-


tion d’une piscine olympique sur un campus universitaire. Les durées des
différentes tâches, évaluées en jours sont reprises au tableau 7.2. Les travaux
débutent le premier avril. On suppose que chaque mois comporte 20 jours
ouvrables.

Code Tâche Antériorité Durée


A Excavation - 5
B Fondations A 2
C Pose canalisations B 4
D Essai en pression C,G 8
E Étanchéité D 9
F Mise en place de la station d’épuration A 6
G Mise en place du chauffage F 5
H Raccordement électricité 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évu le 15 juin ?


(b) Au cours de la pose des canalisations, on apprend que par suite d’in-
cidents techniques, cette opération durera 6 jours de plus que prévu.
Sans recommencer le diagramme, déterminez si cela influencera le
délai final.
(c) La direction du campus, inquiète quant au respect des délais, 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és citées au tableau ci-dessous.

Activité Durée (mois) Antécédents


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éthode PERT et déterminez sur ce graphe la


date de fin au plus tôt de la construction de la maison.
(b) Quelle est la durée minimale du projet ?
(c) Calculez les dates de début au plus tôt, les marges, les dates de début
au plus tard.
(d) Quel est le chemin critique ?
(e) Les tâches E et F nécessitent toutes deux la présence d’un bulldozer et la
société n’en possède qu’un seul. Indiquez comment on peut respecter
cette nouvelle contrainte en augmentant au minimum la durée du projet.
Quelle est alors la durée du projet ?
Chapitre 8

Conception d’un centre de production

8.1 Introduction

Les décisions d’implantation d’un centre de production incluent

1. la décision de localisation du centre qui dépend de :


• la localisation des clients;
• la disponibilité et le coût de la main d’œuvre;
• la disponibilité des matières premières;
• les aides nationales et locales à l’investissement;
• la volonté de pénétrer un marché local difficile;
• la qualité des hôpitaux, la qualité du cadre de vie,. . .
A titre d’exemple, on peut citer la localisation de la nouvelle usine TOYOTA
près de Valenciennes, qui est située au cœur de l’Europe et dans le pays
européen le plus protectionniste en faveur de ses marques nationales.
2. le choix de la capacité de production qui dépend :
• de la prévision de la demande à long terme;
• de la volonté de l’entreprise de dominer un marché;
• de la possibilité de répondre rapidement à 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ès de
Valenciennes.
3. la configuration du centre de production : il s’agit de déterminer comment
les différents équipements et postes de travail doivent être disposés. Nous
commencerons le chapitre en examinant ce point.

123
124 Chapitre 8. Conception d’un centre de production

8.2 Configuration d’un centre de production

Il s’agit donc ici de déterminer la manière de disposer les é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écialisés est utilisée lorsqu’il y a une grande


variété d’articles différents à produire. On peut alors regrouper dans un
atelier l’ensemble des machines assurant une fonction donnée. Par exemple,
dans un garage, l’atelier de peinture, l’atelier carrosserie,. . .

2. La configuration en terme de produit est utilisée 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étrole).

3. On parle de configuration à poste fixe lorsque l’opérateur doit se déplacer


entre deux opérations. On peut citer comme exemples :

• un client qui se déplace entre les différents rayons d’un super marché;
• un magasinier qui se déplace entre les différents rayonnages d’un ma-
gasin de stockage de carrelage.

8.2.1 Configuration en ateliers spécialisés

Illustrons cette configuration par l’exemple tiré de Mac Clain [13] d’une maternité
qui regroupe les différents services concernés sur un même étage d’un hôpital :

• accueil

• salle d’attente

• consultation prénatale

• échographie

• salle d’accouchement

Une question cruciale pour une bonne organisation de ce type de configuration


est la localisation relative de ces différents 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és 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épulsion entre deux services.

Une matrice de proximité peut être utilisée pour indiquer la proximité voulue
A : Absolument nécessaire
S : Spécialement important
I : Important
G : Généralement proche,
: sans importance
X : à éviter
La figure 8.1 illustre cette matrice dans le cas de la maternité. On peut également,

ACCUEIL
G
SALLE D'ATTENTE
I
CONSULTATIONS X
S
ECOGRAPHIE
A
SALLE ACCOUCHEMENT

Figure 8.1: Matrice de proximité.

plutôt que de noter la proximité, donner une matrice de flux entre les différents
services. On peut alors concevoir une localisation des différentes services qui
minimise la somme des flux entre services pondérée par la distance entre ces
services.
Supposons que l’on note l’intérêt d’être proche par la grille de poids suivante :
4 : Absolument nécessaire
3 : Spécialement important
2 : Important
1 : Généralement proche
0 : sans importance
-1 : à éviter
On peut alors définir la matrice de poids wik mesurant l’importance pour le
service i d’être proche du service k donnée au tableau 8.1. Remarquez que la
matrice est symétrique.
Les cinq services sont à placer à une des cinq places disponibles sur le plateau
de l’hôpital représenté à 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 également une
matrice symétrique de distances.
126 Chapitre 8. Conception d’un centre de production

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 4
i=5 −1 4

Tableau 8.1: Matrice de poids mesurant l’importance d’être proches.

j =2
j =1 j =3
d14

j =5 j =4

Figure 8.2: Disposition relative des locaux à affecter.

djl l=1 l=2 l=3 l=4 l=5


j=1 5 7 5 4
j=2 5 4 2 3
j=3 7 4 2 3
j=4 5 2 2 1
j=5 4 3 3 1

Tableau 8.2: Matrice des distances entre locaux.


Section 8.2. Configuration d’un centre de production 127

Formulation du problème de localisation

Nous allons maintenant formuler le problème comme un problème d’affectation


quadratique. On a donc 5 services à localiser à une des 5 places possibles. On
choisit ici comme variables :
xij = 1 si le service i est localisé en place j,
= 0 sinon.

Dans ce cas, l’objectif peut s’écrire de la manière suivante :



n 
n 
n 
n
min 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é.
Expliquons la forme de cette fonction objectif : on ne retrouvera dans cet
objectif que les termes où xij xkl = 1, c’est-à-dire où 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érée par l’importance d’une localisation proche des paires de services
(i, k), pour autant que xij et xkl soient égaux à un. Afin de minimiser ce produit,
on mettra donc comme coefficient des wik les plus élevés, les djl les plus faibles,
c’est-à-dire les plus proches l’un de l’autre ceux qui y ont le plus grand intérêt.
Les contraintes sont de deux types :

• ”Toute place j est occupée :”



n
xij = 1, ∀j = 1, . . .n
i=1

La contrainte indique que chaque place j est occupée par un seul service i.
• ”Tout service i est placé :”

n
xij = 1, ∀i = 1, . . .n
j=1

La contrainte indique que chaque service i est placé à une place j.

Il faut bien sûr également imposer le caractère entier des variables :


xij ∈ {0, 1}, ∀i, j.

Nous ne verrons pas, dans le cadre de ce cours, de méthode de résolution de ce


problème.
128 Chapitre 8. Conception d’un centre de production

8.2.2 Configuration en ligne de production

Lorsqu’un produit est fabriqué en grande quantité, on peut gagner en efficacité


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ème principal réside dans l’équilibrage de la chaı̂ne : il faut que les
différentes opérations prennent le même temps car la chaı̂ne tourne à la vitesse de
l’opérateur le plus lent. Une ligne d’assemblage est dite parfaitement équilibrée
si chaque poste de travail est occupé à 100 %.
Illustrons ceci sur l’exemple suivant tiré de Mac Clain [13]. Un appareil
électroménager est constitué de 11 composants, notés B1 à B11, de 3 sous-
ensembles notés SA1 à SA3. Le tableau 8.3 fournit les tâches, leurs durées et
leurs préalables. La somme des temps des différentes tâches est de 100 minutes.

Label Temps Objet Prédécesseurs


A 2 placer le chassis sur la chaı̂ne -
B 7 attacher B4 sur chassis A
C 5 attacher B2 sur B1 -
D 2 attacher B3 sur B1 -
E 15 tester SA1 C,D
F 7 attacher SA1 sur chassis A,E
G 6 attacher B6 à B5 -
H 4 attacher SA2 au chassis B,G
I 9 attacher B7 au chassis A
J 10 attacher B9 à B8 -
K 4 attacher B10 à B8 -
L 8 attacher B11 à B8 J,K
M 6 attacher SA3 au chassis A,L
N 15 tester l’appareil tous
Total 100

Tableau 8.3: Équilibrage d’une chaı̂ne.

On peut tracer un graphe de préséance qui n’est rien d’autre que le graphe
de la méthode du potentiel (sans nœud de départ ni d’arrivé). On a représenté ce
graphe à la figure 8.3 où chaque tâche est représentée par son label et sa durée.
La figure 8.3 présente également une affectation possible des tâches à cinq
Section 8.2. Configuration d’un centre de production 129

C,5
Poste 2
Poste 1 E,15
D,2 F,7

A,2 B,7 H,4


N,15
Poste 3
G,6 I,9
Poste 5

J,10
L,8 M,6
K,4
Poste 4

opérateur 1 opérateur 2 opérateur 3 opérateur 4 opérateur 5

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


16 min 22 min 19 min 22 min 21 min

Figure 8.3: Une affectation possible.


130 Chapitre 8. Conception d’un centre de production

opérateurs. Le temps total de montage pour ce choix est de :

5 opérateurs × 22 minutes par cycle = 110 homme-minutes.

Il y a donc un temps mort de 10 minutes, ce qui correspond à un pourcentage de


temps mort de :
10
= 9, 1%
110
Une mesure de la qualité de la solution est précisément ce rapport du temps
mort sur le temps total de montage. Ce rapport est appelé retard d’équilibre et se
calcule par la formule suivante :

nc − T
RE =
nc

avec n = nombre de postes de travail,


c = temps d’un cycle
T = somme des temps individuels.
Remarquons qu’ici on n’a pas atteint l’objectif d’un é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’équilibre parfait de la
chaı̂ne puisque les tâches ne sont pas divisibles à l’infini.

Résolution du problème d’équilibre de la chaı̂ne

Voyons maintenant comment résoudre le problème. Trouver l’affectation qui


minimise le retard d’équilibre est un problème en nombres entiers particulièrement
difficile à résoudre. Une heuristique qui permet de trouver rapidement une solution
(sans garantie qu’elle soit optimale) est la suivante. On se fixe une durée maximum
pour chaque poste de travail. Ici fixons nous une durée maximum de 19 minutes.
On va alors remplir ces postes de la manière suivante :

Pas1. Attribuer un score à chaque tâche et classer les tâches par score décroissant.
Ici, on utilise comme score 1 la duré de la tâche. On obtient :

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

Pas 2. Mettre à jour l’ensemble des tâches disponibles (c’est-à-dire les tâches dont
tous les prédécesseurs immédiats sont affectés). Au début, ce sont celles sans
prédécesseur :
S = {J, G, C, K, A, D}
Section 8.2. Configuration d’un centre de production 131

Pas 3. Affecter la tâche avec le score le plus élevé dans le premier poste où la
capacité et les contraintes de préséance ne sont pas violées :

J au poste 1.

Aller en au Pas 2.

On remplit alors progressivement le tableau suivant.

Poste 1 Poste 2 Poste 3 Poste 4 Poste 5 Poste 6 Poste 7


J,10 10 C,5 5 I,9 9 M,6 6 E,15 15 F,7 7 N ,15 15
G,6 16 K,4 9 B,7 16 H,4 10
A,2 18 L,8 17
D,2 19
18 19 16 10 15 7 15

Le détail des itérations est repris ci-dessous :

S = {J, G, C, K, A, D} : J en 1; S = {B, M, D} : B en 3;
S = {G, C, K, A, D} : G en 1; S = {M, H, D} : M en 4;
S = {C, K, A, D} : C en 2; S = {H, D} : H en 4;
S = {K, A, D} : K en 2; S = {D} : D en 2;
S = {L, A, D} : L en 2; S = {E} : E en 5;
S = {A, D} : A en 1; S = {F } : F en 6;
S = {I, B, M, D} : I en 3; S = {N } : N en 7

On peut alors calculer le retard d’équilibre de cette solution :


nc − T 7 × 19 − 100
RE = = = 24, 81%
nc 7 × 19

On voit que la solution n’est pas d’une très grande qualité. On peut utiliser
plutôt un second score qui consiste à additionner à la durée de la tâche, celles de
toutes les tâches qui la suivent. Ainsi, à la durée de la tâche A, on ajoute le temps
des tâches F, B, I, M, H et N. Le calcul du second score (voir figure 8.4) donne les
résultats 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âches suivant ce second score est le suivant :

A, C, D, J, E, K, L, B, G, I, F, M, H, N
132 Chapitre 8. Conception d’un centre de production

C,5
E,15
D,2 F,7

A,2 B,7 H,4


N,15

G,6 I,9

J,10
L,8 M,6
K,4

Figure 8.4: Graphe des préalables

On remplit le tableau comme suit


Poste 1 Poste 2 Poste 3 Poste 4 Poste 5 Poste 6
A,2 2 E,15 15 L,8 8 G,6 6 F,7 7 N,15 15
C,5 7 K,4 19 B,7 15 I,9 15 M,6 13
D,2 9 H,4 19
J,10 19
19 19 15 19 13 15
Le détail des itérations est donné ci-dessous.
S = {A, C, D, J, K, G} : A en 1; S = {B, G, I, F, M } : B en 3;
S = {C, D, J, K, B, G, I} : C en 1; S = {G, I, F, M } : G en 4;
S = {D, J, K, B, G, I} : D en 1; S = {I, F, M, H} : I en 4;
S = {J, E, K, B, G, I} : J en 1; S = {F, M, H} : F en 5;
S = {E, K, B, G, I} : E en 2; S = {M, H} : M en 5;
S = {K, B, G, I, F } : K en 2; S = {H} : H en 4
S = {L, B, G, I, F } : L en 3; S = {N } : N en 6.

On peut alors calculer le retard d’équilibre de cette solution :


19 × 6 − 100
RE = = 12, 3%
19 × 6
On voit que la solution est meilleure sans être optimale puisque la solution présentée
à la figure 8.3 est meilleure avec un retard d’équilibre de 9,1 %. On peut également
agir sur la durée maximum de 19 qui est un paramètre de l’heuristique.
Section 8.2. Configuration d’un centre de production 133

8.2.3 Configuration à poste fixe

Lorsque l’opérateur voyage entre les différentes opérations, on parle de conception


à poste fixe. Comme exemples, on peut citer :

• les magasins en self-service où le client se déplace de rayon en rayon;

• les entrepôts de stockage de carrelages, de tapis-pleins, etc. . .

• une infirmière qui se déplace d’une chambre à l’autre dans un hôpital,. . .

Le problème principal réside dans la localisation des aires de stockage de


manière à minimiser soit

• le coût total de manipulation en mettant les produits les plus utilisés aux
endroits les plus accessibles;

• le temps maximum d’accès dans le cas, par exemple, de la localisation de


centres d’intervention d’urgence.

Cas d’un entrepôt :

Illustrons ce cas par l’exemple de la société Sommer qui produit en grandes séries
ses différentes références de tapis pleins qui sont vendues en quelques unités à ses
clients qui sont les centres de bricolage et les surfaces spécialisées en revêtement
de sol. On approvisionne le stock en grandes quantités (de l’ordre de 200 rou-
leaux d’un même type). On déstocke, à la demande, en petites quantités (un ou
deux rouleaux). Le stockage est rendu nécessaire par la différence entre la taille
économique d’un lot à la production et la taille moyenne d’un lot demandé.
Pour le placement optimal des rouleaux, on a intérêt à placer les articles
ayant le plus fort taux de rotation de stock aux emplacements les plus accessibles.
Il y a deux manière de stocker :

• Stocker à des places dédiées : une référence donnée sera toujours à la même
place. Ce qui facilite le contrôle et l’information. L’inconvénient est que
l’on perd beaucoup de place car chaque emplacement est rempli à 50 % en
moyenne.

• Stocker à la première place disponible : ceci nécessite un système infor-


matique de localisation : chaque lot est localisé par le numéro de l’allée, la
distance dans l’allée, et la hauteur dans le rayon.
134 Chapitre 8. Conception d’un centre de production

La solution adoptée chez Sommer est le dédicacement par zone : on place le


produit dans la première place disponible dans une zone (assez large) correspondant
à son taux de rotation. Ceci est donc un compromis entre une capacité de stockage
réduite et la rapidité d’accès aux produits à forte rotation de stock.

Cas des centres d’intervention d’urgence :

Dans ce second cas, l’objectif est de minimiser le temps d’accès au client le plus
éloigné. Par exemple, dans un service hospitalier, on veut localiser le local des
infirmières de manière à avoir un temps de réaction auprès de chaque patient aussi
court que possible. La solution, dans ce cas, est de construire un étage circulaire
avec le local des infirmières 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élocalisées permettant d’atteindre rapidement des villages
décentrés.

8.3 Décisions de capacité

Nous allons illustrer les décisions de choix d’une capacité sur l’exemple tiré de
Mac Clain [13] d’une boulangerie industrielle qui fournit les supermarchés de sa
région et qui s’attend à une croissance de la demande.
Les données numériques sont les suivantes :

1. Modélisation de la demande : il y a incertitude sur la demande future du


produit. Si le succès du produit est important, une capacité supplémentaire
de 5 000 unités par semaine sera nécessaire pour un profit de 40 000 $
par semaine hors frais d’amortissement du capital. Si le succès du produit
est mitigé, une capacité de 2 000 unités 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énéfices sont comptabilisés en fin
d’année. Une année comporte 52 semaines d’ouverture du magasin.

2. Données de coût d’investissement. Une capacité de 2 000 unités par semaine


peut être construite pour 800 000 $. Une capacité de 5 000 unités par semaine
peut être construite pour 1,5 millions de $. Une capacité de 2 000 peut être
étendue à une capacité de 5 000 pour 1 million de $. Les surcapacités sont
sans valeur.

3. La durée de vie des équipements est de 20 ans.


Section 8.3. Décisions de capacité 135

4. Le facteur d’actualisation, nécessaire car les profits sont répartis dans le


futur, est de 25 % l’an.

5. La probabilité de succès du lancement du produit est estimée à 20 % sur


base d’expériences d’introduction d’autres produits.

Les différents choix possibles peuvent être utilement illustrés sur un arbre de
décision tel que celui de la figure 8.5. Un carré représente une décision. Un cercle

haute demande Investiss. Profit.


1,500,000 40,000

000 faible demande


1,500,000 16,000
re5
tr ui rester à 2000
s 800,000 16,000
con
ute e
ha and +3000 800,000 16,000
construire 2000 m +1,000,000 +24,000
de
ne
rie faible demande
nc 800,000 16,000
ons
tru
ire
0 0

Figure 8.5: Arbre de décision

représente un état du monde.


Pour le choix d’une capacité, on va sélectionner la capacité d’espérance de
profit la plus élevée.

Définition 8.1 On appelle valeur nette présente, la somme actualisée 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és :
n
t  
 1 1 − (1 + i)−n
= (8.1)
t=1 1+i i

Considérons la construction initiale de 5 000 en cas de demande forte. Ce cas


136 Chapitre 8. Conception d’un centre de production

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é à la figure 8.6. La VAN se calcule donc comme suit :


20
(40 000 × 52)
V AN = − 1 500 000
t=1 1, 25t
 t

20
1
= (40 000 × 52) × − 1 500 000
t=1 1, 25

Appliquons la formule (8.1) à notre exemple :


 t  

20
1 1 − (1, 25)−20
= = 3, 953883
t=1 1, 25 0, 25

D’où la valeur nette au bout d’un an de :

V AN = 40 000 × 52 × 3, 953883 − 1 500 000 = 6 724 077.

Considérons maintenant la construction initiale de 5 000 en cas de demande


faible. La VAN se calcule comme suit :
 t

20
1
V AN = (16 000 × 52) × − 1 500 000 = 1 789 631.
t=1 1, 25

Considérons maintenant la construction de 2000 en cas de demande haute et


sans investissement supplémentaire. La VAN se calcule comme suit :
 t

20
1
V AN = (16 000 × 52) × − 800 000 = 2 489 631.
t=1 1, 25
Section 8.3. Décisions de capacité 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érons la construction initiale de 2 000 augmentée 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ébut de 2ème année rapporte un supplément de profit de
24 000 durant 19 ans. Ce cas est illustré à la figure 8.7. La VAN au temps 1 de
l’investissement supplémentaire se calcule comme suit :
 t

19
1
V AN1 = (24 000 × 52) × − 1 000 000.
t=1 1, 25
Appliquons la formule (8.1) à la somme des facteurs d’actualisation :
 t  

19
1 1 − (1, 25)−19
= = 3, 942
t=1 1, 25 0, 25
On obtient une valeur nette au bout d’un an de l’investissement supplémentaire :
V AN1 = 24 000 × 52 × 3, 942 − 1 000 000 = 3 920 058.
On en conclut que l’on a intérêt à 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 :
 t
1 20
1
V AN0 = 3 920 058 + (16 000 × 52) × − 800 000
1, 25 t=1 1, 25
1
= 3 920 058 + 2 489 631 = 5 625 677.
1, 25

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 à 2 000. Il a déjà été calculé plus haut.
138 Chapitre 8. Conception d’un centre de production

Décision 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ésultats dans les différents cas sont résumés au tableau 8.4. On peut alors
calculer les profits espérés 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é et étendre après un


an si nécessaire. Remarquons que le résultat dépend crucialement de la probabilité
de succès du produit (voir exercice ci-dessous).

8.4 Décisions de localisation

La décision de localisation d’un centre de production doit être analysée en tenant


compte de plusieurs critères :

1. la facilité d’accès, les coûts de transport;

2. la disponibilité, qualification et le coût de la main d’œuvre;

3. le coût de construction, les taxes locales;

4. l’attraction des clients;


Section 8.4. Décisions de localisation 139

5. la disponibilité des matières premières;

6. les attitudes des autorités locales et nationales.

L’importance relative de ces critères dépend du type d’activité à localiser :

• localiser un super-marché : les coûts de transport et l’attraction des clients


sont prépondérants;

• localiser une usine : le coût de la main d’œuvre et la disponibilité des


matières premières sont prépondérants.

Les modèles de localisation optimale considèrent généralement un seul critè-


re. Deux techniques sont appliquées suivant l’objectif poursuivi : la technique de
gravité si on veut minimiser les coûts totaux de transport ou celle de discrétisation
si on veut minimiser le temps d’accès au client le plus éloigné.
Disons un mot de ces deux techniques qui correspondent chacune à un choix
d’objectif :

• La technique du centre de gravité. Si l’on veut minimiser le nombre de


tonnes-kilomètres de produit transporté du fournisseur le plus éloigné ou au
client le plus éloigné, on a intérêt à se situer au centre de gravité des clients
et fournisseurs. Par exemple, dans la localisation d’une usine de production
de béton, on a intérêt à se situer au centre de gravité des carrières 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 ) x

Figure 8.8: Centre de gravité


140 Chapitre 8. Conception d’un centre de production

Fixons-nous la notation suivante:


M Pi = tonnes de matière première venant de i;
(xi , yi ) = coordonnées du fournisseur i;
Clj = tonnes vers le client j;
 
(xi , yi ) = coordonnées du client i;
Le centre de gravité se calcule ainsi :

m 
m 
m 
m
xi M Pi + xj Clj y i M Pi + yj Clj
i=1 j=1 i=1 j=1
x∗CG = m m

yCG = m m
i=1 M Pi + j=1 Clj i=1 M Pi + j=1 Clj

• La méthode de discrétisation. Lorsque le critère temps d’accès est le plus


important, on aura recours le plus souvent à des emplacements multiples afin
d’avoir un bon accès à tous. Par exemple, lors de la localisation d’un centre
d’intervention de pompiers, on veut minimiser le temps d’accès au client le
plus éloigné. Ce qui conduit à implanter des antennes décentralisées.

Illustrons la différence entre ces deux objectifs sur un exemple simple illustré à
la figure 8.9 où deux villes sont situées à 9 kilomètres de distance l’une de l’autre.

1.000 x ∗M D x ∗C G 2.000

0 1 2 3 4 5 6 7 8 9

Figure 8.9: Calcul du centre de gravité

La formule du centre de gravité nous donne ici (avec xi la coordonnée de la


ville i et Pi , sa population) :

x i Pi 0 × 1.000 + 9 × 2.000
x∗CG = i = =6
i Pi 3.000
Pour minimiser le nombre de kilomètres à parcourir pour desservir les deux villes,
un représentant de commerce a intérêt à se localiser à 6 km de la première et 3
kilomètre de la seconde ville.
Par contre, pour un centre d’intervention d’urgence, a intérêt à se localiser au
centre des deux villes (à 4,5 kilomètre de chaque ville).

x∗M D = 4, 5
Section 8.5. Utilisation de la programmation mathématique 141

8.5 Utilisation de la programmation mathématique

Pour terminer ce chapitre, nous allons illustrer l’utilité de la programmation mathé-


matique dans les décisions de localisation et de choix de capacités sur un exemple
également tiré de tiré de Mac Clain [13].
Les différentes données du problème sont reprises aux tableaux 8.5 et 8.6. Les
coûts de transport entre les différentes usines et les différents clients sont donnés
au tableau 8.5 en $ par kg. Les demandes des clients sont données au tableau 8.5
en millions de kg par jour. Les coûts de production sont donnés au tableau 8.6 en
$ par kg. Les capacités de production sont données au tableau 8.6 en millions de
kg par jour.

Vers le Coût de l’usine ($/kg) Demande du client


le client A B 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ûts de transport et demandes.

Usine A B C
Coût de production ($/kg) 0,347 0,326 0,351
Capacité de production (106 kg/jour) 1,8 4 1,6

Tableau 8.6: Coûts et capacités de production.

On veut déterminer le plan de distribution qui minimise la somme des coûts de


production et des coûts de transport.
142 Chapitre 8. Conception d’un centre de production

Nous allons formuler le problème comme un problème de programmation


mathématique :

• Choix des variables. Notons xij , le nombre de millions de kg produits à


l’usine i et livrés au client j.

• Expression de l’objectif.
Il s’exprime simplement par :


C 
10
min z = cij xij
i=A j=1

avec cij , le coût de fourniture d’un million d’unité de l’usine i vers le client
j. Ce coût est la somme du coût de production et du coût de transport.

• Expression des contraintes.


Elles sont de deux types :

– “Respecter la capacité de l’usine i :”


10
xij ≤ CAPi , ∀i = A, B, C
j=1

où CAPi note la capacité de l’usine i.


– “Satisfaire la demande du client j :”


C
xij = DEMj , ∀j = 1, 2, ...10
i=A

où DEMj note la demande du client j.

La solution optimale peut être trouvée par l’algorithme du Simplexe puisqu’il


s’agit d’un problème purement linéaire. Examinons maintenant le problème de la
localisation d’une nouvelle usine. Supposons que l’usine C doive être remplacée.
Les alternatives possibles sont :

1. Accroı̂tre l’usine B à 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ématique 143

Les alternatives coût fixe coût 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

Tableau 8.7: Données de coût des alternatives.

Les alternatives coût journalier coût 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ées de coût des alternatives.

Leurs coûts respectifs sont donnés au tableau 8.7.


Effectuons une comparaison des 3 alternatives et de la situation actuelle. Il
s’agit de résoudre successivement quatre problèmes linéaires notés (LP1) à (LP4)
au tableau 8.8. Dans la colonne “coût journalier”, on donne la somme du coût de
production et du coût de transport, hors frais fixes d’investissement.
Une première conclusion qui peut être tirée de ce tableau est que (LP2) peut
être éliminé car ayant un coût fixe identique à celui de (LP3), une alternative qui
a un coût journalier inférieur. Calculons l’économie de (LP3) sur 300 jours de
production par rapport à la situation actuelle :

(2 561 600 − 2 533 100) × 300 = 8 555 000

Soit une é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’économie additionnelle de (LP4) par rapport à (LP3) :

(2 533 100 − 2 469 700) × 300 = 19 020 000

Soit un é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 à 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ée du


tout et peut être fermée.
Enfin, terminons ce chapitre en illustrant l’importance de l’utilisation de va-
riable binaires dans les décisions de choix de capacité. Prenons l’exemple de l’ou-
verture éventuelle d’une nouvelle usine D de 2 millions de capacité. La décision
d’ouverture de la nouvelle usine peut être modélisé par la variable binaire :

yD ∈ {0, 1}

avec yD valant 1 si l’usine D est ouverte et zéro sinon.


Cette variable binaire interviendra dans la contrainte de capacité de la nouvelle
usine comme suit :

10
xDj ≤ 2yD
j=1

En effet, si l’usine D est fermée, le membre de droite est nul et rien ne peut sortir
de l’usine.
Cette variable interviendra aussi dans la fonction objectif. En effet, à la somme
des coûts de transport, on peut ajouter le coût fixe du nouvel investissement. Ceci
conduit à l’expression suivante pour l’objectif :


D 
10 
D
min z = cij xij + Ki y i
i=A j=1 i=B

où Ki est le coût fixe d’ouverture de l’usine i.


Remarquez aussi que les variable binaires peuvent être utilisées pour décider
du niveau de la capacité d’une nouvelle usine parmi un nombre discret de valeurs
possibles. Ainsi, si l’usine D peut avoir comme capacité 2 millions ou 5 millions
d’unités, on peut écrire :

10

xDj ≤ 2yD + 5yD
j=1

avec la contrainte supplémentaire que



yD + yD = 1,

ce qui va assurer qu’une seule des deux capacités est sélectionnée.


Remarquez enfin que l’utilisation de variables binaire conduit à un problème en
nombres entiers. Il s’agit d’un problème plus difficile à résoudre que les problèmes
linéaires (LP1) à (LP4). Il peut être résolu par application de la méthode de branch
and bound.
Section 8.6. Exercices 145

8.6 Exercices

8.1. Assemblage de magnétoscopes. Un atelier de fabrication de magnétoscopes


doit être réorganisé en ligne de production. Les opérations nécessaires à la
fabrication d’un magnétoscope ont été divisées en 14 tâches indivisibles.
Les temps opératoires (en minutes) ainsi que les relations d’antériorité sont
décrites dans le tableau ci-dessous.
Tâche A B C D E F G H I J K L M N
Durée 2 4 10 5 5 4 5 6 8 10 12 9 6 4
Préalables - A A E B C H J J D,F I K L G,M
Vous êtes responsable de la production et désirez produire 30 magnétoscopes
par jour de travail (un jour comporte deux pauses de 7,5 heures de travail).
On vous demande :

(a) Est-il possible de réaliser la production de 30 magnétoscopes par jour si


la chaı̂ne de production n’est constituée que d’un seul poste de travail ?
(b) Déterminez le temps de cycle requis pour respecter la contrainte de 30
unités par période. Autrement dit, un magnétoscope doit sortir toute
les c minutes : que vaut c ?
(c) Représentez les relations d’antériorité sur un graphique de réseau.
(d) Déterminez au moyen de l’heuristique de score 1 une affectation des
opérations aux postes de travail afin de respecter la contrainte de 30
unités par période. Représentez sur le graphique la solution obtenue.
(e) Calculez le retard d’équilibre de votre solution.

8.2. Développement de complexes cinématographiques. Un groupe de dist-


ribution cinématographique envisage d’accroı̂tre sa capacité de distribution
en région Liégeoise. Deux projets sont à l’étude, un seul sera réalisé :

• la rénovation d’un ancien complexe de 4 salles de cinéma au centre


ville d’une capacité totale après rénovation de 2.000 sièges.
• la construction d’un nouveau complexe de 15 salles de cinéma en
périphérie d’une capacité totale 10.000 sièges.

Le coût des travaux est de 3 millions d’euro pour le projet de rénovation


et de 15 millions d’euro pour le projet de construction. La durée de vie
des installations est de 20 ans. Étant donné le planning des séances et les
différents publics attendus, le profit annuel moyen par siège est estimé
146 Chapitre 8. Conception d’un centre de production

• à 2000 euro au centre ville et à 1000 euro en périphérie en cas de forte


fréquentation,
• à 1500 euro au centre ville et à 300 euro en périphérie en cas de
fréquentation faible.
Le facteur d’actualisation est de 20 % l’an.
(a) On demande de dessiner l’arbre de décision complet, mentionnant les
montants des investissements et des profits.
(b) Pour chacun des cas, calculez la valeur nette actualisée au début du
projet, sur toute sa durée de vie.
(c) La probabilité de succès est difficilement estimable. Quel serait la
décision d’investissement la plus rentable,
• si la probabilité de fréquentation forte est de 45 % :
• si la probabilité de fréquentation forte est de 55 % :
8.3. Problème de localisation de centre de distribution de pneus. Un important
groupe de fabrication de pneus envisage de restructurer son réseau européen.
Pour le moment, il dispose d’un centre de production par pays qui lui coûte,
sur base annuelle, les frais fixes suivants :

Pays Frais fixes Capacité 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êmes marchés qu’actuellement avec un nom-
bre moins important de centres de production ouverts. La demande domes-
tique sur base annuelle est donnée ci dessus. Les frais de transport d’un pneu
du pays i au pays j sont connus et notés ctij .
(a) Représentez le problème par un graphique de réseau. Indiquez sur
celui-ci les données du problème.
(b) Formuler mathématiquement le problème du choix des usines à conser-
ver ouvertes à l’avenir dans le groupe en supposant que la demande
demeure stable. On veut minimiser la somme des coûts fixes et des
coûts 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èles où une séquence
optimale de décisions doit être prise. Elle est largement utilisée en planification de
la production pour déterminer les lancements de production en cas de coûts fixes
de lancement de production.
Les modèles dynamiques répondent aux caractéristiques suivantes :

• Ils comportent une certain nombre de période de temps qui seront notées :
t = 1, 2, ...n

• A chaque étape, une décision doit être prise. On note par xt la décision prise
à la période t.
• Chaque étape est caractérisée par un certain nombre d’états initiaux pos-
sibles. On note par st l’état initial de la période t.

Par exemple, en planification de la production :

• les étapes sont les différentes périodes de planification,


• la décision xt prise à la période t est le niveau de production de la période,
• la variable d’état st indique le niveau initial du stock de la période t.

L’idée générale des procédures de résolution en programmation dynamique


est la suivante. On part d’un sous problème, celui de dernière étape, dont la
résolution est triviale. Ensuite, et en procédant à rebours, on étend progressivement
le problème en incluant les étapes précédentes et en calculant la politique optimale
à chaque étape en se basant sur la politique optimale de l’étape suivante.

149
150 Chapitre 9. La programmation dynamique.

9.2 Le problème du voyageur

Un exemple purement fictif, tiré de Hillier et Lieberman [7], va nous permettre


d’introduire la terminologie employée en programmation dynamique. Il s’agit du
problème du voyageur devant traverser l’ouest américain il y a plus d’un siècle.
Son point de départ et sa destination sont connus. Il effectue son voyage en quatre
étapes. A chaque étape, il a le choix de se diriger vers plusieurs états. A la
figure 9.1, on a représenté chaque état par un cercle. Son état de départ est l’état
1 et son état d’arrivée est l’état 10.
7
2 5
1
4
6 4
2 8
3
3
6
4 2 10
1 3 6
3 4
4
3
9
4 1 3
3
4 5 7

Figure 9.1: Problème du voyageur.

Le voyageur souscrit à chaque étape une police d’assurance dont le coût reflète
le degré d’insécurité du voyage. Ceux-ci sont indiqués au dessus des arcs à la
figure 9.1. Il va donc déterminer son itinéraire de manière à choisir la route la plus
sûre en minimisant la somme des polices d’assurance pour le passage d’état en
état.
Remarquez d’abord que l’approche très simple qui consiste à choisir à chaque
étape la police la moins chère ne conduit pas à une solution globalement la moins
chère. En effet, en suivant cette stratégie, on choisirait le chemin 1 → 2 → 6 →
9 → 10 avec un coût total d’assurance de 13. Cependant en sacrifiant un peu à
la première étape, on peut gagner aux étapes ultérieures. En effet, par exemple la
route 1 → 4 → 6 → 9 → 10 permet un coût total de 11.
Une autre méthode serait d’évaluer toutes les routes possibles. Cependant sur
ce petit exemple, elles sont déjà au nombre de 3 × 3 × 2 = 18 et lorsque le nombre
d’étapes et/ou le nombre d’états 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’énumération explicite.
Section 9.2. Le problème du voyageur 151

9.2.1 Formulation en un problème dynamique

La formulation d’un problème dynamique comporte cinq étapes :

1. La définition des étapes. Ici les étapes sont les quatre étapes du voyage.
Elles sont notées :
t = 1, 2, ...4

2. Le choix des variables d’état. Dans notre exemple, st note l’état de départ
de l’étape t. On peut ici donner les valeurs possibles de st à chaque étape :

s1 = 1
s2 ∈ {2, 3, 4}
s3 ∈ {5, 6, 7}
s4 ∈ {8, 9}

3. Le choix des variables de décision. Dans notre exemple, xt note la desti-


nation de l’étape t. On peut donner les valeurs possibles de xt à chaque
étape :

x1 ∈ {2, 3, 4}
x2 ∈ {5, 6, 7}
x3 ∈ {8, 9}
x4 = 10.

4. L’expression des relations entre les variables. Ici, les contraintes expriment
que la destination d’une étape (xt ) est le point de départ de la suivante (st+1 ) :

s1 = 1
s2 = x1
s3 = x2
s4 = x3
x4 = 10

5. L’expression de l’objectif. L’objectif est ici de minimiser le coût total du


voyage. Il peut s’écrire :

4
min z = ct (st , xt )
t=1

où ct (st , xt ) est le coût à l’étape t d’aller de st vers xt .


152 Chapitre 9. La programmation dynamique.

9.3 Procédure de résolution

La programmation dynamique commence avec une petite portion du problème


original, trouve la solution optimale pour cette portion du problème. Ensuite on
élargit progressivement le problème, en déterminant la nouvelle solution optimale à
partir de la précédente. Pour le problème du voyageur, on considère le problème de
fin de voyage, lorsqu’il n’y a plus qu’une étape à faire. Pour ce problème la solution
optimale est évidente : le voyageur doit aller directement à sa destination, l’état
10. A l’itération suivante, on élargit d’une unité le nombre d’étapes à effectuer.
On peut ensuite déduire la stratégie optimale pour la troisième étape en fonction
de la stratégie optimale pour la dernière étape.
Fixons-nous deux notations utiles pour la procédure de résolution.

Définition 9.1 On note par x∗t (st ) la meilleure stratégie à l’étape t, si on est dans
l’état st à l’étape t.

Définition 9.2 On note par ft∗ (st ) le coût de la meilleure stratégie à l’étape t, si
on est dans l’état st à l’étape t.

La programmation dynamique va déterminer successivement f4∗ (s4 ), f3∗ (s3 ),


f2∗ (s2 ) et enfin f1∗ (s1 ) pour chaque état possible st à l’étape t et utiliser par exemple
f2∗ (s2 ) pour calculer f1∗ (s1 ).
Pour t = 4, c’est-à-dire lorsque le voyageur n’a plus qu’une étape à effectuer, sa
destination finale est connue : x4 = 10. Le tableau 9.1 reprend les coûts minimaux
de la dernière étape ainsi que la décision optimale en fonction de s4 ,l’état de départ.

s4 x∗4 f4∗ (s4 )


8 10 3
9 10 4

Tableau 9.1: Coûts minimaux de la dernière étape

Considérons le cas t = 3, c’est-à-dire lorsque le voyageur a encore deux étapes


à effectuer. Si le voyageur est dans l’état 5 (s3 = 5), il peut aller vers 8 ou 9 à des
coûts respectifs de c5,8 = 1 ou c5,9 = 4 auxquels il faut ajouter le coût additionnel
de l’étape 4 donné 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ût total minimum de 1 + 3 = 4 est obtenu s’il va
Section 9.3. Procédure de résolution 153

s3 x3 = 8 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ûts minimaux de la troisième étape.

vers 8, donc x∗3 = 8 et f3∗ (5) = 4. On procède de même pour s3 = 6 et s3 = 7 et


on obtient les valeurs données dans la table 9.2.
La solution pour le problème où il reste trois étapes (t = 2) est obtenue de
manière similaire. Elle est illustrée à la table 9.3. Les états destination sont cette
fois au nombre de trois : il s’agit de x2 = 5, x2 = 6 ou x2 = 7 tandis que les états
de départ possibles sont s2 = 2, s2 = 3 ou s2 = 4. Pour les états de départ 2 ou 4,
la destination optimale peut être au choix 5 ou 6 puisque le coût total est le même.

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 5 7
4 4+ 4 =8 1+ 7 =8 5 + 6 = 11 5 ou 6 8

Tableau 9.3: Coût minimaux de la deuxième étape.

Enfin, pour le problème de première étape (t = 1), le coût minimum de la


police optimale est à nouveau donné en fonction de l’état destination de l’étape
comme la somme du coût de première étape plus le coût minimum des étapes
ultérieures. On obtient les résultats de la table 9.4.

s1 x1 = 2 x1 = 3 x1 = 4 x∗1 f1∗ (s1 )


1 2 + 11 = 13 4 + 7 = 11 3 + 8 = 11 3 ou 4 11

Tableau 9.4: Coût minimaux de la première étape.

On faut maintenant identifier une politique optimale. Pour t = 1, le voyageur


doit donc se diriger initialement vers l’état 3 ou 4. Supposons qu’il choisisse
x∗1 = 3. Pour t = 2, la stratégie optimale pour s2 = 3 est x∗2 = 5 (voir tableau
9.3), ce qui dans l’étape t = 3 conduit à l’état s3 = 5. La stratégie optimale pour
s3 = 5 consiste à choisir x∗3 = 8 (voir tableau 9.2). On se retrouve en s4 = 8 et on
154 Chapitre 9. La programmation dynamique.

choisit x∗4 = 10 à l’étape 4 (voir tableau 9.1). Une des routes optimales est donc
le parcours suivant :
1 → 3 → 5 → 8 → 10
et donnant un coût total de :
f1∗ (1) = 11
Cette solution est illustrée 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ème du voyageur.

9.4 Un problème d’affectation de ressources rares

Nous illustrons le fait que le champs d’application de la méthode de résolution


est très large sur un deuxième exemple également tiré de Hillier et Lieberman
[7] : il s’agit du problème de l’organisation mondiale de la santé. On suppose
que l’OMS dispose de 5 équipes médicales à affecter à 3 pays pour mener à
bien une campagne de vaccination. L’OMS doit déterminer combien d’équipes
envoyer dans chacun des trois pays de manière à maximiser l’efficacité générale
de l’affectation. La mesure de l’efficacité est donnée en terme d’années-homme
de vie supplémentaire. Ces données sont reprises au tableau 9.6. On suppose que
chaque pays doit bénéficier d’au moins une équipe.

Nombre d’équipes Pays 1 Pays 2 Pays 3


1 45 20 50
2 70 45 70
3 90 75 80
Tableau 9.6: Milliers d’années-homme supplémentaires.

9.4.1 Formulation comme un problème dynamique

1. Définition des étapes. Bien qu’il n’y ait pas de succession temporelle, on
peut imaginer que les trois étapes d’un processus dynamique consistent en
l’affectation successive aux trois pays puisque lorsqu’une équipe est affectée
Section 9.4. Un problème d’affectation de ressources rares 155

à un pays, elle n’est plus disponible pour les autres pays. On a donc identifié
les étapes.
2. Choix des variables d’état. Comment identifier les états ? Autrement dit,
quelle est l’information nécessaire à une étape pour pouvoir déterminer la
politique optimale ? Il s’agit simplement du nombre d’équipes médicales
qui restent disponibles. Notons st le nombre d’équipes encore disponibles
au début de l’étape 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écision. Notons xt le nombre d’équipes médicales


affectées 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écurrence entre les variables
s’écrivent ici :

s1 = 5
s2 = s 1 − x 1
s3 = s 2 − x 2

En général, on peut écrire la relation suivante :

st+1 = st − xt .

Il faut également ajouter la condition qu’au moins une équipe soit envoyée
dans chaque pays :
xt ≥ 1, ∀t = 1, 2, 3

5. L’expression de l’objectif. L’objectif est ici de maximiser l’efficacité de


l’allocation. Il peut s’écrire :

3
max z = Bt (xt )
t=1

où Bt (xt ) mesure le bénéfice de l’allocation de xt équipes médicales au pays


t.
156 Chapitre 9. La programmation dynamique.

9.4.2 Résolution par la programmation dynamique

A l’étape t = 3, les états possibles vont de 1 (il faut au moins une équipe pour le
pays 3) jusqu’à 3 (on a au moins affecté une équipe au pays 1 et une équipe au pays
2). A la dernière étape, on a intérêt à affecter toutes les é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’étape 3.

A l’étape 2, les états possibles vont de 2 (il faut au moins une équipe pour le
pays 2 et une équipe pour le pays 3) à 4 (on a au moins attribué une équipe au pays
1). A la deuxième étape, au gain de l’étape, il faut ajouter le gain résultant pour
l’étape 3 avec s3 = s2 − x2 . Le détail des calculs est donné 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’étape 2.

De même à l’étape 1, au gain de l’étape, il faut ajouter ceux des étapes suivantes
avec s2 = s1 − x1 . Le détail des calculs est donné 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’étape 1.

La solution optimale est calculée ci-dessous.


t 1 2 3
st 5 4 1
x∗t 1 3 1
Elle donne un gain de 170 000 hommes-années.
Section 9.5. Application à la planification de la production. 157

9.5 Application à la planification de la production.

Nous allons maintenant voir comment la programmation dynamique permet de


résoudre des problèmes de planification de la production en présence de coûts de
production non convexes. Illustrons ceci sur un exemple.
La demande prévisionnelle de fin de mois d’un composant est donnée au ta-
bleau 9.10. La fabrication de ce composant nécessite un certain nombre de réglages
indépendants du nombre d’unités fabriquées. Le coût de lancement est de 150. Le
coût direct dépend de la main d’œuvre disponible. Le coût est de 200 en heures
normales, de 250 en heures supplémentaires. Le tableau 9.10 donne la production
maximale en heures normales et heures supplémentaires. On une capacité de sto-

Période t 1 2 3 4 5
Capacité de production à 200 2 2 3 3 3
Capacité de production à 250 3 3 3 3 3
Demande prévisionnelle fin t 2 1 4 2 4
Tableau 9.10: Demande prévisionnelle et capacité de production.

ckage limitée à 2 unités. Le coût de stockage est de 10 par unité stockée par mois.
Une unité fabriquée le mois t peut être utilisée pour satisfaire la demande de fin
de mois. On s’interdit toute rupture de stock.

9.5.1 Formulation en un problème dynamique

Nous allons tout d’abord formuler le problème en un problème de programmation


dynamique. Pour cela, définissons la variable d’état de la période t suivante :

st = stock au début de la période t.

Définissons aussi la variable de décision de la période t suivante :

xt = production à la période t.

On définit la fonction
ft (st , xt )
comme étant le coût de la meilleure planification pour les périodes restantes si on
est dans l’état st au début de la période t et que l’on décide de produire xt à la
période t. Ce coût est la somme du coût de production de l’étape t, d’un coût de
possession du stock pendant le mois t ainsi que du coût des étapes ultérieures :

ft (st , xt ) = cpt (xt ) + cs st + ft+1 (st + xt − dt )
158 Chapitre 9. La programmation dynamique.

où dt note la demande prévisionnelle qui est donnée au tableau 9.10. La fonction
cpt (xt ) dénote le coût de production à l’étape t. Ce dernier est la somme d’un coût
fixe de lancement de 150, à payer pour autant qu’il y ait production, et d’un coût
direct de main d’œuvre qui est de 200 par unité produite en heures normales, de
250 par unité produite en heures supplémentaires. Remarquez qu’en présence de
coût de lancement le coût de production n’est pas convexe. Ceci peut être vérifié
à la figure 9.2 qui illustre la fonction de coût 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ût non convexe.

La capacité de stockage est limitée à 2 unités :

st ≤ 2, ∀t.

Ce qui limitera à trois les états du monde possibles à chaque étape. La relation
liant les variables d’état et de décision est la suivante :

st+1 = st + xt − dt

On s’interdit toute rupture. Ce qui se traduit par un stock final non négatif :

xt ≥ 0, ∀t.
Section 9.5. Application à la planification de la production. 159

9.5.2 Résolution par la programmation dynamique

Nous allons maintenant résoudre le problème par la programmation dynamique.


A l’étape 5, on a d5 = 4. Ce qui explique qu’il faut au moins produire 4 unités si
s5 = 0 mais pas plus de 6 sinon le stock final sera supérieur à deux unités. On doit
aussi respecter la capacité de production de 6 unités. Si le stock initial s5 = 1, on
peut se contenter de produire 3. On peut également produire 4 ou 5 mais pas plus
vu la capacité de stockage limitée à 2 unités. On obtient les coûts 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ût de 1.000 si s5 = 0 et x5 = 4 résulte du seul coût de production


qui se calcule comme suit :

150 + 3 × 200 + 250 = 1000.

Le coût de 760 si s5 = 1 et x5 = 3 résulte de la somme du coût de stockage d’une


unité pendant un mois et du coût de production des trois unités :

1 × 10 + 150 + 3 × 200 = 760.

A l’étape 4, on a d4 = 2. On ajoute au coût de production de l’étape, le coût


des étapes ultérieures. Ainsi, dans le cas où s4 = 0 et x4 = 2, le coût correspond
à 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ûts 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’étape 3, on a d3 = 4. On détermine semblablement le tableau de coûts


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’étape 2, on a d2 = 1. On a une capacité de production à 200 limitée à deux


unités. On obtient le tableau de coûts 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’étape 1, la demande est de 2 et on a le tableau de coûts suivant :

s1 x1 = 2 x1 = 3 x1 = 4 x∗1 f1∗ (s1 )


0 3.370 3.320 3.340 3 3.320

On détermine ensuite la politique optimale. Partant de s1 = 0, il est optimal


de produire 3. La demande étant de 2, on se retrouve avec s2 = 1. La stratégie
optimale pour la deuxième période est de ne produire rien du tout. On se retrouve
avec un stock s3 = 0. La stratégie optimale est de produire x3 = 4. On se retrouve
avec un stock s4 = 0. La stratégie optimale est de produire x4 = 3, soit une unité
de plus que la demande. On se retrouve avec un stock s5 = 1 et on produit x5 = 3 :

t= 1 2 3 4 5
dt 2 1 4 2 4
st 0 1 0 0 1
x∗t 3 0 4 3 3

Remarquez qu’en période 2, on a préféré ne pas produire la seule unité de-


mandée car une unité en première étape même en heures supplémentaires et avec
un coût de stockage revient mois cher (260) qu’une seule unité en heure normale
à la période 2 (350). Remarquez aussi qu’en période 4, on produit une unité de
plus que la demande pour éviter de produire à 250 en période 5 la quatrième unité
demandée cette période. Il y a, en effet, une unité disponible à 200 (+ 10 de coût
de stockage) au mois précédent.
Section 9.5. Application à la planification de la production. 161

9.5.3 Algorithme en cas de coût convexe

Signalons qu’il existe un algorithme plus efficace dans le le cas où il n’y a pas de
coût fixe et que les coûts marginaux sont croissants. En effet, dans ce cas, le
coût de production devient convexe et une procédure plus efficace consiste à

1. satisfaire la demande de période 1 en utilisant les moyens de production les


plus avantageux de la période, et calculer les capacités résiduelles;

2. satisfaire la demande de période 2 en utilisant les moyens de production les


plus avantageux des deux premières périodes, puis modifier en conséquence
les capacités de production résiduelles;

3. satisfaire la demande de période 3 en utilisant les moyens de production les


plus avantageux de la période 3 ou des périodes précédentes, puis modifier
en conséquence les capacités de production résiduelles; etc. . .

Appliquons cette procédure au même exemple en supposant qu’il n’y a pas de coût
fixe de lancement de production. En période 1, la demande est satisfaite par :
-une production en période 1 à 200 (2 unités).
Les demandes et capacités résiduelles sont données par :

Période t 1 2 3 4 5
Capacité résiduelle à 200 0 2 3 3 3
Capacité résiduelle à 250 3 3 3 3 3
Demande résiduelle 0 1 4 2 4

En période 2, la demande est de 1. Elle est satisfaite par :


-une production en période 2 à 200 (1 unité).
Les demandes et capacités résiduelles sont données par :

Période t 1 2 3 4 5
Capacité résiduelle à 200 0 1 3 3 3
Capacité résiduelle à 250 3 3 3 3 3
Demande résiduelle 0 0 4 2 4

En période 3, la demande est de 4. Elle est satisfaite par :


-une production en période 3 à 200 (3 unités);
-une production à 200 en période 2 (1 unité).
162 Chapitre 9. La programmation dynamique.

Les demandes et capacités résiduelles sont données par :

Période t 1 2 3 4 5
Capacité résiduelle à 200 0 0 0 3 3
Capacité résiduelle à 250 3 3 3 3 3
Demande résiduelle 0 0 0 2 4

En période 4, la demande est de 2. Elle est satisfaite par :


-une production en période 4 à 200 (2 unités).
Les demandes et capacités résiduelles sont données par :

Période t 1 2 3 4 5
Capacité résiduelle à 200 0 0 0 1 3
Capacité résiduelle à 250 3 3 3 3 3
Demande résiduelle 0 0 0 0 4

En période 5, la demande est de 4. Elle est satisfaite par :


-une production en période 5 à 200 (3 unités);
-une production à 200 en période 4 (1 unité).
Les demandes et capacités résiduelles sont données par :

Période t 1 2 3 4 5
Capacité résiduelle à 200 0 0 0 0 0
Capacité résiduelle à 250 3 3 3 3 3
Demande résiduelle 0 0 0 0 0

Par différence avec les capacités initiales, on obtient les capacités utilisées à chaque
étape et donc le plan optimal de production et stockage (st est le stock de début t)
suivant :
Période 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ût de lancement, on a encore avancé
des productions (une unité de demande de période 3 produite à la période 2, et une
unité de demande de période 5 produite à la période 4) pour bénéficier des capacités
encore disponibles en heures normales qui coûtent moins cher que la production en
heures supplémentaires. Mais la deuxième cause d’anticipation de production, à
savoir éviter de mettre en route une production pour une faible quantité, a disparu.
Section 9.6. Exercices 163

9.6 Exercices

9.1. Détermination du chemin critique par la programmation dynamique.


Considérons un projet dont le graphe de la méthode PERT est repris ci-
dessous. Considérons le problème de la détermination du chemin critique.

F,1 6 J,5
C,4
2 4 9
A,5 G,4 K,4
D,2 H,6 7
1
5
I,2 L,7
B,3
3 E,3
8

Figure 9.3: Graphe de la méthode PERT.

On peut déterminer ce chemin critique en cherchant le plus long chemin liant


le début du projet (nœud 1) à la fin du projet (nœud 9).

(a) Formuler ce problème comme un problème dynamique.


• Quelles sont les étapes ?
• Quels sont les états du monde à chaque étape ?
• Quels sont les décisions à chaque étape ?
• Quel est le lien entre les variables ?
• Quel est l’objectif du problème ?
(b) Utilisez la programmation dynamique pour résoudre ce problème.
(c) Déterminer tous les chemins critiques.

9.2. Répartition du budget publicitaire. Une compagnie planifie sa stratégie


publicitaire pour le lancement de trois nouveaux produits. Elle a un total de
6 millions de dollars à sa disposition pour l’année prochaine pour lancer les
trois nouveaux produits. On suppose que la société investit par million entier
sur chaque produit en publicité 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ème comme un problème de programmation dyna-


mique. Pour ce faire,
• définissez les étapes,
• définissez les variables d’état,
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éfinissez les variables de décision,


• donnez la relation de récurrence entre les variables d’état de deux
étapes successives.
(b) Utilisez la programmation dynamique pour résoudre ce problème.

9.3. Planification de la production. Un entreprise cherche à é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évoit la mise à disposition les six prochaines semaines des
quantités suivantes pour les trois types de machines :

Semaine 1 2 3 4 5 6
A - - 5 1 7 4
B - - 0 5 5 7
C - - 12 5 1 0
Pour les trois machines, le délai de fabrication est de deux semaines et le
composant doit être disponible au début de l’assemblage.
(a) Déterminer les besoins nets de composants pour les quatre prochaines
semaines sachant que le stock initial est de deux unités et que l’on
prévoit une livraison en début de première semaine de 15 composants.
(b) Déterminer la manière optimale de couvrir ces besoins par des lance-
ments de production de ce composant. On tiendra compte, pour se
faire, du délai de fabrication de ce composant qui est d’une semaine
et des informations de coût suivantes. En régime normal, la capacité
de production est de 12 composants par semaine, à un prix de 50 euro
l’unité. A l’aide d’heures supplémentaires, ce niveau peut être élevé
jusqu’à 4 composants en plus, moyennant un coût additionnel de 10
euro par unité. Le coût de stockage est estimé à 3 euro par unité et par
semaine. La capacité de stockage est limitée à deux composants. Il
n’y a pas de coût fixe de mise en route de la production.
Chapitre 10

La programmation linéaire.

10.1 Introduction

On parle de programme linéaire lorsque l’on veut minimiser ou maximiser une


fonction objectif linéaire sous des contraintes purement linéaires.
Lorsqu’il n’y a que deux variables de décision, un problème linéaire peut être
résolu de manière 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ère nécessaire. Il s’agit de l’algorithme du Simplexe.
Lorsque les variables doivent prendre des valeurs entières, on parle de problè-
mes en nombres entiers. On devrait à proprement parler de problèmes linéaires en
nombres entiers car on impose, en plus, aux contraintes et à la fonction objectif
d’être linéaires. Nous verrons au chapitre 12 une technique de résolution de ces
problèmes : il s’agit de la méthode de branch and bound.
Lorsque les contraintes et/ou la fonction objectif sont non linéaires, on parle
de problèmes non linéaires. Nous ne verrons pas d’algorithme de résolution de
ces problèmes dans le cadre de ce cours.
Il est à remarquer que ces méthodes de résolutions étant mises en œuvre dans des
logiciels commerciaux, il ne viendrait plus à l’idée de les programmer soi-même.
La dernière partie de ce chapitre sera consacrée à la présentation du solveur d’Excel
qui dispose d’une implémentation de ces algorithmes.

10.2 Un simple exemple

Nous prenons un exemple tiré de Hillier et Lieberman [7]. Il s’agit d’une entreprise
de fabrication de chassis qui envisage la production de deux nouveaux modèles
au moyen des capacités résiduelles de ses trois ateliers. Il s’agit respectivement
d’un chassis en aluminium et d’un chassis en bois. Le premier produit nécessite

165
166 Chapitre 10. La programmation linéaire.

le passage dans le premier atelier pour fabriquer le cadre en aluminium et dans le


troisième atelier où le verre est monté sur le chassis. Tandis que le second produit
nécessite le passage dans le deuxième atelier pour fabriquer le cadre en bois et dans
le troisième atelier où le verre est monté sur le chassis. Les marges unitaires, les
temps de fabrication de chacun des produits dans chacun des ateliers ainsi que les
capacités hebdomadaires résiduelles de ces ateliers sont donnés au tableau 10.1.

Produit 1 Produit 2 Capacité disponible


(heures/produit) (heures/produit) (heures/semaine)
Atelier 1 1 0 4
Atelier 2 0 2 12
Atelier 3 3 2 18
Marge 3$ 5$

Tableau 10.1: Marges, temps d’usinage et capacités.

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és de chaque bien à produire
par semaine, l’objectif du problème s’écrit simplement :

max z = 3x1 + 5x2 .

Tandis que les contraintes du problèmes proviennent de la capacité limitée des


trois ateliers :

x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18

Le problème se formule donc comme suit :

max z = 3 x1 + 5 x2


 x1
 ≤ 4



 2x2 ≤ 12

 (10.1)
s.c.q. 
3x1 + 2x2 ≤ 18



 x1 ≥ 0




x2 ≥ 0
Section 10.3. Résolution graphique 167

10.3 Résolution graphique

Dans le cas d’un problème linéaire à deux variables de décision, le problème peut
être résolu de manière graphique en suivant le processus suivant en trois étapes.
La première étape consiste à représenter graphiquement la région réalisable.

Définition 10.1 On appelle région réalisable, l’ensemble des valeurs de variables


de décision qui satisfont toutes les contraintes.

Dans le cas de l’exemple, c’est l’ensemble des points (x1 , x2 ) satisfaisant les
inégalités de (10.1) :



 x1 ≤ 4 (1)



 2x2 ≤ 12 (2)



3x1 + 2x2 ≤ 18 (3)



 x1 ≥ 0 (4)




x2 ≥ 0 (5)

Graphiquement une inégalité telle que 3x1 + 2x2 ≤ 18 correspond à un demi-plan


limité par la droite obtenue en prenant l’inéquation à l’égalité (ici 3x1 + 2x2 = 18).
Lorsque l’on fait l’intersection des cinq demi-plans correspondant aux cinq inéga-
lités, on obtient le polygone hachuré à la figure 10.1.

x2
(4)
10

8 (1)
(2)
6

2 (3)
(5)
0 2 4 6 8 x1

Figure 10.1: Ensemble de production.

On voit ici clairement que le système est sous-déterminé. On va devoir choisir


entre ces différents plans de production. Pour ce faire, et c’est la deuxième étape
168 Chapitre 10. La programmation linéaire.

de la résolution, on va représenter 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 être représentée que dans l’espace. Pour se ramener dans
le plan, on va considérer des valeurs successives de l’objectif :

z = 3x1 + 5x2 = k.

Ce qui correspond graphiquement à des droites parallèles. Les points d’une de ces
droites sont donc le lieu de tous les points donnant la même valeur du profit (d’où
le nom de droite d’isovaleur de la fonction objectif). Ceci est fait à la figure 10.2
où l’on a représenté z = 15, 30 et 36.
x2

z = 30 (2, 6)
6
z = 15
4

2 z = 36

0 2 5 6 10 x1

Figure 10.2: Droites d’isoprofit.

Enfin, et c’est la troisième étape de la résolution, l’optimum sera déterminé


graphiquement comme le plan de production situé sur la droite d’isoprofit la plus
élevée, c’est-à-dire celle qui donne le profit le plus élevé. On voit à la figure 10.2
qu’il s’agit du point
x∗ = (2, 6).
Justifions ce choix. Comme on maximise le profit on a intérêt à prendre la droite
d’isovaleur la plus élevée possible. Bien sûr, il faut que le plan de production soit
encore réalisable : autrement dit, il faut se restreindre à la région réalisable. On a
alors la très important remarque suivante :
Observation 1 :
Pour maximiser l’objectif, il faut prendre la droite d’isovaleur de l’objectif qui
touche encore la région réalisable et qui donne la plus grande valeur à l’objectif.
Sur base de cet exemple, on tire une deuxième observation :
Section 10.3. Résolution graphique 169

Observation 2 :
On constate que la solution optimale est à un sommet de la région réalisable.
On peut alors se demander si la solution optimale sera toujours à un sommet de
la région réalisable. En fait, lorsque la ligne d’iso-marge est parallèle à un côté du
polygone, on a que tout le côté du polygone est optimal. Par exemple, si l’objectif
avait été z = 3x1 + 2x2 , tout le segment entre (2,6) et (4,3) aurait été optimum.
Observation 3 :
Même si tout un côté du polygone est optimal, on peut toujours choisir une solution
optimale correspondant à un sommet.
En conclusion, on peut voir qu’il suffit d’évaluer la valeur de l’objectif en
chacun des sommets pour déterminer l’optimum d’un problème linéaire. Afin de
limiter le nombre de sommets à examiner, l’algorithme du Simplexe procède de la
manière suivante :

i) Choisir comme point de départ un sommet x∗ de la région réalisable.

ii) Déterminer les côtés passant par ce sommet x∗ . Trouver un côté le long
duquel z croı̂t. S’il n’y en n’a pas, STOP : le x∗ courant est optimal.

iii) Déterminer le sommet y ∗ à l’autre bout du côté et poser x∗ = y ∗ . Retour


en ii).

L’algorithme du Simplexe appliqué à 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ème (voir figure 10.3).
x1 = 0

10
(0, 9)
8 x1 = 4

(2, 6) (4 , 6)
(0, 6) 2x2 = 12

4 (4, 3)
2 3x1 + 2x2 = 18

(0 , 0) 2 (4, 0) (6 , 0) 8 x2 = 0

Figure 10.3: Sommets de la région réalisable


170 Chapitre 10. La programmation linéaire.

10.4 Le solveur d’Excel

Le solveur d’EXCEL est un résolveur d’équation ainsi qu’un optimiseur exploitant


les techniques de la programmation linéaire, de la programmation en nombres
entiers et de la programmation non linéaire.
Illustrons ceci sur l’exemple de l’entreprise de fabrication de chassis tiré de
Hillier et Lieberman [7] introduit au début du chapitre. Rappelons la formulation
de ce problème. En posant x1 , le nombre de chassis en aluminium fabriqués par
semaine et x2 , le nombre de chassis en bois fabriqués par semaine, on obtient la
formulation suivante :

max = 
3x1 + 5x2

 x1
 ≤ 4



 2x2 ≤ 12

s.c.q.  3x1 + 2x2 ≤ 18



 x1
 ≥ 0


x2 ≥ 0

Nous allons maintenant résoudre le problème au moyen du solveur d’Excel.


La première chose à faire est de rentrer les données numériques du problème et
les formules de calcul de la fonction objectif ainsi que du membre de gauche des
contraintes. Pour la clarté du modèle, il est indispensable de mettre également des
commentaires. Comme le problème est linéaire, on peut rentrer les coefficients
numériques sous forme d’une matrice. On remarquera au tableau 10.2 que les

A B C D E
1 en alu en bois b
2 Production de chassis
3 Profit 3 5 =B3*$B$2+C3*$C$2
4 Capacité de l’atelier 1 1 0 =B4*$B$2+C4*$C$2 4
5 Capacité de l’Atelier 2 0 2 =B5*$B$2+C5*$C$2 12
6 Capacité de l’atelier 3 3 2 =B6*$B$2+C6*$C$2 18

Tableau 10.2: Exemple de problème linéaire.

coefficients d’une même équation ainsi que sa formule de calcul ont été rangés dans
une même ligne qui contient comme commentaire le nom de l’équation (Atelier
1, Atelier 2, . . . ). De même, les coefficients se rapportant à une même variable
ont été rangé 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ée en cellule $C$2.
Il reste maintenant à indiquer à Excel, où se trouvent les variables, la fonction
objectif, le membre de gauche, de droite et le sens des contraintes. Ceci peut être
mis en œuvre en Excel (voir la copie d’écran 10.4) de la manière suivante :

Figure 10.4: Paramètres du solveur.

1. Dans le menu “Outils”, choisir le sous-menu “Solveur”.

2. Dans la zone “Cellule à définir”, mettre la référence de la cellule de calcul


de l’objectif (ici $D$3).

3. Dans la zone “Égale à”, choisir Max ou Min (ici Max).

4. Dans la zone “Cellules variables”, mettre les références des cellules conte-
nant 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éférence de la cellule contenant la


formule de calcul du membre de gauche (pour l’atelier 1 : $D$4). Il
faut donc préalablement avoir calculé ce membre de gauche.
172 Chapitre 10. La programmation linéaire.

• Dans la zone “Relation”, mettre le sens de la contrainte (par exemple,


pour l’atelier 1 : <=).
• Dans la zone “Contrainte”, mettre la référence de la cellule contenant
le membre de droite (pour l’atelier 1 : $E$4). On peut également
directement entrer une valeur. Mais cela n’est pas à conseiller sauf s’il
s’agit de la valeur ”0” qui n’est pas susceptible de varier.

6. Dans ”Option” (voir la copie d’écran 10.5), choisir ”Modèle supposé li-

Figure 10.5: Options du solveur.

néaire”. On doit également choisir l’option ”Supposé non négatif” qui


correspond aux contraintes de positivité des variables.

7. Lancer la commande “Résoudre”.

Le tableau 10.3 présente la solution du solveur. Il est à remarquer qu’il


indique directement dans les cases des variables la valeur de ces variables. On
obtient bien la solution déterminée graphiquement (2,6) à laquelle correspond une
valeur maximum de l’objectif (36).
Plusieurs remarques sur les particularités du solveur d’Excel s’imposent
ici :

1. On a rentré les trois contraintes en un bloc. On peut rentrer par groupe les
contraintes ayant même sens. Ainsi, dans l’exemple, on a rentré les trois
contraintes de capacités en bloc par la commande suivante :

$D$4 : $D$6 <= $E$4 : $E$6


Section 10.4. Le solveur d’Excel 173

A B C D E
1 en alu en bois b
2 Production de chassis 2 6
3 Profit 3 5 36
4 Capacité de l’atelier 1 1 0 2 4
5 Capacité de l’atelier 2 0 2 12 12
6 Capacité de l’atelier 3 3 2 18 18

Tableau 10.3: Solution du solveur

2. Excel détermine le nom d’une variable ou le nom d’une contrainte en prenant


le premier commentaire situé à gauche de la cellule et le premier commentaire
situé 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é des variables doivent être entrées explicitement,


ceci contrairement à la convention de certains optimiseurs qui considèrent
par défaut des variables non négatives. On a rentré ces contraintes, comme
indiqué plus haut, en sélectionnant l’option ”supposé non négatif”.

4. Seules les variables non calculées (les variables indépendantes du modèle)


doivent être rentrées dans la section variables. Ainsi, si l’on avait cal-
culé dans une cellule le nombre d’heures passées dans l’atelier 1, cette cel-
lule contiendrait une variable (au sens mathématique du terme) mais ne
devrait pas être rentrée dans les cellules variables pour Excel, sans quoi
Excel considérerait qu’il s’agit d’une variable indépendante et effacerait sa
formule de calcul pour y mettre une valeur numérique.

5. Si le modèle est linéaire (contraintes linéaires et fonction objectif linéaire),


on a tout intérêt à sélectionner l’option “Modèle supposé linéaire”, ce qui
déclenchera l’algorithme du Simplexe plutôt qu’un algorithme général de
programmation non linéaire.

6. Remarquez enfin que pour modifier le modèle on peut utiliser :

• la commande “supprimer la contrainte”;


• la commande “modifier la contrainte”.

La solution du solveur correspond bien à celle déterminée précédemment.


174 Chapitre 10. La programmation linéaire.

10.5 Les rapports du solveur

Lorsque le solveur a terminé, soit qu’il ait trouvé la solution optimale, soit qu’il
ne parvienne pas à en trouver (problème non réalisable ou non convergence de
l’algorithme de résolution), la boı̂te de dialogue de la figure 10.6 apparaı̂t. Elle

Figure 10.6: Rapports possibles du solveur.

permet de générer trois types de rapport : le rapport des réponses, le rapport de


sensibilité et le rapport des limites.

10.5.1 Le rapport des réponses

Le rapport des réponses (voir figure 10.7) fournit :

• les informations sur l’objectif : la référence de la cellule, le nom, la valeur


originale et finale de la “cellule cible (à Maximiser)”;

• les informations sur les variables : la référence de la cellule, le nom, la


valeur originale et finale des “cellules variables”;

• les informations sur les contraintes : la référence de la cellule, le nom, la


valeur finale du membre de gauche, la formule de calcul, son status (active
ou non à la solution finale), ainsi que la marge (valeur de l’écart entre les
deux membres de l’inégalité).

10.5.2 Le rapport de sensibilité

Le rapport de sensibilité (voir figure 10.8) fournit :

• les informations sur les variables : la référence de la cellule, le nom et la


valeur finale de la variable, le coût réduit, le coefficient dans la fonction
Section 10.5. Les rapports du solveur 175

Figure 10.7: Rapports des réponses.

Figure 10.8: Rapport de sensibilité.


176 Chapitre 10. La programmation linéaire.

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éférence de la cellule, le nom et la
valeur finale du membre de gauche de la contrainte, le prix caché, la valeur du
membre de droite, l’augmentation et la diminution maximum de ce membre
de droite telle que le prix caché reste le même.

Nous verrons au chapitre 11 que le coût réduit mesure l’effet sur l’objectif
de forcer à un une variable nulle. Pour un produit non fabriqué, le coût réduit
s’interprète donc comme la perte de profit si on en fabrique un unité.
De même, nous verrons que le prix caché mesure l’accroissement de l’ob-
jectif par unité d’accroissement du membre de droite de la contrainte. Ce prix
caché s’interprète donc comme l’augmentation de profit si on dispose d’une heure
supplémentaire dans l’atelier. C’est donc le prix maximum que l’on est prêt à
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érieure, c’est-à-dire la plus petite valeur de la variable qui satisfait


les contraintes en maintenant les autres variables fixées à leur valeur;
• la limite supérieure, c’est-à-dire plus grande valeur de la variable qui satisfait
les contraintes en maintenant les autres variables fixées à leur valeur.
Section 10.6. Exercices 177

10.6 Exercices

10.1. Optimisation d’une fonderie. Une petite fonderie au Québec est spécialisée
dans la fonte de matériaux de récupération afin de produire deux types de
produits : des tuyaux agricoles d’adduction et d’évacuation d’eau ainsi que
des contrepoids pour tracteurs. La fonderie est en pleine planification des
opérations de la semaine prochaine. Les commandes enregistrées s’élève
à 34 tonnes pour les tuyaux et 14 tonnes pour les contrepoids. Cependant
la fonderie ne s’est pas engagée à livrer l’ensemble de ces commandes la
semaine prochaine. On livrera ce que les capacités de production permettent.
Il n’y a pas de pénalité à 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 à honorer la semaine prochaine pour maximiser le profit ?

(a) Formuler le problème linéaire de la maximisation du profit (choix des


variables, expression des contraintes et de l’objectif).
(b) Résoudre graphiquement. Donnez la solution optimale

10.2. Ventes de dentifrices. Une compagnie fabrique deux types de dentifrices.


La formule X procure un bénéfice net de 50 euro par mille tubes vendus.
On ne prévoit pas de vendre plus de 50 000 tubes de X par mois. La
formule Y procure un bénéfice 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és d’un ingrédient disponibles par mois. Chaque tube de la formule X
nécessite 2 unités de cet ingrédient, la formule Y en nécessite 4 unités. 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ésente plus
d’un quart de sa production totale (X et Y) au delà des 40 000 unités de X
contractées (c’est-à-dire plus d’un quart de X + Y - 40 000). Les productions
non multiples de 1 000 sont admises. L’entreprise cherche à maximiser sa
marge totale.

(a) Formuler le problème linéaire correspondant (choix des variables, ex-


pression de l’objectif, expression des contraintes.)
(b) Résoudre graphiquement. Donner la solution optimale obtenue et le
profit optimal.
178 Chapitre 10. La programmation linéaire.

10.3. Planification de la production. Une société dispose d’une certaine capacité


de production par mois (coût unitaire unitaire de production de 10 euros).
Elle peut aussi faire appel au stockage (coût unitaire d’un article en stock
en fin de mois d’un euro). La capacité de stockage est limitée à 10 unités.
Les capacités de production ainsi que les demandes prévisionnelles pour les
cinq prochains mois sont données au tableau suivant :

Période t 1 2 3 4 5
Capacité de production 18 15 15 18 15
Demande 12 17 13 21 18

Déterminer la politique optimale de production et de stockage sachant que


le stock en fin de période 0 est de 6 unités.

(a) Formuler le problème de transport comme un problème linéaire :


• Choix des variables de décision,
• Expression de l’objectif,
• Expression des contraintes
(b) Mettre sous la forme d’un modèle 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éaire lorsque l’on modifie certains coefficients du problème
(coefficients objectif ou du membre de droite). En effet, généralement la solution
numérique d’un problème linéaire est moins significative que de savoir comment
l’objectif va bouger si l’on modifie certaines données du problème. C’est l’objet
de ce que l’on appelle l’analyse postoptimale.
Pour voir l’effet de tels changements de données, une solution naı̈ve consiste à
appliquer le Simplexe au nouveau problème et bien sûr on peut en déduire l’effet
sur l’objectif. Mais nous allons voir dans ce chapitre que, si le sommet optimal du
problème original reste optimal pour le nouveau modèle, on peut prédire sans
résoudre le nouveau problème l’effet de variation des données 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 va-
leur optimale de l’objectif d’un programme linéaire en fonction des coefficients du
membre de droite est donnée par la valeur des “prix cachés”. Nous verrons com-
ment les déterminer graphiquement pour un exemple à deux variables et comment
déterminer le domaine de validité de ces prix cachés.
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é par la
valeur des variables à l’optimum. Nous verrons qu’il y a aussi un domaine de
validité pour ces valeurs optimales des variables.
Enfin, nous terminerons en donnant l’interprétation d’une autre information
que l’on peut tirer de la solution optimale d’un problème linéaire, à savoir la valeur
des coûts réduits des variables.

179
180 Chapitre 11. Analyse postoptimale.

11.2 Variation par rapport au second membre

La question qui se pose est ici la suivante : “Si on augmente la capacité 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ême
sommet reste optimal, on peut répondre à cette question de la manière suivante :
Le “prix caché” (noté yi∗ ) mesure l’augmentation de la fonction objectif si l’on
accroı̂t d’une unité la capacité disponible (bi ).

11.2.1 Calcul des prix cachés

Nous allons illustrer ceci sur sur l’exemple introductif du chapitre 10 dont l’énoncé
est rappelé ci-dessous.

max z = 3 x1 + 5 x2


 x1
 ≤ 4



 2x2 ≤ 12


s.c.q.

3x1 + 2x2 ≤ 18



 x1 ≥ 0




x2 ≥ 0

Considérons tout d’abord une augmentation de capacité du premier atelier de


b1 = 4 à b1 = 5. On peut voir à la figure 11.1 que le nouveau point optimal reste
le même
x∗ = x∗ = (2, 6).
En conséquence de quoi, la valeur optimale de l’objectif ne change pas :
z ∗ = z ∗ = 36
D’où une variation nulle de l’objectif, ce qui se traduit par une valeur nulle du
premier prix caché :
∆z = z ∗ − z ∗ = 0 = y1∗ .

Une augmentation de capacité du deuxième atelier de b2 = 12 à b2 = 13 donne


un déplacement du point optimal vers (voir figure 11.1) :
x∗ = (5/3, 13/2).
En conséquence de quoi, la nouvelle valeur de l’objectif est donnée 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
6
x1 = 4 2x2 = 12
x1 = 5
4

2 3x1 + 2x2 = 18

0 x1
0 2 4 6, 8
Figure 11.1: Analyse postoptimale.

D’où un accroissement de l’objectif qui détermine la valeur du deuxième prix


caché :
3
∆z = z ∗ − z ∗ = = y2∗ .
2
Enfin, considérons une augmentation de capacité du troisième atelier de b3 =
18 à b3 = 19. Comme on peut le voir à la figure 11.2, cela donne un déplacement
du point optimal vers :
x∗ = (7/3, 6).
En conséquence de quoi, la nouvelle valeur de l’objectif vaut :

z ∗ = 37

D’où une augmentation d’objectif qui détermine la valeur du troisième prix caché :

∆z = z ∗ − z ∗ = 1 = y3∗ .

Le résultat peut aussi être interprété dans l’autre sens : y3∗ est la perte de profit
si on diminue d’une unité la capacité du troisième atelier.
Remarquer que dans la pratique, si on utilise la forme algébrique de l’algorithme
du Simplexe, ces prix cachés sont calculés automatiquement par l’algorithme.
C’est ainsi que tout bonne implémentation de l’algorithme du Simplexe fournit
cette information (voir le rapport de sensibilité d’Excel présenté au chapitre 10).
182 Chapitre 11. Analyse postoptimale.

x2
z = 3x1 + 5x2
10
3x1 + 2x2 = 19
8
(7/3, 6)
6 2x2 = 12
x1 = 4
4

2
3x1 + 2x2 = 18

0 2 4 6 8 x1

Figure 11.2: Variation de capacité de l’atelier 3.

11.2.2 Analyse de sensibilité au membre de droite

Remarquons, et ceci est l’objet de l’analyse de sensibilité qu’il y a une limite de


validité de chaque prix caché. En effet, dans le cas de la première 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ême d’une diminution. En effet, en dessous
de b1 = 2, la solution optimale va changer. On a donc déterminé le domaine de
validité de y1∗ = 0 : il s’agit de l’intervalle :
b1 ∈ [2, +∞].

Pour le deuxième atelier, au delà de b2 = 18, la solution optimale reste en (0,9).


Le sommet optimum n’est plus à l’intersection des contraintes (2) et (3) mais bien
à l’intersection des contraintes (3) et (5). Au delà de ce point, y2∗ change :
y2∗ = 0.
De même, une diminution en dessous de b2 = 6 va changer le sommet optimal :
en effet, il sera à l’intersection des contraintes (1) et (2) et non plus à l’intersection
des contraintes (2) et (3). On en déduit le domaine de validité de y2∗ = 3/2 :
b2 ∈ [6, 18].

Pour le troisième atelier, au delà 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ême, une diminution en dessous de b3 = 12 va changer le sommet optimal.


On en déduit le domaine de validité de y3∗ = 1 : il s’agit de l’intervalle :

b3 ∈ [12, 24].

Ces informations sont données dans le rapport de sensibilité 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é
pour une contrainte non liante. Une contrainte non liante est une contrainte où
la variable d’écart est non nulle. Par exemple, la première contrainte

x1 ≤ 4

a un “prix caché” nul. Ceci a une interprétation économique. La ressource n’est


pas entièrement utilisée : il ne sert donc à 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ût de production unitaire, quel est l’impact sur la valeur de
l’objectif ?”
A nouveau, on peut prédire 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ême. Seul le profit optimal
change. Le nouveau profit vaut donc :

n
z∗ = (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 .
184 Chapitre 11. Analyse postoptimale.

La “valeur de la j ème variable à l’optimum” (notée x∗j ) mesure l’augmenta-


tion de la fonction objectif si l’on accroı̂t d’une unité la marge unitaire cj .
Nous allons à nouveau l’illustrer sur le même exemple introductif. D’après
le résultat énoncé 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é. Autre-
ment dit, l’objectif devient :

max z = 4x1 + 5x2

On constate à 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éduit la nouvelle valeur de l’objectif :



z ∗ = 4 × 2 + 5 × 6 = 38

L’augmentation de l’objectif correspond bien à la valeur de x∗1 :

∆z ∗ = 38 − 36 = 2 = x∗1

11.3.1 Analyse de sensibilité aux coefficients objectif

Considérons maintenant la question l’analyse de sensibilité. On veut, par exemple,


déterminer 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’à ce que
l’objectif z = c1 x1 + 5x2 soit parallèle au segment

2x2 = 12,

c’est-à-dire lorsque c1 = 0. Le coefficient c1 peut augmenter jusqu’à ce que l’ob-


jectif z = c1 x1 + 5x2 soit parallèle au segment

3x1 + 2x2 = 18.


Section 11.3. Variation des coefficients objectifs 185

x2

10

8
(2, 6)
6
z = 4x1 + 5x2 = 38
4 z = 3x1 + 5x2 = 36

0 2 4 6 8 10 12 x1

Figure 11.3: Analyse de sensibilité de c1 .

Ceci se produit lorsqu’il y a égalité des pentes :


−c1 −3
= ,
5 2
c’est-à-dire lorsque c1 = 15/2. On en conclut que tant que
c1 ∈ [0, 15/2],
on a le même sommet optimal et donc la même solution optimale.
Effectuons l’analyse de sensibilité pour le second coefficient objectif. Celui-ci
peut décroı̂tre jusqu’à ce que l’objectif z = 3x1 + c2 x2 soit parallèle au segment
3x1 + 2x2 = 18.
Ceci se produit lorsqu’il y a égalité des pentes :
−3 −3
= ,
c2 2
c’est-à-dire lorsque c2 = 2. Dans l’autre sens, c2 peut augmenter jusqu’à ce que
l’objectif z = 3x1 + c2 x2 soit parallèle au segment
2x2 = 12.
Ceci ne se produit jamais. On en conclut que tant que :
c2 ∈ [2, +∞[,
on a le même sommet optimal et donc la même solution optimale.
Ces intervalles de sensibilité sont donnés dans le rapport de sensibilité du
solveur d’Excel (voir chapitre 10).
186 Chapitre 11. Analyse postoptimale.

11.4 Coût réduit des variables hors base

On appelle variables hors base celles dont la valeur est à zéro à l’optimum.
Le “coût réduit” de la variable hors base xj , noté dj , mesure l’augmentation
de la fonction objectif si l’on accroı̂t d’une unité 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ème 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ème est donc :

max z = 3x1 +5x2 +4x3


s.c.q. x1 +x3 ≤ 4
2x2 +2x3 ≤ 12
3x1 +2x2 +3x3 ≤ 18
x1 , x2 , x3 ≥ 0
La solution optimale de ce problème est déterminée 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érieure au chassis 1, consomme plus de
ressources. Si on produit une unité de x3 , on va faire un bénéfice de 4 mais on va
retirer en capacité respectivement 1, 2 et 3 heures pour les deux autres productions.
Ce qui revient à diminuer les membres de droites des contraintes qui deviennent :



 x1 ≤ 4 − x3 = 3 (1)

2x2 ≤ 12 − 2x3 = 10 (2)


3x1 +2x2 ≤ 18 − 3x3 = 15 (3)
De (2), on en tire que x∗2 ≤ 5. On perd une unité 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é du produit 3 vaut donc :
∆z ∗ = −1/3 × 3 − 1 × 5 + 1 × 4 = −2 = d3
Le coût réduit, noté d3 , est négatif, traduisant le fait que si la production de ce chassis
était positive, elle diminuerait le profit d’autant. Pour qu’il devienne intéressant de
produire le chassis, il faut donc augmenter sa marge d’au moins deux unités. Ici,
le coût réduit s’interprète comme l’opposé de l’augmentation minimale de prix
pour que la production devienne intéressante. A nouveau, le solveur d’Excel
fournit cette information (voir chapitre 10).
Section 11.5. Exercices 187

11.5 Exercices

11.1. Plan de production. Une société produit deux articles A et B. La production


est limitée par les disponibilités en matières premières : la matière première
P1 est limitée à 21 unités par semaine et P2 à 30 unités par semaine. La
production est également limitée 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é de A nécessite
un ouvrier pendant une semaine, 9 unités de P1 et 10 unités de P2. La
production d’une unité de B nécessite un ouvrier pendant une semaine, 3
unités de P1 et 4 unités de P2. Le profit (en milliers d’Euro) associé à la
vente d’une unité de A est de 6, il est de 3 pour une unité de B.

(a) Écrire le programme linéaire correspondant.


(b) Résoudre graphiquement.
(c) Déterminer l’intervalle de variation maximum de la marge sur le produit
B qui préserve la solution optimale déterminée ci-dessus.

11.2. Production de peintures. Une société de mélange de peinture produit à


la fois des peintures intérieures et des peintures extérieures en mélangeant
deux matériaux de base, notés M1 et M2. Le tableau ci-dessous fournit les
données de base du problème.

Peinture Peinture Disponible


intérieure extérieure par jour
Matériau M1 requis 6 4 24
Matériau M2 requis 1 2 6
Marge (1000 $ par tonne) 5 4

Une étude de marché indique que la demande journalière de peinture exté-


rieure ne peut excéder celle de la peinture intérieure de plus d’une tonne.
D’autre part, le maximum de la demande journalière de peinture extérieure
est de 2 tonnes. On se demande comment déterminer la meilleure combi-
naison de production de peintures intérieure et extérieure afin de maximiser
le profit journalier.

(a) Formuler le problème : choix des variables (avec leurs unités), expres-
sion de l’objectif (avec son unité de compte) et des contraintes.
(b) Résoudre graphiquement le problème.
188 Chapitre 11. Analyse postoptimale.

(c) Il y a incertitude sur le prix de vente de la peinture extérieure. Dans


quel domaine de variation doit se trouver la marge du second produit
afin de conserver la solution optimale déterminée ci-dessus ?
(d) En déduire l’effet sur le profit d’une augmentation de la marge du
second produit de 4 à 6.
11.3. Répartition du budget publicitaire. Une société envisage un plan de pu-
blicités pour augmenter ses ventes. Le tableau ci-dessous fournit l’augmen-
tation des ventes prévues en fonction du type de campagne envisagée. On
envisage trois types de publicités : les spots à la télévision, les annonces
dans les magazines, les annonces dans les journaux.

Type de publicité Spots TV annonces annonces Montant


magazines journaux max
Augmentation de vente 130 60 50
par campagne
Coût d’une campagne 300 000 150 000 100 000 4 millions
Coût de conception 90 000 30 000 40 000 1 million
Nombre max de campagnes 1 0 0 5

Outre le coût demandé par le média qui va difuser la publicité (ligne “coût
d’une campagne”) pour lequel il existe un budget maximum de 4 millions
d’euros, il faut payer l’agence de publicité pour la conception de la publicité
(ligne “coût 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és dans la
période considérée.
On demande de déterminer le nombre de campagnes de publicité à effectuer
dans chaque média pour maximiser les nouvelles ventes tout en respectant
les contraintes de budget publicitaire, de coût de conception et du nombre
maximum de spots tv par période.
(a) Formuler le problème de répartition du budget publicitaire (choix des
variables de décisions, expression de l’objectif, expression des cont-
raintes.)
(b) Mettre sous la forme d’un modèle de calcul en Excel.
(c) Donner la solution obtenue par Excel.
(d) Quel serait l’effet de lancer un spot tv supplémentaire ?
Chapitre 12

La programmation en nombres entiers.

12.1 Introduction

La programmation en nombres entiers permet de modéliser et, grâce à la méthode


que nous présenterons dans ce chapitre, de résoudre :

• des problèmes avec coût fixe de mise en route (voir chapitre 5 sur la plani-
fication de production);

• des problèmes avec des conditions logiques, par exemple des disjonctions
en gestion de projet (voir chapitre 7);

• des problèmes de choix parmi un nombre limité de valeurs, par exemple


des choix de capacité (voir chapitre 8);

• des problèmes de mélange avec nombre limité d’ingrédients,. . . etc.

Définition 12.1 On appelle problème en nombres entiers la maximisation d’une


fonction linéaire sous des contraintes linéaires lorsqu’en plus toutes les variables
doivent être entières.

Définition 12.2 On appelle problèmes mixtes entiers (MIP en anglais pour Mixed
Integer Programming) les problèmes comportant un certain nombre de variables
positives et un certain nombre de variables entières.

L’algorithme du Simplexe fournit une méthode de résolution générale pour tous


les problèmes linéaires, quelle que soit leur forme. Au contraire, en programmation
en nombres entiers, on ne dispose pas d’un algorithme général qui permette de
résoudre efficacement tous les problèmes en nombres entiers. Cependant, il existe
une méthode générale connue sous le nom de méthode de branch and bound qui
permet de résoudre bon nombre de problèmes en nombres entiers.

189
190 Chapitre 12. La programmation en nombres entiers.

12.2 Formulation des problèmes mixtes

Nous allons voir quelques problèmes classiques nécessitant le recours à la pro-


grammation mixte entière.

12.2.1 Problèmes avec coûts fixes

Exemple 12.1 Problèmes avec coût fixe de mise en route de la production.


On veut représenter un coût 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ût fixe de
production, ainsi que d’un coût proportionnel, le taux marginal étant m.

On veut donc pouvoir exprimer la fonction de coût suivante :


Si x = 0, c(x) = 0;
(12.1)
Si x > 0, c(x) = K + mx.
où x dénote le niveau de production.
Cette fonction est représentée à la figure 12.1.

c(x)

x
Figure 12.1: Représentation d’un coût fixe.

La représentation mathématique de ce coût fixe nécessite :

1. l’ajout d’une variable indicatrice d’une production positive :



1 si x > 0
y=
0 si x = 0

2. la modification de la fonction objectif en :


c(x, y) = Ky + mx
qui devient donc purement linéaire;
Section 12.2. Formulation des problèmes mixtes 191

3. l’ajout des contraintes suivantes :


x ≤ M y, et y ∈ {0, 1} (12.2)
avec M une borne supérieure sur la quantité produite (x).

Remarquons que si x > 0, par les relations (12.2), on a que y = 1 et on tient


compte du coût 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 évite le
coût fixe !
Il y a de nombreuses applications de cette modélisation des coûts fixes par la
programmation mixte entière. Un exemple de mise en application de ces coûts
fixes est fournit par l’exemple localisation simple qui suit.

Exemple 12.2 Le problème de localisation simple. Il y a n clients pour un


certain produit. La demande annuelle de ces clients, notée dj pour le client j, peut
être satisfaite à partir de m dépôts. Le coût de transport unitaire entre le dépôt i
et le client j est donné par cij alors que l’utilisation du dépôt i implique un coût
fixe annuel d’ouverture du dépôt de fi . La capacité du dépôt i est notée si .

Par exemple, on peut imaginer le problème de l’approvisionnement des stations


services d’une compagnie pétrolière. Elle dispose, pour ce faire, de plusieurs
emplacements possibles pour ses dépôts. Le coût fixe revient ici à l’ouverture du
dépôt. Le coût de transport entre un dépôt et une station d’essence représente le
coût du transport routier par camion citerne.

Choix des variables :

Le choix le plus évident est de considérer xij comme étant la partie de demande
du client j satisfaite à partir de l’entrepôt i (voir figure 12.2). Une seconde série
de variables yi , astreintes à être binaires, représente l’ouverture du dépôt :

1 si le dépôt 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’écrire de la manière suivante :

m
xij = dj , j = 1, . . ., n
i=1
192 Chapitre 12. La programmation en nombres entiers.

1 1

2 2

si dj
i xij j

m n

Figure 12.2: Problème de localisation simple.

En effet, si l’on fait la somme sur tous les entrepôts des parties de la demande du
client j satisfaites à partir de ces entrepôts, on doit obtenir exactement la demande
du client.
La seconde série de contraintes exprime la liaison entre l’utilisation d’un ent-
repôt et son ouverture. Elles peuvent s’écrire de la manière 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ûts totaux et s’exprime donc


comme : m n  m 
min z = cij xij + fi yi
i=1 j=1 i=1

On peut maintenant démontrer que yi est bien une indicatrice d’ouverture du



dépôt i. En effet, soit il n’y a aucun prélèvement au dépôt ( nj=1 xij = 0) et
yi = 0 ou yi = 1 sont admissibles pour (12.3). Cependant, comme ouvrir le dépôt
(c’est-à-dire prendre yi = 1) implique un coût fixe d’ouverture, l’algorithme de
minimisation des coûts choisira yi∗ = 0 comme solution. D’autre part, s’il y a

prélèvement au dépôt ( nj=1 xij > 0), dans ce cas seul yi = 1 est admissible et
la première contrainte de (12.3) impose de respecter la capacité du dépôt. Ceci
est une façon très classique d’exprimer des coûts fixes d’ouverture via l’utilisation
d’une variable binaire.
Section 12.2. Formulation des problèmes mixtes 193

12.2.2 Problèmes avec contrainte logique

Parfois des problèmes de gestion de production comportent une condition logique.


Un exemple typique est celui des problèmes de gestion de projets avec contrainte
disjonctive. Pour rappel, dans ces problèmes, on doit déterminer l’enchaı̂nement
des tâches du projet de manière à le réaliser dans le meilleur délai. Il se peut que
deux tâches doivent être effectuées par la même équipe d’ouvriers, soit mettent
en œuvre la même machine. Les deux tâches ne peuvent donc avoir lieu simul-
tanément, sans que l’on puisse dire laquelle doit être effectuée en premier lieu.
Mathématiquement, on peut écrire ceci par la condition suivante :

ti + di ≤ tj si i est réalisée avant j
soit (12.4)
tj + dj ≤ ti si j est réalisée avant i
où ti est la variable indiquant le temps de début de la tâche i et di , sa durée, est
donnée.
Cette disjonction peut être résolue par la programmation mixte 0/1. En
effet, définissons la variable binaire yij , dont la valeur est 1 si la tache i est réalisée
avant la tâche j et 0 dans le cas contraire :

1 si la tâche i est effectuée avant j,
yij =
 0 sinon

On remplace alors la condition de disjonction (12.4) par les contraintes sui-


vantes : 
 ti + di ≤ tj + M (1 − yij )

tj + dj ≤ ti + M yij (12.5)


yij ∈ {0, 1}
où M note une borne supérieure sur la date de fin des travaux.
Démontrons l’équivalence. Deux cas sont possibles pour la variable binaire :
1. Cas où yij = 1 : dans ce cas, le système (12.5) devient :

ti + di ≤ tj
tj + dj ≤ ti + M
La première contrainte exprime donc que la tâche i doit être finie avant que ne
commence la tâche j. La seconde contrainte est automatiquement satisfaite.
2. Cas yij = 0 : dans ce cas, le système (12.5) devient :

ti + di ≤ tj + M
tj + dj ≤ ti
La première contrainte est automatiquement satisfaite. La seconde contrainte
exprime que la tâche j doit être finie avant que ne commence la tâche i.
194 Chapitre 12. La programmation en nombres entiers.

12.2.3 Mélange avec nombre limité d’ingrédients

Il s’agit également d’un problème générique conduisant à une formulation mixte


entière, les variables binaires indiquant la présence d’un ingrédient dans le mélange.
C’est le cas, par exemple, d’un problème de mélange d’huiles où cinq huiles
sont disponibles mais où des contraintes techniques impliquent que seulement trois
huiles différentes peuvent être présentes dans le mélange. Un autre exemple, est
celui du chargement de hauts fourneaux où le nombre de charbons disponibles
est souvent nettement supérieur au nombre de charbons qui peuvent être chargés
simultanément. Ce nombre étant limité par le nombre de portes de chargement du
haut fourneau.
Ce problème peut être résolu par la programmation mixte zéro/un. Si xi
note la quantité d’ingrédient i dans le mélange, définissons la variable binaire yi
indiquant la présence de l’ingrédient i dans le mélange. Autrement dit :

1 si xi > 0
yi =
0 si xi = 0

On introduit alors les contraintes suivantes :

mi yi ≤ xi ≤ Mi yi et yi ∈ {0, 1} (12.6)

où mi est une borne inférieure sur la teneur de xi dans le mélange et Mi est une
borne supérieure sur la teneur de xi dans le mélange.
La condition du nombre maximum d’ingrédients dans le mélange s’exprime
alors simplement par :

n
yi ≤ k, (12.7)
i=1

avec k, le nombre maximum d’ingrédients dans le mélange.


Démontrons l’équivalence. 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édient i est dans le mélange.

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édients seront pris
dans le mélange.

On a donc bien que yi est une indicatrice de présence de l’ingrédient i dans le


mélange.
Section 12.3. Principe de la méthode de branch and bound 195

12.2.4 Choix parmi un nombre discret de valeurs

Dans beaucoup de problèmes industriels, lors du dimensionnement d’un appareil-


lage, on doit choisir sa capacité parmi les valeurs commerciales existant sur le
marché. Par exemple, lors du dimensionnement d’une canalisation de transport
d’eau, on doit choisir parmi les valeurs suivantes pour le diamètre :

12 cm, 17 cm, 24 cm ou 47 cm.

On peut à nouveau modéliser ce choix par l’utilisation de variables binaires. En


effet, définissons la variable x comme étant le diamètre choisi et définissons yi une
indicatrice du fait que le diamètre numéro i a été choisi :

1 si x = di
yi =
0 si sinon.

On peut alors écrire la relation suivante pour le choix du diamètre :

x = 12y1 + 17y2 + 24y3 + 47y4

avec la contrainte qu’un seul diamètre doit être choisi :

y1 + y2 + y3 + y4 = 1 (12.8)

et bien sûr en imposant le caractère 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éthode de branch and bound

La méthode de “branch and bound” ou encore appelée méthode de séparation et


évaluation que nous allons maintenant décrire est destinée à résoudre les problèmes
en nombres entiers du type suivant :

z ∗ = max cT x
Ax ≤ b,
s.c.q.
x ≥ 0 et entiers.

Cette méthode peut également être appliquée aux problèmes avec variables binaires
(zéro-un). Elle peut également être appliquée aux problèmes mixtes (MIP), c’est-
à-dire aux problèmes comportant un certain nombre de variables entières et un
certain nombre de variables continues.
196 Chapitre 12. La programmation en nombres entiers.

Nous illustrons la méthode sur l’exemple suivant tiré de Norbert et al [15] dont
on a légèrement modifié la fonction objectif :

z ∗ = max z = 15x1 + 50x2




 −x1 + 2x2 ≤ 5,






 x1 + 2x2 ≤ 14, (12.9)
s.c.q. 

 x1 ≤ 8,





 x1 , x2 ≥ 0 et entiers

La région réalisable est représentée à la figure 12.3.

(3)
(2)
x2 (1)
P0
5 P2
P1
P3
4
z = 150
3

0
0 1 2 3 4 5 6 7 8 9 10 x1

Figure 12.3: Représentation de la région réalisable.

Remarquons qu’une façon de résoudre le problème serait de construire une


borne supérieure sur z ∗ et une borne inférieure sur z ∗ et ensuite de raffiner ces
bornes jusqu’à les égaliser.
Question 1 : comment construire une borne inférieure sur z ∗ ?
La réponse à cette question est à la fois simple et difficile. En effet, pour
trouver une borne inférieure, il suffit de donner une solution réalisable pour (12.9).
Comme l’objectif est de maximiser, l’optimum du problème ne pourra qu’être
supérieur à la valeur de z en ce point. Par exemple, le point (4,4) appartient à la
région réalisable :
z(4, 4) = 15 × 4 + 50 × 4 = 260 ≤ zP∗ N E
Section 12.4. Application à l’exemple 197

Cependant trouver en général une solution réalisable pour un problème en nombres


entiers n’est pas une mince affaire.
Question 2 : comment construire une borne supérieure sur z ∗ ?
Une façon de répondre à cette question est de résoudre le problème linéaire que
l’on obtient à partir de (12.9) en laissant tomber les contraintes d’intégralité des
variables. Comme on maximise sur un ensemble réalisable plus large, l’optimum
ainsi obtenu ne pourra qu’être supérieur à l’optimum du problème en nombres
entiers. C’est aussi le premier pas de la méthode de branch and bound que nous
allons maintenant décrire sur l’exemple.

12.4 Application à l’exemple

Pas 0. Résoudre la relaxation linéaire.


Pour cet exemple, on obtient comme solution de la relaxation linéaire le point noté
P0 à la figure 12.3 :

x1 = 4, 5
x2 = 4, 75
z0 = 305.

Cette solution est inacceptable car les variables ne sont pas entières. Cependant,
elle fournit une première borne supérieure sur z ∗ :

z ∗ ≤ 305.

Pas 1. Brancher sur une variable non entière.


La seconde idée de la méthode de branch and bound est (comme le nom l’indique)
d’opérer une séparation : la région réalisable va être séparée en deux sous-régions
dont aucune ne peut contenir la solution optimale non entière P0 . Cette séparation
nécessite le choix d’une variable de séparation. Le choix de cette variable est
heuristique. Différents choix sont possibles et de ce choix peut dépendre l’efficacité
de la méthode de résolution. Une façon simple de choisir cette variable est de
prendre la variable la plus distante d’un entier. Une alternative, parfois utilisée,
est de prendre la variable la plus proche d’un entier.
Le “critère de choix de la variable de branchement” adopté 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ères, il n’y a
198 Chapitre 12. La programmation en nombres entiers.

aucune perte de généralité d’imposer que

soit x1 ≤ 4 soit x1 ≥ 5

Cependant imposer cette condition va éliminer la solution courante P0 de la relaxa-


tion linéaire. En général si la variable choisie xk a la valeur fractionnaire N + ,
on imposera :
soit xk ≤ N soit xk ≥ N + 1

En imposant séparément l’une et l’autre conditions, on obtient deux sous-


modèles, un modèle fils et un modèle fille. Ce que l’on représente par une dia-
gramme 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 4 x1 5

z1 = 285 z2 = 300
x1 = 4 x1 = 5
x 2 = 4, 5 x 2 = 4, 5
x2 4 x2 5

z3 = 290 z4 = ∞
x1 = 6 Problème
x2 = 4 non réalisable

Figure 12.4: Arbre de branch and bound.

à un problème linéaire. Le nœud 0 au modèle original. Le nœud 1 est le modèle


original avec en plus la restriction x1 ≤ 4, tandis que le nœud 2 correspond au
modèle original avec en plus la restriction x1 ≥ 5. On a ici numéroté les nœuds
dans l’ordre où ils ont été générés.
On peut maintenant résoudre les relaxations linéaires correspondant aux pro-
blèmes 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 élevées
que dans la relaxation linéaire précédente. Ceci n’est pas étonnant : on a, en
Section 12.4. Application à l’exemple 199

effet, ajouté des contraintes et donc restreint l’espace des solutions réalisables.
Comme les deux sous-régions forment une représentation contenant l’ensemble
des solution entières, on peut en conclure que la borne supérieure sur z ∗ est :

z ∗ ≤ max(z1 , z2 ) = 300.

Pas 2. Diviser à 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 à nouveau. Le choix du nœud à diviser est à nouveau heuristique
et peut à nouveau avoir une grande influence sur le temps total mis pour résoudre
le problème. Pour l’illustration de la méthode, nous adoptons la règle de choix
heuristique suivante :
Le “critère de choix du nœud à diviser” adopté ici est de prendre la la re-
laxation linéaire fournit la meilleure (c’est-à-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épète le Pas 1.
Pas 1. Choisir une variable pour brancher.
Ici seule la variable x2 est non entière. On la choisit donc pour opérer le branche-
ment suivant :
soit x2 ≤ 4 soit x2 ≥ 5
On ajoute séparément chacune de ces contraintes aux contraintes du problème 2
et on génère ainsi les nœuds 3 et 4. Ceci est illustré à la figure 12.4. On résout
graphiquement les relaxations linéaires (voir figure 12.3) et on obtient les solutions
suivantes :

Noeud 3 : x1 = 6, x2 = 4, z3 = 290.
Noeud 4 : non réalisable

Noter que, au nœud 3, on a obtenu une solution entière dont la valeur correspon-
dante de la fonction objectif est 290. On a une première borne inférieure sur la
valeur optimale de la fonction objectif et on a donc que :

290 ≤ z ∗

Il est clair également qu’il n’y a aucune raison de continuer à diviser le nœud 3
pour lequel la solution optimale du problème en nombres entiers a été obtenue.
On dit que le nœud 3 est coupé.
Remarquons aussi que le nœud 4 a conduit à un problème non réalisable. Ce
n’est pas é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 à rien de continuer à diviser ce nœud. On peut donc couper
le nœud 4.
Remarquons, pour terminer, que l’on peut également couper la branche du
nœud 1. En effet, la valeur de z1 = 285 est inférieure à la borne inférieure de 290
qui vient d’être trouvée. On n’a donc aucun espoir de trouver en poursuivant les
calculs à la branche 1 de trouver une solution entière meilleure que 290. Dans le
cas contraire, on aurait du diviser la branche 1.
La méthode est terminée puisqu’il n’existe plus de nœud à diviser. On déter-
mine la solution optimale comme étant la meilleure solution entière trouvée. 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é et aussi prouvé que la solution du nœud 3 était la solution
optimale du problème en nombres entiers.
En conclusions, il y a trois raisons de couper une branche dans l’arbre :

1. lorsque la relaxation linéaire obtenue est non réalisable (cas du nœud 4),

2. lorsque la relaxation linéaire obtenue fournit une solution entière (cas du


nœud 3),

3. lorsque la valeur de la borne supérieure est inférieure à la valeur de la meil-


leure solution entière obtenue (cas du nœud 1).

Enfin terminons par les remarques générales suivantes.


Si la région réalisable de la relaxation linéaire n’est pas bornée, il n’y a pas
de garantie de convergence de la méthode de branch and bound. Pour éviter ce
problème, certaines implémentations demandent une borne inférieure et supérieure
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éthode générale pour ré-
soudre les problèmes en nombres entiers. Il s’agit de la méthode dite des plans cou-
pants. En effet, elle génère des plans qui “coupent” les solutions fractionnaires. Re-
marquons cependant que, d’un point de vue algorithmique, cette méthode s’avère
moins performante (sauf à exploiter la structure particulière du problème) que la
méthode de “branch and bound” et n’est donc pas celle qui est implémentée dans
les logiciels commerciaux de programmation mixte.
Section 12.5. Exercices 201

12.5 Exercices

12.1. Mutation des officiers. L’armée a une politique de mutation régulière de


ses officiers. Tous les trois ans, ces officiers sont mutés à un autre poste pour
assurer la polyvalence du commandement et éviter que trop de fraternité ne
s’installe entre les officiers et la troupe. L’armée, pour établir son plan de
mutation, tient compte du désagrément d’être muté loin de sa base d’origine.
Et il est clair que, par exemple dans le cas d’un officier marié dont la femme
travaille dans le civil, le désagrément sera d’autant plus grand que la nouvelle
affectation sera éloignée. Pour les 5 officiers à muter cette année, on a établi
le coût de les affecter à chacun des 4 autres postes occupés par les collègues.
Cette information est reprise dans au tableau 12.1. Formuler le problème de

Coût pour d’être muté au poste


l’officier a b c d e
A - 12 15 11 17
B 6 - 14 12 16
C 8 17 - 21 17
D 7 16 9 - 12
E 7 13 8 12 -

Tableau 12.1: Désagrément de la mutation

la minimisation du désagrément 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ésire planifier
sa production pour les quatre prochains mois. Le tableau 12.2 fournit le
nombre de moteurs à fournir en fin de chaque mois pour les quatre premiers
mois de l’année. En fonction des opérations de maintenance, la capacité de
production est différente de mois en mois. Elle est donnée au tableau 12.2.
Le coût unitaire de production varie également de mois en mois. Au vu des
données, il est clair qu’il faudra recourir au stockage. Une unité en stock
en fin de mois a un coût unitaire de stockage donné au tableau 12.2. On
se demande comment organiser la production du moteur pour minimiser les
coûts de production et de stockage.
(a) En utilisant les symboles définis en deuxième ligne du tableau 12.2
plutôt que les données numériques particulières, formulez le problème
de la minimisation du coût total de production et de stockage des mo-
teurs :
202 Chapitre 12. La programmation en nombres entiers.

Mois Commandes Capacité Coût de production Coût de stockage


(t) (COMt ) (CAPt ) (CPt ) (CSt )
Janvier 10 25 1,08 0,015
Février 15 35 1,11 0,015
Mars 25 30 1,10 0,015
Avril 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ût fixe de mise en route de la produc-
tion de 2,5 à chaque mois où l’on produit, modifiez votre formulation
pour tenir compte de ce coût 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éthode de branch and bound. Considérons le problème 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ésoudre le problème par la méthode de branch and bound


en résolvant les relaxations linéaires de manière purement graphique.
(a) Résoudre graphiquement la relaxation linéaire initiale. Remarque :
n’hachurez pas la région réalisable. Entourez-la d’une couleur afin de
pouvoir encore utiliser le graphique pour la suite de l’exercice. Donnez
la solution optimale du problème linéaire ainsi que la valeur optimale
de l’objectif de ce problème.
(b) Représenter par un arbre la suite de vos calculs de la méthode de branch
and bound. Comme critère de choix de la variable de branchement,
prendre la première non entière. Justifiez brièvement les différents pas
de la méthode.
(c) Quelle est la solution optimale du problème en nombres entiers ?
Bibliographie

[1] BAGLIN Gérard, Olivier BRUEL, Alain GARREAU, Michel GREIF et


Christian VAN DELFT, Management Industriel et Logistique, 3ème 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ème Edition, Econo-
mica, 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ème édition, Pear-
son Education, Upper Saddle River, 2006.

[7] F.S. HILLIER et G.S. LIEBERMAN, Introduction to Operations Research,


6ème édition, Mac Graw-Hill International Editions, Singapour, 1995.

[8] F.S. HILLIER, M.S. HILLIER et G.S. LIEBERMAN, Introduction to Mana-


gement Sciences, 1ère é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ème édition, Pearson Education, Upper Saddle River, 2007.

[11] LACAZE Dominique, Optimisation appliquée à la gestion et à l’économie,


Economica, 1990.

[12] D. G. LUENBERGER, Linear and Nonlinear Programming, Addison Wes-


ley, 1984.

203
204 Bibliographie

[13] J.O. MAC CLAIN, L.J. THOMAS et J.B. MAZZOLA, Operations Manage-
ment: Production of Goods and Services, Prentice Hall, 1992.

[14] NEMHAUSER, G.L. et L.A. WOLSEY, Integer and Combinatorial Optimi-


zation, Wiley, New York, 1988.

[15] Y. NORBERT, R. OUELLET et R. PARENT, La recherche opérationnelle,


Gaëtan Morin Editeur, Montréal-Paris, 1995.

[16] Hamdy TAHA, Operations Resaerch: an Introduction, 8ème édition, Pearson


Education, Upper Saddle River, 2007.

[17] M.P. WILLIAMS, Model building in Mathematical Programming, John Wi-


ley, 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

Coût de gestion :

C(S) = cp Ip (S) + cr Ir (S) (+cc 1)


avec Ip (S) = stock moyen possédé :
Ip (S) = S − X̄ + Ir (S) (cas de stock à rotation nulle)

Ip (S) = S− X̄
2
+ Ir (S)
2
(cas de stock à rotation non nulle)
et Ir (S) = nombre moyen de demandes non satisfaites :
Ir (S) = λP (X > S − 1) − SP (X > S) si X ∼Poisson(λ)
S − X̄
Ir (s) = σg(tS ) avec : tS = si X ∼ N (µ, σ)
σ

Politique optimale en stock à rotation nulle :

cp
S ∗ tel que P (X > S ∗ ) ≤ ≤ P (X > S ∗ − 1) si X ∼ Poisson(λ)
cp + cr
cp
S ∗ tel que P (X > S ∗ ) = si X ∼ N (µ, σ)
cr + cp

Politique optimale en stock à rotation non nulle :

cp
S ∗ tel que P (X > S ∗ ) ≤ cp ≤ P (X > S ∗ − 1) si X ∼ Poisson(λ)
cr + 2
cp
S ∗ tel que P (X > S ∗ ) = cp si X ∼ N (µ, σ)
cr + 2

205
206 Annexe A. Formulaire pour la gestion de production

Conséquences économiques du choix :

• coût de gestion :

C(S) = cr Ir (S) + cp Ip (S) (+cc 1)

• marge nette moyenne :

B(S) = mu X̄ − C(S)

avec mu , la marge unitaire.

A.2 La gestion par point de commande

Niveau optimal de commande optimal :



∗ 2cc D
q =
cp
avec cp = coût unitaire de possession durant un an en stock;
D = demande annuelle.

Point de commande optimal :

s∗ = DL
avec L = délai d’approvisionnement, exprimé en année.

Calcul du stock moyen possédé et du nombre moyen de commandes :

q∗ D
Ip (q ∗ ) = et Ic (q ∗ ) = ∗
2 q

Coût de gestion en univers certain :

D q∗
C(q ∗ ) = cc Ic (q ∗ ) + cp Ip (q ∗ ) = cc + c p
q∗ 2
avec Ic (q) = nombre moyen de commandes par an;
Ip (q) = stock moyen possédé;
D = demande annuelle;
q∗ = quantité optimale commandée.
Section A.2. La gestion par point de commande 207

Coût de gestion en cas de demande aléatoire :

C(s, q) = cc Ic (q) + cp Ip (s, q) + cr Ir (s, q)


La quantité économique q est déterminée par :

∗ 2cc D
q = avec D = X̄
cp
Le point de commande s est déterminé en utilisant la gestion calendaire pendant
le délai d’obtention L (cas de la rotation non nulle) :
cp
P (XL > s∗ ) =
cr + cp /2
avec cp , le coût unitaire de possession entre deux commandes :
q∗
cp = cp .
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éterminé par (cas
de la rotation non nulle) :
cp
s∗ tel queP (XL > s∗ ) ≤ cp
≤ P (XL > s∗ − 1)
cr + 2

Conséquences économique du choix :

• Le stock de sécurité est la différence entre le point de commande et la de-


mande moyenne durant L :
s∗ − DL

• Le nombre de commandes par an est déterminé par :


D
Ic (q) =
q

• Le nombre moyen de ruptures par commande, noté Irc , se calcule par la


formule de la gestion calendaire :
Irc (s) = λP (XL > s − 1) − sP (XL > s) si XL ∼Poisson(λ)
s − X¯L
Irc (s) = σL g(tS ) avec tS = si XL ∼ N (µL , σL )
σL
208 Annexe A. Formulaire pour la gestion de production

• Le nombre moyen de ventes manquées par an s’élève donc à :


Ir (s, q) = Ic (q) × Irc (s)

• Le stock moyen possédé en cas de ventes manquées perdues :


q I c (s)
Ip (s, q) = + (s − DL) + r ,
2 2
• Le stock moyen possédé en cas de ventes manquées différées :
q DL c
Ip (s, q) = + (s − DL) + I (S).
2 2q r

A.3 Les techniques de juste à temps

Détermination du nombre d’étiquettes :

(1 + α)Cu Tr + Qe
Ne ≥
k
avec Cu = consommation du poste aval en unités par minute;
Qe = taille économique des lots fabriqués en amont;
k = la capacité d’un conteneur;
Tr = temps de réaction du système;
α = marge de sécurité.

A.4 Équilibrage d’une chaı̂ne de production

nc − T
RE =
nc
avec n = nombre de postes de travail,
c = temps d’un cycle,
T = temps total requis par un article.

A.5 Calcul d’annuités


n
t  
 1 1 − (1 + i)−n
=
t=1 1+i i
avec n = nombre d’années,
i = 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é P [Poisson(λ) > x]

209
210 Annexe B. Tables pour la gestion de stocks

λ
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é 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é P [Poisson(λ) > x]


212 Annexe B. Tables pour la gestion de stocks

λ
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é 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
214 Annexe B. Tables pour la gestion de stocks

B.2 Table de la loi normale Z ∼ N (0, 1)

P zj
zi 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é P (Z > zi + zj )


Section B.3. Table pour le calcul de Ir (S) 215

B.3 Table pour le calcul de Ir (S)

g(tS ) tj
ti 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
216 Annexe B. Tables pour la gestion de stocks

g(tS ) tj
ti 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ème de transport

a) Choix des variables : les quantités transportées de l’usine vers le marché.


b) Expression de l’objectif : minimisation de la somme des coûts de
transport.
c) Expression des contraintes :
• Respect de la capacité de l’usine,
• Satisfaction de la demande du marché,
• Positivité.
1.2 Optimisation du plan directeur de production.

a) Choix des variables indépendantes : les embauches et licenciements de


début de période.
Choix des variables dépendantes : les effectifs, la production et le
stock de fin de période.
b) Expression de l’objectif : minimisation de la somme des coûts d’em-
bauche, de licenciement et de stockage.
c) Expression des contraintes :
• Bilan sur les effectifs présent chaque période,
• Calcul de la production à chaque période,
• Bilan sur les stocks à chaque fin de période,
• Stock minimum de fin de période,
• Positivité.
1.3 Location de surfaces d’entreposage.

217
218 Annexe C. Solutions finales des exercices

a) Choix des variables : les surfaces louées de début de mois i à la fin du


mois j.
b) Expression de l’objectif : minimisation de la somme des coûts de loca-
tion.
c) Expression des contraintes :
• Satisfaction du besoin de surface à chaque période,
• Positivité.

1.4 Équilibrage du chargement d’un navire.

a) Choix des variables : nombre de tonnes du lot i chargées dans la soute


j et nombre total de tonnes chargées dans la soute j.
b) Expression de l’objectif : maximisation de la somme des tarifs reçus fois
le tonnage des lots.
c) Expression des contraintes :
• Respect de la capacité 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é.

C.2 Ordonnancement en ateliers spécialisés

2.1 Pose de carrelages.

a) Ordre pour réaliser les 5 chantiers en un minimum de temps :

C4 C1 C2 C3 C5

b) Représentation au moyen d’un diagramme de Gantt : voir cours.


c) Nombre de jours nécessaires au total : 32 jours.

2.2 Ordonnancement de lots de jouets.

a) Ordonnancement optimal des tâches passant sur A puis B :

J3 J5 J6
Section C.2. Ordonnancement en ateliers spécialisés 219

b) Ordonnancement optimal des tâches passant sur B puis A:

J1 J7

c) Ordonnancement des tâches pour la découpe (A) : J2


d) Ordonnancement des tâches pour le montage (B) : J4
e) Ordonnancement optimal pour les deux opérations:

A J3 J5 J6 J2 J1 J7
B J1 J7 J4 J3 J5 J6

f) Diagramme de Gantt : le temps de fin sur la machine B est de 105.

2.3 Planification de m tâches sur n centres de production.

a) Utilisez la méthode heuristique basée sur l’algorithme de Johnson pour


trouver une solution proche de la solution optimale :
Problème 1 : utiliser l’algorithme de Johnson pour le problème cons-
titué de la première et de la dernière machine :

Place 1 2 3 4 5 6
Tâche 2 3 4 5 6 1

Diagramme de Gantt : tf = 44.


Problème 2 : utiliser l’algorithme de Johnson pour le problème cons-
titué des deux premières et des deux dernières machines :

Place 1 2 3 4 5 6
Tâche 2 3 4 5 1 6

Diagramme de Gantt : tf = 43.


b) Ordonnancement proposé :

Lot 2 3 4 5 1 6

c) Durée de la production (en heures et minutes): tf = 430 minutes soit

7 heures et 10 minutes.
220 Annexe C. Solutions finales des exercices

C.3 Gestion calendaire de stock

3.1 Vente de fleurs.

a) Calcul de la moyenne de la demande :



n
X̄ = Di P (D = Di ) = 12
i=1

b) Nombre optimal de décorations florales à commander : S ∗ = 13 .


c) Nombre moyen de clients qui sortent de sa boutique chaque fin de week-
end sans avoir pu acheter une décoration florale ? Ir (S) = 0,9475 .
d) Nombre moyen de décorations florales que le fleuriste ambulant lui
rachète ? Ip (S) = 1,9475 .
e) Bénéfice net en un week-end sur ce produit ? B(S) = 119,00 euro .

3.2 Gestion d’une exploitation forestière.

a) Quantité à mettre en production pour minimiser le coût de gestion ?

S ∗ = 10.166 .

b) Quantité moyenne qu’il ne peut livrer par an faute de stock ?

Ir (S ∗ ) = 2,01 unités .

3.3 Gestion du stock de pièces de rechange.

a) Type de gestion de stock : Gestion calendaire de stock à rotation non


nulle. En effet, on reconstitue le stock tous les 4 ans et les pièces non
utilisées pour une machine le seront pour la suivante.
b) Nombre optimal de pièces à commander : S ∗ = 14 .
c) Nombre moyen d’arrêts de la machine : Ir (S) = 0,0314 .
d) Stock moyen possédé de pièces détachées : Ip (S) = 10,0157 .
e) Coût 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ètres ?
Il s’agit d’une politique de gestion de stock par point de commande à
deux casiers avec : q = 100 et s = 100.
b) Calculez le coût de détention en stock durant un an d’un Ipod :
cp = 0, 5 euros par an
c) Calculez la demande durant le délai d’obtention :
s = 20
d) Tracez l’évolution du stock au cours d’une année : le niveau du stock
oscille entre 80 et 180.
e) En déduire le coût de gestion annuel :
C(s, q) = 165
f) Que proposez-vous comme nouvelle quantité à commander ?
q ∗ = 200
g) Que proposez-vous comme seuil déclenchant 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é optimale d’enveloppes affranchies à commander
auprès de la société spécialisée 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 .
222 Annexe C. Solutions finales des exercices

C.5 La planification de la production

5.1 Détermination des besoins nets.


a) Besoins nets et lancements de production des produits finis :

PF1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
BBt 40 60 50 70
LPt 40 60 50 70 − −
PF2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
BBt 10 20 30 10 20 30 20 30
LPt 10 20 30 10 20 30 20 30 − −

Besoins nets, Lancements de Production et Stock Final des sous-ensembles :

S1 1 2 3 4 5 6 7 8 9 10 11 12 13 14
BNt 0 0 0 0 50 120 20 40 0 160 0 40 0 200
LPt 100 100 0 100 0 100 0 100 0 130
SFt 150 50 10 10 50 30 10 70 70 10 10 70 70 0

S2 1 2 3 4 5 6 7 8 9 10 11 12 13 14
BNt 0 0 0 0 150 0 0 0 150 0 0 0 210
LPt 0 150 0 0 0 150 0 0 0 210 − −
SFt 150 30 30 30 30 0 0 0 0 0 0 0 0 0

c) Besoins nets du composant A3 :

A3 1 2 3 4 5 6 7 8 9 10 11 12 13 14
BNt 0 0 0 480 120 440 40 580 0 520 0 760 − −

5.2 Importation de systèmes Home Cinéma.


a) Besoins nets pour l’ensemble ”Home Cinéma” :

H.C. Octobre Novembre Décembre Janvier Février


BNt 300 1200 900 400
Section C.5. La planification de la production 223

b) Besoins nets pour l’ensemble acoustique :

E.A. Octobre Novembre Décembre Janvier Février


BNt 0 1000 1200 600

c) Lancements de commande pour les ensembles Home Cinéma :

H.C. Octobre Novembre Décembre Janvier Février


LCt 300 1200 900 400

d) Lancements de commande pour les ensembles acoustiques, les com-


mandes étant multiples de 500 :

E.A. Octobre Novembre Décembre Janvier Février


LCt 1500 1500 500 -
SFt 600 100 0 300 200

e)Coûts de stockage par mois et par produit :

CSt Octobre Novembre Décembre Janvier Février


H.C. 10.000
E.A. 9.600 1.600 4.800 3.200

5.3 Production de robes de mariées.


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é :

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ût de stockage des robes sur les cinq semaines :


7 × (5 + 4 + 1 + 3) = 91 euros .
224 Annexe C. Solutions finales des exercices

C.6 Les techniques de juste à temps

6.1 Planification juste-à-temps d’une brasserie.


a) Nombre d’étiquettes pour assurer le fonctionnement en continu de l’em-
bouteillage sans tenir compte d’une taille économique minimale :
Ne = 11
b) Sachant que la quantité économique du poste amont est de 10.000 litres,
nombre d’étiquettes à ajouter dans le système ?
+Ne = + 34.
6.2 Production de hamburgers en restauration rapide.
a) Consommation en unités par minute pour ce hamburger :
Cu = 2, 083 unités par minute.
b) Le temps de réaction du système : Tr = 26 minutes .
c) Consommation pendant le temps de réaction du système :
Cu Tr = 54,166 hamburgers
d) Nombre minimum de plaques à mettre dans le système pour éviter la
rupture d’approvisionnement du comptoir vente :
Ne = 12 plaques.
e) Tenir compte des hamburgers jetés ? Il suffit d’ajouter 10 % à la demande
ou de prendre α = 10 % :
Ne = 12 plaques.
6.3 Transport de brames.
a) Nombre d’étiquettes nécessaires pour assurer le fonctionnement en
continu du laminoir aval :
Ne = 2
b) Coefficient de sécurité atteint ?
α = 89 %
c) Nombre d’étiquettes tenant compte de Qe = 120 tonnes ?
Ne = 4
d) Rythme auquel les lots des hauts-fourneaux doivent être délivrés pour
que le système 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éthode des potentiels, dates de début au plus tôt, au plus
tard : la date de fin est 19 semaines.
b) Chemin critique : D − A − I − F .
c) La tâche G ne peut commencer avant la semaine 10 : Cela ne modifie pas
le temps de réalisation du projet car la date de démarrage au plus tard
de la tâche 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âche D nécessitera deux semaines supplémentaires.
Cela modifie-t-il le temps de réalisation du projet ? Si oui, de combien ?
Cela retarde la fin du projet à 21 jours car la tâche est critique.
7.2 Ordonnancement de projets.
a) Graphe de la méthode des potentiels : il y a à la fois un arc entre 2 et 4
(+5) et entre 4 et 2 (-7).
b) Projet réalisable ? Le projet est non réalisable 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éalisable à coût minimum ? Il faut réduire la tâche 2
d’une semaine pour éliminer le cycle.
d) Durée totale du projet ? tf = 19 jours.
e) Activités n’appartenant pas au chemin critique ? Les tâches 0 et 1
n’appartiennent pas au chemin critique.
7.3 Planification d’un projet de télécommunications.
a) Graphe de la méthode PERT, calcul des date de début au plus tôt, de
début au plus tard et de la marge pour chaque activité : pensez à
décomposer B en deux périodes de 3 mois. Même astuce pour E.
b) Durée minimale du projet : 25 mois.
c) Activités critiques : A, B, D, E et G.
d) Retard d’exécution de chaque tâche sans allonger le projet :

Tâche A B C D E F G
Marge 0 0 1 0 0 2 0
226 Annexe C. Solutions finales des exercices

e) Réduire la durée du projet de 2 mois au moindre coût :


• D’abord, réduire D de 1 jour au surcoût de 100 euro.
Dans ce cas, C devient critique.
• Ensuite, réduire C + D de 1 jour au surcoût 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 à :
20 jours (avril) + 20 jours (mai) + 10 jours (juin).
La durée minimum de réalisation est aussi de 50 jours ouvrables : on
peut donc respecter le délai.
b) La pose des canalisations dure 6 jours de plus que prévu :
La répercussion sur la durée des travaux est de passer à 51 jours car la
tâche 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 à rien car la tâche est non critique.
7.5 Planification d’un projet de construction.
a) Graphe de la méthode PERT : on a un arc fictif entre la fin de D et le
début de H.
b) Durée minimale du projet ? tf = 25 mois.
c) Dates de début au + tôt, les marges, les dates de début au + tard :

Tâche A B C D E F G H
Date au plus tôt 0 0 5 5 8 8 13 13
Marge 0 5 3 0 3 6 11 0
Date au plus tard 0 5 8 5 11 14 24 13

d) Chemin critique ?
A−D−H
e) Les tâches E et F nécessitent toutes deux la présence d’un bulldozer :
On repousse le début de F en 10, soit après la fin de E. Il n’y a alors
plus de recouvrement entre E et F.
Quelle est alors la durée du projet ?
Comme la date au plus tard de F est 14, il n’y a aucune conséquence
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étoscopes.


a) Peut-on produire 30 unités 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étoscope.
Il faut donc 45 heures pour en produire 30 par jour. Réponse : non.
b) Détermination du temps de cycle : on veut 30 unités par jour. Or un jour
représente : 7, 5 × 2 × 60 = 900 minutes. Donc un magnétoscope doit
sortir de la chaı̂ne toutes les
900
= 30 minutes.
30
c) graphe de préséances : 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’équilibre :
3 × 30 − 90
RE = = 0%
3 × 30
8.2 Développement de complexes cinématographiques.
a) Arbre de décision complet : voir cours.
b) Calcul des valeurs nettes actualisées dans chacun des cas : notations :
RC = Rénover
NC = Nouveau Complexe
D = Demande forte
d = Demande faible
228 Annexe C. Solutions finales des exercices

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é de demande forte est de 45 % :

E(V AN ) = 13.800.050

E(V AN ) du N C si la probabilité de demande forte est de 45 % :

E(V AN ) = 14.947.915

Décision optimale ? ouvrir le nouveau complexe.

E(V AN ) de RC si la probabilité de demande forte est de 55 % :

E(V AN ) = 14.287.008

E(V AN )du N C si la probabilité de demande forte est de 55 % :

E(V AN ) = 18.356.621

Décision optimale ? ouvrir le nouveau complexe.

8.3 Problème de localisation de centre de distribution de pneus.

a) Représentation par un graphique de réseau : voir cours.


b) Formulation du problème :
• Variables : quantité de pneus transportées du dépôt i vers le pays
j et indicatrice de l’ouverture du dépôt i l’année prochaine.
• Contraintes :
– Capacité de production,
– Satisfaction de la demande,
– Non négativité et caractère binaire.
• Objectif : somme des coûts de transports et des frais fixes d’ou-
verture des dépôts.
Section C.9. La programmation dynamique 229

C.9 La programmation dynamique

9.1 Détermination du chemin critique par la programmation dynamique.

a) Formuler ce problème comme un problème dynamique.


Etapes : t = 1,2, 3 et 4 sont les étapes dans le chemin.
Etats du monde à chaque étape : st = nœud de départ de l’étape t.
Décision à chaque étape : xt = nœud d’arrivée de l’étape t.
Lien entre les variables :

st+1 = xt et xt ≥ 1

Objectif du problème : maximiser la somme des longueurs des arcs du


chemin.
b) Résoudre 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épartition du budget publicitaire.

a) Formulation en un problème de programmation dynamique :


• Choix des étapes :
t = 1, 2, 3 les produits.
• Choix des variables d’état :
xt = nombre de millions investis dans le produit t;
• Choix des variables de décision :
st = nombre de millions encore disponibles au début de l’étape t.
• Relation de récurrence entre les variables d’état de deux étapes
sucessives :
st+1 = st − xt
b) Utilisez la programmation dynamique pour résoudre ce problème : voir
cours (algorithme en cas de coût convexe).
Affectations optimales :

Produit t 1 2 3 Produit t 1 2 3
st 6 5 3 ou st 6 3 1
x∗t 1 2 3 x∗t 3 2 1
230 Annexe C. Solutions finales des exercices

9.3 Planification de production.

a) Détermination des besoins de C :

Période 1 2 3 4
Besoins nets 0 11 13 11

b) Déterminer le plan optimal de production et de stockage : Utiliser


l’algorithme en cas de coût convexe. Solution :

Mois 1 2 3
Production 12 12 11
Stock final 1 0 0

C.10 La programmation linéaire.

10.1 Optimisation d’une fonderie.

a) Formulation du problème :
• 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é des ateliers,
– Limite de commandes,
– Non négativité.
b) Résolution graphique : voir cours. Solution optimale :

x∗1 = 15 x∗2 = 10 z ∗ = 27 000

10.2 Ventes de dentifrice.

a) Formulation du problème linéaire :


• 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éaire. 231

• Expression de l’objectif :

max z = 50x + 60y

• Expressions des contraintes :


– Limites de vente des produits,
– Limite d’ingrédient,
– Contrainte commerciale,
– Satisfaire les contrats sur la formule X,
– Positivité.
b) Résolution graphique : voir cours. Solution optimale :

x∗ = 50 y ∗ = 0 z ∗ = 2 500

10.3 Planification de la production.

a) Formulation du problème :
• Choix des variables :
xt = production de période t
st = stock fin de période t
• Expression de l’objectif :


5 
5
max z = 10xt + 1st
t=1 t=1

• Expression des contraintes :


– Calcul de st ,
– Limite de production,
– Limite de stock en fin de mois,
– Caractère non négatif.
b) Mettre sous la forme d’un modèle de calcul en Excel : voir cours.
c) Coût total de production et stockage : z ∗ = 769.

Période 1 2 3 4 5
Production en 12 15 15 18 15
Stock fin de 6 4 6 3 0
232 Annexe C. Solutions finales des exercices

C.11 Analyse postoptimale

11.1 Plan de production.

a) Formulation du problème :
• Variables :
xA = production hebdomadaire de produit A,
xB = production hebdomadaire de produit B.
• Objectif : max z = 6xA + 3xB .
• Contraintes :
– Limite de matière première P1 et P2,
– Nombre minimum et maximum d’ouvriers,
– Non négativité.
b) Résoudre 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éserve


la solution optimale :
2 ≤ cB ≤ 6

11.2 Production de peintures.

Formuler le problème :
• Choix des variables (avec leurs unités) :
x1 = production journalière de peintures intérieures (tonnes/jour)
x2 = production journalière de peintures extérieures (tonnes/jour).
• Expression de l’objectif (avec son unité 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érieure ,
– Positivité.
b) Résoudre graphiquement le problème: 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 à 6 :

∆z ∗ = ∆m2 x∗2 = +2 × 1, 5 = +3 milliers de $

11.3 Répartition du budget publicitaire.

a) Formulation du problème :
• 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épartition du budget,
– Budget de conception,
– Limite de spots tv,
– Caractère non négatif.
b) Mettre sous la forme d’un modèle 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émentaire ? Une diminution des ventes


de 5, donnée par le coût réduit de la variable.

C.12 La programmation en nombres entiers

12.1 Mutation des officiers.

a) Formulation du problème :
• Choix des variables : indicatrice du fait que l’officier i est muté
au poste j.
• Expression de l’objectif : minimiser la somme des coûts de muta-
tion.
• Expression des contraintes :
234 Annexe C. Solutions finales des exercices

– Chaque poste est pourvu,


– Chaque officier est affecté,
– Chaque officier doit changer de place,
– Caractère binaire.
12.2 Planification de la production de moteurs.
a) Formulation du problème :
• Choix des variables :
Pt = production à la période t;
St = stock de fin de période t.
• Expression de l’objectif : minimisation de la somme des coûts de
production et de stockage.
• Expression des contraintes :
– Satisfaire la demande de période t,
– Respecter la capacité de production de période t,
– Positivité.
b) Ajout d’un coût 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é :
Pt ≤ CAPt yt
– Ajout du caractère entier :
yt ∈ {0, 1}
12.3 Méthode de branch and bound.
a) Résoudre la relaxation linéaire initiale: voir cours.
La solution optimale du problème linéaire 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ème en nombres entiers :
x∗1 = 3, x∗2 = 2, zP∗ N E = 23

Vous aimerez peut-être aussi