Telechargé par bhalesilvere

Files Attente

publicité
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
J.-F. Hêche, ROSO-EPFL
Serveur(s)
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 (1)
S
: processus de service
P
: taille de la population (1)
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µ
⇢=
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)
J.-F. Hêche, ROSO-EPFL
(t) clients dans le système et, dans
Files d’attente
8
[0, t), le cumul des temps de séjour dans le système est
(t) =
Z
t
(↵(s)
(s)) ds =
0
Z
t
N (s)ds.
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!1 (t) = , limt!1 T̄ (t) = T̄ et limt!1 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 a↵ectant 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
J.-F. Hêche, ROSO-EPFL
µ
1
µ
µ
2
Files d’attente
3
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
J.-F. Hêche, ROSO-EPFL
P [X = 0] = 1
Files d’attente
⇡0⇤ = ⇢
11
Mesures de performance : nombres moyens
Le nombre moyen de clients présents est
N̄ = E [X] =
1
X
k⇡k⇤ =
k=0
= ⇢(1
d
⇢)
d⇢
1
X
k(1
⇢)⇢k = ⇢(1
k=0
1
X
k=1
⇢
k
!
✓
⇢)
d
⇢
⇢)
d⇢ 1 ⇢
= ⇢(1
◆
1
X
k⇢k
1
k=1
=
⇢
1
⇢
et le nombre moyen de clients en attente est
Q̄ = N̄
J.-F. Hêche, ROSO-EPFL
U=
⇢
1
⇢
⇢=
Files d’attente
⇢2
1
⇢
.
12
Mesures de performance : temps moyens
Utilisant Little, on obtient, pour le temps moyen de réponse,
T̄ =
N̄
=
⇢
(1
⇢)
=
1
µ(1
⇢)
=
S̄
1
⇢
et, pour le temps moyen d’attente,
W̄ =
Q̄
⇢2
⇢
⇢S̄
=
=
=
.
(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µ
µ
0
J.-F. Hêche, ROSO-EPFL
1
3µ
2
(m
1)µ
m-1
Files d’attente
mµ
mµ
m
mµ
m+1
14
Il n’est pas surprenant d’apprendre que cette file est stable ssi
⇢=
mµ
< 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 à
⇣ = P[
m clients présents] =
1
X
k=m
avec
⇡0⇤
J.-F. Hêche, ROSO-EPFL
"
(m⇢)
= 1+
+
m!(1 ⇢)
m
m
X1
k=1
Files d’attente
m
(m⇢)
⇡k⇤ =
⇡0⇤
m!(1 ⇢)
(m⇢)
k!
k
#
1
.
15
Le taux d’utilisation de chaque serveur est
U = /(mµ) = ⇢.
Les nombres moyens de clients présents et en attente sont
N̄ = m⇢ +
⇢⇣
1
⇢
et
Q̄ =
⇢⇣
1
⇢
.
Les temps moyens de réponse et d’attente sont
✓
◆
1
⇣
⇣ S̄
T̄ =
1+
= S̄ +
µ
m(1 ⇢)
m(1 ⇢)
et
J.-F. Hêche, ROSO-EPFL
⇣
W̄ =
mµ(1
⇣ S̄
=
.
⇢) m(1 ⇢)
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µ
µ
0
J.-F. Hêche, ROSO-EPFL
1
(m
1)µ
m-1
mµ
mµ
m
Files d’attente
mµ
m+1
mµ
K
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
⇢=
mµ
.
Comme tout client arrivant alors que le système est plein doit repartir, le
taux e↵ectif d’arrivée dans le système n’est pas mais
0
=
K
X1
⇡k⇤ = (1
⇤
⇡K
).
k=0
Ayant calculé N̄ et Q̄, c’est ce taux e↵ectif 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 di↵é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
Loi cste D
Loi exp. M
Remarques
Lois d’Erlang Ek
0
Lois hyperexponentielles Hk
C2
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 di↵é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 = 1 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
Q̄G/G/m '
✓
2
CA
+
2
CS2
◆
Q̄M/M/m
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).
Arrivées
externes
Routage
1
3
2
J.-F. Hêche, ROSO-EPFL
Files d’attente
Sortie du système
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
J.-F. Hêche, ROSO-EPFL
Réseau fermé
Files d’attente
Réseau mixte
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
⇡ ⇤(x) = ⇡ ⇤(x1 . . . xJ ) =
J
Y
⇡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ù
rj0 = 1
J
X
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
1
µ1
r13 = 1/4
2
µ2
r12 = 1/2
r20 = 1/3
r23 = 2/3
µ3
r30 = 1/5
r31 = 4/5
0
1
0
1/4 1/2 1/4
B
C
R=@ 0
0 2/3 A
4/5 0
0
J.-F. Hêche, ROSO-EPFL
1
0
B
C
r ·0 = @ 1/3 A
1/5
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 e↵ectif (ou taux moyen) d’arrivée dans la file j, on peut écrire les
équations de conservation
j
=
j
+
J
X
irij
j = 1, . . . , J.
i=1
Sous forme matricielle, ces équations deviennent
=
J.-F. Hêche, ROSO-EPFL
+ R
(I
()
Files d’attente
R) = .
31
Pour un réseau ouvert, on a limn!1 Rn = 0 et l’unique solution du
système précédent est
= (I R) 1.
Connaissant les taux e↵ectifs 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
1
2
µ1
µ2
r12 = 1/2
r13 = 1/4
r20 = 1/3
r23 = 2/3
µ3
r30 = 1/5
r31 = 4/5
Les équations de conservation du réseau sont
1
2
3
J.-F. Hêche, ROSO-EPFL
=
=
=
1
2
+
+
+
1r11
1r12
1r13
+
3r31
2r23
Files d’attente
33
()
1
2
3
=
=
=
1
2
+
+
1
2
3
Le réseau est donc stable si
⇢1 =
J.-F. Hêche, ROSO-EPFL
1
µ1
1/2
1/4
()
<1
+ 4
1/4
60
=
17
30
=
17
35
=
17
1,
2,
+ 2
1
1
1
3/5
2/3
32
+
17
33
+
17
30
+
17
2
2
2
µ1, µ2 et µ3 sont tels que
⇢2 =
2
µ2
<1
Files d’attente
⇢2 =
3
µ3
< 1.
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
⇡ (x) = ⇡ (x1 . . . xJ ) =
⇤
⇤
J
Y
⇡j⇤(xj )
j=1
=
J
Y
(1
xj
⇢j )⇢j .
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 e↵ectifs d’arrivée sont solutions de
1
2
=
=
1
+ p
2
1.
Ainsi
1 =
J.-F. Hêche, ROSO-EPFL
2 =
1
1
p
.
Files d’attente
36
Le réseau est stable si et seulement si
⇢1 =
1
µ1
=
1
(1
p)µ1
=
2
6(1
et
⇢2 =
2
µ2
=
1
(1
p)µ2
=
p)
2
4(1
p)
<1
<1
()
2
p<
3
()
1
p<
2
Pour p 2 [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
Q̄1 =
= 1/2
1 ⇢1
J.-F. Hêche, ROSO-EPFL
et
⇢22
Q̄2 =
= 9/4.
1 ⇢2
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 e↵ectifs d’arrivée dans les deux files sont
p) = 3. Le temps moyen de séjour dans chacune d’elles
1 = 2 = 1/(1
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
Téléchargement