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代码

相关推荐
kszlgy2 小时前
Day 52 神经网络调参指南
python
程序员-King.3 小时前
day158—回溯—全排列(LeetCode-46)
算法·leetcode·深度优先·回溯·递归
wrj的博客3 小时前
python环境安装
python·学习·环境配置
Pyeako4 小时前
深度学习--BP神经网络&梯度下降&损失函数
人工智能·python·深度学习·bp神经网络·损失函数·梯度下降·正则化惩罚
星火开发设计4 小时前
C++ 数组:一维数组的定义、遍历与常见操作
java·开发语言·数据结构·c++·学习·数组·知识
月挽清风4 小时前
代码随想录第七天:
数据结构·c++·算法
TTGGGFF4 小时前
控制系统建模仿真(一):掌握控制系统设计的 MAD 流程与 MATLAB 基础运算
开发语言·matlab
小O的算法实验室4 小时前
2026年AEI SCI1区TOP,基于改进 IRRT*-D* 算法的森林火灾救援场景下直升机轨迹规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
2501_944424124 小时前
Flutter for OpenHarmony游戏集合App实战之贪吃蛇食物生成
android·开发语言·flutter·游戏·harmonyos
摘星编程5 小时前
OpenHarmony环境下React Native:Geolocation地理围栏
python