1、机械优化设计第六章约束优化方法第六章约束优化方法一、概述一、概述二、随机方向法二、随机方向法三、复合形法三、复合形法四、惩罚函数法四、惩罚函数法机械优化设计一、概述一、概述1 1、数学模型、数学模型12,min,nfXfx xx. .st12,0(1,2,)jjngXgx xxjm12,0(1,2,)kknhXhx xxkl求解上式的方法称为约束优化方法求解上式的方法称为约束优化方法机械优化设计2 2、求解方法、求解方法(1 1)直接解法:直接解法:将迭代点限制在可行域内(将迭代点限制在可行域内(可行可行性性),步步降低目标函数值(),步步降低目标函数值(下降性下降性),直至到达),直至到达最
2、优点。如最优点。如随机方向法、复合形法随机方向法、复合形法、可行方向法、可行方向法、广义简约梯度法。广义简约梯度法。 根据求解方式不同,约束优化设计问题可分为根据求解方式不同,约束优化设计问题可分为直接解法和间接解法。直接解法和间接解法。(2 2)间接解法:间接解法:通过变换,将约束优化问题转化通过变换,将约束优化问题转化为无约束优化问题求解。如为无约束优化问题求解。如惩罚函数法惩罚函数法、增广乘子、增广乘子法等。法等。机械优化设计(1)直接解法)直接解法 适用于仅含不等式约束的问题,基本思路是:适用于仅含不等式约束的问题,基本思路是:11,2,kkkkXXdk 在不等式确定的在不等式确定的可
3、行域内选择一个初始点可行域内选择一个初始点,然后决定,然后决定可可行搜索方向行搜索方向,且以,且以适当的步长适当的步长进行搜索,得到一个使目标进行搜索,得到一个使目标函数值下降的可行的新点,即完成一次迭代。再以新点为函数值下降的可行的新点,即完成一次迭代。再以新点为起点,重复上述搜索过程,满足收敛条件后,迭代终止。起点,重复上述搜索过程,满足收敛条件后,迭代终止。k-步长步长-可行搜索方向可行搜索方向kd可行搜索方向可行搜索方向:当设计点沿该方向作微量移动时,目标:当设计点沿该方向作微量移动时,目标函数值将下降,且不会越出可行域。函数值将下降,且不会越出可行域。机械优化设计直接解法的搜索路线直
4、接解法的搜索路线机械优化设计迭代计算无论何时终止,都可获得一个比初始迭代计算无论何时终止,都可获得一个比初始点好的设计点;点好的设计点;若目标函数是凸函数,可行域是凸集,则可保若目标函数是凸函数,可行域是凸集,则可保证获得全域最优解。否则,将由于所选择的初始点证获得全域最优解。否则,将由于所选择的初始点的不同,而探测到不同的局部最优解上,在这种情的不同,而探测到不同的局部最优解上,在这种情况下,探索结果经常与初始点的选择有关系,为了况下,探索结果经常与初始点的选择有关系,为了能得到全局最优解,在探索过程中最好能改变初始能得到全局最优解,在探索过程中最好能改变初始点,或选择几个差别较大的初始点分
5、别计算,以便点,或选择几个差别较大的初始点分别计算,以便从多个局部最优解中从多个局部最优解中 选择更好的最优解;选择更好的最优解;要求可行域为有界的非空集,即在有界可行域要求可行域为有界的非空集,即在有界可行域内存在满足全部约束条件的点,且目标函数有定义内存在满足全部约束条件的点,且目标函数有定义。2 2)直接解法的特点)直接解法的特点机械优化设计a) a) 可行域是凸集;可行域是凸集;b)b)可行域是非凸集可行域是非凸集机械优化设计(2 2)间接解法)间接解法1)1)基本思路基本思路 将约束优化问题中的约束函数进行特殊的加将约束优化问题中的约束函数进行特殊的加权处理后,和目标函数结合起来,构
6、成新的目标权处理后,和目标函数结合起来,构成新的目标函数,即将原约束优化问题转化成一个或一系列函数,即将原约束优化问题转化成一个或一系列的无约束优化问题。再对新的目标函数进行无约的无约束优化问题。再对新的目标函数进行无约束优化计算,从而间接地搜索到原约束问题的最束优化计算,从而间接地搜索到原约束问题的最优解。优解。 121211,mljkjkxf xG gxH hx 新目标函数新目标函数加权因子加权因子机械优化设计2)2)间接解法的特点间接解法的特点计算效率和数值计算的稳定性有较大提高;计算效率和数值计算的稳定性有较大提高;可以有效地处理具有约束等式约束的约束优化可以有效地处理具有约束等式约束
7、的约束优化问题;问题;选择加权因子困难,如果选择不当,不但影响选择加权因子困难,如果选择不当,不但影响收敛速度和计算精度,甚至会导致计算失败。收敛速度和计算精度,甚至会导致计算失败。 由于间接解法可以选用已研究比较成熟的无约由于间接解法可以选用已研究比较成熟的无约束优化方法,并且容易处理同时具有不等式约束束优化方法,并且容易处理同时具有不等式约束和等式约束的问题。因而在机械优化设计得到广和等式约束的问题。因而在机械优化设计得到广泛的应用。泛的应用。机械优化设计 二、随机方向法二、随机方向法基本思路:基本思路: 在可行域内选择一个初始点,利用随机数的概在可行域内选择一个初始点,利用随机数的概率特
8、性,产生若干个随机方向,并从中选择一个率特性,产生若干个随机方向,并从中选择一个能使目标函数值下降最快的随机方向作为可行搜能使目标函数值下降最快的随机方向作为可行搜索方向索方向 。从初始点。从初始点 出发,沿搜索方向出发,沿搜索方向 以一定的步长进行搜索,得到新点以一定的步长进行搜索,得到新点 ,新点应该,新点应该满足一定的条件(约束条件即在可行域内,且保满足一定的条件(约束条件即在可行域内,且保证目标函数值的下降性),至此完成第一次迭代。证目标函数值的下降性),至此完成第一次迭代。然后将起始点移至然后将起始点移至 ,重复以上过程,经过若干,重复以上过程,经过若干次迭代计算后,最终取得约束最优
9、解。次迭代计算后,最终取得约束最优解。d0 xdxx机械优化设计1 1)在可行域内选择一个初始点)在可行域内选择一个初始点 ;2 2)沿该点周围不同的方向进行若干次)沿该点周围不同的方向进行若干次搜索,计算各方向上等距离点的函数搜索,计算各方向上等距离点的函数值,找出其中最小值值,找出其中最小值 及点及点 ; 3 3)如果)如果 则以两点连线方向作为搜索方向以适则以两点连线方向作为搜索方向以适当的步长向前搜索,得到新点当的步长向前搜索,得到新点 。若若 ,则将新的起点移,则将新的起点移至至 ,重复前面过程;,重复前面过程;否则应缩短步长,直至取得较好点。否则应缩短步长,直至取得较好点。4 4)
10、如此循环下去,当满足计算精度,)如此循环下去,当满足计算精度,则可结束迭代计算则可结束迭代计算0 x)(LxfLx)()(0 xfxfLx)()(Lxfxfx机械优化设计1 1随机数的产生随机数的产生首先令首先令 3536371232 ,2 ,2 ,rrr取取 2657863r 然后按以下步骤计算:然后按以下步骤计算: 令令 5rr若若 3rr,则,则 3rrr 若若 2rr则则 2rrr若若 1rr则则 1rrr 则则 1rqrq即为即为 区间内的伪随机数。区间内的伪随机数。 0,1利用利用 q容易求得任意区间容易求得任意区间 , a b内的伪随机数,内的伪随机数,其计算公式为其计算公式为x
11、aq ba机械优化设计 2初始点的选择初始点的选择(1)输入设计变量的下限值和上限值,即)输入设计变量的下限值和上限值,即 (1,2,)iiiaXb in(2)在区间)在区间 0,1内产生内产生 n个伪随机数个伪随机数 (1,2, )iq in (3)计算随机点)计算随机点 X的各分量的各分量 (1,2, )iiiiixaq bain(4)判别随机点)判别随机点 X是否可行,若随机点是否可行,若随机点 X可行,可行, 则取初始点则取初始点 0XX;若随机点;若随机点 X为非可行点,为非可行点, 则转步骤(则转步骤(2)重新计算,直到产生的随机点是)重新计算,直到产生的随机点是可行点为止。可行点
12、为止。 机械优化设计3可行搜索方向的产生可行搜索方向的产生(1)在)在 1,1区间内产生伪随机数区间内产生伪随机数 1,2,;1,2,jirin jk,并计算随机单位向量。,并计算随机单位向量。(2)取一维试验步长)取一维试验步长 0,按下式计算,按下式计算 k个随机点个随机点 001,2,jjXXejkjnjjnijijrrrre2112/12)(1机械优化设计1,2,001,2,minjLjLjkLgXjmfXfXfXfX则可行搜索方向为则可行搜索方向为 0LdXXk(3 3)检验)检验 个随机点是否为可行点,除去非可行个随机点是否为可行点,除去非可行点,点,计算余下可行点的目标函数值,比
13、较大小,选计算余下可行点的目标函数值,比较大小,选出目标函数值最小的点出目标函数值最小的点 ; LX(4) 比较比较两点两点 和和 的函数值,当点的函数值,当点 满足满足LX0XLX产生可行搜索产生可行搜索方向的条件方向的条件机械优化设计4搜索步长的确定搜索步长的确定 所用的步长一般按所用的步长一般按加速步长法加速步长法来确定。所谓加速步来确定。所谓加速步长法是指依次迭代的步长按一定的比例递增的方法。长法是指依次迭代的步长按一定的比例递增的方法。各次迭代的步长按下式计算:各次迭代的步长按下式计算:1kk5随机方法的计算步骤随机方法的计算步骤 (1)选择一个可行的初始点)选择一个可行的初始点 (
14、2)产生)产生 k个个 n维随机单位向量维随机单位向量 1,2,jejk(3)取试验步长)取试验步长 0,计算出,计算出 k个随机点个随机点 1,2,jXjk加速步长系数加速步长系数机械优化设计(4)找出满足条件的随机点)找出满足条件的随机点 LX产生可行搜索方向产生可行搜索方向 0LdXX(5)从初始点)从初始点 出发,沿可行搜索方向以加速步长出发,沿可行搜索方向以加速步长0X进行迭代计算,进行迭代计算,直到搜索到一个满足全部约束条件,直到搜索到一个满足全部约束条件,且目标函数值不再下降的新点。且目标函数值不再下降的新点。 (6)若收敛条件)若收敛条件 0102fXfXXX得到满足,迭代终止
15、。约束最优解为得到满足,迭代终止。约束最优解为 ,XX fXfX否则,否则, 0XX转步骤(转步骤(2)。)。 机械优化设计随机方向法的特点随机方向法的特点v对目标函数的性态无特殊要求,程序设计简单,对目标函数的性态无特殊要求,程序设计简单,使用方便;使用方便;v由于可行搜索方向的选择能保证目标函数下降由于可行搜索方向的选择能保证目标函数下降最快,加之步长可以灵活变动,使得算法的收最快,加之步长可以灵活变动,使得算法的收敛速度较快;敛速度较快;v初始点的选择对于收敛迭代次数影响较大。初始点的选择对于收敛迭代次数影响较大。 对于求解小型的机械优化问题,随机方向法对于求解小型的机械优化问题,随机方
16、向法是一种比较有效的算法。是一种比较有效的算法。机械优化设计三、复合形法三、复合形法 基本思路:基本思路:在可行域内构造一个具有在可行域内构造一个具有 个顶点个顶点的初始复合形。对该复合形各顶点的目标函数值的初始复合形。对该复合形各顶点的目标函数值进行比较,找到目标函数值最大的顶点(称最坏进行比较,找到目标函数值最大的顶点(称最坏点),然后按一定的法则求出目标函数值有所下点),然后按一定的法则求出目标函数值有所下降的可行的新点,并用此点代替最坏点,构成新降的可行的新点,并用此点代替最坏点,构成新的复合形,复合形的形状每改变一次,就向最优的复合形,复合形的形状每改变一次,就向最优点移动一步,直至
17、逼近最优点。点移动一步,直至逼近最优点。)21(nknk机械优化设计机械优化设计1初始复合形的形成初始复合形的形成(1)由设计者决定)由设计者决定 个个可行点,构成初始复合形。可行点,构成初始复合形。 k适用于设计变量少,约束条件简单的情况。适用于设计变量少,约束条件简单的情况。(2)由设计者选定一个可行点,其余的)由设计者选定一个可行点,其余的 1k 个可行点用随机法产生。各顶点按下式计算:个可行点用随机法产生。各顶点按下式计算:1,2,jjXar bajk 式中:式中: jX复合形中的第复合形中的第j个顶点。个顶点。 ab、设计变量的上限和下限;设计变量的上限和下限; jr在在 0,1区间
18、内的伪随机数。区间内的伪随机数。 机械优化设计随机点不一定在可行域内,可采用的方法是:随机点不一定在可行域内,可采用的方法是: 求出已知在可行域内的求出已知在可行域内的 个顶点的中心个顶点的中心 CX11LCjjXXL 将非可行点向中心移动,即将非可行点向中心移动,即LX 若若 仍是不可行点,则继仍是不可行点,则继续移动,直到续移动,直到成为可行点为止。成为可行点为止。 这种方法可保证移动后的点一定会在可行域内,且这种方法可保证移动后的点一定会在可行域内,且不会与原来的可行点重合。不会与原来的可行点重合。q)(5 . 011CqCqXXXX机械优化设计 完全适用于可行域是凸集的情况,如为非凸集
19、,完全适用于可行域是凸集的情况,如为非凸集,中心点可能不在可行域内,可以通过改变设计变量中心点可能不在可行域内,可以通过改变设计变量的上限和下限值,重新产生各顶点来解决。经过多的上限和下限值,重新产生各顶点来解决。经过多次计算,有可能在可行域内生成初始复合形。次计算,有可能在可行域内生成初始复合形。(3)由计算机自动生成初始复合形的全部顶点。)由计算机自动生成初始复合形的全部顶点。 首先随机产生一个可行点,然后按第二种方法首先随机产生一个可行点,然后按第二种方法生成其余的可行点。生成其余的可行点。机械优化设计2 2、复合形法的搜索方法、复合形法的搜索方法(1 1)反射)反射1 1)计算复合形各
20、顶点的目标函数值,并比较其大小,求)计算复合形各顶点的目标函数值,并比较其大小,求出最好点出最好点 LX和最坏点和最坏点 HX及次坏点及次坏点 GX 2 2)计算除去最坏点外的)计算除去最坏点外的 1k 个顶点的中心个顶点的中心111kCjjXXk3 3)以点)以点 为中心,将最坏点为中心,将最坏点 CX按一定比例进行反射,找到一按一定比例进行反射,找到一个函数值小的新点(一般可以认个函数值小的新点(一般可以认为最坏点与中心点的连线方向可为最坏点与中心点的连线方向可能为目标函数下降的方向)能为目标函数下降的方向) RCCHXXXX机械优化设计4 4)判别反射点)判别反射点 的位置的位置: :0
21、1,2,Rj XRHgJmfXfXHxRxRxHx)()(HRxfxfRxRx)()(HRxfxf若若 为可行点,则比较为可行点,则比较 和和 点的目标函数值,点的目标函数值,如果如果 ,则用,则用 取代取代 ,构成新的,构成新的复合形,完成一次迭代;如果复合形,完成一次迭代;如果 ,则将,则将 缩小缩小0.70.7倍重新计算新的反射点,若仍不可行,继续缩倍重新计算新的反射点,若仍不可行,继续缩小直至小直至 为止;为止;若为若为 不可行点,可缩小反射系数直至为可行点,并不可行点,可缩小反射系数直至为可行点,并按上述方法确定合适的新点。按上述方法确定合适的新点。)()(HRxfxf反射成功的条件
22、:反射成功的条件:Rx机械优化设计(2 2)扩张)扩张 当求得的反射点为可行点,且目标函数值下降较多,当求得的反射点为可行点,且目标函数值下降较多,则沿反射方向继续移动,即采用扩张的方法,可能找到则沿反射方向继续移动,即采用扩张的方法,可能找到更好的新点更好的新点 ERRCXXXX若扩张点为可行点,且若扩张点为可行点,且 ERfXfX则扩张则扩张成功,构成新的复合形。成功,构成新的复合形。否则,放弃扩张,仍用原否则,放弃扩张,仍用原反射点构成新的复合形。反射点构成新的复合形。 XRXEHXRCXX机械优化设计(3 3)收缩)收缩 在中心点以外找不到好的反射点,可以在中心点以内,在中心点以外找不
23、到好的反射点,可以在中心点以内,即采用收缩的方法寻找较好的新点,即采用收缩的方法寻找较好的新点,其计算公式为:其计算公式为:KHCHXXXXKHfXfX则收缩成功,用收则收缩成功,用收缩点构成新的复合缩点构成新的复合形。形。机械优化设计(4 4)压缩)压缩 若采用上述方法均无效,可采取复合形各顶点向最若采用上述方法均无效,可采取复合形各顶点向最好点好点 靠拢,即采用压缩的方法来改变复合形的形状。靠拢,即采用压缩的方法来改变复合形的形状。压缩后的各顶点的计算公式为:压缩后的各顶点的计算公式为:LX0.5(1,2, ;)jLLjXXXXjk jL 然后再对压缩后的复然后再对压缩后的复合形采用反射、
24、扩张或合形采用反射、扩张或收缩等方法,继续改变收缩等方法,继续改变复合形的形状。复合形的形状。机械优化设计3 3、复合形法的计算步骤(只含反射)、复合形法的计算步骤(只含反射)(1 1)选择复合形的顶点数,在可行域内构造初始复合形。)选择复合形的顶点数,在可行域内构造初始复合形。 (2 2)计算复合形各顶点的目标函数值,比较其大小,找出)计算复合形各顶点的目标函数值,比较其大小,找出最好点,最坏点和次坏点。最好点,最坏点和次坏点。(3 3)计算除去最坏点以外的各顶点的中心,判别中心是否)计算除去最坏点以外的各顶点的中心,判别中心是否可行,若行转步骤(可行,若行转步骤(4 4);若不可行,则重新
25、确定设计变量);若不可行,则重新确定设计变量的下限和上限值,令的下限和上限值,令 ,LCaXbX,然后由转步骤(,然后由转步骤(1 1),),重新构造初始复合形。重新构造初始复合形。 (4 4)计算反射点,必要时改变反射系数的值,直至反射)计算反射点,必要时改变反射系数的值,直至反射成功。然后,构成新的复合形。成功。然后,构成新的复合形。 (5 5)若收敛条件)若收敛条件 得到满足,计算终值,约束最优解为得到满足,计算终值,约束最优解为 ,LLXXfXfX,否则转步骤(,否则转步骤(2 2)。)。2/121)()(11kjLjxfxfk机械优化设计四、惩罚函数法四、惩罚函数法1、基本思想、基本
26、思想 通过构造惩罚函数把约束优化问题转化为一通过构造惩罚函数把约束优化问题转化为一些列无约束优化问题,进而用无约束最优化方些列无约束优化问题,进而用无约束最优化方法求解。法求解。转化求解的转化求解的前提前提: 是不能破坏约束问题的约束条件;是不能破坏约束问题的约束条件; 是使它归结到原约束问题的同一最优解上去。是使它归结到原约束问题的同一最优解上去。机械优化设计 将约束优化问题将约束优化问题min0(1,2,)0(1,2,)jkfXgXjmhXkl 中的不等式和等式约束函数经过加权转化后,和中的不等式和等式约束函数经过加权转化后,和原目标函数结合形成新的目标函数原目标函数结合形成新的目标函数惩
27、罚函数惩罚函数121211, ,mljkjkX r rfXrG gXrH hX1211mljkjkrG gXrH hX加权转化项加权转化项11mjjrG gX障碍项障碍项21lkkrH hX惩罚项惩罚项 机械优化设计11mjjrG gX 障碍项障碍项的作用是当迭代点在可行域内时,的作用是当迭代点在可行域内时,在迭代过程中将阻止迭代点越出可行域;在迭代过程中将阻止迭代点越出可行域;21lkkrH hX惩罚项惩罚项的作用是当迭代点在非可行域或的作用是当迭代点在非可行域或不满足等式约束条件时,在迭代过程将迫使不满足等式约束条件时,在迭代过程将迫使迭代点逼近约束边界或等式约束曲面。迭代点逼近约束边界或
28、等式约束曲面。121211, ,mljkjkX r rfXrG gXrH hX 惩罚项和障碍项用约束条件构造惩罚项和障碍项用约束条件构造; ; 到达最优点时到达最优点时, ,惩罚项和障碍项的值为惩罚项和障碍项的值为0;0; 当约束不满足或未到达最优点时当约束不满足或未到达最优点时, ,惩罚项和障碍项惩罚项和障碍项的值大于的值大于0.0.构造惩罚函数的基本要求构造惩罚函数的基本要求: :机械优化设计 求解该新目标函数的无约束极小值,以期得到原问题的求解该新目标函数的无约束极小值,以期得到原问题的约束最优解。为此,按一定的法则改变加权因子约束最优解。为此,按一定的法则改变加权因子 的的值,构成一系
29、列无约束优化问题值,构成一系列无约束优化问题, ,求得一系列无约束最优解,求得一系列无约束最优解,并不断的逼近原约束优化问题的最优解。因此惩罚函数法并不断的逼近原约束优化问题的最优解。因此惩罚函数法又称为序列无约束极小化方法,常称又称为序列无约束极小化方法,常称SUMTSUMT法,即法,即( (S Sequentialequential U Unconstrainednconstrained M Minimizationinimization T Technique)echnique)。 12rr和障碍项和惩罚项必须具有以下极限性质:障碍项和惩罚项必须具有以下极限性质:0)(lim1)(1mi
30、ikkxgGr0)(lim1)(2ljjkkxhHr从而有从而有0| )(),(|lim)()(2)(1kkkkxfrrx机械优化设计2惩罚函数方法惩罚函数方法 内点惩罚函数法内点惩罚函数法 外点惩罚函数法外点惩罚函数法 混合惩罚函数法混合惩罚函数法 根据约束形式以及惩罚因子的递推方法的根据约束形式以及惩罚因子的递推方法的不同,惩罚函数方法可分为:不同,惩罚函数方法可分为:机械优化设计(1)内点惩罚函数法(内点法)内点惩罚函数法(内点法) 基本思想:基本思想:内点法将新目标函数定义于可行域内,内点法将新目标函数定义于可行域内,这样它的初始点及后面的迭代点序列必定在可行域这样它的初始点及后面的迭
31、代点序列必定在可行域内,并逐步逼近最优点。内,并逐步逼近最优点。 采用内点法只能求解具有不等式约束的优化问题。采用内点法只能求解具有不等式约束的优化问题。机械优化设计转化后的惩罚函数形式为转化后的惩罚函数形式为或或 1,lnmjjX rfXrgX11mjjgX或或 1lnmjjgX障碍项。障碍项。 对于只具有不等式约束的优化问题对于只具有不等式约束的优化问题min0(1,2,)jfXgXjm 11,mjjx rf xrgx机械优化设计r是惩罚因子,它是由大到小,且趋近于是惩罚因子,它是由大到小,且趋近于0的数列,即的数列,即01210kkrrrrr 由于内点法的迭代过程在可行域内进行,障碍项由
32、于内点法的迭代过程在可行域内进行,障碍项的作用是阻止迭代点越出可行域。由障碍项的函数的作用是阻止迭代点越出可行域。由障碍项的函数形式可知,当迭代点靠近某一约束边界时,其值趋形式可知,当迭代点靠近某一约束边界时,其值趋近近0,而障碍项的值陡然增加,并趋近于无穷大,好,而障碍项的值陡然增加,并趋近于无穷大,好像在可行域的边界上筑起了一道像在可行域的边界上筑起了一道“高墙高墙”,使迭代,使迭代点始终不能越出可行域,显然,只有当惩罚因子趋点始终不能越出可行域,显然,只有当惩罚因子趋于于0时,才能求得在约束边界上的最优解。时,才能求得在约束边界上的最优解。11mjjgX1lnmjjgX机械优化设计惩罚因
33、子的作用:惩罚因子的作用:由于内点法只能在可行域内由于内点法只能在可行域内迭代,而最优解很可能在可行域内靠边界处或迭代,而最优解很可能在可行域内靠边界处或就在边界上,此时尽管泛函的值很大,但由于就在边界上,此时尽管泛函的值很大,但由于惩罚因子是不断递减的正值,经过多次迭代,惩罚因子是不断递减的正值,经过多次迭代,接近最优解时,惩罚项已是很小的正值。接近最优解时,惩罚项已是很小的正值。机械优化设计例例: :用内点法求问题用内点法求问题 22121min. .10f xxxst g xx 约束最优解。约束最优解。解解: :用内点法求该问题,首先构造内点惩罚函数:用内点法求该问题,首先构造内点惩罚函
34、数:) 1ln(),(12221xrxxrx用解析法求函数的极小值,运用极值条件:用解析法求函数的极小值,运用极值条件:0201221111xxxrxx机械优化设计联立求得:联立求得:0)(2211)(21rxrrx2211)(1rrx当当 时不满足约束条件,应舍去时不满足约束条件,应舍去则无约束极值点为则无约束极值点为0)(2211)(21rxrrx1)(0 , 1 )(0336. 1)(0 ,156. 1 )(36. 0022. 2)(0 ,422. 1 )(2 . 14)(0 , 2)(43*3*32*2*21*1*10*0*0rxfrxrrxfrxrrxfrxrrxfrxrTTTT机械
35、优化设计机械优化设计初始点初始点 的选取的选取0X 应选择一个离约束边界较远的可行点。如太靠应选择一个离约束边界较远的可行点。如太靠近某一约束边界,构造的惩罚函数可能由于障碍项近某一约束边界,构造的惩罚函数可能由于障碍项的值很大而变得畸形,使求解无约束优化问题发生的值很大而变得畸形,使求解无约束优化问题发生困难。计算机自动生成可行初始点的常用方法是利困难。计算机自动生成可行初始点的常用方法是利用随机数生成设计点。用随机数生成设计点。惩罚因子初值惩罚因子初值 的选取的选取 0r 惩罚因子的初值应适当,否则会影响迭代计算惩罚因子的初值应适当,否则会影响迭代计算的正常进行。一般而言,太大,将增加迭代
36、次数;的正常进行。一般而言,太大,将增加迭代次数;太小,会使惩罚函数的性态变坏,甚至难以收敛到太小,会使惩罚函数的性态变坏,甚至难以收敛到极值点。无一般有效方法,对于不同问题,都要经极值点。无一般有效方法,对于不同问题,都要经过多次试算,才能决定一个适当的初值。过多次试算,才能决定一个适当的初值。机械优化设计A取取 01r ,根据计算结果再决定增加或减小,根据计算结果再决定增加或减小 0r的值。的值。 B按经验公式按经验公式00011mjjfXrgX参考方法:参考方法:机械优化设计惩罚因子的缩减系数惩罚因子的缩减系数 的选取的选取c相邻两次迭代的惩罚因子的关系为相邻两次迭代的惩罚因子的关系为1
37、(1,2,)kkrcrkc为惩罚因子的缩减系数,其为小于为惩罚因子的缩减系数,其为小于1的正的正数,通常取值范围在数,通常取值范围在 之间。之间。 0.1 0.7收敛条件收敛条件11111,kkkkkkXrrXrrXrr12kkXrXr机械优化设计内点法的计算步骤内点法的计算步骤选取可行的初始点选取可行的初始点 0X,惩罚因子的初始值,惩罚因子的初始值 0r,缩减系数,缩减系数 c以及收敛精度以及收敛精度 12、。令迭代次数。令迭代次数 0k 构造惩罚函数构造惩罚函数 ,X r,选择适当的无约束优化,选择适当的无约束优化方法,方法,求函数求函数 ,X r的无约束极值,得的无约束极值,得 kXr
38、点。点。用收敛条件判别迭代是否收敛,若满足收敛条用收敛条件判别迭代是否收敛,若满足收敛条件,迭代终止。约束最优解为件,迭代终止。约束最优解为 kXXrkfXfXr;否则令;否则令10,1kkkrcrXXrkk,转步骤,转步骤2。 机械优化设计内点法程序框图内点法程序框图机械优化设计(2)外点惩罚函数法(外点法)外点惩罚函数法(外点法)基本思想:基本思想:与内点法将惩罚函数定义于可行域内不与内点法将惩罚函数定义于可行域内不同,外点法是将惩罚函数定义于可行区域的外部。同,外点法是将惩罚函数定义于可行区域的外部。序列迭代点从可行域外部逐渐逼近约束边界上的最序列迭代点从可行域外部逐渐逼近约束边界上的最
39、优点。优点。 外点法可以用来求解含外点法可以用来求解含不等式和等式约束不等式和等式约束的优的优化问题。化问题。机械优化设计 对于约束优化问题对于约束优化问题min0(1,2,)0(1,2,)jkfXgXjmhXkl转化后的外点惩罚函数的形式为转化后的外点惩罚函数的形式为2211,max 0,mljkjkX rfXrgXrhX式中:式中: r惩罚因子,它是由小到大,且趋近于惩罚因子,它是由小到大,且趋近于 外点法的迭代过程在可行域之外进行,惩罚项的作用是外点法的迭代过程在可行域之外进行,惩罚项的作用是迫使迭代点逼近约束边界或等式约束曲面。由惩罚项的形迫使迭代点逼近约束边界或等式约束曲面。由惩罚项
40、的形式可知,当迭代点不可行时,惩罚项的值大于式可知,当迭代点不可行时,惩罚项的值大于0 0。递增系数递增系数c的选取可按经验公式选取(参见教材)的选取可按经验公式选取(参见教材)机械优化设计例例: : 用外点法求解下列有约束优化问题用外点法求解下列有约束优化问题0)(01)(.) 1(31)(min2211231xxgxxgtsxxxf解解: : 惩罚函数为:惩罚函数为:)0)(, 0)()()1 () 1(31), 0max()1 , 0max() 1(31),(2122212312221231xgxgxrxrxxxrxrxxrx机械优化设计用解析法求函数的极小值,运用极值条件:用解析法求函
41、数的极小值,运用极值条件:0)(210)1 (2) 1(21111xrxxrxx注意:应舍去在注意:应舍去在可行域可行域的点。的点。则无约束极值点为则无约束极值点为rrxrrrrx/5 . 0)(41)(21机械优化设计当惩罚因子渐增时,由下表可看出收敛情况。当惩罚因子渐增时,由下表可看出收敛情况。机械优化设计外点法的特点:外点法的特点: 1 1初始点可以任选,但应使各函数有定义;初始点可以任选,但应使各函数有定义;2 2对等式对等式约束和不等式约束均可适用;约束和不等式约束均可适用;3 3仅最优解为可行设计方案;仅最优解为可行设计方案; 4 4一般收敛较快;一般收敛较快; 5 5初始罚因子要
42、选择得当;初始罚因子要选择得当; 6 6惩罚惩罚因子为递增,递增率因子为递增,递增率c c有有c1 c1 。内点法的特点:内点法的特点: 1 1初始点必须为严格内点;初始点必须为严格内点;2 2不适于具有等式约束的数不适于具有等式约束的数学模型;学模型;3 3迭代过程中各个点均为可行设计方案;迭代过程中各个点均为可行设计方案;4 4一一般收敛较慢;般收敛较慢;5 5初始罚因子要选择得当;初始罚因子要选择得当;6 6罚因子为递罚因子为递减,递减率减,递减率c c有有0c10c1。机械优化设计(3)混合惩罚函数法)混合惩罚函数法对于约束优化问题对于约束优化问题min0(1,2,)0(1,2,)jkfXgXjmhXkl转化后的混合惩罚函数的形式为:转化后的混合惩罚函数的形式为:21111,mlkjkjX rfXrhXgXr11mjjrgX障碍项,惩罚因子按内点法选取障碍项,惩罚因子按内点法选取。 211lkkhXr惩罚项,惩罚因子为惩罚项,惩罚因子为 1r