一般的差分算法的变异规则:
Xmutation=Xr1+F(Xr2-Xr3),F为缩放因子,

离散差分进化DDE的变异规则:设每个解为K个元素的集合,则
Xr2-Xr3:求出Xr2与Xr3有m个共同元素,则Xr2-Xr3表示Xr2中减去m个相同的元素,剩下的K-m个独有元素e1,e2,...eK-m(若K-m==0,则随机产生一个新的Xr3替换掉原有的Xr3,再执行上述过程)。
Xr1+F(Xr2-Xr3):F为缩放因子,F=0.5+random(0.5到1.5之间的随机数),则Xr1+F(Xr2-Xr3)表示,
要在Xr1中随机找出N=F*(K-m)个元素进行替换,新的元素来自(e1,e2,...eK-m)。
若N<=K-m,替换N个
若K-m<N<K,替换N个,不足的元素从集合V随机挑选。
若N>K,则替换N=K个,即替换Xr1中K个位置的所有元素,元素为e1,e2,...eK-m和集合V中的随机元素。

替换之后的Xr1为Xmutation。

交叉规则:
if random<cr
Xselection=Xmutation
else
把X再次进行变异得到Xnew
Xselection=Xnew

这样做是因为,我把变异理解局部搜索,交叉部分必须能够产生新的个体,才能实现全局搜索。

最新文章

  1. IOS开发基础知识--碎片22
  2. Android性能优化之内存优化练习
  3. 解决服务器Active&amp;nbsp;Directory环境里Windows登录性能问题办法
  4. lua中string.find()函数作用于汉字字符串
  5. Qt Style Sheet实践(三):QCheckBox和QRadioButton
  6. jsp导出Excel功能的实现
  7. Android 优秀UI控件 ---- FlowingDrawer
  8. NDIS IM 驱动那些事情
  9. li样式不显示使用overflow:hidden导致Li前面点、圈等样式不见
  10. mongoDB文件太大查错纪录
  11. oracle触发农产品证明文件号码
  12. 理解js中的运算符优先级
  13. Tomcat启用GZIP压缩,提升web性能
  14. 十大经典排序算法的 JavaScript 实现
  15. vs2010中使用 git
  16. shell杂记
  17. nodejs包管理工具npm
  18. CentOS 下tomcat安装
  19. Fragment生命周期(转)
  20. PHP 中文乱码解决方式

热门文章

  1. 算法——Java实现队列
  2. java读源码 之 map源码分析(HashMap)二
  3. 一条SQL的执行流程
  4. 利用Asp.net和Sql Server实现留言板功能
  5. .NETcore中使用jwt来对api进行身份验证
  6. [hdu4768]二分
  7. 想要年薪百万,阿里Sentinel支持RESTful接口都搞不定?
  8. python 一个模块找不到的错误:ModuleNotFoundError
  9. 面试总结:鹅厂Linux后台开发面试笔试C++知识点参考笔记
  10. JPA 分页处理