排队论简述及LINGO实现(3)——基于生灭过程的排队模型

本文最后更新于:2024年8月14日 下午

基于生灭过程的排队模型

首先,我们假定模型都具有泊松输入和指数服务时间。给出三个模型作为排队系统的三个重要类型

$M/M/s$模型

$M/M/s$模型认为所有间隔到达时间按照指数分布且平均分布(即输入源为泊松分布),所有服务时间按照另一个独立的指数分布且均匀分布,且所有服务台数量为$s$,其平均到达率与平均服务率为$\lambda$和$\mu$。

当$s = 1$时,生灭过程参数为$\lambda_n$和$\mu_n$。

当$s > 1$时,系统到达率仍为$\lambda_n$,系统服务率为

  • 当$n \leq s$时,$\mu_n = n\mu$,此时$\rho = 1$
  • 当$n \geq s$时,$\mu_n = s\mu$,此时$\rho \leq 1$

$M/M/1$模型

当$s = 1$ 时,$\lambda_n = \lambda_1, \mu_n = \mu_1, \rho_n = \rho$, 则$C_n = \rho^n P_0$

则$P_n = \rho^n(1-\rho),P_0 = 1- \rho, L = \frac{\lambda}{\mu - \lambda}, L_q = \frac{\lambda^2}{\mu(\mu - \lambda)}$

经简化计算得$W = \frac{1}{\mu - \lambda}, W_q = \frac{\lambda}{\mu(\mu - \lambda)}$

$P{W_q > t} = \rho e^{-\mu(1-\rho)t}$

$P{W_q > t | W_q > 0} = e^{-\mu(1-\rho)t}$

$M/M/s$模型

当$s>1$时, $C_n$ 变为

当$n<s$时, $C_n = \frac{(\lambda/\mu)^n}{n!}$

当$n\geq s$时, $C_n = \frac{(\lambda/\mu)^n}{s!s^{n-s}}$

经过中间计算,得出

$P_0=1/[\sum_{n=1}^{s-1}\frac{(\lambda/\mu)^n}{n!}+\frac{(\lambda/\mu)^s}{s!}\frac{1}{1-(\lambda/s\mu)}]$

$P_n$取值为

当$n<s$时,$P_n = \frac{(\lambda/\mu)^n}{n!}P_0$

当$n \geq s$时,$P_n = \frac{(\lambda/\mu)^n}{s!s^{n-s}}P_0$

$L_q = \frac{P_0(\lambda/\mu)^{s}\rho}{s!(1-\rho)^2}$

$W_q = \frac{L_q}{\lambda}$

$W = W_q + \frac{1}{\mu}$

$L = L_q + \frac{\lambda}{\mu}$

$P{W>t} = e^{-\mu t}[1+\frac{P_0(\lambda/\mu)^s}{s!(1-\rho)}(\frac{1-e^{-\mu t(s-1-\lambda/\mu)}}{s-1-\lambda/\mu})]$

$P{W_q>t} = (1-P{W = 0})e^{-s\mu(1-\rho)t}$

其中$P{W = 0} = \sum^{s-1}_{n = 0} = P_n$

例题分析

医院急诊中,管理工程师得出结论:急诊的到达时间是随机的,所以间隔到达时间具有指数分布,每个医生的治疗时间也为指数分布,故在此选用$M/M/s$模型进行求解

每位病人的平均到达率为每半个小时一人,故有

$\lambda = 2$

每名医生治疗一位病人需要20min,故有

$\mu = 3$

考虑1位医生($s = 1$)和2位医生($s = 2$)的情况,在这两种情况下都有

$\rho = \frac{\lambda}{s\mu} < 1$,即都不会出现队列爆炸的情况, 系统都将趋于稳定

$s = 1$ $s = 2$
$\rho$ 2/3 1/3
$P_0$ 1/3 1/2
$P_n$ 2/9 1/3
$P{W_q > t}$ $\frac{2}{3}e^{-t}$ $\frac{1}{6}e^{-4t}$
$P{W > t}$ $e^{-t}$ $\frac{1}{2}e^{-3t}(3-e^{-t})$

$M/M/s/K$模型

$M/M/s/K$模型在$M/M/s$模型的基础上将队列假设为有限长的,系统中新来的顾客数量不允许超过某个指定的数量$K$。因此队列容量为$K - s$,在队列已满的情况下,新顾客会直接离开无法加入队列。即对于模型来说,当系统状态达到$K$值时,系统的平均输入率$\lambda = 0$,因此对$\lambda_n$ 进行修正,即有

$\lambda_n = \lambda$,当$n < K$时

$\lambda_n = 0$,当$n \geq K$时

$M/M/1/K$模型

当$s = 1$时

$P_0 = \frac{1}{\sum_{n = 0}^{K}(\lambda/\mu)} = \frac{1 - \rho}{1 - \rho^{K+1}}$

$P_n = \frac{1 - \rho}{1 - \rho^{K+1}}\rho^{n}$

$L = \frac{\rho}{1 - \rho} - \frac{(K+1)\rho^{K+1}}{1-\rho^{K+1}}$

$L_q = L - (1-P_0)$

$W = \frac{L}{\bar{\lambda}}, W_q = \frac{L_q}{\bar{\lambda}}$

$M/M/s/K$模型

当$s > 1$时

$P_n$取值为

当$n<s$时, $P_n = \frac{(\lambda - \mu)^n}{n!}P_0$

当$n\geq$且$n<K$时, $P_n = \frac{(\lambda - \mu)^n}{s!s^{n-s}}P_0$

当$n > K$时, $P_n = 0$

其中$P_0 = 1/[\sum_{n = 0}^{s}\frac{(\lambda/\mu)^n}{n!}+\frac{(\lambda/\mu)^s}{s!}\sum^{K}_{n = s+1}(\frac{\lambda}{s\mu})^{n-s}]$

$L_q = \frac{P_0(\lambda/\mu)^{s}\rho}{s!(1-\rho)^2}[1-\rho^{K-1}-(K-s)\rho^{K-1}(1-\rho)]$

$L = \sum_{n = 0}^{s-1}nP_n+L_q+s(1-\sum_{n=0}^{s-1}P_n)$

$M/M/s/s$模型

$M/M/s/s$模型是$M/M/s/K$模型的特殊形式,即当所有服务台都被占用时,顾客会直接离开。在此模型中队列数始终为空,即不存在等待状态。


排队论简述及LINGO实现(3)——基于生灭过程的排队模型
https://asteriscus.cat/posts/dd8a0f44/
作者
Asterisk
发布于
2020年7月14日
许可协议