zoukankan      html  css  js  c++  java
  • 离散的差分进化Discrete DE

    一般的差分算法的变异规则:
    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

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

  • 相关阅读:
    c#中枚举的使用
    WEB页面下载内容导出excel
    浏览器使用说明
    ChromiumWebBrowser 禁用右键菜单
    ExpressionHelp2
    安装T4环境
    打印功能
    操作图片
    软件开发中的框架概念和技术路线概念
    Grpc-Client引用Server的proto文件时Build Fail
  • 原文地址:https://www.cnblogs.com/aaronhoo/p/7054723.html
Copyright © 2011-2022 走看看