Vous êtes sur la page 1sur 242

UNIVERSITE DE LIEGE

Licence en sciences de gestion


et ingénieurs de gestion

Gestion de la Production

Daniel DE WOLF

Liège, Septembre 2005


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 Ajustement charge-capacité . . . . . . . . . . . . . . . . . . . . 84
5.5 Autres règles de calcul des lancements de production . . . . . . . 87
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 149

9 La programmation dynamique. 151


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

10 La programmation linéaire. 167


Table des matières 7

10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167


10.2 Un simple exemple . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.3 Résolution graphique . . . . . . . . . . . . . . . . . . . . . . . 169
10.4 Le solveur d’Excel . . . . . . . . . . . . . . . . . . . . . . . . . 172
10.5 Les rapports du solveur . . . . . . . . . . . . . . . . . . . . . . 175
10.5.1 Le rapport des réponses . . . . . . . . . . . . . . . . . . 176
10.5.2 Le rapport de sensibilité . . . . . . . . . . . . . . . . . . 177
10.5.3 Le rapport des limites . . . . . . . . . . . . . . . . . . . 178
10.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

11 Analyse postoptimale. 183


11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
11.2 Variation par rapport au second membre . . . . . . . . . . . . . . 184
11.2.1 Calcul des prix cachés . . . . . . . . . . . . . . . . . . . 184
11.2.2 Analyse de sensibilité au membre de droite . . . . . . . . 186
11.3 Variation des coefficients objectifs . . . . . . . . . . . . . . . . . 187
11.3.1 Analyse de sensibilité aux coefficients objectif . . . . . . 188
11.4 Coût réduit des variables hors base . . . . . . . . . . . . . . . . . 190
11.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

12 La programmation en nombres entiers. 193


12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
12.2 Formulation des problèmes mixtes . . . . . . . . . . . . . . . . . 194
12.2.1 Problèmes avec coûts fixes . . . . . . . . . . . . . . . . . 194
12.2.2 Problèmes avec contrainte logique . . . . . . . . . . . . . 197
12.2.3 Mélange avec nombre limité d’ingrédients . . . . . . . . 198
12.2.4 Choix parmi un nombre discret de valeurs . . . . . . . . . 199
12.3 Principe de la méthode de branch and bound . . . . . . . . . . . . 199
12.4 Application à l’exemple . . . . . . . . . . . . . . . . . . . . . . 201
12.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

A Formulaire pour la gestion de production 211


8 Table des matières

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


A.2 La gestion par point de commande . . . . . . . . . . . . . . . . . 212
A.3 Les techniques de juste à temps . . . . . . . . . . . . . . . . . . 214
A.4 Équilibrage d’une chaı̂ne de production . . . . . . . . . . . . . . 214
A.5 Calcul d’annuités . . . . . . . . . . . . . . . . . . . . . . . . . 214

B Tables pour la gestion de stocks 215


B.1 Table de la loi Poisson(λ) . . . . . . . . . . . . . . . . . . . . . 215
B.2 Table de la loi normale Z ∼ N (0, 1) . . . . . . . . . . . . . . . . 220
B.3 Table pour le calcul de Ir (S) . . . . . . . . . . . . . . . . . . . . 221

A Solutions finales des exercices 223


A.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
A.2 Ordonnancement en ateliers spécialisés . . . . . . . . . . . . . . 225
A.3 Gestion calendaire de stock . . . . . . . . . . . . . . . . . . . . 226
A.4 Gestion de stock par point de commande . . . . . . . . . . . . . 228
A.5 La planification de la production . . . . . . . . . . . . . . . . . . 229
A.6 Les techniques de juste à temps . . . . . . . . . . . . . . . . . . 230
A.7 L’ordonancement de projets . . . . . . . . . . . . . . . . . . . . 231
A.8 Conception d’un centre de production . . . . . . . . . . . . . . . 233
A.9 La programmation dynamique . . . . . . . . . . . . . . . . . . . 235
A.10 La programmation linéaire . . . . . . . . . . . . . . . . . . . . . 237
A.11 Analyse postoptimale . . . . . . . . . . . . . . . . . . . . . . . 238
A.12 La programmation en nombres entiers . . . . . . . . . . . . . . . 240
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

On demande de formuler chacun des problèmes suivants.

1.1. Un problème de choix d’investissements. Un épargnant veut investir


1000 euros. Il a le choix entre trois investissements possibles : A, B et
C. Les valeurs attendues et les valeurs minimales garanties après un an sont
données au tableau 1.4 par euro investi. L’épargnant souhaite un intérêt mi-

Type valeur valeur


d’investissement attendue garantie
A 1, 4 0, 9
B 1, 2 1, 2
C 1, 6 0, 5

Tableau 1.4: Valeurs attendue et minimum garantie.

nimum garanti de 5% sur un an. Cependant, il a promis d’investir au moins


600 euros sur B et C ensemble. Comment l’épargnant pourrait-il répartir
son investissement pour maximiser la valeur attendue globale après un an ?
On suppose que l’investisseur utilise toute la somme disponible.

1.2. Un problème de chargement d’un haut fourneau. Une fonderie reçoit


une commande de 1000 tonnes d’acier. Cet acier doit répondre aux ca-
ractéristiques suivantes : il doit contenir au moins 0,45 % de manganèse
(Mn) tandis que son pourcentage en silicium (Si) doit se situer entre 3,25
et 5,50. Pour couler cet acier, la fonderie dispose en quantités illimitées de
trois types de minerais : A, B et C. Leurs teneurs en Si et Mn sont reprises
au tableau 1.5. Le procédé de production est tel qu’une addition directe

Minerai A B C
Si 4% 1% 0,6 %
Mn 0,45 % 0,5 % 0,4 %

Tableau 1.5: Teneurs en Silicium et Manganèse des différents minerais.

de manganèse est envisageable. Ce manganèse est disponible au prix de 8


millions la tonne. Les minerais coûtent respectivement 21 millions les mille
18 Chapitre 1. Introduction

tonnes pour le type A, 25 millions par mille tonnes pour B, et 15 millions par
mille tonnes pour C. Si la fonderie envisage de vendre l’acier produit 450
millions les mille tonnes, quel doit être son plan de production pour maxi-
miser son profit, sachant que le coût de fonte de mille tonnes de minerai est
de 5 millions ? Le coût de fonte ne s’applique pas au manganèse ajouté.

1.3. Un problème de planification sur coût variable. Un industriel cherche à


établir son plan de production pour les quatre mois à venir, sachant que les
demandes sont déjà connues (voir tableau 1.6).

Mois 1 2 3 4
Demande 900 1100 1700 1300
Capacité en heures normales 1200 1200 1200 1200
Capacité en heures supplémentaires 400 400 400 400

Tableau 1.6: Demande par mois

En régime normal, la capacité de production est de 1200 articles par mois.


A l’aide d’heures supplémentaires, ce niveau peut être élevé jusqu’à 400
articles en plus, mais il faut compter, dans ce cas, un surcoût de 7 euros par
article. La situation est telle qu’il peut se permettre en régime normal de
produire moins de 1200 articles par mois. Cela n’aura aucune incidence sur
les coûts de production, ceux-ci étant fixes en régime normal, mais l’effet
sur les coûts de stockage peut être bénéfique. Les coûts de stockage sont
de 3 euros par article en stock en fin de mois. Comment l’industriel doit-il
planifier sa production pour minimiser les coûts variables, c’est-à-dire les
coûts occasionnés par les heures supplémentaires et le stockage ?

1.4. Affectation d’avions à des lignes aériennes. Une compagnie aérienne


régionale désire affecter sa flotte d’avions aux 4 lignes qu’elle exploite (lignes
A, B, C et D). Le nombre de passagers désirant effectuer chaque jour un
parcours sur chaque ligne est donné au tableau 1.7. La compagnie dispose
de deux types d’avions : 8 petits avions de 40 places et 3 avions moyens
de 180 places. Les avions, qu’ils soient du modèle petit ou moyen, peuvent
effectuer un trajet aller-retour par jour. Le coût d’exploitation journalier d’un
avion dépend de sa taille et de la ligne à laquelle il est affecté. Ces coûts
sont donnés au au tableau 1.7. On désire minimiser le coût d’exploitation
en satisfaisant la demande.

(a) Faites un choix de variables.


Section 1.5. Exercices 19

Ligne A B C D
Demande 100 200 150 300
Coût d’un petit avion 40 30 70 40
Coût d’un moyen avion 200 100 300 350

Tableau 1.7: Demande et coûts d’exploitation des avions par ligne

(b) Donnez l’expression de l’objectif.


(c) Donnez l’expression des contraintes.
(d) Vos variables peuvent-elles prendre toutes les valeurs réelles non né-
gatives ?

1.5. Production de denrées périssables. Une compagnie produit 2 denrées


périssables, P et Q, qui sont acheminées, chaque soir, chez le grossiste. Pour
le transport, la compagnie dispose d’une camionnette dont la capacité permet
d’acheminer 2000 kg par jour. Lorsque la production quotidienne excède
cette quantité, la compagnie fait appel à un transporteur indépendant. Le
coût de transport est de 2 euros par kg avec la camionnette propre, tandis que
le transporteur indépendant demande 3 euros par kg. La marge bénéficiaire,
hors coût de transport, est 42 euros par unité de P et 48 euros l’unité de Q.
Les produits P et Q sont fabriqués à partir de 2 composantes M et N selon
les proportions présentées au tableau 1.8. Considérons une journée où la

Produit Poids de M Poids de N Poids total


(kg par unité de (kg par unité de (kg par unité de
produit fini) produit fini) produit fini)
P 4 3 7
Q 2 1 3

Tableau 1.8: Composition des produits

compagnie dispose de 3 200 kg de M et de 2 400 kg de N. Formuler le


problème sachant que la compagnie cherche à maximiser son profit net.

1.6. Ajout d’un nouveau produit à la gamme. Une société envisage l’ajout
de deux nouveaux produits à sa gamme : le modèle standard et le modèle
de luxe. Le modèle standard peut se fabriquer dans n’importe lequel des 3
ateliers (A, B ou C) de la société. Une unité de modèle standard requiert en
20 Chapitre 1. Introduction

main d’œuvre soit 5 heures dans l’atelier A, soit 4 heures dans l’atelier B,
soit 5 heures dans C. Quant au modèle de luxe, l’atelier A ne dispose pas
de l’équipement nécessaire et sa fabrication devra être confiée aux ateliers
B et C. Une unité du modèle de luxe requiert en main d’œuvre 5 heures
dans l’atelier B, ou 8 heures dans C. Les capacités disponibles sont de 2 000
heures pour l’atelier A, 8 000 heures pour B et 4 000 heures pour C. Le
salaire horaire versé aux ouvriers est de 11,50 euros dans l’atelier A, de
13 euros dans B et de 12 euros dans C. Le coût des matériaux est évalué
à 10 euros pour l’unité du modèle standard et à 15 euros pour le modèle
de luxe. L’entreprise se propose de vendre le modèle standard à 135 euros
l’unité et le modèle de luxe à 145 euros l’unité. Le service marketing estime
qu’on ne peut espérer vendre plus de 2 500 unités du modèle standard ni
plus de 1 000 unités du modèle de luxe. On suppose que toutes les unités
produites jusqu’à ces niveaux trouvent acheteur.
Formuler le problème correspondant à la maximisation du profit découlant
du lancement de ce produit.
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. Bâtiments - travaux publics. Une entreprise de Bâtiments et Travaux


Publics est spécialisée dans la réalisation d’ouvrages d’art en béton armé.
Pour effectuer ses travaux, elle dispose de deux corps de métier, les coffreurs
et les maçons. Cette entreprise doit faire les devis pour six réalisations. Une
première analyse des travaux permet de déterminer les temps suivants :

Fabrication No 25 Fabrication No 26 Fabrication No 27


Coffrage 2 jours Coffrage 1 jour Coffrage 5 jours
Béton 4 jours Béton 3 jours Béton 7 jours

Fabrication No 28 Fabrication No 29 Fabrication No 30


Coffrage 10 jours Coffrage 5 jours Coffrage 3 jours
Béton 8 jours Béton 2 jours Béton 6 jours

(a) Cherchant à optimiser l’emploi de tous les corps de métier, vous devez
proposer à cette société l’ordre de prise en compte des travaux.
(b) Avec cet ordre, est le nombre de jours économisés par rapport à une
prise en compte des fabrications dans l’ordre de leur arrivée ?
(c) Si on doit tenir compte d’un temps inter-opératoire fixe de deux jours
entre la fin du coffrage et le début du béton (1 jour imputable au coffrage
et l’autre au béton), que devient l’ordre que vous avez proposé ?

2.2. Usinage de pièces sur des machines. On veut organiser la production de


deux lots de pièces Pa et Pb qui doivent être usinées sur la machine M1 puis
sur la machine M2 . Avant d’usiner chaque lot, il faut procéder au réglage de
chaque machine. Les durées des tâches de réglage et d’usinage de chacun
des lots sur les deux machines sont données au tableau ci-dessous en heures.
Machine Réglage A Usinage A Réglage B Usinage B
M1 1 2 2 2
M2 1 3 6 1

On veut minimiser le temps total d’exécution des pièces.

(a) Expliquez pourquoi l’algorithme de Johnson ne s’applique pas.


(b) Faites une énumération de tous les ordonnancements possibles.
(c) Tracez le diagramme de Gantt dans chacun des cas.
34 Chapitre 2. Ordonnancement en ateliers spécialisés

2.3. Gestion du temps pour la composition d’un travail de groupe. Deux


étudiants ingénieurs disposent de 10 jours pour réaliser un travail de groupe.
Ce travail se compose de 4 tâches indépendantes entre elles (l’ordre n’a
pas importance). Chacune de ces tâches peut être divisée en une phase
d’analyse, réalisée par le premier étudiant, et une phase de calculs, réalisée
par le second. L’analyse doit précéder les calculs. Les temps nécessaires
(en jours) à la réalisation des tâches sont donnés au tableau ci dessous.
Tâche Phase d’analyse (étudiant 1) Phase de calculs (étudiant 2)
A 2 2
B 0,8 1,5
C 1,5 0,5
D 2 1
(a) Quel est l’ordonnancement des tâches qui minimise le temps de réali-
sation du travail ?
(b) Les deux ingénieurs aimeraient ajouter en annexe 3 autres parties :
E, F et G. Les deux premières (E et F) ne nécessitent pas d’analyse
préalable tandis que la dernière (G) comporte seulement une phase
d’analyse. Les temps sont donnés au tableau ci-dessous.
Tâche Analyse (étudiant 1) Calculs (étudiant 2)
E - 2
F - 1,5
G 1,5 -
La réalisation des ces annexes ne nécessite pas que les tâches princi-
pales (A, B, C et D) soient finies. Avec ces données supplémentaires,
déterminez, pour chacun des ingénieurs, l’ordre d’exécution des 7
tâches qui minimise le temps total de réalisation du travail.
(c) Illustrez à l’aide d’un diagramme de Gantt.
(d) Pourront-ils rendre le travail à temps ?
2.4. Ordonnancement avec 3 ateliers. Cinq tâches doivent passer par les ateliers
de montage, finition et expédition. Les temps opératoires sont les suivants.
Tâches 1 2 3 4 5
Montage 7 2 4 3 5
Finition 1 1 2 2 1
Expédition 5 2 4 6 5
Déterminez l’ordonnancement qui minimise le temps de réalisation des
tâches et calculez le temps total pour effectuer ces tâches.
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.1).

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 ou égale 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. Achat de pièces de rechange. L’ingénieur en chef d’une usine passe la


commande d’un modèle de pièces détachées d’une machine pour laquelle
il craint un approvisionnement difficile. Les conséquences d’un arrêt de la
machine à cause d’un retard de livraison de la pièce sont particulièrement
onéreuses : le coût d’un arrêt de la production pour manque de pièce est de
25.000 euros. En achetant cette pièce en même temps que la machine, le
coût unitaire d’approvisionnement est de 1.000 euros. L’expérience passée
de l’ingénieur l’incite à estimer la distribution des pannes sur la durée de vie
du matériel, par une loi de Poisson de paramètre 1. La possession de pièces
au delà de la durée de vie de la machine est sans valeur vu l’obsolescence
technique rapide de la machine.

(a) Quelle est la politique optimale à suivre ?


(b) Quel est le coût financier de cette politique de commande de pièces de
rechange ?

3.2. Ventes d’hebdomadaires. Un libraire commande régulièrement un hebdo-


madaire auprès de son grossiste. Son coût d’achat est de 12 euros et son prix
de vente 16 euros. On suppose que les ventes hebdomadaires suivent une
loi normale de moyenne 30 et d’écart type 5.

(a) Quel est le nombre d’exemplaires à commander auprès de son grossiste


chaque semaine si le coût de reprise est de 10 euros ?
(b) Quelle est sa marge nette moyenne ?

3.3. Ventes de calculatrices. Un établissement spécialisé dans la distribution de


calculatrices électroniques a un produit vendu couramment tout au long de
l’année. Il s’agit d’une calculatrice scientifique qui est achetée 45 euros et
revendue 55 euros. Le taux d’opportunité utilisé est de 20 %. La demande
hebdomadaire de ce modèle est d’environ 5 calculatrices, et il y a tout lieu
de penser que le modèle de Poisson est utilisable. La société est ouverte
52 semaines par an, les délais d’approvisionnement sont négligeables, les
demandes non satisfaites sont considérées comme perdues. La période entre
deux réapprovisionnements du stock est de deux semaines.

(a) On demande de calculer le niveau optimal de recomplètement du stock.


(b) On calculera les conséquences de cette politique que sont le nombre
moyen de ventes manquées et le stock moyen possédé.
(c) On en déduira la marge nette moyenne.
58 Chapitre 3. La gestion calendaire de stock

3.4. Ventes de réveils électroniques. La société commercialise également un


réveil électronique qui connaı̂t une grande popularité. La demande sur une
semaine suit approximativement une loi normale de moyenne 100 et d’écart-
type 30. La même politique de gestion calendaire est suivie. Les données
de coût sont les mêmes que celles des calculatrices. La période entre deux
réapprovisionnements du stock est également de deux semaines.

(a) Calculez les paramètres de la loi de demande durant la période com-


prise entre deux réapprovisionnements du stock. Pour rappel, si on
additionne des variables aléatoires normales indépendantes, on obtient
une variable normale dont la moyenne et la variance sont la somme
des moyennes et des variances.
(b) Calculez le niveau de recomplètement optimal.
(c) Calculez les conséquences de cette politique que sont le nombre moyen
de ventes manquées et le stock moyen possédé.
(d) En déduire la marge nette moyenne.

3.5. Ventes de sapin de Noël. Un producteur de sapin de noël doit décider


de la quantité à mettre en production chaque année. Les ventes annuelles
concentrées sur la première quinzaine de décembre suivent une loi normale
de moyenne 30.000 et d’écart type 200. Le coût de production est de 10 euros
l’unité et le prix de vente de 24 euros. Le producteur travaille uniquement sur
commande de sorte qu’il ne coupe que les arbres demandés l’année courante.
Quelle quantité doit-il mettre en production chaque année pour minimiser
son coût de gestion ? On suppose un taux d’opportunité de 10 % l’an.

3.6. Ventes de fleurs. Un épicier va chercher deux fois par semaine des fleurs
coupées au marché en gros de sa ville. En effet, au delà de trois jours, il
ne peut plus les revendre. Son coût d’achat d’une botte de fleurs est de 50
euros et son prix de vente 75 euros. On suppose que la demande de bottes de
fleurs suit une loi de Poisson. En moyenne, 30 clients se présentent chaque
semaine pour ce produit.

(a) Quel est le nombre de bottes de fleurs coupées à aller chercher le lundi
matin et le jeudi matin ?
(b) Combien de clients en moyenne sortent de son magasin par semaine
sans fleurs faute de stock suffisant ?
(c) Quel est le nombre moyen de bottes de fleurs jetées par semaine ?
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. Gestion de l’approvisionnement du stock de transistors. Une société de


distribution de matériel et composants électroniques ayant comme clientèle
les artisans réparateurs de matériel hi-fi grand public est en train de redéfinir
sa politique d’approvisionnement des stocks. On vous charge de l’aider dans
cette tâche. Le responsable des achats vous soumet, à titre d’exemple, le cas
d’un transistor dont le prix d’achat est de 16 euros et dont la consommation
est de 15.000 unités sur l’année. La demande est uniformément répartie sur
toute l’année qui comporte 50 semaines d’ouverture. Le coût de passation
d’une commande est estimé à 24 euros. Par ailleurs, étant donné l’évolution
technique rapide et les risques d’obsolescence associés, on applique un taux
de détention en stock très élevé : 50 % par an. Pour le moment la technique
des deux casiers est appliquée : on dispose de deux casiers, de contenance de
500 transistors. Dès qu’un casier est vide, on entame le second et on passe
une commande de 500 transistors. Le délai d’obtention de la commande est
d’une semaine.

(a) Calculez le coût de la politique actuelle de gestion de stock. Pour cela,


déterminez le stock moyen et le nombre de commandes par an.
(b) Déterminez la politique optimale de gestion du stock. Donnez le mon-
tant de la commande et le point de commande.
(c) Quelle est l’économie annuelle de votre solution par rapport à la tech-
nique des deux casiers utilisée aujourd’hui ?

4.2. Vente de verre de cristal. Un grand magasin vend chaque semaine 150
cartons de six verres du modèle “Elite”. Le coût d’achat de 6 verres est de
8 euros, et le coût associé à une commande est évalué à 30 euros. Le coût
de possession utilisé ne fait intervenir qu’un coût d’opportunité, lequel se
calcule à l’aide d’un taux de 15 %. On suppose que la demande est certaine
et qu’il n’est pas possible d’avoir de rupture de stock. La gestion de stock
est du type point de commande. Les ventes manquées sont perdues.

(a) Calculez la commande optimale.


(b) Le délai de livraison étant égal à deux semaines, déterminez le point
de commande (l’année comporte 52 semaines).
(c) Calculez le coût de gestion de stock correspondant à cette solution.

4.3. Vente de verre de cristal en univers aléatoire. La demande hebdomadaire


n’est maintenant plus considérée comme certaine, mais comme aléatoire.
Elle suit une loi normale de moyenne 150 et d’écart-type 50. Le coût de
70 Chapitre 4. La gestion par point de commande

rupture est estimé à 2 euros, parce que la demi-douzaine est vendue 10 euros
et que la direction estime que la rupture de stock de cet article n’est pas
préjudiciable à son image de marque.
(a) Calculez la commande optimale.
(b) Calculez le nouveau point de commande.
(c) Calculez le nombre moyen annuel de demi-douzaines de verres que le
grand magasin n’a pas été en mesure de vendre.
(d) Calculez le stock moyen possédé.
(e) En déduire le coût de gestion annuel.
4.4. Ventes de carafes à eau. Un supermarché vend des carafes à eau 50 euros.
Il les achète auprès de son fournisseur 35 euros. La demande hebdomadaire
suit une loi de Poisson de paramètre 5. On utilise un taux d’opportunité de
15 % l’an. Le coût de passation d’une commande est de 30 euros. Le délai
d’approvisionnement est de deux semaines.
(a) Quelle est la quantité à commander ?
(b) Quel est le niveau de stock qui doit déclencher la commande ?
(c) Quel est le nombre moyen de clients non satisfaits pendant le délai de
deux semaines entre la passation de la commande et sa réception ?
4.5. Vente par correspondance. Une société spécialisée dans le vente par cor-
respondance a un article peu vendu. Il s’agit d’un matelas orthopédique.
La demande mensuelle de cet article suit une loi de Poisson de moyenne 8.
L’acheteur responsable de l’approvisionnement hésite entre trois systèmes :
(a) La gestion calendaire avec une période de révision calendaire de deux
mois. Le coût de commande est estimé à 20 euros, le produit est acheté
200 euros et revendu 350 euros (y compris le coût moyen de transport
vers le client de 50 euros). La régularité de l’approvisionnement permet
d’avoir un délai d’obtention insignifiant. Une demande non satisfaite
est différée avec un coût de 10 euros (frais administratifs).
(b) Une gestion du type quantité économique de commande - point de
commande avec les mêmes coûts que précédemment, mais avec cette
fois un délai d’obtention de 15 jours environ.
(c) Servir d’intermédiaire en répercutant au fournisseur la commande, ce
qui permet à l’entreprise de percevoir une commission de 50 euros.
L’entreprise estime que la rentabilité marginale de son capital est de 24 %.
Après étude du bénéfice net dans les trois cas, que préconisez-vous ?
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.

Période 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
donnés au tableau 5.9. Ces besoins bruts ne correspondent pas à la production qu’il

Période 16 17 18 19 20 21 22 23
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

Tableau 5.9: Besoins bruts en composant E1001.

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.10.
Section 5.3. Détermination des besoins nets d’un composant 79

Période 15 16 17 18 19 20 21 22 23
Besoins bruts 17 21 12 28 15 27 21 19
Livraisons attendues 0 30 0 0 0 0 0 0
Stock final 17 0 9 0 0 0 0 0 0
Besoins nets 0 0 3 28 15 27 21 19

Tableau 5.10: Besoins nets en composant E1001.

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
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.10).
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.11. Pour déterminer les lancements de production, on a tenu compte du délai

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.11: Lancement de production en composant E1001.

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 verrons en fin de chapitre d’autres techniques de détermination des lan-
cements de production.
Remarquez également que, dans la détermination des lancements de produc-
tion, il faudra tenir compte des capacités de production. Dans le cas où ces capacités
sont dépassées, on procédera à un ajustement charge-capacité.

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.12) sont déterminés conformément au plan directeur de production.

Période 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.12: 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.13. 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 fabrication L=2) sont déterminés
conformément au tableau 5.14. Ce composant est utilisé à raison d’une unité par
produit T29.
82 Chapitre 5. La planification de la production

Période 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.13: Lancements en composant E1001.

Période 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.14: 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.15. Ce composant est utilisé à

Période 15 16 17 18 19 20 21 22
BBt pour E1001 30 3 28 15 27 21 19
BBt de E2010 0 0 2 1 4 0 1
BBt totaux 30 3 30 16 31 21 20
LAt 20 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.15: Lancements en composant E2010.

raison d’une unité par composant de niveau 1 E1001. Toujours au niveau 2, les
lancements du composant E2040 (de délai de fabrication L=2) sont déterminés
conformément au tableau 5.16. Ce composant est utilisé à raison d’une unité par

Période 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.16: Lancements en composant E2040.

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.17. 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. Toujours au niveau 3, les lancements du composant E3052
84 Chapitre 5. La planification de la production

Période 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.17: Lancements en composant E3047.

(de délai de fabrication L=1) sont déterminés conformément au tableau 5.18. 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.
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.

5.4 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.19 reprend les lan-
cements de niveau 0. 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 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.20. En multipliant
Section 5.4. Ajustement charge-capacité 85

Période 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.18: Lancements en composant E3052.

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.19: Vérification de la charge au niveau zéro.


86 Chapitre 5. La planification de la production

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.

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.20: Ajustement charge-capacité de niveau 1.

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


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
Section 5.5. Autres règles de calcul des lancements de production 87

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.20.
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.20.

5.5 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.21 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.21: 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.22. On remarquera que
le nombre de mise en route de production est moins élevé mais que le niveau
de possession du stock augmente fortement.
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.
88 Chapitre 5. La planification de la production

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.22: Lancement de production par quantité fixe.

• 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.23.

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.23: 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.24.

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.24: Lancement de production par minimum de 10.


Section 5.6. Exercices 89

5.6 Exercices

5.1. Planning de production d’un moteur. Un industriel cherche à établir son


planning de production pour les quatre premiers mois de l’année d’un moteur
C intervenant dans l’assemblage des trois types de machines MA, MB et MC.
Le plan directeur de production prévoit la mise à disposition les six premiers
mois de l’année des quantités suivantes pour les trois types de machines :

Mois Janvier Février Mars Avril Mai Juin


Demande de MA 3 1 2 1 7 3
Demande de MB 1 3 1 5 4 2
Demande de MC 2 4 1 5 6 0
Pour les produits finis, il n’y a ni livraison attendue ni stock initial et on
pratique une politique de lot par lot. Le délai d’obtention est de 2 mois pour
MA et MB et d’un mois pour MC. Pour le moteur, il y a un stock en début de
janvier de 2 unités et on prévoit une livraison de 5 moteurs en janvier tandis
que le délai de fabrication du moteur étant d’un mois
(a) Déterminer les besoins nets de moteur pour janvier à avril.
(b) Déterminer les lancements de production qui permettent de couvrir ces
besoins nets en utilisant la technique du lot par lot.
5.2. Production d’engrenages. Une entreprise spécialisée dans la fabrication
d’engrenages. Pour l’un de ces engrenages, on connaı̂t les besoins en fin de
mois pour les huit mois à venir (voir tableau 5.25). Le coût de lancement

Mois 1 2 3 4 5 6 7 8
Besoins 30 45 60 40 35 30 35 50
Tableau 5.25: Production d’engrenages.

d’une production est de 150 euros, le coût de détention unitaire est de 1 euro
par mois. On suppose que les livraisons et sorties de stock se font en fin de
mois. Ce qui signifie qu’un article fabriqué en période t et livré en fin de
période t pour une demande de période t ne supporte pas de coût de détention
pendant cette période. Les ruptures sont interdites.
(a) En utilisant la formule de la quantité économique de commande de
l’univers certain, déterminez la quantité à mettre en production. Pour
cela, déterminer la moyenne du besoin mensuel.
(b) En déduire, le plan de production et de stockage de manière à éviter
les ruptures.
90 Chapitre 5. La planification de la production

(c) En déduire le coût de cette politique (somme des coûts de mise en route
et de stockage). Comparez avec le coût d’une politique de lot par lot.
5.3. Détermination des besoins et lancements de production de niveau 2. A
partir de l’ajustement charge-capacité de niveau 1 du tableau 5.20, déduire
les besoins bruts pour les composants de niveau 2. Ensuite, calculer les
besoins nets et les lancements de production à 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. Planification des besoins en composants. Considérons une entreprise qui
utilise la planification des besoins en composants pour gérer la production
d’un ensemble E qui utilise une pièce P1 et deux pièces P2 par ensemble.
Le plan directeur de production, donné au tableau 5.26, prévoit également
la mise à disposition de pièces P1 et P2 comme pièces de rechange.
Semaine 0 1 2 3 4 5
Demande E 100 150 150 250 250
Demande P1 10 20 15 25 20
Demande P2 30 20 25 25 30
Tableau 5.26: Plan directeur de production.

Les stocks initiaux (début de période 1), les livraisons attendues de première
période et les délais d’obtention sont donnés au tableau 5.27.
Élément Stock initial LA1 Délai d’obtention
E 300 0 1 semaine
P1 150 500 2 semaines
P2 300 300 1 semaine
Tableau 5.27: Stock initiaux, livraisons attendues et délais d’obtention.

(a) Déterminer les besoins nets en composant E et la manière de couvrir


ces besoins nets par des lancements de production en tenant compte du
fait que le lancement ne peut se faire que par lot de 250 ensembles E.
(b) En déduire les besoins nets de pièces P1 et les lancements de produc-
tions de pièces P1 en tenant compte du fait que la production de pièces
P1 se fait par lot de 500 pièces.
(c) Déterminer les besoins nets de pièces P2 et les lancements de produc-
tions de pièces P2 en tenant compte du fait que la production de pièces
P2 par lot de 300 pièces.
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. Flux tendus. Un atelier de fabrication de sous-ensembles approvisionne la


chaı̂ne de montage de petits articles électroménagers située dans un bâtiment
proche. La régularité de la production incite la direction à mettre en place
un système d’appel par l’aval entre ces deux postes. Les caractéristiques
de la production sont les suivantes : l’atelier fonctionne 8 heures par jour,
la chaı̂ne consomme 2 000 sous-ensembles par jour, il faut une heure pour
régler la machine de l’atelier et cinq secondes pour produire une pièce, la
taille économique des lots en amont s’élève à 500 pièces, la capacité des
conteneurs est de 250 pièces, la manutention d’un conteneur d’un poste à
l’autre nécessite dix minutes, le ramassage des tickets s’effectue toutes les
heures, le temps d’attente moyen au planning amont peut être estimé à trente
minutes. On retiendra pour l’ensemble des calculs un coefficient de sécurité
de 20 %.
(a) Déterminer le nombre de tickets à mettre en circulation dans la boucle.
(b) Vérifier l’équilibre entre la charge et la capacité du poste amont.
(c) On décide maintenant de réduire la taille des séries de fabrication de
500 à 250. Calculer le nombre de lancements réalisés par jour. Quelle
amélioration devrait-on réaliser pour pouvoir fonctionner ainsi ?
6.2. Calcul du nombre d’étiquettes. Une entreprise fabrique de façon régulière
les produits A, B, C et D à partir des produits achetés E, F et G. Voici la
nomenclature pour ces produits :
1C 1C
A utilise , B utilise , C utilise 1 D, D utilise 1 G
1E 1F
Cette entreprise, souhaitant fabriquer ces produits sur une ligne de production
pilotée par Kanban, organise ses machines de la façon suivante :

----> M3
|
M1 ------> M2 ------|
|
-----> M4

L’entreprise, devant produire 20 A et 30 B par jour (de 8 heures), souhaite


ne pas définir au hasard le nombre de Kanban et la taille des containers à
mettre en place pour piloter la production entre M1 et M2. Sachant que :
• le poste M1 fabrique les pièces D, X et Y, le poste M2 fabrique la pièce
C, le poste M3 assemble la pièce A, le poste M4 assemble la pièce B,
100 Chapitre 6. Les techniques de juste à temps

• la fabrication des pièces D nécessite 0,5 heure de réglage du poste et


0,08 heure de fabrication unitaire,
• les pièces D, pesant chacune 5 kg, sont transportées dans des containers
ne pouvant pas supporter plus de 50 kg de charge,
• le retour de l’étiquette peut se faire entre M2 et M1 en 5 minutes,
• le temps de transport des containers entre les postes M1 et M2 peut être
estimé à 10 minutes,
• le poste M1 fabrique aussi 2 autres pièces (X et Y) nécessitant des
réglages différents de ceux de D. La fabrication des 2 autres pièces
peut occuper le poste M1 pendant 2 heures 15 minutes par jour (d’une
traite).

(a) Quel est le flux journalier de production de la pièce D ?


(b) Combien de réglages de séries de pièces D pouvez-vous faire par jour ?
(c) Quelle est la taille du container de la pièce D ?
(d) Quel est le nombre de Kanbans qui doivent être utilisés entres les postes
M1 et M2 ? Pour déterminer la taille du lot minimum qui doit être
lancé au poste M1, tenir compte du nombre maximum de lancements
admissibles par jour. On ne prend aucune marge de sécurité.

6.3. Conditionnement de surgelés. Une entreprise produit des légumes surgelés


en sachets de 1 kg. La chaı̂ne de production est composée de deux postes : le
premier assure la préparation des légumes et le second réalise le condition-
nement. Le directeur désire utiliser le poste de conditionnement à sa pleine
capacité qui est de 3200 sachets par jour, à raison de huit heures par jour.
Il faut 30 minutes de nettoyage de la machine de préparation avant chaque
lot, ensuite le traitement de chaque kilo de légumes prend 3 secondes. Le
temps d’attente moyen en amont de l’unité de préparation est de 10 minutes.
Le transfert des légumes de l’unité de préparation vers l’unité de condi-
tionnement prend 5 minutes. L’entreprise désire organiser sa production en
utilisant le système de kanban. La périodicité du ramassage des tickets est
fixée à 10 minutes. La capacité des conteneurs est de 200 kg. Il est envisagé
de faire travailler l’unité de préparation par lots économiques de 400 kg.

(a) Quel est le temps de réaction du poste de préparation ?


(b) Vérifiez l’équilibre entre la charge et la capacité dans ce cas.
(c) Quel est le nombre total d’étiquettes dans le système, si on désire
s’assurer une marge de sécurité de 15 % ?
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. On peut, en effet, représenter le problème sur un
graphe, le résoudre graphiquement et présenter graphiquement l’ordonnancement.
Il existe deux méthodes de résolution pour ce problème, à savoir :
• la méthode du potentiel développée en France dans les années 60 et qui as-
socie à 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);

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

• la méthode PERT développée parallèlement aux États Unis d’Amérique


et qui, elle, associe chaque tâche à un arc du réseau, et chaque relation
d’antériorité à un nœud (voir figure 7.2).

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

Algorithmiquement, les deux méthodes de résolution sont équivalentes, mais


la méthode du potentiel permet d’écrire le graphe de réseau de manière plus
systématique (sans ajouter d’arc fictif).
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

On voit directement que l’on a deux sortes de tâches.

• Les tâches critiques sont celles qui servent à marquer de proche en proche
le sommet n + 1 à partir du sommet 0. Elles forment ce que l’on appelle
le chemin critique qui donne l’ensemble des tâches à surveiller en premier
si l’on veut respecter le délai minimum de réalisation du projet. Le chemin
critique, illustré en hachuré à la figure 7.7, peut être déterminé de la manière
suivante. Partant du nœud n + 1, on ne retient que les sommets qui ont
permis de joindre n+1 à partir du nœud 1. Il s’agit, dans l’exemple, des
nœuds 12,11,10,9,6,3,2,1 et 0.

• Pour toutes les autres tâches, c’est-à-dire les tâches non critiques, on peut
déterminer 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)

et donc la marge mi est strictement positive pour les tâches non critiques
tandis qu’elle est nulle pour les tâches critiques.

i 4 5 7 8
mi 4 4 1 1

On peut interpréter les tâches critiques comme l’ensemble des tâches pour
lesquelles tout retard sur leur date de début aura des répercussions sur la date de
fin de chantier. C’est donc l’ensemble des tâches à surveiller en premier si l’on
veut respecter le délai minimum de réalisation du projet.
Il est à remarquer qu’il peut y avoir plusieurs chemins critiques pour un
problème.
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.
112 Chapitre 7. L’ordonnancement de projets

7.8 L’ordonnancement par la méthode PERT

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


pé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. L’algorithme de résolution est très semblable
à celui de la méthode du potentiel. La différence majeure réside donc dans la
construction du graphe : le graphe de la méthode PERT est souvent plus difficile à
construire que celui de la méthode du potentiel car on peut être amené à introduire
des arcs fictifs qui ne correspondent à aucune tâche.
Dans la méthode PERT, chaque tâche est donc 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.
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.8 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.8: Graphe associé pour la méthode PERT.

Si, sur cet exemple, le graphe de la méthode du potentiel et celui de la méthode


PERT sont très proches, il n’en va pas toujours de même. La construction du
graphe PERT pose parfois un problème qui peut être résolu en ajoutant un arc
fictif qui ne correspond à aucune tâche.
Ce problème se rencontre pour certaines contraintes de succession tempo-
relle. Illustrons les choses sur un exemple. Supposons que la tâche 1 précède les
Section 7.8. L’ordonnancement par la méthode PERT 113

tâches 2 et 3 et que la tâche 4 précède la tâche 3 :

Tâche préalable
1 −
2 1
3 1, 4
4 −

On pourrait tracer le graphe de la figure 7.9. Mais ce graphe introduit une contrainte

1 2

4 3

Figure 7.9: Introduction d’un contrainte.

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.10.

1 2

4 3

Figure 7.10: Arc fictif.

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,
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.
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)
114 Chapitre 7. L’ordonnancement de projets

11 4, 2 13

4 17
3, 2 11 5, 3
4
0 5 9 0 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.11: Ordonnancement par la méthode PERT.

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.

On obtient alors les dates au plus tard des tâches en additionnant à la date au plus
tôt du nœud de départ, la marge de la tâche. 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

Un chemin critique peut alors se construire à partir du nœud de fin en ne retenant


que les arcs critiques. Les marges des tâches sont indiquées entourées d’un carré
à la figure 7.11.
Section 7.9. La minimisation des coûts 115

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.12: 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.12.


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 )

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
min z = [ci (di ) + mi (di − di )]
i=1

n
= K+ mi di
i=1

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


116 Chapitre 7. L’ordonnancement de projets

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

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

tf ≤ λ
Section 7.9. La minimisation des coûts 117

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.13.

cD ( )

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

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

Ce graphique appelle plusieurs commentaires :

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 .
118 Chapitre 7. L’ordonnancement de projets

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.14, il vaudrait mieux prendre λ = λ, le temps maximum. Mais

cT ( )
cT ( )

cI ( )

cD ( )

Figure 7.14: 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’assurances,

• 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.14, 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. Équipement d’un ensemble minier. L’équipement d’un ensemble minier


comporte les tâches suivantes dont la durée est exprimée en trimestres.
No tâche durée préalables
1 Commande d’une piste 6 -
2 Construction d’un port provisoire 3 -
3 Commande de matériel portuaire 2 -
4 Pose d’une voie ferrée 4 2
5 Construction d’une cité administrative 7 2
6 Construction du port définitif 2 2
7 Construction de l’installation minière 4 1 et 4
8 Equipement portuaire définitif 3 3 et 6

(a) Construire le graphe relatif à la méthode du potentiel.


(b) Calculer les dates de début au plus tôt, les dates de début au plus tard.
Déterminer le chemin critique.
(c) Comment modifier le graphe si, on veut que la tâche 7 ne commence
pas avant 8 trimestres ? Recalculer les dates de début au plus tôt, les
dates de début au plus tard.
(d) Comment modifier le graphe si on veut en plus que la tâche 8 ne
commence pas après 4 trimestres ? Dites si le problème reste soluble.
7.2. Construction d’un bâtiment. Considérons les différentes tâches à effectuer
pour construire un bâtiment. Elles sont reprises ci-dessous.
No tâche durée préalables
1 fondations 6 -
2 murs 10 1
3 plomberie intérieure 5 2
4 électricité 7 2
5 toit 6 2
6 plomberie extérieure 4 5
7 menuiserie 8 3 et 4
8 sols 4 7
9 peinture intérieure 5 7
10 finitions intérieures 6 8 et 9
11 peinture extérieure 9 6
12 finitions extérieures 2 11
120 Chapitre 7. L’ordonnancement de projets

(a) Tracez le graphe relatif à la méthode du potentiel.


(b) Calculez les dates de début au plus tôt, les marges et déterminez le(s)
chemin(s) critique(s).
(c) Les tâches 9 (peinture intérieure) et 11 (peinture extérieure) doivent être
disjointes car effectuées par les mêmes ouvriers. Comment résoudre
cette disjonction ? La date de fin des travaux est-elle affectée ?

7.3. La méthode PERT. Une entreprise décide de commercialiser un nouveau


produit. La planification de ce lancement fait apparaı̂tre les tâches reprises
au tableau 7.2 avec leur durée (en semaines) et leurs préalables.

(a) Tracer le graphe correspondant à la méthode PERT.


(b) Calculez les dates de début au plus tôt, au plus tard, les marges et le
chemin critique.
(c) L’entreprise voudrait réduire la durée totale d’exécution des travaux.
Pour cela, il est possible de réduire la durée des tâches 5 et 11 de
une ou deux semaines au prix d’un coût supplémentaire de 100 000
euros par semaine de réduction pour la tâche 5 et de 200 000 euros par
semaine pour la tâche 11. De combien peut-on réduire la durée totale
des travaux et à quel coût ?

No tâche durée préalables


1 Sélection des équipements 1 -
2 Choix de la méthode de production 2 1
3 Procédures de contrôle de qualité 2 2
4 Choix des matières premières 2 1
5 Réception des équipements 7 1
6 Commande des matières premières 1 4
7 Réception des matières premières 3 6
8 Essais de production 2 5,3 et 7
9 Première fourniture aux magasins 6 8 et 11
10 Conception du conditionnement 4 1
11 Production du conditionnement 5 10
12 Réunion des vendeurs 1 11
13 Formation des vendeurs 1 12

Tableau 7.2: Lancement d’un nouveau produit.


Section 7.10. Exercices 121

7.4. Minimisation des coûts. On considère un chantier de construction qui fait


intervenir cinq tâches dont les durées, les tâches préalables et les frais directs
(main d’œuvre, heures machine) sont données au tableau 7.3.

Tâche durée tâches frais directs


(jours) préalables (euros)
1 4 - 30 000
2 6 - 40 000
3 5 1 50 000
4 8 2 et 3 50 000
5 7 4 10 000

Tableau 7.3: Minimisation des coûts.

(a) Tracer le graphe correspondant à la méthode du potentiel.


(b) Déterminer les dates de début au plus tôt au plus tard et le chemin
critique.
(c) Les durées des tâches 3 et 5 peuvent être réduites jusqu’à 3 et 5 jours
au prix d’accroissements de coûts de 20 000 et 10 000 euros par jour.
Écrire le programme exprimant la minimisation du coût direct pour
une durée totale tf donnée. On commencera par exprimer les coûts
directs c3 et c5 des tâches 3 et 5 comme fonctions des durées d3 et d5
qui deviennent variables.
(d) On désire étudier, en fonction du paramètre tf , les variations du coût mi-
nimal direct total CD obtenu à l’aide du programme précédent. Donner
la forme de la courbe représentant les variations de ce coût en fonction
de tf . Déterminer numériquement l’évolution du coût direct CD en
fonction de tf en partant du résultat de la question (b) et en réduisant
progressivement la durée tf de façon à ce que le coût direct soit toujours
minimal.
(e) En plus des coûts directs, l’entreprise supporte aussi des frais indirects.
Ces frais indirects comportent les salaires de l’encadrement, des frais
de location de matériel, des frais d’assurance et des frais financiers
pour un montant total de 10 000 + 5 000 tf et aussi une pénalité de
10 000 euros par jour de retard au delà du 22ème jour. Décrire sur un
même graphique l’évolution du coût indirect CI , du coût direct CD et
du coût total en fonction de la durée de fin de chantier. Quelle valeur
donner à cette durée ?
122 Chapitre 7. L’ordonnancement de projets

7.5. Lancement d’un nouveau produit. Une société met à l’étude le lancement
d’un nouveau produit. Ce lancement nécessite la réalisation de 10 tâches
dont les caractéristiques sont données au tableau 7.4.

tâche durée ancêtre(s) observations


A 7 C,F Recouvrement possible avec C
de 3 semaines
B 3 D,H,G
C 6 J Ne peut commencer avant
le début de la 14ème semaine.
D 3 -
E 2 D
F 5 J et I
G 4 -
H 5 -
I 7 G et H
J 4 E et B

Tableau 7.4: Lancement d’un nouveau produit.

(a) Établir le graphique de la méthode du potentiel.


(b) Vérifier sur le graphique que le problème est soluble (expliquer suc-
cinctement pourquoi).
(c) Calculer les dates de début au plus tôt, au plus tard, les marges.
(d) Donner tous les chemins critiques.
(e) Le directeur commercial souhaite raccourcir la durée d’exécution du
projet d’une semaine. Les tâches sur lesquelles il est possible d’agir
ainsi que le coût correspondant à leur diminution de durée d’une se-
maine sont donnés à la table 7.5.
tâche coût
C 10.000 euros
F 15.000 euros
B 5.000 euros
I 6.000 euros

Tableau 7.5: Réduction possible de la durée.

Que suggérez-vous ?
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 C,5 I,9 M,6 E,15 F,7 N,15
G,6 K,4 B,7 H,4
A,2 L,8
D,2
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 E,15 L,8 G,6 F,7 N,15
C,5 K,4 B,7 I,9 M,6
D,2 H,4
J,10
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 total de


tonnes-kilomètres de produit transporté, 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.
Fixons-nous la notation suivante:
M Pi = tonnes de matière première venant de i;
Clj = tonnes vers le client j;
ri = coût unitaire de transport venant de i;
Rj = coût unitaire de transport vers j.
Le centre de gravité se calcule ainsi :

m 
m
ri x i M P i + Rj xj Clj
∗ i=1 j=1
x = m m
i=1 ri M Pi + j=1 Rj Clj
m m
ri y i M P i + Rj yj Clj
i=1 j=1
y∗ = m m
i=1 ri M Pi + j=1 Rj 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
140 Chapitre 8. Conception d’un centre de production

Cl 1 MP 2

MP 1

Cl n

Cl 2 MP m

Figure 8.8: Centre de gravité

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∗ 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 = 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).
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 :


3 
10
min cij xij
i=1 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
j=1

où CAPi note la capacité de l’usine i.


– “Satisfaire la demande du client j :”


3
xij = DEMj
i=1

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 marginal


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.

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.

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.

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
x4j ≤ 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 :


4 
10 
4
min z = cij xij + Ki y i
i=1 j=1 i=2

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

x4j ≤ 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. Équilibrage d’une chaı̂ne. Pour l’exemple de la section 8.2.2,


(a) au moyen d’un heuristique au choix, déterminer une répartition entre
7 opérateurs de temps de cycle maximum de 18 minutes.
(b) calculer le retard d’équilibre de la chaı̂ne ainsi obtenue.
8.2. Montage en chaı̂ne d’une lampe. Le montage d’une lampe de bureau
nécessite la réalisation de 7 tâches (notées A à G) dont les temps élémentaires
de montage et les préalables sont donnés au tableau 8.9. L’objectif de pro-
duction est de 9 000 lampes par mois de 20 jours (un jour = 8 heures).

Tâche Temps (secondes) Préalables


A 22 -
B 14 A
C 27 -
D 40 B,C
E 9 -
F 41 D,E
G 12 F

Tableau 8.9: Montage de lampes à la chaı̂ne.

(a) Déterminez le temps maximum de cycle de la chaı̂ne d’assemblage


pour respecter cet objectif. Autrement dit, une lampe doit sortir de la
chaı̂ne toute les c secondes pour respecter cet objectif. Que vaut c ?
(b) Représentez sur un graphique de réseau les relations d’antériorité.
(c) Calculez le score 2 pour chacune des tâches de montage.
(d) En utilisant l’heuristique de score 2, déterminez une affectation des 7
tâches aux postes de travail successifs de la chaı̂ne.
(e) Calculez le retard d’équilibre de votre solution.

8.3. Choix d’une capacité. Pour les données d’investissement de la section 8.3
mais avec une probabilité de succès du produit de 50 %,
(a) recalculer les valeurs présentes nettes des trois investissements;
(b) expliquer pourquoi la décision optimale change;
(c) déterminer la probabilité de succès du produit pour laquelle la décision
optimale change.
146 Chapitre 8. Conception d’un centre de production

8.4. Ouverture d’un restaurant. Un indépendant envisage d’ouvrir un restau-


rant dans le centre de Bruxelles. Il doit décider s’il ouvre un restaurant

• de 250 personnes (coût de l’investissement : 500 milliers d’euros),


• de 500 personnes (coût de l’investissement : 1000 milliers d’euros),

En cas de succès (demande forte) le restaurant de 500 couverts est pleinement


utilisé et rapporte un bénéfice annuel de 200 (milliers d’euros). En cas de
demande faible, une capacité de 250 couverts est suffisante et rapporte un
bénéfice annuel de 100 (milliers d’euros). Le succès est connu au bout de la
première année. Les bénéfices annuels sont comptabilisés en fin d’année.
Au bout d’un an,

• si l’installation comporte 500 couverts, l’indépendant peut diminuer la


capacité en revendant une partie des installations pour 200.000 euros.
• si l’installation comporte 250 couverts, l’indépendant peut agrandir son
restaurant à 500 couverts avec un coût additionnel de 700.000 euros.

L’indépendant va exploiter le restaurant durant 20 ans. On néglige la valeur


de l’installation au bout de 20 ans. Le facteur d’actualisation est de 10%.

(a) On demande de dessiner l’arbre de décision relatif à ce problème.


(b) On demande de compléter le tableau suivant :

Cas Décision Demande VPN


1 Restaurant 500 couverts Forte
2 Restaurant 500 – 250 couverts Faible
3 Restaurant 250 couverts Faible
4 Restaurant 250 + 250 couverts Forte

Donner le détail de vos calculs.


(c) Sachant que la probabilité de succès (demande forte) a été estimée à
55% sur base d’une étude marketing, on demande de calculer
• la VPN espérée si la première décision consiste à ouvrir un res-
taurant de 500 couverts
• la VPN espérée si la première décision consiste à ouvrir un res-
taurant de 250 couverts
(d) Etant donné les résultats ci-dessus, quelle décision initiale d’investis-
sement prendra l’investisseur ?
Section 8.6. Exercices 147

8.5. Ouverture de dépôts. Une firme travaille uniquement pour 4 gros clients
situés à Bruxelles, Charleroi, Namur et Ostende, respectivement. Elle veut
réorganiser sa distribution et a la possibilité de satisfaire la demande de ses
clients à partir de 3 dépôts différents, à Anvers, Liège et Mons, respec-
tivement. Si un dépôt est ouvert une année, cela représente un coût fixe
(administration, gardiennage, etc. . . ) de 25 pour Anvers, 15 pour Liège et
15 pour Mons. Les capacités annuelles de ces dépôts, si ils sont ouverts,
sont de 40, 25 et 25 respectivement.
Le directeur des ventes de cette firme consulte ses fiches de commandes des
dernières années et estime que, pour l’année prochaine, il devra livrer 20, 12,
9 et 14 unités du produit à ses quatre clients. Les coûts de transport d’une
unité de produit entre les usines et les villes sont donnés au tableau 8.10.

Coût de transport Bruxelles Charleroi Namur Ostende


Anvers 100 150 180 90
Liège 120 170 80 210
Mons 70 30 90 140

Tableau 8.10: Coûts unitaires de transport.

Sachant que l’approvisionnement d’un client peut se faire à partir de plusieurs


dépôts, on veut déterminer :

• quels dépôts la firme doit-elle ouvrir l’année prochaine ?


• comment organiser le transport entre les dépôts et clients?

pour minimiser la somme des coûts fixes d’ouverture et des coûts variables
de transport. Les coûts de production sont identiques dans les trois usines et
n’entrent donc pas en considération. Formuler le problème.

8.6. 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,
148 Chapitre 8. Conception d’un centre de production

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

149
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.

151
152 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 153

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 .


154 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 155

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
156 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 157

à 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.
158 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. 159

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 )
160 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. 161

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
162 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. 163

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é).
164 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 165

9.6 Exercices

9.1. Ventes de livres. Un éditeur de livres éducatifs doit décider du nombre de


vendeurs qu’il envoie dans chacune des régions du pays pour maximiser le
nombre de ventes. Le tableau qui suit donne l’augmentation du nombre de
ventes dans chaque région en fonction du nombre de vendeurs envoyés.

Nombre de vendeurs Région 1 Région 2 Région 3


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

Il y a 6 vendeurs mais il est décidé d’en envoyer au mois un dans chaque


région. Formuler et résoudre par la programmation dynamique.

9.2. Plan de production hebdomadaire optimal. Une société de construction


automobile doit planifier la production du moteur M200. Au début de la
douzième semaine, les commandes à honorer pour le début des périodes 13
à 16, sont les suivantes :

Période 13 14 15 16
Besoins totaux 4 5 2 3

La fabrication du moteur M 200 demande une semaine et le coût de lancement


dans l’atelier moteurs est estimé à 500 euros. Le coût variable unitaire est de
300 euros pour les trois premières unités produites au cours d’une semaine
et de 400 euros pour les unités suivantes. La capacité de stockage est limitée
à deux moteurs et le coût unitaire hebdomadaire de stockage est de 50 euros.

(a) Formuler le problème de planification comme un problème dynamique.


(b) Sachant qu’au début de semaine 12, il ne reste aucun M200 en stock,
déterminer le plan de production optimal du moteur M200 pour les
semaines 12 à 15.
(c) Donner le plan optimal de production et de stockage.

9.3. Fabrication en heures supplémentaires et au moyen d’intérimaires. Une


société dispose d’une certaine capacité de production en heures normales
(coût direct de 1.000 euros) et heures supplémentaires (coût direct de 1.400
euros). Elle peut aussi faire appel à des intérimaires (coût de 1.800 euros).
Les capacités de production ainsi que les demandes prévisionnelles sont
166 Chapitre 9. La programmation dynamique.

données au tableau suivant pour les cinq prochains mois :

Période t 1 2 3 4 5
Production à 1.000 euros 15 12 10 15 15
Production à 1.400 euros 2 2 1 3 3
Production à 1.800 euros 5 5 5 5 5
Demande 12 17 13 21 18

Le coût de stockage se réduit au seul coût d’immobilisation du capital.


Le taux annuel de possession du capital utilisé est de 24 %. En clair, un
produit fabriqué à 1.000 euros et stocké pendant un mois, représente un coût
d’immobilisation du capital de

2% × 1.000 = 20 euros.

Un calcul semblable est fait pour les produits fabriquées à 1.400 euros ou
1.800 euros.
Donnez la politique optimale de production et de stockage.
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

167
168 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 169

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
170 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 171

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


172 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 Atelier 1 : 1 0 =B4*$B$2+C4*$C$2 4
5 Atelier 2 : 0 2 =B5*$B$2+C5*$C$2 12
6 Atelier 3 : 3 2 =B6*$B$2+C6*$C$2 18
7 x1 positif : 1 0 =B7*$B$2+C7*$C$2 0
8 x2 positif : 0 1 =B8*$B$2+C8*$C$2 0

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
Section 10.4. Le solveur d’Excel 173

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
comprendre les formules, que l’on a choisi de placer la valeur de x1 en cellule
$B$2$, soit juste en dessous du commentaire x1 tandis que celle de x2 est placée
en cellule $C$2, soit juste en dessous du commentaire x2.
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.
174 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”, choisir ”Modèle supposé linéaire”. On peut également
choisir l’option ”Supposé non négatif”, auquel cas les contraintes de positi-
vité peuvent être supprimées.
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).

A B C D E
1 en alu en bois b
2 Production de chassis 2 6
3 Profit : 3 5 36
4 Atelier 1 : 1 0 2 4
5 Atelier 2 : 0 2 12 12
6 Atelier 3 : 3 2 18 18
7 x1 positif : 1 0 2 0
8 x2 positif : 0 1 6 0

Tableau 10.3: Solution du solveur


Plusieurs remarques sur les particularités du solveur d’Excel s’imposent
ici :

1. On a rentré les contraintes une par une. On peut rentrer par groupe les
contraintes ayant même sens. Ainsi, dans l’exemple, on aurait pu rentrer les
trois contraintes de capacités en bloc par la commande suivante :
$D$4 : $D$6 <= $E$4 : $E$6

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.
Section 10.5. Les rapports du solveur 175

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. Remarquez que l’on peut directement
entrer la contrainte sous la forme suivante :

$B$2 : $C$2 >= 0

soit en utilisant, comme indiqué plus haut, 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.
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, à


savoir

x∗1 = 2
x∗2 = 6
z ∗ = 36

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 illustrée à la figure 10.5 apparaı̂t.
Elle laisse le choix entre garder dans les cellules variables la solution obtenue
par le solveur soit rétablir la solution initiale (généralement zéro partout). Cette
boı̂te permet également de générer trois types de rapport :
176 Chapitre 10. La programmation linéaire.

Figure 10.5: Rapports possibles du solveur.

• le rapport des réponses,


• le rapport de sensibilité,
• le rapport des limites.

10.5.1 Le rapport des réponses

Le rapport des réponses (voir figure 10.6) fournit :

Figure 10.6: Rapports des réponses.

• les informations sur l’objectif : la référence de la cellule, le nom, la valeur


originale et finale de la “cellule cible (à Maximiser)”;
Section 10.5. Les rapports du solveur 177

• 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é).

Remarquez que pour déterminer le nom, Excel fait, dans chaque cas, la conca-
ténation du premier commentaire rencontré dans la même ligne que la cellule et
du premier commentaire rencontré dans la même colonne que la cellule. Ceci
est particulièrement utile si l’on a des variables à deux indices comme dans un
problème de transport. En effet, les variables seront stockées dans un tableau où les
lignes correspondront, par exemple, aux origines et les colonnes, aux destinations.
Il suffira de mettre “de i” à gauche de la ligne et “vers j” en haut de la colonne pour
que le nom de la variable à l’intersection de la ligne et la colonne se voit attribuer le
nom “de i vers j” par le rapport d’Excel. On a également utiliser cette facilité pour
notre exemple, en mettant en A2 le commentaire ”Production de chassis”, en
B1 le commentaire ”en alu” et en C1, le commentaire ”en bois”.

10.5.2 Le rapport de sensibilité

Le rapport de sensibilité (voir figure 10.7) fournit :

Figure 10.7: Rapport de sensibilité.

• 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
178 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’accroissement de


l’objectif par unité d’accroissement de la variable. Pour un produit non fabriqué,
le coût réduit s’interprète donc comme la perte de profit si on fabrique un unité du
produit.
De même, nous verrons au chapitre 11 que le prix caché mesure l’accroisse-
ment de l’objectif 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.8) fournit pour chaque variable :

Figure 10.8: 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 179

10.6 Exercices

10.1. La minimisation des coûts. Une entreprise peut fabriquer un même produit
dans deux usines différentes. Les capacités de production de ces deux usines,
exprimées en quantité de produit par jour, sont de 7 pour la première usine et
de 10 pour la seconde. D’autre part, on suppose que le nombre d’heures de
main d’œuvre que l’on peut affecter globalement à cette production est de 60
par jour. Or chaque unité produite nécessite 10 heures de main d’œuvre dans
la première usine alors qu’elle n’en nécessite que 5 dans la seconde. Enfin,
la production totale doit permettre de satisfaire au moins une demande de 8
unités par jour. Sachant que les coûts variables unitaires sont de 2 pour la
première usine et de 3 pour la seconde, l’entreprise désire produire à coût
minimum.

(a) Écrire le programme linéaire correspondant.


(b) Résoudre graphiquement.

10.2. Recyclage du papier. Une société de tri de déchets et recyclage de pa-


pier peut se fournir en déchets auprès de deux villes. Son rôle consiste à
séparer les listes d’ordinateur et les journaux. La répartition entre ménages
et sociétés est différente d’une ville à l’autre expliquant un pourcentage
différent de listes d’ordinateur et de journaux dans les déchets. Ces pour-
centages ainsi que la quantité maximum de déchets que peuvent fournir par
an ces deux villes sont reprises au tableau suivant :

Ville Listes Journaux Offre


% % tonnes par an
Ville 1 5 20 10.000
Ville 2 15 30 20.000

La société offre aux villes un prix de 35 euros par tonne de déchet. Elle
doit décider du montant optimal de déchets à acheter à chaque ville pour
minimiser son coût d’achat. Pour couvrir ses frais fixes, la société doit au
moins collecter 1.500 tonnes de listing d’ordinateur par an. Au delà de 6.000
tonnes de journaux mis sur le marché par an, le prix que la société reçoit
pour la vente de journaux chute et donc la compagnie ne désire pas vendre
plus que cette quantité. Combien la société doit-elle acheter de déchets par
an à chacune des villes ?

(a) Formuler mathématiquement le problème (choix des variables, expres-


sion des contraintes et de l’objectif);
180 Chapitre 10. La programmation linéaire.

(b) Déterminer graphiquement le plan d’achat optimal et en déduire le coût


d’achat minimum.

10.3. Planification de production sur coût variable. Une entreprise fabrique


deux produits P1 et P2 . Chaque produit doit passer dans deux ateliers (usi-
nage et finition). Le mois dernier, 500 unités de P1 ont été produites grâce
à 750 heures de travail dans l’atelier usinage et 250 heures dans l’atelier
finition. De même, 700 unités de P2 ont été produites, nécessitant 700
heures dans l’atelier usinage et 350 heures dans l’atelier finition. L’entre-
prise dispose également d’une section administration. Une partie du coût de
production est indépendante du nombre d’heures passées à la production (les
frais fixes), une partie est directement proportionnelle au nombre d’heures
passées à la production (les frais variables). Le mois passé, on a observé la
répartition suivantes entre frais fixes et frais variables :

Section frais fixes frais variables


Administration 50.000 0
Usinage 60.000 11.600
Finition 40.000 6.000

Il y a également un coût de conditionnement du produit qui est de 8 euros


par unité du produit P1 et de 6 euros par unité du produit P2 . Les prix de
vente unitaires sont de 55 euros et 43 euros respectivement.

(a) Calculer les marges sur coûts variables (différence entre prix de vente
et coût variable de production) par unité de chacun des deux produits.
Indication : calculer d’abord le prix de l’heure dans chacun des ateliers
et le temps nécessaire dans chacun des ateliers par produit.
(b) Les capacités de production sont de 1.200 heures par mois pour l’atelier
d’usinage et de 500 heures par mois pour l’atelier de finition. Formuler
le programme linéaire correspondant à la maximisation de la marge sur
coûts variables (choix des variables, expression des contraintes et de
l’objectif).
(c) Déterminer graphiquement les productions qui maximise la marge sur
coût variable.

10.4. Fabrication et transport de produits frais. La production d’une compa-


gnie se réduit à 2 produits frais, P et Q qu’un grossiste lui achète. La marge
unitaire de la compagnie est de 42 euros pour P et 48 euros pour Q. Chaque
soir, les produits frais sont acheminés chez le grossiste par un transporteur
qui facture à la compagnie 2 euros par kg transporté. Ce coût de transport
Section 10.6. Exercices 181

vient en déduction de la marge. La capacité de transport est de 2.100 kg par


jour. Les produits P et Q s’élaborent à partir de 2 matériaux M et N selon
les recettes présentées au tableau suivant. Considérons une journée où la

Produit Poids (en kg) Poids (en kg) Poids total


du composant M du composant N (en kg)
P 4 3 7
Q 2 1 3

compagnie dispose de 1.600 kg de M et de 1.200 kg de N.

(a) Formuler le problème de la maximisation du revenu net de la compa-


gnie.
• Choix des variables;
• Expression de l’objectif (Conseil : Calculez d’abord la marge nette
de frais de transport de chaque produit);
• Expression des contraintes.
(b) Déterminer graphiquement la solution optimale.

10.5. Organisation de la distribution d’eau. Une agence pour l’eau est chargée
du captage de l’eau et de la fourniture des agglomérations situées dans son
district. Le captage est possible auprès de 3 sources d’offre maximum donnée
(le captage est limité pour ne pas diminuer trop le niveau des nappes souter-
raines). Le tableau ci-dessous donne en dernière colonne l’offre de chaque
source.

Coût de Destination Offre


fourniture Ville Ville Ville Ville de la
venant de 1 2 3 4 source
Source 1 16 13 22 17 50
Source 2 14 13 19 15 60
Source 3 19 20 23 - 50
Besoin minimum 30 70 0 10
Demande maximum 50 70 30 60

Il y a quatre villes à servir dans ce district. Le problème est la répartition


de l’eau disponible entre ces quatre villes durant la saison sèche. Chaque
ville, a des besoins vitaux en eau qui sont repris en avant dernière ligne du
tableau ci-dessus. La compagnie de transport d’eau est obligée de fournir
ces quantités au minimum. Chaque ville, a une demande effective, qui peut
182 Chapitre 10. La programmation linéaire.

être plus élevée (elle est donnée en dernière ligne du tableau ci-dessus). On
ne livrera jamais plus que cette demande effective. Chacune des villes peut
être alimentée par n’importe quelle source, sauf la ville 4 qui ne peut être
alimentée à partir de la source 3. Cependant, vu l’éloignement géographique,
le coût unitaire de fourniture dépend à la fois du lieu de production et du lieu
de consommation de l’eau (voir le tableau ci-dessus pour les données.)
On se demande comment organiser le transport de toute l’eau disponible
de sorte à assurer à toutes les villes leurs besoins minimaux en ne dépassant
pas la demande maximum tout en minimisant les coûts totaux de fourniture
de l’eau pour le district.

(a) Formuler le problème de transport comme un problème linéaire.


(b) Résoudre au moyen du solveur d’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.

183
184 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 185

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).
186 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 187

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 .
188 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 189

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).
190 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 191

11.5 Exercices

11.1. Sensibilité du membre de droite. Pour le problème linéaire formulé à


l’exercice 3 du chapitre 10,

(a) Déterminer la valeur des prix cachés à l’optimum.


(b) Si l’unité de capacité supplémentaire coûte le même prix pour les deux
ateliers, a-t-on intérêt a augmenter la capacité du premier ou du second
atelier ?
(c) Jusqu’à quel niveau est-il intéressant d’augmenter cette capacité ?

11.2. Sensibilité aux coefficients objectif. Soit le problème linéaire suivant :

Min z = 0x1 + x2
s.c.q. 3x1 + 4x2 ≥ 9, (1)
5x1 + 2x2 ≤ 8, (2)
3x1 − x2 ≤ 0, (3)
x1 , x2 ≥ 0.

(a) Déterminer graphiquement la solution optimale.


(b) Déterminer l’intervalle maximum de variation de c1 autour de zéro qui
préserve la solution optimale (x∗1 , x∗2 ) déterminée en a).

11.3. Interprétation de la solution. Une firme fabrique et met sur le marché


2 produits A et B. Le prix de vente unitaire et les ressources nécessaires
pour fabriquer une unité sont données au tableau 11.1. Chaque semaine,

Produit A Produit B
Prix de vente 60 $ 41 $
Matériau requis 2 unités 1 unité
Main-d’œuvre 0,75 heure 0,5 heure
Usinage 1,5 heure 0,8 heure

Tableau 11.1: Prix unitaires et quantités de facteurs.

la société peut se procurer 400 unités du matériau requis au coût de 4,75 $


l’unité. Au service de la société se trouvent 4 employés qui travaillent chacun
40 heures semaine et dont les salaires sont fixes (indépendant du volume de
production). Les heures supplémentaires sont payées 15 $ de l’heure. Mais
la direction a promis de ne jamais exiger plus de 35 heures supplémentaires
par semaine. L’usinage se fait sur deux machines, disponibles chacune à
192 Chapitre 11. Analyse postoptimale.

raison de 160 heures par semaine. La demande de base du produit est au


maximum de 50 unités par semaine pour A et de 60 unités pour B. On peut
insérer des publicités dans la presse locale. On estime que chaque $ de
publicité investi pour A augmente sa demande de 8 unités et chaque $ investi
pour B augmente sa demande de 4 unités. Le budget publicité maximum est
de 65 $ par semaine.

(a) Formuler le problème de la maximisation du revenu net (choix des


variables, expression de l’objectif et des contraintes).
(b) Un logiciel d’optimisation vous fournit le listing suivant :
Section contraintes :
No Nom Valeur Prix Membre Valeur Valeur
finale caché de droite minimum maximum
L1 matprem 0 24,375 0 -80 5,3333
L2 maxmatp 400 19,625 400 320 405,333
L3 mainoeuv 160 15 160 155 190
L4 maxhsupp 30 0 35 30 1,0E+30
L5 usinage 316 0 320 316 1,0E+30
L6 demandeA 40 0 50 40 1,0E+30
L7 demandeB 60 9,125 60 40 100
L8 maxpub 65 35,5 65 60 75

Section variables :
No Nom Valeur Co^
ut Coefficient Valeur Valeur
finale réduit objectif minimum maximum
C1 produitA 40 0 60 20,75 67,75
C2 produitB 320 0 41 32,125 1,0E+30
C3 heuresup 30 0 -15 -67,33 0
C4 matierep 400 0 -4,75 -24,375 1,0E+30
C5 pubpourA 0 -36,5 -1 -1,E+30 35,5
C6 pubpourB 65 0 -1 -36,5 1,0E+30

Les ouvriers souhaiteraient que l’on ne fasse plus appel aux heures
supplémentaires. Ils estiment que le prix de 15 $ n’est pas une compen-
sation financière suffisante. Ils exigent une augmentation de 10 $ par
heure. Faut-il mieux pour l’entreprise ne plus recourir aux heures
supplémentaires ou accéder à la demande ?
(c) Quel serait le revenu net que tirerait la société de 10 $ de dépenses
supplémentaires en publicité chaque semaine ?
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.

193
194 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 195

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
196 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 197

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.
198 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 199

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.
200 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 201

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
202 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 203

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,
204 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 205

12.5 Exercices

12.1. Mélange de maximum 4 charbons. Pour produire du coke, on mélange des


charbons dans un haut fourneau où ensuite, une réaction à haute température
produit le coke. On suppose qu’il y a 8 charbons disponibles. Ces charbons
sont entrés par des bandes porteuses qui sont au nombre de 4, permettant
d’avoir au maximum 4 charbons différents dans le mélange. De plus, si un
charbon est présent dans le mélange, il doit l’être à hauteur de minimum
5%. De plus, on exige que la teneur du mélange en Silicium soit d’au plus
1,8 % Le tableau 12.1 reprend les prix et teneur en Si des charbons. On

Charbon Prix Teneur Si


Charbon 1 12 2%
Charbon 2 14 2,5 %
Charbon 3 17 1%
Charbon 4 10 5%
Charbon 5 13 1%
Charbon 6 9 5%
Charbon 7 15 2%
Charbon 8 11 1,5 %
Tableau 12.1: Teneurs en Si et prix des différents charbons.

veut déterminer le mélange répondant aux spécifications qui soit de coût


minimum. Formuler le problème.

12.2. Localisation optimale d’émetteurs de télévision. Étant donné une région


comportant quatre villes (Lille, Dunkerque, Valencienne et Basieux), on
veut savoir où implanter, parmi divers emplacements disponibles (au nombre
de 5), un ensemble d’émetteurs de télévision susceptibles de desservir ces
différentes villes au moindre coût. La dernière colonne du tableau 12.2
représente le coût de construction de chaque émetteur. Les autres informa-
tions données dans le tableau concernent les villes accessibles par l’émetteur
s’il est construit. Par exemple, si on construit l’émetteur 1, on atteindra les
ville de Lille et Dunkerque et son coût de construction est de 25.
On demande d’écrire le programme correspondant à la détermination du
nombre d’émetteurs à construire afin que chaque ville soit desservie par au
moins un émetteur et ceci à coût d’investissement total minimum.

12.3. Problème d’affectation de lignes aériennes. Une petite compagnie aérien-


ne dispose de six avions de 150 places. Elle désire affecter sa flotte d’avions
aux deux lignes intérieures ouvertes à la concurrence (les lignes OM et OT).
206 Chapitre 12. La programmation en nombres entiers.

Ville Lille Dunkerque Valencienne Basieux Coût


Émetteur 1 1 1 25
Émetteur 2 1 1 30
Émetteur 3 1 1 15
Émetteur 4 1 1 35
Émetteur 5 1 1 1 90

Tableau 12.2: Accessibilité des villes à partir des émetteurs.

Le nombre de passagers désirant effectuer chaque jour un parcours sur la


ligne OM par cette nouvelle compagnie est 500, et de 200 sur la ligne OT. Le
coût marginal (frais variables tels que le carburant, les taxes d’atterrissage,
etc. . . ) d’un voyage sur la ligne OM est de 4 et de 3 sur la ligne OT. On
désire minimiser le coût d’exploitation en satisfaisant la demande.

(a) Formuler mathématiquement le problème de la meilleure affectation


de la flotte de cette compagnie.
(b) Résoudre par la méthode de branch and bound en résolvant chaque fois
la relaxation linéaire de manière purement graphique.

12.4. Méthode de branch and bound. Soit le problème en nombres entiers


suivant :

z ∗ = max x1 + x2
s.c.q. x1 + x2 ≥ 1,
3x1 − x2 ≥ −3,
x1 − 4x2 ≥ −14,
4x1 + x2 ≤ 20,
2x1 − x2 ≤ 7,
x1 , x2 ≥ 0 et entiers

Résoudre par la méthode de branch and bound en résolvant les relaxations


linéaires de manière purement graphique.

12.5. Tournées de véhicules. Considérons le problème d’organisation des tour-


nées de véhicules pour la collecte des déchets. La collectivité locale dispose
de 12 véhicules de collecte répartis comme suit : 4 dans la ville 1, 3 dans la
ville 2, 1 dans la ville 3 et 4 dans la ville 4. Les temps de trajets entre ces
Section 12.5. Exercices 207

villes et l’incinérateur sont les suivants :

Vers ville 1 ville 2 ville 3 ville 4 incinérateur


De la ville 1 0 10 ∞ ∞ 45
De la ville 2 10 0 5 ∞ ∞
De la ville 3 ∞ 5 0 5 20
De la ville 4 ∞ ∞ 5 0 ∞
De l’incinérateur 45 ∞ 20 ∞ 0

(a) Représenter sous forme d’un graphique le réseau de transport.


(b) Formuler le problème de minimisation du temps total pour aller à l’in-
cinérateur comme un problème en nombres entiers sur réseau.
(c) Résoudre au moyen du solveur d’Excel.

12.6. Découpe de bobines mères. Les papetiers fabriquent des rouleaux de papier
dont la largeur est fixée par les caractéristiques des machines de production.
Leur clients peuvent leur réclamer des rouleaux de diverses largeurs et de
diverses longueurs. Comme il est fréquent que ni la largeur ni la longueur
des bobines mères ne soient des multiples de celles de rouleaux commandés,
il y a des pertes connues sous le nom de chutes. La largeur des bobines mères
est de 215 cm et leur longueur de 250 m. Les commandes acceptées par le
papetier sont reprises au tableau 12.3. Comme la longueur des rouleaux

Largeur (en cm) longueur (en m) nombre de rouleaux


64 250 360
60 250 180
35 250 180

Tableau 12.3: Commandes acceptées.

commandés est identique à celle des bobines mères, il suffit d’assurer la


coupe transversale d’un certain nombre de bobines mères. Pour satisfaire
les commandes acceptées, le papetier peut, par exemple, combiner trois
coupes de largeur 64 cm dans la même bobine, mais aussi, par exemple,
deux de largeur 64 et deux de largeur 35. Toutes les possibilités sont reprises
au tableau 12.4. On veut déterminer comment satisfaire les commandes
acceptées avec le minimum de bobines mères.

(a) Formuler le problème comme un problème en nombres entiers.


(b) Résoudre au moyen du solveur d’Excel.
208 Chapitre 12. La programmation en nombres entiers.

Largeur 1 2 3 4 5 6 7 8 9 10
64 3 2 2 1 1 1 0 0 0 0
60 0 1 0 2 1 0 3 2 1 0
35 0 0 2 0 2 4 1 2 4 6
Chute 23 27 17 31 21 11 0 25 15 5

Tableau 12.4: Modes de coupe.

12.7. 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 12.5. On suppose qu’un ouvrier

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 12.5: Optimisation du plan directeur de production.

peut produire 150 unités par jour ouvrable. Le nombre de jours ouvrables est
également repris au tableau 12.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 euros. Le
coût de licenciement est de 50 000 euros. Le coût de stockage d’une unité
pendant un trimestre est de 10 euros. 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. Ceci afin de faire face
aux demandes du début du trimestre suivant. Ce niveau minimum est donné
au tableau 12.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).
(a) Formuler le problème comme un problème linéaire.
(b) Résoudre au moyen du solveur d’Excel. On fera attention à bien
distinguer les variables indépendantes des variables dépendantes.
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.

209
210 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

211
212 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 213

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
214 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]

215
216 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(λ) 217

λ
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]


218 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(λ) 219

λ
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
220 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) 221

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
222 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 A
Solutions finales des exercices

A.1 Introduction

1.1 Un problème de choix d’investissement

a) Choix des variables : les quantités investies en euros dans A, B et C.


b) Expression de l’objectif : maximisation de la somme espérée après un
an.
c) Expression des contraintes :
• Respect de la quantité totale disponible,
• Quantité minimum investie sur B et C ensemble,
• Intérêt minimum garanti de 5 % sur la somme disponible,
• Positivité.

1.2 Problème de chargement de haut fourneau.

a) Choix des variables :


-nombres de milliers de tonnes de minerais A, B et C
-nombre de milliers de tonnes de manganèse ajouté dans le mélange.
b) Expression de l’objectif : maximisation de la marge qui est la différence
entre le chiffre d’affaire et les coûts d’achat et de fonte des minerais
ainsi que le coût d’achat du manganèse ajouté.
c) Expression des contraintes :
• Bilan sur la quantité à produire (une tonne),
• Teneur minimum en maganèse,
• Teneur minimum et maximum en silicium,
• Positivité.

223
224 Annexe A. Solutions finales des exercices

1.3 Problème de planification sur coût variable.

a) Choix des variables :


-production en régime normal par mois,
-production en heures supplémentaires par mois,
-stock à la fin de chaque mois.
b) Expression de l’objectif : minimisation de la somme des coûts de pro-
duction en heures supplémentaires et de stockage.
c) Expression des contraintes :
• Satisfaction de la demande,
• Capacités de production en heures normales,
• Capacités de production en heures supplémentaires,
• Positivité.

1.4 Affectation à des lignes aériennes.

a) Choix des variables : nombre d’avions de type i affectés à la ligne j.


b) Expression de l’objectif : minimisation de la somme des coûts d’exploi-
tation des lignes en fonction du type d’appareil.
c) Expression des contraintes :
• Contrainte sur le nombre d’appareils disponibles de chacun des
types,
• Satisfaction de la demande par ligne,
• Caractère entier des variables,
• Positivité.

1.5 Production de denrées périssables.

a) Choix des variables :


-nombre d’unités fabriquées par jour des produits P et Q,
-nombre de kilos transportés par camionnette par jour,
-nombre de kilos transportés par transporteur indépendant par jour.
b) Expression de l’objectif : maximisation du profit net de coût de transport.
c) Expression des contraintes :
• Bilan sur les quantités transportées,
• Capacité de la camionnette,
• Limite des ingrédients disponible,
• Positivité.
Section A.2. Ordonnancement en ateliers spécialisés 225

1.6 Ajout d’un produit à la gamme.

a) Choix des variables :


-production de produits standard dans l’atelier A, B et C,
-Production de produits de luxe dans l’atelier B et C.
b) Expression de l’objectif : maximiser la marge qui est la différence entre le
chiffre d’affaire, les coûts de main d’oeuvre et les coûts des matériaux.
c) Expression des contraintes :
• Capacité des ateliers,
• Limite de vente des produits,
• Positivité.

A.2 Ordonnancement en ateliers spécialisés

2.1 Bâtiments - travaux publics.

a) Ordre de prise en compte des travaux :

26 25 30 27 28 29

b) Gain en nombre de jours par rapport à l’ordre d’arrivée : 3 jours.


c) Ordre s’il y a un temps intermédiaire de 2 jours : même ordre.

2.2 Usinage de pièces sur des machines.

a) Pourquoi l’algorithme de Johnson ne s’applique pas ?


L’algorithme de Johnson ne s’applique pas car les tâches qui doivent
être effectuées sur une même machine ne sont pas indépendantes : il
faut d’abord régler la machine avant d’usiner les pièces.
b) Enumération de tous les cas possibles :
• Cas 1 : a<b sur les deux machines,
• Cas 2 : a<b sur M1 et b<a sur M2,
• Cas 3 : b<A sur M1 et a<b sur M2,
• Cas 4 : b<a sur les deux machines.
c) Diagrammes de Gantt :
• Cas 1 : a<b sur les deux machines : tf = 13 heures.
• Cas 2 : a<b sur M1 et b<a sur M2 : tf = 12 heures.
226 Annexe A. Solutions finales des exercices

• Cas 3 : b<A sur M1 et a<b sur M2 : tf = 17 heures.


• Cas 4 : b<a sur les deux machines : tf = 11 heures.

2.3 Gestion du temps pour la composition d’un travail de groupe.

a) Ordonnancement qui minimise le temps de réalisation du travail ?

B A D C

b) Ordonnancement qui minimise le temps de réalisation des 7 tâches ?


Pour l’étudiant 1 :

{A, B}, {A}, {B, A}

B A D C G
Pour l’étudiant 2 :

{B, A}, {B}, {A, B}

F E B A D C

c) Illustrer à l’aide d’un diagramme de Gantt : tf = 8,5 jours.


d) Pourront-ils rendre le travail à temps ? oui car l’étudiant le plus lent
met 8,5 jours < 10 jours.

2.4 Ordonnancement avec trois ateliers.

a) Calcul de l’ordonnancement :

Place 1 2 3 4 5
Tâche 2 4 3 5 1

b) Diagramme de Gantt : tf = 27.

A.3 Gestion calendaire de stock

3.1 Achat de pièces de rechange.

a) Nombre optimal de pièces à commander : S ∗ = 3.


Section A.3. Gestion calendaire de stock 227

b) Calcul du nombre moyen de ruptures : Ir (S)= 0,0233


Calcul du stock moyen possédé : Ip (S) = 2,0233
Calcul du coût de gestion du stock : C(S) = 2.605,80

3.2 Ventes d’hebdomadaires.

a) Gestion calendaire avec stock à rotation nulle (cas Normale) : S ∗ =


32, 15
b) Calcul du nombre moyen de ruptures : Ir (S) = 1,152
Calcul du stock moyen possédé : Ip (S) = 3,152
Calcul du coût de gestion du stock : C(S) = 10,91 euros
Calcul du bénéfice net : B(S) =109,09 euros

3.3 Vente de calculatrices.

a) Gestion calendaire de stock à rotation non nulle (cas Poisson) : S ∗ = 16.


b) Calcul du nombre moyen de rupture : Ir (S) = 0,055
Calcul du stock moyen possédé : Ip (S) = 11,0275
c) Calcul du bénéfice net : B(S) = 95,63 euros.

3.4 Vente de réveils électroniques.

a) Gestion calendaire de stock à rotation non nulle (cas Normale) : S =


277.
b) Calcul du nombre moyen de ruptures : Ir (s) = 0,5834
Calcul du stock moyen possédé : Ip (S) = 177,2917
c) Calcul du bénéfice net : B(S) = 1 932,82

3.5 Vente de sapins de Noël.


Gestion calendaire de stock à rotation non nulle : S ∗ 30.296

3.6 Ventes de fleurs.

a) Nombre de bottes de fleurs à acheter : S ∗ = 13.


b) Nombre moyen de ruptures par semaine : Ir (S) = 2, 7076. Soit 5,41
clients par semaine.
c) Nombre d’invendus : Ip (S) == 0, 7076. Soit 1,4152 bottes par semaine.
228 Annexe A. Solutions finales des exercices

A.4 Gestion de stock par point de commande

4.1 Gestion de l’approvisionnement du stock de transitors.


a) Calcul du coût de gestion actuel : C(500, 500) = 4.320 euros.
b) Politique optimale : q ∗ = 300 et s∗ = 300.
Coût de la politique optimale : C(300, 300) = 2.400 euros.
c) Le gain est de : 1.920 euros.
4.2 Vente de verre de cristal.
a) Niveau de la commande optimale : q ∗ = 624.
b) Point de commande : s = 300.
c) Coût de gestion : C(q) = 749,40 euros.
4.3 Vente de verre de cristal en univers aléatoire.
a) Niveau de commande : q ∗ = 624.
b) Point de commande : s∗ = 418.
c) nombre moyen de refus de vente par commande : Irc (s) = 1,3859.
d) Stock moyen possédé : Ip (s, q) = 430,693
e) Coût de gestion correspondant : C(s, q) = 926,48
4.4 Ventes de carafes à eau.
a) Niveau de commande : q ∗ = 55.
b) Point de commande : s∗ = 15.
c) Nombre de ruptures à chaque commande : Ir (s) = 0,1045
4.5 Vente par correspondance.
a) Gestion calendaire : S ∗ = 15 avec C(S) = 105,687.
Ce qui sur base annuelle (6 fois deux mois) donne : Ca = 6×105, 687 =
634, 12.
b) Gestion par point de commande : q ∗ = 9 et s∗ = 5 avec C(s, q) = 525,48.
c) Comparaison des bénéfices dans les trois cas :
Gestion calendaire : B(S) = 8 965, 88.
Gestion par point de commande : B(s, q) = 9 074, 52.
Servir d’intermédiaire : B = 4 800.
Conclusion : il vaut mieux utiliser la gestion par point de commande.
Section A.5. La planification de la production 229

A.5 La planification de la production

5.1 Planification de production d’un moteur.

a) Besoins nets de moteur pour janvier à avril :

t Janvier Février Mars Avril


BNt 0 7 16 11

b) Lancements de production en lot par lot :

t Janvier Février Mars Avril


LPt 7 16 11

5.1 Production d’engrenages.

a)Quantité économique à mettre en production : q ∗ = 110.


b) Plan de production et de stockage :

t 1 2 3 4 5 6 7 8
Pt 110 0 110 0 0 110 0 0
St 80 35 85 45 10 90 55 5

c) Coût de lancement de production et de stockage : C = 855. Alors que le


coût de la politique du lot par lot est de : C = 1 200. Le gain est donc
de : 1 200 − 855 = 345.

5.3 Détermination des besoins et lancements de production de niveau 2.

a) Lancements du composant E2010 :


Période 15 16 17 18 19 20 21 22
BNt 0 3 30 16 31 21 20
LPt 20 3 30 16 31 21 20 -
b) Lancements du composant E2040 :
Période 15 16 17 18 19 20 21 22
BNt 0,5 0 5,5 9 11 13 -
LPt 17 5,5 9 11 13 - - -
230 Annexe A. Solutions finales des exercices

5.4 Ajustement charge-capacité de niveau 2.


Période 16 17 18 19
ajustement +20,5 -4,5 +0,5 -16,5
LPt de E2010 23,5 25,5 16,5 14,5
LPt de E2040 5,5 9 11 13

5.5 Planification des besoins en composants.


a) Déterminer les besoins nets et lancements en composant E :
Période 0 1 2 3 4 5
BNt de E 0 0 100 250 250
LPt de E 250 250 250 0
SFt de E 300 200 50 150 150 150
b) Déterminer les besoins nets et lancements de production de P1 :
Période 0 1 2 3 4 5
BNt de P1 0 0 0 170 -
LPt de P1 0 0 500 - - -
SFt de P1 640 370 105 330 -
c) Déterminer les besoins nets et lancements de production de P2 :
Période 0 1 2 3 4 5
BNt de P2 0 0 475 525 -
LPt de P2 300 0 600 600 - -
SFt de P2 570 50 125 200 -

A.6 Les techniques de juste à temps

6.1 Flux tendus.


a) Calcul du nombre de tickets à mettre en circulation : Ne = 6 conteneurs.
b) Vérification de l’équilibre charge capacité : Le temps de fabrication
amont de 6,7 heures par jour. Alors qu’on en dispose de 8.
c) Réduire la taille des séries de fabrication de 500 à 250 : il faut absolument
réduire le temps de lancement sinon on utilise 8 heures par jour rien
qu’au lancement. Il ne reste plus rien pour la production.
Section A.7. L’ordonancement de projets 231

6.2 Calcul du nombre d’étiquettes.

a) Flux journalier de production de D : 50 D/jour.


b) Nombre de réglages pour D :3 réglages par jour.
c) Capacité d’un container : 10 pièces.
d) Nombre de Kanbans : Ne = 5

6.3 Conditionnement de surgelés.

a) Temps de réaction du poste préparation : Tr = 60 minutes.


b) Vérifier l’équilibre entre la charge et la capacité : temps de fabrication
= 6,67 heures < 8 heures : on a donc assez de capacité.
c) Nombre d’étiquettes : Ne = 5.

A.7 L’ordonancement de projets

7.1 Equipement d’un ensemble minier.

a) Graphe de la méthode des potentiels : voir cours. tf = 11.


b) Dates de début au plus tôt, les dates de début au plus tard :
Tâche 1 2 3 4 5 6 7 8
Date plus tôt 0 0 0 3 3 3 7 5
Date au plus tard 1 0 6 3 4 6 7 8
Tâches critiques : 2,4,7.
c) La tâche 7 ne commence pas avant 8 trimestres : tf = 12.
d) La tâche 8 ne commence pas après 4 trimestres : problème impossible.

7.2 Construction d’un bâtiment.

a) Graphe de la méthode des potentiels : voir cours.


b) Dates au plus tôt, au plus tard et marges :
Tâche 1 2 3 4 5 6 7 8 9 10 11 12
déb +tôt 0 6 16 16 16 22 23 31 31 36 26 35
marge 0 0 2 0 5 5 0 1 0 0 5 5
déb +tard 0 6 18 16 21 27 23 32 31 36 31 40
Chemin critique : 1, 2, 4, 7, 9 et 10.
c) Résolution de la disjontion : Si on fait 9 avant 11 :tf = 47. Si on fait 11
avant 9 : tf = 46. Donc 11 avant 9.
232 Annexe A. Solutions finales des exercices

7.3 La méthode PERT.


a) Graphe de la méthode PERT : il est nécessaire d’ajouter une tâche fictive
entre les tâches 11 et 9.
b) Dates au plus tôt, au plus tard et marges :
Tâche 1 2 3 4 5 6 7 8 9 10 11 12 13
Date + tôt 0 1 3 1 1 3 4 8 10 1 5 10 11
Marge 0 3 3 1 0 1 1 0 0 0 0 4 4
Date + tard 0 4 6 2 1 4 5 8 10 1 5 14 15
Chemins critiques : 1, 5, 8, 9 et 1, 10, 11, 9.
c) Réduction de la durée : Il faut réduire les tâches 5 et 11 pour réduire la
durée totale (les deux sont critiques). Mais une réduction au delà de 1
unité est inutile. Le surcoût total est donc de 300 000 euros.
7.4 Minimisation des coûts.
a) Graphe de la méthode des potentiels : voir cours.
b) Ordonnancement:
Tâche 1 2 3 4 5
Date plus tôt 0 0 4 9 17
Date au plus tard 0 3 4 9 17
Chemin critique : 1, 3, 4 et 5.
c) Formulation du problème de minimisation des coûts :
Les variables : t1 , . . .t5 , les dates de débuts au plus tôt, d3 , d5 , les
durées des troisième et cinquième tâches.
L’objectif : C(D) = 350 − 20d3 − 10d5
Les contraintes :
t3 − t1 ≥ 4 t4 − t3 ≥ d3 t4 − t2 ≥ 6
t5 − t4 ≥ 8 tf − t5 ≥ d5 3 ≤ d3 ≤ 5
5 ≤ d5 ≤ 7 ti ≥ 0, i = 1, . . .5
d) Forme de la fonction CD en fonction de tf :
e) L’évolution des coûts direct et indirect :
tf 20 21 22 23 24
CD 240 220 200 190 180
CI 110 115 120 135 150
CT 350 335 320 325 330

Ce qui donne un temps optimal de fin de projet de t∗f = 22.


Section A.8. Conception d’un centre de production 233

7.5 Lancement d’un nouveau produit.

a) Graphe de la méthode des potentiels : voir cours.


b) Pourquoi le problème est soluble : le graphe ne contient aucun circuit.
c) Calcul des dates de début au plus tôt, au plus tard et des marges :
Tâche A B C D E F G H I J
Date plus tôt 17 5 14 0 3 12 0 0 5 8
Date au plus tard 17 5 14 2 6 12 1 0 5 8
d) Les chemins critiques : C-A, H-B-J-F-A et H-I-F-A.
e) Raccourcir la durée d’une semaine : réduire d’une semaine la durée des
tâches C, B et I.

A.8 Conception d’un centre de production

8.1 Equilibrage d’une chaı̂ne.

a) Chaı̂ne à un temps de cycle de 18 minutes au plus :


Score 1 :

Poste 1 Poste 2 Poste 3 Poste 4 Poste 5 Poste 6 Poste 7


J,10 C,5 I,9 M,6 E,15 F,7 N,15
G,6 K,4 B,7 H,4
A,2 L,8 D,2
18 17 18 10 15 7 15

Score 2 :

Poste 1 Poste 2 Poste 3 Poste 4 Poste 5 Poste 6 Poste 7


A,2 J,10 E,15 B,7 I,9 M,6 N,15
C,5 L,8 G,6 F,7
D,2 H,4
K,4
13 18 15 17 16 6 15

b) Calcul du retard d’équilibre : RE = 20,3 %.

8.2 Montage en chaı̂ne d’une lampe de bureau.

a) Détermination du temps de cycle : c = 64 secondes.


234 Annexe A. Solutions finales des exercices

b) Graphe de préséances : voir cours.


c) Calcul du score 2 :
A : 129, B: 107, C : 120, D : 93, E : 62, F : 53, G : 12
d) Utilisation de l’heuristique de score 2:

Poste 1 Poste 2 Poste 3


A,22 D,40 F,41
C,27 E,9 G,12
B,14
63 49 53

e) Calcul du retard d’équilibre : RE = 12,7 %.

8.3 Choix d’une capacité.

a) Calcul des profits espérés dans chacun deux cas :


Construire 5 000 : E(V AN ) = 4 256 854.
Construire 2 000 : E(V AN ) = 4 057 654.
Il vaut mieux construire dès le début une capacité de 5 000.
b) Pourquoi la décision optimale change ? Comme il y a une plus grande
chance de succès du produit, il vaut mieux se lancer directement dans
la production d’une grande capacité.
c) Probabilité de succès de basculement de stratégie : π = 38, 92%.

8.4 Ouverture d’un restaurant.

a) Arbre de décision relatif à ce problème : voir cours.


b) Calcul des VAN :
Cas 1 2 3 4
VAN (Keuros) 702,71 33,17 351,36 475,44
c) E(V AN ) si la 1ère décision est d’ouvrir un restaurant de 500 : 401,42.
E(V AN ) si la 1ère décision est d’ouvrir un restaurant de 250 : 419,61.
d) Décision ? Ouvrir 250 et rajouter 250 après un an si nécessaire.

8.5 Ouverture de dépôts.

a) Variables :
millions de tonnes transportées du dépôt i vers le client j.
indicatrice de l’ouverture du dépôt i l’année prochaine.
Section A.9. La programmation dynamique 235

b) Contraintes :
-satisfaction de la demande;
-capacité de production;
-non négativité;
caractère binaire des indicatrices.
c) Objectif : minimiser la somme des coûts de tranport et des coûts d’ou-
verture des dépôts :

8.6 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 :
– millions de pneus transportées du dépôt i vers le pays j.
– 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 : minimiser la somme des coûts de transport et des frais
fixes d’ouverture des dépôt.

A.9 La programmation dynamique

9.1 Ventes de livres.

a) Formulation en un problème dynamique :


• Choix des variables d’état : st = nombre de vendeurs restant.
• Choix des variables de décisions : xt = nombre de vendeurs att-
ribués à la région t.

• Objectif : max z = 3t=1 Bt (xt ).
• Contraintes :
– Relation de récurrence entre les variables : st+1 = st − xt .
– Positivité du stock : st ≥ 0.
– Au moins un vendeur : xt ≥ 1.
236 Annexe A. Solutions finales des exercices

b) Résolution par la programmation dynamique :

Région t 1 2 3
st 6 5 3

xt 1 2 3

9.2 Plan de production hebdomadaire optimal.

a) Formulation en un problème dynamique :


• Choix des variables d’état : st = stock de moteurs M200 au début
de la période t.
• Choix des variables de décision : xt = fabrications de moteur
M200 à la période t.

• Expression de l’objectif : min z = 15 t=12 CSst + CP (xt ) avec


 0 si xt = 0

CP (xt ) =  500 + 300xt si xt = 1, 2, 3


500 + 900 + 400(xt − 3) si xt ≥ 4

• Contraintes :
– Relation de récurrence entre les variables : st+1 = st + xt −
dt+1 .
– Limite du stock : st ≤ 2.
– positivité : xt , st ≥ 0.
b) Résolution par la programmation dynamique : voir cours.
c) Plan optimal de livraison et de stockage :

t 12 13 14 15
x∗t 4 7 0 3
st 0 0 2 0

9.3 Fabrication en heures supplémentaires et au moyen d’intérimaires.

Période t 1 2 3 4 5
x∗t 17 14 11 21 18
st 0 5 2 0 0
Section A.10. La programmation linéaire 237

A.10 La programmation linéaire

10.1 La minimisation des coûts.

a) Formulation du problème linéaire :


• Variables : quantités fabriquées par jour par usine .
• Objectif : minimisation des coûts de production.
• Contraintes :
– Capacité journalière des usines,
– Limite de main d’oeuvre,
– Satisfaction de la demande,
– Positivité.
b) Résolution graphique : solution optimale :

x∗1 = 4 x∗2 = 4 z ∗ = 20

10.2 Recyclage du papier.

a) Formulation du problème linéaire :


• Variables : quantités de déchets achetées par an par ville.
• Objectif : minimisation des coûts d’achat.
• Contraintes :
– Limite d’achat dans les deux villes;
– Au moins 1 500 tonnes de listings;
– Pas plus de 6 000 tonnes de journaux;
– Positivité.
b) Résolution graphique : solution optimale :

x∗1 = 0 x∗2 = 10 000 z ∗ = 350 000

10.3 Planification de production sur coût variable.

a) Marges sur coût variable : m1 =30 et m2 =24.


b) Formulation du problème linéaire :
• Variables : les productions mensuelles des deux produits
• Objectif : maximiser la marge totale.
• Contraintes : Respect de la capacité des ateliers et positivité des
variables.
238 Annexe A. Solutions finales des exercices

c) Résolution graphique : solution optimale :

x∗1 = 400 x∗2 = 600 z ∗ = 26.400

10.4 Fabrication et transport de produits frais.


a) Formulation du problème :
• Variables : nombre d’unités fabriquées par jour par produit.
• Objectif : maximiser la marge nette de coût de transport.
• Contraintes :
– Capacité de transport,
– Limitation d’ingrédient M,
– Limite d’ingrédient N,
– Non négativité .
b) Résolution graphique : solution optimale :

x∗1 = 0 x∗2 = 700 z ∗ = 29.400

10.5 Organisation de la distribution d’eau.


a) Formulation du problème en nombres entiers :
• Variables : quantité d’eau allant la source i à la ville j.
• Objectif : minimisation des coûts de distribution.
• Contraintes :
– Respect du besoin minimum de chaque ville;
– Demande maximum de chaque ville;
– Utiliser toute l’offre disponible de chaque source;
– Positivité.
b) Solution d’EXCEL :

z ∗ = 2.460
x∗12 = 50 x∗22 = 20 x∗24 = 40 x∗31 = 50

A.11 Analyse postoptimale

11.1 Sensibilité du membre de droite.


a) Valeurs des prix cachés :

y1∗ = 12 y2∗ = 24.


Section A.11. Analyse postoptimale 239

b) De quel atelier augmenter la capacité ? Du second atelier car l’aug-


mentation de profit pour une heure en plus est plus grande.
c) Jusqu’à quel point ? Augmentation utile jusque b2 = 600.
11.2 Sensibilité aux coefficients objectif.
a) Solution graphique :
x∗1 = 3/5 x∗2 = 9/5 z ∗ = 9/5.
b) Intervalle autour de c1 = 0 qui préserve x∗ :
−3 ≤ c1 ≤ 0, 75
11.3 Interprétation de la solution.
a) Formulation du problème de la maximisation du revenu net :
• choix des variables :
-productions hebdomadaires de A et B;
-quantité hebdomadaire de matières premières;
-heures supplémentaires par semaine;
-publicité pour A, pour B.
• expression de l’objectif : maximiser le chiffre d’affaire moins le
coût de matière première moins le coût des heures supplémentaires
moins le budget publicitaire.
• expression des contraintes:
– Calcul de la quantité de matière première;
– Limite de matière première;
– Calcul du nombre d’heures supplémentaires;
– Limite du nombre d’heures supplémentaires;
– Limite d’usinage;
– Demande maximum de A, de B;
– Limite du budget publicitaire.
b) Augmentation des heures supplémentaires de 15 $ à 25 $ par heure.
Actuellement, on utilise 30 heures supplémentaires. Si le coefficient
objectif des heures supplémentaires passe de -15 à -25, la solution ne
change pas car on peut descendre juqu’à -67,33. A 25 $, on recourre
aux heures supplémentaires.
c) Revenu net de 10 $ supplémentaires en publicité ?
Dans la contrainte de maximum de publicité, le prix caché est de 35,5
et son domaine de validité indique que l’on peut augmenter de 10 le
membre de droite. Donc le bénéfice net serait de 10 × 35,5 = 355 $.
240 Annexe A. Solutions finales des exercices

A.12 La programmation en nombres entiers

12.1 Mélange de maximum 4 charbons.

a) Variables :
• teneur du mélange en charbon i;
• binaire indicatrice de la présence du charbon i.
b) Objectif : minimiser le coût d’achat des charbons.
c) Contraintes :
• produire une tonne;
• respecter la teneur minimum dans le mélange;
• respecter le nombre maximum de charbons;
• respecter la teneur maximum en Si;
• positivité et caractère entier.

12.2 Localisation d’émetteurs de télévision.

a) Variables : binaire indicatrice de la construction de l’emetteur i.


b) Objectif : minimiser la somme des coûts fixes de construction.
c) Contraintes : Atteindre chaque ville

12.3 Problème d’affectation de lignes aériennes :

a) Formulation du problème :
• Choix des variables :
-nombre d’avions affectés sur la ligne OM;
-nombre d’avions affectés sur la ligne OT.
• Expression des contraintes :
– satisfaire la demande;
– respecter le nombre d’avions;
– caractère entier des variables.
• Objectif : minimiser les coûts d’exploitation des lignes.
b) Solution optimale: (x∗1 , x∗2 ) = (4, 2) , z ∗ = 22.

12.4 Méthode de branch and bound. Solution optimale :

z ∗ = 8 x∗1 = 4 x∗2 = 4

12.5 Tournées de véhicules.


Section A.12. La programmation en nombres entiers 241

a) Formulation du problème en nombres entiers :


• Choix des variables : nombre de camions allant de la ville i à la
ville j.
• Expression des contraintes : Conservation du nombre de camions
en chaque noeud du réseau.
• Expression de l’objectif : minimiser le temps total passé sur le
réseau.
b) Mettre sous la forme d’un modèle de calcul en EXCEL : voir cours.
c) Solution d’EXCEL :

z ∗ = 335
x∗12 = 4 x∗23 = 7 x∗43 = 4 x∗3I = 12

12.6 Découpe de bobines-mères.

a) Formulation du problème en nombres entiers :


• Choix des variables : nombre de bobines-mères découpées suivant
le mode i.
• Expression des contraintes :
– Satisfaction de la demande.
– Caractère entier des variables.
• Expression de l’objectif : minimiser la somme des bobines-mères
découpées.
b) Solution d’EXCEL : 200 bobines-mères sont nécessaires. Les solutions
optimales sont multiples.

12.7 Optimisation du plan directeur de production.

a) Formulation :
• Variables :
– l’embauche au début de période t;
– le licenciement au début de t;
– les effectifs au début de la période t;
– le stock en fin de période t.
• Objectif : minimiser la somme des coûts d’embauche, de licen-
ciement et de stockage.
• Les contraintes :
– Bilan des effectifs;
242 Annexe A. Solutions finales des exercices

– Bilan des stocks;


– Contrainte de stock minimum;
– Non négativité.
b) Solution d’Excel :
z ∗ = 5 145 806, 2865

t Embauches Licenciements Effectifs stocks


1 0,000 0,000 32,000 117 600
2 6,271 0,000 38,271 85 000
3 0,000 3,476 34,795 182 061
4 0,000 0,000 34,795 100 000