智能优化算法:足球联赛竞争算法

智能优化算法:足球联赛竞争算法

@[toc]
摘要:足球联赛竞争(soccer league competition)算法是N.Moosavian等人于2014年受足球联赛球队和球员间竞争启发而提出的一种新型群体优化算法,该算法将球员(种群个体)分为固定球员和替补球员,并由此组成若干球队,球队之间、球员之间相互竞争,并采取积分排名方式将球队排名最前的球员位置作为待优化问题的最优解 。该算法具有寻优能力强等特点。

1.算法原理

足球联赛竞争算法遵行以下4个准则:
准则1:足球联赛比赛中,第一级足球联赛由各球队在一个赛季内竞争完成,在此环境下,强队的目标是在联赛积分排名中处于靠前的位置,而弱队的计划是在一级联赛中生存,以防止淘汰至第二级联赛 .在一个赛季的比赛中,每队完成主场和客场两场比赛,胜出球队得3分,平局得1分,输球不得分,球队
最终排名由总积分决定。

准则2:球员作为明星球员(SP)或超级明星球员(SSP)可用于模拟解决优化问题,每个球员均希望成为超级明星球员(SSP),即待优化问题解向量的全局最佳位置 . 在联赛中各球队中的明星球员(SSP)对应待优化问题的局部最优解向量,超级明星球员(SP)对应待优化问题的全局最优解向量。

准则3 :每支球队由11个固定球员(EP)和一些替补球员(S)组成,球队的强弱取决于其球员的技术水平 。

准则4 :各球队内部存在竞争.球员之间的竞争是通过提高他们的球技来吸引总教练的关注,这种内部竞争提升了球队素质和技术水平。

SLC算法原理简述如下:

1)假定足球联赛由N支球队组成,其比赛次数计算如下:
TotalMatch=(N(N-1))/2\tag{1}

  1. 对于最小优化问题,其目标函数值越小说明其竞争者(PP)能力越强,可表示如下:
    PP(i,j)=1/C(i,j)\tag{2}
    式中,i\in team,j\in player,C=objective function.

球队总积分被定义为它固定球员的平均积分,下列公式显示了球队积分(TP)是如何计算的:
TP(i)=(1/nFP)\sum_{j=1}^{nFP}PP(i,j)\tag{3}
式中,nFP为固定球员总量 .

每队胜利的概率由下式给出:
p_v(k)=TP(k)/(TP(i)+TP(k)) \tag{8}

p_v(i)=TP(i)/(TP(i)+TP(k))\tag{9}

式中,p_v表示胜利的概率,且p_v(k)p_v(i)总和等于1。

3)模仿操作.获胜球队的固定球员(FP)同时在本球队模仿明星球(SP)和在联赛中模仿超级明星球员(SSP),以提高他们技术水平.在SLC算法,模仿操作由下列公式表示:
FP(i,j)=u_1FP(i,j) +t_1(SSP-FP(i,j))+t_2(SP(i)-FP(i,j))\tag{10}

FP(i,j)=u_2FP(i,j)+t_1(SSP-FP(i,j))+t_2(SP(i)-FP(i,j))\tag{11}

式中,FP(i,j)表示第i个球队第j个固定球员;SP(i)表示第i个球队的明星球员;u_1\sim U(\theta,\beta),u_2\sim U(0,\beta),t_1\sim U(0.2),t_2\sim U(0.2)为均匀分布的随机数,其中\beta\in[1,2],\theta\in[0,1].

4)挑衅操作.优胜球队的替补球员(S)须有等于其所在球队固定球员的平均积分值.其最差球队替补球员解向量朝优胜球队固定球员的重心位置向前移动,若在新位置上产生的解向量优于前次最优解向量,则利用式(12)进行球员更新;否则,最差球队替补球员解向量朝优胜球队固定球员的重心位置向后移动,并利用式(13)进行球员更新 。
S(i,j)=C(i)+x_1(C(i)-S(i,j))\tag{12}

S(i,j)=C(i)+x_2((S(i,j)-C(i))\tag{13}

式中,C(i)表示第i个球队固定球员解向量积分平均值;S(i,j)表示第i个球队第 j个替补球员; x_1\sim U(0.9,1)x_2\sim U(0.4,0.6)为均匀分布的随机数 。

  1. 变异算子。类似遗传算法(GA)变异处理方法,SLC算法利用变异算子随机改变一些球员位置,以获得多样化的解向量。

  2. 替补算子。SLC算法中替补算子利用下式表示:
    S_{NEW}(i,j) = \alpha*S(i,j)+(1-\alpha)*S(i,k)\tag{14}

S_{NEW}(i,k)=\alpha*S(i,k)+(1-\alpha)*S(i,j)\tag{14}

式中,\alpha \sim U(0,1)为均匀分布的随机向量。

SLC算法中,模仿操作加快了算法的搜索能力;挑衅操作可以获得复杂优化问题的最佳解向量位置;而突变算法和替补算子有助于SL 算法跳出局部极值并最终获得全局最优解向量 .

算法步骤:

step1:初始化算法参数 . 设置最大迭代次数T 、球员数量(种群数)M 、联赛球队数、固定球员数、替补球员数和变异概率等算法参数。

step2:生成球员(种群) 。

step3:适应度函数值计算。并按照积分对球队进行排名,找到并保存
当前超级明星球员(SSP)位置。

step4:开始联赛进行模仿、挑衅、变异和替补操作 。

step5:降级和提升.该步骤中最差的球队(降级点)从第一级联赛中淘汰,而新的团队(提升点)引入到第一级联赛 。

step6:检查停止准则。重复步骤3-5直至满足终止准则。

2.实验结果

请添加图片描述

3.参考文献

[1]Naser Moosavian,Babak Kasaee Roodsari. Soccer league competition algorithm: A novel meta-heuristic algorithm for optimal design of water distribution networks[J]. Swarm and Evolutionary Computation,2014,17{5}:

[1]崔东文,金波.足球联赛竞争算法-投影寻踪模型在区域水资源承载力评价中的应用[J].三峡大学学报(自然科学版),2018,40(01):5-11.

4.Matlab

上述代码,见个人资料

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容