Vous êtes sur la page 1sur 65

DUT 2/ TL

RECHERCHE
OPERATIONNELLE
Note de cours de Recherche Opérationnelle

UE : RECHERCHE OPERATIONNELLE

Objectifs :
A la fin de cette unité d’enseignement, l’étudiant doit être capable de :
- Résoudre un problème de maximisation par la méthode du simplexe
- Résoudre un problème de minimisation par la méthode du simplexe

Contenu
Chapitre 1 : Programmation linéaire : Méthode du simplexe
- Etapes de résolution de tout problème d’optimisation
- Forme canonique d’un programme linéaire
- Forme standard d’un programme linéaire : notions de variables d’écart
- Mise en œuvre de la méthode du simplexe par un exercice introductif
concret : Critères de sélection des variables entrantes et sortantes.
Critères d’arrêt
- Cas particulier : Changement de variables

Chapitre 2 : Problèmes de minimisation : Dualité


- Dualité : définitions et propriétés
- Mise en œuvre : résolution d’un problème réel d’entreprise

Chapitre 3 : Programmation linéaire avec mélange de signe : Utilisation


des variables artificielles
- Cas pratique de résolution d’un problème de maximisation avec
mélange de signe ( )
- Cas pratique de résolution d’un problème de maximisation avec
mélange de signe ( )
- Etude de cas concrets d’entreprise
Résolution de problèmes réels d’entreprise par la mise en œuvre des
méthodes étudiées.

Page 2
Note de cours de Recherche Opérationnelle

Chapitre 4 : Gestion des stocks


- Importance des stocks
- Paramètres de gestion des stocks : Période de gestion - Période
d’approvisionnement - Demande ou consommation - Quantité
commandée ou à commander - Nombre de commandes ou cadence
d’approvisionnement - Coût global de gestion de stock - Coût de
pénurie ou coût de rupture de stock.
- Gestion des stocks en avenir certain : Modèle de Wilson – Modèle à
tarifs dégressifs – Modèle avec coût de pénurie
- Gestion des stocks en avenir incertain : Méthode basique – méthode
indirecte – méthode raisonnée – Cas de variable aléatoire discrète –
Cas de variable aléatoire continue.

Mode d’évaluation :
C’est le mode d’évaluation en vigueur à l’Université Polytechnique
Internationale du Bénin : un contrôle continu et un examen terminal.

Bibliographie
1. J. Sordet, La Programmation linéaire appliquée à l'entreprise, ibid., 1970.
2. Y. Muller, Initiation à l'organisation et à la recherche opérationnelle,
Eyrolles, Paris, 1965
3. G. Cullmann, Recherche opérationnelle. Théorie et pratique, Masson, Paris,
1970
4. R. Faure, Éléments de la recherche opérationnelle, Gauthier-Villars, 1967
5. A. Kaufmann & R. Faure, Initiation à la recherche opérationnelle, ibid.,
1970
6. A. Kaufmann, Méthodes et modèles de la recherche opérationnelle, 2 t.,
Dunod, 1970

Page 3
Note de cours de Recherche Opérationnelle

CHAPITRE 1

METHODE DU SIMPLEXE ET DUALITE

Ce chapitre est consacré à l’étude de la méthode du simplexe. Cette méthode est l’outil
principal de résolution des problèmes de programmation linéaire. Elle consiste à suivre un
certain nombre d’étapes avant d’obtenir la solution d’un problème donné. Il s’agit d’une
méthode algébrique itérative qui permet de trouver la solution exacte d’un problème de
programmation linéaire en un nombre fini d’étapes.
La résolution graphique est inapplicable au-delà de deux variables. Il est aussi nécessaire de
recourir à une autre méthode : la méthode du simplexe dite également méthode des tableaux
ou méthode de Dantzig. Cette méthode, applicable quelque soit le nombre de variables, sera
présentée pour des problèmes de maximisation dont toutes les contraintes (autres que celles de
positivité) sont de type

1. METHODE DU SIMPLEXE

1.1. Forme canonique d'un Programme Linéaire


Max z = c1 x1 + c2 x2 + .......... + cn xn
a11 x1 + a12 x2 + .......... + a1n xn  b1
a21 x1 + a22 x2 + .......... + a2n xn  b2
............................................................................
am1 x1 + am2 x2 + .......... + amn xn  bm
x1  0 ; x2 0 ; .........; xn 0

Si la fonction objectif doit être maximisée et si toutes les contraintes sont des
inéquations du type , on dit que le programme linéaire se présente sous une forme
canonique.

1.2. Forme standard d'un Programme Linéaire

On transforme les inégalités des contraintes économiques en égalités par introduction de


variables supplémentaires positives ou nulles appelées variables d'écart.
ai1 x1 + ai2 x2 + .......... + ain xn  bi devient ai1 x1 + ai2 x2 + .......... + ain xn + ti  bi
d'où la forme standard :

Page 4
Note de cours de Recherche Opérationnelle

Max z = c1 x1 + c2 x2 + ..........+ cn xn
a11 x1 + a12 x2 + .......... + a1n xn + t1  b1
a21 x1 + a22 x2 + .......... + a2n xn + t2  b2
............................................................................
am1 x1 + am2 x2 + .......... + amn xn + tm  bm
x1  0 ; x2 0 ; .........; xn 0 ; t1  0 ; t2 0 ; .........; tm 0
Forme simpliciale : Un programme est dit sous forme simpliciale si :
- elle est sous forme standard
- et les constantes du second membre sont toutes positives.
Le programme doit être mis sous forme simpliciale avant l'utilisation de l'algorithme de
simplexe.

1.3.Résolution

Afin de comparer avec la résolution graphique, nous pouvons considérer que nous sommes
dans un espace à n dimensions (nombre de variables d'activité). Les contraintes délimitent un
polyèdre convexe, région des solutions admissibles; la fonction objectif est un hyperplan que
l'on va déplacer le plus loin possible de l'origine, jusqu'à l'extrême limite où il n'y aura plus
qu'un point d'intersection (éventuellement un segment, un plan...) avec la région des solutions
admissibles.
La solution se trouvant forcément sur le pourtour du polyèdre admissible, la méthode du
simplexe consiste en itérations qui font passer d'un sommet du polyèdre à un autre en
sélectionnant le sommet adjacent maximisant la fonction objectif. Pour démarrer l'algorithme,
il est nécessaire d'avoir une solution initiale. Dans le cas simple, l'origine est solution, c.à.d.
que la première solution est x1  0 ; x2 0 ; .........; xn 0 ; t1  b1 ; t2  b2 ; .........; tm bm
(ceci suppose que les bi ne soient pas négatifs pour satisfaire les contraintes de signe).

L'algorithme, basé sur la méthode du pivot de Gauss pour la résolution des systèmes
d'équations linéaires, est présenté sous forme de tableau.
Soit à résoudre le programme linéaire suivant sous sa forme canonique :

3 x1 + 4 x2  160

6 x1 + 3 x2 180

Max z = 1200 x1 + 1000 x2


x1  0 ; x2 0

Page 5
Note de cours de Recherche Opérationnelle

* Forme standard

3 x1 + 4 x2 + 1 t1 + 0 t2  160

6 x1 + 3 x2 + 0 t1 + 1 t2 180

Max z = 1200 x1 + 1000 x2 + 0 t1 0 t2

x1  0 ; x2 0
* Tableau 0
en ne conservant que les coefficients des équations ci-dessus, on obtient le tableau de départ

HB x1 x2 t1 t2 C
B
t1 3 4 1 0 160
t2 6 3 0 1 180
 1200 1000 0 0 0

Ce tableau nous donne la première solution admissible :


- Les variables Hors Base (HB) (situées sur la première ligne du tableau) sont nulles : x1  0 ;
x2 =0 (t1 et t2 en rouge ne sont pas hors base; elles ne sont présentes que pour rappeler qu'il
s'agit des colonnes des coefficients de ces deux variables ; lorsqu'on travaille sur papier, il est
préférable d'indiquer la position de ces variables par des points pour bien montrer que seules
x1 et x2 sont hors base). Cela signifie qu'on fabrique 0 pièces P1 et 0 pièces P2.

- Les valeurs des variables dans la Base (B) (apparaissant dans la première colonne) se lisent
dans la colonne C : t1 = 160 et t2 =180. Cela signifie qu'il reste 160 heures d'utilisation
possible de l'atelier A1 et 180 heures de l'atelier A2.

- La dernière cellule (intersection de C et ) donne la valeur de -z : -z = 0 donc z = 0. Cela


signifie que la marge est égale à 0.

- La ligne donne les valeurs marginales ou taux marginal de substitution; elles s'interprètent
de la manière suivante: à ce stade de la solution, une augmentation de 1 unité de x1 ferait
croître la fonction objectif de 1200, et une augmentation de 1 unité de x2 ferait croître la
fonction objectif de 1000. Cela signifie qu'à ce stade de la production si on augmente la
production de 1 pièce de P1, la marge va augmenter de 1200 F et si on augmente la
production de 1 pièce de P2, la marge va augmenter de 1000F.

Page 6
Note de cours de Recherche Opérationnelle

En effet, la solution actuelle est x1  0 ; x2 =0 ; t1 = 160 ; t2 =180


et z =1200 . x1 + 1000 . x2 +0 . t1 + 0 . t2 = 1200 . 0 + 1000 . 0 +0 . 160 + 0 . 180 = 0
Si on augmente x1 de 1 unité,
z =1200 . 1 + 1000 . 0 +0 . 0 . 160 + 0 . 180 = 1200
Si on augmente x2 de 1 unité,
z =1200 . 0 + 1000 . 1 +0 . 0 . 160 + 0 . 180 = 1000
* Tableau 1
On augmente la fonction objectif en faisant entrer une variable dans la base, prenant la place
d'une variable qui va sortir de la base.

Critère de sélection de la variable entrant dans la base:


On sélectionne la variable HB ayant le plus grand coefficient
positif dans la ligne .

x1 entre donc dans la base

HB x1 x2 t1 t2 C R
B
t1 3 4 1 0 160 160/3
t2 6 3 0 1 180 30
 1200 1000 0 0 0

Pour sélectionner la variable sortant de la base, il est nécessaire de rajouter une colonne R au
tableau, obtenue en faisant le rapport membre à membre de la colonne C et de la colonne de la
variable entrant dans la base (x1).

Critère de sélection de la variable sortant de la base:


On sélectionne la variable dans la Base ayant le plus
petit coefficient positif dans la colonne R.

t2 sort donc de la base

Page 7
Note de cours de Recherche Opérationnelle

HB x1 x2 t1 t2 C R
B
t1 3 4 1 0 160 160/3
t2 6 3 0 1 180 30 variable sortant
 1200 1000 0 0 0

variable entrant

On appelle pivot (égal à 6) l'intersection de la variable entrante et de la variable sortante


Pour obtenir le tableau 1, on applique les règles suivantes :

- Le pivot est égal à 1


- Les coefficients de la ligne du pivot sont divisés par le pivot
- Les coefficients de la colonne du pivot sont nuls
- Les autres coefficients sont obtenus par la règle du rectangle

La règle du rectangle est la suivante :

Remarque importante : d = d' c b = 0 b = 0 ou c = 0


En conséquence, si dans la colonne (resp. ligne) du pivot il y a un 0, toute la ligne (resp.
colonne) correspondante reste inchangée.

En appliquant ces règles on obtient le tableau 1 :

HB x1 x2 t1 t2 C
B
t1 0 5/2 1 -1/2 70
x1 1 1/2 0 1/6 30
 0 400 0 -200 -36000

Ce tableau nous donne la deuxième solution admissible :

Page 8
Note de cours de Recherche Opérationnelle

- Les variables Hors Base (HB) sont nulles: x2  0 ; t2 =0 (x1 et t1 en rouge ne sont pas hors
base ; elles ne sont présentes que pour rappeler qu'il s'agit des colonnes des coefficients de ces
deux variables). Cela signifie qu'on fabrique 0 pièces P2 et qu'il reste 0 heure d'utilisation
disponible à l'atelier A2. La contrainte associée à t2 est dite saturée.

- Les valeurs des variables dans la Base (B) se lisent dans la colonne C: t1 = 70 et x1 =30.
Cela signifie qu'on fabrique 30 pièces P1 et qu'il reste 70 heures d'utilisation disponible à
l'atelier A1.
- La dernière cellule (intersection de C et ) donne la valeur de -z : -z = -36000 donc z =
36000. Cela signifie que la marge est égale à 36000 F.

- La ligne donne les valeurs marginales ou taux marginal de substitution; elles s'interprètent
de la manière suivante: à ce stade de la solution, une augmentation de 1 unité de x2 ferait
croître la fonction objectif de 400, et une augmentation de 1 unité de t2 ferait diminuer la
fonction objectif de 200 (il est à noter qu'une augmentation de 1 unité de la variable d'écart t2
revient à diminuer le second membre de l'équation correspondante de 1 unité).Cela signifie
qu'à ce stade de la production si on augmente la production de 1 pièce de P2, la marge va
augmenter de 400 F et si on diminue la disponibilité de 1 heure à l'atelier A2, la marge va
diminuer de 200 F.

En effet, la solution actuelle est x1  30 ; x2 =0 ; t1 = 70 ; t2 = 0 et


z =1200 . x1 + 1000 . x2 +0 . t1 + 0 . t2 = 1200 . 30 + 1000 . 0 +0 . 70 + 0 . 0 = 36000.
Si on augmente x1 de 1 unité, on ne peut garder x1  30 car la 2° contrainte
6 x1 + 3 x2 + 0 t1 + 1 t2 180 est saturée. On doit donc déterminer la valeur de x1 permettant
d'augmenter x2 de 1 unité :
6 . x1 + 3 . 1 + 0 . 70 + 1 . 0 180 6 x1 + 3 = 180 x1 = 29,5
d'où z =1200 . 29,5 + 1000 . 1 +0 . 70 + 0 . 0 = 36400, c.à.d. une augmentation de 400 F par
rapport à la solution précédente.
Si on augmente t2 de 1 unité, la contrainte 6 x1 + 3 x2 + 0 t1 + 1 t2 180 devient 6 . x1 + 3 .
x2 + 0 . 70 + 1 . 1 180 ou encore 6 x1 + 3 x2 179; on a donc bien 1 heure de disponibilité
en moins à l'atelier A2.
De plus puisque x2 =0, on aura x1 = 179/6 au lieu de 30

Page 9
Note de cours de Recherche Opérationnelle

d'où z =1200 . 179/6 + 1000 . 1 +0 . 70 + 0 . 1 = 35800, ce qui correspond à une baisse de
200 F.
Tableau 2 :

HB x1 x2 t1 t2 C R
B
t1 0 5/2 1 -1 2 70 28 variable sortant
x1 1 1/2 0 1/6 30 60
 0 400 0 -200 - 36000
variable entrant

d'où le tableau 2

HB x1 x2 t1 t2 C
B
x2 0 1 2/5 -1/5 28
x1 1 0 -1/5 4/15 16
 0 0 -160 -120 - 47200

Ce tableau nous donne la troisième solution admissible :


- Les variables Hors Base (HB) sont nulles: t1  0 ; t2 =0 (x1 et x2 en rouge ne sont pas hors
base ; elles ne sont présentes que pour rappeler qu'il s'agit des colonnes des coefficients de ces
deux variables). Cela signifie qu'il reste 0 heure d'utilisation disponible aux ateliers A1 et A2.
Les contraintes associées à t1 et t2 sont saturées.

- Les valeurs des variables dans la Base (B) se lisent dans la colonne C : x2 = 28 et x1 =16.
Cela signifie qu'on fabrique 16 pièces P1 et 28 pièces P2.

- La dernière cellule (intersection de C et ) donne la valeur de -z : -z = - 47200 donc z =


47200.
Cela signifie que la marge est égale à 47200 F.

- La ligne donne les valeurs marginales ou taux marginal de substitution; elles s'interprètent
de la manière suivante: à ce stade de la solution, une augmentation de 1 unité de t1 ferait
diminuer la fonction objectif de 160, et une augmentation de 1 unité de t2 ferait diminuer la

Page 10
Note de cours de Recherche Opérationnelle

fonction objectif de 120 (il est à noter qu'une augmentation de 1 unité d'une variable d'écart
revient à diminuer le second membre de l'équation correspondante de 1 unité).

Critère d'arrêt des itérations:


Si tous les coefficients de la ligne relatifs aux variables HB,
sont négatifs ou nuls, la solution trouvée est optimale.
Nous avons donc ici atteint la solution optimale.

Remarques importantes :
- S'il existe une variable HB ayant un coefficient positif dans la ligne et telle que tous les
coefficients correspondants dans le tableau soient nuls ou négatifs, alors la solution est
infinie.
- Si, à la fin des itérations, une variable est HB avec un coefficient nul dans la ligne ,
alors on a une arête (plan,...) optimale. Les autres sommets solutions sont obtenus en
faisant rentrer cette variable dans la base.
- La résolution du problème à Minimum ne pose pas de difficulté; il suffit, dans le critère de
sélection de la variable entrant dans la base, de remplacer "plus grand coefficient positif
"par "plus grand coefficient négatif" et dans le critère d'arrêt des itérations de remplacer
"coefficients négatifs ou nuls " par "coefficients positifs ou nuls".

Interprétation graphique de la méthode du simplexe :


Les différentes solutions obtenues à chaque tableau correspondent respectivement aux
sommets O
(x1 = 0 ; x2 = 0), A (x1 = 30 ; x2 = 0), B (x1 = 16 ; x2 = 28) du graphique. On a cheminé sur le
pourtour du polyèdre des solutions admissibles, en sélectionnant parmi tous les sommets
possibles celui donnant la valeur maximale à la fonction objectif.

Page 11
Note de cours de Recherche Opérationnelle

RETENONS

1) Pour un maximum, la variable entrante est celle qui, dans le tableau, a l'élément
strictement positif le plus grand sur la ligne de la fonction économique (appelé ligne ci-
après). Les valeurs des variables de la base étant toujours positives, celle ayant le
coefficient positif de Z le plus élevé augmentera plus que les autres la valeur de la
fonction économique.
* Si tous les éléments de la ligne sont négatifs ou nuls, le programme est optimal :
- si les seuls éléments nuls de la ligne correspondent aux variables de base (ou
d'écart), alors le maximum est unique. C'est le cas lorsque la ligne de niveau la
plus éloignée de l'origine est tangente en un seul sommet du polyèdre convexe.
- sinon, il y a une infinité de solutions, car n'importe quelle autre variable ayant un 0
pour la ligne peut (ou aurait pu) entrer à la place d'une variable de base affectant
les valeurs des autres variables de base tout en gardant constant. C'est le cas
lorsque la ligne de niveau la plus éloignée de l'origine est confondue à tout un
segment de la frontière du polyèdre convexe.
* S'il existe un élément de la ligne strictement positif tel que les éléments de la colonne
correspondante sont tous négatifs ou nuls, le problème n'a pas de solution optimale finie, car
il ne peut pas avoir de variable sortante. Ce cas "normalement" exclus du fait même de la
nature des programmes économiques se produit quand il y a erreur de modélisation.
* S'il existe un ou plusieurs éléments de la ligne strictement positifs, on poursuit le
processus itératif, jusqu'à aboutir à l'un des deux cas ci-dessus.

Page 12
Note de cours de Recherche Opérationnelle

2) Pour un minimum, la variable entrante est celle qui dans le tableau a le coefficient (sur la
ligne ) strictement négatif le plus grand en valeur absolue. Les valeurs des variables de la
base étant toujours positives, celle ayant le coefficient négatif de le plus élevé en valeur
absolue diminuera plus que les autres la valeur de la fonction économique.
* Si tous les éléments de la ligne sont positifs ou nul, le programme est optimal :
- si les seuls éléments nuls de la ligne correspondent aux variables de base (ou d'écart), alors
le minimum est unique. C'est le cas lorsque la ligne de niveau la plus proche de l'origine est
tangente en un seul sommet du polyèdre convexe.
- sinon, il y a une infinité de solutions, car n'importe quelle autre variable ayant un
coefficient nul sur la ligne peut (ou aurait pu) entrer à la place d'une variable de base
affectant les valeurs des autres variables de base tout en gardant Z constant. C'est le cas
lorsque la ligne de niveau la plus proche de l'origine est confondue à tout un segment de la
frontière du polyèdre convexe.
* S'il existe un élément de la ligne strictement négatif tel que les éléments de la colonne
correspondante sont tous négatifs ou nuls, le problème n'a pas de solution optimale finie, car
il ne peut pas avoir de variable sortante. Ce cas "normalement" exclus du fait même de la
nature des programmes économiques se produit quand il y a erreur de modélisation.
* S'il existe un ou plusieurs éléments de la ligne strictement négatifs, on poursuit le
processus itératif, jusqu'à aboutir à l'un des deux cas ci-dessus.

La variable sortante est toujours celle qui correspond à la valeur finie positive la plus petite
de la colonne C/k "colonne entrante", qu'il s'agisse de maximiser ou de minimiser la
fonction économique. Comme ce rapport doit toujours être strictement positif, on
comprend pourquoi il ne peut avoir de variable sortante :
- dans le cas du maximum, «S'il existe un élément de la ligne strictement positif tel que
les éléments de la colonne correspondante sont tous négatifs ou nuls».
- dans le cas du minimum, «S'il existe un élément de la ligne strictement négatif tel que
les éléments de la colonne correspondante sont tous négatifs ou nuls».

Le pivot est la valeur située à l'intersection de la variable entrante et la variable sortante de la


base. Le nouveau tableau est construit en rendant unitaire le pivot et en faisant les
transformations de Gauss (méthode du rectangle) nécessaires pour avoir partout 0 dans la
colonne pivot y compris sur la ligne de la fonction économique.

Page 13
Note de cours de Recherche Opérationnelle

Exercice
Une société fabrique trois modèles de meubles : classique, rustique, moderne. Les standards
unitaires de production sont résumés dans le tableau suivant :
Modèle Modèle Modèle Capacités
classique rustique moderne maximales
Bois 5 8 5 900
Main d’œuvre 1 2 3 516
Centre finition 2 2 0 200
Marges sur coûts variables 1000 960 1200

Déterminer les quantités à produire pour maximiser son résultat.


Résolution
 Forme canonique de ce programme
Soit :
le nombre de modèles classiques à produire
le nombre de modèles rustiques à produire
le nombre de modèles modernes à produire

{
 Forme standard
La méthode du simplexe nécessite une mise sous forme standard : les inégalités sont
transformées en égalités grâce à l’introduction des variables d’écart positives ou nulles notées
.
Il y a une variable pour chaque contrainte (autre que contrainte de positivité).
Exemple : Etude de la contrainte relative au facteur bois

Emploi du facteur bois


pour des niveaux de
production x, y et z Ecart entre la capacité et la consommation du
facteur bois pour une production x, y, z. Cet écart
permet l’égalité entre les deux membres

On obtient donc la forme standard :

Page 14
Note de cours de Recherche Opérationnelle

{
Tableau 0 :
HB . . . C
B
5 8 5 1 0 0 900
1 2 3 0 1 0 516
2 2 0 0 0 1 200
1000 960 1200 0 0 0 0

Interprétation de ce tableau :
Il s’agit de la solution admissible de départ qui respecte toutes les contraintes : ne rien
produire.
La production est donc nulle ( ) et la valeur de la fonction objectif est
égale à 0.
Les capacités disponibles des facteurs sont intactes. Ainsi signifie qu’il reste 900
unités de bois, signifie qu’il reste 516 unités de main d’œuvre, signifie
qu’il reste 200 unités de centre finition.
Cette solution peut être améliorée puisque les coefficients de la ligne ne sont pas négatifs ou
nuls.
Continuer l’exemple en suivant l’exemple précédent.
On trouve :
.

NB : Quel que soit le tableau, les coefficients de la dernière ligne (ligne ) sont appelés taux
marginaux de substitution. Chaque taux marginal de substitution mesure l’apport à la fonction
économique de l’entrée dans la base d’une unité d’une variable hors base.

2. Cas particulier : changement de variable


Soit le programme linéaire suivant :

Page 15
Note de cours de Recherche Opérationnelle

{
montre que la méthode présentée n’est pas applicable (en raison de la contrainte ).
La contrainte de signe est superflue en raison de la contrainte , et peut donc
être supprimée. Un changement de variable permet de résoudre le problème posé par la
contrainte
Cette contrainte peut s’écrire Posons et

Le changement de variable donne le programme suivant :


( )
( )

( )
{
Soit :

{
La forme standard de ce programme se présente comme suit :

{
Tableau 0 :
HB . . C R
B
2 1 1 1 0 1050

5 2 2 0 1 2500

120 150 100 0 0 -50 000

Page 16
Note de cours de Recherche Opérationnelle

Tableau 1 :
HB . . C
B
2 1 1 1 0 1050
1 0 0 -2 1 400
-180 0 -50 -150 0 -207 500

L’optimum est atteint puisque tous les coefficients de la ligne sont négatifs ou nuls.
La production est

3. DUAL
La notion de dualité a été introduite par Von Neumann en 1947, puis développée par Gale,
Kuhn et Tucker en 1951. Les propriétés fondamentales des problèmes de dualité ont été
définies par Goldman and Tucker en 1956.
A tout programme linéaire appelé PRIMAL correspond un programme linéaire appelé DUAL
obtenu de la manière suivante :

PRIMAL DUAL
m contraintes d'infériorité n contraintes de supériorité
n variables d'activité n variables d'écart
m variables d'écart m variables d'activité
écriture en ligne écriture en colonne

 La dualité permet de résoudre les problèmes de minimisation dont les contraintes (autres
que celles de positivité des signes) sont de sens
 Le nombre de variables du dual est égal au nombre de contraintes du primal. Elles doivent
être différenciées de celles du primal.
 Le nombre de contraintes du dual est égal au nombre de variables du primal.
 Les coefficients des colonnes (lignes) du primal sont les coefficients des lignes (colonnes)
du dual.
 Les inégalités du dual sont de sens opposé à celles du primal.
 Les coefficients de la fonction économique du primal sont les contraintes du dual.
 Si le primal est une minimisation, le dual est une maximisation et inversement.
 Les coefficients de la fonction économique du dual sont les contraintes du primal.

Page 17
Note de cours de Recherche Opérationnelle

 Le dual du dual est le primal.


 Un programme linéaire possède une solution optimale finie si et seulement si lui et son
dual possèdent des solutions réalisables.
 Si le problème primal possède une solution optimale infinie, alors le dual n’a pas de
solution réalisable.
 Si le dual ne possède pas de solution réalisable, alors que le primal en possède, alors la
solution du primal est une solution optimale infinie.
 Une contrainte est dite saturée lorsque la variable d'écart qui lui est associée est nulle à
l'optimum.
 Si pour une solution optimale d'un programme linéaire une contrainte n'est pas saturée,
alors la valeur optimale (duale) correspondante est nulle. La réciproque n'est pas
(nécessairement) vraie.
 Si la valeur optimale d'une variable n'est pas nulle, alors la contrainte duale
correspondante est saturée pour la solution optimale. Le corollaire est très utile pour
résoudre un programme à partir de la solution de son dual.
 Si pour une solution optimale d'un programme linéaire une contrainte n'est pas saturée,
alors la valeur optimale (duale) correspondante est nulle. En terme économique, par
exemple, si un bien est abondant (il n'y en a plus qu'on ne peut utiliser efficacement), son
coût marginal (une heure de location supplémentaire) considéré comme son prix
d'équilibre (la variable duale associée) est nul.

Exemple

PRIMAL DUAL
3 x1 + 4 x2  160 3 y1 + 6 y2 
6 x1 + 3 x2 180 4 y1 + 3 y2 
Max z = 1200 x1 + 1000 x2 Min w = 160 y1 + 80 y2
x1  0 ; x2 0 y1  0 ; y2 0

A l'optimum, le primal et le dual sont liés par les règles suivantes :


- les fonctions objectifs z et w ont la même valeur optimale
- la valeur marginale d'une variable dans un programme est égale à l'opposé de la valeur
optimale de la variable associée dans l'autre programme et réciproquement.

Page 18
Note de cours de Recherche Opérationnelle

Exemple

PRIMAL z = 47200 x1 x2 t1 t2
valeurs optimales 16 28 0 0
valeurs marginales 0 0 -160 -120

w = 47200 u1 u2 y1 y2
DUAL
valeurs optimales 0 0 160 120

Exercice d’application
Une société fabrique, entre autres, deux produits et dont les marges sur coûts variables
sont respectivement de 16kF et de 10 kF. La production de ces produits nécessite le passage
dans trois ateliers pendant les temps de fabrication exprimés en heures dans le tableau
suivant :
Capacité de l’atelier
Atelier 1 1 2,5 195
Atelier 2 2 1 160
Atelier 3 1 1,5 120

Un donneur d’ordres s’adresse à la société pour un contrat de sous-traitance. Déterminer le


prix de location des ateliers pour que le coût soit minimal pour le donneur d’ordres et
acceptable pour la société.
Résolution
Soit :
le prix de location de l’atelier 1
le prix de location de l’atelier 2
le prix de location de l’atelier 3
La production d’un produit rapporte une marge sur coûts variables de 16 kF pour une
consommation d’une heure de l’atelier 1, de 2 heures de l’atelier 2 et d’une heure de l’atelier
3. La location des ateliers doit donc générer un gain au moins équivalent, d’où la contrainte :

Le même raisonnement est appliqué au produit . Et on a :

D’où le programme linéaire :

Page 19
Note de cours de Recherche Opérationnelle

{
La résolution graphique n’est pas applicable puisque le programme comporte plus de deux
variables. La méthode du simplexe n’a été présentée que pour des contraintes
La dualité permet de résoudre les problèmes de minimisation dont les contraintes (autres que
celles de positivité des signes) sont de sens
Le dual est obtenu comme suit :

Il s’agit de résoudre le primal. Il faudra donc déterminer la solution du programme primal à


partir de la résolution du programme dual.
La forme standard se présente comme suit :

{
Tableau 0 :
HB . . . C R
B
1 2,5 1 0 0 195

2 1 0 1 0 160

1 1,5 0 0 1 120

16 10 0 0 0 0

Page 20
Note de cours de Recherche Opérationnelle

Tableau 1 :
HB . . . C R
B
0 2 1 0 115

1 0 0 80

0 1 0 1 40

0 2 0 -8 0 -1280

Tableau 2 :
HB . . C
B
0 0 1 -2 35

1 0 60

0 1 0 1 40

0 0 0 -7 -2 -1360

L’optimum du dual est atteint, mais il s’agit de résoudre le programme primal.

REGLE : SOLUTIONS DU PRIMAL


A l’optimum, la solution du programme primale est, au signe près, lue sur la dernière
ligne du tableau dans les colonnes des variables d’écart.
A l’optimum, la valeur de la fonction économique du dual est égale à celle du primal.

La solution du primal est donc :

Page 21
Note de cours de Recherche Opérationnelle

CHAPITRE 2 :
UTILISATION DES VARIABLES ARTIFICIELLES

1. Minimisation d’une fonction objectif avec mélange de signes


1.1. Apparition de signe dans les contraintes
Dans un programme linéaire classique de minimum, les contraintes sont toutes avec le signe
Que faire donc lorsqu’un signe caractéristique des programmes linéaires classiques de
maximisation apparaît dans les contraintes ?
Exemple : Résoudre

( )
( )
( )
{
Dans ce cas, il faut ramener tous les signes à avant d’écrire le dual. Pour ce faire, il faut
multiplier d’abord la troisième contrainte par (-1) pour la ramener à

( )
( )
( )
{
A partir de là on peut écrire le dual, soit :

La forme standard se déduit :

Page 22
Note de cours de Recherche Opérationnelle

Tableau 0 :
HB . . . C R
B
2 1 -3 1 0 0 40

1 2 -1 0 1 0 12

1 1 -1 0 0 1 15

150 200 -180 0 0 0 0

Tableau 1 :
HB . . C R
B
0 1 0 34

1 0 0 6

0 0 1 9

50 0 -80 0 -100 0 -1200

Tableau 2 :
HB . . . C
B
1 0 25

0 0 12

0 3
0 -30 0 -150 0 -1800

Page 23
Note de cours de Recherche Opérationnelle

REGLE : SOLUTIONS DU PRIMAL


A l’optimum, la solution du programme primale est, au signe près, lue sur la dernière
ligne du tableau dans les colonnes des variables d’écart.
A l’optimum, la valeur de la fonction économique du dual est égale à celle du primal.

La solution du dual est :

La solution du primal est donc :

1.2. Apparition du signe (=)


Presque de la même manière que précédemment, il faut ramener toutes les contraintes au
signe classique avant d’écrire le dual.
Exemple : Résoudre

( )
( )
( )
{
La 3e contrainte devra être transformée en double inégalité, sachant qu’une égalité peut
s’écrire en double inégalité.

La 3e contrainte devient donc :

Le programme linéaire complet donne :

Page 24
Note de cours de Recherche Opérationnelle

( )
( )
( )
( )
{
La 4e contrainte devra être multipliée par (-1) pour être ramenée à et on pourra écrire le
dual. Soit :

( )
( )
( )
( )
{

Et le dual est le suivant :

{
La forme standard se présente comme suit :

Tableau 0 :
HB . . . C R
B
2 1 3 -3 1 0 0 40

1 2 1 -1 0 1 0 12

1 1 1 -1 0 0 1 15

150 200 180 -180 0 0 0 0

Page 25
Note de cours de Recherche Opérationnelle

Tableau 1 :
HB . . C R
B
0 1 0 34

1 0 0 6

0 0 1 9

50 0 80 -80 0 -100 0 -1200

Tableau 2 :
HB . . . C
B
-5 0 0 1 0 4
2 1 0 0 12
0 -1 0 0 0 3
-30 -160 0 0 0 -180 0 - 2160

A l’optimum, la solution du programme primale est, au signe près, lue sur la dernière
ligne du tableau dans les colonnes des variables d’écart.
A l’optimum, la valeur de la fonction économique du dual est égale à celle du primal.

La solution du dual est :

{
La solution du primal est donc :

Page 26
Note de cours de Recherche Opérationnelle

2. Les programmes linéaires de maximisation avec mélanges de signes : notions de


variables artificielles
Dans les exemples traités jusqu’ici, un programme linéaire de maximum classique est
caractérisé par le fait que toutes les contraintes sont avec l’inégalité Dans la pratique, cette
forme classique n’est pas toujours donnée. Dans le système des contraintes, il peut apparaître
le signe ou à côté des signes
De plus la formulation de certains programmes est telle qu'il n'y a pas de solution de base
évidente. C'est le cas surtout pour les problèmes de minimisation et de façon générale, quand
des contraintes sont sous forme soit d'égalité, soit sous forme de supériorité. Les
programmes de maximisation peuvent donc aussi être concernés.

2.1. Définition des variables artificielles


L’introduction de variables artificielles permet de résoudre le problème posé par les
contraintes Quand un programme linéaire comporte une contrainte , la contrainte de
positivité liée à la variable d’écart n’est pas respectée pour la forme standard.
Exemple : Soit la contrainte :

Prenons une solution qui respecte la contrainte. Par exemple ( ) donne .


Dans la forme standard, la variable d’écart qui permet l’égalité est telle que :
soit ce qui ne respecte pas la contrainte
La forme standard de la contrainte est donc :

La variable est alors mise hors base et l’introduction dans la base d’une variable artificielle
, positive ou nulle, affectée du coefficient 1 permet d’obtenir une solution de départ
admissible :

Les variables hors base sont :

et en base ce qui respecte


Remarque : cas où le second membre négatif
Le problème qui peut se poser est que l’une des variables du second membre soit négative.
Par exemple supposons que lors de la formulation on trouve une contrainte de ce type :
x1 - x2  -4

Page 27
Note de cours de Recherche Opérationnelle

La condition qu’il faut vérifier avant de se lancer dans la réécriture de cette contrainte, en vue
de construire le programme standard, est la non-négativité du second membre. Si un second
membre est négatif il suffit de multiplier la contrainte par -1. Ceci a pour effet de changer le
sens de l'inégalité.
Ainsi, on doit modifier la contrainte avant de commencer la standardisation et la réécrire
comme suit :
-x1 + x2  4.

REGLE
Il n'est nécessaire d'introduire de variable artificielle (toujours positive) que dans les cas
où la contrainte est sous forme d'égalité (=) ou de supériorité (≥). Dans la nouvelle
équation, la variable artificielle est affectée du signe du second membre.
1) Introduire une variable artificielle par contrainte La variable d’écart de la contrainte
affectée du coefficient est mise hors base.
2) Elles permettent simplement l’égalité dans la forme standard et ne sont pas une donnée du
problème. En conséquence, elles doivent être nulles à l’optimum. Pour cela, il faut les
faire sortir de la base en leur donnant un coefficient fortement pénalisant dans la fonction
économique :
a- S’il s’agit d’une maximisation, le coefficient affecté à la variable artificielle est
très négatif : où M est une constante positive arbitrairement grande qui tend
à réduire la fonction économique, tant que les variables artificielles sont dans la
base. On dit qu'on pénalise la fonction objectif, d'où le nom de la méthode dite
méthode des pénalités
b- S’il s’agit d’une minimisation, le coefficient affecté à la variable artificielle est
très positif : où M est une constante positive arbitrairement grande qui tend à
augmenter la fonction économique, tant que les variables artificielles sont dans la
base. On dit qu'on pénalise la fonction objectif d'où le nom de la méthode dite
méthode des pénalités.
NB :
La variable artificielle sortant de la base, va se trouver dans la ligne avec un fort coefficient
positif et ne pourra donc plus y entrer ; on peut donc supprimer la colonne correspondante
dans la suite des itérations.

Page 28
Note de cours de Recherche Opérationnelle

2.2. Résolution d’une maximisation


2.2.1. Présence de dans un programme linéaire classique de maximisation
Soit le programme linéaire suivant :
Maximiser :

Forme standard
( )
( )
( )
( )
{

( )
( )
( ) ( )

Tableau 0 :
HB . C R
B
1 4 0 0 0 36
-2 1 0 0 13
3 1 0 0 1 0 0 53 53/3
1 0 0 1 4 4
0 0

La variable artificielle sortant de la base, va se trouver dans la ligne avec un fort coefficient
positif et ne pourra donc plus y entrer ; on peut donc supprimer la colonne correspondante
dans la suite des itérations.

Page 29
Note de cours de Recherche Opérationnelle

Tableau 1 :
HB C R
B
0 3 0 0 1 -1 32 32
0 -3 1 0 -1 9 9
0 -2 0 0 1 3 -3 41 41/3
1 0 0 1 4
0 0 0 0 3

Tableau 2 :
HB C R
B
0 6 0 0 23
0 -3 1 0 9
0 7 0 -3 1 0 14 2
1 0 13
0 0 0 0

Tableau 3 :
HB C R
B
0 0 0 11 7
0 -3 15
0 1 0 0 2
17
0 0 0

Page 30
Note de cours de Recherche Opérationnelle

Tableau 4 :
HB C
B
0 0 0 7
0 0 17
0 1 ⁄ 0 5

⁄ ⁄ 16

0 ⁄ ⁄ 0

On trouve

Exercice
Soit le programme linéaire suivant :

La forme standard se présente comme suit :

D’après la 2e contrainte, on a :

D’où :
( )
Soit
( ) ( ) ( )

Page 31
Note de cours de Recherche Opérationnelle

Tableau 0 :
HB . . C R
B
1 3 1 1 0 0 10 000

2 1 1 0 -1 1 5 000

100 500 200 0 0 0 0


+2M +M +M -M +5000 M

Tableau 1 :
HB . . C R
B
1 1 7500

1 0 2500

0 450 150 0 50 -50 -250 000


+0M +0M +0M +0M +0 M

Tableau 2 :
HB C R
B
0 3000

1 1000

0 0 60

Page 32
Note de cours de Recherche Opérationnelle

Tableau 3
HB C R
B
2.500

2.500

0 0

Tableau 4
HB . C
B
5000
10000
-100 0

L’optimum est atteint et on trouve :

Page 33
Note de cours de Recherche Opérationnelle

2.2.2. Exemples avec le signe d’égalité


Soit le programme linéaire :
Maximiser :

{
Forme standard
( )
( )
( )
{

( )
( )

( ) ( )

Tableau 0 :
HB . C R
B
-1 1 0 4
3 1 60
1 0 5

La variable artificielle sortant de la base, va se trouver dans la ligne avec un fort


coefficient positif et ne pourra donc plus y entrer; on peut donc supprimer la colonne
correspondante dans la suite des itérations.

Page 34
Note de cours de Recherche Opérationnelle

Tableau 1 :
HB C R
B
16
1 0 0 0 12
1 5

La variable artificielle sortant de la base, va se trouver dans la ligne avec un fort


coefficient positif et ne pourra donc plus y entrer; on peut donc supprimer la colonne
correspondante dans la suite des itérations.

Tableau 2 :
HB C R
B
0 8
1 0 0 9
1 5
0

Tableau 3 :

HB C
B
0 5
1 0 0 6
1 10
0

Tous les coefficients sur la ligne sont négatifs ou nuls. L’optimum de maximisation est ainsi
atteint.

Page 35
Note de cours de Recherche Opérationnelle

On trouve donc :

Exercice
Soir à résoudre le programme linéaire de maximisation suivant :

( ) ( )
( ) ( )
( ) ( )
( ) ( )
{ {

Par introduction des variables d’écart et au niveau des contraintes (1) et (2), et des
variables artificielles au niveau des contraintes (1), (2), (3) et (4), nous avons :
Forme standard

( )
( )
( )
( )
{
( )
( )
( ) ( ) ( ) ( )
Tableau 0 :
HB . . C R
B
4 8 2 0 0 200
2 0 10 2 0 1 0 0 400 40
2 8 4 1 400
2 0 2 0 300

Page 36
Note de cours de Recherche Opérationnelle

L’objectif étant de sortir d’abord les variables artificielles. En règle générale, nous partons du
plus grand coefficient positif qui est ici ce qui fait sortir une variable d’écart
Ce qui ne nous arrange pas car il faut faire sortir d’abord les variables artificielles. Pour cela
nous passons au plus grand coefficient positif immédiatement inférieur soit .

Tableau :
HB . . C R
B
4 8 2 0 0 200
2 0 10 2 0 1 0 0 400 200
2 8 4 1 400
2 0 2 0 300 150

La variable artificielle sort de la base. Il faudra supprimer sa colonne dans le tableau


suivant.
Tableau :
HB . . C R
B
4 8 2 0 200
2 6 0 0 1 0 200 100
1/2 2 1 100
1 0 100 50

+100M

La variable artificielle sort de la base. Il faudra supprimer sa colonne dans le tableau


suivant.

Page 37
Note de cours de Recherche Opérationnelle

Tableau 2 :
HB . . C
B
0 6 10 0 0
0 10 0 0 1 0 100
1/2 2 1 100
0 50

Tableau 3 :
HB . . C
B
0 1 0 0
0 0 0 1 0 100
-7/10 0 1 100
0 50

L’optimum est ainsi atteint. On trouve :

Exercice :
Soit le programme linéaire suivant :

{
Forme standard :

Page 38
Note de cours de Recherche Opérationnelle

La variable doit être mise hors base.


On tire :

Et :
( )
Tableau :
HB . C R
B
1 2 4 1 0 0 320
2 1 2 0 1 0 0 0 200 200
3 2 2 0 0 300
0 1 0 0 120 120

La variable artificielle sort de la base. Il faudra supprimer sa colonne dans le tableau


suivant.
Tableau :
HB . C R
B
1 0 4 1 0 2 80
2 0 2 0 1 0 1 80 40
3 0 2 0 2 60
0 1 0 0 120

base

Page 39
Note de cours de Recherche Opérationnelle

Tableau :
HB . C R
B
0 1 0 20
0 0 1 0 0 40
0 0 1 20
0 1 0 0 120

Tableau :
HB . C
B
0 1 0 0 10
0 0 1 0 0 40
0 0 1 20
1 0 140

L’optimum est ainsi atteint. On trouve :

Page 40
Note de cours de Recherche Opérationnelle

CHAPITRE 3
RÉSOLUTION D’UNE MINIMISATION : Méthode des Pénalités

Les principes de résolution sont les mêmes à l’exception du choix de la variable qui entre
dans la base : la variable entrante est celle dont le taux marginal de substitution sont positifs
ou nuls.
Soit à résoudre le programme linéaire suivant sous sa forme canonique
5 x1 + 6 x2  10
2 x1 + 7 x2 14
Min z = 3 x1 + 10 x2
x1  0 ; x2 0

* Forme standard
5 x1 + 6 x2 - 1 t1 + 1 a1 + 0 a2  10
2 x1 + 7 x2 - 1 t2 + 0 a1 + 1 a2 14
Min Z = 3 x1 + 10 x2 + 0 t1 + 0 t2 + M a1 + M a2
x1  0 ; x2 0 ; t1  0 ; t2 0; e1  0 ; e2 0

On tire :

Et on a :

( ) ( )

* Tableau 0

HB x1 x2 t1 t2 . . C
B
5 6 -1 0 1 0 10

2 7 0 -1 0 1 14

 3-7M 10-13M M M 0 0 -24 M

Puisqu'on recherche un minimum, la variable entrante est celle qui a le plus grand coefficient
négatif, c.à.d. x2. En fait il suffit de regarder le coefficient de M car M est très grand ; le
coefficient indépendant de M n'intervient que dans le cas où plusieurs variables ont le même
coefficient pour M.

Page 41
Note de cours de Recherche Opérationnelle

HB x1 x2 t1 t2 . . C R
B
e1 5 6 -1 0 1 0 10 5/3 variable sortant

e2 2 7 0 -1 0 1 14 2

 3-7M 10-13M M M 0 0 -24M

variable entrant

La variable artificielle sortant de la base, va se trouver dans la ligne avec un fort coefficient
positif et ne pourra donc plus y entrer; on peut donc supprimer la colonne correspondante
dans la suite des itérations, d'où le tableau 1.

Tableau 1 :

HB x1 . t1 t2 . C
B
x2 5/6 1 -1/6 0 0 5/3
e2 -23/6 0 7/6 -1 1 7/3
 -16/3+(23/6)M 0 5/3-(7/6)M M 0 -50/3-(7/3)M

HB x1 . t1 t2 . C R
B
x2 5/6 1 -1/6 0 0 5/3 -10

e2 -23/6 0 7/6 -1 1 7/3 2


variable sortant
- 0 5/3- M -50/3-
 0
16/3+(23/6)M (7/6)M (7/3)M
variable entrant

d'où le tableau 2.

Page 42
Note de cours de Recherche Opérationnelle

Tableau 2 :

HB x1 . . t2 C
B
x2 6/21 1 0 -1/7 2
t1 -23/7 0 1 -6/7 2
 1/7 0 0 30/21 -20

On a atteint la solution optimale qui est x1 = 0; x2 = 2; t1 = 2; t2 = 0; Z = 20.


Remarque: Dans le cas particulier de cet exemple qui était sous forme standard, il aurait été
plus rapide de traiter le problème dual et d'en déduire la solution du problème primal initial.

REMARQUE
Avec la méthode de simplexe, on reconnaît que le problème est impossible si une ou
plusieurs variables artificielles sont présentes dans la base dans le tableau de simplexe
optimal, ce qui signifie que la solution donnée par ce tableau n’est pas réellement
réalisable.
Exemple:
Vérifier à l’aide de la méthode de simplexe, que le problème suivant est réellement impossible
:
Max 4 x1 + 3x2
Sc x1 + x2  2
3x1 + x2  10
x1 , x2  0

REMARQUE

Les problèmes à solutions multiples


Graphiquement, ce problème est caractérisé par le fait que la pente de la droite représentant la
fonction objectif (z = 0) est égale à la pente de l’une des contraintes restrictives. Lorsqu’on
utilise la méthode de simplexe, on identifie ce problème lorsqu’un des effets nets (relatif à une
variable hors base) est nul.

Page 43
Note de cours de Recherche Opérationnelle

Les problèmes à solution infinie


Graphiquement, ce problème est caractérisé par le fait qu’on peut déplacer la droite de la
fonction objectif indéfiniment de manière à accroître la valeur, en gardant toujours une
intersection non vide avec l’ensemble des solutions réalisables.
Avec la méthode de simplexe, on reconnaît ce problème lorsque la variable entrante n’admet
aucune limite sur sa valeur d’entrée, c’est à dire que tous les ratios Qi/aijo sont négatifs ou
nuls.
Exemple
Max x1 + 2x2
Sc x1 + x2  2
x2  3
x1 , x2  0

Les problèmes à solution dégénérée


Graphiquement, on appelle solution dégénérée le point où plusieurs contraintes concourent
(un nombre supérieur ou égale à trois contraintes). Un programme linéaire est dit dégénéré si
une ou plusieurs variables dans la base optimale sont nulles. Dans la résolution graphique ce
problème n’est pas difficile à résoudre, mais avec la méthode de simplexe il peut causer des
difficultés.

Exemple
Max z = 2x1 + 0 x2 + 3/2 x3
s.c. x1 - x2  2
2x1 + x3  4
x1 + x2 + x 3  3
x1, x2, x3  0

Exercice
Minimiser , soumis aux contraintes suivantes :

Page 44
Note de cours de Recherche Opérationnelle

Réponse :

Exercice
Min Z = x1 + x2
Sc 2x1 + x2  12
5x1 + 8x2  74
x1 + 6x2  24
x1  0 , x2  0

Réponse :
x1 = 8
x2 = 2
Z = 10
Exercice
Résoudre le programme linéaire suivant :
Min Z = 3x1 + 2x2 + 5 x 3
sous les contraintes
x 1≥0 , x 2≥0 , x 3≥0
x 1 + x 2 + 2 x 3 ≥ 15
x 1 + 3 x 2 + x 3 ≥ 10
Réponse : x1=x3=0 et x2=15 et Z = 30.

Page 45
Note de cours de Recherche Opérationnelle

CHAPITRE 4
GESTION DES STOCKS

Toute entreprise produisant ou commercialisant des biens, a besoin de disposer de stocks,


afin d’assurer la fonction indispensable d’harmonisation de l’offre et de la demande et ceci
avec double souci apparemment contradictoire.

On désigne par stock « l’ensemble des biens et des services qui interviennent dans le cycle
d’exploitation de l’entreprise pour être :
- soit vendus en l’état ou au terme d’un processus à venir ou en cours ;
- soit consommés au premier usage.

La valeur des stocks dans un bilan d’une entreprise est souvent très élevée. Un stock mal géré
peut conduire à des difficultés parfois fatales à l’entreprise. C’est la raison pour laquelle il
est nécessaire de le faire tourner rapidement (rotation) sans risquer une rupture de stock. Si
les stocks sont composés d’une grande variété de produits, il est nécessaire de limiter la
gestion ou donner la priorité, à certaines catégories d’articles (celles qui ont les mouvements
les plus importants ou celles qui réalisent une grande partie du chiffre d’affaires).

 Le stock de l’entreprise doit être suffisamment important pour éviter le risque de rupture
de stock qui pourrait avoir pour conséquence des manques à gagner ou une rupture dans
le processus de production lorsqu’il s’agit de matières premières. Toute rupture de stocks
suscite un coût non négligeable.
 Mais un stock important engendre des frais de magasinage et une immobilisation de
financement.

Les modèles de gestion de stocks aident le gestionnaire dans le choix d’une politique optimale
de gestion.

1. Importance des stocks


L’importance des stocks réside dans les économies que l’on peut en tirer.
Quant à son utilité, le stock permet :
- d’assurer une consommation régulière d’un produit bien que sa production soit
irrégulière ou régulière ;
- de parer aux aléas de consommation, même si celle – ci reste à peu près constante ;
- de répondre aux demandes supplémentaires de la clientèle et de la production pendant
la période de livraison ;

Page 46
Note de cours de Recherche Opérationnelle

- de parer rapidement aux conséquences fâcheuses d’accidents possibles, de grèves ou


d’avaries ;
- de se protéger ou d’éviter le dérangement dû à des achats ou des livraisons trop
fréquentes.
En matière d’inconvénients des stocks, ils tiennent surtout :
- au caractère périssable de certains produits (pain par exemple) ;
- à l’immobilisation du capital pouvant aggraver les problèmes de trésoreries,
d’assurance et de taxes et impôts ;
- aux ruptures qui peuvent intervenir par manque de stocks ;
- aux encombrements des magasins et pertes de temps entraînés par des stocks inutiles
tels que les invendus.

2. Paramètres de gestion des stocks


2.1. Période de gestion
Notée , elle est la période totale sur laquelle la gestion de stocks est effectuée. En général
(360 jours).

2.2. Période d’approvisionnement


Notée T, elle représente la période séparant la période deux réapprovisionnements successifs.
Elle peut être :
- constante (dans ce cas l’intervalle de temps entre deux approvisionnements est le
même)
- variable (dans ce cas, un niveau de stock appelé stock d’alerte noté Sa déclenche une
commande. Le stock d’alerte permet de faire face à la demande entre le jour de la
commande et le jour de la livraison avec une marge de sécurité donnée.

2.3. Demande ou consommation D


C’est la quantité consommée en unités physiques ou en valeur d’intrant sur la période de
gestion

2.4. Quantité commandée ou à commander


Notée Q, elle est la quantité commandée ou à commander à chaque approvisionnement. Elle
peut être constante c'est-à-dire à chaque commande de réapprovisionnement, la quantité

Page 47
Note de cours de Recherche Opérationnelle

commandée sera la même. Quand la quantité à commander est fonction de la consommation


future à satisfaire, Q est variable.
2.5. Nombre de commandes ou cadence d’approvisionnement
Désigné par n, il est le nombre de fois que l’entreprise renouvelle ses commandes dans
l’année. Si Q est fixe, on a :

2.6. Coût global de gestion de stock


Il comprend le coût global de passation de commande encore appelé coût d’acquisition de
commande et le coût de possession de stock encore appelé coût global de détention de stock
ou coût global de stockage.
2.6.1. Coût de passation de commande
Noté , il représente les dépenses engagées dans l’entreprise pour effectuer cette commande.
Il couvre les frais administratifs de courrier, de suivi, de réglage. Il n’est pas fonction de la
quantité commandée mais dépend du nombre de commandes n.
Le coût global de passation de commande noté pour n commandes au cours de la période
de gestion est :

2.6.2. Coût de stockage


Noté , il est le coût de stockage par unité de produit et par unité de temps. Il est parfois
exprimé en pourcentage du prix unitaire du produit par période de gestion. Si p désigne le
prix unitaire du produit et t le pourcentage du coût de possession, alors le coût de stockage
est donné par :

Il engendre un coût global de possession de stock sur la période de gestion noté


est représente le coût de l’entretien du stock, de sa conservation, du capital immobilisé,
etc.
Il est fonction de la durée de stockage et du stock moyen noté ̅ . On a :

̅ ( é )

En général, ainsi,
é
̅

Page 48
Note de cours de Recherche Opérationnelle

et :

Exemple :
Le stock d’un produit en début de mois est de 50 unités. La demande du mois a été de 30
unités uniformément répartie sur le mois. Le coût de stockage est de 10F par unité et par
jour. Calculer le coût de stockage pour le mois. Réponse : 10 500F.
2.7. Coût de pénurie ou coût de rupture de stock
Ce coût apparaît dans les modèles admettant une rupture de stock. Noté il est le coût par
unité de produit manquant et par unité de temps.
Le principe est que, sur la période de réapprovisionnement T, l’entreprise a besoin de Q
quantité. Mais elle décide d’acquérir seulement une partie S lui couvrant une durée et
gérer le manquant – sur la seconde période de T, avec .
Le problème de rupture de stock peut être schématisé comme suit :

Quantité
B

Pénurie

O Temps
C T
Q-S

D E
A

Figure 1 : Modèle avec coût de pénurie

Page 49
Note de cours de Recherche Opérationnelle

: Période de stockage
: Période de pénurie avec
S : Quantité stockée
Q : Quantité demandée
Le coût de pénurie pendant la période de gestion est :

3. Gestion des stocks en avenir certain


3.1. Modèle de Wilson
3.1.1. Hypothèses du modèle
 La demande D sur la période de gestion est constante.
 La période d’approvisionnement T est constante.
 Pas de rupture de stock.
 Pas de stock de sécurité.
3.1.2. Objectifs du modèle
L’objectif est de déterminer le volume optimal (appelé lot économique) des commandes de
réapprovisionnement pour chaque période T de façon à minimiser le coût global de gestion
de stock .
On sait que :

On a :

et :

Donc est fonction de Q et on a :

( )

De même :

donc est fonction de Q et on peut écrire :

( )

Page 50
Note de cours de Recherche Opérationnelle

Le coût global de gestion de stock est fonction de Q et on peut écrire ( ).


Et on a :

( )

Calcul du lot économique


est minimal pour la valeur de de Q telle que : ( )

( )

On tire :

et :

Nombre optimal de commandes ou cadence d’approvisionnement

Période optimal d’approvisionnement


La période optimale d’approvisionnement est :

Remarque :

est inversement proportionnelle à Q et

est proportionnelle à Q

Donc ( ) sera minimal pour la valeur de Q telle que ( ) ( )


Représentation graphique

Page 51
Note de cours de Recherche Opérationnelle
Figure 1
Quantité économique à commander

Coût
Annuel
($) Coût total

Coût total Coût de stockage


minimum

Coût de commande

Commande optimale Quantité à commander


Qopt

Insuffisances du modèle de Wilson


 Hypothèses du modèle trop éloignées de la réalité.
 Le modèle ne prend pas en compte les réductions éventuelles accordées lors de l’achat
d’une grande quantité.

3.2. Modèle à tarifs dégressifs


Cette approche est plus réaliste, car elle intègre le coût d’acquisition de l’article. Les
fournisseurs accordent souvent des remises si les quantités commandées dépassent un certain
seuil ou un certain montant prédéterminé. On a donc :

= + +

Ainsi aux deux coûts du tarif constant viendront s’ajouter les coûts d’acquisition
, au prix unitaire P.
La démarche de résolution à suivre est la suivante :
 Formuler le coût global d’acquisition en fonction de Q et P.
 Formuler pour chaque hypothèse de prix le modèle.

Page 52
Note de cours de Recherche Opérationnelle

 Calculer pour chaque hypothèse de prix la quantité qui minimise le coût global
en choisissant la quantité optimale correspondant suivant le tableau indicatif ci-
après :
Quantité Q Prix unitaire P

Avec :

On calcule le prix global d’acquisition pour les différentes tranches de prix.

Soit :

( )

est minimal pour la quantité telle que ( ) .


1er Cas :
Si on retient
Si on retient .
2e Cas :
Si on retient
Si on retient
Si on retient
3e Cas :
Si on retient
Si on retient
On calculera ( ) pour les différentes tranches de prix et on retiendra la tranche pour
laquelle ( ) est minimal.

Page 53
Note de cours de Recherche Opérationnelle

Exercice d’application
Une entreprise souhaite améliorer la gestion du stock d’un bien M dont les caractéristiques
actuelles sont :
 La demande journalière est constante et égale à 10 unités ;
 Le coût de lancement d’une commande est de 180F ;
 Le coût de stockage proportionnel à la valeur du stock moyen et à la durée du
stockage est de 2%.
 Il n’y a pas de rupture de stock, ce qui rend les coûts de pénurie nuls.
 Une année civile compte ici 300 jours ouvrables.
1. Donner l’expression du coût de gestion du stock pour une année civile en fonction de la
quantité Q à commander et du prix P de la marchandise M.
2. Sachant que le prix unitaire P = 50 F, déterminer la quantité optimale à commander à
partir du nombre n des commandes, ainsi que la durée de réapprovisionnement et les coûts
de gestion.
3. Mettant en œuvre une nouvelle politique commerciale, le fournisseur de l’entreprise lui
propose pour la marchandise M le tarif dégressif ci-après :
Quantité Q Prix unitaire P

45F

a) Exprimer le coût annuel de gestion en fonction de Q dans chaque hypothèse de prix.


b) Calculer ainsi que les dans chaque cas.
c) Calculer les coûts correspondants des et dire si l’entreprise doit changer de
politique d’approvisionnement en égard au coût minimal identifié. NB : Répondre à
cette dernière question par rapport aux résultats des questions 1) et 2).

3.3. Modèle avec coût de pénurie


Dans ce cas on a :

Page 54
Note de cours de Recherche Opérationnelle

Avec :

sur la période .

sur la période T mais sur la période .

sur la période T mais sur la période .

On exprimera et en fonction de T.
Le raisonnement peut être géométriquement mené comme suit en considérant les triangles
ABE, OBC et DCE de la figure 1.
On a :

ce qui permet d’écrire :

On peut tirer :

Et :
( )

Or sur la période de gestion on a le coût global qui donne :

En y remplaçant les valeurs de et on a :


( )

soit
( )

Or :

Alors :
( )

Page 55
Note de cours de Recherche Opérationnelle

Le coût sera minimum lorsque les dérivées partielles et sont nulles, soit :

En résolvant ce système on trouve :

√ √

On peut donc aisément déduire les paramètres du modèle avec coût de pénurie à partir du
modèle de Wilson.

Page 56
Note de cours de Recherche Opérationnelle

Tableau comparatif : MODELE DE WILSON ET MODELE AVEC PENURIE

N° Paramètres Modèle de Wilson Modèle avec pénurie

1 Taux de pénurie ou N’existe pas


taux de défaillance

2 Lot économique
√ √

3 Quantité à stocker : S √

4 Cadence d’approv.

5 Période
d’approvisionnement √

6 Durée de stockage √
ou de service

7 Durée de la pénurie

8 Coût de stockage

9 Coût de pénurie ( )

10 Coût total de gestion √

11 Economie liée à la - ( √ )
pénurie

12 Taux d’économie -

13 Stock d’approv. ou stock


( )
critique minimal

14 Stock d’alerte

Page 57
Note de cours de Recherche Opérationnelle

NB :
est tel que où est le nombre de fois T dans = délai
d’approvisionnement.

3.4. Délai d’approvisionnement (da) – Stock de sécurité (Ss) - Stock critique


minimal
Le stock minimum est le stock que l’on devrait théoriquement consommer entre la date de
commande et la date de livraison.
Stock minimum = Date d’approvisionnement (en jours) * consommation quotidienne.
 Permet de tenir entre la date de la commande et la date de livraison !
Le stock de sécurité constitue une réserve permettant de se protéger contre :
 Une augmentation du délai de livraison
 Une augmentation de la consommation pendant le délai de livraison.
Le stock d’alerte ou point de commande Sa est le niveau du stock qui déclenche la
commande.
Stock d’alerte = Stock minimum + Stock de sécurité
Sa = Sm + Ss
 Quand on atteint ce niveau de stock, il faut commander.
Exemple : une entreprise consomme 5 tonnes d sable par jour, le délai de livraison est de 10
jours.
Stock minimum : 5 * 10 = 50 tonnes
Le stock de sécurité a été établi à 2 jours de consommation :
Stock de sécurité est de : 5 * 2 = 10 tonnes
Et donc le stock d’alerte est de 50 + 10 = 60 tonnes.
Dès que le stock de sable atteint 60 tonnes, le magasinier doit passer une commande.
La quantité à commander à précédemment été établie grâce au modèle de Wilson.

Le délai d’approvisionnement (da) est la date de passation de la commande et la date de


livraison.
Le stock critique minimal est la consommation pendant le délai d’approvisionnement
.
 Si alors on a : ̅ avec ̅ la demande moyenne journalière
lorsque est en jours.

Page 58
Note de cours de Recherche Opérationnelle

 Si alors on a ̅ ( ) où est le nombre de fois que da


contient T.
Exemple :
̅ –
. Soit

Stock de sécurité (Ss)


Pour faire face à des situations non prévues initialement (augmentation du rythme de la
consommation, retard dans la livraison... etc) on prévoit un stock de sécurité. Son niveau est
fixé de façon empirique et son existence ne met pas en cause le principe de calcul du lot
économique.

Les charges supplémentaires liées au stock de sécurité sont égales à : .


La marge offerte par le stock de sécurité est :

Problème 1
Une société se propose de gérer le stock de sécurité d’un produit donné A, selon le modèle de
Wilson. La société possède des informations suivantes :
- Prix unitaire de vente du produit A : 500F
- Prix unitaire de revient du produit A : 400F
- Chiffre d’affaire annuel du produit A : 60 . 000 . 000F
- Taux trimestriel de possession de stock : 24%
- Coût de passation d’une commande : 230. 400F.

Partie A : Gestion sans pénurie


On demande de déterminer :
1. Le lot économique
2. La cadence d’approvisionnement
3. La période d’approvisionnement
4. Le coût global annuel de gestion de stock optimal.

Page 59
Note de cours de Recherche Opérationnelle

Partie B: Gestion avec pénurie


La société accepte le risque de pénurie et fixe son coût à 60F par unité manquante et par
mois. Déterminer :
5. La période optimale des commandes : le lot économique, la cadence d’approvisionnement
6. Le stock à reconstituer en début de période
7. Le coût global minimum de gestion des stocks
8. Le taux d’économie réalisée en acceptant la pénurie.
9. Le stock d’alerte si le délai d’approvisionnement da = 60 jours, si da =80 jours.

Partie C
10. Par rapport au premier modèle, un stock de sécurité de 10%du lot économique est admis.
Calculer le stock d’alerte Sa si da = 40j. Calculer les charges supplémentaires et la
marge tm.

Problème 2
Une entreprise vend un bien de consommation courant, dont la demande s’élève annuellement
à 400000 unités. Le coût de stockage est de 4F/article/jour. Le coût de lancement est de
144 000F quelque soit la quantité commandée. L’entreprise admet une possibilité de rupture
de stock pour un coût de pénurie évalué à 16F par jour et par article non livré.
1. Déterminer :
a) La quantité optimale à commander ;
b) La cadence optimale des commandes ;
c) La période optimale de réapprovisionnement ;
d) Le coût optimal de gestion.
2. Par ailleurs l’entreprise vend des motoculteurs qu’elle achète à 400 000F, les ventes
annuelles étant estimées à 360 motoculteurs, le coût de passation d’une commande à
20 800F et le coût de possession à 6% du coût d’acquisition. Il n’y a pas de rupture de
stock.
a) Déterminer le nombre optimal de commandes à passer ainsi que le nombre de
motoculteurs à livrer à chaque commande.
b) Si l’on suppose d’approvisionnement (da) est de 30 jours et qu’il n’y a pas de stock de
sécurité, calculer le stock d’alerte ou le stock critique minimal, le coût global de
gestion et faire une illustration.

Page 60
Note de cours de Recherche Opérationnelle

c) On admet un stock de sécurité cette fois – ci à 3 motoculteurs. Déterminer le stock


d’alerte ou point de commande, le coût de gestion de stock et faire une illustration.

4. Gestion des stocks en avenir incertain


Introduction et généralités
Les flux sont ici incertains (les besoins sont irréguliers; les fournisseurs peuvent ne pas tenir leurs
engagements pour de multiples raisons).
Comment gérer cette incertitude ?
En intégrant au stock un stock de protection appelé aussi stock de sécurité. C’est stock
supplémentaire au stock minimum précédent, il faut donc déterminer le niveau de ce stock.
Pour la détermination du stock de protection il faut tenir compte de :
- le coût de stockage
- le coût de rupture ou de défaillance
(Exemple de coût de rupture : le montant des ventes manquées.)
Plusieurs méthodes sont utilisées pour la détermination du stock de protection.

a) La méthode basique
Le niveau du stock de protection dépend de l’estimation faite par le responsable des
approvisionnements :
- Estimation optimiste : le stock de protection est faible et correspond à une semaine de
consommation, pour un article déterminé.
- Estimation pessimiste, le stock correspond à un mois de consommation pour le même
article.
Il est souvent fixé à un montant égal à une livraison.
b) Les méthodes indirectes.
 Action sur le flux amont :
Obligations imposées aux fournisseurs : pénalités en cas de dépassement des délais de livraison ;
détention par les fournisseurs, et à leurs frais, du stock de sécurité.
Politique de diversification des sources d’approvisionnement : plusieurs fournisseurs entre
lesquels les commandes sont partagées.
 Action sur le flux aval :
Analyse des besoins passés et prévision des besoins futurs.
 Relevé systématique des ruptures et de leurs causes.
c) Des méthodes raisonnées.

Page 61
Note de cours de Recherche Opérationnelle

Ces méthodes utilisent les probabilités. Le principe reste assez simple :


On augmente d’une unité supplémentaire le niveau du stock minimum tant que la marge
correspondant à la probabilité de vente de cette chose est supérieure au coût entraîné par la
possession en stock de cette unité supplémentaire.
L’ordinateur est utile en permettant d’établir la probabilité de vente.
On passe ainsi d’un avenir incertain à un avenir presque certain.

Nous présenterons dans ce cours la méthode raisonnée sur le calcul de probabilité. La


demande est aléatoire et distribuée par une loi de probabilité définie de façon expérimentale.
On utilisera le modèle de gestion à période fixe avec coûts non proportionnels au temps.Ce
modèle est adapté à la gestion des produits périssables.
On désignera par :
Cp : le coût par unité manquante indépendante de la durée
Cs : le coût engendré par un produit non vendu restant en stock en fin de période.
D : la demande qui peut être une variable aléatoire discrète ou continue.

4.1. La demande D est une variable aléatoire discrète


Soit le coût global de gestion pendant la période T.
est égal à :
 En cas de pénurie : ( ) avec
 En cas de sur-stockage c’est-à-dire en cas où la quantité stockée X dépasse la demande
D: ( )
X désigne la quantité à stocker en début de période. On a :
( )
( ) {
( )
L’espérance mathématique du coût global aléatoire de gestion G est définie par :

( ) ∑ ( ) ( ) ∑ ( ) ( )

Le problème ici est de déterminer la quantité optimale à stocker en début de période pour
que ( ) soit minimale.

Théorème :
On démontre et nous admettons que G(x) est minimal pour la valeur du stock tel que :

Page 62
Note de cours de Recherche Opérationnelle

( )

avec :
( ) ( )

F est la fonction de répartition de la variable aléatoire X avec ( ) ∑ ( ) et .

 Le taux de service mesure le pourcentage de la demande satisfaite dans la période.


On a : ( ) pour un stock quelconque c’est la probabilité qu’une
demande soit satisfaite.
 Le taux de rupture : ( ) pour un stock .

 Pour un stock donné et pour une demande moyenne ̅


le stock de sécurité correspondant est :
̅
 Pour le stock optimal on a : ( ).

Exercice 1
Une vendeuse de pain achète chaque matin des baguettes auprès d’une boulangerie à 100F la
baguette qu’elle revend au client à 125F. Les baguettes non vendues le sont au lendemain à
80F.la vendeuse note les ventes journalières et les relevés des 100 derniers jours sont :
Nombre de 0 25 50 75 100 125 150 175 200
baguette
Nombre de 1 4 10 15 22 25 12 7 4 100
jours

Déterminer le nombre de baguettes à acheter au début de la journée par la vendeuse pour


minimiser les coûts de gestion.

Exercice 2
Un vendeur de fruits et légumes achète chaque matin une quantité de salade qu’il revend aux
consommateurs. Les salades non vendues en fin de la journée sont livrées avec une perte de
10F/kg à un orphelinat.
Le manque à gagner en cas de rupture de stock est de 25F/kg. Le commerçant a noté les
ventes journalières au cours de la dernière saison et a obtenu la distribution suivante :

Page 63
Note de cours de Recherche Opérationnelle

Quantité de stock 0 25 50 75 100 125 150 175 200


Nombre de 1 4 10 15 22 25 12 7 4 100
jours

Déterminer la quantité optimale qui permet de minimiser le coût global de gestion G


puis déterminer ce coût. Calculer le taux de service et le stock de sécurité correspondant .

4.2. La demande D est une variable aléatoire continue


D est caractérisée par une fonction de densité de probabilité f avec ( ) .
On a :

∫ ( ) ( ) ∫ ( ) ( )

L’objectif est de minimiser l’espérance mathématique du coût global aléatoire de gestion


G(X).
G(X) est composé de :

∫ ( ) ( )
}
∫ ( ) ( )
{

Théorème :
On démontre et nous admettons que G(X) est minimal pour la valeur de D telle que :

( )

Avec :

( ) ( ) ∫ ( )

Cas particulier :
Lorsque D suit une loi normale ou gaussienne N (m, ) on a : avec ( ) .

Exercice
Dans un supermarché on a observé que la vente de la viande de bœuf hachée est un
phénomène aléatoire. Elle est vendue à 3 700F le kg. La marge bénéficiaire du supermarché
est de 1300F par kg. La viande invendue est conditionnée pour être vendue comme viande

Page 64
Note de cours de Recherche Opérationnelle

pour animaux au prix de 2100F le kg. Une étude journalière de la demande a permis de
constater que celle-ci suit une loi normale de moyenne 450 kg et d’écart type 50 kg.
1. Déterminer la quantité optimale de viande que le supermarché doit présenter à la
vente chaque jour. Calcule le taux de service pour un stock .
2. Le supermarché veut connaître le niveau de stock qu’il doit constituer s’il ne veut pas
dépasser un taux de rupture de 10% (taux de rupture = probabilité pour qu’une
demande ne soit pas satisfaite). Déterminer ce niveau de stock et en déduire le nombre
de jours de rupture de stock dans une année de 360 jours et le stock de sécurité.

Page 65

Vous aimerez peut-être aussi