Mesures de performances pour des files d`attente multi

Transcription

Mesures de performances pour des files d`attente multi
Ordonnancement stochastique avec impatience :
Mesures de performances pour des files
d’attente multi-classes avec abandon
Salaheddine JOUHRI
2A-MMIS-AAD
Sous l’encadrement de :
M. Jean-Philippe GAYON (HDR)
M. Alexandre Salch (Doctorant)
6 mai 2012
Table des matières
1 Introduction
1.1 Contexte pratique . . . . . . .
1.1.1 Le laboratoire G-SCOP
1.1.2 l’équipe de recherche . .
1.2 Contexte scientifique . . . . . .
1.3 État de l’art . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
2
2
2
3
2 Description du problème
2.1 Formalisation mathématique . . . .
2.1.1 File d’attente avec impatience
2.1.2 Variables de performance . .
2.2 Règles de priorité . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
6
6
7
7
3 Une classe de clients
3.1 File M/M/1+M . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Calcul des mesures de performances : . . . . . . . .
3.2 File M/M/1+D . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Encadrement de la probabilité de perte d’un client :
3.2.2 Applications : . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
9
9
10
11
.
.
.
.
.
.
.
.
.
.
4 Deux classes de clients
13
4.1 Cas particulier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Cas avec priorité stricte et avec préemption . . . . . . . . . . . . 14
4.2.1 Mesures de performances . . . . . . . . . . . . . . . . . . 18
5 Conclusion
19
1
Chapitre 1
Introduction
1.1
Contexte pratique
Ce travail a été réalisé dans le laboratoire des Sciences pour la Conception,
l’Optimisation et la Production de Grenoble, G-SCOP, au sein de l’équipe de
la Recherche Opérationnelle pour les systèmes de production.
1.1.1
Le laboratoire G-SCOP
Le laboratoire G-SCOP est, selon son directeur, ”un laboratoire pluridisciplinaire pour répondre aux défis scientifiques posés par les mutations du monde
industriel en cours et à venir. Le périmètre du laboratoire va de la conception
des produits à la gestion des systèmes de production en s’appuyant sur de fortes
compétences en optimisation”.
1.1.2
l’équipe de recherche
L’équipe pour de la Recherche Opérationnelle pour les systèmes de production est une équipe qui a pour objectifs de répondre aux problématiques internes aux unités de production ou de stockage et de résoudre les problématiques
génériques et industrielles. Ses principaux thèmes sont : l’ordonnancement, le
transport, le produit-logistique, la conception et gestion des chaı̂nes logistiques
et les micro et nanotechnologies.
1.2
Contexte scientifique
Nous étudions, dans ce travail, un problème de la file d’attente avec des
clients impatients. Et ce, en considérant des priorités strictes avec préemption.
Le modèle de file d’attente classique consiste en un système dans lequel les
serveurs traitent un flux de requêtes en suivant des stratégies bien précises. De
nombreuses applications illustrent ce modèle, en particulier dans les domaines
des télécommunications, du transport routier et des réseaux informatiques. De
plus, les files d’attentes quotidiennes sont un ”vrai” exemple de ce modèle.
2
La contrainte du temps-réel est devenue une préoccupation majeure ces
derniers temps dans l’élaboration de n’importe quel système informatique. Ainsi,
le modèle classique des files d’attentes demeure incapable de modéliser ces nouveaux besoins et la notion d’impatience est devenu, par la suite, une alternative
pertinente pour caractériser la ”durée de vie” de l’information.
Prenons par exemple le cas d’un opérateur téléphonique et qui veut mettre
en œuvre un service d’assistance technique pour sa clientèle. Bien évidemment,
cet opérateur cherche à acquérir/garder une bonne réputation en résolvant les
problèmes rencontrés par ses clients. Par contre, ses clients sont dans la majorité
des cas impatients car ils ne peuvent pas attendre longtemps pour être mis en
relation avec un téléconseiller. Une solution naı̈ve serait d’embaucher autant de
téléconseillers que de clients mais on voit rapidement que cette solution n’est ni
envisageable ni optimale. Ainsi, la notion d’impatience demeure une contrainte
prépondérante dans la vie courante et au quelle il faut trouver des solutions
pratiques mais efficaces.
1.3
État de l’art
Plusieurs chercheurs ont déjà étudié le cas d’une seule classe de clients mais
avec différentes angles d’approche. Ainsi, Boxma, Perry et Stadje [3] ont étudié
récemment la file M/G/1+G avec un temps de service et une probabilité d’abandon de distribution générale. Ils étudient deux cas :
1. Le nouvel arrivant dispose d’informations sur les clients présents dans le
système, comme leur temps d’attente, leurs priorités. . . etc, et peut décider
d’entrer ou non dans la file d’attente.
2. Le nouvel arrivant ne possède aucune information et rejoint directement
la file.
De la même façon, Economou, Gómez-Corral et Kanta [9] ont fait eux aussi
cette distinction en suivant un peu près la même démarche. D’autre part, la
littérature reste un peu réduite en ce qui concerne le cas de deux classes de
clients car la majorité des ouvrages spécialisés traitent le problème mais sans
possibilité d’abandon. Ainsi, Gross et M.Harris [10] trouvent des résultats analytiques pour certaines mesures de performance. D’autre part, Iravani [11] a
consacré toute une étude sur ce cas de figure en traitant la file M/GI/1+M que
nous avons adapté et simplifié pour arriver à des résultats plus simples dans le
cadre de notre travail.
Dans le cas d’une seule classe de clients avec un délai d’attente maximal
déterministe pour chaque client, nous avons démontré un encadrement de la
probabilité de perte qui a la particularité d’être générale à toute distribution
des arrivés et du temps de service et nous donnons quelques application de cette
inégalité pour des files particulières. Cet encadrement est d’une grande utilité
car il permet d’estimer à l’avance la probabilité de perte, ce qui contribuera
au choix de la bonne configuration du système. D’autre part, il est clair qu’en
ajoutant cette possibilité d’abandon à un système de deux classes de clients,
le calcul devient plus compliqué. Cependant, dans le cas particulier où on a
le même taux d’abandon γ et avec priorité stricte, nous avons développé une
3
démarche très simple qui permet de généraliser les résultats trouvés avec une
seule classe à n classe de clients tout en offrant la possibilité d’une programmation récurrente qui est d’une grande utilité pour ce genre de problème.
Ce document se compose de trois parties : une partie où on formalise mathématiquement le problème tout en définissant ses différentes variables globales, une
deuxième où on aborde le cas d’une seule classe de clients et une dernière où
on traite le cas de deux classes de clients. De plus nous donnons à la fin une
synthèse globale avec quelques prospectives.
4
Chapitre 2
Description du problème
Afin de modéliser notre problème nous allons étudier les files d’attente avec
la possibilité d’abandon et nous allons, principalement, étudier le cas de deux
classes de clients avec les contraintes suivante :
1. Les clients de la classe i arrivent suivant un processus de Poisson de taux
λi .
2. Le temps de service est le même pour tous les clients et suit une loi exponentielle de paramètre µ.
3. Les clients prioritaires ont une priorité stricte par rapport à ceux non
prioritaires. C’est-à-dire qu’à l’arrivée d’un client prioritaire, le client non
prioritaire en service quitte le serveur et rejoint la file d’attente et son
temps de service déjà effectué est gardé en mémoire.
4. Un client peut abandonner le système après un temps d’attente distribué
suivant une loi exponentielle de taux γi et ce, jusqu’au début de son service.
Autrement dit, il ne pourra plus quitter le système après être pris en charge
par le serveur.
Figure 2.1 – Un serveur avec deux classes de clients qui peuvent abandonner
5
Nous étudions ici plusieurs mesures de performance, à savoir la probabilité d’abandon, le temps d’attente moyen et le nombre de clients moyen dans le système.
Ce modèle, bien qu’il paraisse simple, représente vraiment le pilier de toute
approche de résolution de ce problème car il permet de modéliser le besoin tout
en permettant une généralisation dans certains cas de figures.
2.1
Formalisation mathématique
Afin de structurer notre travail, nous présentons ici les différentes variables
et définitions que nous allons utilisé tout au long de notre travail.
2.1.1
File d’attente avec impatience
Nous présentons ici le modèle classique de la file d’attente avec tous les processus de base.
File d’attente :
Mathématiquement, une file d’attente est un espace probabilisé (Ω, F, P)
où les clients arrivent en suivant un ordre C1 , C2 , C3 . . .etc. Notons Tn l’instant
d’arrivée du client Cn et sn sa durée de service demandée. De plus, on suppose
que presque sûrement (p.s) les arrivées sont simples (un seul client à la fois),
ainsi la suite des instants d’arrivées {Tn }n≥0 est une suite de variable aléatoire
p.s strictement croissante. D’autre part, on note {Nt }t≥0 qui compte à chaque
instant P
t le nombre de clients entrés dans le système jusqu’à cet instant. Ainsi,
Nt :=
1{Tn ≤t}
n∈N∗
On notera par ailleurs Un+1 := Tn+1 − Tn , ∀n > 1 le temps d’inter-arrivée
avec U1 := T1 . On supposera de plus que les suites des inter-arrivées et des
temps de services sont indépendantes identiquement distribuées (i.i.d) de même
distribution que U et s, respectivement. De plus, on suppose que ces variable
aléatoires sont intégrables c-à-d :
E[U ] < ∞ et E[s] < ∞
Ce qui permet de noter :
λ :=
1
E[U ]
et µ :=
1
E[s]
Et on définit la charge ρ du système par :
ρ :=
λ
µ
Modèle avec impatience :
Afin de modéliser l’impatience des clients entrants dans le système, nous
devons ajouter la notion du délai au delà duquel le client sera définitivement
perdu (il sort sans service du système). Notons Dn la variable aléatoire caractérisant le délai associé au client Cn . Ainsi, si à l’instant Tn + Dn le client Cn
n’est pas en service alors il sort définitivement du système et sera par la suite
6
considéré comme perdu. Par conséquent, les délais seront considérés comme
éliminatoires et jusqu’au début du service.
D’autre part, la suite {Dn }n>0 sera toujours supposée i.i.d et ayant la même
1
.
distribution que D. De plus, on suppose que : E[D] < ∞ et on note γ := E[D]
2.1.2
Variables de performance
Définissons à présent les différentes variables aléatoire caractérisant notre
problème et permettant d’évaluer ses performances :
1. Le nombre de client moyen L dans le système (file+serveur) avec L :=
E[N ]
2. le temps d’attente Wn proposé au client Cn est le temps qu’aura à attendre
ce client avant la fin de son service.
3. Le temps de séjour Tn est le temps que passe effectivement le client Cn
dans le système (file+serveur) :
Tn = (Wn + sn )1{Wn <Dn } + Dn 1{Wn ≥Dn }
4. Le temps d’attente Tnq est le temps que passe effectivement le client Cn
dans la file :
Tn = Wn 1{Wn <Dn } + Dn 1{Wn ≥Dn }
Pour toute file d’attente à perte, notons πn la probabilité de perte du client Cn .
Ainsi, πn est la probabilité qu’un client Cn se voit proposé un temps d’attente
supérieur à son délai de patience. Autrement dit :
πn := P [Wn > Dn ]
2.2
Règles de priorité
Nous nous intéressons à des classes de clients avec priorité stricte de façon à
ce que la classe de rang inférieure soit la plus prioritaire. Ainsi, on ne commence
à traiter la classe de rang i + 1 que lorsque celle de rang i est devenue vide.
D’autre part, on entend dire par préemption le cas où un client, qui est en train
d’être servi, se voit obligé de quitter le serveur en faveur d’un autre qui est plus
prioritaire que lui.
Enfin et sauf mention explicite, les résultats que nous allons proposé concerne
le cas avec préemption.
7
Chapitre 3
Une classe de clients
3.1
File M/M/1+M
Considérons la file M/M/1+M où les délais de patience des clients sont
Markovien cette fois-ci. Posons pn la probabilité associée à l’état n. Ainsi, et
par conservation de flux nous obtenons la formule de récurrence suivante :
λpn = [µ + (n + 1)γ] pn+1
Et on montrera aisément par récurrence que :
n
Q λ
p0
pn =
µ+kγ
k=1
Par souci de simplification posons,
ρk =
λ
µ+kγ
∀k > 1
Ainsi,
pn =
n
Q
ρk
p0
k=1
D’autre part, et comme les probabilités somment à 1 alors on déduit que :
p0 =
1+
1
∞ Q
n
P
ρk
n=1 k=1
Enfin et par souci de simplification nous garderons toujours la constante P0
dans l’expression de pn .
Figure 3.1 – Graphe des premiers états de la file M/M/1+M
8
3.1.1
Calcul des mesures de performances :
En gardant les simplifications déjà faites nous trouverons les résultats suivants :
1. Le nombre moyen de clients dans le système L :
L =
=
∞
X
npn
n=0
∞
X
np0
n=0
= p0
∞
X
n
n=0
n
Y
ρk
k=1
n
Y
ρk
k=1
2. Le temps d’attente moyen W : En appliquant la loi de Little L = λW on
trouve :
W
=
=
L
λ
n
∞
p0 X Y
ρk
n
λ n=0
k=1
3. Probabilité de perte d’un client à l’état stationnaire :
∞
P
π
=
λ
∞
P
γ
=
=
=
γn p n
n=0
pn
n=0
λ
∞
γX
pn
λ n=0
∞
n
γ p0 X Y
ρk
λ n=0
k=1
Bien évidement les résultats obtenus lors du calcul des performances sont
purement théoriques. Ainsi, dans la pratique nous utilisons des approches algorithmiques beaucoup plus intéressantes, comme la troncature des sommes
infinies, afin de réduire le temps d’exécution des programmes les implémentant.
3.2
File M/M/1+D
Considérons à présent la file M/M/1+D où les arrivées sont Markoviens de
taux λ, le temps de service est aussi Markovien de taux µ et le délai de patience
est lui déterministe. Dans le cas où les délais initiaux sont égaux à d, Choi, Kim
et Chung [6] proposent le calcul explicite des performances par l’étude de la loi
stationnaire du processus Markovien
multidimensionnel (Xt , t ≥ 0) à valeurs
S
dans l’espace ({0} × {0, 1}) ({1} × [0, d]) :
9
Xt := (0, c) si il y a c clients dans le système avec c ≤ 1
Xt :=(1,Yt ) si il y a au moins 2 clients dans le système
Où Yt est le temps passé dans le système à l’instant t par le client en servie
à cet instant. Ainsi, on peut calculer la loi stationnaire de Xt et par suite, la
densité f de Y , la version stationnaire de Yt . Par ailleurs la propriété PASTA 1
nous permet de trouver la probabilité de perte :
π=
f (d)
λ
Où λ est l’intensité du processus des entrées et on retrouve bien le résultat
de Barrer :
π = ρ e(λ−µ)d P [N∞ = 0]
3.2.1
Encadrement de la probabilité de perte d’un client :
L’absence de mémoire de la loi exponentielle permet d’exhiber des modèles
Markoviens simples pour le calcul des performances et donne en particulier une
formule close pour la probabilité de perte π.
Soit πk :=P(le client C k est perdu/sort impatient)
0
0
Notons Tk l’instant où C k quitte la fille d’attente. S’il n’est pas perdu, Tk
0
est donc l’instant où il entre en service et Tk ∈ [Tk , Tk + d[ sinon on a bien
0
Tk = Tk + d.
Soient aussi les événements suivants :
Atj :=C j est en service à l’instant t
Bj :=C j est servi
Le client C k est éliminé lorsque le serveur est occupé par un autre client à
l’instant Tk + d. Cet événement est réalisé si l’un des clients C 0 , C 1 , . . . , C k−1
entrés avant C k est en service à cet instant. Dans ce cas, ce client en service à
l’instant Tk + d l’était déjà à l’instant Tk−1 + d sinon il aurait été éliminé à cet
instant.
Ainsi,
πk
=
k−1
X
h
i
P AjTk +d
j=0
=
k−1
X
h
i
T
+d
P AjTk +d ∩ Aj k−1
j=0
=
k−1
X
h
i h
i
T
+d
T
+d
P AjTk +d | Aj k−1
P Aj k−1
j=0
1. Poisson Arrivals See Time Averages (Wolff 1982) : Avec le théorème ergodique cela veut
dire qu’en régime permanent un nouveau client verra n clients devant lui avec une probabilité
égale à la proportion du temps pendant laquelle le système est occupé par n clients.
10
Comme les temps de services sont exponentiels, la probabilité qu’un client soit
encore en service à l’instant Tk + d sachant qu’il était déjà en service à l’instant
Tk−1 + d est donnée par :
P [s > Tk − Tk−1 ] = P [s > U ]
Ainsi,
πk
=
k−1
X
h
i
T
+d
P [s > U ] P Aj k−1
j=0
=
T
k−1
Or, Ak−1
+d
h
i
Tk−1 +d
P [s > U ] πk−1 + P [s > U ] P Ak−1
⊂ Bk−1 donc :
πk
6 P [s > U ] πk−1 + P [s > U ] (1 − πk−1 )
Comme le système est stable alors on déduit que :
π = lim
k−→∞
πk 6 P [s > U ]
(3.1)
D’autre part on a :
πk
=
h
i
Tk−1 +d
P [s > U ] πk−1 + P [s > U ] P Ak−1
=
P [s > U ] (πk−1 + P [Bk−1 ] −
P le service de C k−1 se termine avant Tk−1 + d )
=
P [s > U ] (πk−1 + 1 − πk−1 − P [Bk−1 ∩ {Tk−1 + sk−1 < Tk−1 + d}])
>
P [s > U ] (1 − (1 − πk−1 ) P [sk−1 < d])
>
P [s > U ] − P [s > U ] P [sk−1 < d] (1 − πk−1 )
0
Ainsi et par passage à la limite en déduit que :
π
>
P [s > U ] − P [s > U ] P [s < d] (1 − π)
Ou encore,
P [s > U ] P [s > d]
6π
1 − P [s > U ] P [s < d]
(3.2)
Finalement de (3.1) et (3.2) on déduit que :
P [s > U ] P [s > d]
6 π 6 P [s > U ]
1 − P [s > U ] P [s < d]
3.2.2
Applications :
Cet encadrement est très utile, de fait de sa généralité, pour d’autres types
de système :
1. Cas de la file D/M/1+D où les arrivés sont périodiques de période p (U=p
p.s)
e−µ(p+d)
6 π 6 e−µp
1 − eµp (1 − e−µd )
11
2. Cas de la file M/M/1+D
1−
λ
−µd
λ+µ e
λ
−µd )
λ+µ (1 − e
12
6π6
λ
λ+µ
Chapitre 4
Deux classes de clients
4.1
Cas particulier
Dans cette section nous allons étudier le cas où on aura deux classes de
clients de même taux d’abandon γ et avec priorité stricte.
Notons N (t) = N1 (t) + N2 (t), qui est, en suivant les notations du chapitre
2, le nombre de clients dans le système caractérisé par :
λ
= λ1 + λ2
µ = µ1 = µ2
γ
= γ1 = γ2
Figure 4.1 – Parallélisme avec une seule classe de clients
Ainsi, cette considération nous permet de constater que N et N1 évoluent
comme un système à une seule classe de clients. De plus, en exploitant les
résultats déjà trouvés dans le 3ème chapitre on pourra déduire les mesures de
performances de la deuxième classe comme suit :
L2
=
L − L1
W2
=
W − W1
Ainsi, nous pourrons généraliser ce procédé à n classes de clients avec un
calcul de proche en proche.
13
4.2
Cas avec priorité stricte et avec préemption
Dans le cas d’une priorité stricte, nous considérons que la première classe
est prioritaire par rapport à la deuxième en se plaçant toujours dans le cas des
délais éliminatoires jusqu’à début du service. D’autre part, nous supposons que
les clients de la classe 1 ont une priorité préemptive sur ceux de la classe 2 et que
ces derniers sont patients indéfiniment après le début de leur service. Autrement
dit, un client de la classe 2 n’est servi que s’il n’y a aucun client de la classe 1
dans le système et il quitte immédiatement le serveur, pour rejoindre la fille, dès
l’arrivée d’un client de la classe 1 même s’il n’a pas encore terminé son service.
Il est clair que le comportement de la classe prioritaire peut être approché
par le cas d’une seule classe de clients. On pourra, ainsi, reprendre tous les
résultats déjà trouvés au chapitre 3. Par contre, on ne peut rien dire a priori
sur le comportement de l’autre classe.
D’autre part, nous aurons besoin de la distribution de la période où le
système est occupé par les clients de la classe la plus prioritaire (classe 1).
Ainsi, cette période est définie, lorsqu’elle est générée par k clients de la classe
1, comme étant la durée écoulée entre le moment où le serveur commence à
servir le premier client parmi ces k clients et le moment où aucun clients de la
classe 1 n’est plus présent dans le système. Du moment où les clients de la classe
1 se comportent comme étant les seuls présents dans le système, nous pouvons
reprendre les résultats établis par Rao [13] qui a étudié la file M/G/1+M avec
une seule classe de clients impatients. Posons Bk (t) la fonction de répartition
de cette période initiée par k clients de la classe 1 dans la file et bk (t) sa densité ayant Lbk (p) comme transformée de Laplace. 1 D’autre part, notons S(t) la
fonction de répartition du temps de service, Ŝ(t) = 1 − S(t) celle du temps de
service complémentaire et LS(p) sa transformée de Laplace.
Comme le temps de service est Markovien de taux µ alors on a :
S(t) = 1 − e−µt
LS(p) =
=⇒
1
1
−
p µ+p
Ainsi les résultats de Rao [13] se simplifient comme suit :
µ
µ+p
Lb0 (p) =
+
∞
P
i=1
1+
νi
i! ψ(i
∞
P
i=1
µ
µ+p
+
Lbk (p) =
∞
P
µ
− 1, p) µ+p+iγ
1
(4.1)
νi
i! ψ(i
− 1, p)
µ
(−1)i ψ(i − 1, p) µ+p+iγ
l(k, i)
1
i=1
1+
∞
P
i=1
,
νi
i! ψ(i
∀k ∈ N∗
(4.2)
− 1, p)
1. Soit f une fonction continue de R+ dans Rd . On appelle transformée de Laplace de f ,
et on note Lf la fonction qui à p associe :
Z +∞
e−pt f (t)dt,
Lf (p) =
0
si cette intégrale converge.
14
Avec,
ν
l(k, i)
=
=
λ1
γ1
 i
P






ψ(i, p)
=
(−1)j ν j
j!
j=0
i
P
j=i−k
(−1)j ν j
j!
k
i−j
si i ≤ k
,
k
i−j
,
si i > k
i
Y
p + jγ1
µ
+
p + jγ1
j=0
D’autre part, posons g1 (x) (resp. g2 (x)) la densité du temps d’attente d’un
client de la classe 1 (resp. la classe 2) jusqu’à ce que son service sera initié pour
la première fois. Comme la préemption est autorisée, g2 n’affecte pas g1 et par
conséquent, cette dernière peut être retrouvée à partir de plusieurs ouvrages
(voir [1, 8, 12]).
Notons au passage que ne nous aurons besoin ici que de b0 (t) qui est la
densité de la période active initiée par un client de la classe 1 entrant dans un
système vide.
Notre système alterne entre une phase inactive (PI) où il n’y a aucun client
dans le système et une phase active (PA) qui est initiée par l’arrivée d’un client.
De plus, nous appelons cycle de phase, l’union de ces deux phases. Ainsi, une PA
s’arrête au moment où tout les clients ont quitté le système, dû à des services
ou à des abandons. Selon que le client de la classe 2 arrive durant une PI ou
une PA, la fonction g2 est donnée par :
g2 (x) = g2 (x|P I)P(P I) + g2 (x|P A)P(P A), ∀x ∈ R+
D’autre part, comme chaque client qui arrive durant une PI sera automatiquement pris en charge par le serveur, la transformée de Laplace de g2 (x|P I)
sera égale à 1. Par contre, pour un client qui arrive durant une PA , il y a deux
cas de figures à traiter.
1. Il arrive juste après l’initiation de la PA et doit attendre dans la file mais
son temps d’attente dépend du type du client qui a initié la PA. Si la PA
a été initié par un client de la classe 1, il doit attendre jusqu’à ce que ce
client soit servi ainsi que tous les autres clients de la classe 1 rejoignant la
file. Ce temps d’attente est égal à la période initiée par un client arrivant
quand le serveur est vide dans une file M/G/1+M avec une seule classe
de clients impatients qui est largement étudiée dans la littérature.
Sinon, il doit attendre jusqu’à ce que le client de la classe 2, qui a initié
la PA, soit servi ainsi que tous les éventuels clients de la classe 1 qui
sont entrés dans le système. Nous allons définir ce temps d’attente comme
le temps de complétion de service d’un client de la classe 2, qui est le
temps écoulé entre l’instant où il a été pris en charge par le serveur pour
la première fois et l’instant où il termine son service 2 . Posons C2 (t) la
2. Cette durée comprend aussi les temps passés dans la file d’attente avant de reprendre le
service au point d’interruption.
15
fonction de répartition de ce temps d’attente et c2 (t) sa densité ayant
Lc2 (p) comme transformée de Laplace et qui peut être trouvé par [7] :
Lc2 (p) =
µ
µ+p+λ1 −λ1 Lb0 (p)
Notons au passage, que la PA sera initiée par un client de la classe 1
1
avec une probabilité de λ1λ+λ
sinon par un client de la classe 2 avec une
2
λ2
probabilité de λ1 +λ2 .
Posons IJ (t) la fonction de répartition du premier saut du de la phase
active. Ainsi :
IJ (t) =
λ1
λ2
B0 (t) +
C2 (t), ∀t ∈ R
λ1 + λ2
λ1 + λ2
Nous constatons donc que la durée de PA décroit avec un taux de 1 jusqu’à
ce qu’on atteint la PI ou jusqu’à ce qu’un autre client de la classe 2 entre
dans le système. De plus, chaque fois qu’un client de la classe 2 arrive
durant la PA, la durée de PA saute avec le temps de complétion de service
de ce client et s’il n’y a aucun client, alors la PA arrive à son bout et on
entre en PI.
Afin de calculer le nombre moyen avec lequel décroit la PA par rapport
au nombre moyen avec lequel elle croit au niveau x, nous pouvons nous
baser sur les résultats donnés par Brill[4, 5] :
Z x
E[P A]g2 (x|P A) = 1−IJ (x)+λ2 E[P A]
Cˆ2 (x−t)e−γ2 t g2 (t|P A)dt (4.3)
0
Notons au passage que la partie droite de cette equation indique que le
niveau x peut être dépassé si le saut initial IJ dépasse x avec une probabilité de 1 − IJ (x) ou si un client de la classe 2 arrivant durant la PA est
suffisamment patient pour attendre les clients qui sont devant lui et ce,
avec un nombre moyen de λ2 E[P A]. Ainsi,
Z x
1 − IJ (x)
+ λ2
Cˆ2 (x − t)e−γ2 t g2 (t|P A)dt
(4.4)
g2 (x|P A) =
E[P A]
0
L’équation (4.4) est une équation intégrale de Volterra au second degré et
peut-être résolu par récurrence (voir [2]).
Étapes de la récurrence :
On pose,
g2,1 (x|P A) =
ψ1 (x)
1 − IJ (x)
=
E[PA]
E[PA]
On remplace g2 (t|P A) dans l’intégrale de l’équation (5.4) et on trouve
l’équation suivante :
Z x
1 − IJ (x)
ψ1 (x)
ψ2 (x)
g2,2 (x|P A) =
+ λ2
Cˆ2 (x − t)e−γ2 t
dt =
E[P A]
E[P A]
E[P A]
0
Ainsi, et en répétant ce procédé, g2,n converge vers g2 qui est la solution
de l’équation, et on obtient :
g2 (x|P A) = lim g2,n (x|P A) = lim
n−>∞
n−>∞
16
ψn (x)
E[P A]
Avec :
Z
x
ψn (x) = 1 − IJ (x) + λ2
Cˆ2 (x − t)e−γ2 t ψn−1 (t)dt
(4.5)
0
Nous remarquons que l’intégrale de la partie droite de l’équation (4.5) est
un produit de convolution, ce qui nous permet de passer dans le domaine
de Laplace :
Lg2 (p|P A) =
λ2
1 − LIJ (p)
+
LC2 (p)Lψn−1 (p + γ2 )
p E[P A]
E[P A]
(4.6)
Avec :
n =
Lψ1 (p)
=
Lψk (p)
=
Le rang à partir duquel on arrive à la convergence
1 − LIJ (p)
p
1 − LIJ (p)
+ λ2 LC2 (p)Lψk−1 (p + γ2 ), ∀k > 1
p
D’autre part, comme lim Lg2 (p|P A) = 1 et en exploitant l’équation (4.6)
p−>0
et la règle de l’Hôpital, on trouve :
1=
E[IJ ]
λ2 E[C2 ] Lψn−1 (γ2 )
+
E[P A]
E[P A]
Avec :
E[C2 ]
=
E[IJ ]
=
Le temps de complétion moyen d’un client de la classe 2
λ1
λ2
E[C2 ] +
E[b0 ]
λ1 + λ2
λ1 + λ2
Comme E[b0 ] est le temps moyen que dure la période, initiée par un client
de la classe 1, où le système est occupé et comme E[P I] = 1/(λ1 + λ2 )
alors :
E[P I]
1
P [P I] =
=
E[P I] + E[P A]
1 + (λ1 + λ2 )E[P A]
Ainsi :
P [P A] = 1 − P [P I] =
(λ1 + λ2 )E[P A]
1 + (λ1 + λ2 )E[P A]
En combinant les différents résultats trouvés et en travaillant dans le domaine de Laplace, on trouve finalement :
Lg2 (p)
=
λ1 + λ2
1 + (λ1 + λ2 )E[P 1]
1
1 − LIJ (p)
+
+
+ λ2 LC2 (p)Lψn−1 (p + γ2 )
λ1 + λ2
p
2. Il arrive à un instant arbitraire après l’initiation de la PA mais comme le
système est Markovien sans mémoire, on se ramène au premier cas.
17
4.2.1
Mesures de performances
Il est clair que le système est stable (voir [11]). Posons pour i ∈ {1, 2} :
Wi,S
= Le temps d’attente moyen des clients qui rejoignent le serveur
Wi,A
= Le temps d’attente moyen des clients qui abandonnent la file
Wi,T
= Le temps d’attente moyen de tous les clients
πi = La probabilité de perte d’un client de la classe i.
Fi (t) = La fonction de répartition de la charge du travail apportée
par la classe i.
Il est clair que le serveur est soit vide avec la probabilité P[PI] soit il sert
un client de la classe 1 ou de la classe 2. Mais comme la présence des clients
de la classe 2 n’a aucun impact sur les clients de la classe 1, alors en posant
P0 la probabilité qu’aucun client de la classe 1 n’est présent dans le système,
le serveur servira un client de la classe 1 avec la probabilité 1 − P0 . Ainsi, la
probabilité qu’un client de la classe 2 soit admis en service, P2,S , est égale à
P0 − P [P I]. Ainsi, Stanford [12] nous permet d’écrire :
π1
=
π2
=
ρ1 =
λ1
µ
Avec
1 − P0
ρ1
P0 − P [P I]
1−
ρ2
1−
et
ρ2 =
λ2
µ
De plus, Stanford montre que :
P [Wi,S = 0] =
Fi (0)
1 − πi
avec
F1 (0) = P0
Comme un client de la classe 2 ne peut commencer immédiatement son service
que si le système est vide alors F2 (0) = P [P I]. Ainsi, Stanford permet de
trouver :
Z x
dFi (t)e−γi t
Wi,S (x) =
dt
1 − πi
0
Wi,T (x) = 1 − e−γ2 x + e−γ2 x Fi (x)
Notons au passage que Wi,S peut être numériquement calculé s’il est exprimé
en domaine de Laplace :
LWi,S (p)
=
LFi (γi + p)
p(1 − πi )
Enfin on a,
Wi,R (x)
=
(1 − πi )Wi,S (x) − Wi,T (x)
πi
18
Chapitre 5
Conclusion
Dans ce document, nous avons étudié deux modèles qui sont largement
présent dans la vie courante. Dans le cas d’une seule classe de clients, nous avons
démontré un encadrement de la probabilité de perte, qui a la particularité d’être
général, c’est à dire indépendant de la distribution qui caractérise le temps des
arrivés, chose qui peut aider les administrateurs des systèmes d’information à
choisir le bon type qui correspond au besoin du client. D’autre part, dans le cas
de deux classes de clients avec priorité stricte, c’est à dire la première classe est
plus prioritaire sur la deuxième, nous avons trouvé un algorithme très simple
dans un cas particulier où les temps d’abandon et de service sont les mêmes
pour les clients des deux classes, et qui nous permet de profiter des résultats
trouvés dans le cas d’une seule classe pour trouver ceux de la deuxième classe,
chose qui se réitère par récurrence afin de généraliser les résultats à n classes de
clients. Enfin, nous signalons que le cas sans préemption reste difficile à traiter
car il demande une étude très approfondie afin d’explorer toutes ses possibilités.
Remerciements :
Je tiens à remercier infiniment l’équipe pédagogique de l’Ensimag qui m’a
offert cette possibilité pour découvrir de près le monde de la recherche dans les
laboratoires. De plus, je saisis cette occasion pour remercier M. J.P.Gayon et M.
A.Salch pour leur aide tout au long de ma présence dans le laboratoire G-SCOP
et pour leur sympathie.
19
Bibliographie
[1] F BACCELLI, P BOYER, and G HEBUTERNE. SINGLE-SERVER
QUEUES WITH IMPATIENT CUSTOMERS. ADVANCES IN APPLIED
PROBABILITY, 16(4) :887–905, 1984.
[2] S.A. Belbas and Yuriy Bulka. Numerical solution of multiple nonlinear volterra integral equations. Applied Mathematics and Computation,
217(9) :4791 – 4804, 2011.
[3] Onno Boxma, David Perry, and Wolfgang Stadje. The M/G/1+G queue
revisited. QUEUEING SYSTEMS, 67(3) :207–220, MAR 2011.
[4] P H Brill. System point theory in exponential queues. Dissertation Abstracts International Part B : Science and Engineering [DISS. ABST. INT.
PT. B - SCI. & ENG.], vol. 49, no. 11 :242, 1989.
[5] P. H. Brill. An embedded level crossing technique for dams and queues.
Journal of Applied Probability, Vol. 16, No. 1 :174–186, Mar., 1979.
[6] BD Choi, B Kim, and J Chung. M/M/1 queue with impatient customers
of higher priority. QUEUEING SYSTEMS, 38(1) :49–66, 2001.
[7] Jr D. P. Gaver. A waiting line with interrupted service, including priorities.
Journal of the Royal Statistical Society. Series B (Methodological), Vol. 24,
No. 1 :73–90, 1962.
[8] D. J. Daley. General customer impatience in the queue gi/g/1. Journal of
Applied Probability, Vol. 2, No. 1 :186–205, Jun, 1965.
[9] Antonis Economou, Antonio Gomez-Corral, and Spyridoula Kanta. Optimal balking strategies in single-server queues with general service and
vacation times. PERFORMANCE EVALUATION, 68(10) :967–982, OCT
2011.
[10] Donald Gross and Carl M. Harris. Fundamentals of Queueing Theory.
Library of Congress Cataloging-in-Publication Data, 1998.
[11] Foad Iravani and Baris Balcioglu. On priority queues with impatient customers. QUEUEING SYSTEMS, 58(4) :239–260, APR 2008.
[12] Robert E. Stanford. Reneging phenomena in single channel queues. Mathematics of Operations Research, Vol. 4, No. 2 :162–178, May, 1979.
[13] S. Subba Rao. Queuing with balking and reneging in m—g—1 systems.
Metrika, 12 :173–188, 1967. 10.1007/BF02613493.
20