论文部分内容阅读
在工业化社会向信息化社会前进过程中,复杂系统建模与仿真技术与高性能计算技术相结合,成为继理论研究和实验研究后的第三种重要方法。复杂系统研究的主流之一是多领域统一建模,欧美于1996年开始针对性地开展了统一物理建模与分析研究,提出了建模语言Modelica,被认为是IT技术与工业领域的具有里程碑意义的基础创新。 Modelica是一种为模型库开发和协同而设计的、支持数学方程的、建立在非因果模型之上的、基于图形组件的建模手段,它实现了视觉上的“所见即所得”设计模式,极大地方便了应用领域的工程师们进行产品设计和开发,却将巨大的困难推向了仿真求解算法。原因在于,它最终形成了高指标微分代数方程组(DAEs),不可避免地将常微分方程、状态方程、参数方程、差分方程、条件转移方程、随机过程方程等耦合在一起,耦合方程的数目往往达到数百个、甚至成千上万个。该DAEs是高指标的,需要利用指标约减方法归结为小的、低指标的、可求解的四类DAEs问题之一,从而得到仿真结果。 主流软件多采用结构指标约简的快速算法求解高指标DAEs。该算法提高了计算效率,却丧失了求解的鲁棒性。具体而言,它对一类DAEs问题的求解,小概率地会出现失效问题。从软件质量控制、V&V的角度看,小概率的失效,将导致算法库的不合格,从而导致应用软件的鲁棒性缺失。 结构指标约简失效问题的解决,国际上的研究主流提出了组合松弛理论,基于组合优化、拟阵、多项式、图论等手段,将检测结构指标与微分指标是否一致的问题归结为判断四条秩约束规则,理论上给出了结构指标约简中的失效检测和修复方法。 本论文致力于求解Modelica导出的DAEs问题,研制一套鲁棒性的、高效率的、基于结构指标约简算法的DAEs求解器框架与实现程序,从结构指标约简的失效检测和修复两个角度,解决DAE通用算法库可能出现的小概率的指标约简失效问题。该求解器利用归约分解算法,将大规模DAEs划分为多个小规模的子系统;针对高指标的DAE子系统,进行结构指标约简的失效检测与修复;利用结构指标的约简算法,将高指标问题约简为可求解的四类特殊形式的DAE问题之一;调用数值算法库进行直接求解。 论文的研究重点集中于,DAEs的归约分解算法、结构指标约简的失效检测算法、以及结构指标约简的失效修复算法。归约分解算法的研究,主要涉及到Dulmage-Mendelsohn分解、有向图强连通分量计算和拓扑排序等。结构指标约简失效检测与修复算法的研究,主要涉及到组合松弛理论与算法,以及二部图最大权匹配、最短路径计算等图论算法。为了有效解决算法程序的性能瓶颈,论文针对强连通分量计算的Tarjan、Kosaraju、分而治之等算法进行了理论分析与数值比较;针对二部图最大权匹配计算的Kuhn-Munkras(KM)算法、松弛-KM算法、网络流算法等进行了理论分析与比较,据此给出了我们的Greedy-KM新型算法。 本文的创新性工作主要包括:(1)针对具有结构指标约简失效检测与修复功能的DAEs问题求解器,给出了程序设计框架,并对功能组件进行了代码实现;(2)针对结构指标约简的失效检测与修复问题,给出了失效检测算法以及失效修复算法,并进行了程序代码实现;(3)针对DAEs求解算法程序的性能瓶颈——二部图最大权匹配问题,构造并实现了Greedy-KM新型算法,显著地提升了算法的绝对计算性能(数值试验表明,提升幅度超过了100%)。