系统仿真原理及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2009-2010年第2学期
系统仿真原理及应用
教学内容
绪论
离散事件系统仿真
输入数据的分析
仿真结果与系统方案分
物流仿真软件介绍
学校:武汉科技学院
学院:机电工程学院
班级:工业工程071
姓名:
学号:
参考教材
•《物流系统仿真原理与应用》张晓萍主编.中国物资出版社,2005.
•《生产系统建模与仿真》孙小明编著.上海交通大学出版社,2006.
•《制造系统建模与仿真》
目录
第1讲绪论
系统仿真技术的发展历史
1.2 系统仿真的基本概念
系统仿真技术的特点
系统仿真的应用
系统仿真的相关技术
第2讲离散事件系统建模与仿真的基本原理 系统建模与仿真的基本步骤
离散事件系统建模的基本要素
建立系统模型的常用方法
离散事件系统仿真程序的基本结构
系统建模与仿真案例分析
第3讲输入数据的分析
简介
原始数据的收集
随机变量的识别
参数估计
拟合度检验
第4讲随机变量的产生
随机数的生成方法
随机数发生器的检验
随机变量的生成原理
典型随机变量的生成
第5讲排队系统的建模与仿真
⏹排队论的基本概念
排队系统的组成
到达模式服务机构排队规则
队列的度量
⏹排队模型的分类
⏹排队系统的分析
单服务台M/M/1模型
多服务台M/M/c模型
M/M/c和M/M/1模型比较
第6讲系统仿真算法
事件调度法
活动扫描法
进程交互法
第1讲绪论
1.1 系统仿真技术的发展历史
一、系统模型
系统模型——对实际系统进行简化和抽象、能够揭示系统元素之间关系和系统特征的相关元素实体。

•物理模型——根据相似准则缩小和简化的实际系统,对这样的物理模型进行实验研究,其结果可以近似推广到原系统。

存在的主要问题:
研究费用较为昂贵
试验是有限制的
需要花费大量的时间
数学模型
仿真模型
1952年美国成立仿真学会
美国的《21世纪制造业发展战略报告》中提出,2020年前世界制造业面临的6大挑
战和10大关键技术中,10大关键技术的第5项是“企业建模及仿真”。

20世纪40年代,冯·诺依曼正式提出了系统仿真的概念
世界先进国家的生产企业将生产仿真研究作为研究生产系统的一个重要手段,如英
特尔、戴尔、马士基等,在企业扩建和改造的前期、新产品生产的投入之前,都会运营计算机仿真技术对企业将要采用的生产系统进行仿真和预测,为生产系统的调度决策、生产能力预测、生产设备的合理匹配、生产线的效率提高提供量化依据,为生产系统的早日投入正常生产运行起到出谋划策的作用。

1.2 系统仿真的基本概念
一、系统、模型与仿真的关系
为开发新系统或分析、研究已有系统的性能特征,通常需要进行试验。

总体上,试验方法可以分为两类:
①直接以实际系统为对象进行试验;
②构造系统模型(model of system),通过对系统模的试验来了解和验证系统的性能指标。

基于模型的试验具有以下优点:
①新系统还处于开发阶段,尚没有可供试验的真实系统。

例如:新型飞机、汽车等新产品的研制等。

②对真实系统的试验可能会引起系统故障或破坏,给系统、环境、操作人员及其用户等带来危害或产生重大损失。

例如:采用新技术的火箭、卫星以及载人飞船的发射,电力系统、铁路机车调度系统的操作培训等
③为得到系统真实的性能指标,往往需要进行多次试验,使得基于实物的试验成本高、试验周期长。

④试验条件的一致性是保证试验结果的准确性和可信性的重要条件,基于实物的试验在此方面存在较大难度。

随着科学技术进步和系统复杂性的提高,基于模型的试验方法得到越来越广泛的应用。

建立系统模型是开展模型试验的前提条件,该过程称为系统
建模(system modeling)。

模型(model)是对实际或设计中系统的某种形式的抽象、
简化与描述,通过模型可以分析系统的结构、状态、动态
行为和能力。

系统模型可以分为:①物理模型②数学模型③物理-数学模型
物理模型(physical model)是采用特定的材料和工艺,根据相似性准则按一定比例制作的
系统模型,以便通过试验对系统的某些方面性能作出评估。

例如:研制新型飞机时,一般先要对按比例缩小的飞机模型进行风洞试验,以验证飞机的空气动力学性能;开发新型轮船时,一般先要在水池中对缩小的轮船模型进行试验,以了解轮船的各种性能;工程建设或发电站选址时需要建立沙盘模型;军事演习中采用沙盘模型完成推演;企业选址和车间布局时,利用模型进行评估与论证;建筑模型、城市规划模型等都属于物理模型…
数学模型(mathematical model)是采用符号、数学方程、数学函数或数据表格等方法定义系统各元素之间的关系和内在规律,再利用对数学模型的试验以获得现
实系统的性能特征和规律。

例如:国家或地区人口增长模型;经济增长预测模型;数控机床可靠性预计模型…
物理-数学模型(physical-mathematical model),也称为半物理模型(semi-physical model)。

它是一种混合模型,结合了物理模型和数学模型的优点。

例如:航空、航天仿真训练器;发电厂调度仿真训练器;铁路调度仿真训练器…
仿真(simulation)是通过对系统模型的试验,研究已存在的或设计中的系统性能的方法及其技术。

简单地说,仿真就是一种基于模型的活动。

仿真可以再现系统的状态、动态行为及性能特征,用于分析系统配置是否合理、性能是否满足要求,预测系统可能存在的缺陷,为系统设计提供决策支持和科学依据。

根据仿真模型的不同,仿真可以分为物理仿真、数学仿真以及物理-数学仿真。

系统、模型与仿真三者之间有着密切的联系。

其中,系统是要研究的对象,模型是系统在某种程度和层次上的抽象,而仿真是通过对模型的试验以便分析、评价和优化系统。

系统、模型与仿真三者之间的关系
随着计算数学的成熟和计算机技术的发展,人们越来越多地
通过数学模型并通过计算机仿真来分析和优化系统,形成了
计算机仿真(simulation based on computer)技术。

计算机仿真属于数学仿真,它的实质是仿真过程的数字化,
也称为数字化仿真(digital simulation)。

1.3 系统仿真技术的特点
仿真是分析、评价和优化系统性能的一种技术手段。

与运筹学(优化)模型等相比,仿真模型无需对系统作过多简化,能更真实地反映系统结构和性能特征。

优化模型通常仅给出优化结果,而仿真可以再现系统的动态运行过程。

目前,数字化仿真已广泛应用于产品开发和制造系统研制过程中,成为系统方案论证、规划设计、参数及性能优化研究的有效工具。

1.4 系统仿真的应用
1、系统仿真技术在制造系统中的作用:
(1)有利于提高产品及制造系统的开发质量
(2)有利于缩短产品的开发周期
(3)有利于降低产品及制造系统的开发成本
(4)可以完成复杂产品或系统的操作培训
2、系统仿真在物流中的作用
物流系统规划与设计
物料控制
物料运输调度
物流成本估算
物流系统进行可靠性分析
1.5 系统仿真的相关技术
•建模与仿真方法学
•仿真算法
•仿真软件
•仿真计算机/仿真器
•虚拟现实技术
•分布仿真技术

1.6 系统仿真的类型
根据模型的种类分类:物理仿真数学仿真半实物仿真
根据仿真时钟与实际时钟的比例关系分类:
•实时仿真
•亚实时仿真
•超实时仿真
根据系统模型的特性分类:
•连续事件系统仿真
•离散事件系统仿真
第2章离散事件系统建模与仿真的基本原理
2.1 系统建模与仿真的基本步骤
2.2 离散事件系统建模的基本要素
离散事件系统建模与仿真中的基本元素包括:
1.实体(entity):系统内的对象,构成系统模型的基本要素
临时实体(temporary entity )
永久实体(permanent entity )
2.属性(attribute):实体的状态和特性
3.状态(state):任一时刻,系统中所有实体的属性的集合
4.事件(event):引起系统状态变化的行为和起因,是系统状态变化的驱动力。

5.活动(activity):指两个事件之间的持续过程,它标志系统状态的转移。

6.进程(process):与某类实体相关的若干有序事件及活动组成,它描述了相关事件及活动之间的逻辑和时序关系。

7.仿真时钟(simulation clock):用于显示仿真时间的变化,是仿真模型运行时序的控制机
构。

(!!!仿真时钟是指所模拟的实际系统运行所需的时间,而不是指计算机执行仿真程序所需的时间。


常用的仿真时钟的推进机制:
①固定步长时间推进机制(fixed-increment time advance mechanism)
②变步长时间推进机制(variable-increment time advance mechanism)
8. 规则(rule):用于描述实体之间的逻辑关系和系统运行策略的逻辑语句和约定。

常用的规则:①先进先出(First In First Out,FIFO)②后进先出(Last In First Out,LIFO)
③加工或服务时间最短(shortest time)④按优先级(highest priority)
⑤随机(random)选择
2.3 离散事件系统建模的常用方法
建立系统模型是复杂的思维过程,它要求建模者具备扎实的专业知识,了解研究对象的结构、参数、运行和性能特征,还要求建模者掌握系统建模的基本方法,熟练应用相关的数学工具和方法。

系统建模要求建模者具备以下能力:
①对研究对象的分析和综合能力;②抽象和概括能力;③洞察和想象能力;
④运用数学工具分析问题的能力;⑤设计试验验证数学模型的能力。

系统建模常用的方法有:
①基于框图的系统逻辑建模方法(如流程程序图)
②基于Petri网技术的系统仿真建模方法逻辑上对系统可达到的状态、发生的冲突、
并发等现象进行理论分析
③基于系统结构重现的系统仿真建模方法。

2.4 离散事件系统仿真程序的基本结构
离散事件仿真程序中的子程序:
1.变量、实体属性和系统状态:用来记录系统在不同时刻所处的工作状况。

2.初始化子程序:在仿真模型开始运行前完成模型的初始化工作,产生必要的初试参数。

3.仿真时钟:用于记录仿真模型的运行时间,可作为评价系统性能的依据,也可作为仿真调度和仿真程序是否结束的依据。

4.事件列表:按事件按发生的先后顺序建立的数据列表,是仿真模型运行和仿真时钟推进的依据。

5.定时子程序:根据事件表确定下一个将发生的事件,并将仿真时钟推进到下次事件发生的时刻。

6.事件子程序:根据实际系统抽象出的事件程序。

7.仿真数据处理与分析子程序:用于计算、显示、分析和打印仿真结果,并为系统的优化和改进提供依据。

2.5 系统建模与仿真案例分析
连杆生产线瓶颈环节分析、改进和优化
连杆是汽车发动机的重要组成部分。

本案例中的连杆生产线主要由三台数控机床(一台数控铣床、两台数控车床)、两台钻床、一台磨床、一台自动测量、一个检验台和成品测量仪以及两个工作台等组成。

连杆生产线特点分析:
①各工位及设备之间具有串联关系。

当工件到达的速率大于工位的加工速率或某个工位
的加工速率较低时,工件将会出现排队现象。

②排队队列越长,工件等待时间就越长,工位和设备的利用率就会降低,生产线的效率
也随之下降。

③为减少排队等待现象、提高生产线的效率,要调整各工位及其设备的性能参数,使各
工位的节拍(cycle time)相同或相近。

④可以增加瓶颈工位设备的数量,形成并行工位。

但是,盲目地调整参数或增加设备会造成不仅会增加生产成本、造成设备闲置,还会形成新的瓶颈工位。

通过仿真可以寻找连杆生产线的最合理配置,使生产线的配置和生产效率不断优化。

造成系统效率低的原因分析:
(1)各工位的生产节拍相差较大;
(2)由于生产线的工位呈串联方式,前几个工位服务能力的不足导致了零件的等待和堵塞,也使得后续工位处于等待、空闲状态;
(3)检验台、数控机床1、数控机床2、自动测量仪等工位不能提供有效服务的能力,是该生产线的瓶颈工位。

改进措施:
为消除生产系统的瓶颈、提高系统的效率,将检验台的容量增加到3个、添加与数控机床1同型号的机床一台,另外增加一名操作工,以分担操作工1的任务,新操作工承担工件在物料传送带、检验台、新数控机床的工作,而操作工1只负责工件在数控机床1、数控机床2、自动监测仪和托盘1的操作,仿真模型中的其它参数和设置保持不变。

再次运行仿真模型,得到各实体的状态指标如表1-7所示。

与表1-5相比,由于在瓶颈位置增加了平行工位和资源,连杆在生产线中处于加工状态的比率大幅度增加,处于等待状
态的比率大幅下降。

显然,在调整系统设置后,生产线的性能得到很大改善。

对比两表可以发现:虽然生产线的效率得到改善,但工件在系统中的堵塞率并没有大的改变。

原因在于:工件到达模式不合理,进入系统的节拍与各工位的生产节拍不一致。

调整工件的到达模式,再次运行仿真模型,得到实体的性能指标如下表所示:
2.6 制造系统仿真的功能分析
根据仿真功能,可以将仿真技术在制造系统中的应用归结为“设计决策(design decision)”和“运行决策(operational decision)”两种类型。

“设计决策”关注制造系统结构、参数和配置的分析、规划设计与优化,它可以为下列问题的决策提供技术支持:
(1)在生产任务一定时,制造系统所需机床、设备、工具以及
操作人员的类型和数量。

(2)在配置给定的前提下,制造系统的生产能力、生产效率和
生产效益。

(3)加工设备或物料搬运系统的类型、结构和参数优化。

(4)缓冲区(buffer)及仓库容量的确定。

(5)企业及车间的最佳布局。

(6)生产线(装配线)的平衡分析及优化。

(7)企业或车间的瓶颈工位分析与改进。

(8)设备故障、统计及维修对系统性能的影响。

(9)优化产品销售体系,如配送中心选址、数量与规模等,降低销售成本。

“运行决策”关注制造系统运营过程中的生产计划、调度与控制,它可以为以下问题的决策提供技术支持:
(1)给定生产任务时,制定作业计划、安排作业班次。

(2)制定采购计划,使采购成本最低。

(3)优化车间生产控制及调度策略。

(4)企业制造资源的调度,以提高资源利用率,实现效益最大化。

(5)设备预防性维修周期的制定与优化。

第3章输入数据的分析
3.1 简介
离散事件系统仿真是在实际系统的仿真模型上进行数字试验,进行数字试验时首先需要获得实际系统运行的输入数据。

如:
简单排队系统中,顾客到达的时间间隔、服务时间等数据;
库存系统中,货物需求的数目、需求到达的实际等。

收集实际系统的数据,分析这些数据,并用这些数据建立数据模型,并且使得所建立的输入数据模型能够正确地反映数据的随机特征,是能否得到正确仿真结果的重要前提。

收集到实际系统数据后,可以以3种方法建立输入数据模型:
在仿真运行中直接使用收集到的数据
把收集到的数据定义为经验分布
将数据拟合为某种理论分布
输入收据分析步骤:
3.2 原始数据的收集
通过实际观测获得系统的输入数据;
由项目管理人员提供的实际系统运行数据;
从已经发表的研究成果、论文中收集类似系统的输入数据模型。

3.3 随机变量分布的识别
一、直方图
例:观测在7:00~7:05时间段内到达某十字路口西北拐角的车辆数目。

每周观测5天,连续观测20周,在5分钟内到达的车辆数目列于表中。

一、直方图法
常用随机变量分布函数
1. 均匀分布
若 X 的概率密度为:
则称X 在区间( a, b )上服从均匀分布,记作X ~ U (a , b )
2. 正态分布 若连续型 X 的概率密度为:
其中 μ和 σ(σ>0 )都是常数, 则称X 服从参数为 μ和 σ的正态分布或高斯分布.。

记作:X~N (μ,σ2

3. 指数分布
则称X 服从参数为θ>0的指数分布。

其分布函数为
4. 泊松(Poisson)分布P(λ) X ~P{X =k}=
!
k
e k λλ- , k =0, 1, 2, … (λ>0)
二、分布的假设
⎪⎩
⎪⎨⎧<<-= ,0,1
)(b x a a b x f ∞<<∞-=--x e x f x ,21)(2
22)(σμσ
π⎩⎨⎧≤>-0
,00
,)(x x e x f x θθ ⎩⎨
⎧≤>--0,00,1)(x x e x F x
θ
3.4 参数估计
• 样本均值
• 样本方差 统计变量的含义
理论分布的参数估计
例: 样本均差
样本方差
则,车辆达到数目服从泊松分布,其参数的估计值为:
3.5 拟合度检验(χ2检验)
χ2检验以下两个假设是否成立
• H0:随机变量X 满足假设的分布;
n
X
n X n
i i
∑==
1
)(1
)()(21
22--=
∑=n n X n X n S n
i i 90.4)100(,5.3ˆ2==S λ
5
.3)100(1
2==∑
=k
j j j X h X 90
.41
)100(2
1
22=--=∑=n X n X
S n
i i
• H1:随机变量X 不满足假设的分布。

如果假设被接受,那么被检验的随机变量就满足所假定的分布;否则,就不满足所假定的分布。

• 将n 个观测样本按数值大小分到k 个相邻区间[aj-1,aj )(j=1,2,… ,k )中,按照下式计
算统计量:
• 其中,N ——在第j 个区间中的观测样本数;
• pj ——按照假设的分布确定的样本在该区间中出现的概率。

离散泊松分布的概率函数为
• f=k-s-1 • 如果
,则H0假设被拒绝。

• 其中,k ——所划分区间的数目 ;s ——所假定的分布的参数数目;α——显著水平 (1-α)×100%——置信度。

随机变量的区间数目推荐值
检验统计量的计算过程
• 即检验统计量为:
自由度 f=k-s-1=7-1-1=5
• 查表可得关键值:
因此,在显著水平取0.05时,H0假设被拒绝,即样本数据服从所假定的泊松分布。

2
,20f αχχ>41
.820=χ1
.112
5,05.02,==χχαf
作业
为汽车银行建立仿真模型,需要观测汽车到达银行的时间间隔,建立汽车到达时间间隔的数据模型。

在90分钟内共观测到220辆汽车到达银行,得到了219个到达时间间隔。

将观测到的到达时间间隔数值和出现次数在下表中列出。

直方图
第4章随机变量的产生
4.1 随机数的生成方法
一、随机数的特性
随机数(random numbers)是随机变量的取样值,它是离散事件系统仿真的基础和必备的建模元素。

任何离散事件系统仿真程序或模型都必须具备能够产生指定分布的随机变量生成模块或子程序。

运行仿真程序或模型,当用户赋予某一随机变量以确定参数的分布时,仿真系统就调用和生成相应的随机变量,以便再现系统的随机特征。

其中,产生[0,1]区间上均匀分布的随机数是产生随机变量的基础,其它类型分布(如正态分布、γ分布、β分布、指数分布等)都是在[0,1]均匀分布的基础上通过一定变换实现的。

鉴于[0,1]区间均匀分布随机数在系统仿真中的重要性,通常将生成这种类型随机数的算法或程序称为随机数发生器(random number generator)。

仿真程序中的随机数序列必须具有以下统计特性:
①均匀性(uniformity):随机变量在其可能取值范围中任一区间出现的概率和此区间的大
小与可能值范围的比值成正比。

② 独立性(independence ):在某个区间内一个观测值发生的概率与先前已有的观测值结果无关。

仿真程序中常根据确定的递推公式近似地生成随机数。

这些随机数并不能严格地满足“均匀性”和“独立性”准则,不是真正的随机数,又能在某种程度上表现出随机性,常称之为伪随机数(pseudo random number )。

随机数发生器的评价指标: (1)随机性(randomness )(2)长周期(long period )(3)可再现性(reproducibility ) (4)高计算效率(high computational efficiency )
随机数发生器的设计
(1)中值平方法 (2)混合同余法(3)线性同余法(4)乘同余法(5)组合法
二、随机数发生器的设计 ① 混合同余法 式中,m 为模数(modulus ) a 为乘数(multiplier ) c 为增量(increment ) 其中,Z0为种子数,由上式产生一系列数Z1, Z2,…, Zi ;
令Ui =Zi /m 得到区间[0,1]上的随机数Ui (i =1,2,…) 混合同余法举例(m=24, a=13,c =17,Z0=5)
线性同余法的代码实现:
线性同余法的缺点:
)
)(mod (1m c aZ Z i i +=-
Ui并不是真正意义上的均匀分布随机数;当模数m较小时,Ui只能取到有限个数值。

为取得近似均匀分布的数值,m通常取得很大(如m≥109);由于Ui只能取到有限个数值,随机数发生器会出现周期性。

②线性同余法(当a=1时)
③乘同余法(当c=0时)
④取小数法
取小数法又可分为平方取小数法和开方取小数法。

平方取小数法:将前一次随机数平方后的数,取其小数点后第一个非零数字后面的尾数作为下一个所求的随机数。

开方取小数法:将前一次随机数开方后的数,取其小数点后第一个非零数字后面的尾数为下一所求随机数。

4.2 随机数发生器的检验
①参数检验:检验该随机分布的参数估计值与[0,1]均匀分布的参值(或称理论值)的差异是否显著。

②均匀性检验(频率检验):检查随机数序列u1,u2,…,un的实际频率与理论频率的差异是否显著。

③独立性检验:检查随机数序列u1,u2,…,un前后各项的统计相关是否显著。

4.3 随机变量的实现原理
如前所述,产生[0,1]区间上均匀分布的随机数是生成其它类型随机变量的基础。

随机变量生成算法应具备的特点:
①精确性(exactness):满足一定的精确度要求
②效率(efficient):占用内存小,执行时间短
③鲁棒性(robustness):健壮,适应
随机变量的生成算法:
①逆变法
逆变法生成连续随机变量原理图
例1:求服从指数分布的随机数
设μ为[0,1]均匀分布随机变量,则所求的变量为:
因为μ为[0,1]均匀分布随机变量,1-μ也是[0,1]均匀分布随机变量,上式可简化为:
例2:求服从如下分布密度函数f(x)的随机变量x
其分布函数为:
其反函数F-1(x )为:
随机数发生器产生[0,1]均匀分布随机数μ,则:
② 组合法 ③ 卷积法 ④ 取舍法
4.4 随机变量的生成
常用分布类型随机变量的实现:
∑∞
==1
)
()(j j j x F p x F m
X X X Y +++=L 21
第5章 排队系统的建模与仿真
5.1 排队论的基本概念
1918年,Erlang 提出排队论,并将它用于电话系统,其实质就是研究服务台与顾客之间的效率问题,希望服务台效率高,而顾客的等待时间又不太长。

排队论又称为随机服务理论。

在物流系统中,同样也会遇到排队问题。

如,货运中心的车辆、集装箱专用码头船舶及卡车的排队问题等。

5.1.1 排队系统的组成
一般的排队系统都有三个基本组成部分:
到达模式——动态实体到达系统的统计特性;
服务机构——同一时刻有多少服务设备可以接纳动态实体,其服务需要花费多少时
间;
排队规则——对下一个动态实体服务的选择原则。

5.1.2 到达模式
平均到达间隔时间
平均到达速度——
到达间隔时间的分布函数
到达时间变化系数——到达间隔时间的标准差 与平均到达间隔时间的比值 当
接近于1时,可用指数分布拟合观测数据; 当 远小于1时,用爱尔郎分布来拟合数据。

5.1.3 服务机构
平均服务时间
平均服务速度—— 服务时间的分布函数 服务时间变化系数——服务时间的标准差 与平均服务时间的比值。

多服务台排队方式
并列排队系统 ; 单队-多服务台排队系统; 串列排队系统; 组合式排队系统。

5.1.4 排队规则
系统处于“忙”时,动态实体进入队列有三种处理方法:
⏹ 损失制——若所有服务台“忙”,则随即离开; ⏹ 等待制,服务次序可用下列规则: 先到先服务FIFO ;
)
(0t A 00/T S =η)
(t A s s s s T S /=ηs S。

相关文档
最新文档