1.6 仿真的开发过程

仿真不是单纯的数值计算。采用计算机仿真方法解决实际问题,要从对问题的分析和描述出发,通过建模、试验、分析等一系列步骤,直至得到问题的解决方案。如果得到的解答不完备或不正确,还要对仿真中间的某些环节进行必要的调整或修正。仿真研究的基本步骤如图1.2所示,各步骤之间的有些内容可能会有交叉、迭代。

1.问题定义

显然,如果仿真需要解决的问题定义不准确或具有模糊性,将会使后续的研究方向发生偏差,因此,明确需要通过仿真解决的问题,是仿真研究能否成功的关键。这里问题定义要求通过正式的语言进行描述。一般仿真需要研究的问题由决策人员或分析人员提出。如果决策人员提出的研究问题带有模糊性,就必须对问题陈述进行整理和分析,以保证问题定义不具有二义性;如果问题定义由分析人员提出,则提出的问题必须能够为决策人员所理解。也有可能随着仿真过程的开展,决策人员和分析人员才能理解问题的本质,并需要重新对问题进行定义和调整。

2.需求分析

在明确需要通过仿真解决的问题之后,确立仿真研究的目标和要求,考察采用仿真方法是否可以解决该问题。分析仿真对象系统的构成、边界和环境,辨识系统的实体、属性、状态和行为,明确用于系统性能评价和方案优选的定量指标。形成建模的前提约定和假设条件,明确模型的层次类型、详尽程度、精度指标和适用范围,明确建模的数据需求和数据来源。撰写涵盖以上内容的仿真项目需求分析报告,并制订包括任务分工、资源投入和结点目标的项目实施计划。这一阶段的工作,很多内容都需要建模仿真人员和仿真用户或任务委托方进行充分的协商和深入的讨论。

图1.2 仿真研究的基本步骤

3.模型设计

仿真模型设计需要针对研究目标和需求,按照合理简化的原则,与模型用户或仿真用户紧密协作,对仿真对象系统进行分解、抽象和简化,采用适当的建模方法,采取数学公式、逻辑流图等形式,对系统的功能、结构和特性进行描述,建立系统的理论模型。设计仿真软件结构、功能和接口,选择编制模型的程序设计语言和开发环境,将理论模型转换为能在计算机上实现的最佳形式。

4.数据准备

随着模型复杂度的变化,仿真需要的数据元素也会发生变化,因此数据准备过程与模型设计过程密切相关。另外,数据准备过程一般也会耗费整个仿真研究的很大一部分时间,所以应尽早与模型设计过程一起开展仿真数据的准备工作。数据准备需要收集模型运行所需的各种数据,包括模型输入数据和仿真验证数据;对数据进行必要的清理,保证数据的完备性和准确性;对数据进行适当的处理,使数据具有模型所要求的形式。有时数据也需要从实际系统中适时获取。

5.仿真开发

模型设计产生的模型仅是一种数学模型或理论模型,需要将其转换为可在计算机上执行的计算机程序或软件才能支持仿真试验,而且许多仿真模型的计算需要大量的信息存储和计算资源。一般仿真开发需要确立仿真体系结构,准备必要的硬件设备和软件开发工具,建立模型生成、模型组合、模型解算、运行控制、试验设计、数据统计、指标评估、图形显示等仿真支持系统,形成完备的计算机仿真开发环境。

6.模型确认与验证

仿真模型验证是一个过程,它确定模型的计算机实现是否准确地表示了模型开发者对实际系统的概念表达和描述。该过程需要回答仿真模型对应的计算机程序是否运行正确。对于复杂的仿真模型,不进行良好的仿真模型测试、跟踪和调试将很难将其转换为正确的仿真模型程序或软件。如果模型的输入参数和逻辑结构在计算机实现进行了正确的表示,就完成了仿真模型验证过程。仿真模型确认也是一个过程,它从预期应用的角度,结合用户使用需求和领域专家的知识确定了系统的理论模型表达实际系统的准确程度。

7.VV&A

模型确认与验证工作一般称为模型的验证、确认与认定(Verification, Validation and Accreditation)。VV&A工作的目的是评估模型的可信度(Credibility),即用户对模型的可信任程度。模型可信度是由仿真系统与实际系统之间相似性、仿真系统与仿真目的相适应的程度决定的,VV&A规范是模型可信度一个完整的保证体系,当前针对某些应用的仿真模型确认与验证,已建立了相关的VV&A的管理流程和技术规范。如果模型的开发过程严格遵照VV&A规范执行,就可以将VV&A的认定结论作为模型可信度的评估结论。

8.试验设计

在计算机上对模型进行试验,采集数据并进行分析,是计算机仿真的一项重要工作。可以说,仿真试验的科学性,在很大程度上决定了仿真研究的科学性。仿真试验是一项很专业的工作。其具体任务主要包括:根据试验需求所规定的试验类型与试验目的,明确试验所应用的仿真背景、试验类型与试验方法,确定试验因子及其变化规律,建立试验指标与模型响应的关联,明确仿真试验的运行次数,运行结束方式和数据采集方案。

9.运行和分析

运行和分析主要依据试验方案运行仿真模型,进行仿真试验并收集仿真模型产生的仿真试验数据,对试验数据进行分析和处理。根据试验方案,在运行仿真模型时可能需要对运行过程施加必要的人工干预和控制。仿真运行和分析还可以利用数据库、多媒体等技术手段,采集、显示、存储和管理仿真结果,对仿真结果进行分析、处理和深度剖析,形成仿真元模型,以支持系统论证、评估、设计、预测、优化、决策等实际应用。

10.文档和报告

在仿真任务完成后,一般应包含以下文档:模型、程序、研制过程和试验分析文档。程序文档可以支持不同分析人员进一步使用模型,支持这些分析人员理解模型和程序,另外也有助于进一步修改模型或程序。研制过程文档随着仿真研究的开展记录了仿真开发的整个过程,有助于仿真项目的管理和进度控制,而且通过研制过程文档可以不断与用户进行交互,尽快发现研究可能存在的偏差。试验分析文档需要针对研究问题给出研究结论和问题解决方案,有助于进一步的模型使用和试验分析。