仿真求解算法的定制方法、装置、设备和存储介质
文献发布时间:2023-06-19 09:40:06
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种仿真求解算法的定制方法、装置、设备和存储介质。
背景技术
近年来,动态系统仿真建模行业飞速发展,建模用户越来越多,用户需求也越来越多样化。
在现有的仿真建模软件中,通常都提供了一些通用的动态系统求解算法,以使得用户能够依托这些通用的求解算法来进行仿真求解。
但是,当一些高级用户需要用到自有的算法或者是第三方算法来对动态系统进行仿真求解时,需要人为来控制算法,因此存在现有的动态系统仿真建模软件无法根据用户需求为用户定制仿真求解算法的通用算法的问题。
针对相关技术中存在现有的动态系统仿真建模软件无法根据用户需求为用户定制仿真求解算法的通用算法的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种仿真求解算法的定制方法、装置、设备和存储介质,以解决相关技术中存在现有的动态系统仿真建模软件无法根据用户需求为用户定制仿真求解算法的通用算法的问题。
为了实现上述目的,第一方面,本申请提供了一种仿真求解算法的定制方法。
根据本申请的方法包括:
获取求解算法,其中,求解算法包括内置算法和定制算法;
对求解算法进行标准接口封装,得到封装算法;
将封装算法在预设求解框架中进行算法注册,得到注册算法;
按照预设求解流程调用预设求解框架中的注册算法,对动态系统进行仿真求解。
在本申请一种可能的实现方式中,内置算法为动态系统的预设算法,定制算法为用户自定义算法或第三方算法中的至少一者。
在本申请一种可能的实现方式中,预设求解流程包括多个求解模板流程,每个求解模板流程以统一方式调用预设求解框架。
在本申请一种可能的实现方式中,按照预设求解流程调用预设求解框架中的注册算法之前,求解模板流程调用注册算法的接口函数。
在本申请一种可能的实现方式中,接口函数包括预设算法创建接口函数、预设选项设置接口函数、预设算法初始化接口函数、预设算法求解接口函数和预设算法销毁接口函数,求解模板流程调用注册算法的接口函数,包括:
调用预设算法创建接口函数,创建注册算法实例;
调用预设选项设置接口函数,设置求解选项;
调用预设算法初始化接口函数,对动态系统进行初始化;
调用预设算法求解接口函数,对动态系统进行仿真求解;
调用预设算法销毁接口函数,销毁注册算法实例。
在本申请一种可能的实现方式中,封装算法包括内置封装算法和定制封装算法,对求解算法进行标准接口封装,得到封装算法,包括:
对内置算法进行标准接口封装,得到内置封装算法;
对定制算法进行标准接口封装,得到定制封装算法。
在本申请一种可能的实现方式中,注册算法包括内置注册算法和定制注册算法,将封装算法在预设求解框架中进行算法注册,得到注册算法,包括:
将内置封装算法在预设求解框架中进行算法注册,得到内置注册算法;
将定制封装算法在预设求解框架中进行算法注册,得到定制注册算法。
第二方面,本申请还提供了一种仿真求解算法的定制装置,装置包括:
获取模块,用于获取求解算法,其中,求解算法包括内置算法和定制算法;
算法标准接口模块,用于对求解算法进行标准接口封装,得到封装算法;
求解框架模块,用于将封装算法在预设求解框架中进行算法注册,得到注册算法;
求解模块,用于按照预设求解流程调用预设求解框架中的注册算法,对动态系统进行仿真求解。
在本申请一种可能的实现方式中,算法标准接口模块具体用于:
调用预设算法创建接口函数,创建注册算法实例;
调用预设选项设置接口函数,设置求解选项;
调用预设算法初始化接口函数,对动态系统进行初始化;
调用预设算法求解接口函数,对动态系统进行仿真求解;
调用预设算法销毁接口函数,销毁注册算法实例。
在本申请一种可能的实现方式中,算法标准接口模块具体还用于:
对内置算法进行标准接口封装,得到内置封装算法;
对定制算法进行标准接口封装,得到定制封装算法。
在本申请一种可能的实现方式中,求解框架模块具体用于:
将内置封装算法在预设求解框架中进行算法注册,得到内置注册算法;
将定制封装算法在预设求解框架中进行算法注册,得到定制注册算法。
第三方面,本申请还提供了一种仿真求解算法的定制电子设备,电子设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行以实现第一方面中任一项的仿真求解算法的定制方法。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器进行加载,以执行第一方面任一项的仿真求解算法的定制方法中的步骤。
在本申请实施例中,提供一种仿真求解算法的定制方法,将内置算法和定制算法进行标准接口封装后,在预设求解框架中进行注册,并且按照预设求解流程调用预设求解框架中的注册算法,来对动态系统进行仿真求解,通过采用统一的求解框架,应用模板式的求解流程,制定标准的算法接口,实现了仿真求解算法的可定制,能够满足软件开发者和用户对求解算法的定制需求;进而解决相关技术中现有的动态系统仿真建模软件无法根据用户需求为用户定制仿真求解算法的通用算法的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种仿真求解算法的定制方法的一个实施例流程示意图;
图2是根据本申请实施例提供的求解模板流程调用所述注册算法的接口函数的一个实施例流程示意图;
图3是根据本申请实施例提供的得到封装算法的一个实施例流程示意图;
图4是根据本申请实施例提供的得到注册算法的一个实施例流程示意图;
图5是根据本申请实施例提供的一种仿真求解算法的定制装置的一个实施例结构示意图;
图6是根据本申请实施例提供的一种仿真求解算法的定制电子设备的一个实施例结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
另外,术语“多个”的含义应为两个以及两个以上。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
首先,本申请实施例提供一种仿真求解算法的定制方法,该仿真求解算法的定制方法的执行主体为仿真求解算法的定制装置,该仿真求解算法的定制装置应用于处理器,该仿真求解算法的定制方法包括:获取求解算法,其中,求解算法包括内置算法和定制算法;对求解算法进行标准接口封装,得到封装算法;将封装算法在预设求解框架中进行算法注册,得到注册算法;按照预设求解流程调用预设求解框架中的注册算法,对动态系统进行仿真求解。
请参阅图1,图1为本申请实施例所提供的一种仿真求解算法的定制方法的一个实施例流程示意图,该仿真求解算法的定制方法包括:
101、获取求解算法,其中,求解算法包括内置算法和定制算法。
本申请实施例中,目标是实现对动态系统的仿真求解算法的可定制,因此,本申请中的求解算法可以包括内置算法和定制算法,其中,该内置算法可以是动态系统的预设算法,比如动态系统在开发阶段已经内置的一些通用算法,而定制算法则可以是用户自定义算法或者第三方算法中的至少一者,其中用户自定义算法可以是用户根据应用需求所自定义的算法,而第三方算法可以是其他动态系统或应用软件的应用算法。
102、对求解算法进行标准接口封装,得到封装算法。
为了便于后续预设求解流程和预设求解框架对各类算法的统一调用和处理,本申请实施例中,对求解算法进行算法接口标准化处理,即对求解算法进行标准接口封装,得到封装算法,需要说明的是,由于内置算法为动态系统的预设算法,因此,有可能其算法接口已经是标准接口,在这种情况下,就不需要再对内置算法进行标准接口封装了,只有在内置算法的算法接口不是动态系统统一的标准接口时,就需要对内置算法进行标准接口封装,使得求解算法中的每一类算法具有统一格式的算法接口。
103、将封装算法在预设求解框架中进行算法注册,得到注册算法。
本申请实施例中,不管是内置算法还是定制算法,都需要在预设求解框架中进行注册,注册之后,预设求解框架对内置算法和定制算法可以采用相同的方式进行调用和控制,此时,注册算法的调用不再由用户直接调用,而是由预设求解框架来调用和控制,也就是说,注册算法的控制权由用户控制转向框架控制,即实现了反向控制。
104、按照预设求解流程调用预设求解框架中的注册算法,对动态系统进行仿真求解。
在本申请实施例中,动态系统的预设求解流程包括多个求解模板流程,每个求解模板流程以统一方式调用预设求解框架,由预设求解框架和注册算法协同完成对动态系统的仿真求解。用户向动态系统输入相关算法配置,预设求解框架读入配置,并依据用户配置的求解算法,从注册算法中找出与用户配置的求解算法相匹配的算法,然后调用求解模板流程依据预设求解流程对动态系统进行仿真求解。
另外,本申请实施例中,预设求解框架、预设求解流程和算法接口确保各类求解算法可以集成至动态系统的仿真求解器中,能够方便软件开发者添加求解算法,但无法保证最终用户也能集成自有算法,因此,本申请中,动态系统仿真求解器的代码分为两部分,其中一部分是固定不变的部分,编译成二进制库文件,另一部分则是随动态系统变化的部分,这部分在动态系统翻译为求解器的过程中进行编译。集成用户算法的代码与随动态系统变化的代码一样,在翻译的过程中进行编译,与固定不变的部分一起构建成仿真求解器。这样,最终用户也能方便地集成求解算法。本申请实施例中,动态系统结构也包括代码的组织结构,是实现终端用户定制的关键。仿真模型代码由建模系统生成,算法注册和求解算法由最终用户编写,且都是源代码的形式,编译后与固定的求解代码连接构建出完整的仿真求解器。
在本申请实施例中,提供一种仿真求解算法的定制方法,将内置算法和定制算法进行标准接口封装后,在预设求解框架中进行注册,并且按照预设求解流程调用预设求解框架中的注册算法,来对动态系统进行仿真求解,通过采用统一的求解框架,应用模板式的求解流程,制定标准的算法接口,实现了仿真求解算法的可定制,能够满足软件开发者和用户对求解算法的定制需求。
如图2所示,为本申请实施例提供的求解模板流程调用所述注册算法的接口函数的一个实施例流程示意图,在本申请一些实施例中,按照预设求解流程调用预设求解框架中的注册算法之前,求解模板流程调用注册算法的接口函数,接口函数包括预设算法创建接口函数、预设选项设置接口函数、预设算法初始化接口函数、预设算法求解接口函数和预设算法销毁接口函数,求解模板流程调用注册算法的接口函数,求解模板流程调用注册算法的接口函数,可以进一步包括:
201、调用预设算法创建接口函数,创建注册算法实例;
202、调用预设选项设置接口函数,设置求解选项;
203、调用预设算法初始化接口函数,对动态系统进行初始化;
204、调用预设算法求解接口函数,对动态系统进行仿真求解;
205、调用预设算法销毁接口函数,销毁注册算法实例。
如图3所示,为根据本申请实施例提供的得到封装算法的一个实施例流程示意图,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程示意图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本申请一些实施例中,封装算法包括内置封装算法和定制封装算法,对求解算法进行标准接口封装,得到封装算法,可以进一步包括:
301、对内置算法进行标准接口封装,得到内置封装算法。
需要说明的是,由于内置算法为动态系统的预设算法,因此,有可能其算法接口已经是标准接口,在这种情况下,就不需要再对内置算法进行标准接口封装了,只有在内置算法的算法接口不是动态系统统一的标准接口时,就需要对内置算法进行标准接口封装,使得求解算法中的每一类算法具有统一格式的算法接口。
302、对定制算法进行标准接口封装,得到定制封装算法。
本申请实施例中,将定制算法例如用户自定义算法或第三方算法封装为标准的接口,并注册至预设求解框架,由预设求解框架在预设求解流程中按模板的方式调用,从而使预设求解框架可适应各类求解算法。
如图4所示,为根据本申请实施例提供的得到注册算法的一个实施例流程示意图,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程示意图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本申请一些实施例中,注册算法包括内置注册算法和定制注册算法,将封装算法在预设求解框架中进行算法注册,得到注册算法,可以进一步包括:
401、将内置封装算法在预设求解框架中进行算法注册,得到内置注册算法。
402、将定制封装算法在预设求解框架中进行算法注册,得到定制注册算法。
本申请实施例中,求解算法封装后向预设求解框架进行注册,以便预设求解框架能感知到封装后的各求解算法,同时对于求解算法的调用控制权转移给预设求解框架,预设求解框架根据用户配置的求解算法从预设求解框架中挑选对应的注册算法,进而对动态系统进行仿真求解。
为了更好实施本申请实施例中的仿真求解算法的定制方法,在仿真求解算法的定制方法基础之上,本申请实施例还提供一种仿真求解算法的定制装置,如图5所示,仿真求解算法的定制装置500包括:
获取模块501,用于获取求解算法,其中,求解算法包括内置算法和定制算法;
算法标准接口模块502,用于对求解算法进行标准接口封装,得到封装算法;
求解框架模块503,用于将封装算法在预设求解框架中进行算法注册,得到注册算法;
求解模块504,用于按照预设求解流程调用预设求解框架中的注册算法,对动态系统进行仿真求解。
在本申请一些实施例中,算法标准接口模块502具体用于:
调用预设算法创建接口函数,创建注册算法实例;
调用预设选项设置接口函数,设置求解选项;
调用预设算法初始化接口函数,对动态系统进行初始化;
调用预设算法求解接口函数,对动态系统进行仿真求解;
调用预设算法销毁接口函数,销毁注册算法实例。
在本申请一些实施例中,算法标准接口模块502具体还用于:
对内置算法进行标准接口封装,得到内置封装算法;
对定制算法进行标准接口封装,得到定制封装算法。
在本申请一些实施例中,求解框架模块503具体用于:
将内置封装算法在预设求解框架中进行算法注册,得到内置注册算法;
将定制封装算法在预设求解框架中进行算法注册,得到定制注册算法。
具体的,本申请实施例的装置中各模块实现其功能的具体过程可参见如图1至图4对应任意实施例中仿真求解算法的定制方法的说明,具体在此不再赘述。
本申请实施例还提供一种仿真求解算法的定制电子设备,其集成了本申请实施例所提供的任一种仿真求解算法的定制装置,该电子设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行上述仿真求解算法的定制方法实施例中任一实施例中的仿真求解算法的定制方法中的步骤。
本申请实施例的一种仿真求解算法的定制电子设备,其集成了本申请实施例所提供的任一种仿真求解算法的定制装置。如图6所示,其示出了本申请实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;处理器601可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
该电子设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
获取求解算法,其中,求解算法包括内置算法和定制算法;
对求解算法进行标准接口封装,得到封装算法;
将封装算法在预设求解框架中进行算法注册,得到注册算法;
按照预设求解流程调用预设求解框架中的注册算法,对动态系统进行仿真求解。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的仿真求解算法的定制装置、电子设备及其相应单元的具体工作过程,可以参考如图1至图4对应任意实施例中仿真求解算法的定制方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器601进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种仿真求解算法的定制方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:
获取求解算法,其中,求解算法包括内置算法和定制算法;
对求解算法进行标准接口封装,得到封装算法;
将封装算法在预设求解框架中进行算法注册,得到注册算法;
按照预设求解流程调用预设求解框架中的注册算法,对动态系统进行仿真求解。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
- 仿真求解算法的定制方法、装置、设备和存储介质
- 仿真数据处理方法、装置、仿真设备及存储介质