《723编号机械优化设计实验报告》由会员分享,可在线阅读,更多相关《723编号机械优化设计实验报告(32页珍藏版)》请在金锄头文库上搜索。
1、机械优化设计机械优化设计 实验报告实验报告 目录目录 1.进退法确定初始区间.3 1.1 进退法基本思路.3 1.2 进退法程序框图.3 1.3 题目.4 1.4 源程序代码及运行结果.4 2.黄金分割法.5 2.2 黄金分割法流程图.5 2.3 题目.5 2.4 源程序代码及结果.5 3.牛顿型法.6 3.1 牛顿型法基本思路.6 3.2 阻尼牛顿法的流程图.6 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
2、源程序代码及结果.16 6. 外点惩罚函数法.24 6.1 解题思路:.24 6.2 流程框图.24 6.3 题目.24 6.4 源程序代码及结果.24 7.机械设计实际问题分析.30 7.2 计算过程如下.30 7.3 源程序编写.32 8.报告总结.33 1.进退法确定初始区间进退法确定初始区间 1.1 进退法基本思路:进退法基本思路:按照一定的规则试算若干个点,比较其函数值的 大小,直至找到函数值按“高-低-高”变化的单峰区间。 1.2 进退法程序框图进退法程序框图 1.3 题目:题目:用进退法求解函数的搜索区间 2 710f xxx 1.4 源程序代码及运行结果源程序代码及运行结果 #
3、include #include main() float h,h0,y1,y2,y3,a1=0,a2,a3,fa2,fa3; scanf(h0=%f,y1=%f, h=h0;a2=h;y2=a2*a2-7*a2+10; if (y2y1) 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; 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*
4、(b-a); y1=f(a1); end end xxx=0.5*(a+b) f = Inline function: f(x) = x2-7*x+9 xxx = 3.4997 3.牛顿型法3.牛顿型法 3.1 牛顿型法基本思路牛顿型法基本思路:在邻域内用一个二次函数 来近 k x x 似代替原目标函数, 并将 的极小点作为对目标函数求优的下一个迭代 x f x 点。经多次迭代,使之逼近目标函数的极小点。 1k x f x 3.2 阻尼牛顿法的流程图:阻尼牛顿法的流程图: 3.3 题目题目:用牛顿阻尼法求函数的极小点 4 12112 ,22f x xxxx 3.4 源程序代码及结果:源程序代码及结果: 开始 给定 结束 0 ,x 21 ()() kkk ff dxx 1 :min () kkk k kk k f xxd xd 1kk