童贤华
摘要
MATLAB在机械优化设计中发挥着重要作用,首先对其优化工具做了简单介绍,然后阐述了其优化工具箱函数,最后结合实例对其实际应用进行了分析。
关键词 机械化设计;MATLAB优化工具箱;线性规划
引言
随着生产要求及精确度的提高,需对机械做进一步优化,即在特定的环境和负荷下,对机械的尺寸、规格、性能等因素加以改进,通过变量的设计,构建相应的目标函数并求得最优解,达到以最少消耗获得最大效益的效果。相关研究愈来愈多,出现了多种优化方法,但对应用范围均有限制。MATLAB优化工具箱可直接为技术人员提供有用的优化函数,其语法简单,输入初始参数时无需繁杂程序,加上编程工程量较少,在当前机械优化设计中的作用日益突出,应用越来越广泛。
1.MATLAB语言及其优化工具
MATLAB语言是美国研制的一款实用数学软件,集矩阵计算、数值分析、数据可视化、系统建模等功能于一体,在机械优化设计、数据统计、流体力学、图像处理等领域起着重要作用。该软件摒弃了以往的程序语言编辑模式,在当前十分先进,可用于解决较为复杂的工程问题。另外,根据其自身功能,还可实现非线性动态系统的仿真,将计算结果直观形象地呈现出来。其优化工具箱包含二次规划、曲线拟合、线性及非线性最小化、方程求解等问题对大型课题的解答方法,对解决实际问题创造了有利条件。
2.MATLAB优化工具箱函数
2.1 线性规划函数的求解
在机械优化中,线性规划指的是属于优化变量的线性函数,即便有约束条件,函数也属于优化变量的线性存在等式或不等式的情况。遇到这种情况,通常会选择使用MATLAB优化工具箱中的linprog函数进行求解,关于线性规划求解的方法有很多,单纯形法较为常用,效果也高。
2.2 无约束非线性规划函数的求解
非线性规划指的是在约束函数或目标函数中有若干非线性函数生成的情况。在求解无约束优化问题时,通常会采用两种方法:一是梯度求解,二是直接搜索法。若目标函数中的非线性较为复杂,或导数求解难度较大,甚至没有导数,遇此情况可选择使用直接搜索法。单纯形法的应用,不足之处在于收敛速度过慢。
2.3 有约束非线性规划函数的求解
非线性约束规划问题是MATLAB优化工具箱解决最多的问题。相关算法较多,但使用范围有限制,常常只能解决某一类的非线性规划问题。传统算法的原理为:通过惩罚函数对约束最优化问题进行转变,成为无约束最优化问题后,进一步开展求解。由于无法适应当前要求,该方法易被代替,常用的是以K-T方程解为基础的算法。K-T方程是非线性规划算法的基础,此类算法可以直接开展计算拉格朗日乘子,经过拟牛顿法的更新,为K-T方程积聚二阶信息,确保有约束拟牛顿法的线性得到收敛。因每次重要迭代过程中需要求解一次二次规划问题,故此类方法又叫做序列二次规划法。
3.MATLAB在机械优化设计中的实际应用
3.1 解决步骤
MATLAB优化工具箱的应用多按照以下步骤进行:结合目标定义,考虑设计要求,对问题进行优化,并指明优化类型。分类时可能会遇到单目标和多目标、线性和非线性等情况,需加强对其具体情况的重视了解;确定优化类型后,可开始构建相应的数学模型,选择适宜的函数;进一步明确重点数据、设计初始点等要素;结合目标函数呈现出的形态,预设优化选项;各项参数输入并确定后,对函数程序加以调整;依据提示的信息,校正优化现象的各项设置,确保其符合要求;对设计方案及优化数据进行合理分析。
3.2 实际案例分析
某人字形钢架由两根钢管组成,钢管材料密度ρ为7.8 × 103kg/m3,弹性模量E为2.1 × 105MPa,管壁厚度T为0.25cm,钢架跨度2B = 152cm,外力2F = 3 × 105N。钢管压应力R在低于失稳临界应力和许用压应力的基础上,钢管平均直径D及钢架的高h使得钢管总质量达到最小值。可知其优化问题为:x = [D,h]T时,结构质量需满足稳定性约束条件R(x) ≤ Re(失稳临界应力)及强度约束条件R(x)≤ Ry(许用压应力)。
① 设计变量的获取
钢管质量需在求得钢管直径的钢架高度后进一步获得,故可将平均直径D及高架高度h作为设计变量,则可知:
X = [x1 ,x2]T = [D,h]T
② 目标函数的获取
为求得钢管质量的最小值,需构建以下的目标函数:
M(D,h)= 2πρTD(B2 + h2)1/2
③ 约束条件的获取
关于稳定性约束条件,为R ≤ [Re],即:
≥
关于其强度约束条件,为R ≥ [Ry],即:
≥ Ry
根据以往经验,在10cm ≤ D ≤120cm ,且200cm ≤ h ≤ 1000cm时,其边界约束条件为:
0 ≤ D - 10
0 ≤ 120 - D
0 ≤ h - 200
0 ≤ 1000 - h
3.3 数学模型的优化
从上述计算分析中可知,该优化问题实际是一个包含了6个约束的二维非线性优化问题,经标准化后,将其所有函数表达式依次套入已知条件按中,可得到模型如下:
X = [x1 ,x2]T = [D,h]T
Minf(x) = 1225224 × 10﹣3 x1
4.结束语
MATLAB优化工具箱在机械优化设计中起着重要作用,可对其中的复杂问题 加以有效分析并予以解答。优化结果更加精确可靠,编程也简单许多,进而提升了设计效率。基于这诸多优势,有必要将该技术做进一步推广使用。
5.参考文献
[1] 张岩.MATLAB优化工具箱在机械优化设计中的应用[J].中国机械,2013,24(11):109-110
[2] 黄勇,尹君驰.MATLAB在机械优化设计中的应用[J].科技创新与应用,2012,28(23):187-189
[3] 刘红娟.MATLAB优化工具箱在机械优化设计中的应用[J].新技术新工艺,2012,22(8):119-121
[4] 范婷婷.浅谈Matlab優化工具箱在机械优化设计中的应用[J].机电信息,2013,24(18):173-175