智能优化算法:郊狼优化算法-附代码
智能优化算法:郊狼优化算法-附代码
文章目录
- 智能优化算法:郊狼优化算法-附代码
- 1.算法原理与流程
- 2.算法结果
- 3.参考文献
- 4.MATLAB代码
摘要:郊狼优化算法[1](Coyote Optimization Algorithm ,COA)是2018年Juliano所提出的一种智能仿生优化算法, 与其他元启发式算法相比,COA具有独特的算法结构,该结构为优化过程中探索与开发的平衡提供了新的机制,COA可以在提高收敛效率的同时保持较高的种群多样性;因此,其在众多元启发式算法中表现出了较为优异的性能.
1.算法原理与流程
COA模拟郊狼种群的出生、成长、死亡及迁移等生活现象,具体流程如下:
step1step 1step1:设 置 郊 狼 群 体 NpNpNp, 每群含郊狼个体数 NcNcNc,维度 DDD,及终止条件 nfevalMAXnfevalMAXnfevalMAX等参数。
step2step 2step2:随 机 初 始 化 郊 狼 群, 第t时 刻 下ppp群 内第 iii个郊狼个体被定义为:
xc,jp,t=lbj+rj(ubj−lbj)(1)x_{c,j}^{p,t}=lb_{j}+r_{j}(ub_{j}-lb_{j})\tag{1} xc,jp,t=lbj+rj(ubj−lbj)(1)
xcp,t=(xc,1p,t,xc,2p,t,...,xc,Dp,t)(2)x_{c}^{p,t}=(x_{c,1}^{p,t},x_{c,2}^{p,t},...,x_{c,D}^{p,t})\tag{2} xcp,t=(xc,1p,t,xc,2p,t,...,xc,Dp,t)(2)
其中, ubjub_{j}ubj、 lbjlb_{j}lbj分别表示第j维数值的上、 下界,rjr_{j}rj为随机生成的[0,1]范围内的实数。
step3step 3step3:评价郊狼适应能力
fitip,t=f(xip,t)(3)fit_{i}^{p,t}=f(x_{i}^{p,t})\tag{3} fitip,t=f(xip,t)(3)
step4step 4step4:郊 狼 有 时 会 脱 离 或 者 被 驱 逐 出 原 群 体,形成群体变迁,其发生概率定义为 PeP_{e}Pe
Pe=0.005Nc2,Nc≤14(4)P_{e}=0.005N_{c}^{2},N_{c}\leq14\tag{4} Pe=0.005Nc2,Nc≤14(4)
step5step 5step5:找到当前群内的头狼 alphap,talpha^{p,t}alphap,t,计算当前郊狼群体的文化趋势 clutp,tclut^{p,t}clutp,t:
alphap,t={xip,t∣∣arg{i=1,2,...,N}minf(xip,t)}(5)alpha^{p,t}=\{ x_{i}^{p,t}|| arg\{i=1,2,...,N\}minf(x_{i}^{p,t}) \}\tag{5} alphap,t={xip,t∣∣arg{i=1,2,...,N}minf(xip,t)}(5)
clutjp,t={O(Nc+1)/2,jp,t,Nc是奇数O(Nc+1)/2,jp,t+O(Nc)/2,jp,t,Nc是偶数(6)clut_{j}^{p,t}=\begin{cases}O_{(Nc+1)/2,j}^{p,t} ,N_{c}是奇数\\ O_{(Nc+1)/2,j}^{p,t} + O_{(Nc)/2,j}^{p,t},N_{c}是偶数\end{cases}\tag{6} clutjp,t={O(Nc+1)/2,jp,t,Nc是奇数O(Nc+1)/2,jp,t+O(Nc)/2,jp,t,Nc是偶数(6)
其中,O(Nc+1)/2,jp,tO_{(Nc+1)/2,j}^{p,t}O(Nc+1)/2,jp,t表示当 NcN_{c}Nc为奇数时,第ttt时刻 ppp群内的所有郊狼的第jjj维度变量的中位数。
step6step 6step6:模 拟 遗 传 中 的 出 生 和 死 亡事件: 将郊狼的年龄 (以年为单位) 记为agecp,tage_{c}^{p,t}agecp,t.新郊狼的出生(pupp,t)(pup^{p,t})(pupp,t)被写成双亲(随机选择)的社会状态加上环境影响的组合:
pupjp,t={xm1,jp,t,randj<Psorj=j1xm1,jp,t,randj≥Ps+Paorj=j2Rj,randj,其他(7)pup_{j}^{p,t}=\begin{cases} x_{m_{1},j}^{p,t},rand_{j}<Ps\quad or\quad j=j_{1}\\ x_{m_{1},j}^{p,t},rand_{j}\geq Ps+Pa \quad or\quad j=j_{2}\\ R_{j},rand_{j},其他\end{cases}\tag{7} pupjp,t=⎩⎪⎨⎪⎧xm1,jp,t,randj<Psorj=j1xm1,jp,t,randj≥Ps+Paorj=j2Rj,randj,其他(7)
其 中, m1m_{1}m1和 m2m_{2}m2是来自ppp狼 群 内 的 随 机 郊 狼,j1j_{1}j1和j2j_{2}j2是问题的两个随机维数,RjR_{j}Rj与 randjrand_{j}randj均为由均匀概率产生的[0,1]内的随机数. 离散概率(Ps)(Ps)(Ps),和关联概率(Pa)(Pa)(Pa)影响郊狼群中个体的文化多样性. PsPsPs和 PaPaPa被定义为:
Ps=1D,Pa=1−Ps2(8)Ps=\frac{1}{D},Pa=\frac{1-Ps}{2}\tag{8} Ps=D1,Pa=21−Ps(8)
step7step 7step7:计算头狼与群体文化趋势对当前时刻所对应的郊狼群内个体更新产生的影响 δ1\delta _{1}δ1和 δ2\delta _{2}δ2:
δ1=alphap,t−xcr1p,t,δ2=cultp,t−xcr2p,t(9)\delta_{1}=alpha^{p,t}-x_{cr_{1}}^{p,t},\delta_{2}=cult^{p,t}-x_{cr_{2}}^{p,t}\tag{9} δ1=alphap,t−xcr1p,t,δ2=cultp,t−xcr2p,t(9)
其中, cr1cr_{1}cr1、 cr2cr_{2}cr2分别代表当前群内的随机郊狼.
step8step 8step8:对郊狼群内所有郊狼个体依次进行更新得到新的郊狼个体 new_xip,tnew\_x_i^{p,t}new_xip,t,择优选择新郊狼与原郊狼的适应度大小,并保留最优郊狼 xip,t+1x_i^{p,t+1}xip,t+1:
new_xip,t=xip,t+r1δ1+r2δ2(10)new\_x_i^{p,t}=x_i^{p,t}+r_1\delta_1+r_2\delta2\tag{10} new_xip,t=xip,t+r1δ1+r2δ2(10)
xip,t+1={new_xip,t,f(new_xip,t)<f(xip,t)xip,t,其他(11)x_i^{p,t+1}=\begin{cases}new\_x_i^{p,t},f(new\_x_i^{p,t})<f(x_i^{p,t})\\ x_i^{p,t},其他\end{cases}\tag{11} xip,t+1={new_xip,t,f(new_xip,t)<f(xip,t)xip,t,其他(11)
其中,r1r_{1}r1和r2r_{2}r2为均匀概率生成的[0,1]范围内的实数,代表郊狼个体受 alphaalphaalpha狼与群体文化趋势影响的权重大小.
step9step 9step9:模 拟 个 体 随 时 间 的 推 移 而 成 长 的 过 程,对郊狼个体进行年龄更新.
step10step 10step10:判断终止条件,若达到,则输出适应能力最好的郊狼的社会状态;否则返回Step3Step3Step3继续.
2.算法结果
3.参考文献
[1] Pierezan, J. and Coelho, L. S. “Coyote Optimization Algorithm: A new metaheuristic for global optimization problems”, Proceedings of the IEEE Congress on Evolutionary Computation (CEC), Rio de Janeiro, Brazil, July 2018, pages 2633-2640.
[2]刘威,付杰,周定宁,王薪予,成秘,黄敏,靳宝,牛英杰.基于反时限混沌郊狼优化算法的BP神经网络参数优化[J/OL].控制与决策:1-10[2020-08-05].https://doi.org/10.13195/j.kzyjc.2020.0408.
[3]张新明,姜云,刘尚旺,刘国奇,窦智,刘艳.灰狼与郊狼混合优化算法及其聚类优化[J/OL].自动化学报:1-17[2020-08-05].https://doi.org/10.16383/j.aas.c190617.
4.MATLAB代码
郊狼优化算法
算法相关应用
名称 | 说明或者参考文献 |
---|---|
基于郊狼算法优化的SVM回归预测 | https://blog.csdn.net/u011835903/article/details/110630270(原理一样,只是优化算法是郊狼算法) |
智能优化算法:郊狼优化算法-附代码相关推荐
- 智能优化算法:闪电搜索算法-附代码
智能优化算法:闪电搜索算法-附代码 文章目录 智能优化算法:闪电搜索算法-附代码 1.算法原理 1.1 过渡放电体 1.2 空间放电体 1.3 引导放电体 2.算法结果 3.参考文献 4.Matlab ...
- 智能优化算法:布谷鸟搜索算法-附代码
智能优化算法:布谷鸟搜索算法-附代码 文章目录 智能优化算法:布谷鸟搜索算法-附代码 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 摘要:谷鸟搜索算法(cuckoo search , ...
- 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码
基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 文章目录 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 1 蝙蝠算法与BP神经网络分类模型 1.1 蝙 ...
- 基于灰狼算法优化支持向量机的数据分类算法及其MATLAB实现-附代码
基于灰狼算法优化支持向量机的数据分类算法及其MATLAB实现-附代码 文章目录 基于灰狼算法优化支持向量机的数据分类算法及其MATLAB实现-附代码 1 GWO-SVM 模型 1.1 灰狼优化器GWO ...
- 相位 unwrap 与 wrap 算法详解(附代码)
相位 unwrap 与 wrap 算法详解(附代码) 最近接手了一个项目,光通信方面的,我负责编写初测结果的数据处理算法,其中有一个算法叫做 unwrap 与 wrap,之前没有听说过.通过询问同事与 ...
- 数据挖掘领域十大经典算法之—SVM算法(超详细附代码)
相关文章: 数据挖掘领域十大经典算法之-C4.5算法(超详细附代码) 数据挖掘领域十大经典算法之-K-Means算法(超详细附代码) 数据挖掘领域十大经典算法之-Apriori算法 数据挖掘领域十大经 ...
- 二分查找算法详解(附代码)
二分查找算法详解(附代码) 注: 现有一个升序 不重复的数组 查询target是否在此数组中并返回序号 使用条件 使用二分算法的两个条件: 有序 不重复 混淆处 二分算法两种方式容易弄混淆的地方:就是 ...
- 数据挖掘领域十大经典算法之—AdaBoost算法(超详细附代码)
相关文章: 数据挖掘领域十大经典算法之-C4.5算法(超详细附代码) 数据挖掘领域十大经典算法之-K-Means算法(超详细附代码) 数据挖掘领域十大经典算法之-SVM算法(超详细附代码) 数据挖掘领 ...
- 麻雀优化算法_多种智能优化算法应用案例分享-附代码
1.智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割 智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割-附代码_Jack旭的博客-CSDN博客blog.csdn.net 2.智能优化算法 ...
- 智能优化算法:麻雀搜索算法-附代码
2020智能优化算法:麻雀搜索算法 文章目录 2020智能优化算法:麻雀搜索算法 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 5.Python代码 摘要:麻雀搜索算法(Sparro ...
最新文章
- tensflower官方测试案例_大数据性能测试介绍
- yii mysql 操作数据库_Yii数据库操作_MySQL
- date数据要在前台显示
- 吴恩达机器学习作业Python实现(四):神经网络(反向传播)
- JSP 的“4379”
- pom.xml中添加oracle数据库驱动包报错: Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0
- 常用几个UITableView,UICollectionView UIScrollView关键点
- Publish over FTP发布报错
- linux系统的wps办公软件,linux上安装wps办公软件
- 华为交换机端口限速配置说明
- 如何删除“我的电脑”、“此电脑”中坚果云图标
- win10系统文件拖拽卡顿_windows10鼠标拖动窗口有延迟如何修复
- win10电池图标不能调亮度_Win10屏幕亮度不能调节,调节无效怎么办
- 希望各位博友解答一下
- 从立项到在steam平台上发布游戏,所要经历的流程。【esyi杂谈】
- 快速排序 php内存超限,数据结构与算法设计
- 微信直播聊天室单房间1500万在线的消息架构演进之路
- 【报告分享】全球大健康领域人才趋势洞察-领英(附下载)
- Nature Reviews | 2019年新发现的药物靶点
- 画论45 李开先《中麓画品》
热门文章
- 28. 正确理解由reverse_iterator的base()成员函数所产生的iterator的用法
- hive 如果表不存在则创建_Hive DDL
- linux 多进程 libusb,基于Ubuntu的STM32调试环境搭建
- java同步锁实例_Java同步锁全息详解
- 实现会员到期_微信电子会员卡管理系统
- jQuery:基础知识学习
- 双击 计算机 网络打不开,windows7系统双击“双击计算机”打不开怎么回事
- guided Filter--引导滤波算法原理及实现
- java web/Maven项目结构分析
- 性能优化-内存泄露常见例子