本文已参与「新人创作礼」活动,一起开启掘金创作之路
读书使人充实,讨论使人机智,笔记使人准确...。凡有所学,皆成性格。
———— (英国)培根
排队论模型-----基本模型与LINGO求解
排队论又称随机服务系统, 它应用于一切服务系统, 包括生产管理系统、 通信系统、 交通系统、 计算机存储系统。 现实生活中如排队买票、 病人排队就诊、 轮船进港、 高速路上汽车排队通过收费站、 机器等待修理等等都属于排队论问题。 在历年数模竞赛中, 排队论模型应用的全国数模竞赛中2009B的眼科病床的合理安排问题, 美国数模竞赛中2005B收费站最佳配置问题, 2017D机场安检问题。本部分内容分为三部分: 排队论基本构成与指标, 排队论的四种重要模型, 排队论的计算机模拟。
排队论基本构成与指标
==排队论的基本构成==
- 输入过程。
输入过程是描述顾客是按照怎样的规律到达排队系统。 包括
①顾客总体: 顾客的来源是有限的还是无限的。
②到达的类型: 顾客到达是单个到达还是成批到达。
③相继顾客到达的时间间隔: 通常假定相互独立同分布, 有的是等间
隔到达 , 有的是服从负指数分布, 有的是服从k阶Erlang分布。
- 排队规则
排队规则指顾客按怎样的规定的次序接受服务。 常见的有等待制, 损
失制, 混合制, 闭合制。
- 服务机构
服务机构主要包括: 服务台的数量; 服务时间服从的分布。 常见的有定长分布、 负
指数分布、 几何分布等。
==排队系统的数量指标==
-
队长与等待队长
队长(记为Ls)是指系统中的平均顾客数(包括正在接受服务的顾客)。
等待队长(记为Lq)指系统中处于等待的顾客的数量。
队长等于等待队长加上正在服务的顾客数
-
等待时间
等待时间包括顾客的平均逗留时间(记为Ws)
平均等待时间 (记为Wq)
顾客的平均逗留时间,是指顾客进入系统到离开系统这段时间,包括等待时间和接受服务的时间。
-
忙期
从顾客到达空闲的系统, 服务立即开始, 直到再次变为空闲, 这段时间
是系统连续繁忙的时期, 称之为系统的忙期。
服务强度=忙期/服务总时间=1─闲期/服务总时间
==排队论中的符号表示==
排队论中的记号是20世纪50年代初由D.G.Kendall引入的, 由3~5个字母组成, 形式为: A/B/C/n
A表示输入过程, B代表服务时间, C代表服务台数量, n表示系统容量。
- (1) M/M/S/∞表示输入过程是Poisson流, 服务时间服从负指数分布, 系
统有S个服务台平行服务, 系统容量为无穷大的等待制排队系统。
- (2) M/G/S/∞表示输入过程是Poisson流, 服务时间服从一般概率分布, 系
统有S个服务台平行服务, 系统容量为无穷大的等待制排队系统。
- (3)D/M/S/K表示顾客相继到达时间间隔独立、 服从定长分布, 服务时间服
从负指数分布,系统S个服务台平行服务,系统容量K个的混合制系统。
- (4) M/M/S/S表示输入过程是Poisson流, 服务时间服从负指数分布, 系
统有S个服务台平行服务, 顾客到达后不等待的损失制系统。
- (5)M/M/S/K/K表示输入过程是Poisson流, 服务时间服从负指数分布, 系
统S个服务台平行服务,系统容量和顾客容量都为K个的闭合制系统。
排队论中四种重要模型
等待制模型M/M/S/∞
该模型中顾客到达服从参数为λ的 Poisson分布,
在[0,t]时间内到达的顾客数X(t)服从的的分布为:
P{X(t)=k}=k!(λt)k⋅e−λt
其单位时间到达的顾客平均数为 λ,[0,t] 时间内到达的顾客平均数为 λt 。
顾客接受服务的时间服从负指数分布, 单位时间服务的顾客平均数为 μ, 服务时间的分布为:
f(t)={μe−μt0t>0
每个顾客接受服务的平均时间为 μ1 。
下面分别给出S=1和S>1的一些主要结果。
==只有一个服务台S=1情形==
当系设稳定状太下系统有 i 个顾客的概率为 pi(i=0,1,2,⋯) 。
p0 表示系统空闲的概率。则 ∑i=0∞pi=1pi≥0,i=1,2,⋯,K
平衡方程为: {λP0=μP1λPk−1+μPk+1=(λ+μ)Pkk=1,2,3,….
则系统没有顾客的概率为: p0=1−ρ=1−μλ
计算出稳定状态下系统有 n 个顾客的概率
pn=(1−ρ)ρnn=0,1,2,3⋯
其中 ρ=μλ 称为系统的服务强度
系统中顾客平均队长:
Ls=n=0∑∞n⋅pn=(1−ρ)n=0∑∞n⋅ρn=1−ρρ=μ−λλ
系统中顾客平均等待队长:
Lq=n=1∑∞(n−1)⋅pn=(1−ρ)n=1∑∞(n−1)⋅ρn=1−ρρ2=μ(μ−λ)λ2
系统中顾客平均逗留时间: Ws=μ−λ1
系统中顾客平均等待时间: Wq=μ−λ1−μ1=μ(μ−λ)λ
容易得到:
Ls=λWs,Lq=λWqWs=λLs,Wq=λLq
该公式称为Little公式。在其它排队论模型中依然适用。
==系统有多个服务台s>1情形==
当系设稳定状太下系统有 i 个顾客的概率为 pi(i=0,1,2,⋯) 。
p0 表示係统空闲的概率。则 ∑i=0∞pi=1pi≥0,i=1,2,⋯,K
平衡方程为:
⎩⎨⎧μP1=λP0(k+1)μPk+1+λPk−1=(λ+kμ)Pk1≤k≤s−1sμPk+1+λPk−1=(λ+sμ)Pkk≥s
系统中有 S 个服务台, 系统服务能力为 sμ, 服务强度为 ρ=sμλ 。
系统中顾客平均队长: Ls=sρ+s!(1−ρ)2(sρ)sρ⋅p0
其中 p0=[∑k=0s−1k!(sρ)k+s!(1−ρ)(sρ)s]−1, 表示服务台都空闲的概率。
系统中顾客的逗留时间为: Ws=λLs
系统中顾客的平均等待时间为: Wq=Ws−μ1
系统中顾客的平均等待队长为: Lq=λWq
==LINGO中的相关函数及相关参数计算公式==
(1) 顾客等待概率的公式: Pwait =@ peb (load,S)
其中 S 为服务台服务台个数, load 为系统到达的牫荷, 即 load=μλ 。
(2) 顾客的平均等待时间公式: Wq=Pwait S−loadT
其中 T 为顾客接受服务的平均时间, 有 T=μ1.
(3)系统中顾客的平均逗留时间 Ws=Wq+μ1
(4) 系统中顾客的的平均队长 Lt=λWs
(5) 系统中顾客的的平均等待队长 Lq=λWq
==问题1== 某机关接待室只有1名对外接待人员, 每天工作10小时, 来访人员和接待时间都是随机的。 设来访人员按照Poisson流到达, 到达速率为λ=8人/小时, 接待人员的服务速率为λ=9人/小时, 接待时间服从负指数分布。
(1) 计算来访人员的平均等待时间, 等候的平均人数。
(2) 若到达速率增大为λ=20人/小时, 每个接待人员的服务速率不变, 为使来访问人员平均等待时间不超过半小时, 最少应该配置几名接待人员。
解答:
(1) 该问题属于M/M/1/∞排队模型
S=1,λ=8,μ=9
需计算来访人员平均等待时间Wq,等候的平均人数Lq
LINGO程序为:
model:
lp=8;
u=9;
T=1/u;
load=lp/u;
S=1;
Pwait=@PEB(load,S);!等待概率;
W_q=Pwait*T/(S-load);!平均等待时间;
L_q=lp*W_q;!顾客的平均等待队长;
end
计算结果:
平均等待时间 Wq=0.89 小时=53分Wq,等待队长 Lq=7.1人
(2)该问题属于 M/M/S/∞ 排 minS 队模型的优化问题。 求最小的使,来访人员的 平均等待时间 Wq≤0.5 优化模型为: s.t. ⎩⎨⎧Pwait =@peb(load,S)load=λ/μT=1/μWq=Pwait S− load TLq=λWqWq≤0.5S∈N
实现的LINGO程序为:
model:
min=S;
lp=20;
u=9; !服务率;
T=1/u;
load=lp/u;
Pwait=@PEB(load,S);!接待人员的等待概率
W_q=Pwait*T/(S-load);!平均等待时间;
W_q<=0.5;
L_q=lp*W_q;!顾客的平均等待队长;
TT=W_q*60;
!S>=3;
@gin(S);
end
计算结果:
最少需要接待人员S=3人
来访人员等待概率为0.55
平均等待时间为 Wq=4.7分钟
平均等待队长为 Lq=1.58人
损失制模型M/M/S/S
M/M/S/S模型表示顾客到达人数服从Poisson分布, 单位时间到达率为 , 服务台服务
时间服从负指数分布, 单位时间服务平均人数为 。 当S个服务台被占用后, 顾客自动
离开, 不再等待。
我们给出LINGO中的有关函数及相关参数的计算公式
(1) 系统损失概率 Plost =@pel(load,S)
其中 S 为服务台个数, load 为系统到达的载荷, 即 load=μλ 。
(2) 单位时间内进入系统平均顾客数 λe=λ(1−Plost )
(3)系统中顾客的平均队长(系统在单位时间内占用服务台比值) Ls=μλe
(4) 系统中顾客的平均逗留时间(服务时间) Ws=μ1=T
(5)系统服务台的效率 η=sLs 在损失制排队模型中, 顾客平均等待时间 Wq=0,平均等待队长 Lq=0, 因为没有顾客等待。
==问题2== 某单位电话交换台有一部300门内线电话的总机, 已知上班时间有30%的内线分机平均每30分钟要一次外线电话, 70%的分机每隔70分钟时要一次外线电话。 又知从外单位打来的电话的呼唤率平均30秒一次, 设与外线的平均通话时间为3分钟, 以上时间都服从负指数分布。 如果要求外线电话接通率为95%以上, 问电话交换台应设置多少外线?
解: 电话交换台服务分为两部分,
一类是内线打外线, 一类是外线打内线。
内线打外线的服务强度(每小时通话平均次数)(到达率)
λ1=(3060×30%+7060×70%)×300=1.2×300=360
外线打内线的服务强度(到达率) λ2=0.560=120
总强度为 λ=λ1+λ2=360+120=480
电话平均服务时间为 T=603=0.05 小时,服务率 μ=360=20 个
对该问题, 目标求最小电话交换台数S,使顾客(外线电话)损失率不超过5%, 即
Plost ≤5
建立的优化模型为:
minPlost =@pel(load,S)load=μλPlost ≤0.05λe=λ(1−Plost )Ls=λ/μη=Ls/SS∈N
LINGO程序为:
model:
min=S;
lp=480;!每小时平均到达电话数;
u=20; !服务率;
load=lp/u;
Plost=@PEL(load,S);!损失率;
Plost<=0.05;
lpe=lp*(1-Plost);
L_s=lpe/u;!顾客的平均队长;
eta=L_s/S; !系统服务台的效率;
@gin(S);
end
计算结果为:
最小的电话交换台为S=30
电话损失率为P=0.04
实际进入系统的电话平均为A=460.7
平均队长 L=23.037
系统服务台的效率刀 η=0.768