python:五种算法(HHO、WOA、GWO、PSO、GA)求解23个测试函数(python代码)

一、五种算法简介

1、哈里斯鹰优化算法HHO

2、鲸鱼优化算法WOA

3、灰狼优化算法GWO

4、粒子群优化算法PSO

5、遗传算法GA

二、5种算法求解23个函数

(1)23个函数简介

参考文献:

[1] Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.

(2)部分python代码

from FunInfo import Get_Functions_details
from WOA import WOA
from GWO import GWO
from PSO import PSO
from GA import GA
from HHO import HHO
import matplotlib.pyplot as plt
from func_plot import func_plot
plt.rcParams['font.sans-serif']=['Microsoft YaHei']
#主程序
function_name =8 #测试函数1-23
SearchAgents_no = 50#种群大小
Max_iter = 100#迭代次数
lb,ub,dim,fobj=Get_Functions_details(function_name)#获取问题信息
BestX1,BestF1,curve1 = WOA(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解
BestX2,BestF2,curve2 = GWO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解
BestX3,BestF3,curve3 = PSO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解
BestX4,BestF4,curve4 = GA(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解
BestX5,BestF5,curve5 = HHO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解
#画函数图
func_plot(lb,ub,dim,fobj,function_name)#画函数图
#画收敛曲线图
Labelstr=['WOA','GWO','PSO','GA','HHO']
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("F"+str(function_name))
plt.legend()
plt.savefig(str(function_name)+'.png')
plt.show()
#

(3)部分结果

三、完整python代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/267247.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宝塔PostgreSQL设置数据库远程访问

宝塔PostgreSQL设置数据库远程访问 宝塔的PostgreSQL1. 添加数据库2. 打开PostgreSQL设置界面3. 修改配置4. 重载配置/重启数据库 Docker的PostgreSQL1. postgresql.conf2. pg_hba.conf3. 重启数据库 注意其他问题 宝塔PostgreSQL设置数据库远程访问?docker容器Post…

解决夜神模拟器与Android studio自动断开的问题

原因:夜神模拟器的adb版本和Android sdk的adb版本不一致 解决办法: 1.找到android的sdk (1)File--->Project Structure (2)SDK Location:记下sdk的位置 2.找到sdk中的adb文件 SDK-->platform-tools-->adb.exe 3.复制…

AttributeError: module ‘scrapy‘ has no attribute ‘Filed‘

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

IDEA 2023.3 start failed 启动失败修复

发现是 RestfulToolkit 插件有冲突导致的,删除插件后成功启动 open ~/Library/Application\ Support/JetBrains/IntelliJIdea2023.3/plugins参考:https://youtrack.jetbrains.com/issue/IDEA-340080/Critical-startup-error-after-upgrading-to-Intelli…

产品<Axure的安装以及组件介绍

Axure介绍: Axure是一款用户体验设计工具,可以用于创建交互式原型、线框图和设计文档。它支持快速原型开发、界面设计、信息架构、流程图和注释等功能,可以帮助设计师快速地创建和共享交互式原型,从而更好地与客户和团队协作。 …

FastAPI之表单数据

FastAPI 表单数据处理教程 FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,它用 Python 3.6类型提示的特性旨在方便和快速地设计和构建 APIs,并且减少代码的冗余与错误。下面将介绍如何在 FastAPI 中处理…

紧固件的标准有哪些

紧固件的行业标准 紧固件是一个涉及几乎所有结构、机械和人们日常使用的产品的稳定性、安全性和结构完整性的广泛话题。紧固件作为一种功能强大、高效的机械设备,其功能和特性的规格多种多样,根本无法低估。由于紧固件是工程和机械的支柱,因此…

C语言学习----指针和数组

🌈这篇blog记录一下指针学习~ 主要是关于指针和数组之间的关系,还有指针的使用等~ 🍎指针变量是一个变量 其本身也有一个地址 也需要存放,就和int char等类型一样的,也需要有一个地址来存放它 🍌而指针变量…

2023-简单点-picamera的bayer数据获取抽丝剥茧

capture函数,设置bayerTrue 啥是mmal.xxxx? 啥是camera_port? 看起来是个设置标志,产生buffer,获取针对对应格式的c数据结构 camera_port与self._camera.outputs有关 啥是mmalcamera 总之,找到Outputs有3个,disable&…

手机来电显示私密号码怎么回事?

手机来电显示私密号码是很多用户经常遇到的问题,那么手机来电显示私密号码怎么回事呢? 原因 手机来电显示私密号码一般有以下几种原因: 对方使用了网络电话或开通了隐藏号码服务。网络电话是一种通过互联网进行通话的服务,一般…

深入理解强化学习——马尔可夫决策过程:预测与控制

分类目录&#xff1a;《深入理解强化学习》总目录 预测&#xff08;Prediction&#xff09;和控制&#xff08;Control&#xff09;是马尔可夫决策过程里面的核心问题。预测&#xff08;评估一个给定的策略&#xff09;的输入是马尔可夫决策过程 < S , A , R , P , γ > …

SQL自学通之函数 :对数据的进一步处理

目录 一、目标 二、汇总函数 COUNT SUM AVG MAX MIN VARIANCE STDDEV 三、日期/时间函数 ADD_MONTHS LAST_DAY MONTHS_BETWEEN NEW_TIME NEXT_DAY SYSDATE 四、数学函数 ABS CEIL 和FLOOR COS、 COSH 、SIN 、SINH、 TAN、 TANH EXP LN and LOG MOD POW…