欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    机械优化设计实验报告.doc

    • 资源ID:3673828       资源大小:49.50KB        全文页数:7页
    • 资源格式: DOC        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    机械优化设计实验报告.doc

    机械优化设计实验报告 Compilation of reports 20XX 报 告 汇 编 报告文档借鉴学习 word 可编辑实用文档 机械优化设计 实验报告 报告文档借鉴学习 word 可编辑实用文档 目录 1.进退法确定初始区间 . 4 1.1 进退法基本思路 . 4 1.2 进退法程序框图 . 4 1.3 题目 . 4 1.4 源程序代码及运行结果 . 4 2.黄金分割法 . 5 2.2 黄金分割法流程图 . 5 2.3 题目 . 6 2.4 源程序代码及结果 . 6 3.牛顿型法 . 6 3.1 牛顿型法基本思路 . 7 3.2 阻尼牛顿法的流程图 . 7 3.3 题目 . 7 3.4 源程序代码及结果 . 7 4.鲍威尔法 . 8 4.1 鲍威尔法基本思路 . 8 4.2 鲍威尔法流程图 . 8 43 题目 . 9 4.4 源程序代码及结果 . 9 5. 复合形法 . 16 5.1 复合行法基本思想 . 16 5.3 源程序代码及结果 . 16 6. 外点惩罚函数法 . 24 6.1 解题思路:. 24 6.2 流程框图 . 24 6.3 题目 . 24 6.4 源程序代码及结果 . 24 7.机械设计实际问题分析 . 30 7.2 计算过程如下 . 30 7.3 源程序编写 . 31 8.报告总结 . 33 报告文档借鉴学习 word 可编辑实用文档 1. 进退法确定初始区间 1.1 进退法基本思路 :按照一定的规则试算若干个点,比较其函数值的大小,直至找到函数值按“高-低-高”变化的单峰区间。1.2 进退法程序框图 1.3 题目 :用进退法求解函数 ( )27 10 f x x x = - + 的搜索区间 1.4 源程序代码及运行结果 #include #include main() float h,h0,y1,y2,y3,a1=0,a2,a3,fa2,fa3; scanf(“h0=%f,y1=%f”,&h0,&y1); h=h0;a2=h;y2=a2*a2-7*a2+10; if (y2>y1) h=-h;a3=a1;y3=y1; loop:a1=a2;y1=y2;a2=a3;y2=y3; a3=a2+2*h;y3=a3*a3-7*a3+10; 报告文档借鉴学习 word 可编辑实用文档 if (y3eps) if(y1>=y2) a=a1; a1=a2; y1=y2; a2=a+0.618*(b-a); y2=f(a2); else b=a2;a2=a1;y2=y1; a1=b-0.618*(b-a); y1=f(a1); end end xxx=0.5*(a+b) f = Inline function: f(x) = x-7*x+9 xxx = 3.4997 3. 牛顿型法 报告文档借鉴学习 word 可编辑实用文档 3.1 牛顿型法基本思路 :在kx 邻域内用一个二次函数 ( ) x f 来近似代替原目标函数,并将 ( ) x f 的极小点作为对目标函数 ( ) f x 求优的下一个迭代点1 kx+。经多次迭代,使之逼近目标函数 ( ) f x 的极小点。3.2 阻尼牛 顿法的流程图 : 3.3 题目 :用牛顿阻尼法求函数 ( ) ( ) ( )41 2 1 1 2, 2 2 f x x x x x = - + - 的极小点 3.4 源程序代码及结果 : 开始给定结束0, e x2 1 ( ) ( )k k kf f- d x x1:min ( )k k kkk kkfaaa a+ +x x dx d1 k ke+- < x x* 1 k+ x x否是1 k k +0 k 报告文档借鉴学习 word 可编辑实用文档 k=0; ptol=1.0e-5; xk=input(“input x0:”) itcl=1;1; while norm(itcl)>=ptol f1=4*xk(1,1)-24*xk(1,1)+50*xk(1,1)-4*xk(2,1)-32;-4*xk(1,1)+8*xk(2,1); G=12*xk(1,1)-48*xk(1,1)+50,-4;-4,8; dk=-inv(G)*f1; a=-(dk”*f1)/(dk”*G*dk); xk=xk+a*dk; itcl=a*dk; k=k+1; end f=(xk(1,1)-2)+(xk(1,1)-2*xk(2,1); fprintf(“n %d x* f :n”,k); disp(xk); disp(f); 结果显示:input x0:1;1 用阻尼牛顿法迭代 27 次后得到 极小点 x*及极小值 f 为: 2.0000 1.0000 1.3270e-019 4. 鲍威尔法 4.1 鲍威尔法基本思路 :在不用导数的前提下,在迭代中逐次构造 G 的共轭方向。4.2 鲍威尔法流程图 :报告文档借鉴学习 word 可编辑实用文档 4 3 题目 :求函数 f(x)= x0*x0+x1*x1-x0*x1-10*x0-4*x1+60的最优点,收敛精度=0.001 4.4 源程序代码及结果 : #include “stdio.h” #include “stdlib.h” #include “math.h” double objf(double x) double ff; ff=x0*x0+x1*x1-x0*x1-10*x0-4*x1+60; return(ff); 报告文档借鉴学习 word 可编辑实用文档 void jtf(double x0,double h0,double s,int n,double a,double b) int i; double *x3,h,f1,f2,f3; for(i=0;i=f1) h=-h0; for(i=0;if2) for(i=0;ieps); for(i=0;idlt) dlt=df; m=j; sdx=0; for(i=0;i #include #include #include #define E0 1e-5 /*复合形法收敛控制精度*/ 报告文档借鉴学习 word 可编辑实用文档 double *apply(int,int); /*申请矩阵空间*/ double f(double *); /*目标函数*/ double *g(double *); /*约束函数*/ bool judge(double *); /*可行点的判断*/ int main() int n,k; int i,j,k1; int l; double temporary; double restrain; /*收敛条件*/ double reflect; /*反射系数*/ srand(unsigned)time(NULL); printf(“请输入目标函数的维数 n:”); /*输入已知数据*/ scanf(“%d”,&n); printf(“请输入复合形的顶点数 k:”); scanf(“%d”,&k); double *x=apply(k,n); /*存放复合形顶点*/ double *y=(double *)calloc(k,sizeof(double); /*存放目标函数值*/ double *p=(double *)calloc(3,sizeof(double); /*存放约束函数值*/ double *a=(double *)calloc(n,sizeof(double); /*存放设计变量的下限*/ double *b=(double *)calloc(n,sizeof(double); /*存放设计变量的上限*/ double *x_c=(double *)calloc(n,sizeof(double); /*存放可行点中心*/ double *x_r=(double *)calloc(n,sizeof(double); /*存放最坏点的反射点*/ printf(“请输入选定的第一个可行点 x1(包含%d 个数):”,n); for(i=0;i0) break; if(i=3) return true; else return false; 报告文档借鉴学习 word 可编辑实用文档 6. 外点惩罚函数法 6.1 :解题思路:外点法是从可行域的外部构造一个点序列去逼近原约束问题的最优解。外点法可以用来求解含不等式和等式约束的优化问题。外点惩罚函数的形式为:6.2 流程框图 : 6.3 题目:求函数 f(x)=(x1-5)*(x1-5)+4*(x2-6)*(x2-6)的最优点,约束条件:g1(x)=64-x1*x1-x2*x20;g2(x)=x2-x1-100;g3(x)=x1-100;收敛精度=0.00001; 6.4 源程序 代码及结果 : 2 21 1( , ) ( ) max0, ( ) ( )m li ji jr f r g r h f= = + + x x x x报告文档借鉴学习 word 可编辑实用文档 #include #include #include double lamta10=0, 1.0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,1;/鲍威尔方法初始化方向,线性无关 double lamta13=0, 0 , 0;/暂存新的搜索方向 double x14=0, 0 ,0, 0 ;/x1 到 x3 用于存储各共轭方向的点 double x24=0, 0 ,0, 0 ; double x34=0, 0 ,0, 0 ; double x44=0, 0 ,0, 0 ;/x4 用于中间判断 double x54=0, 0 ,0, 0 ;/x5 用存放于更换方向后产生的新点 int m=0;/标志 double x_4=0, 0, 0, 0;/暂存鲍威尔最优解 double x04=0, 2, 2 , 2;/初值 double c=10;/递减系数 double e=0.00001;/精度控制 double r0=1;/初始惩罚因子 double r=1; /函数声明部分 void Powell(double r); /鲍威尔方法函数 double fxy(double x1,double x2,double x3,double r); /待求函数 double ysearch(double x); /一维搜索的目标函数 void search(double &a,double &b,double h); /区间搜索 double yellowcut(double &a,double &b); /黄金分割 void sort(double *p,int size);/选择法排序 void main() /约束优化方法主函数入口 cout>e; changyan:Powell(r); double cmpare4; int flag1=0; for (int i=1;i0)?(64-x1*x1-x2*x2):0; n=(x2-x1-10)>0)?(x2-x1-10):0; p=(x1-10)>0)?(x1-10):0; return /惩罚函数 (x1-5)*(x1-5)+4*(x2-6)*(x2-6)+r*(m*m+n*n+p*p)+r*(x3*x3); void Powell(double r) /鲍威尔方法函数定义 double det=0.0001; /迭代精度 int k; my1: for (k=1;k=fyy2) if (f3=y1) h=-h,a3=a1,y3=y1; a1=a2,y1=y2,a2=a3,y2=y3; a3=a2+h,y3=ysearch(a3); 报告文档借鉴学习 word 可编辑实用文档 while(y3*(p+j)k=*(p+i);*(p+i)=*(p+j);*(p+j)=k; 报告文档借鉴学习 word 可编辑实用文档 7. 机械设计实际问题分析 7.1 题目 :图 示 为 一 对 称 的 两 杆 支 架 , 在 支 架 的 顶 点 承 受 一 个 载 荷 为2 2F F= =3 30 00 00 00 00 0 , , 支 架 之 间 的 水 平 距离 离 2 2B B= =1 15 52 20 0 m m, , 若 已 选 定 壁厚 厚T T= =2 2. .5 5 m m钢 钢 管 ,密度 度p p= =8 83 30 00 0k kg g/ / m3 3, , 屈 服点 点 , , 材 料 的 弹 性 模量 量 。 要 求 在 满 足 强 度 与 稳 定 性 条 件 下 设 计 最 轻 的 支 架 尺 寸。 7.2 计算过程如下:解:计算压杆的临界柔度为:4 . 5510 70010 1 . 2611 2 21= = =psplSE, 由于支架为空心杆,失效形式主要为屈服,故计算稳定性用屈服极限公式。根据题意可得方程组:( )2 2 22 2 2 r R B V - = p ( )2 21r R A FS S- = ps s 700Mpass =700Mpass =11 22.1 10 N/m E = 报告文档借鉴学习 word 可编辑实用文档 T r R = - , 4sin 21pF F = 代入整理得到内点混合惩罚函数法的标准形式为:( )( )22214315 . 42 x x fx- = ( )( )( )0 46 . 96002221 32 21 1< + - =< - =< - =x x gx gx gxxx ( )0 5 . 22 1= - - = x x hx 构建惩罚函数:( )( )( ) ( ) ()( )( ) kk k kr Xrx xx x r x r x r x x22 1 222122212221 ,5 . 246 . 96 86 . 84- -+ + - + - - - =) (f ( ) ( ) ( )1 . 0 c 1 r r ,0 1= = =+, 的初值 其中k kcr r, 取( ) TX 0 , 00= , ( )求偏导数:和 分别对, 2 1 r Xx x f ( )( )0005 . 0 2 24 73 . 1692 11 11=- -+ + =kkrx xx r xxf ( )0005 . 0 2 273 . 1692 122=- - - =krx xxxf 解得:( )( )( ) ( )( ) ( )( ) ( )( ) ( ) k kk kk kk k kr rr rxr rr r rx38 1726 . 16801 . 0 21 . 00025 . 038 172 . 168) 01 . 0 21 . 0 ( 42 121-+=+-+ -= 令迭代精度为:710-= e ,由于函数是 X 的 2 次方程,故不必判别函数值的相对变化量。( ) ( )01 . 0 ,1= =+c cr rk k 7.3 源程序编写 报告文档借鉴学习 word 可编辑实用文档 #include #include double GetX3( double r) return (1-42*sqrt(r)*(0.21*sqrt(r)+0.01*r)/(168.172*sqrt(r)-38*r)+0.0025; double GetX4( double r) return (0.21*sqrt(r)+0.01*r)/(168.172*sqrt(r)-38*r); double F( double x3,double x4) return 42.4315*(x3*x3-x4*x4); main() double x1=0,x2=0,x3,x4,r=1,c=0.01,m=0.0000001; int i=1; x3=GetX3(r); x4=GetX4(r); while(1) printf(“迭代次数:%dn”,i); printf(“r=%.12fn”,r); printf(“x1=%fn”,x3); printf(“x2=%fn”,x4); printf(“n”); r=c*r; x1=x3; x2=x4; x3=GetX3(r); x4=GetX4(r); if(fabs(x1-x3)<=m)&&(fabs(x4-x2)<=m) break; i+; printf(“最优解为:n”); printf(“R=%f(单位:米)n”,x3); printf(“r=%f(单位:米)n”,x4); printf(“最小体积 V=%f(单位:立方米)n”,F(x3,x4); 报告文档借鉴学习 word 可编辑实用文档 return(0); 用 C 语言编程计算,求得结果为:最小外径 R=3.749mm, 最小内径 r=1.249mm, 最小体积:v=530000 立方毫米 故满足强度与稳定性条件下最轻的支架尺寸约为外径 3.75mm,内径 1.25mm。8. 报告总结 通过这一段时间的学习我了解到机械优化设计是以数学规划论为基础,以计算机为工具,一种自动寻优的先进的、现代的设计方法。根据设计所追求的性能目标,建立目标函数,在满足给定的各种约束条件下,寻求最优的设计方案。可见它是非常经典的一门学科。再加上王卫荣老师系统全面科学的教授过程,更是使这一学科魅力十足,强烈地吸引着我对它的深入学习和实践。在课程学习过程中我明白了很多工程问题是可以转化为数学模型并可以通过计算机求解。同时了解了delphi的基本的使用技巧,并且复习了C语言和matlab编程相关知识,并将其应用到了约束随机法、惩罚函数法去求解问题,收获颇多。优化设计同时也教会了我如何追求“优”,同时使自己有能力、有办法“化”到优! 第 7 页

    注意事项

    本文(机械优化设计实验报告.doc)为本站会员(长青)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开