


摘 要:以機構優化設計方法為研究對象,介紹了機械優化設計問題數學模型的建立方法、優化設計方法的選擇和優化設計問題的編程與計算方法,并舉例驗證利用MATLAB優化工具箱對曲柄搖桿機構進行優化設計過程的合理性和可行性,可為平面運動機構的優化設計提供方法借鑒。
關鍵詞:機械優化設計;數學模型;MATLAB;曲柄搖桿機構
中圖分類號:TH112? ? 文獻標志碼:A? ? 文章編號:1671-0797(2024)03-0036-03
DOI:10.19514/j.cnki.cn32-1628/tm.2024.03.009
0? ? 引言
機械優化設計是在傳統機械設計的基礎上加入優化設計理論與方法,根據已知設計要求與條件,借助計算機,在滿足一定約束的諸多可行方案中,尋找一組使得產品設計指標達到最優的參數的過程[1]。機械優化設計方法的應用明顯提高了產品的設計質量,有效縮短了產品的開發周期。圖1為機械優化設計一般流程。
圖1中,建立數學模型、選擇優化方法和編程計算是三個核心環節。
1? ? 優化設計問題數學模型的建立
機械優化設計過程中,建立對應問題的數學模型是難點,數學模型三要素為設計變量、約束條件和目標函數。
1.1? ? 設計變量
設計變量是和具體的優化設計問題相適應的一組參數,設計變量分連續設計變量和離散設計變量,其向量表達式為:
x=[x1 x2…xn]T
任一產品都是由多個設計變量限定結構尺寸的綜合體,產品的設計變量越多,設計越精確,但建模和優化的難度也越大。所以,在選擇設計變量時應注意重點考慮影響設計問題的關鍵因素,同時考慮設計問題的特殊性。
1.2? ? 約束條件
約束條件指的是在優化設計中,設計變量的選擇要符合一定的約束范圍或限定條件。約束條件分為等式約束和不等式約束,如下所示:
hk(x)=0(k=1,2,…,l)
gj(x)≤0(j=1,2,…,m)
等式約束條件對設計變量的約束更為具體,而不等式約束條件要求設計點在約束曲面的一側即可(包括設計曲面)。
1.3? ? 目標函數
目標函數是以設計變量為參數來表達設計目標的函數,也叫評價函數,具體如下:
f(x)=f(x1,x2,…,xn)
最優化設計過程一般為求目標函數的極小值的過程,即:
f(x)=f(x1,x2,…,xn)→min
當最優點為可行域中的極大值點時,f(x)=f(x1,x2,…,xn)→max,設計過程可看成是求-f(x)或1/f(x)的極小值,即:
-f(x)=-f(x1,x2,…,xn)→min
或:
1/f(x)→min
在某一最優化設計問題需要提出多個目標函數時,該設計問題稱為多目標函數的最優化問題,其表達式為:
f1(x)=f1(x1,x2,…,xn),
f2(x)=f2(x1,x2,…,xn),
[…]
fq(x)=fq(x1,x2,…,xn)
為了協調多目標函數之間的矛盾,常采用線性加權的方式形成一個復合目標函數,即:
f(x)=W1 f1(x)+W2 f2(x)+…+Wq fq(x)
式中:Wq為加權因子,為一非負系數。
1.4? ? 優化設計問題的一般數學形式
由以上得出優化設計問題的一般數學形式如下:
求設計變量向量x=[x1 x2…xn]T,使目標函數f(x)=
f(x1,x2,…,xn)→min,滿足約束條件hk(x)=0(k=1,2,…,l)和gj(x)≤0(j=1,2,…,m)。由此得到優化設計問題的數學模型:
min f(χ),χ∈Rn
s.t. hk(x)=0(k=1,2,…,l)
gj(x)≤0(j=1,2,…,m)
2? ? 優化設計問題優化方法的選擇
優化設計問題的常見解法有解析法、圖解法和數值迭代法,解析法和圖解法的特點是簡單、直觀,但只適用于不高于二維的設計;數值迭代法是根據計算機的數值計算特點,以適當步長向目標函數值的最優值逐步逼近的一種方法,這種方法具有一定的邏輯結構,且按一定格式進行反復迭代,不僅可用于求解復雜函數的最優解,還可用于處理沒有建立數學模型的優化設計問題。
數值迭代法的具體求優過程如下:
1)初選一個點X(0),使其盡可能靠近最小點,從X(0)出發按照一定的原則尋找可行方向并確定初始步長,向前跨出一步,達到X(1);
2)到達點X(1)后再選擇新的可行方向及步長,從X(1)點再向前跨出一步,達到X(2)點,依次類推,逐步向前探索并重復數值計算,使函數值迅速下降,最終達到目標最優點,如圖2所示。
數值迭代法的迭代式為:
X(k+1)=X(k)+α(k)S(k)
f(xk+1) gj(X(k+1))≤0(j=1,2,3,…,m) 式中:X(k),k=1,2,…為第k步迭代點或第k步設計方案;S(k)為第k步迭代計算的搜索方向;a(k)為第k次迭代計算的步長。 3? ? 優化設計問題的編程與計算 3.1? ? MATLAB優化方法簡介 曲柄搖桿機構的優化設計常采用作圖法和實驗法,這兩種方法相對簡單,但精度較低;采用解析法能夠滿足一定的精度要求,但人工計算費時費力,甚至無法實現。采用MATLAB優化工具箱進行優化設計時,參數輸入簡單,編程量小,可更快捷準確地實現設計要求[2]。MATLAB優化工具箱由一些函數組成,這些函數用來求解普通非線性函數的極值問題和線性規劃等標準矩陣問題。優化設計問題的數學模型一旦建立,首先選取合適的優化方法,然后利用MATLAB輸入M文件及函數表達式,再調用優化程序,就可以進行數值計算,從而得到優化解[3]。表1所示為優化工具箱中的常用函數。 工程中大部分優化設計問題屬于約束非線性規劃問題[4],經過分析,曲柄搖桿機構的優化設計應選用fmincon函數。fmincon函數的調用格式為: [x,fva]=fmincon(fun,x0,A,b,Aep,beq,1b,ub, nonlcon,options,P1,P2…) 3.2? ? 應用舉例 如圖3所示,設計一曲柄搖桿機構,已知:l3=100 mm,ψ=32°,行程速比系數k=1.25。要求l1≥l10=20 mm,使傳動角γmin達到最大。 解:由k=1.25,有θ=180°×=20°。 該問題可表示為求l1,l2,l4,使min cos γmin=滿足于: -l1-l2+l3+l4≥0 -l1+l2-l3+l4≥0 -l1+l2+l3-l4≥0 l1-l10≥0 arccos-arccos-θ=0 -cos θ=0 式中:l1、l2、l3、l4為O1A、AB、BO2、O1O2的長。 通過MATLAB工具箱最終得出最優解為: l1 *=25.533 77 l2 *=65.011 81 l4 *=95.369 69 γ* min=44.023 05° 4? ? 結束語 曲柄搖桿機構在機械行業是一種典型的平面運動機構,因此其設計方法與技巧顯得尤為重要。本文介紹了建立機械優化設計問題數學模型的方法、優化設計常用方法及選擇和優化設計問題的編程與計算方法,最后以曲柄搖桿機構為例選擇MATLAB優化工具箱的fmincon函數進行了優化設計編程與計算,得出優化結果,驗證了機械優化設計相對于傳統機械設計的優越性。 [參考文獻] [1] 方世杰.機械優化設計[M].北京:機械工業出版社,2019. [2] 李建霞,王良才.基于Matlab的四桿機構優化設計簡介[J].機電產品開發與創新,2010,23(1):88-89. [3] 張志涌,徐彥琴.MATLAB教程——基于6.X版本[M].北京:北京航空航天大學出版社,2001. [4] 孫靖民,梁迎春.機械優化設計[M].4版.北京:機械工業出版社,2007. 收稿日期:2023-12-25 作者簡介:張娟(1979—),女,甘肅通渭人,碩士研究生,副教授,主要從事機械制造及其自動化方面的教學與研究工作。 2023年甘肅省高等學校創新創業教育改革項目:基于課堂生態的高職機械類專業創新創業教育改革研究與實踐;蘭州職業技術學院2021-2022科研項目:“雙高”背景下,創新創業人才“三全”育人體系研究(2021XY-2);蘭州職業技術學院先導基金專項課題:高職院校基層黨建賦能課堂生態建設研究(2023XYXD-6)