姬彥巧,趙長寬,姚紅良,聞邦椿
JI Yan-qiao1,2, ZHAO Chang-kuan3, YAO Hong-liang1, WEN Bang-chun1
(1.東北大學 機械工程與自動化學院,沈陽 110819;2.遼寧裝備制造職業技術學院,沈陽 1101611;3.東北大學 計算中心,沈陽 110819
在航天、航空、艦船等復雜產品設計中,多學科設計優化設計(Multidisciplinary Design Optimization, MDO)正在被廣泛地應用在產品的概念設計和詳細設計當中。多學科設計優化設計實現復雜系統的整體最優,同時兼顧各個子系統之間的約束和耦合關系[1,2]。在不同的學科和專業領域,采用的設計方法和設計工具差異較大和種類繁多。多學科設計優化系統設計中,一個首要的任務是解決多學科專業軟件的集成問題。另外,多學科設計優化系統做為優化問題的求解平臺,需要通過基于優化算法迭代求優,因此其必須解決設計過程的各種計算任務和環節的整合和自動化問題。實現軟件的集成和設計過程自動化,包括定制化軟件開發、程序腳本和可視化流程三種方式。
定制化軟件開發是指為某種復雜產品設計過程,開發專門的程序。由于此種方式是針對特定產品設計而研制,以最大滿足設計需要為目標,優點是產品設計結合緊密,缺點是適用性差,隨著產品的升級換代,系統本身也要升級,并其開發周期和成本都相對較高,同時要求用戶具有較高的多學科設計優化問題分析能力和系統設計分析能力[1]。國防科技大學基于J2EE技術開發的固體火箭發動機集成優化設計環境[3]和導彈數字化設計平臺[4],東北大學基于COM技術構建的發動機渦輪集成設計系統[5]均屬于此類系統。
程序腳本方式是針對多學科設計優化系統建設的需要,設計一種專門的腳本程序。此種方式保留了定制程序方式所具有的優點,同時又增加了靈活性。由于針對特定產品設計過程編寫大量的程序,因此要求用戶具有較高的多學科設計優化程序設計能力。AML和OpenMDAO采用腳本方式。
可視化流程方式是建立可以描述設計過程的圖形化流程,通過拖拽方式實現流程圖形化建模,并是實現執行過程的可視化監控??梢暬绞降膬烖c是直觀、易操作,并且對用戶的要求不高。近來,大部分商業系統和定制開發系統均支持此種方式。例如美國Phoenix公司的Modelcenter、美國Engenious公司的iSight, 北航基于J2EE構建的系統設計優化集成環境(SDOF),清華大學基于CORBA和DCOM的分布式對象技術構建多學科協同設計與仿真平臺[5]等。
為了提高的多學科設計優化系統的可用性和用戶體驗,基于可視化流程實現軟件的集成和設計過程的自動化,成為多學科設計優化設計研究的重要內容。
目前對于多學科設計優化流程(Multidisciplinary Design Optimization Flow,MDOF)主要是作為實現設計過程自動化來研究,而作為實現多學科優化求解過程的可視化工具,并沒有引起足夠的重視。本文通過對典型復雜產品多學科設計優化過程的分析,研究流程在多學科設計優化的作用。提出從過程自動化、程序可視化和軟件集成的角度進行研究,并介紹相關的研究成果。針對多學科設計優化流程作為優化問題求解算法的實現,具有科學計算可視化和程序可視化的特點,提出將多學科設計優化流程作為以多個技術領域融合的新對象加以研究。
下面從汽車、飛行器、導彈、飛機發動機等復雜產品的多學科設計優化過程為例,分析流程在多學科優化設計中的作用。
吳寶貴等[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],對其作為優化算法求解過程的可視化問題重視不夠。
為了解決過程自動化問題,工作流(workflow)技術研究從20世紀90年代開始獲得廣泛關注,現在依然是一個熱點研究領域。工作流研究重點是通過直觀的、可視化的流程實現業務過程建模。工作流技術迅速應用企業集成制造系統(CIMS)相關的企業資源管理計劃系統(ERP)、產品數據管理系統(PDM)和協同設計(CPC)領域。工作流技術提供的可視化流程解決了過程管理的程序化和自動化問題。范玉順等將工作流定義理解為“計算機系統按照一定規則自動執行的那部分”,并提出“凡是由計算機軟件系統控制其執行的過程都稱為工作流”。工作流由活動、活動順序、活動啟動和終止條件構成,其特點是涉及人機互動和多人協作參與。工作流研究重點包括工作流建模、驗證、調度、性能分析、回溯、并發,研究方法包括Petri網、有向有環圖、自動機理論。工作流應用研究的內容更加豐富,從辦公自動、企業信息管理,延伸到建筑[4]、科學計算等領域。
目前在多學科設計優化研究領域,流程是作為實現多學科優化設計實現過程服務的一部分,研究內容包括過程模型、過程建模方法和過程管理方法[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。
在復雜產品設中,多學科設計優化的目標是獲得全局最優,而在不同的學科領域內有各自的單一學科優化設計系統,在求解過程需要不斷的調用其他軟件系統,因此多學科設計優化系統需要解決多學科問題優化求解過程的計算機程序化。
求解過程序化是需要在解決設計過程自動化和軟件集成的基礎上,將設計過程轉化為可以計算機執行的程序,才能實現自動計算。
求解過程即求解算法,其程序化實質是將算法轉化為計算機可以處理的程序。將算法直接翻譯成某種程序設計語言編寫的程序,一直是計算機求解問題的主要方法,一般稱為程序設計(Programming)。但是這種方法主要存在的問題是:1)只能解決特定問題,不易修改和重用。2)要求設計要有較高程序設計技術水平,并精通優化設計理論。3)不直觀。
為了解決求解過程的可視化問題,在不同的學科領域采用不同的處理方式。在程序設計領域,以程序可視化為主。在科學計算領域,以科學計算可視化為主。在業務過程自動化領域,以工作流為主。
程序可視化原本是軟件工程領域的一個問題,最初是解決程序的可視化描述,例如流程圖、NS圖和UML模型圖均為其研究重點。1993年Gruia-Catalin Roman和Kenneth C.Co對此程序可視化研究進行重新定義,其認為程序可視化的基本思想是將程序映射為圖形,研究內容包括程序的作用域、抽象、專業方法和技術。作用域是研究程序的那方面可視化,包括代碼、數據狀態、控制狀態、行為。抽象研究何種程序信息以何種形式的方式傳遞,包括結構化表示、合成表示、解釋表示等等。專業方法研究可視化構造的方式,包括預定義、注釋、關聯方法和說明方法等等。技術研究如何用圖形表示程序信息,包括樣本執行選擇,屏幕設計和信息編碼。當前軟件工程領域的集成開發環境如Microsoft Visual Studio和Eclispe中實現了軟件界面設計的可視化,并實現基于高亮顯示代碼行方式監控程序運行。Johannes Bohnet給出一種原型系統實現靜態和動態分析函數的調用過程,并以2.5D的圖形顯示。ROSE這類系統已經部分解決了程序的圖形化問題,例如根據圖形化的UML類圖直接生存C++或JAVA的類定義,或將文本形式程序映射為為UML圖形。另外動畫設計領域的軟件,例如Flash部分實現動畫設計可視化程序設計問題,通過時間軸的控制、預定義的動畫生成方法,實現動畫的設計。
基于上述分析,程序可視化研究領域對如何將程序設計思想以圖形化建模,并直接在計算機上執行研究不多,其依然將程序代碼作為實現算法的載體,只是增加了可視化的圖形描述。反而在動畫設計領域內的相關研究成果部分實現將設計意圖以圖形描述,并以圖形的方式輸出結果。
為了解決科學計算中大規模數據的處理問題,美國科學基金會提出了科學計算可視化(Visualization in Scientific Computing,VoSC),研究重點是將數字化符號轉換為集合圖形,使科學家能夠觀察其模型和計算過程,早期應用主要計算流體力學,醫學、地球物理、氣象、分子結構學。近年來科學計算可視化在虛擬儀器方面技術發展迅速,例如VI公司的Labview中提供里大量虛擬電子元器件,可以直接設計電子電路,并進行實時仿真和分析。Timothy介紹通過科學工作流(scientific work flow)實現計算分析過程的自動化和可視化,其基本思想是通過可視化的工作流實現科學計算過程的可視化,但是其依然只是部分解決科學計算可視化問題。
目前對多學科設計優化流程研究集中在其作為工作流的一種,通過工作流可視化實現其可視化[1,9,10]。而很少列為一種求解程序可視化問題研究。
多學科設計優化流程可視化的研究內容包括優化求解算法的可視化和用戶自定義程序的可視化。研究重點是將如下的求解程序以圖1圖形化的方式構建出來,并對執行過程和狀態進行研究。


圖1 程序可視化
多學科設計優化過程需要集成多種設計分析軟件,這些軟件可以分為兩類:商業系統和自定義程序。商業系統較多,常用的包括Ansys、Fluent、Matlab等,特點是軟件規模較大,并且接口復雜。自定義程序為用戶開發,完成特定任務的計算程序,特點是軟件規模較小,采用的編成語言比較復雜。
在多學科設計優化問題求解過程,需要將參數傳遞給設計分析軟件,完成其調用,并獲取計算結果。因此設計分析軟件與多學科設計優化集成,需要解決軟件調用和參數輸入輸出問題。
為解決此問題iSight采用基于腳本的封裝技術,基于數據文件,實現參數輸入輸出;基于命令行調用實現軟件調用。Modelcenter采用Plugin技術,利用ActiveX組件技術實現應用的封裝,實現參數傳遞和軟件調用。另外其他一些系統采用COM/DCOM[1],WebService。
多學科設計優化的過程管理的角度,其流程與工作流有很多共同點,因此大多的研究重點集中在從工作流的角度研究多學科設計優化流程。
但是由于多學科設計優化流程作為優化求解算法的實現,其按照嚴格的數學模型建模,并實現程序化和自動執行,其部分具有科學計算可視化和程序可視化的特點,因此在未來的多學科設計有必要將其視為一個多學科技術融合的新研究對象,并從研究范圍、抽象模型、方法、技術五個方面進行分析并建立有效可行的多學科研究方法和研究平臺。
[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.