CN116911067B - 基于动态步长实时调度的仿真推进方法及仿真平台 - Google Patents
基于动态步长实时调度的仿真推进方法及仿真平台 Download PDFInfo
- Publication number
- CN116911067B CN116911067B CN202311126010.5A CN202311126010A CN116911067B CN 116911067 B CN116911067 B CN 116911067B CN 202311126010 A CN202311126010 A CN 202311126010A CN 116911067 B CN116911067 B CN 116911067B
- Authority
- CN
- China
- Prior art keywords
- simulation
- component
- engine
- time
- propulsion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 561
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000008569 process Effects 0.000 claims abstract description 24
- 230000001364 causal effect Effects 0.000 claims abstract description 9
- 230000000737 periodic effect Effects 0.000 claims abstract description 4
- 238000004364 calculation method Methods 0.000 claims description 45
- 238000012821 model calculation Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 18
- 230000003993 interaction Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 5
- 238000005094 computer simulation Methods 0.000 description 4
- 230000036314 physical performance Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000012896 Statistical algorithm Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于动态步长实时调度的仿真推进方法及仿真平台,属于仿真技术领域,解决多仿真组件的仿真推进调度问题;方法包括,仿真引擎对以独立模型形式存在的多个仿真组件进行初始化,获得各仿真组件的预设仿真步长;仿真引擎根据预设仿真步长对各仿真组件的仿真步长进行排序,生成时间序列表;从仿真开始计时时刻起,仿真引擎对各仿真组件仿真推进;实现各模型的周期性仿真和因果关系控制;在仿真推进过程中,仿真引擎以时间序列表为基础,结合各模型的可变长前瞻量和误差补偿距离精度值对时间序列表中的预设仿真步长进行动态调整。本发明实现了兼顾模型的细节捕获和运算效能,提升推进效能。
Description
技术领域
本发明涉及仿真技术领域,涉及一种基于动态步长实时调度的仿真推进方法及仿真平台。
背景技术
针对多模型的并行仿真系统,固定步长下的同步仿真推进存在资源管控和调度耗损问题。采用固定混合步长调度的异步仿真推进,虽然提高了仿真驱动效率,但是仍存在下述两项问题:
1)高性能模型数据频率失衡。各个模型仿真步长的推进将伴随产生对应的模型解算数据,仿真分辨率过低将导致成员的数据输出频率过低,在数据呈随机性或变化幅度较大时,应用数据平滑等预处理方式将带来较大的预推偏差;反之,若仿真分辨率过高,将加重内存处理负担,影响并行仿真整体运算性能。
2)体系实体运行精度误差累积。在本地实时调度机制和各个模型共用一个线程的方式下,成员通过周期性地调用tick函数来获得数据和事件输入。仿真分辨率局部过高或过低会导致联邦内的体系实体运动状态差异过大,从而造成精度误差累积,降低仿真的真实感和仿真结果的可信度。
发明内容
鉴于上述的分析,本发明旨在公开了种基于动态步长实时调度的仿真推进方法及仿真平台,解决多仿真组件的仿真推进调度问题。
本发明公开了一种基于动态步长实时调度的仿真推进方法,其特征在于,包括:
步骤S1、仿真引擎对以独立模型形式存在的多个仿真组件进行初始化,获得各仿真组件的预设仿真步长;
步骤S2、仿真引擎根据预设仿真步长对各仿真组件的仿真步长进行排序,生成时间序列表;
步骤S3、从仿真开始计时时刻起,仿真引擎对各仿真组件仿真推进;实现各模型的周期性仿真和因果关系控制;
在仿真推进过程中,仿真引擎以时间序列表为基础,结合各模型的可变长前瞻量和误差补偿距离精度值对时间序列表中的预设仿真步长进行动态调整。
进一步地,所述步骤S3,包括:
步骤S301、在仿真开始计时时刻,仿真引擎并行推进各仿真组件,使各仿真组件按照自身步长进行模型解算;
步骤S302、在仿真引擎进行下一次仿真推进前,每个完成模型解算的仿真组件与仿真引擎进行交互;使仿真引擎获得用于预设仿真步长动态调整的步长调整量,选择仿真推进模式,确定出下一次仿真的推进时刻和推进的仿真组件;
步骤S303、各完成模型解算的仿真组件在准备好下一次仿真的数据后,在下一次仿真的推进时刻,判断仿真引擎是否对本仿真组件进行推进;是,则执行模型解算,之后返回步骤S302;否,则等待,直到仿真引擎推进本仿真组件的时刻执行模型解算,之后返回步骤S302。
进一步地,所述步骤S302,包括:
1)每个完成解算的仿真组件与仿真引擎进行交互,使仿真引擎得到仿真组件各自的在本次解算结束的完成时间和请求的下一次解算的推进时间;
2)仿真引擎根据得到的仿真组件在本次解算结束的完成时间和请求的下一次解算的推进时间,计算出可变长前瞻量;
3)仿真引擎根据各仿真组件仿真坡度结合可变长前瞻量和误差补偿距离精度值,对时间序列表中预设仿真步长进行动态调整,得到仿真组件下一次仿真的推进时刻。
进一步地,在所述步骤S302的步骤3)中,
仿真引擎根据仿真组件仿真坡度结合可变长前瞻量和误差补偿距离精度值选择推进模式;对仿真组件的仿真步长进行调整;
推进模式包括可变前瞻量仿真推进模式或距离精度仿真推进模式;
在可变前瞻量仿真推进模式,选择当次仿真计算出前瞻量作为下一次预设仿真步长的调整依据;
在距离精度仿真推进模式,选择仿真组件的误差补偿距离精度值为下一次预设仿真步长的调整依据;
其中,在仿真组件的仿真坡度陡峭阶段,采用距离精度仿真推进模式,在仿真组件的仿真坡度平缓阶段,采用前瞻量仿真推进模式。
进一步地,在所述步骤S302的步骤3)中,仿真引擎各仿真组件比较可变长前瞻量和误差补偿距离精度值,选择其中最小值进行预设仿真步长的动态调整得到仿真组件下一次仿真的推进时刻。
进一步地,每个完成解算的仿真组件在数据输出后,得到上一次解算完成时间,通过query()函数,使仿真引擎查询到仿真组件的上一次解算完成时间;
每个完成解算的仿真组件在数据输出后,预测出下一次解算的请求推进时间;并通过request()函数向仿真引擎请求将仿真时间推进到下一次解算的请求推进时间。
进一步地,以独立模型形式存在的多个仿真组件,在每次模型解算后,将解算出的公共信息写入共享内存池中,供其他需要所述公共信息进行模型解算的仿真组件,在仿真启动时调用;
在共享内存池中为每个仿真组件开辟存储空间,用于存储仿真组件最新解算出的公共信息。
进一步地,每个仿真组件在仿真引擎的驱动下,在一个仿真步长中,进行发送数据、接收数据和处理数据3个过程的操作;
在仿真组件之间发生数据交互时,正在被仿真引擎驱动的仿真组件执行发送数据过程,向未被驱动的仿真组件发送数据;未被驱动的仿真组件则单独执行接收数据过程,接收发送来的数据,但暂不执行处理数据过程,直到被仿真引擎驱动后,才执行数据处理过程。
本发明还公开了一种基于动态步长实时调度的仿真推进方法,包括:
步骤S1、在仿真开始计时时刻,仿真组件在仿真引擎的驱动下进行模型解算,将解算结果进行数据输出;
步骤S2、仿真组件在数据输出后,得到当前仿真时间T0,通过query()函数,使仿真引擎查询到仿真组件的当前仿真时间T0;
步骤S3、仿真组件得到当前计时时间T1,并通过request()函数向仿真引擎请求将仿真时间推进到T1;
步骤S4、仿真组件通过与仿真引擎的数据交互,使仿真引擎根据当前仿真的时间T0、当前计时时间T1和仿真组件仿真的距离精度,调整仿真组件的推进时间;
步骤S5、仿真组件通过tick()函数进行数据获取和交互,在推进时间内判断是否允许推进;否,则等待;是,则判断仿真是否结束;是则结束计时,否,则返回步骤S1,在仿真的推进时间,由仿真引擎的驱动下进行模型解算。
本发明还公开了一种基于动态步长实时调度的仿真推进系统,包括多个以独立模型形式存在仿真组件、共享内存池和仿真引擎;
所述仿真引擎与多个仿真组件进行数据交互,用于对各仿真组件进行仿真推进控制;
所述仿真组件,在仿真引擎的推进下,以动态步长进行模型解算,输出解算结果;
所述共享内存池中针对于每个仿真组件均设置对应的存储空间;用于存储对应仿真组件最新解算出结果中的公共信息;以供需要所述公共信息的仿真实体在仿真启动时进行调用;
在所述仿真平台中执行如上所述的基于动态步长实时调度的仿真推进方法,动态调整仿真组件的仿真步长。
本发明可实现以下有益效果之一:
本发明的基于动态步长实时调度的仿真推进方法及仿真平台,实现了高分辨率仿真模型的频率和精度的双重可控;通过实时更新成员仿真步长,并可使用距离精度实现步长的在线动态修正,实现性能级实体等在仿真坡度平缓阶段低频运算以节省内存开销,仿真坡度峭拔阶段高频解算来获取模型细节;
仿真周期内,仿真引擎根据各自调度模式进行下一周期仿真推进步长预测,各个模型发送仿真推进请求,综合当前仿真状态调整仿真频率,根据当前成员模型密集特性及实体性能,进行距离精度及时间精度的切换,兼顾模型的细节捕获和运算效能。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件;
图1为本发明实施例中的一种基于动态步长实时调度的仿真推进方法流程图;
图2为本发明实施例中的另一种基于动态步长实时调度的仿真推进方法流程图;
图3为本发明实施例中的基于动态步长实时调度的仿真平台组成连接示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
实施例一
本发明的一个实施例公开了一种基于动态步长实时调度的仿真推进方法,如图1所示,包括:
步骤S1、仿真引擎对以独立模型形式存在的多个仿真组件进行初始化,获得各仿真组件的预设仿真步长;
步骤S2、仿真引擎根据预设仿真步长对各仿真组件的仿真步长进行排序,生成时间序列表;
步骤S3、从仿真开始计时时刻起,仿真引擎对各仿真组件进行可变步长的动态仿真推进;实现各模型的周期性仿真和因果关系控制;
在动态仿真推进中,仿真引擎以时间序列表为基础,根据当前仿真组件的模型密集特性及实体性能,进行仿真步长的动态调整,实现模型的细节捕获和运算效能的兼顾,并保证了仿真过程的因果关系。
具体的,在步骤S1中,由于以独立模型形式存在的多个仿真组件模型解算的计算量不同,对应的仿真步长存在差异,根据模型解算的计算量对各仿真组件的仿真步长进行估算,得到获得各仿真组件的预设仿真步长;
具体的,在步骤S2中,生成时间序列表为异步时间管理列表,并且为实现整个仿真平台的系统仿真功能,在异步时间管理列表中规定了各仿真组件仿真推进顺序的因果关系。
例如,在干扰模型组件仿真和探测模型组件仿真的推进时序上,探测模型组件仿真运行后模拟出探测结果后,干扰模型组件仿真运行模拟出针对探测结果的干扰信号;探测和干扰存在因果关系,在仿真推进时,不能对因果关系进行破坏。
在不进行动态控制时,仿真引擎按生成时间序列表中的顺序触发各时间点的仿真组件的仿真推进进程,对仿真组件的信息进行实时存储,保证联邦交互使用最新仿真数据。
并且,当某个仿真组件的任务执行快于下一周期触发点,在时间序列表的约束下,将该仿真组件处于阻塞状态,等待仿真推进指令发送后再进行仿真,防止了过程错乱,破坏仿真过程的因果关系。
具体的,在步骤S3中,可变步长的动态仿真推进包括两种推进模式,分别是可变前瞻量仿真推进模式和距离精度仿真推进模式;
在可变前瞻量仿真推进模式下,获得仿真组件每一次仿真后对于下一次仿真的前瞻量;以此前瞻量为依据对预设的本仿真组件的仿真步长进行动态调整,得到下一次仿真的推动时间;
前瞻量的预测可采用经验参数及统计学算法迭代实现,在工程应用中,前瞻量较小的数值偏差下仍能取得优化的调度效果;
在距离精度仿真推进模式下,获得仿真组件的误差补偿距离精度值;以误差补偿距离精度值为依据对预设的本仿真组件的仿真步长进行动态调整,得到下一次仿真的推动时间;
所述误差补偿距离精度值为以独立模型形式存在的仿真组件在单周期内的参数分辨率值。
距离精度仿真推进模式下推进仿真进程可以动态掌控各成员仿真进度,避免时间戳及前瞻量控制模式下性能级成员仿真精度各异引起的局部误差过度累积现象。仿真推进过程中,多性能层级的仿真组件的实体模型可按各自设定的距离精度进行独立时间仿真,距离精度可通过物理域参数特性提取,或来源于常规经验设定。
在动态仿真推进中,根据当前仿真组件的模型密集特性及实体性能,兼顾模型的细节捕获和运算效能,进行可变前瞻量仿真推进模式和距离精度仿真推进模式的切换,可实现模型的细节捕获和运算效能的兼顾。
具体的,所述步骤S3中,包括:
步骤S301、在仿真开始计时时刻,仿真引擎并行推进各仿真组件,使各仿真组件按照自身步长进行模型解算;
在仿真引擎的驱动下,在一个仿真步长中,仿真组件的解算过程包括发送数据、接收数据和处理数据3个过程的操作;其中不同仿真组件的处理数据的运算量不同,使不同的仿真组件的解算时间不同。
步骤S302、在仿真引擎进行下一次仿真推进前,每个完成模型解算的仿真组件与仿真引擎进行交互;使仿真引擎获得用于预设仿真步长动态调整的步长调整量,选择仿真推进模式,确定出下一次仿真的推进时刻和推进的仿真组件;
步骤S303、各完成模型解算的仿真组件在准备好下一次仿真的数据后,在下一次仿真的推进时刻,判断仿真引擎是否对本仿真组件进行推进;是,则执行模型解算,之后返回步骤S302;否,则等待,直到仿真引擎推进本仿真组件的时刻执行模型解算,之后返回步骤S302。
循环步骤S302-S303,直到仿真结束时刻。
具体的,所述步骤S302中,包括:
1)每个完成解算的仿真组件与仿真引擎进行交互,使仿真引擎得到仿真组件各自的在本次解算结束的完成时间和请求的下一次解算的推进时间;
每个完成解算的仿真组件在数据输出后,得到本次解算结束的完成时间,通过query()函数,使仿真引擎查询到仿真组件的本次解算结束的完成时间;
每个完成解算的仿真组件在数据输出后,预测出下一次解算的请求推进时间;并通过request()函数向仿真引擎请求将仿真时间推进到下一次解算的请求推进时间;
2)仿真引擎根据得到的仿真组件在本次解算结束的完成时间和请求的下一次解算的请求推进时间,计算出可变长前瞻量;
3)仿真引擎以时间序列表为基础,结合可变长前瞻量和误差补偿距离精度值,选择推进模式调整仿真步长,得到仿真组件下一次仿真的推进时刻。
对仿真步长的调整以不破坏时间序列表中规定的因果关系为限制条件。
其中,仿真引擎根据仿真组件仿真坡度结合可变长前瞻量和误差补偿距离精度值选择推进模式;对仿真组件的仿真步长进行调整;
推进模式包括可变前瞻量仿真推进模式或距离精度仿真推进模式;
在可变前瞻量仿真推进模式,选择当次仿真计算出前瞻量作为下一次预设仿真步长的调整依据;
在距离精度仿真推进模式,选择仿真组件的误差补偿距离精度值为下一次预设仿真步长的调整依据。
在更为具体的方案中,在仿真组件的仿真坡度陡峭阶段,采用距离精度仿真推进模式,在仿真组件的仿真坡度平缓阶段,采用可变前瞻量仿真推进模式;实现在仿真坡度平缓阶段低频运算以节省内存开销,仿真坡度峭拔阶段高频解算来获取模型细节。
在此以飞行器系统仿真为例,在起飞初始段采用距离精度仿真推进模式,以较高的采样率获取轨迹上升段的密集点采样数据;在轨迹平缓段采用可变前瞻量仿真推进模式,以较稳定的采样周期进行离散采样,最终通过数据平滑、拟合、插值及其他先进数据处理技术实现轨迹连续模拟,并从中分析飞行器运动或组件特性。既实现了飞行器模型仿真细节的获取,又省内存开销。
在以实现仿真细节获取为目的的仿真推进中,所述步骤S302的步骤3)中,仿真引擎比较获取的仿真组件的可变长前瞻量和误差补偿距离精度值,选择其中最小值进行预设仿真步长的动态调整得到仿真组件下一次仿真的推进时刻。从而实现以最高的精度来进行仿真推进。
在本实施例的优选方案中,设置有共享内存池,以独立模型形式存在的多个仿真组件,在每次模型解算后,将解算出的公共信息写入共享内存池中;所述共享内存池中针对于每个仿真组件均设置对应的存储空间;用于存储对应仿真组件最新解算出的公共信息;供其他需要所述公共信息进行模型解算的仿真组件,在仿真启动时调用。
在本实施例中,在仿真引擎的推进触发下,每个仿真组件的解算过程包括发送数据、接收数据和处理数据3个过程的操作;
在仿真组件之间发生数据交互时,正在被仿真引擎驱动的仿真组件执行发送数据过程,向未被驱动的仿真组件发送数据;未被驱动的仿真组件则单独执行接收数据过程,接收发送来的数据,但暂不执行处理数据过程,直到被仿真引擎驱动后,才执行数据处理过程。保证仿真过程的因果关系不乱。
综上所述,本实施例的基于动态步长实时调度的仿真推进方法及仿真平台,实现了高分辨率仿真模型的频率和精度的双重可控;
通过实时更新仿真组件的仿真步长,实现步长的在线动态修正,实现性能级实体等在仿真坡度平缓阶段低频运算以节省内存开销,仿真坡度峭拔阶段高频解算来获取模型细节;
仿真周期内,仿真引擎根据各自调度模式进行下一周期仿真推进步长预测,各个模型发送仿真推进请求,综合当前仿真状态调整仿真频率,根据当前成员模型密集特性及实体性能,进行距离精度及时间精度的切换,兼顾模型的细节捕获和运算效能。
实施例二
本实施例公开了一种基于动态步长实时调度的仿真推进方法,如图2所示,包括以下步骤:
步骤S1、在仿真开始计时时刻,仿真组件在仿真引擎的驱动下进行模型解算,将解算结果进行数据输出;
步骤S2、仿真组件在数据输出后,得到当前仿真时间T0,通过query()函数,使仿真引擎查询到仿真组件的当前仿真时间T0;
步骤S3、仿真组件得到当前计时时间T1,并通过request()函数向仿真引擎请求将仿真时间推进到T1;
步骤S4、仿真组件通过与仿真引擎的数据交互,使仿真引擎根据当前仿真的时间T0、当前计时时间T1和仿真组件仿真的距离精度,调整仿真组件的推进时间;
具体的,通过modify()函数进行仿真引擎推进时间的修改,并在优选的方案中,可将修改后的推进时间写入时间序列表中,对时间序列表进行优化使时间序列表更符合实际的仿真推进要求。
步骤S5、仿真组件通过tick()函数进行数据获取和交互,在推进时间内判断是否允许推进;否,则等待;是,则判断仿真是否结束;是则结束计时,否,则返回步骤S1,在仿真的推进时间,由仿真引擎的驱动下进行模型解算。
具体的,在步骤S4中,仿真组件与仿真引擎的数据交互包括:
步骤S401、仿真组件请求使用距离精度,修改仿真推进时间为T2;
步骤S402、仿真组件请求将当前前瞻量修改为T1-T0;
步骤S403、仿真引擎取最小值min(T2,(T1-T0))进行预设仿真步长的动态调整,修改推进时间。
在本实施例的优选方案中,设置有共享内存池,以独立模型形式存在的多个仿真组件,在每次模型解算后,将解算出的公共信息写入共享内存池中;所述共享内存池中针对于每个仿真组件均设置对应的存储空间;用于存储对应仿真组件最新解算出的公共信息;供其他需要所述公共信息进行模型解算的仿真组件,在仿真启动时调用。
在本实施例中,在仿真引擎的推进触发下,仿真组件的解算过程包括发送数据、接收数据和处理数据3个过程的操作;
当存在仿真组件之间的数据交互时,发送数据的仿真组件处于仿真引擎的推进下,而接收数据的仿真组件未处于仿真引擎的推进下;
发送数据的仿真组件在发送数据步长向接收数据的仿真组件发送数据;
接收数据的仿真组件接收发送来的数据,但数据暂不进行处理,直到仿真引擎推进本仿真组件的步长才进行处理。
本实施例中的方案同样可达到实施例一中所述的有益效果,有益效果请参照实施例一。
实施例三
本实施例公开了一种基于动态步长实时调度的仿真平台,如图3所示,包括多个以独立模型形式存在仿真组件、共享内存池和仿真引擎;
所述仿真引擎与多个仿真组件进行数据交互,对仿真组件进行仿真推进;
所述仿真组件,在仿真推进下,以动态步长进行模型解算;
所述共享内存池中针对于每个仿真组件均设置对应的存储空间;用于存储对应仿真组件最新解算出的公共信息;以供需要所述公共信息的仿真实体在仿真启动时进行调用;
在所述仿真平台中执行如实施例一中所述的基于动态步长实时调度的仿真推进方法,根据当前仿真组件的模型密集特性及实体性能,兼顾模型的细节捕获和运算效能,动态调整仿真组件仿真步长。
本实施例中具体的技术细节和技术效果与实施例一中的内容相同,请具体参照,在此就不一一赘述了。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于动态步长实时调度的仿真推进方法,其特征在于,包括:
步骤S1、仿真引擎对以独立模型形式存在的多个仿真组件进行初始化,获得各仿真组件的预设仿真步长;
步骤S2、仿真引擎根据预设仿真步长对各仿真组件的仿真步长进行排序,生成时间序列表;
步骤S3、从仿真开始计时时刻起,仿真引擎对各仿真组件仿真推进;实现各模型的周期性仿真和因果关系控制;
在仿真推进过程中,仿真引擎以时间序列表为基础,结合各模型的可变长前瞻量和误差补偿距离精度值对时间序列表中的预设仿真步长进行动态调整。
2.根据权利要求1所述的基于动态步长实时调度的仿真推进方法,其特征在于,所述步骤S3,包括:
步骤S301、在仿真开始计时时刻,仿真引擎并行推进各仿真组件,使各仿真组件按照自身步长进行模型解算;
步骤S302、在仿真引擎进行下一次仿真推进前,每个完成模型解算的仿真组件与仿真引擎进行交互;使仿真引擎获得用于预设仿真步长动态调整的步长调整量,选择仿真推进模式,确定出下一次仿真的推进时刻和推进的仿真组件;
步骤S303、各完成模型解算的仿真组件在准备好下一次仿真的数据后,在下一次仿真的推进时刻,判断仿真引擎是否对本仿真组件进行推进;是,则执行模型解算,之后返回步骤S302;否,则等待,直到仿真引擎推进本仿真组件的时刻执行模型解算,之后返回步骤S302。
3.根据权利要求2所述的基于动态步长实时调度的仿真推进方法,其特征在于,所述步骤S302,包括:
1)每个完成解算的仿真组件与仿真引擎进行交互,使仿真引擎得到仿真组件各自的在本次解算结束的完成时间和请求的下一次解算的推进时间;
2)仿真引擎根据得到的仿真组件在本次解算结束的完成时间和请求的下一次解算的推进时间,计算出可变长前瞻量;
3)仿真引擎根据各仿真组件仿真坡度结合可变长前瞻量和误差补偿距离精度值,对时间序列表中预设仿真步长进行动态调整,得到仿真组件下一次仿真的推进时刻。
4.根据权利要求2所述的基于动态步长实时调度的仿真推进方法,其特征在于,
在所述步骤S302的步骤3)中,
仿真引擎根据仿真组件仿真坡度结合可变长前瞻量和误差补偿距离精度值选择推进模式;对仿真组件的仿真步长进行调整;
推进模式包括可变前瞻量仿真推进模式或距离精度仿真推进模式;
在可变前瞻量仿真推进模式,选择当次仿真计算出前瞻量作为下一次预设仿真步长的调整依据;
在距离精度仿真推进模式,选择仿真组件的误差补偿距离精度值为下一次预设仿真步长的调整依据;
其中,在仿真组件的仿真坡度陡峭阶段,采用距离精度仿真推进模式,在仿真组件的仿真坡度平缓阶段,采用前瞻量仿真推进模式。
5.根据权利要求2所述的基于动态步长实时调度的仿真推进方法,其特征在于,
在所述步骤S302的步骤3)中,仿真引擎各仿真组件比较可变长前瞻量和误差补偿距离精度值,选择其中最小值进行预设仿真步长的动态调整得到仿真组件下一次仿真的推进时刻。
6.根据权利要求2所述的基于动态步长实时调度的仿真推进方法,其特征在于,
每个完成解算的仿真组件在数据输出后,得到上一次解算完成时间,通过query()函数,使仿真引擎查询到仿真组件的上一次解算完成时间;
每个完成解算的仿真组件在数据输出后,预测出下一次解算的请求推进时间;并通过request()函数向仿真引擎请求将仿真时间推进到下一次解算的请求推进时间。
7.根据权利要求2所述的基于动态步长实时调度的仿真推进方法,其特征在于,
以独立模型形式存在的多个仿真组件,在每次模型解算后,将解算出的公共信息写入共享内存池中,供其他需要所述公共信息进行模型解算的仿真组件,在仿真启动时调用;
在共享内存池中为每个仿真组件开辟存储空间,用于存储仿真组件最新解算出的公共信息。
8.根据权利要求1所述的基于动态步长实时调度的仿真推进方法,其特征在于,
每个仿真组件在仿真引擎的驱动下,在一个仿真步长中,进行发送数据、接收数据和处理数据3个过程的操作;
在仿真组件之间发生数据交互时,正在被仿真引擎驱动的仿真组件执行发送数据过程,向未被驱动的仿真组件发送数据;未被驱动的仿真组件则单独执行接收数据过程,接收发送来的数据,但暂不执行处理数据过程,直到被仿真引擎驱动后,才执行数据处理过程。
9.一种基于动态步长实时调度的仿真推进方法,其特征在于,包括:
步骤S1、在仿真开始计时时刻,仿真组件在仿真引擎的驱动下进行模型解算,将解算结果进行数据输出;
步骤S2、仿真组件在数据输出后,得到当前仿真时间T0,通过query()函数,使仿真引擎查询到仿真组件的当前仿真时间T0;
步骤S3、仿真组件得到当前计时时间T1,并通过request()函数向仿真引擎请求将仿真时间推进到T1;
步骤S4、仿真组件通过与仿真引擎的数据交互,使仿真引擎根据当前仿真的时间T0、当前计时时间T1和仿真组件仿真的距离精度,调整仿真组件的推进时间;
步骤S5、仿真组件通过tick()函数进行数据获取和交互,在推进时间内判断是否允许推进;否,则等待;是,则判断仿真是否结束;是则结束计时,否,则返回步骤S1,在仿真的推进时间,由仿真引擎的驱动下进行模型解算。
10.一种基于动态步长实时调度的仿真推进系统,其特征在于,包括多个以独立模型形式存在仿真组件、共享内存池和仿真引擎;
所述仿真引擎与多个仿真组件进行数据交互,用于对各仿真组件进行仿真推进控制;
所述仿真组件,在仿真引擎的推进下,以动态步长进行模型解算,输出解算结果;
所述共享内存池中针对于每个仿真组件均设置对应的存储空间;用于存储对应仿真组件最新解算出结果中的公共信息;以供需要所述公共信息的仿真实体在仿真启动时进行调用;
在仿真平台中执行如权利要求1-8任一项所述的基于动态步长实时调度的仿真推进方法,动态调整仿真组件的仿真步长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311126010.5A CN116911067B (zh) | 2023-09-04 | 2023-09-04 | 基于动态步长实时调度的仿真推进方法及仿真平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311126010.5A CN116911067B (zh) | 2023-09-04 | 2023-09-04 | 基于动态步长实时调度的仿真推进方法及仿真平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116911067A CN116911067A (zh) | 2023-10-20 |
CN116911067B true CN116911067B (zh) | 2023-11-17 |
Family
ID=88368017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311126010.5A Active CN116911067B (zh) | 2023-09-04 | 2023-09-04 | 基于动态步长实时调度的仿真推进方法及仿真平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116911067B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200022A (zh) * | 2014-08-28 | 2014-12-10 | 北京航空航天大学 | 一种连续系统模型的分布式交互方法 |
WO2021186685A1 (ja) * | 2020-03-19 | 2021-09-23 | 三菱電機株式会社 | シミュレーション実行システム、シミュレーション実行方法およびシミュレーション実行プログラム |
CN113569394A (zh) * | 2021-07-13 | 2021-10-29 | 华中科技大学 | 一种面向制造车间的离散事件动态仿真引擎及其实现方法 |
-
2023
- 2023-09-04 CN CN202311126010.5A patent/CN116911067B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200022A (zh) * | 2014-08-28 | 2014-12-10 | 北京航空航天大学 | 一种连续系统模型的分布式交互方法 |
WO2021186685A1 (ja) * | 2020-03-19 | 2021-09-23 | 三菱電機株式会社 | シミュレーション実行システム、シミュレーション実行方法およびシミュレーション実行プログラム |
CN113569394A (zh) * | 2021-07-13 | 2021-10-29 | 华中科技大学 | 一种面向制造车间的离散事件动态仿真引擎及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116911067A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2603358A (en) | Computer-based systems, computing components and computing objects configured to implement dynamic outlier bias reduction in machine learning models | |
CN107944566B (zh) | 一种机器学习方法、主节点、工作节点及系统 | |
CN109788315A (zh) | 视频转码方法、装置及系统 | |
US20170026311A1 (en) | Method and system for allocating video transcoding resources | |
CN116069512B (zh) | 一种基于强化学习的Serverless高效资源分配方法及系统 | |
US20200104183A1 (en) | Background Job Processing Framework | |
CN110866062B (zh) | 基于分布式集群的数据同步方法以及装置 | |
CN111429142B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN103235835A (zh) | 用于数据库集群的查询实现方法和装置 | |
CN112333234B (zh) | 分布式机器学习训练方法、装置、电子设备及存储介质 | |
Bouguerra et al. | On the scheduling of checkpoints in desktop grids | |
CN111026553A (zh) | 离线混部作业的资源调度方法及服务器系统 | |
CN113691463B (zh) | Cdn调度参数调整方法、装置、电子设备及存储介质 | |
CN111400895B (zh) | 多层次多粒度跨域联合仿真事件调度方法和系统 | |
CN111767146A (zh) | 一种基于网络重配置的分布式机器学习系统加速方法 | |
CN112286686A (zh) | 一种基于pso优化的边缘计算任务调度算法 | |
CN116911067B (zh) | 基于动态步长实时调度的仿真推进方法及仿真平台 | |
CN114492834A (zh) | 训练方法、训练装置、设备、系统及存储介质 | |
CN115357351A (zh) | 算力网络调度方法、装置、系统、设备及介质 | |
CN114866178A (zh) | 一种基于步长的分布式仿真系统时间同步方法 | |
CN113848752B (zh) | 一种分布式实时仿真方法 | |
WO2021220616A1 (ja) | 情報処理装置及び情報処理方法、コンピュータプログラム、並びに分散学習システム | |
CN115034634A (zh) | 一种基于贪婪算法的相控阵雷达资源调度管理方法 | |
CN113312169B (zh) | 一种计算资源的分配方法及装置 | |
CN117242462A (zh) | 用于改进人工智能(ai)系统中的ai模型的分布式训练的边缘设备、边缘服务器及其同步 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Simulation Promotion Method and Simulation Platform Based on Dynamic Step Real time Scheduling Granted publication date: 20231117 Pledgee: Zhongguancun Branch of Bank of Beijing Co.,Ltd. Pledgor: Beijing Fangzhou Technology Co.,Ltd. Registration number: Y2024110000011 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |