优化设计混合惩罚函数法程序

优化设计混合惩罚函数法程序

ID:40741167

大小:322.00 KB

页数:8页

时间:2019-08-07

优化设计混合惩罚函数法程序_第1页
优化设计混合惩罚函数法程序_第2页
优化设计混合惩罚函数法程序_第3页
优化设计混合惩罚函数法程序_第4页
优化设计混合惩罚函数法程序_第5页
资源描述:

《优化设计混合惩罚函数法程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、源程序:packageHyBrid;publicclasshybrid{publicstaticintcount=1;publicstaticdouble[]x={1,30};publicstaticdoubler=3,c=0.7,w1=0;publicstaticdoubledv[]=newdouble[2];publicstaticdoublex1[]=newdouble[2];publicdoublefunction(doublex1,doublex2){//目标函数return120*x1+x2;}pub

2、licdoubleg1(doublex1,doublex2){//约束条件一doubleG1=-x1;returnG1;}publicdoubleg2(doublex1,doublex2){//约束条件二doubleG2=-x2;returnG2;}publicdoubleg3(doublex1,doublex2){//约束条件三doubleG3=1-0.25*x2;returnG3;}publicdoubleg4(doublex1,doublex2){//约束条件四doubleG4=1-7*x1*x2/45;r

3、eturnG4;}publicdoubleg5(doublex1,doublex2){//约束条件五doubleG5=1-7*Math.pow(x1,3)*x2/45;returnG5;}publicdoubleg6(doublex1,doublex2){//约束条件六doubleG6=1-Math.pow(x2,2)*x1/320;returnG6;}publicdoublefun(doublex[],doubler){//构建惩罚函数doubleFUN=0;doublef=function(x[0],x[1]

4、);doubleg10=g1(x[0],x[1]);doubleg20=g2(x[0],x[1]);doubleg30=g3(x[0],x[1]);doubleg40=g4(x[0],x[1]);doubleg50=g5(x[0],x[1]);doubleg60=g6(x[0],x[1]);/*判断条件一的正负*/if(g10<0){FUN-=r/g10;}else{FUN+=(1.0/r)*Math.pow(g10,2);}/*判断条件二的正负*/if(g20<0){FUN-=r/g20;}else{FUN+=

5、(1.0/r)*Math.pow(g20,2);}/*判断条件三的正负*/if(g30<0){FUN-=r/g30;}else{FUN+=(1/r)*Math.pow(g30,2);}/*判断条件四的正负*/if(g40<0){FUN-=r/g40;}else{FUN+=(1/r)*Math.pow(g40,2);}/*判断条件五的正负*/if(g50<0){FUN-=r/g50;}else{FUN+=(1/r)*Math.pow(g50,2);}/*判断条件六的正负*/if(g60<0){FUN-=r/g60;

6、}else{FUN+=(1/r)*Math.pow(g60,2);}returnf+FUN;}publicdouble[]reflect(doublea,doublex3[],doublexh[]){//反射double[]result1=newdouble[2];result1[0]=x3[0]+a*(x3[0]-xh[0]);result1[1]=x3[1]+a*(x3[1]-xh[1]);returnresult1;}publicdouble[]stretch(doublec,doublex3[],doub

7、lex4[]){//延伸double[]result2=newdouble[2];result2[0]=x3[0]+c*(x4[0]-x3[0]);result2[1]=x3[1]+c*(x4[1]-x3[1]);returnresult2;}publicdouble[]shrink(doubleb,doublex3[],doublexh[]){//收缩double[]result3=newdouble[2];result3[0]=x3[0]+b*(xh[0]-x3[0]);result3[1]=x3[1]+b*

8、(xh[1]-x3[1]);returnresult3;}publicvoidnarrow(doublex0[],doublex1[],doublex2[],doublexe[]){//缩小x0[0]=0.5*(x0[0]+xe[0]);x0[1]=0.5*(x0[1]+xe[1]);x1[0]=0.5*(x1[0]+xe[0]);x1[1]=0.5*(x1[1]+xe[

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

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

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