Académique Documents
Professionnel Documents
Culture Documents
UNIVERSITE DE DOUALA
Dr ETGARD MANGA
OBJECTIF
- La formulation générale,
- Les méthodes de résolution (méthodes graphique et méthode du simplexe),
- La dualité en programmation linéaire,
- L’analyse post-optimale (analyse de sensibilité).
4- La théorie de la décision
BIBLIOGRAPHIE
3-Yves Norbert, Roch Ouellet, Régis Parent, La recherche opérationnelle, éditeur Gaëtan
morin, Montréal-Paris-Casablanca, 3è édition, 2002.
5- Philippe Vallin et Daniel Vanderpooten, Aide à la décision, une approche par les cas,
Ellipses, 2è édition, 2002.
La recherche opérationnelle (RO) est une science qui, après avoir pris son nom et son
essor au cours de la seconde guerre mondiale, joue maintenant un rôle prépondérant dans les
sociétés postindustrielles. En effet, tout choix rationnel de gestion, toute décision dans
l’entreprise, se fondent sur une analyse des données existantes ou prévisionnelles.
A l’instar de l’opérateur qui prend un pied à coulisses pour vérifier la justesse de ses
usinages, le décideur dispose aussi de ses propres instruments pour lui permettre de prendre la
meilleure décision possible. Il peut ainsi trouver dans les mathématiques les outils appropriés
dont il a besoin pour résoudre les problèmes de gestion qui lui sont posés.
- l'avènement des ordinateurs à partir des années 50 qui a permis l'accès à des problèmes de
plus grande taille et l'affinement des techniques de résolution (même si d'aucuns considèrent
que ce mouvement a été à la source d'un affaiblissement théorique).
Les tâches à mener à bien pour résoudre un problème de gestion grâce aux techniques de
recherche opérationnelle sont (7):
I- Définition
La Programmation Linéaire (PL) est une méthode scientifique utilisée pour résoudre
les problèmes d'organisation. À ce titre, elle débute par une observation rigoureuse de la
situation de manière à identifier clairement le problème, les données ainsi que les relations
entre les différentes entités. Cette étape nécessite un important dialogue avec les responsables
et les différents experts. Elle permet également de fixer les objectifs et limites de l'étude.
La formalisation mathématique d’un programme est une étape délicate mais essentielle
car elle conditionne la découverte ultérieure de la bonne solution. Qu’il s’agisse d’un
programme linéaire ou non linéaire, elle requiert les mêmes phases :
- La formulation des contraintes. L’absence de liberté d’action impose des limites à ne pas
enfreindre se traduisant par des équations ou des inéquations mathématiques.
f est une fonction économique qui mesure le degré de satisfaction qui peut être une fonction
de recette ou une fonction de coût. Les gi expriment la façon formelle des contraintes du
problème.
Les conditions de linéarité que doit remplir un modèle pour qu’il soit déclaré linéaire
découlent de la forme du modèle :
- La fonction-objectif et les membres gauches des contraintes s’écrivent comme des sommes
dont chaque terme est un produit d’une constante et d’une variable ;
- On suppose connus avec certitude et invariables tous les paramètres qui apparaissent dans le
modèle.
n
Max (Min) Z = c
j 1
j xj SC
a 11 x 1 + a 12 x 2 + … + a 1n x n ≤, =, ≥ b 1
a 21 x 1 + a 22 x 2 + … + a 2 n x n ≤, =, ≥ b 2
a i1 x 1 + a i 2 x 2 +…+a ij x j +…+ a in x n ≤, =, ≥ b i
a m1 x 1 + a m 2 x 2 + … +a mn x n n ≤, =, ≥ b m
1- Exemple de formalisation
Considérons une entreprise qui fabrique les écrous et qui passe par trois opérations
principales : - couper une barre hexagonale ; - percer un trou ; - réaliser le filetage des trous.
L’entreprise fabrique deux types d’écrous et dispose des équipements suivants : deux
machines à couper, quatre machines à percer et dix-sept machines à filer. La durée de travail
est de 8heures dans l’entreprise. Le temps (en seconde) de production et les profits unitaires
de chaque écrou sont donnés dans le tableau suivant :
Combien d’écrous de chaque type l’entreprise devra-t-elle produire pour maximiser son
profit ?
Formalisation
* Définition des variables : On a deux variables x et y pour matérialiser les quantités des types
d’écrous à produire avec x et y ≥ 0 ;
* Disponibilités en temps :
Il s’agit de considérer un repère orthonormé dont les axes correspondent aux variables
en présence (x1 et x2). Tout point du plan ainsi structuré représente une combinaison (x1, x2)
qui pourrait éventuellement constituer une solution du problème posé. Mais certaines
combinaisons doivent être éliminées dans la mesure où elles ne satisfont pas les conditions
imposées par les contraintes. L’ensemble des points qui n’ont pas été éliminés après la prise
en considération de toutes les contraintes constitue l’ensemble des points admissibles et est
très souvent appelé région admissible. Cet ensemble est parfois vide.
a- Application
Considérons le programme ci-dessus :
Max Z = 30x + 40y
SC 2x + 2y ≤ 57600 (D1)
5x + 3y ≤ 115200 (D2)
10x + 20y ≤ 489600 (D3)
x, y ≥ 0
Posons (D1) : 2x + 2y = 57600 ► (28800, 0) et (0, 28800)
(D2) : 5x + 3y = 115200 ► (23040, 0) et (0, 38400)
(D3) : 10x + 20y = 489600 ► (48960, 0) et (0, 24480)
Représentation graphique :
38400
28800
24480 A
B
C
D
0 23040 28800 48960 x
(D2) (D1) (D3)
1- Principes Généraux
La méthode du simplexe repose sur le théorème fondamental suivant :
* Si un programme linéaire admet une solution possible finie, alors il admet au moins une
solution de base.
* Si ce programme linéaire admet une solution optimale, il admet au moins une solution de
base optimale (ce qui signifie qu’une solution de base au moins est solution optimale).
La solution optimale étant une solution de base, l’algorithme du simplexe consiste à :
a- Déterminer une solution de base ;
b- Faire subir un test d’optimalité à cette solution de base pour déterminer s’il s’agit ou non
de la solution optimale :
- s’il s’agit de la solution optimale, la résolution du problème est terminée,
- s’il ne s’agit pas de la solution optimale, il faut :
c- Changer de solution de base puis reprendre la procédure au a- jusqu’à l’obtention de la
solution optimale. Chaque changement de solution de base constitue une itération.
a- Contrainte inactive
Soit la contrainte x1 ≤ 100. S’il faut x = 70 pour réaliser la production désirée, on peut
dire que notre contrainte est inactive. Soit S i la variable d’écart, S i = 100-70= 30. C’est la
quantité qu’il faut augmenter à celle utilisée pour atteindre la limite de la contrainte sur cette
quantité. On a en général
n
a
i 1
ij xj + Si = bi avec S i 0
Aussi s’il est question de réduire la quantité pour atteindre la limite de la contrainte, on
soustrait l’écart pour avoir l’égalité :
n
a
i 1
ij xj - Si = bi avec S i 0
b- Contrainte active
n
Dans ce cas nous avons S i = 0 soit a i 1
ij xj = bi
Forme standard : x1 + x 2 - S1 = 6
x 1 + 2x 2 + S 2 = 18
2x 1 - 5x 2 + S 3 = 20
Forme matricielle: x1 x 2 S1 S2 S3 bi
1 1 -1 0 0 6
1 2 0 1 0 = 18
2 -5 0 0 1 20
La variable d’écart n’a aucune influence sur la fonction économique ou objectif (sa
contribution y est nulle).
Si Z = x 1 + x 2 , on a Z = x 1 + x 2 + 0S 1 + 0S 2 + 0S 3
x1 x 2 S1 A S2 S3
1 1 -1 1 0 0 6
1 2 0 0 1 0 = 18
2 -5 0 0 0 1 20
Les variables A, S 2 et S 3 forment la base alors que x 1 , x 2 et S 1 sont des variables hors base.
Au niveau de la fonction économique, le coefficient de la variable artificielle doit être
tel que celle-ci sorte rapidement de la base. Ainsi si nous maximisons, la variable artificielle
doit avoir un coefficient tel que si elle restait dans la base, on n’aurait pas eu une valeur très
grande. On lui attribue donc un coefficient arbitrairement grand et négatif (- M). Si par contre
on minimise, le coefficient de A doit être arbitrairement grand mais positif (+ M).
Si après ce travail la base canonique n’est pas complète, cela voudrait dire qu’au départ on
avait déjà les contraintes d’égalité. Dans ce cas, on ajoute une variable artificielle pour chaque
contrainte.
En résumé :
Une fois la forme standard obtenue, on écrit le problème sous forme de tableau du simplexe :
Cj valeurs de Cj
Base noms des variables (Xj, Si, Ai) Valeurs
Liste des
variables bi
de base
Zj Z*
Cj - Zj
-2 x 1 + x 2 + S1 =4
3 x 1 + 4x 2 - S2 + A2 =2
5 x 1 + 9x 2 + A3 =8
-2x 1 - x 2 + S4 =3
+3 x 1 + x 2 - S5 + A5 = 2
Cj 1 1 0 0 -M -M 0 0 -M
Base x1 x2 S1 S2 A2 A3 S4 S5 A5 Valeurs
0 S1 -2 1 1 0 0 0 0 0 0 4
-M A2 3 4 0 -1 1 0 0 0 0 2
-M A3 5 9 0 0 0 1 0 0 0 8
0 S4 -2 -1 0 0 0 0 1 0 0 3
-M A5 3 1 0 0 0 0 0 -1 1 2
Zj -11M -14M 0 M -M -M 0 M -M -12M
Cj-Zj 1+11M 1+14M 0 -M 0 0 0 -M 0
NB: Les Cj-Zj des variables de base sont toujours nuls et les variables de base sont reconnues
dans le tableau parce qu’elles correspondent aux colonnes de la base canonique.
Si la solution de base obtenue n’est pas optimale, on doit chercher une solution qui donne une
valeur de Z plus satisfaisante. Pour cela il faut passer par le test ou critère d’optimalité
4- Test d’optimalité
Il a pour but de permettre, au terme d’un tableau du simplexe, de savoir que le tableau
est optimal et que nous pouvons ressortir la solution optimale. Son application dépend de
l’objectif de maximisation ou de minimisation.
Exemple 2:
Max Z = 8 x 1 + 6x 2 SC 4 x 1 + 2x 2 ≤ 60
2 x 1 + 4x 2 ≤ 48
x 1 ≥ 0, x 2 ≥ 0
Forme standard :
4x 1 + 2x 2 + S1 = 60
2x 1 + 4x 2 + S2 = 48
Premier tableau :
Cj 8 6 0 0
Base x1 x2 S1 S2 Valeurs Ratios
0 S1 4 2 1 0 60 60/4 =15
0 S2 2 4 0 1 48 48/2 = 24
Zj 0 0 0 0 0
Cj – Zj 8 6 0 0
Cj 8 6 0 0
Base x1 x2 S1 S2 Valeurs Ratios
8 x1 1 1/2 1/4 0 15 30
0 S2 0 3 -1/2 1 18 6
Zj 8 4 2 0 120
Cj – Zj 0 2 -2 0
La nouvelle solution est x 1 = 15, S2= 18, S1=x 2 = 0 et Z = 120.
Cette solution n’est pas encore optimale car on a encore un Cj – Zj > 0. Aussi
x 2 entre en base et S2 en sort : L’’2 = 1/3L’2 et L’’1 =L’1 + λL’’2 soit 1/2 + λ =0
d’où λ = -1/2 soit L’’1 =L’1 -1/2L’’2
Cj 8 6 0 0
Base x1 x2 S1 S2 valeurs
8 x1 1 0 1/3 -1/6 12
6 x2 0 1 -1/6 1/3 6
Zj 8 6 5/3 2/3 132
Cj - Zj 0 0 -5/3 -2/3
Exemple 3:
Min Z = 3x 1 + 8x 2
x 1 ≤ 800
x 2 ≥ 600
x 1 + x 2 ≥ 2000
x 1 + x 2 ≤ 2000
x 1 ≥ 0, x 2 ≥ 0
Forme standard :
Z = 3x 1 + 8x 2 + MA2 + MA3
x 1 + S1 = 800
x 2 - S2 + A2 = 600
x 1 + x 2 - S3 +A3 = 2000
x 1 + x 2 + S4 = 2000
Tableau 1 :
Cj 3 8 0 0 M 0 M 0
BS x1 x2 S1 S2 A2 S3 A3 S4 Val. Ratios
0 S1 1 0 1 0 0 0 0 0 800 -
M A2 0 1 0 -1 1 0 0 0 600 600
M A3 1 1 0 0 0 -1 1 0 2000 2000
0 S4 1 1 0 0 0 0 0 1 2000 2000
Zj M 2M 0 -M M -M M 0 2600M
Cj – Zj 3-M 8- 0 M 0 M 0 0
2M
La valeur Z = 2600M est très grande et loin de ce qu’on cherche à minimiser :
la solution n’est donc pas optimale.
La variable qui entre dans la base correspond au Cj – Zj négatif mais plus élevé
en valeur absolue. Dans ce cas c’est x 2 . Celle qui sort de la base est donnée par min
(800/0, 600/1, 2000/1), soit 600 et donc A2.
Remarque : La recherche de la variable qui sort de la base peut conduire à trois cas de
figures des ratios (positifs, négatifs, positifs et négatifs). Si tous les ratios ont un même
signe, on prend la variable dont le ratio est le plus petit ; si certains sont de signes
positifs et d’autres de signes négatifs, on prend la variable dont le ratio est le plus petit
positif.
Tous les Cj-Zj sont positifs ou nuls, la solution est par conséquent optimale :
x 1 = 800, x 2 = 1200, S2 = 600, S1= A2= A3= 0 et Z = 12000.
D’une manière générale, le passage d’un tableau au tableau suivant s’opère en
appliquant les étapes suivantes :
a- Déterminer en colonne la variable qui doit entrer dans la base.
b- Déterminer en ligne la nouvelle variable qui doit sortir de la base.
c- A l’intersection de cette ligne et de cette colonne figure l’élément pivot de la
transformation.
d- Modifier la colonne des variables de base et celle des coefficients de ces variables.
e- Modifier les éléments de la matrice des coefficients des variables dans les contraintes en
réalisant les opérations suivantes :
- diviser les éléments de la ligne du pivot par la valeur du pivot ;
- affecter à chaque variable en base un vecteur colonne unité ;
- appliquer la « règle du rectangle » aux coefficients des variables hors base
n’appartenant pas à la ligne du pivot (c’est simplement la règle qui permet à partir des
transformations des lignes d’obtenir sur la base du pivot la matrice unité pour les variables qui
sont dans la base i.e. comment modifier une ligne à partir de celle du pivot).
f- La colonne des seconds membres des contraintes (valeurs) est modifiée en appliquant la
« règle du rectangle ».
g- Effectuer les calculs correspondant aux lignes Zj et Cj-Zj.
Toutes ces étapes sont reprises jusqu’à l’obtention de la solution optimale.
Remarque : Si un problème est du type Min Z, il équivaut à Max – Z et s’il est du type Max
Z, il équivaut à Min –Z.
b- On peut avoir un problème sans solution ; C’est le cas par exemple où nous avons les
contraintes conflictuelles :
x 1 +x 2 ≥ 100
x 1 +x 2 ≤ 10
f- Cas des variables bornées : Si dans un programme linéaire, certaines variables sont
bornées, on procède à un changement de variable.
Si xj ≥ λ on pose Xj = xj – λ d’où xj = Xj + λ
g- Cas d’une variable libre : Une variable est dite libre quand elle n’est pas sujette à la
contrainte de non négativité ie qu’elle peut prendre une valeur réelle quelconque. On substitue
cette variable à deux contraintes Xi’ et Xi’’≥ 0 et on écrit Xi = Xi’- Xi’’. On remplace partout
dans le programme Xi par Xi’- Xi’’. Il s’agit des colonnes qui seront identiques à un signe
près. La conséquence est que ces deux variables ne peuvent pas être dans la base au même
moment. Si l’une est dans la base, l’autre est hors base et dans la solution optimale, l’une au
plus de ces deux variables sera non nulle.
V- Analyse de la solution
L’algorithme du simplexe livre une solution optimale mais il reste au décideur
d’établir le lien entre les résultats abstraits contenus dans les tableaux de calculs et la réalité
de l’entreprise. D’où la nécessité d’interpréter économiquement la solution pour servir de base
à l’action (analyse économique de l’optimum : interprétation et dualité).
De plus, la solution optimale découle d’un ensemble de données initiales (coefficients
techniques de production, ressources disponibles, coûts, prix de vente…) souvent entachées
d’erreurs et d’incertitudes. Il peut donc être indispensable de déterminer dans quelle mesure la
solution optimale peut néanmoins être retenue (analyse de la sensibilité).
2- La dualité
A tout programme linéaire dénommé primal, il est possible d’associer un programme
linéaire dit dual dont tous les éléments sont dérivés du programme primal. En effet, s’il existe
un vecteur solution X tel que
Lorsque le primal livre une solution en terme de quantités (si les Xi correspondent aux
quantités), le programme dual associé fournit une solution dont l’interprétation doit
s’effectuer en termes de valeurs unitaires. Concrètement, la construction du programme dual
s’opère en effectuant les associations suivantes :
- à chaque contrainte primale correspond une variable duale réelle ;
- à chaque variable primale réelle correspond une contrainte duale ;
- la matrice des coefficients des variables dans les contraintes du dual [A] T est la
matrice transposée des coefficients des variables dans le programme primal (A) ;
- les seconds membres des contraintes du dual sont les coefficients économiques des
variables primales ;
- aux contraintes de type ≤ correspondent les contraintes de type ≥ et réciproquement ;
- les coefficients économiques des variables duales sont les valeurs figurant au second
membre des contraintes primales ;
- le sens de l’optimisation est l’inverse du primal.
x 2 ≥ 600
x 1 + x 2 = 2000
x 1 ≥ 0, x 2 ≥ 0
-1 0
0 1
matrice associée [A] : A= 1 1
-1 -1
Le programme dual associé est donné sur la base de la matrice A précédente. En effet,
la matrice transposée de la matrice est définie par :
-1 0 1 -1
0 1 1 -1
Pour déduire le tableau optimal du dual ou vice versa, il est important voire
indispensable de faire une bonne correspondance des variables. On part des colonnes
des variables qui étaient hors base (variables d’écart) et qui deviennent des variables
de base pour remplir la matrice des coefficients du tableau optimal du dual. En effet, il
suffit de se rendre compte que les variables initiales (xi) deviennent des variables
d’écart et que les variables d’écart deviennent des variables initiales (yi). Les colonnes
des variables hors base deviennent donc les lignes des variables de base à un signe
près tout en respectant la correspondance des variables et en sachant que la valeur du
pivot est toujours de 1.
En résumé on aura :
Primal Dual
Minimisation Maximisation
∆Z*=Cj-Zj Statuts ∆Z*=Cj- Statuts
Zj
Z* = 12000 Z* = 12000
x 1 = 800 0 BS (base) S’1= 0 -800 HB(hors base)
x 2 = 1200 0 BS S’2= 0 -1200 HB
S1 = 0 5 HB Y1 = 5 0 BS
S2 = 600 0 BS Y2 = 0 -600 HB
S3 = 0 8 HB Y3 = 8 0 BS
S4 = 0 0 BS Y4 = 0 0 HB
Compte tenu des propriétés mathématiques existant entre programmes primal et dual,
les caractéristiques de la solution duale optimale dérivent de la solution primale optimale.
Aussi :
* la valeur optimale de la fonction économique duale Z’ est identique à la valeur optimale de
la fonction économique primale Z.
* les variables duales doivent être interprétées comme les coûts marginaux ou valeurs
marginales unitaires. Donc :
-Si une contrainte primale n’est pas saturée à l’optimum, le coût marginal de cette
contrainte est nul et la variable duale correspondante prend une valeur nulle à l’optimum.
-Si une contrainte primale est saturée à l’optimum, le coût marginal de cette contrainte
est positif ou nul. La variable duale correspondante prend, à l’optimum, exactement la même
valeur.
Ceci peut s’exprimer à travers les relations d’exclusion. Yi est la variable duale
associée à la iième contrainte primale qui s’écrit sous la forme implicite
a
j
ij X j - b i ≤ 0, i = 1, 2, …, m.
a Y
i
ij j - c j ≥ 0, j = 1, 2, …, n.
Compte tenu des relations entre les variables d’un problème et les contraintes du
problème dual, nous avons :
a ij X j bi Y i = 0 et a Y ij i cj X j = 0
i j j i
Finalement, le tableau dual optimal peut être intégralement déduit du tableau primal
optimal. En outre, les propriétés de la dualité sont réciproques : le programme dual associé au
dual n’est autre que le programme primal.
L’intérêt de la dualité est donc double :
- d’une part la recherche explicite d’une information sur les quantités (maximales)
conduit inévitablement à déterminer implicitement les coûts (minimaux) associés.
- D’autre part, il est indifférent de rechercher explicitement soit les quantités optimales
soit les coûts optimaux. Donc il est possible de traiter (par la méthode du simplexe)
soit le primal, soit le dual selon que l’un semble plus rapide à résoudre que l’autre.
Exemple 2 :
La société SOFAVIN S.A., qui pratique le négoce en vins propose à sa clientèle deux
vins de table : l’un dénommé « Extra », l’autre « Supérieur ». Ces produits sont obtenus par
coupage de crus issus de diverses régions : un vin de l’Hérault, un vin du Bordelais et un vin
d’Italie. Les coupages sont réalisés selon les proportions fixes suivantes :
Actuellement, c’est-à-dire après les vendanges, la société dispose en stock dans ses cuves des
quantités suivantes de crus d’origine : Vin de l’Hérault 13600 hectolitres, Vin du Bordelais
12000 hectolitres et Vin d’Italie 10400 hectolitres.
Ces quantités constituent les ressources disponibles pour la production de l’année à venir. En
outre, compte tenu des capacités techniques d’embouteillages existantes, cette production ne
peut dépasser 36000 hectolitres au total dans l’année.
L’activité de cette entreprise comporte des coûts qui ont été classés en deux catégories :
-Une partie est considérée comme fixe ; elle correspond aux approvisionnements, puisque
ceux-ci sont déjà constitués, ainsi qu’aux frais de personnel. Ces coûts s’élèvent globalement
à 12 000 000 F pour l’année.
-L’autre partie correspond aux frais d’embouteillage, d’emballage et de commercialisation.
Cette seconde partie est proportionnelle aux quantités produites : soit 100 F par hectolitre de
vin quelle que soit la qualité de celui-ci.
Une étude de marché révèle que celui-ci ne saurait absorber plus de 20 000 hectolitres de vin
« Extra » à 500 F par hectolitre et 16 000 hectolitres de vin « Supérieur » à 600 F l’hectolitre.
1- Donner une formulation de la fonction économique
2- Donner une formulation des contraintes
3- Formuler le programme linéaire correspondant
4- Donner le programme dual associé.
ELEMENTS DE REPONSES :
1- Si x1 et x2 représentent respectivement les vins extra et supérieur, on a : (0,5pt)
= Recettes totales – Coûts totaux
= (500x 1 + 600x 2 ) – (100x 1 + 100x 2 + 12000000) = 400x 1 + 500x 2 – 12000.000
2- Formulation des contraintes
EXERCICE :
On donne le programme linéaire :
Max Z = 4x1 + 3x2 – x3 + 2x4 + 6x5 3x1 + x3 – x5 = 3
S.C. x1 + x2 – 3x4 = –12
x2 + x3 + x5 = 4
x1, x2, x3, x4, x5 0
SOLUTION :
Il faut au préalable transformer la deuxième contrainte, soit – x1 – x2 + 3x4 = 12
En introduisant les variables artificielles A1, A2 et A3, on aura le système standard suivant :
3x1 + x3 – x5 + A1 =3
– x1 – x2 + 3x4 + A2 = 12
x2 + x3 + x5 + A3 = 4
Les variables A1, A2 et A3 sont des variables de base alors que les variables x1, x2, x3, x4 et x5
sont des variables hors base. Sachant que la fonction économique devient Z = 4x1 + 3x2 – x3 +
2x4 + 6x5 – MA1 – MA2 – MA3, on aura :
Cj 4 3 -1 2 6 –M –M –M
BASE x1 x2 x3 x4 x5 A1 A2 A3 Valeurs Ratios
– A1 3 0 1 0 -1 1 0 0 3
M
– A2 -1 -1 0 3 0 0 1 0 12 4
M
– A3 0 1 1 0 1 0 0 1 4
M
Zj -2M 0 -2M -3M 0 -M -M -M -19M
Cj – Zj 4+2M 3 -1+2M 2+3M 6 0 0 0
- A1 3 0 1 0 -1 1 0 0 3 1
M
2 x4 -1/3 -1/3 0 1 0 0 1/3 0 4 -12
- A3 0 1 1 0 1 0 0 1 4
M
Zj -2/3-3M -2/3-M -2M 2 0 -M 2/3 -M 8-7M
Cj – Zj 14/3+3M 11/3+M -1+2M 0 6 0 -M 0
-2/3
4 x1 1 0 1/3 0 -1/3 1/3 0 0 1 -3
2 x4 0 -1/3 1/9 1 -1/9 1/9 1/3 0 13/3 -39
- A3 0 1 1 0 1 0 0 1 4 4
M
Zj 4 -2/9-M 14/9-M 2 -14/9- 14/9 -M -M
M
Cj – Zj 0 29/9+M -23/9+M 0 68/9+M -M-14/9 0 0 38/3-
4M
4 x1 1 1/3 2/3 0 0 1/3 0 1/3 7/3
2 x4 0 -2/9 2/9 1 0 1/9 1/3 1/9 43/9
6 x5 0 1 1 0 1 0 0 1 4
Zj 4 62/9 82/9 2 6 14/9 2/3
Cj – Zj 0 -35/9 -91/9 0 0 -M-14/9 -M -M-68/9 386/9
-2/3
On peut constater que toutes les contributions marginales sont négatives ou nulles et
que ce tableau est optimal. La solution optimale est alors donnée par x1 = 7/3, x4 = 43/9,
x5 = 4, x2 = x3 = A1 = A2 = A3 = 0 et Z* = 386/9.
La solution de base associée à ce tableau est optimale pour Z’ si seulement si, sur la
ligne additionnelle (∆Z’), les coûts marginaux des variables hors base sont tous
négatifs ou nuls.
Aussi pour S1 : C’j - Z’j = Cj – Z’j = Cj – (Zj + 0,1875∆)
= (Cj – Zj) – 0,1875∆
= -(37,5 + 0,1875∆)
Ce résultat est obtenu en faisant la somme des produits terme à terme des colonnes de
S1 et des coefficients des variables de base compte tenu de la variation ∆ de x 1 . Le
terme supplémentaire est donc -0,1875∆.
Pour S2 : C’j – Z’j = (Cj – Zj) + 0,1250∆ = -(175 – 0,1250∆)
La solution de base associée à ce tableau est donc solution optimale si et seulement si :
-(37,5 + 0,1875∆) ≤ 0 et
-(175 – 0,1250∆) ≤ 0
Cj 1000 1200 0 0 0 0
base x1 x2 S1 S2 S3 S4 valeurs ∆
0 S1 8 4 1 0 0 0 160 1
0 S2 4 6 0 1 0 0 120 0
0 S3 1 0 0 0 1 0 34 0
0 S4 0 1 0 0 0 1 14 0
Cj – Zj 1000 1200 0 0 0 0 0 0
On observe que, dans la partie centrale du tableau initial, les colonnes associées au
paramètre ∆ et à la variable d’écart S1 sont identiques. Cette propriété sera conservée
d’une itération à une autre (au regard du pivotage, si les éléments d’une ligne sont
égaux, ils resterons égaux après opération de division, d’addition ou de multiplication).
Par conséquent le tableau final sera de la forme suivante :
Cj 1000 1200 0 0 0 0
base x1 x2 S1 S2 S3 S4 Val. ∆
1000 x1 1 0 0,1875 -0,1250 0 O 15 0,1875
1200 x2 0 1 -0,1250 0,2500 0 0 10 -0,1250
0 S3 0 0 -0,1875 0,1250 1 0 19 -0,1875
0 S4 0 0 0,1250 -0,2500 0 1 4 0,1250
∆Z’’ = C’’j- 0 0 -37,5 -175 0 0 27000 +37,5
Z’’j
La solution de base associée à ce tableau sera optimale pourvu qu’elle soit admissible.
Et elle sera admissible pourvu que chacune des quatre variables de base soit positive
ou nulle (non négative) i.e. que les quatre conditions suivantes doivent être vérifiées :
x 1 = 15+ 0,1875∆ ≥0 i.e. ∆ ≥ -15/0,1875 = -80
x 2 = 10 – 0,1250∆ ≥ 0 i.e. ∆ ≤ 10/0,1250 = +80
S3= 19 – 0,1875∆ ≥ 0 i.e. ∆ ≤ 19/0,1875 = 101,33
S4= 4 + 0,1250∆ ≥ 0 i.e. ∆ ≥ -4/0,1250 = -32
La planification fait partie de la vie moderne ; elle se fait spontanément dans les
petites choses, mais pour les projets encore plus complexes il faut un effort justifié.
Dans ce sens, on pense à :
- préciser l’objectif ;
- déterminer les opérations ou les tâches nécessaires pour atteindre cet objectif ;
- estimer la durée de chaque tâche et les ressources exigées par chacune ;
- estimer les risques et prévoir les marges nécessaires pour les pallier ;
- calculer la durée totale et le coût total du projet ;
- dresser un calendrier d’échelonnement des tâches.
L’utilisation de techniques relevant de la théorie des graphes dans la gestion des
projets remonte à la fin des années 50, avec le développement de la méthode MPM
(Méthode des Potentiels Métra développe en France par Bernard Roy en 1958), de la
méthode PERT (Program Evaluation Research Task mise au point en 1958 aux Etats-
Unis pour la construction des fusées polaris) et celui de la méthode CPM (Critical Path
Method ou méthode du chemin critique).
I- Définitions
On appelle Graphe un ensemble d’arcs ou de segments fléchés sur lequel le
sens de la flèche indique la progression du projet ou des tâches. La longueur des
flèches importe peu dans le tracé. Il peut être représenté par une application, par une
matrice ou par le dictionnaire des suivants ou des précédents.
On appelle tâche une activité ou une opération dont l’exécution exige une
durée. Elle est symbolisée par un vecteur fléché dont la longueur est indépendante de
la durée d’exécution. La flèche indique le sens de progression du projet.
Les tâches successives ou en série sont celles qui correspondent aux opérations
d’un processus linéaire. Chacune d’elle ne peut commencer que si la tâche précédente
est terminée. Le code de la tâche est ainsi marqué A pour la première et B pour la
seconde :
A B
1 2 3
Les tâches simultanées sont celles qui ont la même étape initiale et la même
étape finale. Si les étapes A et B sont simultanées, la représentation sera la
suivante (1):
On crée une tâche fictive entre 2 et 3 pour matérialiser cette simultanéité sinon le
réseau est faux.
A 2
1 A
(1) 1 (2) 3
B 3 2 B
Les tâches convergentes sont celles qui ont une étape finale (sommet) commune et les
étapes initiales différentes (2).
Les tâches divergentes sont celles qui ont les mêmes étapes initiales et les
étapes finales différentes.
On appelle chemin toute succession d’arcs adjacents permettant de passer d’une
manière continue d’un sommet à un autre.
On appelle circuit un chemin dont l’origine et l’extrémité sont confondues.
La longueur d’un chemin ou d’un circuit est le nombre d’arcs que comprend
ce chemin ou ce circuit.
Si à tout arc qui constitue un graphe correspond une valeur numérique, le
graphe est dit valué. Cette valeur numérique peut représenter une probabilité, une
distance, un coût…
A B C D E F
A 0 1 0 1 0 1
B 1 0 1 0 0 0
C 0 0 0 1 1 1
D 0 0 0 0 0 0
E 0 0 0 1 0 0
F 0 0 0 0 1 0
Il faut noter qu’on peut déduire du dictionnaire des suivants celui des précédents. Il
suffit de partir de S(x) et de lire partout ou une tâche apparaît la ligne correspondante
au sommet. De même, on peut déduire du dictionnaire des précédents celui des
suivants par la même méthode.
A C F
E D
Exemple : On envoie les marchandises entre les grandes villes. Le tableau suivant
donne les coûts pratiqués par les transporteurs :
Arrivée
A B C D E F G H
A 28 35
B 55 25
C 25 50
Départ
D 20 25 30
E 20
F 15
G 10
H
SOLUTION :
1- Dictionnaire des Précédents
X A B C D E F G H
P(X) B, C - B A, C D, G D A D, E, F
2- Niveaux
N1= {b), N2 = {c), N3 = {a), N4 = {d, g), N5= {e, f), N6 = {h)
50
85 95
a
35 g 10 e
55
b
25 28 20 20
0 25 c 50 d 25 f
25 75 100 15
30
h
105
Tx T*x
Tx A B C D E F G H I J K L M
P(x) - - - A, B B C C E E, F H D I, J G
Durée en 6 10 10 12 4 2 9 5 8 2 10 3 9
semaines
10 10 22 22
12
D K
6
10
0 4
10 17 14 22
A 10 4 5
E H
0 10 19 27 32 32
0 0 0 0
4 J Fi
0 10 19 14 21 3
De 0 B 2 8
F I 22 29
10
0 4 L
C 10 10 14 9 19 23 9
G M
On peut retenir que la réalisation de la tâche G par exemple ne peut commencer avant
10 semaines et doit nécessairement commencer avant 14 semaines.
La durée de réalisation du projet est de 32 semaines
On appelle chemin critique d’un graphe potentiel tout chemin de valeur
maximale situé entre les sommets De et Fi. La valeur d’un chemin critique T Fi = 32
représente le temps minimum nécessaire pour réaliser le projet.
Une tâche située sur un sommet emprunté par un chemin critique est appelé
tâche critique. Tout allongement ou tout retard à l’exécution d’une telle tâche
augmente ou diminue la valeur du chemin critique, dont la durée totale d’exécution du
projet. Pour les tâches critiques, Tx = T*x (les dates de début au plus tôt et au plus tard
sont égales). Ces tâches ne peuvent supporter aucun retard.
Dans notre exemple, le chemin critique est donné par De, B, D, K, Fi ou tout
simplement B, D, K.
B D B D
Des deux représentations suivantes, seule la deuxième traduit la réalité grâce à la tâche
fictive créée (la première est incorrecte).
A B C A B C
3 5 4 (1) 3 5 4 (2)
10
2- Construction du graphe
Chaque sommet du graphe aura la configuration suivante :
C Ex A dA
dC tx t*x B dB
4 D 5
10 10 12 22 22 K
10
A6 0
H 9 J L 11
6 19 27 10
E 5 2 3 32 32
1 3 14 21 22 29
B 4 0
0 0 10 10 10 7 I 8
14 21
10 C F 2 M 9
2
G 8
10 14
9 19 23
Ey A Ex
ty t*y tx t*x
tyx
a- La marge libre
C’est une marge plus restrictive qui ne retarde pas les dates au plus tôt des
tâches suivantes.
Dans la méthode PERT la marge libre de la tâche a est donnée par Ml(a) = tx – ty –
tyx.
Elle représente le délai ou retard maximum que l’on peut apporter à sa mise en route
sans perturber la date de réalisation au plus tôt de l’évènement Ex, l’évènement Ey
ayant lieu à sa date de réalisation au plus tôt. (Voir tableau ci-dessus)
Dans la méthode MPM, on applique la même méthode : Ml(a) = Min[Tb – Ta –da], bε
S(x). Il s’agit de la marge libre de a qui ne doit pas perturber la date de début au plus
tôt de b.
Si Ml(a) = 3, le retard de plus de 3 entraîne une perturbation mais en deçà il n’y
a pas de perturbation.
b- La marge totale
Elle caractérise le retard que l’on peut prendre dans le démarrage d’une tâche sans
retarder les dates de début au plus tard des tâches suivantes. Elle est donnée par :
- Mt = t*x – ty – tyx = t*(a) – t(a) pour la méthode PERT ; (Voir tableau ci-
dessus)
- Mt = T*a – Ta pour la méthode MPM
c- Intervalle de flottement
Il permet d’évaluer l’élasticité d’un programme. Plus cette longueur est réduite
plus un programme est jugé rigide. Cet intervalle a pour longueur la marge totale :
t*(a) – t(a).
Il faut tout de même souligner que les tâches peuvent avoir une durée aléatoire
mais nous n’aborderons pas dans ce cours cet aspect.
de manière à minimiser le temps d’exécution des travaux, on peut partir d’un cas de
figure pour mieux comprendre le mécanisme.
Postes A B C
Travaux
T1 0 1 3
T2 3 4 0
T3 3 3 0
Postes A B C
Travaux
T1 0 0 3
T2 3 3 0
T3 3 2 0
Etape 3 : Couvrir toutes les valeurs nulles du tableau par un minimum de lignes. En
désignant par « l » ce nombre minimum de lignes (l = 2), si l = n (n représentant le
nombre de travaux ou de postes), on passe à l’étape 5. Si l < n, passer à l’étape 4.
Etape 4 : Des valeurs non couvertes, soustraire la plus petite (2) et additionner cette
valeur à celle située sur à l’intersection des lignes qui ont permis de couvrir les zéros
(3). Puis on répète l’étape 3.
Postes A B C
Travaux
T1 0 0 5
T2 1 1 0
T3 1 0 0
Etape 5 : Affecter chaque travail au poste correspondant à une valeur nulle tout en
sachant que deux tâches ne peuvent être affectées à un même travailleur.
On peut dans ce cas conclure que :
Le premier travail T1 doit être affecté au poste A pour une durée de 3 heures ;
Le travail T2 doit être affecté au poste C pour une durée de 4 heures ; enfin
Le travail T3 doit être affecté au poste B pour une durée de 5 heures.
Exemple 2 : Soit une entreprise dont le travail consiste à effectuer cinq opérations A,
B, C, D et E. Compte tenu de sa politique, elle doit signer cinq contrats avec cinq sous-
traitants. Elle vous demande en tant que gestionnaire qualifié de donner une répartition
des contrats qui lui permettrait de minimiser son coût total au regard du tableau
suivant :
Sous-traitants
1 2 3 4 5
A 12 8 6 3 9
B 6 5 14 8 7
C 9 3 8 2 10
D 12 15 8 9 12
E 6 8 2 14 7
1 2 3 4 5
A 9 5 3 0 6
B 1 0 9 3 2
C 7 1 6 0 8
D 4 7 0 1 4
E 4 6 0 12 5
Etape 4 : soustraction du minimum des valeurs non couvertes (1) plus son ajout à
l’intersection et couvrir :
1 2 3 4 5
A 7 4 3 0 3
B 0 0 10 4 0
C 5 0 6 0 5
D 2 6 0 1 1
E 2 5 0 12 2
L = 4 < 5 il faut par conséquent continuer le processus.
Etape 5 : Soustraire le minimum des valeurs non couvertes (1) et l’ajouter aux valeurs
des intersections des lignes couvertes :
1 2 3 4 5
A 6 4 3 0 2
B 0 1 11 5 0
C 4 0 6 0 4
D 1 6 0 1 0
E 1 5 0 12 1
Exemple 3 :
Six comptables sont sur le point de terminer leur formation à la FSEGA de
l’Université de Douala. Ils ont reçu une liste des six postes qui leur sont proposés. Ne
voulant pas s’en remettre à la méthode brutale et barbare du classement pour les
départager, certains postes étant plus alléchants que d’autres pour diverses raisons, ils
établissent une liste où chacun marque ses préférences pour les postes indiqués par une
note de 0 à 20. Les résultats de l’enquête sont consignés sur le tableau suivant :
A B C D E F
I1 4 8 16 20 12 0
I2 16 20 8 0 4 12
I3 0 12 4 16 20 8
I4 4 0 16 12 20 8
I5 12 16 0 8 20 4
I6 20 16 12 0 4 8
1- Etablir les affectations de telle manière que la somme des satisfactions soit
maximale.
2- Calculer la somme des satisfactions
SOLUTION
1- Il s’agit simplement de remarquer que le maximum est 20 et que l’algorithme
consiste à trouver des valeurs nulles sur la base 20 – Xij, Xij étant la valeur situé à
l’intersection de la ligne i et de la colonne j.
Les quatre tableaux à établir sont les suivants :
Opération 20 – Xij (et appliquer l’étape 3 Ou alors reprendre la procédure à l’étape 1)
A B C D E F
I1 16 12 4 0 8 20
I2 4 0 12 20 16 8
I3 20 8 16 4 0 12
I4 16 20 4 8 0 12
I5 8 4 20 12 0 16
I6 0 4 8 20 16 12
l=4
Soustraction Xij – 4 (minimum des valeurs non couvertes)
A B C D E F
I1 16 12 4 0 12 20
I2 4 0 12 20 20 8
I3 16 4 12 0 0 8
I4 12 16 0 4 0 8
I5 4 0 16 8 0 12
I6 0 4 8 20 20 12
l=5
A B C D E F
I1 12 12 0 0 12 16
I2 0 0 8 20 20 4
I3 12 4 12 0 0 4
I4 12 20 0 8 4 8
I5 0 0 12 8 0 8
I6 0 8 8 24 24 12
l = 5 (Xij – 4)
A B C D E F
I1 12 12 0 0 12 12
I2 0 0 8 20 20 0
I3 12 4 12 0 0 0
I4 12 20 0 8 4 4
I5 0 0 12 8 0 4
I6 0 8 8 24 24 8
l=6
Les affectations sont donc les suivantes :
Ingénieur 1 pour D ; satisfaction 20
Ingénieur 2 pour B ; satisfaction 20
Ingénieur 3 pour F ; satisfaction 8
Ingénieur 4 pour C ; satisfaction 16
Ingénieur 5 pour E ; satisfaction 20
Ingénieur 6 pour A ; satisfaction 20
mais leur structure très spécifique permet de recourir à des techniques particulières
beaucoup plus légères.
1-Formulation du primal
Elle sera abordée à travers un cas et les résultats seront généralisés de façon à
pouvoir mettre en évidence les caractéristiques particulières du modèle de transport.
Exemple :
Une société des applications électriques (SAE) possède trois unités de
production où elle fabrique, entre autres, des transformateurs ; elle commercialise ses
produits à travers quatre entrepôts situés dans les principales zones de consommation.
Le tableau 1 indique pour chaque unité Ui la capacité de production de
transformateurs, et pour chaque entrepôt Ej la demande de transformateurs émanant de
la zone de consommation correspondante. Le tableau 2 donne les coûts de transport
unitaires entre chaque usine et chaque entrepôt.
Tableau 1
Capacités de Demandes
production
U1 U1 : 1000 E1 : 700
U2 U2 : 200 E2 : 100
U3 U3 : 400 E3 : 300
E4 : 500
Tableau 2
E1 E2 E3 E4
U1 64 50 77 14
U2 37 20 48 24
U3 25 14 15 48
Si nous appelons xij les quantités transportées entre l’usine Ui et l’entrepôt Ej, le
coût de transport supporté par la SAE s’écrira :
C = 64x11 + 50x12 + 77x13 + 14x14 + 37x21 + 20x22 + 48x23 + 24x24 + 25x31 + 14x32 +
15x33 + 48x34
De même, dans la mesure où la SAE désire vendre le plus possible ; il est nécessaire
d’expédier vers un entrepôt donné ce qu’il a demandé. Soit pour l’entrepôt E 3 par
exemple :
Le problème de la SAE peut ainsi s’exprimer sous la forme d’un programme linéaire
comprenant douze variables (une par trajet possible) et sept contraintes (une par usine
et une par entrepôt). Soit
Min C = 64x11 + 50x12 + 77x13 + 14x14 + 37x21 + 20x22 + 48x23 + 24x24 + 25x31 + 14x32
+ 15x33 + 48x34 SC
x11+ x12 + x13 + x14 = 1000
x21+ x22 + x23 + x24 = 200
x31+ x32 + x33 + x34 = 400
x11 + x21 + x31 = 700
x12 + x22 + x32 = 100
x13+ x23 + x33 = 300
x14 + x24+ x34 = 500
x11, …, x34 ≥ 0
Min C = C
i j
ij X ij avec X
j
ij ≤ Ki i = 1, …, m ; (points-origine)
X
i
ij ≥ Dj j = 1, …, n ; (points-destination)
Xij ≥ 0 i = 1, …, m ; j = 1, …, n.
2-Formulation du duale
Cette formulation mérite d’être étudiée dans la mesure ou elle fournit une
technique de résolution particulièrement intéressante et que l’interprétation
économique de ses résultats est riche d’enseignement.
Relativement aux résultats obtenus au chapitre 1, nous pouvons énoncer les
propositions suivantes :
- à chacune des contraintes primales, nous associons une variable duale : la variable Vi
est associée à la contrainte d’origine i, et la variable duale Wj, à la contrainte
destination j ;
- l’objectif du problème dual est de rendre maximum une fonction linéaire des m
variables Vi et des n variables Wj ;
-les coefficients économiques de la fonction-objectif duale, en ce qui concerne les
variables Vi et Wj, sont respectivement les disponibilités Ki et les demandes Dj du
problème primal ;
- la matrice des coefficients des variables dans les contraintes duales est la transposée
de la matrice utilisée dans le problème primal. Compte tenu de la structure spécifique
de la matrice [A], dans chacune des contraintes du dual n’interviendront que deux
variables. De façon plus précise, dans la contrainte associée à la variable primale Xij,
seules les variables Vi et Wj apparaîtront ;
- la contrainte ij s’exprime ainsi : Vi + Wj ≤ Cij.
L’écriture duale de transport est alors la suivante :
Max R = K V
i
i i + D W
j
j j avec Vi + Wj ≤ Cij, i= 1, …, m et j = 1, …, n.
PROBLEME :
L’entreprise KAMGA, spécialiste de la saucisse de porc, dispose de 4
laboratoires où elle élabore son produit, et de 5 centres de distribution d’où elle
ravitaille sa clientèle. Le marché de saucisse de porc est devenu fort concurrentiel et,
récemment, l’entreprise a vu se resserrer ses marges. Elle a donc entrepris une étude
pour abaisser ses coûts. Les coûts de transport, en particulier, sont rapidement apparus
comme plus élevés que ceux des concurrents. Jusqu’ici, l’horaire quotidien
d’acheminement des produits entre laboratoires et centres de distribution était dressé
par un répartiteur averti armé de son bon sens et de son flair. Chez KAMGA, on pense
qu’il s’agit là du maillon faible de la chaîne de contrôle des coûts de transport et on
veut que le répartiteur adopte une méthode qui mènera à un horaire quotidien optimal.
Les quatre laboratoires fonctionnent 7 jours sur 7. Les viandes qu’on y conditionne
sont livrées aux centres de distribution où s’approvisionnent tous les clients de
KAMGA, du supermarché à la boucherie du quartier. Une carcasse de porc livré le
jour 1 dans un laboratoire réapparaît sous forme de saucisse le jour 3 sur les étals du
rayon de la charcuterie des clients. Chaque centre de distribution enregistre les
commandes de sa clientèle et les communique à la direction de l’entreprise, qui assure
un approvisionnement adéquat. Le transport au tarif kilométrique âprement négocié et
Tableau 1
C1 C2 C3 C4 C5
L1 100 300 250 450 250
L2 50 200 250 450 250
L3 250 100 50 350 300
L4 300 150 200 250 450
Tableau 2
L1 L2 L3 L4
26 24 27 23
Tableau 3
C1 C2 C3 C4 C5
18 20 22 19 21
Il faut remarquer que les saucisses de KAMGA sont expédiées directement des
m origines (m = 4) aux n destinations (n = 5). L’offre est donc égale à la demande (la
somme des expéditions doit donc être égale à celle des réceptions). Dans ce cas, on dit
C1 C2 C3 C4 C5 Si
Le modèle linéaire résultant comporte m+n variables de base. Mais sachant que
l’offre est égale à la demande, on peut retirer la dernière contrainte et déduire sa valeur
à partir de celles des autres. [Exemple : S=100 ; en recevant les quantités de C1, C2, C3
et C4 dont le total est de 79, on peut obtenir celle de C5 soit 100-79 = 21]. De cette
façon, on se convainc que le retrait de l’une ou l’autre des contraintes technologiques
donne un modèle équivalent. Dans ce cas, le modèle linéaire comporte donc m+n-1
contraintes. Par conséquent, une solution de base admissible comporte m+n-1 = 8
variables de base (dont certaines pourraient être égales à 0 dans un cas de
dégénérescence. Il en résulte qu’il n’y aura de saucisse transportées qu’en empruntant
au plus 8 des 20 routes possibles.
C1 C2 C3 C4 C5 Si
Dans ce tableau, on compte 8 cases occupées par un nombre positif. Ce sont les
8 valeurs prises par les 8 variables présentes dans la base de la solution proposée. Il est
facile de vérifier que cette solution est admissible. En effet, la somme des nombres de
chaque ligne i donne Si et la somme des nombres de chaque colonne j donne Dj. Le
coût total de transport correspondant à cette solution est :
grand possible de la case (i, j). A chaque tour, la case prioritaire est à choisir parmi
celles des cases disponibles dont le coût unitaire de transport est minimal. Une case est
dite disponible tant qu’elle n’a pas fait l’objet d’un de ses choix.
Appliquons cette procédure au problème de transport de KAMGA. Les cases
disponibles sont données par (2, 1) et (3, 3) i.e. celles associées au coût unitaire
minimal 100. Nous devons chercher à attribuer tour à tour le nombre le plus grand
possible. Prenons d’abord la case (2, 1)
C1
L2 24
18
On peut lui attribuer plus de 18 tonnes, puisque S étant égal à D, C1 peut recevoir plus
de tonnes qu’il n’en requiert. A la case (3, 3), il est possible d’attribuer un maximum
de 22 tonnes. C’est donc cette dernière case qui sera préférée à la case (2, 1),
puisqu’on peut lui attribuer 4 tonnes de plus. On posera x33 = 22 tonnes. A la suite de
cette attribution, on obtient le tableau de transport suivant :
C1 C2 C3 C4 C5 Si
Puisque 22 tonnes sont expédiées de L3 vers C3, L3 dispose encore de 5 unités (27-22) à
expédier vers d’autres destinations. La demande de C3 est comblée : la colonne C3 sera
dite saturée. On indique l’attribution forcée de 0 aux cases (1, 3), (2, 3), et (4, 3) par
des tirets, dont la présence indique la saturation de la colonne C3. C’est une raison
technique liée à la dégénérescence qui nous fait placer dans chacune de ses cases un
tiret plutôt qu’un 0.
Remarques :
1-Lorsqu’il y a plus d’une case associée au coût unitaire minimal restant, on
retient celle qui admet le plus grand nombre. C’est ce qui nous fait préférer la case (3,
3) à la case (2, 1). Mais on peut constater que les deux cases occupent des positions
indépendantes, en ce sens qu’elles n’appartiennent ni à la même ligne ni à la même
colonne du tableau. Dans ce cas, l’ordre selon lequel des cases indépendantes sont
choisies pour leur attribuer des nombres n’a pas d’effet sur le résultat final.
Ensuite, la case disponible de coût unitaire minimal que l’on retrouve dans une
rangée (ligne ou colonne) non saturée est la case (4, 2). Le nombre maximal à lui
attribuer est x42 = 15. La disponibilité résiduelle en L4 est 8. La demande de C2 est
complètement satisfaite de même que la colonne 2 est saturée.
Les cases disponibles (4, 4), (1, 5) et (2, 5) sont maintenant de coût minimal.
Les plus grands nombres qu’on puisse leur attribuer sont respectivement 8, 21 et 6. La
case (1,5) est donc retenue et l’on pose x15 = 21. De ce fait, la case (2, 5) sera dotée
d’un tiret. Or, si c’était la case (2, 5) qui avait été retenue en posant x 25 = 6, le nombre
20 aurait été attribué à la case (1, 5). Cela montre que l’ordre selon lequel les cases
dépendantes sont retenues influe sur la solution de base à attendre de la procédure CM.
La demande de 4 des 5 centres est comblée. Seul C4, qui n’a encore rien reçu,
reste à pourvoir de 19 tonnes. Comme le total des demandes est égal au total des
disponibilités, la somme des disponibilités résiduelles est bien égale à la demande de
C4 .Les variables x14, x24 et x44 prennent donc sans équivoque les valeurs suivantes :
x14= 5, x24= 6 et x44 = 8.
Le tableau final donnant la solution de base admissible est le suivant :
C1 C2 C3 C4 C5 Si
Le coût associé à cette solution admissibles est de 18x100 + 5x200 + 15x300 + 22x100
+ 5x900 + 6x900 + 8x500 + 21x500 = 33900 FCFA
On peut ainsi constater que la pénalité maximale est associée à la colonne 3 et aux
lignes 1 et 2. Les coûts minimaux correspondants sont 100 dans la case (3,3), 200 dans
la case (1,1) et 100 dans la case (2,1).Par conséquent, seules les cases (2,1) et (3,3)
restent en lice. A la case (2,1) on peut attribuer au plus 18 tonnes ; à la case (3,3) on
peut attribuer au plus 22 tonnes (x33 = 22). La case (3,3) est donc retenue et on obtient
le tableau suivant :
C1 C2 C3 C4 C5 Si
Dans ce tableau, la pénalité maximale est celle de la ligne 3 où (3,2) est la case
disponilble de coût minimal. On peut attribuer à cette case au maximum 5 tonnes (x32
= 5), la disponibilité résiduelle de L3 tombe à 0 et la ligne 3 est saturée. La mise à jour
des pénalités-colonnes donne le tableau suivant :
100 200 0
C1 C2 C3 C4 C5 Si
100 400* 0
C1 C2 C3 C4 C5 Si
L1 200 600 500 900 500
- - - 26 100
La pénalité maximale est de 600 et est associée à la ligne 4, où (4, 2) est la case
disponible de coût unitaire minimal. Le nombre maximal à lui attribuer est 4 tonnes
(x42 = 4). Après la mise à jour des pénalités-colonnes, on obtient le tableau suivant :
100 0
C1 C2 C3 C4 C5 Si
L1 200 600 500 900 500
- - - 26 100
200* 0
C1 C2 C3 C4 C5 Si
L1 200 600 500 900 500
- 5 - - 21 26
Dj 18 20 22 19 21 100
Le coût associé à cette solution est : 600x5 + 500x21 + 100x18 + 400x6 + 200x5 +
100x22 + 300x4 + 500x19 = 31600 FCFA.
Ce coût est inférieur de 2300 au coût de la solution proposée par la méthode des
coûts minimaux. Mais il faut passer par l’algorithme de transport pour affirmer que
cette solution est optimale ou non. Toutefois, notons que cette procédure mène souvent
à une solution dont le coût se s’approche fort de celui d’une solution optimale. On dit
de la procédure de pénalité qu’elle est une procédure heuristique « quasi-optimale ».
Tableau ci-dessous :
Dans ce tableau, les ui et vj sont des variables auxiliaires qui permettent le calcul
rapide du coût marginal associé à chacune des variables hors-base. On peut montrer
avec la théorie de la dualité que, pour chaque case (i,j), l’équation suivante est
satisfaite :
ui + vj = cij où cij représente le coût de la case (i,j)
Pour la solution donnée dans ce tableau, on obtient un système linéaire de 8 équations
comportant 9 inconnues. Comme une solution de base comporte (m + n – 1) cases de
base alors qu’il y a (m + n) rangées, il y aura donc toujours, dans ces conditions, une
équation de moins qu’il y a d’inconnues.
V1 = V 2 = V3 = V4 = V 5 =
u1 = 200 600 500 900 500
- 5 - - 21 26
Dj 18 20 22 19 21 100
Dj 18 20 22 19 21 100
Le coût marginal associé à chaque variable de base est nul comme dans le cas
du tableau du simplexe (cij – (ui + vj ) =0). Il est donc superflu de reporter ces valeurs
dans les tableaux de calcul.
Une solution de base admissible est optimale si tous les coûts marginaux sont
positifs ou nuls. Mais dans le cas ou le coût marginal associé à une variable hors-base
est < 0, la solution proposée n’est pas optimale. Cette variable est alors candidate à
l’entrée dans la base (Dans ce cours nous n’allons pas chercher la solution optimale).
En nous basant sur le critère de probabilité la plus élevée P(D) = 0,40, nous
allons commander 15 unités. De même en retenant le critère de l’espérance
mathématique de la demande, nous commanderons 15 unités. Dans ce cas on peut dire
que nos critères sont compatibles. Toutefois il faut retenir que ce tableau nous permet
de constater que l’espérance de pouvoir commander par multiples de 5 est de l’ordre
de 13,5.
que de la pire conséquence possible. Il est question de prendre dans un premier temps
la valeur minimale de chaque colonne puis dans un deuxième temps retenir la valeur
maximale de ces minima.
Soit dans notre exemple Max (1500, 500, -500, -1500) = 1500. Il choisit de
commander 5 unités.
IV- Décision basée à la fois sur les probabilités et sur les conséquences
économiques : critère de Bayes ou de la valeur espérée ou de la valeur moyenne
Le décideur cherche dans ce cas à maximiser l’espérance de gain. Pour calculer
l’espérance de gain ayant sa probabilité, chaque gain est multiplié par sa probabilité et
tous les résultats correspondants sont à une même décision ou colonne sont
additionnés. On choisit alors la décision qui maximise ce résultat.
Le tableau relatif à l’exemple précédent est le suivant:
RECHERCHE OPERATIONNELLE
TD N° 1
EXERCICE 1
Considérons le système d’inéquations suivant :
- 2x1 + 2x2 ≤ 3
2x1 + 2x2 ≤ 15
4x1 – 2x2 ≤ 13
x1, x2 ≥ 0
1) Représenter graphiquement l’ensemble D des points (x1 , x2) de IR² qui vérifient le
système d’inéquations.
2) Représenter la famille des droites d’équations x1 + 2x2 = µ, µ parcourant IR.
Déterminer le point de D pour lequel x1 + 2x2 est maximum.
EXERCISE 2
M. DADA est un designer hors pair qui décide de se spécialiser dans le design du
meuble de luxe. Grand admirateur de LUDWIG, il a adapté pour la production en courtes
séries, 2 chaises de ce créateur : la chaise en porte-à-faux et la chaise Barcelone. Il les a
pourvues d’une armature métallique dont les pièces sont assemblées par brassage puis
enduites de laques isolantes, ce qui confère au métal un toucher chaud. Dossiers et sièges sont
ensuite recouverts de cuirs de Cordoue capitonnés. Les prototypes ont séduits une clientèle
d’amateurs de beaux meubles et d’ensembliers-décorateurs. Aussi s’est-il engagé à livrer d’ici
trois semaines 42 chaises en porte-à-faux et 53 chaises Barcelone. Il estime à 100 unités le
marché potentiel pour chaque type de chaise.
M. DADA se propose de consacrer à la fabrication de ces chaises toutes les heures de
main-d’œuvre dont il disposera dans son atelier pendant les trois prochaines semaines. Le
tableau ci-après présente les données afférentes à ce problème de production : la chaise en
porte-à-faux y est appelée chaise A et la chaise Barcelone chaise B.
L’objectif que poursuit M. DADA est de maximiser le profit qu’il pourra tirer, au
cours des trois prochaines semaines, de ces 2 types de chaises en utilisant au mieux les
ressources de son atelier.
EXERCICE 3
La société SOFAVIN S.A., qui pratique le négoce en vins propose à sa clientèle deux
vins de table : l’un dénommé « Extra », l’autre « Supérieur ». Ces produits sont obtenus par
coupage de crus issus de diverses régions : un vin de l’Hérault, un vin du Bordelais et un vin
d’Italie. Les coupages sont réalisés selon les proportions fixes suivantes :
Actuellement, c’est-à-dire après les vendanges, la société dispose en stock dans ses cuves des
quantités suivantes de crus d’origine : Vin de l’Hérault 13600 hectolitres, Vin du Bordelais
12000 hectolitres et Vin d’Italie 10400 hectolitres.
Ces quantités constituent les ressources disponibles pour la production de l’année à venir. En
outre, compte tenu des capacités techniques d’embouteillages existantes, cette production ne
peut dépasser 36000 hectolitres au total dans l’année.
L’activité de cette entreprise comporte des coûts qui ont été classés en deux catégories :
-Une partie est considérée comme fixe ; elle correspond aux approvisionnements, puisque
ceux-ci sont déjà constitués, ainsi qu’aux frais de personnel. Ces coûts s’élèvent globalement
à 12 000 000 F pour l’année.
-L’autre partie correspond aux frais d’embouteillage, d’emballage et de commercialisation.
Cette seconde partie est proportionnelle aux quantités produites : soit 100 F par hectolitre de
vin quelle que soit la qualité de celui-ci.
Une étude de marché révèle que celui-ci ne saurait absorber plus de 20 000 hectolitres de vin
« Extra » à 500 F par hectolitre et 16 000 hectolitres de vin « Supérieur » à 600 F l’hectolitre.
RECHERCHE OPERATIONNELLE
TD N° 2
EXERCICE 1
A- On considère les programmes sous forme canonique suivants :
a- Max Z = 8x1 + 12x2 + 8x3 b- Min Z 19,4x + 20y
sous les contraintes 3x1 + 3x2 + x3 ≤ 96 sous les contraintes 0,36x + 0,45y ≥ 13500
3x1 + x2 + 3x3 ≤ 72 0,4x + 0,2y ≥ 11200
x1 + 3x2 + 3x3 ≤ 144 0,16x + 0,1y ≥ 5000
x1, x2, x3 ≥ 0 x, y ≥ 0
EXERCICE 2
Une société de la ville de Douala décide de se diversifier dans une nouvelle activité
qui consiste à fabriquer deux produits X et Y. Elle prévoit de disposer pour cette production
de 250 unités de temps – machine de l’atelier A ; 600 unités de temps – machine de l’atelier B
et 900 unités temps – machine de l’atelier C. La fabrication des produits nécessite :
1- Sachant que le prix de vente d’une unité de produit X est de 9.091 F et celui de Y se monte
à 11.263,5 F. Quel programme de fabrication permet de réaliser le chiffre d’affaire maximal ?
a- Présenter la solution graphique.
b- Vérifier par la méthode du simplexe.
c- Indiquer la signification de la valeur de chaque variable d’écart au maximum.
2- La société envisage d’acheter de nouvelles machines pour l’atelier A. Cet investissement
porterait à 270 le nombre d’unités temps disponibles pour cet atelier.
a- Trouver graphiquement le nouvel optimum
b- Une fois desserrée cette contrainte, l’entreprise peut se permettre d’en desserrer une
autre, mais une seule. A l’aide du graphique :
- Indiquer la contrainte choisie pour augmenter à nouveau le chiffre d’affaires.
EXERCICE 3
La Société RAZEL du Cameroun vient d’ouvrir quatre nouveaux chantiers, situés dans
quatre villes Ebolowa (A), Bafoussam (B), Yaoundé (C) et Douala (D). Ces chantiers
nécessitent l’emploi de grues actuellement situées sur les chantiers qui viennent d’être situés
en V, W, X, Y, et Z. Le tableau suivant donne le nombre d’heures que prendrait le transport
de chacune des grues de l’endroit où elle est située vers chacun des chantiers nouveaux.
L’entreprise doit démarrer le plus vite possible ses nouveaux chantiers. A quel chantier doit-
elle affecter ses grues disponibles ?
V W X Y Z
A 8 26 17 11 20
B 13 28 4 26 12
C 38 19 18 15 6
D 19 26 24 10 15
EXERCICE 4 :
La pharmacie centrale de Douala doit répondre à une demande soudaine de
médicament rare dont elle détient certains stocks d’âges divers. Les délais de commande et de
livraison sont tels que la pharmacie devra compter sur ses propres stocks durant les cinq
prochains mois. Le laboratoire américain qui fabrique ce médicament a établi que son
La pharmacie prévoit avoir besoin de 12 stocks au cours des cinq prochains mois, selon la
distribution indiquée dans le tableau 2 ci-dessous.
Mois 1 2 3 4 5
Nombre de lots 3 2 4 1 2
Présentement elle dispose de 12 lots dont les âges sont donnés dans le tableau 3 :
Lot A B C D E F G H I J K L
Age (en mois) 2 1 4 3 2 4 5 2 1 4 5 3
La pharmacie, qui cherche à maximiser l’efficacité totale des lots, s’interroge sur la
séquence selon laquelle elle devrait mettre en circulation les lots à sa disposition.
1- Donner une répartition suivant l’approche dernier entré – premier sorti (LIFO).
2- Donner une répartition suivant l’approche premier entré – dernier sorti (FIFO).
RECHERCHE OPERATIONNELLE
TD N° 3
EXERCICE 1
Un projet informatique à l’étude doit, pour des raisons commerciales, être achevé dans
un délai de 25 jours. Le responsable du projet a décomposé le travail en huit tâches et évalué
leurs durées en jours et la matrice suivante présente les antériorités du problème :
Arrivée A B C D E F G H
Départ
Dates de Début 0 0
A : Investigation et rédaction de l’analyse 9
B : Edition de l’analyse 5
C : Remarques générales 4 4
D : Corrections 2 2 2
E : Programmation 8
F : Essai 5
G : Simulation 4
H : Ouverture des fichiers
Durée de H : 3
EXERCICE 2
La Société Conserval, cliente du cabinet ALPHA, fabrique des conserves alimentaires.
Pour étendre ses marchés à l’étranger, elle est contrainte de se conformer aux nouvelles
normes alimentaires qu’impose l’Union Européenne. Ces normes l’obligent à construire une
nouvelle unité de production. Pour ce projet, le chef, le chef d’entreprise envisage la formule
de l’atelier relais avec l’une des communes de la ville de Douala.
EXERCICE 3
La Société A envisage de fusionner avec la B. Cette stratégie impose des
investigations particulières, tant du point de vue des simulations d’évolution de
l’environnement que celui des choix commerciaux liés à ces simulations. L’étude donne les
résultats suivants :
● Trois simulations possibles peuvent être retenues pour l’évolution de l’environnement :
- H1 : environnement conforme aux prévisions initiales ;
- H2 : banalisation du produit ;
- H3 : banalisation du produit et apparition des concurrents.
● Trois stratégies possibles font l’objet d’une attention particulière :
- S1 : distribution par magasins spécialisés à travers le réseau classique ;
- S2 : distribution dans les magasins «grand public» ;
- S3 : distribution par réseau spécialisé appartenant à l’entreprise liée.
● Les conséquences financières ont été évaluées comme suit (espérance mathématique des
flux de trésorerie relatifs aux ventes des produits X en millions de francs) :
Etat de l’environnement
Stratégie H1 H2 H3
S1 8,8 8,2 5,3
S2 9,2 7,5 5,7
S3 9 7,8 6,2
En utilisant les critères, indiquer le choix stratégique à suggérer aux dirigeants supposé
modérément optimiste (α = 0,6).