Vous êtes sur la page 1sur 48

INSTITUT SUPERIEUR DES SCIENCES DEPARTEMENT : GENIE MECANIQUE

APPLIQUEES ET DE TECHNOLOGIE
DE SOUSSE

Éléments de Cours

Outils d’Optimisation de la
Production

Pour les classes


2ème Année Génie Electromécanique-MI

Réalisé par : Imed KHEMILI

A.U : 2023 / 2024


TABLE DES MATIERES
1. PROGRAMMATION LINEAIRE ................................................................................................... 1
1.1 FORME GÉNÉRALE D’UN PROGRAMME LINÉAIRE .............................................................................. 1
1.2 FORME CANONIQUE ET STANDARD D’UN PROGRAMME LINÉAIRE ..................................................... 2
1.2.1 Forme canonique ................................................................................................................... 2
1.2.2 Forme standard ..................................................................................................................... 2
1.3 ÉCRITURE MATRICIELLE D’UN PROGRAMME LINÉAIRE ..................................................................... 4
1.4 MODÉLISATION D’UN PROBLÈME ..................................................................................................... 5
1.4.1 Exemple ................................................................................................................................. 5
1.4.2 Modélisation .......................................................................................................................... 5
2. RESOLUTION D’UN PROGRAMME LINEAIRE ....................................................................... 7
2.1 EXEMPLE INTRODUCTIF.................................................................................................................... 7
2.2 MÉTHODE GRAPHIQUE ..................................................................................................................... 7
2.3 MÉTHODE DU SIMPLEXE .................................................................................................................. 8
2.3.1 Introduction ........................................................................................................................... 8
2.3.2 Algorithme du Simplexe ....................................................................................................... 10
2.3.3 Résumé de l’algorithme ....................................................................................................... 14
2.4 RÉSOLUTION D’UN PROGRAMME LINÉAIRE GÉNÉRAL ..................................................................... 15
2.5 CAS PARTICULIERS ......................................................................................................................... 20
2.5.1 Cas de solution non réalisable............................................................................................. 21
2.5.2 Cas de solution sans borne .................................................................................................. 21
2.5.3 Cas de solution multiple ...................................................................................................... 22
2.5.4 Dégénérescence ................................................................................................................... 22
2.5.5 Variables libres .................................................................................................................... 22
3. PROLONGEMENT DE LA PROGRAMMATION LINEAIRE : DUALITE ........................... 23
3.1 PROGRAMMES LINÉAIRES DUALS ................................................................................................... 23
3.2 PROBLÈME DE PRODUCTION ........................................................................................................... 24
3.2.1 Problème du producteur ...................................................................................................... 24
3.2.2 Problème du racheteur (voisin) ........................................................................................... 26
3.3 PROBLÈME DE MÉLANGE ................................................................................................................ 26
3.3.1 Problème du distillateur (fournisseur) ................................................................................. 27
3.3.2 Problème du sous-traitant ................................................................................................... 28
3.4 CORRESPONDANCE PRIMAL DUAL ................................................................................................. 28
3.5 THÉORÈME DE LA DUALITÉ ............................................................................................................ 30
3.6 THÉORÈME DE COMPLÉMENTARITÉ DES ÉCARTS ............................................................................ 31
3.7 ALGORITHME DUAL DU SIMPLEXE ................................................................................................. 35
4. ANALYSE POST- OPTIMISATION............................................................................................. 38
4.1 INTERPRÉTATION ÉCONOMIQUE DES VARIABLES DUALES ET DES COÛTS RÉDUITS .......................... 38
4.1.1 Variables duales .................................................................................................................. 38
4.1.2 Coûts réduits associés aux variables de décision hors base ................................................ 40
4.2 SENSIBILITÉ DES RÉSULTATS .......................................................................................................... 40
4.2.1 Changement à la fonction objectif ....................................................................................... 41
4.2.2 Changement au coté droit .................................................................................................... 42
4.2.3 Autres changements ............................................................................................................. 42
Outils d’Optimisation de la Production Programmation linéaire

1. PROGRAMMATION LINEAIRE
La programmation linéaire est une des techniques les plus remarquables
utilisées en recherche opérationnelle. Depuis quelques dizaines d’années elle s’est
développée à une vitesse foudroyante pour devenir un outil de gestion
indispensable dans plusieurs entreprises modernes et dans différents domaines
tels que la gestion de production, l’informatique, la télécommunication,…
Elle consiste à l’optimisation d’un problème industriel ou économique
modélisé par un modèle mathématique linéaire. Plus précisément, la
programmation linéaire consiste à optimiser une fonction économique linéaire
(fonction objectif), tout en respectant un certain nombre d’équations ou
d’inéquations linéaires (contraintes).
En effet, lorsque toutes les fonctions du problème mathématique général :
min (max) f ( X ) sujet à gi ( X ) , ,  bi , i  1,..., m
X 0

sont linéaires, on dit qu’on a un problème de programmation linéaire, ou plus


familièrement, un programme linéaire (PL). Dans ce cours, on étudie en détails
une méthode itérative très efficace pour obtenir la solution optimale d’un
problème de programmation linéaire. Elle a été développée par George DANTZIG
en 1974 et elle est connue sous le nom de « méthode du simplexe ».
1.1 Forme générale d’un programme linéaire
Le problème de programmation linéaire général peut être formulé comme
suit : on désire trouver la valeur de n variables de décision non
négatives, x j , j  1,..., n , satisfaisant m équations ou inéquations
linéaires (contraintes) :
a11 x1  a12 x2  ...  a1n xn  b1

ak1 x1  ak 2 x2  ...  akn xn  bk


ak 1,1 x1  ak 1,2 x2  ...  ak 1, n xn  bk 1
(1.1)
a 1 x1  a 2 x2  ...  a n xn b
a 1,1 x1  a 1,2 x2  ...  a 1,n xn  b 1

am1 x1  am 2 x2  ...  amn xn  bm


tout en minimisant ou maximisant une fonction économique linéaire :
n
Z   c j x j  c1 x1  c2 x2  ...  cn xn . (1.2)
j 1

Tous les paramètres ( aij , bi , c j ) sont des constantes connues.

Notes de cours 1 Imed KHEMILI


Outils d’Optimisation de la Production Programmation linéaire

1.2 Forme canonique et standard d’un programme linéaire

1.2.1 Forme canonique


On dit qu’un programme linéaire est sous la forme canonique si on a un
problème de maximisation, toutes les contraintes sont du type “  ” et les variables
de décisions sont non négatives, soit le modèle suivant :
 n

 Max Z   cjxj
j 1

sujet à :

a11 x1  a12 x2  ...  a1n xn  b1
a x  a x  ...  a2 n xn  b2
(1.3)
 21 1 22 2

am1 x1  am 2 x2  ...  amn xn  bm

 xj  0

Remarque : tout problème de programmation linéaire peut être mis sous la
forme canonique grâce aux transformations suivantes :
- Transformer les variables négatives en variables positives, en
remplaçant xi par xi'   xi . S’il y a des variables sans contraintes de
signes, on pose xi  xi   xi  où xi   max( xi ,0) et xi   max( xi ,0). Les
nouvelles variables xi  , xi  sont évidemment positives.

- Transformer les contraintes de type “  ” en inégalités de type “  ” en


les multipliant par -1.
- Remplacer les contraintes de type “  ” par deux contraintes une de type
“  ”, l’autre de type “  ”.
- Passer de Min vers Max (si l’optimisation est une minimisation) en
posant W  Z . On aura donc Min Z   Max ( Z )   Max (W ) .
Exemple :

 Min Z  3x1  x3  Max W  3 x1  x3


 
sujet à : sujet à :
 x1  2 x2 '  3 x3  2
 x1  2 x2  3x3  2 
   .
 4 x2  x3  5   4 x2
'
 x 3  5
 x1 , x3  0  4 x2 '  x3  5
 
 x2 0  x1 , x2 ' , x3  0

1.2.2 Forme standard


On dit qu’un programme linéaire est sous la forme standard si on a un
problème de maximisation, toutes les contraintes sont du type “ ” et les variables
de décisions sont non négatives, soit le modèle suivant :

Notes de cours 2 Imed KHEMILI


Outils d’Optimisation de la Production Programmation linéaire

 n

 Max Z  cj xj
j 1

sujet à :

a11 x1  a12 x2  ...  a1n xn  b1
a x  a x  ...  a2 n xn  b2
 21 1 22 2

am1 x1  am 2 x2  ...  amn xn  bm

 xj  0

Remarque : Pour pouvoir résoudre un programme linéaire, il faut passer
obligatoirement par la forme standard. Ce passage (de forme canonique vers la
forme standard) nécessite l’utilisation de ce qu’on appelle variables d’écarts
(positives ou nulles). Tout problème de programmation linéaire peut être mis
sous la forme standard grâce aux transformations suivantes :
- Transformer les variables négatives en variables positives comme on a
présenté précédemment.
- Transformer les contraintes de type “  ” en inégalités de type “  ” en
les multipliant par -1.
- Transformer les contraintes de type “  ” en égalités de type “ = ” en
introduisant une nouvelle variable positive, xn i dite variable d’écart,
dans la contrainte i.
- Pondérer les variables d’écarts par zéro dans la fonction objectif.
La forme standard du modèle (1.3) est :
 nm

 Max Z   c j x j  c1 x1  c2 x2  ...  cn xn  0 xn1  ...  0 xn m


j 1

sujet à :

a11 x1  a12 x2  ...  a1n xn  xn 1  b1
a x  a x  ...  a2 n xn  xn  2  b2
(1.4)
 21 1 22 2

am1 x1  am 2 x2  ...  amn xn  xn  m  bm

 xj  0

Exemple :
 Max Z  3 x1  x2  Max Z  3 x1  x2
 
sujet à : sujet à :
Soit le (PL) :  x1  2 x2  2  la forme standard est :  x1  2 x2  x3  2 .
4 x  x  5  4 x  x  x   5
 1 2  1 2 4

 x1 , x2  0  x1 , x2 , x3 , x4  0

Notes de cours 3 Imed KHEMILI


Outils d’Optimisation de la Production Programmation linéaire

1.3 Écriture matricielle d’un programme linéaire


En écriture matricielle, la forme canonique d’un programme linéaire est la
suivante :
 Max Z  C T X

 Sujet à :
 .
 AX  B
 X  0

Pour le programme linéaire (1.3) :


 c1   x1   a11 a1n   b1 
       
C  , X   , A   et B    .
c  x  a amn  b 
 n  n  m1  m
La forme standard (1.4) peut s’écrire sous la forme matricielle comme suit :
 Max Z   C 'T X '

 Sujet à :

A' X '  B
 X '0

avec :
 c1   x1 
   
     a11 a1n 1 0 0
   b1 
 cn   xn  a21 a2 n 0 1 0  
C '   , X '    , A'   et B    .
0  xn 1    b 
   m
     am1 amn 0 0 1 
   
0  xn  m 
Exemple :
Soit le programme linéaire (sous forme canonique) suivant :
 Max Z  3 x1  x2
  Max Z  C T X
sujet à : 
 Sujet à :
 x1  2 x2  2  sa forme matricielle est : 
4 x  x  5  AX  B
 1 2  X  0
 x1 , x2  0

 3 x  1 2  2
avec : C    , X   1  , A    et B    .
1  x2  4 1 5

Notes de cours 4 Imed KHEMILI


Outils d’Optimisation de la Production Programmation linéaire

 Max Z  3 x1  x2

sujet à :
La forme standard correspondante est :  x1  2 x2  x3  2 .
4 x  x  x  5
 1 2 4

 x1 , x2 , x3 , x4  0
 Max Z   C 'T X '

 Sujet à :
Son écriture matricielle est :  .
 A ' X '  B
 X '0

 3  x1 
   
1 x2 1 2 1 0  2
avec : C '   , X '    , A'    et B    .
0  x3  4 1 0 1 5
 0   
   x4 
1.4 Modélisation d’un problème
Afin de bien illustrer les mécanismes de la programmation linéaire, on
débute avec un exemple simple à deux variables.

1.4.1 Exemple
Un industriel veut fabriquer deux produits P1 et P2 à partir de trois
composants (ressources) : ,  et .
Le produit P1 rapporterait un bénéfice de 8 dinars et consommerait 5 unités
de  , 2 unités de  et 1 unité de .
Le produit P2 rapporterait un bénéfice de 6 dinars et consommerait 3 unités
de  , 3 unités de  et 3 unités de .
Les disponibilités des composants par semaine sont : 3000 unités de , 2400
unités de  et 1800 unités de .
Combien de produit P1 et P2 devrait-il fabriquer pour maximiser le bénéfice ?

1.4.2 Modélisation
Pour modéliser le problème par un programme linéaire :
1. Définir tout d’abord les variables de décision, pour cela on note par :
- x1 : le nombre de produit P1 qu’on cherche à fabriquer.

- x2 : le nombre de produit P2 qu’on cherche à fabriquer.


2. Exprimer, par la suite, la fonction objectif qu’on cherche à optimiser.
Soit à maximiser un bénéfice : Z  8 x1  6 x2 .
3. Établir enfin les contraintes qu’on doit respecter, concernant les
limitations des ressources disponibles.

Notes de cours 5 Imed KHEMILI


Outils d’Optimisation de la Production Programmation linéaire

5 x1  3 x2  3000 (Disponibilité en composant  )



Soit :  2 x1  3 x2  2400 (Disponibilité en composant  )
 x  3 x  1800 (Disponibilité en composant  )
 1 2

Le programme linéaire permettant de maximiser les bénéfices de l’industriel


est donc le suivant :
 MaxZ  8 x1  6 x2
 sujet à :

5 x1  3x2  3000
 (1.5)
2 x1  3x2  2400
 x1  3x2  1800

 x1 , x2  0
Sa forme standard est :
 MaxZ  8 x1  6 x2
 sujet à :

5 x1  3x2  x3  3000

2 x1  3 x2  x4  2400
 x1  3x2  x5  1800

 x1 , x2 , x3 , x4 , x5  0

Notes de cours 6 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

2. RESOLUTION D’UN PROGRAMME LINEAIRE


2.1 Exemple introductif
Reprenons l’exemple (1.5), déjà présenté dans le chapitre précédent, dont le
programme linéaire correspondant a été formulé comme suit :
 Max Z  8 x1  6 x2
 sujet à :

5 x1  3 x2  3000
 (2.1)
2 x1  3x2  2400
 x1  3x2  1800

 x1 , x2  0
Sa forme standard est :
 Max Z  8 x1  6 x2
 sujet à :

5 x1  3x2  x3  3000

2 x1  3 x2  x4  2400
 x1  3x2  x5  1800

 x1 , x2 , x3 , x4 , x5  0
où x3 , x4 , x5 représentent les résidus des ressources  ,  ,  .
Nous sommes dans le cas d’un système constitué de trois relations à cinq
inconnues. Pour le résoudre il faut choisir deux inconnues et déterminer les
autres. Dans ce cas nous aurons une double infinité de solutions, nous allons
maintenir celle qui maximise le bénéfice.
Trois méthodes de résolution peuvent être utilisées : la méthode élémentaire,
la méthode graphique et la méthode du simplexe. Dans ce cours, nous allons se
limiter à présenter la méthode la plus répandue : la méthode du simplexe.
2.2 Méthode Graphique
Elle n’est applicable que pour la résolution des programmes linéaires à deux
variables. La procédure de résolution repose sur les étapes suivantes :
- Tracer les droites correspondant aux contraintes.
- Déterminer le domaine réalisable en vérifiant le sens des inégalités pour
chaque contrainte.
- Tracer les droites correspondant à la variation de l’objectif.
3 1
 Exemple : Z  3x1  5 x2  x2   x1  Z
5 5
1
 Déterminer l’ordonnée à l’origine (dépend de la valeur de Z) : Z
5

Notes de cours 7 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

3
 Pente :  .
5
 Maximiser : augmenter Z (en augmentant Z graduellement, on obtient
une série de droites parallèles. Il suffit donc d’augmenter Z jusqu’à ce
que la droite obtenue soit tangente à l’ensemble des solutions
réalisables pour déterminer la ou les solutions optimales).
Exemple :
 Max Z  3x1  5 x2
 sujet à :

 x1  4

2 x2  12
3x1  2 x2  18

 x1 , x2  0

x2
x2

9
x1  4 Z=36
2 x2  12 (2,6)
6
6
Z=20
(4,3)
(4,3)
Z=10

x1 x1
4 6 3x1  2 x2  18
4
Domaine
réalisable

Cette représentation géométrique du problème illustre clairement que si un


programme linéaire a une solution optimale unique elle se trouve à un point
extrême de l’ensemble des solutions réalisables.

2.3 Méthode du Simplexe

2.3.1 Introduction
La méthode du simplexe est une technique algébrique qui permet de trouver
la solution optimale d’un programme linéaire d’une façon ordonnée et concise.
C’est une méthode itérative qui se base sur le fait de partir d’une solution de base
réalisable (solution de départ nulle) et d’augmenter (si on maximise) ou de
diminuer (si on minimise) la valeur de la fonction objectif.
Comme il a été déjà présenté dans le chapitre 1, un programme linéaire
général peut être formulé comme suit : On désire trouver la valeur de n variables

Notes de cours 8 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

de décision non négatives, x j , j  1,..., n , satisfaisant m équations ou inéquations


linéaires (contraintes) :
a11 x1  a12 x2  ...  a1n xn  b1

ak1 x1  ak 2 x2  ...  akn xn  bk


ak 1,1 x1  ak 1,2 x2  ...  ak 1, n xn  bk 1
(2.2)
a 1 x1  a 2 x2  ...  a n xn b
a 1,1 x1  a 1,2 x2  ...  a 1,n xn  b 1

am1 x1  am 2 x2  ...  amn xn  bm


tout en minimisant ou maximisant une fonction économique linéaire :
n
Z   c j x j  c1 x1  c2 x2  ...  cn xn . (2.3)
j 1

Tous les paramètres ( aij , bi , c j ) sont des constantes connues.

En utilisant les variables d’écarts, les contraintes du problème peuvent être


représentées par un système de m équations linéaires en p  n  variables :

n
j 1
aij x j  xn i  bi , i  1,..., k

n
 aij x j  xn i  bi , i  k  1,..., l
 j 1 (2.4)
n
 aij x j  xn i  bi , i   1,..., m
 j 1
 x  0, j  1,..., n 
 j
Ce système d’équations linéaires s’écrit, sous forme matricielle :
AX  x1a1  x2a2  ...  xnl anl  B

où A   aij  , B   bi  et X   x j  et où les a j sont les vecteurs colonnes de A.

Tout ensemble de m vecteurs a j linéairement indépendants constitue une


base. Les m variables associées aux colonnes d’une base sont des variables de base.
Les ( p  m) autres variables sont des variables hors-base.
Lorsqu’on annule les ( p  m) variables hors-base, on obtient un système de m
équations linéaires en m variables. Ce système possède une solution unique. On
appelle solution de base l’ensemble des valeurs ainsi obtenues pour toutes les
variables (incluant les variables hors-base nulles). Lorsqu’une solution de base
satisfait les restrictions de non-négativité, on dit qu’elle est une solution réalisable
de base.

Notes de cours 9 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

Une solution optimale de base est une solution réalisable de base qui rend
p
optimale la fonction économique Z   c j x j  c1 x1  c2 x2  ...  cn xn  0 xn1  ...  0 xn l .
j 1

Si on observe, en plus, que Max Z   Min( Z ) on se rend compte que tout


programme linéaire peut s’écrire :
 Min Z  C T X

 Sujet à :
 .
 AX  B
 X  0

2.3.2 Algorithme du Simplexe


Revenons à l’exemple (2.1) et essayons d’énoncer les étapes de l’algorithme
du simplexe.
1ère étape : (Solution de départ)
Écrire le programme sous la forme standard, choisir un ensemble initial de
variables de base (une solution de départ réalisable), exprimer la fonction
économique en fonction des variables hors-base et écrire le système sous forme
d’un tableau.
Sous la forme standard l’exemple s’écrit :
 Max Z  8 x1  6 x2   Min ( Z )  8 x1  6 x2 

 sujet à :
5 x  3 x  x  3000

1 2 3

2 x1  3 x2  x4  2400
 x  3x  x5  1800
 1 2

 x1 , x2 , x3 , x4 , x5  0
Une solution réalisable de base est obtenue en annulant les variables hors
base et en résolvant le système ainsi déterminé pour avoir la valeur des variables
de base. La base est une m  m matrice inversible fabriquée en extrayant m
colonnes linéairement indépendantes de la matrice A. En choisissant
x3 , x4 et x5 comme variables de base initiales, on obtient une solution réalisable de
base de départ immédiatement, soit :
x1  x2  0, x3  3000 ; x4  2400 ; x5  1800 .
On peut dresser le tableau suivant :

Variables x1 x2 x3 x4 x5 b
de base
x3 5 3 1 0 0 3000 

doit être non négatif

x4 2 3 0 1 0 2400 

x5 1 3 0 0 1 1800 

Z -8 -6 0 0 0 0

Base initiale
(1 par colonne, 0 ailleurs)

Notes de cours 10 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

La dernière rangée contient la fonction économique exprimée de la façon


suivante : Z  8 x1  6 x2  0 .
On doit toujours écrire le problème de sorte que le coté droit du tableau soit
non négatif. Autrement, la solution de base obtenue n’est pas réalisable.
2ème étape : (choix de la variable rentrante)
S’il y a des variables hors-base avec un coefficient négatif dans la dernière
rangée, choisir celle qui a le plus petit coefficient comme nouvelle variable de
base. On l’appelle variable rentrante.
Si toutes les variables hors-base ont un coefficient positif ou nul dans la
dernière rangée, on a une solution optimale.
Les nouveaux coefficients obtenus à chaque itération dans la dernière rangée
correspondant à la fonction économique sont appelés coûts réduits. On les note
par c j , j  1,..., p .

Cette étape consiste donc à trouver : cr  min(c j ) et à choisir la nouvelle


j

variable de base,  xr  (variable rentrante), qui a le meilleur potentiel de gain,


puisque le plus petit coefficient est celui qui minimise la fonction économique le
plus rapidement.
3ème étape : (recherche de limitation)
Déterminer la valeur maximale que peut prendre la variable rentrante dans
la base et qui vérifie toutes les contraintes. Pour cela calculer une limitation pour
cette variable rentrante. Ceci correspond au rapport entre le coté droit et les
coefficients positifs de la variable rentrante.
Soit le tableau suivant :
xr xk b

. a1r 0 b1
.
.

xk . . . air . . . 1 . . . bi

.
.
.

amr 0 bm

Z c1 cr cj 0 c p

(*) désigne une itération quelconque.

Notes de cours 11 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

En faisant entrer  xr  dans la base, on obtient :

xk  bi  air xr , i  1,..., m .


Où k est l’indice de la variable de base dans la rangée i. par conséquent si on
fait sortir une variable de la base, disons  xk  , elle devient nulle et on a :
0  bi  air xr .

bi
D’où xr  .
air
Pour obtenir une solution réalisable au prochain tableau, il faut sortir de la
base la variable qui donne la plus petite valeur de  xr  , c'est-à-dire la première
variable qui prend une valeur non réalisable lorsqu’on augmente  xr  .

 b  b
Cette étape consiste donc à chercher : xr  min  i air  0   s
i , i 1,..., m a
 ir  asr
Où s est l’indice de la rangée avec le plus petit rapport. La variable de base
dans la rangée s tu tableau est appelée variable sortante de la base.
Le coefficient, à l’intersection de la colonne de la variable rentrante et la
ligne de la variable sortante s’appelle pivot.
Appliquons ceci à notre exemple :
x1 x2 x3 x4 x5 b Limitation

x3 3000
5 3 1 0 0 3000  600 
5
x4 2400
2 3 0 1 0 2400  1200
2
x5 1800
1 3 0 0 1 1800  1800
1
Z -8 -6 0 0 0 0

Ce tableau indique que x3 doit sortir de la base et que x1 doit y rentrer.


4ème étape : (transformation du tableau)
Changer de base, résoudre pour trouver la valeur des nouvelles variables de
base et exprimer la fonction économique en termes des variables hors-base.
Retourner à la deuxième étape.
Ceci consiste à transformer le tableau de la façon suivante :
- Diviser la rangée de la variable sortante par le pivot.
- Calculer les autres coefficients, en utilisant la méthode du rectangle, par
la formule suivante :

Notes de cours 12 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

ar
a ' k  a k  ask
asr

r k

ar ak `

asr ask s

On doit former un rectangle ayant le pivot comme sommet, et l’élément à


modifier comme sommet opposé.
On peut alléger les calculs en sachant que :
- Tous les coefficients de la colonne de la variable rentrante deviennent
nuls à part le pivot devient égal à 1.
- Les colonnes des variables de base correspondent aux colonnes de la
matrice unité.
Après transformation, le tableau devient :

x1 x2 x3 x4 x5 b Limitation

x1 1 3/5 1/5 0 0 600 1000

x4 0 9/5 -2/5 1 0 1200 666,66

x5 0 12/5 -1/5 0 1 1200 500 


Z 0 -6/5 8/5 0 0 4800


6 8
La rangée des coûts réduits (dernière rangée) indique que Z  x2  x3  4800 .
5 5
Puisque x2 et x3 sont les variables hors-base, elles sont égales à zéro et on
obtient Z  4800 . Continuons la résolution de même, on obtient le tableau suivant :

Notes de cours 13 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

x1 x2 x3 x4 x5 b

x1 1 0 1/5 0 -1/4 300 




x4 0 0 -1/4 1 -3/4 300  Solution optimale

x2 
0 1 -1/12 0 5/12 500

Z 0 0 3/2 0 1/2 5400

Tous les coûts réduits sont positifs ou nuls, on termine. La solution optimale
obtenue est :
x1  300
x2  500
x3  x5  0
x4  300
Z max  5400

2.3.3 Résumé de l’algorithme


1. Écrire le programme sous la forme standard, choisir un ensemble
initial de variables de base (une solution de départ réalisable), annuler
les variables hors-base, exprimer la fonction économique en fonction
des variables hors-base et écrire le système sous forme d’un tableau.
2. Trouver cr  min(c j ) et choisir la nouvelle variable de base,
j

 xr  (variable rentrante), qui a le meilleur potentiel de gain, puisque le


plus petit coefficient est celui qui minimise la fonction économique le
plus rapidement.
 bi   bs
3. Calculer la limitation de  xr  : xr  min   air  0    . Déduire la
i , i 1,..., m a
 ir  asr
variable sortante de la base (variable dans la rangée s) et déterminer le
pivot (élément à l’intersection de la colonne de la variable rentrante et
la ligne de la variable sortante).
4. Transformer le tableau de la façon suivante :
- Diviser la rangée de la variable sortante par le pivot.
- Calculer les autres coefficients, en utilisant la méthode du
a
rectangle, par la formule suivante : a ' k  a k  ask r .
asr
Tous les coefficients de la colonne de la variable rentrante deviennent
nulles à part le pivot devient égal à 1.
Les colonnes des variables de base correspondent aux colonnes de la
matrice unité.

Notes de cours 14 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

Application :
Un industriel possède, dans l’un de ses ateliers de production, trois machines
M1, M2 et M3 qui sont partiellement inutilisées :
- M1 est libre 18 heures par semaine.
- M2 est libre 8 heures par semaine.
- M3 est libre 14 heures par semaine.
Pour mieux rentabiliser ces machines on envisage de fabriquer deux produits
P1 et P2 dont l’écoulement sur le marché ne poserait pas de problème.
- Chaque unité de P1 rapporterait 2 dinars et consommerait : 1 heure de M1,
1 heure de M2 et 2 heures de M3.
- Chaque unité de P2 rapporterait 3 dinar et consommerait : 3 heures de M1,
1 heure de M2 et 1 heure de M3.

( *** )
Le (PL) permettant de maximiser ses bénéfices est :
 Max Z  2 x1  3x2
 sujet à :

 x1  3 x2  18
 .
 x1  x2  8
2 x1  x2  14

 x1 , x2  0
La résolution par la méthode du simplexe nous conduit au tableau final
suivant :
x1 x2 x3 x4 x5 b

x2 0 1 1/2 -1/2 0 5 


x1 1 0 -1/2 3/2 0 3  Solution optimale

x5 
0 0 1/2 -5/2 1 3

Z 0 0 1/2 3/2 0 21

2.4 Résolution d’un programme linéaire général


Dans l’exemple précédent, toutes les contraintes sont de type ‘’’’, ceci
simplifie le problème puisqu’en l’écrivant sous la forme standard, on obtient une
solution réalisable de base de départ.
Toutefois, si le problème contient des contraintes de type ‘’’’ ou de type ‘’=’’,
on n’obtient pas une solution réalisable de départ en écrivant le système sous
forme standard.

Notes de cours 15 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

Soit à résoudre le programme linéaire général suivant :


n
Z   c j x j  c1 x1  c2 x2  ...  cn xn à optimiser (max ou min).
j 1

sujet à :
a11 x1  a12 x2  ...  a1n xn  b1

a21 x1  a22 x2  ...  a2 n xn  b2

a31 x1  a32 x2  ...  a3 n xn  b3
 x j  0, j  1,..., n

La forme standard est :
Z  c1 x1  c2 x2  ...  cn xn  0 xn 1  0 xn  2 à optimiser (max ou min).

a11 x1  a12 x2  ...  a1n xn  xn 1  b1



a21 x1  a22 x2  ...  a2 n xn  xn  2  b2

a31 x1  a32 x2  ...  a3 n xn  0  b3
 x j  0, j  1,..., n  2

Pour résoudre le problème par la méthode du simplexe, il faut chercher une
solution réalisable de base de départ. Soient xn 1 et xn  2 les variables de base
choisies. En annulant les variables hors-base, le système devient :
 xn 1  b1

 xn  2  b2 ?
 0 b ?
 3

Cette solution de départ ne convient pas, elle n’est pas réalisable.


Pour déterminer une solution de départ réalisable on utilise des variables
artificielles ( yi ) dans les relations de type ‘’’’ et les relations de type ‘’=’’.
Le système devient :
a11 x1  a12 x2  ...  a1n xn  xn 1  b1

a21 x1  a22 x2  ...  a2 n xn  xn  2  y1  b2 .
a x  a x  ...  a x  0  y  b
 31 1 32 2 3n n 2 3

Nous choisissons xn 1 , y1 et y2 l’ensemble des variables de base. En annulant


les variables hors base ( x1  x2   xn  xn  2  0 ), nous obtenons comme solution
réalisable de base de départ :
 xn 1  b1

 y1  b2
 y b
 2 3

Toutefois, pour que la solution obtenue soit valide, tous les yi doivent être
égal à zéro dans le tableau final (doivent être hors base). Pour s’assurer que ces

Notes de cours 16 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

variables artificielles ne seront pas dans la solution optimale, on leur associe un


coût fictif (M) arbitrairement grand ( M   ) lorsqu’il s’agit d’un problème de
minimisation ou un profit fictif arbitrairement petit ( M   ) lorsqu’il s’agit d’un
problème de maximisation.
L’expression de la fonction économique est donc :
Z  c1 x1  c2 x2  ...  cn xn  0 xn1  0 xn 2  My1  My2
Exemple :
 Min Z  3 x1  2 x2

 sujet à :
 x1  x2  10
x 4
 1
 x1 , x2  0
En introduisant les variables artificielles le système devient :
 Min Z  3 x1  2 x2  My1  My2

 sujet à :
 x1  x2  y1  10
x  x  y  4
 1 3 2

 x1 , x2 , y1 , y2  0

La solution de base de départ est :


 y1  10
 .
 y2  4
Le tableau initial correspondant est :

x1 x2 x3 y1 y2 b
y1 1 1 0 1 0 10  (M)
y2 1 0 -1 0 1 4  (M)
3 2 0 0 0 0
-Z
0 0 0 M M 0 (-) (-)

Dans ce tableau on sépare les coefficients de la fonction économique en deux


lignes, la deuxième ligne comporte les coefficients des variables artificielles.
Les deux dernières lignes du tableau se lisent :
Z   3  0  x1   2  0  x2   0  M  y1   0  M  y2  0 .

Cette expression n’est pas fonction des variables hors-base seulement et, par
conséquent il faut la transformer pour que les coefficients de y1 et y2 soient nuls.
Ceci permet d’éviter que l’une des variables artificielle soit une variable
rentrante dans la base. Le tableau devient :

Notes de cours 17 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

x1 x2 x3 y1 y2 b Limitation
y1 1 1 0 1 0 10 10
y2 1 0 -1 0 1 4 4 
3 2 0 0 0 0
-Z
-2M -M M 0 0 -14M

On
peut commencer la résolution. La première itération donne :

x1 x2 x3 y1 y2 b Limitation
y1 0 1 1 1 6 6 
x1 1 0 -1 0 4 Pas de limitation
0 2 3 0 -12
-Z
0 -M -M 0 -6M

Une fois qu’une variable artificielle est sortie de la base, on peut négliger la
colonne correspondante dans le tableau.
La deuxième itération donne :

x1 x2 x3 y1 y2 b
x2 0 1 1 6
x1 1 0 -1 4
0 0 1 -24
-Z
0 0 0 0
On atteint la solution optimale lorsque tous les coûts réduits sont non
négatifs, c'est-à-dire que tous les coefficients de la première ligne de (-Z) sont non
négatifs et que tous les coefficients de sa deuxième ligne sont nuls.
Dans ce cas, la solution optimale obtenue est :
x1  4, x2  6, x3  0
Z min  24

Exercice :
Résoudre le (PL) suivant :

Notes de cours 18 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire


 Max Z  3 x1  4 x2  x3
 sujet à :

 8
 x1  2 x2  2 x3 
 3
 x  2 x  3x  7
 1 2 3
3
 x1 , x2 , x3  0

Correction :
En introduisant les variables artificielles le système devient :

 Max Z  3 x1  4 x2  x3  My   Min ( Z )  3 x1  4 x2  x3  My

 sujet à :
 8
 x1  2 x2  2 x3  x4 
 3
 7
 x1  2 x2  3 x3  x5  y  3

 x1 , x2 , x3 , x4 , y  0
La solution de base de départ est :

 x1  x2  x3  x5  0

 8
 x4  .
 3
 7
 y  3

Le tableau initial correspondant est :


x1 x2 x3 x4 x5 y b
x4 1 2 2 1 0 0 8/3
y 1 2 3 0 -1 1 7/3  (M)
-3 -4 -1 0 0 0 0
Z
0 0 0 0 0 -M 0 (+)
Transformons le tableau pour que le coefficient de y dans la fonction
économique soit nul :
x1 x2 x3 x4 x5 y b Limitation
x4 1 2 2 1 0 0 8/3 4/3
y 1 2 3 0 -1 1 7/3 7/9 
-3 -4 -1 0 0 0 0
Z
M 2M 3M 0 -M 0 7M/3

Notes de cours 19 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

On peut commencer la résolution. La première itération donne :


x1 x2 x3 x4 x5 y b Limitation
x4 1/3 2/3 0 1 2/3 10/9 5/3
x3 1/3 2/3 1 0 -1/3 7/9 7/6 
-8/3 -10/3 0 0 -1/3 7/9
Z
0 0 0 0 0 0

La deuxième itération donne :
x1 x2 x3 x4 x5 y b Limitation
x4 0 0 -1 1 1 1/3 1/3 
x2 1/2 1 3/2 0 -1/2 7/6 Pas de limitation
-1 0 5 0 -2 14/3
Z
0 0 0 0 0 0

La troisième itération donne :
x1 x2 x3 x4 x5 y b Limitation
x5 0 0 -1 1 1 1/3 Pas de limitation
x2 1/2 1 1 1/2 0 4/3 8/3 
Z -1 0 3 2 0 16/3

La quatrième itération donne :
x1 x2 x3 x4 x5 y b
x5 0 0 -1 1 1 1/3
x1 1 2 2 1 0 8/3
Z 0 2 5 3 0 8

La solution obtenue est optimale :


8 1
x1  , x2  x3  x4  0, x5 
3 3
Z max  8
2.5 Cas particuliers
La section précédente illustre le déroulement de la méthode du simplexe pour
un programme idéal. Toutefois, en pratique, plusieurs difficultés supplémentaires
peuvent être rencontrées.

Notes de cours 20 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

2.5.1 Cas de solution non réalisable


Lorsque la méthode du simplexe est utilisée, si une des variables artificielles
se trouve parmi les variables de base dans le tableau final, on conclut que le
modèle n’a pas de solution réalisable.
Exemple :
 Max Z  3 x1  2 x2

 sujet à :
6 x1  6 x2  6
 x  x 2
 1 2

 x1 , x2  0

Le tableau final obtenu est :


x1 x2 x3 x4 y b

x4 1 1 1 0 0 1

y 0 0 -2 -1 1 2

Z 0 5 3 0 0 3
0 0 2M M 0 -2M

Étant donné que y est dans la base, on conclut qu’il n’y a pas de solution
réalisable.

2.5.2 Cas de solution sans borne


Si à la troisième étape d’une itération quelconque de la méthode du simplexe,
il n’y a pas de coefficients positifs dans la colonne de la variable qui doit rentrer
dans la base, cela implique que la solution obtenue est sans borne.
Exemple :
 Max Z  2 x1  2 x2

 sujet à :
  x1  x2  1
 x  2 x  4
 1 2

 x1 , x2  0

À la troisième itération de l’algorithme, on obtient le tableau suivant :


x1 x2 x3 x4 b Limitation
x2 0 1 -1 2 3 Pas de limitation
x1 1 0 -2 2 2 Pas de limitation
Z 0 0 -6 8 10

Notes de cours 21 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

Puisque tous les coefficients de x3 sont négatifs, on se trouve en présence


d’une solution optimale sans borne.
2.5.3 Cas de solution multiple
Soit l’exemple suivant :
 Max Z  2 x1  x2
 sujet à :

  x1  x2  1

  x1  2 x2  4
 x1 6

 x1 , x2  0
En utilisant la méthode du simplexe, on obtient le tableau final suivant :

x1 x2 x3 x4 x5 b
x2 0 1 -1 2 0 3 

x1 1 0 -2 2 0 2  Solution optimale

x5 0 0 2 -2 1 4 
Z 0 0 0 2 0 4

Comme Z ne peut plus être augmentée, x1  2, x2  3, x5  4, x3  x4  0 est une


solution optimale. Toutefois, on note qu’un des coûts réduits associés aux
variables hors-base a une valeur nulle (celui associé à x3). Ceci implique que
même si on introduit x3 dans la base, Z ne change pas et par conséquent la
solution de base correspondante est aussi une solution optimale.
2.5.4 Dégénérescence
Une solution de base d’un programme linéaire est dite dégénérée si une ou
plusieurs des variables de base égalent zéro.
2.5.5 Variables libres
Si une ou plusieurs variables de décision dans un programme linéaire ne sont
pas restreintes à être non négatives, le problème peut être ramené à la forme
standard grâce à l’une des deux techniques suivantes :
1. Si la variable x1 est sans contraintes de signes, on définit deux
nouvelles variables ( x1 , x1 ) positives ou nulles, telles que
   
x1  max( x1 , 0) et x1  max(  x1 , 0) et on écrit x1  x  x . 1 1

2. la seconde technique consiste à éliminer x1 du programme en


l’exprimant comme combinaison linéaire des autres variables grâce à
une des contraintes du problème. Si une des équations contenant x1 a
b  a x  ...  ain xn
la forme : ai1 x1  ai 2 x2  ...  ain xn  bi alors : x1  i i 2 2 .
ai1

Notes de cours 22 Imed KHEMILI


Outils d’Optimisation de la Production Résolution d’un programme linéaire

En remplaçant tous les x1 du programme par cette expression, on obtient un


problème résoluble par la méthode du simplexe.

Notes de cours 23 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

3. PROLONGEMENT DE LA PROGRAMMATION LINEAIRE :


DUALITE

Au chapitre précédent, on a appris à résoudre des problèmes de


programmation linéaire à l’aide de la méthode du simplexe. Toutefois, la
résolution du problème à l’aide de la méthode du simplexe n’est que le point de
départ de toute recherche opérationnelle basée sur un modèle normatif linéaire.
Ce modèle est une représentation simplifiée de la réalité. La solution optimale du
modèle n’est pas nécessairement la solution optimale du problème réel. Il faut
donc étudier la solution obtenue en détail avant de l’implanter. Mais avant de
pouvoir entrer dans le cœur du sujet, il faut examiner un aspect important de la
programmation linéaire : la dualité.

3.1 Programmes linéaires duals

À tout programme linéaire (appelé primal), lui correspond un autre


programme linéaire (appelé dual), intimement lié, impliquant les mêmes données
et dont il y un lien étroit entre les solutions optimales. L’exemple suivant illustre
bien cette propriété :

Primal Dual
 Max Z  8 x1  6 x2
 sujet à :  Min W  3000 y1  2400 y2  1800 y3
 
5 x1  3 x2  3000  sujet à :
 5 y1  2 y2  y3  8
2 x1  3x2  2400 3 y  3 y  3 y  6
 x1  3x2  1800  1 2 3

  y1 , y2 , y3  0
 x1 , x2  0
Ces programmes sont ainsi caractérisés par :
- la fonction économique d’un des deux problèmes est maximisée et celle
de l’autre est minimisée.
- Dans le problème de maximisation on a des contraintes de type ‘’  ’’ et
dans le problème de minimisation on a des contraintes de type ‘’  ’’.
- La matrice des coefficients de l’un des problèmes est la matrice
transposée de l’autre.
- Le coté droit des contraintes de l’un des problèmes est la fonction
économique de l’autre.
- À chaque contrainte du primal correspond une variable du dual et vice
versa.
Pour mieux comprendre la dualité, nous présentons deux types de problèmes
pouvant être rencontrés :

Notes de cours 23 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

- le problème de production : on cherche à maximiser le bénéfice tout en


tenant compte des limitations des ressources B.
- le problème de mélange (ou de fourniture) : on doit fournir au moins B
et minimiser les dépenses.
3.2 Problème de production
Les problèmes de production sont très fréquents et ils peuvent être énoncés
ainsi : compte tenu des ressources disponibles (hommes, machines, matières
premières, etc.) pour une période de temps fixe (la semaine par exemple), en
quelle quantité une Entreprise devrait-elle fabriquer ses produits pour
maximiser le bénéfice. Le programme linéaire du problème de production sera
donc formulé comme suit :
 Max Z  C T X
? X  0 
  Sujet à :
 AX  B   .
C T X  Z max  AX  B
  X  0

Avec :
X   x j  : vecteur des quantités fabriquées.

A   aij  : quantité de ressource i consommée pour fabriquer le produit


caractérisant la variable x j .

C   c j  : quantité de profit fourni par la production d’une unité de x j .

B   bi  : quantité de ressource disponible.

Soit B  AX le résidu des ressources. On note par Y, le vecteur des prix de


revient des ‘’résidus’’.
Le producteur aura donc la possibilité d’avoir deux gains :
- Gain 1  C T X : suite à la production du vecteur X.
- Gain 2  Y T  B  AX  : suite à la revente des résidus des ressources.

Le gain total est égal à : Gain total = Gain 1 + Gain 2  C T X  Y T  B  AX 

3.2.1 Problème du producteur


Possédant les ressources B, le producteur aura à choisir de produire ou de ne
pas produire (revente).
 Dans le cas où il décide de produire, il aura un gain égal à :
C T X  Y T  B  AX  .

 Dans le cas où il décide de revendre toutes les ressources qu’il dispose, il


aura un gain égal à : Y T B .

Notes de cours 24 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

Pour déterminer quelle solution le producteur doit maintenir, il faut


comparer les deux gains.
Soit   GainS1  GainS 2  C T X  Y T  B  AX  Y T B  C T X  Y T AX .


  CT Y T A X . 
Si   0 , on gagne plus en travaillant, donc il doit produire.
Si   0 , on gagne plus en revendant, donc il doit revendre et ne pas produire.
Exemple :
Un industriel possède, dans l’un de ses ateliers de production, trois machines
M1, M2 et M3 qui sont partiellement inutilisées :
- M1 est libre 18 heures par semaine.
- M2 est libre 8 heures par semaine.
- M3 est libre 14 heures par semaine.
Pour mieux rentabiliser ces machines on envisage de fabriquer deux produits
P1 et P2 dont l’écoulement sur le marché ne poserait pas de problème.
- Chaque unité de P1 rapporterait 1 dinars et consommerait : 1 heure de M1,
1 heure de M2 et 2 heures de M3.
- Chaque unité de P2 rapporterait 2 dinar et consommerait : 3 heures de M1,
1 heure de M2 et 1 heure de M3.
Le (PL) permettant de maximiser ses bénéfices est :
 Max Z  x1  2 x2
 sujet à :

 x1  3 x2  18
 .
 x1  x2  8
2 x1  x2  14

 x1 , x2  0
1 1 1
On lui propose de louer ses trois machines aux prix Y T   , ,  l’heure de
2 4 2
fonctionnement. Est-ce que la proposition intéresse le producteur ou non ?

( *** )
Calculons  ?

 
  CT Y T A X .

 1 3
  1 1 1 x 
C  1 2  ; A   1 1  ; Y T   , ,  et X   1 
T

 2 1 2 4 2  x2 
 

Notes de cours 25 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

  1 3 
 1 1 1     x1   7 9    x1 
  1 2      1 1    x   1 2      
2 4 2    2  4 4    x2 
  2 1  
 3 1  x 
    1   0
 4 4   x2 

  0  Revente (la proposition intéresse l’industriel).

3.2.2 Problème du racheteur (voisin)


Le racheteur voisin doit proposer des prix Y pour les quels le producteur
accepte de lui vendre (louer) ses ressources et qui lui permettent de minimiser
ses dépenses.
Le programme linéaire du problème du racheteur sera donc formulé comme
suivant :
- Cherchons Y  0 ?
- Minimiser les dépenses d’achats (ou de location) : W min  Y T B .
-  
Satisfaire l’industriel :   0  C T  Y T A X  0  AT Y  C .

Le (PL) modélisant le problème du racheteur est donc :


 Min W  Y T B
? Y  0 
 T  Sujet à :
A Y  C   T .
Y T B  W min  A Y  C
  Y 0

3.3 Problème de mélange
En général les problèmes de mélange portent sur des situations où un
nombre de composés doivent être mélangés pour donner un ou plusieurs produits
(mélanges). Habituellement, il y a des contraintes sur les matières premières, sur
la qualité des produits fabriqués et souvent sur les quantités à produire.
Ce genre de problème est rencontré fréquemment dans l’industrie pétrolière,
l’industrie chimique (ex : peinture), l’industrie alimentaire, l’industrie
sidérurgique, etc.
Exemple :
Une raffinerie de pétrole reçoit deux types de brut B1 et B2 pour fabriquer
trois types de mélanges E1, E2 et E3.
Le coût d’un m3 de brut B1 est de 20 dinars, celui du brut B2 est de 25 dinars.
Les demandes des clients sont de 500 litres pour E1, de 400 litres pour E2 et
de 600 litres pour E3.
Le brut B1 peut fournir 10% de E1, 10% de E2 et 30% de E3.
Le brut B2 peut fournir 50% de E1, 20% de E2 et 20% de E3.

Notes de cours 26 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

Quelles sont les quantités des bruts B1 et B2 qu’on doit utiliser pour
minimiser les dépenses.
Soient :
x1 : quantité de B1 utilisée.
x2 : quantité de B2 utilisée.
La dépense à minimiser est : W  20 x1  25 x2 .
Les contraintes sont :
0,1x1  0,5 x2  0,5  x1  5 x2  5
0,1x  0, 2 x  0, 4 x  2x  4
  1

1 2 2
 
0,3 x1  0, 2 x2  0, 6 3 x1  2 x2  6
 x1 , x2  0  x1 , x2  0

Le programme linéaire du problème de mélange sera donc formulé comme


suit :
 Min W  C T X
? X  0 
  Sujet à :
 AX  B   .
C T X  W min  AX  B
  X  0

Avec :
X   x j  : vecteur des quantités de bruts de produit de base consommé.

A   aij  : quantité de mélange i obtenu à partir d’une unité de brut j.

C   c j  : prix unitaire de brut j.

B   bi  : quantité mini d’un mélange i à fournir.

3.3.1 Problème du distillateur (fournisseur)


Soit  AX  B  le surflux du mélange. Le distillateur utilise le brut pour fournir
le mélange demandé. Il revend le surflux à un prix Y.
Le distillateur aura à choisir l’une des deux solutions suivantes : distiller lui-
même les mélanges demandés ou ne pas distiller et les acheter au près d’un sous-
traitant.
 Dans le cas où il décide de distiller lui même, ses dépenses nettes seront
égales à : C T X  Y T  AX  B  .

 Dans le cas où il décide d’acheter toutes les quantités de mélanges


demandées, ses dépenses seront égales à : Y T B .
Pour déterminer quelle solution le distillateur doit maintenir, il faut
comparer les deux dépenses.

Notes de cours 27 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

Soit   DépensesS1  DépensesS 2  C T X  Y T  AX  B  Y T B  C T X  Y T AX .

 
  CT Y T A X .

Si   0 , on gagne plus en rachetant, donc il doit acheter et ne pas distiller.


Si   0 , on gagne plus en travaillant, donc il doit distiller.

3.3.2 Problème du sous-traitant


Le sous traitant doit fournir B au prix Y.
Le programme linéaire du problème du sous-traitant sera donc formulé
comme suivant :
- Cherchons les prix Y  0 ?
- Maximiser les bénéfices (de vente) : Z max  Y T B .
-  
Satisfaire le distillateur :   0  C T  Y T A X  0  AT Y  C .

Le (PL) modélisant le problème du sous-traitant est donc :


 Max Z  Y T B
? Y  0 
 T  Sujet à :
A Y  C   T .
Y T B  Z max  A Y  C
  Y 0

3.4 Correspondance Primal Dual
En analysant le problème de production et le problème de mélange, nous
pouvons très bien comprendre la dualité en programmation linéaire. Nous
pouvons conclure qu’à tout programme linéaire appelé primal (problème du
producteur ou du distillateur) lui correspond un deuxième problème appelé dual
(problème du racheteur ou du sous-traitant) qui lui est intimement lié. Lorsqu’on
cherche à maximiser en primal (problème du producteur), le dual correspondant
est une minimisation (problème du racheteur) et lorsqu’on cherche à minimiser
en primal (problème du distillateur), le dual correspondant est une maximisation
(problème du sous-traitant). Les deux problèmes primal et dual impliquent les
mêmes données et ont un lien étroit entre leurs solutions optimales.
Des fois la résolution du problème dual peut être plus simple que celle du
problème primal (par exemple on connaît une solution de base réalisable pour le
dual et on peut démarrer directement le simplexe)
Mais, à part l'intérêt mathématique ou numérique pour l'étude du problème
dual, un aspect très important est l'interprétation économique des variables
duales. Ces variables représentent des coûts marginaux et peuvent être
considérées comme l'augmentation maximale du bénéfice, par rapport à la
solution optimale, qui résulterait de l'utilisation d'une unité supplémentaire de
l'une des ressources.

Notes de cours 28 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

Le tableau suivant résume la correspondance primal dual :

PRIMAL (dual) DUAL (primal)

Maximisation (Zmax) Minimisation (Wmin)


vecteur X Vecteur Y
n variables de décisions n contraintes
m contraintes m variables de décisions
Contraintes  Contraintes 
A AT
Coeff. fonction objectif : C Ressources : B
n
Si  aij x j  bi alors yi est libre
j 1

m
Si yi est libre alors  aij xi  c j
i 1

Exemple1 :
Primal Dual
 Max Z  x1  2 x2
 sujet à :  Min W  18 y1  8 y2  14 y3
 
 x1  3 x2  18  sujet à :
  y1  y2  2 y3  1
 x1  x2  8 3 y  y  y  2
2 x1  x2  14  1 2 3

  y1 , y2 , y3  0
 x1 , x2  0
Exemple2 :
Primal Dual
 Min Z  2 x1  2,5 x2
 sujet à :  Max W  5 y1  4 y2  6 y3
 
 x1  5 x2  5  sujet à :
  y1  y2  3 y3  2
 x1  2 x2  4 5 y  2 y  2 y  2,5
3x1  2 x2  6  1 2 3

  y1 , y2 , y3  0
 x1 , x2  0
Exemple3 : (Forme non standard)
 Min Z  x1  x2  x3

 sujet à :
 x1  3x2  4 x3  5
Primal :   Dual ?
 x1  2 x2 3
 2 x2  x3  4

 x1 , x2  0 ; x3 est libre

Notes de cours 29 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

C’est un problème de minimisation, transformons tout d’abord toutes les


relations en relations de type ‘’’’.
Le système devient :
 Min Z  x1  x2  x3

 sujet à :
 x1  3x2  4 x3  5

 x1  3x2  4 x3  5
 x  2 x  3
 1 2

 2 x2  x3  4

 x1 , x2  0 ; x3 est libre

x3 est libre, on peut l’écrire sous la forme : x3  x3  x3 , où x3 , x3  0 .
Le programme primal devient donc :
 Min Z  x1  x2  x3  x3

 sujet à :
 x  3x  4 x   4 x   5
 1 2 3 3
 
 x1  3 x2  4 x3  4 x3  5
 x  2 x  3
 1 2

 2 x2  x3  x3  4
  
 x1 , x2 , x3 , x3  0

La 1ère contrainte est de type ‘’=’’, ceci engendre que la première variable
duale est libre. La troisième variable du primal est libre ceci engendre que la
troisième contrainte du dual est de type ‘’=’’.
Le problème dual est donc le suivant :
 Max W  5 y1  5 y1  3 y2  4 y3
  Max W  5 y1  5 y1  3 y2  4 y3
 sujet à : 
 y  y  y 1  sujet à :
 1 1 2
 y1  y2 1
 
3 y1  3 y1  2 y2  2 y3  1  
    3 y1  2 y2  2 y3  1
 4 y1  4 y1  y3  1  4y  y3  1
4 y   4 y   y3  1  1
 1 1
 y2 , y3  0 ; y1 est libre
 y1 , y1 , y2 , y3  0
3.5 Théorème de la dualité
En écritures matricielles, le primal et le dual correspondant auront les
formes suivantes :

Notes de cours 30 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

Primal Dual

? X  0 ? Y  0
  T
 AX  B  A Y  C  Y T A  CT
C T X  Z max  BT Y  W min
 
Si on multiplie les contraintes du primal par le vecteur Y T et celles du dual
par le vecteur X , on peut écrire :
Y T AX  Y T B et Y T AX  C T X
Ceci implique que : C T X  Y T AX  Y T B  CT X  Y T B .
À l’optimal : C T X  Y T B  Z max  W min
Ceci relève une propriété importante des couples de problèmes duals :
Si le primal ou le dual a une solution optimale finie, l’autre problème a aussi
une solution optimale finie et les valeurs optimales de leurs fonctions
économiques sont égales.
3.6 Théorème de complémentarité des écarts
Soit le problème primal suivant :
a11 x1  a12 x2  ...  a1n xn  xn 1  b1

a21 x1  a22 x2  ...  a2 n xn  xn  2  b2


am1 x1  am 2 x2  ...  amn xn  xn  m  bm

 x j  0

c1 x1  c2 x2  ...  cn xn  W min

Le problème dual correspondant est :


a11 y1  a21 y2  ...  am1 ym  ym 1  c1

a12 y1  a22 y2  ...  am 2 ym  ym  2  c2


a1n y1  am 2 y2  ...  amn ym  yn  m  cn

 y j  0

b1 y1  b2 y2  ...  bm ym  Z max

Si on multiplie chaque équation i, du primal, par yi et soustraire les


différentes lignes multipliées par yi de la ligne de la fonction objectif on obtient :
m m m m m
c1 x1   ai1 x1 yi  c2 x2   ai 2 x2 yi   cn xn   aim xn yi   xn i yi  W min   bi yi
i 1 i 1 i 1 i 1 i 1

 m
  m
  m
 m m
  c1   ai1 yi  x1   c2   ai 2 yi  x2    cn   ain yi  xn   xn i yi  W min   bi yi
 i 1   i 1   i 1  i 1 i 1
ym1 Z max

Notes de cours 31 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

m
 ym1 x1  ym 2 x2   ym n xn   xni yi  W min  Z max
i 1

n m
À l’optimal W  Z  0   ym j x j   xni yi  0
j 1 i 1

Or, tous les produits x. y  0 , puisque x j  0 et yi  0 .


n m
D’où,  ym  j x j  0 et  xni yi  0 .
j 1 i 1

xn i yi  0

x j ym  j  0

La complémentarité des écarts est une condition nécessaire et suffisante pour


avoir une solution optimale.
Exemple :
Primal Dual
 Min Z  2 x1  3x2
 sujet à :  Max W  3 y1  5 y2  4 y3
 
2 x1  x2  3  sujet à :
  2 y1  2 y2  y3  2
2 x1  x2  5  y  y  4y  3
 x1  4 x2  4  1 2 3

  y1 , y2 , y3  0
 x1 , x2  0
Si on les écrit sous la forme standard on obtient :
Primal Dual
 Min Z  2 x1  3x2
 sujet à :  Max W  3 y1  5 y2  4 y3
 
2 x1  x2  x3  3  sujet à :
  2 y1  2 y2  y3  y4  2
2 x1  x2  x4  5  y  y  4y  y  3
 x1  4 x2  x5  4  1 2 3 5

  yi  0, i  1,...,5
 x j  0, j  1,...,5

 x1  3
La solution  est elle optimale ?
 x2  1
La complémentarité des écarts permet d’écrire :

 y1  2 x1  x2  3  0
 0  y1  0
 
 y2  2 x1  x2  5   0   y2  0
 0 y  0
  3
y
 3 1 x  4 x2  4   0
 0

Notes de cours 32 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

 x1  2  2 y1  2 y2  y3   0
  2  0  2 y2  0  0
et   
 x2  3  y1  y2  4 y3   0
 3  0  y2  0  0

 y2  1
D’où : 
 y2  3
La solution est non optimale.
 26
 x1  9
Essayons maintenant la solution  ?
x  7
 2 9
La complémentarité des écarts permet d’écrire :

 y1  2 x1  x2  3  0
 0  y1  0
 
 y2  2 x1  x2  5   0   y2  0
 0 y  0
  3
 y3  x1  4 x2  4   0
 0

 x1  2  2 y1  2 y2  y3   0

et 
 x2  3  y1  y2  4 y3   0

 5
2  0  2 y2  y3  0  y2  9
   
3  0  y2  4 y3  0 y  8
 3 9
La solution est optimale.

Cette propriété peut être énoncée pour n’importe quelle paire de problèmes
duals. Elle est très importante car elle permet d’obtenir la solution optimale d’un
des programmes à partir du tableau final de l’autre programme.
Une fois écrit sous forme standard cette paire de programmes duals possède
le même nombre de variables dans le primal et dans le dual. À chaque contrainte
du primal sont associées une variable d’écart primale et une variable de décision
duale. De même, à chaque contrainte du dual sont associées une variable d’écart
duale et une variable de décision primale. Il existe donc une correspondance
biunivoque entre les variables de décisions primales et les variables d’écart
duales d’une part, et entre les variables de décisions duales et les variables
d’écart primales d’autre part.
Dans cet exemple on a les correspondances suivantes :
x1  y4 ; x2  y5 et y1  x3 ; y2  x4 ; y3  x5 .

Notes de cours 33 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

Nous avons dit que nous pouvons obtenir la solution optimale de l’un des
programmes à partir du tableau final de l’autre programme. Examinons ceci pour
la paire de programmes duals suivante :
Primal Dual
 Max Z  2 x1  3x2
 sujet à :  Min W  18 y1  8 y2  14 y3
 
 x1  3 x2  18  sujet à :
  y1  y2  2 y3  2
 x1  x2  8 3 y  y  y  3
2 x1  x2  14  1 2 3

  y1 , y2 , y3  0
 x1 , x2  0
Si on les écrit sous la forme standard on obtient :
Primal Dual
 Max Z  2 x1  3 x2
 sujet à :  Min W  18 y1  8 y2  14 y3
 
 x1  3 x2  x3  18  sujet à :
  y1  y2  2 y3  y4  2
 x1  x2  x4  8 3 y  y  y  y  3
2 x1  x2  x5  14  1 2 3 5

  yi  0, i  1,...,5
 x j  0, j  1,...,5
Le tableau final du primal est :
x1 x2 x3 x4 x5 b
x2 0 1 1/2 -1/2 0 5 

x1 1 0 -1/2 3/2 0 3  Solution optimale

x5 0 0 1/2 -5/2 1 3 

Z 0 0 1/2 3/2 0 21

Le tableau final du dual est :


y1 y2 y3 y4 y5 b
y1 1 0 -1/2 1/2 -1/2 1/2 
 Solution optimale
y2 0 1 5/2 -3/2 1/2 3/2 
-W 0 0 3 3 5 -21

Ces tableaux illustrent deux caractéristiques importantes :


 Si une variable est dans la base, sa variable correspondante est hors
base dans le dual, et vice versa.
 La valeur optimale des variables de base primales est égale aux coûts
réduits associé à leurs variables correspondantes dans le dual, et vice
versa.

Notes de cours 34 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

Dans cet exemple on a les correspondances suivantes :


x1  y4 ; x2  y5 et y1  x3 ; y2  x4 ; y3  x5 .

3.7 Algorithme Dual du Simplexe


Il existe des programmes linéaires sous forme canonique qui, initialement,
ont tous leurs coûts réduits non négatifs et qui ont quand même une solution de
base non réalisable parce que certains éléments du coté droit sont négatifs. Le
programme linéaire suivant fait partie de ce type de problème :
 Min Z  15 x1  20 x2  12 x3

 sujet à :
1 1 1
 x1  x2  x3  3
4 2 4
2 3 3
 5 x1  10 x2  10 x3  2

 2 x  2 x  1 x  2,5
5 1 5 2 5 3

 x1 , x2 , x3  0
Pour le résoudre par la méthode du simplexe il faut faire recours à des
variables artificielles supplémentaires.
Si on observe le programme dual on se rend compte qu’il est réalisable et
qu’il incorpore des coûts réduits négatifs. Par conséquent si on résout le
programme dual au lieu du primal, on peut obtenir une solution optimale à l’aide
de l’algorithme du simplexe sans avoir recours aux variables artificielles.
L’algorithme dual du simplexe sert à résoudre le programme dual à l’aide du
tableau primal, de sorte qu’on obtient la solution du primal directement en
résolvant le dual.
1ère étape :
Transformer toutes les contraintes de type ‘’’’ en relations de type ‘’’’ en les
multipliant par -1. Dresser le tableau initial.
 Min Z  15 x1  20 x2  12 x3  Min Z  15 x1  20 x2  12 x3
 
 sujet à :  sujet à :
 1 1 1  1 1 1
  x1  x2  x3  3   x1  x2   x4  3
 4 2 4  4 2 4
 2 3 3   2 3 3
  5 x1  10 x2  10 x3  2   5 x1  10 x2  10  x5  2
 
  2 x  2 x  1 x  2,5   2 x  2 x  1  x  2,5
 5 1 5 2 5 3  5 1 5 2 5 6
 
 x1 , x2 , x3  0  x j  0, j  1,..., 6

Notes de cours 35 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

x1 x2 x3 x4 x5 x6 b
x4 -1/4 -1/2 -1/4 1 0 0 -3 

x5 -2/5 -3/10 -3/10 0 1 0 -2  négatifs

x6 -2/5 -2/5 -1/5 0 0 1 -2,5 

-Z 15 20 12 0 0 0 0

non négatifs
Dans ce tableau les coûts réduits de départ sont non négatifs et le coté droit
est négatif, ce qui implique que la solution de base duale correspondante est
réalisable et que la solution primale n’est pas réalisable. Par conséquent il
continuer la résolution jusqu’à ce que le coté droit devient non négatif, c'est-à-dire
jusqu’à ce que la solution primale devienne réalisable, ce qui revient à résoudre le
problème dual.
2ème étape :(choix de la variable sortante)
Identifier la variable de base qui est la plus négative et la choisir comme
variable sortante de la base.
3ème étape :(recherche de limitation)
Si la ligne s est celle de la variable sortante, choisir comme nouvelle variable
de base celle qui correspond à :
 cj  c
xr  min   asj  0   r
j  a  asr
 sj 
Si tous les asj* ne sont pas négatifs, alors le programme dual est sans borne.
Dans cet exemple la variable la plus négative est x4 (variable sortante). La
variable rentrante, qui correspond à la plus petite valeur de la limitation
20
(  40 ), est x2.
(  1 2)
4ème étape : (transformation du tableau)
Changer de base, résoudre pour trouver la valeur des nouvelles variables de
base en transformant le tableau comme dans la méthode primale du simplexe.
Retourner à la deuxième étape.
Ce qui donne le tableau suivant :
x1 x2 x3 x4 x5 x6 b
x2 1/2 1 1/2 -2 0 0 6
x5 -1/4 0 -3/20 -3/5 1 0 -1/5 
x6 -1/5 0 0 -4/5 0 1 -1/10
-Z 5 0 2 40 0 0 -120
Limitation 20 - 40/3 200/3 - -

Notes de cours 36 Imed KHEMILI


Outils d’Optimisation de la Production Dualité

Continuons la résolution de la même façon, nous obtenons les tableaux


suivants :
x1 x2 x3 x4 x5 x6 b
x2 -1/3 1 0 -4 10/3 0 16/3
x3 5/3 0 1 4 -20/3 0 4/3
x6 -1/5 0 0 -4/5 0 1 -1/10 
-Z 5/3 0 0 32 40/3 0 -122,66
Limitation 25/3 - - 40 - -

x1 x2 x3 x4 x5 x6 b
x2 0 1 0 -8/3 10/3 -5/3 5,5 

x3 0 0 1 -8/3 -20/3 25/3 1/2  Solution optimale

x1 1 0 0 4 0 -5 1/2 

-Z 0 0 0 76/3 40/3 25/3 -123,5

Tous les bi sont non négatifs, la solution est donc optimale.

Notes de cours 37 Imed KHEMILI


Outils d’Optimisation de la Production Analyse post-optimisation

4. ANALYSE POST- OPTIMISATION


L’obtention de la solution optimale d’un (PL) a par elle-même une importance
limitée. Dans bien des cas, la résolution du programme constitue seulement une
étape préliminaire conduisant à des analyses post-optimisation qui deviennent
les résultats les plus importants de l’étude.
L’analyse post-optimisation doit débuter par une réflexion approfondie sur la
signification des résultats obtenus. Lorsqu’on se place dans le contexte du
problème réel, si on ne comprend pas de façon globale pourquoi la solution
obtenue est optimale, il est probable qu’elle ne le soit pas. Ceci peut être dû à
plusieurs facteurs :
- l’omission d’une contrainte importante,
- la formulation incorrecte de l’une des contraintes,
- la perte de quelques coefficients de la matrice,
- l’utilisation de quelques coefficients avec le mauvais signe,
- le choix incorrect de la valeur d’un coefficient important.
Si la réponse obtenue a du sens, on peut alors passer à une étude plus
approfondie.
En plus de la solution optimale, des informations importantes sont obtenues
dans le tableau final de la méthode du simplexe, soit la valeur des variables
duales et les coûts réduits associés aux variables de décision hors base. L’analyse
post-optimisation consiste à leur donner une interprétation économique.
4.1 Interprétation économique des variables duales et des coûts réduits

4.1.1 Variables duales


La généralisation du problème de production formulé au chapitre précédent
constitue une approche moderne de la théorie de l’Entreprise en micro-économie.
Si on examine une Entreprise qui doit gérer m facteurs de production
(ressources) en quantité limitée pour un processus de fabrication donné, on peut
définir les paramètres et les variables suivants :
- x j : quantité de produit de type j à fabriquer,

- aij : quantité de ressource i requise pour produire une unité du produit j,

- bi : quantité totale de ressource i disponible pour la période planifiée.

- c j : profit associé à une unité du produit de type j.

Le programme linéaire donnant les quantités de produit à fabriquer qui


maximisent les profits est :
Max Z  C T X
X 0

sujet à :
AX  B .

Notes de cours 38 Imed KHEMILI


Outils d’Optimisation de la Production Analyse post-optimisation

Le programme dual correspondant est :


Min W  BT Y
Y 0

sujet à :
AT Y  C .
Exemple :
 Max Z  3 x1  6 x2  2 x3

sujet à :
3 x1  4 x2  x3  20 (4.1)
 x  3 x  2 x  10
 1 2 3

 x1 , x2 , x3  0

Le programme dual correspondant est :


 Min W  20 y1  10 y2
sujet à :

3 y1  y2  3

4 y1  3 y2  6
 y1  2 y2  2

 y1 , y2  0
u de ressource
Les unités de aij sont en :
u de produit
profit
Les unités de c j sont en :
u de produit
profit
Les unités de yi sont donc en :
u de ressource
Par conséquent les variables duales fournissent une façon de mesurer la
contribution de chacune des ressources au profit. On les appelle aussi les prix
implicites.
En d’autres termes, le prix yi donne le montant maximum qu’on serait prêt à
payer pour obtenir une unité supplémentaire de ressource i.
La solution optimale du primal est :
x1 x2 x3 x4 x5 b
x1 1 0 -1 0.6 -0.8 4
x2 0 1 1 -0.2 0.6 2
Z 0 0 1 0.6 1.2 24

C'est-à-dire que x1 = 4, x2 = 2, y1= 0.6, y2 =1.2 et Zmax = 24.

Notes de cours 39 Imed KHEMILI


Outils d’Optimisation de la Production Analyse post-optimisation

Si une unité supplémentaire de ressource 1 était disponible, le programme à


résoudre serait :
 Max Z  3 x1  6 x2  2 x3

sujet à :
3 x1  4 x2  x3  21
 x  3 x  2 x  10
 1 2 3

 x1 , x2 , x3  0

et la nouvelle solution optimale serait :


x1 x2 x3 x4 x5 b
x1 1 0 -1 0.6 -0.8 4.6
x2 0 1 1 -0.2 0.6 1.8
Z’ 0 0 1 0.6 1.2 24.6

Ces calculs illustrent que si on peut acheter une unité supplémentaire de


ressource 1 pour moins de 0.6, on réalise un profit additionnel (Z ’- Z = 0.6). Si
l’on doit payer plus que 0.6 on subit une perte. Toutefois, il faut noter que 0.6 est
la valeur optimale de la variable duale y1. Il n’est pas donc nécessaire de
résoudre le nouveau programme pour obtenir cette importante information.
De façon similaire, si l’on peut vendre une unité de ressource 1 à un prix plus
élevé que 0.6, c’est rentable.
Lorsque la solution n’utilise pas une ressource au complet, la valeur de la
fonction objectif ne change pas, même si la disponibilité de cette ressource change
et le yi correspondant est égal à zéro.

4.1.2 Coûts réduits associés aux variables de décision hors base


Les coûts réduits, pour chacune des variables de décision qui sont hors base
dans le tableau final, peuvent être interprétés comme étant le montant dont il
faudrait augmenter le profit d’une unité de produit (ou diminuer le coût s’il s’agit
d’un problème de minimisation) avant qu’il soit profitable de l’exploiter.
Dans l’exemple précèdent, le coût réduit associé à x3 dans le tableau optimal
est 1, ce qui implique qu’il faut augmenter le profit du produit 3 d’une unité. (c.-à-
d. le faire passer de 2 à 3) pour qu’il devienne rentable.
4.2 Sensibilité des résultats
Il existe trois groupes de paramètres dans les PL :
- les paramètres de la fonction économique ( c j ),

- les paramètres du coté droit des contraintes ( bi ),

- les paramètres du coté gauche des contraintes ( aij )

En pratique ces paramètres sont souvent difficiles à estimer et ils peuvent


varier avec le temps. Dans de tels cas, il est important d’étudier la sensibilité des

Notes de cours 40 Imed KHEMILI


Outils d’Optimisation de la Production Analyse post-optimisation

résultats par rapport à des changements possibles de la valeur de ces paramètres.


Si la solution est très sensible à certains paramètres, il peut devenir nécessaire
d’investir plus de temps et d’argent pour obtenir de bons estimés de leurs valeurs.
Pour analyser efficacement la sensibilité des résultats obtenus à partir d’un
modèle linéaire, on doit pouvoir réviser les paramètres du programme initial,
recalculer le tableau correspondant à la base qui était optimale, et ré-optimiser si
nécessaire.
Dans cette partie, on étudie différentes possibilités à l’aide de
l’exemple suivant :
 Max Z  3 x1  5 x2

sujet à :
 x1  4 (4.2)
3 x  2 x  18
 1 2

 x1 , x2  0

La solution optimale de ce problème est donnée par le tableau suivant :


x1 x2 x3 x4 b
x3 1 0 1 0 4
x2 3/2 1 0 1/2 9
Z 9/2 0 0 5/2 45

4.2.1 Changement à la fonction objectif


Lorsqu’on maximise, si on augmente le paramètre cj de ±, le jième coût
réduit est diminué de ± dans le tableau final. Si la variable xj est dans la base,
on doit réécrire la fonction économique uniquement en termes des variables hors
base, à l’aide d’opérations élémentaires sur les rangées. Si le nouveau tableau
ainsi obtenu n’est pas optimal, on doit ré-optimiser.
Par exemple, si on remplace la fonction économique du programme linéaire
de l’exemple précédent par 3x1  x2 , alors ± = -4 et le 2ème coût réduit dans le
tableau final est augmenté de 4. Par conséquent, on obtient le tableau :
x1 x2 x3 x4 b
x3 1 0 1 0 4
x2 3/2 1 0 1/2 9
Z 9/2 4 0 5/2 45
Pour que la fonction objectif soit exprimée en fonction des variables hors base
seulement, on doit soustraire 4 fois la deuxième rangée de la rangée des coûts
réduits. On obtient ainsi :

Notes de cours 41 Imed KHEMILI


Outils d’Optimisation de la Production Analyse post-optimisation

x1 x2 x3 x4 b
x3 1 0 1 0 4
x2 3/2 1 0 1/2 9
Z -3/2 0 0 1/2 9
Ce qui n’est plus optimal, puisque le coût réduit, associé à x1, est négatif.
On obtient la nouvelle solution optimale en exécutant une itération
supplémentaire de la méthode simplexe.

4.2.2 Changement au coté droit


Si le paramètre bi est changé, le coté droit du tableau final subit seul une
transformation.
La variable d’écart ou la variable artificielle, associée à l’équation i, xr+i,
n’apparaît initialement dans aucune autre équation. À l’aide des coefficients de
ces variables, on peut donc retracer les multiples de l’équation i qui ont été
additionnés aux équations durant le processus d’optimisation, et ainsi évaluer le
changement subi par le tableau final lorsqu’on modifie bi .

Plus précisément, si le coté droit de la ième contrainte du programme initial


est augmenté de ±, le coté droit du tableau final devient :
bk* '  bk  ak,r i  k  1,...m  1

Où ak,r i dénote le coefficient de xr+i dans la rangée k du tableau final, et où


bk dénote le coté droit de la rangée k du tableau final.

Dans l’exemple précédent, si on remplace la 2ème contrainte, par 3x1  2 x2  14 ,


alors ± = -4 et le tableau final devient :

x1 x2 x3 x4 b
x3 1 0 1 0 4 + 0 (- 4) = 4
x2 3/2 1 0 1/2 9 + ½ (- 4) = 7
Z 9/2 0 0 5/2 45 + 5/2 (- 4) = 35

Comme le coté droit est non négatif, ce tableau set optimal. Si l’un ou
plusieurs des éléments du coté droit devient négatif, il faut ré-optimiser avec
l’algorithme dual du simplexe.

4.2.3 Autres changements


En utilisant le même genre d’approche, il est possible de changer les
coefficients aij , d’ajouter une contrainte ou d’ajouter des variables sans qu’il soit
nécessaire de résoudre le nouveau programme ainsi obtenu en entier. On se
contente d’illustrer chacune des possibilités à l’aide d’un exemple.

Notes de cours 42 Imed KHEMILI


Outils d’Optimisation de la Production Analyse post-optimisation

Supposons qu’un changement technologique de dernière minute fait que le


premier coefficient de la deuxième ligne de l’exemple (4.2) doit être diminuée de 2
unités, de sorte que la nouvelle contrainte imposée est : x1  2 x2  18 .
On peut obtenir la solution optimale du programme modifié à partir du
tableau optimal du programme initial en procédant comme pour les changements
du coté droit. Dans ce problème on a augmenté le coefficient a21 de ± = -2 et par
conséquent le tableau final devient :
x1 x2 x3 x4 b
x3 1 + 0 (-2) 0 1 0 4
x2 3/2 + ½ (-2) 1 0 1/2 9
Z 9/2 + (5/2) (-2) 0 0 5/2 45
Soit :
x1 x2 x3 x4 b Limit.

x3 1 0 1 0 4 4 

x2 1/2 1 0 1/2 9 18

Z -1/2 0 0 5/2 45

Puisque le premier coût réduit est négatif on fait une itération


supplémentaire pour obtenir le tableau optimal.

x1 x2 x3 x4 b
x1 1 0 1 0 4
x2 0 1 -1/2 1/2 7
Z 0 0 1/2 5/2 47

D’autre part, supposons qu’une ressource nécessaire devient rare et qu’on


doit imposer la contrainte supplémentaire : x1  2 x2  12 , au programme (4.2). En
ajoutant cette contrainte au tableau optimal on obtient :

Notes de cours 43 Imed KHEMILI


Outils d’Optimisation de la Production Analyse post-optimisation

x1 x2 x3 x4 x5 b

x3 1 0 1 0 0 4

x2 3/2 1 0 1/2 0 9

x5 1 2 0 0 1 12

Z 9/2 0 0 5/2 0 45

Il faut ensuite écrire le problème sous la forme canonique. Pour y arriver, on


doit soustraire le double de la rangée deux de la rangée trois, ce qui donne :

x1 x2 x3 x4 x5 b
x3 1 0 1 0 0 4
x2 3/2 1 0 1/2 0 9
x5 -2 0 0 -1 1 -6 

Z 9/2 0 0 5/2 0 45
Limit. 9/4 5/2

Ce tableau n’est pas optimal et il faut une itération de la méthode duale du


simplexe pour obtenir :
x1 x2 x3 x4 x5 b

x3 0 0 1 -1/2 1/2 1

x2 0 1 0 -1/4 3/4 4.5

x1 1 0 0 1/2 -1/2 3

Z 0 0 0 1/4 9/4 31.5

Enfin, supposons que l’Entreprise désire déterminer s’il serait profitable de


s’engager dans une nouvelle activité qui utiliserait 2 unités de ressource 1 et une
unité de ressource 2 par produit et qui rapporterait 4 unités de profit par produit.
Si on va correspondre la variable x5 à cette nouvelle activité alors le problème
peut être considéré comme un cas particulier des précédents où les programmes
impliqués sont :

Notes de cours 44 Imed KHEMILI


Outils d’Optimisation de la Production Analyse post-optimisation

Programme initial Nouveau programme

 Max Z  3 x1  5 x2  0 x5  Max Z  3 x1  5 x2  4 x5
 
sujet à : sujet à :
 x1  0 x5  4  x1  2 x5  4
3 x  2 x  0 x  18 3 x  2 x  x  18
 1 2 5
 1 2 5

 x1 , x2 , x5  0  x1 , x2 , x5  0

Autrement dit, il faut faire un changement de ± = 4 au coefficient de x5 dans


la fonction économique, de ± = 2 au coefficient de x5 dans la première contrainte
et de ± = 1 au coefficient de x5 dans la deuxième contrainte. En faisant ces
changements au tableau optimal du programme initial simultanément, on
obtient :
x1 x2 x3 x4 x5 b

x3 1 0 1 0 1 (2) + 0 (1) 4

x2 3/2 1 0 1/2 0 (2) + ½ (1) 9

Z 9/2 0 0 5/2 -4 + 0 (2) + 5/2 (1) 45

Soit :
x1 x2 x3 x4 x5 b

x3 1 0 1 0 2 4

x2 3/2 1 0 1/2 1/2 9

Z 9/2 0 0 5/2 -3/2 45

La nouvelle solution optimale est obtenue après une itération


supplémentaire :
x1 x2 x3 x4 x5 b

x5 1/2 0 1/2 0 1 2

x2 5/4 1 -1/4 1/2 0 8

Z 21/4 0 3/4 5/2 0 48

Notes de cours 45 Imed KHEMILI

Vous aimerez peut-être aussi