系统仿真及其Matlab实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统模拟及其Matlab实现
系统模拟(亦称系统仿真)是指通过建立和运行系统的数学模型,来模仿实际系统的运行状态及其随时间变化的规律,以实现在计算机上进行试验的全过程。这是近30年来发展起来的一门新兴技术学科。实际对象通常是社会、经济、军事等复杂系统,一般都不能通过真实的实验来进行分析、研究。因此,系统模拟技术就成为十分重要甚至必不可少的工具。本章在介绍系统模拟的概念以及一般原理、方法和步骤的基础上,主要介绍三种基本的模拟方法及其模型,即蒙特卡洛模拟方法、排队模型、系统动力学模拟。通过蒙特卡洛(Monte Carlo)模拟可以具体了解系统模拟的基本原理及方法,排队模型体现了离散事件系统模拟的特点与规律,而系统动力学模拟则是一种可以广泛应用于各个领域的连续系统模拟方法。
1 系统模拟概述
(1)系统模拟的概念
系统模拟(亦称系统仿真)是近30年来发展起来的一门新兴技术学科。模拟(simulation)就是利用模型对实际系统进行试验研究的过程。实际对象通常是社会、经济、军事等复杂系统,一般都不能通过真实的实验来进行分析、研究。因此,系统
模拟技术就成为十分重要甚至必不可少的工具。系统模拟是对实际系统的一种模仿活动,也就是利用一个模型,通常是数学模型,来模仿实际的事物发展变化的规律。
系统模拟的确切概念可以表述如下:系统模拟是指通过建立和运行系统的数学模型,来模仿实际系统的运行状态及其随时间变化的规律,以实现在计算机上进行试验的全过程。在这个工程中,通过对模拟运行过程的观察和统计,得到被模拟系统的模拟输出参数和基本特性,以此来估计和推断实际系统的真实参数和真实性能,为真实系统问题的决策提供科学依据。
首先,系统模拟是一种有效的实验手段,它为一些复杂系统创造了一种柔性的计算实验验环境,使人们有可能在短时间内从计算机上获得对系统运动规律以及未来特性的认识。
第二,系统模拟实验是一种计算机上的软件实验,因此他需要较好的模拟软件(包括模拟语言)来支持系统的建模和模拟过程。
第三,模拟的输出结果是在模拟过程中由模拟软件自动给出的。
第四,一次模拟结果只是对系统行为的一次抽样,因此一项模拟研究往往由多次独立的重复模拟组成,所得到的模拟结果也只是对真实系统进行具有一定样本量的模拟实验的随机样本。因
此,模拟往往要进行多次实验的统计推断,以及对系统的性能和变化规律作多因素的综合评估。
目前,系统模拟作为系统研究和实践中的一个重要技术手段,在求解一些复杂的系统问题中,具有下列几个特点。
1)系统模拟面向实际过程和系统问题,将不确定性作为随机变量纳入系统来处理,建立系统的内部结构关系模型,从而使我们对复杂的、带有多种随机因素的系统,可以方便的通过计算机模拟试验求解,避免了求解复杂的数学模型的困难。这也是目前系统模拟得到广泛应用的最根本原因。
2)系统模拟以问题导向方式来建模分析,并使用人-机友好的计算机及软件,使建模与模拟直接面向分析人员,他们可以集中精力研究问题的内部因素及其相互关系,而不是计算机编程、调试及实现,从而使系统模拟为广大科研人员及管理人员所接受。
3)系统模拟为分析人员和决策人员提供了一种有效的实验环境,他们的设想和方案可以通过直接调整模型的参数或结构来实现,并通过模型的模拟运行得到其实施结果,从而可以从中选出满意的方案。因此,系统模拟被看作是“政策实验室”。
然而,模拟技术也并非十全十美,它也有其自身固有的缺点.
1)开发模拟软件,建立运行模拟模型是一项艰巨的工作,它需要进行大量的编程、调试和重复运行实验,这也是要消耗时间、人力和资金的。
2)系统模拟只能得到问题的一个特解或可行解,不可能获得问题的通解或者最优解。模拟参数的调整往往具有极大的盲目性,寻找优化方案将消耗大量的人力、物力。
3)系统建模直接面向实际问题,对于同一问题,由于建模者的认识和看法有差异,往往会得到不同的模型,模型运行的结果也就不同。因此,系统建模常被称为非精确建模,或认为建模是一种“艺术”而不是纯粹的技术。
虽然以上缺点是由模拟本身的性质所造成的,但随着计算机科学(包括硬件和软件)的发展和系统模拟方法研究的深入,这些问题正在得到改善。计算机技术中的多媒体技术、虚拟现实技术、分布式网络技术的引入更使系统模拟如虎添翼,使系统模拟技术的研究与应用水平达到了新的高度。
(2)系统模拟的分类
根据系统模拟的定义,实施一项系统模拟的研究工作,包括三个基本要素,即系统对象、系统模型以及计算机工作。因此,对于模拟中不同的基本要素组合,就必须使用不同类型的模拟技术。在管理系统模拟中,提出使用数学模型和数字计算机,但对于
不同的管理问题,就要使用不同的数学模型.因此,系统模拟分两种.
根据问题研究的系统对象的性质,管理系统模拟一般可以分
成连续系统模拟和离散事件系统模拟.
连续系统是指系统状态随时间连续变化的系统,系统行为通
常是一些连续变化的过程.连续系统模型提出通常是用一组方程式描述,如微分方程、差分方程等,注意差分方程形式上是时间离散的,但状态变量的变化过程本质上是时间连续的,如人口的变化过程、城市用地、居民住宅建设数量等。因此,连续系统模拟的主要任务就是如何求解上述的系统模型的系统运动方程组。
离散事件系统中,表征系统性能的状态只在随机的时间点上发生跃变,且这种变化是由随机事件驱动的,在两个时间点之间,系统状态不发生任何变化。例如,医院门诊病人数量、路口车辆通过数量、公共汽车上乘车人数的变化、电话系统的呼叫、机器零件的生产线加工过程等都是离散事件系统。离散事件模拟就是通过建立表达上述过程的模型,并在计算机上人为构造随机事件环境,以模拟随机事件的发生、终止、变化的过程,最终获得系统状态随之变化的规律和行为。
(3)系统模拟的基本步骤
系统模拟是一项应用技术,根据它的基本概念和求解问题的出发点及思路,在实际系统模拟应用时,一般遵循以下几个基本步骤。
1)问题描述与定义
系统模拟是面向具体问题而不是面向整个实际系统,因此,首先要在分析、调查的基础上,明确要解决的问题以及实现的目标,确定描述这些目标的主要参数(变量)以及评价标准。根据以上目标,要清晰地定义系统边界,辨认主要状态变量和主要影响因素,定义环境及控制变量(决策变量)。同时,给定模拟的初始条件,并充分估计初始条件对系统主要参数的影响。
2)建立模拟模型
模型是关于实际系统某一方面本质属性的抽象描述和表达。建立模拟模型具有其本身的特点。首先它是面向问题和过程的。在离散系统模拟建模中,主要应根据随机发生的离散事件、系统中的实体流以及时间推进机制,按系统的运行进程来建立模型;而在连续系统模拟建模中,则主要根据系统内部各个环节之间的因果关系、系统运行的流程,按一定方式建立相应的状态方程或微分方程来实现模拟建模。其次,建立模拟模型与所选用的模拟语言密切相关。例如,选用通用模拟技术GPSS(general purpose simulation system)语言时,模拟模型将采取实体流和模块图的