Vous êtes sur la page 1sur 74

UNIVERSITE DE DOUALA

ECOLE SUPERIEURE DES SCIENCES


ECONOMIQUES ET COMMERCIALES
(ESSEC)

COURS DE RECHERCHE
OPERATIONNELLE

MASTERS PROFESSIONNELS

Cours conçu et dispensé par Pr Etgard MANGA 1


OBJECTIF

Ce cours doit présenter à l’étudiant un ensemble de techniques intégrant les


objectifs et les contraintes auxquelles sont soumis les agents économiques dans
leur prise de décision en matière de production et de stockage des biens. Il est ainsi
question de choisir parmi les stratégies alternatives, les moins coûteuses.

Aussi son contenu porte sur les éléments suivants :

1- La programmation linéaire qui comprend :

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

2- La gestion des projets

3- Les Problèmes d’affectation et de transport

4- La théorie de la décision

Cours conçu et dispensé par Pr Etgard MANGA 2


BIBLIOGRAPHIE

1-Alain Martell, Technique et application de la recherche opérationnelle, éditeur


Gaëtan morin, Québec Canada.

2-Daniel Thiel, Recherche opérationnelle et management des entreprises, exercices et


cas, Economica.

3- Jean Pierre Védrine, Techniques quantitatives de gestion, vuibert gestion

4-Yves Norbert, Roch Ouellet, Régis Parent, La recherche opérationnelle, éditeur


Gaëtan morin, Montréal-Paris-Casablanca.

Cours conçu et dispensé par Pr Etgard MANGA 3


CHAPITRE 0 : GENERALITES ET DEFINITION

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.

Les premières applications de la Programmation Linéaire durant la seconde


guerre mondiale viennent de ce qu’il fallait à l'époque gérer un ensemble de ressources
limitées sur les différents théâtres d'opérations (répartition des navires américains,
placement des sites radars sur les côtes anglaises, stratégies de chasse…).

Plus généralement, la Recherche Opérationnelle est issue de la nécessité de


rationaliser l'usage des ressources dans des systèmes économiques de plus en plus
complexes (cette complexification en taille et en structure est sans doute la
conséquence des deux révolutions industrielles). Ainsi, le plus souvent, les problèmes
à résoudre sont des problèmes organisationnels.

Elle s'inscrit dans la branche ``Management Science'', c'est-à-dire ``Aide à la


Décision''. L'objectif de l'Aide à la Décision est d'assister les décideurs en fournissant
des réponses à des problèmes organisationnels. Elle touche tous les secteurs industriels
et économiques (productique, logistique, transport, télécommunication, micro- et
macro-économie). La Recherche Opérationnelle traite davantage les aspects
d'optimisation et de recherche de la meilleure solution possible, généralement dans un
contexte statique (données fiables, absence de caractéristiques prédictives,
d'incertitudes, etc.). L'essor de la RO a été favorisé par deux facteurs :

Cours conçu et dispensé par Pr Etgard MANGA 4


- le développement d'outils théoriques puis pratiques performants (simplexe : George
Dantzig en 1947 officiellement ; programmation dynamique, théorie des files d'attente
et théorie de la gestion des stocks, toutes initiées avant les années 50)

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

Au total, la recherche opérationnelle peut se définir comme étant « un outil


mathématique de l’aide à la décision qui permet de trouver une solution optimale ou
bien, pour des problèmes non paramétriques (NP) difficiles, une solution la plus
proche possible de l’optimum ». Elle est pour tout dire la recherche d’optimisation
d’un processus.

Les tâches à mener à bien pour résoudre un problème de gestion grâce aux techniques
de recherche opérationnelle sont (7):

a- La détection d’un problème : les nécessités de l’action viennent des expériences


vécues ; c’est une phase préscientifique ;
b- La formulation du problème : quel est le vrai problème à résoudre ? quels
critères permettent de juger si le problème est résolu de façon satisfaisante ?
c- L’élaboration d’un modèle : il s’agit de représenter les principaux aspects de la
réalité par un ensemble de formules qui mettent en jeu les variables de décision
concernées et leurs interactions. C’est la phase de conceptualisation et de
modélisation.
d- La collecte des données : il faut préciser les paramètres du modèle en
s’appuyant sur l’information recueillie dans l’environnement du problème à
résoudre.
e- La résolution du modèle : c’est la phase où l’on souhaite recourir aux méthodes
appropriées déjà disponibles si l’on a réussi à classer le problème parmi ceux
pour lesquels on connaît déjà une méthode d’approche. Sinon, il faut recourir à
la simulation ou inventer une technique de résolution.

Cours conçu et dispensé par Pr Etgard MANGA 5


f- La validation du modèle : on confronte les conclusions obtenues du modèle aux
opinions des personnes qui ont suffisamment d’expérience du problème traité
pour apprécier ou critiquer la pertinence de la solution proposée. Si les avis
reçus sont négatifs, on peut alors remettre en cause soit l’écriture du modèle
retenu, soit les valeurs de ses paramètres, soit les critères d’appréciation de la
solution.
g- La prise de décisions et l’implantation de la solution : le degré de satisfaction de
la solution retenue donne ici la possibilité de retourner vers le modèle initial
pour le modifier ou l’enrichir afin de tirer des conclusions mieux étayées.

Cours conçu et dispensé par Pr Etgard MANGA 6


CHAPITRE I : LA PROGRAMMATION LINEAIRE

I- Définition

On appelle programmation linéaire, le problème mathématique qui consiste à


trouver le maximum ou le minimum d’une fonction linéaire de plusieurs variables liées
par les relations linéaires appelées contraintes. Ces contraintes peuvent être des
équations ou des inéquations linéaires. Elle est un outil de recherche des solutions
optimales qui présente plusieurs méthodes classiques dont la fiabilité des résultats
dépend de la dimension du problème.

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.

Elle passe ensuite à l'élaboration d'un modèle scientifique (c'est-à-dire formulable


mathématiquement) destiné à représenter le plus fidèlement possible la situation. Ce
modèle peut prendre en compte des phénomènes physiques, chimiques, biologiques. Il
peut intégrer des aspects statiques (la plupart du temps) comme dynamiques
(optimisation/décision en temps réel). Il peut travailler sur une situation existante
comme sur de la prospective, sur des données déterministes comme stochastiques (ie
qui est de nature aléatoire). Une fois que ce modèle est jugé suffisamment pertinent,
qu'il donne une représentation précise des caractéristiques importantes, on effectue des
expérimentations pour vérifier les hypothèses de pertinence (validation du modèle).
On part toujours de l'hypothèse fondamentale qu'un modèle pertinent produit des
résultats pertinents qui, à leur tour, amènent des conclusions pertinentes (si les données
sont pertinentes).

Il s’agit d’un ensemble de techniques d’optimisation sous contraintes qui


permet de déterminer dans quelles conditions on peut rendre maximum ou minimum

Cours conçu et dispensé par Pr Etgard MANGA 7


une fonction objectif Z(Xj) de n variables liées par m relations ou contraintes Hi(Xj) ≤,
=,  0.

II- La formalisation d’un programme (modélisation)

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 détection d’un problème et l’identification des variables dites décisionnelles ;

- La formulation de la fonction économique (ou fonction objectif) traduisant les


préférences du décideur exprimées sous la forme d’une fonction des variables
identifiées ;

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

Un modèle linéaire peut s’écrire sous la forme suivante :

Max (Min) Z = f(Xi) sous la contrainte gi(Xi) ≥, =, ≤ bi ;

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 :

- Le modèle comporte une fonction-objectif à maximiser ou à minimiser (Z)

- 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 ;

- Chaque variable est soumise à une contrainte de non-négativité,

Cours conçu et dispensé par Pr Etgard MANGA 8


- Le modèle ne comporte pas de contraintes écrites sous forme d’inéquations strictes ;

- On suppose connus avec certitude et invariables tous les paramètres qui apparaissent
dans le modèle.

De plus, la notion de linéarité implique les hypothèses de proportionnalité


(profit ou coût d’une variable proportionnel à la valeur de cette variable) et d’additivité
(profit ou coût total donné par la somme des profits ou coûts des différents produits).

L’écriture détaillée du modèle ci-dessus donne le programme ci-après :

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

avec x j ≥ 0 (condition de non négativité) ; j = 1, 2, …,i, …, n ; i = 1, 2, …, 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 :

Cours conçu et dispensé par Pr Etgard MANGA 9


Opérations Type 1 Type 2
Couper 2 2
Percer 5 3
Filer 10 20
Profit 30 40

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 ;

* Fonction-objectif : Z = 30x + 40y

(surtout pas Max Z = 30x + 40y)

* Disponibilités en temps :

- machines à couper (2) : 2x8x60x60 =57600 secondes= b1


- machines à percer (4) : 4x8x60x60 =115200 secondes = b2
- machines à filer (17) : 17x8x60x60 = 489600 secondes = b3

* Formulation des contraintes techniques


- machine à couper : 2x + 2y ≤ 57600
- machine à percer : 5x + 3y ≤ 115200
- machine à filer : 10x + 20y ≤ 489600
D’où le programme linéaire : Max Z = 30x + 40y
SC 2x + 2y ≤ 57600
5x + 3y ≤ 115200
10x + 20y ≤ 489600
x, y ≥ 0

Cours conçu et dispensé par Pr Etgard MANGA 10


III- Résolution graphique d’un programme linéaire

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 ou 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 :

Cours conçu et dispensé par Pr Etgard MANGA 11


y

38400

28800
24480 A
B
C

D
0 23040 28800 48960 x
(D2) (D1) (D3)

0(0, 0) ; A(0, 24480) ; B(8640, 20160) ; C(14400, 14400) et D(23040, 0)

La région admissible (l’ensemble des solutions admissibles) et donnée par


[0ABCD]

Pour repérer la solution optimale on note les deux théorèmes suivants :

THEOREME 1 : la solution optimale n’est pas à l’intérieur de l’ensemble des points


réalisables.
THEOREME 2 : si un modèle linéaire continu admet au moins une solution optimale,
l’une d’entre elles correspond à un point extrême du polyèdre.
Généralement, il faut calculer les valeurs de la fonction objectif en tous les
sommets et retenir la plus grande.

Cours conçu et dispensé par Pr Etgard MANGA 12


Aussi dans notre exemple nous avons :
Solution Fonction économique
0(0, 0) Z0 = 30(0) + 40(0) = 0
A(0, 24480) ZA = 30(0) + 40(24480) = 979 200
B(8640, 20160) ZB = 30(8640) + 40(20160) = 1 065 600
C(14400, 14400) Z0 = 30(14400) + 40(14400) = 1 008 000
D(23040, 0) Z0 = 30(23040) + 40(0) = 691 200

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

IV- L’algorithme du simplexe


La méthode du simplexe est la plus utilisée des méthodes de recherche
opérationnelle. C’est G. B. Dantzig qui, dans un article paru en 1947, a décrit cet
algorithme comme méthode de résolution des programmes linéaires. Elle consiste à
rapprocher la solution optimale par étapes ou itérations successives.

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 :

Cours conçu et dispensé par Pr Etgard MANGA 13


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.
Afin de réaliser les opérations successives de l’algorithme du simplexe, il
convient de mettre le programme sous une forme standard qui nécessite les variables
d’écart et/ou artificielles.

2- Les variables d’écart (surplus ou manque)


Les variables d’écart sont celles qui permettent de transformer les contraintes
d’inégalité en contraintes d’égalité.
Considérons la contrainte x1 + x2 ≤ 0. Nous appellerons activité de la contrainte
pour une solution donnée, la somme des contributions des différentes variables à
gauche. Deux cas peuvent se présenter : la contrainte peut être soit active, soit inactive.
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

Cours conçu et dispensé par Pr Etgard MANGA 14


Exemple : Soit le programme linéaire
Max Z = x1 + x2 S.C
x1 + x 2 ≥ 6
x 1 + 2x 2 ≤ 18
2x 1 - 5x 2 ≤ 20
x1, x2  0

La forme standard du programme linéaire est la suivante:


x1 + x 2 - S1 = 6
x 1 + 2x 2 + S 2 = 18
2x 1 - 5x 2 + S 3 = 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

La forme matricielle est la suivante :


x1 x 2 S1 S 2 S 3 bi
1 1 -1 0 0 6
1 2 0 1 0 = 18
2 -5 0 0 1 20

3- Les variables artificielles


Ces variables sont introduites si le système d’équations standard ne permet pas
de dégager une base de l’espace vectoriel associé. Cette base n’est autre que la matrice
unité (identité) i.e. une matrice carrée [a ij ] dont l’élément a ij est 1 quand i=j et 0

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.

Cours conçu et dispensé par Pr Etgard MANGA 15


x1 x2 S1 A S2 S3 bi
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é :

Type Contraintes Coefficient de Z


Maximisation Minimisation
≥ S (coefficient -1) 0 O
A (coefficient +1) -M +M
= A (coefficient +1) -M +M
≤ S (coefficient +1) 0 0

Une fois la forme standard obtenue, on écrit le problème sous forme de tableau du
simplexe :

Cours conçu et dispensé par Pr Etgard MANGA 16


Cj valeurs de Cj
Base noms des variables (Xj, Si, Ai) Valeurs
Liste des
variables bi
de base
Zj Z*
Cj - Zj

Exemple 1: Max Z = x 1 + x 2 sous contraintes -2 x 1 + x 2 ≤ 4


3 x 1 + 4x 2 ≥ 2
5 x 1 + 9x 2 = 8
2x 1 + x 2 ≥ -3  -2x1 – x2  3
-3 x 1 - x 2 ≤ -2  3x1 + x2  2
x 1 ≥ 0, x 2 ≥ 0
Sous forme standard nous aurons
-2 x 1 + x 2 + S1 =4
3 x 1 + 4x 2 - S2 + A2 =2
5 x 1 + 9x 2 + A3 = 8 (S3 =0)
-2x 1 - x 2 + S4 = 3 (A4 =0)
+3 x 1 + x 2 - S5 + A5 = 2

La fonction économique est dans ce cas: Max Z = x 1 + x 2 - MA2 –MA3 –MA5

Le tableau du simplexe est le suivant :

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

Remarque : Zj = ∑Cjxj avec Cj la contribution de xj ou le gain d’une unité de xj dans


la base; Zj est le coût d’avoir xj hors base et les autres variables dans la base.

Cours conçu et dispensé par Pr Etgard MANGA 17


Cj-Zj peut être interpreté comme la contribution marginale ou contribution d’une unité
supplémentaire de xj dans Z.

La solution correspondante à ce tableau est : x 1 = x 2 = 0 car solution hors base;


S1= 4, S2 = 0, A2 = 2, A3 = 8, S4 = 3, S5 = 0, A5 = 2 et Z* = -12M
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é

a- Cas de maximisation (rendre Z le plus grand possible)


Dans ce cas si une variable ∆Z* = Cj-Zj est négative, il n’y a pas intérêt à la
faire entrer dans la base car elle diminue Zj. Les variables à entrer dans la base doivent
avoir un ∆Z* strictement positif. Si aucun ∆Z* n’est positif alors on a atteint
l’optimum. Autrement dit, si tous les Cj-Zj ≤ 0, alors la solution est optimale.

b- Cas de minimisation (rendre Z le plus petit possible)


Les seules variables à faire entrer dans la base sont telle que ∆Z*= Cj-Zj
strictement négatif. Si tous les Cj-Zj ≥ 0 alors la solution est optimale.

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 :

Cours conçu et dispensé par Pr Etgard MANGA 18


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

Dans ce cas la solution x 1 = x 2 = 0, S1= 60, S2 = 48 et Z = 0 n’est pas maximale.


Il faut dans ce cas changer de base. La valeur à faire entrer dans la base sera
celle qui présente le Cj–Zj le plus grand en valeur absolue et positif (x 1 ).
Pour déterminer la valeur qui sort de la base, nous considérons le plus petit des
ratios de contributions marginales qui sont obtenus en divisant les éléments valeurs par
les éléments respectifs de la colonne de la variable qui entre dans la base. Soit S 1 = min
(60/4, 48/2) = 15. Ce minimum correspond à S1 qui sort par conséquent de la base.
x 1 est la ligne du pivot (4) et doit permettre d’obtenir la nouvelle base : L’1←
1/4L1
L’2 ← L2 + λL’1 soit 2 + λ=0 ► λ= -2 ► L’2 ←L2- 2L’1 et

2e Tableau (1er itération)

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

Cours conçu et dispensé par Pr Etgard MANGA 19


3e tableau (2e itération):

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.

Cours conçu et dispensé par Pr Etgard MANGA 20


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.

2e tableau (1ère itération) :


Pour que x 2 deviennent une colonne de base L’3←L3 – L’2 alors que L’2 = L2
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 800
8 x2 0 1 0 -1 1 0 0 0 600 600
M A3 1 0 0 1 -1 -1 1 0 1400 1400
0 S4 1 0 0 1 -1 0 0 1 1400 1400
Zj M 8 0 - 8-M -M M 0 4800+1400M
8+M
Cj – Zj 3- 0 0 8-M 2M- M 0 0
M 8

Le tableau n’est pas optimal car nous avons encore des Cj-Zj négatifs. x 1 entre dans la
base car 3-M est négative et plus élevé en valeur absolue. S1 sort de la base car min
(800/1, 600/0, 1400/1) = 800.

3e tableau (2e itération) :

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

Cours conçu et dispensé par Pr Etgard MANGA 21


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.

4e tableau (3e itération)


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 -1 0 0 -1 1 0 1200
0 S2 0 0 -1 1 -1 -1 1 0 600
0 S4 0 0 0 0 1 -1 1 0
Zj 3 8 -5 0 0 -8 8 0 12000
Cj – Zj 0 0 5 0 M 8 M-8 0

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

Cours conçu et dispensé par Pr Etgard MANGA 22


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


Max Z = Min –Z.

5- Problèmes d’utilisation du simplexe

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

c- Solution non bornée


Z augmente à mesure qu’on se déplace sur les contraintes. Si tous les ratios permettant
de déterminer la variable qui entre dans la base sont négatifs ou nuls, la solution est
non bornée et Z sera infinie. La cause principale est qu’il manque de contrainte dans le
modèle ou alors une mauvaise définition du problème et surtout de la fonction-
objectif.

d- Solution multiple ou infinité de solutions optimales : Elle se matérialise par la


présence dans le tableau de variables hors base ayant un Cj-Zj=0 (l’une des variables
hors base admet un coût marginal nul et peut entrer dans la base pour prendre une

Cours conçu et dispensé par Pr Etgard MANGA 23


valeur positive). Cette variable pourra entrer dans la base sans rien changer au
problème.

e- Situation de dégénérescence : Elle arrive quand il y a plusieurs vecteurs candidats


pour entrer ou sortir de la base (possibilité de plusieurs solutions optimales). Dans le
cas où plus d’une variable peuvent entrer dans la base, on pourrait retenir au hasard
l’une de ces variables. Ce qui importe, c’est d’augmenter la valeur de Z. Mais le choix
peut aussi se faire de façon subtile, en calculant la limite d’augmentation pour chacune
de ces variables en ballottage.
La dégénérescence d’un modèle linéaire est donc le potentiel d’engager
l’algorithme du simplexe dans un cycle sans fin.

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

Cours conçu et dispensé par Pr Etgard MANGA 24


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

A- Analyse économique de la solution


Les informations fournies par la résolution d’un programme sont riches
d’enseignements et susceptibles de guider l’action du décideur. Mais il est nécessaire
pour cela de les interpréter et souvent de les prolonger par l’étude du programme dual
associé.

1- Interprétation de la solution optimale


Dans un premier temps, la solution optimale affecte une valeur à chaque
variable réelle et indique, de ce fait comment agir.
Dans le cas de l’exemple 3 ci-dessus, en supposant qu’il était question de minimiser
les coûts, on dira qu’il faut pour cela que les quantités à acquérir soient x 1 = 800 et x 2 =
1200
Dans un deuxième temps, les valeurs prises par les variables d’écart fournissent
autant d’informations sur l’état résiduel des stocks, le degré de pénétration du marché
ou encore le taux d’utilisation des capacités de production.
Lorsqu’une variable d’écart prend une valeur nulle à l’optimum, cela signifie
que la contrainte correspondante est saturée. Seules ces contraintes sont véritablement
astreignantes. Elles limitent les activités de l’entreprise et de ce fait les gains
réalisables. Dans l’exemple 3, c’est le cas de S1 car x 1 = 800.
Lorsqu’une variable d’écart prend une valeur non nulle, cela signifie que la
contrainte correspondante n’est pas saturée à l’optimum. C’est le cas de S2 = 600
sachant que x 2 = 1200.
L’analyse des coefficients de la fonction économique à l’optimum permet de
préciser la valeur marginale (calculée en termes de variation du résultat économique

Cours conçu et dispensé par Pr Etgard MANGA 25


∆Z), que représente pour l’entreprise chaque contrainte. On peut remarquer avec la
dernière ligne du tableau optimal de l’exemple 3 que toute variation marginale de x 1 et
x 2 est sans incidence sur le résultat économique (car ∆Z = 0). Par contre, toute
variation marginale de A2 et A3 entraîne un manque à gagner respectivement de M et
M-8 (coûts marginaux d’opportunité).
Ces coûts marginaux d’opportunité associés aux quantités préconisées par la
solution optimale correspondent exactement aux valeurs proposées par la solution
optimale d’un programme dual.

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 ;

Cours conçu et dispensé par Pr Etgard MANGA 26


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

Exemple 1: Min Z = 3x 1 + 8x 2 SC x1 ≤ 800

x 2 ≥ 600
x 1 + x 2 = 2000
x 1 ≥ 0, x 2 ≥ 0

Forme canonique de minimisation: MinZ = 3x 1 + 8x 2


- x1 ≥ -800
x 2 ≥ 600
x 1 + x 2 ≥ 2000
-x 1 - x 2 ≥ -2000
x 1 ≥ 0, x 2 ≥ 0

matrice associée [A]


-1 0
0 1
A= 1 1
-1 -1

Le tableau optimal du primal est le suivant :


Cj 3 8 0 0 M 0 M 0
Base x1 x2 S1 S2 A2 S3 A3 S4 Valeurs
3 x1 1 0 1 0 0 0 0 0 800
8 x2 0 1 -1 0 0 -1 1 0 1200
0 S2 0 0 -1 1 -1 -1 1 0 600
0 S4 0 0 0 0 0 1 -1 1 0
Zj 3 8 -5 0 0 -8 -8 0 12000
∆Z* = Cj - Zj 0 0 5 0 M 8 M+8 0

Le programme dual associé est le suivant :


Max Z = -800Y1 + 600Y2 + 2000Y3 – 2000Y4 Matrice associée [A] T
SC -Y1 + Y3 – Y4 ≤ 3 -1 0 1 -1
Y2 + Y 3 – Y4 ≤ 8 0 1 1 -1
Y1 , Y2 , Y3 , Y4 ≥ 0

Cours conçu et dispensé par Pr Etgard MANGA 27


La forme standard est la suivante :

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

Le tableau optimal du dual est le suivant


Cj -800 600 2000 -2000 0 0
base Y1 Y2 Y3 Y4 S’1 S’2 Valeurs
-800 Y1 1 1 0 0 -1 1 5
2000 Y3 0 1 1 -1 0 1 8
Zj -800 1200 2000 -2000 800 1200 12000
∆Z*=Cj-Zj 0 -600 0 0 -800 -1200

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

Cours conçu et dispensé par Pr Etgard MANGA 28


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.

Xj est la variable primale associée à la jième contrainte duale qui s’écrit :

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

Cours conçu et dispensé par Pr Etgard MANGA 29


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

Programme dual associé


Min Z’ = 136Y1+120Y2 +104Y3 +200Y4 +160Y5
SC 0,5Y1+ 0,3Y2+ 0,2Y3+Y4 ≥ 400
0,2Y1+ 0,6Y2+ 0,2Y3+ Y5 ≥ 500
Y1 , Y2 , Y 3 , Y4 , Y5 ≥ 0

Cours conçu et dispensé par Pr Etgard MANGA 30


CHAPITRE 2 : LA GESTION DES PROJETS

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 :

Cours conçu et dispensé par Pr Etgard MANGA 31


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…

II- Représentations des graphes

A- représentation par une matrice

A tout graphe de n sommets, on peut faire correspondre une matrice carrée


d’ordre n. Celle –ci comprend en lignes les sommets origines et en colonnes les
sommets extrémités.

Cours conçu et dispensé par Pr Etgard MANGA 32


Exemple :
1 si l’arc (i, j) existe
Mij =
0 sinon

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

La lecture de cette matrice Booléenne ligne par ligne donne l’application Ө et


sa lecture colonne par colonne donne l’application réciproque Ө-1. Soit
Ө(A) = {B, D, F} ; Ө(B) = {C, A} ; Ө(C) = {D, E, F} ; Ө(D) = {} ; Ө(E) = {D} ;
Ө(F) = {F} ;
et
Ө-1(A) = {B} ; Ө-1(B) = {A} ; Ө-1(C) = {B} ; Ө-1(D) = {A, C, E} ; Ө-1(E) = {C, F} ;
Ө-1(F) = {A, C} ;

B- Représentation par le dictionnaire des précédents ou des suivants

1- Dictionnaire des suivants


Si un sommet est noté x, son suivant sera noté S(x) et correspond à l’application Ө(x).
Sommets x A B C D E F
S(x)=Ө(x) B, D, F C, A D, E, F - D E

2- Dictionnaire des précédents


Il est le plus utilisé. Pour un sommet x, le précédent est noté P(x) et correspond
à l’application réciproque.
Sommets x A B C D E F
P(x) = Ө-1(x) B A B A, C, E C, F A, C

Cours conçu et dispensé par Pr Etgard MANGA 33


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.

C- Détermination des niveaux des sommets d’un graphe sans circuit

Soit n le nombre de sommets d’un graphe G et M la matrice booléenne du


graphe. G est sans circuit si Mn = 0.
Le niveau d’un sommet Xi noté N(Xi) est la longueur du plus long chemin (au
sens du nombre d’arcs) ayant pour extrémité Xi. Un sommet sans précédent a pour
niveau 0.
Considérons le dictionnaire des précédents suivant et déterminons les niveaux
correspondants :
Xi P(Xi)
A -
B A
C A, B, E
D C, E
E A
F B, C, D
G B, C

Niveau 0 : ensemble des sommets sans précédent N0 = {A}.


Niveau 1 : on barre les sommets de niveau 0 partout où ils figurent dans la colonne
P(Xi). Si une ligne a tous ses sommets barrés, le sommet correspondant est de niveau
1. En barrant A on a N1 = {B, E}.
On réitère cette procédure en augmentant de 1 la valeur du niveau jusqu’à ce que tous
les sommets soient barrés et on a :
N2 = {C} en barrant B et E.
N3 = {D, G} en barrant C.
N4 = {F} en barrant D et G.

Cours conçu et dispensé par Pr Etgard MANGA 34


Le squelette du graphe qui s’obtient en tenant compte de l’ordre croissant des
niveaux est le suivant :

B G

A C F

E D

Considérons un graphe valué G = {X, U} sans circuit que nous supposerons en


niveaux. Le premier niveau étant réduit à un seul sommet X0, le dernier niveau réduit à
un seul sommet noté Xf. La longueur d’un arc (x, y) est notée L(x, y). La finalité d’un
graphe c’est trouver un chemin de valeurs optimales (maximale ou minimale) du
sommet origine X0 au sommet d’extrémité Xf.

Théorème (théorème de Bellman) : Tout chemin de valeurs optimales ne peut contenir


que des sous chemins de valeurs optimales.

Le déroulement des tâches ou opérations doit en général respecter certaines


contraintes qui peuvent être :

1- Les contraintes de temps de types potentiel


-les contraintes d’antériorité (de succession) qui concernent l’ordre d’exécution des
tâches
-les contraintes de localisation temporaire qui imposent de commencer ou de terminer
une tâche à une certaine date.

2- Les contraintes de type disjonctif


Plusieurs tâches ne peuvent être réalisées simultanément car réclamant
utilisation d’un matériel unique qui ne peut accomplir qu’une tâche à la fois.

Cours conçu et dispensé par Pr Etgard MANGA 35


3- Les contraintes de type cumulatif
Elles concernent l’utilisation équilibrée des ressources humaines, financières et
techniques.

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

1- Donner le dictionnaire des précédents


2- Déterminer les niveaux
3- Tracer le graphe ordonné par niveaux
4- Déterminer la solution la plus économique pour aller de b à h et préciser le chemin.

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)

3- Graphe ordonné par niveaux

Cours conçu et dispensé par Pr Etgard MANGA 36


50
85 95
a
35 g 10 e
55

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.

III- La méthode des potentiels métra


Chaque tâche est représentée par un sommet du graphe qui sera construit de
gauche à droite en fonction de l’ordre croissant des niveaux suivant le schéma ci-
après :
da
a b

La signification est que a doit précéder b et da est la durée de la tâche a. On introduit


deux tâches fictives :
- La tâche De de durée 0 reliée à tous les sommets de niveau 0 ;
- La tâche Fi ou tâche de fin reliée à tous les sommets qui n’avaient pas de suivant.
Celle-ci permettra de dater la fin des travaux.
Chaque sommet du graphe aura la représentation suivante :

Tx T*x

- x désigne le nom de la tâche ;


- Tx désigne la date de début au plus tôt de la tâche x sachant que celle-ci ne peut
débuter que si toutes les tâches qui la précèdent sont terminées. Il représente également

Cours conçu et dispensé par Pr Etgard MANGA 37


la longueur du chemin le plus long (pour que toutes les tâches précédant x soient
réalisées) allant d’un sommet de niveau 0 à x. Soit Tx = Max [Ty + dy], y ε P(x) avec
TDe = 0 ; P(x) l’ensemble des prédécesseurs de la tâche x ; dy la durée de la tâche y et
Ty la date de début de la tâche y au plus tôt.

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

Exemple : Schématisons le graphe relatif au tableau suivant :

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

La détermination des niveaux nous donne :


N0 = {A, B, C} ; N1 = {D, E, F, G} ; N2 = {H, I, K, M} ; N3 = {J} ; N4 = {L} ;

Construction du graphe :

Cours conçu et dispensé par Pr Etgard MANGA 38


10 10 22 22
12
D K
6
0 4 10
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)

IV-La méthode PERT


On suppose que les durées des tâches sont connues de façon certaines. Chaque
tâche du projet est représentée par un arc de longueur la durée de la tâche et chaque
sommet du graphe est un évènement ou étape signifiant. Toutes les tâches qui y
arrivent sont terminées et toutes les tâches qui en partent peuvent commencer.
La représentation de certaines relations d’antériorité nécessite la production des
tâches fictives.

Cours conçu et dispensé par Pr Etgard MANGA 39


1-Les tâches fictives
a- Supposons que a et b sont deux tâches antérieures à c et b antérieur à d :
a c
A c

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

A priori la tâche c peut débuter dès l’achèvement de la tâche b ie au 8è jour. Toutefois


pour des raisons météorologiques par exemple, il peut arriver que la tâche c ne puisse
commencer avant le 10è jour. Il faut matérialiser cette contrainte dans le graphique par
une tâche fictive d’une durée de 10 jours comme le montre le schéma suivant (2) :
c- Lorsque deux tâches a et b ont les mêmes successeurs et les mêmes
prédécesseurs, afin d’éviter la représentation interdite suivante, on crée une tâche
fictive de durée 0 de la fin de b vers la fin de a.
a a y
x y x 0
b b

2- Construction du graphe
Chaque sommet du graphe aura la configuration suivante :

Cours conçu et dispensé par Pr Etgard MANGA 40


c Ex a da
dc tx t*x b db

Ex est le numéro (arbitraire) de l’évènement x


Dans la construction du squelette une tâche ne doit figurer qu’une seule fois et
une tâche qui n’a pas de successeur est reliée à la tâche de fin des travaux.

Au regard des niveaux déterminés ci-dessus, le graphe sera le suivant :

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

3- Détermination du chemin critique


Un évènement Ex est dit critique si tx = t*x. Une tâche a est dite critique si les
évènements Ex et Ey qui l’encadrent sont critiques et si t*y = t*x – tyx (tyx étant la
durée de la tâche x). Le chemin critique est (B, D, K).

Ey a Ex
ty t*y tx t*x
tyx

4- Les dates de début au plus tôt et au plus tard des tâches


La date de début au plus tôt de la tâche a est la date avant laquelle cette tâche ne
peut se réaliser. Si t(a) est cette date, on a t(a) = ty
La date de début au plus tard est donnée par t*y = t*x – tyx.

Cours conçu et dispensé par Pr Etgard MANGA 41


Soit :

Tâches t(x) t*(x) Ml(x) Mt(x)


A 0 4 = 10 – 6 4 4
B 0 0 0 0
C 0 4 = 14 - 10 0 4
D 10 10 0 0 = 10 – 10
E 10 17 = 21 – 4 0 7 = 17 – 10
F 10 19 2 9 = 19 – 10
G 10 14 0 4 = 14 – 10
H 14 22 0 8 = 22 – 14
I 14 21 0 7 = 21 – 14
J 19 27 1 8 = 27 – 19
K 22 22 0 0 = 22 – 22
L 22 29 7 7 = 29 – 22
M 19 23 4 4 = 23 – 19

5- Calcul des marges


Lorsqu’on dispose d’une certaine liberté pour exécuter ou retarder l’exécution
d’une tâche, on parle d’une marge. On distingue la marge libre de la marge totale.

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.

Cours conçu et dispensé par Pr Etgard MANGA 42


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.

Cours conçu et dispensé par Pr Etgard MANGA 43


CHAPITRE 3 : LES PROBLEMES D’AFFECTATION ET DE TRANSPORT

Depuis la seconde guerre mondiale, les problèmes reliés aux réseaux de


transport n’ont cessé d’alimenter la recherche opérationnelle en applications et de
susciter le développement de nouvelles approches pour leur résolution. La
mondialisation des marchés et la création des zones de libre-échange ont eu pour effet
de favoriser la circulation des personnes, des biens et des capitaux. Et plus cette
circulation est foisonnante, plus l’organisation rationnelle des transports devient
importante.
Les premiers problèmes et modèles de transport considérés étaient de structure
simple : il s’agissait tout simplement d’acheminer des biens directement entre des
origines et des destinations en tenant compte des seuls coûts de transport (problèmes
de transport classique). Au fil des temps se sont imposées de nouvelles structures,
apparentées certes au problème de transport classique mais comportant des points
additionnels qui correspondent à des points de transbordement.
Dans ce chapitre, nous n’aborderons que les problèmes d’affectation.

I- Problèmes d’affectation ou d’allocation des ressources

L’affectation des employés aux différentes tâches à exécuter est un problème


répétitif dans certaines entreprises. Il s’agit d’un problème conceptuellement simple,
mais dont la résolution est rendue complexe par la combinatoire. En effet, il existe 5!,
soit 120 façons d’affecter 5 employés à 5 tâches, si chaque employé doit exécuter une
tâche et si chaque tâche doit être faite par un seul employé.

1- La méthode hongroise (Algorithme de Kuhn)


Tout problème d’affectation se représente par un réseau d’un type particulier.
Mais considérons n travaux à répartir entre n postes de travail, connaissant le temps
d’exécution de chaque travail. Si l’objectif est de répartir les travaux entre les postes
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.

Cours conçu et dispensé par Pr Etgard MANGA 44


Exemple 1 : Soient trois postes de travail A, B, C et le temps d’exécution desdits
travaux T1, T2, T3 matérialisés par le tableau ci-après :
Postes A B C
Travaux
T1 3 4 6
T2 7 8 4
T3 5 5 2

Si le problème est d’affecter chaque travailleur au poste qui nécessitera le temps


minimum pour son accomplissement, l’algorithme le permettant comprend les étapes
suivantes :

Etape 1 : soustraire dans chaque ligne la valeur la plus petite (Tableau 2)

Postes A B C
Travaux
T1 0 1 3
T2 3 4 0
T3 3 3 0

Etape 2 : soustraire dans chaque colonne la plus petite

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.

Cours conçu et dispensé par Pr Etgard MANGA 45


Postes A B C
Travaux
T1 0 0 5
T2 1 1 0
T3 1 0 0

Dans ce cas on peut se rendre compte que l = 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

Etape 1 : soustraction du minimum de chaque ligne

1 2 3 4 5
A 9 5 3 0 6
B 1 0 9 3 2

Cours conçu et dispensé par Pr Etgard MANGA 46


C 7 1 6 0 8
D 4 7 0 1 4
E 4 6 0 12 5

Etape 2 : soustraction du minimum de chaque colonne.

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 3 : couvrir les lignes (l = 3 < 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

On peut constater que l = 5 ; Conséquence, nous pouvons procéder aux affectations


des contrats aux différents sous-traitants. Sachant que l’entreprise ne peut signer deux

Cours conçu et dispensé par Pr Etgard MANGA 47


contrats avec un sous-traitant, notre algorithme nous donne la solution optimale
d’affectation suivante :
Le contrat A au sous-traitant 4 : coût 3
Le contrat B au sous-traitant 1 : coût 6
Le contrat C au sous-traitant 2 : coût 3
Le contrat D au sous-traitant 5 : coût 12
Le contrat E au sous-traitant 3 : coût 2
Cette affectation optimale correspond à un coût minimum total de 26.

NB : L’hypothèse implicite que le nombre de travailleurs est égal au nombre de tâches


n’est pas restrictive. Il suffit s’il y a déséquilibre, d’ajouter des employés fictifs ou des
tâches fictives. Affecter une tâche fictive signifie que cette tâche ne sera pas
accomplie. De même, affecter un employé à une tâche fictive signifie que cet employé
restera sans affectation.

Remarque : Le problème d’affectation est un cas particulier de problème de transport


dans lequel toutes les disponibilités et toutes les demandes sont égales à 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

Cours conçu et dispensé par Pr Etgard MANGA 48


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)

Cours conçu et dispensé par Pr Etgard MANGA 49


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

2- Sommes des satisfactions 20 + 20 + 8 + 16 + 20 + 20 = 104

II- Le modèle de transport


On entendra par problème de transport, tout problème d’optimisation du
transfert entre des points-origine et des points-destination. Il serait, bien entendu,
possible de résoudre ces problèmes à l’aide des techniques étudiées précédemment,
mais leur structure très spécifique permet de recourir à des techniques particulières
beaucoup plus légères.

A- La formulation du modèle de transport


La structure d’un modèle de transport est très simple. Selon G. HADLEY, le
problème de transport peut être formulé ainsi : « des quantités données d’un même
produit sont disponibles en plusieurs points-origine ; des quantités de ce produit
doivent être expédiées vers différents points-destination. Le coût de transport unitaire
entre chacun des points-origine et chacun des points-destination étant connu, il s’agit
de déterminer le meilleur programme de transport, c’est-à-dire celui qui minimise le

Cours conçu et dispensé par Pr Etgard MANGA 50


coût total d’approvisionnement. Plus précisément, il convient de déterminer à partir de
quel point-origine, chaque point-destination doit être alimenté, et ceci en quelles
quantités ».
Ce problème peut être formalisé à l’aide d’un programme linéaire et comme
tout programme linéaire, il peut être présenté sous forme primale ou sous forme duale.

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 :

Cours conçu et dispensé par Pr Etgard MANGA 51


C = 64x11 + 50x12 + 77x13 + 14x14 + 37x21 + 20x22 + 48x23 + 24x24 + 25x31 + 14x32 +
15x33 + 48x34

L’objectif de l’entreprise est de rendre minimum ce coût de transport, tout en


tenant compte des disponibilités du produit et de sa demande. Ici, l’offre totale est
égale à la demande : toutes les capacités seront utilisées pour satisfaire la demande.
Par exemple, la capacité de production de l’unité de production n° 2 est de 200 ; elle
devra donc expédier exactement 200 transformateurs vers les entrepôts. Ceci va
s’exprimer à l’aide de la contrainte :

X21 + x22 + X23 + x24 = 200

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 :

X13 + x23 + x33 = 300

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

Cours conçu et dispensé par Pr Etgard MANGA 52


La seule hypothèse nécessaire pour avoir le droit d’employer une telle
formulation est celle qui porte sur le caractère constant des coûts de transport
unitaires : ils sont indépendants des quantités transportées.
Dans le cas général, le problème de transport s’exprime comme la recherche
d’approvisionnement aux moindres coûts à partir de m points-originesUi (i = 1, …, m)
de n points-destination Ej (j = 1, …, n). Les données du problème sont :
-les capacités d’approvisionnement des points-origine, avec Ki pour le point i (i =
1, …, m) ;
-les demandes d’approvisionnement des points-destination, avec Dj pour le point j
(j=1,…,n) ;
-les coûts de transport Cij entre chaque point-origine i et chaque point-destination j.
Le problème peut alors se formuler de la façon suivante, si Xij représente les
quantités transportées entre le point i et le point j :
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.

Un point comportant m points de départ et n points d’arrivée comprendra m×n


variables et m+n contraintes avec m contraintes associées aux points-origine et n
associées aux points-destination.

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 ;

Cours conçu et dispensé par Pr Etgard MANGA 53


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

Le programme primal obtenu dans le problème de transport de la SAE nous


permet de formuler le dual suivant :

Max R = 1000V1 + 200V2 + 400V3 + 700W1 + 100W2 + 300W3 + 500W4


SC V1 + W1 ≤ 64 V2 + W3 ≤ 48
V1 + W2 ≤ 50 V2 + W4 ≤ 24
V1 + W3 ≤ 77 V3 + W1 ≤ 25
V1 + W4 ≤ 14 V3 + W2 ≤ 14
V2 + W1 ≤ 37 V3 + W3 ≤ 15
V2 + W2 ≤ 20 V3 + W4 ≤ 48
V1, V2, V3, W1, W2, W3, W4 ≥ 0

B- Résolution du modèle de transport


Cette résolution portant sur les procédures heuristiques de calcul d’une première
solution de base admissible comprend : la procédure du coin nord-ouest, la procédure
des coûts minimaux et la procédure des pénalités.

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

Cours conçu et dispensé par Pr Etgard MANGA 54


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
incompressible de 2 FCFA la tonne, est confié aux camions réfrigérés de la société
DICAM.
Le tableau 1 indique les distances entre les laboratoires (L) et les centres (C) de
distribution. Chaque laboratoire s’approvisionne en carcasses de porc désossées auprès
des coopératives d’éleveurs de son voisinage, qui lui en fournissent chaque jour une
quantité convenue. Les pertes de poids subies lors de la transformation de la chair à
saucisse en saucisses sont compensées par des additifs alimentaires et celui des
emballages. Les tableaux 2 et 3 donnent les quantités qui sont disponibles dans les
laboratoires et celles qui sont requises par les centres de distribution.

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

Cours conçu et dispensé par Pr Etgard MANGA 55


Tableau 2

L1 L 2 L3 L4
26 24 27 23

Tableau 3

C1 C2 C3 C4 C5
18 20 22 19 21

L’entreprise KAMGA recherche un plan d’acheminement à coût minimal des


laboratoires aux centres de distribution.

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

L1 200 600 500 900 500


26
L2 100 400 500 900 500
24
L3 500 200 100 700 600
27
L4 600 300 400 500 900
23
Dj 18 20 22 19 21 100

Le coût unitaire de transport (Cij) pour chaque couple origine-destination occupe le


coin supérieur droit de la case appropriée. A droite du tableau apparaît, à la ligne i, la
disponibilité, dénotée Si, retrouvée au laboratoire Li. Sous le tableau, à la colonne j, on
retrouve la demande, dénotée Dj, à satisfaire par le centre Cj.

Cours conçu et dispensé par Pr Etgard MANGA 56


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.

1- La procédure du coin nord-ouest


Cette méthode consiste à attribuer en autant de reprises qu’il le faut, le plus
grand nombre possible à la case encore disponible située le plus à l’ouest et le plus au
nord pour un observateur qui verrait le tableau comme une carte géographique. La
valeur prise par la variable xij dans une solution de base admissible est indiquée par le
nombre attribué à la case (i, j). La case (1, 1) du tableau ci-dessous indique que x11=
18.

C1 C2 C3 C4 C5 Si

L1 200 600 500 900 500


18 8 - - - 26
L2 100 400 500 900 500
- 12 12 - - 24
L3 500 200 100 700 600
- - 10 17 - 27
L4 600 300 400 500 900
- - - 2 21 23
Dj 18 20 22 19 21 100

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

Cours conçu et dispensé par Pr Etgard MANGA 57


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 :

18x200+ 8x600+ 12x400+ 12x500+ 10x100+ 17x700+ 2x500+ 21x900 = 52000


FCFA

2- La procédure des coûts minimaux (CM)


Cette procédure intuitive tire son nom de la priorité qu’elle accorde à
l’acheminement des quantités les plus grandes possibles par des routes origine-
destination dont les coûts unitaires de transport sont les plus faibles. Acheminer une
quantité maximale de biens sur la route i-j correspond à attribuer le nombre le plus
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 :

Cours conçu et dispensé par Pr Etgard MANGA 58


C1 C2 C3 C4 C5 Si

L1 200 600 500 900 500


- 26
L2 100 400 500 900 500
- 24
L3 500 200 100 700 600
22 27(5)
L4 600 300 400 500 900
- 23
Dj 18 20 22(0) 19 21 100

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.

Cours conçu et dispensé par Pr Etgard MANGA 59


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.

2-Lorsque plusieurs cases de coût unitaire minimal peuvent se voir attribuer le


même nombre maximal alors que leurs positions ne sont pas indépendantes, la
procédure CM laisse libre le choix de la première case à retenir.
Nous pouvons constater que la colonne 1 est saturée [(1,1) n’a plus d’influence]
et que la case (3, 2) est le coût unitaire minimal. Le nombre maximal à lui attribuer est
5 et par conséquent x32 = 5. Cette attribution permet de saturer la ligne 3.
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 :

Cours conçu et dispensé par Pr Etgard MANGA 60


C1 C2 C3 C4 C5 Si

L1 200 600 500 900 500


- - - 5 21 26(0)
L2 100 400 500 900 500
18 - - 6 - 24(0)
L3 500 200 100 700 600
- 5 22 - - 27(0)
L4 600 300 400 500 900
- 15 - 8 - 23(0)
Dj 18(0) 20(0) 22(0) 19(0) 21(0) 100

Le coût associé à cette solution admissibles est de 18x100 + 5x200 + 15x300 + 22x100
+ 5x900 + 6x900 + 8x500 + 21x500 = 33900 FCFA

3- La procédure des pénalités (PEN)


Cette procédure heuristique, due à REINFELD et VOGEL (1958), donne
habituellement une solution admissible de coût inférieur à celui de la solution obtenue
par la procédure des coûts minimaux.
La pénalité associée à une rangée (ligne ou colonne) du tableau des coûts de transport
est la valeur absolue de la différence entre les deux coûts unitaires minimaux des cases
disponibles retrouvées dans cette rangée. Elle mesure l’augmentation minimale du
coût de transport d’une unité si celle-ci n’empruntait pas la route de coût minimal
disponible de cette rangée.
Dans cette procédure, le choix de la case où effectuer la prochaine attribution se
fait en retenant la case de coût minimal disponible dont la rangée présente la pénalité
maximale. Pour éviter de subir cette pénalité, on s’empresse de transporter le plus
d’unité possible par la route de coût minimal de la colonne correspondante.
Il arrive que cette pénalité maximale soit la même pour plus d’une rangée. Entre
les cases candidates, on retient d’abord celle(s) dont le coût est minimal. S’il y a
encore plusieurs cases en lice, on retient celle(s) où le nombre à attribuer est maximal.
En résumé, on choisi la case disponible selon la règle hiérarchique suivante :
a- celle dont la rangée est associée à la pénalité la plus élevée ;
b- celle de coût minimal ;

Cours conçu et dispensé par Pr Etgard MANGA 61


c- celle à laquelle on peut attribuer le nombre maximal.
S’il y avait encore plus d’une case candidate, le choix de la case à retenir se ferait alors
de façon aléatoire parmi ces cases candidates.

Appliquons cette procédure au problème de transport de KAMGA


C1 C2 C3 C4 C5 Si Les pénalités sont données en lignes et
en colonnes
L1 200 600 500 900 500
26 |200-500|=300*
L2 100 400 500 900 500
24 |100-400|=300*
L3 500 200 100 700 600
27 200-100=100
L4 600 300 400 500 900
23 |300-400|=100
Dj 18 20 22 19 21 100

100 100 300* 200 0

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 Les ajustements de saturation se font


comme dans le cas des coûts minimaux
L1 200 600 500 900 500 et dans ce cas la colonne 3 est saturée
- 26 300*
L2 100 400 500 900 500
- 24 300*
L3 500 200 100 700 600
22 27(5) 300*
L4 600 300 400 500 900
- 23 200
Dj 18 20 22(0) 19 21 100

100 100 200 0

Cours conçu et dispensé par Pr Etgard MANGA 62


La mise à jour des rangées de pénalités-lignes et des pénalités-colonnes permet
d’éliminer la pénalité de la colonne 3 et d’obtenir une pénalité de 300 pour la ligne 3
(il s’agit de retrouver les nouvelles pénalités en excluant les valeurs de la ligne ou de la
colonne saturée).
La pénalité maximale est maintenant associée aux lignes 1, 2 et 3 et (2,1) est la
case disponible de coût minimal. Cette case se voit attribuer 18 tonnes (x21 = 18) et la
mise à jour des pénalités-lignes donne le tableau suivant dans lequel la colonne 1 est
saturée :

C1 C2 C3 C4 C5 Si

L1 200 600 500 900 500


- - 26 100

L2 100 400 500 900 500


18 - 24(6) 100

L3 500 200 100 700 600


- 22 27(5) 400*

L4 600 300 400 500 900 200


- - 23

Dj 18(0) 20 22(0) 19 21 100

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 :

Cours conçu et dispensé par Pr Etgard MANGA 63


100 200 0
C1 C2 C3 C4 C5 Si

L1 200 600 500 900 500


- - 26 100

L2 100 400 500 900 500


18 - 24(6) 100

L3 500 200 100 700 600


- 5 22 - - 27(0)

L4 600 300 400 500 900 200


- - 23

Dj 18(0) 20(15) 22(0) 19 21 100

La pénalité maximale se trouve maintenant à la colonne 4, où (4,4) est la case


de coût minimal. Cette case se voit attribuer 19 tonnes (x44 = 19), la disponibilité
résiduelle de L4 tombe à 4 tonnes et la colonne 4 est saturée. Nous obtenons le tableau
ci-contre après la mise à jour des pénalités-lignes :

100 400* 0
C1 C2 C3 C4 C5 Si
L1 200 600 500 900 500
- - - 26 100

L2 100 400 500 900 500


18 - - 24(6) 100

L3 500 200 100 700 600


- 5 22 - - 27(0)

L4 600 300 400 500 900 600*


- - 19 23(4)

Dj 18(0) 20(15) 22(0) 19(0) 21 100

Cours conçu et dispensé par Pr Etgard MANGA 64


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

L2 100 400 500 900 500


18 - - 24(6) 100

L3 500 200 100 700 600


- 5 22 - - 27(0)

L4 600 300 400 500 900


- 4 - 19 23(0)

Dj 18(0) 20(11) 22(0) 19(0) 21 100

La disponibilité résiduelle de L4 Tombe à 0 et la pénalité la plus élevée est


associée à la colonne 2 où (2,2) est la case de coût unitaire minimal. On pose x22 = 6,
et la disponibilité résiduelle de Lé tombe à 0. Ce qui force à poser x 12 = 5, puis x15 =
21. La solution de base admissible résultante est donnée au tableau suivant :

200* 0
C1 C2 C3 C4 C5 Si
L1 200 600 500 900 500
- 5 - - 21 26

L2 100 400 500 900 500


18 6 - - - 24

L3 500 200 100 700 600


- 5 22 - - 27

L4 600 300 400 500 900


- 4 - 19 - 23

Dj 18 20 22 19 21 100

Cours conçu et dispensé par Pr Etgard MANGA 65


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

C- L’algorithme du transport (AT)


Une fois amorcé, l’algorithme du transport poursuit ses itérations jusqu’à
l’obtention d’une solution de base optimale. Partons de la solution de base admissible
trouvée par la procédure de pénalité et construisons un tableau de calcul. Dans le coin
supérieur droit de chaque case de ce tableau, on retrouve, à leur place habituelle, les
coûts unitaires de transport. Chaque case de base contient la valeur de la variable
correspondante. Chaque case hors-base comportera éventuellement, dans son coin
supérieur gauche, le coût marginal associé à la variable correspondante. Les cases
hors-base ne comportent pas, par convention, la valeur 0 prise par les variables
correspondantes à cause de la dégénérescence.

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.

Cours conçu et dispensé par Pr Etgard MANGA 66


V1 = V 2 = V3 = V4 = V 5 =
u1 = 200 600 500 900 500
- 5 - - 21 26

u2 = 100 400 500 900 500


18 6 - - - 24

u3 = 500 200 100 700 600


- 5 22 - - 27

u4 = 600 300 400 500 900


- 4 - 19 - 23

Dj 18 20 22 19 21 100

Ce système est le suivant :

Cases de base Equations


(1,2) u1 + v2 = 600 (1)
(1,5) u1 + v5 = 500 (2)
(2,1) u2 + v1 = 100 (3)
(2,2) u2 + v2 = 400 (4)
(3,2) u3 + v2 = 200 (5)
(3,3) u3 + v3 = 100 (6)
(4,2) u4 + v2 = 300 (7)
(4,4) u4 + v4 = 500 (8)

Les systèmes linéaires qui comportent un nombre d’inconnues supérieur au nombre


d’équations admettent habituellement un nombre infini de solutions. Pour déterminer
l’une des solutions de ce système, on pose u1 = 0 et on déduit v2 = 600 (1), v5 = 500
(2); v2 = 600 nous permet de trouver u2 = -200 (4), u2 = -400 (5), u4 = -300 (7) et on
peut enfin déterminer v1 = 300 (3), v3 = 500 (6) et v4 = 800 (8).

Remarque : Les valeurs des variables ui et vj peuvent se trouver directement à partir


du tableau de calcul, sans même formuler le système d’équations.
L’obtention des ui et vj permet de calculer les coûts marginaux c’ij associés aux
variables hors-bases. On montre que c’ij = cij – (ui + vj ).
Par exemple c’11 = 200 – (0 + 300) = -100

Cours conçu et dispensé par Pr Etgard MANGA 67


Le tableau de calcul incorporant les valeurs des variables ui et vj et des coûts
marginaux est le suivant :

V1=300 V2 = 600 V3 = 500 V4 = 800 V5 = 500 si


u1 = 0 -100 600 0 100 500
200 5 500 900 21 26
- - -

u2 = -200 100 400 200 300 200


18 6 500 900 500 24
- - -

u3 = -400 600 200 100 300 500


500 5 22 700 600 27
- - -

u4 = -300 600 300 200 500 700


600 4 400 19 900 23
- - -

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

Cours conçu et dispensé par Pr Etgard MANGA 68


CHAPITRE 4 : LA THEORIE DE LA DECISION

L’incertitude est une des caractéristiques permanentes de la gestion des


entreprises et de façon plus générale de toutes les décisions économiques. Poser un
acte économique en terme de décision implique toujours un risque, un pari sur les
résultats que l’on ne peut maîtriser avec certitude de façon exhaustive.
Les décisions sont prises avec une information limitée ; elles vont s’intégrer
dans un environnement incertain en perpétuelle évolution ; elles peuvent se heurter aux
décisions d’autres agents économiques.
Il existe, certes, des techniques qui permettent de réduire ce risque par
l’amélioration de l’information du décideur, ou par la suppression du facteur de risque,
ou encore par réduction des ses conséquences défavorables. Mais de telles techniques
ne sont pas toujours utilisables et, quand elles le sont, elles n’éliminent pas forcement
la totalité du risque. De toute façon, elles entraînent généralement un coût, et se pose
alors le problème de leur rentabilité.
Lorsque l’entreprise a à sa disposition des probabilités concernant les
environnements éventuels, elle peut appliquer certains critères de décision développés
dans le cadre de l’analyse bayésienne. Ces critères lui permettent de sélectionner la
meilleure décision compte tenu des résultats éventuels. Cette analyse se présente
traditionnellement en trois étapes : l’analyse a priori qui permet de déterminer la
stratégie optimale sans information supplémentaire ; l’analyse a posteriori qui utilise
l’information additionnelle dans le choix de la meilleure stratégie ; l’analyse pré-
postérieure qui évalue l’information.

I- La structure des matrices de gains


Dans le cadre de la théorie de la décision, une décision dans l’incertitude peut
être représenté par un ensemble de facteurs pouvant être résumés dans un tableau de
gain appelé matrice de gains. De tels tableaux peuvent présenter les gains ou des pertes
conditionnelles associées à chaque couple décision – évènement et des probabilités des
évènements possibles. La structure de ces tableaux de gains est la suivante :

Cours conçu et dispensé par Pr Etgard MANGA 69


Evènements Probabilités Actions
A1 A2 A3 … An
E1 P1 X11 X12 X13 … X1n
E2 P2 X21 X22 X23 … X2n
E3 P3 X31 X32 X33 … X3n
. . . . . . .
. . . . . . .
. . . . . . .
Em Pm Xm1 Xm2 Xm3 … Xmn

Remarque : La somme des probabilités doit être égale à l’unité.


Les actions sont des différentes manières de réagir face à un évènement
considéré. L’analyse des ces actions donne lieu à une prise d’une meilleure décision.
Les évènements sont des faits aléatoires qui échappent à la maîtrise du décideur
et qui conditionnent le niveau de succès ou de gain obtenu pour une action choisie. Ils
sont appelés état de la nature et sont mutuellement exclusifs i.e. deux à deux
incompatibles. Ils doivent être exhaustifs i.e. entièrement dénombrables.

EXEMPLE : Un distributeur d’appareil de climatisation doit prendre une


décision sur le nombre d’unité à vendre durant la prochaine saison sèche sur la base de
la demande de la saison précédente. Il estime à 0,10 ; 0,30 ; 0,40 et 0,20 les
probabilités de ne vendre que 5 ; 10 ; 15 et 20 unités respectivement. Les unités ne
sont commandées que par groupe de 5 aux prix de 1000 unités monétaires chacune et
le prix de vente est de 1300 unités monétaires par pièce. Toute unité non vendue est
retournée au fournisseur qui accorde un crédit de 800 unités monétaires, déduction
faite des frais d’expédition. Donnons le tableau des gains
Il faut d’emblée remarquer que les gains conditionnels sont calculés à partir
d’une majoration de 300 UM (1300-1000) par pièce vendue et une diminution de 200
UM (800-1000) par pièce non vendue.
Les probabilités des évènements données sont appelées probabilités à priori.
Les gains associés sont donnés par le tableau suivant :

Cours conçu et dispensé par Pr Etgard MANGA 70


Quantités Probabilités Quantités commandées
demandées A1 = 5 A2 = 10 A3 = 15 A4 = 20
E1 = 5 0,10 1500 500 -500 -1500
E2 = 10 0,30 1500 3000 2000 1000
E3 = 15 0,40 1500 3000 4500 3500
E4 = 20 0,20 1500 3000 4500 6000

Si 5 unités sont commandées et 5 vendues alors le gain est de 5x300= 1500 ;


Si 10 unités sont commandées et 5 vendues alors le gain est de 5x300 – 5x200 = 500 ;
Si 20 unités sont commandées et 5 vendues alors le gain est de 5x300 – 15x200 = -
1500.
Les décisions peuvent aussi être prises sur la base des probabilités des
évènements.

II- La détermination de la stratégie optimale à priori


A partir des probabilités de chacun des facteurs d’environnement dont
l’importance a été jugée significative, et une fois déterminés les résultats de chaque
action pour des environnements éventuels, l’application du critère de l’espérance
mathématique détermine la meilleure stratégie.
De façon générale, si au résultat Rij entraîné par la décision Ai et l’état de
l’environnement Ej , est associé une probabilité P(Ej), (j = 1, 2, …,n) l’espérance
n
mathématique des Rij sera donnée par l’expression : E(Ai) = R
j 1
ij P( E j )

L’application du critère de l’espérance mathématique conduit à sélectionner la


n
décision Ai telle que E(Ai) soit maximum ie qui corresponde à Max  Rij P( E j ) .
i
j 1

Dans le cas ci-dessus, nous pouvons calculer l’espérance mathématique :


Demandes (D) Probabilités [P(D)] Espérance mathématique [DxP(D)]
E1 = 5 0,10 0,5
E2 = 10 0,30 3,0
E3 = 15 0,40 6,0
E4 = 20 0,20 4,0
Total 1 13,5

Cours conçu et dispensé par Pr Etgard MANGA 71


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.

III- Décision basée sur les conséquences économiques


Il peut arriver que l’entreprise ne dispose pas d’informations sur la
vraisemblance de l’environnement. La situation de la matrice de gain nous sera
présentée sans probabilité. Dans ce cas on peut envisager quatre critères :
- Le critère de Laplace ;
- Le critère du maximin ou critère de Wald ;
- Le critère du maximax ou critère de Hurwicz;
- Le critère de minimax regret ou critère de Savage.

1- Le critère de Laplace : Il cherche à maximiser l’espérance de gain. Pour calculer


cette espérance, on attribue à chaque état une probabilité de 1/n où n est le nombre des
états. Chaque gain est multiplié par cette probabilité et tous les résultats sont
correspondant à une même décision sont additionnés et on choisit la décision qui
maximise ce résultat. Si les gains espérés sont par exemple de 3,2 ; 1,7 et -0,8 dans un
cas quelconque, nous aurons une espérance de E = (3,2 + 1,7 -0,8)/3 = 1,37
Dans le cas de notre exemple, on a :
Quantités Probabilités Quantités commandées
demandées A1 = 5 A2 = 10 A3 = 15 A4 = 20
E1 = 5 0,10 1500 500 -500 -1500
E2 = 10 0,30 1500 3000 2000 1000
E3 = 15 0,40 1500 3000 4500 3500
E4 = 20 0,20 1500 3000 4500 6000
GAIN MOYEN 1500 2375 2625 2250

En choisissant le gain maximum de 2625, on commande 15 climatiseurs.

Cours conçu et dispensé par Pr Etgard MANGA 72


2- Le critère du maximin : Le décideur dans ce cas choisit la décision qui
maximise le plus petit gain possible. Ainsi il est pessimiste puisqu’il ne tient compte
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.

3- Le critère du maximax : Le décideur est ici optimiste et doit choisir la valeur


pour laquelle le gain maximal est le lus élevé. Il retient la valeur qui lui garanti donc le
plus grand gain.
Dans notre exemple on a Max (1500, 3000, 4500, 6000) = 6000. Soit une commande
de 20 unités.
Si le décideur le décideur ne tient compte que du maximum de gain (M) et du
minimum de gain (m), ceci suppose qu’il dispose d’un coefficient d’optimisme (α).
Dans ce cas on aura :
Di = αMi + (1-α)mi. La décision retenue sera celle qui maximise Di.

4- Le critère du minimax regret : Le décideur choisit la décision qui correspond


au minimum de regret maximal. Ce critère fait appel au regret plutôt qu’au gain. Le
regret est l’écart entre le gain effectivement réalisé et celui qui aurait pu être obtenu si
on avait pris la bonne décision compte tenu de la situation qui s’est réalisée. On relève
par décision le regret maximal. Le décideur prend la décision qui correspond à
minimiser ce regret maximal.

En reprenant notre exemple nous pouvons dresser le tableau de manque à


gagner suivant :

Cours conçu et dispensé par Pr Etgard MANGA 73


Demandes A1 = 5 A2 = 10 A3 = 15 A4 = 20
E1 = 5 0 1000 2000 3000
E2 = 10 1500 0 1000 2000
E3 = 15 3000 1500 0 1000
E4 = 20 4500 3000 1500 0
Regret maximal 4500 3000 2000 3000

Si on commande 5 et que la demande est de 5 unités, le manque à gagner est 0


Si on commande 5 et que la demande est de 20 unités, le manque à gagner est de (20-
5)x300 = 4500 (Chaque unité des 15 restantes aurait dû produire 300)
Si on commande 15 et que la demande est de 5 unités, le manque à gagner est de (15-
5)x200 = 2000 (On retourne dans ce cas 10 unités au fournisseur)
Le minimum de regret maximal est de 2000 qui correspond à une commande de
15 unités et une demande de 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:

Demandes Probabilités Quantités commandées


A1 = 5 A2= 10 A3= 15 A4= 20
E1 = 5 0,10 1500(150) 500(50) -500(-50) -1500(-150)
E2= 10 0,30 1500(450) 3000(900) 2000(600) 1000(300)
E3= 15 0,40 1500(600) 3000(1200) 4500(1800) 3500(1400)
E4= 20 0,20 1500(300) 3000(600) 4500(900) 6000(1200)
Espérance 1500 2750 3250 2750
mathématique

E(A2) = 500x0,10 + 3000(0,30 + 0,40 + 0,20) = 2750


En choisissant la valeur de l’espérance mathématique la plus élevée (3250), on
conclut qu’il est question de passer une commande de 15 unités.

Cours conçu et dispensé par Pr Etgard MANGA 74

Vous aimerez peut-être aussi