调用代理模型的方法及装置与流程

文档序号:18060093发布日期:2019-07-03 03:01阅读:286来源:国知局
调用代理模型的方法及装置与流程

以下描述涉及代理模型领域,更具体地说,涉及一种调用代理模型的方法及装置。



背景技术:

代理模型通常是指在分析和优化设计过程中可替代比较复杂和费时的数值分析的一种近似数学模型,可提高优化设计效率,降低优化难度。

目前,在调用代理模型的方法上,主要通过两种方法:一种是损失模型的精度来保证模型的调用效率,另一种是保证模型的精度调用时使用复杂的嵌套循环来实现。

然而,采用嵌套的多重循环来最终得到调用结果,大大降低了计算效率,如果要保证计算效率则需要损失模型精度。此外,在优化迭代这种高计算量的情况下,更使得代理模型的调用可行性降低。



技术实现要素:

为了解决上述调用代理模型存在的效率低、可行性差的技术问题,本发明提供一种调用代理模型的方法及装置。

根据本发明的一方面,提供一种调用代理模型的方法,包括:获取多变量多项式基底的阶数矩阵作为第一阶数矩阵,并且获取所述多变量多项式基底的系数矩阵作为第一系数矩阵;以所述代理模型的阶数矩阵为底标,基于所述第一系数矩阵,生成三维的第二矩阵;基于所述第一阶数矩阵,构建变量的阶数矩阵作为第二阶数矩阵;沿所述第二矩阵的第一维,将所述第二矩阵与所述第二阶数矩阵做向量乘积,得到第三矩阵;基于所述第三矩阵得到多变量多项式向量;将所述代理模型的系数矩阵与所述多变量多项式向量做向量乘积,得到所述代理模型的展开式。

优选地,生成三维的第二矩阵的步骤可包括:针对所述代理模型的阶数矩阵中的每个阶数,在所述第一系数矩阵中搜索与每个阶数对应的行向量,作为所述第二矩阵的元素。

优选地,基于所述第三矩阵得到多变量多项式向量的步骤包括:将所述第三矩阵的每一列中的各个项进行相乘,得到所述多变量多项式向量的各个元素。

根据本发明的另一方面,提供一种调用代理模型的装置,包括:基底矩阵获取模块,被配置为:获取多变量多项式基底的阶数矩阵作为第一阶数矩阵,并且获取所述多变量多项式基底的系数矩阵作为第一系数矩阵;以及计算模块,被配置为:以所述代理模型的阶数矩阵为底标,基于所述第一系数矩阵,生成三维的第二矩阵;基于所述第一阶数矩阵,构建变量的阶数矩阵作为第二阶数矩阵;沿所述第二矩阵的第一维,将所述第二矩阵与所述第二阶数矩阵做向量乘积,得到第三矩阵;基于所述第三矩阵得到多变量多项式向量;将所述代理模型的系数矩阵与所述多变量多项式向量做向量乘积,得到所述代理模型的展开式。

所述计算模块还可被配置为:针对所述代理模型的阶数矩阵中的每个阶数,在所述第一系数矩阵中搜索与每个阶数对应的行向量,作为所述第二矩阵的元素。

所述计算模块还可被配置为:将所述第三矩阵的每一列中的各个项进行相乘,得到所述多变量多项式向量的各个元素。

根据本发明的另一方面,提供一种计算机可读存储介质。所述计算机可读存储介质存储有当被处理器执行时使得处理器执行如上所述的方法的程序指令。

根据本发明的另一方面,提供一种计算装置,包括:处理器;以及存储器,存储有当被处理器执行时使得处理器执行如上所述的方法的程序指令。

本发明能够在调用代理模型时,通过构建计算矩阵,避免了复杂的嵌套循环,实现了代理模型调用计算的向量化,在保证不损失精度的同时提升了调用代理模型的计算效率,从而实现代理模型的有效应用。

附图说明

以下将参照附图对本发明的示例实施例进行详细描述,其中,

图1是示出根据本发明示例实施例的调用代理模型的方法的流程图;

图2是示出根据本发明示例实施例的调用代理模型的装置的框图。

具体实施方式

本发明可具有各种变形和各种实施例,应理解,本发明不限于这些实施例,而是包括本发明的精神和范围内的所有变形、等同物和替换。在本发明的示例实施例中使用的术语仅用于描述特定实施例,而不是为了限制示例实施例。除非上下文另有清楚的指示,否则在此使用的单数形式也意图包括复数形式。

图1是示出根据本发明示例实施例的调用代理模型的方法的流程图。

参照图1,根据本发明示例实施例的调用代理模型的方法可包括:获取多变量多项式基底的阶数矩阵作为第一阶数矩阵,并且获取多变量多项式基底的系数矩阵作为第一系数矩阵(步骤101);以代理模型的阶数矩阵为底标,基于第一系数矩阵,生成三维的第二矩阵(步骤103);基于第一阶数矩阵,构建变量的阶数矩阵作为第二阶数矩阵(步骤105);沿第二矩阵的第一维,将第二矩阵与第二阶数矩阵做向量乘积,得到第三矩阵(步骤107);基于第三矩阵得到多变量多项式向量(步骤109);将代理模型的系数矩阵与多变量多项式向量做向量乘积,得到代理模型的展开式(步骤111)。

下面以代理模型为多项式混沌展开(pce,polynomialchaosexpansion)模型并且多变量多项式基底为勒让德(legendre)为例,对图1所示的调用代理模型的方法的各个步骤进行详细地描述。

根据本发明的示例实施例,pce模型包括如下所示的系数矩阵s和阶数矩阵α。

将要计算的pce模型的展开式如以下等式1所示:

在等式1中,sj为pce模型的系数矩阵s中的第j个元素,多变量多项式ξ=[ξ1,...,ξm],其中,m为变量的个数,np为多变量多项式的个数,ξ表示各个变量,并且每个变量ξi可以为标量,也可以为向量或多维矩阵。

第j多变量多项式是通过m个单变量多项式相乘而得到。根据本发明的示例实施例,单变量多项式表示:与单变量ξi对应的αij阶的legendre多项式。

根据图1所示的方法,可从pce模型的系数矩阵s和阶数矩阵α得到等式1所示的pce模型的展开式。参照阶数为4的示例来详细描述图1所示的方法,然而本发明构思不限于此。

在步骤101中,可根据下面的表1获取多变量多项式基底的阶数矩阵o4作为第一阶数矩阵,并且获取多变量多项式基底的系数矩阵l作为第一系数矩阵。

表1单变量的legendre多项式

第一阶数矩阵:第一系数矩阵:

在步骤103中,以代理模型的阶数矩阵为底标,基于第一系数矩阵,生成三维的第二矩阵lα。具体地说,针对代理模型的阶数矩阵α中的每个阶数,在第一系数矩阵l中搜索与每个阶数对应的行向量,作为第二矩阵lα的元素。

假设代理模型的阶数矩阵α中的α11为3阶,则在l中搜索与3阶对应的行向量,即,第一系数矩阵l的第四行为与α11=3对应的行向量。然后,搜索到的行向量代替代理模型的阶数矩阵α中的α11,即,作为第二矩阵lα中的第一元素。

通过上述方法得到第二矩阵lα中的各个元素,第二矩阵lα为三维的矩阵,并且可被表示为lα=l[α,:],其维数为5×m×np。

在步骤105中,基于第一阶数矩阵o4,构建变量的阶数矩阵作为第二阶数矩阵。

第二阶数矩阵:

在步骤107中,沿第二矩阵lα的第一维,将三维的第二矩阵lα与二维的第二阶数矩阵做向量乘积,得到如下所示的二维的第三矩阵p。

第三矩阵:其维数为m×np。

在步骤109中,将第三矩阵p的每一列中的各个项进行相乘,得到如下所示的多变量多项式向量ψ(ξ)的各个元素。

例如,多变量多项式向量ψ(ξ)的第一个元素可通过第三矩阵p的第一列的各项相乘而得到。

在步骤111中,如等式2所示,将代理模型的系数矩阵s与多变量多项式向量ψ(ξ)做向量乘积,得到pce代理模型的展开式

上面以pce模型和legendre多项式为例对图1所示的调用代理模型的方法进行了详细的描述,然而本发明构思不限于此,其他模型(例如,kriging模型等)和其他多项式(例如,拉格朗日多项式等)也同样适用。

图2是示出根据本发明示例实施例的调用代理模型的装置200的框图。

参照图2,调用代理模型的装置200可包括基底矩阵获取模块210和计算模块230。

基底矩阵获取模块210可被配置为:获取多变量多项式基底的阶数矩阵作为第一阶数矩阵,并且获取多变量多项式基底的系数矩阵作为第一系数矩阵。计算模块230可被配置为:以代理模型的阶数矩阵为底标,基于第一系数矩阵,生成三维的第二矩阵;基于第一阶数矩阵,构建变量的阶数矩阵作为第二阶数矩阵;沿第二矩阵的第一维,将第二矩阵与第二阶数矩阵做向量乘积,得到第三矩阵;基于第三矩阵得到多变量多项式向量;将代理模型的系数矩阵与多变量多项式向量做向量乘积,得到代理模型的展开式。

计算模块230还可被配置为:针对代理模型的阶数矩阵中的每个阶数,在第一系数矩阵中搜索与每个阶数对应的行向量,作为第二矩阵的元素。

计算模块230还被配置为:将第三矩阵的每一列中的各个项进行相乘,得到多变量多项式向量的各个元素。

图2中所示的计算模块230可执行如参照图1描述的步骤103至步骤111的操作,为了简明,在此省略其详细的描述。

根据本发明的示例实施例的图1的调用代理模型的方法以及图2的调用代理模型的装置能够在调用代理模型计算时,通过构建计算矩阵,避免了复杂的嵌套循环,实现了代理模型调用计算的向量化,在保证不损失精度的同时提升了调用代理模型的计算效率,从而实现代理模型的有效应用。根据本发明的发明构思,当代理模型是在风电领域中基于风机的类型和风参数等建立时,根据本发明构思得到的代理模型的展开式可用于,例如,风力发电机组的载荷估计,从而根据载荷估计优化设计,保证风力发电机组在实际运行时的安全性;或者用于风力发电机组的功率估计,从而在并网时实现有效地供电控制。

根据本发明构思的示例实施例,图1描述的方法的各个步骤以及图2的描述的各个模块及其操作可被编写为程序或软件。可基于附图中示出的框图和流程图以及说明书中的对应描述,使用任何编程语言来编写程序或软件。在一个示例中,程序或软件可包括被一个或多个处理器或计算机直接执行的机器代码,诸如,由编译器产生的机器代码。在另一个示例中,程序或软件包括被一个或多个处理器或计算机使用解释器执行的更高级代码。程序或软件可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中。在一个示例中,程序或软件或一个或多个非暂时性计算机可读存储介质可被分布在计算机系统上。

根据本发明构思的示例实施例,图1描述的方法的各个步骤以及图2的描述的各个模块及其操作可被实现在包括处理器和存储器的计算装置上。存储器存储有用于控制处理器实现如上所述的各个单元的操作的程序指令。

虽然上面参照图1至图2已经详细描述了本发明的特定示例实施例,但是在不脱离本发明构思的精神和范围的情况下,可以以各种形式对本发明进行修改。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、或装置中的组件以不同的方式组合,和/或被其他组件或它们的等同物代替或补充,则可实现合适的结果。因此,本公开的范围不是通过具体实施方式所限定,而是由权利要求和它们的等同物限定,并且在权利要求和它们的等同物的范围内的所有变化将被解释为被包括在本公开中。

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