CEC2013(python):六种算法(ABC、PSO、CSO、OOA、DBO、RFO)求解CEC2013(python代码)

一、六种算法简介

1、人工蜂群算法 (Artificial Bee Colony Algorithm, ABC)

2、粒子群优化算法PSO

3、鸡群优化算法CSO

4、鱼鹰优化算法OOA

5、蜣螂优化算法DBO

6、红狐优化算法RFO

二、6种算法求解CEC2013

(1)CEC2013简介

参考文献:

1\] Liang J J , Qu B Y , Suganthan P N , et al. **Problem Definitions and Evaluation Criteria for the CEC 2013 Special Session on Real-Parameter Optimization**. 2013. #### (2)部分python代码 ``` from CEC2013.cec2013 import * import numpy as np from RFO import RFO from ABC import ABC from PSO import PSO from OOA import OOA from CSO import CSO from DBO import DBO import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['Microsoft YaHei'] #主程序 #主程序 function_name =1 #测试函数1-28 SearchAgents_no = 50#种群大小 Max_iter = 100#迭代次数 dim=10#维度 10/30/50/100 lb=-100*np.ones(dim)#下限 ub=100*np.ones(dim)#上限 cec_functions = cec2013(dim,function_name) fobj=cec_functions.func#目标函数 BestX1,BestF1,curve1 = ABC(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 BestX2,BestF2,curve2 = PSO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 BestX3,BestF3,curve3 = OOA(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 BestX4,BestF4,curve4 = CSO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 BestX5,BestF5,curve5 = DBO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 BestX6,BestF6,curve6 = DBO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 #画收敛曲线图 Labelstr=['ABC','PSO','OOA','CSO','DBO','RFO'] Colorstr=['r','g','b','k','c','m'] if BestF1>0:     plt.semilogy(curve1,color=Colorstr[0],linewidth=2,label=Labelstr[0])     plt.semilogy(curve2,color=Colorstr[1],linewidth=2,label=Labelstr[1])     plt.semilogy(curve3,color=Colorstr[2],linewidth=2,label=Labelstr[2])     plt.semilogy(curve4,color=Colorstr[3],linewidth=2,label=Labelstr[3])     plt.semilogy(curve5,color=Colorstr[4],linewidth=2,label=Labelstr[4])     plt.semilogy(curve6,color=Colorstr[5],linewidth=2,label=Labelstr[5]) else:     plt.plot(curve1,color=Colorstr[0],linewidth=2,label=Labelstr[0])     plt.plot(curve2,color=Colorstr[1],linewidth=2,label=Labelstr[1])     plt.plot(curve3,color=Colorstr[2],linewidth=2,label=Labelstr[2])     plt.plot(curve4,color=Colorstr[3],linewidth=2,label=Labelstr[3])     plt.plot(curve5,color=Colorstr[4],linewidth=2,label=Labelstr[4])     plt.plot(curve6,color=Colorstr[5],linewidth=2,label=Labelstr[5]) plt.xlabel("Iteration") plt.ylabel("Fitness") plt.xlim(0,Max_iter) plt.title("cec2013-F"+str(function_name)) plt.legend() plt.savefig(str(function_name)+'.png') plt.show() # ``` ![](https://file.jishuzhan.net/article/1738301943610085378/23046f3561fdaf8ab499dcb194e56d4b.webp) #### (3)部分结果 ![](https://file.jishuzhan.net/article/1738301943610085378/e987a3a5ecd9eb6b773a2f7016ea66b5.webp) ![](https://file.jishuzhan.net/article/1738301943610085378/f50ca994ec320d8b598f4e072202fb72.webp) ![](https://file.jishuzhan.net/article/1738301943610085378/48a988163e8cf28bd0ffea1a6fa97860.webp) ![](https://file.jishuzhan.net/article/1738301943610085378/aa36e41f092f87817e40d4fe192d6c79.webp) ![](https://file.jishuzhan.net/article/1738301943610085378/50525d72d752f623f16b25baa8ab0e65.webp) ![](https://file.jishuzhan.net/article/1738301943610085378/d60cd83a7f75b82c451d3b54ad8948dc.webp) ### 三、完整python代码

相关推荐
MyhEhud7 分钟前
kotlin @JvmStatic注解的作用和使用场景
开发语言·python·kotlin
想睡hhh12 分钟前
c++进阶——哈希表的实现
开发语言·数据结构·c++·散列表·哈希
yzx99101315 分钟前
支持向量机案例
算法·机器学习·支持向量机
狐凄21 分钟前
Python实例题:pygame开发打飞机游戏
python·游戏·pygame
天上路人26 分钟前
采用AI神经网络降噪算法的语言降噪消回音处理芯片NR2049-P
深度学习·神经网络·算法·硬件架构·音视频·实时音视频·可用性测试
漫谈网络28 分钟前
Telnet 类图解析
python·自动化·netdevops·telnetlib·网络自动化运维
Clown9529 分钟前
Go语言爬虫系列教程(一) 爬虫基础入门
开发语言·爬虫·golang
Watermelo61731 分钟前
前端如何应对精确数字运算?用BigNumber.js解决JavaScript原生Number类型在处理大数或高精度计算时的局限性
开发语言·前端·javascript·vue.js·前端框架·vue·es6
chao_78939 分钟前
手撕算法(定制整理版2)
笔记·算法
农夫山泉2号2 小时前
【python】—conda新建python3.11的环境报错
python·conda·python3.11