离散的差分进化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
这样做是因为,我把变异理解局部搜索,交叉部分必须能够产生新的个体,才能实现全局搜索。
离散的差分进化Discrete DE的更多相关文章
- 标准差分进化算法matlab程序实现(转载)
标准差分进化算法matlab程序实现 自适应差分演化算法方面的Matlab和C++代码及论文 差分进化算法 DE-Differential Evolution matlab练习程序(差异演化DE) [ ...
- SBX(Simulated binary crossover)模拟二进制交叉算子和DE(differential evolution)差分进化算子
一起来学演化计算-SBX(Simulated binary crossover)模拟二进制交叉算子和DE(differential evolution)差分进化算子 觉得有用的话,欢迎一起讨论相互学习 ...
- 差分进化算法 DE-Differential Evolution
差分进化算法 (Differential Evolution) Differential Evolution(DE)是由Storn等人于1995年提出的,和其它演化算法一样,DE是一种模拟生物进化 ...
- 差分进化算法介绍及matlab实现
引言 差分进化算法是基于群体智能理论的优化算法,是通过群体内个体间的合作与竞争而产生的智能优化搜索算法,它保留了基于种群的全局搜索策略,采用实数编码.基于差分的简单变异操作和"一对一&quo ...
- 差分进化算法(DE)的C++面向对象方法实现
代码来源于网络,写得非常棒 /*DE_test *对相应的Matlab程序进行测试 */ #include <iostream> #include <cmath> #inclu ...
- 【转】Algorithms -离散概率值(discrete)和重置、洗牌(shuffle)算法及代码
离散概率值(discrete) 和 重置\洗牌(shuffle) 算法 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/1 ...
- 差分进化算法-python实现
DEIndividual.py import numpy as np import ObjFunction class DEIndividual: ''' individual of differen ...
- The Preliminary Contest for ICPC Asia Shanghai 2019 B Light bulbs (离散的差分)
复杂度分析,询问一千次,区间长1e6,O(1e9)超时. 那么我们知道对于差分来说,没必要一个一个求,只需要知道区间长就可以了,所以我们定义结构体差分节点,一个头结点,一个尾节点. 这样tail.lo ...
- 布谷鸟搜索算法CS
0 引言 布谷鸟搜索(Cuckoo Search,CS)是由 Xin-She Yang 和 Suash Deb 于 2009 年开发的自然启发式算法.CS 基于布谷鸟的寄生性育雏(brood para ...
随机推荐
- RF(scalar/list/dict变量)
一.scalar 变量 ${} 定义 scalar 变量 ${} 还用来取值 1.set variable 设置变量 ${name} Set Variable zhangsan log ${nam ...
- OSG程序设计之Hello World1.0
对于从未接触过OSG的我来说,首先需要一个入门教程.在OSG论坛逛了半天,再加上google,最终决定使用<OSG程序设计>这本书. 下面就贴出书中的第一个例子:Hello World. ...
- wmic 内网使用
先决条件: 1.远程服务器启动Windows Management Instrumentation服务,开放TCP135端口,防火墙放开对此端口的流量(默认放开): 2.远程服务器的本地安全策略的“网 ...
- Nacos系列(一):Nacos环境安装及Hello World示例
现在微服务架构越来越火,微服务架构中比较重要的一项就是配置中心, Nacos是阿里巴巴的一个开源项目,它的其中一个功能就是可以作为配置中心,实现配置的动态变更.历史版本对比.配置回滚等功能. 更多的描 ...
- 深度剖析西门子PLC的开放式TCP通信
对于自控或电气工程师来说,西门子PLC是每个人都非常熟悉的一款PLC品牌:而对于上位机开发工程师来说,Socket通信或TCP/IP协议也是必须要掌握的一种通信方式.刚好手头有一款西门子的200Sma ...
- C# 数据操作系列 - 4. 自己实现一个ORM
0. 前言 在之前的几篇内容中,我们了解了如何通过ADO.NET 访问数据库,如何修改.新增数据.如何通过DataSet和DataAdapter获取数据,我们将在这一篇试试自己实现一个简单的ORM框架 ...
- DP动态规划之01背包问题
目录 问题描述 问题分析 问题求解 Java代码实现 优化方向一:时间方面:因为是j是整数是跳跃式的,可以选择性的填表. 思考二:处理j(背包容量),w(重量)不为整数的时候,因为j不为整数了,它就没 ...
- [hdu4416 Good Article Good sentence]后缀自动机SAM
题意:给出串A和串集合B={B1,B2,...,Bn},求串A的所有不同子串中不是B中任一串的子串的数目. 思路:把A和B中所有字符串依次拼接在一起,然后构造后缀自动机,计算每个状态的R集合元素的最大 ...
- [codeforces-543B]bfs求最短路
题意:给一个边长为1的无向图,求删去最多的边使得从a到b距离<=f,从c到d距离<=g,a,b,c,d,f,g都是给定的,求最多删去的边数. 思路:反过来思考,用最少的边构造两条从a到b, ...
- Mybatis极速入门
搭建mybatis的环境 导入相关jar包 mybatis-3.5.3.jar commons-logging-1.1.1.jar log4j-1.2.16.jar cglib-2.2.2.jar a ...