CEC2017(Python):蜣螂优化算法DBO求解CEC2017

一、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. ### 二、蜣螂优化算法DBO求解CEC2017 #### (1)部分Python代码 ``` from DBO import DBO import matplotlib.pyplot as plt import numpy as np import cec2017.functions as functions #主程序 function_name =6 #测试函数 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] BestX,BestF,curve = DBO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解 #画收敛曲线图 if BestF>0:     plt.semilogy(curve,color='r',linewidth=3,label='DBO') else:     plt.plot(curve,color='r',linewidth=3,label='DBO') 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() print('\nThe best solution is:\n'+str(BestX)) print('\nThe best optimal value of the objective funciton is:\n'+str(BestF)) ``` ![](https://file.jishuzhan.net/article/1742781654738407425/4dbe241e41cc1528b2c09a8a99321cd0.webp) #### (2)部分结果 ![](https://file.jishuzhan.net/article/1742781654738407425/c8f817a689c96e414d20723ce577b038.webp) ![](https://file.jishuzhan.net/article/1742781654738407425/096da7e8a8f647dbf1a34780d62d300a.webp) ![](https://file.jishuzhan.net/article/1742781654738407425/136f9f4545714471be1e5e4d5b9f66d4.webp) ![](https://file.jishuzhan.net/article/1742781654738407425/7b48e5bd60c921b1172bab97453b52a9.webp) ![](https://file.jishuzhan.net/article/1742781654738407425/04fc43dfec5f74dd8b9a5f1af6b7a6f8.webp) ![](https://file.jishuzhan.net/article/1742781654738407425/de5b7d23cdb2589f8a25a3672b67c425.webp) ### 三、完整Python代码 ![](https://file.jishuzhan.net/article/1742781654738407425/d8ce3a5879549189d1a3490e96fc4590.webp)

相关推荐
山中月侣5 分钟前
Java多线程编程——基础篇
java·开发语言·经验分享·笔记·学习方法
RabbitYao12 分钟前
Android 项目 通过 AndroidStringsTool 更新多语言词条
android·python
RabbitYao15 分钟前
使用 Gemini 及 Python 更新 Android 多语言 Excel 文件
android·python
Davis_121917 分钟前
代码随想录算法训练营27天 | 56. 合并区间、738.单调递增的数字、968.监控二叉树(提高)
数据结构·c++·算法·leetcode·贪心算法
闻缺陷则喜何志丹19 分钟前
【倍增 桶排序】后缀数组
c++·算法·倍增·桶排序·后缀数组·lcp·后缀树
天天进步201521 分钟前
Python机器学习入门:用scikit-learn构建你的第一个预测模型
python·机器学习·scikit-learn
程序员岳焱30 分钟前
使用 JPype 实现 Java 与 Python 的深度交互
java·后端·python
站大爷IP32 分钟前
Python处理JSON数据的最佳实践:从基础到进阶的实用指南
python
amazinging1 小时前
北京-15k测试-入职甲方金融-上班第二天
python·金融
站大爷IP1 小时前
Django中间件自定义开发指南:从原理到实战的深度解析
python