离散系统仿真与应用-Witness软件与应用南京理工大学经济管理学院E-mail:jie_chen163@163.com0.引言事物并不是孤立的,它们之间存在着内在的和有机的联系。我们将这种由相互联系、相互作用的事物或元素构成的统一整体称为系统。长期以来,人们已经充分认识到利用数学模型去描述所研究系统的优越性、并且逐渐地发展了系统研究和系统分析理论。但是,由于数学手段的限制,人们对复杂事物和复杂系统建立数学模型并进行求解的能力是非常有限的。计算机的出现,使人们利用数学模型描述系统的特征并进行求解的手段逐步发展成为现代的计算机仿真技术,计算机仿真技术有着巨大的优越性,利用它可以求解许多复杂而无法用数学手段解析求解的问题,利用它可以预演或再现系统的运动规律或运动过程,利用它可以对无法直接进行实验的系统进行仿真试验研究。于计算机仿真技术的优越性。它的应用领域已经非常广泛,而且也越来越受到普遍的重视。主要内容1.仿真技术的产生与发展2.系统、模型与仿真3.离散事件系统仿真4.仿真的一般步骤1.1仿真技术的产生与发展所谓仿真就是对客观的事物或系统进行抽象,建立系统模型,并在模型上试验,以达到了解或设计系统的目的。因此,系统仿真是一项人们认识和了解实际的社会实践活动,它包含:系统、系统模型和试验三大要素。(1)朴素的仿真思想自古已有,如:“放大样”。然而真正的仿真技术的发展还是在计算机计算发展以后。(2)早期的仿真以物理仿真为主,如:风洞试验、三峡生态、水利试验等。(3)以计算机软硬件为基础的计算机仿真对仿真技术的发展起到了及其重要的作用。1.1仿真技术的产生与发展1)仿真软件的发展历史上第一个仿真软件是由塞尔弗里奇(Selfridge)在1955年开发的。他完成了利用辛普森方法进行数值积分的仿真程序设计工作。从那之后,仿真软件的发展经历了四个阶段。(1)第一阶段(从50年代到60年代初期)以Fortran语言为代表的通用程序设计语言阶段,Fortran语言是达到成熟的第一个高级程序设计语言。当时几乎所有用于求解数学表达式的程序都是用Fortran语言编写成的,即使在目前,也有许多大型的通用仿真语言是基于Fortran语言编制的。1.1仿真技术的产生与发展(2)第二阶段(从60年代到70年代初期)在这个阶段出现了多种仿真程序包及初级仿真语言。这个时期仿真软件主要解决的问题是利用数字仿真方法求解常微分方程组。如:-1961年,贝尔实验室开发的用于实现数据采集系统仿真的面向框图的程序BLODI(BlockDiagramcompiler),-1962年,工业动力学系统仿真专门开发的语言DYNAMO(DYNAmicModels)-1983发表的用于求解常微分方程组的仿真程序MIDAS(ModifiedIntegrationDigitalAnalogSimulator)-1964年由IBM公司的G.戈登(Gordon)开发的高度结构化的利用进程交互法进行排队问题仿真的专用仿真语言GPSS(GeneralPurposeSimulationSystem)。1.1仿真技术的产生与发展(2)第二阶段(从60年代到70年代初期)到1967年已有仿真语言几十种,为了促进已有的几十种数字仿真语言的标准化,美国计算机仿真学会SCS提出了CSSL(ContinuousSystemSimulationLanguage)标准,后来开发的仿真语言大都遵循这个标准。1.1仿真技术的产生与发展(3)第三阶段(从70年代到80年代初期)出现了高级完善的商品化仿真语言。这个阶段仿真语言的特点是在以下几个方面比早期的仿真语言更加成熟和全面。·模型的表达能力·数值性能和算法·语言的结构特征·模型验证·程序执行方式·数据管理和处理能力·输入输出特性1.1仿真技术的产生与发展(3)第三阶段(从70年代到80年代初期)例如:-在70年代中期推出的算法全面,功能强大的求解常微分方程和差分方程问题的仿真语言CSSL-IV-ACSL(AdvancedContinuousSimulationLanguage)-1971年推出的用于离散事件仿真的可以用类似自然语言自由格式描述系统模型的仿真语言SimscriptI.5和应用广泛的随机网络建模的SLAM仿真语言。1.1仿真技术的产生与发展(4)第四阶段(从80年代中期以后)称为一体化建模与仿真环境研究,其背景主要是:·随着建模与仿真工作要求的提高,已开发的各种仿真软件经常不能协调地工作;·对仿真语言的要求越来越复杂;·存在大量的数据处理及文档化工作;·不同的用户(建模者,仿真实验人员,决策者)对仿真工具有不同的要求;·计算机网络技术和数据库技术有较大的发展;(4)第四阶段(从80年代中期以后)主要特点:-支持建模与仿真的全寿命周期活动;-集成化程度高;-方便友好的用户接口;-初步的知识处理能力;-模型与仿真的质量保证措施;-开放性。1.1仿真技术的产生与发展(4)第四阶段(从80年代中期以后)目前市面上的主要仿真软件:20-sim、arena、Automod、Awesim、Easy5、Idef、Intrax、ManufacturingEngineering、Matlab、Modsim、Promodel、Prosolvia、Quest、SDIsupplychain以及Witness。1.1仿真技术的产生与发展1.1仿真技术的产生与发展2)仿真建模学的发展仿真是在系统模型上进行实验的过程。利用计算机进行仿真就必须建立能够被计算机识别并在计算机上运行的系统模型,也就是说,通过对系统进行分析,首先建立描述系统行为规律的系统模型,再将其转换为计算机仿真程序。仿真运算过程就是对系统模型求解的过程。为了通过仿真分析能够准确地掌握系统的内在运动规律,在仿真中以下两个方面是非常重要的。一是建立准确的系统模型,二是获得正确的仿真结果。1.1仿真技术的产生与发展2)仿真建模学的发展早期计算机仿真的对象是对工程技术领域中的实际物理过程进行仿真。该领域中的问题(例如系统的控制和优化)涉及机械、电子、制造、航空等诸多背景,这些问题的特点是可以建立起以时间为基准的数学模型,即连续时间模型和离散时间模型,包括常微分方程、偏微分方程和差分方程等。利用实际工程背景中的原理和定理可以推导出所研究问题的时间微分或差分方程模型,而根据系统自身的特征和试验数据可以确定模型中的参数。在50年代至60年代,人们在差分方程和微分方程模型的结构特征化和参数辨识方面花费了相当的精力并取得了很大的成果1.1仿真技术的产生与发展2)仿真建模学的发展进入70年代,仿真逐步向政治、经济、军事等社会科学领域渗透,出现了许多用于求解这些领域中问题的数学模型。而随着对这些问题的深入分析和了解,数学模型从早期的微分方程和差分方程模型逐渐向能够反映问题离散和随机特点的离散事件逻辑流图和网络图模型过渡。同时,从求解静态模型的蒙特卡罗(MonteCarlo)法到研究系统动态模型的以事件调度法、活动扫描法和进程交互法为代表的仿真策略,离散事件模型的仿真算法研究也取得了很大的发展。1.1仿真技术的产生与发展2)仿真建模学的发展由于离散事件模型的构造比微分方程和差分方程复杂,而且建立的模型多种多样,即使对同一个系统也可以建立许多不同的模型,因此人们一直在探索用统一的建模方法来指导和简化离散事件模型的建模过程。70年代中期B.P.齐格勒(B.P.Zeigler)提出了模型的规范化和形式化描述理论,使得建模方法学前进了一大步。从那时起,结合计算机软件方法学的发展,系统建模理论中引入了层次化模块化方法和面向对象的思想,为建立集成化交互式建模环境提供了良好的基础。1.1仿真技术的产生与发展2)仿真建模学的发展-面向对象仿真-定性仿真-智能仿真-分布交互仿真-可视化仿真-多媒体仿真-虚拟现实仿真-Internet网上仿真1.2系统、模型和仿真1)系统及其有关概念-系统的定义:相互联系而又相互作用的有机组合。-系统的分类:工程系统、非工程系统。-系统的三要素:实体、属性和活动。-系统的边界性和可分解性。系统仿真的研究对象是具有独立行为规律的系统。所谓系统是指相互联系又相互作用着的对象的有机组合。从广义上讲,系统的概念是非常广阔的。大到无垠的宇宙世界,小到分子原子,我们都可以称之为系统。非工程系统:指自然和社会在发展过程中形成的,被人们在长期的生产劳动和社会实践中逐渐认识的系统。例如社会、经济、管理、交通、生物系统等属于非工程系统。工程系统:指人们为满足某种需要或实现某个预定的功能,利用某种手段构造而成的系统。工程系统的例子非常多,如机械、电气,动力、化工、武器系统等。实体:指组成系统的具体对象。例如,在商品销售系统中的实体有经理、部门、商品货币、仓库等。系统中的各个实体既具有一定的相对独立性,又相互联系构成一个整体。属性:指实体所具有的每一项有效特性。例如,商品的属性有生产日期、进货价格、销售日期、售价等。活动:指随着时间的推移、在系统内部由于各种原因而发生的变化过程。例如零售商品价格的增长等。在对一个系统进行分析时,必须考虑系统所处的环境,而首要的便是划分系统与其所处环境之间的边界。系统边界包围系统中的所有实体。系统边界的划分在很大程度上取决于系统研究的目的(库存系统、企业系统、供应链系统)。另一方面,系统在某些条件下是可以分解的。也就是说,构成系统的某个实体本身也可以看成为一个单独的系统来进行分析研究,这个系统称为原系统的一个子系统或分系统。系统是在不断地运动、发展、变化的。由于组成系统的实体之间相互作用而引起实体属性的变化,使得在不同的时刻,系统中的实体和实体属性都可能会有所不同,这种变化通常用状态的概念来描述。在任意给定时刻,系统中实体、属性以及活动的信息总和称为系统在该时刻的状态;用于表示系统状态的变量称为状态变量。1.2系统、模型和仿真1.2系统、模型和仿真2)模型及其有关概念-模型的定义:为了达到系统研究的目的,用于收集和描述系统有关信息的实体。模型是对相应的真实对象和真实关系中那些有用的和令人感兴趣的特性的抽象,是对系统某些本质方面的描述,它以各种可用的形式提供被研究系统的信息。模型描述可视为是对真实世界中的物体或过程相关信息进行形式化的结果。-模型的特点:相似性、简单性和多面性等特征。模型是系统的代表,同时也是对系统的简化。另一方面,模型应足够详细,以便从模型的实验中取得关于实际系统的有效结论。1.2系统、模型和仿真3)仿真及其有关概念-何谓仿真?仿真是一种解决问题的方法,在建立数学模型之后,有时用分析手段就可以求解系统有关的信息,但是当不能应用分析法的时候,就需要应用仿真方法求解。-系统、模型和仿真的相互关系系统、模型与仿真三者之间有着十分密切的关系,系统是研究对象,模型是系统特性的描述,仿真则包含建立模型及对模型进行试验两个过程。1.2系统、模型和仿真3)仿真及其有关概念-仿真的分类(1)按模型分(物理仿真、数学仿真、物理-数学仿真)(2)按仿真所用计算机类型(模拟仿真、数字仿真和混合仿真)(3)按仿真对象(连续系统仿真和离散事件系统仿真)物理仿真:按照真实系统的物理性质构造系统的物理模型,并在物理模型上进行实验,就称为物理仿真。数学仿真:按照真实系统的数学关系构造系统的数学模型,并在数学模型上进行实验,就称为数学仿真。物理-数学仿真:把系统的一部分写成数学模型,而另一部部分则构造其物理模型,然后将它们联接成系统模型进行实验,就称为物理-数学仿真,也称为半实物仿真。模拟仿真是基于数学模型相似原理上的一种方法,仿真的主要工具是模拟计算机,模拟仿真的特点是直观、运算速度快,但精度较差。数字仿真基于数值计算原理,仿真的主要工具是数字计算机和仿真软件。数字仿真自动化程度高,具有复杂逻辑判断的能力,而且可以获得较高的精度。混合仿真是将模拟仿真和数字仿真相结合的一种方法,仿真的主要工具是混合计算机系统。混合仿真兼备模拟仿真和数字仿真的优点,可以快速地进行多次仿真研究,因此特别适用于参数寻优,统计分析等方面的应用,尤其