最优化实验报告_第1页
最优化实验报告_第2页
最优化实验报告_第3页
最优化实验报告_第4页
最优化实验报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、最优化方法及其应用课 程 实 验 报 告 项目名称:最优化方法课程实验学生姓名:许庆平学生学号:3111008162指导教师:杨理平完成日期:2013年12月30一、 实验内容 项目一 一维搜索算法(一)实验目的编写加步探索法、对分法、Newton法的程序。实验学时2学时实验准备1掌握一维收搜索中搜索区间的加步探索法的思想及迭代步骤;2掌握对分法的思想及迭代步骤;3掌握Newton法的思想及迭代步骤。实验内容及步骤 编程解决以下问题:1用加步探索法确定一维最优化问题的搜索区间,要求选取2用对分法求解,已知初始单谷区间,要求按精度,分别计算3用Newton法求解,已知初始单谷区间,要求精度项目二

2、 一维搜索算法(二)实验目的编写黄金分割法、抛物线插值法的程序。实验学时2学时实验准备1掌握黄金分割法的思想及迭代步骤;2掌握抛物线插值法的思想及迭代步骤。实验内容及步骤编程解决以下问题:1用黄金分割法求解,已知初始单谷区间,要求精度2用抛物线插值法求解,已知初始单谷区间项目三 常用无约束最优化方法(一)实验目的编写最速下降法、Newton法(修正Newton法)的程序。实验学时2学时实验准备1掌握最速下降法的思想及迭代步骤。2掌握Newton法的思想及迭代步骤;3掌握修正Newton法的思想及迭代步骤。 实验内容及步骤编程解决以下问题:1用最速下降法求2用Newton法求,初始点3用修正Ne

3、wton求 ,初始点项目四 常用无约束最优化方法(二)实验目的编写共轭梯度法、变尺度法(DFP法和BFGS法)程序。实验学时 2学时实验准备1掌握共轭方向法的思路及迭代过程;2掌握共轭梯度法的思想及迭代步骤;3掌握DFP法和BFGS法的思想及迭代步骤。 实验内容及步骤编程解决以下问题:1用共轭梯度法求得,取初始点,2用共轭梯度法求,自定初始点,3用DFP法求,初始点项目五 常用约束最优化方法实验目的编写外点罚函数法、外点罚函数法的程序。实验学时2学时实验准备1掌握外点罚函数法的思想及迭代步骤;2掌握内点罚函数法的思想及迭代步骤。实验内容及步骤编程解决以下问题:1用外点罚函数法编程计算精度2用内

4、点罚函数法编程计算初始点取为,初始障碍因子取,缩小系数取二、 实验主要步骤首先用VC为每一个项目新建一个工程,再新建一个c+源文件再把有关头文件包含进去,有关头文件的定义: #include#include#include3、 程序清单项目一(1)/函数f(t)=t3-2t+1double f1(double t)double y;y=t*t*t-2*t+1;return y;/加步探索法double jiabu(double t,double h,double e)double t0,t1,y;t0=t;dot1=t0+h;if(f1(t1)f1(t0)t0=t1; h=2*h;elseif

5、(fabs(h)e) y=t0;break;h=-0.25*h;while(1);return y;/主函数void main()double t,h,e;coutt;couth;coute;double x=jiabu(t,h,e);cout极小点为:x=xendlminf(t)=f1(x)0) b=x0;x0=(a+b)*0.5;else a=x0;x0=(a+b)*0.5;while(fabs(a-b)=e);return x0;/主函数void main()double a,b,e;coutab;coute;double t=duifen(a,b,e);cout极小点为:x=tendl

6、minf(t)=t*(t+2)=e);return x0;/主函数Void main()double t,e;coutt;coute;double x=Newton(t,e);cout极小点为:x=xendlminf(t)=f1(x)=e)if(f1(m1)f1(m2)a=m1; m1=m2; m2=a+0.618*(b-a);elseb=m2;m2=m1;m1=a+0.382*(b-a);return 0.5*(b+a);int main()double a,b,e;coutab;coute;double t=gold(a,b,e);cout极小点为x=tendlminf(t)=t*(t+2

7、)endl;(2)/函数f(x)=8x3-2x2-7x+3double f2(double x)return 8*x*x*x-2*x*x-7*x+3;/抛物线插值法double paowuxian(double x0,double x1,double x2)double yy=0.5*(x1+x0-(f2(x1)-f2(x0)*(x2-x1)/(x1-x0)*(f2(x2)-f2(x1);return y;Void main()double a,b,c;coutabc;double x=paowuxian(a,b,c);cout极小点为x=:xendlminf(x)=f2(x)=e)a=(x1

8、*x1+625*x2*x2)/(2*x1*x1+31250*x2*x2);x1=x1-2*a*x1;x2=x2-50*a*x2;Void main()double x1,x2,e;coutx1x2;coute;xiajiang(x1,x2,e);cout极小点为:(x1,x2)endlminf(x)=x1*x1+25*x2*x2=e)x1=x1-(-8+x1);x2=x2-(-6+x2);Void main()double x1,x2,e; coutx1x2;coute;Newton(x1,x2,e);cout极小点为:(x1,x2)endl;coutminf(x)=60-10*x1-4*x2

9、+x1*x1+x2*x2-x1*x2=e)x1=x1-(x1+9/8.0);x2=x2-(x2-3/4.0);Void main()float x1,x2,e;coutx1x2;coute;Cnewton(x1,x2,e);cout极小点为:(x1,x2)endl;coutminf(x)=4*(x1+1)*(x1+1)+2*(x2-1)*(x2-1)+x1+x2+10endl;项目四(1)/共轭梯度法算min(x12+4x22)void Tidu1(double &a,double &b,double e)int k=0; double g=4*a*a+8*b*b;double s=-2*a,

10、q=-8*b;again1:double m=-(s*a+4*q*b)/(s*s+4*q*q); a=a+s*m; b=b+q*m;double g1=4*a*a+8*b*b;if(sqrt(g1)e)return ;else if(k1)double n=g1/g;s=-2*a+n*s;q=-8*b+n*q;k=k+1;goto again1;else Tidu1(a,b,e);/主函数void main()double x1,x2,e;coutx1x2;coute;Tidu1(x1,x2,e);cout极小点为x=(x1,x2)endl;coutminf(x)=x1*x1+4*x2*x2e

11、ndl;(2)/共轭梯度法算minf(x)=2x12+x22-x1*x2void Tidu2(double &a,double &b,double e)int k=0; double g=(4*a-b)*(4*a-b)+(2*b-a)*(2*b-a);double s=b-4*a,q=a-2*b;again2:double m=(a*q+s*b-4*a*s-2*b*q)/(4*s*s+2*q*q-2*s*q);a=a+s*m; b=b+q*m;double g1=(4*a-b)*(4*a-b)+(2*b-a)*(2*b-a);if(sqrt(g1)e)return ;else if(k1)do

12、uble n=g1/g;s=b-4*a+n*s;q=a-2*b+n*q;k=k+1;goto again2;else Tidu2(a,b,e);/主函数void main()double x1,x2,e;coutx1x2;coute;Tidu2(x1,x2,e);cout极小点为x=(x1,x2)endl;coutminf(x)=2*x1*x1+x2*x2-x1*x2endl;(3)/DEP法void DEP(double &a,double &b,double e)int k=0; double s=40-8*a,q=12-2*b;again:double m=(6*q+20*s-b*q)/

13、(4*s*s+q*q);double a1=a+m*s,b1=b+m*q;double g=(8*a1-40)*(8*a1-40)+(2*b-12)*(2*b-12);if(sqrt(g)e)a=a1;b=b1;return;elseif(k1)double x=a1-a,y=b1-b;double c=8*(a1-a),d=2*(b1-b);double h1=1+x*x/(x*c+y*d)-c*c/(c*c+d*d);double h2=x*y/(x*c+y*d)+c*d/(c*c+d*d);double h3=h2;double h4=1+y*y/(x*c+y*d)-d*d/(c*c+d

14、*d);double g1=8*a1-40,g2=2*b1-12;s=-h1*g1-h2*g2;q=-h3*g1-h4*g2;k=k+1;goto again;else DEP(a1,b1,e);/主函数void main()double x1,x2,e;coutx1x2;coute;DEP(x1,x2,e);cout极小点为x=(x1,x2)endl;coutminf(x)=4*(x1-5)*(x1-5)+(x2-6)*(x2-6)=e);void main()double x1,x2,e;coute;waidian(x1,x2,e);cout极小点为x=(x1,x2)endl;coutminf(x)=-x1+x2=e&b=e

温馨提示

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

评论

0/150

提交评论