摘 要:以机构优化设计方法为研究对象,介绍了机械优化设计问题数学模型的建立方法、优化设计方法的选择和优化设计问题的编程与计算方法,并举例验证利用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)