机械优化设计—复合形方法及源程序

机械优化设计—复合形方法及源程序

ID:41130853

大小:138.00 KB

页数:8页

时间:2019-08-17

机械优化设计—复合形方法及源程序_第1页
机械优化设计—复合形方法及源程序_第2页
机械优化设计—复合形方法及源程序_第3页
机械优化设计—复合形方法及源程序_第4页
机械优化设计—复合形方法及源程序_第5页
资源描述:

《机械优化设计—复合形方法及源程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

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

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

3、数值和坐标按目标函数值的大小排序形成初始复合形的k个顶点xj(j=1,2,……,k)输入n,k,ε开始..(一)源程序如下:/*输入值选择n=2,k=3,本程序可以处理n为2或3,k为3或4的情况*/#include#include#include#include#defineE01e-5/*复合形法收敛控制精度*/double**apply(int,int);/*申请矩阵空间*/doublef(double*);/*目标函数*/double*g(double*);/*约束函数*/bo

4、oljudge(double*);/*可行点的判断*/intmain(){intn,k;inti,j,k1;intl;doubletemporary;doublerestrain;/*收敛条件*/doublereflect;/*反射系数*/srand((unsigned)time(NULL));printf("请输入目标函数的维数n:");/*输入已知数据*/scanf("%d",&n);printf("请输入复合形的顶点数k:");scanf("%d",&k);double**x=apply(k,n);/*存放复合形顶点*/double*y=(doub

5、le*)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

6、*)calloc(n,sizeof(double));/*存放最坏点的反射点*/printf("本程序中的所有输入,两个数之间用空格隔开,然后按enter键时不要长时间的按,否则,可能会出错");printf("请输入选定的第一个可行点x1(包含%d个数):",n);for(i=0;i

7、;i++)scanf("%lf",b+i);printf("输出输入结果为:n=%d,k=%d,x1=(",n,k);/*输出已知数据*/for(i=0;i

8、;L1:for(i=1;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。