段伟
1.国防科技大学军事计算实验与平行系统技术研究中心 湖南 长沙410073 2.国防科技大学系统工程学院仿真系湖南长沙410073
仿真科学与技术是以计算机系统、物理效应设备及仿真器为工具,根据研究目标,建立并运行模型,对已有的或设想的研究对象进行认识与改造的一门综合性、交叉性学科[1].多年来,仿真技术已经在国防与军事、国民经济、社会管理、工业生产、产品设计等众多领域得以应用,主要支撑系统概念研究,系统设计、测试与评估,系统分析与预测,系统操作人员培训等方面的研究与应用.随着计算机技术的发展,仿真技术也发展出了多种技术形态和计算模式,包括: 分布交互仿真、网格仿真、并行仿真、云仿真等,为满足不同时代仿真应用需求提供了解决方法.
然而,由于复杂系统具有不确定性、自适应性,以及动态演化机理,使得建模与仿真方法始终缺乏对复杂系统进行精确描述的能力,即使相当精细的系统仿真模型仍然不能正确地预测复杂系统的行为.例如:随着实际系统运行,系统的状态和结构发生了自适应变化,使得预先定义的仿真模型、参数与实际系统的误差不断积累和扩大.在这种情况下,面向复杂系统的建模与仿真研究对仿真技术提出了更高要求,即实现仿真系统与实际系统的实时互动,通过数据交互实现模型、参数的实时更新,从而实现仿真系统与实际系统的协同演化.复杂系统建模与仿真要求将仿真系统嵌入到实际系统中,参与和控制实际系统的执行,从而将仿真系统与实际系统有机高效地结合起来.
平行仿真方法中要求仿真系统与实际系统的执行过程是相互平行的,且两者之间实现动态数据交互,以及协同演化和相互控制,而不再是传统的仿真系统与实际系统的串行化执行.平行仿真是平行系统方法在仿真学科领域的应用,也是对仿真技术的一种扩展.在仿真技术的发展过程中,存在与平行仿真相似的技术方法,包括: 平行系统、动态数据驱动的建模仿真、数字孪生、在线仿真、共生仿真等.
平行系统(Parallel Systems)的构想起源于1994年智能系统的研究[2].王飞跃提出嵌入式协同仿真方法,即将协同仿真(Co-Simulation) 嵌入到实际系统中实现实际系统的智能控制,并将其命名为影子系统(Shadow Systems)[2].2004年王飞跃思考复杂系统领域中的人工现象问题[3],例如:人工生命、人工系统、人工社会,并强调“虚” 空间的重要作用,同时从不同层面的理论、方法与应用展开了复杂系统与人工社会相互交叉融合的系统性研究[4],并开展了基于人工社会的计算实验理论与仿真研究[5],提出了利用平行系统方法解决复杂系统的管理与控制问题[6].同年,王飞跃就如何利用计算方法来综合解决复杂社会经济系统和城市综合发展的科学问题,正式提出了人工社会(Artificial Societies)、计算实验(Computational Experiments)与平行执行(Parallel Execution)相结合的ACP 方法[7−8],系统阐述了这一方法的指导思想、基础原理、应用方向和解决方案,以解决复杂系统中不可准确预测、难以拆分还原、无法重复实验等复杂性问题[9].ACP 方法的思想在于首先通过数据、算法、模型等在虚空间中构建人工系统;然后将人工系统作为虚空间的实验室,在其中采用计算实验方法研究各种可能的现实情景,对影响复杂系统行为的各种可能因素进行定量分析; 最后,通过多种数据感知与数据同化方法实现人工系统与实际系统的平行执行,实时测量实际系统的状态数据,更新人工系统的模型、参数、算法,确保人工系统的计算实验结果的可靠性,并通过计算实验分析支持实际系统的优化管理与控制.平行系统的思想与方法已经在多个领域得以研究和应用,例如平行智能交通系统、平行应急管理系统,以及平行军事体系的研讨和应用[10−13].
2000年在Frederica Darema 的倡导下美国国家自然科学基金委举行了一次专题学术讨论会,正式确立动态数据驱动应用系统概念,提出了动态数据驱动应用系统研究的主要内容,对动态数据驱动应用系统的研究全面展开[14].动态数据驱动应用系统是一种全新的系统应用和系统测量模式,旨在将系统应用和系统测量有机结合起来,使得系统应用可以在执行过程中动态地从系统测量中接收数据并做出响应[15].相反,系统的应用结果可以用来动态地控制实际系统的运行,指导测量过程.应用和测量之间构成了一个相互协作的动态反馈控制系统.
数据驱动的建模与仿真[16]是一种辨识性的建模与适应性的仿真方法,基于研究对象的所有数据,利用统计分析、机器学习等方法揭示实际系统内在行为规律,支撑建模过程,在仿真启动时使用实际数据初始化模型和参数,或者动态注入到仿真执行过程中,以实现仿真的自动化运行、模型参数的校核、增强仿真结果可靠性.数据驱动的建模与仿真从数据时效性区分,可划分为:静态数据驱动的建模仿真和动态数据驱动建模仿真.静态数据驱动的建模与仿真是指在建模前或者仿真启动执行时,使用历史数据来支持建模,以及对仿真模型和参数进行初始化.动态数据驱动的建模与仿真是指根据建模与仿真需求,动态地将数据注入到建模仿真过程,实现模型、参数的实时演化.
2002年Richard Fujimoto 等提出了共生仿真系统(Symbiotic Simulation System) 的概念: 共生仿真系统是一种与实际系统进行交互的仿真系统[17].共生仿真系统具有很强的自适应性,不仅可以执行“What-if”实验分析,以控制物理系统,而且可以接收物理系统的数据并做出响应[18].物理系统可以获得仿真优化分析的执行策略.仿真系统可以通过不断注入的实时数据校核仿真模型参数和仿真结果.通过测量物理系统获得最新数据,控制模块根据测量信息来决策,执行多样本的“What-if” 实验.多样本的仿真实验结果输出到分析模块,并选择最优的实验样本,指导物理系统的行为执行.物理系统的行为执行效果再通过测量反馈到控制模块,以此不断循环反馈控制,以优化物理系统行为[19].
2002年美国密西根大学教授Michael Grieves 首次提出了数字孪生的概念,通过物理设备数据,在虚拟空间构建一个可以表征物理设备的虚拟实体和子系统,并且两者之间的联系不是单向的和静态的,而是与整个物理设备的生命周期都联系在一起[20−21].由于当时数字化技术有限,数字孪生的概念仅停留在物理设备的表征阶段,没有得到进一步的应用.最近5年,物联网、人工智能、虚拟现实和大数据等技术的发展,促进了数字孪生技术的广泛发展和应用,并扩展到物理设备的全生命周期.目前,数字孪生的思想主要应用于工业产品设计与生产,例如:飞机设计、生产、维修保障的全生命周期,同时也延伸到城市规划设计与管理,例如数字孪生城市.
在线仿真旨在将仿真系统嵌入到实际系统运行过程中,实现仿真系统的在线运行,与实际系统完成数据交互,辅助实时在线决策[22−23].典型的应用有: 2007年美国国防部高级研究计划局(DARPA)提出的“深绿(Deep Green)” 计划,将仿真系统嵌入到指挥控制系统,支持作战行动的在线仿真评估分析,提高指挥员的作战指挥能力[24].深绿计划由“指挥员助手”、“闪电战” 和“水晶球”3 个子系统组成.指挥员助手是深绿的人机接口,将指挥员的意图和行动草图自动转换为作战行动(Courses of Action,COA).闪电战是深绿的仿真系统,对可能的未来态势进行快速仿真,预测可能的结果范围.水晶球是深绿的控制系统,负责收集各种计划方案、更新战场态势、控制快速仿真运行,剪裁未来态势图中的部分态势,推荐额外生成COA 的未来态势[25−26].
深绿计划使得仿真评估分析对作战决策的支持模式,从基于仿真的离线作战决策向基于仿真的在线作战决策转变[27].
平行仿真是将仿真系统作为人工系统,与实际系统协同运行、虚实互动、共同演化发展,及相互控制的一种仿真技术应用方法.平行仿真以动态数据驱动、数据建模、参数估计、传感器、数据同化算法、自适应建模等技术方法为实现途径,要求仿真系统不再与实际系统串行执行,而是将仿真系统嵌入到实际系统中,实现仿真系统与实际系统的平行执行.
平行仿真与动态数据驱动的建模仿真在含义和方法上具有一定相似性,但是平行仿真强调与实际系统的实时测量过程相结合,要求实际系统的实时状态数据的动态注入,并根据实时数据更新仿真系统状态,实现模型和参数的演化调整.
平行仿真的作用在于提高建模仿真的可靠性.由于复杂系统状态是实时变化,预先定义的模型和参数难于准确描述和预测复杂系统的状态和行为.由于仿真模型的长时间运行以及系统状态的变化,模型和参数不断积累误差,因此,难于有效预测实际系统的状态,甚至可能偏离实际系统运行轨迹,而造成错误的预测和判断.通过实际系统状态数据的实时采集,对模型和参数进行动态更新,可以矫正仿真系统状态,以提高建模仿真的可靠性.
目前仿真学科领域的学者和工程师普遍认为平行系统就是仿真系统,两者的研究内容和技术方法没有明显的区别.实际上,仿真系统和平行系统并非同一层次的两个概念.
平行系统方法是人工系统、计算实验与平行执行的一体化集成,强调人工系统与实际系统的虚实互动,协同演化.在概念上,仿真系统对应人工系统,属于人工系统的一种类型.而人工系统的构成不仅限于仿真系统,还可以采用数学方程、运筹算法、规划算法、统计模型、机器学习等来构建人工系统.同理,在概念上,仿真对应于计算实验.当采用仿真系统构建人工系统时,计算实验过程包括仿真运行或者仿真推演; 当采用数学方程、运筹算法、规划算法、统计模型等构建人工系统时,计算实验可能是数学解析、算法寻优、解空间搜索、模式匹配等计算过程.此外,平行系统强调人工系统和实际系统的虚实互动和协同演化,注重从实际系统中测量系统状态,采集数据,并反馈到人工系统中更新系统状态、模型和参数,使得人工系统基于实际系统实时状态开展计算,提高对实际系统行为预测的正确性.
图1 平行仿真方法框架
平行仿真方法的框架通常包括仿真系统、实际系统、测量模块和数据处理模块,如图1所示.测量功能模块通过各种测量设备、测量方法,例如:传感器组网等,对实际系统的状态、事件、活动等进行实时观测,获取测量数据.数据处理模块接收测量数据,对数据进行处理,例如数据融合和数据同化,将数据转换为仿真系统可理解和接入的知识.仿真系统使用实时测量数据更新系统状态、系统结构、模型和参数,同时根据仿真运行或仿真推演需求,可向测量模块提出数据采集和测量需求,控制传感器获取所需数据.另外,仿真运行和仿真推演的实验结果,可提供给实际系统,支撑实际系统的管理控制决策辅助.
2015年平行仿真方法出现于部分学术期刊研究论文中[28],到目前仅有国内少部分科研机构开展平行仿真的研究和应用,主要包括: 中国电子科技集团第二十八研究所信息系统工程重点实验室、江苏自动化研究所、军械工程学院、北京航天自动控制研究所等单位.
信息系统工程重点实验室主要将平行仿真方法应用到指挥与控制决策辅助系统中,实现仿真系统嵌入指挥控制系统,在线仿真决策辅助[29−33].周芳等采用情报数据驱动的方法,研究了平行仿真方法中仿真实体动态生成以及实体模型动态匹配方法,对平行仿真具体实现方法开展了探索研究[30−31].方冰等将平行仿真应用于城市交通系统决策支持平台[32].此外,江苏自动化研究所窦林涛等提出了平行仿真推演系统框架,并讨论了实现平行仿真的关键技术[33].军械装备学院葛承垄将平行仿真方法应用到装备仿真和装备保障,研究了装备仿真和装备保障的平行仿真方法基本理论和关键技术[34−36].
仿真学科领域的很多科研工作虽然没有直接提出平行仿真方法,但是其采用的思想和方法与平行仿真方法相似,例如:动态数据驱动的建模与仿真方法、在线仿真等[37−38].目前人们虽然开展了平行仿真技术的应用研究,但是部分学术论文对平行仿真的概念和内涵并没有清晰的认识,尤其混淆了平行仿真和平行系统的概念[39].平行仿真方法的发展还需要进一步深刻理解其概念,更需要探索和研究其具体实现技术和方法.平行仿真方法的未来发展面临具体以下几方面的难题.
实际系统的状态测量和数据采集是实现平行仿真的一个重要步骤.传统仿真系统采用静态数据驱动的建模与仿真方法,而没有采用动态数据驱动的建模仿真,与实际系统是串行化执行的.除了系统领域的应用需求没有达到之外,还包括实际系统的测量与数据采集没有得到很好的解决.随着计算机技术、传感器技术、大数据技术的发展,实际系统的测量和数据采集能力得到了提升,但是部分情况下依然存在仿真系统难于获得实际系统的实时测量数据的支持,例如:由于研发单位与应用单位的协调问题使得数据难于流通.
在获得实际系统的实时测量数据之后,使用测量数据驱动系统的建模和仿真运行,是实现平行仿真的关键一步.解决该问题需要首先根据具体的模型、参数、结构等仿真系统特性来分析和设计实时数据运用和接入方法;其次需要采用数据融合、数据同化等技术和算法,例如:卡尔曼滤波算法、粒子滤波算法、数据结构化建模、参数估计、数据拟合等.
从仿真学科的发展出发,论述了复杂系统研究对建模与仿真技术的嵌入式、虚实互动、协同演化、动态数据驱动等更高需求,从而引出平行仿真方法的概念.从平行系统,到数据驱动应用系统、共生仿真、数字孪生、在线仿真等整个过程论述平行仿真的由来、发展历程.最后论述了平行仿真的应用及其未来发展面临的难题.
致谢
感谢中国科学院自动化研究所复杂系统管理与控制国家重点实验室王飞跃教授在论文研究中给予的研讨和指导.感谢王晓、李强在仿真系统与平行系统的关系和区别方面的研讨和帮助.