智能优化算法:骑手优化算法


文章目录

  • 智能优化算法:骑手优化算法
  • 1.算法原理
  • 1.1 种群位置初始化
  • 1.2 参数初始化
  • 1.3 速度限制
  • 1.4 寻找成功率
  • 1.5 绕行手位置更新
  • 1.6 跟随手位置更新
  • 1.7 超车手位置更新
  • 1.8 冲刺手位置更新
  • 1.9 参数更新
  • 2.实验结果
  • 3.参考文献
  • 4.Matlab代码



摘要:骑手优化算法(Rider Optimization Algorithm,ROA),是于2019年提出的一种新型智能优化算法。该算法主要模拟了在比赛中骑手通过身份划分来引导整个团队走向胜利的过程。具有寻优能力强,收敛速度快等特点。

1.算法原理

在骑手优化算法中,骑手一共分为4类:

(a).绕行手:绕行手通过绕行引导路径到达目标。这意味着其不跟随领先骑手(种群最优个体)。

(b).跟随手:跟随手在大部分区域内依赖或跟随领先骑手。

©.超车手:这类骑手根据自身当前位置及领先骑手的位置来调整下一步行动。

(d).冲刺手:其根据其他骑手的位置以最大速度到达目标点。

1.1 种群位置初始化

将种群G均分为四组:绕行手(B)、跟随手(F)、超车手(O)、冲刺手(A):
智能优化算法:骑手优化算法-附代码_机器学习

智能优化算法:骑手优化算法-附代码_机器学习_02

其中智能优化算法:骑手优化算法-附代码_优化算法_03为种群规模。

1.2 参数初始化

跟其他优化算法一样,在搜索空间内,随机生成种群T:
智能优化算法:骑手优化算法-附代码_机器学习_04

智能优化算法:骑手优化算法-附代码_初始化_05

智能优化算法:骑手优化算法-附代码_算法原理_06

智能优化算法:骑手优化算法-附代码_算法_07

其中Q为空间维度。自行车的齿轮E用式(7)表示:
智能优化算法:骑手优化算法-附代码_优化算法_08
初始时所有个体的齿轮参数均设为,迭代时其值从{0,1,2,3,4}中选取。

自行车的加度度e和制动器K:
智能优化算法:骑手优化算法-附代码_初始化_09

智能优化算法:骑手优化算法-附代码_算法原理_10

其值均处于[0,1]内,但前者初始为0,后者为1。

1.3 速度限制

该算法选择了一种动态速度边界:
智能优化算法:骑手优化算法-附代码_算法原理_11
其中智能优化算法:骑手优化算法-附代码_算法原理_12智能优化算法:骑手优化算法-附代码_初始化_13分别为骑手智能优化算法:骑手优化算法-附代码_算法原理_14 在此次迭代时的位置上、下限,智能优化算法:骑手优化算法-附代码_初始化_15即为停止时间,对应最大迭代次数。因此,骑手智能优化算法:骑手优化算法-附代码_算法原理_14对速度的限制为;
智能优化算法:骑手优化算法-附代码_优化算法_17
这里|E|为齿轮数,一般取5。

1.4 寻找成功率

成功率是根据骑手位置和目标位置之间的距离计算得出的:
智能优化算法:骑手优化算法-附代码_优化算法_18
这里智能优化算法:骑手优化算法-附代码_初始化_19为当前骑手i 的位置,LT为目标位置。

1.5 绕行手位置更新

绕行手绕过公共路径,因此位置更新是随机的:
智能优化算法:骑手优化算法-附代码_算法_20
其中 智能优化算法:骑手优化算法-附代码_初始化_21均为[0,1]内一随机数,智能优化算法:骑手优化算法-附代码_初始化_22均为[1,R]内一随机整数,表示随机选择出的一个骑手。

1.6 跟随手位置更新

跟随手通过跟随领先者来更新他的位置:
智能优化算法:骑手优化算法-附代码_初始化_23
式中智能优化算法:骑手优化算法-附代码_算法_24为当前空间维度,智能优化算法:骑手优化算法-附代码_机器学习_25为领导者智能优化算法:骑手优化算法-附代码_机器学习_26的位置,智能优化算法:骑手优化算法-附代码_优化算法_27 的计算方式为:
智能优化算法:骑手优化算法-附代码_机器学习_28

智能优化算法:骑手优化算法-附代码_初始化_29

并不是每个跟随手的每个维度都要更新!是否更新取决于坐标选择器智能优化算法:骑手优化算法-附代码_算法原理_30
智能优化算法:骑手优化算法-附代码_优化算法_31
这里t 为当前迭代次数。将其与相应的维度指数相乘,并将结果与空间维度Q进行比较,以确定位置变化需要考虑的坐标:
智能优化算法:骑手优化算法-附代码_初始化_32

1.7 超车手位置更新

超车手的位置更新如下式:
智能优化算法:骑手优化算法-附代码_优化算法_33
中的k 为当前维度,D为当前个体的方向指示器:
智能优化算法:骑手优化算法-附代码_优化算法_34
其中智能优化算法:骑手优化算法-附代码_机器学习_35为相对成功率,超车手的相对成功率由其适应度值与种群内最差个体的适应度值之比确定:
智能优化算法:骑手优化算法-附代码_机器学习_36
同跟随手,为了确定要更新的维度,首先要确定当前超车手与最优个体的间距:
智能优化算法:骑手优化算法-附代码_机器学习_37
之后要通过对比当前超车手各维度的平均位置智能优化算法:骑手优化算法-附代码_算法原理_38来确定:
智能优化算法:骑手优化算法-附代码_算法_39

1.8 冲刺手位置更新

试图超越领导者的冲刺手遵循与跟随手类似的更新过程。但是,冲刺手会更新坐标中的所有值,而不仅仅是选定维度中的值:
智能优化算法:骑手优化算法-附代码_优化算法_40

1.9 参数更新

活动计数A更新:
智能优化算法:骑手优化算法-附代码_初始化_41
转向角更新:
智能优化算法:骑手优化算法-附代码_算法_42
齿轮更新:
智能优化算法:骑手优化算法-附代码_机器学习_43
加速度的更新方式为:
智能优化算法:骑手优化算法-附代码_算法_44
制动器的更新方式为:
智能优化算法:骑手优化算法-附代码_初始化_45
算法伪代码如下:

1.Input: Random positions of theriders Xt
2.Output:Leading rider XL
3.Begin
4.	Initialize the population
5.	initialize the rider parameters: Steering angle T,Gear E,Accelerator e,and Brake K.
6.	Find the success rate rt
7.	while t<TOFF
8.		for i=1 to R
9.			update the positon of the bypass rider using Eq.(13)
10.			update the positon of the follower using Eq.(14)
11.			update the positon of the overtaker using Eq.(19)
12.			update the positon of the attacker using Eq.(24)
13.			Rank the riders based on rt
14.			Select the rider having the maximum rt as the leading rider
15.			update T, E, e,and K
16.			Return XL
17.			t=t+1
18.		end for
19.	end while
20.Terminate

2.实验结果

智能优化算法:骑手优化算法-附代码_初始化_46

3.参考文献

[1] Binu D , Kariyappa B S . RideNN: A New Rider Optimization Algorithm-Based Neural Network for Fault Diagnosis in Analog Circuits[J]. Instrumentation and Measurement, IEEE Transactions on, 2019, 68(1):2-26.

4.Matlab代码