7.4 系 统 模 拟
一,模拟模型的思想方法类似于第二章中的渡口模型与穿越公路模型可采用系统模拟技术。
例 7.4.1 如图,一列火车从 A站开往 B站,某人人每天赶往 B站上这趟火车。
A B
运行方向他已了解到:
1)火车从 A站到 B站的运行时间是均值为 30
分钟,标准差为 2分钟的随机变量;
2)火车在下午大约 1点离开 A站,离开时刻的频率分布如下:
出发时刻 午后 1:00 午后 1:05 午后 1:10
频 率 0.7 0.2 0.1
他到达 B 站的时刻的频率分布为时刻 午后 1:28 午后 1:30 午后 1:32 午后 1:34
频率 0.3 0.4 0.2 0.1
他能否及时赶上火车? 含混!
明确为:他能及时赶上火车的概率是多少?
试一试1,此问题 可用概率论知识求解。2,采用模拟求解法。
先模拟并计算:在同样条件下多次试验,他能及时赶上火车的比例是多少?
能及时赶上火车的充要条件是,T3< T1+ T2
其中
T1— 火车从 A站出发的时刻;
T2— 火车的运行时间;
T3— 他到达 B站的时刻。
是什么变量?
如何模拟?
假设 T1,T2,T3都是随机变量,且将午后 1时记为 t=0,设火车运行时间 T2 服从正态分布 N( 30,22)。
T1和 T3的分布律分别为:
T1(分) 0 5 10
P(t) 0.7 0.2 0.1
T2(分) 28 30 32 34
P(t) 0.3 0.4 0.2 0.1
模拟算法:
(1) 对 RND随机数 r1,r2令
302
)2c o s ()]l n (2[
2
2
2/1
1
xt
rrx?
服从 N(30,22)
的正态分布随机数
(2) 对 RND 随机数 r3,r4,令
.19.0,10;9.07.0,5;7.00,0
3
3
3
r
r
rt
1=
0.19.0,34;9.07.0,32;7.03.0,30;3.00,28
4
4
4
4
r
r
r
r
t3=
t1 和 t3 可看成 T1或 T3的观察值 。
取 4个 RND随机数,r1=0.890,r2=0.333,
r3=0.304,r4=0.491
可看作火车运行时间 T2的一个观察值 。
因 0.7< r1< 0.9,令 t1= 5( 分 );
因 0.3< r4< 0,7,令 t3= 30( 分 )。
令 x=[- 2ln(r2)]1/2cos( 2πr3) =- 0.5( 分 )
则 t2=2x+30=- 0.5× 22+30=29( 分 )
有 t3< t1+t2,这一次运行 (模拟 )结果表明他能及时 赶上火车。
一次模拟结果毫无意义!!
模拟是试验性的,
是思维结果的验证。
必须进行足够多次的模拟,并对结果进行统计分析。
系统模拟是研究系统,特别是 动态系统 的重要方法,对于:
1),结构复杂的系统;
2),很难用解析方法求出变量关系的系统;
3),内部机理不明的“黑箱”系统;
4),为验证用其他方法建立的模型及结果。
应是较好的选择。
二,排队系统简介动态系统是随时间变化的,含有随机因素的系统,其中 排队系统 是重要而常见的动态系统。
对排队系统进行模拟,首先要清楚它的运行机制。
1,排队过程的一般表示顾客源 排队结构服务机构顾客来到顾客离去排队系统
2.排队系统的组成和特征
(1) 输入过程对于顾客逐个到达随机性输入过程,
1) 顾客的到达是相互独立(或相互关联)的;
2) 输入过程是平稳的、对时间是齐次的 ;
指相继到达的时间间隔的分布和所含参数(均值、方差等)不随时间改变。
(2) 排队规则即时制 或 损失制 (如,普通市内电话) 。
等待制先到先服务 ( FIFO)
后到先服务 ( LIFO)
随机服务 ( KS)
有优先权的服务队列 单列多列(各列间不能相互转移)
不能中途退出
(3)服务机构
1) 排队方式,
单队 — 单服务台多服务台(串列)
1
1 2 n…
1
2
n
…
单队 —
多服务台
(并列)
2) 服务时间,确定型 的与 随机型 的排队论讨论 相继到达时间 和 服务时间,二者中至少有一个是随机型的。
随机服务时间的分布中数学期望、方差等参数都不受时间的影响。
3.排队模型的分类三个主要特征顾客相继到达间隔时间的分布 (X);
服务时间的分布 (Y) ;
服务台个数 (Z) 。
用符号 X/Y/Z 表示排队模型的类别 。
M— 指数分布 ( Markov性 );
D— 确定型 ( Deterministic) ;
EK— K阶爱尔朗分布 ( Erlang) ;
GI— 一般相互独立 (General Independent)的随机分布;
G— 一般( General) 随机分布。
例 7.4.1
M/M/1,到达间隔时间服从指数分布,服务时间服从指数分布,单服务台;
M/M/C,间隔时间和服务时间都服从指数分布,
C个平行服务台(顾客仅一列);
CI/G/1,单服务台,有一般分布的相互独立的间隔时间和一般随机服务时间。
4,间隔时间和服务时间的分布 三种常用的理论分布5,排队系统的主要研究指标
1) 队长,在系统中的顾客数(平均值记为 LS) ;
排队长 (队列长):在系统中排队等待服务的顾客数 ( LQ)。
例 7.4.2 一个理发店内有两位服务员 A和 B,
顾客们随机到达店内,其中 60%的顾客仅需剪发,每位花 5分钟时间,另外的 40%顾客既要剪发又要洗发,每位花费时间 8分钟。
理发店是一个动态随机系统,分析系统的运行效率 。
三,动态系统模拟实例及模拟方法结合实例介绍随机动态系统的模拟的方法
2) 逗留时间,顾客在系统中的停留时间 (WS);
等待时间,一个顾客在系统中的排队停留时间 (WQ)。
( 3) 忙期 ( Busy Period),服务机构一次连续工作的时间长度(反映服务员的工作强度)。
(1)系统状态(变量),在任意时刻,为描述系统需要的含有全部信息的变量集合。
例中有三个状态变量:
1).等待服务的顾客数;
2),A是否正在服务(是或否);
3),B是否正在服务。
(2) 实体,需要明确描述的系统对象或组成部分 。
实体是系统的可分离部分,或许是系统的永久部分,如服务员、设备装置等。或许可进入和退出系统。
1,系统模拟的部分术语例如商店的顾客,港口的轮船,或发往电力调度系统的一条指令。 本例中的实体?
(3) 事件,使系统状态发生变化的瞬时现象。
如 例中事件:
一名新顾客的到达; A开始服务;
A结束服务; B开始服务; B结束服务。 …
(4)活动,两个事件间的持续时间。 常数或随机变量例中有下述活动:
1) 顾客排队时间,即顾客到达至接受服务的持续时间;
2) 顾客们到达的间隔时间;
3) A的服务时间和 B的服务时间。
注,事件在时间轴上占据一个点,而活动则占据时间轴上的一段。
到达间隔时间排队时间 服务时间通常是具有某种分布的随机变量(5) 特征(属性),给定实体的性质。
例如一条指令的长短,卡车是满载还是空载 。
在模拟中实体的特征可以保持不变,也可以改变 ;
一个实体可能有多种特征。
例中每个顾客只有一个特征:需要服务的种类。
还可以考虑顾客的其他特征,如性别,是否有优先权等等。
时间步长法面向事件法
( 1)时间步长法(固定时间增量法)
人们去考察某一对象系统的状态和活动变化过程时,通常总是随时间的进程来逐步考察和分析。
基本步骤 为:
1)选取对象系统的一个初始起点作为模拟时钟的零点 ;
2)选定一个合适的时间步长。
2,动态系统模拟的两种方法
3) 从模拟时钟的零点开始,每推进一个时间步长:
对系统的活动和状态按照预定的规则和目的进行考察,分析,计算,记录直到预定模拟结束时刻为止。
0
Δt
t
结束时刻续例 7.4.2 一个理发店内有两位服务员 A和 B,
顾客们随机到达店内,其中 60%的顾客仅需剪发,每位花 5分钟时间,另外的 40%顾客既要剪发又要洗发,每位花费时间 8分钟。
*1 任一分钟内到达一位顾客的概率 p=0.5。
模拟的假定条件:
概率 p 可以是
(0,1)上的任意实数。
*2 同一分钟内不会有一个以上顾客到达 。
如果观察到一分钟内有一位以上顾客来到,就应将时间步长取得更短一些。
*3 如果店里两名服务员都空闲,则由顾客随意选择一位服务员。
*4 先到先服务 (FIFO) 的排队规则 。
*5 顾客都会耐心等待服务,而且服务员都不能休息。
用时间步长法对理发店系统进行模拟。
通过假设进一步明确理发店系统的运行,为模拟工作做好准备。
对理发店系统进行了部分简化,是一种理想化的模拟。基于解决实际问题的目标,在模拟模型中可以考虑更复杂的情形。
根据假设模拟变量处理如下
1)取时间步长 Δt=1(分钟 ),在任一分钟内有一名顾客到达的概率是 0.5;
2)每位顾客服务时间取为两类顾客的平均服务时间,5× 0.6+ 8× 0.4= 6.2(分) 。
模拟过程时间步长法自然易理解,但需加快模拟速度。
( 2)面向事件法(可变时间增量法)
采用不等时间间隔步长的,仅在人们关心的事件发生的时间点上考察系统的状态变化,从而加快模拟的求解过程。
基本思想,对对象系统的一系列不同性质的事件,按照发生时间的先后顺序逐个进行考察。
0 t
模拟方法,编制计算机程序时设置一面“模拟钟”,当有一个事件发生时,才向前走一步,
模拟钟走过一步后,自动地寻找下一个最先使系统状态发生变化的事件。
时间是可变的停止模拟过程的两种方式:
事先规定运行时间 ;
设置为某个特定事件发生 ;
两种模拟方法的比较:
1.如果一个系统的事件出现无明显的规律,常采用 面向事件法,可以节约计算机运算时间。
2.如果对象系统中事件发生得非常频繁,而且具有一定的规律,为获取较多的信息,可采用时间步长法。
模拟思路必须清晰,对模拟的系统对象的运行机制、
模拟变量做到心中有数。
3.系统运行机制的描述
(1) 列出实体、实体特征、状态,活动,
*需明确模拟的实体以及允许并行的实体个数;
*对每个活动写出初始状态,活动的持续时间;
*写出模拟的初始状态和结束时间(或结束状态 )
例,理发店系统,系统的有关模拟变量、因素如下:
实体,顾客 (特征,P(单剪 )=0.6; P(洗和剪 )=0.4),
服务员 A,服务员 B。
活动,到达间隔时间 (指数分布,均值为 3分钟 );
队列 (队长无限制),
A的服务时间 (剪发 5分钟;洗和剪 8分钟 );
B的服务时间 (剪发 5分钟;洗和剪 8分钟 );
事件,顾客到达,A开始服务,A结束服务,
B开始服务,B结束服务。
初始状态,队长 =0; A空闲,B空闲。
第十个顾客到达。结束状态:
注,采用面向事件法时,应重点考虑 活动,即两件事件之间的持续时间 。
(2) 写出系统的运转规则 。
对系统的排队规则或其他运转规则给出明确说明,
1)在理发店系统中规定顾客的排队规则是 FIFO;
2)任何人无优先权 ;
3)第一名顾客一定接受 A服务员的服务。
1)画出模拟过程的流程图流程图显示模拟必须遵循的路径,能帮助编写计算机程序,(P102图 6.9是理发店系统的模拟流程图 )。
2)产生随机数进行模拟按照需要产生一系列 RND随机数 r1,r2,…,rn,
用来模拟系统的事件和活动。
注意,不能重复使用同一个随机数。
4.模拟准备工作分析与问题思考:
1.模拟模型中用指数分布随机变量模拟顾客的到达间隔时间,能否用其他随机分布?
2.为顾客的服务时间由理发方式确定为两个常数,若服务时间是随机变量如何模拟?
一,模拟模型的思想方法类似于第二章中的渡口模型与穿越公路模型可采用系统模拟技术。
例 7.4.1 如图,一列火车从 A站开往 B站,某人人每天赶往 B站上这趟火车。
A B
运行方向他已了解到:
1)火车从 A站到 B站的运行时间是均值为 30
分钟,标准差为 2分钟的随机变量;
2)火车在下午大约 1点离开 A站,离开时刻的频率分布如下:
出发时刻 午后 1:00 午后 1:05 午后 1:10
频 率 0.7 0.2 0.1
他到达 B 站的时刻的频率分布为时刻 午后 1:28 午后 1:30 午后 1:32 午后 1:34
频率 0.3 0.4 0.2 0.1
他能否及时赶上火车? 含混!
明确为:他能及时赶上火车的概率是多少?
试一试1,此问题 可用概率论知识求解。2,采用模拟求解法。
先模拟并计算:在同样条件下多次试验,他能及时赶上火车的比例是多少?
能及时赶上火车的充要条件是,T3< T1+ T2
其中
T1— 火车从 A站出发的时刻;
T2— 火车的运行时间;
T3— 他到达 B站的时刻。
是什么变量?
如何模拟?
假设 T1,T2,T3都是随机变量,且将午后 1时记为 t=0,设火车运行时间 T2 服从正态分布 N( 30,22)。
T1和 T3的分布律分别为:
T1(分) 0 5 10
P(t) 0.7 0.2 0.1
T2(分) 28 30 32 34
P(t) 0.3 0.4 0.2 0.1
模拟算法:
(1) 对 RND随机数 r1,r2令
302
)2c o s ()]l n (2[
2
2
2/1
1
xt
rrx?
服从 N(30,22)
的正态分布随机数
(2) 对 RND 随机数 r3,r4,令
.19.0,10;9.07.0,5;7.00,0
3
3
3
r
r
rt
1=
0.19.0,34;9.07.0,32;7.03.0,30;3.00,28
4
4
4
4
r
r
r
r
t3=
t1 和 t3 可看成 T1或 T3的观察值 。
取 4个 RND随机数,r1=0.890,r2=0.333,
r3=0.304,r4=0.491
可看作火车运行时间 T2的一个观察值 。
因 0.7< r1< 0.9,令 t1= 5( 分 );
因 0.3< r4< 0,7,令 t3= 30( 分 )。
令 x=[- 2ln(r2)]1/2cos( 2πr3) =- 0.5( 分 )
则 t2=2x+30=- 0.5× 22+30=29( 分 )
有 t3< t1+t2,这一次运行 (模拟 )结果表明他能及时 赶上火车。
一次模拟结果毫无意义!!
模拟是试验性的,
是思维结果的验证。
必须进行足够多次的模拟,并对结果进行统计分析。
系统模拟是研究系统,特别是 动态系统 的重要方法,对于:
1),结构复杂的系统;
2),很难用解析方法求出变量关系的系统;
3),内部机理不明的“黑箱”系统;
4),为验证用其他方法建立的模型及结果。
应是较好的选择。
二,排队系统简介动态系统是随时间变化的,含有随机因素的系统,其中 排队系统 是重要而常见的动态系统。
对排队系统进行模拟,首先要清楚它的运行机制。
1,排队过程的一般表示顾客源 排队结构服务机构顾客来到顾客离去排队系统
2.排队系统的组成和特征
(1) 输入过程对于顾客逐个到达随机性输入过程,
1) 顾客的到达是相互独立(或相互关联)的;
2) 输入过程是平稳的、对时间是齐次的 ;
指相继到达的时间间隔的分布和所含参数(均值、方差等)不随时间改变。
(2) 排队规则即时制 或 损失制 (如,普通市内电话) 。
等待制先到先服务 ( FIFO)
后到先服务 ( LIFO)
随机服务 ( KS)
有优先权的服务队列 单列多列(各列间不能相互转移)
不能中途退出
(3)服务机构
1) 排队方式,
单队 — 单服务台多服务台(串列)
1
1 2 n…
1
2
n
…
单队 —
多服务台
(并列)
2) 服务时间,确定型 的与 随机型 的排队论讨论 相继到达时间 和 服务时间,二者中至少有一个是随机型的。
随机服务时间的分布中数学期望、方差等参数都不受时间的影响。
3.排队模型的分类三个主要特征顾客相继到达间隔时间的分布 (X);
服务时间的分布 (Y) ;
服务台个数 (Z) 。
用符号 X/Y/Z 表示排队模型的类别 。
M— 指数分布 ( Markov性 );
D— 确定型 ( Deterministic) ;
EK— K阶爱尔朗分布 ( Erlang) ;
GI— 一般相互独立 (General Independent)的随机分布;
G— 一般( General) 随机分布。
例 7.4.1
M/M/1,到达间隔时间服从指数分布,服务时间服从指数分布,单服务台;
M/M/C,间隔时间和服务时间都服从指数分布,
C个平行服务台(顾客仅一列);
CI/G/1,单服务台,有一般分布的相互独立的间隔时间和一般随机服务时间。
4,间隔时间和服务时间的分布 三种常用的理论分布5,排队系统的主要研究指标
1) 队长,在系统中的顾客数(平均值记为 LS) ;
排队长 (队列长):在系统中排队等待服务的顾客数 ( LQ)。
例 7.4.2 一个理发店内有两位服务员 A和 B,
顾客们随机到达店内,其中 60%的顾客仅需剪发,每位花 5分钟时间,另外的 40%顾客既要剪发又要洗发,每位花费时间 8分钟。
理发店是一个动态随机系统,分析系统的运行效率 。
三,动态系统模拟实例及模拟方法结合实例介绍随机动态系统的模拟的方法
2) 逗留时间,顾客在系统中的停留时间 (WS);
等待时间,一个顾客在系统中的排队停留时间 (WQ)。
( 3) 忙期 ( Busy Period),服务机构一次连续工作的时间长度(反映服务员的工作强度)。
(1)系统状态(变量),在任意时刻,为描述系统需要的含有全部信息的变量集合。
例中有三个状态变量:
1).等待服务的顾客数;
2),A是否正在服务(是或否);
3),B是否正在服务。
(2) 实体,需要明确描述的系统对象或组成部分 。
实体是系统的可分离部分,或许是系统的永久部分,如服务员、设备装置等。或许可进入和退出系统。
1,系统模拟的部分术语例如商店的顾客,港口的轮船,或发往电力调度系统的一条指令。 本例中的实体?
(3) 事件,使系统状态发生变化的瞬时现象。
如 例中事件:
一名新顾客的到达; A开始服务;
A结束服务; B开始服务; B结束服务。 …
(4)活动,两个事件间的持续时间。 常数或随机变量例中有下述活动:
1) 顾客排队时间,即顾客到达至接受服务的持续时间;
2) 顾客们到达的间隔时间;
3) A的服务时间和 B的服务时间。
注,事件在时间轴上占据一个点,而活动则占据时间轴上的一段。
到达间隔时间排队时间 服务时间通常是具有某种分布的随机变量(5) 特征(属性),给定实体的性质。
例如一条指令的长短,卡车是满载还是空载 。
在模拟中实体的特征可以保持不变,也可以改变 ;
一个实体可能有多种特征。
例中每个顾客只有一个特征:需要服务的种类。
还可以考虑顾客的其他特征,如性别,是否有优先权等等。
时间步长法面向事件法
( 1)时间步长法(固定时间增量法)
人们去考察某一对象系统的状态和活动变化过程时,通常总是随时间的进程来逐步考察和分析。
基本步骤 为:
1)选取对象系统的一个初始起点作为模拟时钟的零点 ;
2)选定一个合适的时间步长。
2,动态系统模拟的两种方法
3) 从模拟时钟的零点开始,每推进一个时间步长:
对系统的活动和状态按照预定的规则和目的进行考察,分析,计算,记录直到预定模拟结束时刻为止。
0
Δt
t
结束时刻续例 7.4.2 一个理发店内有两位服务员 A和 B,
顾客们随机到达店内,其中 60%的顾客仅需剪发,每位花 5分钟时间,另外的 40%顾客既要剪发又要洗发,每位花费时间 8分钟。
*1 任一分钟内到达一位顾客的概率 p=0.5。
模拟的假定条件:
概率 p 可以是
(0,1)上的任意实数。
*2 同一分钟内不会有一个以上顾客到达 。
如果观察到一分钟内有一位以上顾客来到,就应将时间步长取得更短一些。
*3 如果店里两名服务员都空闲,则由顾客随意选择一位服务员。
*4 先到先服务 (FIFO) 的排队规则 。
*5 顾客都会耐心等待服务,而且服务员都不能休息。
用时间步长法对理发店系统进行模拟。
通过假设进一步明确理发店系统的运行,为模拟工作做好准备。
对理发店系统进行了部分简化,是一种理想化的模拟。基于解决实际问题的目标,在模拟模型中可以考虑更复杂的情形。
根据假设模拟变量处理如下
1)取时间步长 Δt=1(分钟 ),在任一分钟内有一名顾客到达的概率是 0.5;
2)每位顾客服务时间取为两类顾客的平均服务时间,5× 0.6+ 8× 0.4= 6.2(分) 。
模拟过程时间步长法自然易理解,但需加快模拟速度。
( 2)面向事件法(可变时间增量法)
采用不等时间间隔步长的,仅在人们关心的事件发生的时间点上考察系统的状态变化,从而加快模拟的求解过程。
基本思想,对对象系统的一系列不同性质的事件,按照发生时间的先后顺序逐个进行考察。
0 t
模拟方法,编制计算机程序时设置一面“模拟钟”,当有一个事件发生时,才向前走一步,
模拟钟走过一步后,自动地寻找下一个最先使系统状态发生变化的事件。
时间是可变的停止模拟过程的两种方式:
事先规定运行时间 ;
设置为某个特定事件发生 ;
两种模拟方法的比较:
1.如果一个系统的事件出现无明显的规律,常采用 面向事件法,可以节约计算机运算时间。
2.如果对象系统中事件发生得非常频繁,而且具有一定的规律,为获取较多的信息,可采用时间步长法。
模拟思路必须清晰,对模拟的系统对象的运行机制、
模拟变量做到心中有数。
3.系统运行机制的描述
(1) 列出实体、实体特征、状态,活动,
*需明确模拟的实体以及允许并行的实体个数;
*对每个活动写出初始状态,活动的持续时间;
*写出模拟的初始状态和结束时间(或结束状态 )
例,理发店系统,系统的有关模拟变量、因素如下:
实体,顾客 (特征,P(单剪 )=0.6; P(洗和剪 )=0.4),
服务员 A,服务员 B。
活动,到达间隔时间 (指数分布,均值为 3分钟 );
队列 (队长无限制),
A的服务时间 (剪发 5分钟;洗和剪 8分钟 );
B的服务时间 (剪发 5分钟;洗和剪 8分钟 );
事件,顾客到达,A开始服务,A结束服务,
B开始服务,B结束服务。
初始状态,队长 =0; A空闲,B空闲。
第十个顾客到达。结束状态:
注,采用面向事件法时,应重点考虑 活动,即两件事件之间的持续时间 。
(2) 写出系统的运转规则 。
对系统的排队规则或其他运转规则给出明确说明,
1)在理发店系统中规定顾客的排队规则是 FIFO;
2)任何人无优先权 ;
3)第一名顾客一定接受 A服务员的服务。
1)画出模拟过程的流程图流程图显示模拟必须遵循的路径,能帮助编写计算机程序,(P102图 6.9是理发店系统的模拟流程图 )。
2)产生随机数进行模拟按照需要产生一系列 RND随机数 r1,r2,…,rn,
用来模拟系统的事件和活动。
注意,不能重复使用同一个随机数。
4.模拟准备工作分析与问题思考:
1.模拟模型中用指数分布随机变量模拟顾客的到达间隔时间,能否用其他随机分布?
2.为顾客的服务时间由理发方式确定为两个常数,若服务时间是随机变量如何模拟?