g5?X?=Ttqmaxig1ig0?Tr-FZ???0 ?2—20?(2)变速器传动比要求约束条件
五挡变速器,设公比q=5-1ig1/ig5 ?2—21?
则有: g6?X?=0.85q-ig1/ig2?0 ?2—22?
g7?X?=ig1/ig2-1.20q?0 ?2—23? g8?X?=0.80q-ig2/ig3?0 ?2—24? g9?X?=ig2/ig3-1.10q?0 ?2—25? g10?X?=0.75q-ig3/ig4?0 ?2—26? g11?X?=ig3/ig4-1.05q?0 ?2—27? g12?X?=0.70q-ig4/ig5?0 ?2—28? g13?X?=ig4/ig5-1.0q?0 ?2—29? g14?X?=ig2/ig3-0.95ig1/ig2?0 ?2—30? g15?X?=ig3/ig4-0.95ig2/ig3?0 ?2—31? g16?X?=ig4/ig5-0.95ig3/ig4?0 ?2—32?
(3)变速器与主减速器传动比的边界条件
g17?X?=Xl-X?0 ?2—33?
g18?X?=X-Xh?0 ?2—34?
因此,本文研究的是一个具有6个设计变量,18个约束条件的最优化问题,其数学模型如下:
minF?X?,X??gi?X??0,i=1,2,3,???,18? ?2—35?
X=?x1,x2,x3,x4,x5,x0?=??ig1,ig2,ig3,ig4,ig5,i0??4 求解过程
求解优化问题可以用解析法,也可以用数值的近似解法。解析法就是把所研究的对象用数学方程(数学模型)描述出来,然后再用数学解析方法(如微分、变分方法等)求出优化解。但是,在很多情况下,优化设计的数学描述比较复杂,因而不便于甚至不可能用解析方法求解:另外,有时对象本身的机理无法用数学方程描述,而只能通过大量试验数据用差值或拟合方法构造一个近似函数式,再来求其优化解,并通过试验来验证;或直接以数学原理为指导,从任取一点出发通过少量试验(探索性的计算),并根据试验计算结果的比较,逐步改进而求得优化解。这种方法是属于近似的、迭代性质的数值解法。数值解法不仅可用于复杂函数的优化解,也可以用于处理没有数学解析表达式的优化设计问题。因此,它是实际问题中常用的方法,很受重视。但是,应当指出,对于复杂问题,由于不能把所有参数都完全考虑并表示出来,只能是一个近似的最优化的数学描述。由于它本来就是一种近似,那么,采用近似性质的数值方法对它们进行计算,也就谈不到对问题的精确性有什么影响了。 4.1 求解方法的比较
有约束条件下多变量函数的寻优方法主要有以下几种: (1)等式约束条件下的消元法:消元法是利用等式约束消去某些变量,把等式约束问题化为无约束问题,而且约束问题的变量数目也减少了,因此,如果消元法能够采用的话,是十分有效的。
(2)拉格朗同乘子法:拉格朗日乘子法引进待定乘子入,将有等式约
束的寻优问题转化为无约束的寻优问题。
(3)惩罚函数法:惩罚函数法是先构造一个新的函数,即罚函数,使有约束的问题转化为一系列无约束的问题,再使它们逐渐逼近最优解。
(4)复合形法:复合形法的大致过程是:在可行域内选取K个设计点作为初始复合形的顶点,通常取n?1?K?2n(n为设计变量个数)。比较这些顶点的目标函数值,其中目标函数值最大的点为坏点,以坏点之外其余各点的中心为映射中心,寻找坏点的反射点。如果反射点优于坏点,则以反射点代替坏点,构成新的复合形。依此步骤重复多次,使复合形的位置越来越靠近最优点,最后输出复合形中目标函数值最小的点作为近似最优点。由于复合形的形状不必保持规则的图形,对目标函数及约束函数的形状又无特殊要求,因此该法的适应性较强,应用广泛。
本优化过程的目标函数和约束条件较为复杂,不适合求导和大量的求解过程。综合考虑几种算法,采用复合形法不必计算目标函数的梯度及二阶导数矩阵,也不用一维最优化搜索,需要的只是大量的数值计算,这在程序上是比较简单的,适用性也强,容易掌握。又因为Matlab具有强大的数值计算功能,因此采用复合形法进行求解。 4.2 求解过程
本例是一个五维问题,取K?6,在可行域内找出X1,X2,X3,X4,X5,X6六个点作为初始复合形的顶点,计算这六个点的目标函数值,并作比较,得出好点XL与坏点XH。
XL:F?XL?=max F?Xi? ?i=1,2,?,K? ?2—36?
XH:F?XH?=max F?Xi? ?i=1,2,?,K? ?2—37? 以坏点之外的其余五点的中心X0为映射中心,寻找坏点XH的反射点
XR。
1KXj ?j=1,2,?,K,j?H? ?2—38? X0=?K-1j?1 XR=X0+??X0-XH? ?2—39? 其中?为映射系数。
然后计算映射反射点XR处目标函数值F?XR?,并比较它是否比坏点目标函数值F?XH?小,同时检查XR是否在可行域内。如果这两方面都得到满足,则以XR点代替XH,构成一个新的复合形,重复再做。若果上述两个条件有一个不满足则可用缩小反射系数的方法,使它最后满足这两个条件,并按上述迭代格式,不断地使复合形向着目标函数减小地方向前进,直到最后逼近最优解。
但是,也可能出现这样的情况:经过若干次的反射系数?减半,直到?已经小到一个预先给定的正数?(例如?=10-6),仍不能使反射点优于坏点,这说明该反射方向不利。
图2-3 优化程序流程
为了改变反射方向,用次坏点来代替坏点,再计算不包括次坏点在内的复合形顶点的中心,并以此中心为反射中心,寻求新反射点。每当一个新复合形构成之时,就用终止迭代
?1??K2?FX0-FXi??即看看映射中心点函数与其??????????来进行判别,
?12它定点函数值的平方和被K除后再开方,是否小于预定精度?。
如果不满足这个条件,则继续寻求反射点,继续下一次迭代。若满足条件,则将最后复合形的好点XL及函数值F?XL?作为最优点和最优值给予输出,运算结束。当复合形各点逐步靠近约束最优点时,反射系数由于不断减小,使得复合形各顶点之间的距离也逐渐缩短。当复合形收缩很小时,各顶点也就十分靠近,它们的函数值也必然十分接近于相等,因此就必然符合前述迭代终止的判别条件。
第三章 基于VC++和Matlab的优化计算和分析
3.1 计算所选标杆车主要性能参数