Académique Documents
Professionnel Documents
Culture Documents
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
Page 2
Note de cours de Recherche Opérationnelle
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
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
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.
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
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
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
- 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 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
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).
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
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
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.
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
- 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 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é).
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".
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».
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
{
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
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.
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
( )
{
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
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
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
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
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 :
{
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
Page 21
Note de cours de Recherche Opérationnelle
CHAPITRE 2 :
UTILISATION DES VARIABLES ARTIFICIELLES
( )
( )
( )
{
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 :
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
Tableau 1 :
HB . . C R
B
0 1 0 34
1 0 0 6
0 0 1 9
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
( )
( )
( )
{
La 3e contrainte devra être transformée en double inégalité, sachant qu’une égalité peut
s’écrire en double inégalité.
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 :
( )
( )
( )
( )
{
{
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
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
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 primal est donc :
Page 26
Note de cours de Recherche Opérationnelle
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 :
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
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 :
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
Tableau 1 :
HB . . C R
B
1 1 7500
1 0 2500
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
Page 33
Note de cours de Recherche Opérationnelle
{
Forme standard
( )
( )
( )
{
( )
( )
( ) ( )
Tableau 0 :
HB . C R
B
-1 1 0 4
3 1 60
1 0 5
Page 34
Note de cours de Recherche Opérationnelle
Tableau 1 :
HB C R
B
16
1 0 0 0 12
1 5
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
+100M
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
Exercice :
Soit le programme linéaire suivant :
{
Forme standard :
Page 38
Note de cours de Recherche Opérationnelle
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
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
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
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
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
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
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
Page 43
Note de cours de Recherche Opérationnelle
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
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.
Page 46
Note de cours de Recherche Opérationnelle
Page 47
Note de cours de Recherche Opérationnelle
̅ ( é )
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
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 :
On a :
et :
( )
De même :
( )
Page 50
Note de cours de Recherche Opérationnelle
( )
( )
On tire :
et :
Remarque :
est proportionnelle à Q
Page 51
Note de cours de Recherche Opérationnelle
Figure 1
Quantité économique à commander
Coût
Annuel
($) Coût total
Coût de commande
= + +
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 :
Soit :
( )
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
Page 54
Note de cours de Recherche Opérationnelle
Avec :
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 :
On peut tirer :
Et :
( )
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 :
√ √
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
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 ( )
11 Economie liée à la - ( √ )
pénurie
12 Taux d’économie -
√
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.
Page 58
Note de cours de Recherche Opérationnelle
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.
Page 59
Note de cours de Recherche Opérationnelle
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
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
( ) ∑ ( ) ( ) ∑ ( ) ( )
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 :
( ) ( )
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
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
∫ ( ) ( ) ∫ ( ) ( )
∫ ( ) ( )
}
∫ ( ) ( )
{
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