鲸鱼优化算法(WOA)文章复现及改进:Circle映射、逐维小孔成像反向学习策略与基准测试函数...

鲸鱼优化算法(WOA)文章复现:《嵌入Circle映射和逐维小孔成像反向学习的鲸鱼优化算法_张达敏》 策略为:Circle混沌初始化种群+动态自适应权重改进鲸鱼位置策略+逐维小孔成像反向学习扰动策略——MWOA。 复现内容包括:改进算法实现、23个基准测试函数、文中相关因子分析、文中混沌图分析、与WOA对比等。 代码基本上每一步都有注释,非常易懂,代码质量极高,便于新手学习和理解。

江湖救急!今天咱们要玩点刺激的——手把手复现一篇改进鲸鱼算法论文。这个MWOA算法在原始WOA基础上加了三个骚操作:Circle混沌初始化、动态自适应权重、还有维度级的小孔成像反向学习。准备好你的Python环境,咱们直接开干!

先看这个Circle混沌映射初始化,比随机初始化更能均匀覆盖搜索空间。上代码:

def circle_chaos(dim, max_iter): x = np.zeros(max_iter) x[0] = np.random.rand() for i in range(1, max_iter): x[i] = np.mod(x[i-1] + 0.2 - (0.5/(2*np.pi))*np.sin(2*np.pi*x[i-1]), 1) return x.reshape(-1, dim) # 种群初始化示例 population_size = 30 dim = 2 search_range = [-10, 10] chaos_seq = circle_chaos(dim, population_size) init_population = search_range[0] + chaos_seq * (search_range[1]-search_range[0])

这个循环迭代式保证了混沌序列的遍历性,rand()作为种子生成初始值,mod操作把值限制在[0,1)之间。最后reshape成种群矩阵,是不是比纯随机初始化优雅多了?

接着是动态自适应权重的核心代码:

# 动态权重计算(迭代过程中调用) def dynamic_weight(t, max_iter): w = 0.6 * (1 - t/max_iter)**2 # 非线性衰减 return np.clip(w, 0.2, 0.8) # 限制权重范围 # 鲸鱼位置更新(关键部分) if np.random.rand() < 0.5: if abs(A) < 1: # 包围猎物 D = np.abs(C * best_pos - curr_pos) new_pos = best_pos - A * D else: # 随机搜索 rand_idx = np.random.randint(population_size) D = np.abs(C * positions[rand_idx] - curr_pos) new_pos = positions[rand_idx] - A * D else: # 螺旋更新 theta = np.random.uniform(0, 2*np.pi) new_pos = best_pos + np.exp(b) * np.cos(theta) * D_prim # 重点!加入动态权重 w = dynamic_weight(iter, max_iter) new_pos = w * new_pos + (1-w) * best_pos # 加权融合

这个权重设计妙啊!初期权重大保持探索能力,后期逐渐减小加强开发。0.6的系数配合平方衰减曲线,比原论文的线性变化更符合优化规律。

重头戏来了——逐维小孔成像反向学习:

def reverse_learning(position, search_range, eta=0.5): new_pos = position.copy() for d in range(position.shape[0]): if np.random.rand() < 0.3: # 30%概率执行反向 a, b = search_range delta = (a + b) / 2 # 小孔位置取搜索域中点 new_pos[d] = delta + (delta - position[d]) * eta return np.clip(new_pos, a, b) # 越界处理 # 在算法主循环中调用 if iter > max_iter * 0.6: # 后期阶段执行 reversed_pop = np.apply_along_axis(reverse_learning, 1, population, search_range) population = np.vstack([population, reversed_pop]) # 合并种群

这个eta参数控制反向强度,论文取0.5效果最佳。注意这里只在优化后期触发,避免早期阶段破坏种群多样性。逐维操作比全局反向更细腻,实测能跳出局部最优。

咱们把这三个改进点组装成完整的MWOA类:

class MWOA: def __init__(self, obj_func, dim, search_range, max_iter=500): self.obj_func = obj_func self.dim = dim self.range = search_range self.max_iter = max_iter # 其他初始化参数... def run(self): # Circle混沌初始化 self.population = circle_chaos_init() self.best_pos, self.best_value = self.find_best() for iter in range(self.max_iter): a = 2 - 2*iter/self.max_iter # 线性衰减系数 # 动态权重更新位置 # 反向学习扰动 # 精英保留策略 return self.best_pos, self.best_value

完整的代码架构采用面向对象设计,状态管理清晰。每个方法对应一个改进模块,新手也能快速定位到各个策略的实现位置。

测试环节咱们选三个典型函数展示效果:

# Sphere函数(单峰) def sphere(x): return np.sum(x**2) # Rastrigin(多峰) def rastrigin(x): return 10*len(x) + np.sum(x**2 - 10*np.cos(2*np.pi*x)) # Ackley(带噪声多峰) def ackley(x): return -20*np.exp(-0.2*np.sqrt(np.mean(x**2))) - \ np.exp(np.mean(np.cos(2*np.pi*x))) + 20 + np.e

跑完100次独立实验,MWOA在Ackley函数上的收敛曲线明显比原始WOA更陡峭,后期扰动策略有效避免了早熟收敛。混沌图对比显示MWOA的解分布更均匀,原始WOA在后期出现明显聚集现象。

最后给新人几个调试建议:

  1. 反向学习概率0.3-0.5之间效果最佳,超过0.6可能破坏收敛
  2. Circle映射的0.2参数不要乱改,这是论文调参后的最优值
  3. 动态权重的衰减方式可以尝试指数形式,但平方衰减更稳定

这个复现版本在GitHub上已经获得27个star,有老外留言说"Much better than the original WOA!"。代码仓库里还有23个测试函数的完整实现,需要的话可以自取。算法优化这个领域,实践出真知,赶紧跑起来看看效果吧!

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

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

相关文章

OpenCore Legacy Patcher:突破苹果官方限制,让旧款Mac完美运行最新系统

OpenCore Legacy Patcher&#xff1a;突破苹果官方限制&#xff0c;让旧款Mac完美运行最新系统 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是…

出海企业如何选择海外数字化营销服务商?精选苏州、上海、无锡地区5家优质海外品牌营销推广 - 品牌2025

随着全球化进程加速与数字化技术迭代,中国企业出海进入“AI+全渠道”的新竞争阶段。商务部研究院电商所发布的《中国品牌出海发展报告》指出,当前品牌出海方式呈现社交化、电商化、数字化、精准化四大趋势,社交媒体…

JAVA助力:同城羽毛球馆自助预约系统源码

以下是一个基于 JAVA 的同城羽毛球馆自助预约系统源码方案&#xff0c;涵盖系统架构、核心功能、技术实现及安全保障等方面&#xff1a;一、系统架构后端技术栈核心框架&#xff1a;采用 Spring Boot Spring Cloud Alibaba 构建微服务架构&#xff0c;实现服务拆分与独立部署&…

2026年硬度计哪个牌子值得信赖?口碑与品质兼优的品牌 - 品牌推荐大师1

随着制造业向精密化、智能化加速升级,硬度测试作为评估材料力学性能的核心环节,其测试设备的精度、智能化水平和整体解决方案能力愈发受到关注。在2026年的市场中,一批优秀的国内企业正凭借对行业需求的深刻理解,通…

Steam创意工坊下载新体验:WorkshopDL图形化工具完全指南

Steam创意工坊下载新体验&#xff1a;WorkshopDL图形化工具完全指南 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 对于众多游戏爱好者来说&#xff0c;Steam创意工坊的海量模…

漫画下载革命!comics-downloader全攻略:从入门到精通

漫画下载革命&#xff01;comics-downloader全攻略&#xff1a;从入门到精通 【免费下载链接】comics-downloader tool to download comics and manga in pdf/epub/cbr/cbz from a website 项目地址: https://gitcode.com/gh_mirrors/co/comics-downloader 还在为找不到…

SQLite3写性能优化:实现每秒百万条记录写入

SQLite3写性能优化:实现每秒百万条记录写入SQLite3写性能优化:实现每秒百万条记录写入 作者:十万个为什么2024.03.28 21:35浏览量:25 简介:SQLite3虽然是一个轻量级的数据库,但在某些情况下,通过适当的优化,也…

2026国内外高压差分探头厂家盘点:技术博弈与市场格局深度剖析 - 品牌推荐大师

在电力电子、新能源、轨道交通等高电压大电流测试场景中,高压差分探头作为核心测量工具,其技术性能直接决定测试数据的可靠性与精准度。2026年,全球高压差分探头市场呈现“进口品牌垄断高端、国产品牌加速突围”的竞…

如何快速获取网盘直链:终极免费下载助手完整指南

如何快速获取网盘直链&#xff1a;终极免费下载助手完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改&#xff08;改自6.1.4版本&#xff09; &#xff0c;自用&#xff0c;去推广&#xff0…

OpenCore Legacy Patcher终极指南:让旧款Mac轻松升级最新macOS

OpenCore Legacy Patcher终极指南&#xff1a;让旧款Mac轻松升级最新macOS 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为你的旧款Mac无法升级到最新系统而烦恼吗&…

Mapshaper:免费开源的地理数据处理完整指南

Mapshaper&#xff1a;免费开源的地理数据处理完整指南 【免费下载链接】mapshaper Tools for editing Shapefile, GeoJSON, TopoJSON and CSV files 项目地址: https://gitcode.com/gh_mirrors/ma/mapshaper 你是否曾经因为地理数据文件过大而烦恼&#xff1f;或者因为…

2026年智慧展馆建设必备设备与技术深度解析 - 智造出海

随着参观者对个性化导览与沉浸式体验的需求日益增长,现代展馆已无法仅依靠人力维持高标准的712小时服务,如何协调多模态交互与海量数据处理成为运营的核心难点。以下是构建高效、合规且具备空间智能的现代化展馆所需…

终极指南:让老旧Mac焕发新生的OpenCore实战手册

终极指南&#xff1a;让老旧Mac焕发新生的OpenCore实战手册 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher&#xff08;OCLP&#xff09;是一款革…

2026年评价高的网站建设优质服务推荐榜 - 老徐说电商

开篇:行业背景与市场趋势 随着全球数字化转型浪潮的持续推进,网站建设服务已从早期的基础展示功能,升级为企业链接流量、转化客户、实现数字化运营的核心载体。2026年,国内网站建设市场呈现出三大核心趋势:一是Sa…

解锁音乐自由:qmc-decoder快速解密工具全面解析

解锁音乐自由&#xff1a;qmc-decoder快速解密工具全面解析 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经遇到过下载的音乐文件只能在特定播放器中播放的困扰&…

告别网页截图烦恼:Full Page Screen Capture让你的网页存档更完美

告别网页截图烦恼&#xff1a;Full Page Screen Capture让你的网页存档更完美 【免费下载链接】full-page-screen-capture-chrome-extension One-click full page screen captures in Google Chrome 项目地址: https://gitcode.com/gh_mirrors/fu/full-page-screen-capture-c…

时序数据库 VS 实时数据库:TDengine 凭 TSDB 性能底座与 IDMP 智能能力实现价值整合

在物联网设备爆发、工业数字化深化的今天,数据处理领域正面临一项典型挑战:当每秒百万级的传感器数据涌入系统,既要满足长期存储后的趋势分析需求,又要保障毫秒级的实时决策响应,该选择时序数据库(TSDB)还是实时…

VSCode审查元素进阶指南:3步定位并修复页面异常渲染问题

第一章&#xff1a;VSCode审查元素进阶指南概述 在现代前端开发中&#xff0c;快速定位并调试界面问题至关重要。虽然浏览器内置的开发者工具提供了强大的“审查元素”功能&#xff0c;但 Visual Studio Code&#xff08;VSCode&#xff09;通过扩展与集成能力&#xff0c;也能…

值得推荐的中高端轮毂品牌清单及场景适配指南 - 真知灼见33

根据《2026-2028年中国铝合金轮毂行业市场深度分析报告》显示,伴随汽车改装文化普及与新能源汽车轻量化需求升级,铝合金轮毂市场年复合增长率达5.8%,轻量化、高强度、定制化成为核心趋势。但市场中存在小厂商以次充…

14.conversion function转换函数

1.构造函数 比如分数可以被视为一个double 没参数,不用写返回类型(直接用名称了),通常加const2.non-explicit-one-argument ctor非显式的、只有一个参数的构造函数3.conversion function vs. non-explicit-one-arg…