翟國棟 李瑞興 楊琛



摘? 要 優化設計融合最優化設計與計算機技術來尋求工程最優解。在優化設計課程教學中,通過Web前端技術設計一款迭代過程可視化的優化設計課程實踐平臺,能夠根據用戶的輸入自動彈出可視化的圖形顯示,包括迭代過程中迭代點的變化及函數值的變化。該系統運用HTML、CSS和JavaScript語言進行設計,特別是在迭代過程跟蹤可視化方面表現突出。
關鍵詞 優化設計;教學實踐平臺;迭代過程可視化;MATLAB
中圖分類號:G642.3? ? 文獻標識碼:B
文章編號:1671-489X(2019)22-0024-04
Design and Application of Teaching Practice Platform for Opti-mization Design Course//ZHAI Guodong, LI Ruixing, YANG Chen
Abstract Optimized design incorporates optimal design and compu-
ter technology to find engineering optimal solutions. In the optimi-zation design course teaching, this paper designs an iterative process
visualization optimization design course practice platform through Web front-end technology, which can automatically pop up the visual graphic display according to the users input, including the change of iteration point and the function value in the iterative pro-
cess. Variety. The system is designed using HTML, CSS, and Java-Script, especially in the iterative process of tracking visualizations.
Key words optimization design; teaching practice platform; visua-lization for iterative process; MATLAB
1 引言
優化設計課程的教學目標是使學生掌握優化設計的基本理論和方法,能夠針對復雜工程問題合理地建立數學模型、選擇優化方法、編寫計算機程序,進而求出最優設計方案[1-3]。長期以來,由于機械優化設計課程理論性強、知識綜合、內容抽象等實際問題的存在,一定程度上影響了教學質量和學生的學習興趣[4]。
優化設計始于20世紀60年代,經過近50年的研究與發展,其優化算法及計算機輔助水平得到快速發展[5-6]。華中理工大學、北京科技大學、北京工業大學等單位研發完成優化程序庫(OPB),為優化設計的發展做出了突出貢獻[7]。在國外,以MathWorks公司推出的MATLAB軟件為例,該軟件具有強大的數據分析、可視化顯示、算法開發等功能[8-9],其附加的優化工具箱也為處理優化問題帶來極大方便。
隨著電子信息技術的不斷發展,機械設計優化可視化逐漸被引用到機械優化設計過程中[10]。算法可視化技術,將算法的執行過程實時地用圖形和動畫方式演示出來,使枯燥乏味的算法流程以形象、生動、直觀的方式展現出來[11],可以有效銜接最優化方法的理論與實驗教學,有助于學生深入理解最優化理論及思想,掌握最優化算法設計技巧,提升創新能力和工程實踐能力[12]。但是現有的優化設計軟件或程序庫均存在專業性強、界面復雜、操作難度大及可視化功能弱的缺陷。為了便于學生理解優化方法,本文通過Web前端技術設計了一款迭代過程可視化的優化設計課程實踐平臺,能夠根據用戶的輸入自動彈出可視化的圖形顯示,包括迭代過程中迭代點的變化及函數值的變化。
2 系統結構組成
該系統共包括六大模塊,如圖1所示,分別為優化方法選擇模塊、目標函數輸入模塊、約束條件輸入模塊、基本參數輸入模塊、優化跟蹤模塊、結果顯示模塊。其中前四個模塊為輸入環節,用戶可以直接根據提示輸入相應的內容;后兩個模塊為輸出環節,可以在用戶輸入后直接顯
示。其中優化方法選擇界面如圖2所示。
3 系統關鍵技術
界面設計及實現? 本系統界面設計采用HTML與CSS共同設計,通過HTML實現程序與網頁的關聯以及用戶輸入框顯示及布局等,通過CSS設置元素背景、字體、顏色等內容。設計過程中首先在HTML標簽內通過Link元素引入CSS樣式,即可將HTML與CSS關聯起來,共同編寫靜態界面。通過HTML與CSS聯合設計用戶界面,具有簡便易用、易于調試等優點。
優化算法編程? 本系統優化算法的編程使用JavaScript
語言,該語言與C語言具有相似的循環邏輯。編程主體是各個算法的迭代過程,運用JavaScript語言中的循環語句、判斷語句、選擇語句、創建函數等可以實現算法功能。以隨機方向法為例,算法的主體包括三個方面:首先編寫目標函數語句,其次編寫約束條件語句,最后編寫循環體。各個算法可以運用alert語句進行輸出調試,以判斷算法的正確性。
用戶函數的識別與獲取? 該過程的重點是將用戶在界面上輸入的字符串即模型函數,轉化為計算機可以識別的語言。實現該過程可以分為兩步:首先用JQuery中的val獲取輸入框中的函數,然后運用JavaScript語言中的eval函數將字符串轉化為計算機語言即可。
可視化圖形顯示? 該步驟的重點是獲取算法迭代過程的中間點,用于繪制迭代過程圖形。實現該步驟可以運用ECharts模型:首先將迭代過程的中間點傳遞到數組中,然后將該數組賦予ECharts中的data數據中,用于繪制迭代跟蹤圖像。
4 優化實例
實例選擇
1)橫截面為矩形的樹干加工。根據生產實際,需要把木梁的橫截面加工成矩形。為了滿足實際生產要求,應該對木梁的強度條件、應力、規格等進行限制:為滿足實際使用過程中的質量要求,木梁截面的慣性矩應當大于W;木梁的高度不能超過H;其橫截面的高度應該介于其截面寬度的1~4倍之間。需要確定如何加工矩形的截面,才能使木梁的成本最低、質量最輕。木梁加工示意圖如圖3所示。
根據已知條件建立優化模型如下:
2)四連桿機構復演預期函數機構的設計。如圖4所示,桿1、2、3、4的長度分別為l1、l2、l3、l4。其中主動桿1的輸入角為φ。已知,當桿3在右極限位置時,主動桿1此時的角度為φ0。從動桿3的輸出角為ψ,初始角度為ψ0。試設計其連桿機構的運動參數,使其輸出角ψ=f(φ,l1,l2,l3,l4,φ0,ψ0)的函數關系滿足當曲柄從φ0位置轉到φm=φ0+90°時,最佳再現下面給定的函數關系:
已知l1=1,l4=5,其傳動角允許在45°≤γ≤135°范圍內變化。
根據已知條件建立優化模型如下:
優化過程
1)橫截面為矩形的樹干加工。根據優化模型,運用本系統進行優化,?。?,1)為初始點,其迭代過程變化如圖5所示,優化結果函數值變化圖像如圖6所示,結果顯示如圖7所示。
2)四連桿機構復演預期函數機構的設計。根據優化模型,運用本系統進行優化,?。?.5,4)為初始點,其迭代過程變化如圖8所示,優化結果函數值變化圖像如圖9所示,結果顯示如圖10所示。
結果分析? 對于橫截面為矩形的樹干加工,本系統輸出優化最優點為(1.149 5,0.756 8),函數最優值為1.586 9。與MATLAB優化工具箱求得的函數最優點(1.151 1,0.754 6)
相比,函數最優值1.586 8非常相近。
對于四連桿機構復演預期函數機構的設計,本系統輸出優化最優點為(4.127 6,2.324 9),函數最優值為0.000 4,
與其他計算方法結果也極為接近。
另外,本系統針對黃金分割法、坐標輪換法等方法通過大量測試,其運行結果可靠。
5 系統優勢
使用方便? 本系統簡化了用戶編程的繁雜過程,用戶可以在優化方法選擇模塊中選擇相應的優化方法,計算機會根據用戶的選擇直接跳到相應的模塊執行用戶選擇的算法,用戶只需要完成相應的優化模型的輸入。同時,用戶可以選擇多種優化算法進行對比。
結果可視化? 傳統的優化軟件只是簡單的結果顯示,缺乏對優化過程的顯示,用戶很難對優化結果進行評斷。本設計輸出顯示采用可視化的圖形與數字相結合的方式,分別為用戶展示迭代過程的軌跡變化與迭代過程中函數值變化兩種圖形顯示。用戶可以結合這兩種圖形對優化過程與優化結果進行評斷,有助于了解算法的本質,擺脫黑箱設計的不足,可以用于教學演示。
6 結語
本教學實踐平臺具有界面簡潔、易于操作使用、可視化與結果顯示相結合的特點,系統可以完成用戶優化算法選擇、優化模型(包括目標函數與約束條件)、參數(包括起始點、取值下限、取值上限、約束精度、步長)的輸入。系統能夠根據用戶的輸入自動彈出可視化的圖形顯示,包括迭代過程中迭代點的變化及函數值的變化,同時能夠輸出最終結果,便于用戶對結果進行評價。
參考文獻
[1]王桂從,王玉增,任升峰,等.工程教育專業認證背景下機械優化設計改革探索與實踐[J].科技經濟導刊,2019,27(3):168.
[2]李聚波,賈新杰,邱明.機械優化設計課程教學探索與實踐[J].科技資訊,2015,13(35):211-212,214.
[3]翟國棟,李明陽.機械優化設計課程實踐教學項目設計[J].實驗室研究與探索,2017,6(5):178-183.
[4]袁新梅,馮進,華劍.面向“卓越工程師教育培養計劃”的機械優化設計課程教學研究與實踐[J].中國現代教育裝備,2016(9):99-101.
[5]陳立周.機械優化設計方法[M].北京:冶金工業出版社,1997:34-35.
[6]張翔,陳建能.機械優化設計[M].北京:科學出版社,2015.
[7]余俊,周濟.優化方法程序庫[M].武漢:華中理工大學出版社,1997.
[8]郭仁生.基于MATLAB的優化分析與計算[J].機械設計與制造,2004(2):60-62.
[9]李克勤.基于CDIO理念的機械優化設計課程教學實踐[J].科教導刊,2015(11):128-129.
[10]林昶,蔡甫卿,余秀德.關于機械優化設計中可視化方法的研究[J].內燃機與配件,2018(17):13-14.
[11]張珂.《優化設計》課程教學改革的探索與實踐[J].中國校外教育,2017(4):102-103.
[12]漸令,孫清瀅,邵紅梅,等.最優化方法實驗課程創新設計[J].實驗室研究與探索,2018,37(10):223-225,309.