离散的差分进化Discrete DE
2024-09-06 23:29:23
一般的差分算法的变异规则:
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
这样做是因为,我把变异理解局部搜索,交叉部分必须能够产生新的个体,才能实现全局搜索。
最新文章
- IOS开发基础知识--碎片22
- Android性能优化之内存优化练习
- 解决服务器Active&;nbsp;Directory环境里Windows登录性能问题办法
- lua中string.find()函数作用于汉字字符串
- Qt Style Sheet实践(三):QCheckBox和QRadioButton
- jsp导出Excel功能的实现
- Android 优秀UI控件 ---- FlowingDrawer
- NDIS IM 驱动那些事情
- li样式不显示使用overflow:hidden导致Li前面点、圈等样式不见
- mongoDB文件太大查错纪录
- oracle触发农产品证明文件号码
- 理解js中的运算符优先级
- Tomcat启用GZIP压缩,提升web性能
- 十大经典排序算法的 JavaScript 实现
- vs2010中使用 git
- shell杂记
- nodejs包管理工具npm
- CentOS 下tomcat安装
- Fragment生命周期(转)
- PHP 中文乱码解决方式