当前位置:
文档之家› 基于泊松过程的食堂排队问题分析
基于泊松过程的食堂排队问题分析
感谢李刚老师留的这个大作业,让我对排队论这个有难度但也很有实际意义的问题有了初步 的了解。
*
2
概率论与随机过程
1 导语
考虑若干同学在食堂排队购买麻辣香锅,对买香锅的同学计数服从参数为 λ 的泊松分布,每人只许买一份,买完就走。并行做香锅的厨师有 r 个,每位厨师任 何时刻只能做一份香锅,不同厨师做菜时间长度独立,且都服从参数为 µ 的负指 数分布。食堂给厨师薪水按 “小时工” 计算,每个单位时间酬劳 x 元。同学到达窗 口与厨师做菜两个事件相互独立。那并行厨师的数目设置为多少比较合适呢?可 以从同学和食堂两个角度来考察问题: • 从同学角度:希望并行厨师越多越好,节省时间; • 从食堂角度:希望控制厨师数量,考虑成本。 这实际上可以看作为这样一个优化问题: { } r = arg min G(r) = arg min A0 T (r) + M (x)r
第二次大作业
5
由此可以得到生灭过程的状态转移方程: µi Pi + λi Pi = µi+1 Pi+1 + λi−1 Pi−1 (2.6)
对应到我们所要讨论的排队系统,如果系统的输入过程和服务结束后的输出 过程是泊松完成,容易验证此时以系统内顾客数为状态的系统间状态转移满足生 灭过程。即本文在开始提出的问题可以建模为一个生灭过程,因此下面可以用生 灭过程状态转移方程计算系统处在各个状态的概率来分析该问题。
4 所以它的概率密度函数为:
概率论与随机过程
f (t) = λe−λt (t > 0)
(2.3)
即泊松过程两事件发生间隔 T 服从参数为 λ 的负指数分布,均值为 1/λ,即泊松 过程中两个事件到达的平均时间间隔为 1/λ [4] 。 在本问题中,假设了食堂厨师制作麻辣香锅的时间服从参数为 µ 的负指数分 布,也就是说每个同学 “接受服务” 的时间是负指数分布的。由于同学在接受完服 务后就会离开排队系统,一个同学接受服务的时间始于上一个同学离开排队系统、 止于该同学离开排队系统,这是以同学的离开为计数的时间间隔。也就是说,同 学买到麻辣香锅离开排队系统服从参数为 µ 的泊松分布。
2 排队模型与随机过程
解决此类问题需要首先明确排队问题的一些基本概念;随机过程是基本的分 析工具,这里主要用到了泊松 (Possion) 过程以及它的相关拓广。下面将结合本文 将要探讨的问题就以下预备知识进行简要介绍和回顾: • 泊松过程; • 生灭过程; • 排队问题与排队模型。
第二次大作业
3
2.1
r r
(1.1)
其中,G(r) = A0 T (r) + M (x)r, 为目标函数;r 为并行厨师的数量;T (r) 为并行厨 师数为 r 时同学买到香锅的平均时间;A0 是一个常值,可看作同学花费的平均时 间对目标函数的影响因子;M (x) 为每增加一个并行厨师所要付出的酬劳,与 x 相 关。这个优化问题的目标即为寻找 G(r) 取得最小值时 r 的取值。 我们试图运用一些排队论的基本概念和随机过程的相关知识对排队过程中不 同并行厨师数时同学的平均用时进行评估, 以期解决上述的优化问题。 同时和 Matlab 数值计算结合,针对不同的参数值,分析应该聘用多少位并行厨师。下面将首 先介绍一些解决此类问题的基本概念和理论。
第二次大作业
7
多队列,新到的同学自行选择排哪个队列,这实际上可以分为 r 个独立的 M /M /1 队列。经过分析可知,第一种排队方式即多服务员单队列的排队系统方案,其各 项运行指标都优于多队列的排队系统,见 [1] pg. 71-73。因此,在分析时,当并行 厨师超过 1 个时,我们采用多服务员单队列的排队系统方案,即排成一个大队列, 实际上,这种排队方式就是在银行、饭店等地方实行的取号排队方式。 简单起见,我们把问题建模为最基本的形式,即假设排队系统的输入过程和 输出过程都为齐次泊松过程,输入率 λ 和服务率 µ 都是不随时间变化的常数(即 λi = λ, µi = µ) ,排队系统能够处于稳定状态即 λ < µ,同学在排队过程中不会 中途离开排队系统,每个厨师也不会突然中止服务,排队时无插队现象出现等等, 即考虑最理想的情况。下面分别对 (1) 食堂购买麻辣香锅排队可以无限长;(2) 存 在最大队长限制 K 两种情况进行分析。
3.1
M /M /1/∞ Байду номын сангаас队系统
首先考虑最简单的情况:M /M /1/∞。买香锅的同学到达为参数 λ 的 Poisson
流,即相继到达的间隔时间序列独立、服从相同参数 λ 的负指数分布;厨师服务 时间序列独立、服从相同参数 µ 的负指数分布;系统中只有一个厨师,队列容量 为无穷大,且到达过程与服务过程相互独立。 用 Pi 表示队伍处于人数为 i 的状态的概率,当 λ/µ < 1 时,系统可以达到稳 态。在稳态下,有平衡方程: λP0 = µP1 (λ + µ)Pi = λPi−1 + µPi+1 , i≥1
2.3
排队问题与排队模型
排队问题来源于日常生活。当有限的资源数量与对资源的实际需求量不相符
时,便会出现排队现象,如食堂打饭、超市结账、医院就诊等等。我们从日常诸多 的排队现象中寻找共性,便抽象出了可供分析和研究的数学模型。我们主要从以 下几个方面探讨一个排队系统的性质: 1) 输入过程 输入过程描述的是到达排队系统的人数具有的数学特征,在本文所要探讨的问 题中,输入过程是一个泊松随机过程。 2) 服务过程 服务过程描述的是排队系统服务窗口具有的数学特征,在本文所要探讨的问题 中, 服务窗口是 1 个或者 r 个, 一个服务窗口一次只能对一个顾客进行服务, 服 务时间是随机的,它服从负指数分布。服务过程直接决定了系统的输出。 3) 排队规则 排队规则主要是对允许排队的条件和接收服务的次序进行的一种约定。例如, 排队系统中排队长度可以是无限长的,也可以规定一个长度的上限(达到上限 后不再有人数输入到排队系统中) ;排队系统中接受服务的次序可以是先来先 服务、后来先服务或者是随机服务等等。 综合以上三个方面,我们用记号 G1/G2/s/N 来表达一个排队系统的以上性 质。其中,G1 表征输入过程的分布,G2 表征服务过程的分布,s 表征服务窗口的 数量,N 表征排队系统的可以达到的最大长度。例如,M /M /n/∞ 表征的排队模 型输入为泊松过程,输出也为泊松过程,系统由 n 个窗口同时服务,排队队长无
(3.1)
依据以上状态转移方程和概率公式,可求得系统状态稳定时处于各个状态的概率 为 Pi = (1 − λ λ i )( ) , µ µ i = 0, 1, 2, . . . (3.2)
2.2
生灭过程
考虑一类状态离散、时间连续的 Markov 链,其在时间段 [t, t + ∆t] 内的转移
概率满足以下条件: λn (t)∆t + o(∆t), k = n + 1 P (X (t + ∆t) = k | X (t) = n) = µn (t)∆t + o(∆t), k = n − 1 o(∆t), |k − n| ≥ 2
(2.4)
其中 λn (t) 和 µn (t) 的形式依赖于具体问题。通常称这类过程为生灭过程 (Birthdeath processes) [4] 。 生灭过程是一种特殊的马尔可夫过程。 考虑其次生灭过程, 此时, λn (t) 和 µn (t) 满足 λn (t) = λn , µn (t) = µn (2.5)
6 限制。
概率论与随机过程
建立排队系统的模型是为了对实际排队问题进行分析,因此我们主要从以下 几个方面来评价排队系统的性能: 1) 系统内的平均顾客数 L; 2) 系统内的平均排队长度 LQ ; 3) 系统内平均正在接收服务的顾客数 LS ,显然有 L − LQ = LS ; 4) 顾客在系统中的平均花费时间 W ; 5) 顾客在系统中的平均排队时间 WQ ; 6) 顾客平均接收服务时间 τ ,显然有 W − WQ = τ ; 7) 服务窗口繁忙的平均时间和概率; 8) 系统损失概率即队长满员概率 Ploss ; ······ 本文的问题是找到优化问题 (1.1) 的解,需要考虑排队系统服务窗口数目对平 均用时之间的关系,即 T (r),故主要针对性能 (4) 和 (5) 进行讨论。 需要特别说明的,排队系统的平均队长和平均用时之间是有联系的。排队论 中有著名的 Little 公式(又称 “利特尔法则”) ,对应到本问题的表述为:如果一个 排队系统的输入、输出过程分别是参数为 λ 和 µ 的泊松过程,则有 L = λW LQ = λWQ
泊松过程
考虑一个计数过程,用 N (t) 表示在时间区间 [ 0, t ] 内到达事件的数目,用
Pn (t1 , t2 ) 表示在 [ t1 , t2 ] 事件计数为 n 的概率, 即 Pn (t1 , t2 ) = P (N (t2 ) − N (t1 ) ≤ n)。 如果计数过程 N (t) 满足下述条件: 1) N (0) = 0; 2) N (t) 是独立增量过程; 3) N (t) 是平稳增量过程; 4) 1 − P1 (t + ∆t, t) → 0, P1 (t + ∆t, t) ∆t → 0 ;
(2.7)
这个公式告诉我们服从泊松过程的排队系统的排队队长和排队用时呈简单的正比 关系,运用这个性质可以大大简化后续分析的计算量。
3 食堂排队问题理论分析
下面将运用前面介绍的数学工具和数学模型分析本文开始提出的食堂麻辣香 锅排队问题。当存在多个并行厨师时,事实上存在这两种排队方式。第一种为排成 一个大队列,多服务员单队列,并行厨师有空闲时先到的同学接受服务,可以建 模为一个 M /M /r 的排队模型;第二种为每个并行厨师前排一个队列,多服务员
则称其为 Poisson 过程 [4] 。 运用以上泊松过程的定义,可以得到任意时刻泊松过程的分布为: Pn (t) = (λt)n −λt e , n = 0, 1, 2, . . . , t > 0. n! (2.1)