【技术实现步骤摘要】
一种基于XML语言的系统动力学仿真建模方法及引擎
本专利技术属于仿真建模
,具体涉及一种基于XML语言的系统动力学仿真建模方法及引擎。
技术介绍
系统动力学方法是一种针对强调系统模型结构特性的复杂问题解决之道,一种连续性的系统建模方法,采用连续的时间模拟方法方法,在模拟中,时间被划分成预先设定好的时间间隔。模型变量在每个时间间隔的结束时计算,随着时间调整它们的行为。系统动力学仿真模型易于构建和学习,具有多变量、定性与定量分析相结合的特点,可以处理多回路、非线性的时变复杂系统问题。方便定义动态过程中相关因素的因果关系,可以帮助研究者很好地定量分析相关因素对动态过程的影响。自20世纪90年代初以来,市场上的仿真工具层出不穷,常见的系统动力学仿真工具有iThink、Vensim等,这些软件允许用户以图形化的方式建立模型,对实际问题进行仿真,且提供对模型仿真结果的分析。然而,这些仿真软件大多是商业的、收费的,没有相关的开源内核,无法剥离出独立的引擎。这直接导致了可定制性差,可扩展性差,集成第三方工具的能力弱,无
【技术保护点】
1.一种基于XML语言的系统动力学仿真建模方法,其特征在于,包括以下步骤:/n步骤1:定义一种XML通用系统动力学仿真建模语言,将构建好的XML文件作为输入,解析XML文件以重构系统动力学模型;/n步骤2:基于系统动力学流量存量的积分关系,采取连续的时间模拟方法,在模拟中,将时间划分成预设好的时间间隔,模型变量在每个时间间隔结束时计算以实现定量地对系统动力学模型进行蒙特卡洛仿真建模;所述蒙特卡洛仿真建模为使用伪随机数来代替模型中的部分变量,通过大量独立的单次仿真建模,来降低随机误差,达到用频率近似概率的效果;/n步骤3:将蒙特卡洛仿真建模期间系统动力学模型所有组件的数值参数 ...
【技术特征摘要】
1.一种基于XML语言的系统动力学仿真建模方法,其特征在于,包括以下步骤:
步骤1:定义一种XML通用系统动力学仿真建模语言,将构建好的XML文件作为输入,解析XML文件以重构系统动力学模型;
步骤2:基于系统动力学流量存量的积分关系,采取连续的时间模拟方法,在模拟中,将时间划分成预设好的时间间隔,模型变量在每个时间间隔结束时计算以实现定量地对系统动力学模型进行蒙特卡洛仿真建模;所述蒙特卡洛仿真建模为使用伪随机数来代替模型中的部分变量,通过大量独立的单次仿真建模,来降低随机误差,达到用频率近似概率的效果;
步骤3:将蒙特卡洛仿真建模期间系统动力学模型所有组件的数值参数随时间变化的数据信息进行存储和整理并输出,所述数据信息指每个组件的数值参数在对应的每一个时间步长上的数据水平;
所述步骤2中所述的单次仿真建模的具体方法为:对重构后的系统动力学模型依次进行组件排序、组件初始化以及组件计算;
所述组件排序是指在对系统动力学模型进行拓扑排序时,若组件为流量,则计算前驱时,忽略流量组件所有存量前驱;
所述组件初始化是指将排序后的组件赋初值以及将所有存量组件从所有组件中选择出来后保持每个存量组件之间的原顺序再将所有存量组件放到模型的末尾;
所述组件计算是指将排序并赋初值的模型组件,以既定步长和既定次数逐个计算。
2.根据权利要求1所述的基于XML语言的系统动力学仿真建模方法,其特征在于,
所述组件计算的具体方法包括对变量组件的计算方法、对流量组件的计算方法和存量组件的计算方法,
变量组件的计算方法为:先从计算器中取出变量组件的原始值,之后取出变量组件原始值的计算公式,放入计算器中进行计算,将计算得出的值存入对应的变量对象,用于后续输出;
流量组件的计算方法为:先从计算器中取出流量组件的原始值,之后取出流量组件原始值的计算公式,放入计算器进行计算,将计算得出的值存入对应的流量对象,需要结合考虑步长的因素,即将从计算器计算得到的值乘以步长,得到最终结果,再存入计算器,用于后续输出;
存量组件的计算方法为:先从计算器中取出存量组件的初值,之后取出存量组件初值的计算公式,放入计算器进行计算,将计算得出的值与存量组件的初相加得到存量组件的新初值,新初值存入对应的存量对象,用于后续输出。
3.根据权利要求1所述的基于XML语言的系统动力学仿真建模方法,其特征在于,所述步骤3中涉及的将蒙特卡洛仿真建模期间系统动力学模型所有组件的数值参数随时间变化的数据信息输出的具体方法为:
收集并整理N次独立的单次仿真建模的全部仿真数据,对于每一个时间步长,将N次独立的单次仿真建模对应的全部仿真数据在对应时间步长上形成的一一映射的N个数据划为一个集合A,计算集合A在置信度为C时的置信区间及平均值,其中C为用户自行指定的置信度,利用频率来代替概率,由此来判断对应的时间步长过程中以及整个仿真过程中的仿真数据的...
【专利技术属性】
技术研发人员:张晓东,张贺,高赞,荣国平,刘博涵,邵栋,
申请(专利权)人:南京大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。