您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 最优化方法powell法求解无约束优化问题
数学与计算科学学院实验报告实验项目名称powell法求解无约束优化问题所属课程名称最优化方法实验类型算法编程实验日期班级学号姓名成绩一、实验概述:【实验目的】1(1)掌握Matlab数值计算的基本方法;(2)掌握powell法并利用powell法解课本第358页第五题,使用MATLAB编程实现;(3)调整参数并对数值结果进行分析。【实验原理】Powell方法是一种有效的直接搜索法,这种方法本质上是共轭方向法。Powell方法把整个计算过程分成若干个阶段,每一阶段(一轮迭代)由n+1次一维搜索组成。在算法的每一阶段中,先依次沿着已知的n个方向搜索,得一个最好点,然后沿着本阶段的初点与该最好点连线方向进行搜索,求得这一阶段的最好点。再用最后的搜索方向取代前n个方向之一,开始下一阶段的迭代。具体计算步骤如下:1.给定初始点0x,n个线性无关的方向(1,1)(1,2)(1,),,,ndddL,允许误差0,置1k;2.置(,0)1kkxx,从(,0)kx出发,依次沿方向(,1)(,2)(,),,,kkkndddL进行搜索,得到点(,1)(,2)(,),,,kkknxxxL,再从(,)knx出发,沿着方向(,1)(,)(,0)knknkdxx作一维搜索,得到点kx;3.若1kkxx,则停止计算,得点kx;否则,令(+1,j)(,j+1),1,,kkddjnL,置:1kk,返回步骤2.改进的powell法与原来的方法主要区别在于替换方向的规则不同。【实验环境】MicrosoftWindows7Matlab二、实验内容:【实验方案】1.选定题目,解222123123123min()()()xxxxxxxxx的极小点,取初始点0(1,1)(1,2)(1,3)11[,1,],[1,0,0],[0,1,0],[0,0,1]22TTTTxddd。2.使用改进的powell算法解决问题,利用Matlab编写程序解决问题。3.运行程序并调拭,得出结果。4.分析结果。【实验过程】(实验步骤、记录、数据、分析)1.编写出powell法解无约束优化问题的主程序:clc;clear;Function[a,b]=section(x1,x2,d1,d2)x11=x1;x22=x2;2d11=d1;d22=d2;h0=1;h=h0;alphal=0;y1=y(x11,x22,d11,d22,alpha1);alpha2=h;y2=y(x11,x22,d11,d22,alpha2);t=0;ify2y1h=-h;alpha3=alpha1;y3=y1;t=1;endwhile(1)ift==1alpha1=alpha2;y1=y2;alpha2=alpha3;y2=y3;elset=1;endalpha3=alpha2+h;y3=y(x11,x22,d11,d22,alpha3);ify3y2h=2*h;elsebreak;endendifalpha1alpha3tem=alpha1;alpha1=alpha3;alpha3=tem;a=alphal;b=alpha3;elsea=alpha1;b=alpha3;endclc;clear;Functionmk=armijo(fun,xk,rho,sigma,gk)assert(rho0&&rho1);assert(sigma0&&sigma0.5);mk=0;max_mk=100;whilemk=max_mkx=xk-rho^mk*gk;iffeval(fun,x)=feval(fun,xk)-sigma*rho^mk*norm(gk)^2break;endmk=mk+1;3endreturn;2.编写出使用改进的powell法来求解问题的Matlab程序(详细程序见附录源程序)。3.运行程序,得出结果如图所示:从上述运行结果可以得出,最优解为(0,0,0)Tx,最优值为()0fx。【实验结论】(结果)改进的powell法,当初始搜索方向线性无关时,能够保证每轮迭代中以搜索方向为列的行列式不为零,因此这些方向是线性无关的。而且随着迭代的延续,搜索方向接近共轭的程度逐渐增加。虽然改进的powell法,不再具有二次终止性,但是,它的计算效果依然非常好。【实验小结】(收获体会)通过本次实验,了解了powell法与改进后的powell法的区别,对于无约束最优化方法了解更深。经过多次Matlab编程,使得我更加熟悉Matlab编程语言。三、指导教师评语及成绩:评语评语等级优良中及不及格4格1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强2.实验方案设计合理3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)4实验结论正确.成绩:指导教师签名:批阅日期:附录1:源程序clc;clear;%¸ø³öÆðʼµã×ø±êx1,x2ºÍËÑË÷·½Ïòd1,d2Function[a,b]=section(x1,x2,x3,d1,d2,d3)x11=x1;x22=x2;x33=x3;d11=d1;d22=d2;d33=d3h0=1;%³õʼ»¯h=h0;alphal=0;y1=y(x11,x22,x33,d11,d22,d33,alpha1);%´úÈëalpha1£¬Çó½ây1alpha2=h;y2=y(x11,x22,x33,d11,d22,d33,alpha2);y3=y(x11,x22,x33,d11,d22,d33,alpha3);t=0;%Èç¹ûy2y1£¬Ôò¸Ä±äËÑË÷·½Ïòify2y1h=-h;alpha3=alpha1;y3=y1;t=1;endwhile(1)ift==1alpha1=alpha2;y1=y2;alpha2=alpha3;y2=y3;%ʵÏÖ½»»»elset=1;endalpha3=alpha2+h;ify3y2h=2*h;%¸Ä±äËÑË÷²½³¤£¬½«Æä¼Ó±¶elsebreak;endendifalpha1alpha35tem=alpha1;alpha1=alpha3;alpha3=tem;%±È½Ï´óС£¬±£Ö¤Êä³öÇø¼äΪ¡¾a,b¡¿a=alphal;b=alpha3;elsea=alpha1;b=alpha3;end附录2:实验报告填写说明1.实验项目名称:要求与实验教学大纲一致。2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。3.实验原理:简要说明本实验项目所涉及的理论知识。4.实验环境:实验用的软、硬件环境。5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性实验,还应注明其创新点、特色。6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。7.实验结论(结果):根据实验过程中得到的结果,做出结论。8.实验小结:本次实验心得体会、思考和建议。9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。
本文标题:最优化方法powell法求解无约束优化问题
链接地址:https://www.777doc.com/doc-2316917 .html