ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:172KB ,
资源ID:1952353      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1952353.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(复合形法大作业.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

复合形法大作业.docx

1、复合形法大作业 优化理论与最优控制大作业( 2013- 2014 年度第 1 学期) 题 目: 复合形法大作业 院 系: 控制与计算机工程学院 小组成员: 研控计1320班: 范冠男 1132227028 习春苗 1132227001 程丕建 1132227027 王凯 1132227013 郭萍 1132227020 研控计1322班: 赵亮 1132227143 成 绩: 日期:2013年12月8日一、 作业题目 利用复合形法求解Schaffers function ( i=1,2) 注:本组各函数中的n值均取为2二、 复合形法的基本原理及本文思路 1、复合形法原理:复合形法的基本思路是在

2、n维空间的可行域中选取K个设计点(通常取n+1K2n)作为初始复合形(多面体)的顶点。然后比较复合形各顶点目标函数的大小,其中目标函数值最大的点作为坏点,以坏点之外其余各点的中心为映射中心,寻找坏点的映射点,一般说来此映射点的目标函数值总是小于坏点的,也就是说映射点优于坏点。这时,以映射点替换坏点与原复合形除坏点之外其余各点构成K个顶点的新的复合形。如此反复迭代计算,在可行域中不断以目标函数值低的新点代替目标函数值最大的坏点从而构成新复合形,使复合形不断向最优点移动和收缩,直至收缩到复合形的各顶点与其形心非常接近、满足迭代精度要求时为止。最后输出复合形各顶点中的目标函数值最小的顶点作为近似最优

3、点。 2、本文思路:本文在理解复合形法的基础上,提出将定义域区域进行等分,分成mm个小块。然后对每小块区域选取一个初始点进行寻优,最后比较这些初值点找到的最优值,并把最好的一个最优值作为最终的输出最优值。三、 基本程序流程图图一、程序流程图四、求解寻优过程1、函数三维图形:图二、目标函数三维图2、理论结果: 由函数的三维图形不难看出,该函数的理论最大值为1。即当X=0,Y=0,时,Z=f(x)取最大值为1。故理论解为X=0 ,0T,f(X)=1。3、寻优过程: 本文在利用复合形法求解过程中,在平面区域内将区域等分成为64小块,并在每个小块中选取一个初始值作为复合形法的初始值进行寻优计算,并将最

4、终的最优值作为寻优结果。在区域内初始点散点图如下,从中可以看到在每个网状线格子中都有一个初值。图三、64个初始点在定义域散点图 同时,本文选取部分初始值寻优结果列入下表:初始点序号X0(1)X0(2)迭代次数过程最优值1-3.464932895-3.464932895270.7829676572-2.03612987-3.464932895240.9902787243-1.884374121-3.464932895210.9902777784-0.948551707-3.464932895370.99028408950.304348946-3.464932895460.984610841221

5、.580191833-1.884374121230.989391712232.530964452-1.884374121230.990026091243.901208093-1.884374121500.99909109625-3.464932895-0.948551707210.80354054326-2.03612987-0.948551707400.99518406660-0.9485517073.901208093390.990284089610.3043489463.901208093260.984379257621.5801918333.901208093220.990284096

6、32.5309644523.901208093490.918694359643.9012080933.901208093470.990146661表一、64个初始点寻优记录表为了清楚地展示复合形的寻优过程,本文绘制了复合形法在迭代过程的寻优轨迹,也即最大值的寻找过程。下图为复合形法中找到最优值时的寻优轨迹图。图四、全局最优点的寻优轨迹图4、寻优结果: 由该方法找到的最优解为X=0.02955566;-0.00589362,此时最大值f(X)= 0.99909101。由此可知,该结果与理论值很接近的,证明了算法的有效性。五、寻优分析与探讨 1、复合形法 通过上面的求解过程,我们得出并不是任意给定

7、的初始点都能找到全局最优点,也即函数的最大值。本文通过在定义域内选取大量的初始点来进行优化求解,并且在将区域分成64块时找到了最优点。但是实际上在这64个初始点中,能找到最优点的概率还是很低的。当然,通过仿真实验我们还发现随着在定义域内选取的初始点越多,也即分的区域块数越多,找到最优点的概率越大。 2、Matlab工具箱求解 为了验证分区选取初始点的有效性,本文还通过Matlab中自带的优化工具箱,即求解非线性规划的fmincon命令来求取该函数的最大值。实际上,对于给定函数解析式的非线性函数,该方法比复合形法要更有效。下表为结合初始点分区选择和非线性规划方法求解该函数最值的过程。初始点序号X

8、0(1)X0(2)过程最优值1-3.447309367-3.4473093670.6468487762-0.75535277-3.4473093670.99028384431.176723369-3.4473093670.9902840943.926936932-3.4473093670.6468487765-3.447309367-0.755352770.9902838446-0.75535277-0.755352770.99999999271.176723369-0.755352770.99999998983.926936932-0.755352770.9902840859-3.44730

9、93671.1767233690.9902840910-0.755352771.1767233690.999999989111.1767233691.1767233690.646848776123.9269369321.1767233690.9902840913-3.4473093673.9269369320.64684877614-0.755352773.9269369320.990284085151.1767233693.9269369320.99028409163.9269369323.9269369320.646848776表二、16个初始点寻优记录表由此表可知,本文仅将定义域分成16

10、块即找到3次全局最优点(即表中绿色部分初始点)。同时,本文也做过仿真实验,当分的区域块数越大,找到全局最优的机率越大。而对于寻优而言,我们只需找到一次全局最优点即得到该函数的最大值,进一步验证了分区的有效性。六、总结 本文在理解复合形法的基础上,针对复合形法寻优过程对初值的依赖性很大这一问题,提出将定义域区域进行等分,然后对每小块区域选取一个初始点进行寻优,然后比较这些初值点找到的最优值,把最好的一个最为最终的最优值。实验证明该方法很有效。同时,我们也认识到复合形法也存在一定的问题,运算比较慢。本文通过Matlab求解非线性规划的方法进一步对定义域分区的思想进行验证。从仿真结果中结果中可以看出

11、,这种方法比复合形法更有效。七、附录1、目标函数的三维图形绘制程序x=-4:0.1:4;y=-4:0.1:4;X Y=meshgrid(x,y);Z=0.5-(sin(sqrt(X.2+Y.2).2-0.5)./(1+0.001*(X.2+Y.2).2;mesh(X,Y,Z)xlabel(X);xlabel(Y);xlabel(Z);2、复合形法求解程序如下:syms x1 x2f=-(0.5-(sin(sqrt(x1.2+x2.2).2-0.5)./(1+0.001*(x1.2+x2.2).2); %目标函数a=-4;-4;b=4;4;alpha=1;var=x1;x2;e=1.0e-8;e

12、1=1.0e-6;sita=0.5;M=;%记录每个初值迭代后最优值的向量W=;%记录各个初始值取最优值时的解向量t=;%记录各个初始值取最优值时的解向量D=;%记录各个初始值取最优值时的迭代次数m=8; %定义域分成8*8个块数a1=-4;b1=4;z=zeros(1,m);X0=zeros(2,m*m);for i=1:m z(i)=a1+(b1-a1)/m*(i-1)+rand(1,1)*(b1-a1)/m;endfor i=1:m for j=1:m X0(1,i+m*(j-1)=z(i); endendfor i=1:m W=W ones(1,m)*z(i);endX0(2,:)=W

13、;for i=1:m*m x,d,minf=childfun(f,X0(:,i),a,b,alpha,sita,var,e,e1); M=M,minf; t=t,x; D=D,d;endmaxf index=min(M)x=t(:,index)d1=D(index)function x,d,minf=childfun(f,x0,a,b,alpha,sita,var,e,e1)% f为目标函数% % g为约束条件% a为xi的下限a=a1;a2;an% b为xi的上限b=b1;b2;bn% alpha为反射系数o% var为自变量向量var=x1;x2;xn% e为运算中止精度% e1为反射系数

14、收缩下限% sita为紧缩系数aa=a;bb=b;n=2;k=3;while 1fx=zeros(1,k);X=zeros(n,k);g=var-aa;-var+bb; %约束函数g(X)%产生初值X(:,1)=x0;for i=2:k r=abs(rand(2,1); X(:,i)=aa+r.*(bb-aa);end %寻优traceFXk=0; %用来记录每次迭代所产生的最坏点Xhtracefxc0=0; %用来记录每次迭代所产生的形心点Xc0FXk=;while 1 for i=1:k fx(i)=subs(f,var,X(:,i); %计算复合形所有顶点的函数值 end FX,IX=sort(fx); %对复合形所有顶点的函数值从小到大排序 Xsorted=X(:,IX); %得到排序后的函数值所对

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1