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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单纯形法解决无约束优化问题.docx

1、单纯形法解决无约束优化问题分 数: _ 任课教师签字:_ 课程作业学 年 学 期:20172018学年第二学期课 程 名 称:优化理论作 业 名 称:作业三学 生 姓 名:学 号:提 交 时 间:一、问题重述形如的问题称为无约束优化问题,常用下降算法来解决这类问题。下降算法的关键在于步长和搜索方向的选取。步长的求取可以借助前面作业中提到的一维搜索等方法求取,而搜索方向算法可以分为两大类,解析法和直接法。解析法借助了目标函数的导数进行搜索,这类算法搜索速度快、效率高,但是对目标函数的要求更为严格。常用的方法有最速下降法、Newton法、共轭梯度法、拟Newton法等。直接法不使用导数,也不需要得

2、到目标函数的明确解析式,只需要能够得到某些函数上的点即可。因此直接法的适用范围更广,但相应的收敛速度会较慢,计算量也会随着问题维数的增加而迅速增大。常用的方法有单纯形法、Powell方向加速法以及Powell改进算法。本作业以直接法的Powell法为例,解决具体的无约束优化问题,并对将Powell方向加速法和Powell改进算法解决结果进行对比。二、算法原理对于n维正定二次函数,设关于G共轭,与为任意不同点。分别从与出发,依次沿作一维搜索。如果最后找到两个互不相同的极小点与,则与关于G共轭。Powell方向加速法正是基于这一原理,每次迭代过程作n+1次一维搜索。第一次沿给定的n个线性无关的方向

3、依次作一维搜索,之后沿由这一阶段的起点到第n次搜索所得到的点的方向P再做一次一维搜索,并把这次所得点作为下一阶段的起点,下一阶段的n个搜索方向为。以此直到找到最优解。此算法是在迭代中逐次生成共轭方向,而共轭方向又是较好的搜索方向,所以称之为方向加速法。但是,此算法产生的n个向量可能线性或近似线性相关,这时张不成n维空间,可能得不到真正的极小点。因此,Powell原始算法存在一定的缺陷。Powell改进算法虽然不再具有二次终止性,但克服了搜索方向的线性相关的不利情形,是解决无约束优化问题较有效的直接法之一。本次作业一维搜索的过程是利用函数求导,求得最小值。经过试验发现,是允许为负数的。否则最终寻

4、优得到的极值点与实际结果存在很大的偏差,而且寻优的效率特别低下。三、算法流程Powell算法流程图:图1 Powell算法流程图Powell改进算法流程图:图2 Powell改进算法流程图四、实验验证1、设目标函数,收敛精度为0.001,初始点(-2,2)。利用Matlab自带的函数求二元函数极值点函数fminsearch,求得极值点为(-0.630,-1.500),最小值为-1.722。以此为标准,检验Powell方向加速法和Powell改进算法的寻优结果。Powell方向加速法经过2次迭代,求得极值点(-0.630,-1.500),对应的最小值-1.722;Powell改进方向加速法经过2

5、次迭代,求得极值点(-0.630,-1.500),对应的最小值1.722。2、设目标函数,收敛精度为0.001,初始点(-2,2)。利用Matlab自带的函数求二元函数极值点函数fminsearch,求得极值点为(0.5827,-1.7913),最小值为-1.5109。以此为标准,检验Powell方向加速法和Powell改进算法的寻优结果。Powell方向加速法经过4次迭代,求得极值点(0.5827,-1.7912),对应的最小值-1.5109;Powell改进方向加速法经过2次迭代,求得极值点(-0.630,-1.500),对应的最小值1.722。两种方法对应的寻优过程如下图所示。图3 Po

6、well直接与改进法寻优过程四、算法程序1、Powell方向加速关键部分算法:error=0.001; x_process =-2,2; dimensions=2;P=eye(dimensions);zeros(1,dimensions);%初始搜索方向syms aerfa;while(1)x_zero=x_process; for i=1:dimensions%沿着P(i,:)方向进行一维搜索 f=F_Object(x_process+aerfa*P(i,:); aerfa_process_all=double(real(solve(diff(f); F_process_j=; for j=

7、1:length(aerfa_process_all) aerfa_process=aerfa_process_all(j); x_process_j=x_process+aerfa_process*P(i,:); F_process_j=F_process_j F_Object(x_process_j); end ,j=min(F_process_j); aerfa_process=aerfa_process_all(j); x_process=x_process+aerfa_process*P(i,:); endif norm(x_process-x_zero)=error break;

8、%可以避免之后分母中的(x_process-x_zero)过小而影响算法的进行 end P(dimensions+1,:)=(x_process-x_zero)/norm(x_process-x_zero); for i=1:dimensions P(i,:)=P(i+1,:); end f=F_Object(x_process+aerfa*P(dimensions+1,:); aerfa_process_all=double(real(solve(diff(f); %一维搜索 F_process_j=; for j=1:length(aerfa_process_all) aerfa_proc

9、ess=aerfa_process_all(j); x_process_j=x_process+aerfa_process*P(i,:); F_process_j=F_process_j F_Object(x_process_j); end ,j=min(F_process_j); aerfa_process=aerfa_process_all(j); x_process=x_process+aerfa_process*P(end,:); if norm(x_process-x_zero)=error break; endend2、Powell改进法关键部分算法:error=0.001; x_

10、process =-2,2; syms aerfa;dimensions=length(x_zero); F_process=zeros(dimensions+1,1);P=eye(dimensions);%初始搜索方向while(1) x_zero=x_process; F_process(1)=F_Object(x_zero); for i=1:dimensions%沿着P(i,:)方向进行一维搜索 f=F_Object(x_process+aerfa*P(i,:); aerfa_process_all=double(real(solve(diff(f); %一维搜索 F_process_

11、j=; for j=1:length(aerfa_process_all) aerfa_process=aerfa_process_all(j); x_process_j=x_process+aerfa_process*P(i,:); F_process_j=F_process_j F_Object(x_process_j); end ,j=min(F_process_j); aerfa_process=aerfa_process_all(j); x_process=x_process+aerfa_process*P(i,:); F_process(i+1)=F_Object(x_proces

12、s); end if norm(x_process-x_zero)=F_process(1)|(F_process(1)2*F_process(dimensions+1)+F_Object_xing)*(F_process(1)-F_process(dimensions+1)-F_Object_data)20.5*(F_process(1)-F_Object_xing)2*F_Object_data) x_zero=x_process; else for i=m:dimensions-1 P(i,:)=P(i+1,:); end P(dimensions,:)=(x_process-x_zer

13、o)/norm(x_process-x_zero); f=F_Object(x_process+aerfa*P(dimensions,:); aerfa_process_all=double(real(solve(diff(f);%一维搜索 F_process_j=; for j=1:length(aerfa_process_all) aerfa_process=aerfa_process_all(j); x_process_j=x_process+aerfa_process*P(i,:); F_process_j=F_process_j F_Object(x_process_j); end ,j=min(F_process_j); aerfa_process=aerfa_process_all(j); x_process=x_process+aerfa_process*P(end,:); x_zero=x_process; endend

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

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