14. Introduction aux files d attente MTH2302D S. Le Digabel, École Polytechnique de Montréal H2015 (v2) MTH2302D: Files d attente 1/24
Plan 1. Introduction 2. Modèle M/M/1 3. Modèle M/M/1/K MTH2302D: Files d attente 2/24
1. Introduction 2. Modèle M/M/1 3. Modèle M/M/1/K MTH2302D: Files d attente 3/24
Introduction La théorie des files d attente consiste en l étude de systèmes où des clients se présentent à un dispositif de service, appelé serveur. Puisqu un client occupe le serveur pendant un certain temps, les autres clients doivent attendre avant d être servis, formant ainsi une file d attente. Quelques exemples d application : Réseaux informatiques : serveur = routeur, client = paquet. Ateliers (job shop) : serveur = machine, client = tâche. En ingénierie, on s intéresse à des métriques de performance des files d attente, par exemple : Taille moyenne de la file d attente. Taux d utilisation du serveur. Temps moyen d attente d un client. MTH2302D: Files d attente 4/24
Modèle élémentaire de file d attente En général, pour étudier l impact de différents choix de conception sur la performance d une file d attente, il faut construire un modèle de simulation. On peut aussi utiliser un modèle simplifié pour lequel les métriques s expriment par des équations analytiques. Le modèle de base en files d attente se nomme M/M/1 et se généralise en notation de Kendall A/B/C/K/N/D : A : processus d arrivée (M = markovien ou memoryless). B : processus de service (M = markovien ou memoryless). C : nombre de serveurs. K : capacité du système (file + serveurs). N : taille de la population des clients (habituellement infinie). D : discipline de service (par défaut, FIFO, ou PAPS : 1er arrivé 1er servi, mais aussi RANDOM ou PRIORITY). MTH2302D: Files d attente 5/24
1. Introduction 2. Modèle M/M/1 3. Modèle M/M/1/K MTH2302D: Files d attente 6/24
Modèle M/M/1 Les clients se présentent au système aléatoirement selon un processus de Poisson de taux λ. Le temps de service suit une loi exponentielle de taux µ, indépendamment d un client à l autre. La file d attente peut s étendre à l infini. Rappel sur le processus de Poisson : Le nombre A(t) d arrivées dans l intervalle de temps [0; t] suit une loi de Poisson de paramètre c = λt. Les arrivées dans deux intervalles de temps disjoints sont indépendantes. Le temps qui s écoule entre deux arrivées suit une loi exponentielle de taux λ. MTH2302D: Files d attente 7/24
Exemple 1 Soit T n le temps d arrivée du n ième client dans une file M/M/1. On dit que T n suit une loi d Erlang de paramètres n et λ, i.e. T n Γ(α = n, λ). 1. Trouver la fonction de répartition de T n (utiliser le processus de Poisson). 2. Calculer E(T n ) et V(T n ). MTH2302D: Files d attente 8/24
Arrivée avant un départ et départ avant une arrivée Temps pour qu une nouvelle arrivée se produise : A Exp(λ). Temps pour qu un nouveau départ se produise : (A et D sont indépendantes). D Exp(µ). Probabilité qu une arrivée se produise avant un départ : P (A < D) = λ λ + µ. Probabilité qu un départ se produise avant une arrivée : P (D < A) = µ λ + µ. MTH2302D: Files d attente 9/24
Analyse en régime stationnaire Il est difficile d étudier la variable aléatoire N(t) représentant le nombre de clients au temps t dans le système. On s intéresse plutôt à N = lim t N(t). On parle alors d analyse en régime stationnaire (ou analyse à l équilibre). Pour qu une file M/M/1 puisse atteindre l équilibre, il faut que λ < µ (sinon la taille de la file augmentera à l infini). À l équilibre, on peut montrer que P (N = n) = λ µ P (N = n 1) + P (N = n + 1). λ + µ λ + µ λ λ+µ Il s agit de la règle des probabilités totales. Le terme représente la probabilité qu un nouveau client arrive avant que le µ client en service quitte le système, et λ+µ est la probabilité que le client en service quitte avant qu un nouveau client n arrive. MTH2302D: Files d attente 10/24
Équations d équilibre Soit π n = P (N = n). En posant les équations π 1 = λ λ+µ π 0 + µ λ+µ π 2, π 2 = λ λ+µ π 1 + µ λ+µ π 3,..., π n = λ λ+µ π n 1 + µ λ+µ π n+1,..., et n=0 π n = 1, on trouve que π n = (1 ρ)ρ n pour n = 0, 1, 2, 3,..., où ρ = λ µ est défini comme l intensité du trafic. On remarque que N + 1 Geom(1 ρ). MTH2302D: Files d attente 11/24
Notations N Q : nombre moyen de clients faisant la queue. N S : nombre moyen de clients en train d être servis. N = E(N) = N Q + N S : nombre total (attente + service) moyen de clients dans le système en équilibre. N Q, N S et N sont les v.a. correspondantes. On a P (N = k) = π k. T Q : temps moyen d attente. T S : temps moyen de service. T = T Q + T S : temps moyen qu un client passe dans le système. T Q, T S et T sont les v.a. correspondantes. T k : temps que passe le kème client dans le système. MTH2302D: Files d attente 12/24
La loi de Little La loi s énonce ainsi : N = λ e T où λ e est le taux d entrée dans le système (λ e = λ pour une file M/M/1). Puisque N = N Q + N S et T = T Q + T S, on trouve également que N Q = λ e T Q et N S = λ e T S. Remarque : La loi de Little s applique à tous les modèles de file d attente rencontrés en pratique (pas seulement à la file M/M/1). MTH2302D: Files d attente 13/24
Exemple 2 On considère une file d attente M/M/1 de taux λ = 1 et µ = 2. Calculer (à l équilibre) : 1. Le nombre moyen de clients dans le système, N. 2. Le nombre moyen de clients en service, N S. 3. Le nombre moyen de clients dans la file d attente, N Q. MTH2302D: Files d attente 14/24
Modèle M/M/1 : formules ρ = λ/µ. N = ρ 1 ρ. N S =1 π 0 = ρ. N Q =N N S = T =N/λ = T S = 1/µ. T Q =T T S = ρ2 1 ρ. ρ λ(1 ρ) = 1 µ λ. λ µ(µ λ). MTH2302D: Files d attente 15/24
Modèle M/M/1 : formules (suite) { Un seul serveur : N Q = 0 si N = 0 ou N = 1, N 1 si N > 1. P (N Q = 0) =P (N = 0) + P (N = 1) = π 0 + π 1 = 1 ρ + ρ(1 ρ) = (1 ρ)(1 + ρ). P (N Q = k) =P (N = k + 1) = π k+1 = ρ k+1 (1 ρ), pour k > 0. MTH2302D: Files d attente 16/24
Modèle M/M/1 : formules (suite) Si N est le nombre de clients dans le système à l équilibre, alors N + 1 = N 1 Geom(p = 1 ρ). Nombre de clients en train d être servis : N S Bern(ρ). Temps total (attente + service) passé dans la file : T Exp(µ λ). Temps d attente T Q (variable mixte) : P (TQ = 0) = π 0 = 1 ρ. TQ {N Q > 0} Exp(µ λ) (comme T ). MTH2302D: Files d attente 17/24
Exemple 3 On considère une file d attente M/M/1 de taux λ = 1 et µ = 2. Calculer (à l équilibre) : 1. Le temps moyen de séjour d un client dans le système, T. 2. Le temps moyen d attente d un client dans la file, T Q. 3. Le temps moyen de service d un client, T S. MTH2302D: Files d attente 18/24
1. Introduction 2. Modèle M/M/1 3. Modèle M/M/1/K MTH2302D: Files d attente 19/24
Modèle M/M/1/K Pour un système de capacité K (taille maximale de la file de K 1) avec ρ = λ µ 1, on peut montrer que pour n = 0, 1,..., K : Si ρ < 1 : π n = P (Y = n+1 Y K+1) = avec Y Geom(1 ρ). Si ρ > 1 : π n = P (Y = K n + 1 Y K + 1) = (même formule dans les deux cas). P (Y = n + 1) P (Y K + 1) = ρn (1 ρ) 1 ρ K+1 P (Y = K n + 1) P (Y K + 1) = ρn (1 ρ) avec Y Geom(1 1/ρ). 1 ρk+1 MTH2302D: Files d attente 20/24
Modèle M/M/1/K (suite) L équilibre est atteint pour tout ρ : Si ρ 1, π n = ρ n 1 ρ 1 ρ K+1. Si ρ = 1, on considère des états équiprobables : π n = 1 K + 1 pour n = 0, 1,..., K. Le système est à pleine capacité avec probabilité π K. Taux d entrée : λ e = λ(1 π K ). MTH2302D: Files d attente 21/24
Exemple 4 Pour le système M/M/1/2 avec λ = µ, trouver l espérance et la variance du nombre de clients dans le système en équilibre. MTH2302D: Files d attente 22/24
Exemple 5 On considère une file d attente M/M/1/5 de taux λ = 1 et µ = 2. Calculer (à l équilibre) : 1. Le nombre moyen de clients dans le système. 2. Le nombre moyen de clients dans la file d attente. 3. La proportion de clients ne pouvant entrer dans le système. 4. Le temps moyen de séjour d un client dans le système. 5. Le temps moyen d attente d un client dans la file. MTH2302D: Files d attente 23/24
Exemple 6 On considère une file d attente M/M/1 avec priorité : Les clients de classe 1 ont une priorité absolue sur les clients de classe 2, c est-à-dire qu ils dépassent automatiquement tous les clients de classe 2 dans la file. De plus, un client de classe 2 en service retourne immédiatement dans la file d attente si un client de classe 1 se présente. On a λ 1 = 1 pour les clients de classe 1, λ 2 = 2 pour les clients de classe 2, et µ = 4. Calculer (à l équilibre) : 1. Le nombre moyen de clients de chaque classe dans le système. 2. Le temps moyen de séjour dans le système pour chaque classe. Indication : On peut montrer que les équations d équilibre de la file M/M/1 ne dépendent pas de la politique de service de la file. MTH2302D: Files d attente 24/24