CEC2017(Python):五种算法(SSA、RFO、OOA、PSO、GWO)求解CEC2017

一、5种算法简介

1、麻雀搜索算法SSA

2、红狐优化算法RFO

3、鱼鹰优化算法OOA

4、粒子群优化算法PSO

5、灰狼优化算法GWO

二、CEC2017简介

参考文献:

1\]Awad, N. H., Ali, M. Z., Liang, J. J., Qu, B. Y., \& Suganthan, P. N. (2016). "**Problem definitions and evaluation criteria for the CEC2017 special session and competition on single objective real-parameter numerical optimization**," Technical Report. Nanyang Technological University, Singapore. ### 三、5种算法求解CEC2017 #### (1)部分Python代码 import cec2017.functions as functions import numpy as np import matplotlib.pyplot as plt from SSA import SSA from RFO import RFO from OOA import OOA from PSO import PSO from GWO import GWO plt.rcParams['font.sans-serif']=['Microsoft YaHei'] #主程序 function_name =12 #CEC2017 测试函数 1-29 SearchAgents_no = 50#种群大小 Max_iter = 100#最大迭代次数 dim=30;#维度只能是 10/30/50/100 lb = -100*np.ones(dim)#下界 ub = 100*np.ones(dim)#上界 fobj= functions.all_functions[function_name-1] BestX1,BestF1,curve1 = SSA(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 BestX2,BestF2,curve2 = RFO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 BestX3,BestF3,curve3 = OOA(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 BestX4,BestF4,curve4 = PSO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 BestX5,BestF5,curve5 = GWO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 #画收敛曲线图 Labelstr=['SSA','RFO','OOA','PSO','GWO'] Colorstr=['r','g','b','k','c'] 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]) 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.xlabel("Iteration") plt.ylabel("Fitness") plt.xlim(0,Max_iter) plt.title("CEC2017-F"+str(function_name)) plt.legend() plt.savefig(str(function_name)+'.png') plt.show() # ![](https://file.jishuzhan.net/article/1740720137390002177/d4f74b65fbd3f5bfc0dc731dcd8d659e.webp) #### (2)部分结果 ![](https://file.jishuzhan.net/article/1740720137390002177/93988a68203f5421e7d8f49e23a1793d.webp) ![](https://file.jishuzhan.net/article/1740720137390002177/7a4f71d139e9979cbe564219146ab7b6.webp) ![](https://file.jishuzhan.net/article/1740720137390002177/a14b7b3cf4c3de117328a48b73668185.webp) ![](https://file.jishuzhan.net/article/1740720137390002177/cdde6d4706bd414c8579e77c90de345d.webp) ![](https://file.jishuzhan.net/article/1740720137390002177/75c94100612d8a57f06ac0166aad34d7.webp) ![](https://file.jishuzhan.net/article/1740720137390002177/4ac13d5d820c4034c6072232b4251ae5.webp) ![](https://file.jishuzhan.net/article/1740720137390002177/98ded9da92fd0028f67f52891ed00a1c.webp) ### 四、完整Python代码 ![](https://file.jishuzhan.net/article/1740720137390002177/18a7927c81bc14c51b19ca838e8df552.webp)

相关推荐
IT19958 小时前
OpenSSL3.5.2实现SM3数据摘要生成
算法·哈希算法·散列表
Excuse_lighttime8 小时前
排序数组(快速排序算法)
java·数据结构·算法·leetcode·eclipse·排序算法
Geoking.8 小时前
PyTorch torch.ones()张量创建详解
人工智能·pytorch·python
conkl8 小时前
在 CentOS 系统上实现定时执行 Python 邮件发送任务完整指南
linux·运维·开发语言·python·centos·mail·邮箱
潘小安9 小时前
『译』迄今为止最强的 RAG 技术?Anthropic 的上下文检索与混合搜索
算法·llm·claude
whycthe9 小时前
c++竞赛常用函数
java·开发语言
人工智能教学实践9 小时前
TCP 与 HTTP 协议深度解析:从基础原理到实践应用
python
wydaicls9 小时前
了解一下kernel6.12中cpu_util_cfs_boost函数的逻辑
linux·开发语言
kessy19 小时前
安全与续航兼备的“国密芯”——LKT6810U
算法
leo__5209 小时前
基于经验模态分解的去趋势波动分析(EMD-DFA)方法
人工智能·算法·机器学习