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)

相关推荐
551只玄猫1 分钟前
【数学建模 matlab 实验报告6】行遍性问题
开发语言·数学建模·matlab
漂流瓶jz2 分钟前
UVA-11846 找座位 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·排序算法·深度优先·aoapc·算法竞赛入门经典·uva
m0_5648768426 分钟前
提示词工程手册学习
人工智能·python·深度学习·学习
米粒140 分钟前
力扣算法刷题 Day 31 (贪心总结)
算法·leetcode·职场和发展
乱蜂朝王40 分钟前
使用 C# 和 ONNX Runtime 部署 PaDiM 异常检测模型
开发语言·c#
少许极端43 分钟前
算法奇妙屋(四十)-贪心算法学习之路7
java·学习·算法·贪心算法
波诺波44 分钟前
p1项目system_model.py代码
开发语言·python
危笑ioi1 小时前
helm部署skywalking链路追踪 java
java·开发语言·skywalking
静心观复1 小时前
Python 虚拟环境与 pipx 详解
开发语言·python
卷心菜狗1 小时前
Re.从零开始使用Python构建本地大模型网页智慧聊天机器人
开发语言·python·机器人