Méthode du Simplexe en Programmation Linéaire
Méthode du Simplexe en Programmation Linéaire
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) :
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.
ݔ ݕ ∗ ∗
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
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
∗ ݕ ݁ଵ ∗
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
4
Tableau 3
∗ ∗ ݁ଵ ݁ଶ
VHB
S. M.
VB
x 1 0 2/5 -1/5 2
y 0 1 -1/5 3/5 3
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
5
4) Problème de maximisation à plus de deux variables
݁ଵ
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 ݁ଶ .
-
∗ ݔଶ ݔଷ ∗ ݁ଶ ∗
V.H.B.
S.M.
݁ଵ
V.B.
ݔଵ
0 -3 -6 1 -3 0 1
݁ଷ
1 1 2 0 1 0 1
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é
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
≥ ݑ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
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
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
3 ݑ+ = ݒ270
A l’optimum du dual, les premières et les deuxièmes contraintes sont donc saturées,
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.
notées : ݔଵ ; ݔଶ ݁ݔ ݐଷ avec ݔଵ ≥ 0; ݔଶ ≥ 0 ݁ݔ ݐଷ ≥ 0
Comme il y a 3 contraintes, il y a 3 variables réelles dans le programme Dual
10
3) Solution optimale du primal ሺܲሻ
2) Résolution voir chapitre II, illustration B
c'est-à-dire ݁ଵ = 1 ≠ 0)
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.
ܲ × ݐ% ܲ. ݐ
alors le coût de stockage par jour et par unité de matière vérifie :
12
Le coût lié au lancement d’une commande appelée aussi coût de passation
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
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 :
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 :
Notons
ܳ
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
ܳ 3000
Le coût total de possession est donc :
ܻ = 1 080 000
ொ
ܦ ܳ
ܻ = ܥ × + ܥௌ × × ߠ
ܳ 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ܥ ܦ
ܳா = ඨ
ܥ௦ . ߠ
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 ;
-
ܦ ܦ ܳ
Le coût global annuel de gestion peut aussi être exprimé de la façon suivante.
ܲ ܳா
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 − ඥߩ .
ா
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
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 :
ܦ ܳ
REMARQUE
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 :
A U1 B U3 D U5 E
U8 U7 U6
F
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 :
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
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
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.
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 :
31
Chapitre V : LES PROBLEMES D’ORDONNANCEMENT
(LA METHODE DES POTENTIELS)
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 ݕ.
- 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
ݔ /
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.
ݔ /
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 ܦ ܩ
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 ܦ ܩ
ݔ
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.
ܰܫܨ
17 17 Exemple : On note
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
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
- 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.
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
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.
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
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
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
⟹ ⟹ clients
Origine : Centres de production, usines
Destination : Entrepôt centre de distribution
Fonction-objectif : Coût Total de transport (CT)
a) Offres :
ݔ ≤ ܱ ; ݅ = 1,2, … … ݉
ୀଵ
b) Demandes :
ݔ ≥ ݀ ; ݆ = 1,2, … … ݊
ୀଵ
Formulation standard de problème de transport
ܵ݅ ܱ > ݀
ୀଵ ୀଵ
⟹ ݎܥéܽ݀ ݊݅ݐᇱ ݀ ݏݑ݈ݎݑݏ ݈݁ ݎܾ݁ݎݏܾܽ ݎݑ ݁ݒ݅ݐ݂ܿ݅ ݊݅ݐܽ݊݅ݐݏ݁݀ ݁݊ݑᇱ ݁ݎ݂݂.
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 :
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
ܶܥ = 150
5 6
1 étape
3 4 3
1 1 ère
1 10 2 1 2
Phase 2
= −18 ∗
1 2 3 4 5
ܦଶହ = 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
ܦଷଶ = 20 − 20 + 9 − 10 = −1 ; ܦଷଷ = 7 − 5 + 9 − 10 = 1
5 3
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
ܦଷଶ = 20 − 10 + 9 − 20 = −1 ; ܦଷଷ = 7 − 5 + 9 − 10 = 1
3 1 20 7 10 4
ܦଵଵ = 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
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
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
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
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
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