机械优化设计方法陈国定西北工业大学机电学院1.引言2.优化设计的数学模型3.优化方法的数学基础4.一维优化(搜索)方法5.无约束优化方法简介6.工程结构优化设计发展综述7.多目标优化问题和优化技术简介i在以往传统的常规机械设计中,已经包含了“优化”的思想。比如,设计人员针对具体的设计任务,可以同时提出几种不同的设计方案,通过分析评介,选出较好的方案加以采用,这就是一种“优化“的过程。当然,按这种方式“优化”出来的方案,在很大程度上带有经验性,具有一定的局限性。常规的工程设计,由于设计手段和设计方法的限制,设计者不可能在一次设计中得到很多个方案,也不可能进行多方案的分析比较,因此不能得到最佳的设计方案。1人们做任何事情都希望用最少的付出得到最佳的效果,这就是最优化问题的通俗说法。工程设计中,设计者更是力求寻求一种合理的设计参数,以使得由这组设计参数确定的设计方案既满足各种设计要求,又使其技术经济指标达到最佳,即实现最优化设计。优化设计正是在这样一种思想(需求)牵引下发展起来的。2现代电子计算机的发展与普及,以计算机为基础的数值计算方法的成熟和应用,为工程问题的优化设计提供了先进的手段和技术,先进思想和手段的组合构成了最优化设计方法。所谓最优化设计,就是借助最优化设计数值计算方法和计算机技术,求取工程问题的最优设计方案。进行最优化设计时,首先必须将实际问题加以数学描述,形成一组由数学表达式组成的数学模型,然后选择一种最优化数值计算方法和计算机程序,在计算机上运算求解,得到一组由数学表达式组成的设计参数。这组设计参数就是设计的最优解。3数学模型是对实际问题的数学描述和概括,是进行优化设计的基础。因此,根据设计问题的具体要求和条件建立完备的数学模型是关系优化设计成败的关键。工程设计问题通常是相当复杂的,欲建立便于求解的数学模型,必须对实际问题加以适当的抽象和简化。不同的简化方法,得到不同的数学模型和计算结果。不恰当的数学处理可能导致计算结果偏离实际要求,得出与实际问题不一致甚至相互矛盾的结果。下面通过两个设计实例,说明优化设计中建立数学模型的一般方法和步骤。4【例2.1】有一块边长为6m的正方形铝板,四角各裁去一个小的方块,做成一个无盖的盒子。试确定裁去的四个小方块的边长,以使做成的盒子具有最大的容积。解:设裁去的四个小方块边长为x,盒子的容积可表示成x的函数。于是,上述问题可描述为求变量x使函数极大化这就是此问题的数学模型。其中,x称为设计变量;f(x)称为目标函数。由于目标函数是设计变量的一元三次函数,且没有附加的约束条件,故此问题属一元非线性无约束优化设计问题。根据一元函数的极值条件,令f’(x)=0,解得极值点和极值分别为称为该设计问题的最优解。52)26()(xxxf1*x16*f【例2.2】某工厂生产甲、乙两种产品。生产每种产品所需的材料、工时、电力和可获得的利润,以及能够提供的材料、工时和电力见表2.1。试确定两种产品每天的产量,以使每天所获得的利润最大。表2.1生产条件与供给数据6解:这是一个生产计划问题,可归结为既满足各项生产条件,又使每天所能获得的利润达到最大的优化设计问题。设每天生产甲产品x1件,乙产品x2件,每天获得的利润可用函数f(x1,x2),表示,即每天实际消耗的材料,工时和电力可分别用函数表示,即21213212122121154),(103),(49),(xxxxgxxxxgxxxxg7于是上述生产计划问题可归结为求变量x1,x2使函数极大化满足条件212112060),(xxxxf0),(0),(20054),(300103),(36049),(22151214212132121221211xxxgxxxgxxxxgxxxxgxxxxg8这就是该设计问题的数学模型,其中f(x1,x2)代表设计目标,称为目标函数。gu(x1,x2)(u=1,2,…,5)代表5个已知的生产指标,称为约束函数。5个不等式代表5个生产条件,称为约束条件。由于目标函数和所有约束函数均为设计变量的线性函数,故此问题属线性约束优化问题。显然,这样的问题无法直接利用极值条件求解。9优化设计数学模型的一般形式从以上两个实例可以看出,优化设计的数学模型由设计变量、目标函数和约束条件三部分组成,可写成以下统一形式:求变量使极小化函数满足约束条件(u=1,2,…,m)(v=1,2,…,p其中,称不等式约束条件;称等式约束条件.nxxx,...,21),...,(21nxxxf0),...,(21nuxxxg0),...,(21nvxxxh0,,,21nuxxxg0),...,(21nvxxxh10如果用向量X=[x1,x2,…,xn]T表示设计变量,XR表示向量X属于n维实欧氏空间,用min表示极小化,s.t.(subjectto)表示“满足于”或“受约束于”,m,p分别表示不等式约束和等式约束的个数。数学模型可写成以下向量形式:),,2,1(0)(),,2,1(0)(..)(minpvXhmuXgtsRXXfvun11由于工程设计的解一般都是实数解,故可省略,将优化设计的数学模型简记为(2—2)当设计问题要求极大化目标函数f(X)时,只要将目标函数改写为-f(X)即可。因为maxf(X)和min[-f(X)]具有相同的解。同样,当不等式约束条件中的不等号为“≥0”时,只要将不等式两端同乘以“-1”即可得到“≤0”的一般形式。nRX),,2,1(0)(),,2,1(0)(..)(minpvXhmuXgtsXfvu12最优化问题也称为数学规划问题。最优化问题根据数学模型中是否包含约束条件而分为无约束优化问题和约束优化问题;根据设计变量的多少可分为单变量优化和多变量优化问题;根据目标函数和约束函数的性质可分为线性规划和非线性规划问题。当数学模型中的目标函数和约束函数均为设计变量的线性函数时,称此设计问题为线性优化问题或线性规划问题。当目标函数和约束函数中至少有一个为非线性函数时,称此设计问题为非线性优化问题或非线性规划问题。线性规划和非线性规划是数学规划的两个重要分支。生产计划和经济管理方面的问题一般属于线性规划问题,而工程设计问题多属于非线性规划问题。13设计变量与设计空间工程问题的一个设计方案通常是用特征参数表示的,一组特征参数值代表一个具体的设计方案。这种代表设计方案的特征参数一般应选作该问题优化设计的设计变量。一个工程问题的设计参数一般是相当多的,其中包括常量、独立变量和因变量三类。优化设计时,为了使建立的数学模型尽量简单易解,只能选择其中的独立变量作为设计变量。但是,一个设计问题中,独立变量和因变量的划分并不是一成不变的。同一设计问题,当设计条件或设计要求发生变化时,设计变量也应随之变化。综上所述,设计变量应该选择那些与目标函数和约束函数密切相关的、能够表达设计对象特征的独立参数和尺寸。同时,还要兼顾求解的精度和复杂性方面的要求.一般来说,设计变量的个数越多,数学模型越复杂,求解越困难。14设计变量有连续变量和离散变量之分。可以在实数范围内连续取值的变量称为连续变量,只能在给定数列或集合中取值的变量称为离散变量,几乎所有的优化理论和方法都是针对连续变量提出来的.而实际问题往往包含有各种各样的离散变量、整数变量和标准序列变量等。目前,关于离散变量优化问题的理论和方法还很不完善。因此,对于各种包含离散变量的优化问题,一般先将离散变量当作连续变量,求出连续变量最优解后,再作适当的离散化处理。15由线性代数可知,若n个设计变量x1,x2,…,xn相互独立,则由它们形成的向量X=[x1,x2,…,xn]T的全体集合构成一个n维实欧氏空间,称设计空间,记作Rn。于是,一组设计变量可看作设计空间中的一个点,称设计点。反之,所有设计点的集合构成一个设计空间。这里,设计变量的个数n称为设计空间的维数。当n=2时,设计空间为二维平面;当n=3时,设计空间为三维空间;当n3时,设计空间为n维空间.16约束条件与可行域对任何设计都有若干不同的要求和限制,将这些要求和限制表示成设计变量的函数并写成一系列不等式和等式表达式,就构成了设计的约束条件,简称约束。约束条件的作用是对设计变量的取值加以限制。约束条件根据形式不同可分为不等式约束和等式约束,根据性质可分为边界约束和性能约束。边界约束是对设计变量本身所加的直接限制,如其中,第一个和第二个约束条件表示,第三个约束条件表示它们都属于边界约束条件。17000jiiiixbxxaiiibxa0jx性能约束在形式上是对某些技术性能指标或参数所加的限制,实际上同样是对设计变量所加的间接限制。如例2.2中对材料、工时和电力所加的约束,属于性能约束。设计约束的几何意义是每一个不等式或等式约束都将设计空间分为两个部分,即对每一个约束在设计空间形成了可行域和非可行域。满足所有约束的部分形成一个交集,该交集称为此约束问题的可行域,记作D。可行域也可看作满足所有约束条件的设计点的集合,因此,可用集合式表示如下:∣(u=1,2,…,m;v=1,2,…,p)}XD{0)(,0)(XhXgvu18例2.2中的5个约束方程分别是:作出的5条约束边界及其约束可行域如图2.1所示,可以看出,此问题的约束可行域是由5条约束边界线围成的封闭五边形ABCDO。又如以下3个约束条件:3条约束边界线所围成的约束可行域如图2.2所示。0,0020054030010303604921212121xxxxxxxx0)(01)(02)(132212211xXgxxXgxxXg19图2.1例2.2的可行域图2.2约束可行域20根据是否满足约束条件可把设计点分为可行点(也称内点)和非可行点(也称外点)。根据设计点是否在约束边界上,可将约束条件分为起作用约束和不起作用约束。21目标函数与等值线要寻求设计问题的最优解就必须有判别设计方案好坏的尺度。在数学模型中这个尺度就是目标函数,它是关于设计变量的函数,是用于衡量设计方案优劣的定量标准。对极小化问题来说,目标函数的值越小,对应的设计方案越好,目标函数的最小值及其对应的设计变量的取值称为设计问题的最优解不同的设计问题有不同的方案评价标准,甚至一个问题可能存在几个不同的评价标准。因此,必须针对具体问题,选择那些主要的技术经济指标作为设计的目标函数,如利润、体积、重量、功率等。一个设计问题只有一个目标函数,这是单目标优化问题。若采用了多个目标函数,则称之为多目标优化问题,例如一台机器期望得到最低的造价和最少的维修费用,它们各自的目标函数分别为f1(x)和f2(x),这就是多目标优化问题。目标函数越多,对设计的评价越周全,设计的综合效果越好,但对问题的求解也越复杂。关于多目标优化问题可参考有关文献。22要知道一个目标函数的最优点在设计空间中所处的位置,就需要了解目标函数的变化规律。对于简单的问题,等值线或等值面不仅可以直观地描绘函数的变化趋势,而且还可以直观地给出极值点的位置。令函数f(X)等于常数c,即使f(X)=c,则满足此式的点X在设计空间中定义了一个点集。当n=2时,该点集是设计平面中的一条直线或曲线,当n≥3时,该点集是设计空间中的一个平面、曲面或超曲面。在这种线或面上所有点的函数值均相等。因此,这种线或面就称为函数的等值线或等值面。23当c取一系列不同的常数值时,可以得到一组形态相似的等值线或等值面,称为函数的等值线面簇,如图2.3所示。图2.3所示为函数的图形(旋转抛物面),以及用平面f(X)=c切割抛物面所得交线在设计空间中的投影.该投影就是函数f(X)的一簇等值线,这簇等值线是以点X=[2,0]T的一组同心圆,显然圆心X=[2,0]T就是函数的极小点。44)(12221xxxXf24对简单的二维优化问题,可以在设计平面内直观地作出约束可行域,画出目标函数的一簇等值线,并且可以根据等值线与可行域的相互关系确定出最优点的位