收藏 分享(赏)

第九章系统模拟.ppt

上传人:gnk289057 文档编号:9067699 上传时间:2019-07-22 格式:PPT 页数:54 大小:516KB
下载 相关 举报
第九章系统模拟.ppt_第1页
第1页 / 共54页
第九章系统模拟.ppt_第2页
第2页 / 共54页
第九章系统模拟.ppt_第3页
第3页 / 共54页
第九章系统模拟.ppt_第4页
第4页 / 共54页
第九章系统模拟.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、第九章 系统模拟 9.1 基本概念,系统模拟(System Simulation)方法,又称为系统仿真,无论在科学研究、工业管理、交通运输还是国防建设等诸多领域,都有着无可替代的广泛应用。特别是有了计算机这一运算工具以后,人们对于许多难以建立数学解析模型的复杂问题,更是求助于计算机模拟,作为一种有效的实验手段对系统进行研究和控制管理。因此,有人称之为“没有办法的办法”。 9.1.1 定义和目的一般来说,模拟就是对系统的模型进行实验的一种方法,或者说,模拟是对现时系统或假设系统的模型进行的一种试验。,9 System Simulation simulation in its broadest s

2、ense covers many possibilities. Such diverse topics as wind tunnel, airline pilot trainers and war games could be included. The specific topic to be discussed here is the use of digital computers for discrete system simulation; in particular, the simulation of systems involving stochastic (random)pr

3、ocesses. Special emphasis is placed upon the handling of random elements in OR modeling. The treatment given will be in term of specific simple problem types.,Basic Conceptions Essentially, simulation is a numerical computation technique. It is usually invoked when it proves impossible to formulate

4、a problem in term of a mathematical model that can be solved by other methods developed within the field of OR. Unlike those methods, simulation does not require that a model be presented in a particular format. It permits a considerable degree of freedom so that the model can bear a close correspon

5、dence to the system being studied. The simulation user is, in effect, put in the position of an experimenter operating the model in much the same way as he would have like to operate the system itself.The purpose of the simulation, of course, is to learn some thing about the system.,System Models Si

6、nce used in a simulation does not have to conform to any rigid format, no definitive terminology for describing simulation models has evolved. However, three terms have come to be widely used, and they will be used here to clarify the discussion. An entity is taken to mean some object in the system

7、of sufficient interest to be included in the model. Each entity is considered to have attributes that describe the properties or the state of the entity. There are activities which cause changes in the system, either by changing the value of attributes or by creating or destroying an entity.,系统模拟是用来

8、描述或评价系统行为,验证系统模型或预测系统性能的一种有力工具。在建立系统模型和进行系统分析的过程中,对系统进行模拟研究往往是关键的步骤之一。在现实世界中,有不少系统不能用数学解析式来描述,这时候,系统模拟就成为解决问题的重要方法了。 模拟的目的大体上有以下几个方面:1. 在建立一个真实系统之前,必须对该系统的行为和性能作出预测和评价,尤其是对于大规模的复杂系统更是如此。系统模拟往往作为可行性研究中的一种手段。,2. 在建立真实系统前,或者系统已经建立,模拟的目的通常是用于各备选方案的比较,从而使设计更加合理,对现有系统进一步改进,使组织管理工作更加完善。 3. 其次模拟还可以用于培训有关人员,

9、这样省时省钱,可避免一些不必要的损失。 9.1.2 模拟的分类 9.1.3 模拟模型模拟模型是由大量的要素、法则和逻辑关系所组成的流程图。模拟模型构成的方法特点是,先把系统划分成较小的子系统,然后再把这些子系统按照逻辑关系结合在一起。其中有些子系统也有可能用解析方法构成模型。,9.1.3.1 计算机模拟系统的组成计算机模拟系统是多种多样的,特别是离散事件系统较为复杂。为了更为方便地进行模拟,首先要把系统抽象化、规范化。计算机模拟系统的主要构成为:1. 实体(Entity): 组成系统的各个元素称为实体,它们是组成系统的基本部分。凡是在系统中活动的部分叫活动实体,固定实体是对活动实体进行加工、处

10、理或服务的。2. 属性(Attribute):指实体所具有的特性、状态或参数。每个实体都有若干个属性来描述。例如,汽车是实体,规格、速度、载重量是它的属性;料仓是固定实体,装、卸载速度,方式是它们的属性。,3. 活动(Activity): 表示系统内同一类运动的一段过程或行为。例如,车辆的卸载时间或故障时间等。 4. 事件(Event): 这是离散事件系统的一个重要概念。它与系统活动有关,一般指某一时间点,系统正处于某种活动的开始或结束。例如,设备某一时刻发生故障,这个时刻叫做事故发生事件,也叫正常运行结束事件。 5. 系统状态: 系统在某一时刻上所有实体的属性、活动的瞬间表象。 6. 过程:

11、系统经过各种活动,又回到原来开始时类似的状态叫做一个过程。例如汽车运输中的一个往返过程。 7. 模拟时钟: 在动态系统中都设有模拟时钟,以推进系统的模拟时间,它是提供模拟时间当前数值的变量。每推进一次叫一,个步长,一般每一个步长都要对系统全面考查一次,以推进系统状态的变化与发展。9.1.3.2 计算机模拟的一般步骤一般来说,模拟模型的建立包括以下几个步骤:1. 提出问题 2. 系统分析 3. 收集数据 4. 构造模型 5. 模型检验 6. 结果分析,9.2 应用举例,为了对计算机模拟模型的建立、运算过程、结果和意义有一个初步的认识,首先从较简单的静态模型入手,来考虑下面两个例子。例 1 现有一

12、火炮发射系统,共有n门炮,同时攻击一个目标,已知各门炮的命中率为P。求击毁目标的概率(这里假设击中等于击毁)不小于S的情况下,最少需要配备的火炮数。解:从概率论可知:n门炮各发射一炮,称为一轮射击,未击中目标的概率为 (1P)n,那末击中目标的概率为1(1P)n。现要求一轮射击击毁目标的概率不小于S,即要求1(1P)nS,由于P、S都是已知数,因此可由上式求出满足条件的n。对于这一问题也可以用计算机模拟模型来求解。可以利用计算机语言提供的0,1之间的均匀随机数发生器,例如,BASIC语言中的RND(n)函数。用发出一个随机数R模拟一次射击过程,由于各门炮的命中率为P,随机数R落入某一区间的概率

13、只与这一区间的宽度有关,因此,随机数R落入0,P区间概率为P。 构造该模拟模型的基本规则为: 1. n门炮依次发射,如有一炮命中,叫做成功,此轮不必再向下计算,轮数Q加1,进入下一轮,如果n门炮都未中,叫做失败,轮数Q加1,失败轮数F加1。,2. n门炮发射一轮(不一定每门炮都发射),叫做实验一次。实验Q轮(Q应足够大), 则每轮射击成功率为:模拟模型的计算机框图如图9-3所示。模拟轮数Q定为1000,要求输入火炮数目n,每门炮的命中率P;系统根据累计失败的轮数F,可最终输出每轮射击的成功率S。 根据要求击毁目标的概率S,就可以用试算的方法求出满足条件的n。显然,可变因素P,n直接影响着系统的

14、功能。,N,Y,N,Y,Y,N,例 2 蒙特卡罗(Monte Carlo)方法,又称为统计试验法。最早是由科学家冯诺依曼和乌拉姆在第二次世界大战期间,从事原子弹的研制,对中子的随机扩散进行模拟而建立和发展起来的。由于蒙特卡罗法在基本原理上与某些赌博工具一样,因此就用当时世界著名的摩洛哥的赌城蒙特卡罗来命名了。蒙特卡罗法实际上就是在产生随机数的基础上,再现系统某种概率分布的试验方法。用蒙特卡罗法算一个定积分问题。如图9-4,有一个正函数f (x) ,x定义域为a,b,f (x)的上界为M,求积分1. 的解在矩形面积(ba)M之内。,2. 向矩形 (ba)M内均匀地投N个点,并统计出落入f(x)曲

15、线与横坐标x轴所围面积内的点数n。则点数之比等于面积之比:,y,0 a x0 b x图9-4正函数f (x),3. 模拟过程。由计算机产生2个0,1之间的均匀随机数R1,R2。令 x0 = a + (ba)R1,y0 = M R2x0即为均匀落入a,b区间的随机数;y0则是均匀落入0,M区间的随机数,而这一对随机数可作为均匀落入矩形 (ba)M内的一个点(x0,y0)。如果y0f (x),则说明该点落入了积分区域内。重复这一过程,并累计落入了积分区域内的点数,即可完成对定积分的计算机模拟。,9.3 随机变量的产生方法,9.3.1 均匀分布随机数产生Uniform Random Number G

16、eneration 9.3.2 随机变量的产生 the generation of r.v 在需要进行模拟的系统中,遇到的许多随机变量往往并非均匀分布。例如,运输系统中车辆的装车时间和卸车时间往往服从正态分布和负指数分布。这时应根据对实测数据的统计检验结果,确定采用某种已知的分布。均匀分布随机数是产生其它各种分布随机变量的基础。根据需要的不同,可采用以下几种常用的随机变量产生方法Transformation Method :逆变换法、舍选法、近似法和组合法。,1. 指数分布随机数的产生 指数分布的概率密度函数指数分布的分布函数 式中,是指数分布的参数,均值E(x) = 标准差(x) = 1/。

17、作逆变换:由 则 ,有,1R仍为0,1区间均匀分布随机数。可记为 ,这就是指数分布随机数的发生器。,9.3.2.1 逆变换法Inverse Transformation Method 逆变换法是一种常用方法。它适用于概率分布能用密度函数表达,易求积分得累积概率函数(分布函数): 且又可对y = F(x)求反函数,0 a x b x,x = a + (ba) R1,并计算f(x);(3)检验是否符合下面的判别准则:R2Mf (x) = f a + (ba) R1其中M是f (x)的极大值。如果符合,则选x = a + (ba) R1为随机 变量的一个抽样值。否则返回(1),重复这一过程。,9.3

18、.2.2 舍选法Rejection 此法灵活,使用较方便,适用于分布函数F(x)形式太复杂,不易求得其反函数,但其密度函数f(x)在有限区间有上界时。具体作法如下: (1)产生2个伪随机数R1,R2; (2)利用R1产生一个a,b区间的均匀随机数x,9.3.2.3 近似法Approximation Method 这种方法一般用于分布函数较复杂,难于求出精确解的情况。例如,正态分布的随机变量可有多种近似抽样方法,下面介绍其中应用较广的一种。,0 a x b x,根据中心极限定理,取0,1区间均匀随机数R1,R2,Rn,可近似产生N(0,1)标准正态分布随机变量u式中,n取6,即可满足一般精度上的

19、要求。然后再做一线性变换 即可得到数学期望为,均方差为的正态分布随机变量值x。 9.3.2.4 组合法Composition 它的基本思路是利用某些易得到的随机变量,来组合一个需要的随机变量值。例如,我们知道,两个事件出现的时间间隔通常服从负指数分布,而在某一单位时间内,事件出现的次数是,服从泊松(Poisson)分布的。那末,就可以用若干个负指数分布的随机变量值来组合成一个泊松分布的随机变量值。,下面通过一个设备维修的例子说明时间步长法模拟过程。问题是,一名维修工负责N台设备的维修工作。现在要求这N台设备的平均利用率,以及增减看管的设备数后利用率的变化情况。 已知,通过每15分钟一次的观察,

20、从统计资料得出各台设备的故障概率P为0.1,每台设备的维修时间如表9-2所示。4.1.2 时间步长法应用举例,9.4 模拟过程的控制方式,时间步长法,另一种事件步长法,它是以相邻事件发生的时间间隔为增量,如果被考查的对象(实体)不只一个时,为了与实际相符,采用“最短时间事件步长法”。在对一个系统的模拟中,也可能混合采用上述两种方法。 9.4.1 时间步长法 9.4.1.1 时间步长法基本原理时间步长法又称为等步长法,是采用相等的时间间隔控制模拟的时间进程。时间间隔称为一个步长。 1. 初始状态模拟开始,要对系统内全部实体、活动、属性预先设初值。,2. 模拟时钟整个模拟过程由一个模拟时钟来控制,

21、每次推进一个步长,模拟时钟记数器累计。当模拟时钟的当前时刻等于预定的模拟总时间时,模拟便结束。模拟步长的选择主要依据具体问题所要求的模拟精度而定。为了控制每个实体的活动过程,对每个实体都要设一个子时钟,用此来记录和控制各实体的延续时间。模拟子时钟是实体的时间属性。例如,对于车辆到达装载点,就具有“到达时刻”、“等待时间”和“装车时间”三个时间属性。,3. 实体或活动的顺序考查模拟时钟每推进一个步长,要对整个系统的全部实体或活动进行一次扫描。对于每一类实体有一个对应的处理子程序。当被扫描到的实体不发生事件(活动不改变)时,则不需处理;若发生事件,则转向该活动的子程序进行处理。在这种方式下,扫描是

22、以实体为对象,活动是附属于实体的。例如,对于一个矿石运输系统,被扫描的实体有电机车、矿仓、,在每一个步长中,将考查该实体工作状态是否改变,并进行相应的计算和处理等。 4. 并发事件在某一事件发生时,可能引发其它事件的发生。这些并发事件也需要在当前步长中加以处理,否则可能出现模拟结果与实际,背离。例如,当矿仓已满时,上方的运输机或卸载车辆应停止工作;矿仓放空时,下方的运输应停止。 5. 改变系统状态并确定下一事件在当前步长中,要对所有发生事件的实体改变其状态及属性值,并且要预测出下一个活动将延续的时间。 6. 记录和统计系统有关变化模拟的目的就是要获取有关系统的尽可能多的有用信息,以便于对系统进

23、行深入的分析研究。在模拟的各个步骤中,记录和统计计算有关数据是必不可少的。,模拟完,系统中设备为主要实体,它的属性有设备数、故障率、维修时间。模拟时要记录设备的故障时刻、修复时刻和计算故障延续时间,这些都是设备的时间属性;设备具有的三种不同的状态为:工作状态、待修状态、修理状态。维修工的属性有修理设备时间,等待修理设备的数目和各自在队列中的位置,以及忙和空闲两种状态。,4.1.2 时间步长法应用举例 设备维修例子说明时间步长法模拟过程。一名维修工负责N台设备的维修工作。求这N台设备的平均利用率,以及增减看管的设备数后利用率的变化情况。 已知,通过每15分钟一次的观察,得出各台设备的故障概率P为

24、0.1,每台设备的维修时间如表9-2所示。设备维修时间表 表9-2,系统考查指标为设备的平均利用率。若在时间T内,各台设备的故障总时间为F,则设备的平均利用率为1F/(NT)。模拟开始时,以全部设备处于正常工作状态,修理工处于空闲状态为系统的初始状态。模拟步长取15分钟,模拟的当前时刻从零开始,模拟总时间T的确定与所要求的输出精度有关。,模拟运行结果:当取T = 9600分,负责设备台数N作为可控变量分别取2、3、4、5。运算结果见表9-3。如给出维修工的工资和设备利用率对应的经济指标,就可综合确定一名维修工负责看管设备的合理台数了。 模拟运行结果表 表9-3,9.4.2 事件步长法,系统中某

25、一个实体的一个活动结束,同时另一种活动开始,这二者变换的瞬间,我们称之为发生了一个事件。系统的状态也只有在事件点上才发生变化。在要进行模拟的系统中,可能同时遇到延续时间很长的活动,如以月、周、天为单位;以及延续时间很短的活动,如以小时、分、秒为单位。类似这种情况下采用等步长法(时间步长法)要保持模拟的精度,又要提高模拟的效率就比较困难。而这时采用事件步长法就比较有利了。,9.4.2.1 事件步长法基本原理事件步长法是以相邻事件发生的时间间隔为模拟步长的。模拟时钟的推进步长是不等的。当被考查的实体只有一个时,模拟将按照事件发生的顺序,不断改变实体的状态并进行相应的统计计算,预测下一个事件发生的时

26、间使模拟逐步推进。当被考查的对象不只一个时,就要从模拟时钟赋予初始值开始,从需要处理的多个事件中,找出距系统的当前时刻最近的事件进行处理,即改变相应的实体状态并进行有关的统计等,处理完后,要预测下一个事件的发生时刻,以不断推进模拟的进行。然后再从多个事件中找出新的最近事件进行处理,直至模拟时钟结束。由于每次都是从距系统的,当前时刻间隔最短的事件先进行处理,因此又被称为最短时间事件步长法。 事件步长法与时间步长法相比较,在适用范围、计算方法和效果上都有所不同。首先,时间步长法可适用于任何系统,而事件步长法有一定程度的局限性。例如,当系统中有的变量呈连续性变化时,就不适合用离散事件来近似,因此就不

27、能用事件步长法来构造模拟模型。另外,时间步长法虽然结构简单些,但是如果一段时间无事件发生,则在这段时间的计算和判断显得多余。事件步长法虽然要比较和判断哪一个事件最早发生,但是避免了许多不必要的计算,效率较高。,最后,对于事件步长法,时间轴上的每一个事件点确切表示了一个活动的开始或结束时刻,不会产生误差问题。而时间步长法即使步长取的很小,也有一个误差问题。 它的各步骤的基本思路如下。 (1)初始状态。即对于所使用的模拟时钟、记数器和状态变量赋予初值。 (2)找出最短时间的事件。扫描系统中所有的事件,找出事件发生时刻距当前时间最短的事件。对于同一时刻上可能发生的若干个事件,应安排好处理顺序 (3)

28、模拟时钟的步进。模拟时钟是以相邻两个事件出现的间隔时间为步距顺序步进的。,(4)判断事件的类别和子程序处理。对于找出的最短时间的事件,判断是属于哪一类事件后,便进入相应的处理事件子程序进行有关的统计运算等处理。 (5)并发事件。与时间步长法相同,在某一事件发生时,可能引发其它事件的发生。这些并发事件也必须在当前步长中加以处理。 (6)改变系统状态并确定下一事件。与时间步长法相同,这使得模拟过程能动态地进行下去。 (7)整理模拟数据。与事件有关的数据是由事件子程序产生,而数据、统计量的整理、计算和输出结果格式化是由主程序完成的。 (8)模拟结束。在事件步长法中,每次步进后事件处理完,都要检查模拟

29、时钟的当前时刻是否已达到预定的模拟终结时间,以确定模拟是否已结束。,图9-13 事件步长法模拟过程图,9.4.2.2 事件步长法应用举例一项土石方运输工程,由1台装载机配合3辆自卸式汽车作业。已知下列有关参数:装车时间服从均值为3分钟,标准差为0.5分的正态分布;重车运行时间服从均值为8分钟,标准差为2分的正态分布;空车运行时间服从均值为6分钟,标准差为1分的正态分布;卸车时间服从均值为3分的负指数分布。班作业时间为6小时。为了求出合理的配车数,要求模拟计算出班总装车数,装载机和自卸式汽车的总的空闲时间。绘制求解该问题的程序框图。现对该问题分析如下,首先定义下列变量: i 模拟步序; j 汽车

30、编号;,Cj 第j号汽车下步所处状态;,Tji 第j号汽车在第i步模拟时下一个事件发生时刻;tji 第j号汽车在第i步模拟中的活动延续时间;k 发生最近事件的汽车号,k = jmin Tji 。 设初始状态为各辆汽车在装载机工作点等装。此时模拟步序i = 0,Cj = 5,j =1,2,3。这时可按车号(j)最小者先处理,即取k = 1。遂进入模拟步序i = 1,改C1 = 1,即第1号车下步装载,调用装车子程序产生装车时间,计算出装车时间假设为3分,改变装载机和,汽车的子时钟值并累计装车数。同样可按车号顺序处理2号车(k = 2,i = 2,装车时间t22假设为2.5分)、3号车(k = 3

31、,i = 3,装车时间t33假设为3.5分)的装车活动。这时候i = 4,可开始按事件步长法的原则推进模拟,即应选取发生最近事件的汽车号先行处理,即第1号车的当前时刻最小,即k = 1min 3,5.5,9。改C1 = 2,即第1号车下步重车运行,调用重车运行子程序产生重车运行时间,假设为7分,相应改变1号车的子时钟值(3 + 7 = 10)。下一步i = 5,k = 2min10,5.5,9。改C2 = 2,即第2号车下步进入重车运行状态。,依此类推,即可完成规定时间的动态模拟,并得出有关的系统产量及设备利用指标。,确定初始状态,模拟班数+1,找min子时钟值车号,装车子程序,重车运行子程序

32、,重车运行?,空车运行?,卸车?,本班结束?,输出结果,模拟完?,空车运行子程序,卸载子程序,开始,结束,是,否,是,是,是,是,否,否,否,否,图9-14 主程序框图,累计等待装车时间,累计装车数,改变车、装载机时钟和状态,装载机空闲?,确定装车时间,累计等车时间,否,是,图9-15 装车子程序框图,进入装车子程序,返回主程序,整个装运系统的模拟绘制成汽车运行图(图9-16),,等待 装车 重车运行 空车运行 卸车图9-16 汽车运行图,9.4.3 模拟试验结果分析利用模拟模型,可对系统中各实体之间的关系进行分析,以便选择更合理的参数,使系统得到优化。例如,上例中为了得到合理的装载机与自卸式

33、汽车的匹配数,就可以输入不同的汽车数量方案,从而得到不同的结果进行对比。可作为综合比较的有关参数如下: (1)装载机等车时间。装载机等车时间随配备汽车的台数的增加而减少,当车数较少时呈直线关系下降,当配车数超过一定数值后,等车时间下降速度减慢,渐趋于零。 (2)汽车等装时间。汽车等装时间随配备汽车的台数的增加而增加,当车数较少时汽车等装时间缓慢上升,当配车数超过一定数值后,等装时间上升速度加快。,(3)班运输量。和装载机等车时间相对应,当车数较少时,班运输量随配备汽车的台数的增加而呈直线上升,当配车数超过一定数值后,上升幅度减缓,渐趋定值。 从以上几个方面分析比较,可以得出合理的装运设备匹配数,使装载机和汽车的效率都能得到充分发挥,并得到较高的班产量。为了进行技术经济比较,还可以增加成本核算项目,得出综合成本与配车数的关系。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报