FTTA(Football team training algorithm)算法学习笔记

个人学习笔记,仅供参考。

0 参考文献

[1]Tian Z, Gai M. Football team training algorithm: A novel sport-inspired meta-heuristic optimization algorithm for global optimization[J]. Expert Systems with Applications, 2024, 245: 123088.


1 算法背景

最早和最受欢迎的优化算法是遗传算法(GA)和粒子群优化(PSO)。遗传算法是一种模拟自然选择的优化算法,它通过模拟自然选择和自然遗传学过程中的繁殖、杂交和突变现象,不断淘汰落后的个体,以维持种群的良好状态,最终获得最优解。PSO是通过模拟鸟群的捕食行为而设计的,所有的鸟儿都想找到食物,在整个搜索过程中,它们不断地将各自位置的信息传递给彼此,让其他鸟儿知道食物来源的位置最后,鸟群可以聚集在食物源周围,以获得全局最优解。

2010年到2020年,基于动物行为的优化算法逐渐走进大家的视野,如灰狼优化(GWO) 、鲸鱼优化算法 (WOA) 和蚱蜢优化算法 (GOA)。这些算法在大多数测试函数上的性能都远优于 GADE 等,进一步提高了元启发式算法的性能。此外,还有一类优化算法从体育运动中汲取灵感,因为合作通常对于团队的最佳表现至关重要。例如,足球队优化(SGO)模拟了球员的行为,并通过两个操作器实现了强大的信息共享能力。排球超级联赛算法VPL)灵感来自于一个赛季中排球队的竞争和互动,可以有效解决复杂搜索空间的问题团队比赛算法 (TGA) 模拟了篮球等所有需要团队合作的运动,并通过博弈论的思想获得了出色的优化结果。

尽管已经开发了大量元启发式算法,但目前的算法仍然存在一些问题。例如,PSO 算法对参数的设置很敏感,如果参数设置不当,很容易导致优化结果的恶化。然而,在实际应用中,很少有人知道如何正确设置参数,导致算法往往无法产生差异。此外,一些算法导致在求解一些复杂函数的过程中效果不佳。例如,GA 在算法的初始阶段效果很好,但在后期较弱,因此很难得到真正的全局最优解。

为了改善上述不足,提出了一种新的元启发式优化算法——足球队训练算法(FTTA,通过模拟足球课,分阶段训练球员,提高球员达到最佳优化效果的能力。该算法具有良好的收敛能力,在几组测试函数(CEC2005CEC2020)上的性能远优于 GWO WOA 等经典算法。

FTTAFootball team training algorithm)即足球队训练优化算法,是一种基于体育运动启发的新型元启发式优化算法。该成果于20241月在线发表、20247月正式发表在中科院1SCI期刊Expert Systems with Applications。其灵感来自足球队的训练过程,将训练分为集体训练、组训练和个人额外训练三个阶段,通过不断迭代优化,提高算法的收敛能力,最终得到全局最优解。算法旨在通过模拟足球团队的分阶段训练(集体训练→小组训练→个体强化训练),平衡全局搜索与局部开发能力,提高收敛速度和精度。


2 算法原理

2.1 核心步骤

在集体训练阶段,将球员分为追随者、发现者、思考者和波动者四种类型,每种类型的球员有不同的训练方式。集体训练结束后,进入分组训练阶段,教练根据球员的特点将球员分为四类,采用自适应聚类方法将球员分为四个组别,每个球员在组内有最优学习、随机学习和随机交流三种训练状态。此外,引入了一个小概率的随机误差机制。在分组训练结束后,重新计算新适应度值并更新状态,教练选择最佳球员进行额外训练,这里使用高斯-柯西联合变异描述个人额外训练,早期采用柯西分布以提供较大改进范围,后期则更多依赖高斯分布以实现局部搜索。

2.2 集体训练阶段

2.2.1 行为模式

  1. 追随者:当前最佳球员的热心追随者,他们努力在每个维度上接近最佳球员,但由于能力限制,通常只能随机地向最佳球员移动。
  2. 发现者:比跟随者更理性,他们不仅看到最好的球员,也看到最差的球员,所以他们不仅努力成为最好的球员,而且尽力避免成为最差的球员。

  3. 思考者:比前面的人更加警觉,他们直接看到最优秀球员与最差球员之间的差距,并努力在各个维度上达到这个差距。

  4. 波动者:拒绝向任何人学习,而是自己进行训练,因此状态会发生一定程度的波动。当然,随着训练次数(Iterations)的增加,球员状态的波动会越来越小。

2.2.2 位置更新公式

  • 追随者更新公式:

         其中,rand为呈正态分布的随机数,当前最佳球员被定义为Fkbest,其中k是迭代次数,Fkbest,j是其在维度j上的值;当前球员定义为Fkii是其球员数量,Fki,j是其在维度j上的值,Fki,jnew是球员在训练后在维度j的状态。

  • 发现者更新公式

       其中当前最差的球员被定义为Fkworstk是迭代次数,其中Fkworst,j是其在维度j中的值。Fki,jnew是球员在训练后在维度j上的状态。

  • 思考者更新公式

        在维度j中, Fkbest,j - Fkworst,j是当前最佳球员和最差球员之间的差向量,k是迭代次数。

  • 波动者更新公式

       其中,tk)是一个具有t分布的随机数,其自由度为当前迭代次数,随着自由度的增加,t分布接近中间值(0)的概率越来越高,两端的分布逐渐减小,将越来越接近正态分布。因此,随着迭代次数的增加,波动程度会越来越小,并逐渐从全局搜索变为局部搜索。

  • 示意图

2.3 分组训练阶段

集体训练完成后,足球训练过程进入分组训练阶段,教练员根据球员的特点(每个维度都是一个特征值)将球员分为前锋、中场、后卫守门员四类。在分组训练中,采用MGEM自适应聚类方法(MixGaussEM),通过聚类的方法模拟教练员的行为,将人群根据自身特点分为四类。如下:(其中Teamnumber2,这是每组中的最小人数。如果组的人数数量小于这个值,则无法实施组训练。一旦发生这种情况,教练将进行第二次分组,采用均匀随机分组的策略,将球员随机均匀地分为四组。)

每个小组中的球员将与小组中的其他球员进行学习或交流。群体训练定义为三种状态:最优学习随机学习随机交流。我们将学习概率定义为pstudy,交流概率为pcomm,球员将在每次迭代中随机选择状态。

2.3.1 最优学习

其中是𝐹𝑏𝑒𝑠𝑡𝑘,𝑡𝑒𝑎𝑚𝑙F_best^(k,teaml)l中最好的球员,k是迭代次数,teaml代表组l 𝐹𝑏𝑒𝑠𝑡,𝑗𝑘,𝑡𝑒𝑎𝑚𝑙F_(best,j)^(k,teaml)是组l最好球员的第j维, 𝐹𝑖,𝑗𝑘,𝑡𝑒𝑎𝑚𝑙 F_(i,j)^(k,teaml)  new是球员在最优学习后在第j维中的状态。

2.3.2 随机学习

其中𝐹Random𝑘,𝑡𝑒𝑎𝑚𝑙F_Random^(k,teaml)是组l中的随机球员,k是迭代次数,teaml表示组l 𝐹𝑅𝑎𝑛𝑑𝑜𝑚,𝑗𝑘,𝑡𝑒𝑎𝑚𝑙F_(Random,j)^(k,teaml)是组l的随机球员的第j维, 𝐹𝑖,𝑗𝑘,𝑡𝑒𝑎𝑚𝑙 F_(i,j)^(k,teaml)  new是随机学习后球员在第j维中的状态。

2.3.3 随机交流

  • rand≤pcomm时,公式定义如下:
  • rand>pcomm时,公式定义如下:

        其中𝐹Random𝑘,𝑡𝑒𝑎𝑚𝑙F_Random^(k,teaml)l组中的一个随机球员,k是迭代次数,teaml代表第l组, 𝐹Random,𝑗𝑘,𝑡𝑒𝑎𝑚𝑙 F_(Random,j)^(k,teaml)  是第l组随机球员的第j维,两个球员在第j维中交换了他们的能力。Randn是一个正态分布的随机数,乘以(1+Randn)表示两个球员对他人能力的理解。

2.3.4 随机误差

假设在小组训练过程中,有一定的概率会出现错误,即他们不小心学会了他人其他维度的内容。出现这种情况的可能性很低,但这是真实和客观的。错误概率定义为perror。

2.4 个人训练阶段

在团体训练结束后,需要重新计算新的体能值,用较好的体能值替代较差的体能值,以更新队员的状态。更新后教练会选出最好的队员,让他继续训练,让他变得更好,这样才能更好地带动其他人的训练状态。

柯西(Cauchy)和高斯(Gauss)联合变异用于描述个人额外训练,k是迭代次数。之所以选择高斯-柯西分布,是因为在训练的早期阶段,每个人的水平通常都不高,所以最好的球员获得更大提升的概率更大,此时柯西分布函数占据了很大的比例,可以有效地为球员提供大范围的提升,这有利于全局搜索。随着迭代次数的增加,球员能力的提升变得越来越困难,此时高斯分布占比较大的比例,球员的提升范围逐渐减小,更有利于局部搜索。

2.5 算法流程

2.5.1 流程图

2.5.2  算法流程

1. 初始化阶段

  • 种群生成:随机生成初始种群(即 “球员” 个体),每个个体代表优化问题的一个潜在解。

  • 适应度计算:对每个个体计算适应度值,评估其在目标问题中的优劣(如优化目标函数值)。

2. 迭代优化阶段(循环直至达到最大迭代次数 MaxGen)

(1)集体训练

  • 角色划分:将种群个体分为四类角色 ——追随者(Followers)、波动者(Volatilities)、发现者(Discoverers)、思考者(Thinkers),每类角色执行不同的更新策略:

    • 追随者:向当前最优解学习,调整自身位置。

    • 波动者:通过随机扰动探索新区域,避免局部收敛。

    • 发现者:基于最优解与最差解的差异,扩大搜索范围。

    • 思考者:综合最优解与自身位置,平衡探索与开发。

  • 最优 / 最差定位:迭代中实时记录当前种群的最优解(最佳球员)和最差解。

(2)分组训练

  • 聚类分组:通过 MGEM(MixGaussEM)聚类算法 对种群分组,计算每组规模(Size)。

    • 若组规模满足预设团队数量(Team number),则保持分组;

    • 若不满足,采用随机均匀分组,确保分组合理性。

  • 组内训练策略:每组个体执行四种训练策略 ——随机误差(Random Error)、随机交流(Random Communication)、随机学习(Random Learning)、最优学习(Optimal Learning),通过信息交互提升组内个体质量。

(3)更新与额外训练

  • 适应度重计算:分组训练后重组种群,重新计算所有个体的适应度值。

  • 个体更新:根据新适应度更新个体状态,保留更优解。

  • 个人额外训练:筛选当前最优个体,对其进行强化训练(如高斯 - 柯西变异),进一步挖掘局部最优潜力。

  • 最优解判断:比较新旧最优解,若新解更优则更新全局最优;否则保留原最优解,确保算法稳定性。

3. 输出结果

迭代结束后,输出最终优化结果(即全局最优解),完成算法流程。整个流程通过模拟足球队训练的分工协作,将优化过程拆解为集体探索、分组细化、个体强化,最终实现全局最优解的高效搜索,适用于工程优化、参数调优等复杂问题。


3 测试函数分析

3.1 测试函数_CEC2005

  • FTTA 算法的性能通过一组测试函数CEC2005来验证。参与比较的优化算法包括目前广泛使用的GWOWOA,以及早期的算法PSODE。迭代次数为 500,种群数为 50
  • (1)CEC20005_F1

 FTTA 曲线在迭代初期(前 100 次)快速下降,收敛速度远超 PSODE 等算法。其他算法(如 PSO)后期收敛停滞,而 FTTA 凭借追随者向最优解快速学习的机制,精准抵达全局最优。

(2)CEC20005_F2

FTTA 收敛曲线始终保持陡峭下降趋势,最终函数值趋近于 0(理论最优),且波动极小。对比算法(如 GWO)在后期收敛速度明显放缓,FTTA 通过思考者策略平衡搜索方向,确保高精度收敛。

(3)CEC20005_F3

 (4)CEC20005_F4

 FTTA 曲线随迭代持续下降,对不同权重变量的优化更均衡。例如,在 200 次迭代后,FTTA 的函数值已显著低于其他算法,证明其能有效处理变量权重差异,通过动态角色切换(如发现者扩大搜索范围)提升优化效率。

 (5)CEC20005_F8

FTTA 前期通过波动者的随机扰动跳出局部最优,后期依赖分组训练的信息交互,持续优化。在 500 次迭代内,FTTA 函数值仍持续下降,而 WOA 等算法则在第300次迭代后停滞,凸显其全局搜索优势。 

  (6)CEC20005_F9

 FTTA 算法收敛曲线在第50次迭代之后达到全局最优,WOA算法收敛曲线则在第200次迭代之后达到全局最优,说明FTTA算法显著优于其他算法。

(7)CEC20005_F10

FTTA 算法收敛速度很快,曲线波动幅度较小,始终向最优值逼近。即使在噪声干扰下,通过随机学习最优学习策略的结合,证明其在复杂环境下的稳定性。

(8)CEC20005_F11

FTTA 曲线在迭代中持续优化,通过分组训练的跨组信息交  流,逐步逼近山谷底部的最优解。相比之下,WOA 等算法易在山谷两侧停滞,FTTA 动态角色切换机制更好地平衡了探索与开发。

 (9)CEC20005_F14

FTTA 在前期快速下降,后期通过个人额外训练对精英个体强化搜索,最终收敛值显著优于其他算法。例如,在 500 次迭代后,FTTA 的函数值接近全局最优,而 WOA 等陷入局部最优,体现其处理复杂函数的高效性。

3.2 小结

  • 优势场景

      FTTA 在单峰、多峰及复合函数中均表现突出,尤其擅长处理高维、噪声、旋转等复杂优化问题(如 F10-F14)。

核心机制

  1. 角色分工:追随者加速收敛,波动者增强探索,分组训练提升多样性。
  2. 混合策略:高斯 - 柯西变异强化局部搜索,MGEM 聚类避免早熟收敛。

对比算法短板:

      PSO 易早熟、DE 依赖参数、GWO 开发不足,而 FTTA 通过多阶段协同规避了这些问题。


4 工程应用案例

4.1 混合风速预测系统流程图

4.2 系统流程

1. 数据采集与预处理

  1. 在中国辽宁省大连市及周边的大规模风电站(如庄河)采集风速数据,共 1600 组数据。
  2. 前 1500 组数据用作训练集,后 100 组数据用作测试集。风速测量频率为每 10 分钟一次。2. 采用 FTTA 算法进行优化

2.FTTA 分角色优化风速预测模型

  • Followers(跟随者):基于最优个体进行更新。
  • Discoverers(探索者):引入随机扰动增加搜索范围。
  • Thinkers(思考者):基于群体信息调整策略。
  • Volatilities(波动者):加入动态扰动提高鲁棒性。

3.训练方式

  • 集体训练(Collective Training):所有个体参与优化。
  • 分组训练(Group Training):划分不同小组进行对比实验,提高整体训练效果。
  • 个别额外训练(Individual Extra Training):针对最优个体进行精细调整。

4. 预测模型的构建与评估

  • 选择数据:基于 VMD 进行特征分解,以减少数据噪声,提高预测准确性。
  • 使用 FTTA-VMD 结合不同模型进行风速预测,包括:FTTA-VMD-ARIMA(自回归移动平均模型)、FTTA-VMD-CNN(卷积神经网络)、FTTA-VMD-GRU(门控循环单元)、FTTA-VMD-BP(BP 神经网络)
  • 评估指标(Evaluation Index):使用平均绝对百分比误差(MAPE)、平均绝对误差(MAE)、和平方误差(SSE)、均方误差(MSE)、均方根误差(RMSE)、归一化均方误差(NMSE)等指标来评估模型性能。

5. 运行时间与优化讨论

使用 CEC 测试函数进行进一步评估,并展示了不同处理器(P1 - P3)的 CPU 运行时间对比。

4.3 总结

该风速预测框架利用 FTTA 算法进行优化,并结合 VMD 进行数据分解,有效提高了预测精度。通过多种机器学习模型的对比评估,最终选择最佳方法用于实际风速预测,具有较强的实用价值。

5 思考

算法前期引入的随机参数太多,是否会不可避免地导致迭代次数过多、调参过程复杂。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值