1、什么是仿真?什么是离散系统的仿真?仿真(Simulation),即使用项目模型将特定于某一具体层次的不确定性转化为它们对目标的影响,该影响是在项目仿真项目整体的层次上表示的。
项目仿真利用计算机模型和某一具体层次的风险估计,一般采用蒙特卡洛法进行仿真。
系统的状态只在离散时间点上发生变化,而离散时间点一般是不确定的、随机的。
对这种系统的仿真就是离散系统的仿真。
2、为什么需要做仿真?人们对复杂事物和复杂系统建立数学模型并进行求解的能力有限。
计算机仿真技术可以可以预演或再现系统的运动规律或运动过程,利用它可以对无法直接进行实验的系统进行仿真试验研究,从而节省大量的能源和费用。
3、仿真要做那些准备工作?1.阻抗控制2.分配器件模型系统的输入:边界以外对系统的作用系统的输出:系统对边界以外的环境的作用。
系统“三要素”:实体Entity:组成系统的具体对象。
确定系统的构成;属性property (描述变量):描述每一实体的特征,指实体所具有的每一项有效特性。
活动Activity:指随着时间的推移,在系统内部由于各种原因而发生的变化过程。
试验的方法:真实系统法-构造模型法(物理-沙盘模型、数学模型)为什么采用构造模型法:真实系统尚未建立。
破坏和故障、风险。
试验条件的同一性。
时间和费用问题。
模型是系统的代表,同时也是对系统的简化。
系统模型的性质:相似性、简单性、多面性建立模型的原则:清晰性、相关性、准确性、可辨识性、集合性仿真基于模型系统、模型与仿真三者之间的关系:系统是研究对象。
模型是系统特性的描述。
仿真则包含建立模型及对模型进行试验两个过程。
仿真的要素和活动:仿真的依据:相似原理、系统仿真系统仿真:以计算机和其它专用物理效应设备为工具,利用系统模型对真实或假想的系统进行试验,并借助于专家经验知识、统计数据和信息资料对试验结果进行分析研究,进而做出决策的一门综合性和试验性学科。
仿真的分类:【物理仿真、数学仿真/计算机仿真、物理-数学仿真(半实物仿真)】或【实时仿真、亚实时仿真、超实时仿真】或【连续系统仿真、离散事件系统仿真】系统仿真的步骤:系统建模与形式化仿真建模程序设计仿真输出分析概率论(Probability Theory)概率与统计(Probability and Statistics)频率(frequency)确定事件(certain event)随机事件(stochastic event)随机变量(random variable)概率(Probability)离散型随机变量(discrete random variable)连续型随机变量(continuous random variable)数学期望Expected value方差:Variance泊松分布(Poisson distribution)均匀分布(Uniform)指数分布(exponential)正态分布(Normal)标准正态分布(standard normal distribution)贝塔分布(Beta)三角分布(triangular)爱尔朗分布(Erlang)离散型随机变量、连续型随机变量分布假设检验:第一类错误(弃真)、第二类错误(存伪)离散事件系统仿真随机数的特性:均匀性、独立性伪随机数:运用某种算法产生的随机数可能会破坏随机的基本性质。
在仿真研究中对利用算法产生的伪随机数序列进行合理性检验也是非常重要的离散事件系统仿真建模方法:实体流图法活动周期图法Petri网方法连续系统:系统状态随时间连续变化的。
特点:有解析表达式(动力学系统)或系统结构图(电路系统)。
离散事件系统:系统的状态只在离散时间点上发生变化,而离散时间点一般是不确定的、随机的。
离散事件系统由事件来驱动的。
实体:构成系统的各种成分;是系统边界内的对象。
临时实体、永久实体关系:临时实体按一定规律不断地到达,在永久实体作用下通过系统,最后离开系统,整个系统呈现出动态过程。
属性:实体特征的描述,一般是实体所拥有的全部特征的一个子集,用特征参数或变量表示。
事件:引起系统状态发生变化的行为系统事件和用于控制仿真进程的“程序事件”。
活动:实体在两个事件之间保持某一状态的持续过程;用于表示两个可以区分的事件之间的过程,它标志着系统状态的转移。
进程:由若干个有序事件及若干有序活动组成,描述包括事件及活动间的相互逻辑关系及时序关系。
仿真钟的推进方法:事件调度法、固定增量时间统计计数部件:统计系统中的有关变量。
Petri网法(Petri net):采用自顶向下的方法(递阶Petri网)来建立系统模型,使得所建模型层次分明。
在一定条件下,可以翻译为系统的控制代码。
PN可以表示为五元组,PN=(P,T,I,O,μ)P={p1,p2,…,pn}T={t1,t2,…,tn}I:P T的输入函数(变迁到库所)--缺省为1;O:T P的输出函数(库所到变迁)--缺省为1;μ:库所的令牌(token)库所容量:K-库所中允许存放资源的最大量。
活动周期图法(Activity Cycle Diagram)ACD:将实体的状态分为静寂(Dead)和激活(Active)两种。
状态之间用箭头线相连,不同的实体用不同的线型.表示各种实体的状态变化历程。
两项原则:交替原则:静寂状态和激活状态必须交替出现闭合原则:每类实体的活动周期图都必须是闭合的由于EFC没有ACD那样规范,因此如果不考虑模型的运行问题,EFC比ACD的适用范围更广。
EFC中可以对队列的排队规则和服务规则进行比较详细的描述。
仿真模型的设计与实现:(1)设计仿真策略(2)构造仿真模型(3)仿真程序设计与实现仿真策略:事件调度法ES(Event Scheduling)活动扫描法AS(Activity Scanning)进程交互法PI(Process Interactive)三阶段法TP(Three Phase排队系统目的:寻找服务对象与服务设置之间的最佳配置,保证系统具有最佳的服务效率与最合理的配置。
减小顾客等待时间、提高服务系统的效率、对服务系统的成本效益平衡分析排队系统组成:顾客:等待服务的对象,一般为动态实体。
到达模式:顾客按照一定的统计规律到达系统,常用的是泊松到达模式,即单位时间内达到的个体数量服从泊松分布。
此时两实体到达的时间间隔也是随机变量,概率服从指数分布服务台(服务机构):提供服务的机构、设备或人服务时间:顾客占用服务台的时间排队规则:服务台为顾客提供服务的规则(系统容量:系统可提供服务的能力。
有限/无限)队长=排队等候的顾客数+正在接受服务的顾客数Quest:虚拟工厂及离散事件仿真软件Quest是基于三维建模环境,每个模型可以分为两个部分:物理模型和逻辑模型物理模型:是Quest系统的三维表现。
逻辑模型:是Quest仿真的核心,逻辑模型由两种类型的逻辑组件构成:element和part element由如下组成:逻辑:控制element 行为的规则和方法+属性:隶属于element的数据条目ArenaLibrary(库):E xtend有许多库,如通用库(Generic.LIX),离散时间库(Discrete Event.LIX)等Block(块):组成模型的基本单位Connector(连接器):用来和其他块相连,不同种类有不同的作用Connections:将不同的块连接起来,实现信息的传递Plotter:以图表的形式输出仿真结果,既有图又有表Basic Process:Create:它是流程的开始,实体从该模块进入仿真过程。
Dispose:它是流程的结尾,实体从该模块退出仿真过程。
Process:一个活动,通常需要一个或更多的资源,并且需要消耗一些时间来完成。
Decide:是程序的分支部分,实体只可以选择一个分支。
Batch:在继续运行流程之前,收集一定量的实体。
Separate:在并行的程序中复制实体,或是将先前所建立的一组实体分散成其他组。
Assign:在仿真过程中改变一些参数的值,例如实体的类型或仿真变量。
Record:拥有统计功能,统计实体的数量和时间周期。
Entity:定义系统中的实体的属性。
Queue:定义系统中队列的属性。
Resource:定义系统中资源的属性。
Variable:定义系统中变量。
Schedule:定义系统中使用的计划,用于产生实体、使用资源等。
Set:将系统中具有某种相同属性的资源整合成为一个集使用,具有与资源类似的性质。
Arena步骤:创建一个基本的模型完善模型模型仿真分析仿真结果挑选最好的选择FlexsimFlexsim是一个离散型(Discrete-Event)的面向对象(Object Oriented)的仿真软件;应用范围:服务问题、生产制造问题、物流问题Witness五种元素:离散型元素连续元素运输逻辑型元素逻辑型元素图形元素对象分类:资源类(Fixed Resources)Source,Queue,Processor,Sink,Combiner,Separator, MultiProcessor,Conveyor,MergeSort,FlowNode,Rack,and Reservoir执行类(Task Executer)Dispatcher,Operator,Transporter,Elevator,Robot,Crane,ASRS vehicle网络类(Node)Network Node,Traffic Control图示类(Visual Object)Visual Tool,RecorderFlexsim模型中的对象之间是通过端口来连接的三种类型的端口:输入端口(input ports):Fixed Resource之间的连接输出端口(output ports):Fixed Resource之间的连接中心端口(center ports):连接Task Executer和Fixed Resource“s”连接仅用于中心端口之间的连接“a”连接用于除中心端口之外的所有其他的连接方法:用来完成一项任务的一系列规则集Flexsim建模的基本步骤:构建模型布局定义物流流程编辑对象参数编译运行仿真分析仿真结果“a”键用来将对象1的输出端口连接到对象2的输入端口上“q”键用来取消对象1的输出端口与对象2的输入端口之间的连接“s”键用来连接对象1与对象2的中心端口“w”键用来取消对象1与对象2的中心端口的连接校核-验证-确认(VV&A)目的是为了提高和保证模型和仿真的精度和可信度,使仿真系统满足可重用性、互操作性等仿真需求。
非形式化方法:桌面检查、走查、审查程序走查是请某个机构对设计的某些元素及仿真实现进行审查。
走查的目的:是以有效的方式及时提供仿真开发过程的高质量反馈信息。