一种基于最小结构奇异子集的分块快速延展方法

文档序号:6517324阅读:380来源:国知局
一种基于最小结构奇异子集的分块快速延展方法
【专利摘要】本发明公开了一种基于最小结构奇异子集的分块快速延展方法,属于多物理场建模【技术领域】。本方法包括以下步骤:步骤一:将多物理场模型产生的稀疏高阶DAE系统转化为Σ矩阵;步骤二:对Σ矩阵进行块状上三角矩阵分解;步骤三:对每一独立的块状上三角矩阵采用分块快速延展方法获取它的最优偏移向量;步骤四:由每个矩阵局部最优偏移向量构成Σ矩阵的整体最优偏移向量,将DAE系统转化为ODE系统,并找出一致初始点值的约束方程。本方法通过将DAE系统转化为ODE系统,并找出一致初始点值的约束方程,使得快速准确地实现稀疏高指标DAE系统的指标约简,实现了直接获取DAE系统的最优偏移向量等结构信息。
【专利说明】一种基于最小结构奇异子集的分块快速延展方法
【技术领域】
[0001]本发明属于多物理场建模【技术领域】,涉及一种基于最小结构奇异子集的分块快速延展方法。
【背景技术】
[0002]目前,针对一般结构的DAE系统主要的指标约简方法有:Gear方法,Pantelides方法和Pryce方法。
[0003]Gear方法是一种符号操作的DAE指标约简方法。该方法通过一系列符号操作找出DAE系统中需要微分的代数方程,反复执行这一过程,直至将DAE系统转化为微分方程(Ordinary Differential Equations, ODE)系统。但对于一般的非线性DAE系统,因微分了一些不必要的代数方程,Gear方法的时间复杂度很高,有时甚至无法实现。
[0004]Pantelides方法是一种基于MSS子集的指标约简方法。该方法首先将一阶DAE系统转化为对应的二部图,通过二部图的增广路算法来查找DAE系统的MSS子集;然后对MSS子集微分一次,并对DAE系统对应的二部图进行相应的删除和增加操作;反复执行直至DAE系统中找不到MSS子集。因为其相对比较低的时间复杂度,目前该方法被广泛应用于Dymola,MapleSim和MWorks等专业软件。但是针对高阶DAE系统,Pantelides方法不能直接处理,首先通过变量替换将其转化为一阶DAE系统,同时在一阶DAE系统指标约简中,又会不断引进新的变量来完成指标约简,从而不能直接获取DAE系统的结构信息。针对多物理场仿真模型容易产生的稀疏高阶DAE系统,虽然可能存在块状上或下三角结构,但该方法不易实现块状化处理。
[0005]Pryce方法是基于DAE系统2矩阵(Signature Matrix)的指标约简方法,从理论上等价于Pantelides方法,也被称为结构分析方法。该方法先将求解2矩阵最大横截面值的问题转化为指派问题,并通过求解这个指派问题来找到2矩阵值最大的横截面集合;然后通过求解指派问题的对偶问题(一般的线性规划问题),得到方程的最优偏移值(Canonical Offset)和变量的最优偏移值;最后根据这些最优偏移值将DAE系统转化为ODE系统,并找出一致初始点值的约束方程。该方法能够更加直接地获取DAE系统结构信息(最优偏移值等)。针对存在块状上或下三角结构的稀疏高阶DAE系统,Pryce等人最近提出了分块处理的技术,并将他们的软件包DAESA植入到Matlab的工具箱中,虽然可以降低部分计算量,但他们有时只能获取系统的有效偏移值,不能获取最优偏移值。

【发明内容】

[0006]有鉴于此,本发明的目的在于提供一种基于最小结构奇异子集的分块快速延展方法,该方法用于解决在数学软件中DAE系统指标约简过程中的效率问题,在现有符号化简技术的基础上,快速准确地实现稀疏高指标DAE系统的指标约简,直接获取DAE系统的最优偏移向量等结构信息。
[0007]为达到上述目的,本发明提供如下技术方案:[0008]一种基于最小结构奇异子集的分块快速延展方法,包括以下步骤:步骤一:将多物理场模型产生的稀疏高阶DAE系统转化为Σ矩阵;步骤二:对Σ矩阵进行块状上三角矩
阵分解为
【权利要求】
1.一种基于最小结构奇异子集的分块快速延展方法,其特征在于:包括以下步骤: 步骤一:将多物理场模型产生的稀疏高阶DAE系统转化为2矩阵;
2.根据权利要求1所述的一种基于最小结构奇异子集的分块快速延展方法,其特征在于:步骤三中的分块快速延展方法具体包括以下步骤: 1)存储块状上三角结构的2矩阵(符号矩阵)和对角子方阵阶数:输入n阶p块上三角结构的2矩阵
3.根据权利要求2所述的一种基于最小结构奇异子集的分块快速延展方法,其特征在于:所述含参数Σ矩阵约简方法具体包括以下步骤: .1)输入n(>I)阶Σ矩阵M和需要满足限制的η维参数向量md; .2)初始化设定:k= O,方程η维偏移向量c = [0,0,...,0]1>01,变量偏移向量(1 =[O, O,, O] 1Χη,方程集合F = 0,变量集合JT = 0和变量匹配方程η维数向量Matching =[O,O,...,O]ιχη ; .3)变量偏移向量d的初始更新:先取d为M中各列的最大值构成的向量,再取d为d和参数md对应各元素中的最大值来更新d中对应的元素值,即d = max(d,md); .4)方程主导数集合L选取:调用函数L= FindLeadingDerivativeSet (M, d),其中函数表示为 L= {(i, j) Mi; j = dj, i = 1...n, j = 1...η}; .5)判断子算法计算是否结束:如果i= η,输出c和d,结束;否则,i = i+Ι,取PATHFOUND=FALSE ; . 6)标记变量向量初始化设定:LabeI= [O, O, , 0]1Xn ; . 7)匹配查找:运用FindMatching(i,PATHFOUND, Label, Matching, L); .8)判断是否找到匹配:如果找到匹配,PATHFOUND=TRUE,转步骤(2.5);否则,找到集合X = {j |Label [j] = 1}和关于 X 的 MSS 子集 F = {i} U {Matching [j] | j e X}; .9)对MSS子集进行微分,并更新方程偏移向量c和调整M矩阵:如果F仅有一个元素i,取md与M矩阵的第i行之间向量差的最小值为ac,c[i] = c[i]+ac,对M矩阵的第i行中所有非负元素都增加ac;否则依次取i' eF,c[i' ]=c[i' ]+1,并对M矩阵的第i'行中所有非负元素增加I ; .10 )变量偏移向量d和方程主导数集合L更新:md取M矩阵各列的最大值,再更新d为max (d, md),并取 L = FindLeadingDerivativeSet (M, d),转步骤 6)。
【文档编号】G06F17/16GK103530278SQ201310528908
【公开日】2014年1月22日 申请日期:2013年10月30日 优先权日:2013年10月30日
【发明者】唐卷, 冯勇, 吴文渊, 杨文强 申请人:重庆绿色智能技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1