cec2017(python):红狐优化算法(Red fox optimization,RFO)求解cec2017

一、红狐优化算法

红狐优化算法(Red fox optimization,RFO)由Dawid Połap和 Marcin Woźniak于2021年提出,该算法模拟了红狐的狩猎行为,具有收敛速度快,寻优精度高等优势。
在这里插入图片描述

参考文献: Poap D , Woniak M . Red fox optimization algorithm[J]. Expert Systems with Applications, 2021, 166(10):114107.

二、RFO求解cec2017

cec2017简介

在这里插入图片描述

参考文献:
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.

部分代码

完整代码添加博客下方博主微信

完整代码添加博主微信:djpcNLP123
from RFO import RFO
import matplotlib.pyplot as plt
import numpy as np
import cec2017.functions as functions
#主程序
function_name =1 #测试函数 1-30
SearchAgents_no = 50#种群大小
Max_iter = 100#最大迭代次数
dim=10;#维度只能是 10/30/50/100
lb = -100*np.ones(dim)#下界
ub = 100*np.ones(dim)#上界
fobj= functions.all_functions[function_name-1]
BestX,BestF,curve = RFO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解
完整代码添加博主微信:djpcNLP123

#画收敛曲线图
if BestF>0:
    plt.semilogy(curve,color='r',linewidth=2,label='RFO')
else:
    plt.plot(curve,color='r',linewidth=2,label='RFO')
plt.xlabel("Iteration")
plt.ylabel("Fitness")
plt.xlim(0,Max_iter)
plt.title("F"+str(function_name))
plt.legend()
plt.savefig(str(function_name)+'.png')
plt.show()
print('\nThe best solution is:\n'+str(BestX))
print('\nThe best optimal value of the objective funciton is:\n'+str(BestF))

部分结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、参考代码

完整代码添加博客下方博主微信

猜你喜欢

转载自blog.csdn.net/weixin_46204734/article/details/129841184
Fox
CEC