- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《机械优化设计》
实验报告
班级 : 机械设计( 5 )班
姓名: 林斯宇
学号: 0901102028
1 目标函数方程式:
F=ax^4+bx^3+cx^2+dx+e
其中 a=1.2,b=-1,c=-1,d=-10,c=181, 初始点 x0=0,步长 h=0.1 ,收
敛精度 e=0.0001
2 实验目的 :通过上机编程,理解进退法、黄金分割法的原理,了
解计算机在优化设计中的应用。
3 黄金分割法的基本原理
一维收索是解函数极小值的方法之一, 其解法思想为沿某已知方向求目标函数的极小值点
。这种方法的适应面非常广。黄金分割法也是建立在区间削去法则原理基础上的试探方法。
黄金分割法是用于一元函数 f(x) 在给定初始区间 [a,b] 内搜索极小点 α* 的一种方法。它是优
化计算中的经典算法,以算法简单、 收敛速度均匀、效果较好而著称, 是许多优化算法的基
础,但它只适用于一维区间上的凸函数 [6] ,即只在单峰区间内才能进行一维寻优,其收敛效
率较低。其基本原理是:依照 “去劣存优 ”原则、对称原则、以及等比收缩原则来逐步缩小搜
索区间 [7] 。具体步骤是:在区间 [a,b] 内取点: a1 ,a2 把 [a,b] 分为三段。如果 f(a1)f(a2) ,
令 a=a1,a1=a2,a2=a+r*(b-a) ;如果 f(a1)f(a2) ,令 b=a2 ,a2=a1,a1=b-r*(b-a), 如果| (b-a)/b |
和| (y1-y2)/y2 |都大于收敛精度 ε重新开始。因为 [a,b] 为单峰区间,这样每次可将搜索区
间缩小 0.618 倍或 0.382 倍,处理后的区间都将包含极小点的区间缩小,然后在保留下来的
区间上作同样的处理,如此迭代下去,将使搜索区 [a,b] 逐步缩小,直到满足预先给定的精度
时 , 即 获 得 一 维 优 化 问 题 的 近
似
最优解。黄金分割法原理如图所示,
4 实验所编程序框图
(1 )进退法计算框图
(2) 黄金分割法计算框图
5 程序源代码
6 程序
#includemath.h
#includestdio.h
#define f(x)
1.2*pow(x,4)+(-1)*pow(x,3)+(-1)*pow(x,2)+(-10)*pow(x,1
)+181
main()
{
double F1,F2,F3,W,x1,x2,x3,q,a,b,c;
int n;
n=1;
printf(c=);
scanf(%lf,c);
printf(a=);
scanf(%lf,a);
printf(b=);
scanf(%lf,b);
printf(n a b x1 x2 F1
F2\n);
x1=a+0.382*(b-a);
x2=a+0.618*(b-a);
F1=f(x1);
F2=f(x2);
printf(%d %.4lf %.4lf %.4lf %.4lf %.4lf %.4
lf\n,n,a,b,x1,x2,F1,F2);
n=n+1;
do
{
if (F1=F2)
{
a=x1;
x1=x2;
文档评论(0)