Académique Documents
Professionnel Documents
Culture Documents
COURS DE RECHERCHE
OPERATIONNELLE
MASTERS PROFESSIONNELS
- 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,
4- La théorie de la décision
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.
- 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
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 :
- On suppose connus avec certitude et invariables tous les paramètres qui apparaissent
dans le modèle.
n
Max (Min) Z = cj 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 :
Formalisation
* Disponibilités en temps :
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
Représentation graphique :
38400
28800
24480 A
B
C
D
0 23040 28800 48960 x
(D2) (D1) (D3)
La plus grande valeur se trouve au point B. L’entreprise doit produire x = 8640 écrous
de type 1 et y = 20160 écrous de types pour un profit maximum de Z = 1.065.600
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 :
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
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
quand i≠j.
La colonne qui correspond à la variable de surplus ne correspond pas à la
colonne de la base canonique à cause de (-1). Pour nous permettre de compléter la base
canonique, nous introduisons de façon artificielle une colonne de la base canonique.
La variable correspondant à cette colonne est une variable artificielle qui doit
nécessairement être hors base (nulle) pour une solution réalisable.
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 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 O 0 0 -M 0
4- Test d’optimalité
Exemple 2:
Max Z = 8 x 1 + 6x 2 SC 4 x 1 + 2x 2 ≤ 60 4x 1 + 2x 2 + S1 = 60
2 x 1 + 4x 2 ≤ 48 ► 2x 1 + 4x 2 + S2 = 48
x 1 ≥ 0, x 2 ≥ 0
Premier tableau :
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
Tous les Cj – Zj étant ≤ 0, cette solution est optimale : x 1 = 12, x 2 = 6, S1 = S2 = 0 et
Z = 132
Exemple 3:
Min Z = 3x 1 + 8x 2 Z = 3x 1 + 8x 2 + MA2 + MA3
SC x 1 ≤ 800 x 1 ≤ 800 x 1 + S1 = 800
x 2 ≥ 600 x 2 ≥ 600 x 2 - S2 + A2 = 600
x 1 + x 2 = 2000 x 1 + x 2 ≥ 2000 x 1 + x 2 - S3 +A3 = 2000
x 1 ≥ 0, x 2 ≥ 0 x 1 + x 2 ≤ 2000 x 1 + x 2 + S4 = 2000
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.
Cj 3 8 0 0 M 0 M 0
BS x1 x2 S1 S2 A2 S3 A3 S4 Val. Ratios
3 x1 1 0 1 0 0 0 0 0 800 -
8 x2 0 1 0 -1 1 0 0 0 600 -600
M A3 0 0 -1 1 -1 -1 1 0 600 600
0 S4 0 0 0 1 -1 0 0 1 600 600
Zj 3 8 3-M -8+M 8-M -M M 0 7200+600M
Cj – Zj 0 0 M-3 8-M 2M-8 M 0 0
Le tableau n’est pas optimal : S2 entre dans la base et A3 en sort.
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
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.
a- Il est possible que les Cj-Zj remplissent les conditions d’optimalité et qu’on n’ait
pas de solution réalisable. Ce cas arrive lorsque malgré ces conditions il y a encore les
variables artificielles dans la base. Dans ce cas il y a possiblement une erreur dans le
modèle et il faut rentrer au niveau de la modélisation.
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
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
Max Z = [C].[X] avec [A][X] ≤ [B]
[X] ≥ 0 alors il existe un vecteur solution Y associé
tel que
Min Z’ = [B] T [Y] avec [A] T [Y] ≥ [C] T
[Y] ≥ 0
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 ;
x 2 ≥ 600
x 1 + x 2 = 2000
x 1 ≥ 0, x 2 ≥ 0
-Y1 + Y 3 – Y4 + S 1 = 3
Y2 + Y 3 – Y4 + S 2 = 8
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
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
Exemple 2 :
Programme primal (forme canonique)
Max Z = 400x 1 + 500x 2 SC
0,5x 1 + 0,2x 2 ≤ 136
0,3x 1 + 0,6x 2 ≤ 120
0,2x 1 + 0,2x 2 ≤ 104
x1 ≤ 200
+ x 2 ≤ 160
x1, x 2 ≥ 0
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 :
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
B G
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)
b
25 28 20 20
0 25 c 50 d 25f
25 75 100 15
30
h
105
4- La solution la plus économique coûte 105 F et passe par b, c, d, h.
Tx T*x
- T*x est la date de début au plus tard de la tâche x. C’est la date la plus tardive à
laquelle on peut démarrer la tâche x sans modification du délai minimum d’exécution
du projet (T*Fi = TFi). Elle s’obtient ainsi : T*x = Min[T*y – dy], y ε S(x) avec S(x)
l’ensemble des suivants de x et T*y la date de début au plus tard de la tâche y. On
commence par celle de la tâche de fin : Tx = T*x. Ensuite pour les autres tâches
remonter le graphe en soustrayant les durées et quand il y a deux valeurs possibles on
prend la plus petite.
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
Construction du graphe :
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)
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).
b- Conditions de démarrage : supposons trois tâches a, b et c dont les relations
d’antériorité sont conformes au schéma suivant ;
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 :
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.
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.
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.
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.
La durée totale d’exécution est alors de 12 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
1 2 3 4 5
A 8 5 3 0 4
B 0 0 9 3 0
C 6 1 6 0 6
D 3 7 0 1 2
E 3 6 0 12 3
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
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
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)
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 :
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 E3 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
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 ;
Problème :
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
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
L1 L 2 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
que ce problème de transport est équilibré. Le tableau de transport de KAMGA,
sachant que le coût d’une tonne est de 2 FCFA est le suivant :
C1 C2 C3 C4 C5 Si
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
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.
En résumé, chaque attribution de la procédure CM est complétée aussitôt les
démarches suivantes accomplies :
- choix d’une case disponible de coût unitaire minimal ;
- attribution à cette case d’un nombre le plus grand possible, compte tenu des
disponibilités et des demandes résiduelles indiquées au tableau ;
- calcul des demandes non comblées et des disponibilités résiduelles ;
- éventuellement, attributions forcées des tirets ou des nombres appropriés à
certaines autres cases.
Cette première attribution se termine par le tableau de transport comportant une
colonne saturée. On reprend les mêmes démarches, attribution après attribution,
jusqu’à ce que toutes les tonnes de saucisses disponibles dans les laboratoires aient été
expédiées.
La case (2, 1) est maintenant la case de coût unitaire minimal où faire
l’attribution maximale x21 = 18 et saturer la colonne 1. La disponibilité résiduelle en L2
est de 24-18 = 6 tonnes, puisque 18 des 24 tonnes qui y étaient disponibles ont été
expédiées à C1.
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 400* 0
C1 C2 C3 C4 C5 Si
L1 200 600 500 900 500
- - - 26 100
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
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.
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).
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: