排队论算法++(含ppt)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
例:
某路由器的IP包t时刻进入缓存等待转发,等待时 间{W(t): t>0}是一个连续时间的连续随机过程 从时间0到t到达路由器的IP包个数{N(t): t>0}是一 个连续时间的离散随机过程 Xn表示一周7天中某一天某计算机启动的进程数, n∈{1,2,3,4,5,6,7}。{Xn}是一个离散时间的离散随 机过程。 Xn表示一周7天中某一天某计算机的工作时间, n∈{1,2,3,4,5,6,7}。{Xn}是一个离散时间的连续随 机变量。
26
一些定义 N(t) Nq(t) Ns(t) pn(t) pn L Lq W Wq 系统在时刻t的规模 队列在时刻t的规模 时刻t正在接受服务的客户数量 P[N(t)=n] 稳态pn(t),即limt→∞pn(t) ∞ 系统平均规模 L = E[ N ] = ∑ npn 队列平均规模
Lq = E[ N q ] = ∑ (n − c) pn
o( h) Pn (t + h) − Pn (t ) = −λ Pn (t ) + λ Pn −1 (t ) + 取h→0, lim h →0 h h dPn (t ) = −λ Pn (t ) + λ Pn −1 (t ) dt
初始条件 Pn (0) = 0 ,迭代求解得到
X ,Y Z
例:M/D/2/∞/FCFS,客户到达符合泊松过程; 固定服务时间;2个服务器;无限个等待位; First-come-first-serve 通常假定无限个等待位和FCFS,因此常用 A/B/X描述一个排队系统
比如,M/M/1,M/M/c,…,等等
23
排队系统常见的性能指标
客户等待时间
25
G/G/1和G/G/c上的一般性结论
单位时间λ个客户到达,一个服务器单位时间 能够服务µ个客户,客户到达时间间隔和服务 时间任意分布,1个或者c个服务器,无限等待 位。G/G/1或者G/G/c。 定义 ρ ≡ λ / cµ
ρ>1:客户不断累积,越来越多 ρ<1:排队系统达到平稳态,系统不随时间变化 ρ=1:除非客户到达和离开时间固定且匹配,否则 无稳态。
10
总结泊松过程
从时间0到时间t发生的事件个数是参数λt的泊松分 布 事件发生间隔{τn}是指数分布 泊松过程
11
例 某商店,假设顾客按照以下比例单个或者 成双到达,f(1)=p,f(2)=1-p。客户到达批次间 − λt 隔服从以下分布 a (t ) = λ e 证明时间[0,t)内累计到达的客户数量服从分布 n /2 n−2k k n−k p (1 − p ) (λt ) − λt pn (t ) = e ∑ (n − 2k )!k ! k =0
证明:对任意n和τ,下面两个事件等价 {τn>s},{N(tn-1+s)-N(tn-1)=0} 所以,P[τn>s]=P[N(tn-1+s)-N(tn-1)=0]=P[N(s)=0]=e-λs
P[τ n ≤ s ] = 1 − e − λ s , s ≥ 0
Βιβλιοθήκη Baidu
指数分布
9
定理: {N(t),t≥0}是一个计数过程,事件发 生间隔记为{τn}。如果{τn}为独立同分布的随 机变量,且服从参数λ的指数分布,则N(t)是 一个泊松过程。 证明:略
对于队列, Lq = λWq 这个结果适用于排队模型,与客户到达模式和 服务模式无关!
28
单服务器G/G/1排队系统
客户在系统时间=排队时间+服务时间 W = Wq + 1/ µ 正在接受服务的客户数
L − Lq = λ (W − Wq ) = λ (1/ µ ) = λ µ
单服务器,稳态下λ/µ不可能大于1。 µ 1
系统容量
客户不能立即获得服务时选择等待/离开 有限/无限个等待位
19
服务器数量
单个/多个服务器 多服务器多队列, 多服务器单队列
多服务器多队列
Server1
Customer
Queue
Server2
多服务器单队列
20
服务阶段
完整的服务由多个服务阶段(服务器)组成 可能有回路 比如:体检,产品生产过程(有回路)
一个计数过程{N(t), t≥0}如果满足以下条件,则被称 为参数λ的泊松过程
1.
2.
3. 4.
独立增量过程(即独立时间段上的事件发生的个数是独 立的) 平稳过程(在任意一段时间内发生的事件个数的分布是 不变的) 在一小段时间h内发生一个事件的概率为λh+o(h)。 在一小段时间h内发生多于一个事件的概率为o(h)
13
例 给定两个泊松过程,事件发生速率分别为λ1 ,λ2。从时间t=0开始,问首先观察到第一个 过程事件发生的概率。
假定过程1的第一个事件发生的时间是t1,过程2的 第一个事件发生的时间是t2。t1和t2是参数为λ1和λ2 的指数分布
P[t1 < t2 ] = ∫ (1 − e − λ1t2 )λ2 e − λ2t2 dt2
如果总共有n个客户,假设其中发生k次成对到达 ,n-2k次单个到达,分别可以用速率为(1-p)λ和pλ 的泊松过程表示。
12
k次成对到达,
pk (t ) = e − λ (1− p )t
((1 − p )λ t ) k k!
− λ pt n-2k次单个到达, pn − 2 k (t ) = e
( pλ t ) n − 2 k (n − 2k )!
4
例,伯努力过程
X1,X2,…是独立同分布的伯努力变量,成功的 概率为p。令Sn=X1+X2+…+Xn,即前n次伯努力实 验的成功次数,{Sn}是一个计数过程,被称为伯努 力过程。Sn的分布是二项分布。
n k n−k P[ Sn = k ] = p (1 − p) k
5
泊松过程
dP0 (t ) = −λ P0 (t ) dt
代入初始条件
P0 (0) = 1 ,得到
P0 (t ) = e
− λt
7
对时间t+h时n个事件发生的情况Pn(t+h),三种情况 1. 时间t时已经发生了n个事件, 2. 时间t时发生了n-1个事件,[t,t+h)这段时间发生了1个事件 3. 时间t 时发生了n-k个事件, [t,t+h)这段时间发生了k个事 件,k>1 Pn (t + h) = Pn (t )(1 − λ t − o(h)) + λ hPn −1 (t ) + o(h)
3
计数过程
令N(t)表示在时间段[0, t)内的某种事件发生的 次数。N(t)称为该事件的计数过程 计数过程。计数过程 计数过程 是一种随机过程。
事件:数据包到达路由器;顾客到达商店
性质:
1. 2. 3.
N(0)=0 N(t)非负 如果s<t,N(s)≤N(t),N(t)-N(s)是时间[s,t)内发生 的事件个数
k的取值范围从0到
n / 2
pn (t ) = = e − λt
n /2 k =0
e− λ (1− p )t ∑
((1 − p )λt ) k − λ pt ( pλ t ) n − 2 k ×e k! (n − 2k )!
n /2
∑
k =0
p n − 2 k (1 − p ) k (λt ) n − k (n − 2k )!k !
21
排队系统命名法则
一个排队系统表示为A/B/X/Y/Z
A:客户到达模式 B:服务模式 X:服务器数量 Y:等待位数量 Z:排队规则
22
符号 A、B
取值 M、D、Ek,Hk,PH, G 1,2,…,∞ FCFS,LCFS,RSS, PR,GD
解释 客户到达间隔/服务时间的概率分布, M表示指数分布(马尔科夫),G表 示任意分布,D表示固定值 服务器/等待位数量 先到先服务,先到后服务,随机, 优先级,任意
e − λ t (λ t ) n Pn (t ) = n!
8
定理: {N(t),t≥0}是一个速率为λ的泊松过程。令 0<t1<t2<t3<…为事件发生的一系列时间。定义事件发 生的间隔τ0=t1-0, τ1=t2-t1,τ2=t3-t2,…, τk=tk+1-tk, …。时间间隔{τi}是独立同分布的,服从参数为λ的 指数分布。
15
排队系统六要素
一个排队系统包括六 要素
客户到达模式 服务模式 排队规则 系统容量 服务器数量 服务阶段
16
排队系统六要素
客户到达模式
耐心客户/非耐心客户:中途离开? 客户到达时间间隔可以看作一个随机变量 用一个随机过程描述客户到达模式
例如:可以用一个泊松过程表示客户到达,到 达间隔服从指数分布
共c个服务器,平均λ/µ个客户接受服务,平均每个 服务器λ/cµ个客户,或者单位时间中λ/cµ服务器繁 忙
λ/µ很重要。定义ρ= λ/µ为一个排队系统的提交 提交 负载(offered load):服务器完成一个客户服 负载 务的时间平均到达的客户数量
同时,
L − Lq = ∑ npn − ∑ (n − 1) pn = ∑ pn = 1 − p0
n =1 n =1 n =1 ∞ ∞ ∞
所以服务器繁忙的概率为 pb=1-p0=λ/µ
29
多服务器G/G/c排队系统
每台服务器繁忙的概率为pb=λ/cµ W = Wq + 1/ µ
L − Lq = λ (W − Wq ) = λ (1/ µ ) = λ µ
客户在队列中等待的时间(Lq) 客户在整个排队系统中消耗的时间(L)=队列等待时 间+服务时间
客户在排队系统中的累积程度
等待队列中的客户数目(Nq) 整个排队系统中的客户数目(N)=等待队列客户数 目+正在接受服务的客户数目
24
空闲服务器
服务器空闲的时间比例
系统设计目标:提高服务器利用率,缩短客户 等待时间等等,目标往往是相互矛盾的
P0 (t + h) = P0 (t ) P[ N (t + h) − N (t ) = 0] = P0 (t )(1 − λ h + o(h))
P0 (t + h) − P0 (t ) o( h) = −λ P0 (t ) + h h
取h→0
o ( h) P0 (t + h) − P0 (t ) lim = −λ P0 (t ) + h →0 h h
0 ∞
= 1−
λ1 + λ2
λ2
=
λ1 + λ2
λ1
14
排队问题
排队随处可见
顾客在超市收银柜台排队 飞机在机场排队等待起飞 进程在操作系统排队等待调度 …
排队的原因:由于服务需求大于服务能力 规范用语
客户(Customer),请求并接受服务者,例如顾 客、飞机、进程、等等 服务器(Server),提供服务的设施,例如收银员 、机场跑道、CPU 、等等
平稳/非平稳(stationary)到达模式
例如:突发大批到达客户
17
服务模式
状态无关/状态相关:服务可以“换档” 服务时间可以看作一个随机变量
例如:可以用一个指数分布描述服务时间
平稳/非平稳( stationary )服务时间
例如:服务器可以学习,提高服务效率
18
排队规则
FCFS,LCFS,优先级 先占优先(Preemptive),非先占优先( Nonpreemptive )
o ( h) 注意 lim =0 h→0 h
6
λ被称为泊松过程的速率
定理:{N(t),t≥0}是一个速率为λ的泊松过程。Y表 示一段时间t>0内事件发生的个数,则 (λ t ) k − λt
P[Y = k ] = e k! , k = 0,1, 2,L 参数为λt的泊松分布
证明:定义 Pn (t ) = P[ N (t ) = n] ,
n =0
n =0 ∞
客户在系统内平均耗时
W = E[T ]
27
客户在队列中平均耗时 Wq = E[Tq ]
Little等式 (Little’s law)
Little等式(Little’s formula) L = λW 系统规模=客户达到率×客户在系统中消耗时 间
“系统”可以是整个排队系统,也可以是一个队 列
排队论及其应用
Lecture 2 随机过程 & 排队论初步
中国科学技术大学 计算机科学与技术学院
田 野
1
随机过程
随机变量X,分布函数不变 如果随机变量的分布函数随时间变化,对时间 T 集合T,得到一组随机变量,称之为随机过程 随机过程
如果时间集合T离散,如T={0,1,2,…},称为离散 离散 时间的随机过程,{Xn: n∈T} 时间的随机过程 如果时间集合T连续,称为连续时间的随机过程 连续时间的随机过程, 连续时间的随机过程 {X(t): t∈T} 如果Xn或者X(t)离散/连续,称这个随机过程离散 随机过程离散/ 随机过程离散 连续
例:
某路由器的IP包t时刻进入缓存等待转发,等待时 间{W(t): t>0}是一个连续时间的连续随机过程 从时间0到t到达路由器的IP包个数{N(t): t>0}是一 个连续时间的离散随机过程 Xn表示一周7天中某一天某计算机启动的进程数, n∈{1,2,3,4,5,6,7}。{Xn}是一个离散时间的离散随 机过程。 Xn表示一周7天中某一天某计算机的工作时间, n∈{1,2,3,4,5,6,7}。{Xn}是一个离散时间的连续随 机变量。
26
一些定义 N(t) Nq(t) Ns(t) pn(t) pn L Lq W Wq 系统在时刻t的规模 队列在时刻t的规模 时刻t正在接受服务的客户数量 P[N(t)=n] 稳态pn(t),即limt→∞pn(t) ∞ 系统平均规模 L = E[ N ] = ∑ npn 队列平均规模
Lq = E[ N q ] = ∑ (n − c) pn
o( h) Pn (t + h) − Pn (t ) = −λ Pn (t ) + λ Pn −1 (t ) + 取h→0, lim h →0 h h dPn (t ) = −λ Pn (t ) + λ Pn −1 (t ) dt
初始条件 Pn (0) = 0 ,迭代求解得到
X ,Y Z
例:M/D/2/∞/FCFS,客户到达符合泊松过程; 固定服务时间;2个服务器;无限个等待位; First-come-first-serve 通常假定无限个等待位和FCFS,因此常用 A/B/X描述一个排队系统
比如,M/M/1,M/M/c,…,等等
23
排队系统常见的性能指标
客户等待时间
25
G/G/1和G/G/c上的一般性结论
单位时间λ个客户到达,一个服务器单位时间 能够服务µ个客户,客户到达时间间隔和服务 时间任意分布,1个或者c个服务器,无限等待 位。G/G/1或者G/G/c。 定义 ρ ≡ λ / cµ
ρ>1:客户不断累积,越来越多 ρ<1:排队系统达到平稳态,系统不随时间变化 ρ=1:除非客户到达和离开时间固定且匹配,否则 无稳态。
10
总结泊松过程
从时间0到时间t发生的事件个数是参数λt的泊松分 布 事件发生间隔{τn}是指数分布 泊松过程
11
例 某商店,假设顾客按照以下比例单个或者 成双到达,f(1)=p,f(2)=1-p。客户到达批次间 − λt 隔服从以下分布 a (t ) = λ e 证明时间[0,t)内累计到达的客户数量服从分布 n /2 n−2k k n−k p (1 − p ) (λt ) − λt pn (t ) = e ∑ (n − 2k )!k ! k =0
证明:对任意n和τ,下面两个事件等价 {τn>s},{N(tn-1+s)-N(tn-1)=0} 所以,P[τn>s]=P[N(tn-1+s)-N(tn-1)=0]=P[N(s)=0]=e-λs
P[τ n ≤ s ] = 1 − e − λ s , s ≥ 0
Βιβλιοθήκη Baidu
指数分布
9
定理: {N(t),t≥0}是一个计数过程,事件发 生间隔记为{τn}。如果{τn}为独立同分布的随 机变量,且服从参数λ的指数分布,则N(t)是 一个泊松过程。 证明:略
对于队列, Lq = λWq 这个结果适用于排队模型,与客户到达模式和 服务模式无关!
28
单服务器G/G/1排队系统
客户在系统时间=排队时间+服务时间 W = Wq + 1/ µ 正在接受服务的客户数
L − Lq = λ (W − Wq ) = λ (1/ µ ) = λ µ
单服务器,稳态下λ/µ不可能大于1。 µ 1
系统容量
客户不能立即获得服务时选择等待/离开 有限/无限个等待位
19
服务器数量
单个/多个服务器 多服务器多队列, 多服务器单队列
多服务器多队列
Server1
Customer
Queue
Server2
多服务器单队列
20
服务阶段
完整的服务由多个服务阶段(服务器)组成 可能有回路 比如:体检,产品生产过程(有回路)
一个计数过程{N(t), t≥0}如果满足以下条件,则被称 为参数λ的泊松过程
1.
2.
3. 4.
独立增量过程(即独立时间段上的事件发生的个数是独 立的) 平稳过程(在任意一段时间内发生的事件个数的分布是 不变的) 在一小段时间h内发生一个事件的概率为λh+o(h)。 在一小段时间h内发生多于一个事件的概率为o(h)
13
例 给定两个泊松过程,事件发生速率分别为λ1 ,λ2。从时间t=0开始,问首先观察到第一个 过程事件发生的概率。
假定过程1的第一个事件发生的时间是t1,过程2的 第一个事件发生的时间是t2。t1和t2是参数为λ1和λ2 的指数分布
P[t1 < t2 ] = ∫ (1 − e − λ1t2 )λ2 e − λ2t2 dt2
如果总共有n个客户,假设其中发生k次成对到达 ,n-2k次单个到达,分别可以用速率为(1-p)λ和pλ 的泊松过程表示。
12
k次成对到达,
pk (t ) = e − λ (1− p )t
((1 − p )λ t ) k k!
− λ pt n-2k次单个到达, pn − 2 k (t ) = e
( pλ t ) n − 2 k (n − 2k )!
4
例,伯努力过程
X1,X2,…是独立同分布的伯努力变量,成功的 概率为p。令Sn=X1+X2+…+Xn,即前n次伯努力实 验的成功次数,{Sn}是一个计数过程,被称为伯努 力过程。Sn的分布是二项分布。
n k n−k P[ Sn = k ] = p (1 − p) k
5
泊松过程
dP0 (t ) = −λ P0 (t ) dt
代入初始条件
P0 (0) = 1 ,得到
P0 (t ) = e
− λt
7
对时间t+h时n个事件发生的情况Pn(t+h),三种情况 1. 时间t时已经发生了n个事件, 2. 时间t时发生了n-1个事件,[t,t+h)这段时间发生了1个事件 3. 时间t 时发生了n-k个事件, [t,t+h)这段时间发生了k个事 件,k>1 Pn (t + h) = Pn (t )(1 − λ t − o(h)) + λ hPn −1 (t ) + o(h)
3
计数过程
令N(t)表示在时间段[0, t)内的某种事件发生的 次数。N(t)称为该事件的计数过程 计数过程。计数过程 计数过程 是一种随机过程。
事件:数据包到达路由器;顾客到达商店
性质:
1. 2. 3.
N(0)=0 N(t)非负 如果s<t,N(s)≤N(t),N(t)-N(s)是时间[s,t)内发生 的事件个数
k的取值范围从0到
n / 2
pn (t ) = = e − λt
n /2 k =0
e− λ (1− p )t ∑
((1 − p )λt ) k − λ pt ( pλ t ) n − 2 k ×e k! (n − 2k )!
n /2
∑
k =0
p n − 2 k (1 − p ) k (λt ) n − k (n − 2k )!k !
21
排队系统命名法则
一个排队系统表示为A/B/X/Y/Z
A:客户到达模式 B:服务模式 X:服务器数量 Y:等待位数量 Z:排队规则
22
符号 A、B
取值 M、D、Ek,Hk,PH, G 1,2,…,∞ FCFS,LCFS,RSS, PR,GD
解释 客户到达间隔/服务时间的概率分布, M表示指数分布(马尔科夫),G表 示任意分布,D表示固定值 服务器/等待位数量 先到先服务,先到后服务,随机, 优先级,任意
e − λ t (λ t ) n Pn (t ) = n!
8
定理: {N(t),t≥0}是一个速率为λ的泊松过程。令 0<t1<t2<t3<…为事件发生的一系列时间。定义事件发 生的间隔τ0=t1-0, τ1=t2-t1,τ2=t3-t2,…, τk=tk+1-tk, …。时间间隔{τi}是独立同分布的,服从参数为λ的 指数分布。
15
排队系统六要素
一个排队系统包括六 要素
客户到达模式 服务模式 排队规则 系统容量 服务器数量 服务阶段
16
排队系统六要素
客户到达模式
耐心客户/非耐心客户:中途离开? 客户到达时间间隔可以看作一个随机变量 用一个随机过程描述客户到达模式
例如:可以用一个泊松过程表示客户到达,到 达间隔服从指数分布
共c个服务器,平均λ/µ个客户接受服务,平均每个 服务器λ/cµ个客户,或者单位时间中λ/cµ服务器繁 忙
λ/µ很重要。定义ρ= λ/µ为一个排队系统的提交 提交 负载(offered load):服务器完成一个客户服 负载 务的时间平均到达的客户数量
同时,
L − Lq = ∑ npn − ∑ (n − 1) pn = ∑ pn = 1 − p0
n =1 n =1 n =1 ∞ ∞ ∞
所以服务器繁忙的概率为 pb=1-p0=λ/µ
29
多服务器G/G/c排队系统
每台服务器繁忙的概率为pb=λ/cµ W = Wq + 1/ µ
L − Lq = λ (W − Wq ) = λ (1/ µ ) = λ µ
客户在队列中等待的时间(Lq) 客户在整个排队系统中消耗的时间(L)=队列等待时 间+服务时间
客户在排队系统中的累积程度
等待队列中的客户数目(Nq) 整个排队系统中的客户数目(N)=等待队列客户数 目+正在接受服务的客户数目
24
空闲服务器
服务器空闲的时间比例
系统设计目标:提高服务器利用率,缩短客户 等待时间等等,目标往往是相互矛盾的
P0 (t + h) = P0 (t ) P[ N (t + h) − N (t ) = 0] = P0 (t )(1 − λ h + o(h))
P0 (t + h) − P0 (t ) o( h) = −λ P0 (t ) + h h
取h→0
o ( h) P0 (t + h) − P0 (t ) lim = −λ P0 (t ) + h →0 h h
0 ∞
= 1−
λ1 + λ2
λ2
=
λ1 + λ2
λ1
14
排队问题
排队随处可见
顾客在超市收银柜台排队 飞机在机场排队等待起飞 进程在操作系统排队等待调度 …
排队的原因:由于服务需求大于服务能力 规范用语
客户(Customer),请求并接受服务者,例如顾 客、飞机、进程、等等 服务器(Server),提供服务的设施,例如收银员 、机场跑道、CPU 、等等
平稳/非平稳(stationary)到达模式
例如:突发大批到达客户
17
服务模式
状态无关/状态相关:服务可以“换档” 服务时间可以看作一个随机变量
例如:可以用一个指数分布描述服务时间
平稳/非平稳( stationary )服务时间
例如:服务器可以学习,提高服务效率
18
排队规则
FCFS,LCFS,优先级 先占优先(Preemptive),非先占优先( Nonpreemptive )
o ( h) 注意 lim =0 h→0 h
6
λ被称为泊松过程的速率
定理:{N(t),t≥0}是一个速率为λ的泊松过程。Y表 示一段时间t>0内事件发生的个数,则 (λ t ) k − λt
P[Y = k ] = e k! , k = 0,1, 2,L 参数为λt的泊松分布
证明:定义 Pn (t ) = P[ N (t ) = n] ,
n =0
n =0 ∞
客户在系统内平均耗时
W = E[T ]
27
客户在队列中平均耗时 Wq = E[Tq ]
Little等式 (Little’s law)
Little等式(Little’s formula) L = λW 系统规模=客户达到率×客户在系统中消耗时 间
“系统”可以是整个排队系统,也可以是一个队 列
排队论及其应用
Lecture 2 随机过程 & 排队论初步
中国科学技术大学 计算机科学与技术学院
田 野
1
随机过程
随机变量X,分布函数不变 如果随机变量的分布函数随时间变化,对时间 T 集合T,得到一组随机变量,称之为随机过程 随机过程
如果时间集合T离散,如T={0,1,2,…},称为离散 离散 时间的随机过程,{Xn: n∈T} 时间的随机过程 如果时间集合T连续,称为连续时间的随机过程 连续时间的随机过程, 连续时间的随机过程 {X(t): t∈T} 如果Xn或者X(t)离散/连续,称这个随机过程离散 随机过程离散/ 随机过程离散 连续