目录

    • 1.摘要
    • 2.自适应种群分配和变异选择差分进化算法iDE-APAMS
    • 3.结果展示
    • 4.参考文献
    • 5.代码获取
    • 6.算法辅导·应用定制·读者交流


1.摘要

为了提高差分进化算法(DE)在不同优化问题上的性能,本文提出了一种自适应种群分配和变异选择差分进化算法(iDE-APAMS)。iDE-APAMS将变异策略分为探索策略池和开发策略池,不同的变异策略通过合作与竞争动态分配种群资源。策略池之间通过合作竞争种群资源,再由每个策略池内的变异策略相互竞争,从而优化资源分配,变异规模因子和交叉率根据种群多样性和适应度的变化自适应调整。

2.自适应种群分配和变异选择差分进化算法iDE-APAMS

变异策略池

不同的变异策略具有不同的探索性和开发性,影响全局和局部搜索能力。良好的探索性可增强全局搜索,但可能导致发散;而强开发性可加速局部收敛,但易陷入局部最优。论文通过构建探索和开发策略池,动态选择变异策略,平衡探索与开发,优化算法性能。

探索策略池通过引入多样化的变异策略,增强种群多样性和探索能力。变异策略的选择考虑通过差异向量避免相似行为,并将被丢弃的个体存储在外部档案中。

DE/current-to-qbest with archive/1:
νi,G=xi,G+Fi×(xqbest,G−xi,G+xr1,G−xr2,G)\nu_{i,G}=x_{i,G}+F_{i}\times(x_{qbest,G}-x_{i,G}+x_{r1,G}-x_{r2,G}) νi,G=xi,G+Fi×(xqbest,Gxi,G+xr1,Gxr2,G)

DE/current-to-rand /1:

νi,G=xi,G+Fi×(xr1,G−xi,G+xr3,G−xr2,G)\nu_{i,G}=x_{i,G}+F_i\times(x_{r1,G}-x_{i,G}+x_{r3,G}-x_{r2,G}) νi,G=xi,G+Fi×(xr1,Gxi,G+xr3,Gxr2,G)

开发策略池通过选择具有良好开发性的变异策略,利用精英引导和局部搜索提高个体的开发能力,增强精英周围的搜索能力并提升解的准确性。

DE/current-to-ord_tbest/1:
νi,G=xi,G+Fi×(xordtbest,G−xi,G+xordtmid,G−xordtbad,G)\nu_{i,G}=x_{i,G}+F_i\times(x_{ord_tbest,G}-x_{i,G}+x_{ord_tmid,G}-x_{ord_tbad,G}) νi,G=xi,G+Fi×(xordtbest,Gxi,G+xordtmid,Gxordtbad,G)

CMA-ES:
νi,G=N(μ,δ2M)\nu_{i,G}=N(\mu,\delta^2\boldsymbol{M}) νi,G=N(μ,δ2M)

自适应种群分配

自适应种群分配通过基于适应度改善和多样性的动态分配方法,合理分配种群资源。在探索策略池中,优先考虑多样性以提升全局搜索能力;在开发策略池中,优先考虑适应度改善以提高局部搜索精度。

Schematic diagram of population allocation

适应度改善:
Fitm=1Nm∑i=1NmΔFiti,m=1,2,3,4Fit^m=\frac{1}{N_m}\sum_{i=1}^{N_m}\Delta Fit_i,m=1,2,3,4 Fitm=Nm1i=1NmΔFiti,m=1,2,3,4
ΔFiti=max⁡(0,f(xi,G)−f(ui,G))\Delta Fit_i=\max(0,f(x_{i,G})-f(u_{i,G})) ΔFiti=max(0,f(xi,G)f(ui,G))

种群多样性:
Dism=1Nm∑i=1NmΔDisi,m=1,2,3,4Dis^m=\frac{1}{N_m}\sum_{i=1}^{N_m}\Delta Dis_i,m=1,2,3,4 Dism=Nm1i=1NmΔDisi,m=1,2,3,4
ΔDisi=dis(xi,G−xbest,G)\Delta Dis_i=dis(x_{i,G}-x_{best,G}) ΔDisi=dis(xi,Gxbest,G)

探索策略池与开发策略池之间的种群分配基于适应度改善和多样性,同时利用历史记忆存储平滑的适应度改善和多样性。历史记忆的更新:
Zk,G+1=min⁡(0.8,max⁡(0.2,Zk,G+1))Z_{k,G+1}=\min(0.8,\max(0.2,Z_{k,G+1})) Zk,G+1=min(0.8,max(0.2,Zk,G+1))
Zk,G+1=r⋅Zk,G+(1−r)⋅ΔcomRateZ_{k,G+1}=r\cdot Z_{k,G}+(1-r)\cdot\Delta comRate Zk,G+1=rZk,G+(1r)ΔcomRate
ΔcomRate=(1−η)⋅∑m=12Fitm∑m=14Fitm+η⋅∑m=12Dism∑m=14Dism\Delta comRate=(1-\eta)\cdot\frac{\sum_{m=1}^2Fit^m}{\sum_{m=1}^4Fit^m}+\eta\cdot\frac{\sum_{m=1}^2Dis^m}{\sum_{m=1}^4Dis^m} ΔcomRate=(1η)m=14Fitmm=12Fitm+ηm=14Dismm=12Dism

探索策略池内的种群分配基于种群多样性:
Nm=max⁡(0.1,min⁡(0.9,Dism∑m=12Dism))⋅Np1∀m=1,2N_m=\max(0.1,\min(0.9,\frac{Dis^m}{\sum_{m=1}^2Dis^m}))\cdot N_{p1}\quad\forall m=1,2 Nm=max(0.1,min(0.9,m=12DismDism))Np1m=1,2

开发策略池内的种群分配基于适应度改进:
Nm=max⁡(0.1,min⁡(0.9,Fitm∑m=34Fitm))⋅Np2∀m=3,4N_m=\max(0.1,\min(0.9,\frac{Fit^m}{\sum_{m=3}^4Fit^m}))\cdot N_{p2}\quad\forall m=3,4 Nm=max(0.1,min(0.9,m=34FitmFitm))Np2m=3,4

iDE-APAMS伪代码

3.结果展示

选择CEC冠军算法对比,iDE-APAMS算法效果不错~

4.参考文献

[1] Sun Y, Wu Y, Liu Z. An improved differential evolution with adaptive population allocation and mutation selection[J]. Expert Systems With Applications, 2024, 258: 125130.

5.代码获取

xx

6.算法辅导·应用定制·读者交流

xx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/92717.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/92717.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/92717.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目标检测数据集 - 无人机检测数据集下载「包含COCO、YOLO两种格式」

数据集介绍:无人机检测数据集,真实采集高质量含无人机图片数据,适用于空中飞行无人机的检测。数据标注标签包括 drone 无人机一个类别;适用实际项目应用:无人机检测项目,以及作为通用检测数据集场景数据的补…

Linux DNS服务解析原理与搭建

一、什么是DNSDNS 是域名服务 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。 域名服务器是指保存有该网络中所有主机的域名和对应IP地址, 并具有将域名转换为IP地址功能的服务器。 域名必须对应一个IP地址,而IP地址不一定有…

typecho博客设置浏览器标签页图标icon

修改浏览器标签页图标(favicon.ico):第1种:上传到服务器本地目录1、制作图标文件:准备一张长宽比为 1:1 的图片,将其上传到第三方 ico 生成网站,生成后缀为.ico 的图片文件,并将其命…

LoadBalancingSpi

本文是 Apache Ignite 中 Load Balancing SPI(负载均衡服务提供接口) 的核心说明,特别是其默认实现 RoundRobinLoadBalancingSpi 的工作原理。 它解释了 Ignite 如何在集群中智能地将任务(Job)分配到不同的节点上执行&…

Day43--动态规划--674. 最长连续递增序列,300. 最长递增子序列,718. 最长重复子数组

Day43–动态规划–674. 最长连续递增序列,300. 最长递增子序列,718. 最长重复子数组 674. 最长连续递增序列 方法:动态规划 思路: dp[i]含义:到i这个位置(包含i)的连续递增子序列的长度递推…

支持 UMD 自定义组件与版本控制:从 Schema 到动态渲染

源码 ⸻ 支持 UMD 自定义组件与版本控制:从 Schema 到动态渲染 在低代码平台或可视化大屏 SDK 中,支持用户上传自定义组件 是一个必备能力。 而在 React 场景下,自定义组件通常以 UMD 格式 打包并暴露为全局变量。 本篇文章,我…

zookeeper3.8.4安装以及客户端C++api编译

服务端直接下载编译好的bin版本 Apache Download Mirrors C客户端需要编译库文件 zookeeper 3.8.4 使用与C API编译 - 丘狸尾 - 博客园 杂七杂八的依赖 sudo apt update sudo apt install -y \autoconf automake libtool libtool-bin m4 pkg-config gettext \cmake build-es…

使用行为树控制机器人(一) —— 节点

文章目录一、背景需求二、创建ActionNodes1. 功能实现1.1 头文件定义1.2 源文件实现1.3 main文件实现1.4 my_tree.xml 实现2. 执行结果三、 执行失败处理1. 添加尝试次数1.1 功能实现1.2 实验结果2. 完善异常处理2.1 多节点组合兜底2.2 实验结果使用行为树控制机器人(一) —— …

JavaScript Window Location

JavaScript Window Location JavaScript中的window.location对象是操作浏览器地址栏URL的一个非常有用的对象。它允许开发者获取当前页面的URL、查询字符串、路径等,并且可以修改它们来导航到不同的页面。以下是关于window.location的详细解析。 1. window.location…

Kubernetes生产环境健康检查自动化指南

核心脚本功能: 一键检查集群核心组件状态自动化扫描节点/Pod异常存储与网络关键指标检测风险分级输出(红/黄/绿标识)一、自动化巡检脚本 (k8s-health-check.sh) #!/bin/bash # Desc: Kubernetes全维度健康检查脚本 # 执行要求:kub…

消息队列系统测试报告

目录 一、项目背景 二、RabbitMQ介绍 1.什么是RabbitMQ? 2.RabbitMQ的工作流程是怎么样的? 3.项目设计 三、测试概述 MQ 测试目标: 测试用例统计: 核心模块测试详情及代码示例: 1. 数据库管理(Da…

基于 Axios 的 HTTP 请求封装文件解析

import axios from "axios"; import { ElMessage } from "element-plus"; import store from "/store"; import router from "/router";// 创建axios实例 const service axios.create({baseURL: "http://localhost:8080/api&quo…

PowerDesigner生成带注释的sql方法

前提是name里面是有文字的: 方法开始: 第一步: Database → Edit Current DBMS → Script → Objects → Column → Add 把输出模板改成: %20:COLUMN% %30:DATATYPE%[.Z:[%Compressed%? compressed][ %NULLNOTNULL%][%IDENTITY…

猎板PCB:专业键盘PCB板解决方案供应商

猎板PCB深耕印刷电路板(PCB)制造领域,凭借前沿技术与深厚积淀,在键盘PCB板细分市场积极布局,致力于为不同客户提供多样化、高性能的键盘PCB板产品,满足多元需求。一、定义:键盘PCB板键盘PCB板&a…

基于 Spring Boot 的登录功能实现详解

在 Web 应用开发中,登录功能是保障系统安全的第一道防线。本文将结合实际代码,详细解析一个基于 Spring Boot 框架的登录功能实现,包括验证码生成、用户验证、Token 机制等关键环节。技术栈概览本登录功能实现涉及以下核心技术和组件&#xf…

vue+django 大模型心理学智能诊断评测系统干预治疗辅助系统、智慧心理医疗、带知识图谱

vuedjango 大模型心理学智能诊断评测系统干预治疗辅助系统、智慧心理医疗、带知识图谱文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站,有好处!编号:D003 pro基于大模型心理学问卷、智能诊断&…

【linux】企业级WEB应用服务器tomcat

一 WEB技术1.1 HTTP协议和B/S 结构操作系统有进程子系统,使用多进程就可以充分利用硬件资源。进程中可以多个线程,每一个线程可以被CPU调度执行,这样就可以让程序并行的执行。这样一台主机就可以作为一个服务器为多个客户端提供计算服务。客户…

【Unity优化】Unity多场景加载优化与资源释放完整指南:解决Additive加载卡顿、预热、卸载与内存释放问题

【Unity优化】Unity多场景加载优化与资源释放完整指南:解决Additive加载卡顿、预热、卸载与内存释放问题 本文将完整梳理 Unity 中通过 SceneManager.LoadSceneAsync 使用 Additive 模式加载子场景时出现的卡顿问题,分析其本质,提出不同阶段的…

B 树与 B + 树解析与实现

一、磁盘存储优化的核心逻辑 在大规模数据处理场景中,磁盘 I/O 效率是性能瓶颈的核心。磁盘访问具有以下特性: 随机访问成本高:磁头寻道时间(Seek Time)可达毫秒级,相比内存访问(纳秒级&#…