1.1 引 言
仿真是一种利用模型开展模拟试验研究的科学活动。构造系统的模型,用模型代替实际系统进行试验,在很多情况下是十分必要的,有时甚至是研究和解决问题的唯一可行手段。虽然在流体力学、能源系统、物流管理、军事训练等领域以不同形式应用了大量仿真技术,但一般情况下并不容易概括建模与仿真的特征。在不同的应用背景下,建模与仿真经常被认为是系统理论、控制理论、数值分析、计算机科学、人工智能或运筹研究领域的一个子集。然而,随着建模和仿真技术及其应用的不断发展,建模与仿真逐渐将上述学科领域的技术集成起来,成为一门综合性很强的技术,仿真应用的开发、集成和使用已经属于典型的系统工程问题。近年来,建模与仿真作为一种新的计算试验技术和试验手段,已经成为一种表示问题、思考问题和解决问题的典型方法。
由于仿真试验和仿真分析工作主要围绕模型展开,因此模型是仿真的核心,是仿真试验工作开展的基础,也是仿真应用成功的关键。模型是系统或问题的一种简化、抽象和(或)类比表示。它不再包括原系统或问题的全部属性,但能描述符合研究目的的本质属性,以易用的形式提供关于该系统或问题的知识,是帮助人们合理进行思考和解决问题的工具。
客观世界中各种各样的现实系统,有些彼此之间具有同型性,同型性是利用模型来研究现实系统的理论依据。模型不是实体本身,不可能描述实体的一切,只能描述实体某方面的本质属性,而本质属性的选取完全取决于研究目的。模型来源于实际,反映实际,由于它的抽象特征,因此又高于实际,在某种意义上更优于实际。通过模型而达到抽象,是人们对系统认识的深化,是认识的一个飞跃。模型只是解决问题的有力工具,不是分析问题的归宿,不能代替决策。模型能增加人们的洞察力,使人们的认识超越模型,从而“淘汰”模型。好的模型能做出自身否定。模型一定要走向于问题,不能过分热心于纯数学研究。也不能认为,不管问题多么复杂,总可以通过使模型越构造越复杂的办法来解决问题。模型要具有现实性、简洁性和适应性。仿真模型设计(仿真建模)是根据研究目的把实际系统或问题抽象简化为模型的技术,亦称模型化技术。仿真建模是一种创造性的劳动,必须透过事物复杂的表面现象,抓住其本质,找出解决问题的途径。
然而,由于研究问题和研究领域差异性的存在,而且模型需要根据研究问题对系统进行合理的简化,往往很难解决好仿真应用中的建模问题。人们心目中的理想模型是该模型能够适应所有的应用领域和应用问题,然而实际上只有所研究的系统本身才能达到这种要求。因此有些建模人员往往在仿真研究中追求高分辨率模型,希望建立的模型越细越好,这样与实际系统的行为越接近,得出的仿真结论也越可信。然而,RAND公司在多分辨率仿真模型研究中发现,模型太细,需要收集的仿真试验数据、仿真试验设计、仿真模型开发、仿真试验分析的工作量将会呈指数增长,直到人们无法承受这样的工作,尤其是在高层次仿真中,该问题表现得尤为明显。建模仿真理论专家Zeigler经过理论研究也发现,模型的分辨率越高,并不等于模型的逼真度越高,因为模型的高分辨率会带来影响因素的增加,一旦数据假设不当或忽略了主要因素,将会使模型受到次要因素影响,不能抓住影响问题的主要矛盾,使得模型的真实度由于分辨率的提高而下降。所以RAND公司在多分辨率仿真模型研究中建议应加强模型自底向上的校准和自顶向下的抽象简化工作。
在仿真研究中根据研究的问题对系统进行合理、正确的抽象和简化是建立有效的仿真模型的关键。实际上,人们在思考问题时也常常需要对系统的要素、关系和行为进行合理的抽象和简化,在很多科学研究中,由于系统内在机理的复杂性,往往也通过归纳和演绎方法建立简化模型,否则将会陷入无穷无尽的分析和思考过程中,可能忽略对问题产生影响的主要因素,不能抓住问题的主要矛盾,不能真正解决实际问题。系统的抽象和简化并不是一个容易掌握的工作,它一般需要很强的专业背景和丰富的建模经验,甚至可能包含一定的艺术成分。然而仿真模型还不能完全等同于领域模型,因为其中针对研究问题包含了相关的简化和假设条件,建立的模型也需要特定的仿真算法支持,所以完全依靠领域人员也不能很好地解决仿真建模问题。另外,由于人们在对系统抽象时,可以使用各种各样的方法和不同的思维方式,导致仿真建模具有很大的灵活性,建立的模型不容易被他人理解、验证和使用。经过长时间的仿真工程和仿真系统研究,当前在很多领域已经形成了大量的系统抽象方法和建模技术,积累了很多建模经验,很多建模技术(如有限状态自动机、活动图、功能模块图等)已经成为了相关领域的行业标准和规范,并提高了仿真模型的可用性。
为使仿真建模技术成为一种可操作的方法,可以像工程研制一样开展仿真系统的建模工作,像使用工程图纸一样使用模型,支持仿真模型的交流、管理和重用,有必要从模型设计角度出发,对不同领域中的建模方法和技术进行总结,加强仿真研究人员对系统进行抽象和简化的能力,以便更有效地建立仿真应用模型。为此,本书针对很多领域和系统的仿真建模技术进行了介绍和分析,主要强调模型的设计方法和应用模型的串行运行算法。本章首先对仿真的概念、仿真的应用类型、仿真的开发过程和仿真的开发方法进行介绍,并按照Paul A. Fishwick的观点从模型的设计特点出发对模型设计方法进行分类,进而介绍面向仿真模型设计的模型工程化方法。