计算机仿真技术_第1页
计算机仿真技术_第2页
计算机仿真技术_第3页
计算机仿真技术_第4页
计算机仿真技术_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机仿真技术

1.绪论

自我介绍:张绍阳,交通信息工程系,

课程名称:系统仿真技术。

1.1.关于教材

不进行指定,广泛的参考,大多教材都是介绍性的,应用型的可以参考具体的软件的帮

助,理论性的研究大多在最新的论文中。

12导论

大家都听过的名次:仿真、模拟,已经成为-门学科。

美国国家关键技术委员会1991年确定仿真技术为影响美国安全和繁荣的22个关键

技术之一。在军事、航空、航天、原子能、工程、交通、制造行业等已经具有了广泛的

用途。

仿真技术种类繁多,大家听说过的matlab仿真、有限元仿真、虚拟现实仿真、离

散系统仿真等都是仿真,

1、他们之间有什么样的规律,如何认识,

2、在进行应用时如何去选取合适的工具,

3、如果研究仿真技术,其研究领域是什么

这些都将在本门课中进行解决。

1.3.研究生教学的特点

本门课程是导论性的课,虽然是学位课,但是希望大家了解研究生教学的特点:研

究生培养目标是独立解决问题的能力,而不是纯粹的知识或者技能,用一个例子来

理解:挖金子,对于本科生培养的是认识金子、认识工具、使用工具的方法;对于

研究生则是金矿的形成规律、工具的选择、方法的选择等;对于博士生,则是为什

么要挖的问题了。

1.4.系统仿真定义

从认识论角度,仿真是对现实世界的模拟,但是现实世界是庞大的,无界的,在科

学研究过程中,我们经常把研究内容界定在一定的范围,这个范围我们称之为系统,在

仿真研究中,我们也是对现实世界中的某个系统进行仿真。称之为:系统仿真。

定义:系统仿真是一相似原理、系统技术、信息技术及应用领域的有关专业技术为

基础,以计算机、仿真器和各种专用物理效应设备为工具,利用系统模型对真实的或设

想的系统进行动态研究的多学科的综合性技术。

1.5.基础和工具

(1)相似原理,研究事物之间相似规律及其应用的科学。

相似:是指事物之间某些共性的客观存在。

相似是相对的,在某些层面是相似的,但从其他角度来看又是不同的。

例如:男女同学,从人性来讲是相似的,从微观来讲是不同的。

计算机中的一个点和足球,从视觉来讲是不同的,从运动规律来看又是相似的。

作的不好的动画与文学巨著,从视觉来讲是相似的,但表现力方面又是不同的。

仿真是利用模型对现实世界的一种模拟,需要让人感觉到模型象是现实世界,因此,需

要对相似性进行研究。

相似性的研究包括:

几何相似:将实体按比例缩小或者放大。大楼的模型和楼实体

离散相似:连续曲线和取样曲线采样系统

等效相似:输入输出相同风洞实验室,用来模拟风吹桥梁的效果。

感觉相似:三位虚拟现实系统,视觉、听觉、嗅觉、味觉、触觉等多方面感觉

思维相似:人工神经网络,仿真大脑的计算方法

(2)系统技术

系统的定义:系统是指具有某些特定功能,按照某些规律结合起来、互相作用、互相依

存的所有物体的集合或总和。

系统的特征:整体性,不可分割

相关性:各物体相互有关

系统的内容:

实体:存在于系统中的每一项确定的物体。

属性:实体的每一项有效的特征

活动:导致系统状态发生变化的一个过程。

其中,实体是关键,研究系统最终应以实体来检验。

系统状态:由系统内部的实体、属性和活动组成的整体称为系统的状态。

静态系统:处于平衡状态的系统称为静态系统,

动态系统:状态随时间变化的系统称为动态系统。

系统的分类:

按生命特征:生命,非生命

按物理特征:工程系统,非工程系统

按状态变化:a)连续系统,状态变化是连续的(动力学系统、生态系统、场)

b)离散系统,bl)离散时间系统(采样系统)、b2)离散事件系统

混合系统

从技术角度,分为

连续系统(a+bl):用方程描述,研究方法为控制论。

连续系统的例子:负反馈系统

牌431国"•东4方r:国

其状态是连续变化的。即器件两端的电压、电流等是连续变化的。

离散事件系统(b2):不能用方程描述,研究方法为:排队轮、运筹学等

例子:研究一个汽车加油站的服务水平,其中汽车、油泵、操作人员、收

银员等构成了一个离散系统,其状态的变化是由于汽车的来到,即受到一个离散事件的

影响,所以称为离散事件系统。

系统中的关键名词:

系统环境:影响系统而不受系统控制的外界因素的集合

举例:天气、气温、突发事件,

系统边界:为了限定所研究问题涉及的范围。

举例:开发软件系统时给出的边界。Umi总体图首先对外部角色与系统的交互

进行建模。

内生活动:内部发生的活动

外生活动:外部发生(边界以外、环境)的活动

开放系统:含有外生活动的系统

封闭系统:没有外生活动的系统

大系统、复杂系统:规模庞大、功能结构复杂关联信息多的系统。

注:-大系统理论专门研究

相对而言的。

(3)信息技术

主要指计算机技术。这是我们的特长。

(4)应用领域的专业知识

风洞试验室,不是把模型吹动,而是根据重量、结构等物理规律对理论进行验证。

即系统中实体的运动规律要符合本专业的运动规律。

乂如:挖掘机仿真,其挖掘速度要符合挖掘机的特性,不能是模型本身的速度。

这些都是专业领域的知识,同时也是我们从事仿真的瓶颈。

(5)仿真器

仿真器一般是软件或者在特定硬件平台上运行的软件。例如ARM仿真器,通常开

发的程序需要在真实的环境中运行才能检验,而在仿真器里即可实现调试。

一个专用的仿真软件,用户把所建立的模型放入即可开始仿真,也可以叫做仿真器。

(6)物理效应设备

研究的热点之一,也是花钱最多的地方。其作用是产生与真实环境相似的效果。

例如风洞试验室,鼓风机,功率非常大,因为要模拟自然风,电费的问题。

振动压路机试验室,土槽,也是对真实环境的模拟。

1.6.现代仿真的基本框架

第二次课:回顾,上节课了解了系统仿真的概念,对系统仿真的基础进行了初步

认识,并将系统分为了连续系统和离散事件系统。从系统仿真的概念可知,系统仿真是

以。。。为基础,使用。。。工具,利用系统模型对系统进行研究。

那么系统仿真的框架是什么呢?

1984年,Oren提出现代仿真的基本概念框架:建模--试验--分析。

同时也表达了系统仿真的流程。

那么下面我们对模型和建模的基本知识进行了解。

1.7.模型和建模基础知识

模型是对实际系统的•种抽象,是系统本质的描述,能够准确地反映实体的主要特

征和运动规律,因此优于实体。

人们认识事物也是从特殊到一般,模型符合人类认识事物的规律。

模型的分类:(i)实体模型,例如宇宙模型、大楼模型,根据相似性建立

(2)数学模型

(3)可视化模型,虚拟现实模型

一般研究的是数学模型,数学模型用来分析,而实体模型和可视化模型是看的。

静态系统:代数方程

动态系统:

从技术角度系统分为(D离散事件系统,其对应模型有排队论模型、Petri网模型、

网络计划模型(CPM、Pen、GERT),流程图:建模方法分别为:面向事件的建模方法'

面向活动的建模'面向进程的建模;对应的仿真方法有:事件调度法、活动扫描法、进

程交互法。

(2)连续系统,对应模型有

集中参数:微分方程、状态方程、传递函数;常用的仿真算法:数值积分法、离散

相似法、置换法、根匹配法、增广矩阵法。

分布参数:偏微分方程(有限元);常用的仿真算法:有限差分法、线上求解法,

有限元法。

系统仿真就是在模型基础上对系统进行的试验。

数学建模过程:确定模型类型、建立模型结构(方程阶次)、给定参数

建模遵循的原则:模型的详细程度与目的相适应。

建模的信息源包括:建模目的、先验知识(球是圆的,前人的研究成果)、试验数

据(系统自身的表现)。

建模方法:归纳法(从被观测的行为进行总结,从特殊到一般)、演绎法(根据先

验知识,如果先验知识不对,则推导是错误的,例如欧式几何的先验知识是平行公理,

如果平行公理改变,则得出不同的几何)

模型分析方法:解析法和实验法

解析法求解困难,实验法即仿真的方法。

1.8.系统仿真研究内容

(1)相似理论

(2)模型论:建模方法,模型的体系结构、建模工具、软件等,creator,3DMAX

(3)仿真系统理论:仿真系统的体系和构成,系统设计,研制等,例如CPN,

renew,Matlab,Simulink,

(4)仿真方法论:根据应用领域的需求,研究仿真基本思想和方法,例如使用

定量还是定性仿真、人在回路仿真、交互仿真

(5)仿真方法的口丁信性VV&A(Varification,Validation,Accredation,校核,

验证和确认)

校核:确定仿真系统是否准确地代表了开发这的概念描述和设计的过程

验证:从仿真系统的应用目的出发,确定仿真系统代表真实世界准确程度

的过程。一般从统计的方法着手,例如

确认:官方正式接受仿真系统能够为专门的应用目的服务的资格认可。

(6)仿真系统的应用

2.连续系统仿真

定义:连续系统:系统状态变化是连续的。

2.1.集中参数系统的建模

前面讲过:连续系统的模型集中参数、分布参数。以微分方程表示。微分方程属于

数学内容,不属于本门课程范围。我们以几个例子来说明连续系统的建模。

例1:一个培养盒中有100单位细菌,已知细菌增长速度和细菌总数成正比,24小

时候细菌总数量是400单位,求任意时刻t细菌总数模型N(t).

解:

dN(t)/dt=kN(t)

N(0)=100

N(24)=400

例2:RLC电路,求输入和输出关系。10

由电压定律得:Ldi(t)/dt+l/Cfi(t)dt+Ri(t)=Ui(t)

消去中间变量i(t)=duo(t)/dt*C

LCdU02(t)/dt2+RCdUO(t)/dt+UO(t)=Ui(t)

另外,速度、加速度、运动阻尼等存在变的问题等都可以用微分方程表示出来。

还有没仃更复杂问题的建模?

有,例如世界经济模型、人口增长模型

2.2.集中参数系统的仿真方法

2.2.1.数值积分法

,简介

数值积分就是对常微分方程建立离散形式的数学模型一差分方程,并求出其数值解。

例如:dy=f(y,t),y(tO)=yO-阶微分方程。

数值积分就是求出tO--tn一系列离散点对应的y值。

h=tn-tn-l.称为步长。

常用的积分方法:

(1)欧拉法

对方程进行积分(tO-tl),可以得到y(tl)=yO+ff(y,t)dt

当步长足够小时,用矩形面积表示积分可以得到y(tl)=yO+hf(yO,tO)

进一步可以写出一般形式。n+1,n

(2)梯形法

使用梯形面枳代替矩形面积。

(3)龙格--库塔法

使用泰勒级数展开在tn点。高阶导数不好求,用几个点上的函数值f的线性组合来确定

其中的系数。实质上是将欧拉法/折线法再进一步细化。消除误差。

(4)其他方法:亚当穆斯法,是一种线性多步法。不能自启动,需要先用其他方法计

算出k-1个点,然后才能启动k步的亚当穆斯法。根据这K-1个值,利用牛顿

后插值公式近似计算f(y,t)

,数值积分法中的几个问题

(1)变步长

在保证仿真过程满足一定精度的前提下,为使计算量尽可能小,尽可能采用较大的步长。

两个问题:误差的估计,计算量的估计。

常用的方法:对分策略,计算局部误差,如果〉最大误差步长减半:如果〈最小误差,

步长加倍;否则不变。

另外还有:最优步长法,估计下一步的最大步长;Gear方法。

这些方法都是构造出来的方法,在数学中,构造是数学学科发展的一个重要的方法。

从数的发展历史可以看出。正数(正整数、分数、正有理数)很好理解,计数的需要,

负数是什么概念呢?后来,又出现了虚数,虚数的物理意义在数学界一直没有很好的解

释。

众所周知,实数具有物理指称性,比如称某物质量为5千克,体积为15立方厘米

等等,都是用实数作为物理指称的。一般认为,只有具有实数物理指称性的对象才可能

具有可运算性、国观察性、可分性、可延性、有序性等等物理性质,因而是物理实在,

否则就是非物理实在,是虚幻的乌有。因此,按照这样的观点,虚数在物理中是没有地

位的,因为没有虚数的物理指称性,即虚数的物理指称性的事物是不存在,如果谁说有

存在,那肯定是假的。所以,虽然虚数早在16世纪就被卡尔丹发现,但是至今仍然是

卡迪尔的观点:“虚数的本意是指它是假的‘在人们物质观中占统治地位。

今无如果说虚数是具有物理指称性的,可能为时尚早,但是,说这种可能性已经初现

端倪,却不是空穴来风。虽然虚数早已通过复数形式“半推半就’地进入物理学,但是被

指称为虚过程(如跃迁)和虚粒子(如虚光子)事实上是越来越多了。尽管目前这些事

例大多还集中在微观物理中,但是不能否认它们是具有虚数的物理指称性的事实。因此,

我想难道我们就不能大胆地推进一步,设想夸克、暗能量和真空都是具有虚数的物理指

称性的对象?

数的运算:加减乘除,加法交换率,乘法交换律,矩阵不满足乘法交换律。在四元

数中,也不满足乘法交换律。

但是,这些数学在物理中都得到了应用。

以上的内容表明,我们也可以构造一种步长的优化策略,只要是让计算量有所减小

即可。

论文:变步长龙格库塔法研究及其实现

(2)算法误差和稳定性

误差:截断误差和舍入误差

基于泰勒展开攻势的数值计算方法都有截断能够误差

欧拉法h2>梯形法h3>4阶龙格库塔法h5>亚当穆斯法h6

每一步积分都会带来舍入误差,随着运算的进行,舍入误差有可能被放大。

例如1/9=0.11,两边同乘以9以后误差被扩大。

稳定性问题:误差的积累是否受到控制。

判断数值积分法使用试验方程,如果数值积分公式为y„+1=p(W„当差分方程

满足稳定条件|夕①4)|<1,算法才稳定。

因此,可以得到各种算法的稳定条件。

提示:在选择步长时,应对算法的稳定性进行判断。

(3)步长的选择

从数值计算角度,步长越小,截断误差越小,但同时步数增多,所以舍入误差增大。

因此,步长应进行合理选择。一般要小于系统的时间常数的l/10o

时间常数

(4)算法的选择

没有一种算法是最好的,如果函数形式比较简单,则适合采用单步法,如果精度要

求低,则欧拉法,否则可以采用龙格库塔法,当函数形式比较复杂时,计算量大,宜采

用多步法,如亚当穆斯发,这类方法每积分一步只需计算一次函数值。

(5)病态系统仿真

X]+1/2*2+1/3/=11/6

-l/2x,+l/3x2+l/4x3=13/12-,如果采用近似数字代替分数,则答案为

l/3x,+l/4x,+l/5x,=47/60

xl=-6.22,x2=38.25,x3=-33.65

而真IE解xl=x2=x3=l

对于病态问题,要采用病态问题算法。

2.2.2.离散相似法

离散相似法就是将连续系统的数学模型进行离散化处理,得到其等价的模型,对

于离散化模型进行求解的仿真方法。

常用的方法是加入采样开关和零阶保持器。

离散相似法的精度和校正问题:精度是指离散相似模型与原连续系统模型等效的程度。

由于加入了虚拟的采样开关和保持器,保持器不可能完整无误地将连续信号重构出来,

因此,离散相似模型必然存在误差。一般来讲,采样的间隔越大,仿真的误差越大,采

样频率必须满足采样定理,即人为采样频率=1",7m为连续信号的最大频

率。实际中,采样频率可按照最大频率的30-50倍进行选择。

2.3.分布参数系统仿真算法

在时间和空间两个方面将系统离散化,进而得到一组代数方程,根据初始条件

将任意时刻任意空间位置系统中的状态变量的值计算出来。

例如:一条长为1的细棒,其侧面是绝缘的,t=0时,温度分布为°(x),今将她

两端接到温度为k(f)和的两个物体上,试计算在不同时刻,棒上各点的温

度。

根据热力学原理,可以得到该问题的数学模型:

2

Kdu(x,t)=du{x,t)其中K为导温系数,与导热系数、比热、质量密度有关。

c!r2dt

将空间变量x和时间变量t按照一定的步长进行分隔,从而得到一•系列的矩形网格,

在集中参数模型中,得到的是一系列的点。

分布参数系统仿真方法就是对网格的交点求解的过程。

常用的方法有:差分法、线上求解法、有限元法

例子:

http:〃/peraglobal/info.aspx2i=94013

集中参数建模和仿真工具simulink介绍

P1D系统简介:负反馈控制系统,积分、微分、加法,

PID的仿真过程:

仿真目的:研究PID控制系统对阶跃输入的响应,确定PID的参数

数学模型:PID系统的传递函数为

扫描图3.42PID系统结构框图

仿真模型:图3.49,给定参数

选择仿真算法,给定步长、开始结束时间等、仿真精度参数,进行仿真

结果分析,响应能够满足需求吗?不能,调整参数重新仿真。

总结:

连续系统的仿真过程:

>确定仿真目的

>建立数学模型,给定参数(误差、精度)

>建立仿真模型

>综合考虑精度、计算量等给出仿真步长,选择算法进行仿真

>结果分析

>参数调整、重新仿真

3.离散事件系统仿真

3.1.离散事件系统定义

指受事件驱动、系统状态跳跃式变化的动态系统,系统状态的迁移发生在一串离散事件

点上。

离散系统缺乏公认的、通用的数学模型,分析求解困难。

3.2.离散事件系统的基本要素

实体:临时实体,永久实体,其中的实体包括船、闸门。

问题:开闸的人算不算实体?再问,他老婆和孩子算不算实体?

解释:第一间好像可以也好像不可以。第二问大家都可以肯定不是。其实可以不

可以要跟建模目的相联系,如果我们要仿真人的行为,例如,他要去上厕所,他要喝水,

他的操作水平不太熟练,她的责任心等,他就是实体了。如果我们认为他就不会出问题,

永远在规定的时刻启动闸门开关,则可以不考虑他的行为。

如果我们要仿真他上下班的过程,例如,他要送小孩上学,他老婆有心脏病,那

么,它老婆孩子就是实体了。

所以,实体的选择与仿真目的相联系的。

事件:引起系统状态变化的行为称为事件

例如:船只到达、开闸放船、关闸等。

活动:事件发生的过程称为活动,它是实体在两个事件间保持某一状态的操作过程。

船只到达后直到开始放行事件之间的过程,成为排队活动。

进程:由某类实体相关的事件和若干活动组成的集合,描述了这些事件的相互逻辑关系

和时序关系。

3.3.离散事件系统的模型

根据是否表示时间:时标DEDS:赋时Petri网、双子代数、排队网络、Markov链等

非时标DEDS:Petri网模型、有限状态自动机模型、过程代数、时

序逻辑模型等

根据状态演变的确定/不确定性,分成确定性:Petri网

随机性:随机Petri网

根据状态演变的量化特征:定量/定性

34建模步骤

(1)明确仿真目的

例如上述船只过闸模型,如果要考察船闸服务事件的长短对船闸利用率的影响,则是一

种模型,如果考虑闸门开关的控制和动力学特性,则是另一种模型。

(2)正确描述系统

组成成分:选择合适的实体

描述变量和参数:船只到达间隔时间,船闸服务过程事件、队列长度

相互关系:事件的发生顺序,流程图

船只到达A(t)开始

(3)建立仿真模型

仅有事件表和顺序无法仿真,必须要知道确切的时间表,即仿真系统建模。例如,假设

船只到达的事件间隔的随机数,服务时间随机数等。

(4)输出函数的确定

根据仿真目的统计反映系统性能的数据。例如平均等待时间、最大队列长度等。

离散事件系统中的关键在于系统参数的随机性,随机一般使用分布来表达,请

问:

如果个事件的发生服从正态分布,在计算机中到底什么时候发生呢?如何进行仿真?

3.5.补充知识(概率和分布)

4离散分布

如果随机变量只能取有限的或无限但可以数下去的数值,则这种随机变量取值的概

率规律称为离散分布。这类分布往往将随机试验的所有结果及其相应的概率一一列出来

以表示分布规律。

例1:抛置硬币这一随机试验可以用如下一些方式来表示其分布规律:

①记A={正面向上},B={反面向上},则P(A)=0.5,P(B)=0.5„

②令出现正面向上用1表示,反面向上用0表示,则P(&=1)=0.5,P(&=0)=0.5

③用图形来表示:

④用表格表示:

随机事件正面向上反面向上

概率0.50.5

⑤令出现正面向上用1表示,反面向上用0表示,则可以用表格表示如下:

K10

P(g=k)0.50.5

,连续分布

如果随机变量可以取连续的数值,则这种随机变量取值的概率规律称为连续分布。

对于连续分布,我们不能列出所有取值及其对应的概率。以身高为例,可能取值

为:…160,161,162,…,168,169,170,…(单位cm),或者介于其中的任意数值,

如168.328cm。对于连续随机变量,我们只能求出介于某一范围的人数、频率以及概率,

因此连续分布的表示方法有别于离散分布,一般采用概率密度函数来表示。

当样本的容量及分组逐渐增加时,次数分布图将趋近于一条稳定而连续的曲线,这

条曲线就称为连续随机变量的概率密度函数,一般记为f(x)。下面的动画演示的就是

给从一正态总体中抽取的数据制作次数分布时.,随着分组的增加,分布图越来越趋近于

正态分布。

8000

60)0

4000

2000

151156161166171176181186

身高

在任何分布形态中(如正态分布、T分布,F分布),密度函数f(x)与横坐标所围

的面积都是1,这正如离散分布中所有事件的概率之和为1一样,都是用来表示所有可

能之和为100%。连续分布中表示某一范围的概率就是用在这两点之间,密度函数与横

坐标所围成的面积的大小来反映,如下图所示:

以下红色区域的面积表示身高为166~175si的人占总人

群的比例,即随机抽取一人,他的身高介干此范围内的

可能性。密度函数与横坐标所围成的面积被设定为1。

148151154157160163166169172175178181184187

身高

学过高等数学中微积分的同学们会知道,曲线与横坐标所围成的面积用定积分来计

算,正如图中的数学式。没学过积分的学员只要能理解连续分布中要表示一个范围的概

率只要求出概率密度函数与横坐标之间的面积即可,而至于如何计算这个面积这不是我

们学习统计时应该关心的,因为我们可以通过查表来获得这些结果。而对于每一个分布

的概率密度函数是怎么样的也不要求我们去掌握,我们只要知道它是一条表示连续分布

的规律的曲线即可。

辨析:

离散型分布用随机变量某点的取值概率分布来表示,其取值即为该随机事件在该点的

发生概率,但是连续型分布某一点的取值概率不能用某一点的取值表示,该点的取值表

示事件发生的密度,即同单位时间内发生的次数,可以简单地理解为发生的频次。

在某一点发生的概率几乎都是零。

发生概率讲的是某一个区间内的发生可能性。

分布函数:

定义设X是随机变量,对任意实数X,事件{七X}的

概率P{XKx}称为随机变量X的分布函数。

记为F(x),即

F(x)=P{X<x}.

易知,对任意实数a,b(avb),

P<a<X<b}=P{X<b}-P{X<a}=F(b)-F(a).

3.6.随机变量的抽样方法

在仿真中,说某个事件的发生服从某个分布,但是计算机不知如何处理该分布,只

知道在某个确定的时刻让该事件发生,这个确定的时刻如何设定,才可以让所有时刻的

取值服从该分布呢?即如何实现事件的抽样。让样本符合分布。

例如:轮船到达时间服从均值为10,方差为2的正态分布,如何在计算机中产生

随机时间,让轮船到达?

3.6.1.变换抽样法

我们知道,所有事件的发生概率和为1。由分布函数的定义可知,F(XD表示X<=xi

的发生概率,则△尸表示对应的Ar的发生概率,曲线陡对应的Ar出现的概率高,平

缓部分对应的事件出现的概率低,概率高低正好满足该分布。如果u是在F(x)上的

均匀分布,则u是随机的,因此,/T(“)对应的值出现的概率满足F分布。因此,用

u作为自变量的F的反函数取值样本能够代表事件发生的分布。

即设一随机变量的概率密度为/(X),则其抽样方法为:

首先求其分布函数F(x)

求其反函数*

令“为[0,1]范围内的随机数,则x的抽样值服从/(X)分布。

(1)均匀分布随机变量

.a<x<b

f(x)=b-a

0,其他

JiliJF(x)=f—=—u,可得x=a+(万一

Mb-ab-a

(2)指数分布随机变量

T”,X>0u-;lx

/(%)=<则F(x)=£Ae-du=1-e=u,可得

0,x<0

x=-Ln(l-u)o

A

3.6.2.离散型分布的直接取样法

当X是离散型随机变量时,设p,=P{X=xJ,给定一个随机数re(O,l],当

*-lk

Z化<r4Z化时,X=人。

<=1i=\

例如,设X服从泊松分布P(/l),其抽样方法是,

〃一In

当£了7</4'了用,'=”

k=ok,hok.0

(1)产生(0,1)均匀随机数6

(2)读入累计概率分布函数F(I)

(3)将%与F(I)由小到大顺次比较,当尸(/一1)4%〈尸(1),则X=I

(4)重复1-3步骤,则可得到X的抽样值。

直接抽样法的特点是直观、方便。但由于许多随机变量的累积分布函数无法用解

析函数给出,有些随机变量的累积分布函数的反函数不存在或难以求出,即使反函数存

在,但计算困难,因此在实际中直接抽样法受到很大的限制。

3.6.3.舍选法

L为f(x)的最大值,取u2和Lui两个随机数,如果,Lui〈f(u2),则抽样成功,否

则舍弃,即Lui落在分布曲线的下面,用u2和Lui的取值概率来表示其密度,如果在

u2的密度高,则其取值的成功可能性就大,因此,其能够代表该随机变量的分布密度。

如图P126所示。

3.6.4.随机数的产生

ax.

L

乘同余法:即xi+i=axi-[~]xm

m

II表示取整操作。

m的取值:取01=2),j是某个整数,一般m选择在机器所能表示数的范围内,同时,

还要考虑公式计算得到的伪随机数序列的周期为m/4,它应大于试验的持续期。例

如产生8000个数的序列,则m应接近32000.

p

a的取值:a=22最接近而又满足a=8左±3的那个数,其中k为任意整数,p为

机器字长。

3.7.仿真方法及策略

3.7.1.仿真时间

定义自然时间,指以经典物理学中的时间,即人类在日常生活中使用的公元纪

年时间。时间格式为:yyyy-mm-ddhh:mm:ss«其中,yyyy四位整数表示年,,〃机为1-12

的整数表示月,dd为1到31的整数表示日期。助为0-23两位整数,表示小时,加加表

示分钟为0-59的整数,ss表示秒为0-59整数。

定义仿真时间,指虚拟时间或仿真模型时间,即仿真模型运行时由仿真系统产生

的仿真世界的时间。仿真过程中的一个特定时间称为考其时忽两个仿真时刻之间的时

间差称为仿真时间段,仿真时间段使用从0开始的连续的整数表示。

3.7.2.仿真时间推进方法

(1)时间步长法

与连续系统仿真类似,把仿真过程分为许多相等的时间间隔,在每个时刻,系统对所有

实体、属性和活动扫描,进行分析、计算记录。

缺点:对仿真精度有影响,当事件的发生没有在步长前进的时刻时,则其发生时刻存在

误差。

优点:实现简单

(2)事件步长法

类似于变步长,以事件发生的时间为增量,按照事件的进展,一步一步地对系统的行为

进行仿真,直到预定的仿真时间结束。

其方法为:

CPNtools仿真时钟

Simulatedtimecouldtickforwardcontinually,asrealtimedoes,butthatwouldbea

veryinefficientwaytodothings:theclockwouldfrequentlywasterealtimecounting

offintervalsofsimulatedtimeduringwhichthemodelremainsunchanged.Such

countingwouldaccomplishnothing.Itismoreefficientinsuchacasetojumpthe

simulatedclockimmediatelytothenexttimewhensomechangeispossible,and

proceedwithexecutingthenet.

Thereforethesimulatedclockdoesnotmoveatasteadyrate.Insteadit

remainsatitscurrentvalueaslongasthereareanyenabledtransitions.

Whentherearenoenabledtranistionsleft,theclockjumpsforwardbythe

smallestamountnecessaryforatleastonetransitiontobecomeenabled.

Thisimpliesthattimewillnevermoveforwardinanetthatalwayshas

enabledtransitionsindependentlyoftime.

Simulatedtimepasseswhenandonlywhentheclockisincremented.

Everythingthathappenswhiletheclockremainsataparticularsettingis

bothsimultaneousandinstantaneousinsimulatedtime.

Thisisconventientwhenasystemcontainsaneventthathappensata

particularmoment,butthatissufficientlycomplexthatmodelingitby

firingasequenceofsimpletransitions,ratherthanonecomplextransition,

ismostconventient.Leavingtheclockunincrementedduringsucha

sequenceletsusmodeltheeventasamanageableseriesofsmallchanges,

whilepreservingtheinstantaneityoftheevent'seffectonthestateofthe

model.

优点:对精度影响小

选择:当判断比较的数目较大或事件变化呈周期性特点时,用时间步长法可以节省用机

事件,而当两个事件出现的平均间隔较长时,更适宜于用事件步长法。

方法:常用事件表法,将所有事件放入一个表,每处理完成一个,就去掉,如果当前时

间没有事件发生,则可以将时钟向前推进到最近的一个事件。对于同时出现的事件,可

以采用LILO,FIFO、随机等方法进行处理。

3.7.3.仿真策略:

根据仿真控制粒度,分为事件调度法、活动描述法、进程交互法。

其基本思想是每次处理一个事件/活动/进程。

排队系统是一种最常见的系统:例如加油、老师辅导、交电话费,买早餐,只要存在资

源竞争的问题,就存在排队问题。

所幸的是,在这个世界上,总是存在资源竞争,因为资源的匮乏,也因为我们与生俱来

的贪得无厌的欲望,物质欲、权利欲。因此,排队系统大有用武之地。

3.7.4.排队系统的组成:

(1)到达模式,指临时实体按照怎样的规律到达,一般用到达间隔的统计特征来描

关键概念:

平均到达间隔时间7;,在总时间T中,到达了n个实体,则7;=77〃

平均到达速率:入=1/7;

到达时间分布函数A。«),即到达间隔时间大于t的概率,4,«)=1—尸«),F⑴为

到达时间间隔小于t的概率。

到达时间变化系数:到达间隔时间的标准差Sa与平均到达间隔时间的比值Sa/Ta,变化

系数是个无量纲的值,描述了数据围绕平均值的分散程度。

(2)服务机构,指同一时刻有多少个服务台可以提供服务,他们的服务时间?

平均服务时间7;

平均服务速率:u

So«)服务时间大于t的概率

服务台可以是并行的,也可以是串行的

(3)排队规则:即服务台完成当前的服务后,选择下一个实体的规则

FiFO

LIFO

随机规则

优先权服务

3.7.5.排队系统的类型

排队模型的分类:针对单对多服务台且按FIFO规则服务的情形,将其表示为

X/Y/Z

X表示到达间隔时间的分布

Y服务时间的分布

Z服务台的数量

分布通常是:M--负指数分布,D确定性,G一般随机分布,Ek,k阶爱尔朗分布

GI一般相互独立的随机分布

常见的M/M/l、M/M/2

3.7.6.排队系统的主要统计性能

稳态平均排队时间d=i=l,n,£>,为第i个实体排队的时间。

"T81=1

实体通过系统的稳态平均滞留时间:®=limYW/M=limy(D+S,)/n,4为

n-*ooTT*“f8TT*

i=l

实体接受服务时间。

稳态平均对长:e=lim((Q(t)+S(t))dt/T,积分的含义,Q(t)为t时刻的队列

T—>oo』)

长度

稳态平均实体数:队列实体+服务实体

排队系统仿真程序,流程图见图4.16,P138

作业:编程实现

3.8.库存系统仿真

库存系统是一种常见的离散事件系统。国内外大企业正在推行的•种JIT管理模式,Just

intime,精细化管理、零库存管理,日本丰田汽车能够实现零库存管理,在丰田工厂周

围,分布着其零件供应商•丰田精细的计算着自己的需求,但没有仓库。降低成本,加

速企业资金流动,规避市场风险。库存仿真系统是对企业进行研究的一种方式。

除了传统的企业仓库,还有银行的储备金、技术人才储备(教育战略研究)、超市上货

等也属于库存系统。

库存系统:

(1)需求:是库存系统的输出,由于需求,使库存量不断减少。需求有确定性

和随机性两种。

(2)订货:库存系统的输入。由于订货,使库存增加。订货有滞后时间。因此,

需要提前订货,成为提前时间。包括随机和确定两种。库存

库存系统中的费用包括:

(1)保管费

(2)订货费

(3)缺货费

库存系统可以使用解析法来求解,对于复杂的库存系统,需要使用仿真的方法。

库存系统仿真:

扫描流程图

3.9.Petri网简介

Petri网(Petrinet,PN)的概念最初由联邦德国的CarlAdamPetri于1962

年在其博士论文《用自动机通信》中提出,后经过PetersonJL和HackM

等人的不断研究,逐渐发展成为一种可并发的状态变迁模型。

PN是一套兼具图形与数学理论基础的流程分析工具。由于完备的数学理论基

础,使得PN很快成为用来描述与分析系统的同步与互斥行为的工具。随着系

统难度增加,基本的PN也延伸出许多高级PN理论,用来加强对系统建模的

能力。

在20世纪80年代取得了突破性进展,它非常适合于定义和分析复杂过程。

3.9.1.基本Petri网

.简介

定义2.1Petri网,一个基本Petri网系统是--个五元组,

PN=(P,T,F,W,

其中P={p/,p2,为有限非空库所(place)集,集合元素在网中以圆圈(circles)

表示,表示状态,例如:挖土机是否准备好。库所中包含的黑点称为资源(token)。

7={〃,介,…,%}为有限非空变迁(transition)集,集合元素在网中以方框(squares)

表示,表示状态的改变。例如:挖土机挖土的过程可以使用一个变迁表示。

FqfPx。。0xP)是有向弧(arc)集,使用有向箭头(directedarcs)表示,表示资

源的流动方向。

W为弧上的权重集。

M”表示网的初始情态集。表示在初始状态下p库所中包含的资源(token)数

量。

其中由(P,T,尸)组成的有向图称为Petri网,记作E在本文中,为了简便,在

不特别说明的情况下,文中的“Peiri网”均为Petri网系统。

.变迁“点火”规则

系统的行为可以用系统的状态和状态的改变来描述,为了仿真所研究系统的动态行

为,Petri网的状态(也称为情态Marking,记作M)的改变依赖于下面变迁的发生规则

(也称为点火规则,firingrules):

(1)如果变迁r的输入库所p包含有至少W(p,。个资源,则变迁f是“使能”

的,其中,w(p,f)是从库所0到变迁,弧上的权重。

(2)一个使能的变迁可以发生也可以不发生(依赖于变迁所代表的事件实际是否

发生)。

(3)一个使能变迁f的发生从其每个输入库所夕中移走W(p,f)个资源,并给每

个输出库所P增加WQ,P)个资源,其中W0,p)为变迁,到输出库所?弧上的权重。

.例子

基本Petri网发生过程演示

Pnet_l_2.rar

3.9.2.Petri网建模

图2.1基本过程普遍存在的结构Petri网表示方法错却未定义书姒。

图2.1施工过程普遍存在的结构Petri网表示方法

图2.1(1)顺序结构。t2变迁只能在tl变迁完成后发生,顺序结构类似于网络图中

的紧前紧后工序,也可以用来表示有因果关系的施工作业,例如,钢筋没有放入,则水

泥浇筑不能开始。

图2.1(2)冲突结构。tl、t2、t3处与冲突之中,所有的变迁都处于使能状态,但其

中一个的发生将使得其他的变迁不能发生。当多个施工作业共享一个资源时,这种情况

便可能发生。例如,摊铺机前的运输车队列,每个运输车都可以卸载混合料,但当一个

运输车卸载时,其他的车必须等待。

图2.1(3)并发结构。tl、t2、t3处于并发状态,他们都处于使能状态,变迁的点火

也互不干扰。这种结构可以用来表示互不影响的施工作业。

图2.1(4)同步结构。pl、p2、p3必须同时包含资源tl才能发生。这可以用来表示

一个施工作业需要多个资源的状况。例如,只有拌和楼工作正常并且装载队列中有空车

存在时,才可以进行装载作业。

图2.1(5)合并结构。用来表示在同一个作业中使用的几种材料到达时的过程。例如,

水泥混凝土所需的水泥、沙子、水等运送到水泥搅拌车处的过程。

图2.1(6)混惑结构。在冲突和并发同时存在的时候,便产生混惑。施工过程中,当

资源共享时,这种结构有时会出现。网论指出,混惑存在的地方,就是环境对系统可以

施加影响的地方,也就是人们的决策对系统施加影响、消除不确定性的地方,在工程中,

可以通过增加设备、改变施工方法等进行消除。这种对系统进行局部改造,也就是用到

局部设计的思想,通过局部性能的改善提高整个组织的效率。

图1典型PN

由于业务系统的不断扩大,典型PN延伸出很多高级PN,以便更好地对

复杂系统进行建模和分析。

高级PN:

1、谓词/变迁网(predicate/transitionnet)

2、着色PN(coloredPN,CPN)

3、面向对象PN(object-orientedPN,OPN)

4、模糊PN(fuzzyPN,FPN)

5、微分PN(differentialPN,DPN)

6、混合PN(hybridPN,HPN)

7、变结构PN(PNwithchangeablestructure,PN-CS)

8、timedCPN(TCPN)

9、随机CPN(stochasticCPN,SCPN)

10、timedOPN(TOPN)

3.9.3.Petri网分析

Petri网的经典介绍:

Murata_petri.pdf

(1)introduction

(2)transitionenablingandFiring

(3)modelingexample

a)finitestatemachine

b)parallelactivities

c)dataflowcompute

d)communicationprotocol

e)synchronizationcontrol

f)带优先权的生产一消费系统

g)形式语言

h)多处理系统

(4)Behaviorproperities

a)Reachablity

ings.AmarkingMnissaidtobereachablefromamarking

MoifthereexistsasequenceoffiringsthattransformsMo

toM".Afiringoroccurrencesequenceisdenotedbya=

MQtr%f2M2・,♦orsimplya=t,t2

•・・tn.Inthiscase,MnisreachablefromMobyoandwe

writeM0[o>Mn.Thesetofallpossiblemarkingsreachable

frominanet(N,Mo)isdenotedbyR(N,%)orsimply

R(Mo).ThesetofallpossiblefiringsequencesfromMQin

anet(N,MQisdenotedbyL(N,Mo)orsimply£(M0).

B.Boundedness

APetrinet(NtMo)issaidtobek-boundedorsimply

boundedifthenumberoftokensineachplacedoesnot

exceedafinitenumberkforanymarkingreachablefrom

Mo,ie,M{p)<kforeveryplacepandeverymarkingM

6R(Mj.APetrinet(N,MJissaidtobesafeifitis1-bounded.

c)liveness

Theconceptoflivenessiscloselyrelatedtothecomplete

absenceofdeadlocksinoperatingsystems.APetrinet(N,

Mo)issaidtobelive(orequivalentlyMQissaidtobealive

markingforN)if,nomatterwhatmarkinghasbeenreached

fromMo,itispossibletoultimatelyfireanytransitionofthe

netbyprogressingthroughsomefurtherfiringsequence.

Livenessisanidealpropertyformanysystems.However,

itisimpracticalandtoocostlytoverifythisstrongproperty

forsomesystemssuchastheoperatingsystemofalarge

computer.Thus,werelaxthelivenessconditionanddefine

differentlevelsoflivenessasfollows[8],[178].Atransition

rinaPetrinet(N,MJissaidtobe:

0)dead(LO-live)iftcanneverbefiredinanyfiring

sequencein

1)L1live(potentiallyfirable)iffcanbefiredatleastonce

insomefiringsequencein£(M0).

2)L2-liveif,givenanypositiveintegerk,tcanbefired

atleastktimesinsomefiringsequencein

3)L3-liveiftappearsinfinitely,ofteninsomefiring

sequencein£(M0).

4)L4liveorliveiffis£7-liveforeverymarkingMinR(MJ.

D.ReversibilityandHomeState

APetrinet(N,M0)issaidtobereversibleif,foreachmark­

ingMinR(Mj,MQisreachablefromM.Thus,inareversible

netonecanalwaysgetbacktotheinitialmarkingorstate.

Inmanyapplications,itisnotnecessarytogetbacktothe

initialstateaslongasonecangetbacktosome(home)state.

Therefore,werelaxthereversibilityconditionanddefine

ahomestate.AmarkingM'issaidtobeahomestateif,for

eachmarkingMinM'isreachablefromM.

E.Coverability

AmarkingMinaPetrinet(N,M0)issaidtobecoverable

ifthereexistsamarkingM'insuchthatM'(p)2M(p)

foreachpinthenet.CoverabilityiscloselyrelatedtoLI-

liveness(potentialfirability).LetMbetheminimummark­

ingneededtoenableatransitiont.Thentisdead(notL1-

live)ifandonlyifMisnotcoverable.Thatis,tis£7-liveif

andonlyifMiscoverable.

F.Persistence

APetrinet(N,Mo)issaidtobepersistentif,foranytwo

enabledtransitions,thefiringofonetransitionwillnotdis­

abletheother.Atransitioninapersistentnet,onceitis

enabled,willstayenableduntilitfires.Thenotionofper-

Q.SynchronicDistancenetMQ)oy

制⑴

Thenotionofsynchronicdistancesisafundamentalcon­dn=max|OU0-8”

ceptintroducedbyC.A.Petri(181).Itisametricclosely

relatedtoadegreeofmutualdependencebetweentwowhereaisafiringsequence

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论