Skip to content

Guevara111/swarm-intelligence-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

群智能优化算法合集(MATLAB)

项目简介

本项目收集了多种经典及新兴的群智能(Swarm Intelligence)与元启发式优化算法的 MATLAB 实现,涵盖路径规划、函数优化、神经网络权值优化、光谱变量选择等应用场景。

算法目录

目录 算法 英文缩写 应用场景
AOC/ 蚁群优化算法 ACO 栅格地图路径规划
pso/ 粒子群优化算法 PSO 栅格地图路径规划
Bas/ 天牛须搜索算法 BAS 函数优化
BSOA/ 细菌觅食优化算法 BFO/MBFOA 函数优化
woa/ 鲸鱼优化算法 WOA 光谱波长选择 + PLS建模
bp/ 遗传算法优化BP神经网络 GA-BP 回归预测(波士顿房价)
白鹭群优化算法/ 白鹭群优化算法 ESOA 函数优化 + BP神经网络优化
蚁群/ 蚁群 + 遗传算法 + 模拟退火 ACO/GA/SA 路径规划(含避障)
蚁群2/ 蚁群算法(Floyd最短路) ACO 路径规划
蜂群/ 人工蜂群算法 ABC 函数优化
蜘蛛猴/ 蜘蛛猴优化算法 SMO/SSMO 多目标函数优化

运行环境

  • MATLAB R2018a 及以上版本
  • 部分子项目可能需要以下工具箱:
    • Neural Network Toolbox / Deep Learning Toolbox(BP神经网络相关)
    • Statistics and Machine Learning Toolbox

各算法详细说明

1. 蚁群优化算法 — ACO(AOC/

原理:模拟蚂蚁觅食行为,蚂蚁在路径上释放信息素,后续蚂蚁倾向于选择信息素浓度高的路径,最终收敛到最短路径。

实现细节

  • 20×20 栅格地图,1 表示障碍物,0 表示可通行
  • 50 只蚂蚁,100 次迭代
  • 轮盘赌法选择下一节点
  • 信息素蒸发系数 ρ=0.3,信息素增强系数 Q=1
  • 支持 8 方向移动(含对角线)

文件

  • main.m — 完整的蚁群路径规划程序(含 G2D 地图转邻接矩阵函数)

输出:收敛曲线 + 最优路径可视化


2. 粒子群优化算法 — PSO(pso/

原理:模拟鸟群觅食,每个粒子根据自身历史最优和群体最优更新速度和位置。

文件

  • DrawMap.m — 绘制栅格地图并标注编号
  • OPW.m — 约束障碍物对角穿越(优化邻接矩阵)
  • Untitled4.m / Untitled6.m — PSO 路径规划主程序
  • 2/Untitled.m — PSO 变体实现
  • 3/Path Planning/ — 完整的 PSO 路径规划框架(Yarpiz)
    • pso.m — PSO 主算法
    • CreateModel.m — 创建地图模型
    • MyCost.m — 代价函数
    • ParseSolution.m — 解析路径解
    • PlotSolution.m — 绘制路径

3. 天牛须搜索算法 — BAS(Bas/

原理:模拟天牛利用两根触须感知左右气味浓度差异来定位食物源,根据浓度差决定前进方向。

实现细节

  • 触须间距和步长逐步衰减(衰减系数 η=0.95)
  • 支持随机游走扰动
  • 测试函数:Michalewicz 函数

文件

  • BAS_pro.m — BAS 算法完整实现(含可视化)
  • BAS_example.m — 使用示例
  • Beetle-Antennae-Search-master/bas.m — 原始开源版本

4. 细菌觅食优化算法 — BFO(BSOA/

原理:模拟大肠杆菌的趋化、繁殖和驱散行为进行全局优化。

文件

  • Alejandro-Lopez-Rivera-master/ — MBFOA(改进细菌觅食算法)MATLAB 实现
    • MBFOA-Principal.m — 主程序
    • quimiotaxis.m — 趋化过程
    • eliminacionD.m — 消除-扩散过程
    • 含模块化版本(06~16号文件)
  • Bacterial-Foraging-Optimization-Algorithm-master/bo.py — Python 版本

5. 鲸鱼优化算法 — WOA(woa/

原理:模拟座头鲸的气泡网捕食策略(包围猎物、螺旋更新、随机搜索)。

应用:紫外光谱波长变量选择 + 偏最小二乘法(PLS)建模

文件

  • main_WOA_PLS_UV_three_PerillaSoy_20180601.m — WOA-PLS 主程序
    • KS 法划分训练集/测试集
    • WOA 选择最优波长子集
    • PLS 建模并计算 RMSEP、相关系数
  • main_EP_PLS_UV_three_PerillaSoy_20180601.m — 对比方法(EP-PLS)

6. 遗传算法优化BP神经网络 — GA-BP(bp/

原理:用遗传算法(选择、交叉、变异)搜索 BP 神经网络的最优初始权值和阈值,避免 BP 陷入局部最优。

实现细节

  • 网络结构:输入层 → 6个隐藏层神经元 → 输出层
  • 遗传算法:种群40,迭代500代,交叉概率0.4,变异概率0.05
  • 数据集:波士顿房价(Boston Housing)

文件

  • gabp.m — GA-BP 主程序(完整流程)
  • gabp1.m — 变体版本
  • fitness1.m — 适应度函数(BP网络误差)
  • select.m — 选择操作(轮盘赌)
  • Cross.m — 交叉操作
  • Mutation.m — 变异操作
  • Boston.txt — 波士顿房价数据

7. 白鹭群优化算法 — ESOA(白鹭群优化算法/

原理:模拟白鹭群体的觅食行为(坐等、行走、俯冲)进行全局优化。

文件

  • Published/main.m — 标准测试函数优化主程序(F1-F23)
  • Published/ESOA.m — ESOA 算法核心
  • Published/Get_Functions_details.m — 23个标准测试函数定义
  • Published/initialization.m — 种群初始化
  • Published/func_plot.m — 函数3D可视化
  • Published/2/bp_esoa.m — ESOA 优化 BP 神经网络(波士顿房价预测)
  • Published/2/ESOA.m — ESOA 算法(BP优化版)
  • Published/2/gra.m — 适应度函数
  • Published/3/PSO-BP-main/PSOBP050.m — PSO-BP 对比实验

8. 蚁群/遗传/模拟退火路径规划(蚁群/

包含三种算法的路径规划对比

  • Artificial Bee Colony/ABC_Planning/ — 人工蜂群路径规划
  • Genetic Algorithm/GA_Planning/ — 遗传算法路径规划
  • Simulated Annealing/SA_Planning/ — 模拟退火路径规划
  • 各算法均含 GA_ObstacleAvoidance/ 避障子模块

9. 蚁群算法变体(蚁群2/

文件

  • 蚁群算法/main_1.m — 主程序
  • 蚁群算法/antalg.m — 蚁群算法核心
  • 蚁群算法/floyed.m — Floyd 最短路径算法(用于启发式信息)
  • 蚁群算法/getPath.m — 路径提取
  • 蚁群算法/getpI.m — 转移概率计算

10. 人工蜂群算法 — ABC(蜂群/

原理:模拟蜜蜂群体分工(雇佣蜂、观察蜂、侦察蜂)进行全局搜索。

文件

  • abc.m — ABC 算法主程序
  • lunpandu.m — 轮盘赌选择
  • Sphere.m — Sphere 测试函数

11. 蜘蛛猴优化算法 — SMO(蜘蛛猴/

原理:模拟蜘蛛猴群体的裂变-融合社会结构,含局部领导者和全局领导者两级决策。

文件

  • SMO/smo.m — 标准 SMO 算法主程序
  • SSMO 2020/ssmo.m — 改进版 SSMO(2020年)
  • 两个版本均包含完整的阶段函数:
    • LocalLeaderPhase.m — 局部领导者阶段
    • GlobalLeaderPhase.m — 全局领导者阶段
    • LocalLeaderLearningPhase.m — 局部学习阶段
    • GlobalLeaderLearningPhase.m — 全局学习阶段
    • LocalLeaderDecisionPhase.m — 局部决策阶段
    • GlobalLeaderDecisionPhase.m — 全局决策阶段

使用方法

  1. 打开 MATLAB,将当前目录切换到对应算法的文件夹
  2. 运行主程序文件(通常为 main.m 或算法名称对应的 .m 文件)
  3. 观察收敛曲线和优化结果

各子目录相互独立,可单独运行。

项目结构

群智能算法/
├── AOC/                    # 蚁群算法路径规划
├── pso/                    # 粒子群路径规划
│   ├── 2/                  # PSO 变体
│   └── 3/Path Planning/    # Yarpiz PSO 框架
├── Bas/                    # 天牛须搜索算法
├── BSOA/                   # 细菌觅食优化算法
├── woa/                    # 鲸鱼优化算法(光谱分析)
├── bp/                     # GA-BP 神经网络
├── 白鹭群优化算法/
│   └── Published/          # ESOA 标准测试 + BP优化
├── 蚁群/                   # ACO/GA/SA 路径规划对比
├── 蚁群2/                  # 蚁群 + Floyd
├── 蜂群/                   # 人工蜂群算法
├── 蜘蛛猴/                 # SMO / SSMO
│   ├── SMO/
│   └── SSMO 2020/
└── README.md

参考文献

  • Dorigo M. Ant Colony Optimization, 1992
  • Kennedy J, Eberhart R. Particle Swarm Optimization, 1995
  • Jiang X, Li S. BAS: Beetle Antennae Search Algorithm, 2017
  • Mirjalili S, Lewis A. The Whale Optimization Algorithm, 2016
  • Chen Z, Francis A, et al. Egret Swarm Optimization Algorithm, 2022
  • Bansal J C, et al. Spider Monkey Optimization, 2014
  • Karaboga D. Artificial Bee Colony Algorithm, 2005
  • Passino K M. Bacterial Foraging Optimization, 2002

About

群智能优化算法合集(MATLAB):蚁群、粒子群、鲸鱼、天牛须、蜂群、白鹭群、蜘蛛猴、细菌觅食、GA-BP等

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors