0% ont trouvé ce document utile (0 vote)
203 vues50 pages

Méthode du Simplexe en Programmation Linéaire

Ce document décrit la méthode du simplexe pour résoudre des programmes linéaires. La méthode permet d'approcher la solution optimale par itérations successives à travers des tableaux appelés tableaux du simplexe. Chaque étape correspond au calcul de la valeur économique d'une solution potentielle. Un exemple illustratif est fourni.

Transféré par

KOUASSI ZABO
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
203 vues50 pages

Méthode du Simplexe en Programmation Linéaire

Ce document décrit la méthode du simplexe pour résoudre des programmes linéaires. La méthode permet d'approcher la solution optimale par itérations successives à travers des tableaux appelés tableaux du simplexe. Chaque étape correspond au calcul de la valeur économique d'une solution potentielle. Un exemple illustratif est fourni.

Transféré par

KOUASSI ZABO
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre I : RESOLUTION D’UN PROGRAMME LINEAIRE

PAR LA METHODE DU SIMPLEXE


I) DEFINITION
On appelle simplexe un polyèdre convexe à n côtés. La méthode du simplexe
est basée sur l’algorithme de simplexe. C’est une méthode générale de résolution du
programme linéaire proposée en 1947 par G.B. DANTZIG.
II) METHODE DU SIMPLEXE
L’algorithme du simplexe qui vous sera présenté dans le cas de deux
variables pour ne pas alourdir inutilement les calculs et explications, se généralise au
cas où le nombre de variables dépasse deux (2) ; là où la résolution graphique n’est
plus possible.
1) Principe
L’algorithme du simplexe permet d’approcher la solution optimale par itération
successive à travers des tableaux appelé tableaux du simplexe. Chaque étape
correspond au calcul de la valeur économique d’une solution ; comme il existe une
infinité de solution admissible, la méthode propose de n’explorer qu’un nombre limité
de solution parmi lesquelles se trouve à coup sur la solution optimale.
Théorème1
Dans un problème à maximisation, l’optimum est atteint lorsque toutes les
valeurs sont négatives ou nulles au niveau de la ligne des ܼ.
Théorème2
Dans un problème à minimisation, l’optimum est atteint lorsque toutes les
valeurs sont positives ou nulles au niveau de la ligne des ܼ.
2) Règles d’itération du tableau du simplexe
Pour passer d’un tableau à un autre, depuis le tableau initial (de départ), il faut
appliquer les règles suivantes :
1ère règle : Déterminer les variables qui doivent entrer dans la base (les variables
entrantes)
Pour un problème à maximisation, la sélection de la variable entrante
s’effectue en choisissant sur la ligne ܼ “ fonction économique“ le coefficient
strictement positif le plus grand. La variable correspondante à ce coefficient est
appelée variable entrante.
Pour un problème à minimisation, la sélection de la variable dite entrante
s’effectue en choisissant sur la ligne ܼ « fonction économique » le coefficient

1
strictement négatif le plus petit. La variable correspondante à ce coefficient est la
variable entrante.
2ième règle : Déterminer la variable sortante

௦௘௖௢௡ௗ ௠௘௠௕௥௘
Dans les deux cas (maximisation et minimisation) :

௖௢௘௙௙௜௖௜௘௡௧ ௗ௘ ௟௔ ௩௔௥௜௔௕௟௘ ௘௡௧௥௔௡௧௘


- On calcule les rapports que l’on indique

en colonne ܳ et on cherche la plus petite valeur strictement positive.


- Ainsi donc le nombre situé à l’intersection de la colonne de la variable entrante
et de la ligne de la variable sortante est le pivot.
3ième règle : Transformer le tableau 1(sans la colonne ܳ), par la méthode du pivot ;
c'est-à-dire :
1- Diviser toute la ligne du pivot par le pivot
2- Sur la colonne du pivot, remplacer le pivot par 1 et tous les autres éléments
par 0 y compris les éléments du coût marginal.
3- Appliquer la règle du rectangle au coefficient technique restant aux éléments
de la matrice ‫ܤ‬଴ et ceux des coûts marginaux restants.
REMARQUE :
Toute colonne ayant un zéro sur la ligne pivot reste inchangée dans le tableau
suivant et toute ligne ayant un zéro dans la colonne pivot reste inchangée dans le
tableau suivant. Cette remarque associée à la méthode du rectangle permet de
remplir rapidement une bonne partie du tableau.
3) Exemples résolus par la méthode du simplexe
ILLUSTRATION A
Soient deux ouvriers associés de qualification différente, mais complémentaire. Ali et
Bernard travaillent à la production de deux biens ‫ܤ‬ଵ ݁‫ܤ ݐ‬ଶ. Ali est disponible 9h par
jour ; Bernard 8h seulement. Les temps de travail nécessaire par unité de bien sont
donnés dans le tableau suivant :
En nombre d’heures de travail

d’Ali de Bernard

‫ܤ‬ଵ 3 1

‫ܤ‬ଶ 1 2

2
La vente d’une unité de ‫ܤ‬ଵ permet de réaliser une marge de 270F, celle d’une
unité de ‫ܤ‬ଶ 140F.
TAF : Déterminer les quantités (pas forcement entière) de bien ‫ܤ‬ଵ et ‫ܤ‬ଶ qu’ils doivent
produire quotidiennement pour obtenir la marge maximale.
Résolvons donc ce problème par la méthode du simplexe

‫ ≥ ݔ‬0; ‫ ≥ ݕ‬0
Le programme linéaire associé au problème est :

3‫ ݔ‬+ ‫ ≤ ݕ‬9 
൞ ‫ ݔ‬+ 2‫ ≤ ݕ‬8
ܼሺ௠௔௫ሻ = 270‫ ݔ‬+ 140‫ݕ‬
Résolution
1ère étape : écrire le problème sous forme standard
On modifie la forme canonique du problème en introduisant des variables d’écart

‫ ≥ ݔ‬0; ‫ ≥ ݕ‬0; ݁ଵ ≥ 0; ݁ଶ ≥ 0
positive ou nulles permettant d’écrire les contraintes sous forme d’égalité.

3‫ ݔ‬+ ‫ ݕ‬+ ݁ଵ = 9 
൞ ‫ ݔ‬+ 2‫ ݕ‬+ ݁ଶ = 8
ܼሺ௠௔௫ሻ = 270‫ ݔ‬+ 140‫ݕ‬
݁ଵ = 9 ≥ 0
Pour ሺ‫ݕ ;ݔ‬ሻ = ሺ0; 0ሻ on a ൝݁ଶ = 8 ≥ 0
ܼ଴ = 0
; on a donc une solution de base admissible.

On peut donc amorcer l’application de la méthode du simplexe.


Tableau initial de simplexe (tableau1)

‫ݔ‬ ‫ݕ‬ ∗ ∗
VHB
S. M.

݁ଵ
VB

3 1 1 0 9
݁ଶ 1 2 0 1 8
ܼ 270 140 0 0 0
L’optimum n’est pas atteint car il existe sur la ligne ܼ des valeurs positives.
1ère règle d’itération : Déterminons la variable entrante
Sur la ligne Z « fonction économique » cherchons le coefficient strictement positif le
plus grand (ici 270). La variable (ici ‫ )ݔ‬correspondante à ce coefficient (270 est dans
la colonne de la variable réel ‫ )ݔ‬est appelé variable entrante.
2ième règle d’itération : Déterminons la variable sortante.

. Ici ሺ ; ሻ
௦௘௖௢௡ௗ ௠௘௠௕௥௘ ଽ ଼
௖௢௘௙௙௜௖௜௘௡௧ ௗ௘ ௟௔ ௩௔௥௜௔௕௟௘ ௘௡௧௥௔௡௧௘ ଷ ଵ
Calculons les rapports = que

l’on indique en colonne Q et cherchons la plus petite valeur strictement positive

3
obtenue (ici 3). La variable dans la base, située sur la même ligne que cette valeur
(ici ݁ଵ ), est la variable sortante.
Ainsi le nombre situé à l’intersection de la variable entrante et de la ligne de la
variable sortante (ici le 3 entouré) est le pivot.

‫ݔ‬ ‫ݕ‬ ∗ ∗
VHB
S. M. Q

9
VB

݁ଵ =3
3
3 1 1 0 9

8
݁ଶ =8
1
1 2 0 1 8

ܼ 270 140 0 0 0

3ième règle d’itération : Transformer le tableau 1 (sans la colonne Q) par la méthode


du pivot donné précédemment.
Utiliser la règle « du rectangle » au coefficient technique restant aux éléments de la
matrice ‫ܤ‬଴ et ceux des coûts marginaux restants. (Tableau 2)

∗ ‫ݕ‬ ݁ଵ ∗
VHB
S. M. Q

3
VB

‫ݔ‬ =9
1/3
1 1/3 1/3 0 3

5
݁ଶ =3
5/3
0 5/3 -1/3 1 5

ܼ 0 50 -90 0 -810

Remarque : On remarquera dans ce second tableau qu’on a remplacé la variable


sortante ݁ଵ par la variable entrante ‫( ݔ‬dans les colonnes des variables de base).
Ceci est important pour la lecture des résultats dans le tableau.
L’optimum n’est toujours pas atteint car sur la ligne ܼ il existe une valeur positive
dans le second tableau.
Dans le tableau 2, on reprend les règles 1 à 3 d’itération ; on obtient :
La variable entrante est ‫ ݕ‬car 50 est la plus grande valeur strictement positive sur la
ligne ܼ.
Dans la colonne Q la plus petite valeur est 3 donc la variable sortante est ݁ଶ . Le pivot
est donc 5/3.

4
Tableau 3

∗ ∗ ݁ଵ ݁ଶ
VHB
S. M.
VB

x 1 0 2/5 -1/5 2

y 0 1 -1/5 3/5 3

ܼ 0 0 -80 -30 -960

L’optimum est atteint car sur la ligne ܼ toutes les valeurs sont négatives ou nulles ;
puisque nous sommes dans un domaine de maximisation.

Conclusion

ܼ௠௔௫ = 960 atteint pour ‫ = ݔ‬2 et ‫ = ݕ‬3


Interprétation :
1- ݁ଵ : nombre d’heure d’Ali inutilisé
2- ݁ଶ : celui de Bernard
Si Ali et Bernard produisent deux unités de ‫ܤ‬ଵ et trois unités de ‫ܤ‬ଶ. Ils n’ont plus
d’heure disponible et la marge est de 960F.
Dans cet exemple, la valeur maximale de Z est obtenue avec ݁ଵ = 0 ݁‫݁ ݐ‬ଶ = 0.
3‫ ݔ‬+ ‫ = ݕ‬9
On a donc ൜
‫ ݔ‬+ 2‫ = ݕ‬8
. On dit que les contraintes sont saturées

A retenir : Lecture des tableaux


- Les variables hors base ont toujours la valeur 0
- La valeur des variables dans la base se lie directement dans la colonne
« second membre » du tableau considéré.
- La valeur de Z pour chaque programme admissible est l’opposé du nombre
encadré sur la ligne de Z.

5
4) Problème de maximisation à plus de deux variables

Comme mentionné plus haut, la méthode du simplexe est parfaitement


adaptée à ce type de problème. A la résolution graphique très lourde, sera préféré la
méthode des tableaux ; l’algorithme à suivre est exactement la même que dans le
cas de deux variables.

‫ݔ‬ଵ ≥ 0; ‫ݔ‬ଶ ≥ 0; ‫ݔ‬ଷ ≥ 0


ILLUSTRATION B

‫ۓ‬ 3‫ݔ‬ଵ + ‫ݔ‬ଶ + ‫ݔ‬ଷ ≤ 4


ۖ
‫ݔ‬ଵ + ‫ݔ‬ଶ + 2‫ݔ‬ଷ ≤ 1 
‫ ۔‬0,5‫ݔ‬ଵ + 7‫ݔ‬ଶ + ‫ݔ‬ଷ ≤ 12
ۖ
‫ܼە‬ሺ௠௔௫ሻ = 5‫ݔ‬ଵ + 3‫ݔ‬ଶ + 4‫ݔ‬ଷ
Forme standard du P.L.
Comme il y a trois (3) contraintes, ajoutons donc 3 variables d’écarts ݁ଵ , ݁ଶ ݁‫݁ ݐ‬ଷ .
‫ݔ‬ଵ ≥ 0; ‫ݔ‬ଶ ≥ 0; ‫ݔ‬ଷ ≥ 0; ݁ଵ ≥ 0; ݁ଶ ≥ 0; ݁ଷ ≥ 0
‫ۓ‬ 3‫ݔ‬ଵ + ‫ݔ‬ଶ + ‫ݔ‬ଷ + ݁ଵ = 4
ۖ
‫ݔ‬ଵ + ‫ݔ‬ଶ + 2‫ݔ‬ଷ + ݁ଶ = 1 
‫۔‬ 0,5‫ݔ‬ଵ + 7‫ݔ‬ଶ + ‫ݔ‬ଷ + ݁ଷ = 12
ۖ
On a:

‫ە‬ ܼሺ௠௔௫ሻ = 5‫ݔ‬ଵ + 3‫ݔ‬ଶ + 4‫ݔ‬ଷ


݁ଵ = 4 ≥ 0
Pour ሺ‫ݔ‬ଵ ; ‫ݔ‬ଶ ; ‫ݔ‬ଷ ሻ = ሺ0; 0; 0ሻ ; On a donc : ൝ ݁ଶ = 1 ≥ 0  avec ܼ଴ = 0
݁ଷ = 12 ≥ 0
Solution de base admissible ; on peut donc amorcer le 1er tableau de simplexe.

‫ݔ‬ଵ ‫ݔ‬ଶ ‫ݔ‬ଷ ∗ ∗ ∗ ܳ


V.H.B.
S.M.
V.B.

݁ଵ
4
= 1,33
3
3 1 1 1 0 0 4

݁ଶ
1
=1
1
1 1 2 0 1 0 1

݁ଷ
12
= 24
0,5
0,5 7 1 0 0 1 12

ܼ 5 3 4 0 0 0 0

L’optimum n’est pas atteint car il existe des valeurs positives sur la ligne de Z.
- Variable entrante : sur la ligne de Z, le plus grand coefficient strictement positif
est 5 ; alors la variable entrante est ‫ݔ‬ଵ .

6
Variable sortante : dans la colonne Q, la plus petite valeur strictement positive
est 1 ; donc la variable sortante est ݁ଶ .
-

Le nombre entouré dans le tableau 1 est le pivot.

∗ ‫ݔ‬ଶ ‫ݔ‬ଷ ∗ ݁ଶ ∗
V.H.B.
S.M.

݁ଵ
V.B.

‫ݔ‬ଵ
0 -3 -6 1 -3 0 1

݁ଷ
1 1 2 0 1 0 1

0 6,5 0 0 -0,5 1 11,5


ܼ 0 -2 -6 0 -5 0 -5

L’optimum est atteint car toute les valeurs sur la ligne de Z sont négatives ou nulles,
puisque nous sommes dans un problème de maximisation. ܼ௠௔௫ = 5 et elle est
atteinte pour ‫ݔ‬ଵ = 1; ‫ݔ‬ଶ = 0 ݁‫ݔ ݐ‬ଷ = 0.
Remarque : A l’optimum ݁ଵ = 1; ݁ଶ = 0 ݁‫݁ ݐ‬ଷ = 11,5 ; donc la première et la
troisième contrainte ne sont pas saturées, mais la deuxième contrainte est saturée.
Interprétation économique
1- Lorsqu’une variable d’écart à une valeur nulle à l’optimum, la contrainte
correspondante est dite saturée ou serrée ; les contraintes sont dites astreignantes
car elles limitent effectivement les activités de l’entreprise et de ce fait les profits sont
réalisables.
2- Lorsqu’une variable d’écart prends une valeur non nulle à l’optimum, la
contrainte correspondante est dite non serrée(ou lâchée). Ceci montre que les
valeurs prises par les variables d’écart à l’optimum restent très précieuses car elles
permettent au décideur d’envisager d’autres possibilités pour mieux appréhender les
problèmes posés à l’entreprise.

7
Chapitre II : RESOLUTION D’UN PROGRAMME LINEAIRE
PAR PASSAGE AU DUAL
Problème de minimisation – Dualité

Il s’agit de déterminer le minimum d’une fonction ߱ de la forme : ߱ = ߙ࣯ + ߚࣰ ;


1) CAS DE DEUX VARIABLES

avec ࣯ ≥ 0; ࣰ ≥ 0. ࣯ ݁‫ ࣰ ݐ‬Vérifient un certain nombre de contraintes de la


forme ܽ௜ ࣯ + ܾ௜ ࣰ ≥ ݀௜ .
EXEMPLE : Reprenons le cas des deux ouvriers complémentaires Ali et Bernard.

par jour. Cela remporterait : ‫ ܨݑ‬de l’heure pour Ali et ‫ ܨݒ‬de l’heure pour Bernard.
Une entreprise E désir les embaucher ; elle emploierait Ali 9h par jour et Bernard 8h

Déterminer ‫ ݑ‬et ‫ ݒ‬tels que le coût soit minimal pour l’entreprise et l’offre acceptable
pour les ouvriers. On négligera toutes les charges et impôts de toute sorte.
Formalisation du problème.

Pour une journée de travail le coût de l’entreprise sera : ߱ = 9‫ ݑ‬+ 8‫ ݒ‬qu’il faudra
Fonction économique

donc minimiser.

Pour une unité de ‫ܤ‬ଵ qui rapporterait 270F, cela demandait 3h de travail à Ali et 1h
Contrainte liée au temps

seulement à Bernard. On aura donc 3‫ ݑ‬+ ‫ ≥ ݒ‬270 et de même : ‫ ݑ‬+ 2‫ ≥ ݒ‬140.

‫ ≥ ݑ‬0; ‫ ≥ ݒ‬0
Le problème à résoudre est le suivant :

3‫ ݑ‬+ ‫ ≥ ݒ‬270 

‫ ݑ‬+ 2‫ ≥ ݒ‬140
߱௠௜௡ = 9‫ ݑ‬+ 8‫ݒ‬
Deux méthodes sont applicables à la résolution du P.L. ci dessus posé, à savoir la
méthode graphique (déjà vu) et la méthode par passage au dual. Nous nous
intéresserons essentiellement à la deuxième méthode dans ce chapitre.
2) RESOLUTION PAR PASSAGE AU DUAL
a) Primal-Dual : définition
Observons en parallèle les deux problèmes relatifs à Ali et Bernard

‫ ≥ ݔ‬0; ‫ ≥ ݕ‬0 ‫ ≥ ݑ‬0; ‫ ≥ ݒ‬0


Problème1 Problème2

3‫ ݔ‬+ ‫ ≤ ݕ‬9  3‫ ݑ‬+ ‫ ≥ ݒ‬270 


൞ ‫ ݔ‬+ 2‫ ≤ ݕ‬8 ൞
‫ ݑ‬+ 2‫ ≥ ݒ‬140
ܼሺ௠௔௫ሻ = 270‫ ݔ‬+ 140‫ݕ‬ ߱௠௜௡ = 9‫ ݑ‬+ 8‫ݒ‬

- Le problème 1 est un problème de maximisation tandis que le problème 2 est


un problème de minimisation.

8
- Les coefficients de la fonction économique du problème 1 sont les seconds
membres des contraintes du problème 2.
- Les variables des deux problèmes sont positives ou nulles.
- Dans les contraintes des deux problèmes, les inégalités sont de sens
contraire.
- Les coefficients à affecter aux variables de la première contrainte du problème
1 sont affectés à la première variable u dans les contraintes du problème 2 et vice-
versa, et de même les coefficients affectés aux variables de la second contrainte du
problème 1 sont affectés à la second variable v dans les contraintes du problème 2
et vice-versa. Le problème 2 est le DUAL du problème 1 que l’on appelle alors le
PRIMAL ; mais les rôles peuvent être inversés ce qui revient à changer les noms (le
DUAL du DUAL est le PRIMAL).
b) Théorèmes généraux
L’intérêt du passage au Dual est de pouvoir dans certains cas résoudre le
problème dual à partir de la solution du problème primal et ce grâce aux théorèmes
suivants :
Théorème 1 : si le primal admet une solution, le dual en admet également et le
maximum de l’un est le minimum de l’autre.
Exemple 1 : ayant résolu le problème 1 ci-dessus (et trouvé que la valeur maximale

que la valeur minimale de ‫ = ݓ‬960 également.


de Z est 960) nous pouvons affirmer sans calcul que le problème 2 a une solution et

A l’optimum on posera donc que : ܼ௠௔௫ = ω௠௜௡ = 960‫ܨ‬


Théorème 2 : Si la ݅ ௜è௠௘ variable est non nul à l’optimum du primal, la ݅ ௜è௠௘
contrainte est saturée.

pour ‫ = ݔ‬2 ݁‫ = ݕ ݐ‬3. On a donc ‫ ≠ ݔ‬0 (1ère variable non nulle) et ‫ ≠ ݕ‬0 (2nd
Exemple 2 : A l’optimum du problème 1 on a trouvé que la valeur de Z est atteinte

variable non nulle).

3‫ ݑ‬+ ‫ = ݒ‬270
A l’optimum du dual, les premières et les deuxièmes contraintes sont donc saturées,

ce qui signifie que u et v vérifie : ቄ ce qui donne ‫ = ݑ‬80 ݁‫ = ݒ ݐ‬30


‫ ݑ‬+ 2‫ = ݒ‬140
Théorème 3 : Si la ݅ ௜è௠௘ contrainte est non saturée à l’optimum du primal, la ݅ ௜è௠௘
variable est nulle à l’optimum du dual.

9
c) Méthode du simplexe
Tel que nous l’avons exposé précédemment, cette technique ne convient pas
à priori pour les problèmes de minimisation ; ne serait-ce que du fait que l’on part
d’un programme pour lequel toutes les variables réelles sont nulles. Hors ce dernier

Exemple : Dans le problème 2 ‫ = ݑ‬0 ; ‫ = ݒ‬0 ne vérifie pas les contraintes. Il faut
n’est pas en général un programme admissible.

donc introduire des variables artificielles ce qui complique singulièrement la solution.


Aussi, utiliserons-nous la notion de dualité et tiendrons compte des théorèmes
généraux énoncés précédemment pour résoudre un problème de minimisation.
PROBLEME DE MINIMISATION A PLUS DE DEUX VARIABLES.
La méthode graphique ne convient plus et la méthode du simplexe adaptée à une
minimisation est lourde à appliquer. On essaiera donc de passer au problème dual
qui est un problème de maximisation que l’on doit pouvoir résoudre par la méthode
des tableaux par exemple. On utilise ensuite les théorèmes généraux sur les
problèmes duaux pour en déduire la solution du problème initiale.

‫ݕ‬ଵ ≥ 0; ‫ݕ‬ଶ ≥ 0; ‫ݕ‬ଷ ≥ 0


Exemple : Considérons le P.L. suivant :

‫ ۓ‬3‫ ݕ‬+ ‫ ݕ‬+ 0,5‫ ≥ ݕ‬5


ۖ ଵ ଶ ଷ
ሺܲ ሻ ‫ݕ‬ଵ + ‫ݕ‬ଶ + 7‫ݕ‬ଷ ≥ 3 
‫۔‬ ‫ݕ‬ଵ + 2‫ݕ‬ଶ + ‫ݕ‬ଷ ≥ 4
ۖ
‫ܹ ە‬௠௜௡ = 4‫ݕ‬ଵ + ‫ݕ‬ଶ + 12‫ݕ‬ଷ

Donner le programme Dual de ሺܲሻ


Travail à faire :
1-
2- Résoudre ce programme Dual à l’aide de la méthode du simplexe
3- En déduire la solution optimale du Primal
4- Utiliser les théorèmes généraux pour déduire les solutions du Primal.

1) Programme Dual de ሺܲሻ qu’on nommera ሺ‫ܦ‬ሻ


RESOLUTION

notées : ‫ݔ‬ଵ ; ‫ݔ‬ଶ ݁‫ݔ ݐ‬ଷ avec ‫ݔ‬ଵ ≥ 0; ‫ݔ‬ଶ ≥ 0 ݁‫ݔ ݐ‬ଷ ≥ 0
Comme il y a 3 contraintes, il y a 3 variables réelles dans le programme Dual

‫ݔ‬ଵ ≥ 0; ‫ݔ‬ଶ ≥ 0; ‫ݔ‬ଷ ≥ 0


On obtient donc

‫ۓ‬ 3‫ݔ‬ଵ + ‫ݔ‬ଶ + ‫ݔ‬ଷ ≤ 4


ۖ
ሺ‫ܦ‬ሻ ‫ݔ‬ଵ + ‫ݔ‬ଶ + 2‫ݔ‬ଷ ≤ 1 
‫ ۔‬0,5‫ݔ‬ଵ + 7‫ݔ‬ଶ + ‫ݔ‬ଷ ≤ 12
ۖ
‫ܼە‬ሺ௠௔௫ሻ = 5‫ݔ‬ଵ + 3‫ݔ‬ଶ + 4‫ݔ‬ଷ

10
3) Solution optimale du primal ሺܲሻ
2) Résolution voir chapitre II, illustration B

A l’optimum du Primal on a ܹ݉݅݊ = ܼ݉ܽ‫ = ݔ‬5

A l’optimum on a : ‫ݕ‬ଵ = 0 (puisque la première contrainte du Dual n’est pas saturée


4) Solution optimale par les théorèmes généraux

c'est-à-dire ݁ଵ = 1 ≠ 0)

‫ݕ‬ଷ = 0 (Puisque la troisième contrainte du Dual n’est pas saturée c'est-à-dire


 ݁ଷ = 11,5 ≠ 0 ሻ
3‫ݕ‬ଵ + ‫ݕ‬ଶ + 0,5‫ݕ‬ଷ = 5 (Puisque la première variable du Dual n’est pas nulle c'est-à-
dire ‫ݔ‬ଵ = 1 ≠ 0)
Ainsi donc on obtient ‫ݕ‬ଶ = 5.
A l’optimum du Primal on a : ܹ௠௜௡ = ܼ௠௔௫ = 5 ݁‫ݕ ݐ‬ଵ = ‫ݕ‬ଷ = 0 ; ‫ݕ‬ଶ = 5.

11
Chapitre III : LA GESTION DES STOCKS EN AVENIR CERTAIN

I) GENERALITES
1) Définition
On définit de façon générale un stock comme étant une réserve de matière
que l’on constitue en vue d’une utilisation future dans une entreprise.
On trouve les stocks à tous les niveaux dans le processus de production jusqu’à la
commercialisation. On distingue ainsi les stocks de matière première, de produit en
cours, de produit semi-fini et de produit fini.
Facteur de flexibilité dans une entreprise, le stock joue un rôle très important. En
effet le flux d’approvisionnement et le flux de produit ou de commercialisation étant
indépendant et n’ayant pas le même rythme, le stock vient harmoniser les deux flux,
afin que la production ou la commercialisation soit régulière.
Si pour cette raison essentielle, les entreprises sont obligées de se constituer des
stocks, il faut noter toute fois qu’il constitue une immobilisation et leur présence au
sein de l’entreprise engendre des coûts. Gérer un stock, c’est prévoir les dates et les
volumes de réapprovisionnement qui tiennent compte de toutes les contraintes et qui
permettent de satisfaire la demande sans discontinuité et au moindre coût. L’objectif
de ce cours est d’explorer les modèles de gestion optimale en avenir certain.
2) Les différentes composantes du coût de gestion
Nous distinguons trois (3) principaux éléments qui entrent dans la formation du coût
de gestion des stocks.

 Le coût lié à la possession du stock appelé aussi coût de stockage

C’est l’ensemble des faits liés à la conservation et la préservation de la matière

proportionnel à la quantité de matière stockée. On notera par ࡯ࡿ le coût de stockage


(payer le magasin, payer les gardiens, payer l’assurance etc. …). Ce coût est

par unité de matière et unité de temps. Il dépend surtout de la valeur de la matière


stockée ; cette dépendance est exprimé par un taux appelé taux de possession. Si ܲ
est le prix d’une unité de matière et ‫ݐ‬% est le taux de possesion annuel du stock,

ܲ × ‫ݐ‬% ܲ. ‫ݐ‬
alors le coût de stockage par jour et par unité de matière vérifie :

‫ܥ‬ௌ = ‫ܥ ݑ݋‬ௌ = . ߠ: ݈ܽ ݀‫ݎݑ‬é݁ ݈݃‫ ݈ܾ݁ܽ݋‬ሺ݃é݊é‫ ݈ ݐ݈݊݁݉݁ܽݎ‬ᇱ ܽ݊݊é݁ሻ


360 ߠ

12
 Le coût lié au lancement d’une commande appelée aussi coût de passation

C’est l’ensemble des frais engagés pour informer le fournisseur et obtenir la

coût ne dépends ni de la quantité commandée, ni du temps. On notera par ࡯࢒ le


livraison (frais de communication, de création des documents comptables…). Ce

coût de passation d’une commande.

 Le coût dû à une absence totale de matière appelé coût de pénurie

Ce coût qui n’apparait que dans les modèles où la pénurie est admise est lié
au frais de pénalité, à un retard dans la production, une perte éventuelle à

On notera par ࡯࢖ le coût de pénurie par unité de matière importante et par unité de
l’entreprise. Il dépend de la quantité de matière manquante et du temps de pénurie.

temps.
3) Quelques définitions.
L’approvisionnement : il recouvre deux (02) éléments essentiels à savoir l’achat
d’une part et le stockage d’autre part.

désire connaitre le coût global de gestion. Elle est subdivisée en ݊ période de durée
La durée globale de gestion : elle désigne la durée totale pendant laquelle on

égale notée ‫ݐ‬.


Le stock initial (SI) : c’est la quantité de produits disponible au début d’une période.
Le stock final (SF) : il s’agit de la quantité encore disponible à la fin de la période.
Le stock moyen (SM) : on émet l’hypothèse d’une consommation régulière du début

SF (ܵ‫= ܯ‬ ሻ.
ௌூାௌி
à la fin de la période ; dans ces conditions, il est égal à la demi somme du SI et du


Le stock de sécurité : c’est la quantité minimale restante en permanence en stock
dans le but de faire face aux aléas.
Le délai de réapprovisionnement ou délai de livraison : c’est le temps qui sépare
l’envoi d’une commande et la récupération de la marchandise.
Le stock de réapprovisionnement : c’est le niveau de stock qui entraine le
déclenchement d’une commande. On l’appelle aussi stock d’alerte ou stock critique
ou encore point de commande. On le note SR et se calcul de deux (02) manières :

ܿ‫݊݋݅ݐܽ݉݉݋ݏ݊݋‬
- Si le délai de livraison est inférieur au délai de consommation :

ܵோ = × ݀é݈ܽ݅ ݀݁ ݈݅‫ ݊݋ݏ݅ܽݎݒ‬+ ‫ݏ ݁݀ ݇ܿ݋ݐݏ‬éܿ‫ݐ݅ݎݑ‬é


݊‫ݏݎݑ݋݆ ݁݀ ݁ݎܾ݉݋‬

13
ܿ‫݊݋݅ݐܽ݉݉݋ݏ݊݋‬
- Si le délai de livraison est supérieur au délai de consommation :

ܵோ = × ݀é݈ܽ݅ ݀݁ ݈݅‫ ݊݋ݏ݅ܽݎݒ‬+ ‫ݏ ݁݀ ݇ܿ݋ݐݏ‬éܿ‫ݐ݅ݎݑ‬é


݊‫ݏݎݑ݋݆ ݁݀ ݁ݎܾ݉݋‬
− ܿ‫ݏݎݑ݋ܿ ݊݁ ݁݀݊ܽ݉݉݋‬
ܳ‫ݐ݅ݐ݊ܽݑ‬é ܿ‫݉݉݋ݏ݊݋‬é݁
݈ܽ ࢂ࢏࢚ࢋ࢙࢙ࢋ ࢊࢋ ࡯࢕࢔࢙࢕࢓࢓ࢇ࢚࢏࢕࢔ ݁‫ݐݎ݋݌݌ܽݎ ݈݁ ݐݏ‬:
‫ݎݑܦ‬é݁ ݀݁ ܿ‫ݏݎݑ݋݆ ݊݁ ݊݋݅ݐܽ݉݉݋ݏ݊݋‬
Le stock de réapprovisionnement signifie que l’on doit commander quand le stock
passe en dessous du Stock de Sécurité + consommation X délai de livraison.
Exemple pour un stock de sécurité de 50 unités:
- Si on consomme 10 unités par jours et qu’il faut 10 jours pour approvisionner,
alors il faut commander avant que le stock ne passe en dessous de 150 unités.
- Si on consomme 10 unités par jours et qu’il faut 35 jours pour approvisionner,
alors il faut commander avant que le stock ne passe en dessous de 400 unités.
Le SR permet de limiter le risque de rupture. En revanche il est lourd à gérer car il
nécessite un suivit précis des niveaux de stocks. Quand le stock atteint un certain
niveau (point de commande), on déclenche l’ordre d’approvisionnement.

II) ETUDE DES MODELES DE GESTION DE STOCKS EN AVENIR


CERTAIN
Ces modèles sont établis à partir d’hypothèse simplificatrice.
1) Le modèle de Wilson sans pénurie
Les problèmes de gestion des stocks sont complexes et d’une grande variété.
Gérer un stock, c’est définir les règles de réapprovisionnement (calcul des points de
commande) de manière que le coût de gestion soit minimal, compte tenu de la
nécessité d’être le moins souvent possible en rupture de stocks. Une bonne gestion
nécessite une bonne prévision de la demande et la recherche d’un
approvisionnement optimal, ce qui relève à la fois des statistiques et de la recherche
opérationnelle. Une gestion scientifique a été conçue par l’élaboration des modèles
dont celui des séries d’économie de Wilson. En outre ce modèle est basé sur les
hypothèses fondamentales suivant :
- Aucune pénurie n’est admise ;
- La consommation du produit est régulière ;
- Le prix d’achat unitaire du produit reste constant quelque soit la quantité
commandé ;
- Il n’y a pas de stocks de sécurité.

14
En désignant par :
∗ ‫ ܦ‬: La demande globale, c'est-à-dire la quantité de produit nécessaire pour
satisfaire des besoins pendant la durée ߠ.
∗ ܳ : La quantité constante de produit commandé à chaque réapprovisionnement
pour faire face au besoin pendant la période ߬.
∗ ݊ : Le nombre de commande à passer pendant la durée ߠ. on a :
‫ߠ ܦ‬
݊= =
ܳ ߬
∗ ܲ : Le prix d’achat unitaire du produit ;
∗ ‫ܥ‬௦ : Le coût de stockage du produit par unité de temps (coût journalier ou mensuel
ou annuel …)
∗ ‫ܥ‬௟ : Coût de passation d’une commande
La pénurie n’étant pas admise dans ce modèle de Wilson, le coût global de gestion
se résume à la somme du coût de passation et du coût de possession. On a :

‫ݕ‬௣ : le coût global de passation


Coût global de gestion = coût de passation + coût de possession

Notons

‫ݕ‬௦ : Le coût total de possession


ܻ : Coût global de gestion
On a : ܻ = ‫ݕ‬௣ + ‫ݕ‬௦ avec ‫ݕ‬௣ = ‫ܥ‬௟ × ݊ et ‫ݕ‬௦ = ‫ܥ‬௦ × ×ߠ

ܳ
Ainsi :

ܻ = ‫ܥ‬௟ × ݊ + ‫ܥ‬௦ × ×ߠ
2
ILLUSTRATION 1
Une usine fabrique des postes téléviseurs Qu’elle vend sur le marché. Elle a
besoin de 90 000 unités d’un composant électronique pour sa production annuelle.
La quantité de ce composant à chaque réapprovisionnement est de 3 000 unités.
On estime à 1,5 F le coût journalier de stockage d’un composant et à 9 000F le coût
de lancement d’une commande.
Quel est le coût global de gestion de ce composant si l’on admet qu’aucune pénurie
n’est admise et que la consommation du composant est régulière.

15
RESOLUTION
Aucune indication n’est donnée concernant l’année. On considère donc une année
commerciale d’une durée ߠ de 360 jours. La quantité commandée à chaque
approvisionnement est donc : ܳ = 3 000 ‫ݐ݅݊ݑ‬é‫ݏ‬. Par ailleurs selon les données on a :
‫ = ܦ‬90 000 ‫ݐ݅݊ݑ‬é‫ܥ ; ݏ‬௦ = 1,5‫ܨ‬/ ݆‫ܥ ; ݎݑ݋‬௟ = 9 000‫ܨ‬/ܿ‫݁݀݊ܽ݉݉݋‬

‫ܦ‬ 90000
Le nombre de commande à passer pendant l’année est :

݊= ‫= ݊ ݐ݅݋ݏ‬
ܳ 3000
݊ = 30 ܿ‫ݏ݁݀݊ܽ݉݉݋‬

Le coût total des passations de commande est ‫ݕ‬௣ = ‫ܥ‬௟ × ݊ soit ‫ݕ‬௣ = 9000 × 30

‫ݕ‬௣ = 270 000


Le stock à la fin d’une période est nul ; il est égal à la quantité a livré au début de
chaque période.


La consommation étant régulière, le stock moyen au coût d’une période est donc .

ܳ 3000
Le coût total de possession est donc :

‫ݕ‬௦ = ‫ܥ‬௦ × ×ߠ; ‫ݕ ݐ݅݋ݏ‬௦ = 1,5 × × 360


2 2
‫ݕ‬௦ = 810 000‫ܨ‬

ܻ = ‫ݕ‬௣ + ‫ݕ‬௦ ‫ = ܻ ݐ݅݋ݏ‬270 000 + 810 000


Le coût global annuel de gestion du stock est :

ܻ = 1 080 000

Ce coût dépend à la fois du nombre ݊ de commande réalisé au cours de la


2) Optimisation du coût global de gestion

durée de gestion ߠ et de la quantité ܳ commandée lors d’un réapprovisionnement.


Le nombre de commande dépend lui aussi de la quantité ܳ commandée à chaque
réapprovisionnement.

de ܳ soit en fonction de ݊. En effet ݊ = , le coût global de gestion peut s’écrire



Il s’en suit que le coût global de gestion peut s’exprimer uniquement soit en fonction


‫ܦ‬ ܳ
ܻ = ‫ܥ‬௟ × + ‫ܥ‬ௌ × × ߠ
ܳ 2

‫ܥ‬௟ ‫ ܦ‬1
La dérivée première de cette fonction donne :

ܻ, = − + × ‫ܥ‬௦ × ߠ
ܳଶ 2

16
En notant ܳா la quantité qui annule la fonction dérivée première, on a donc ܻ , = 0 ,
D’où :

2‫ܥ‬௟ ‫ܦ‬
ܳா = ඨ
‫ܥ‬௦ . ߠ

On démontre que ܻ est effectivement minimale en ܳா . ܳா est appelé quantité


économique ou lot économique.
C’est la quantité a commandé à chaque réapprovisionnement si l’on désir rendre
minimale le coût global de gestion.
ILLUSTRATION 2
A partir de l’illustration 1 calculer la quantité économique en appliquant la formule ci-
dessus.
RESOLUTION
Soit ܳா cette quantité, par application de la formule précédente

2‫ܥ‬௟ ‫ ܦ‬ଶ 2‫ܥ‬௟ ‫ܦ‬ 2 × 9000 × 90000
ܳா = ൬ ൰ =ඨ ⟹ ܳா = ඨ = 1 732 ‫ݐ݅݊ݑ‬é‫ݏ‬
‫ܥ‬௦ . ߠ ‫ܥ‬௦ . ߠ 1,5 × 360
Il faut donc commander 1 732 unités à chaque réapprovisionnement si on veut
rendre minimale le coût global de gestion. Dans ce cas le coût global minimum de
gestion est :
‫ܦ‬ ܳா
ܻா = ‫ܥ‬௟ × + ‫ܥ‬ௌ × ×ߠ ⟺ ܻா = 935 307‫ܨ‬
ܳா 2
REMARQUE
Dans le modèle de Wilson lorsque la quantité commandée est égale à la quantité
économique, les coûts de passation et les coûts de possession sont égaux.
ILLUSTRATION 3
Un restaurateur vient de remporter un appelle d’offre. Il devra livrer chaque
jour à une grande entreprise 100 plats du menu convenu. Pour la confection de ce
menu, il doit utiliser chaque jour 25 kg de viandes qu’il a acheté à 1 750F le kilo.
L’entreprise du restaurateur fonctionne 22 jours par mois. Le coût de passation d’une
commande est évalué à 288,75F ; par ailleurs le coût de possession de la viande est
estimé à 2% de la valeur du stock moyen.
TAF :
1) Déterminer la quantité qu’il doit commandée à chaque réapprovisionnement
s’il veut minimiser le coût global de gestion ; quel est ce coût ?
2) Déterminer le nombre optimal de commande.
3) Déterminer la durée optimale d’une période de réapprovisionnement.

17
RESOLUTION
1) Données coût de passation d’une commande ‫ܥ‬௟ = 288,75‫ ܨ‬coût de
possession de la viande est estimé à 2% de la valeur du stock moyen c'est-à-dire
‫ݕ‬௦ = 2% ܸܵ௠ avec ܸܵ௠ : valeur du stock moyen.
ܳ
Ainsi la valeur du stock moyen: ܸܵ௠ = ‫× ݔ݅ݎ݌‬
2
On admet l’hypothèse d’un stock décroissant linéairement de ܳ à 0 étant
réapprovisionner sans délai pour une quantité ܳ.
Soit ‫ ܦ‬la demande globale annuelle de viande tel que :
‫ = ܦ‬25 × 22 × 12 ⟷ ‫ = ܦ‬6600 ݇݃
Déterminons le taux de possession
On a ‫ݕ‬௦ = ‫ݐ‬. ܸܵ௠ ; ‫ ݐ‬est le taux de possession ;
-

Or ‫ݕ‬௦ = 2% ܸܵ௠ ↔ 2% ܸܵ௠ = ‫ܸܵ ݐ‬௠


‫ = ݐ‬2% = 0,02

‫ܦ‬ ‫ܦ‬ ܳ
Le coût global annuel de gestion peut aussi être exprimé de la façon suivante.

ܻ = ‫ܥ‬௟ × + ܸܵ௠ × ‫ݐ‬ ↔ ܻ = ‫ܥ‬௟ × + ܲ‫ݐ × × ݔ݅ݎ‬


ܳ ܳ 2
‫ܥ‬௟ ‫ ܦ‬1
La dérivée première donne : ܻ, = − + ܲ‫ݐ × ݔ݅ݎ‬
ܳଶ 2
En notant ܳா la quantité qui annule la fonction dérivée première, on a :
2‫ܥ‬௦ ‫ܦ‬ 2 × 288,75 × 6600
ܻ , = 0 ⟺ ܳா = ඨ ; ܳா = ඨ = 330݇݃
ܲ‫ݐ × ݔ݅ݎ‬ 1750 × 0,02

ܲ ܳா
Déduisons le coût global annuel de gestion
ܻா = ‫ܥ‬௟ + ܲ‫× ݔ݅ݎ‬ × ‫ܻ ⟺ ݐ‬ா = 11 550‫ܨ‬
ܳா 2
2) Nombre optimal de commande
‫ܦ‬ ‫ݐ × ݔ݅ݎܲ × ܦ‬ 6600
ܰா = =ඨ ; ‫ܰ ܽ ݊݋‬ா = ⟹ ܰா = 20 ܿ‫ݏ݁݀݊ܽ݉݉݋‬
ܳா 2‫ܥ‬௟ 330

ߠ 22 × 12
3) La durée optimale d’une période de réapprovisionnement
ܶா = ⟺ ܶா = ‫ ݐ݅݋ݏ‬13,5 ݆‫ݏݎݑ݋‬
ܰா 20
Remarque
On démontre que :
ߠ 2. ‫ܥ‬௟ 2. ߠ. ‫ܥ‬௟
ܶா = =ߠ×ඨ ⟺ ܶா = ඨ
ܰா ‫ܦ‬. ‫ܥ‬௦ . ߠ ‫ܦ‬. ‫ܥ‬௦

18
III) Modèle de Wilson avec pénurie (rupture de stock)
Toute rupture de stock entraîne un coût supplémentaire (appelé coût de pénurie
ou coût de défaillance) dont l’importance dépend essentiellement des conséquences
spécifiques à chaque cas.
Difficile à évaluer, le coût des ruptures de stock est généralement exprimé en franc
par unité de temps et de produit. Dans le modèle de Wilson, la période de
réapprovisionnement est-elle qu’aucune rupture de stock n’étant admise, le stock est
nul en fin de période mais réapprovisionner dès le début de la période suivante,
situation idéale. Si une rupture de stock se produit, la période de
réapprovisionnement ܶܲ se décompose en deux périodes ܶଵ ݁‫ܶ ݐ‬ଶ . Pendant la
période ܶଵ , la demande est satisfaite ; ܶଶ correspond à la période de rupture du stock.
La demande non satisfaite sera livrée en même temps que la commande de la
période pour les périodes suivantes. Le modèle mathématique de la gestion du stock
peut alors être graphiquement de la façon suivante. (à faire au cours)

A la fin de chaque période ܶܲ on doit disposer d’une quantité ܳ௉ destiné d’une part
à fournir la demande ܳ௉ − ܵ qui n’a pas pu être livré pendant le temps ܶଶ et d’autre
part à reconstituer le stock ܵ . Soit donc ܳ௉ la quantité totale à commander
correspondante à chaque période ܶܲ = ܶଵ + ܶଶ (obligatoirement > ܳா quantité
optimale du modèle de Wilson sans pénurie).
Soit ‫ܥ‬௉ le coût de rupture du stock par unité de temps et de produit et ‫ܥ‬ௌ le coût de
stockage également par unité de temps et de produit. Il faut déterminer la quantité à
commander dans le cadre d’une rupture de stock de telle sorte que le coût global de
gestion de stock soit minimal.

ܳா ‫ܥ‬௉
On démontre que :

ܳ௉ = ܽ‫= ߩ ܿ݁ݒ‬
ඥߩ ‫ܥ‬ௌ + ‫ܥ‬௉

19
ߩ est un coefficient appelé « taux de pénurie » ou « taux de défaillance »,
désignation peu logique puisque ߩ est la durée relative pendant laquelle le stock
n’est pas vide. Si le taux de pénurie est égal à 1 il n’y a pas de rupture de stock.
ߩ est compris entre 0 et 1 (0 < ߩ ≤ 1ሻ. Une fois ߩ est connu retenons que :

2‫ܥ‬௟ ‫ܦ‬ 1
ܳ௉ = ඨ ×ඨ
‫ܥ‬ௌ ߠ ߩ
Il est facile d’en déduire :
- Le nombre optimal de commande a effectué ( ܰ௉ )

‫ܥܦ‬ௌ ߠ ‫ܥܦ‬ௌ ߠߩ
ܰ௉ = ܰா × ඥߩ ‫ܰ ݑ݋‬௉ = ඨ × ඥߩ ‫ܰ ݑ݋‬௉ = ඨ
2‫ܥ‬௟ 2‫ܥ‬௟
- La durée de la période de réapprovisionnement ( ܶ௉ )
1 2‫ܥ‬௟ ߠ
ܶ௉ = ܶா × ඨ ‫ݑ݋‬ ܶ௉ = ඨ
ߩ ‫ܥ‬ௌ ‫ߩܦ‬
Le coût global minimal de gestion pendant la durée ߠ ; ( ‫ݕ‬௉ )
‫ݕ‬௉ = ‫ݕ‬ா × ඥߩ ‫ݑ݋‬ ‫ݕ‬௉ = ඥ2‫ܥ‬௟ ‫ܥܦ‬ௌ ߠߩ
-

le stock ܵ à reconstituer
2‫ܥ‬௟ ‫ߩܦ‬
-

ܵ = ܳ௉ × ߩ = ܳா ඥߩ ‫ݑ݋‬ ܵ=ඨ
‫ܥ‬ௌ ߠ
Pour chaque ܲܶ, pendant la durée ܶଵ le niveau de stock est suffisant pour satisfaire
la demande, puis pendant la durée ܶଶ il y a pénurie.
ܵ étant le niveau maximum du stock, on vérifie facilement sur la représentation

ܶଵ ܵ ܶଶ ܳ௉ − ܵ
graphique que :
= ݁‫ݐ‬ =
ܶ௉ ܳ௉ ܶ௉ ܳ௉
Sachant que ܵ = ܳ௉ × ߩ , il en découle la formule suivante :
ܶଵ ܶଶ
= ߩ ݁‫ݐ‬ = 1−ߩ
ܶ௉ ܶ௉
En définitive puisque ߩ est compris entre 0 et 1, ඥߩ est également compris
entre 0 et 1. Il en résulte que les valeurs respectives de ܳ௉ et ܶ௉ sont supérieur à
celles de ܳா et ܶா .
Par contre la valeur de ‫ݕ‬௉ est inférieur à ‫ݕ‬ா (coût global minimal de gestion), ce qui
limite sans doute les conséquences d’une rupture de stock, même si la rupture de
stock devient permanente, elle portera préjudice à l’entreprise (détérioration de
l’image de marque, perte de clientèle, voire paiement de pénalité.
Remarque importante

‫ݕ = ܧ‬ா − ‫ݕ‬௉ ‫ݕ ݎ݋‬௉ = ‫ݕ‬ா . ඥߩ ⟹ ‫ݕ = ܧ‬ா − ‫ݕ‬ா . ඥߩ ; ݀ ᇱ ‫݋‬ù ‫ݕ = ܧ‬ா ሺ1 − ඥߩሻ


On réalise une économie sur le coût minimal de gestion.

‫ݐ‬ா = ௒ = 1 − ඥߩ .

Cette économie se traduit en pourcentage par un taux appelé taux d’économie et


est définie par

20
ILLUSTRATION 4
La demande annuelle d’un article est de 90 000 unités. Le coût de stockage
s’élève à 0,054F par jour et par article, le coût de passation d’une commande à 108F
Le coût de pénurie est estimé à 0,096F par jour et par article (année de 360 jours)
TAF :
1) Si toute pénurie est interdite, déterminer la quantité optimale d’une commande
de réapprovisionnement (ܳா ), le nombre optimale de commande à effectuer (ܰா ), la
durée de chaque période de réapprovisionnement (ܶா ) et le coût annuel minimal de
la gestion du stock (‫ݕ‬ா ሻ.
2) Dans le cas ou la pénurie est admise, déterminer la valeur des mêmes
paramètres (ܳ௉ , ܰ௉ , ܶ௉ , ‫ݕ‬௉ ). Evaluer le niveau S optimal du stock à reconstituer au
début de chaque période de gestion.
3) Retrouver le coût minimal de la gestion de stock (ܻ௉ ) en calculant séparément
le coût global annuel de stockage, le coût global annuel de pénurie et le coût global
annuel des passations de commande.
IV) Modèle de Wilson avec tarif dégressif
Dans le modèle de Wilson, il a été précisé que le coût d’achat du produit reste
constant quelque soit la quantité commandée. Il va de soit que cette hypothèse est
peu réaliste puisque dans la pratique il est d’usage de négocier un tarif à la baisse
lorsque les quantités à commander sont de plus en plus importante.
Pour des tarifs dégressifs, il convient par conséquent de rechercher non plus le coût
global de gestion mais plutôt le coût de l’approvisionnement ; celui-ci prend en
compte le coût global d’acquisition du produit.
࡯࢕û࢚ ࢊ’ࢇ࢖࢖࢘࢕࢜࢏࢙࢏࢕࢔࢔ࢋ࢓ࢋ࢔࢚
= ࢉ࢕û࢚ ࢊ’ࢇࢉࢎࢇ࢚ + ࢉ࢕û࢚ ࢊࢋ ࢖ࢇ࢙࢙ࢇ࢚࢏࢕࢔ + ࢉ࢕û࢚ ࢊࢋ ࢖࢕࢙࢙ࢋ࢙࢙࢏࢕࢔
Comme dans le modèle de Wilson, on retient les hypothèses s’y après :
∗ Aucune pénurie n’est admise ;
∗ La consommation du produit est régulière ;
∗ Il n’y a pas de stock de sécurité.
Les éléments entrant dans le calcul du coût d’approvisionnement sont les suivants :
∗ Coût d’achat = prix unitaire x demande globale = ܲ × ‫ܦ‬
∗ Coût de passation = coût de lancement d’une commande x nombre de commande
=‫ܥ‬௟ × ݊
∗ Coût de possession = valeur du stock moyen x taux de possession
ܳ
=ܲ× ×‫ݐ‬
2

21
En désignant par ܼ le coût global d’approvisionnement, on a :
ܳ
ܼ = ܲ × ‫ ܦ‬+ ‫ܥ‬௟ × ݊ + ܲ × × ‫ݐ‬
2

ILLUSTRATION 5
On reprend l’illustration 3 et l’on considère que le vendeur de viande propose
des tarifs suivants :

Quantités Conditions

0 ≤ ܳ ≤ 350݇݃ 1 750F par kilo

350 ≤ ܳ ≤ 450݇݃ Remise de 6% sur le prix unitaire

ܳ ≥ 450݇݃ Remise de 10% sur le prix unitaire

Quelle stratégie d’approvisionnement faut-il adopter ?


RESOLUTION
Déterminons les coûts unitaires selon les conditions proposées.
Si 0 ≤ ܳ ≤ 350݇݃ ܲଵ = 1 750‫ܨ‬
6
alors

Si 350 ≤ ܳ ≤ 450݇݃ alors ܲଶ = ܲଵ − ܲ soit ܲଶ = 1 645‫ܨ‬


100 ଵ
10
Si ܳ ≥ 450݇݃ alors ܲଷ = ܲଵ − ܲ soit ܲଷ = 1 575‫ܨ‬
100 ଵ

2. ‫ܥ‬௟. ‫ܦ‬
Sachant que la formule de la quantité économique est : ܳா = ඨ
ܲ. ‫ݐ‬
Alors il en découle pour les différents prix déterminés ci-dessus : on remplace ܲ par
sa valeur (ܲଵ , ܲଶ , ܲଷ )
ܲଵ = 1 750‫ ܨ‬soit ܳாభ = 330 ݇݃ ; ܲଶ = 1645‫ ܨ‬soit ܳாమ = 340,4 ݇݃
ܲଷ = 1 575‫ ܨ‬soit ܳாయ = 347,85 ݇݃
En vu de bénéficier des réductions accordées, il faudra commander à chaque
réapprovisionnement une quantité ܳ஼ compatible avec les tranches imposées.
Pour ܲ = ܲଵ = 1 750‫ ܨ‬on a : ܳ஼భ = ܳாభ = 330 ݇݃ ; Car 330 ∈ ሾ0; 350ሾ
Pour ܲ = ܲଶ = 1 645‫ ܨ‬on a : ܳ஼మ = 350݇݃ ; car 340,4 ∉ ሾ350; 450ሾ et ܳாమ est
inférieure à 350݇݃.
Pour ܲ = ܲଷ = 1 575‫ ܨ‬on a : ܳ஼య = 450݇݃ ; car 347,85 ∈ ሾ450; →ሾ

22
‫ܦ‬ ܳ௜
Coût d’approvisionnement pour chaque quantité compatible trouvée ; posons :

ܼ௜ = ܲ௜ . ‫ ܦ‬+ ‫ܥ‬௟ + ܲ௜ × × ‫ ∈ ݅ ; ݐ‬ሼ1,2,3ሽ


ܳ௜ 2
Pour ܲଵ = 1750‫ܨ‬ et ܳ஼భ = 330 ݇݃ on a : ܼଵ = 11 561 550 ‫ܨ‬
Pour ܲଶ = 1645‫ܨ‬ et ܳ஼మ = 350 ݇݃ on a : ܼଶ = 10 868 202,5 ‫ܨ‬
Pour ܲଷ = 1575‫ܨ‬ et ܳ஼య = 450 ݇݃ on a : ܼଷ = 10 406 322,5 ‫ܨ‬
Le coût d’approvisionnement est minimal si la quantité commandée à chaque
réapprovisionnement est de : 450݇݃
C’est donc cette politique d’approvisionnement qu’il faudra adopter.

‫ܦ‬ ܳ௜
REMARQUE

Sachant que : ܼ௜ = ܲ௜ . ‫ ܦ‬+ ‫ܥ‬௟ + ܲ௜ × × ‫ ∈ ݅ ; ݐ‬ሼ1,2,3ሽ


ܳ௜ 2
On procédera de la façon suivante :
Pour chaque tranche de prix on déterminera et on retiendra la quantité
compatible ܳ௜ qui minimise ܼ௜ .
-

- On calculera ܼ௜ pour chaque ܳ௜ retenu et on choisira celui qui donne le coût


total ܼ௜ le plus faible.

23
Chapitre IV : LA THEORIE DES GRAPHES

I. DEFINITION - REPRESENTATION
1) Graphes
Un graphe est un ensemble fini de points dont les sommets sont reliés par des
flèches appelées arcs.
Définition mathématique
Un graphe ‫ ܩ‬est défini par deux ensembles :

• L’ensemble de ses sommets X = {x1, x 2, x 3,..., x n }

• L’ensemble de ses arcs U = {u1, u 2 , u 3 ,..., u n }


On appelle graphe le couple ‫ = ܩ‬ሺܺ, ܷሻ formé par un ensemble ܺ d’éléments
appelés « sommets » et par un ensemble ܷ de couples de sommets appelés
« arcs ». Si cardinal de ܺ = ܰ, alors on dit que le graphe ‫ ܩ‬est d’ordre ܰ.
2) Représentation d’un graphe
Un graphe ‫ = ܩ‬ሺܺ, ܷሻ peut être représenté de diverses façons :
a) par un schéma : représentation sagittale
Chaque sommet est représenté par un point, chaque arc ou arête par une ligne
orientée ou non.
Illustration 1 : graphe orienté
C
U2 U4

A U1 B U3 D U5 E

U8 U7 U6
F

Sommets X = {A, B,C , D, E, F } Arcs U = {u1, u2,u3,u4,u5, u6, u7,u8}


Dans cette illustration 1, l’arc U1 ou ሺ‫ܣ‬, ‫ܤ‬ሻ a pour origine le point A et pour extrémité
le point B. On dit aussi que le point B est un point suivant de A et que A est un
précédent de B.

24
Illustration 2 : graphe non orienté
B
A Sommet X = {A, B, C}
C arête
• Lorsque l’orientation ne joue aucun rôle, on parle de graphe non orienté.
• Un multi graphe est un graphe pour lequel il peut exister plusieurs arêtes entre
deux sommets donnés.
• Un graphe est dit simple s’il est sans boucle non orienté et s’il n’y a jamais
plus d’une arête entre deux sommets quelconques.
De l’illustration 2, le graphe proposé n’est pas simple car entre B et C, il y a deux
arêtes. Remarquons que dans la suite du cours, on considèrera que les graphes
sont orientés.
b) Par une piste exhaustive de sommets et des ars
Il s’agit de donner l’ensemble de tous les arcs :

G = {(A, B);(B,C);(B, D);(C, E);(D, E);(E, F);(F, D);(F, A)}


c) par un tableau à simple entrée appelé dictionnaire
Indiquer dans un tableau tous les suivants de chaque sommet : on obtient le
dictionnaire des suivants.
Sommets Sommets suivants
A B
B C, D
C E
D E
E F
F A, D
Indiquer dans un tableau tous les précédents de chaque sommet : on obtient le
dictionnaire des précédents.
Sommets Sommets précédents
A F
B A
C B
D B, F
E C, D
F E
d) Par une matrice (tableau à double entrée)
Par convention les lignes représentent les extrémités initiales, les colonnes
représentent les extrémités terminales.

25
• Cette matrice peut être littérale
Extrémités terminales

A B C D E F
A A, B
B B, C B, D
C C, E
D D, E
E E, F
F F, A F, D

• Cette matrice peut être booléenne


On note « 1 » lorsque l’arc considéré figure dans le graphe et « 0 » sinon (pas dans
le graphe).
A B C D E F
A 0 1 0 0 0 0
B 0 0 1 1 0 0
C 0 0 0 0 1 0
D 0 0 0 0 1 0
E 0 0 0 0 0 1
F 1 0 0 1 0 0
NB : Une telle représentation permet l’introduction et le traitement de graphes à
l’ordinateur et il est très facile, à partir de cette matrice d’obtenir les dictionnaires des
suivants et des précédents.
II. VOCABULAIRE DE LA THEORIE DES GRAPHES
1) Chaînes
C’est une suite d’arcs adjacents mais à la différence d’un chemin l’extrémité
initiale d’un arc ne coïncide pas forcément avec l’extrémité de l’arc qui le précède : le
sens de l’arc n’intervient pas.
Chaîne élémentaire : On appelle de chaîne élémentaire une chaîne telle qu’en la
parcourant, on ne rencontre pas deux fois le même sommet.
Exemple :
A C j

U1 U2 U3 U4 U5

i B D
Remarque : Deux arcs (arêtes) sont dits adjacents s’ils ont au moins une extrémité
commune.
Exemple : de l’exemple 1, les arcs U1 et U2 sont adjacents.

26
2) Cycle
Un cycle est une chaîne dont les extrémités coïncident.
De l’illustration 1 (A, B) ; (B, C) et (C, E) est un chemin joignant A à E que l’on note
simplement A, B, C, E. A, B, C, E est un chemin.
3) Circuit
Un circuit est un chemin dont les extrémités coïncident.
Exemple : de l’illustration 1, on a : A, B, D, E et F qui est un circuit.
4) Boucle
C’est un arc dont les origines et les extrémités coïncident c’est-à-dire un circuit de
longueur.
Exemple :

5) Graphe valué
C’est un graphe dans lequel chaque arc est affecté d’un nombre.
Exemple :
B
4 1
A C
9 7
D
III. CHEMINEMENT DANS UN GRAPHE
1) Niveau au rang d’un sommet dans un graphe sans circuit
Considérons un graphe G sans circuit. Pour obtenir une représentation plus lisible, il
est souhaitable de la tracer en dirigeant toutes les flèches dans un même sens. Pour
ce faire, on placera d’abord les sommets sans précédent. Par définition les sommets
sont affectés du niveau 0.
Les sommets de niveau 1 sont ceux dont les précédents ont été affectés du niveau
0…. Dans la pratique, pour déterminer le niveau on range tous les sommets du
graphe G, on suivra les étapes suivantes :
1- Déterminer le dictionnaire des précédents du graphe
2- Relever tous les sommets sans précédents, ils ont pour niveau 0

27
3- Coïncider le dictionnaire des précédents obtenu à partir du graphe G en
supprimant (dans les deux colonnes) tous les sommets de niveau 0. On
obtient le graphe le graphe d’un « sous graphe » G.
4- Relever tous les éléments. Ils ont pour niveau 1.
5- Supprimer dans le dictionnaire tous les sommets de niveau 1
Ce processus a pris fin puisqu’un graphe a un nombre fini de points et puisqu’il n’y a
pas de circuit.
NB : pour gagner du temps, lorsque l’algorithme est bien compris, on travaille sur un
dictionnaire des précédents dans lequel on barre les sommets au fur et à mesure
que leur niveau est déterminé.
Illustration 3
On ordonnance par niveau le graphe G suivant puis on donnera une
représentation sagittale.
Sommets B D F G H J M P Q R
Précédents - M, B B M, P D, B, Q F, H - M B P, G, Q, H, J
Supprimer dans le dictionnaire les sommets sans précédent : ce sont les sommets B
et M. On leur affecte le niveau 0.
Supprimons B et M du dictionnaire, on obtient le sous graphe suivant :
Sommets D F G H J P Q R
Précédents - - P D, Q F, H - - -
Dans lequel les sommets sans précédent sont D, F, P et Q. On leur affecte le niveau
1 puis on les supprime, on obtient :
Niveau 1 : D, F, P et Q
Sommets G H J R
Précédents - - H G, H, J
Niveau 2 : G et H
Sommets J R
Précédents - J
Niveau 3 : J
Sommets J R
Précédents P -
Niveau 4 : R
En résumé :
Niveau 0 : B et M Niveau 1 : D, F, P et Q
Niveau 2 : G et H Niveau 3 : J
Niveau 4 : R

28
Pour tracer la représentation sagittale, placer tous les sommets de gauche à
droite par niveau croissant puis indiquer les arcs des graphes en utilisant le
dictionnaire des précédents.

M G R

Q
B
H J

F
Le niveau ou rang d’un sommet est le nombre maximum du chemin partant du
niveau 0 pour aboutir au sommet considéré.
Exemple : vérifier cette proposition pour les sommets G et R du graphe de
l’illustration 2.
Résolution : G a pour niveau 2 et on trouve aisément que le chemin MPG comporte
deux arcs et qu’il n’y a pas de chemin partant d’un sommet de niveau 0 aboutissant à
G comportant plus de deux arcs. De même pour R de niveau 4 on trouve le chemin
B, Q, H, J et R constitué de quatre arcs.
2) Chemins le plus long et le plus court dans un graphe sans circuit

a- Longueur d’un arc et d’un chemin


Un graphe G sans circuit étant donné, on suppose que chaque arc est affecté d’un
nombre qui sera appelé longueur de cet arc. La longueur d’un chemin est la somme
des longueurs des arcs qui composent ce chemin.
Si le graphe n’est pas valué, la longueur d’un chemin est égale au nombre d’arcs qui
le compose.
Retenons qu’un graphe peut schématiser un problème de transport : les sommets
seront les lieux desservis, les arcs des voies à sens unique. On peut alors affecter à
chaque arc la distance à parcourir pour aller de l’origine à l’extrémité de cet arc (ou le

29
coût du transport). Il pourra être intéressant de déterminer le chemin le plus court ou
le moins coûteux pour aller d’un coin du graphe à un autre. Il est également
classique d’utiliser des graphes pour représenter un ensemble de tâches à effectuer
pour réaliser un projet.
Les sommets schématiseront par exemple les tâches et les arcs de relations
d’antériorité entre tâche.
La longueur d’un arc (A, B) donnera le temps minimum qui doit s’écouler entre le
début de la tâche A et le début de la tâche B.

b- Détermination du chemin le plus long dans un graphe sans circuit

Il est nécessaire d’ordonnancer d’abord le graphe par niveau (on vérifie ainsi
qu’il est sans circuit). La suite du processus sera exposé sur l’exemple suivant, dans
lequel nous allons chercher le chemin le plus long entre le sommet M et R.
P
3 1
M 5
2 R
24
1 G 9

D 3 2
1
H
10

J
• Une première méthode qui n’est utilisable que dans le cas simple consiste à
faire la liste de tous les chemins joignant M et R et de comparer leur longueur.
Chemin Longueur
MPR 3+1=4
MPGR 3 + 5 + 24 = 32
MGR 2 + 24 = 26
MDR 1 + 9 =10
MDHR 1+1+3=5
MDHJR 1 + 1 +10 + 2 = 14
Le chemin le plus long est (M, P, G, R) et a pour longueur 32.

30
• Une deuxième méthode consiste à déterminer de proche en proche pour
chaque sommet X en partant de M, la longueur du chemin le plus long entre M et le
sommet X considéré.
On note près du sommet X la longueur obtenue et on indique en double trait l’arc
permettant d’obtenir cette longueur. Ce qui permettra à la fin de trouver facilement le
ou les chemins les plus longs.
Conclusion : le chemin le plus long est donc (M, P, G, R). On ne suit que les arcs en
double trait.
c- Détermination d’un chemin le plus court dans un graphe sans circuit
On utilise la même démarche.
Exemple : sur le même graphe, on obtient (M, P, R) le chemin le plus court de
longueur 4.
Exercice 1

Soit E = {X1, X2, X3, X4} ; on définit sur E les graphes suivants :

G = {(Xi , Xj ) ∈ E × E/ (i − j) est pair} et H = {(Xi, Xj ) ∈G/ (i − 1) p j}


• Ecrivons en extension

• G = {(X1, X1 );(X1, X3 );(X2 , X2 );(X2 , X4 );(X3 , X1 );(X3 , X3 );(X4 , X2 );(X4 , X4 )}


Dictionnaire des suivants du graphe
Sommets Suivants
X1 X1, X3
X2 X2, X4
X3 X1, X3
X4 X2, X4
• Représentation booléenne de H
X1 X2 X3 X4
X1 1 0 1 0
X2 0 1 0 1
X3 0 0 1 0
X4 0 0 0 1
Exercice 2
Dictionnaire des suivants Dictionnaire des précédents
Sommets Suivants Sommets Suivants
X1 X1, X4 X1 X1
X2 X2, X3 X2 X2
X3 X4 X3 X2
X4 - X4 X1, X3

31
Chapitre V : LES PROBLEMES D’ORDONNANCEMENT
(LA METHODE DES POTENTIELS)

I- GENERALITES SUR LES ORDONNANCEMENTS


Etant donné un ensemble de tâche contribuant à la réalisation d’un projet, on
se propose d’établir un « planning d’ordonnancement » (sous forme de graphe),
indiquant dans quel ordre doivent être effectuée les tâches en question, précisant
celles qui peuvent être effectuées en parallèle et donnant le calendrier qu’il faudra
suivre pour éviter les pertes de temps et terminer la réalisation du projet au plus vite.
Pour pouvoir élaborer ce planning, il est nécessaire de connaitre :
- La liste complète des tâches à effectuer ;
- La durée des tâches et éventuellement les autres contraintes de temps ;
- Les relations d’antériorité entre tâche.
Nous développerons essentiellement ici la méthode MPM (Méthode des Potentiels
Métra), d’origine française née des travaux de B. Roy dont les premières applications
ont concernées l’implantation de la centrale nucléaire en France. En outre nous
indiquerons ensuite rapidement le principe de la méthode PERT (Program Evaluation
Research Task ou Program Evaluation and Review Technique) d’origine
américaine ; méthode élaborée à l’origine pour réduire les retard dans la mise au
point d’armement stratégique.
Ces différentes méthodes seront expliquées avec l’exemple suivant inspiré d’un sujet
d’examen.
EXEMPLE

Tâches Désignations Tâches pré


Durées (en jour)
requises
A Acceptation des plans par le propriétaire 4
B Préparation du terrain 2
C Commande des matériaux A 1
D Creusage des fondations A, B 1
E Commande des portes et fenêtres A 2
F Livraison des matériaux C, B, A 2
G Coulage des fondations D, F, C, A 2
H Livraison des portes et fenêtres E, A 10
I Pose des murs, de la charpente, du toit G 4
J Mise en place des portes et fenêtres H, I, A 1

32
II- METHODE DES POTENTIELS METRA (MPM)
1) Principe de la représentation
L’ensemble du projet est représenté par un graphe dans lequel :
- Chaque sommet représente une tâche ;
- Chaque arc représente une relation d’antériorité ;
- La longueur d’un arc ሺ‫ݕ ; ݔ‬ሻ est le temps minimum qui doit s’écouler entre le
début de la tâche ‫ ݔ‬et le début de la tâche ‫ݕ‬.

- La tâche ‫ ݔ‬doit être effectuée avant la tâche ‫; ݕ‬


Le schéma suivant habituellement utilisé pour les graphes MPM signifie donc que :

- Il doit s’écouler ‫ ݐ‬unités de temps entre la mise en route de la tâche ‫ ݔ‬et celle
de la tâche ‫ݕ‬.

‫ݐ‬
‫ݔ‬ ‫ݕ‬
Ici la tâche ‫ ݕ‬ne peut commencer que lorsque ‫ ݔ‬est terminé, ‫ ݐ‬est alors la durée de la
tâche ‫ݔ‬
2) Elaboration du graphe
Les étapes à suivre sont les suivantes :
 Suppression des redondances
Imaginons la situation suivante, supposé extraite d’un graphe

Tâches Tâches pré

‫ݔ‬ /
requises Dont la représentation serait :

‫ݕ‬ ‫ݔ‬
‫ݖ‬ ‫ݔ‬, ‫ݕ‬ ‫ݔ‬ ‫ݕ‬ ‫ݖ‬
L’arc tracé en pointillé signifie que x
doit être effectué avant z, information inutile puisque l’on sait que x doit être avant y,
qui elle-même avant z. supprimer cet arc revient à effacer x de la tâche des tâches
pré requises de z on obtient ainsi le tableau suivant dans lequel ne sont indiquées
que les tâches immédiatement antérieure.

Tâches Tâches pré

‫ݔ‬ /
requises En toute rigueur il faut réitérer le procédé autant de

‫ݕ‬ ‫ݔ‬
fois que nécessaire comme nous allons le voir dans

‫ݖ‬ ‫ݕ‬
l’exemple de la construction de l’entrepôt

33
Exemple
Tâches pré
Tâches Désignations Durées (en jour)
requises
A Acceptation des plans par le propriétaire 4
B Préparation du terrain 2
C Commande des matériaux A 1
D Creusage des fondations A, B 1
E Commande des portes et fenêtres A 2
F Livraison des matériaux C, B, A 2
G Coulage des fondations D, F, C, A 2
H Livraison des portes et fenêtres E, A 10
I Pose des murs, de la charpente, du toit G 4
J Mise en place des portes et fenêtres H, I, A 1

Les tâches soulignées seront supprimées de la colonne des tâches pré requises.
La tâche entourée peut également être supprimée de la colonne des tâches pré
requises et ainsi de suite. En dernière ligne on voit que A est avant E qui est avant H,
qui elle-même est avant J. il est donc inutile de faire figurer A dans la liste des taches
pré requises de J.
On peut maintenant travailler avec le tableau suivant dans lequel ne sont indiqués
que les taches immédiatement antérieures.
Tâches pré
Tâches Désignations Durées (en jour)
requises
A Acceptation des plans par le propriétaire 4
B Préparation du terrain 2
C Commande des matériaux A 1
D Creusage des fondations A, B 1
E Commande des portes et fenêtres A 2
F Livraison des matériaux C, B 2
G Coulage des fondations D, F 2
H Livraison des portes et fenêtres E 10
I Pose des murs, de la charpente, du toit G 4
J Mise en place des portes et fenêtres H, I 1

34
 Représentation du graphe ordonnancé par niveaux
L’algorithme décrit au chapitre précédant permet de classer les sommets
(donc les taches) par niveau. On ajoute un niveau supplémentaire qui correspond à
la « fin » de réalisation du projet.
Niveau 0 = A, B Niveau 3 = G
Niveau1 = C, D, E Niveau 4 = I
Niveau 2 = F, H Niveau 5 = J Niveau 6 = Fin
Pour tracer les arcs qui doivent figurer dans le graphe, on peut soit utiliser
directement la colonne « tache pré requise », soit déterminer d’abord (à l’aide de
cette même colonne) le dictionnaire des suivants. Quant aux longueurs des arcs sauf
précision supplémentaire, on lit dans la colonne « durée »
ܰ଴ ܰଵ ܰଶ ܰଷ ܰସ ܰହ ܰ଺

2 10 1
‫ܧ‬ ‫ܪ‬ ‫ܬ‬ ‫݊݅ܨ‬
4 4

‫ܣ‬
1
‫ܥ‬ ‫ܨ‬ ‫ܫ‬
4

4 2 2 2

1
‫ܤ‬ 2 ‫ܦ‬ ‫ܩ‬

 Durée minimum de réalisation du projet


 Détermination de cette durée
La durée minimale de réalisation du projet est égale à la longueur du chemin
le plus long entre une tâche de niveau 0 et le sommet « fin »
Remarque : Les tâches les plus longues ralentissent les travaux.
Exemple : Déterminons le temps minimum nécessaire à la construction de l’entrepôt.
La technique pour déterminer le chemin le plus long dans un graphe sans circuit
ordonnancé par niveau a été vu au chapitre (la théorie des graphes).
Les longueurs déterminées de proche en proche sont notées par chaque sommet
dans la case située à gauche au dessus du nom de la tâche considérée. Pour les
tâches de niveau 0, on note 0

35
Ici on obtiendra :
ܰ଴ ܰଵ ܰଶ ܰଷ ܰସ ܰହ ܰ଺

4 2 6 10 16 1 17
‫ܧ‬ ‫ܪ‬ ‫ܬ‬ ‫݊݅ܨ‬
4 4
0
‫ܣ‬
4 1 5 9
‫ܥ‬ ‫ܨ‬ ‫ܫ‬
4

4 2 2 2

0 4 1 7
‫ܤ‬ 2 ‫ܦ‬ ‫ܩ‬

long est ‫ܬܪܧܣ‬


Au minimum, il faudra donc 17 jours pour construire l’entreprise. Le chemin le plus

 Chemin et tâches critiques


Le chemin le plus long entre la tache de niveau 0 et la fin est appelé chemin
critique ; tous les sommets de ce chemin sont appelés taches critiques.
Remarque : La tache critique étant située sur le chemin le plus long ; il va de soit
que : tout retard pris dans la mise en route d’une tache critique retardera la date de
fin du projet.
EX : le chemin critique est ici AEHJ et les taches critiques sont A, E, H et J.
 Calendrier au plus tôt
Si on appelle « date 0 » la date de début au plus tôt des tâches de niveau 0, les
nombres marqués près de chaque sommet lors de la détermination du chemin le plus
long détermine les dates de début au plus tôt des tâches correspondantes.

tôt de la tâche ‫ݔ‬


Date de début au plus

‫ݔ‬

Il est impossible de commencer la tâche ‫( ܫ‬pose des murs, de la charpente et du


toit), avant la date 9. De même il faut attendre au minimum la date 6 pour pouvoir
démarrer la tâche ‫( ܪ‬livraison des portes et des fenêtres)
 Calendrier au plus tard
La mise en route de certaines tâches peut avoir lieu après la date de début au plus

36
tôt sans que cela ne retarde la durée de réalisation du projet. Il est intéressant de
connaitre pour chaque tâche la date qu’il ne faut pas dépasser ; que l’on appelle
date de début au plus tard.
Sur le graphe on indiquera cette date à droite de la date de début au plus tôt.

‫ݔ‬ la tâche ‫ݔ‬


Date de début au plus tard de

Remarque : On peut remarquer d’abord que pour toute tache critique :


Date de début au plus tôt = date de début au plus tard
Détermination pratique des dates de début au plus tard
Sachant que l’on ne veut pas modifier la date de « fin » on commence par le
sommet :

‫ܰܫܨ‬
17 17 Exemple : On note

Pour chaque tache ‫ݔ‬, on détermine ensuite de proche en proche (en se


déplaçant vers la gauche) le plus petit des nombres.
[(date de début au plus tard) - (longueur de l’arc ‫])ݕݔ‬
Exemple :
On peut compléter d’abord tous les sommets situé sur le chemin critique

Considérons maintenant la tache ‫(ܫ‬pose des murs, de la charpente et du toit).


(égalité des dates au plus tôt et au plus tard).

Elle dure 4 jours et n’a qu’un suivant ; la tache ‫ ; ܬ‬qui au plus tard doit commencer à
la date 16. La date au plus tard de ‫ ܫ‬est donc la date 12 ;

‫ܫ‬ ‫ܬ‬
12 16
4

• De même pour les taches ‫ ܥ ܨ ܤ‬et ‫ ܦ‬on obtient respectivement les dates 10 ;
8 ; 7et 9.
• Pour la tache ‫( ܤ‬préparation du terrain) il dure 2 jours, il y a 2 suivants : ‫ܨ‬
(livraisons des matériaux) et ‫( ܦ‬creusage des fondations)
8
F
2

‫ܤ‬

‫ܦ‬
9
2

37
C’est donc le plus petit des nombres (9 - 2) et (8 - 2) qui détermine la date de
début à plus tard de B, qui est par conséquent 6. On obtient finalement le graphe
suivant près duquel on n’oubliera pas d’indiquer la légende.
ܰ଴ ܰଵ ܰଶ ܰଷ ܰସ ܰହ ܰ଺

4 4 2 6 4 10 16 16 1 17 17
‫ܧ‬ ‫ܪ‬ ‫ܬ‬ ‫݊݅ܨ‬
4 4
0 0
‫ܣ‬
4 7 1 5 8 9 12
‫ܥ‬ ‫ܨ‬ ‫ܫ‬
4

4 2 2 2

0 6 4 9 1 7 10
‫ܤ‬ ‫ܦ‬ ‫ܩ‬
2

 Dates de fin au plus tôt et au plus tard


De manière évidente on a pour chaque tache :
Date de fin au plus tôt = date de début au plus tôt + durée de la tache

Exemple : déterminer les dates de fin au plus tôt et la date au plus tard de la tache ‫ܦ‬.
Date de fin au plus tard = date de début au plus tard +durée de la tache

Date de fin au plutôt de ‫ ܦ‬est : 4+1 = 5


Date de fin au plus tard de ‫ ܦ‬est : 9+1 = 10
On obtient :

 Calcul des marges


a) Marges totales
La marge totale d’une tache est le retard maximum que l’on peut prendre dans la

- Marge totale d’une tache ࢞ : date de début au plus tard de ‫ ݔ‬- date de début
mise en route de cette tache sans modifier la date de fin des travaux.

au plus tôt de ‫ݔ‬.


- Marge totale d’une tache ࢞ : date de fin au plus tard de ‫ ݔ‬- date de fin au
plus tôt de ‫ݔ‬
En MPM, la première de ces 2 relations est l’agréable puisque l’on indique sur le
graphe les dates de début.
NB : pour toute tache critique, la marge totale est nulle.
b) Marge libre
La marge libre d’une tache est le retard maximum que l’on peut prendre dans la
mise en route de cette tache, sans modifier les dates de début au plus tôt des taches
suivantes.

38
Comme pour les marges totale, il va de soit que pour toutes taches critique, la marge
libre est nulle. Par ailleurs compte tenu des définitions, la marge libre d’une tache est
toujours inferieur ou égale à la marge totale.
La marge libre d’une taxe ‫ ݔ‬est le plus petit des nombres (date de début au plus tôt
de ‫ )ݕ‬- (date de début au plus tôt de ‫ )ݔ‬- (durée de ‫)ݔ‬. Sur l’ensemble de tous les
suivants de ‫ݔ‬
‫ݐ‬ଵ
‫ݕ‬ଵ de ‫ ݔ‬est le plus petit des
Avec le ci contre, la marge libre

‫ݐ‬ଵ
nombres parmi :

‫ݐ‬௫ ‫ݐ‬ଶ ‫ݐ‬ଶ ‫ݐ‬ଵ − ‫ݐ‬௫ − ‫ݐ‬ଵ

‫ݔ‬ ‫ݕ‬ଶ ‫ݐ‬ଶ − ‫ݐ‬௫ − ‫ݐ‬ଶ


‫ݐ‬ଷ
‫ݐ‬ଷ − ‫ݐ‬௫ − ‫ݐ‬ଷ
‫ݐ‬ଷ
‫ݕ‬ଷ

c) Tableau récapitulatif
Date de
Début Fin Marge
Au plus Au plus Au plus Au plus
Tâches Durées Total Libres
tôt tard tôt tard
A 4 0 0 4 4 0 0
B 2 0 6 2 8 6 2
C 1 4 7 5 8 3 2
D 1 4 9 5 10 5 2
E 2 4 4 6 6 0 0
F 2 5 8 7 10 3 0
G 2 7 10 9 12 3 0
H 10 6 6 16 16 0 0
I 4 9 12 12 16 4 3
J 1 16 16 17 17 0 0
colonne 1 2 3 1+2 3+1 3-2

III- LA METHODE PERT


1) Principe de la représentation
L’ensemble du projet est représenté par un graphe dans lequel :
- chaque arc représente une tâche
- la longueur de cet arc est la durée de cette tâche
- chaque sommet correspond à une étape entre tâches.

39
Ainsi le schéma suivant habituellement utilisé pour les graphes PERT signifie donc
que :
X (dX) Z (dZ)

Y (dY) T (dT)

Les tâches X et Y de durée respective dX et dY doivent être finies pour que les
tâches Z et T de durée dZ et DT puissent débuter.
Le type de représentation nécessite parfois l’introduction de tâches fictives le plus
souvent de durée nulle.
Imaginons par exemple la situation suivante supposée extraite d’un graphe.

Tâches Tâches pré requises


Z X, Y
T Y

X Z
α (0)

Y est avant Z et T mais X ne précède que Z, on introduit donc la tâche fictive notée α
de durée nulle représentée en pointillés permettant de traduire cette situation.
2) Elaboration du graphe
Les étapes à suivre sont les suivantes :
- supprimer les redondances (comme en MPM)
- déterminer les tâches de niveau 0
- écrire le dictionnaire des suivants (facultatif)
- construire le graphe
Exemple :
Construire le graphe PERT relatif à la construction de l’entrepôt ;
Tracer une première « étape » intitulée « début ».
De ce sommet partirons toutes les tâches de niveau 0.

40
S1

Début
S2
A l’aide des dictionnaires des suivants ou des précédents, représenter toutes
les autres tâches en introduisant au besoin des tâches fictives (éviter d’en mettre
plus qu’il n’en faut).
Les sommets sont arbitrairement appelés S1, S2, S3…
E(2) H(10) J(1)
S1 S3 S7 Fin
D(4)
C(1)

Q(0) I(4)
Début S4
B(0) F(2)

B(2)

S2 D(1) S5 G(2) S6

3) Durée minimale de réalisation du projet


a- Chemins et tâches critiques
On les détermine comme en MPM en cherchant le chemin le plus long entre l’étape
« début » et l’étape « fin ».
Exemple :
4 E(2) 6 H(10) 12 J(1) 17
S1 S3 S7 Fin
D(4)
C(1)

0 Q(0) 3 I(4)
Début S4
B(0) F(2)

B(2)
4 7 9
S2 D(1) S5 G(2) S6

On retrouve que le chemin critique est (A, E, H, Y)

41
b- Calendrier au plus tôt
La date indiquée sur chaque sommet donne la date de début au plus tôt de toutes
les tâches partant de ce sommet.
Exemple :
La date 4 marquée en S1 donne la date de début au plus tôt des tâches C et E.
Vérifier que les résultats sont les mêmes en PERT et MPM.
c- Calendrier au plus tard
On note également sur chaque sommet (du côté droit) la date de fin au plus
tard de toutes les tâches aboutissant à ce sommet : commencer par l’étape « fin »
pour laquelle les dates sont égales. Pour chaque sommet 3 déterminer ensuite de
proche en proche (en se déplaçant vers la gauche), le plus petit des nombres.
Légende
Date de début au plutôt de toute date de fin au plus tard
de toutes les taches partant de S taches aboutissant à
S

On peut lire par exemple au sommet ܵହ la date de fin au plus tard des taches F et D
est 10.
En soustrayant à ces dates les durées des taches correspondantes on retrouve les
dates de début au plus tard obtenu en MPM. (On obtient 8 pour F et 9 pour D).
Formule
ࡰࢇ࢚ࢋ ࢊࢋ ࢌ࢏࢔ ࢇ࢛ ࢖࢒࢛࢙ ࢚ô࢚ ࢊࢋ ࢒ࢇ ࢚ࢇࢉࢎࢋ ࢞
= ࢊࢇ࢚ࢋ ࢊࢋ ࢊé࢈࢛࢚ ࢇ࢛ ࢖࢒࢛࢙ ࢚ô࢚ ࢊࢋ ࢒ࢇ ࢚ࢇࢉࢎࢋ ࢞ + ࢊ࢛࢘éࢋ ࢊࢋ ࢞.
ࡰࢇ࢚ࢋ ࢊࢋ ࢌ࢏࢔ ࢇ࢛ ࢖࢒࢛࢙ ࢚ࢇ࢘ࢊ ࢊࢋ ࢒ࢇ ࢚ࢇࢉࢎࢋ ࢞
= ࢊࢇ࢚ࢋ ࢊࢋ ࢊé࢈࢛࢚ ࢇ࢛ ࢖࢒࢛࢙ ࢚ࢇ࢘ࢊ ࢊࢋ ࢒ࢇ ࢚ࢇࢉࢎࢋ ࢞ + ࢊ࢛࢘éࢋ ࢊࢋ ࢞.

Les définitions sont bien sur les mêmes qu’en MPM et les modes de calcul sont

࢓ࢇ࢘ࢍࢋ ࢚࢕࢚ࢇ࢒ࢋ ࢊࢋ ࢞
indiqués ci-dessous :

= ࢊࢇ࢚ࢋ ࢊࢋ ࢊé࢈࢛࢚ ࢇ࢛ ࢖࢒࢛࢙ ࢚ࢇ࢘ࢊ ࢊࢋ ࢞


− ࢊࢇ࢚ࢋ ࢊࢋ ࢊࢋ ࢊé࢈࢛࢚ ࢇ࢛ ࢖࢒࢛࢙ ࢚ô࢚ ࢊࢋ ࢞
࢓ࢇ࢘ࢍࢋ ࢒࢏࢈࢘ࢋ ࢊࢋ ࢞ ∶ ࢜࢕࢏࢘ ࢓é࢚ࢎ࢕ࢊࢋ ࢊࢋ ࢉࢇ࢒ࢉ࢛࢒ ࢋ࢔ ࡹࡼࡹ.

42
Chapitre VI : PROBLEME DE TRANSPORT A COUT MINIMUM
ET PROBLEME D’AFFECTATION

I) PROBLEME DE TRANSPORT A COUT MINIMUM

de ݉ origines vers ݊ destinations.


Le problème ici consistera à acheminer à moindre coût des unités d’un certain bien

⟹ ⟹ clients
Origine : Centres de production, usines
Destination : Entrepôt centre de distribution

- Les offres ܱ௜ des origines ; ݅ = 1, 2, … … , ݉


Les données du problème :

- Les demandes ݀௝ des destinations ; ݅ = 1, 2, … … , ݊


- Les coûts unitaires ‫ܥ‬௜௝ de transport de l’origine ݅ vers la destination ݆.

Variables de décision : ‫ݔ‬௜௝ , ݅ = 1,2, … . . , ݉ ݁‫ = ݆ ݐ‬1,2, … … , ݊ ; avec ‫ݔ‬௜௝


Modélisation du problème de transport

nombre d’unités de bien à acheminer de l’origine i vers la destination j.

௠ ௡
Fonction-objectif : Coût Total de transport (CT)

‫ = ܶܥ‬෍ ෍ ‫ܥ‬௜௝ ‫ݔ‬௜௝ à ݉݅݊݅݉݅‫ݎ݁ݏ‬


௜ୀଵ ௜ୀଵ
Contraintes :


a) Offres :

෍ ‫ݔ‬௜௝ ≤ ܱ௜ ; ݅ = 1,2, … … ݉
௝ୀଵ


b) Demandes :

෍ ‫ݔ‬௜௝ ≥ ݀௝ ; ݆ = 1,2, … … ݊
௜ୀଵ

‫ݔ‬௜௝ ≥ 0 ; ݅ = 1,2, … … ݉ ݁‫ = ݆ ݐ‬1,2, … . . ݊


c) Contraintes de non négativité

௠ ௡
Formulation standard de problème de transport

minሾ‫ܶܥ‬ሿ ⟹ ‫ = ܶܥ‬෍ ෍ ‫ܥ‬௜௝ ‫ݔ‬௜௝


௜ୀଵ ௜ୀଵ

‫ۓ‬ ෍ ‫ݔ‬௜௝ = ܱ௜ ; ݅ = 1,2, … . . ݉
ۖ
ۖ ௠ ௡
௝ୀଵ

à ܿ‫ ݁ݑݍ ݊݋݅ݐ݅݀݊݋‬෍ ܱ௜ = ෍ ݀௝ 
‫۔‬ ෍ ‫ݔ‬௜௝ = ݀௝ ; ݆ = 1,2, … . . ݊
ۖ
௜ୀଵ ௝ୀଵ
ۖ ௜ୀଵ
‫ݔە‬௜௝ ≥ 0; ݅ = 1,2, … . ݉ ݁‫ = ݆ ݐ‬1,2, … . ݊
௠ ௡

ܵ݅ ෍ ܱ௜ > ෍ ݀௝
௜ୀଵ ௝ୀଵ
⟹ ‫ݎܥ‬éܽ‫݀ ݊݋݅ݐ‬ᇱ ‫݀ ݏݑ݈݌ݎݑݏ ݈݁ ݎܾ݁ݎ݋ݏܾܽ ݎݑ݋݌ ݁ݒ݅ݐ݂ܿ݅ ݊݋݅ݐܽ݊݅ݐݏ݁݀ ݁݊ݑ‬ᇱ ‫݁ݎ݂݂݋‬.

43
௡ ௠

ܵ݅ ෍ ݀௝ > ෍ ܱ௜
௝ୀଵ ௜ୀଵ
⟹ ‫ݎܥ‬éܽ‫݀ ݊݋݅ݐ‬ᇱ ‫ ݈ ݁ݎ݂݅ܽݏ݅ݐܽݏ ݎݑ݋݌ ݁ݒ݅ݐ݂ܿ݅ ݁݊݅݃݅ݎ݋ ݁݊ݑ‬ᇱ ݁‫ܿݔ‬è‫݀ ݈݁ ݑ݋ ݏ‬é݂݅ܿ݅‫݀ ݁ݐ‬′‫݁ݎ݂݂݋‬
Algorithme du simplexe pour le problème du transport (sous la Forme Standard)
Cet algorithme procède en deux phases.
Phase 1 : Consiste à rechercher une solution de base initiale en utilisant l’un des
trois critères suivants :
Critère 1 : le critère du coin Nord-Ouest ou critère houthaker
Critère 2 : le critère du coût minimal
Critère 3 : le critère de la différence maximale ou critère de Balas Hammer
Phase 2 : On applique l’algorithme du Stepping Stone.

Etape 1 : calcul des coûts marginaux ‫ܦ‬௜௝ relatifs aux variables ou aux
Il y aura deux étapes dans cette phase :

cellules non basiques (hors base)

Si tous ‫ܦ‬௜௝ ≥ 0, le programme de transport donné par la solution de


Etape 2 : test de l’optimalité

S’il ∃ ‫ܦ‬௜௝ < 0, le programme de transport n’est pas optimal ; aller à


base courante est optimal ; aller à la phase 3

l’étape 3
Etape 3 : Rechercher une nouvelle solution de base, allez à l’étape 2.
Phase 3 : FIN
Exemple 1
Soit le programme de transport relatif au tableau de transport suivant.

Destinations
Origines 1 2 3 4 5 OFFRE

1 10 20 5 9 10 9
2 2 10 8 30 6 4
3 1 20 7 10 4 8
DEMANDE 3 5 4 6 3

ଷ ହ

෍ ܱ௜ = 9 + 4 + 8 = 21 ݁‫ݐ‬ ෍ ݀௝ = 3 + 5 + 4 + 6 + 3 = 21;
௜ୀଵ ௝ୀଵ
⟹ ‫ ݀ݎܽ݀݊ܽݐݏ ݁݉ݎ݋݂ ݈ܽ ݏݑ݋ݏ ݐݎ݋݌ݏ݊ܽݎܶ ݁݀ ݁݉݉ܽݎ݃݋ݎܲ ݁ܮ‬ሺ‫ܨ‬. ܵ. ሻ
Phase1 : recherche d’une solution de base (S.B.) initiale
1) Le critère du Coin Nord Ouest
1 2 3 4 5 1 2 3 4 5
1 10 3 20 5 5 1 9 10 9 6 1 1 3 5 1 9
2 2 10 8 3 30 1 6 4 1 2 3 1 4
3 1 20 7 10 5 4 3 8 3 5 3 8
3 5 4 6 3 3 5 4 6 3
3

44
Solution de Base (S.B.) courante

‫ݔ‬ଵଵ = 3 ; ‫ݔ‬ଵଶ = 5 ; ‫ݔ‬ଵଷ = 1 ; ‫ݔ‬ଶଷ = 3 ; ‫ݔ‬ଶସ = 1 ; ‫ݔ‬ଷସ = 5 ݁‫ݔ ݐ‬ଷହ = 3


Nombre de ܸ. ‫ = ܤ‬7 = ݉ + ݊ − 1 → 3 + 5 − 1 = 7
∙ Si le nombre de val de baseሺܸ. ‫ܤ‬ሻ = ݉ + ݊ − 1 alors la S.B est non dégénérée
∙ Si nombre ܸ. ‫ ݉ < ܤ‬+ ݊ − 1 → S.B est dégénérée ( 2௜è௠௘ espèce) c'est-à-dire au
moins une V.B = 0
‫ܶܥ‬ை = ෍ ෍ ‫ܥ‬௜௝ ‫ݔ‬௜௝
௫௜௝ఢ௏.஻
= 10ሺ3ሻ + 20ሺ5ሻ + 5ሺ1ሻ + 8ሺ3ሻ + 30ሺ1ሻ + 10ሺ5ሻ + 4ሺ3ሻ
‫ܶܥ‬ை = 251
2) Critère du coût minimal
1 2 3 4 5
1 10 20 5 4 9 5 1O 9 5
2 2 10 4 8 30 6 4
3 1 3 20 1 7 10 1 4 3 8 5 2 1
3 5 4 6 3

ܵ. ‫ܤ‬. : ‫ݔ‬ଵଷ = 4, ‫ݔ‬ଵସ = 5, ‫ݔ‬ଶଶ = 4; ‫ݔ‬ଷଵ = 3, ‫ݔ‬ଷଶ = 1, ‫ݔ‬ଷସ = 1, ‫ݔ‬ଷହ = 3


1 1

‫ܶܥ‬ை = 5ሺ4ሻ + 9ሺ5ሻ + 10ሺ4ሻ + 1ሺ3ሻ + 20ሺ1ሻ + 10ሺ1ሻ + 4ሺ3ሻ


‫ܶܥ‬ை = 150

3) Critère de la différence maximale Instruction : - différence entre plus petites valeurs en


5 4 5 4 4 4 Ligne et en Colonne.
10 20 9 5 10
9
ܵ. ‫ܤ‬: ‫ݔ‬ଵଷ = 4 ; ‫ݔ‬ଵସ = 5 ; ‫ݔ‬ଶଶ = 4 ; ‫ݔ‬ଷଵ = 3
-choisir la plus grande valeur de base

‫ݔ‬ଷଶ = 1 ; ‫ݔ‬ଷସ = 1 ; ‫ݔ‬ଷହ = 3


2 10 4 8 30 6 4 4

‫ܶܥ‬௢ = 5ሺ4ሻ + 9ሺ5ሻ + 10ሺ4ሻ + 1ሺ3ሻ + 20ሺ1ሻ + 10ሺ1ሻ


12
1 3 20 1 7 10 1 4 3
+ 4ሺ3ሻ
85 3 3 3

‫ܶܥ‬ = 150
5 6
1 ௢ étape
3 4 3
1 1 ère
1 10 2 1 2

‫ݐ݂݂݅ܿܽܿ݅݁ ݎܽ݌ ݐ݊݁݉݁ݏݏ݈ܽܥ‬é: ‫ ܥ < ܱܰܥ‬௢û௧ ‫ܯ‬௜௡ ≤ ‫ܦ‬௜௙ ‫ܯ‬௔௫


9 0 2 1 6

Phase 2

‫ܦ‬ଵସ = ‫ܥ‬ଵସ − ‫ܥ‬ଶସ + ‫ܥ‬ଶଷ − ‫ܥ‬ଵଷ = = 9 − 30 + 8 − 5


Tableau 0 [CNO]

= −18 ∗
1 2 3 4 5

‫ܦ‬ଵହ = ‫ܥ‬ଵହ − ‫ܥ‬ଷହ + ‫ܥ‬ଷସ − ‫ܥ‬ଶସ + ‫ܥ‬ଶଷ − ‫ܥ‬ଵଷ


1 10 20 5 9 10
= 10 − 4 + 10 − 30 + 8 − 5 = −11
3 5 1

‫ܦ‬ଶଵ = ‫ܥ‬ଶଵ − ‫ܥ‬ଵଵ + ‫ܥ‬ଵଷ − ‫ܥ‬ଶଷ = 2 − 10 + 5 − 8 = −11


2 2 10 8 30 6
‫ܦ‬ଶଶ = ‫ܥ‬ଶଶ − ‫ܥ‬ଵଶ + ‫ܥ‬ଵଷ − ‫ܥ‬ଶଷ = 10 − 20 + 5 − 8 = −13
3 1

‫ܦ‬ଶହ = 6 − 4 + 10 − 30 = −18 ∗
3 1 20 7 10 4
‫ܦ‬ଷଵ = 1 − 10 + 5 − 8 + 30 − 10 = 8 .
ࡰ૚૝ ࢋ࢚ ࡰ૛૞ ࢖ࢋ࢛࢜ࢋ࢔࢚ ê࢚࢘ࢋ ࢉࢎ࢕࢏࢙࢏
5 3
‫ܦ‬ଷଶ = 20 − 10 + 30 − 8 + 5 − 20 = 17; ‫ܦ‬ଷଷ = 7 − 8 + 30 − 10 = 19
‫݊݅ܯ‬൛‫ܦ‬௜௝ ൟ = ‫ܦ‬ଵସ = ‫ܦ‬ଶହ = −18
ܺଵସ ݁‫ܺ ݐ‬ଶହ ‫݁ݏܾܽ ݈ܽ ݏ݊ܽ݀ ݎ݁ݎݐ݊݁ ܿ݊݋݀ ݐ݊݁ݒݑ݁݌‬. ܰ‫ܿ ݏݑ݋‬ℎ‫ݎݑ݈݈݁݅݁݉ ݈݁ ݏ݊݋ݏݏ݅ݏ݅݋‬
‫ܺܦ‬ଵସ = 1 ⟹ ‫ = ܶܥܦ‬ሺ−18 × 1ሻ = −18
‫ܺܦ‬ଶହ = 1 ⟹ ‫ = ܶܥܦ‬ሺ−18 × 1ሻ = −18 ; ‫ܿ ݊݋‬ℎ‫ܺ ݐ݊݁݉݁ݎ݅ܽݎݐܾ݅ݎܽ ݅ݏ݅݋‬ଵସ

45
‫ܶܥ‬ଵ = ‫ܶܥ‬଴ + ‫ = ܶܥܦ‬251 + ሺ−18ሻ = 233
2ième itération

1 2 3 4 5

1 10 20 5 9 10 ‫ܦ‬ଵହ = 10 − 4 + 10 − 9 = 7 ; ‫ܦ‬ଶଵ = 2 − 10 + 5 − 8 = −11

‫ܦ‬ଶଶ = 10 − 20 + 5 − 8 = −13 ∗ ; ‫ܦ‬ଶସ = 30 − 9 + 5 − 8 = 18


3 5 0 1
2 2 10 8 30 6

‫ܦ‬ଶହ = 6 − 4 + 10 − 9 + 5 − 8 = 0 ; ‫ܦ‬ଷଵ = 1 − 10 + 9 − 10 = −10


4
3 1 20 7 10 4

‫ܦ‬ଷଶ = 20 − 20 + 9 − 10 = −1 ; ‫ܦ‬ଷଷ = 7 − 5 + 9 − 10 = 1
5 3

൛‫ܦ‬௜௝ < 0ൟ = ‫ܦ‬ଶଶ = −13 ⟹ ܺଶଶ ‫݁ݏܾܽ ݈ܽ ݏ݊ܽ݀ ݁ݎݐ݊݁ݎ‬


ெ௜௡
3ième itération ௜௝

‫ܺܦ‬ = ‫݊݅ܯ‬ሼ4; 5ሽ = 4 ; ‫ = ܶܥܦ‬ሺ−13ሻሺ4ሻ = −52


‫ܶܥ‬ଶ = 10ሺ3ሻ + 20 + 5ሺ4ሻ + 9 + 10ሺ4ሻ + 10ሺ5ሻ +
4ሺ3ሻ = 181
1 2 3 4 5

1 10 20 5 9 10

‫ܦ‬ଵହ = 10 − 4 + 10 − 9 = 7 ; ‫ܦ‬ଶଵ = 2 − 10 + 20 − 10 = 2
3 1 4 1

‫ܦ‬ଶଷ = 8 − 5 + 20 − 10 = 13 ; ‫ܦ‬ଶସ = 30 − 9 + 20 − 10 = 31
2 2 10 8 30 6

‫ܦ‬ଶହ = 6 − 4 + 10 − 9 + 20 − 10 = 13 ; ‫ܦ‬ଷଵ = 1 − 10 + 9 − 10 = −10 ∗


4

‫ܦ‬ଷଶ = 20 − 10 + 9 − 20 = −1 ; ‫ܦ‬ଷଷ = 7 − 5 + 9 − 10 = 1
3 1 20 7 10 4

൛‫ܦ‬௜௝ < 0ൟ = ‫ܦ‬ଷଵ = −10 ⟹ ܺଷଵ ‫݁ݏܾܽ ݈ܽ ݏ݊ܽ݀ ݁ݎݐ݊݁ݎ‬


ெ௜௡
5 3
௜௝
‫ܺܦ‬ଷଵ = ‫݊݅ܯ‬ሼ3; 5ሽ = 3 ; ‫ = ܶܥܦ‬ሺ3ሻሺ−10ሻ = −30
‫ܶܥ‬ଷ = 181 − 30 = 151

‫ܦ‬ଵଵ = 10 − 9 + 10 − 1 = 10 ; ‫ܦ‬ଵହ = 10 − 4 + 10 − 9 = 7
4ième itération
‫ܦ‬ଶଵ = 2 − 1 + 10 − 9 + 20 − 10 = 12 ; ‫ܦ‬ଶଷ = 8 − 5 + 20 − 10 = 13
‫ܦ‬ଶସ = 30 − 9 + 20 − 10 = 31 ; ‫ܦ‬ଶହ = 6 − 4 + 10 − 9 + 20 − 10 = 13
‫ܦ‬ଷଶ = 20 − 10 + 9 − 20 = −1 ∗ ; ‫ܦ‬ଷଷ = 7 − 10 + 9 − 5 = 1
10 20 5 9 10
1 4 4
൛‫ܦ‬௜௝ < 0ൟ = ‫ܦ‬ଷଶ = −1 ⟹ ܺଷଶ ‫݁ݏܾܽ ݈ܽ ݏ݊ܽ݀ ݁ݎݐ݊݁ݎ‬
2 10 8 30 6 ெ௜௡
௜௝
‫ܺܦ‬ଷଶ = 1 ; ‫ = ܶܥܦ‬ሺ1ሻሺ−1ሻ = −1
4

‫ܶܥ‬ସ = ‫ܶܥ‬ଷ + ‫ = ܶܥܦ‬151 − 1 = 150


1 20 7 10 4
3 2 3

5ième itération
‫ܦ‬ଵଵ = 10 − 1 + 10 − 9 = 10 ; ‫ܦ‬ଵଶ = 20 − 20 + 10 − 9 = 1
‫ܦ‬ଵହ = 10 − 4 + 10 − 9 = 7 ; ‫ܦ‬ଶଵ = 2 − 1 + 20 − 10 = 11
‫ܦ‬ଶଷ = 8 − 5 + 9 − 10 + 20 − 10 = 12 ; ‫ܦ‬ଶସ = 30 − 10 + 20 − 10 = 30
10 20 5 9 10

‫ܦ‬ଶହ = 6 − 4 + 20 − 10 = 12 ; ‫ܦ‬ଷଷ = 1
4 5

ܶ‫ܦ ݏ݈݁ ݏݑ݋‬௜௝ ≥ 0 ⟹ ݈ܽ ‫݈݁ܽ݉݅ݐ݌݋ ݐݏ݁ ݁ݎݐ݊݁ݎ ݅ݑݍ ݁ݏܾܽ ݁݀ ݊݋݅ݐݑ݈݋ݏ‬


2 10 8 30 6

ܺଵଷ = 4 ; ܺଵସ = 5 ; ܺଶଶ = 4 ; ܺଷଵ = 3 ; ܺଷଶ = 1 ; ܺଷସ = 1 ; ܺଷହ = 3


4
1 20 7 10 4
3 1 1 3

46
II) PROBLEMES D’AFFECTATION
 Généralités
Dans la vie pratique on est amené à affecter des travaux à des machines, des
ouvriers à des tâches, des agents commerciaux à des régions….
Il y a deux entités à considérer :
Les points à effectuer (origines) et les points d’affectation (destinataires)
݉ = nombre de points d’origine
݊ = nombre de points d’affectation
ܱ௜ ; ݅ = 1, 2, … ݉ ; points à affecter (origine)
‫ܦ‬௝ ; ݆ = 1, 2, … ݊ ; points à affecter (destination)
 Paramètres
‫ܥ‬௜௝ : le coût, la pénalité, le profit, la performance de l’affectation de l’origine ܱ௜ à la
destination ‫ܦ‬௝ ; l’affectation doit être bijective ሺ݉ = ݊ሻ
- si ݉ > ݊ alors créer ݉ − ݊ destinations fictives avec des coûts d’affectation
nuls.
- si ݉ < ݊ alors créer ݊ − ݉ origines fictives avec des ‫ܥ‬௜௝ = 0. Pour le point
d’affectation sous la forme standard ݊ = ݉, construction du tableau des coûts
d’affectation.
D1 D2 … Dn
O1 C11 C12 … C1n
O2 C21 C22 … C2n
… … … … …
Om Cm1 Cm2 … Cmn

 Formulation
min(Z )
m n
Z = ∑ ∑C
i =1 j =1
ij = C ij Le problème standard d’affectation
est un problème de minimisation.
∑ x ij = 1; i = 1,2...n max(Z ) = min(−Z )
‫ = ݆݅ܥ‬−݆ܲ݅ ݉ܽ‫ݔ‬
  0;Oi → D j
∑ x ij = 1; j = 1,2...n x ij = 
 1;Oi → D j
x ij ∈ {0,1}

 Affectation interdits
C ij = +∞ ( min ) ; Pij = −∞ ( max )

47
 METHODE DE RESOLUTION
C’est la méthode du Hongrois ou méthode de KHUN.
Exemple de l’affectation de 3 chefs de projet à 3 projets. Les temps d’exécution de
chacun des chefs de projet sont donnés dans le tableau suivant :
P1 P2 P3
A 10 15 9
B 9 14 5
C 6 14 3

Déterminer le programme d’affectation qui minimise le temps total d’exécution

Nombre de solutions possibles (ܰ):ܰ = ݊! = 3! = 6


de l’ensemble des trois projets.

1 2 3 4 5 6
A P1 (10) P1 (10) P2 (15) P2 (15) P3 (9) P3 (9)
B P2 (14) P3 (5) P1 (9) P3 (5) P1 (9) P2 (14)
C P3 (3) P3 (14) P3 (3) P1 (6) P2 (14) P1 (6)
DT 27 29 27 26 32 29

Le programme d’affectation optimale est :


‫ܲ → ܣ‬ଶ : 15 ‫ܲ → ܤ‬ଷ : 5 ‫ܲ → ܥ‬ଵ : 6 ; ‫ܦ‬ᇱ ‫݋‬ù ‫ = ܶܦ‬26
Méthode du Hongrois
P1 P2 P3
A 10 15 9
B 9 14 5
C 6 14 3
Etape 1 : appréciation des zéros
Retrancher le plus petit en colonne du plus grand
4 1 6
3 0 2
0 0 0
Retranchement en ligne
3 0 5
3 0 2
0 0 0
Etape 2 : encadrement des zéros
On encadre un zéro de la ligne ou colonne qui a le plus de zéro et on barre les
autres zéros.
3 0 5
3 0 2
0 0 0

48
Etape 3 : marquage
- On marque d’une (*) toute ligne qui n’a pas de zéro encadré.
- On marque toute colonne qui a un zéro barré sur une ligne marquée par un
astérisque (*)
- On marque toute ligne qui a un zéro encadré par un astérisque (*).
3 0 5 *
3 0 2 *
0 0 0

*
Etape 4 : couverture des zéros
On couvre d’un trait toutes les lignes qui n’ont pas été marquées.
On couvre d’un trait toutes les colonnes qui ont été marquées
3 0 5
3 0 2
0 0 0
n* = 2 (le nombre de traits)
Etape 5 : test de l’optimalité. Si n* < 3 alors l’optimum n’est pas atteint.
Etape 6 : déplacement des zéros
On détermine les éléments qui n’ont pas été barrés et on entoure le plus petit : on
entoure 2.
3 0 5
3 0 2
0 0 0

On retranche 2 des autres éléments non barrés et on conserve tous les


éléments barrés. On ajoute 2 aux éléments qui sont convertis de deux traits.
1 0 3
1 0 0
0 2 0

Etape 2 (2) : encadrement de zéro


1 0 3
1 0 0
0 2 0

49
Etape 3 (2) : marquage
1 0 3
1 0 0
0 2 0
n* < 3 alors l’optimum n’est atteint.
Solution optimale
A→2
B →3
C →1

50

Vous aimerez peut-être aussi