第五章约束优化方法.ppt
《第五章约束优化方法.ppt》由会员分享,可在线阅读,更多相关《第五章约束优化方法.ppt(81页珍藏版)》请在三一办公上搜索。
1、第五章 约束优化方法,2023/9/26,1,2)约束随机方向法;,3)复合形法;,5)罚函数法;,约束优化直接解法,约束优化间接解法,(1)内点罚函数法;,(2)外点罚函数法;,1)约束坐标轮换法;,4)可行方向法;(自学),第五章 约束优化方法,根据求解方式的不同,可分为直接解法和间接解法两类。,机械优化设计的问题,大多属于约束优化设计问题,其数学模型为:,直接解法是将迭代点限制在可行域内(可行性),步步降低目标函数值(下降性),直至到达最优点,求出问题的约束最优解。,间接解法是将约束优化问题转化为一系列无约束优化问题来解的一种方法。,常用方法有:约束坐标轮换法,约束随机方向法,复合形法,
2、可行方向法,线性逼近法等.,常用方法有:罚函数法,拉格朗日乘子法等.,第五章 约束优化方法,直接解法是在满足不等式约束的可行设计区域内直接求出问题的约束最优解。,属于直接解法的有:随机实验法、随机方向搜索法、复合形法、可行方向法等。,间接解法是将约束优化问题转化为一系列无约束优化问题来解的一种方法。,由于间接解法可以选用已研究比较成熟的无约束优化方法,并且容易处理同时具有不等式约束和等式约束的问题。因而在机械优化设计得到广泛的应用。,间接解法中具有代表性的是惩罚函数法。,直接解法的基本思想:,在由m个不等式约束条件gu(x)0所确定的可行域内,选择一个初始点x(0),然后确定一个可行搜索方向S
3、,且以适当的步长沿S方向进行搜索,取得一个目标函数有所改善的可行的新点x(1),即完成了一次迭代。以新点为起始点重复上述搜索过程,每次均按如下的基本迭代格式进行计算:,x(k+1)x(k)+(k)S(k)(k=0,1,2,)逐步趋向最优解,直到满足终止准则才停止迭代。,直接解法的原理简单,方法实用,其特点是:,1)由于整个过程在可行域内进行,因此,迭代计算不论何时终止,都可以获得比初始点好的设计点。,2)若目标函数为凸函数,可行域为凸集,则可获得全域最优解,否则,可能存在多个局部最优解,当选择的初始点不同,而搜索到不同的局部最优解。,3)要求可行域有界的非空集。,直接解法的特点:,a)可行域是
4、凸集;b)可行域是非凸集,间接解法的基本思路:,将约束函数进行特殊的加权处理后,和目标函数结合起来,构成一个新的目标函数,即将原约束优化问题转化为一个或一系列的无约束优化问题。,新目标函数,加权因子,然后对新目标函数进行无约束极小化计算。,间接解法的基本思路,2023/9/26,9,第二节 约束坐标轮换法,一.基本思路,可取定步长、加速步长和收缩步长,但不能取最优步长;,1.依次沿各坐标轴方向-e1,e2,en方向搜索;,2.将迭代点限制在可行域内.,对每一迭代点均需进行可行性和下降性检查.,2023/9/26,10,二.迭代步骤,2023/9/26,11,三.存在问题,有时会出现死点,导致输
5、出“伪最优点”.,*为辨别真伪,要用K-T条件进行检查.,3.1 随机方向法的基本思路,1、在可行域内选择一个初始点;2、利用随机数的概率特性,产生若干个随机方向;3、从中选一个能使目标函数值下降最快的方向作为搜索方向d;,4、从初始点x0出发,沿d 方向以一定步长进行搜索,得到新点X,新点X应满足约束条件且f(x)f(x0),至此完成一次迭代。,基本思路如图所示。,随机方向法程序设计简单,搜索速度快,是解决小型机械优化问题的十分有效的算法。,第三节 约束随机方向法,坐标轮换法有时会输出“伪最优点”,用随机方向法可克服这一缺点.,随机方向法的基本思路,3.2 随机方向的构成,1.用RND(X)
6、产生n个随机数,2.将(0,1)中的随机数 变换到(-1,1)中去(归一化);,3.构成随机方向,变换得:,于是,第二节 约束随机方向法,从k个随机方向中,选取一个较好的方向。,3.3 可行搜索方向的产生,第二节 约束随机方向法,1.检验k个随机点是否为可行点,除去非可行点,计算余下的可行点的目标函数值,比较其大小,选出目标函数最小的点XL。,2.比较XL 和X0两点的目标函数值,若f(XL)f(X0),则步长0 缩小,转步骤1)重新计算,直至f(XL)f(X0)为止。如果0 缩小到很小,仍然找不到一个XL,使f(XL)f(X0)则说明X0是一个局部极小点,此时可更换初始点,转步骤1)。,产生
7、可行搜索方向的条件为:,则可行搜索方向为:,3.3 可行搜索方向的产生,第二节 约束随机方向法,3.4 初始点的选择,随机方向法的初始点x0必须是一个可行点,既满足全部不等式约束条件。,初始点可以通过随机选择的方法产生。,1)输入设计变量的下限值和上限值,即,2)在区间(0,1)内产生 n 个伪随机数,3)计算随机点x的各分量,第二节 约束随机方向法,4)判别随机点x是否可行,若随机点可行,用x代替x0为初始点;若非可行点,转到步骤 2)重新产生随机点,只到可行为止。,3.5.迭代过程,在初始点处产生一随机方向,若该方向适用、可行,则以定步长前进;若该方向不适用、可行,则产生另一方向;若在某处
8、产生的方向足够多(50-100),仍无一适用、可行,则采用收缩步长;若步长小于预先给定的误差限则终止迭代。,第二节 约束随机方向法,3.6.流程图,X0=X,F0=F,是,j=0,否,是,是,function x1,fx1,gx=opt_random2(f,g_cons,xl,xu,TolX,TolFun)N=length(xl);M=size(g_cons);M=length(M(:,1);gx=ones(M,1);while max(gx)=0 dir0=rand(N,1);x0=xl+dir0.*xu;gx=feval(g_cons,x0);%feval()执行由串指定的函数end%=f
9、x0=feval(f,x0);xk=x0+1;fxk=feval(f,xk);xmin=x0;alpha=1.3;k1=0;flag1=1;while norm(xk-x0)TolX|abs(fxk-fx0)TolFunk1=k1+1;x0=xmin;fx0=feval(f,x0);,3.7 随机方向法的Matlab程序,dir0=rand(N,1)*2-1;dir0=dir0/norm(dir0);xk=x0+alpha*dir0;gx=feval(g_cons,xk);if max(gx)0 alpha=alpha*0.7;elsefxk=feval(f,xk);if fxkfx0if n
10、orm(xk-x0)TolX&abs(fxk-fx0)TolFunbreakelse,xmin=xk;alpha=1.3;endx0,xk,fx0,fxkelsealpha=-alpha;end endendx1=x0;fx1=feval(f,x1);gx=feval(g_cons,x1);k1end,例:求,3.7 随机方向法的Matlab程序,function opt_random1_test1%opt_random1_test1.mclc;clear all;f=inline(x(1)2+x(2),x);xl=-3-3;xu=3 3;TolX=1e-8;TolFun=1e-8;x1,fx
11、1,g=opt_random1(f,fun_cons,xl,xu,TolX,TolFun)function g=fun_cons(x)g=x(1)2+x(2)2-9 x(1)+x(2)-1;,计算结果:x1=-0.0076-3.0000,f=-2.9999,g=-0.0000-4.0076,第四节 复合形法,复合形法是求解约束优化问题的一种重要的直接解法。,基本思路:1、在可行域内构造一个具有k个顶点的初始复合形;2、对该复合形各顶点的目标函数值进行比较,找到目标函数最大的顶点(最坏点);3、然后按一定的法则求出目标函数值有所下降的可行的新点,并用此点代替最坏点,构成新的复合形,复合形的形状每
12、改变一次,就向最优点移动一步,直至逼近最优点。,由于复合形的形状不必保持规则的图形,对目标函数和约束函数无特殊要求,因此这种方法适应性强,在机械优化设计中应用广泛。,4.1 基本思路 在可行域内选取若干初始点并以之为顶点构成一个多面体(复合形),然后比较各顶点的函数值,去掉最坏点,代之以好的新点,并构成新的复合形,以逼近最优点.,第四节 复合形法,4.2 初始复合形生成的方法:,(1)由设计者决定k个可行点,构成初始复合形。设计变量少时适用。,(2)由设计者选定一个可行点,其余的k-1个可形点用随机法产生。,(3)由计算机自动生成初始复合形的所有顶点。,第四节 复合形法,*初始复合形的构成*复
13、合形的移动和收缩,4.2.1 初始复合形的构成,(1)复合形顶点数K的选择,建议:,小取大值,大取小值,(2)初始复合形顶点的确定,用试凑方法产生-适于低维情况;,用随机方法产生,4.2 初始复合形生成的方法:,第四节 复合形法,将非可行点调入可行域内,K个顶点中要求无一在可行域内。重新产生。,K个顶点中有可行点,重新排列,将可行点依次排在前面,如有q个顶点X(1)、X(2)、X(q)是可行点,其它K-q个为非可行点。对X(q+1),将其调入可行域的步骤是:,先用随机函数产生 个随机数,然后变换到预定的区间 中去.,用随机方法产生K个顶点,(1)计算q个点集的中心X(s);,(2)将第q+1点
14、朝着点X(s)的方向移动,按下式产生新的X(q+1),即,若仍不可行,则重复此步骤,直至进入可行域为止。,按照这个方法,同样使X(q+2)、X(q+3)、X(K)都变为可行点,这K个点就构成了初始复合形。,有两种基本运算:,1)映射-在坏点的对侧试探新点:先计算除最坏点外各顶点的几何中心,然后再作映射计算.,2)收缩-保证映射点的“可行”与“下降”,X1为最坏点,-映射系数常取,若发现映射点不适用、可行,则将 减半后重新映射.,4.3 复合形法的搜索方法,4.4 复合形法的迭代步骤,(1)构造初始复合形;,(2)计算各顶点的函数值F(X(j),j=1,2,.,K。选出好点X(L)和坏点X(H)
15、;,(3)计算坏点外的其余各顶点的中心点X(0)。,(4)计算映射点X(R),检查X(R)是否在可行域内。若X(R)为非可行点,将映射系数减半后再按上式改变映射点,直到X(R)进入可行域内为止。,(5)构造新的复合形 计算映射点的函数值F(X(R),并与坏点的函数值F(X(H)比较,可能存在两种情况:1)映射点优于坏点 F(X(R)F(X(H)在此情况,用X(R)代替X(H),构成新的复合形。,若经过多次的映射系数减半,仍不能使映射点由于坏点,则说明该映射方向不利,此时,应改变映射方向,取对次坏点,的映射。,再转回本步骤的开始处,直到构成新的复合形。,2)映射点次于坏点 F(X(R)F(X(H
16、)这种情况由于映射点过远引起的,减半映射系数,若有F(X(R)F(X(H),这又转化为第一种情况。,4.5 判断终止条件1)各顶点与好点函数值之差的均方根值小于误差限,即,2)各顶点与好点的函数值之差的平方和小于误差限,即,3)各顶点与好点函数值差的绝对值之和小于误差限,即,如果不满足终止迭代条件,则返回步骤2继续进行下一次迭代;否则,可将最后复合形的好点X(L)及其函数值F(X(L)作为最优解输出。,4.6 流程图,是,否,是,是,是,否,否,否,4.7 复合形法的Matlab程序,程序清单,function xo,fo,go=opt_complex(f,g_cons,x0,xl,xu,To
17、lX,TolFun,MaxIter)N=length(x0);M=size(g_cons);M=length(M(:,1);k1=0;k=N+1;%单纯形顶点个数gx=ones(M,1);while max(gx)0 x0=xl+rand(N,1).*xu;gx=feval(g_cons,x0);end,x1,fx=gen_complex(x0,k,f,g_cons);flag1=1;flag2=1;flag3=1;k1=0fxx1fprintf(此处暂停,请按下任意键继续n)pausewhile k1MaxIterflag1=1;flag2=1;flag3=1;k1=k1+1fx,I=sor
18、t(fx);for i=1:kx2(:,i)=x1(:,I(i);endx1=x2;fmax1=fx(k);imax1=I(k);fmin=fx(1);imin=I(1);fmax2=fx(k-1);imax2=I(k-1);%计算形心xc=zeros(N,1);for i=1:kxc=xc+x1(:,i);end,xc=xc-x1(:,imax1);xc=xc/(k-1);gxc=feval(g_cons,xc);alpha=1.31;%反射xr=xc+alpha*(xc-x1(:,imax1);gxr=feval(g_cons,xr)if max(gxr)0fxr=feval(f,xr);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 约束 优化 方法

链接地址:https://www.31ppt.com/p-6117612.html