欢迎来到天天文库
浏览记录
ID:11200324
大小:40.50 KB
页数:6页
时间:2018-07-10
《优化设计-惩罚函数法程序(c语言)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、优化设计-惩罚函数法程序(c语言)#include#include#definem10floatf(floatx[],floatp);voidmjtf(intn,floatx0[],floath,floats[],floata[],floatb[],floatp);voidmhjfgf(intn,floata[],floatb[],floatflag,floatx[],floatp);voidmbwef(intn,floatx0[],floath,floatflag,floata[],floatb[],floatx[],floatp);
2、floatmax(floatl){floatresu;if(l<=0)resu=0;elseresu=l*l;returnresu;}floatf(floatx[],floatp){floatresult,t1;floatt2,t3,t4;t1=(8-x[0]-x[1]);result=x[0]*x[0]+x[1]*x[1]-x[0]*x[1]-10*x[0]-4*x[1]+60+p*max(t1);returnresult;}floatg(floatx[]){floatre;re=x[0]*x[0]+x[1]*x[1]-x[0]*x[1]-10*x[0]-4*x[1]
3、+60;returnre;}voidmjtf(intn,floatx0[],floath,floats[],floata[],floatb[],floatp){inti;floatx1[m],x2[m],x3[m],f1,f2,f3;for(i=0;i=f1)/*判断搜索方向*/{/*搜索方向为反向,转身*/h=(-1)*h;for(i=0;i4、;i++)x1[i]=x2[i];f1=f2;for(i=0;i5、成*/for(i=0;i6、]=a[i]+(float)0.618*(b[i]-a[i]);f2=f(x2,p);do{if(f1<=f2)/*判断消去区间*/{/*消去右*/for(i=0;i7、x2[i]=a[i]+(float)0.618*(b[i]-a[i]);f2=f(x2,p);}sum=0;for(i=0;iflag*0.1);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i
4、;i++)x1[i]=x2[i];f1=f2;for(i=0;i5、成*/for(i=0;i6、]=a[i]+(float)0.618*(b[i]-a[i]);f2=f(x2,p);do{if(f1<=f2)/*判断消去区间*/{/*消去右*/for(i=0;i7、x2[i]=a[i]+(float)0.618*(b[i]-a[i]);f2=f(x2,p);}sum=0;for(i=0;iflag*0.1);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i
5、成*/for(i=0;i6、]=a[i]+(float)0.618*(b[i]-a[i]);f2=f(x2,p);do{if(f1<=f2)/*判断消去区间*/{/*消去右*/for(i=0;i7、x2[i]=a[i]+(float)0.618*(b[i]-a[i]);f2=f(x2,p);}sum=0;for(i=0;iflag*0.1);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i
6、]=a[i]+(float)0.618*(b[i]-a[i]);f2=f(x2,p);do{if(f1<=f2)/*判断消去区间*/{/*消去右*/for(i=0;i7、x2[i]=a[i]+(float)0.618*(b[i]-a[i]);f2=f(x2,p);}sum=0;for(i=0;iflag*0.1);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i
7、x2[i]=a[i]+(float)0.618*(b[i]-a[i]);f2=f(x2,p);}sum=0;for(i=0;iflag*0.1);/*判断是否未达到精度要求,若未达到则返回继续缩小区间*/for(i=0;i
此文档下载收益归作者所有