您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 《机械优化设计》课程实践报告
1合肥工业大学《机械优化设计》课程实践研究报告班级:机械设计制造及其自动化11-4班学号:姓名:授课老师:王卫荣日期:2014年4月25日2一、研究报告内容:1、λ=0.618的证明、一维搜索程序作业;2、单位矩阵程序作业;3、连杆机构问题+自行选择小型机械设计问题或其他工程优化问题;(1)分析优化对象,根据设计问题的要求,选择设计变量,确立约束条件,建立目标函数,建立优化设计的数学模型并编制问题程序;(2)选择适当的优化方法,简述方法原理,进行优化计算;(3)进行结果分析,并加以说明。4、写出课程实践心得体会,附列程序文本。5、为响应学校2014年度教学工作会议的改革要求,探索新的课程考核评价方法,特探索性设立一开放式考核项目,占总成绩的5%。试用您自己认为合适的方式(书面)表达您在本门课程学习方面的努力、进步与收获。(考评将重点关注您的独创性、简洁性与可验证性)。二、研究报告要求1、报告命名规则:学号-姓名-《机械优化设计》课程实践报告.doc2、报告提交邮址:weirongw@hfut.edu.cn(收到回复,可视为提交成功)。追求:问题的工程性,格式的完美性,报告的完整性。不追求:问题的复杂性,方法的惟一性。评判准则:独一是好,先交为好;切勿拷贝。3尊敬的王老师:您好!对于本次作业拖到最后才交,实在不好意思,只因为了追求作业的质量,通过自己的努力去完成好本次作业,而不是随便去复制一些东西,就算复制的也一一进行了相关验证,争取做到正真的掌握。本次作业程序部分是运用visualstudio2013进行编程,并运行成功!同时,为了便于以后进行相关操作,将运用0.618法的一维搜索作业和单位矩阵程序作业的编程编辑成软件。软件运行环境:在装有visualstudio2013的计算机上。运行步骤:打开“20110486朱谢飞优化设计作业程序包”文件夹——打开“bin”文件夹——打开“Debug”文件夹——点击“windowsformsapplication1.exe”。同时为了方便操作,将三个程序运行段的控制放在一个控制面板上,Form1是0.618法第一题控制面板,Form2是0.618法第二题控制面板,Form3是单位矩阵控制面板,以上三个面板之间可以直接通过控制面板上的控制按钮进行切换。具体软件和相关程序见“20110486朱谢飞优化设计作业程序包”文件夹。第三部分采用MATLAB对螺栓组联结进行优化设计。41、λ=0.618的证明、一维搜索程序作业;1.1λ=0.618的证明证明:0.618法要求插入点α1、α2的位置相对于区间[a,b]两端点具有对称性,即已知a1=a2,要求α11=α22由于α1=b-λ(b-a)α2=a+λ(b-a)若使α11=α22则有:b1-λ(b1-a1)=a2+λ(b2-a2)=a1+λ2(b1-a1)因此:b1-a1=(λ2+λ)(b1-a1)(b1-a1)(λ2+λ-1)=0因为:b1=a1所以:λ2+λ-1=0则有:取方程正数解得若保留下来的区间为[α1,b],根据插入点的对称性,也能推得同样的λ的值。其0.618法的程序框图如下:561.2编写用0.618法求函数极小值的程序例:(1)a=0,b=2π,f(x)=cox(x)(2)a=0,b=10,f(x)=(x-2)2+3(1)程序usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){inti=0;doublea1,a2,aa,y1,y2,ymin,ei;doublea=0,b=2*3.14159,lambda=0.618;a1=b-lambda*(b-a);a2=a+lambda*(b-a);y1=Math.Cos(a1);y2=Math.Cos(a2);ei=System.Convert.ToDouble(textBox1.Text);for(i=0;i=10000;i++){if((y1y2)||(y1==y2)){a=a1;a1=a2;7y1=y2;a2=a+lambda*(b-a);y2=Math.Cos(a2);}if(y1y2){b=a2;a2=a1;y2=y1;a1=b-lambda*(b-a);y1=Math.Cos(a1);}if(Math.Abs((b-a)/b)ei){if(Math.Abs((y2-y1)/y2)ei){aa=(a+b)/2;ymin=Math.Cos(aa);label2.Text=x=+aa+\r+\r+f(x)=+ymin;break;}}}}privatevoidbutton2_Click(objectsender,EventArgse){this.Hide();Form2frm2=newForm2();frm2.ShowDialog();}privatevoidbutton3_Click(objectsender,EventArgse){this.Hide();Form3frm3=newForm3();frm3.ShowDialog();}}}8运行结果:(2)程序usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication19{publicpartialclassForm2:Form{publicForm2(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){inti=0;doublea1,a2,aa,y1,y2,ymin,ei;doublea=0,b=10,lambda=0.618;a1=b-lambda*(b-a);a2=a+lambda*(b-a);y1=Math.Pow((a1-2),2)+3;y2=Math.Pow((a2-2),2)+3;ei=System.Convert.ToDouble(textBox1.Text);for(i=0;i=10000;i++){if((y1y2)||(y1==y2)){a=a1;a1=a2;y1=y2;a2=a+lambda*(b-a);y2=Math.Pow(a2-2,2)+3;}if(y1y2){b=a2;a2=a1;10y2=y1;a1=b-lambda*(b-a);y1=Math.Pow((a1-2),2)+3;}if(Math.Abs((b-a)/b)ei){if(Math.Abs((y2-y1)/y2)ei){aa=(a+b)/2;ymin=Math.Pow((aa-2),2)+3;label2.Text=x=+aa+\r+\r+f(x)=+ymin;break;}}}}privatevoidbutton2_Click(objectsender,EventArgse){this.Hide();Form1frm1=newForm1();frm1.ShowDialog();}privatevoidbutton3_Click(objectsender,EventArgse){this.Hide();Form3frm3=newForm3();frm3.ShowDialog();}}}11运行结果:2、单位矩阵程序作业编写生成单位矩阵的程序程序文本usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm3:Form12{publicForm3(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){int[,]arr=newint[100,100];doubleN;inti,j;stringli=;N=System.Convert.ToDouble(textBox1.Text);/*****制作表头*****///for(i=0;iN;i++)/*****横行序号*****///li=li+System.Convert.ToString(i+1);//li=li+\r;//for(i=0;iN+1;i++)//li=li+--------------;/*****分割线*****///li=li+\r;for(i=0;i100;i++)/*****数组赋值*****/for(j=0;j100;j++){if(i==j)arr[i,j]=1;elsearr[i,j]=0;}for(i=0;iN;i++)/*****输出所需数组*****/{//Console.Write(i+1);if((i+1)10){li=li+第+(i+1)+行+;/*****纵列序号10*****/}elseli=li+第+(i+1)+行+;for(j=0;jN;j++){13li=li+System.Convert.ToString(arr[i,j]);li=li+;}li=li+\r+\r;}label2.Text=li;}privatevoidbutton2_Click(objectsender,EventArgse){this.Hide();Form1frm1=newForm1();frm1.ShowDialog();}privatevoidbutton3_Click(objectsender,EventArgse){this.Hide();Form2frm2=newForm2();frm2.ShowDialog();}}}14结果显示从键盘输入15,显示15阶单位矩阵,结果如下153、连杆机构问题+自行选择小型机械设计问题或其他工程优化问题;(1)分析优化对象,根据设计问题的要求,选择设计变量,确立约束条件,建立目标函数,建立优化设计的数学模型并编制问题程序;(2)选择适当的优化方法,简述方法原理,进行优化计算;(3)进行结果分析,并加以说明。3.1连杆机构问题描述图3-1机构简图设计一曲柄连杆摇杆机构,要求曲柄l1从从时,摇杆的转角最佳再现已知的运动规律:且=1,=5,为极位角,其传动角允许在范围内变化。3.1.1数学模型的建立设计变量:这里有两个独立参数和。因此设计变量为目标函数:将输入角分成30等分,并用近似公式计算,可得目标函数的表达式约束条件:GX(1)=-X(1)0GX(2)=-X(2)0GX(3)=-(X(1)+X(2))+6.00GX(4)=-(X(2)+4.0)+X(1)0GX(5)=-(4.0+X(1))+X(2)0GX(6)=-(1.4142*X(1)*X(2)-X(1)**2-X(2)**2)-16
本文标题:《机械优化设计》课程实践报告
链接地址:https://www.777doc.com/doc-4394926 .html