基于Modelica模型的参数优化及推理求解研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华中科技大学
博士学位论文
基于Modelica模型的参数优化及推理求解研究
姓名:***
申请学位级别:博士
专业:机械设计及理论
指导教师:陈立平;吴义忠
20080501
摘要
产品设计是一个工程分析和优化决策的过程,其中优化是目的,仿真是优化的手段,建模是仿真和优化的基础。

本文主要研究Modelica仿真模型的参数优化方法及推理求解等问题。

针对参数优化中参数变动后重复仿真的效率问题,研究了一种分治求解策略,即在仿真模型规模分解基础上建立耦合块依赖图和序列表,对各耦合块建立相应的求解块,通过遍历耦合块序列表并调用相应求解块,便可获得仿真模型的数值解。

考虑到参数变动下的重复仿真,对耦合块依赖图进行分层处理,生成对应于变动参数集的变动子图;通过施加虚根节点将变动子图转化成最小求解树结构。

因此,对变动参数集的不同参数值进行重复仿真只需层次遍历最小求解树,再调用相应的求解块即可。

该方法可一定程度上提高复杂模型的多次仿真求解效率。

在分析多领域物理系统仿真优化特点的基础上,研究了Modelica参数优化建模的关键问题,以及多领域优化模型的寻优策略和模型参数实验技术。

基于模型的编译信息实现多实例、多目标启发式仿真优化建模;并利用Modelica语言的结构化注解特征研究了仿真优化模型的混合表达,实现了优化信息的可重用性和继承性。

在优化算法中引入拟梯度、复步微分和自动微分三种数值方法以提高敏度计算效率和精度。

在相对差分概念的基础上研究了一种新的通用的混合离散非线性优化方法。

详细阐述了该方法的基本原理、思想和算法描述。

该方法的特点是迭代中间设计点均是可行离散点,无需邻域查点和圆整,并且可避免收敛于伪极值点,和现有方法相比具有较强的稳健性和通用性。

利用支配关系的定义证明Pareto适应度函数判断非支配点的有效性,并在此基础上结合序列近似模型技术和启发式搜索算法研究了两种基于Pareto解集的多目标优化方法。

这两种方法均可很大程度上有助于降低精确分析次数。

对于Pareto边界为凸、非凸、非连续的多目标优化问题,该方法均能取得较好的Pareto解集。

利用Modelica语言的结构化注解机制表达设计知识,从而实现基于知识的建模。

根据部件知识之间的依赖关系确定推理求解顺序。

通过知识模型的推理求解得到确定的仿真模型结构和确定的模型参数。

为了便于领域库模型的搜索和应用,研究了面向模型搜索的实例推理技术,针对最近邻实例检索中实例属性相似度和权重的计算问题,给出区间值属性相似度的计算模型,并将各种属性类型的相似度计算方法统一起来。

研究了基于相似度信息的客观赋权方法,以组合权重计算实例相似度。

关键词:仿真优化; 分治求解; 多目标优化; 混合离散优化; 推理求解; Modelica
Abstract
Product design is a process of analysis and optimization, where optimization is the goal, simulation is a means of optimization, simulation and modeling is the basis of optimization. Some Problems about parameter optimization and inference solving for simulation models based on Modelica are studied in this dissertation.
For the efficiency of repetitious simulation after parameters tuning, a kind of subdivision solving strategy is put forward: Based on the scale decomposing of the simulation model, a coupling blocks dependency graph and sequential list are built. As for all coupling blocks, their corresponding solving blocks. Then numerical solution of the simulation model can be achieved through traversing the coupling sequential list and simultaneously calling the corresponding solving blocks. Considering the efficiency of repetitious simulation after parameters varying, the altering sub-graph of the altering parameters set is built after hierarchically processing the coupling blocks graph. And the sub-graph is converted into a minimum solving tree by adding a virtual root node. In this way, carrying out repetitious simulation with different parameters values only need traverse widely the minimum solving tree of the altering parameters set and simultaneously calling corresponding solving blocks. This method of the paper could greatly improve the efficiency of repetitious simulation of complex model.
After analyzing the characters of simulation and optimization for multi-domain physical systems, some key technologies based on Modelica model, such as design optimization modeling, optimization strategies and parameters design, are presented. Firstly, a heuristic method is presented to setup optimization models based on the compiler information of simulation models. Then, based on the structure annotation feature, optimization models are embedded in simulation models to form a hybrid representation, through which the optimization information becomes reusable and inheritable. To enhancing accuracy and efficiency of evaluating gradient in optimization, three numerical methods: quasi-gradient, complex-step derivative and automatic differentiation, are presented.
A new mixed discrete nonlinear optimization method is put forward based on the concept of relative difference. The basic principle, idea and algorithm of the method are elaborated. Compared to existing algorithms, the method is more robust and versatile, and it has many advantages, such as: All the middle iterative design points are feasible discrete
points. No neighborhood enumeration and roundness are needed, and it can avoid convergence in the pseudo-extreme point.
The concept of Pareto fitness function is introduced, and the effectiveness of it to identify non-dominated point is proved by using the definition of domination. Two Pareto multi-objective optimization methods are put forward by combined the sequence approximate model technology and heuristic search algorithm. Research shows that these two methods can largely reduce the number of precision analysis. And for the multi- objective optimization problems with convex, non-convex or non-consecutive Pareto frontier, better Pareto points of which can be identified by both the methods.
To implement knowledge-based modeling, a knowledge representation method is studied based on the structure annotation mechanism. The inference order is determined by the knowledge dependent relationship between model parts. Model structure and parameters are determined through reasoning of knowledge model. In order to facilitate the application of domain library, case-based reasoning (CBR) technology is implemented for model search. Two key technologies about similarity measuring and weights assigning in CBR are studied.
A similarity computation model between range properties is introduced. This model unifies the computation methods of other types of properties. To assign weights, proposing an objective method based on the deviation information of similarity values among properties. Objective and subjective weights are combined to form synthesis weights.
Keywords: Simulation based optimization; Subdivision solving; Multi-objective optimization; mixed discrete optimization; Inference; Modelica
独创性声明
本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。

尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。

对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到,本声明的法律结果由本人承担。

学位论文作者签名:
日期:年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

保密□,在_____年解密后适用本授权书。

本论文属于
不保密□。

(请在以上方框内打“√”)
学位论文作者签名:指导教师签名:
日期:年月日日期:年月日
华中科技大学博士学位论文
1绪论
1.1 课题来源、研究背景及意义
1.1.1课题来源
论文研究受国家自然科学基金“多物理系统递阶混合建模及多学科协同优化研究”(50775084)项目支持。

论文研究受国家‘863’高技术研究发展计划“复杂系统多领域统一建模、分析与优化技术研究”(2006AA04Z121)项目资助。

论文研究受航天科工集团某院“知识库构建及应用技术研究”项目资助。

1.1.2研究背景
产品设计是一个工程分析和优化决策的过程。

概念设计阶段产品设计的主要任务是建模、仿真分析和优化。

优化是目的,仿真是优化的手段,建模是仿真和优化的基础。

现代机电产品通常是一种集机械、电子、液压、控制等领域(或学科)于一体的多物理系统。

多个领域子系统的耦合以及多学科交叉融合已成为现代复杂机电产品设计的显著特征和必然趋势[1][2]。

为优化复杂产品的设计,必然涉及到多领域(multi-domain)系统的建模、仿真、优化以及决策。

目前在机械、电子、控制等领域中已经成功开发出许多成熟的商用建模仿真分析工具并得到了成功的应用。

但这种仅仅针对独立子系统进行仿真的方法已经不能满足日益复杂的现代产品设计的多领域仿真需求[3][4],其问题主要表现在:1) 专业仿真软件不支持多领域建模。

专业仿真软件虽然在各自特定的专业领域内功能强大,但对于来自其它领域的组件,描述能力相当有限,不能支持多领域物理的统一建模与仿真分析。

2) 通用仿真平台不支持物理建模。

以MATLAB/Simulink、ACSL与System Build 等为代表的通用仿真平台,采用基于块图的建模思想,需要用户对复杂模型的数学方程进行手工推导和分解,导致所建模型的拓扑结构与实际物理模型的拓扑结构相去甚远,模型组件可重用性差。

可见现有通用仿真工具不适合复杂机电系统的物理建模。

于是基于统一语言建模方式日益得到关注。

多领域系统建模语言的设计起源于二十世纪七十年代,影响较大的有Elmqvist在1978年设计的Dymola[5],以及随后出现的Omola[6]、ObjectMath[7]、gPROMS[8]、ASCEND[9]、NMF[10]等。

考虑到多种仿真语
华中科技大学博士学位论文
言的兼容性和标准化的问题,欧洲仿真界于1997年提出了一种全新的基于方程的多领域统一建模语言Modelica[3]。

Modelica继承了先前多种建模语言的优秀特性,具有面向对象建模、非因果建模、多领域统一建模、陈述式物理建模和连续离散混合建模能力。

凭借语言本身的许多优良特性和欧洲仿真界的推动,Modelica语言很快便得到了仿真业界的广泛认可,已经成为事实上的复杂物理系统建模语言标准。

并初步形成了强大的开放领域模型库供用户重用,包括机械、电子、液压、控制、热力学等。

1.1.3研究目的及意义
目前基于统一建模语言的多领域系统建模仿真技术及相关理论引起广泛关注,相关建模仿真平台不断推出。

然而仍然存在很多问题有待研究。

首先对Modelica仿真模型的参数优化技术研究尚不足,特别是现有的求解器算法没有考虑在参数变动后重复仿真的效率,缺乏针对仿真优化的求解策略的研究。

Modelica是基于方程的建模语言,因此如果深入分析方程系统求解的特点,研究适于重复仿真的求解算法,将对提高参数优化求解效率具有重要意义。

其次,模型的重用机制是Modelica语言的重要特点之一,但缺乏优化模型重用机制。

因此有必要研究仿真优化模型构建方法,在此基础上实现仿真模型和优化模型的混合表达,将有利于优化信息的重用和继承。

同时,参数优化的很大一部分计算集中在设计敏度计算,在优化算法中引入计算效率和精度高的敏度计算方法很有必要。

此外,混合离散变量优化问题和多目标优化问题普遍存在于基于仿真分析的工程设计优化中。

现有的混和离散优化方法尽管在特定的工程领域得以成功的应用,但其或多或少存在局限性,在通用性和稳健性方面尚存在不足。

基于Pareto解集的多目标优化方法是目前研究的一个热点和难点,如何以最小的精确分析次数获取均布的Pareto 边界是此类方法的研究重点。

因此研究有效的混和离散以及多目标优化方法对于仿真优化具有重要意义。

最后,参数优化的实质是通过数值迭代计算寻求满足设计目标和约束的参数值,但并不是所有的设计需求都可以用数学形式描述,通过数值计算得到设计解。

某些模型的结构与性能参数可以依据经验知识和启发式知识确定。

此外 Modelica语言对启发式知识、实例知识等类型的知识表述和求解目前还不够,导致目前的建模和求解过程缺乏相关设计知识的支持。

因此研究基于Modelica语言的知识建模和推理求解可以丰富和完善Modelica语言的建模和求解机制。

华中科技大学博士学位论文
1.2 国内外研究概况
1.2.1多领域系统建模仿真技术研究概况
多领域统一建模技术的发展,经历了从单一领域独立建模到多领域统一建模、连续域或离散域分散建模到连续离散混合建模、面向过程建模到面向对象建模的发展阶段。

多领域建模是将机械、控制、电子、液压和气动等不同学科领域的模型“组装”成为一个更大的仿真模型,以便实现协同仿真运行[15]。

模型是个层次概念。

多领域建模可能是将不同领域的零件模型组装成部件模型,也可能是将不同领域的部件模型组装成子系统模型,还可能是将不同领域的子系统模型组装成为系统模型。

如汽车、航空航天飞行器等产品就是由不同领域组成的子系统(机械系统、控制系统、电子系统、软件系统等)共同构成的。

因此将各领域的子系统构成一个整体进行仿真是完整和准确地描述产品行为的有效方法。

目前多领域建模仿真技术主要采用基于接口的方法[16]、基于高层体系结构[17]的方法和基于统一建模语言的方法。

(1)基于接口的多领域系统建模仿真技术
基于接口的多领域建模与仿真的技术是在已有的各领域商用仿真软件中构建各自的领域模型,然后利用各个不同领域商用仿真软件之间的接口,实现多领域建模。

因此这种方法的前提是相应的商用仿真软件提供或开发相应的接口。

在实现仿真时,利用各领域软件提供的协同仿真功能,在各自求解环境下进行求解,通过多进程或者分布式网络间的通信实现接口之间数据的交换,从而实现不同领域模型之间的协同仿真。

其体系结构如图1.1所示:
图1.1基于接口的建模仿真技术
华中科技大学博士学位论文
目前多数商用仿真软件皆提供与其它领域仿真软件的接口。

如机械多体动力学仿真软件ADAMS 提供与控制系统仿真软件MATLAB/Simulink的接口,通过该接口可以实现机械多体动力与控制系统的多领域建模与协同仿真。

福特公司在开发车辆姿态控制系统V AC时就利用了ADAMS和Xmath软件协同仿真[18]。

Visteon公司在开发转矩控制器时利用了ADAMS和MATLAB软件协同仿真[19]。

虽然由于较多商业软件的支持,目前基于接口的方法使用较为普遍,但此类多领域建模方法存在其自身的缺点:
1) 基于接口的方法一定程度上能满足某种特定领域工程系统仿真需求。

但当采用的商用仿真软件数目超过3个时,理论上要求的最大接口数目将变得非常庞大,复杂度随之增加。

且需人为分割不同领域子系统间耦合关系,实现和扩充比较困难。

2) 仿真软件必须提供相互之间的接口以实现多领域建模。

因此该方法完全依赖商用软件之间的一对一接口,这些接口往往为某些商业公司所私有,不具标准性、开放性。

(2)基于高层体系结构的多领域系统建模仿真技术
HLA(High Lever Architecture)高层体系结构是美国国防部于1995年发布的一个通用的仿真技术框架,用来保证国防部范围内的各种仿真应用之间的互操作性。

HLA 将实现某种特定仿真目的的仿真系统称为联邦(Federation)。

根据HLA的规则[20][21],联邦成员之间的数据通信必须通过运行时间支撑系统(Run-Time Infrastructure,RTI),RTI提供了一系列服务来处理联邦运行时成员间的互操作和管理联邦的运行。

在这种结构中,RTI从某种程度上来说是一种“软总线”,各领域商用仿真软件只需相应开发同HLA 的接口,而不需为各种商业软件开发不同的接口。

基于HLA的建模仿真技术体系结构如图1.2所示。

图1.2基于HLA的建模仿真技术
基于HLA的方法虽然克服了基于接口方法的诸多缺陷,较好地实现了多领域系统的仿真建模,但仍然需要得到各领域商用仿真工具的支持与合作。

HLA 联邦成员的设
华中科技大学博士学位论文
计和实现是一件非常繁琐的工作,它要求建模人员必须熟悉HLA/RTI 的各种服务,然后编制出相应的程序代码。

并且需要人为地割裂不同领域子系统之间的耦合关系,实质上是一种子系统层次上的集成方法。

目前,国内在这方面的研究比较活跃。

清华大学[22]、中国航天机电集团二院[23]、北京航空航天大学[24]、北方交通大学[25]、北京理工大学[26]等单位,在基于HLA的多领域建模方法、协同仿真平台及其相关技术等方面进行了大量研究。

(3)基于统一建模语言的多领域系统建模仿真技术
基于统一建模语言具有领域无关的通用模型描述能力,无论何种特定领域,均可实现统一建模。

由于采用相同的模型描述形式,因此基于统一建模语言的方法能够实现不同领域子系统模型间的无缝集成。

有关系统统一建模语言的研究最早源于Elmqvist[5]博士论文,随后许多学者对此展开研究,迄今已成为人们关注的焦点。

Dymola[27]则是采用面向对象思想设计的第一个系统建模语言,他首次在该领域引入“类”的概念,对物理系统“方程”进行对象封装与扩展,采用符号操作与图论相结合的方法,将DAE问题映射为ODE问题,通过求解ODE问题实现系统仿真,从而奠定了该领域面向对象统一建模思想的理论基础。

受Dymola面向对象思想的影响,先后涌现出了一批基于方程描述及面向对象的系统建模语言,这些语言各有优劣,并在各自领域得到了应用。

随着面向对象建模语言研究的不断深入,多种建模语言并存导致模型定义与转换的混乱,人们敏锐地认识到系统建模语言兼容性及标准化的重要性与迫切性。

为此,欧洲仿真协会EUROSIM于1996年组织了瑞典、德国、法国等6个国家建模与仿真领域的14位专家,如瑞典Dynasim AB公司的Hilding Elmqvist、瑞典Linköping大学的Peter Fritzson、瑞典Lund大学的Sven-Erik Mattson、德国航空航天中心的Mattin Otter 和Hubertus Tummescheit等,开始针对多领域物理统一建模技术展开研究,提出通过国际开放合作,研究设计下一代多领域、连续-离散混合物理建模语言Modelica,并使之成为本领域的标准。

1997年9月Modelica语言1.0版本正式诞生。

为了推动Modelica语言及其相关研究的不断发展,EUROSIM在2000年组织成立了非盈利的国际仿真组织――Modelica 协会。

由该协会每一年半时间负责组织召开一次Modelica学术会议,交流和探讨Modelica语言相关理论、系统开发及工程应用等方面的研究进展,基于Modelica语言的领域知识模型库的建设与维护。

Modelica协会在2000年、2002年、2003年、2005年和2006年分别召开了五次Modelica国际学术会议,与会专家分别来自瑞典、德国、美国、英国、法国、中国、俄罗斯、日本、加拿大等在内的16个国家。

此外,Modelica
华中科技大学博士学位论文
协会每两个月定期召开一次设计会议(Design Meeting),讨论多领域统一建模语言Modelica的扩展与完善,交流最新进展。

目前Modelica语言已发展到2.2版本,经过广泛的国际合作,基于Modelica语言的模型库积累迅猛增长,并已公开发布13个免费共享模型库和6个付费的专业领域模型库,其模型库已覆盖汽车动力学库、系统动力学库、燃料电池库、热动力库、模糊控制库许多工程领域等。

任何研究人员均可在Modelica协会的网站[28]下载这些共享资源,利用这些资源用户可以快速地构建自己的仿真应用。

上述举措促使基于Modelica语言的应用研究快速发展,欧洲许多国家高度重视对Modelica的研究,为Modelica的发展做出了突出贡献。

此外在美国、加拿大、中国、日本、印度和墨西哥等国家的研究发展势头强劲,基于Modelica语言的多领域建模方法有望成为今后多领域物理系统建模方法的主流。

值得特别提出的是,今年9月在维也纳召开的第5次Modelica国际会议上,法国达索公司宣布收购基于Modelica语言的多领域建模与仿真平台Dymola,并致力于将Modelica语言作为产品CAD模型甚至产品全生命的模型转换标准。

此举将推动Modelica语言的标准化进程。

假以时日,极有可能成为复杂系统统一建模语言标准。

基于Modelica语言的多领域建模方法,就是采用Modelica语言基于数学方程描述不同领域子系统的物理规律和现象,根据物理系统的拓扑结构基于组件连接机制实现模型构成和多领域集成,通过求解微分代数方程系统实现仿真运行[29][30][31]。

该方法彻底地实现了不同领域模型的无缝集成,可以为任何能够用微分方程或代数方程描述的问题实现建模和仿真,因而能够实现完全意义上的多领域统一建模。

基于Modelica语言的多领域建模方法主要有如下优点:
1) 建模方便:互相兼容的多领域模型库能实现对复杂综合系统的高置信度建模,支持面向对象建模、非因果建模、多领域统一建模、陈述式物理建模和连续离散混合建模。

2) 模型重用性高:非因果关系的基于方程的模型可用于仿真多种不同的问题,或者稍加修改即可用于描述类似的系统。

3) 无需符号处理:基于方程的建模可以将用户从将方程转换为因果赋值形式或方块图的繁琐工作中解脱出来,使模型变得更加有效和健壮。

4) 开放的模型库:用户可以很容易地开发自己的模型或采用已有的模型来满足自己的独特需求,也可以将定制模型加入库中以备重用。

5) 建模与仿真相对独立:用户只需关注于模型的陈述,即怎样通过数学方程表述仿真对象的行为,而不必考虑模型求解的详细实现。

华中科技大学博士学位论文
目前,基于Modelica语言的建模已在汽车与电动汽车[32]、液压系统[33]、机械多体系统[34]、热动力系统[35]、电力系统[36]、机电系统[37]、化学系统[38]、硬件在环仿真[39]和离散事件系统[40]等系统或过程的仿真中得到了广泛应用。

国内也随之开始了基于Modelica语言的仿真应用。

例如,对燃气涡轮、开关磁阻电机、同步电机、热机、发动机[、机械传动箱和涡扇发动机的仿真分析[41]。

基于Modelica语言的支持多领域系统建模与仿真的较为成熟的商用建模仿真工具有两个:Dymola[42]和MathModelica[43]。

Dymola由瑞典Dynasim AB公司设计开发,是第一个支持Modelica语言的建模仿真工具。

Dymola的历史可以追溯到1978年,Hilding Elmqvist在其博士论文[5]中提出了采用非因果方程实现基于组件的建模思想,并设计了一种小型建模语言Dymola。

但由于当时计算机的计算能力有限和内存容量太小而无法将这一思想用于解决大多数现实仿真问题。

随后,计算机硬件、软件和数值技术均得到快速发展。

1992年,Hilding Elmqvist成立了Dynasim AB公司,并组织开发出了建模仿真软件Dymola。

在Modelica语言推出后不久,Dymola软件便采用Modelica语言取代Dymola语言作为底层建模语言。

Dymola提供图形化建模环境,支持基于图标的拖放式图形建模。

Dymola也提供文本建模环境,支持具有Modelica语言的文本建模。

Dymola具有功能强大的符号处理引擎,集成了多个数值求解包,可实现较大规模的多领域物理系统建模仿真。

目前,基于Modelica语言的建模应用大多是采用Dymola实现的。

MathModelica由瑞典LinköPing大学PELAB实验室设计开发,它通过集成Microsoft Visio、 Mathmatica和Dymola仿真引擎开发而成。

其中,Microsoft Visio用于实现图形建模,Dymola仿真引擎用于模型转化和求解,Mathmatica的notebook中用于文本建模和仿真后处理。

MathModelica拥有和Dymola一样的图形和文本建模能力。

与Dymola不同的是,MathModelica的各组成模块没有集成在同一个框架界面中,在建模仿真过程常常需要反复激活和切换操作界面。

此外,MOSILAB[44]和SimulationX[45]也在开发中,在转换器接口开发方面,2000年仿真软件Equa开始与Modelica兼容。

2001年仿真软件SimulationX开始支持Modelica。

英国Claytex公司开发了Simulink到Modelica的转换器Simelica。

瑞典MathCore公司开发三维CAD系统SolidWorks到Modelica的转换器。

瑞典Linköping 大学PELAB实验室开发了AutoDesk的Mechanical Desktop到Modelica的转换器[28]。

目前,国内针对Modelica语言的建模仿真的研究还主要局限于基于Dymola的应用开发,而对基于Modelica语言的建模仿真平台及关键技术的研究还是一片空白。

国外虽然已经开发出了基于Modelica的建模仿真环境,并已开始商业化推广,但由于推。

相关文档
最新文档