一种基于云仿真的并行优化方法和系统与流程

文档序号:17323551发布日期:2019-04-05 21:39阅读:228来源:国知局
一种基于云仿真的并行优化方法和系统与流程

本申请涉及智能仿真领域,特别涉及一种基于云仿真的并行优化方法和系统。



背景技术:

目前,很多优化技术都采用并行优化。比如说群体智能优化算法及相关的改进算法,设置多个实例在解空间中并行进行寻优,利用群体中各实例之间对最优解的信息共享,使得整个群体的搜索方向在解空间中产生从无序到有序的演化过程。还比如并行学习的各类算法,设置多个实例的神经网络模型,利用各个实例分别在不同的数据集上进行模型训练,最后在适当的时间对各个模型参数进行综合得到最终模型的参数。

由于优化问题的复杂性,目前解空间的计算或者训练数据集的生成都需要调用仿真软件来进行计算。如isight软件等多学科优化软件,提供了与多种主流cae分析工具的专用接口,支持用户以拖拽的方式可视化地快速建立仿真分析流程,并方便地设定和修改设计变量以及设计约束与目标,自动进行多次分析循环。

但是isight软件等多学科优化软件主要还是进行串行优化。它们建立的仿真分析流程各个环节关联的是单个仿真软件实例,这些仿真软件实例由用户提前手动部署好。如果需要开展并行优化,需要用户提前部署好多组仿真软件实例,并在仿真分析流程中提前描述好每一组组仿真软件实例的关系以及各组仿真软件实例与优化软件之间的关系。而且,这些关系是固化的,如果需要增加并行优化的实例数目,还需要重新部署和重新更改流程,对用户开展并行优化造成很大的不便。



技术实现要素:

为解决上述问题之一,本申请提供了一种基于云仿真的并行优化方法。

根据本申请实施例的第一个方面,提供了一种基于云仿真的并行优化方法,该方法的步骤包括:

基于计算系统虚拟化,构建单组仿真软件的云仿真模板;

基于云仿真模板,创建多组仿真软件实例;

将多组仿真软件实例与优化软件进行关联,完成软件的并行优化。

优选地,所述基于计算系统虚拟化,对单组仿真软件进行云仿真模板构建的步骤包括:

建立云仿真模板中的单组仿真运行依赖环境封装模板,安装多个节点的基础软件,在不同节点上安装不同学科的仿真软件,并对计算资源、存储资源和网络资源进行需求描述;

建立云仿真模板中的单组仿真协同依赖环境封装模板,安装多学科协同仿真支撑软件,并对多学科协同仿真业务进行描述。

优选地,所述基于云仿真模板,创建多组仿真软件实例的步骤包括:

基于所述云仿真模板,分配所需计算资源、存储资源和网络资源,在分配的多个节点上面启动基础软件和相应的仿真软件,启动多学科协同仿真支撑软件,形成单组仿真软件实例;

基于所述云仿真模板,重复上一步骤,创建多组仿真软件实例。

优选地,所述基于云仿真模板,创建多组仿真软件实例的步骤还包括:

利用计算系统虚拟化技术对多组仿真软件实例进行隔离。

优选地,所述将多组仿真软件实例与优化软件进行关联,完成软件的并行优化的步骤包括:

通过网关建立各组仿真软件实例与优化软件的连接,实现各组多学科协同仿真支撑软件与优化软件的集成;

优化软件基于集成的多学科协同仿真支撑软件,下达设计参数给各组仿真软件实例,调用各组内部多学科的仿真软件进行协同仿真分析,收集仿真分析结果,获得对应设计参数的结果反馈。

优选地,该步骤还包括:根据优化调度,进行反复迭代,获得最优优化结果。

根据本申请实施例的第二个方面,提供了一种基于云仿真的并行优化系统,该系统包括:

仿真模板管理模块,基于计算系统虚拟化,构建单组仿真软件的云仿真模板;

仿真实例创建模块,基于云仿真模板,创建多组仿真软件实例;

优化驱动仿真调度模块,将多组仿真软件实例与优化软件进行关联,完成软件的并行优化。

优选地,所述模板构建模块具体执行如下步骤:

建立云仿真模板中的单组仿真运行依赖环境封装模板,安装多个节点的基础软件,在不同节点上安装不同学科的仿真软件,并对计算资源、存储资源和网络进行需求描述;

建立云仿真模板中的单组仿真协同依赖环境封装模板,安装多学科协同仿真支撑软件,并对多学科协同仿真业务进行描述。

优选地,该实例创建模块具体执行如下步骤:

基于所述云仿真模板,分配所需计算资源、存储资源和网络资源;

在分配的多个节点上面启动基础软件和相应的仿真软件,启动多学科协同仿真支撑软件,形成单组仿真软件实例;

基于所述云仿真模板,重复上一步骤,创建多组仿真软件实例。

优选地,所述关联仿真模块具体执行如下步骤:

通过网关建立各组仿真软件实例与优化软件的连接,实现各组多学科协同仿真支撑软件与优化软件的集成;

优化软件基于集成的多学科协同仿真支撑软件,下达设计参数给各组仿真软件实例,调用各组内部多学科的仿真软件进行协同仿真分析,收集仿真分析结果,获得对应设计参数的结果反馈。

本申请所述技术方案能够提高了仿真软件(组)部署的效率,用户只需要安装部署一组仿真软件,就可以根据优化软件的需要,通过云仿真自动部署其它组仿真软件实例。当并行优化所需要的实例越多时,效率越高。

本申请所述技术方案提供并行优化框架下柔性化的多实例仿真分析流程,用户只需要描述一组仿真软件实例的仿真分析流程,就可以根据并行优化的需要,通过云仿真自动实现仿真分析流程的多实例化。用户不需要额外的流程更改,方便快捷;支持基于仿真高效开展群体智能优化和并行机器学习。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1示出本申请所述一种基于云仿真的并行优化方法的示意图。

具体实施方式

为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本方案的核心思路是在并行优化框架下,进行柔性化的多实例仿真分析流程,用户只需要描述一组仿真软件实例的仿真分析流程,就可以根据并行优化的需要,通过云仿真自动实现仿真分析流程的多实例化,从而解决多组仿真软件实例自动创建以及与优化软件自动关联的问题。

实施例1

如图1所示,本实例公开了一种基于云仿真的并行优化方法,该方法的步骤包括:

步骤1、基于计算系统虚拟化,构建单组仿真软件的云仿真模板。其中,所述云仿真模板包括:单组仿真软件运行依赖环境封装模板和单组仿真软件协同依赖环境封装模板。该步骤中,首先,建立云仿真模板中的单组仿真运行依赖环境封装模板,安装多个节点的基础软件,在不同节点上安装不同学科的仿真软件,并对计算资源、存储资源和网络资源进行需求描述;其中,计算资源包括cpu、内存和存储等资源。此外,基础软件对应操作系统(如windows、linux等)、运行时库(c++库、.net库等);仿真软件对应cae、eda这些来自不同学科的仿真软件。其次,建立云仿真模板中的单组仿真协同依赖环境封装模板,安装多学科协同仿真支撑软件,并对多学科协同仿真业务进行描述;其中,协同仿真业务包括数据交互关系和时序逻辑关系等。其中,多学科协同仿真支撑软件中较为典型的为rti(run-timeinfrastructure)

步骤2、基于云仿真模板,创建多组仿真软件实例。该步骤中,首先,基于所述云仿真模板,分配所需计算资源、存储资源和网络资源,在分配的多个节点上面启动基础软件和相应的仿真软件,启动多学科协同仿真支撑软件,形成单组仿真软件实例;然后,基于所述云仿真模板,重复上一步骤,创建多组仿真软件实例。本实例中,可以利用计算系统虚拟化技术对多组仿真软件实例进行隔离。

步骤3、将多组仿真软件实例与优化软件进行关联,完成软件的并行优化。首先,通过网关建立各组仿真软件实例与优化软件的连接,实现各组多学科协同仿真支撑软件与优化软件的集成;然后,优化软件基于集成的多学科协同仿真支撑软件,下达设计参数给各组仿真软件实例,调用各组内部多学科的仿真软件进行协同仿真分析,收集仿真分析结果,获得对应设计参数的结果反馈。

本实例中进一步提供了一种基于云仿真的并行优化系统,该系统包括:

仿真模板管理模块,基于计算系统虚拟化,构建单组仿真软件的云仿真模板;所述模板构建模块具体执行如下步骤:建立云仿真模板中的单组仿真运行依赖环境封装模板,安装多个节点的基础软件,在不同节点上安装不同学科的仿真软件,并对计算资源、存储资源和网络资源进行需求描述;建立云仿真模板中的单组仿真协同依赖环境封装模板,安装多学科协同仿真支撑软件,并对多学科协同仿真业务进行描述。

仿真实例创建模块,基于云仿真模板,创建多组仿真软件实例;该实例创建模块具体执行如下步骤:基于所述云仿真模板,分配所需计算资源、存储资源和网络资源,在分配的多个节点上面启动基础软件和相应的仿真软件,启动多学科协同仿真支撑软件,形成单组仿真软件实例;基于所述云仿真模板,重复上一步骤,创建多组仿真软件实例。

优化驱动仿真调度模块,将多组仿真软件实例与优化软件进行关联,完成软件的并行优化。所述关联仿真模块具体执行如下步骤:通过网关建立各组仿真软件实例与优化软件的连接,实现各组多学科协同仿真支撑软件与优化软件的集成;优化软件基于集成的多学科协同仿真支撑软件,下达设计参数给各组仿真软件实例,调用各组内部多学科的仿真软件进行协同仿真分析,收集仿真分析结果,获得对应设计参数的结果反馈。

本申请所述技术方案能够提高了仿真软件(组)部署的效率,用户只需要安装部署一组仿真软件,就可以根据优化软件的需要,通过云仿真自动部署其它组仿真软件实例。当并行优化所需要的实例越多时,效率越高。本申请所述技术方案提供并行优化框架下柔性化的多实例仿真分析流程,用户只需要描述一组仿真软件实例的仿真分析流程,就可以根据并行优化的需要,通过云仿真自动实现仿真分析流程的多实例化。用户不需要额外的流程更改,方便快捷。

实施例2

本实施例提供了一种基于云仿真的并行优化方法,该方法能够通过电子设备实现其相应功能,该电子设备包括:存储器,一个或多个处理器;存储器与处理器通过通信总线相连;处理器被配置为执行存储器中的指令;所述存储介质中存储有用于执行如上所述方法中各个步骤的指令。该方法也可以通过计算机存储介质实现器相应功能,这种计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现如上所述方法的各个步骤。

具体可以按照如下步骤实施:

第一步建立单组仿真软件的云仿真模板

基于计算系统虚拟化,对单组仿真软件进行云仿真模板封装。云仿真模板封装包括单组仿真软件运行依赖环境封装和单组仿真软件协同依赖环境封装。前者包括对所需的cpu、内存、存储等计算资源的需求描述以及操作系统等运行依赖软件的安装;后者包括对数据交互关系和时序逻辑关系等协同仿真业务的描述以及如流程引擎软件或者hlarti软件等协同依赖软件的安装。

第二步基于云仿真自动创建多组仿真软件实例

基于云仿真按需自动创建多组仿真软件实例。每创建一组仿真软件实例的操作包括,根据所需的cpu、内存、存储等计算资源的需求描述自动分配所需的计算资源,将云仿真模板在分配的计算资源上面进行实例化,启动操作系统等运行依赖软件和如流程引擎软件或者hlarti软件等协同依赖软件,最后启动组内各个仿真软件,并建立各组仿真软件实例之间的有效隔离。

第三步建立各组仿真软件实例与优化软件的自动关联

通过网关建立各组相互隔离的仿真软件实例与优化软件的连接,实现各组内部协同依赖软件与优化软件的集成,支持优化软件通过协同依赖软件下达设计参数给各组仿真软件实例,支持协同依赖软件根据时序逻辑调用各组内部仿真软件进行仿真分析,支持协同依赖软件收集仿真分析结果并反馈给优化软件,支持上述过程的反复迭代。其中,对于支持协同依赖软件根据时序逻辑调用各组内部仿真软件进行仿真分析可以是由流程引擎软件根据仿真分析流程进行调度或者hlarti软件根据时间推进机制和数据分发机制进行调度。

本实施例中,可以通过云服务器、仿真运行管理器和优化器等实现多实例并行优化。首先,可以利用计算系统虚拟化技术,构建单组仿真软件的云仿真模板,存储于云服务器中;然后,根据仿真的需要利用云服务器中存储的云仿真模板创建与仿真对象相关的多组仿真软件实例,利用仿真运行管理器对可视化、控制条件、动力条件、等等仿真运行项目进行管理调度;进一步的,通过网关建立各组仿真软件实例与优化软件的连接,使各组内部云仿真模板与优化软件的集成协同依赖软件与优化软件的集成;优化软件根据集成的协同依赖软件进行仿真分析、仿真结果收集和仿真结果反馈;最后,根据仿真调度,进行反复迭代,获得最优优化结果。

本方案提高了仿真软件(组)部署的效率,用户只需要安装部署一组仿真软件,就可以根据优化软件的需要,通过云仿真自动部署其它组仿真软件实例。当并行优化所需要的实例越多时,效率越高。另外,本方案提供并行优化框架下柔性化的多实例仿真分析流程,用户只需要描述一组仿真软件实例的仿真分析流程,就可以额根据并行优化的需要,通过云仿真自动实现仿真分析流程的多实例化。用户不需要额外的流程更改,方便快捷。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1