Vous êtes sur la page 1sur 39

Recherche Opérationnelle

Les files d’attente et les réseaux de files


d’attente

Jean-François Hêche

Institut de Mathématiques

École Polytechnique Fédérale de Lausanne


Les files d’attente

• Définition et classification : la notation de Kendall


• La formule de Little
• Les files d’attente markoviennes
I La file M/M/1

I La file M/M/m

I La file M/M/m/K

• Les files d’attente non markoviennes


I La file M/G/1 et la formule de Pollaczek-Khinchin

I Approximations pour les files G/G/m

J.-F. Hêche, ROSO-EPFL Files d’attente 1


Les files d’attente simples

Une file d’attente ou queue simple est caractérisée par

• un processus d’arrivée de clients décrivant les instants auxquels les


clients entrent dans le système ;
• un processus de service décrivant le temps requis pour servir un client ;
• un nombre de serveurs, tous identiques, spécifiant le nombre maximal
de clients pouvant être servis simultanément.

File (places d’attente)


Processus de départ

Processus d’arrivée
Serveur(s)

J.-F. Hêche, ROSO-EPFL Files d’attente 2


À ces caractéristiques de base s’ajoutent parfois

• la capacité de la file correspondant au nombre maximal de clients


pouvant être présents à un instant donné (aussi bien en attente qu’en
service) ;
• la taille de la population des clients susceptibles d’utiliser le serveur ;
• la discipline de service décrivant l’ordre dans lequel les clients sont
servis.

J.-F. Hêche, ROSO-EPFL Files d’attente 3


Notation de Kendall

Afin de simplifier la description des 3 ou 6 éléments décrivant une file,


Kendall a introduit la notation suivante
Forme abrégée : A/S/m

Forme complète : A/S/m/K/P/D


où chaque symbole correspond, dans le même ordre qu’avant, à une
caractéristique de la file d’attente :
A : processus d’arrivée K : capacité de la file (∞)
S : processus de service P : taille de la population (∞)
m : nombre de serveurs D : discipline de service (F IF O)

J.-F. Hêche, ROSO-EPFL Files d’attente 4


Pour les processus d’arrivée et de service, les symboles les plus courants sont

M loi exponentielle (« memoryless »)


D loi déterministe (temps d’inter-arrivée ou de service constants)
G loi générale (les résultats sont vrais pour « toute » loi)

Pour la discipline de service, ils sont

F IF O premier arrivé, premier servi (« first in, first out »)


LIF O dernier arrivé, premier servi (« last in, first out »)
PS temps partagé (« processor sharing »)

J.-F. Hêche, ROSO-EPFL Files d’attente 5


Mesures de performance
L’étude d’une file d’attente ou d’un réseau de files a pour but de calculer
ou d’estimer les performances d’un système dans des conditions de
fonctionnement données. Ce calcul se fait le plus souvent pour le régime
stationnaire uniquement et les mesures les plus fréquemment utilisées sont

N̄ le nombre moyen de clients présents (en attente et en service)


Q̄ le nombre moyen de clients en attente
T̄ le temps moyen de séjour ou de réponse (attente et service)
W̄ le temps moyen d’attente
U le taux d’utilisation de chaque serveur

J.-F. Hêche, ROSO-EPFL Files d’attente 6


De manière générale, une file est stable si et seulement si le nombre moyen
d’arrivées de clients par unité de temps, noté λ, est inférieur au nombre
moyen de clients pouvant être servis par unité de temps. Si chaque serveur
peut traiter µ clients par unité de temps et si le nombre de serveurs est m,
une file est stable si et seulement si
λ
λ < mµ ⇐⇒ ρ= < 1.

Pour un système stable, on a

T̄ = W̄ + S̄
où S̄ est le temps moyen de service et

N̄ = Q̄ + mU
où m est le nombre de serveurs.

J.-F. Hêche, ROSO-EPFL Files d’attente 7


Formule de Little
Théorème 1. Pour un système en régime stationnaire, le taux d’arrivée λ
des clients, le nombre moyen N̄ de clients dans le système et le temps moyen
T̄ de séjour (temps moyen de réponse) sont reliés par la relation

N̄ = λT̄ .

Preuve. Jouons à la concierge à la vue (très) défaillante et notons


simplement les heures d’entrée et de sortie de clients.
Le système est vide au temps 0 et au temps t, α(t) clients sont entrés et
β(t) sont déjà repartis. Le taux moyen d’arrivée dans [0, t) est donc

λ(t) = α(t)/t.

À l’instant t, il y a N (t) = α(t) − β(t) clients dans le système et, dans


J.-F. Hêche, ROSO-EPFL Files d’attente 8
[0, t), le cumul des temps de séjour dans le système est
Z t Z t
γ(t) = (α(s) − β(s)) ds = N (s)ds.
0 0

Le nombre moyen de clients présents dans [0, t) et le temps moyen de


séjour d’un client dans [0, t) sont

N̄ (t) = γ(t)/t et T̄ (t) = γ(t)/α(t).


Ainsi
N̄ (t) = γ(t)/t = (γ(t)/α(t)) × (α(t)/t) = T̄ (t) × λ(t).
Finalement, si le système admet un régime stationnaire, on doit avoir
limt→∞ λ(t) = λ, limt→∞ T̄ (t) = T̄ et limt→∞ N̄ (t) = N̄ et le résultat
suit. 
J.-F. Hêche, ROSO-EPFL Files d’attente 9
La file d’attente M/M/1
Cette file modélise un guichet unique où chaque client reçoit un service
dont la durée est une variable exponentielle de paramètre µ (indépendante
de tout autre élément affectant le système) et où l’arrivée des clients
correspond à un processus de Poisson de taux λ (les temps entre deux
arrivées successives sont des variables aléatoires i.i.d. selon une loi
exponentielle de paramètre λ).
Définissant l’état de la file comme le nombre de clients présents, l’évolution
de la variable d’état est une chaı̂ne de Markov à temps continu de graphe
représentatif
µ µ µ µ

0 1 2 3

λ λ λ λ

J.-F. Hêche, ROSO-EPFL Files d’attente 10


La file M/M/1 est donc un processus de naissance et de mort et elle est
stable si et seulement si ce processus est ergodique, c.-à-d. ssi

λ
ρ = < 1.
µ

Cette valeur ρ est appelée l’intensité du trafic.


Pour une file stable, la distribution stationnaire est

πk∗ = (1 − ρ)ρk k = 0, 1, . . .

et le taux d’utilisation du serveur est

U = P [X > 0] = 1 − P [X = 0] = 1 − π0∗ = ρ

J.-F. Hêche, ROSO-EPFL Files d’attente 11


Mesures de performance : nombres moyens

Le nombre moyen de clients présents est



X ∞
X ∞
X
N̄ = E [X] = kπk∗ = k(1 − ρ)ρk = ρ(1 − ρ) kρk−1
k=0 k=0 k=1

!  
d X
k d ρ ρ
= ρ(1 − ρ) ρ = ρ(1 − ρ) =
dρ dρ 1 − ρ 1−ρ
k=1

et le nombre moyen de clients en attente est

ρ ρ2
Q̄ = N̄ − U = −ρ= .
1−ρ 1−ρ

J.-F. Hêche, ROSO-EPFL Files d’attente 12


Mesures de performance : temps moyens

Utilisant Little, on obtient, pour le temps moyen de réponse,

N̄ ρ 1 S̄
T̄ = = = =
λ λ(1 − ρ) µ(1 − ρ) 1 − ρ

et, pour le temps moyen d’attente,

Q̄ ρ2 ρ ρS̄
W̄ = = = = .
λ λ(1 − ρ) µ(1 − ρ) 1 − ρ

Remarque. On a bien T̄ = W̄ + S̄.

J.-F. Hêche, ROSO-EPFL Files d’attente 13


La file d’attente M/M/m

Dans ce modèle, m serveurs identiques et indépendants partagent les


mêmes places d’attente. Les arrivées suivent un processus de Poisson de
paramètre λ et la durée de chaque service est une variable exponentielle de
paramètre µ.
L’évolution du nombre de clients dans un tel système est également un
processus de naissance et de mort dont le graphe représentatif est
µ 2µ 3µ (m − 1)µ mµ mµ mµ

0 1 2 m-1 m m+1

λ λ λ λ λ λ λ

J.-F. Hêche, ROSO-EPFL Files d’attente 14


Il n’est pas surprenant d’apprendre que cette file est stable ssi
λ
ρ= < 1.

La résolution des équations de bilan permet de calculer sans trop de


difficulté la distribution stationnaire de la file. Une grandeur importante
pour les files M/M/m est la probabilité qu’un client entrant dans le
système doive attendre. Elle est égale à
∞ m
X (mρ)
ζ = P [≥ m clients présents] = πk∗ = π0∗
m!(1 − ρ)
k=m

avec " #−1


m m−1
(mρ) X (mρ)k
π0∗ = 1 + + .
m!(1 − ρ) k!
k=1

J.-F. Hêche, ROSO-EPFL Files d’attente 15


Le taux d’utilisation de chaque serveur est

U = λ/(mµ) = ρ.

Les nombres moyens de clients présents et en attente sont


ρζ ρζ
N̄ = mρ + et Q̄ = .
1−ρ 1−ρ

Les temps moyens de réponse et d’attente sont


 
1 ζ ζ S̄
T̄ = 1+ = S̄ +
µ m(1 − ρ) m(1 − ρ)
et
ζ ζ S̄
W̄ = = .
mµ(1 − ρ) m(1 − ρ)

J.-F. Hêche, ROSO-EPFL Files d’attente 16


La file d’attente M/M/m/K

La file M/M/m/K est une file markovienne composée de m serveurs et


disposant de K places au total. Le nombre maximal de clients en attente
est donc K − m. Si un client arrive alors que le système est plein, il ne peut
y entrer et doit repartir.
L’évolution du nombre de clients dans un tel système est encore et toujours
un processus de naissance et de mort dont le graphe représentatif est
µ 2µ (m − 1)µ mµ mµ mµ mµ

0 1 m-1 m m+1 K

λ λ λ λ λ λ λ

J.-F. Hêche, ROSO-EPFL Files d’attente 17


La chaı̂ne de Markov à temps continu décrivant l’évolution du nombre de
clients ne possède qu’un nombre fini d’états. Ainsi, pour λ et µ positifs, elle
est irréductible et ergodique. Une file M/M/m/K est donc toujours stable
quel que soit l’intensité du trafic

λ
ρ= .

Comme tout client arrivant alors que le système est plein doit repartir, le
taux effectif d’arrivée dans le système n’est pas λ mais

K−1
X
λ0 = λπk∗ = λ(1 − πK

).
k=0

Ayant calculé N̄ et Q̄, c’est ce taux effectif λ0 qu’il faut utiliser pour
calculer T̄ et W̄ à l’aide de la formule de Little.
J.-F. Hêche, ROSO-EPFL Files d’attente 18
La file d’attente M/G/1

Dans une file M/G/1 le temps de service ne suit plus une loi exponentielle
mais une loi non négative quelconque d’espérance S̄ et de variance σS2 finies.
Le processus stochastique décrivant l’évolution du nombre de clients dans le
système n’est plus une chaı̂ne de Markov car le temps de service n’est plus
sans mémoire !
Pour obtenir un processus markovien il faudrait étendre la définition de
l’état du système afin d’inclure également la durée de service déjà reçue par
le client occupant le serveur.
Une autre approche consiste à n’observer le système qu’aux instants où un
client le quitte ! On obtient ainsi une chaı̂ne de Markov sous-jacente à
temps discret.

J.-F. Hêche, ROSO-EPFL Files d’attente 19


La formule de Pollaczek-Khinchin

Rappelons que le coefficient de variation d’une variable aléatoire X


d’espérance X̄ 6= 0 et d’écart-type σX est CX = σX /X̄.
La formule de Pollaczek-Khinchin est un résultat très élégant montrant que
les différences de performance entre une file M/G/1 et une file M/M/1 se
résument à un facteur multiplicatif !
Ainsi, le nombre moyen Q̄ de clients en attente dans une file M/G/1 stable
( ⇐⇒ ρ = λS̄ < 1) est
2
  2
1 + CS ρ
Q̄ =
2 1−ρ
où CS2 est le coefficient de variation au carré du temps de service
(CS2 = σS2 /S̄ 2).
J.-F. Hêche, ROSO-EPFL Files d’attente 20
Indiçant les performances par le type de file en question, l’expression
précédente devient
2
 
1 + CS
Q̄M/G/1 = Q̄M/M/1.
2

Pour le temps moyen d’attente, il suffit d’appliquer Little pour obtenir


2 2
   
1 + CS ρS̄ 1 + CS
W̄M/G/1 = = W̄M/M/1.
2 1−ρ 2

Pour le calcul de N̄ et T̄ , on utilise les relations

N̄ = Q̄ + U et T̄ = W̄ + S̄,

le taux d’utilisation du serveur étant toujours U = ρ.


J.-F. Hêche, ROSO-EPFL Files d’attente 21
Remarques

Loi exp. M
Loi cste D

Lois d’Erlang Ek Lois hyperexponentielles Hk

C2
0 1
Une variable d’Erlang d’ordre k, de symbole Ek , est la somme de k variables
aléatoires exponentielles i.i.d. Son coefficient de variation au carré est 1/k.
Une variable hyperexponentielle d’ordre k, de symbole Hk , est une
combinaison convexe de k variables exponentielles indépendantes (de
paramètres différents). Son coefficient de variation au carré est ≥ 1.

J.-F. Hêche, ROSO-EPFL Files d’attente 22


Les autres files d’attente simples

Les files d’attente G/M/1, M/G/m, G/M/m, G/G/1, G/G/m, . . . sont


des processus stochastiques complexes, difficiles voir très difficiles à traiter
de manière exacte et en toute généralité.
Les développements se simplifient parfois pour les files où m = ∞ mais les
résultats exacts existent essentiellement pour des cas particuliers.
De nombreuses approximations sont cependant disponibles, de plus ou
moins bonne qualité. L’une des plus simples est directement issue de la
formule de Pollaczek-Khinchin.

J.-F. Hêche, ROSO-EPFL Files d’attente 23


Approximations pour les files G/G/m

Soit τ̄ le temps moyen entre deux arrivées successives de clients (λ = 1/τ̄


est le taux d’arrivée) et S̄ le temps moyen de service d’un client (µ = 1/S̄
est le taux de service).
Une file G/G/m est stable ⇐⇒ ρ = λ/(mµ) = S̄/(mτ̄ ) < 1.
Dans ce cas, l’utilisation moyenne de chaque serveur est U = ρ et le
nombre moyen de clients en attente est approximativement
2
CS2
 
CA +
Q̄G/G/m ' Q̄M/M/m
2
2
où CA et CS2 sont, respectivement, les coefficients de variation au carré des
temps entre deux arrivées successives et des temps de service.

J.-F. Hêche, ROSO-EPFL Files d’attente 24


Les réseaux de files d’attente
• Définition

I Réseaux ouverts, fermés et mixtes

I Réseaux à forme produit

• Les réseaux de Jackson

I Conditions de stabilité

I Distribution stationnaire

J.-F. Hêche, ROSO-EPFL Files d’attente 25


Réseaux de files d’attente

Un réseau de files d’attente est simplement un système composé d’une ou


plusieurs files d’attente reliées entre elles.
Les clients (dans les cas les plus simples, tous « identiques »), une fois leur
service terminé dans une station (file), se déplacent vers une autre station
ou quittent le système selon des règles de routage (déterministes ou
stochastiques).

Routage
Arrivées
1 3
externes

Sortie du système
2

J.-F. Hêche, ROSO-EPFL Files d’attente 26


Réseaux ouverts, fermés et mixtes
Un réseau est ouvert si tout client présent ou entrant dans le système peut
le quitter.
Un réseau est fermé si les clients ne peuvent le quitter. Dans un réseau
fermé, le nombre de client est généralement fixe et ces derniers sont
présents dans le système dès le début de son évolution.
Finalement, un réseau est mixte s’il est ouvert pour certains clients et fermé
pour d’autres.

Réseau ouvert Réseau fermé Réseau mixte

J.-F. Hêche, ROSO-EPFL Files d’attente 27


Réseaux à forme produit

La définition la plus simple de l’état d’un réseau consiste à définir l’état


x(t) du système au temps t comme le vecteur (x1(t) . . . xJ (t)) où xj (t)
est le nombre de clients présents à l’instant t dans la file j.
Sous certaines conditions, un réseau stable possède une distribution
stationnaire π ∗ de la forme
J
Y
π ∗(x) = π ∗(x1 . . . xJ ) = πj∗(xj ).
j=1

Un tel réseau est dit à forme produit et se comporte comme J files


indépendantes de distribution stationnaire πj∗, j = 1, . . . , J.

J.-F. Hêche, ROSO-EPFL Files d’attente 28


Les réseaux de Jackson
Un réseau de Jackson est composé de J files d’attente ne comportant
chacune qu’un seul serveur de capacité infinie et utilisant une discipline de
file F IF O. Chaque file fournit un service de durée exponentielle, le taux de
service de la file j étant µj .
Les clients (appartenant tous à la même classe) arrivent dans le système
selon des processus de Poisson, le taux d’arrivée dans la file j étant γj .
Après avoir terminé son service à la station j, un client se déplace à la
station k avec probabilité rjk et quitte le système avec probabilité rj0 où
J
X
rj0 = 1 − rjk .
k=1

De telles règles définissent un routage markovien.


J.-F. Hêche, ROSO-EPFL Files d’attente 29
Exemple
r11 = 1/4 γ2

γ1
µ1 µ2
r12 = 1/2 r20 = 1/3
r13 = 1/4
r23 = 2/3

µ3
r30 = 1/5
r31 = 4/5

   
1/4 1/2 1/4 0
R= 0 0 2/3  r ·0 =  1/3 
   
4/5 0 0 1/5

J.-F. Hêche, ROSO-EPFL Files d’attente 30


Conditions de stabilité

Pour qu’un réseau soit stable, chacune de ses files doit l’être. Notant λj le
taux effectif (ou taux moyen) d’arrivée dans la file j, on peut écrire les
équations de conservation

J
X
λj = γj + λirij j = 1, . . . , J.
i=1

Sous forme matricielle, ces équations deviennent

λ = γ + λR ⇐⇒ λ(I − R) = γ.

J.-F. Hêche, ROSO-EPFL Files d’attente 31


Pour un réseau ouvert, on a limn→∞ Rn = 0 et l’unique solution du
système précédent est
λ = γ(I − R)−1.

Connaissant les taux effectifs d’arrivée λ, la file j est stable si et seulement


si
λj
ρj = <1
µj

et le réseau est stable si et seulement si chacune des files le composant


l’est.

J.-F. Hêche, ROSO-EPFL Files d’attente 32


Exemple (suite)
r11 = 1/4 γ2

γ1
µ1 µ2
r12 = 1/2 r20 = 1/3
r13 = 1/4
r23 = 2/3

µ3
r30 = 1/5
r31 = 4/5
Les équations de conservation du réseau sont

λ1 = γ1 + λ1r11 + λ3r31
λ2 = γ2 + λ1r12
λ3 = λ1r13 + λ2r23
J.-F. Hêche, ROSO-EPFL Files d’attente 33
⇐⇒
λ1 = γ1 + λ1/4 + 4λ3/5
λ2 = γ2 + λ1/2
λ3 = λ1/4 + 2λ2/3
⇐⇒
60 32
λ1 = γ1 + γ2
17 17
30 33
λ2 = γ1 + γ2
17 17
35 30
λ3 = γ1 + γ2
17 17

Le réseau est donc stable si γ1, γ2, µ1, µ2 et µ3 sont tels que

λ1 λ2 λ3
ρ1 = <1 ρ2 = <1 ρ2 = < 1.
µ1 µ2 µ3

J.-F. Hêche, ROSO-EPFL Files d’attente 34


Distribution stationnaire
Les réseaux de Jackson sont des réseaux à forme produit et la distribution
stationnaire d’un réseau ouvert et stable est
J J
∗ ∗
Y Y xj
π (x) = π (x1 . . . xJ ) = πj∗(xj ) = (1 − ρj )ρj .
j=1 j=1

Un tel système se comporte donc comme J files M |M |1 indépendantes


d’intensité respective ρ1 = λ1/µ1, . . . , ρJ = λJ /µJ .

Rappel. L’état x du réseau est le vecteur dont la j e composante, notée xj ,


représente le nombre de clients présents dans la station j.

J.-F. Hêche, ROSO-EPFL Files d’attente 35


Exemple
r21 = p

γ1 = 2
µ1 = 6 µ2 = 4
Les taux effectifs d’arrivée sont solutions de

λ1 = γ1 + pλ2
λ2 = λ1 .

Ainsi
γ1
λ1 = λ2 = .
1−p
J.-F. Hêche, ROSO-EPFL Files d’attente 36
Le réseau est stable si et seulement si
λ1 γ1 2 2
ρ1 = = = <1 ⇐⇒ p<
µ1 (1 − p)µ1 6(1 − p) 3

et
λ2 γ1 2 1
ρ2 = = = <1 ⇐⇒ p<
µ2 (1 − p)µ2 4(1 − p) 2
Pour p ∈ [0, 1/2), le réseau est stable est possède une distribution
stationnaire unique.
Pour p = 1/3, on a ρ1 = 1/2 et ρ2 = 3/4 et le nombre moyen de clients en
attente devant chacune des files est

ρ21 ρ22
Q̄1 = = 1/2 et Q̄2 = = 9/4.
1 − ρ1 1 − ρ2

J.-F. Hêche, ROSO-EPFL Files d’attente 37


Pour calculer le temps moyen de séjour d’un client, on applique la formule
de Little au réseau tout entier. Le taux d’arrivée dans le réseau est γ1 = 2
et le nombre moyen de clients présents est
ρ1 ρ2
N̄ = N̄1 + N̄2 = + = 1 + 3 = 4.
1 − ρ1 1 − ρ2

Le temps moyen de séjour (de réponse) est donc


T̄ = N̄ /γ1 = 4/2 = 2.
Remarque. Les taux effectifs d’arrivée dans les deux files sont
λ1 = λ2 = γ1/(1 − p) = 3. Le temps moyen de séjour dans chacune d’elles
est donc T¯1 = N̄1/λ1 = 1/3 et T̄2 = N̄2/λ2 = 1. Un client visite en
moyenne 1/(1 − p) = 3/2 fois chaque station (espérance d’une variable
géométrique de paramètre p = 1/3). Le temps de réponse d’un client est
donc 3/2 × (T̄1 + T̄2) = 3/2 × 4/3 = 2.
J.-F. Hêche, ROSO-EPFL Files d’attente 38

Vous aimerez peut-être aussi