最速下降法报告_第1页
最速下降法报告_第2页
最速下降法报告_第3页
最速下降法报告_第4页
最速下降法报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、西安电子科技大学电子工程学院大作业(-)科目:最优化方法及其应用任课老师:姓名:学号:班级:题目运用梯度下降法(最速下降法)求解优化问题问题叙述用梯度下降法来求解优化问题mif =(x +10v )2 + 5(x -x )2 + (x - 2x )4 +1C(x -x )4其中一维搜索可用0.618法方法介绍最速下降法的步骤:1、取初始点x 0和允许误差分0,令k=02、计算 p( k) = -Vf (x (k)3、若p(k) 则停止,取x孚x(k);否则,转(4)4、求a k 0使f (x(k) +a p(k) = minf (x(k) +Op(k)ka05 令 x(k+1) = x(k)

2、+ a p(k) k : k +1 转(2)U、k,方法的原理易于理解,但是用软件实现过程则有一 定的难度了,特别是对于0.618法的运用。如果思路不 够清晰,又或者不能做到一气呵成,则很容易出错,以 至于不得不重头开始思考。在编程过程中,程序不可能 体会 没有问题,知道问题所在怎么也能解决了,可是怕就怕 在不知道问题出在了哪里。这个时候就需要我们认真仔 细的检查代码,结合软件提示的信息对代码进行修改。 自认为在这次编程的修改过程中,一定不能因为出错就 一个冲动的修改代码,或许所修改的并不是错误的根 源,结果可能错误变得越来越多,悔不当初。代码 语言选择:Microsoft Visual St

3、udio2010(C+)(在此处填入代码)#include stdio.h#include stdlib.h#include math.h”double func( double *x )return(x0+10*x1)*(x0+10*x1) + 5*(x2-x3)*(x2-x3) + (x1-2*x2)*(x1-2*x2)*(x1-2*x )*(x1-2*x2) + 10*(x0-x3)*(x0-x3)*(x0-x3)*(x0-x3);double norm ( double *x ) /范数returnsqrt ( x0*x0+x1*x1+x 2 *x +x3*x3);void vgran

4、d( double*p ,double *x ) 负梯度p0 = -2*(x0+10*x1) - 40*(x0-x3)*(x0-x3)*(x0-x3);p1 = -20*(x0+10*x1) - 4*(x1-2*x 2 )*(x1-2*x 2 )*(x1-2*x 2);p2 = -10*(x 2 -x3) + 8*(x1-2*x 2 )*(x1-2*x 2 )*(x1-2*x2);p3 = 10*(x 2-x3) + 40*(x0-x3)*(x0-x3)*(x0-x3);double goldf (double t, double*p, double *x) /gold辅助函数double x

5、tmp4;for (int i=0; i!=4; +i)xtmpi=xi+pi*t;return func(xtmp);double gold (double begin ,double end, double t2, double *p, double *x ) /0.618法while (1)double t1=0.382*(end-begin)+begin, e=0.01;if(fabs(t1-t2)e)return (t1+t2)/2;else if(goldf(t1,p,x) goldf(t2,p,x)end=t2;t2=t1;elsebegin=t1;t2=0.618*(end-b

6、egin)+begin; int main()double x4, p4, t, a ,e=0.01;x0=0.1, x1=0.1, x2=0.1, x3=0.1;int count=0;printf(min f(x)=(x1+10*x2)A2+5*(x3-x4)A2+(x2-2*x3)A4+10*(x1-x4)A4n);printf(using 0.618 algorithmn);printf(begin=-50,end=50,t2=11.8);printf(initialize x1=0.1,x2=0.1,x3=0.1,x4=0.1n);printf(initialize precisio

7、n: e=0.01nn);while(1)vgrand( p, x );if ( a=norm( p ), a = e )printf(最优解为:x1=%lf , x2=%lf , x3=%lf ,x4=%lfn,x0,x1,x 2 ,x3);return 0;printf(count=%dn”,count);count=count+1;printf(x1=%lf , x2=%lf , x3=%lf , x4=%lfn”,x0,x1,x 2 ,x3);t=gold(-50,50,11.8,p, x);for (int i=0; i!=4; +i)xi=xi+t*pi;min运行结果及分析f(x

8、) = (x1+10*x2)”2+5*(x3-x4)”2+(x2-2*x3)”4+10*(x1-x4)”4using 0.618 algorithmbegin=-50,end=50,t2=11.8initializex1=0.1,x2=0.1,x3=0.1,x4=0.1initialize precision: e=0.01 count=0 x1=0.100000 , x2=0.100000 , x3=0.100000 , x4=0.100000count=1x1=0.092222 , x2=0.022239 , x3=0.099972 , x4=0.100000count=2x1=0.089

9、998 , x2=0.000074 , x3=0.099814 , x4=0.099999count=3x1=0.089303 , x2=-0.006753 , x3=0.099578 , x4=0.099992count=4x1=0.089083 , x2=-0.008784 , x3=0.099245 , x4=0.099970 x4=0.099437x4=0.099191x4=0.091033x4=0.091121x4=0.091130 x4=0.091077x4=0.090977x4=0.090910 x4=0.089027x4=0.088799x4=0.084484x4=0.0844

10、66x4=0.084404x4=0.084308x4=0.084185count=6x1=0.088815 ,count=7x1=0.088356 ,count=8x1=0.088189 ,count=9x1=0.088310 ,count=10 x1=0.088119 ,count=11 x1=0.088268 ,count=12x1=0.088160 ,count=13 x1=0.087884 ,count=14x1=0.087811 ,count=15x1=0.087618 ,count=16 x1=0.087532 ,count=17 x1=0.087578 ,count=18 x1=

11、0.087481 ,count=19 x1=0.087541 ,x2=-0.008005 ,x2=-0.008747 ,x2=-0.008030 ,x2=-0.009402 ,x2=-0.007907 ,x2=-0.009535 ,x2=-0.007760 ,x2=-0.008709 ,x2=-0.008065 ,x2=-0.008686 ,x2=-0.008342 ,x2=-0.008980 ,x2=-0.008284 ,x2=-0.009041 ,x2=-0.008214 ,x3=0.094577 ,x3=0.094513 ,x3=0.091880 ,x3=0.091210 ,x3=0.0

12、90618 ,x3=0.090112 ,x3=0.089648 ,x3=0.089450 ,x3=0.084522 ,x3=0.084525 ,x3=0.084305 ,x3=0.083866 ,x3=0.083472 ,x3=0.083124 ,x3=0.082801 ,x4=0.084043x4=0.083884x4=0.083801x4=0.078369x4=0.078162x4=0.075570 x4=0.075493x4=0.075398x4=0.075290 x4=0.075170 x4=0.075043x4=0.074909x4=0.074841x4=0.070629count=

13、20 x1=0.087429 , x2=-0.009112 , x3=0.082511 ,count=21x1=0.087506 , x2=-0.008132 , x3=0.082233 ,count=22x1=0.087443 , x2=-0.008655 , x3=0.082108 ,count=23x1=0.086869 , x2=-0.007761 , x3=0.074278 ,count=24x1=0.086775 , x2=-0.008622 , x3=0.074331 ,count=25x1=0.086698 , x2=-0.008316 , x3=0.074817 ,count

14、=26x1=0.086624 , x2=-0.008884 , x3=0.074569 ,count=27x1=0.086670 , x2=-0.008264 , x3=0.074339 ,count=28x1=0.086586 , x2=-0.008936 , x3=0.074129 ,count=29x1=0.086643 , x2=-0.008202 , x3=0.073928 ,count=30 x1=0.086547 , x2=-0.008999 , x3=0.073742 ,count=31x1=0.086617 , x2=-0.008130 , x3=0.073560 ,coun

15、t=32x1=0.086563 , x2=-0.008593 , x3=0.073477 ,count=33 x1=0.086152 , x2=-0.007836 , x3=0.068369 ,count=34x4=0.068839x4=0.068768x4=0.068685x4=0.068594x4=0.068497x4=0.068447x4=0.065666x4=0.065571x4=0.064172x4=0.064117x4=0.064052x4=0.063980 x4=0.063903x4=0.063821count=35 x1=0.085993 ,count=36x1=0.08592

16、3 ,count=37x1=0.085969 ,count=38x1=0.085889 ,count=39x1=0.085946 ,count=40 x1=0.085901 ,count=41x1=0.085573 ,count=42x1=0.085514 ,count=43x1=0.085432 ,count=44x1=0.085377 ,count=45x1=0.085407 ,count=46x1=0.085345 ,count=47x1=0.085383 ,count=48 x1=0.085312 ,x2=-0.008269 ,x2=-0.008826 ,x2=-0.008218 ,x

17、2=-0.008878 ,x2=-0.008158 ,x2=-0.008541 ,x2=-0.007985 ,x2=-0.008515 ,x2=-0.008298 ,x2=-0.008701 ,x2=-0.008261 ,x2=-0.008737 ,x2=-0.008217 ,x2=-0.008780 ,x3=0.068126 ,x3=0.067951 ,x3=0.067785 ,x3=0.067632 ,x3=0.067484 ,x3=0.067417 ,x3=0.063758 ,x3=0.063754 ,x3=0.063600 ,x3=0.063454 ,x3=0.063316 ,x3=0

18、.063189 ,x3=0.063067 ,x3=0.062953 ,count=50 x1=0.085320 ,count=51x1=0.084991 ,count=52 x1=0.084939 ,count=53 x1=0.084823 ,count=54 x1=0.084764 ,count=55 x1=0.084798 ,count=56 x1=0.084731 ,count=57 x1=0.084773 ,count=58 x1=0.084735 ,count=59 x1=0.084456 ,count=60 x1=0.084416 ,count=61 x1=0.084294 ,count=62 x1=0.084248 ,count=63 x1=0.084266 ,x2=-0.008165 ,x2=-0.008492 ,x2=-0.008013 ,x2=-0.008463 ,x2=-0.008226 ,x2=-0.008670 ,x2=-0.008184 ,x2=-0.008710 ,x2=-0.008136 ,x2=-0.008441 ,x2=-0.008083 ,x2=-0.008414 ,x2=-0.008244 ,x2=-0.008552 ,x2=-0.008214 ,x3=0.062841 ,x3=0.062789 ,x3=0.059964 ,x3=0.05

温馨提示

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

评论

0/150

提交评论