【数学建模笔记 06】数学建模的排队论

06. 排队论

定义

排队论也称随机服务系统理论,它研究的内容有三部分:

  • 形态问题:各种排队系统的概率规律性,如队长分布、等待时间分布、忙期分布等;
  • 最优化问题:分静态最优 (最优设计) 和动态最优 (最优运营);
  • 排队系统的统计推断:判断一个给定的排队系统符合于哪种模型。

排队论的一般模型如图:

排队系统
顾客排队
服务机构(服务时间随机)
顾客随机到达
顾客离去

一般的排队过程由三部分组成:

  • 输入过程:顾客到来时间的规律性;
    • 顾客组成可能有限无限
    • 顾客到达可能逐个成批
    • 顾客到达可以是相互独立相关
    • 输入过程可以平稳 (与时间无关)非平稳
  • 排队规则:顾客按怎样的规则排队等待;
    • 损失制 (消失制):顾客到达时所有服务台均被占用,顾客随机离去;
    • 等待制:顾客到达时所有服务台均被占用,顾客排队等待,直到接受完服务才离去;
    • 混合制:既有等待又有损失,有队列长度有限排队等待时间有限两种情况。
  • 服务过程
    • 先到先服务;
    • 后到先服务;
    • 随机服务;
    • 优先服务。

排队模型用六个符号表示: X / Y / Z / A / B / C X/Y/Z/A/B/C X/Y/Z/A/B/C

  • X X X 表示顾客到达流或顾客到达间隔时间分布;
  • Y Y Y 表示服务时间分布;
  • Z Z Z 表示服务台数目;
  • A A A 表示系统容量限制;
  • B B B 表示顾客源数目;
  • C C C 表示服务规则。

如略去后三项,即指 X / Y / Z / ∞ / ∞ / F C F S X/Y/Z/\infty/\infty/FCFS X/Y/Z///FCFS

基本模型

M/M/1

M/M/1 模型表示顾客到达的时间间隔和服务时间均服从指数分布,服务台数量为 1 的排队模型。

泊松流与指数分布

如何理解顾客到达时间和服务时间服从指数分布?

首先,当顾客到达时间符合如下条件时,可以看作泊松分布:

  • 将时间段无限分割成若干小的时间段,在每个接近于零的小时间段里,事件发生一次的概率与时间段的长度接近成正比;
  • 在这个极小时间段内,事件发生二次及以上的概率恒等于 0;
  • 事件在不同的时间段内发生与否相互独立。

推导过程如下:

  1. 在时间 T T T​ 内,有 k k k​ 个顾客到达,将 T T T​ 平均分为 n n n​ 个时间段,使得每个时间段内至多只有一个顾客到达,若每个时间段有顾客到达与否相互独立,则有二项分布 X ∼ B ( n , p ) X\sim B(n,p) XB(n,p)​,即
    P { X = k } = C n k p k ( 1 − p ) n − k , P\{X=k\}=C_n^kp^k(1-p)^{n-k}, P{X=k}=Cnkpk(1p)nk,
    其中 p p p 表示每个时间段有顾客到达的概率;

  2. 二项分布的期望为
    E ( X ) = n p = μ , E(X)=np=\mu, E(X)=np=μ,
    p = μ n p=\frac{\mu}{n} p=nμ

  3. 取时间段数量为无限,即令 n → ∞ n\to\infty n​​​,并设 λ = μ \lambda=\mu λ=μ,则有
    lim ⁡ n → ∞ C n k ( μ n ) k ( 1 − μ n ) n − k = λ k k ! e − λ , \lim_{n\to\infty}C_n^k(\frac{\mu}{n})^k(1-\frac{\mu}{n})^{n-k}=\frac{\lambda^k}{k!}e^{-\lambda}, nlimCnk(nμ)k(1nμ)nk=k!λkeλ,
    其中, k k k​ 即为总时间 T T T​ 内到达的顾客数, λ \lambda λ​​ 为 n p np np​,即平均到达的顾客数。

因此,若单位时间到达的顾客数为 λ \lambda λ,则 [ 0 , t ] [0,t] [0,t] 内到达的顾客数 X ( t ) X(t) X(t) 服从
P { X ( t ) = k } = ( λ t ) k k ! e − λ t . P\{X(t)=k\}=\frac{(\lambda t)^k}{k!}e^{-\lambda t}. P{X(t)=k}=k!(λt)keλt.
因此,如果下一个顾客到达时间间隔为 t t t​,即为 [ 0 , t ] [0,t] [0,t]​ 内的顾客数为 0,即
P { T > t } = P { X ( t ) = 0 } = e − λ t P\{T>t\}=P\{X(t)=0\}=e^{-\lambda t} P{T>t}=P{X(t)=0}=eλt
于是有
F ( t ) = P { T ≤ t } = { 1 − e − λ t , t ≥ 0 , 0 , t < 0. F(t)=P\{T\le t\}=\left\{\begin{aligned} &1-e^{-\lambda t},&t\ge0,\\ &0,&t<0. \end{aligned}\right. F(t)=P{Tt}={1eλt,0,t0,t<0.

f ( t ) = λ e − λ t , t > 0. f(t)=\lambda e^{-\lambda t},t>0. f(t)=λeλt,t>0.

即顾客到达时间间隔 t t t​​ 服从指数分布,其中 λ \lambda λ​ 为单位时间到达的顾客数。

顾客数分布计算

对于 M/M/1 模型,顾客到达时间间隔服从参数为 λ \lambda λ​ 的指数分布,服务时间服从参数为 μ \mu μ​ 的指数分布,服务台数量为 1。

即单位时间平均到达的顾客数 (到达率) 为 λ \lambda λ​​​,单位时间平均服务的顾客数 (服务率) 为 μ \mu μ​​。

令状态 i i i​ 代表系统当前的顾客数为 i i i​,状态转移如下图

λ
λ
λ
λ
λ
μ
μ
μ
μ
μ
0
1
...
n-1
n
...

设系统平稳后顾客数为 n n n 的概率为 p n p_n pn

若系统平稳,则对于任一状态,都有单位时间内进入该状态和单位时间内离开该状态的顾客平均数相等,即

  • 状态 0: λ p 0 = μ p 1 , \lambda p_0=\mu p_1, λp0=μp1,

  • 状态 1: μ p 1 + λ p 1 = λ p 0 + μ p 2 , \mu p_1+\lambda p_1=\lambda p_0+\mu p_2, μp1+λp1=λp0+μp2,

  • 状态 n: μ p n + λ p n = λ p n − 1 + μ p n + 1 . \mu p_n+\lambda p_n=\lambda p_{n-1}+\mu p_{n+1}. μpn+λpn=λpn1+μpn+1.

而有 λ p 0 = μ p 1 \lambda p_0=\mu p_1 λp0=μp1​,因此状态 1 可化为
λ p 1 = μ p 2 , \lambda p_1=\mu p_2, λp1=μp2,
同理有
λ p n = μ p n + 1 , \lambda p_n=\mu p_{n+1}, λpn=μpn+1,

p n + 1 = λ μ p n = ( λ μ ) n + 1 p 0 , n = 0 , 1 , … p_{n+1}=\frac{\lambda}{\mu}p_n=(\frac{\lambda}{\mu})^{n+1}p_0,n=0,1,\dots pn+1=μλpn=(μλ)n+1p0,n=0,1,
因此 { p 0 , p 1 , … , p n , …   } \{p_0,p_1,\dots,p_n,\dots\} {p0,p1,,pn,} 构成首项为 p 0 p_0 p0,公比为 λ μ \frac{\lambda}{\mu} μλ​ 的等比数列。

由等比数列求和公式, { p 0 , p 1 , … , p n , …   } \{p_0,p_1,\dots,p_n,\dots\} {p0,p1,,pn,} 的和为
S = lim ⁡ n → ∞ S n S=\lim_{n\to\infty}S_n S=nlimSn

= lim ⁡ n → ∞ p 0 ( 1 − ( λ μ ) n ) 1 − λ μ = p 0 1 − λ μ . =\lim_{n\to\infty}\frac{p_0(1-(\frac{\lambda}{\mu})^n)}{1-\frac{\lambda}{\mu}}=\frac{p_0}{1-\frac{\lambda}{\mu}}. =nlim1μλp0(1(μλ)n)=1μλp0.

{ p 0 , p 1 , … , p n , …   } \{p_0,p_1,\dots,p_n,\dots\} {p0,p1,,pn,} 和为 1 (所有状态概率之和为 1),故
p 0 1 − λ μ = 1 , \frac{p_0}{1-\frac{\lambda}{\mu}}=1, 1μλp0=1,
记服务强度 ρ = λ μ \rho=\frac{\lambda}{\mu} ρ=μλ,则
p 0 = 1 − ρ , p_0=1-\rho, p0=1ρ,

p n = ( 1 − ρ ) ρ n , p_n=(1-\rho)\rho^n, pn=(1ρ)ρn,
因此系统中有 n 个顾客的概率为 ( 1 − ρ ) ρ n (1-\rho)\rho^n (1ρ)ρn

指标计算
  • 平均顾客数 (平均队长)

L s = ∑ n = 0 ∞ n p n = ρ 1 − ρ = λ μ − λ . L_s=\sum_{n=0}^\infty np_n=\frac{\rho}{1-\rho}=\frac{\lambda}{\mu-\lambda}. Ls=n=0npn=1ρρ=μλλ.

  • 平均排队长

L q = ∑ n = 0 ∞ ( n − 1 ) p n = L − ρ = λ 2 μ ( μ − λ ) . L_q=\sum_{n=0}^\infty (n-1)p_n=L-\rho=\frac{\lambda^2}{\mu(\mu-\lambda)}. Lq=n=0(n1)pn=Lρ=μ(μλ)λ2.

  • 平均逗留时间

对于逗留时间 T T T
P { T > t } = e − ( μ − λ ) t , t ≥ 0. P\{T>t\}=e^{-(\mu-\lambda)t},t\ge0. P{T>t}=e(μλ)t,t0.
故平均逗留时间即为期望
W s = 1 μ − λ . W_s=\frac{1}{\mu-\lambda}. Ws=μλ1.

  • 平均等待时间
    W q = W s = 1 μ = λ μ ( μ − λ ) . W_q=W_s=\frac{1}{\mu}=\frac{\lambda}{\mu(\mu-\lambda)}. Wq=Ws=μ1=μ(μλ)λ.

  • 平均忙期

平均忙期与平均闲期之比为
B ‾ I ‾ = ρ 1 − ρ , \frac{\overline{B}}{\overline{I}}=\frac{\rho}{1-\rho}, IB=1ρρ,
而闲期到有顾客到达的时间间隔服从参数为 λ \lambda λ 的指数分布,因此 I ‾ = 1 λ \overline{I}=\frac{1}{\lambda} I=λ1,故
B ‾ = 1 μ − λ . \overline{B}=\frac{1}{\mu-\lambda}. B=μλ1.

M/M/s

对于服务台为 s s s 的排队模型,其服务率 μ \mu μ 是变化的。记状态 i i i 的到达率为 λ i \lambda_i λi,服务率为 u i u_i ui
μ n = { n μ , n = 1 , 2 , … , s − 1 , s μ , O t h e r s . \mu_n=\left\{\begin{aligned} &n\mu,n=1,2,\dots,s-1,\\ &s\mu,Others. \end{aligned}\right. μn={nμ,n=1,2,,s1,sμ,Others.
其中 μ \mu μ​​ 代表一个服务台的服务率,同样构造平衡方程,记 ρ s = ρ s = λ s μ \rho_s=\frac{\rho}{s}=\frac{\lambda}{s\mu} ρs=sρ=sμλ​​​,于是
p n = { ρ n n ! p 0 , 0 ≤ n < s , ρ n s ! s n − s p 0 , n ≥ s . p_n=\left\{\begin{aligned} \frac{\rho^n}{n!}p_0,0\le n<s,\\ \frac{\rho^n}{s!s^{n-s}}p_0,n\ge s. \end{aligned}\right. pn=n!ρnp0,0n<s,s!snsρnp0,ns.
其中
p 0 = [ ∑ n = 0 s − 1 ρ n n ! + ρ s s ! ( 1 − ρ s ) ] − 1 . p_0=[\sum_{n=0}^{s-1}\frac{\rho^n}{n!}+\frac{\rho^s}{s!(1-\rho_s)}]^{-1}. p0=[n=0s1n!ρn+s!(1ρs)ρs]1.

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数学建模是一门重要而又有趣的学科,它是将数学的方法与现实问题相结合的过程。在进行数学建模的过程笔记的记录是非常重要的,可以帮助我们更好地理解问题、掌握建模方法,并且方便后期的复习和总结。 我想将我的数学建模笔记手写在CSDN上,主要出于以下几个原因。首先,手写笔记能够培养我对数学建模概念的理解和记忆能力。通过亲自动手书写数学模型、公式和解题步骤,我可以更好地掌握知识点,避免只是机械地复制粘贴或者直接照抄书的内容。 其次,通过手写笔记,我可以更好地记录自己在建模过程的思考和想法。数学建模是一个灵活而创造性的过程,每个人对问题的理解和解决方式不尽相同。在手写笔记,我可以更加自由地表达自己的思路和想法,将自己独特的见解与他人分享。 此外,手写笔记也可以提高我对数学建模问题的整体把握能力。在手写过程,我需要整理和提炼一些关键的概念和知识点,并将它们以更简洁、更清晰的方式呈现出来。这种整合和概括的过程可以帮助我更好地理解问题的本质和解决思路,并将其与其他相关知识进行联系,形成一个更完整的知识体系。 最后,将数学建模笔记手写在CSDN上,可以与其他同学和科研者进行交流与讨论。CSDN是一个专注于计算机科学与技术的知识分享平台,拥有众多对数学建模感兴趣的读者和作者。通过将自己的笔记分享在CSDN上,可以获得更多人的意见和建议,从而不断完善自己的建模能力。 总而言之,数学建模笔记的手写在CSDN上,不仅可以帮助我提升对数学建模的理解和记忆能力,还可以促进思考、整理和交流能力,对于提升自己的数学建模能力具有重要意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值