有约束优化问题_第1页
有约束优化问题_第2页
有约束优化问题_第3页
有约束优化问题_第4页
有约束优化问题_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、任课教师签字:课程作业学年学期:20172018学年第二学期课程名称:优化理论作业名称:作业四学生姓名:学号:提交时间:一、问题重述形如下式的寻优问题称为无约束最优化问题,这类问题的最优解称为约束最优解。minf(x)j.tgi(x)<0,i=1,.phj(x)=0,j=1,.qp>0,q>0约束优化问题的最优性条件是,在满足灯饰和不等式约束条件下,其目标函数值最小的点所必须满足的条件。约束优化设计问题求解方式有两种,间接法和直接法。直接法是在满足不等式约束的可行设计区域内直接搜索问题的最优解和最小值,常用的方法有随机方向法、复合形法。间接法是将优化问题转化为一系列无约束优化

2、问题来求解,常用的方法有内惩罚函数法、外惩罚函数法以及混合惩罚函数法。本次作业以为例,介绍无约束最优化问题的寻优方法。二、算法原理复合形法是求解约束非线性寻优问题的一种重要的直接方法。复合形法的核心在于可行域内构造的不断逼近最优点的复合形。每次迭代,计算各顶点的目标函数值,找到目标函数值最大的顶点(称最坏点),然后按相应的原则求出目标函数可行的下降点,以此代替最坏点,构成新的复合形。复合形每改变一次,各个顶点就向最优点移动一步,直至满足终止条件,找到最优点。复合形法的顶点数K通常取n+1<K<2n,其中n表示搜索环境的维度。初始图形的顶点是由设计者确定或者随机产生的,但一定要保证在

3、可行域内。如果随机产生的初始点没有在可行域内,可以通过以下步骤将其调入可行域内。(1)计算在可行域内点的初始点集中心Xs);(2)将可行域外的点向Xs)靠拢,每次前进间距的一半,直至进入可行域内。复合行法的终止条件可以有以下几种形式,满足终止条件后,可将最后复合形的好点及其函数值作为最优解输出。(1)各顶点与好点函数值之差的均方根小于误差限;(2)各顶点与好点的函数之差平和小于误差限;(3)各顶点与好点函数值差的绝对值之和小于误差限。另外,需要注意的是复合形法只能求解仅含不等式约束的问题。三、算法流程复合形算法的流程图:图1复合形法算法流程四、实验验证用Matlab自带的fmincon函数求得

4、的约束最优解作为标准值,以此检验复合形算法的准确度。用复合形法求解下列问题的约束最优解minf(x)=60-10x1-4x2x12x22-x1x2stgi(x)=-x1E0g2(x)=_x21£0g3(x)-6xi<0g4(x)-8x2-0g5(x)=x1x2-110表1结果对比标准值复合形法最小值点(6,4.999)最小值点(6,4.992)最小值11.000011.0000四、算法程序复合形法关键算法:clc;clearall;closeall;%始值area=1.3;error=0.0000000000001;%误差限k=4;%复合形顶点数dimensions=2;%嗖索

5、空间的维度a=-10,-10;%U始点1b=10,10;%U始点2c=zeros(1,2);x_in=;%遁机点,保证至少有一个点在可行域内whileisempty(x_in)x_in=;x_out=;fori=1:k%产生初始随机点c(1)=a(1)+rand*(b(1)-a(1);c(2)=a(2)+rand*(b(2)-a(2);ifInequal(c)>=0x_in=x_in;c;elsex_out=x_out;c;endendend%域内的随机点调入可行域内whileisempty(x_out)x_in_mean=mean(x_in,1);x_out(1,:)=x_in_mea

6、n+0.5*(x_out(1,:)-x_in_mean);ifInequal(x_out(1,:)>0x_in=x_in;x_out(1,:);x_out(1,:)=;endend都在可行域内的随机点x_zero=x_in;%形算法F=zeros(1,k);while(1)fori=1:kF(i)=Fmin(x_zero(i,:);endF_L,x_L_i尸min(F);%子点F_H,x_H_i=max(F);琳点J=(F-F_L)*(F-F_L)'%各顶点与好点的函数值之差的平方和ifJ<error蹴止条件break;endflag=1;x_SH_i=x_H_i;whil

7、e(flag=1)%需要改变映射方向,即改变x_SH_iflag=0;j=1;以示次最大点x_SH=x_zero(x_SH_i,:);x_0=(sum(x_zero,1)-x_SH)/(k-1);瀚坏点外的其余各项中心点x_R=x_0+area*(x_0-x_SH);啾射点area_part=area*0.5;麻在可行域内的映射点while(Inequal(x_R)<0)/在可行域内x_R=x_0+area_part*(x_0-x_SH);始射点调入可行域area_part=area_part*0.5;endwhile(Fmin(x_R)>=F_H)x_R=x_0+area_par

8、t*(x_0-x_SH);%A为映射过远,减半映射area_part=area_part*0.5;ifarea_part<0.0000001旅过多次映射,仍无法满足flag=1;%!要改变映射方向,即改变x_SH_i,x_Fdescend_i=sort(F,'descend');j=j+1;x_SH_i=x_Fdescend_i(j);%表示次j最大点break;endendend%此时映射点优于坏点x_zero(x_H_i,:)=x_R;始射点代替坏点endx_zero(x_L_i,:)%!:优点F_L%t小值%岫除束条件的极小值点A_Limit=-10;0-1;10;01;11;%勺束条件矩阵b_Upper=0;-1;6;8;11;xmin,fmin=fmincon(Fmin,c,A_Limit,b_Upper,)目标函数%1优目标函数functionoutput=Fmin(x)x1=x(1);x2=x(2);output=60-10*x1-4*x2+x1*x1+x2*x2-x1*x2;约束条件环等式约束条件functionoutput=Inequ

温馨提示

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

评论

0/150

提交评论