- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
3.5判断终止条件1)各顶点与好点函数值之差的均方根值小于误差限,即2)各顶点与好点的函数值之差的平方和小于误差限,即3)各顶点与好点函数值差的绝对值之和小于误差限,即如果不满足终止迭代条件,则返回步骤2继续进行下一次迭代;否则,可将最后复合形的好点X(L)及其函数值F(X(L))作为最优解输出。第31页,共77页,星期日,2025年,2月5日比较复合形各顶点的函数值,找出好点XL,坏点XHXH=XRα=0.5α找出次坏点XSH,XH=XSH满足终止条件?X*=XL,F*=F(XL)结束3.6流程图是否给定K,δ,α,ε,ai,bii=1,2,…n产生初始复合形顶点Xj,j=1,2,…,K计算复合形各顶点的函数值F(Xj),j=1,2,…,K是是是否否否XR∈DFRF(XH)第32页,共77页,星期日,2025年,2月5日3.7复合形法的Matlab程序程序清单function[xo,fo,go]=opt_complex(f,g_cons,x0,xl,xu,TolX,TolFun,MaxIter)N=length(x0);M=size(g_cons);M=length(M(:,1));k1=0;k=N+1;%单纯形顶点个数gx=ones(M,1);whilemax(gx)0x0=xl+rand(N,1).*xu;gx=feval(g_cons,x0);end第33页,共77页,星期日,2025年,2月5日[x1,fx]=gen_complex(x0,k,f,g_cons);flag1=1;flag2=1;flag3=1;k1=0fxx1fprintf(此处暂停,请按下任意键继续\n)pausewhilek1MaxIterflag1=1;flag2=1;flag3=1;k1=k1+1[fx,I]=sort(fx);fori=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);fori=1:kxc=xc+x1(:,i);endxc=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)ifmax(gxr)0fxr=feval(f,xr);iffxrfmax1fprintf(反射成功\n)fmax1,fxrfmax1=fxr;fx(imax1)=fxr;x1(:,imax1)=xr;flag1=-1;else%反射失败flgg1=1;end第34页,共77页,星期日,2025年,2月5日else%反射失败flag1=1;endgama=0.7;ifflag1==-1fprintf(延伸\n)xe=xr+gama*(xr-xc);gxe=feval(g_cons,xe)ifmax(gxe)0fxe=feval(f,xe);iffxefmax1fprintf(延伸成功\n)fxe,fmax1fx(imax1)=fxe;fmax1=fxe;x1(:,imax1)=xe;flag2=-1;else%延伸失败flag2=1;endelse%延伸失败flag2=1;endendbeta=0.7;ifflag1~=-1flag2~=-1fprintf(收缩\n)xk=x1(:,imax1)+beta*(xc-x1(:,imax1));gxk=feval(g_cons,xk)ifmax(gxk)0fxk=feval(f,xk);iffxkfmax1fprintf(收缩成功\n)fxk,fmax1fmax1=fxk;fx(imax1)=fxk;x1(:,imax1)=xk;flag3=-1;else%收缩失败flag3=1;endelse第35页,共77页,星期日,2025年,2月5日%收缩失败flag3=1;endend
文档评论(0)