优化设计3-惩罚函数法教学课件_第1页
优化设计3-惩罚函数法教学课件_第2页
优化设计3-惩罚函数法教学课件_第3页
优化设计3-惩罚函数法教学课件_第4页
优化设计3-惩罚函数法教学课件_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7/23/202313.5.1复合形法

7/23/20232

复合形法的优化过程:1)在可行域内选定K个点,构成以这K个点为顶点的不规则多面体作为初始复合形。一般n+1≤K≤2n,当维数n较小时取较大的K(如K=2n);当n较大时,取较小的K。2)然后比较复合形各顶点的函数值,找出最坏点X(b),和除X(b)之外的其它各点的点集中心X(c)。3)从X(b)出发通过X(c)作一射线,在此射线上找到一个既满足约束条件,函数值又有改善的新顶点——反射点X(r)。再舍弃最坏点X(b),代之以反射点X(r),构成新复合形。如此反复进行,直至得到最优点为止。7/23/20233

复合形法的特点:原理简单、方法直观、不需要计算导数。也不需要一维搜索,复合形不要求为规则图形,灵活可变。适宜处理不等式约束问题且能防止顶点退化。在求解过程中涉及的可行域较广,故结果可靠。但复合形法不适宜应用于中、高维问题,原因是维数若太高,计算量急增,收敛很慢。

7/23/202342、复合形法计算步骤(1)输入各常量,如设计变量个数n,收敛精度ε1、ε2,初始反射系数α,设计变量的上下界值bj和aj,j=1,2,…,n。(2)产生初始复合形,其各顶点要在可行域内,且满足约束条件。即第一个顶点产生方法不限,其余k-1个顶点可按随机法产生(设复合形有k个顶点)。

xi(0)=a+qi(b-a)

i=1,2,…,k。k为顶点号;qk

为(0,1)区间内的伪随机数,一般可查表或由电子计算机提供,亦可自编程产生。7/23/20235(3)计算各顶点的目标函数值,找出最坏点X(H)、次坏点X(G)、最好点X(L),即

X(H):f(X(H)

)=max{f(X(i)),i=1,2,…,k}X(G):f(X(G))=max{f(X(i)),i=1,2,…,k,k≠H}X(L):f(X(L))=min{f(X(i)),i=1,2,…,k}(4)计算除最坏点X(H)之外的k-1个顶点的中心点X(C)

,即X(C)=[1/(k-1)]∑X(i)(i=1,2,…,k,k≠H)

7/23/20236

检验中心X(c),若X(c)在可行域内,则继续执行步骤(5);若X(c)不在可行域内,此时可行域为非凸集,如图所示,此时转步骤(2),直至X(c)成为可行点为止。7/23/20237(5)在最坏点X(H)和中心点X(c)的连线方向上取反射点X(R),即X(R)

=X(c)

+α(X(c)

–X(H)

)式中反射系数α的初值一般取为α=1.3。

求出反射点X(R)后,对该点进行可行性检查,若X(R)越出了可行域,如图所示,则将反射系数α减半,使X(R)点退回可行域,得到新的X(R)点。若新反射点X(r)仍未退回可行域,继续将α减半,如此反复,直至X(R)为可行点为止。7/23/20238(6)计算反射点的函数值f(X(R)),并与最坏点X(H)比较。若f(X(R))<f(X(H)),则用反射点X(R)代替最坏点X(H),构成新的复合形,转步骤(7)。若f(X(R))≥f(X(H)),则将反射系数α减半,转(5),重新计算反射点。若直到反射系数α小于一个预先给定的很小正数时,反射点的函数值仍大于最坏点函数值,则说明该反射方向不好,此时改用次坏点X(G)代替最坏点X(H),即X(H)=X(G),换一个反射方向,转(4)。7/23/20239

(7)终止判别:反复执行上述过程中,随着反射系数α的不断减半,复合形逐渐向最优点收缩,复合形越来越小,直到满足

时,迭代结束。此时复合形中目标函数值最小的顶点(或用X(C0)点)即为最优解。式中XC为复合形所有顶点的点集中心,即若复合形不满足(a)式,则应转向(3),开始下一次迭代。7/23/2023107/23/2023117/23/2023127/23/2023137/23/2023147/23/202315原理:从可行域内的一个可行点出发,选择一个可行的搜索方向和步长,使产生的下一个相对较优的迭代点,既不超出可行域又使目标函数值有所下降。最佳可行下降方向:最优搜索步长:可行方向法:7/23/2023163.5.2拉格朗日乘子法对于等式约束问题

minf(X)=f(x1,x2,…,xn)s.t.hj

(X)=0,j=1,2,…,p

由数学基础知识可知,可以将其转化为求拉格朗日函数无约束的极值问题。引入拉格朗日函数

L(X,λ)=f(X)+∑λjhj(X)(j=1,2,…,p)式中λj

为拉格朗日乘子,则问题的极值条件为7/23/202317共有n+p个方程,可解出x1*,x2*,…,xn*和λ1*,λ2*,…,λn*共n+p个未知量,则有若X*及λ*是L(X*,λ*)的极小点,则X*必为f(X)的极小点。为了便于在计算机上利用直接寻优方法进行迭代计算,一般引入函数然后对Z函数求极小值,即可求得原问题的最优解。7/23/202318对于不等式约束优化问题,可设法引入松弛变量,使不等式变成等式,即可按等式约束优化问题求解。例如:对于下面不等式约束条件

g(X)=ax1+bx2+c≥0引入松弛变量x3,并为保证引入项为正值,均用松弛变量的平方,即有

g/(X)=ax1+bx2+c-x32=07/23/2023197/23/20232037/23/2023213.5.3惩罚函数法不等式约束的优化问题也转化为无约束优化问题,这种转化必须满足一定的条件:1、不能破坏约束问题的约束条件;2、使它归结到原约束问题的同一最优解上。惩罚函数法将有约束优化问题中的各约束函数gi(X)和hj(X),以一定的形式附加到原目标函数f(X)上去,构造一个新的目标函数,称为惩罚函数,其一般形式为7/23/202322于是,问题归结为在设计空间Rn中(而不是在可行域D内)求函数P的无约束极小,即

minP(X,r1(k),r2(k)),X∈RnG[gi(X)]和H[hj(X)]分别是人为构造的gi(X)和hj(X)的泛函;r1(k)和r2(k)是人为构造的罚参数或罚因子,定义为正实数。它们随迭代次数k的增加,不断进行调整,每一次调整,对惩罚函数P做一次无约束优化,得到一个无约束最优解。随着罚因子的不断调整,无约束最优解不断逼近有约束最优解。7/23/202323罚函数的求解过程是:定义G[gi(X)]和H[hj(X)]的形式,选择罚因子的序列r1(k)和r2(k),每调整一次罚因子的值,即对罚函数P作一次无约束优化,可得一个无约束最优解;随着罚因子的不断调整,无约束最优解不断逼近有约束最优解。这是一种序列求优过程,故罚函数又称为“序列无约束极小化方法”(SequentialUnconstrainedMinizationTechnique),简称为SUMT法。7/23/202324为使罚函数P(X,r1(k),r2(k))的极小点序列X*(r1(k),r2(k))(k=1,2,…,)收敛到目标函数f(X)的约束最优解,上式中的惩罚项必须具有以下极限性质:从而有根据约束形式,定义的泛函及罚因子调整方法的不同,罚函数又分为外点法、内点法和混合函数法三种。7/23/2023251、内点法

内点法是求解不等式约束优化的有效方法。内点法要求迭代过程总是在可行域内进行,即所有迭代点都是可行的。特别地,初始点必须是可行点。为了在可行域内求f(X)的极小值,内点法在可行域的边界上设置了一道无法逾越的“高墙”,不让迭代点X跑出可行域。当迭代点X接近边界时,函数值陡然增大起来,对边界上的点干脆施加无穷大的惩罚,把迭代点封闭在可行域内。因此,内点法也称为“围墙”函数或“障碍”函数法。7/23/202326内点法是改造原目标函数f(X),使其在边界附近尽量抬高,离边界越近,抬得越高。不难想到,构造如下的罚函数可以实现上述想法:式中右端第二项为内点法惩罚项,当迭代点X从可行域内部接近某个约束gi(X)≤0的界面gi(X)=0时,-1/gi(X)就趋于无穷大,它像绝壁一样阻止迭代点越出边界。7/23/202327除上式外,常用的内点罚函数形式还有:

等等,只要它具有在可行域内离边界稍远处其惩罚项函数极小,而一旦迭代点趋近边界时,函数值陡然增大这一特点即可。

7/23/202328上式中,r(k)是一个递减的正数序列,开始较大,逐渐减小,即r(1)>r(2)>…>r(k)>r(k+1)>…→0相应于罚因子r(1)、r(2)、…所得到的一系列无约束极值问题的极小点序列{X(r(k))}的极限点(k趋于无穷大),就是原约束问题的最优点X*。为什么内点法要使罚因子逐渐减小呢?因为随着r(k)的逐渐减小,相当于罚函数P(X,r(k))中的惩罚项的作用越来越小,那么函数P(X,r(k))的最优点X*(r(k))也就是可能从可行域内部越来越靠近其边界(因通常最优点X*总是在可行域的边界上)。因此,内点法中,随着r(k)的减小逐渐把最优点序列{X*(r(k))}引向原问题的最优点X*,这样就将原约束优化问题转化为序列无约束优化问题。7/23/202329内点法算法步骤:(1)在可行域内找到一个初始内点X(0),要求该点满足各约束条件。(给定初始罚因子r(0)>0,罚因子递减系数C(0<C<1),通常取C=0.1~0.02),判别收敛的正数ε,置K=0。(2)

构造内点罚函数P(X*,r(k)),用任一种无约束极小化方法极小化P(X,r(k)),求出X*(r(k))。(3)

判别收敛与否,即判别X*(r(k))是否为原问题的最优解,若是则迭代结束;否则转下一步。(4)求下一个罚因子r(k+1)的值:r(k+1)=C·r(k),以X(0)=X*(r(k))作为新的初始点,置K=K+1,转(2)。7/23/202330内点法罚函数常用的收敛判别准则:(1)

点收敛准则:‖X(k+1)-X(k)‖≤ε(2)

目标函数准则(绝对差):

∣f(X(k+1))-

f(X(k))∣≤ε(3)

目标函数准则(相对差):

|[f(X(k+1))–f(X(k))]/f(X(k))|≤ε(4)

惩罚项准则:

r(k)G[gi(X)]≤ε7/23/2023317/23/202332例3-7约束优化问题采用内点法求解如下。构造泛函及罚函数7/23/202333为了便于说明迭代过程,下面用解析法来求极值。取初始罚因子,罚因子的递减率c=0.17/23/2023342.计算步骤(1)在可行域内任选一严格初始内点X(0),最好不要靠近约束边界;选一适当大的初始罚因子r(0)和罚因子递减率0<c<1,求罚函数P(X,r(0))的无约束极值点X*(0);(2)递减罚因子r(1)=cr(0),以X*(0)为初始点,求罚函数P(X,r(1))的无约束极值点X*(1);(3)按r(k)=cr(k+1),k=1,2,…,逐次递减罚因子,并依次取上一次迭代的极值点X*(k-1)作为本次迭代的初始点,重复上述步骤,直至满足收敛精度,即得最优解X*和最优值F(X*)。7/23/2023357/23/2023367/23/2023372、外点法外点法是从可行域的外部构造一个点列去逼近原约束问题的最优解。1)外点罚函数的构造为

或写成G[gi(X)]={max[0gi(X)]}2若迭代点在可行域内,因有gi(X)≤0,故G[gi(X)]=0,此时不受罚;若gi(X)>0,则说明迭代点在可行域外,此时G[gi(X)]=[gi(X)]2,惩罚项不为零,且罚因子r1(k)越大,惩罚越重。同理取H[hj(X)]=[hj(X)]27/23/202338对有约束问题外点法罚函数的一般表达式可写为容易看出,上式中的惩罚项(后两项)总是正罚数。当X满足约束时,不管罚因子r1(k)和r2(k)取值多大,后两项都是零,不惩罚;当X不满足约束时,罚因子取值越大,后两项值就越大,对违约的惩罚越大。

求解无约束函数P(X,r1(k),r2(k)),X(0)距离最优点X*越远,求解越难;r1(k),r2(k)越大(约束越严),求解越难。

若X(0)距离X*太远,且r1(k)、r2(k)很大,甚至可能无法求解。7/23/202339因此,只有在初始点逐渐接近最优点后,才可能将r1(k)、r2(k)逐步加大。在迭代中罚因子r1(k)和r2(k)都被取为一个递增正数列,即0<r(0)<r(1)<…<r(k)<r(k+1)<…使之不断加强惩罚项的作用,只有在罚函数极为简单的特殊情况下,才可以在一开始就选择一个充分大的初始值r(0)。确定无约束目标函数P(X,r1(k),r2(k))的最优解序列X*(0),X*(1),…,X*(k),X*(k+1),…直到X*,即收敛到原有约束问题的最优点X*。7/23/2023402)外点法的算法步骤:(1)

任选一个初始点X(0)在可行域外部或内部均可,给定收敛精度ε1,ε2,选择初始罚因子r(0)>0(一般取为r1=r2=r),并确定递增系数C。例如可取r(0)=1,C=5~10。(2)用无约束极小化方法求罚函数P的极小值X*(X(k)),即(3)检验迭代终止准则若满足‖X*(r(k))-X*(r(K-1))‖≤ε1或∣P(X*(r(k))-X*(r(K-1)))|/|P[X*(r(K-1))]∣≤ε2则停止迭代;否则转(4)。7/23/202341除上述两个收敛准则外,也可以当M≤ε=10-3~10-4时,其中M=max{gi[X*(r(k))]},i=1,2,…,m,则认为X*(r(k))点已非常接近约束边界,即X*(r(k))点处违反约束的最大值。(4)

令r(k+1)=C•r(k)X(0)=X*(r(k)),k=k+1转向步骤(2)。7/23/2023427/23/2023437/23/2023447/23/2023457/23/202346内点法和外点法各自具有以下的特点:外点法的初始点可任意选取,故可用于约束较多,初始点不易确定的问题;而内点法的初始点必须在域内,故适合对现有的可行设计作改进。内点法只能用于不等式约束,因为有等式约束后,可行域不存在内点,而只有边界点;外点法则不受此限制,对等式、不等式约束均实用。(3)

内点法迭代过程在可行域内,每一个中间结果都是一个较初始点为优的可行方案,这就给设计者提供了选择的机会;而外点法仅最优解是可行方案,因此必须迭代到最后才会得到一个唯一的可行解。7/23/2023477/23/2023487/23/202349内、外点法的比较

罚因子为递增,递增率c’>1罚因子为递减,递减率0<c<16初始罚因子数值要适当初始罚因子数值要适当5一般收敛较快一般收敛较慢4仅最优解为可行设计方案,仅一个方案迭代过程中,各个优化点均可作为可行设计方案,有多个方案3对等式约束和不等式约束均适用不适于等式约束2可以任选,但应使各函数有定义初始点必须为严格内点1外点法内点法项目7/23/2023503、混合惩罚函数由于外点法和内点法各有优缺点,将两种方法综合起来的混合罚函数法可以取长补短。混合罚函数法对等式约束和初始点X(0)不满足的不等式约束,采用外点法的惩罚项处理;而对初始点X(0)所满足的不等式则采用内点法的惩罚项处理,混合法罚函数为式中I1为所有被满足的约束条件的下标集合;I2为所有不被满足的约束条件的下标集合,即7/23/202351

I1={i∣gi(X(0))<0,1≤i≤m}I2={i∣gi(X(0))≥0,1≤i≤m}X(0)为初始点或迭代中得到的新点;r是一个递减的正值序列,即内点罚因子,而1/r则表示外点罚因子。由上可知,可根据任取的初始点X(0)是否满足不等式约束gi(X)≤0,i=1,2,…,m,划分为约束集合I1和I2。属于I1的标号集,用内点法处理;属于I2的不等式约束以及等式约束hj(X)=0,j=1,2,…,p,用外点法处理。混合惩罚函数可同时处理具有等式约束和不等式约束的优化问题,对初始点的选择也无特殊要求。7/23/202352线性规划7/23/2023533.6机械最优化设计时的注意事项3.6.1设计变量的选择3.6.2目标函数的建立3.6.3约束条件的确定3.6.4数学模型的尺度变换3.6.5优化方法的选择3.6.6计算结果的分析与处理3.6.7混合变量的优化问题3.6.8灵敏度分析3.6.9多目标函数的优化方法7/23/2023541、设计变量:在一个优化设计问题中,设计变量太多,将使问题变得十分复杂,而设计变量太少,则设计的自由度少,不能求得最优化的结果。因此,应根据具体设计问题综合考虑这两个方面,有选择地选取设计变量。对设计质量确有显著影响且能直接控制的独立参数作为设计变量,其它参数则作常量处理。

2、目标函数:是以设计变量来表示设计所要追求的某种性能指标的解析表达式。通常,设计所要追求的性能指标较多,显然应以其中最重要的指标作为设计追求的目标,建立目标函数。当设计所要追求的目标不止一个时,可以取其中最主要的作为目标函数,其余的作为设计约束;也可以有多个目标函数,采用多目标函数的最优化方法求解。原则上应尽量控制目标函数的数目使同时追求的目标少一些。3、约束条件:要从设计要求出发,对那些必要的而且能用设计变量表示为约束函数的限制,都可以确定为约束条件。不必要的限制,不仅是多余的,而且使设计可行域缩小,限制了设计的自由度而影响最优化结果。7/23/2023554、尺度化尺度化:一组数量值之间,通过变换,使之具有相同或相差不大的数量级。尺度化作用:有利于问题的求解计算(使变量或约束由相近的敏感度)。1)设计变量的尺度化a.线性变换,X=DYb.改变物理单位2)约束函数尺度化7/23/2023563.6.8灵敏度分析研究起作用约束的某些变化对最优解(包括设计变量及目标函数)的影响,或确定最优值随约束函数中常数项的某些变动而变动的变化率,就称为优化设计结果的灵敏度分析。若用λi表示某项变化的灵敏度,则

λi=△Fi/△gi

7/23/202357对实际设计来说,总希望尽可能地缩小实际与理论计算之间的差距,希望避免因其作用约束的某些变动而引起对设计结果的较大影响,以至使这项设计不能使用,这就要求灵敏度越低越好。灵敏度反映了最优化设计方案的鲁棒性,是鲁棒性设计的主要内容之一。7/23/2023583.6.9多目标函数的优化方法

在实际工程设计问题中,常常期望同时有几项设计指标都达到最优值,这就是所谓的“多目标函数的优化问题”。对同一设计,同时具有两个或两个以上优化性能指标的均属多目标函数的优化问题,其数学模型的一般表达式为:求解X=[x1,x2,…,xn]T∈Rnminf1(X)minf2(X)┇minfq(X)s.t.gi(X)≤0,i=1,2,…,mhj(X)=0,j=1,2,…,p7/23/202359

在上述多目标函数的优化问题中,各个目标函数f1(X),f2(X),…,fq(X)的优化往往是相互矛盾的,不能期望它们的极小点重复在一起,即不能同时达到最优解;甚至有时还会产生对立的情况,即对一个目标函数是最优点,对另一个目标函数却是差点。这需要在各个目标函数的最优解之间进行协调,相互之间作出适当“让步”,以便取得整体最优的方案。而不能像单目标函数的优化那样,通过简单比较函数值大小的方法去寻优。多目标函数的优化问题要比单目标函数的优化问题复杂的多。而多目标函数的优化方法虽然很多,但真正有效的方法并不多。7/23/2023601主要目标法

考虑到在多目标函数优化问题中各目标的重要程度不一样,在优化问题中显然首先考虑主要目标,同时兼顾次要目标。主要目标法就是以此思想作为指导,首先将多目标函数优化问题中的全部目标函数,按其重要程度排列,最重要的排在最前面,然后依次求各个(单)目标函数的约束最优值,这时其它目标函数则根据初步设计的考虑给予适当的最优值的估计值(在求得实际最优值后应以实际最优值进行替换),作为辅助约束处理。这样就将多目标函数的约束优化问题,转化成一些单目标函数的约束优化问题,寻求整个设计可以接受的相对最优解。7/23/202361

对数学模型中的q个分目标选出一个最重要的作为主要目标,例如选f1(X),同时对其它q-1个分目标fj(X)(j≠1),给出上下界值:αj≤fj(X)≤βj,j≠1即限定这些分目标在一定范围内取值,把这些目标降为约束条件。于是,问题转化为下列单目标优化问题:minf1(X)s.t.gi(X)≤0,i=1,2,…,mfj(X)-βj≤0αj-fj(X)≤0,j=2,3,…,q在实际工程的优化设计中,总可以根据基本要求,对各项设计指标(目标)作出正确的估计和判断,并按其重要性进行排列,因此本法在实际使用中并不困难。7/23/2023622统一目标法

统一目标法的实质就是将优化模型中的各个目标函数(或称分目标函数)f1(X),f2(X),…,fq(X)统一到一个总的“统一目标函数”f(X)中,即令:

f(X)=f{f1(X),f2(X),…,fq(X)}使原优化问题转化为求解

minf(X),x∈Rns.t.gi(X)≤0,i=1,2,…,mhj(X)=0,j=1,2,…,p的形式,把多目标函数的优化问题转化为单目标函数的优化问题来求解。

7/23/202363在极小化“统一目标函数”f(X)的过程中,为了使各个目标函数能均匀一致地趋向各自的最优值,可采用以下的一些方法:(1)加权组合法

又称为线性组合法或加权因子法,即在将各个分目标函数组合为总的“统一目标函数”的过程中,引入加权因子,以考虑各个分目标函数在相对重要程度上的差异及在量级和量纲上的差异。为此,f(X)写为:

f(X)=∑ωjfj(X)(j=1,2,…,q)式中ωj——第j项分目标函数fj(X)的加权因子,是一个大于零的数,其值决定于各项目标的数量级及重要程度。加权组合法的关键是加权因子的选择。7/23/202364(2)目标规划法先分别求出各个分目标函数的最优值fj(X*),然后根据多目标函数优化设计的总体要求,作适当调整,制定出思想的最优值fj(0)。则统一目标函数可按如下方法来构成:这意味着当各项分目标函数分别达到各自的理想最优值fj(0)时,统一目标函数f(X)为最小。此法的关键在于选择恰当的fj(0)(j=1,2,…,q)值。7/23/202365(3)分目标乘除法如果能将多目标函数优化问题中的全部q个目标分为:目标函数法愈小愈好的所谓费用类(如材料、工时、成本、重量等)和目标函数值愈大愈好的所谓效益类(如产量、产值、利润、效益等),且前者有s项,后者有(q-s)项,则统一目标函数可取为:

显然,使f(X)min可得最优解。7/23

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论