机械优化设计实例(附带程序和算法框图)Word文件下载.docx
- 文档编号:14725349
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:7
- 大小:96.37KB
机械优化设计实例(附带程序和算法框图)Word文件下载.docx
《机械优化设计实例(附带程序和算法框图)Word文件下载.docx》由会员分享,可在线阅读,更多相关《机械优化设计实例(附带程序和算法框图)Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
g3(X)=-(3-2X)≤0
三、求解问题选择的优化算法
此问题的求解属于一维优化问题,所选择的优化算法为黄金分割法。
四、外推法确定最优解的搜索区间
用外推法确定函数S(X)=4X2-14X+12的初始搜索区间。
设初始点α0=0,初始步长h=1。
α0=0,S0=S(α0)=12;
α1=α0+h=0+1=1,S1=S(α1)=2;
比较S0和S1,因为S1<
S0,故正向搜索:
h=2h=2x1=2,α2=α1+h=1+2=3,S2=6;
比较S1和S2,因为S2>
S1,此时已经形成S0>
S1<
S2的局面,故搜索区间可定为[a,b]=[1,3]。
五、算法框图
开始
输入a=1,b=3,ε=0.00
α1=b-0.618(b-a);
α2=a+0.618(b-a)
-
S1=S(α1);
S2=S(α2);
S2?
Y N
S1=S(α1)
α2=a+0.618(b-a);
S2=S(α2);
a=α1;
α1=α2;
S1=S2
b=α2;
α2=α1;
S2=S1;
▏a-b▏≦ε?
Y N
α*=0.5(a+b);
S*=S(α*)
Y
结束
六、算法程序
#include<
math.h>
stdio.h>
doubleobfunc(doublex)
{
doubleff;
ff=4*X*X-14*X+12;
return(ff);
}
voidjts(doublex0,doubleh0,doubles[],intn,doublea[],doubleb[])
inti;
doublex[3],h,f1,f2,f3;
h=h0;
for(i=0;
i<
n;
i++)
x[0]=x0;
f1=obfunc(x[0]);
i++)x[1]=x[0]+h*s[i];
f2=obfunc(x[1]);
if(f2>
=f1)
{
h=-h0;
for(i=0;
x[2]=x[0];
f3=f1;
{
x[0]=x[1];
x[1]=x[2];
}
f1=f2;
f2=f3;
for(;
;
)
h=2.0*h;
for(i=0;
x[2]=x[1]+h*s[i];
f3=obfunc(x[2]);
if(f2<
f3)
break;
else
{
for(i=0;
{
x[0]=x[1];
x[1]=x[2];
}
f1=f2;
f2=f3;
}
}
if(h<
0)
for(i=0;
{
a[i]=x[2];
b[i]=x[0];
else
a[i]=x[0];
b[i]=x[2];
printf("
%4d"
n);
}
doublegold(doublea[],doubleb[],doubleeps,intn,doublexx)
doublef1,f2,ff,q,w;
doublex[3];
x[0]=a[i]+0.618*(b[i]-a[i]);
x[1]=a[i]+0.382*(b[i]-a[i]);
f1=obfunc(x[0]);
f2=obfunc(x[1]);
do
if(f1>
f2)
for(i=0;
{b[i]=x[0];
x[0]=x[1];
}
f1=f2;
i++)
x[1]=a[i]+0.382*(b[i]-a[i]);
f2=obfunc(x[1]);
}
else
{for(i=0;
{
a[i]=x[1];
x[1]=x[0];
}
f2=f1;
x[0]=a[i]+0.618*(b[i]-a[i]);
f1=obfunc(x[0]);
q=0;
for(i=0;
i++)
q=q+(b[i]-a[i])*(b[i]-a[i]);
w=sqrt(q);
}while(w>
eps);
for(i=0;
xx=0.5*(a[i]+b[i]);
ff=obfunc(xx);
printf("
xx=ff=%5.2f,,,,%5.2f"
xx,ff);
return(ff);
voidmain()
{
intn=1;
doublea[1],b[1],xx;
doubles[]={1},x0=0;
doubleeps1=0.001,h0=0.1;
jts(x0,h0,s,n,a,b);
gold(a,b,eps1,n,xx);
七、程序运行结果与分析
(1)程序运行结果(截屏)
(2)结果分析、
对与函数S(X)=(4-2X)(3-2X)=4X2-14X+12,令
S'
(X)=8X-14=0可解的X=1.75,说明程序运行结果正确。
八、心得与体会
通过对问题的求解让我更好的理解了黄金分割法的思想和外推法求搜索区间的方法,而这些也巩固了我的课堂所学。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机械 优化 设计 实例 附带 程序 算法 框图
![提示](https://static.bdocx.com/images/bang_tan.gif)