当前位置: 首页 > news >正文

重庆网站建设qq群网上课程网站建设方案

重庆网站建设qq群,网上课程网站建设方案,wordpress电影网站,软件开发外包网站差分进化算法属于一种进化算法#xff0c;以全局最优性、收敛速度快等特点#xff0c;得到很多学者的关注#xff0c;并将其扩展到参数优化、数值优化、工程优化、路径优化、机器学习等一系列研究中。 而差分进化算法的原理即过程又是什么呢#xff1f; 一、什么是差分进…差分进化算法属于一种进化算法以全局最优性、收敛速度快等特点得到很多学者的关注并将其扩展到参数优化、数值优化、工程优化、路径优化、机器学习等一系列研究中。 而差分进化算法的原理即过程又是什么呢 一、什么是差分进化算法 差分进化算法的原理属于内部寻优机制通过不断缩小搜索区域进而达到最优区域范围使其种群不断靠近最优区域的邻域。如下图所示 通过上图可知种群个体不断在搜索区域搜寻随着搜寻次数的增加搜索区域面积在逐渐减少。最后种群个体都朝着最优区域前进落在邻域内这样一个过程就完成了差分进化算法的内部进化机制。 至于差分进化算法的原理这里就不再过多阐述。接下来将阐述如何运用java的面向对象思维编写程序 二、差分进化算法需要实现的方法部分 对于差分进化算法需要经过初始化种群、保存初始种群下的当前最优值、变异、交叉、选择、保存全局最优值因此可以将其看作面向对象的方法其中种群中的种群数、个体、变异因子、交叉因子看作是面向对象的属性。 所以将种群数、个体、变异因子、交叉因子编写成成员变量如下 //初始化参数--以公共变量为主--所有方法都可以访问public int Np10; //种群数量public int D2; //个体维度---维数越高收敛度就会下降----多维函数建立public double F0.5; //变异因子public double Cr0.95; // 交叉概率 ---在这里取1收敛速度快为什么public double xmax1; //基向量的最大值 ----根据函数的自变量建立每个区间的初始值改进public double xmin-1; //基向量的最小值 将当前最优值、变异、交叉、选择、保存全局最优值看作成面向对象的方法 // 初始化种群public void Init(){Random rnew Random();double d1 r.nextDouble();for (int i0;iNp;i)for(int j0;jD;j)X[i][j]xmin(xmax-xmin)*d1;this.setX(X);}//保存当前最优值public void save_best(){Xthis.getX();bestX[0];for(int i1;iNp;i){if(cal_fitness(best)cal_fitness(X[i]))bestX[i];}this.setBest(best);}//变异操作public void variated(){Xthis.getX();Random rnew Random();for(int i0;iNp;i){int r00,r10,r20;for(int j0;jD;j){if(r2i||r1i||r0i||r0r1||r0r2||r1r2) //做基变量的的互异问题r0r.nextInt(Np);r1r.nextInt(Np);r2r.nextInt(Np);V[i][j]X[r0][j](X[r1][j]-X[r2][j])*F; //变异//防止越界;检查是否越界if(V[i][j]xmin) V[i][j]xmin;if(V[i][j]xmax)V[i][j]xmax;}}this.setV(V);}//交叉操作public void cross(){Xthis.getX();Vthis.getV();Random rnew Random();for(int i0;iNp;i){for(int j0;jD;j){int jrandr.nextInt(D);if(r.nextDouble()Cr || jjrand)U[i][j]V[i][j];elseU[i][j]X[i][j];}}this.setU(U);}// 选择操作public void select(){Xthis.getX();Uthis.getU();for(int i0;iNp;i){if(cal_fitness(U[i])cal_fitness(X[i]))X[i]U[i];elseX[i]X[i];}this.setX(X);}//全局最优值保存public void gobal_solve(){bestthis.getBest();Xthis.getX();for(int i0;iNp;i){if(cal_fitness(X[i])cal_fitness(best))bestX[i];}this.setBest(best);best_fitnesscal_fitness(best);System.out.println(最优解best[0], best[1]);System.out.println(最优值best_fitness);System.out.println(----------------------------);} 而其中不同的方法需要进行相互调用而创建的void方法需要对其返回值需要保存到提前开创的存储空间 //创建储存种群的矩阵private double X[][]new double[Np][D]; //存放初始个体以及子代个体private double V[][]new double[Np][D]; // 存放变异个体private double U[][]new double[Np][D]; //存放交叉个体private double best_fitness;private double best[]new double[D]; // 保存最优个体/*复制个体及种群---其中的X,V,U,best_fitness,best属于私有的属性不能独自获取需要创建一个公有访问方法*/public double[][] getX(){return X;}public void setX(double[][] X){for(int i0;iNp;i)for(int j0;jD;j)this.X[i][j]X[i][j];}public double[][] getV(){return V; }public void setV(double[][] V){for(int i0;iNp;i)for(int j0;jD;j)this.V[i][j]V[i][j];}public double[][] getU(){return U;}public void setU(double[][] U){for(int i0;iNp;i)for(int j0;jD;j)this.U[i][j]U[i][j];} 然后开创好空间、创建方法、设置成员变量之后创建函数 // 创建测试函数public double cal_fitness(double x[]){double y;yx[0]*x[0]x[1]*x[1]-2;return y; } 函数可以根据自己的需求进行修改 之后创建主方法调用各子方法运行差分进化算法的整个过程 public static void main(String[] args){// 创建对象Tradition_DE gnew Tradition_DE();int iter0;g.Init();while (iter1000){//g.DE();g.variated();g.cross();g.select();g.gobal_solve();iter;}} 三、运行结果 最优解0.0, 0.0 最优值-2.0 ---------------------------- 最优解0.0, 0.0 最优值-2.0 ---------------------------- 点击下方蓝色字体链接获取源代码 java编写传统差分进化算法
http://www.dnsts.com.cn/news/146662.html

相关文章:

  • 网站开发程序用什么好连云制作企业网站
  • 高端网站建设需要多少钱网站建设简述
  • 个人怎样申请网站用mvc做网站的框架
  • 邵阳市建设局网站首页深圳防疫措施优化
  • 微信小程序网站建设推广用别人公司域名做网站
  • 代做ppt的网站市桥网站建设哪家好
  • 网站 为何要 备案百度推广客户端电脑版
  • 南宁论坛建站模板做购物网站哪种服务器好
  • 做网站伊犁哈萨克自治州网页模版下载
  • 模板网站建站步骤wordpress仿36kr模板
  • 谷歌google官方网站厦门网站建设中心
  • 湖南网站建设效果南宁手机网站开发策划
  • 注册营业执照网站网络公司推广方案
  • 热门网站排名汕头seo优化培训
  • 福州网站建设公司城市门户网站模板
  • 化妆品网站设计开题报告ckeditor for wordpress
  • 新建的网站打不开深圳公众号开发公司
  • 怎么做能打不开漫画网站wordpress 禁用谷歌字体 地图
  • 四川建设厅官方网站北京建工博海建设有限公司网站
  • 广东同江医院网站建设智能建站工具
  • 网站建设中一览二栏什么意思建立个人网站的详细步骤
  • 有什么免费做代理的网站视频网站开发费用
  • 如何将网站上传到万网主机做网站,就上凡科建站
  • 做哪种网站流量上的快微信备份如何转换为wordpress
  • 怎样在门户网站做 推广网店营销推广策略
  • 深圳网站制作公司平台网站建设移动时代
  • 网站建设公司哪家好建筑工程网站源码
  • 邯郸做网站代理上海公司网站开发
  • 折800网站程序长春服务好的网络营销
  • 如何建立网站网站的登录注册页面怎么做的