您好,欢迎访问三七文档
系统仿真一、系统仿真概述•仿真概念:•通过建立和运行实际系统的计算机仿真模型,来模仿系统的运行状态和规律,以实现在计算机上进行试验的全过程。仿真的实质和作用•系统仿真的实质在于:–它是一种对系统问题求数值解的计算技术–仿真是一种人为的试验手段–系统仿真可以真实的描述系统运行、演变及其发展的全过程–系统仿真主要是在计算机上实现的仿真的实质和作用•系统仿真的作用:–仿真的过程也是试验的过程–对复杂的问题处理起来更加有效–通过仿真可以简化对系统的描述–可以帮助人们更清楚的弄清问题的实质仿真的应用•系统性能分析及系统设计–加油站服务系统、交通道路系统、电话系统、库存系统……•仿真技术在培训人员的应用–模拟驾驶、各种训练仿真器系统仿真方法系统仿真的基本方法是建立系统的结构模型和量化分析模型,并将其转换为适合在计算机上编程的仿真模型,然后对模型进行仿真实验。由于连续系统和离散(事件)系统的数学模型有很大差别,所以系统仿真方法基本上分为两大类,即连续系统仿真方法和离散系统仿真方法。连续系统仿真•连续系统指系统中状态变量随时间连续地变化的系统,其系统模型通常是由微分方程组成,当系统比较复杂引入非线性因素后,微分方程不可求解,需要采用仿真方法求解•常用的方法有–数值积分法:保证数值解的稳定性,正确选择步长–离散相似法:将连续系统进行离散化处理离散事件系统仿真•离散事件系统指状态变量只在一些离散的时间点上发生变化的系统,在其它时刻系统状态保持不变。而在这些特定时刻由于有事件的发生所以引起了状态的变化。•离散事件系统的一个主要特征是输入变量往往为随机变量,因此它的输出也往往也为随机变量•离散事件系统进一步可以分为静态和动态系统,静态系统仿真称为蒙特卡罗法,我们先研究静态仿真,再研究动态仿真。仿真的一般步骤•第一步:定义问题•第二步:制订仿真模型,包括–决定仿真目标–决定状态变量–数据收集–选择模型的时间移动方法–描述运动行为•第三步:证实模型•第四步:设计仿真试验•第五步:模拟运行•第六步:根据试验设计,运行仿真模型,并分析结果仿真语言•编程的语言分为两类:仿真专用语言和通用语言•通用语言可以采用汇编语言或通用高级语言FORTRON、BASIC、C++、PASCAL•专用语言比如IBM公司的GPSS(离散事件方针语言,面向流程图,提供40多个功能块),其他的如SLAM、SINMAN、SIMSCRIPT等。蒙特卡罗法简介MC的起源和发展•随机模拟方法,也称为MonteCarlo方法,是一种基于“随机数”的计算方法。这一方法源于美国在第一次世界大战进行的研制原子弹的“曼哈顿计划”。该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的MonteCarlo—来命名这种方法,为它蒙上了一层神秘色彩。冯·诺伊曼是公理化方法和计算机体系的领袖人物,MonteCarlo方法也是他的功劳。确定性系统随机性系统模拟自然界Monte-Carlo模拟,即随机模拟(重复“试验”)重复试验计算机模拟MC的原理思路:•根据模型中各个随机变量的分布,在计算机上产生随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,再进行随机模拟试验。MC的应用举例•定积分的MC计算随机投点法•假如有一台计算机产生[0,1]区间内均匀分布的随机数,让产生的这个随机数表示正方形边长的系数。用两个随机数表示一个点在正方形上的具体位置。然后判断该点是否落在不规则图形内。通过记录落在不规则图形内的点数和试验的总次数,这两个数值的比值就是他们的面积之比。使用计算机的好处就是能够在很短的时间内产生大量的随机数,而且还能记录统计结果。由此可见,蒙特卡罗方法依靠计算机产生的随机数来模拟实际系统。同时,计算机也负责相关的计数工作,以便获得最终的统计结果。•在计算积分上,MC的实用场合是计算重积分•其中是维空间的点,当较大时,用MC方法比一般的数值方法有优点,主要是它的误差与维数无关。dPPgIkPmmm•可以得到的一个估计•具体试验步骤为nnabM01ˆ独产个随数计统计个数来计iiiiiiiii0立地生2nU0,1机,u,v,i=1,...,n,算x=a+ub-a,y=Mv,和fxfxy的n用上式估θ•注1随机投点法的思想简单明了,且每次投点结果服从二项分布,,其中•注2可证是的无偏估计。pnbn,~0abMp1ˆ蒙特卡罗法应用——PERT网络计划仿真问题•CPM和PERT是独立发展起来的计划方法。两者的主要区别在于:CPM是以经验数据为基础来确定各项工作的时间,而PERT则把各项工作的时间作为随机变量来处理。所以,前者往往被称为肯定型网络计划技术,而后者往往被称为非肯定型网络计划技术。12346758设计A60工装制造1D20工装制造2G30加工3K25装配L35铸件E40加工2H15外购配套件B加工1F1845锻件C10虚工作E'蒙特卡罗法应用•举例:PERT网络计划仿真问题:–第一步:每一工作有一工作时间的概率分布(a≤t≤b)–第二步:产生随机数,即给每一工作产生一个随机的工作时间–第三步:计算网络的工期及工作的时间参数–第四步:返回第二步重新计算•如果计算1000次便可判断各工作可能的各种时间参数随机数的生成•蒙特卡罗法的关键是随机数的生成•如何生成随机数?如何判断生成的随机数的好坏?随机数的生成•随机数是指在区间[0,1]之间的随机采样值。关键是如何生成质量较高的随机数。有多种方法可以测试随机数生成器的好坏。–均匀性:首先,要判断生成的随机变量是否均匀分布,落在子区间[L1,L2]之间的概率应为L2-L1。–独立性:另一种方法,就是检验随机数xi和xi+1之间的相关性,来判断生成随机数的预测性。也即一个观察值出现在一个特定区间的概率与前面取出的数值无关。均匀随机数的产生•产生各种分布的随机数通常都要先产生(0,1)区间上均匀分布的随机数,再通过数学变换得到需要分布的随机数。均匀分布的随机数的产生有两种方法:物理方法和数学方法。物理方法产生的随机数是完全随机的,没有可重复性,但这种方法笨拙,需要大量的存储空间。更常用的是找到一种合适的算法直接生成所需要的随机数。均匀随机数的产生•利用数学方法产生随机数速度快,计算简单,可重复性好,因此获得了广泛应用。但用数学方法按一定的规律产生的随机数显然不是随机的,因此称为伪随机数。•伪随机数序列只要满足以下条件,就可认为它是随机的:•1.序列之间相互独立,不存在相关性。•2.序列周期足够长均匀随机数的产生•产生均匀分布随机数的数学方法已有很多,如取中法,加同余法,乘同余法,混合同余法等。最常用的随机数生成器是线形同余数法(Thesen,1989)。随机数–伪随机数的产生:线性同余法其中,a为乘子,c为增量,m为模,它们都是正整数。给定初值,就可用上式迭代出,进而求出随机数序列。令ui=Xi/m,则ui可在(0,(m-1)/m)之间取值。,...)1,0(mod)(1imcaXXii例:•用混合同余法产生的随机整数是模M的余数,必定小于M,显然的取值范围为M,最多只能有M个不同的取值。因此,产生的随机数有周期性,重复周期TM。•为了获得足够长周期的随机数序列,应尽可能取大的M值,并合理选择其他参数,使得到的是全周期的。一般认为,要得到最大周期,参数选择应满足如下条件:–c0,且c与M互质;–乘子a满足(a-1)是4的倍数。•MonteCarlo程序中通常需要产生服从给定概率分布的随机变量。该步可用多种方法加以实现.1)逆变换法•以指数分布为例分布函数:逆变换步骤:»计算分布函数。»在x取值范围内,置F(x)=R,即»用R表示x,即x=F-1(R)=(-1/λ)ln(1-R)»产生均匀分布随机数R1,R2,…,计算所需随机变量,xi=(-1/λ)ln(Ri)000,1)()(0xxedttfxFxxxeR1随机变量的产生方法!)(nenfn1001niiniixx100niiniiReR2)产生泊松分布的接受-拒绝技术若相继两个事件出现的时间间隔服从指数分布,则单位时间内事件出现的次数服从泊松分布,其概率密度函数:若到达时间间隔为xi,则有化简为产生泊松分布的步骤:•1.置n=0,S=1。•2.产生一个随机数Rn+1,S=S*Rn+1。•3.若Se-λ,则接受n,否则,拒绝现在的n,令n=n+1,转步骤2.3)正态分布的直接变换从两个独立随机变量R1,R2来产生两个独立的标准正态分布随机变量Z1,Z2的方法:通过变换Y=μ+σZ,可以得到均值为μ,方差为σ的正态分布随机变量。1/21121/2212(2ln)cos(2)(2ln)sin(2)ZRRZRR4)查表法产生离散分布随机变量•某随机变量取值只能为0、1、2,其概率分布如下:•P(0)=p(X=0)=0.5•P(1)=p(X=1)=0.3•P(2)=p(X=2)=0.2•则累积分布为:000.501()0.81212XXFXXX•根据随机生成的随机数决定选择哪个变量5)三角分布•有一些分布形式很难处理,可以采取适当的简化,考虑精度和精力之间的一个平衡。三角分布就是其中的一种。构建三角分布,需考虑以下问题:•最佳的变量(β)猜测值是多少?•分布的下限(α)肯定不小于多少?•分布的上限(γ)肯定不大于多少?αβγ()0()()()0fxxxfxhxxfxhxfxx其中2h三角形面积=1概率分布进一步可求得均值、方差、分布函数输入数据分析•数据收集•分布的识别可根据物理意义,或数据直方图、概率图来假设数据的分布。•参数估计利用样本均值、样本方差•分布假设检验输出数据分析1.输出数据的随机性及其估计点估计及区间估计(置信区间)注意:不能直接使用经典方法。原因:–仿真结果相互不独立。–初始条件的影响。•离散系统动态仿真输入数据分析•数据收集•分布的识别可根据物理意义,或数据直方图、概率图来假设数据的分布。•参数估计利用样本均值、样本方差•分布假设检验离散事件系统仿真——排队系统•排队系统是离散事件系统中一种典型系统,如售票系统、电信服务系统、加油站……•排队系统描述顾客总体服务台排队离开排队系统有关概念•顾客与顾客总体:有限顾客源与无限顾客源•到达模式:确定性与随机性(泊松、爱尔朗、一般独立)•服务机构与服务时间:单队列单服务台结构、多队列单服务台结构、多个服务台串联、多个并联;服务时间;定长时间、指数分布、爱尔郎分布、超指数分布、正态分布等•排队规则:•排队规则–损失制–等待制•先进先出(FIFO)•后进先出(LIFO)•随机服务•按优先级服务•最短处理时间先服务–混合制•限制队长•限制等待时间•限制逗留时间排队系统分析•排队系统表示:A/S/C/N/K,简化为A/S/C•A:到达时间间隔分布•S:服务时间分布•C:服务台个数•N:队列容量•K:顾客源(总体)规模•排队系统的性能指标:–服务台的利用率–平均等待时间和平均逗留时间–平均队长和系统中平均顾客数–忙期排队系统的性能研究排队系统研究的实质是,合理地解决顾客等待时间与服务台空闲时间的矛盾,使得系统服务质量与设备利用率都达到较高的标准。•服务台的利用率ρ:λ为平均到达速率μ为平均服务速率•平均等待时间Wq和平均逗留时间W:平均到达时间间隔平均服务时间ntinqDnW1lim1ntiinntinSDnWnW11)(lim1lim1•平均队长Lq和平均顾客数L:•其中,qi为[Ti-1,Ti]内排队人数。Ti为第i个任意一类事件发生的时间。•忙期/闲期:忙期是指服务台全部处于非空闲状态的时间段,否则称为非忙期。闲期指服务台全部处于空闲状态的时间段。TqTqdttLTL0)(1limmiiiiq
本文标题:系统工程(第5章)
链接地址:https://www.777doc.com/doc-205093 .html