机械优化设计实验报告

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

机械优化设计实验报告

1、进退法确定初始区间

31、1 进退法基本思路

31、2 进退法程序框图

31、3 题目

41、4 源程序代码及运行结果

42、黄金分割法

52、2黄金分割法流程图

52、3 题目

52、4 源程序代码及结果

53、牛顿型法

63、1牛顿型法基本思路

63、2 阻尼牛顿法的流程图

63、3 题目

73、4 源程序代码及结果

74、鲍威尔法

84、1 鲍威尔法基本思路

84、2 鲍威尔法流程图

84、3 题目

94、4 源程序代码及结果

95、复合形法1

65、1 复合行法基本思想1

65、3 源程序代码及结果1

66、外点惩罚函数法2

46、1解题思路:2

46、2 流程框图2

46、3 题目2

46、4 源程序代码及结果2

47、机械设计实际问题分析307、2计算过程如下307、3 源程序编写3

28、报告总结3

31、进退法确定初始区间

1、1 进退法基本思路:按照一定的规则试算若干个点,比较其函数值的大小,直至找到函数值按“高-低-高”变化的单峰区间。

1、2 进退法程序框图

1、3 题目:用进退法求解函数的搜索区间

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;if (y3

loop;}elseprintf("a1=%f,a2=%f,a3=%f,y1=%f,y2=%f,y3=%f\n",

a1,a2,a3,y1,y2,y3);}搜索区间为0

62、黄金分割法

2、1黄金分割法基本思路:通过不断的缩短单峰区间的长度

来搜索极小点的一种有效方法。按()缩小比较大小确定取舍

区间。

2、2黄金分割法流程图

2、3 题目:对函数,给定搜索区间时,试用黄金分割法求极

小点

2、4 源程序代码及结果:f=inline('x^2-

7*x+9')a=0;b=8;eps=0、001;a1=b-0、618*(b-

a);y1=f(a1);a2=a+0、618*(b-a);y2=f(a2);while(abs(b-a)>eps)

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); endend全文结束》》x=0、5*(a+b)f = Inline function: f(x)

= x^2-7*x+9xxx =

3、499

73、牛顿型法

3、1牛顿型法基本思路:在邻域内用一个二次函数来近似代替原目标函数,并将的极小点作为对目标函数求优的下一个迭代点。经多次迭代,使之逼近目标函数的极小点。

3、2 阻尼牛顿法的流程图:

3、3 题目:用牛顿阻尼法求函数的极小点

3、4 源程序代码及结果:

k=0; ptol=

1、0e-5;xk=input('input x0:')

itcl=[1;1]; while norm(itcl)>=ptol f1=[4*xk(1,1)^3-24*xk(1,1)^2+50*xk(1,1)-4*xk(2,1)-32;-

4*xk(1,1)+8*xk(2,1)]; G=[12*xk(1,1)^2-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; endf=(xk(1,1)-2)^4+(xk(1,1)-

2*xk(2,1))^2; fprintf('\n

ó?×è?á?£?ù·¨μü′ú %d ′?oóμ?μ?

??D?μ? x*?°??D??μ f ?a:\n',k); disp(xk); disp(f); 结果显示:input x0:[1;1] 用阻尼牛顿法迭代27 次后得到极小点 x*及极小值 f 为:

2、0000

1、00001、3270e-01

94、鲍威尔法

4、1 鲍威尔法基本思路:在不用导数的前提下,在迭代中逐次构造G的共轭方向。

4、2 鲍威尔法流程图:

4、3 题目:求函数f(x)= x[0]*x[0]+x[1]*x[1]-

x[0]*x[1]-10*x[0]-4*x[1]+60的最优点,收敛精度ε=0、00

14、4 源程序代码及结果:

#include "stdio、h"#include "stdlib、h"#include "math、h"double objf(double x[]){double

ff;ff=x[0]*x[0]+x[1]*x[1]-x[0]*x[1]-10*x[0]-

4*x[1]+60;return(ff);}void jtf(double x0[],double

h0,double s[],int n,double a[],double b[]){int i;double *x[3],h,f1,f2,f3;for(i=0;i<3;i++)x[i]=(double

*)malloc(n*sizeof(double));h=h0;for(i=0;i=f1){h=-

h0;for(i=0;i

break;else{ for(i=0;i

1]+i)=*(x[2]+i);}f1=f2;f2=f3;}}if(h<0)for(i=0;i

i]=*(x[2]+i);b[i]=*(x[0]+i);}elsefor(i=0;i

f1,f2,*x[2],ff,q,w;for(i=0;i<2;i++)x[i]=(double

*)malloc(n*sizeof(double));for(i=0;i

a[i]);}f1=objf(x[0]);f2=objf(x[1]);do{if(f1>f2){for(i=0;i

a[i]);f2=objf(x[1]);}else{ for(i=0;i

a[i]);f1=objf(x[0]);}q=0;for(i=0;i

a[i])*(b[i]-

a[i]);w=sqrt(q);}while(w>eps);for(i=0;i

h0,double epsg,int n,double x[]){double

*a,*b,ff;a=(double *)malloc(n*sizeof(double));b=(double *)malloc(n*sizeof(double));jtf(x0,h0,s,n,a,b);ff=gold(a,b ,epsg,n,x);free(a);free(b);return (ff);}double

powell(double p[],double h0,double eps,double epsg,int n,double x[]){int i,j,m;double *xx[4],*ss,*s;double

f,f0,f1,f2,f3,fx,dlt,df,sdx,q,d;ss=(double

*)malloc(n*(n+1)*sizeof(double));s=(double

*)malloc(n*sizeof(double));for(i=0;i

*)malloc(n*sizeof(double));for(i=0;i

1;for(j=0;jdlt){dlt=df;m=j;}}sdx=0;for(i=0;i

(*(xx[1]+i)));if(sdx

(*(xx[1]+i)));x[i]=*(xx[3]+i);}fx=objf(x);f3=fx;q=(f1-

2*f2+f3)*(f1-f2-dlt)*(f1-f2-dlt);d=0、5*dlt*(f1-f3)*(f1-f3);if((f3

(*(xx[1]+i));*(s+i)=*(ss+(i+1)*(n+1));}f=oneoptim(xx[0],s ,h0,epsg,n,x);for(i=0;i

1)=*(ss+i*(n+1)+j);}}}void main(){double p[]={1,2};double

ff,x[2];ff=powell(p,0、3,0、001,0、

0001,2,x);printf("x[0]=%f,x[1]=%f,ff=%f\n",x[0],x[1],ff); getchar();}

5、复合形法

5、1 复合行法基本思想:在可行域中选取K个设计点

(n+1≤K≤2n)作为初始复合形的顶点。比较各顶点目标函数值的大小,去掉目标函数值最大的顶点(称最坏点),以坏点以外其余各点的中心为映射中心,用坏点的映射点替换该点,构成新的复合形顶点。

反复迭代计算,使复合形不断向最优点移动和收缩,直至收缩到复合形的顶点与形心非常接近,且满足迭代精度要求为止。

5、2 题目:求函数f(x)=(x1-5)*(x1-5)+4*(x2-6)*(x2-6)的最优点,约束条件为g1(x)=64-x1*x1-x2*x2≤0;g2(x)=x2-x1-10≤0;g3(x)=x1-10≤0;收敛精度ε自定义;

5、3 源程序代码及结果:#include #include #include #include #define E01e-5 /*复合形法收敛控制精度*/ 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;i

scanf("%lf",*x+i); printf("请输入初选变量的下限 a(包含%d 个数):",n); for(i=0;i

scanf("%lf",a+i); printf("请输入初选变量的上限 b(包

含%d 个数):",n); for(i=0;i

scanf("%lf",b+i); printf("输出输入结果

为:\nn=%d,k=%d,x1=(",n,k); /*输出已知数据*/ for(i=0;i

1;i++)

printf("%、5lf ",*(*x+i)); printf("%、

5lf)\na=(",*(*x+n-1));for(i=0;i

printf("%f ",*(a+i)); printf("%、5lf),b=(",*(a+n-1)); for(i=0;i

printf("%f ",*(b+i)); printf("%、5lf)\n",*(b+n-1));

L1: for(i=1;i

/*随机得到其余(k-1)个可行点*/for(j=0;j

*(*(x+i)+j)=*(a+j)+(double)(rand()%10000)/10000*(*(b+ j)-*(a+j)); l=1; for(i=1;i

/*找出可行点的个数 l,并把可行点放在前 l 个位置上*/ if(judge(*(x+i))){ for(j=1;j

if(!judge(*(x+j))){ for(k1=0;k1

{ temporary=*(*(x+i)+k1);

*(*(x+i)+k1)=*(*(x+j)+k1);*(*(x+j)+k1)=temporary; } break;} l++; } for(i=0;i

/*把前 l 个可行点按目标函数值从大到小排序

*/for(j=i+1;j

/*求可行点中心*/ *(x_c+i)=0;for(i=0;i

for(j=0;j

*(x_c+j)+=*(*(x+i)+j);for(i=0;i

*(x_c+i)/=l;if(!judge(x_c))

/*判断可行点中心是否可行*/

{ for(i=0;i

/*将不可行点可行化*/ do{ for(j=0;j

*(*(x+i)+j)=*(x_c+j)+0、5*(*(*(x+i)+j)-

*(x_c+j));}while(!judge(*(x+i)));L2:for(i=0;i

for(j=i+1;j

if(f(*(x+i))

for(k1=0;k1

{ temporary=*(*(x+i)+k1);*(*(x+i)+k1)=*(*(x+j)+k1);

*(*(x+j)+k1)=temporary;} restrain=0; /*求收敛条件*/

for(i=0;i

1)))*(f(*(x+i))-f(*(x+k-1)));restrain=sqrt(

1、0/(k-1)*restrain); if(restrain

/*判断收敛条件*/ { printf("\n 求得约束最优点

为:( ");for(i=0;i

printf("%、5f ",*(*(x+k-1)+i));printf(")\n 目标函数的

最优解为:%、5f\n",f(*(x+k-1))); return 0;}

else{ L3:for(i=0;i

/*计算除去最坏点*x 外的(k-1)个顶点的中心*/ *(x_c+i)=0; for(i=1;i

for(i=0;i

*(x_c+i)/=k-1;reflect=

1、3; L4:for(i=0;i

/*求反射点*/ *(x_r+i)=*(x_c+i)+reflect*(*(x_c+i)-

*(*x+i));if(!judge(x_r))

{ reflect*=0、5;goto L4;} else if(f(x_r)

{for(i=0;i

*(*x+i)=*(x_r+i); goto L2; }else if(reflect<=1e-10)

{ for(i=0;i

*(*x+i)=*(*(x+1)+i);goto L3; } else {reflect*=0、

5;goto L4;} } } } double **apply(int row,int col) /*申请矩阵空间*/ { int i; double

*x=(double*)calloc(row*col,sizeof(double)); double

**y=(double **)calloc(row,sizeof(double *)); if(!x || !y) { printf("内存分配失败!"); exit(1); }

for(i=0;i

*(y+i)=x+i*col; return y; } double f(double *x)

/*目标函数*/ { return (*x-5)*(*x-5)+4*(*(x+1)-

6)*(*(x+1)-6); } double *g(double *x)

/*约束函数*/ { double *p=(double

*)calloc(3,sizeof(double)); if(!p)

{ printf("内存分配失败!"); exit(1);} *p=64-(*x)*(*x)-(*(x+1))*(*(x+1)); *(p+1)=*(x+1)-*x-10; *(p+2)=*x-10; return p; } bool judge(double *x)

/*可行点的判断*/ { int i; double *p=(double

*)calloc(3,sizeof(double)); p=g(x); for(i=0;i<3;i++) if (*(p+i)>0)

break; if(i==3)

return true; else return false; }

6、外点惩罚函数法

6、1解题思路:外点法是从可行域的外部构造一个点序列去逼近原约束问题的最优解。外点法可以用来求解含不等式和等式约束的优化问题。外点惩罚函数的形式为:

6、2 流程框图:

6、3 题目:求函数f(x)=(x1-5)*(x1-5)+4*(x2-6)*(x2-6)的最优点,约束条件:g1(x)=64-x1*x1-x2*x2≤0;g2(x)=x2-x1-10≤0;g3(x)=x1-10≤0;收敛精度ε=0、00001;

6、4 源程序代码及结果:

#include #include

h>#includedouble lamta[10]={0,

1、0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,1};//鲍威尔方法初始化方向,线性无关double lamta1[3]={0, 0 , 0};//暂存新的搜索方向double x1[4]={0, 0 ,0, 0 };//x1到x3用于存储各共轭方向的点double x2[4]={0, 0 ,0, 0 };double x3[4]={0, 0 ,0,

0 };double x4[4]={0, 0 ,0, 0 };//x4用于中间判断double

x5[4]={0, 0 ,0, 0 };//x5用存放于更换方向后产生的新点int m=0;//标志double x_[4]={0, 0, 0, 0};//暂存鲍威尔最优解double x0[4]={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 cmpare[4]; int flag1=0; for (int i=1;i<=3;i++)

{ cmpare[i]=x_[i]-x0[i]; if (fabs(cmpare[i])

{flag1++;} } if (flag1==3)

{ printf("x1=%lf x2=%lf\n",x_[1],x_[2]);// cout<<"最优解为:"<<"x1="<

"<<"x3="<

"<

j=1;j<=3;j++)

{ x0[j]=x_[j]; } r=c*r; goto changyan; }}//子函数定义

部分double fxy(double x1,double x2,double x3,double r)//

待求函数{ double m,n,p; m=((64-x1*x1-x2*x2)>0)?(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<=3;k++)

{ m=3*k-2; double a=0,b=0,xo=0; search(a,b,1); //完成

区间搜索 double temp; temp=yellowcut(a,b);//黄金分割法

int n=3*k-2; for (int i=1;i<=3;i++)

{ switch (k)

{ case1:x1[i]=x0[i]+temp*lamta[n++];break;

case2:x2[i]=x1[i]+temp*lamta[n++];break;

case3:x3[i]=x2[i]+temp*lamta[n++];break;

default :break; } } } double cmp[4]; int flag=0; for (int i=1;i<=3;i++)

{ cmp[i]=x3[i]-x0[i]; if (fabs(cmp[i])

{flag++;}} if (flag==3)

//找到最优解 { x_[1]=x3[1]; x_[2]=x3[2];

x_[3]=x3[3]; } else { double fy[4];

fy[0]=fxy(x0[1],x0[2],x0[3],r);

fy[1]=fxy(x1[1],x1[2],x1[3],r);

fy[2]=fxy(x2[1],x2[2],x2[3],r);

fy[3]=fxy(x3[1],x3[2],x3[3],r); double fyy[3]; for (int ii=0;ii<3;ii++)

{fyy[ii]=fy[ii]-fy[ii+1];} sort(fyy,3); for

(ii=1;ii<=3;ii++)

{x4[ii]=2*x3[ii]-x0[ii];} double f0,f3,f4; f0=fy[0]; f3=fy[3]; f4=fxy(x4[1],x4[2],x4[3],r); if ((f0+f4-

2*f3)/2>=fyy[2])

{ if (f3

{ for (int t=1;t<=3;t++)

{x0[t]=x3[t];} } else { for (int t=1;t<=3;t++)

{x0[t]=x4[t]; }} goto my1; } else{ for (int

t=0;t<3;t++)

{lamta1[t]=x3[t+1]-x0[t+1];} m=0; //switch 标志!doub

《机械优化设计》习题与答案

机械优化设计习题及参考答案 1-1.简述优化设计问题数学模型的表达形式。 答:优化问题的数学模型是实际优化设计问题的数学抽象。在明确设计变量、约束条件、目标函数之后,优化设计问题就可以表示成一般数学形式。求设计变量向量[]12T n x x x x =L 使 ()min f x → 且满足约束条件 ()0 (1,2,)k h x k l ==L ()0 (1,2,)j g x j m ≤=L 2-1.何谓函数的梯度?梯度对优化设计有何意义? 答:二元函数f(x 1,x 2)在x 0点处的方向导数的表达式可以改写成下面的 形式:?? ??????????????=??+??=??2cos 1cos 212cos 21cos 1θθθθxo x f x f xo x f xo x f xo d f ρ 令xo T x f x f x f x f x f ?? ????????=????=?21]2 1[)0(, 则称它为函数f (x 1,x 2)在x 0点处的梯度。 (1)梯度方向是函数值变化最快方向,梯度模是函数变化率的最大值。 (2)梯度与切线方向d 垂直,从而推得梯度方向为等值面的法线方向。梯度)0(x f ?方向为函数变化率最大方向,也就是最速上升方向。负梯度-)0(x f ?方向为函数变化率最小方向,即最速下降方向。 2-2.求二元函数f (x 1,x 2)=2x 12+x 22-2x 1+x 2在T x ]0,0[0=处函数变化率最 大的方向和数值。

解:由于函数变化率最大的方向就是梯度的方向,这里用单位向量p 表示,函数变化率最大和数值时梯度的模)0(x f ?。求f (x1,x2)在x0点处的梯度方向和数值,计算如下: ()??? ???-=????? ?+-=???? ??????????=?120122214210x x x x f x f x f 2 221)0(?? ? ????+??? ????=?x f x f x f =5 ????? ???????-=??????-=??=5152512)0()0(x f x f p ? 2-3.试求目标函数()2 221212143,x x x x x x f +-=在点X 0=[1,0]T 处的最速下 降方向,并求沿着该方向移动一个单位长度后新点的目标函数值。 解:求目标函数的偏导数 212 21124,46x x x f x x x f +-=??-=?? 则函数在X 0=[1,0]T 处的最速下降方向是 ??????-=??????-+-=?????? ??????????-=-?=====462446)(0 121210 1210 2121x x x x x x x x x f x f X f P 这个方向上的单位向量是: 13]2,3[4 )6(]4,6[T 22T -=+--==P P e 新点是

机械优化设计上机实践报告【精编版】

机械优化设计上机实践报告【精编版】

机械优化设计上机实践报告 班级:机械(茅以升)101 姓名: 学号: 1004010510 成绩: 指导教师: 张迎辉

日期: 2013.11.20

1 《一维搜索方法》上机实践报告 1、写出所选择的一维搜索算法的基本过程、原理(可附流程图说明)。 (一)进退法 1. 算法原理 进退法是用来确定搜索区间(包含极小值点的区间)的算法,其理论依据是: ()f x 为单谷函数(只有一个极值点) ,且[,]a b 为其极小值点的一个搜索区间,对于任意12,[,]x x a b ∈,如果()()12f x f x <,则2[,]a x 为极小值的搜索区间,如果()()12f x f x >,则1[,]x b 为极小值的搜索区间。 因此,在给定初始点0x ,及初始搜索步长h 的情况下,首先以初始步长向前搜索一步,计算()0f x h +。 (1) 如果()()00f x f x h <+ 则可知搜索区间为0[,]x x h +%,其中x %待求,为确定x %,后退一步计算0()f x h λ-,λ为缩小系数,且01λ<<,直接找到合适的*λ,使得()*00()f x h f x λ->,从而确定搜索区间*00[,]x h x h λ-+。 (2) 如果()()00f x f x h >+ 则可知搜索区间为0[,]x x %,其中x %待求,为确定x %,前进一步计算0()f x h λ+, λ为放大系数,且1λ>,知道找到合适的*λ,使得()*00()f x h f x h λ+<+,从而确定搜索区间*00[,]x x h λ+。 2. 算法步骤 用进退法求一维无约束问题min (),f x x R ∈的搜索区间(包含极小值点的区间)的基本算法步骤如下:

机械优化设计论文(基于MATLAB工具箱的机械优化设计)

基于MATLAB工具箱的机械优化设计 长江大学机械工程学院机械11005班刘刚 摘要:机械优化设计是一种非常重要的现代设计方法,能从众多的设计方案中找出最佳方案,从而大大提高设计效率和质量。本文系统介绍了机械优化设计的研究内容及常规数学模型建立的方法,同时本文通过应用实例列举出了MATLAB 在工程上的应用。 关键词:机械优化设计;应用实例;MATLAB工具箱;优化目标 优化设计是20世纪60年代随计算机技术发展起来的一门新学科, 是构成和推进现代设计方法产生与发展的重要内容。机械优化设计是综合性和实用性都很强的理论和技术, 为机械设计提供了一种可靠、高效的科学设计方法, 使设计者由被动地分析、校核进入主动设计, 能节约原材料, 降低成本, 缩短设计周期, 提高设计效率和水平, 提升企业竞争力、经济效益与社会效益。国内外相关学者和科研人员对优化设计理论方法及其应用研究十分重视, 并开展了大量工作, 其基本理论和求解手段已逐渐成熟。 国内优化设计起步较晚, 但在众多学者和科研人员的不懈努力下, 机械优化设计发展迅猛, 在理论上和工程应用中都取得了很大进步和丰硕成果, 但与国外先进优化技术相比还存在一定差距, 在实际工程中发挥效益的优化设计方案或设计结果所占比例不大。计算机等辅助设备性能的提高、科技与市场的双重驱动, 使得优化技术在机械设计和制造中的应用得到了长足发展, 遗传算法、神经网络、粒子群法等智能优化方法也在优化设计中得到了成功应用。目前, 优化设计已成为航空航天、汽车制造等很多行业生产过程的一个必须且至关重要的环节。 一、机械优化设计研究内容概述 机械优化设计是一种现代、科学的设计方法, 集思考、绘图、计算、实验于一体, 其结果不仅“可行”, 而且“最优”。该“最优”是相对的, 随着科技的发展以及设计条件的改变, 最优标准也将发生变化。优化设计反映了人们对客观世界认识的深化, 要求人们根据事物的客观规律, 在一定的物质基和技术条件下充分发挥人的主观能动性, 得出最优的设计方案。 优化设计的思想是最优设计, 利用数学手段建立满足设计要求优化模型; 方法是优化方法, 使方案参数沿着方案更好的方向自动调整, 以从众多可行设计方案中选出最优方案; 手段是计算机, 计算机运算速度极快, 能够从大量方案中选出“最优方案“。尽管建模时需作适当简化, 可能使结果不一定完全可行或实际最优, 但其基于客观规律和数据, 又不需要太多费用, 因此具有经验类比或试验手段无可比拟的优点, 如果再辅之以适当经验和试验, 就能得到一个较圆满的优化设计结果。 传统设计也追求最优结果, 通常在调查分析基础上, 根据设计要求和实践

《机械优化设计》习题及答案

机械优化设计习题及参考答案 1-1、简述优化设计问题数学模型的表达形式。 答:优化问题的数学模型就是实际优化设计问题的数学抽象。在明确设计变量、约束条件、目标函数之后,优化设计问题就可以表示成一般数学形式。求设计变量向量[]12 T n x x x x =使 ()min f x → 且满足约束条件 ()0 (1,2,)k h x k l == ()0(1,2,)j g x j m ≤= 2-1、何谓函数的梯度?梯度对优化设计有何意义? 答:二元函数f(x 1,x 2)在x 0点处的方向导数的表达式可以改写成下面的形式:?? ??????????????=??+??=??2cos 1cos 212cos 21cos 1θθθθxo x f x f xo x f xo x f xo d f 令xo T x f x f x f x f x f ?? ????????=????=?21]21[)0(, 则称它为函数f(x 1,x 2)在x 0点处的梯度。 (1)梯度方向就是函数值变化最快方向,梯度模就是函数变化率的最大值。 (2)梯度与切线方向d 垂直,从而推得梯度方向为等值面的法线方向。梯度)0(x f ?方向为函数变化率最大方向,也就就是最速上升方向。负梯度-)0(x f ?方向为函数变化率最小方向,即最速下降方向。 2-2、求二元函数f(x 1,x 2)=2x 12+x 22-2x 1+x 2在T x ]0,0[0=处函数变化率最 大的方向与数值。 解:由于函数变化率最大的方向就就是梯度的方向,这里用单位向量p 表

示,函数变化率最大与数值时梯度的模)0(x f ?。求f(x1,x2)在x0点处的梯度方向与数值,计算如下: ()??????-=??????+-=???? ??????????=?120122214210x x x x f x f x f 2221)0(?? ? ????+??? ????=?x f x f x f =5 ????? ???????-=??????-=??=5152512)0()0(x f x f p 2-3、试求目标函数()2221212143,x x x x x x f +-=在点X 0=[1,0]T 处的最速下降 方向,并求沿着该方向移动一个单位长度后新点的目标函数值。 解:求目标函数的偏导数 212 21124,46x x x f x x x f +-=??-=?? 则函数在X 0=[1,0]T 处的最速下降方向就是 ??????-=??????-+-=????????????????-=-?=====462446)(0121210 121021 21x x x x x x x x x f x f X f P 这个方向上的单位向量就是: 13]2,3[4 )6(]4,6[T 22T -=+--==P P e 新点就是 ????? ???????-=+=132133101e X X 新点的目标函数值

机械优化设计

《机械优化设计》实验教学大纲 湖南农业大学工学院 2007年11月

《机械优化设计》实验教学大纲 1、实验课程号:30179B1 2、课程属性:选修 3、实验属性:非独立设课 4、学时:总学时40,实验学时8 学分:2 5、实验应开学期:第5学期(秋季) 6、先修课程:理论力学、材料力学、机械原理、机械设计、Visual Basic语言或C语言 一、课程的性质和任务 《机械优化设计》课程是高等工科院校中机械类专业指导委员会指定的一门主干课程,是一门用以培养学生在机械设计中应用现代设计方法的专业课,其目的是使学生树立优化设计的思想,掌握优化设计的基本概念和基本方法, 并初步具有应用机械优化设计的基本理论和基本方法解决简单工程实际问题的初步能力。为学生的毕业设计及科学研究打下一定的基础,该课程是在高年级设置的专业选修课,可供机械类或近机类专业的学生选修。该课程在机械类或近机类专业的教学计划中占有重要的地位和作用。 二、实验的目的与基本要求 1、加深对机械优化设计方法的基本理论和算法步骤的理解。 2、掌握数学模型的建立方法 3、掌握几种常用的最优化计算方法。 4、能运用计算机语言来编程上机解答,培养学生独立编制、调试计算机程序的能力。 5、培养学生灵活运用优化设计方法解决工程实际问题的初步能力。 三、实验考核方式及办法 课程实验不单独考试,根据实验内容当场在计算机上查看实验结果运行情况,要求打印出实验程序、并结合学生实际动手能力和学习态度进行评分,计入课程考试,实验课成绩占课程总分成绩的15%。 四、实验项目一览表 序号实验项目实验 类型 实验方法 实验要 求 每组 人数 适用 专业 实 验 学 时 1 优化方法编程验证任选做 其中两 工科 类 4

机械优化设计实验指导书

机械优化设计实验指导 书 Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】

《机械优化设计》 实验指导书 武秋敏编写 院系:印刷包装工程学院 专业:印刷机械 西安理工大学 二00七年九月 上机实验说明 【实验环境】 操作系统: Microsoft Windows XP 应用软件:Visual C++或TC。 【实验要求】 1、每次实验前,熟悉实验目的、实验内容及相关的基本理论知识。 2、无特殊要求,原则上实验为1人1组,必须独立完成。 3、实验所用机器最好固定,以便更好地实现实验之间的延续性和相关性,并便于检查。 4、按要求认真做好实验过程及结果记录。 【实验项目及学时分配】 【实验报告和考核】 1、实验报告必需采用统一的实验报告纸,撰写符合一定的规范,详见实验报告撰写格式及规范。

(一)预习准备部分 1. 预习本次实验指导书中一、二、三部分内容。 2. 按照程序框图试写出汇编程序。 (二)实验过程部分 1. 写出经过上机调试后正确的程序,并说明程序的功能、结构。 2. 记录4000~40FFH内容在执行程序前后的数据结果。 3. 调试说明,包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。 (三)实验总结部分

实验(一) 【实验题目】 一维搜索方法 【实验目的】 1.熟悉一维搜索的方法-黄金分割法,掌握其基本原理和迭代过程; 2.利用计算语言(C语言)编制优化迭代程序,并用给定实例进行迭代验证。 【实验内容】 1.根据黄金分割算法的原理,画出计算框图; 2.应用黄金分割算法,计算:函数F(x)=x2+2x,在搜索区间-3≤x≤5时,求解其极小点X*。 【思考题】 说明两种常用的一维搜索方法,并简要说明其算法的基本思想。 【实验报告要求】 1.预习准备部分:给出实验目的、实验内容,并绘制程序框图; 2.实验过程部分:编写上机程序并将重点语句进行注释;详细描述程序的调过程(包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析。 3.实验总结部分:对本次实验进行归纳总结,给出求解结果。要求给出6重迭代中a、x1、x2、b、y1和y2的值,并将结果与手工计算结果进行比较。 4.回答思考题。

机械优化设计项目报告

机械装备优化设计三级项目 题目:基于MATLAB的带式输送机斜齿轮传动参数优化设计 班级:13级机械装备1班 设计人员(按贡献大小排序): 丁涛 宋潮 金渊哲

摘要: 针对带式输送机中单级圆柱齿轮减速器传动的生产实际,根据优化设计理论,以斜齿圆柱齿轮体积之和最小为优化设计目标。通过变量的选取、约束条件的确定。分析建立了优化设计数学模型.基于Matlab工具箱中非线性约束优化函数fmincon,对齿轮模数、齿数、齿宽系数、螺旋角等结构参数进行优化设计,节省了金属材料。降低了制造成本.取得了较好的优化效果。为产品的改进设计提供了理论依据。 关键词:MATLAB、带式输送机、斜齿轮、参数优化设计

前言: 机械优化设计是适应生产现代化要求发展起来的一种机械设计方法,它包括机械优化设计、机械零部件优化设计、机械结构参数和形状的优化设计等内容。该领域的研究和应用进展非常迅速,并且取得了可观的经济效益。随着科技的发展,现代化机械优化设计方法主要以数学规划为核心,以计算机为工具,向着多变量、多目标、高效率、高精度的方向发展。现在用于机械优化设计的软件与方法程序较多,有些已非常成熟,只需要按照规定的格式编写目标函数和约束函数子程序即可。机械优化设计方法林林总总,但由于机械设计问题的复杂性,所以每种优化方法都有其优越性和局限性。选择合适的机械优化方法尤为重要。而MATLAB语言的优化工具箱在进行优化设计时,可自由选择算法和线性搜索策略,计算快捷高效,图形结果可视化,且其初始参数值输入简单,编程工作量小,具有明显的优越性,且应用广泛。MATLAB语言是集科学计算、数据可视化和程序设计为一体的工程应用软件。作为基础软件,它广泛应用在工程学科的计算机辅助分析、设计仿真和教学中,在行星轮系传动参数设计中,利用MATLAB 的优化工具箱的函数计算及按摩,可提高建模的准确性和计算中的数值稳定性,为设计提供了可靠的科学根据。

机械优化设计实验指导书

前言 机械优化设计是一门实践性很强的课程,必须通过实际上机操作运用各种优化方法程序来达到: 1、加深对机械优化设计方法的基本理论和算法步骤的理解; 2、培养独立编制计算机程序的能力; 3、掌握常用优化方法程序的使用; 4、培养灵活运用优化方法解决工程设计问题的能力。 因此,本课程在课堂教学过程中安排适当的时间上计算机运算。本书作为上机实验的指导书,旨在对每次实验目的内容提出具体要求,并加以考核。 实验报告内容 每次上机实验后,学生要做一份完整的实验报告,实验报告内容应包括: 1、优化方法的基本原理简述; 2、自编优化方法源程序。 3、考核题的优化结果及其分析; 4、具体工程设计问题的数学模型、优化设计结果及其分析。

实验一 一维搜索方法(黄金分割法或二次插值法) 1、 目的:加深对一维搜索方法的确定区间的进退法和缩短区间的黄金分割法或二次插值法基本原理的理解 2、 内容:按所给程序框图编制上机程序,上机输入、调试并运行程序,或调试并运行已给程序,用所给考核题进行检验。 3、 考核题(α0=0,h 0=0.1, ε=0.001) (1) 36102+-=t t )t (f min (2) 60645234+-+-=t t t t )t (f min (3) 221)t )(t ()t (f min -+= (4) x e x )x (f min -+=22 (5) 求函数4321322123141x x x x x x x x x x )X (f +--=自点T k ),,,(X 3210---=出发,沿方向T ),,,(4321=d 的最优步长因子α× 和在d 方向的极小点X *和极小值f(X *)。

优化设计实验报告(...)(1)

机械优化设计 实 验 报 告 姓名:欧阳龙 学号:2007500817 班级:07机设一班

一、黄金分割法 1、 数学模型 2()2f x x x =+,56x -≤≤ 2、 黄金分割法简介 黄金分割法适用于单谷函数求极小值问题,且函数可以不连续。黄金分割法是建立在区间消去法原理基础上的试探方法,即在搜索区间[],a b 内适当插入两点1α、2α,并计算其函数值。1α、2α将区间分成三段。应用函数的单谷性质,通过函数值大小的比较,删去其中一段,使搜索区间得以缩短。然后再在保留下来的区间上作同样的处置,如此迭代下去,使搜索区间无限缩小,从而得到极小点的数值近似解。黄金分割法能使相邻两次都具有相同的缩短率0.618,故黄金分割法又称作0.618法。 3、黄金分割法程序清单 #include #include /*目标函数*/ float ff(float x) { float y; y=x*x+2*x; return(y); } main() { float a,b,ab,Epsilon; float y1,y2,Alpha1,Alpha2; float Lambda=0.618; printf("please input the arear and Epsilon\n"); scanf("%f,%f,%f",&a,&b,&Epsilon); Alpha1=b-Lambda*(b-a),Alpha2=a+Lambda*(b-a); printf("%f,%f\n",Alpha1,Alpha2); y1=ff(Alpha1);y2=ff(Alpha2); printf("y1=%f,y2=%f\n",y1,y2); do {if(y1>=y2) {a=Alpha1; Alpha1=Alpha2; y1=y2; Alpha2=a+Lambda*(b-a); y2=Alpha2*Alpha2+2*Alpha2; }

机械优化设计上机报告

机械优化设计上机实践报告 班级:机械(茅以升)101 姓名: 学号: 1004010510 成绩: 指导教师: 张迎辉 日期: 2013.11.20

1 《一维搜索方法》上机实践报告 1、写出所选择的一维搜索算法的基本过程、原理(可附流程图说明)。 (一)进退法 1. 算法原理 进退法是用来确定搜索区间(包含极小值点的区间)的算法,其理论依据是:()f x 为单谷函数(只有一个极值点),且[,]a b 为其极小值点的一个搜索区间,对于任意12,[,]x x a b ∈,如果()()12f x f x <,则2[,]a x 为极小值的搜索区间,如果()()12f x f x >,则1[,]x b 为极小值的搜索区间。 因此,在给定初始点0x ,及初始搜索步长h 的情况下,首先以初始步长向前搜索一步,计算()0f x h +。 (1) 如果()()00f x f x h <+ 则可知搜索区间为0[,]x x h +,其中x 待求,为确定x ,后退一步计算0()f x h λ-,λ为缩小系数,且01λ<<,直接找到合适的*λ,使得()*00()f x h f x λ->,从而确定搜索区间 *00[,]x h x h λ-+。 (2) 如果()()00f x f x h >+ 则可知搜索区间为0[,]x x ,其中x 待求,为确定x ,前进一步计算0()f x h λ+,λ为放大系数,且1λ>,知道找到合适的*λ,使得()*00()f x h f x h λ+<+,从而确定搜索区间 *00[,]x x h λ+。 2. 算法步骤 用进退法求一维无约束问题min (),f x x R ∈的搜索区间(包含极小值点的区间)的基本算法步骤如下: (1) 给定初始点(0)x ,初始步长0h ,令0h h =,(1)(0)x x =,0k =; (2) 令(4)(1)x x h =+,置1k k =+;

机械优化设计实例讲解学习

机械优化设计实例 压杆的最优化设计 压杆是一根足够细长的直杆,以学号为p值,自定义有设计变量的 尺寸限制值,求在p一定时d1、d2和l分别取何值时管状压杆的体积或重 量最小?(内外直径分别为d1、d2)两端承向轴向压力,并会因轴向压力 达到临界值时而突然弯曲,失去稳定性,所以,设计时,应使压应力不 超过材料的弹性极限,还必须使轴向压力小于压杆的临界载荷。 解:根据欧拉压杆公式,两端铰支的压杆,其临界载荷为:I——材料的惯性矩,EI为抗弯刚度 1、设计变量 现以管状压杆的内径d1、外径d2和长度l作为设计变量 2、目标函数 以其体积或重量作为目标函数 3、约束条件 以压杆不产生屈服和不破坏轴向稳定性,以及尺寸限制为约束条件,在外力为p的情况下建立优化模型: 1) 2)

3) 罚函数: 传递扭矩的等截面轴的优化设计解:1、设计变量: 2、目标函数

以轴的重量最轻作为目标函数: 3、约束条件: 1)要求扭矩应力小于许用扭转应力,即: 式中:——轴所传递的最大扭矩 ——抗扭截面系数。对实心轴 2)要求扭转变形小于许用变形。即: 扭转角: 式中:G——材料的剪切弹性模数 Jp——极惯性矩,对实心轴: 3)结构尺寸要求的约束条件: 若轴中间还要承受一个集中载荷,则约束条件中要考虑:根据弯矩联合作用得出的强度与扭转约束条件、弯曲刚度的约束条件、对于较重要的和转速较高可能引起疲劳损坏的轴,应采用疲劳强度校核的安全系数法,增加一项疲劳强度不低于许用值的约束条件。

二级齿轮减速器的传动比分配 二级齿轮减速器,总传动比i=4,求在中心距A最小下如何 分配传动比?设齿轮分度圆直径依次为d1、d2、d3、d4。第一、二 级减速比分别为i1、i2。假设d1=d3,则: 七辊矫直实验 罚函数法是一种对实际计算和理论研究都非常有价值的优化方法,广泛用来求解约束问题。其原理是将优化问题中的不等式约束和等式约束加权转换后,和原目标函数结合成新的目标函数,求解该新目标函数的无约束极小值,以期得到原问题的约束最优解。考虑到本优化程序要处理的是一个兼而有之的问题,故采用混合罚函数法。 一)、优化过程 (1)、设计变量 以试件通过各矫直辊时所受到的弯矩为设计变量: (2)、目标函数

机械优化设计题目答案

1-1.简述优化设计问题数学模型的表达形式。 答:优化问题的数学模型是实际优化设计问题的数学抽象。在明确设计变量、约束条件、目标函数之后,优化设计问题就可以表示成一般数学形式。 求设计变量向量[] 1 2 T n x x x x = 使 ()min f x →且满足约束条件 ()0 (1,2, )k h x k l == ()0 (1,2, )j g x j m ≤= 利用可行域概念,可将数学模型的表达进一步简练。设同时满足 ()0 (1,2, ) j g x j m ≤=和 ()0 (1,2, )k h x k l ==的设计点集合为R ,即R为优化问题的可行域,则优化问题的数学模型可简练地写成 求x 使 min ()x R f x ∈ 符号“∈”表示“从属于”。 在实际优化问题中,对目标函数一般有两种要求形式:目标函数极小化 ()min f x →或目标函数极大化 ()max f x →。由于求()f x 的极大化与求()f x -的极小化等价,所以今后优化问题的数学表达一律采用目标函数极小 化形式。 1-2.简述优化设计问题的基本解法。(不要抄书,要归纳) 答:求解优化问题可以用解析解法,也可以用数值的近似解法。 解析解法就是把所研究的对象用数学方程(数学模型)描述出来,然后再用数学解析方法(如微分、变分方法等)求出有化解。 但是,在很多情况下,优化设计的数学描述比较复杂,因而不便于甚至不可能用解析方法求解;另外,有时对象本身的机理无法用数学方程描述,而只能通过大量试验数据用插值或拟合方法构造一个近似函数式,再来求其优化解,并通过试验来验证;或直接以数学原理为指导,从任取一点出发通过少量试验(探索性的计算),并根据试验计算结果的比较,逐步改进而求得优化解。这种方法是属于近似的、迭代性质的数值解法。 数值解法不仅可用于求复杂函数的优化解,也可以用于处理没有数学解析表达式的优化问题。因此,它是实际问题中常用的方法,很受重视。其中具体方法较多,并且目前还在发展。但是,应当指出,对于复杂问题,由于不能把所有参数都完全考虑并表达出来,只能是一个近似的最后的数学描述。由于它本来就是一种近似,那么,采用近似性质的数值方法对它们进行解算,也就谈不到对问题的精确性有什么影响了。 不管是解析解法,还是数值解法,都分别具有针对无约束条件和有约束条件的具体方法。 可以按照对函数倒数计算的要求,把数值方法分为需要计算函数的二阶导数、一阶导数和零阶导数(即只要计算函数值而不需计算其导数)的方法。 2-1.何谓函数的梯度?梯度对优化设计有何意义? 答:二元函数f(x 1,x2)在x0点处的方向导数的表达式可以改写成下面的形式 ?? ??????????????=??+??=??2cos 1cos 212cos 21cos 1θθθθxo x f x f xo x f xo x f xo d f 令xo T x f x f x f x f x f ?? ????????= ????=?21]2 1[)0(并称它为函数f (x1,x2)在x0点处的梯度。 假设?? ????=2cos 1cos θθd 为D 方向上的单位向量,则有d T x f xo d f )0(?=?? 即函数f (x1,x2)在x 0点处沿某一方向d 的方向导数 xo d f ??等于函数在该点处的梯度)0(x f ?与d 方向单位向量的内积。 梯度方向是函数值变化最快的方向,而梯度的模就是函数变化率的最大值。 梯度与切线方向d 垂直,从而推得梯度方向为等值面的法线方向。梯度)0(x f ?方向为函数变化率最大方向,也就是最速上升方向。负梯度-)0(x f ?方向为函数变化率最小方向,即最速下降方向。 2-2.求二元函数 212 2212122),(x x x x x x f +-+=在T x ] 0,0[0=处函数变化率最大的方向和数值。 解;由于函数变化率最大的方向就是梯度的方向,这里用单位向量p 表示,函数变化率最大和数值时梯度的模) 0(x f ?。 求f (x1,x 2)在x0点处的梯度方向和数值,计算如下: ()??? ???-=??????+-=???? ??????????=?120122214210x x x x f x f x f

机械优化设计一维搜索实验报告

《机械优化设计》 实验报告 班级: 机械设计(2)班 姓名:邓传淮 学号:0901102008

1 实验名称:一维搜索黄金分割法求最佳步长 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)

4实验所编程序框图(1)进退发确定单峰区间的计算框图

(2)黄金分割法计算框图

5 程序源代码 (1)进退发确定单峰区间的程序源代码 #include #include #define f(x) pow(x,4)-3*pow(x,3)-5*pow(x,2)-14*x+46 main() { int k; double x,h,x1,x2,x3; double f1,f2,f3,f; double a,b; x1=0; h=1; x2=x1+h; f1=f(x1); f2=f(x2); if (f1>f2) { h=2*h; x3=x2+h; f3=f(x3);

机械优化设计实验指导书(114830)讲解学习

机械优化设计实验指导书 实验一用外推法求解一维优化问题的搜索区间 一、实验目的: 1、加深对外推法(进退法)的基本理论和算法步骤的理解。 2、培养学生独立编制、调试机械优化算法程序的能力。 3、培养学生灵活运用优化设计方法解决工程实际问题的能力。 二、主要设备及软件配置 硬件:计算机(1台/人) 软件:VC6.0(Turbo C) 三、算法程序框图及算法步骤 图1-1 外推法(进退法)程序框图

算法程序框图:如图1-1所示。 算法步骤:(1)选定初始点a1=0, 初始步长h=h0,计算 y1=f(a1), a2=a1+h,y2=f(a2)。 (2)比较y1和y2: (a)如y1≤y2, 向右前进;,转(3); (b)如y2>y1, 向左后退;h=-h,将a1与a2,y1与y2的 值互换。转(3)向后探测; (3)产生新的探测点a3=a2+h,y3=f(a3); (4) 比较函数值 y2和y3: (a)如y2>y3, 加大步长 h=2h ,a1=a2, a2=a3,转(3)继续 探测。 (b)如y2≤y3,则初始区间得到:a=min[a1,a3], b=max[a3,a1],函数最小值所在的区间为[a, b] 。 四、实验内容与结果分析 1、根据算法程序框图和算法步骤编写计算机程序; 2、求解函数f(x)=3x2-8x+9的搜索区间,初始点a1=0,初始步长h0=0.1; 3、如果初始点a1=1.8,初始步长h0=0.1,结果又如何? 4、试分析初始点和初始步长的选择对搜索计算的影响。

实验二用黄金分割法求解一维搜索问题 一、实验目的: 1、加深对黄金分割法的基本理论和算法步骤的理解。 2、培养学生独立编制、调试机械优化算法程序的能力。 3、培养学生灵活运用优化设计方法解决工程实际问题的能力。 二、主要设备及软件配置 硬件:计算机(1台/人) 软件:VC6.0(Turbo C) 三、算法程序框图及算法步骤 图1-2 黄金分割法程序框图 算法程序框图:如图1-2所示。 算法步骤: 1)给出初始搜索区间[a,b]及收敛精度ε,将λ赋以0.618。

机械优化设计习题集

机械优化设计复习题 一、单项选择题 1.机械优化设计中,凡是可以根据设计要求事先给定的独立参数,称为( ) (P19-21) A . 设计变量 B .目标函数 C .设计常量 D .约束条件 2.下列哪个不是优化设计问题数学模型的基本要素( )(P19-21) A .设计变量 B .约束条件 C .目标函数 D .最佳步长 3.凡在可行域内的任一设计点都代表了一允许采用的方案,这样的设计点为( ) (P19-21) A .边界设计点 B .极限设计点 C .外点 D .可行点 4.当设计变量的数量n 在下列哪个范围时,该设计问题称为中型优化问题 (P19-21) A .n<10 B .n=10~50 C .n<50 D .n>50 5. 机械最优化设计问题多属于什么类型优化问题( )(P19-24) A .约束线性 B .无约束线性 C .约束非线性 D .无约束非线性 6. 工程优化设计问题大多是下列哪一类规划问题( )(P22-24) A .多变量无约束的非线性 B .多变量无约束的线性 C .多变量有约束的非线性 D .多变量有约束的线性 7. n 元函数在()k x 点附近沿着梯度的正向或反向按给定步长改变设计变量时,目 标函数值( )(P25-28) A .变化最大 B .变化最小 C .近似恒定 D .变化不确定 8.()f x ?方向是指函数()f x 具有下列哪个特性的方向( )(P25-28) A . 最小变化率 B .最速下降 C . 最速上升 D .极值 9. 梯度方向是函数具有( )的方向 (P25-28) A .最速下降 B .最速上升 C .最小变化 D .最大变化率 10. 函数()f x 在某点的梯度方向为函数在该点的()(P25-28) A .最速上升方向 B .上升方向 C .最速下降方向 D .下降方向 11. n 元函数()f x 在点x 处梯度的模为( )(P25-28) A .f ?= B .12...n f f f f x x x ????=++??? C .22212()()...()n f f f f x x x ????=++??? D .f ?=12.更适合表达优化问题的数值迭代搜索求解过程的是( ) (P25-31) A .曲面或曲线 B .曲线或等值面 C .曲面或等值线 D .等值线或等值面 13.一个多元函数()f x 在*x 点附近偏导数连续,则该点为极小值点的充要条件 ( )(P29-31) A.*()0f x ?= B. *()0G x = C. 海赛矩阵*()G x 正定 D. **()0G()f x x ?=,负定

合肥工业大学《机械优化设计》课程实践报告

合肥工业大学 《机械优化设计》课程实践 研究报告 班级: 学号: 姓名: 授课教师: 日期:2016年 11 月 7 日 目录 作业要求 (2)

一、λ=0.618的证明、一维搜索程序作业 (3) 1、0.618法的基本思想 (3) 2、关于0.618法中参数λ=0.618的证明 (4) 3、一维搜索程序作业 (5) 二、单位矩阵程序作业 (8) 三、注释最佳再现给定运动规律连杆机构优化设计 (10) 问题模型子程序 (10) 四、连杆机构问题+其他工程优化问题 (12) 1、连杆机构问题 (12) 2、其他工程问题: (15) 五、课程实践心得体会 (18) 作业要求 1、λ=0.618的证明、一维搜索程序作业; 2、单位矩阵程序作业;

3、注释最佳再现给定运动规律连杆机构优化设计问题模型子程序; 4、连杆机构问题 + 自行选择小型机械设计问题或其他工程优化问题; (1)分析优化对象,根据设计问题的要求,选择设计变量,确立 约束条件,建立目标函数,建立优化设计的数学模型并编制问题程序; (2)选择适当的优化方法,简述方法原理,进行优化计算; (3)进行结果分析,并加以说明。 5、写出课程实践心得体会,附列程序文本。 一、λ=0.618的证明、一维搜索程序作业 1、0.618法的基本思想 “0.618法”,又称为黄金分割法,是常用的一种一维搜索试探方法,适用于 [,]a b 区间上的任何单调函数求极小值问题。 0.618法是建立在区间消去法原理基础上的试探方法,即在搜索区间[,]a b 内适当插入两点1a 、1b ,且11a b ,如下图所示。通过比较函数值1()f a 与1()f b 的大小,应用函数的单调性,可得出以下两种情况:

机械优化设计实验报告浙江理工大学.docx

机械优化设计实验 报告 班级:XXXX 姓名:XX 学号:XXXXXXXXXXX

一、外推法 1、实验原理 常用的一维优化方法都是通过逐步缩小极值点所在的搜索区间来求最优解的。一般情况下,我们并不知道一元函数f(X)极大值点所处的大概位置,所以也就不知道极值点所在的具体区域。由于搜索区间范围的确定及大小直接影响着优化方法的收敛速度及计算精度。因此,一维优化的第一步应首先确定一个初始搜索区间,并且在该区间内函数有唯一的极小值存在。该区间越小越好,并且仅存在唯一极小值点。 所确定的单股区间应具有如下性质:如果在[α1,α3]区间内任取一点α2,,α1<α2<α3或α3<α2<α1,则必有f(α1)>f(α2) #include #define f(x) 3*x*x-8*x+9 //定义函数 int main() { double a0,a1,a2,a3,f1,f2,f3,h; printf(“a0=”,a0); //单谷区间起始点 scanf(“%lf”,&a0); printf(“h=”,h); //起始的步长 scanf(“%lf”,&h); a1=a0;

a2=a1+h; f1=f(a0); f2=f(a2); if(f1>f2) //判断函数值的大小,确定下降方向 { a3=a2+h; f3=f(a3); } else { h=-h; a3=a1; f3=f1; a1=a2; f1=f2; a2=a3; f2=f3; a3=a2+h; f3=f(a3); } while(f3<=f2) //当不满足上述比较时,说明下降方向反向,继续进行判断 { h=2*h; a1=a2; f1=f2; a2=a3; f2=f3; a3=a2+h; f3=f(a3);

机械优化设计方法论文

浅析机械优化设计方法基本理论 【摘要】在机械优化设计的实践中,机械优化设计是一种非常重要的现代设计方法,能从众多的设计方案中找出最佳方案,从而大大提高设计的效率和质量。每一种优化方法都是针对某一种问题而产生的,都有各自的特点和各自的应用领城。在综合大量文献的基础上,总结机械优化设计的特点,着重分析常用的机械优化设计方法,包括无约束优化设计方法、约束优化设计方法、基因遗传算方法等并提出评判的主 要性能指标。 【关键词】机械;优化设计;方法特点;评价指标 一、机械优化概述 机械优化设计是适应生产现代化要求发展起来的一门科学,它包括机械优化设计、机械零部件优化设计、机械结构参数和形状的优化设计等诸多内容。该领域的研究和应用进展非常迅速,并且取得了可观的经济效益,在科技发达国家已将优化设计列为科技人员的基本职业训练项目。随着科技的发展,现代化机械优化设计方法主要以数学规划为核心,以计算机为工具,向着多变量、多目标、高效率、高精度方向发展。]1[ 优化设计方法的分类优化设计的类别很多,从不同的角度出发,可以做出各种不同的分类。按目标函数的多少,可分为单目标优化设计方法和多目标优化设计方法按维数,可分为一维优化设计方法和多维优化设计方法按约束情况,可分为无约束优化设计方法和约束优化设计方法按寻优途径,可分为数值法、解析法、图解法、实验法和情况研究法按优化设计问题能否用数学模型表达,可分为能用数学模型表达的优化设计问题其寻优途径为数学方法,如数学规划法、最优控制法等。 1.1 设计变量 设计变量是指在设计过程中进行选择并最终必须确定的各项独立参数,在优化过程中,这些参数就是自变量,一旦设计变量全部确定,设计方案也就完全确定了。设计变量的数目确定优化设计的维数,设计变量数目越多,设计空间的维数越大。优化设计工作越复杂,同时效益也越显著,因此在选择设计变量时。必须兼顾优化效果的显著性和优化过程的复杂性。

《机械优化设计》试题与答案解析

《机械优化设计》复习题及答案 一、填空题 1、用最速下降法求f(X)=100(x 2- x 12) 2+(1- x 1) 2的最优解时,设X (0)=[-0.5,0.5]T ,第一步迭代的搜索方向为[-47;-50] 。 2、机械优化设计采用数学规划法,其核心一是建立搜索方向 二是计算最佳步长因子 。 3、当优化问题是__凸规划______的情况下,任何局部最优解就是全域最优解。 4、应用进退法来确定搜索区间时,最后得到的三点,即为搜索区间的始点、中间点和终点,它们的函数值形成 高-低-高 趋势。 5、包含n 个设计变量的优化问题,称为 n 维优化问题。 6、函数 C X B HX X T T ++2 1的梯度为 HX+B 。 7、设G 为n×n 对称正定矩阵,若n 维空间中有两个非零向量d 0,d 1,满足(d 0)T Gd 1=0,则d 0、d 1之间存在_共轭_____关系。 8、 设计变量 、 约束条件 、 目标函数 是优化设计问题数学模型的基本要素。 9、对于无约束二元函数),(21x x f ,若在),(x 20100x x 点处取得极小值,其必要条件是 梯 度为零 ,充分条件是 海塞矩阵正定 。 10、 库恩-塔克 条件可以叙述为在极值点处目标函数的梯度为起作用的各约束函数梯度的非负线性组合。 11、用黄金分割法求一元函数3610)(2+-=x x x f 的极小点,初始搜索区间 ]10,10[],[-=b a ,经第一次区间消去后得到的新区间为 [-2.36,2.36] 。 12、优化设计问题的数学模型的基本要素有设计变量 、约束条件 目标函数 、 13、牛顿法的搜索方向d k = ,其计算量 大 ,且要求初始点在极小点 逼近 位置。 14、将函数f(X)=x 12+x 22-x 1x 2-10x 1-4x 2+60表示成 C X B HX X T T ++2 1的形式 。 15、存在矩阵H ,向量 d 1,向量 d 2,当满足 (d1)TGd2=0 ,向量 d 1和向量 d 2是关于H 共轭。 16、采用外点法求解约束优化问题时,将约束优化问题转化为外点形式时引入的惩罚因子r 数列,具有 由小到大趋于无穷 特点。

相关文档
最新文档