




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上太原理工大学机械学院机测系课程上机实验报告课 程 名 称: 机械优化设计 班级机测2班日 期 成绩评定 姓名陈明鑫实验室机械馆机房 老师签名 实验名称利用外点罚函数法求解相关函数的极小值点所用软件实验目的及内容 实验目的:1.掌握并能够建立最优化基本类型问题的数学模型。2.掌握最优化方法的基本概念、基本理论和基本方法,奠定最优化的理论基础。3.能够熟练编制和调试最优化方法的程序,奠定解决实际中的优化问题的基础实验内容:理解外点罚函数法并编写相关程序求其极小值点。实验 原理步骤、实验结果及分析 外点罚函数法计算
2、结果*外点惩罚函数法计算结果*无约束优化方法:鲍威尔法*+一维搜索方法:黄金分割法+*初始惩罚因子:r0= 1.00* 递增系数:c0=10.00*初始坐标: x( 0)= 0., 0., f( 0)= 1.迭代轮数 k= 1 x( 1)= 0., 0., f( 1)= 0. 迭代精度: 0.迭代轮数 k= 2 x( 2)= 0., -0., f( 2)= 0. 迭代精度: 0.迭代轮数 k= 3 x( 3)= 0., 0., f( 3)= 0. 迭代精度: 0.迭代轮数 k= 4 x( 4)= 0., -0., f( 4)= 0. 迭代精度: 0.迭代轮数 k= 5 x( 5)= 0., 0
3、., f( 5)= 0. 迭代精度: 0.迭代轮数 k= 6 x( 6)= 1., -0., f( 6)= 1. 迭代精度: 0.迭代轮数 k= 7 x( 7)= 1., 0., f( 7)= 1. 迭代精度: 0.迭代轮数 k= 8 x( 8)= 1., -0., f( 8)= 1. 迭代精度: 0.迭代轮数 k= 9 x( 9)= 1., -0., f( 9)= 1. 迭代精度: 0.*外点惩罚函数法优化最优点及目标函数值为: x( *)= 1., -0., f( *)= 1. 迭代精度: 0.罚函数法考核题 外点 :,其初始迭代点为,中止误差 内点 :,其初始迭代点为,中止误差 *外点惩
4、罚函数法计算结果*无约束优化方法:鲍威尔法*+一维搜索方法:黄金分割法+*初始惩罚因子:r0= 1.00* 递增系数:c0=10.00*初始坐标: x( 0)= 2., 2., f( 0)= 18.迭代轮数 k= 1 x( 1)= 1., 0., f( 1)= 0. 迭代精度: 1.迭代轮数 k= 2 x( 2)= 0., 0., f( 2)= 1. 迭代精度: 0.迭代轮数 k= 3 x( 3)= 0., 0., f( 3)= 1. 迭代精度: 0.迭代轮数 k= 4 x( 4)= 0., 0., f( 4)= 1. 迭代精度: 0.迭代轮数 k= 5 x( 5)= 0., 0., f( 5
5、)= 1. 迭代精度: 0.迭代轮数 k= 6 x( 6)= 0., 0., f( 6)= 1. 迭代精度: 0.迭代轮数 k= 7 x( 7)= 0., 0., f( 7)= 1. 迭代精度: 0.迭代轮数 k= 8 x( 8)= 0., 0., f( 8)= 1. 迭代精度: 0.迭代轮数 k= 9 x( 9)= 0., 0., f( 9)= 1. 迭代精度: 0.迭代轮数 k= 10 x( 10)= 0., 0., f( 10)= 1. 迭代精度: 0.*外点惩罚函数法优化最优点及目标函数值为: x( *)= 0., 0., f( *)= 1. 迭代精度: 0.算法程序实现/*鲍威尔法*
6、/ #include <string.h>#include <stdio.h>#include <math.h>#include <stdlib.h>#include <time.h>#define N 2 /*优化设计维数*/#define EPSIN 0. /*迭代精度*/#define H_QJ 1.0 /*初始区间搜索步长*/#define Y_F 1 /*一维搜索方法选择:1黄金分割法*/ /* 2二次插值法*/ #define MC 10.0 /*惩罚因子递增系数*/#define NG 1 /*不等式约束个数*/#def
7、ine NH 1 /*等式约束个数*/FILE *fp;double mr=1.0; /*外点惩罚因子*/char outname50="外点惩罚函数法计算结果.txt" /*计算结果输出文件*/*给出初始点坐标*/void csd_x(double x0)int i;for(i=0;i<N;i+) /*初始点为坐标原点的情况*/x0i=0.0;return;/*目标函数*/double hanshu1(double x)double f;f=x0*x0+x1*x1; return f;/*不等式约束方程*/void strain(double x,double g,
8、double h)double eb;eb=EPSIN;g0=x0-1.0-eb*10.0;/g1=1.0-(x0+x1)-eb*10.0;h0=0.0; /*至少有一个为0的等式约束*/return;/*以上为修改部分*/*惩罚函数*/double hanshu(double x)int i;double f,f1,gNG,hNH;f=hanshu1(x);strain(x,g,h);f1=0.0;for(i=0;i<NG;i+)if(gi<0.0)f1+=gi*gi;for(i=0;i<NH;i+)f1+=hi*hi;f+=mr*f1; return f;/*计算f(xk
9、+as)*/double xkadd(double x,double d,double a)int i;double x1N;for(i=0;i<N;i+)x1i=xi+a*di;return hanshu(x1);/*输出选定的一维迭代方法*/void ywddf(int yw)switch(yw)case 1:fprintf(fp,"+一维搜索方法:黄金分割法+nn");break;case 2:fprintf(fp,"+一维搜索方法:二次插值法+nn");break;return;/*输出当前迭代点坐标及目标函数值*/double xfout
10、(double x,int m)int j;double f;f=hanshu(x);fprintf(fp," x(%3d)=",m);for(j=0;j<N-1;j+)fprintf(fp,"%15.7lf,",xj);fprintf(fp,"%15.7lf, f(%3d)=%15.7lfn",xN-1,m,f);return f;/*初始搜索区间的确定*/void csssqj(double x,double d,double h,double ab)double a1,a2,a3,f1,f2,f3;a2=0.0;a3=a2
11、+h;f2=xkadd(x,d,a2);f3=xkadd(x,d,a3);if(f3>f2)a2=a3;a3=0.0;f1=f2;f2=f3;f3=f1;h=-h;doa1=a2;a2=a3;f1=f2;f2=f3;a3=a2+h;f3=xkadd(x,d,a3);h=2*h;while(f3<f2);if(h>0.0)ab0=a1;ab1=a3;elseab0=a3;ab1=a1;return;/*黄金分割法*/void goldcut(double x,double d,double h,double ebsin)double a1,a2,f1,f2,a,b,ab2;in
12、t i;csssqj(x,d,h,ab);a=ab0;b=ab1;a1=b-0.618*(b-a);f1=xkadd(x,d,a1);a2=a+0.618*(b-a);f2=xkadd(x,d,a2);doif(f1>f2)a=a1;a1=a2;f1=f2;a2=a+0.618*(b-a);f2=xkadd(x,d,a2);elseb=a2;a2=a1;f2=f1;a1=b-0.618*(b-a);f1=xkadd(x,d,a1);while(b-a>ebsin);for(i=0;i<N;i+)xi+=(b+a)*di/2;return;/*二次插值法*/int rccz(d
13、ouble x,double d,double h,double ebsin)double a1,a2,a3,a4,f1,f2,f3,f4,c1,c2,ab2;int i,p=0,k=0;csssqj(x,d,h,ab);a1=ab0;a3=ab1;a2=(a1+a3)/2;f1=xkadd(x,d,a1);f2=xkadd(x,d,a2);f3=xkadd(x,d,a3);while(1)c1=(f3-f1)/(a3-a1);c2=(f2-f1)/(a2-a1)-c1)/(a2-a3);if(0=c2)p=1;break;a4=0.5*(a1+a3-c1/c2);if(a4-a1)*(a3-
14、a4)<=0.0)p=2;break;f4=xkadd(x,d,a4);if(1=k&&fabs(a4-a2)<=ebsin)break;if(a4<a2)if(f2>f4)f1=f2;a1=a2;k=1;a2=a4;f2=f4;elsea3=a4;f3=f4;elseif(f2>f4)f3=f2;a3=a2;k=1;a2=a4;f2=f4;elsea1=a4;f1=f4;if(0=p)f1=f4-f2?a4:a2;elsef1=a2;for(i=0;i<N;i+)xi+=f1*di;return p;/*鲍威尔*/void baowr(do
15、uble x,double h,double ebsin,int yw)double dNN,x0N,x1N,fN+2,df,df1;int i,j,k=1,m;fN=hanshu(x);for(i=0;i<N;i+)for(j=0;j<N;j+)dij=0.0;for(i=0;i<N;i+)dii=1.0;dofor(i=0;i<N;i+)x0i=xi;f0=fN;switch(yw)case 1:for(i=0;i<N;i+)goldcut(x,di,h,ebsin);fi+1=hanshu(x);break;case 2:for(i=0;i<N;i+)
16、j=rccz(x,di,h,ebsin);fi+1=hanshu(x);break;for(i=0;i<N;i+)x1i=2*xi-x0i;fN+1=hanshu(x1);df=0.0;m=0;for(i=0;i<N;i+)df1=fi-fi+1;if(df1>df)df=df1;m=i;df1=(f0-2*fN+fN+1)*(f0-fN-df)*(f0-fN-df);df1-=0.5*df*(f0-fN+1)*(f0-fN+1);if(fN+1>=f0|df1>=0.0)if(fN>fN+1)for(i=0;i<N;i+)xi=x1i;elsefor
17、(i=m;i<N-1;i+)for(j=0;j<N;j+)dij=di+1j;for(i=0;i<N;i+)dN-1i=xi-x0i;switch(yw)case 1:goldcut(x,dN-1,h,ebsin);break;case 2:j=rccz(x,dN-1,h,ebsin);break;fN=hanshu(x);df=0.0;for(i=0;i<N;i+)df+=(xi-x0i)*(xi-x0i);df=sqrt(df);k+;while(df>ebsin);return;/*外点惩罚函数法*/void sumt(double x,double h,d
18、ouble ebsin,int yw)int i,k;double x0N,fact,f,mc;mc=MC;fprintf(fp,"*外点惩罚函数法计算结果*nn");fprintf(fp,"*无约束优化方法:鲍威尔法*n");ywddf(yw); /*输出一维迭代方法*/fprintf(fp,"*初始惩罚因子:r0=%5.2lf*n",mr);fprintf(fp,"* 递增系数:c0=%5.2lf*nn",mc);fprintf(fp,"初始坐标:n");f=xfout(x,0);fprintf(fp,"n");k=1;dofprintf(fp,"迭代轮数 k=%3d n",k);for(i=0;i<N;i+)x0i=xi;baowr(x,h,ebsin,yw);f=xfout(x,k);fact=0.0;for(i=0;i<N;i+)f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火锅新品测试题及答案
- 家具设计中的用户体验与情感设计交互关系研究探讨试题及答案
- 北京昌平崔村社区卫生服务中心招聘笔试真题2024
- 如何提高创业者的政策意识与素养试题及答案
- 大学物理知识更新试题及答案
- 幼儿园数学核心能力题与答案解析
- 施工安全生产管理审查相关考题试题及答案
- 小学教师反思与教育创新的实践考题
- 欢乐数学幼儿园试题及答案
- 教师个人成长与反思的关系试题及答案
- 阿司匹林的研究进展
- 装配钳工(中级)试题库
- 养老护理员职业技能等级认定三级(高级工)理论知识考核试卷
- 餐饮业消防安全管理制度
- 研发费用加计扣除政策执行指引(1.0版)
- GB/T 20647.9-2006社区服务指南第9部分:物业服务
- 海洋油气开发生产简介课件
- 重庆十八梯介绍(改)课件
- 一级病原微生物实验室危害评估报告
- 设备机房出入登记表
- 起重吊装作业审批表
评论
0/150
提交评论