cec2013(python):粒子群优化算法PSO求解cec2013(提供python代码)

一、PSO求解cec2013

cec2013函数简介

CEC 2013 Special Session on Real-Parameter Optimization中共有28个测试函数维度可选择为10/30/50/100。

每个测试函数的详细信息如下表所示:

参考文献:1 Liang J J , Qu B Y , Suganthan P N , et al. Problem Definitions and Evaluation Criteria for the CEC 2013 Special Session on Real-Parameter Optimization. 2013.

部分代码

复制代码
from CEC2013.cec2013 import *
from PSO import PSO
import matplotlib.pyplot as plt
import numpy as np
#主程序
function_name =20 #测试函数1-28
SearchAgents_no = 50#种群大小
Max_iter = 100#迭代次数
dim=10#维度 10/30/50/100
lb=-100*np.ones(dim)#下限
ub=100*np.ones(dim)#上限
cec_functions = cec2013(dim,function_name)
fobj=cec_functions.func#目标函数
BestX,BestF,curve = PSO(SearchAgents_no, Max_iter,lb,ub,dim,fobj)#问题求解


#画收敛曲线图
if BestF>0:
    plt.semilogy(curve,color='r',linewidth=2,label='PSO')
else:
    plt.plot(curve,color='r',linewidth=2,label='PSO')
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))

部分结果

二、完整python代码

相关推荐
地平线开发者8 小时前
【模型轻量化专题】衡量模型轻量性的指标
算法
用户7783366132119 小时前
用 React Hook 封装搜索数据:useSerp 的防抖、缓存与错误处理
python·api
学习星球11 小时前
OFDM技术精讲:正交性推导、循环前缀原理与80行Python链路仿真(附实测数据)
算法·面试·前端框架
65岁退休Coder13 小时前
LangGraph v1.2.9 节点容错策略 & 流式输出 & 持久化记忆管理
后端·python·langchain
ikun_文15 小时前
Django框架路由Router的使用
python·pycharm·django
IvanCodes15 小时前
Python 基础语法(二):字符串与常用操作
python
昭昭日月明15 小时前
LangChain 生态:从链到代理,开发者需要掌握的三大核心
python·langchain·agent
Csvn15 小时前
🐍 Day 8:面向对象编程
后端·python
程序员天天困15 小时前
向量检索不准怎么办:混合检索与 Rerank 重排序召回优化实战
后端·python·ai编程
alphaTao17 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode