变异(Mutation) 交叉(Crossover) 选择(Selection) 遗传操作 算法的基本思想是从某一随机产生的初始群体开始,利用从种群中随机选取的两个个体的差向量作为第三个个体的随机变化源,将差向量加权后按照一定的规则与第三个个体求和而产生变异个体,该操作称为变异。然后,变异个体与某个预先决定的目标个体进行参数混合,生成试验个体,这一过程称之为交叉。如果试验个体的适应度值优于目标个体的适应度值,则在下一代中试验个体取代目标个体,否则目标个体仍保存下来,该操作称为选择 *
2023-04-20 20:40:10 3.69MB 算法
1
骨架差分进化算法能够较好规避差分进化算法控制参数和变异策略选择问题。针对基于双变异策略的经典骨架差分算法(MGBDE)没有根据个体进化差异选择适合的变异策略和考虑早熟收敛的问题,提出一种改进算法。该算法引入变异策略选择因子,并借鉴自适应差分进化算法的设计思想,将选择因子随个体共同参与进化,使个体执行当前最为适合的变异策略,克服原始算法进化过程的盲目性,同时选择因子的动态自适应特性保持了骨架算法近似无参数的优点;该算法加入停滞扰动策略,降低陷入局部最优的风险。采用18个标准测试函数进行实验,结果表明,新算法在收敛精度、收敛速度和顽健性上整体优于多种同类骨架算法以及知名的差分进化算法
2023-03-29 21:42:49 1.37MB 差分进化 骨架算法 双变异策略 自适应
1
针对求解资源受限项目调度问题(RCPSP),提出了基于差分进化(DE)的混合粒子群算法(PSODE)。通过在PSO种群和DE种群之间建立一种信息交流机制,使信息能够在两个种群中传递,以避免个体因错误的信息判断而陷入局部最优点。采用标准测试函数和具体算例进行检验,结果表明PSODE算法可以较好地解决RCPS问题。
1
matlab实现差分进化算法(DE),可以正常运行,请放心食用哦。
2023-03-12 17:32:40 718B matlab de
1

针对多模态优化问题, 提出一种动态小生境半径两阶段多模态差分进化算法. 基于构象空间退火思想, 设计一种两阶段退火策略来动态调整小生境半径, 并根据退火过程将整个优化过程分为两个阶段. 在第1 阶段, 通过差分限制变异策略生成高质量的新个体来维持种群的多样性, 促进多模收敛; 在第2 阶段, 利用种子邻近变异策略对已探测到的生境高度搜索, 加快算法的收敛速度. 实验结果表明, 所提出算法能够有效实现从全局探测到局部增强的自适应平滑过渡, 是一种有效的多模态优化算法.

1
差分进化算法的MatLab源代码,可供研究者和编程者参考 差分进化算法的MatLab源代码,可供研究者和编程者参考
2023-03-01 15:54:27 34KB matlab
1
设计了基于标准差分进化算法differential evolution, DE与遗传算法genetic algorithm, GA的混合差分进化算法hybrid DE, HDE, 同时用典型的测试函数对HDE进行性能测试。针对旅行商问题traveling salesman problem, TSP的求解难题, 给出了采用位置—次序转换策略和HDE的有效求解方法, 并测试了Oliver 30个城市的TSP。仿真结果表明, 与DE和GA相比, HDE的优势在收敛率、平均最优解以及耗时上都很明显, 证明了HDE在解决TSP问题上的有效性和稳定性。
1
来源:Li Y, Wang S, Yang H, et al. Enhancing differential evolution algorithm using leader-adjoint populations[J]. Information Sciences, 2023, 622: 235-268. 内容:CEC2017测试集, LADE. 注释:本算法为个人编译,仅供参考.
2023-02-20 16:44:26 3.59MB 差分进化 matlab 智能优化算法 LADE
1
提出了一种自适应差分进化算法,该算法在计算过程中自适应调整缩放因子,在搜索初期保持种群的多样性和增强全局搜索能力,后期有利于局部搜索提高算法的精度。数值实验结果表明,该算法有效的避免早熟,提高了全局寻优能力。该算法的性能优于基本微分进化算法。
2023-02-03 20:21:37 187KB 自然科学 论文
1
python实现基于改进的差分进化算法求解柔性作业车间调度问题源码+项目说明.7z 问题规模以(工件J*工序P*机器M)表示,例如J20P10M10表示共有20个工件,每个工件有10个工序,总共有10个加工机器可供选择。data文件夹中的文件表示程序所用的数据,其中data_first文件的问题规模是J10P5M6,data_second文件的问题规模是J20P10M10,data_third文件的问题规模是J20P20M15。对于其中数据的解释:横向表示工序,纵向表示机器,每个数值表示机器加工工序的耗时,工序和机器都是按顺序排列的。以data_first.txt文件为例,前五行分别表示第一个工件的5个工序分别在6台机器上加工的时间,第5-10行表示第二个工件的5个工序分别在6台机器上加工的时间,以此类推。 关于编码,本项目采用的是同类问题常用的编码方式,参考论文“基于改进遗传算法的柔性作业车间调度问题研究”,与该论文所述的编码方式不同的是,本项目的编码中第一段为工序编码,第二段为机器编码。