多学科设计优化流程研究综述

2013-08-23 08:34姬彦巧赵长宽姚红良闻邦椿
制造业自动化 2013年17期
关键词:可视化程序流程

姬彦巧,赵长宽,姚红良,闻邦椿

JI Yan-qiao1,2, ZHAO Chang-kuan3, YAO Hong-liang1, WEN Bang-chun1

(1.东北大学 机械工程与自动化学院,沈阳 110819;2.辽宁装备制造职业技术学院,沈阳 1101611;3.东北大学 计算中心,沈阳 110819

0 引言

在航天、航空、舰船等复杂产品设计中,多学科设计优化设计(Multidisciplinary Design Optimization, MDO)正在被广泛地应用在产品的概念设计和详细设计当中。多学科设计优化设计实现复杂系统的整体最优,同时兼顾各个子系统之间的约束和耦合关系[1,2]。在不同的学科和专业领域,采用的设计方法和设计工具差异较大和种类繁多。多学科设计优化系统设计中,一个首要的任务是解决多学科专业软件的集成问题。另外,多学科设计优化系统做为优化问题的求解平台,需要通过基于优化算法迭代求优,因此其必须解决设计过程的各种计算任务和环节的整合和自动化问题。实现软件的集成和设计过程自动化,包括定制化软件开发、程序脚本和可视化流程三种方式。

定制化软件开发是指为某种复杂产品设计过程,开发专门的程序。由于此种方式是针对特定产品设计而研制,以最大满足设计需要为目标,优点是产品设计结合紧密,缺点是适用性差,随着产品的升级换代,系统本身也要升级,并其开发周期和成本都相对较高,同时要求用户具有较高的多学科设计优化问题分析能力和系统设计分析能力[1]。国防科技大学基于J2EE技术开发的固体火箭发动机集成优化设计环境[3]和导弹数字化设计平台[4],东北大学基于COM技术构建的发动机涡轮集成设计系统[5]均属于此类系统。

程序脚本方式是针对多学科设计优化系统建设的需要,设计一种专门的脚本程序。此种方式保留了定制程序方式所具有的优点,同时又增加了灵活性。由于针对特定产品设计过程编写大量的程序,因此要求用户具有较高的多学科设计优化程序设计能力。AML和OpenMDAO采用脚本方式。

可视化流程方式是建立可以描述设计过程的图形化流程,通过拖拽方式实现流程图形化建模,并是实现执行过程的可视化监控。可视化方式的优点是直观、易操作,并且对用户的要求不高。近来,大部分商业系统和定制开发系统均支持此种方式。例如美国Phoenix公司的Modelcenter、美国Engenious公司的iSight, 北航基于J2EE构建的系统设计优化集成环境(SDOF),清华大学基于CORBA和DCOM的分布式对象技术构建多学科协同设计与仿真平台[5]等。

为了提高的多学科设计优化系统的可用性和用户体验,基于可视化流程实现软件的集成和设计过程的自动化,成为多学科设计优化设计研究的重要内容。

目前对于多学科设计优化流程(Multidisciplinary Design Optimization Flow,MDOF)主要是作为实现设计过程自动化来研究,而作为实现多学科优化求解过程的可视化工具,并没有引起足够的重视。本文通过对典型复杂产品多学科设计优化过程的分析,研究流程在多学科设计优化的作用。提出从过程自动化、程序可视化和软件集成的角度进行研究,并介绍相关的研究成果。针对多学科设计优化流程作为优化问题求解算法的实现,具有科学计算可视化和程序可视化的特点,提出将多学科设计优化流程作为以多个技术领域融合的新对象加以研究。

1 多学科设计优化及其流程

下面从汽车、飞行器、导弹、飞机发动机等复杂产品的多学科设计优化过程为例,分析流程在多学科优化设计中的作用。

吴宝贵等[6]在研究复杂机械产品虚拟样机多学科设计优化中对一个典型汽车产品多学科设计优化过程进行了描述。整个分析过程包括:基于Pro/E完成汽车结构设计,基于Pro/E与Ansys集成实现结构有限元分析,以Adams为核心集成Pro/E和ANSYS实现汽车动力学仿真分析,基于Adams与PAM/CRASH集成实现汽车碰撞分析,基于ANSYS与Adams集成实现噪声、振动和声振粗擦度(Noise、Vibra-tion and Harshness, NVH)特性研究。在不同的学科领域内,均有面向单一领域的优化求解问题,例如ANSYS和Adams中内置优化求解模块。整个分析过程中,根据多学科系统优化策略,对设计变量进行不断调整,最终获得最优方案。

王晓青等[7]在研究空射小运载火箭的多学科优化设计过程中,将火箭的设计涉及学科领域分为气动、弹道、动力和总体。其中弹道模型和动力模型均通过自编程序实现,优化求解及过程管理基于iSight实现。

郦仕云[8]在研究飞行器气动和结构多学科优化设计过程集成技术中,详细分析了此类产品的多学科设计优化过程。整个产品设计过程包括:三维几何建模、CFD、结构强度分析和iSight之间的数据集成。三维几何建模与iSight之间通过了UG/OPEN API二次开发,并利用参数化驱动实现模型更新。UG与CFD的集成通过将UG模型转换为Parasolid模型实现。结构强度分析采用了Patran,并利用Patran与UG的接口实现三维几何建模与结构计算分析的集成。气动计算分析软件Fluent与iSight之间的集成通过脚本和iSight数据文件分析功能实现计算结果的提取。Fluent与结构分析软件Nastran的集成通过脚本实现。Nastran与iSight采用脚本和iSight数据文件分析功能实现计算结果的提取,整个多学科优化设计流程和优化求解通过iSight实现。

汤晓安等[9]将导弹的设计过程分为任务分解、概念设计、初步设计和详细设计,优化设计主要在初步设计阶段的系统级优化和详细设计阶段的子系统优化。系统级别优化设计的主要流程。为了实现对设计过程的支持,在导弹集成优化设计提出一种支持功能重配的平台系统,其主要功能是过程集成、数据集成和软件集成。过程集成通过流程实现,主要功能将总体设计过程中各模型、模型之间的关系嵌入到导弹设计执行的逻辑过程,并解决设计修改、迭代计算的自动化,以及过程中工具和数据的集成等问题。

韩明红等[2]在研究复杂工程系统多学科设计优化集成环境时,介绍了发动机涡轮盘多学科设计过程。产品优化目标是满足最终机械性能和寿命约束的条件下,涡轮盘质量最轻,应力和应变最小。在设计过程中设计CAD软件UG、锻压仿真软件MSC.Marc.AutoForge、有限元分析软件ANSYS、热处理软件MSC.Patran软件的集成,并通过iSight实现多学科优化设计求解。

综上分析,多学科设计优化流程主要任务包括设计过程自动化、程序可视化和软件集成三个方面。

1)设计过程自动化:流程是实现多学科设计优化的过程模型,按照相关业务逻辑过程建立。另外必须提供图形化的流程设计工具实现过程建模;构建流程引擎实现整个流程中任务节点的求解,并监控流程的进行。

2)程序可视化:多学科设计优化流程作为优化求解算法的计算机实现,其实质是一个程序可视化问题。多学科设计优化求解算法的可视化平台,需要解决算法和程序的可视化问题。

3)软件集成:作为多种软件的集成平台,需要解决软件集成、调度、计算结果的输入输出和参数管理

目前主要将多学科设计优化流程定位于设计过程自动化的实现,从而将其作为工作流进行研究[4,9],对其作为优化算法求解过程的可视化问题重视不够。

2 设计过程自动化

2.1 工作流

为了解决过程自动化问题,工作流(workflow)技术研究从20世纪90年代开始获得广泛关注,现在依然是一个热点研究领域。工作流研究重点是通过直观的、可视化的流程实现业务过程建模。工作流技术迅速应用企业集成制造系统(CIMS)相关的企业资源管理计划系统(ERP)、产品数据管理系统(PDM)和协同设计(CPC)领域。工作流技术提供的可视化流程解决了过程管理的程序化和自动化问题。范玉顺等将工作流定义理解为“计算机系统按照一定规则自动执行的那部分”,并提出“凡是由计算机软件系统控制其执行的过程都称为工作流”。工作流由活动、活动顺序、活动启动和终止条件构成,其特点是涉及人机互动和多人协作参与。工作流研究重点包括工作流建模、验证、调度、性能分析、回溯、并发,研究方法包括Petri网、有向有环图、自动机理论。工作流应用研究的内容更加丰富,从办公自动、企业信息管理,延伸到建筑[4]、科学计算等领域。

2.2 多学科优化设计过程自动化

目前在多学科设计优化研究领域,流程是作为实现多学科优化设计实现过程服务的一部分,研究内容包括过程模型、过程建模方法和过程管理方法[4]。过程建模方法主要研究如何建立和描述过程模型,主要研究成果包括Petri及扩展Petri网、IDEF3、工作流、关键路径法和设计结构矩阵[3]。

在多学科设计优化系统设计与实现方面,一般采用两种方案:一种是采用现有商业优化软件产品 ;一种是采用自主研制的软件平台。商业化的软件系统包括美国Phoenix公司的Modelcenter、美国Engenious公司的iSight、美国Technosoft公司的AML、美国Sandia国家实验室开发的DAKOTA、Vanderplaats等开发的VisualDOC。

Modelcenter采用了类似IDEF图形式的可视化流程。流程的执行过程采用并行机制。优化求解由优化器节点控制,实现流程的迭代运行,在最新版本中已经引入了逻辑判断、循环计算,支持流程嵌套和并行结构[5],从而增强了流程的灵活性。用户可以定义包含复杂逻辑结构的流程。

iSight采用MDOL(Multidisciplinary Optimization Language)来描述MDO问题,在iSight-FD版本中对流程进行了改造,增强了以任务为核心的流程设计,并支持“自顶向下”设计任务分解。

AML采用面向对象技术,支持对象的隶属管理,通过对象树实现节点之间的信息共享,通过命令驱动模型实现优化求解过程,其可视化流程功能相对较弱。另外的DAKOTA和VisualDOC的可视化流程功能也相对较弱。

针对企业设计实践,自主研制的软件平台中,主要参照Workflow Management Coalition(WfMC)制定工作流参考模型(Work flow Reference Model)实现,具体实现技术包括扩展赋时着色Petri网、JavaBean、COM、Agent和WebService。

3 程序可视化

在复杂产品设中,多学科设计优化的目标是获得全局最优,而在不同的学科领域内有各自的单一学科优化设计系统,在求解过程需要不断的调用其他软件系统,因此多学科设计优化系统需要解决多学科问题优化求解过程的计算机程序化。

求解过程序化是需要在解决设计过程自动化和软件集成的基础上,将设计过程转化为可以计算机执行的程序,才能实现自动计算。

求解过程即求解算法,其程序化实质是将算法转化为计算机可以处理的程序。将算法直接翻译成某种程序设计语言编写的程序,一直是计算机求解问题的主要方法,一般称为程序设计(Programming)。但是这种方法主要存在的问题是:1)只能解决特定问题,不易修改和重用。2)要求设计要有较高程序设计技术水平,并精通优化设计理论。3)不直观。

为了解决求解过程的可视化问题,在不同的学科领域采用不同的处理方式。在程序设计领域,以程序可视化为主。在科学计算领域,以科学计算可视化为主。在业务过程自动化领域,以工作流为主。

3.1 程序可视化

程序可视化原本是软件工程领域的一个问题,最初是解决程序的可视化描述,例如流程图、NS图和UML模型图均为其研究重点。1993年Gruia-Catalin Roman和Kenneth C.Co对此程序可视化研究进行重新定义,其认为程序可视化的基本思想是将程序映射为图形,研究内容包括程序的作用域、抽象、专业方法和技术。作用域是研究程序的那方面可视化,包括代码、数据状态、控制状态、行为。抽象研究何种程序信息以何种形式的方式传递,包括结构化表示、合成表示、解释表示等等。专业方法研究可视化构造的方式,包括预定义、注释、关联方法和说明方法等等。技术研究如何用图形表示程序信息,包括样本执行选择,屏幕设计和信息编码。当前软件工程领域的集成开发环境如Microsoft Visual Studio和Eclispe中实现了软件界面设计的可视化,并实现基于高亮显示代码行方式监控程序运行。Johannes Bohnet给出一种原型系统实现静态和动态分析函数的调用过程,并以2.5D的图形显示。ROSE这类系统已经部分解决了程序的图形化问题,例如根据图形化的UML类图直接生存C++或JAVA的类定义,或将文本形式程序映射为为UML图形。另外动画设计领域的软件,例如Flash部分实现动画设计可视化程序设计问题,通过时间轴的控制、预定义的动画生成方法,实现动画的设计。

基于上述分析,程序可视化研究领域对如何将程序设计思想以图形化建模,并直接在计算机上执行研究不多,其依然将程序代码作为实现算法的载体,只是增加了可视化的图形描述。反而在动画设计领域内的相关研究成果部分实现将设计意图以图形描述,并以图形的方式输出结果。

3.2 科学计算可视化

为了解决科学计算中大规模数据的处理问题,美国科学基金会提出了科学计算可视化(Visualization in Scientific Computing,VoSC),研究重点是将数字化符号转换为集合图形,使科学家能够观察其模型和计算过程,早期应用主要计算流体力学,医学、地球物理、气象、分子结构学。近年来科学计算可视化在虚拟仪器方面技术发展迅速,例如VI公司的Labview中提供里大量虚拟电子元器件,可以直接设计电子电路,并进行实时仿真和分析。Timothy介绍通过科学工作流(scientific work flow)实现计算分析过程的自动化和可视化,其基本思想是通过可视化的工作流实现科学计算过程的可视化,但是其依然只是部分解决科学计算可视化问题。

3.3 多学科优化设计流程可视化

目前对多学科设计优化流程研究集中在其作为工作流的一种,通过工作流可视化实现其可视化[1,9,10]。而很少列为一种求解程序可视化问题研究。

多学科设计优化流程可视化的研究内容包括优化求解算法的可视化和用户自定义程序的可视化。研究重点是将如下的求解程序以图1图形化的方式构建出来,并对执行过程和状态进行研究。

图1 程序可视化

4 软件集成

多学科设计优化过程需要集成多种设计分析软件,这些软件可以分为两类:商业系统和自定义程序。商业系统较多,常用的包括Ansys、Fluent、Matlab等,特点是软件规模较大,并且接口复杂。自定义程序为用户开发,完成特定任务的计算程序,特点是软件规模较小,采用的编成语言比较复杂。

在多学科设计优化问题求解过程,需要将参数传递给设计分析软件,完成其调用,并获取计算结果。因此设计分析软件与多学科设计优化集成,需要解决软件调用和参数输入输出问题。

为解决此问题iSight采用基于脚本的封装技术,基于数据文件,实现参数输入输出;基于命令行调用实现软件调用。Modelcenter采用Plugin技术,利用ActiveX组件技术实现应用的封装,实现参数传递和软件调用。另外其他一些系统采用COM/DCOM[1],WebService。

5 结束语

多学科设计优化的过程管理的角度,其流程与工作流有很多共同点,因此大多的研究重点集中在从工作流的角度研究多学科设计优化流程。

但是由于多学科设计优化流程作为优化求解算法的实现,其按照严格的数学模型建模,并实现程序化和自动执行,其部分具有科学计算可视化和程序可视化的特点,因此在未来的多学科设计有必要将其视为一个多学科技术融合的新研究对象,并从研究范围、抽象模型、方法、技术五个方面进行分析并建立有效可行的多学科研究方法和研究平台。

[1]马明旭,王成恩,等.复杂产品多学科设计优化技术.机械工程学报[J].2008,44(6).15-26.

[2]韩明红,邓家提.复杂工程系统多学科设计优化集成环境研究[J].机械工程学报,2004,40(9):100-105.

[3]解红雨,张为华.基于J2EE的虚拟样机集成框架研究与实践[J].计算机集成制造系统,2004,12(4):100-104.

[4]汤晓安,李国正,等.支持功能重配的导弹集成优化设计平台研究[J].系统仿真学报,2009,21(7):1933-1937.

[5]王成恩,刘震.航空发动机涡轮设计集成技术[J].东北大学学报,2006,27(5):485-488.

[6]张和明,熊光愣,等.基于WEB的多学科协同设计与仿真平台及其关键技术[J].计算机集成制造系统,2003,9(8):704-709.

[7]吴宝贵,黄洪钟,等.复杂机械产品虚拟样机多学科设计优化研究.计算机集成制造系统,2006,12(11):1729-1735.

[8]王晓青,王小军,王国辉.空射运载火箭多学科优化设计.导弹与航天运载技术[J].2008年第5期:1-3.

[9]郦仕云,宁汝新,等.气动和结构多学科优化设计过程集成技术研究[J].系统仿真学报,2007:19(4):852-855.

猜你喜欢
可视化程序流程
基于CiteSpace的足三里穴研究可视化分析
思维可视化
吃水果有套“清洗流程”
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
试论我国未决羁押程序的立法完善
违反流程 致命误判
“程序猿”的生活什么样
四川省高考志愿填报流程简图
英国与欧盟正式启动“离婚”程序程序