Académique Documents
Professionnel Documents
Culture Documents
Formation Continue
Cours de Recherche Opérationnelle
Septembre 2022
Contenu du Cours:
1
Introduction Générale
La recherche opérationnelle est née lors de la Deuxième Guerre mondiale des efforts conjugués
d’un groupe d’éminents mathématiciens (von Neumann, Metropolis, Wald, Wiener, Dantzing
Bellman) de contribuer à leur manière à la victoire alliée. C’est ainsi qu’il a été créé une nou-
velle méthodologie quantitative d’aide à la décision pouvant être caractérisée par les mots-clés:
modélisation, simulation et optimisation.
La recherche opérationnelle repousse les frontières de son domaine initial, pour s’étendre à la
modélisation et à l’optimisation de systèmes dans des domaines les plus divers, allant de la
conception et la configuration à l’exploitation des systèmes techniques complexes (réseaux de
communication, systèmes informatiques), de la gestion stratégique d’investissements à celle
de la chaîne logistique (transports, production, stocks). La recherche opérationnelle fait égale-
ment son apparition dans des domaines tels que la santé et l’instruction publiques, la voirie,
le ramassage et la distribution de courrier, la production et le transport d’énergie, les télé-
communications, mais aussi dans les banques et les assurances. De pair avec cette éclosion
d’applications, les méthodes et fondements théoriques de la recherche opérationnelle contin-
uent à se développer dans une symbiose féconde avec d’autres domaines des mathématiques
appliquées.
La recherche opérationnelle apporte ainsi une méthodologie de modélisation et une collection
d’outils mathématiques devenus indispensables pour tout ingénieur, manager ou économiste.
En effet, le pouvoir d’expression de ses modèles, c’est-à-dire leur capacité à représenter en
termes mathématiques les systèmes les plus complexes, et l’efficacité de ses algorithmes sont
la clé de l’utilisation des moyens informatiques modernes dans l’aide à la décision.
Ce cours est un guide en qualité d’introduction aux principales techniques et applications de
la recherche opérationnelle.
2
Chapitre 1: Programmation linéaire en continu
où m est un nombre fini: c’est l’intersection d’un nombre fini de plans qui forme un domaine
polygonal D. Ce domaine est appelé domaine de solutions du système d’inégalités (3). Il
n’est pas obligatoire que le domaine D soit borné, il peut être non borné ou même vide.
Le dernier cas a lieu lorsque le système d’inégalités (3) est contradictoire. Le système peut
aussi contenir des inégalités superflues qui n’ont de points communs avec le domaine D, ces
inégalités peuvent être éliminées.
Une propriété importante du domaine de solutions réside dans le fait qu’il est convexe, c’est-
à-dire qu’il comporte le segment entier qui relie deux de ses points. La droite qui contient au
moins un point commun avec le domaine considéré de façon que le domaine entier se trouve
d’un seul côté de cette droite est appelé droite d’appui par rapport à ce domaine.
Une interprétation géométrique analogue peut être donnée à un système d’inégalités contenant
trois variables:
a11 x1 + a12 x2 + a13 x3 + b1 ≥ 0,
a21 x1 + a22 x2 + a23 x3 + b2 ≥ 0,
(3)
......................................
am1 x1 + am2 x2 + am3 x3 + bm ≥ 0,
Dans ce cas, chacune des inégalités est satisfaite dans l’un des demi-espaces définis par le
plan correspondant. Le système d’inégalités (3) représente l’intersection de demi-espaces en
définissant de cette facçon de domaine polyédral de ses solutions.
3
Exemple 0.1.1. Représenter graphiquement puis déterminer le domaine de solutions du sys-
tème d’inégalités:
x1 − 1 ≥ 0
x2 − 1 ≥ 0
x + x2 − 3 ≥ 0
1
−6x1 − 7x2 + 42 ≥ 0
Exercice 0.1.1.
On considère le système d’inégalités ci-dessous:
3x1 − x2 ≥ 0
x1 − x2 ≤ 0
2x1 + x2 ≤ 6 (4)
x ≤2
1
3x1 − x2 ≥ −4
a) Justifier par une représentation graphique que les cinq inégalités du système (4) sont véri-
fiées par l’ensemble des points du plans contenus à l’intérieur d’un triangle AOB que l’on
précisera.
b) Préciser une droite d’appui par rapport à ce triangle.
a) Trouver le domaine de solutions du système d’inégalités suivant:
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0 (5)
x + x2 − 1 ≤ 0
1
3x1 + x2 − 3x3 ≥ 0
L = c1 x1 + c2 x2 + ... + cn xn + c0 .
4
0.1.3 Méthode de résolution en programmation linéaire
Méthode graphique
Dans ce qui suit on montrera la solution géométrique du problème donné, en se limitant à
l’examen d’un système d’inégalités linéaires à deux et à trois variables. Soit en outre donnée
une fonction linéaire L = c1 x1 +c2 x2 +c0 . Il s’agit de trouver dans l’ensemble de points (x1 ; x2 )
situés dans le domaine de solutions du système d’inégalités compatible ceux qui minimisent
(maximisent) la fonction linéaire L = c1 x1 + c2 x2 + c0 .
Pour chaque point du plan, la fonction L prend une valeur fixée L = L1 . L’ensemble de
tous les points de ce genre forme la droite c1 x1 + c2 x2 + c0 = L1 perpendiculaire au vecteur
C(c1 ; c2 ) sortant de l’origine des coordonnées. En translatant notre droite dans le sens positif
du vecteur C, on assiste à une augmentation de la fonction linéaire L = c1 x1 + c2 x2 + c0 ,
tandis que la translation dans le sens inverse entraîne la diminution de cette fonction. On
admet qu’en déplaçant la droite L dans le sens positif du vecteur C, elle rencontre sur son
chemin le premier des sommets du polygone de solutions; dans cette position L1 la droite L
devient une droite d’appui et sur cette droite la fonction L prend la valeur minimale. Si l’on
continue à déplacer la droite L dans le même sens (sens positif), elle passera par un autre
sommet du polygone de solutions en sortant du domaine de solutions et en devenant la droite
d’appui L2 sur laquelle la fonction L atteind son maximum par rapport à toutes les valeurs
de L prises dans le polygone de solutions.
De cette facçon, la minimisation et la maximisation de la fonction linéaire L = c1 x1 +c2 x2 +c0
dans le polygone de solutions sont obtenues aux points d’intersection de ce polygone avec les
droites d’appui L = c1 x1 + c2 x2 + c0 normales au vecteur C(c1 ; c2 ). La droite d’appui peut
rencontrer le polygone de solutions en un point unique (sommet du polygone), ou bien en une
infinité de points (côté du polygone).
D’une façon analogue, une fonction linéaire à trois variables L = c1 x1 + c2 x2 + c3 x3 + c0
prend une valeur constante dans un plan perpendiculaire au vecteur C(c1 ; c2 ; c3 ). Les valeurs
minimum et maximum de cette fonction dans le polyèdre de solutions sont obtenues aux points
de rencontre de ce polyèdre avec les plans d’appui perpendiculaires au vecteur C(c1 ; c2 ; c3 ). Le
plan d’appui peut rencontrer le polyèdre de solutions en un seul point (sommet du polyèdre),
ou en une infinité de points (arêtes ou faces du polyèdre).
1.
max x1 + 2x2
x1 + 2x2 ≤ 4
s.c 2x1 − 3x2 ≤ 0
x1 ≥ 0, x2 ≥ 0
2.max 2x1 + 2x2
3x1 − 2x2 ≥ −6
s.c 3x1 + x2 ≥ 3
x1 ≤ 3
3. min
12x1 + 4x2
x1 + x2 ≥ 2
s.c x1 ≥ 12 x2 ≤ 4
x1 − x2 ≤ 0
5
Exercice 0.1.2. : Applications aux problèmes industriels
Refaire les deux exemples introductifs da la page 10 du document intitulé “Leçons de RO”.
Méthode du simplexe
Theorème 0.1.1. Un programme linéaire réalisable et de valeur finie atteind sa valeur opti-
male entre autres à l’un des sommets du polyèdre convexe de ses solutions admissibles.
Preuve: Exercice.
Considérons le programme linéaire standard suivant:
minX{C T X
AX = B
(P): s.c
X≥0
où: A est une matrice à m lignes et n colonnes, B est un vecteur colonne à m lignes, C T est
un vecteur ligne à n colonnes, X est le vecteur à n lignes, à déterminer.
La matrice A de taille m × n avec m ≤ n est de rang m pour garantir que les équations ne
sont pas redondantes.
Une base de A est une sous matrice M , formée de m colonnes linéairement indépendantes de
A.
Pour un souci de simplification, on suppose que les colonnes de la matrice M sont après
permutations nécessaires éventuelles, les m premières colonnes de la matrice A de manière à
pouvoir écrire: ( )
AX = [M N ] XM XN = M XM + N XN = B.
Avec la partition correspondante XM XN pour les variables, la solution de base correspondante
à la base M est: X M = M −1 B et on a aussi: X N = 0.
Condition suffisante d’optimalité:
6
lorsqu’il y’ a plusieurs yte > 0.
La mise en oeuvre de la méthode du simplexe sur ordinateur requiert des raffinements numériques
et de nombreuses astuces informatiques si on veut assurer l’efficacité et la rapidité des calculs.
max x1 + 2x2
−3x1 + 2x2 ≤ 2
−x1 + 2x2 ≤ 4
s.c
x + x2 ≤ 5
1
x1 ≥ 0, x2 ≥ 0
Solution:
Le problème équivalent est le suivant:
• Choix de la base M
:
1 0 0
M = [A3 A4 A5 ] = 0 1 0
0 0 1
−1
Cela entraîne que M = M .
1 0 0 2 2
−1
D’autre part, X M = M B = 0 1 0 4 = 4 .
0 0 1 5 5
On obtient: X 3 = 2, X 4 = 4 et X 5 = 5.
Par ailleurs, X N = 0 ⇒ X 1 = X 2 = 0.
7
y31 1 0 0 −3 −3
On a: Y1 = y41 = M −1 A1 = 0 1 0 −1 = −1
y51 0 0 1 1 1
c-à-d: y31 = −3, y41 = −1 et y51 = 1.
On retient uniquement y51 car y51 > 0.
Calul de s:
s = min{t/ yxtet = min{ yxiei /yie > 0}} = mint∈{5} {t yXt1t } = min{5} = 5.
Par conséquent, la colonne A1 remplace la colonne A5 pour l’obtention de la nouvelle
base.
1 0 −3
• Obtention de la nouvelle base: M ′ = [A3 A4 A1 ] = 0 1 −1
0 0 1
1 0 3
= 0 1 1 .
′−1
Cela entraîne que M
0 0 1
1 0 3 2 17
′
D’autre part, X M = [X 3 X 4 X 1 ] = M B = 0 1 1 4 = 9 .
′−1
0 0 1 5 5
On déduit que: X 3 = 17, X 4 = 9 et X 1 = 5.
De plus, X N = 0 ⇒ X 2 = X 5 = 0.
y12 0 0 1 1 1
c-à-d: y32 = 5, y42 = 3 et y12 = 1.
On retient les trois coordonnées car elles sont toutes positives.
Calul de s:
s = min{t/ yxtet = min{ yxiei /yie > 0}} = min{t/t = mink∈{3,4,1} { yXk2k }} = min{4} = 4 car
x3
y32 = 5
17
x4
y42 = 3 .
x1 = 5
y12
8
Par conséquent, la colonne A2 remplace la colonne A4 pour l’obtention de la nouvelle
base.
1 2 −3
• Obtention de la nouvelle base: M ∗ = [A3 A2 A1 ] = 0 2 −1
0 1 1
3 −5 4
Cela entraîne que M ∗ = 31 0 1 1 .
−1
0 −1 2
3 −5 4 2 2
∗
D’autre part, X M = [X 3 X 2 X 1 ] = M ∗ B = 13 0 1 1 4 = 3 .
−1
0 −1 2 5 2
On déduit que: X 3 = 2, X 2 = 3 et X 1 = 2.
De plus, X N = 0 ⇒ X 4 = X 5 = 0.
et à condition que xk (k = 1, 2, ..., n) ne soit pas négatif, à ce problème on peut lier un autre
problème (problème I’) appelé problème dual par rapport au problème primal (I) et consiste
9
à maximiser une fonction linéaire T = b1 y1 + b2 y2 + ... + bm ym sous les contraintes:
a11 y1 + a21 y2 + a31 y3 + ... + am1 ym ≤ c1 ,
a12 y1 + a22 y2 + a32 y3 + ... + am2 ym ≤ c2 ,
......................................
a1n y1 + a2n y2 + a3n y3 + ... + amn ym ≤ cn .
sont obtenues l’une de l’autre par une simple transposition. Les deuxièmes membres des
inégalités formant le système de contraintes de l’un de ces problèmes sont constitués par les
coefficients de la fonction linéaire prise de l’autre problème. Le sens des inégalités du système
de contraintes du problème I (minimisation) est “≤” tandis que dans le système de contraintes
du problème I’ (maximisation) toutes les inégalités sont de sens “≥ ”. La notion de dualité
est réciproque, ce qui signifie que si l’on le met le problème I’ sous une forme analogue au
problème I, alors le problème primal I sera un problème dual par rapport au problème I’. C’est
pourquoi les problèmes I et I’ sont appelés problèmes biduaux ou biconjugués. On montre que
Lmin = Tmax . On montre également que condition nécessaire et suffisante pour que la solution
de n’importe quel couple de problèmes duaux soit optimale consiste dans l’égalité L(x = T (y)),
où x et y sont les solutions admissibles des problèmes I et I’.
Exemple 0.2.1. 1. Le problème primal (I) est formulé comme suit: trouver les valeurs
non négatives (x1 , x2 ) sous conditions:
{
x1 + 2x2 ≥ 4
x1 − x2 ≥ −1
10
0.2.2 Illustration de la dualité: problème d’entreprise
Considérons une entreprise:
- produisant r produits finis: fk = demande du produit k = 1, 2, ..., r
- utilisant s matières premières: hl = disponibilité de la matière première l = 1, 2, ..., s.
L’entreprise dispose de n procédés de production (activités):
i) xj = niveau d’utilisation du procédé j = 1, 2, ..., n
ii) cj = coût unitaire d’utilisation du procédé j = 1, 2, ..., n.
Le procédé j:
i) produit ekj unités de produit k = 1, 2, ..., r
ii) utilise glj unités de matière l = 1, 2, ..., s
pour chaque unité de son utilisation.
Problème de l’entreprise: déterminer le niveau d’utilisation de chaque procédé de pro-
duction pour satisfaire les demandes en produits sans excéder les disponibilités des matières
premières tout en minimisant le coût total de production.
Modèle mathématique:
∑
min z = nj=1 cj xj
∑n
∑j=1 ekj xj ≥ fk k = 1, 2, ..., r (demandes)
n
s.c
j=1 glj xj ≤ hl l = 1, 2, ..., s (disponibilités)
xj ≥ 0 j = 1, 2, ..., n
Un entrepreneur propose à l’entreprise d’acheter les quantités de ses matières premières
et de lui vendre les quantités de produits pour satisfaire les demandss.
Il doit énoncer (déterminer) des prix unitaires:
i) vk pour les produits k = 1, 2, ..., r
ii) wl pour les matières premières l = 1, 2, ..., s.
∑
min z = nj=1 cj xj
∑n
∑j=1 ekj xj ≥ fk k = 1, 2, ..., r (demandes) (vk )
n
(P) s.c
j=1 glj xj ≤ hl l = 1, 2, ..., s (disponibilités) (wl )
xj ≥ 0 j = 1, 2, ..., n
• L’entrepreneur doit déterminer des prix qui soient intéressants pour l’entreprise.
• Pour vérifier l’intérêt de faire affaire avec l’entrepreneur, l’entreprise doit vérifier que
pour chacun de ses procédés de production j, le coût d’acheter les unités de produits
fabriqués par une unité d’utilisation du procédé j en tenant compte de ce qu’elle reçoit
de l’entrepreneur pour les unités de matières qu’elle évite alors d’utiliser, que ce coût
n’excède pas le coût unitaire d’utilisation cj du procédé j:
∑
r ∑
s
ekj vk − glj wl ≤ cj .
k=1 l=1
Problème de l’entrepreneur: maximiser son profit en s’assurant que ses prix restent in-
téressants pour l’entreprise. On obtient le modèle suivant:
Modèle mathématique:
11
∑ ∑
max p = rk=1 fk vk − sl=1 hl wl
∑ r ∑ s
k=1 ekj vk − l=1 glj wl ≤ cj j = 1, 2, ..., n
(D) s.c v ≥ 0 k = 1, 2, ..., r
k
wl ≥ 0 l = 1, 2, ..., s
12
Chapitre 4: Programmation dynamique
Les problèmes étudiés dans ce chapitre sont tous associés à des situations où des décisions
doivent être prises de manière séquentielle, les conséquences de chaque décision n’étant pas
toujours parfaitement maîttrisées mais pouvant être anticipées jusqu’à un certain point avant
que la prochaine décision ne soit prise.
Le but recherché est la mininimisation d’un coût (ou la maximisation d’un profit) associé à
la suite de décisions retenues et à leurs conséquences.
Une fonction coût gk (xk , uk , wk ) est associée à chaque période du système dynamique précé-
dent. Ces coûts s’additionnent au fil des périodes et, pour le processus complet, leur somme
a la forme
∑N
gN +1 (xN +1 ) + gk (xk , uk , wk )
k=1
13
La fonction objectif du problème d’optimisation sera donc définie comme l’espérance des coûts
∑
N
E[gN +1 (xN +1 ) + gk (xk , uk , wk )] (7)
k=1
où l’espérance est prise par rapport à la distribution conjointe des variables aléatoires wk .
L’optimisation de l’expression 7 a lieu, quant à elle, par rapport aux variables de décision
u1 , u2 , ..., uN .
Notons que tous les processus de décisions séquentielles ne font pas intervenir de paramètres
aléatoirs et, dans de nombreuses applications, l’état xk+1 est parfaitement déterminé lorsque
l’état courant xk et la décision uk sont connus. De telles situations s’insèrent, cependant,
sans problème dans le cadre actuel en considérant, pour chaque période du processus, une
pertubation artificielle ne pouvant prendre qu’une seule valeur. Par ailleurs, on distingue
deux types de systèmes de décision: les systèmes de décisions déterministes et les systèmes de
décisions stochastiques.
Pour un stock initial x1 donné, le problème consiste alors à choisir judicieusement les quantités
u1 , u2 , ..., uN de réapprovisionnement de manière à minimiser l’espérance des coûts totaux.
14
Exemple 0.4.2. : Problème du sac au dos
Considérons un assortiment comportant N périodes d’objets numérotés de 1 à N , chaque objet
de type k étant caractérisé par une valeur ck ≥ 0 entière et un volume ak > 0 également entier.
Le problème de la sélection, parmi cet assortiment, d’un sous-ensemble d’objets de valeur
maximale ne dépassent pas un volume global b donné est connu sous le nom de problème du
sac à dos et peut être modélisé par le programme linéaire en nombres entiers
∑
max z = N k=1 ck uk
{ ∑N
s.c k=1 ak uk ≤ b
uk ≥ 0 entier, pour tout k
où uk représente le nombre d’objets de type k à inclure dans la sélection optimale.
Ce problème peut également être modélisé par un processus de décisions comportant N étapes.
Si ces dernières sont numérotées de 1 à N , la décision uk de l’étape k consiste à choisr le
nombre d’objets de type k à inclure dans la sélection.
L’état xk du système au début de l’étape k correspond, lui, à l’espace réservé pour les objets
de type k, k + 1, ..., N . Ainsi, si uk objets de type k sont sélectionnés, l’espace disponible à
l’étape k + 1 est
xk+1 = fk (xk , uk ) = xk − ak uk , k = 1, 2, ..., N
La
∑Nvaleur des objets∑sélectionnés à l’étape k gk (xk , uk ) = ck uk et le profit total est
N
k=1 gk (x k , u k ) = k=1 ck u k .
Le profit total doit être maximisé par rapport à u1 , u2 , ..., uN . Cependant, certaines décisions
ne sont pas envisageables car, à l’étape k, nous devons choisir un nombre entier et non négatif
d’objets, n’entraînant aucun dépassement du volume xk diponible. Ainsi, chaque décision uk
doit vérifier uk ≥ 0, entier et xk+1 = xk − ak uk ≥ 0 ou encore 0 ≤ uk ≤ E( xakk ) avec uk entier.
• le paramètre aléatoire wk est un élément d’un ensemble Dk et est caractérisé par une
distribution de probabilité Hk (.|xk , uk ) pouvant dépendre explicitement de xk et de uk
mais pas des pertubations précédentes w1 , ..., wk−1 .
15
0.4.3 Définition et Propriétés
Definition 0.4.1. • Une politique de décision est une suite de fonctions
π = {µ1 , µ2 , ..., µN }
∑
N
Jπ (x1 ) = E[gN +1 (xN +1 ) + gk (xk , µk (xk ), wk )]
k=1
∑
N
E[gN +1 (xN +1 ) + gk (xk , µk (xk ), wk )]
k=1
Preuve: Exercice.
Le principe d’optimalité a des conséquences importantes. En particulier, il suggère qu’il est
possible de construire une politique optimale morceau par morceau. Dans un premier temps,
une solution optimale est calculée pour le sous-problème ne faisant intervenir que la dernière
étape du problème initial. Cette solution est ensuite utilisée pour déterminer une politique
optimale du sous-problème défini sur les deux dernières étapes. Le processus est répété jusqu’à
l’obtention d’une politique optimale pour le problème complet. D’où le théorème suivant:
JN +1 (xN +1 ) := gN +1 (xN +1 ),
Jk (xk ) := min Ewk [gk (xk , uk , wk ) + Jk+1 (fk (xk , uk , wk ))] où xk+1 = fk (xk , uk , wk ). (8)
uk ∈Uk (xk )
16
A chaque itération k, l’espérance est prise par rapport à la distribution de probabilités Hk (.|xk , uk )
de wk .
Enfin, si µ∗ (xk ) := u∗k minimise la partie droite de l’équation (8) pour tout xk et tout k, la
politique π ∗ = {µ∗1 , µ∗2 , ..., µ∗N } est optimale.
Preuve: Exercice.
xN = fN −1 (xN −1 , uN −1 ) = xN −1 − aN −1 uN −1 .
Ce volume est disponible pour des objets de type N et la valeur maximale d’une telle sélection
est donnée par la fonction JN (xN ) calculée à l’étape précédente.
La valeur optimale JN −1 (xN −1 ) d’un sac de volume xN −1 ne contenant que des objets de type
N − 1 et N s’obtient donc en résolvant le modèle:
Ce problème doit être résolu pour xk ∈ {0, 1, ..., b} afin de construire la table optimale de
l’étape k contenant les valeurs Jk (xk ) et les décisions optimales µ∗k (xk ) = u∗k .
Finalement, à l’étape 1, la solution du problème initial s’obtient en résolvant le modèle:
17
{ maxu1 {c1 u1 + J2 (x2 )}
J1 (b) =
x2 = b − a1 u1 ≥ 0
s.c
u1 ≥ 0 entier
Exemple 0.5.2. Cas particulier où b = 6
On considère le tableau suivant relatif au problème du sac au dos avec un volume initial de 6:
Objet k 1 2 3
Valeur ck 5 3 7
Volume ak 3 2 4
Etape 3:
Seuls les objets de type 3 sont considérés. Si le volume disponible est x3 , alors la valeur opti-
male d’un chargement est:
18
Pour x2 = 2, on a:
La décision optimale est donc µ∗2 (2) = u∗2 = 1. La situation est identique pour x2 = 3 car
J3 (3) = J3 (2) = 0. Pour x2 = 4, les décisions possibles sont u2 = 0, 1 ou 2 et:
Ainsi, µ∗2 (4) = u∗2 = 0 et cette valeur ne change pas pour x2 = 5. Finalement, pour x2 = 6, le
problème est:
Il existe deux décisions optimales: µ∗1 (6) = 0 ou 2. Pour chacune d’elles, on peut reconstruire
la solution optimale en consultant les politiques stockées dans les tables des étapes 2 et 3.
19
Lecture de la solution optimale:
Pour u∗1 = 0, l’état du système à l’étape 2, le volume encore disponible, est x2 = 6 − 3u∗1 = 6
et la décision optimale pour cet état est u∗2 = µ∗2 (6) = 1. Le volume restant après une telle
sélection est x3 = x2 − 2u∗2 = 6 − 2 × 1 = 4 et u∗3 = µ∗3 (4) = 1. La suite de décisions est donc
{0, 1, 1} et correspond à un chargement formé d’un objet 2 et d’un objet 3. La valeur de cette
solution est égale à 3 + 7 = 10, ce qui correspond bien à J1 (6).
Pour u∗1 = 2, le volume disponible à l’étape 2 n’est plus que de x2 = 6 − 3u∗1 = 6 − 3 × 2 = 0 et
u∗2 = µ∗2 (0) = 0. De même, x3 = x2 − 2u∗2 = 0 et et u∗3 = µ∗3 (0) = 0. La suite de décisions est,
cette fois, {2, 0, 0} et correspond à un chargement formé de deux objets de type 1. La valeur
de la sélection n’a pas changé et est toujours égale à 2 × 5 = 10.
On suppose que les demandes w1 , w2 , ..., wN sont des variables aléatoires indépendantes et
identiquement distribuées. Si l’on considère que les demandes ne pouvant être satisfaites im-
médiatement pendant la période k correspondent à des ventes perdues, l’évolution du niveau
du stock est:
On suppose en outre que la capacité maximale du stock est égale à C. Ainsi, pour toute période
k, l’ensemble des valeurs possibles pour xk est Sk = {0, 1, ..., C} et les quantités de commande
envisageables pour un niveau xk du stock sont Uk (xk ) = {0, 1, ..., C − xk }.
Les coûts associés à ce système comprennent:
Si le coût terminal gN +1 (xN +1 ) est nul quel que soit le stock xN +1 restant à la fin de la
dernière période de planification, l’espérance des coûts totaux, à minimiser, est:
∑
N
E[ (c(uk ) + r(xk , uk , wk ))].
k=1
20
Calculons la politique optimale de réapprovisionnement pour un problème sur 3 périodes et
une capacite maximale du stock C = 3.
Les coûts de réapprovisionnement et de gestion deviennent respectivement c(uk ) = δ(uk )+ 32 uk
et r(xk , uk , wk ) = [xk + uk − wk ]+ + 3[xk + uk − wk ]− . La loi de probabilités de la demande
est:
1 1 3 1
P [wk = 0] = , P [wk = 1] = , P [wk = 2] = , P [wk = 3] =
10 5 5 10
pour k = 1, 2, 3.
Période 4:
Le coût terminal étant nul, on obtient: J4 (x4 ) = g4 (x4 ) = 0 avec x4 = 0, 1, 2, 3.
Période 3:
L’équation qui régit cette étape est:
• u3 = 1: E[.] = 1 + 1, 5 + 1
10 ×1+ 3
5 ×3+ 1
10 × 3 × 2 = 2, 5 + 25
10 =5
• u3 = 2: E[.] = 1 + 3 + 1
10 ×2+ 1
5 ×1+ 1
10 ×3=4+ 7
10 = 4, 7
• u3 = 3: E[.] = 1 + 4, 5 + 1
10 ×3+ 1
5 ×2+ 3
5 × 1 = 5, 5 + 13
10 = 6, 8.
L’espérance des coûts pour la troisième période, lorsque le niveau du stock avant commande est
nul, est donnée par le minimum des valeurs ci-dessus. On obtient J3 (0) = 4, 7 et la quantité
à commander est µ∗3 (0) = 2.
Pour x3 = 1, l’ensemble des décisions est U3 (1) = {0, 1, 2} et on obtient:
• u3 = 0: E[.] = 1
10 ×1+ 3
5 ×3+ 1
10 ×3×2= 25
10 = 2, 5
• u3 = 1: E[.] = 1 + 1, 5 + 1
10 ×2+ 1
5 ×1+ 1
10 × 3 = 2, 5 + 7
10 = 3, 2
• u3 = 2: E[.] = 1 + 3 + 1
10 ×3+ 1
5 ×2+ 3
5 ×1=4+ 13
10 = 5, 3.
Ainsi, J3 (1) = 2, 5 et la décision optimale est de ne rien commander.
Seules deux quantités de réapprovisionnement sont admissibles lorsque x3 = 2. Il vient:
• u3 = 0: E[.] = 1
10 ×2+ 1
5 ×1+ 1
10 ×3= 7
10 = 0, 7
• u3 = 1: E[.] = 1 + 1, 5 + 1
10 ×3+ 1
5 ×2+ 3
5 × 1 = 2, 5 + 13
10 = 3, 8.
Le minimum J3 (2) = 0, 7 et µ∗3 (2) = 0.
Finalement, pour x3 = 3, la seule décision possible est de ne rien commander. L’espérance
des coûts est égale à:
1 1 3 13
J3 (3) = ×3+ ×2+ ×1= = 1, 3.
10 5 5 10
21
Période 2:
Reculant d’une période, l’équation de récurrence devient:
J2 (x2 ) = min Ew2 [c(u2 ) + r(x2 , u2 , w2 ) + J3 (f2 (x2 , u2 , w2 ))]
u2 ∈U2 (x2 )
3
= min Ew2 [δ(u2 ) + u2 + [x2 + u2 − w2 ]+ + 3[x2 + u2 − w2 ]− + J3 ([x2 , u2 , w2 ]+ )]
u2 ∈{0,...,3−x2 } 2
Pour x2 = 0, les espérances des coûts pour les quatre décisions possibles u3 = 0, 1, 2 ou 3 sont:
1 1 3 1
E[.] = (J3 (0)) + (3 + J3 (0)) + (6 + J3 (0)) + (9 + J3 (0))
10 5 5 10
1 47 1 47 3 47 1 47
= ( ) + (3 + ) + (6 + ) + (9 + )
10 10 5 10 5 10 10 10
98
=
10
= 9, 8
1 1 3 1
E[.] = 1 + 1, 5 + (1 + J3 (1)) + (J3 (0)) + (3 + J3 (0)) + (6 + J3 (0))
10 5 5 10
1 25 1 47 3 47 1 47
= 2, 5 + (1 + ) + ( ) + (3 + ) + (6 + )
10 10 5 10 5 10 10 10
948
=
100
= 9, 48
1 1 3 1
E[.] = 1 + 3 + (2 + J3 (2)) + (1 + J3 (1)) + (J3 (0)) + (3 + J3 (0))
10 5 5 10
1 7 1 25 3 47 1 47
= 4 + (2 + ) + (1 + ) + ( ) + (3 + )
10 10 5 10 5 10 10 10
856
=
100
= 8, 56
1 1 3 1
E[.] = 1 + 4, 5 + (3 + J3 (3)) + (2 + J3 (2)) + (1 + J3 (1)) + (J3 (0))
10 5 5 10
1 13 1 7 3 25 1 47
= 5, 5 + (3 + ) + (2 + ) + (1 + ) + ( )
10 10 5 10 5 10 10 10
904
=
100
= 9, 04
Le minimum est J2 (0) = 8, 56 et la décision optimale correspondante est µ∗2 (0) = 2.
Si le niveau du stock avant commande est x2 = 1, il vient successivement pour u2 = 0, 1 et 2:
1 1 3 1
E[.] = (1 + J3 (1)) + (J3 (0)) + (3 + J3 (0)) + (6 + J3 (0))
10 5 5 10
698
=
100
= 6, 98
22
1 1 3 1
E[.] = 1 + 1, 5 + (2 + J3 (2)) + (1 + J3 (1)) + (J3 (0)) + (3 + J3 (0))
10 5 5 10
706
=
100
= 7, 06
1 1 3 1
E[.] = 1 + 3 + (3 + J3 (3)) + (2 + J3 (2)) + (1 + J3 (1)) + (J3 (0))
10 5 5 10
754
=
100
= 7, 54
1 1 3 1
E[.] = 1 + 1, 5 + (3 + J3 (3)) + (2 + J3 (2)) + (1 + J3 (1)) + (J3 (0))
10 5 5 10
604
=
100
= 6, 04
Période 1:
Reculant encore d’une période, l’équation de récurrence devient:
23
1 1 3 1
E[.] = 1 + 1, 5 + (2 + J2 (2)) + (1 + J2 (1)) + (J2 (0)) + (3 + J2 (0))
10 5 5 10
= 11, 044
1 1 3 1
E[.] = 1 + 3 + (3 + J2 (3)) + (2 + J2 (2)) + (1 + J2 (1)) + (J2 (0))
10 5 5 10
= 11, 61
et l’attitude à adopter consiste à ne rien commander, l’espérance des coûts pour les trois
périodes étant alors J1 (1) = 10, 902. La politique optimale est donnée par les trois tableaux
suivants:
Période 1:
x1 µ∗1 (x1 ) J1 (x1 )
0 2 12,544
1 0 10,902
2 0 8,544
3 0 7,61
Période 2:
x2 µ∗2 (x2 ) J2 (x2 )
0 2 8,56
1 0 6,98
2 0 4,56
3 0 3,54
Période 3:
x3 µ∗3 (x3 ) J3 (x3 )
0 2 4,7
1 0 2,5
2 0 0,7
3 0 1,3
On remarque qu’à chaque périodel, la stratégie optimale de commande est la même: si le stock
est vide, deux unités sont commandées, dans tous les autres cas, aucun réapprovisionnement ne
prend place. Une telle politique de gestion correspond à une politique (s, S) avec les paramètres
s = 1 et S = 2. Cette règle stipule que:
24