ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:115.50KB ,
资源ID:2356220      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2356220.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(机械优化设计-复合型法.doc)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

机械优化设计-复合型法.doc

1、机械优化设计实验报告(一) 题目:用复合形法求约束优化问题;的最优解。基本思路:在可行域中构造一个具有K个顶点的初始复合形。对该复合形各顶点的目标函数值进行比较,找到目标函数值最大的顶点(即最坏点),然后按一定的法则求出目标函数值有所下降的可行的新点,并用此点代替最坏点,构成新的复合形,复合形的形状每改变一次,就向最优点移动一步,直至逼近最优点。(二) 复合形法的计算步骤1) 选择复合形的顶点数k,一般取,在可行域内构成具有k个顶点的初始复合形。2) 计算复合形个顶点的目标函数值,比较其大小,找出最好点xL、最坏点xH、及此坏点xG.3) 计算除去最坏点xH以外的(k-1)个顶点的中心xC。判

2、别xC是否可行,若xC为可行点,则转步骤4);若xC为非可行点,则重新确定设计变量的下限和上限值,即令,然后转步骤1),重新构造初始复合形。4) 按式计算反射点x,必要时改变反射系数的值,直至反射成功,即满足式。然后x以取代x,构成新的复合形。5) 若收敛条件得到满足,计算终止。约束最优解为:。(三) 复合形法程序框图见下图:是否否否否是是是是否求反射点计算各顶点的目标函数值f(xj)(j=1,2,k)一次坏点xG代替最坏点xH结 束xR可行?xC可行?计算出去xH后的各顶点中心将各定点的目标函数值和坐标按目标函数值的大小排序形成初始复合形的k个顶点xj(j=1,2,k)输入 n,k,开 始

3、(四) 源程序如下: #includedouble objfx(double x) double ff; ff=(x0-5)*(x0-5)+4*(x1-6)*(x1-6); return ff;#includevoid main() void comple(int n,int k,int kg,double ep,double x,double bl,double bu, double xcom100,double *f) ; double a=0,0,b=10,20,f,x2,xcom2100;comple(2,3,3,0.00001,x,a,b,xcom,&f);printf( nnn 输

4、出最优解及目标函数值:n);printf(n x1=%.5f x2=%.5f f(x1,x2)=%.5fnn ,x0,x1,f);/*wsd说明 n 优化模型维数 k复合形顶点数 kg 约束函数个数 ep 收敛精度 x a初始点下限 b初始点上限 xcom进程中的优化结果 *f */#include #include #include double objfx(double x);void constraint(double x,double g);void constraint(double x,double g)g0=64-x0*x0-x1*x1; g1=x1-x0-10;g2=x0-10

5、; int gau(double x,double g,int kg) int i; constraint(x,g); for(i=0;i0) goto s33; return 1;s33:return 0;void xcent(int n,int k,int ll,int lh,double x0,double xcom100)int i,l;double xs;for(i=0;in;i+)xs=0;for(l=0;l-1)x0i=xs/(ll-1);elsex0i=xs/ll; void fxse(int n,int k,double x,double xcom100,double fxk

6、)int l,lp,lp1,i;double temp;for(l=0;lk-1;l+)for(lp=0;lpk-l;lp+)lp1=lp+1;if(fxklp=fxklp1)temp=fxklp; fxklp=fxklp1; fxklp1=temp;for(i=0;in;i+) xi=xcomilp; xcomilp=xcomilp1; xcomilp1=xi; void comple(int n,int k,int kg,double ep,double x,double bl,double bu, double xcom100,double *f) int i,iw,l,ll,lh,it

7、; double fx,fx0,sdx,fxh,fxr,alp; double *x0=(double*)calloc(n,sizeof(double); double *xh=(double*)calloc(n,sizeof(double); double *xr=(double*)calloc(n,sizeof(double); double *fxk=(double*)calloc(k,sizeof(double); double *g=(double*)calloc(kg,sizeof(double);s5: for(i=0;in;i+) xi=bli+rand()/40000.0*(

8、bui-bli); iw=gau(x,g,kg); if(iw=0) goto s5; for(i=0;in;i+) xcomi0=xi; for(l=1;lk;l+) for(i=0;in;i+) xcomil=bli+rand()/50000.0*(bui-bli); lh=-1; for(ll=1;llk;ll+) xcent(n,k,ll,lh,x0,xcom); iw=gau(x0,g,kg); if(iw=0) goto s5; for(i=0;in;i+) xi=xcomill+1;s24: iw=gau(x,g,kg); if(iw=0) for(i=0;in;i+) xi=x

9、0i+0.5*(xi-x0i); goto s24; else for(i=0;in;i+) xcomill+1=xi; for(l=0;lk;l+) for(i=0;in;i+) xi=xcomil; fx=objfx(x); fxkl=fx; it=0;s14: it=it+1; printf(nnn N= %2dn,it); lh=-1; xcent(n,k,k,lh,x0,xcom); fx0=objfx(x0); iw=gau(x0,g,kg); for(i=0;in;i+) printf( X(%d)min=%.5f ,i+1,x0i); printf( Fmin=%.5fn,fx

10、0); for(i=0;ikg;i+) printf( G(%d)min=%.5f,i,gi); sdx=0; for(l=0;lk;l+) sdx=sdx+(fx0-fxkl)*(fx0-fxkl); sdx=sqrt(sdx/(double)k); if(sdxep) goto s38; fxse(n,k,x,xcom,fxk); lh=0;s22: fxh=fxklh; for(i=0;in;i+) xhi=xcomilh; xcent(n,k,k,lh,x0,xcom); iw=gau(x0,g,kg); if(iw=0)goto s36; alp=1.3;s12: for(i=0;i=fxh) if(alp1.0e-4) alp=alp*0.5; goto s12; lh=lh+1; if(lh3)goto s22; for(i=0;in;i+) xcomilh=xri; fxklh=fxr; goto s14;s36: for(i=0

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1