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