智能优化算法:JAYA优化算法
摘要:JAYA算法是于2016年提出的一种简单高效的新型优化算法,具有收敛快寻优强的特点。
1.算法原理
传统 Jaya 算法是 Rao 等提出的一种元启发式算法,它基于持续改进的原理,将个体不断向优秀个体靠拢,同时不断远离差的个体,进而不断提高解的质量。传统 Jaya 算法主要基于迭代公式(1),每次通过该方程迭代进化获取新的解,因此 Jaya 算法不像其他进化算法需要许多的参数,它只需要针对特定问题调整迭代过程的参数,减少了因为调整过多参数而带来的测试上的麻烦。与其它元启发式算法相比,Jaya 算法更容易理解和实现。该算法的迭代公式如下所示:
X
i
,
j
,
t
′
=
X
i
,
j
,
t
+
r
b
e
s
t
,
i
,
j
,
t
∗
(
X
b
e
s
t
,
j
,
t
−
∣
X
i
,
j
,
t
∣
)
−
r
w
o
r
s
t
,
i
,
j
(
X
w
o
r
s
t
,
i
,
j
,
t
−
∣
X
i
,
j
,
t
∣
)
(1)
X_{i,j,t}' = X_{i,j,t}+r_{best,i,j,t}*(X_{best,j,t} - |X_{i,j,t}|) - r_{worst,i,j}(X_{worst,i,j,t} - |X_{i,j,t}|) \tag{1}
Xi,j,t′=Xi,j,t+rbest,i,j,t∗(Xbest,j,t−∣Xi,j,t∣)−rworst,i,j(Xworst,i,j,t−∣Xi,j,t∣)(1)
式(1)中,
i
i
i代表种群中第
i
i
i个个体,
i
=
1
,
.
.
.
,
n
i=1,...,n
i=1,...,n,
j
j
j代表个体的第j维变量,
j
=
1
,
2
,
.
.
.
,
d
i
m
j=1,2,...,dim
j=1,2,...,dim,
t
t
t表示当前迭代的次数。
X
,
X
′
X,X'
X,X′表示第t代的第
i
i
i个个体在第
j
j
j维上更新前和经过Jaya公式迭代计算后的值。
r
b
e
s
t
,
r
w
o
r
s
t
r_{best},r_{worst}
rbest,rworst是[0,1]之间的随机数,通过调整这两个参数大小,调整逼近最优解的能力。
X
b
e
s
t
,
j
,
t
,
X
w
o
r
s
t
,
j
,
t
X_{best,j,t},X_{worst,j,t}
Xbest,j,t,Xworst,j,t分别表示第
t
t
t代的最优差个体在第
j
j
j维上的值。
r
b
e
s
t
,
i
,
j
,
t
∗
(
X
b
e
s
t
,
j
,
t
−
∣
X
i
,
j
,
t
∣
)
r_{best,i,j,t}*(X_{best,j,t} - |X_{i,j,t}|)
rbest,i,j,t∗(Xbest,j,t−∣Xi,j,t∣)将当前个体朝当代最优解的方向进化,
−
r
w
o
r
s
t
,
i
,
j
(
X
w
o
r
s
t
,
i
,
j
,
t
−
∣
X
i
,
j
,
t
∣
)
- r_{worst,i,j}(X_{worst,i,j,t} - |X_{i,j,t}|)
−rworst,i,j(Xworst,i,j,t−∣Xi,j,t∣)将当前个体朝远离当代最差解方向进行进化。如果生成的新个体的适应度比原始个体优秀,则用新个体代替原始个体,否则不替换,然后对下一个个体进行 Jaya 迭代。当遍历完所有个体之后,进行下一轮迭代。
Jaya优化算法流程图如下:
2.实验结果
3.参考文献
[1]李洪辉,伍宏科.基于JAYA算法的高层建筑粘滞阻尼器优化布置[J].四川建筑,2020,40(06):153-154+159.
[1]连裕翔,张超勇,孟磊磊,薛燕社,詹欣隆,吕畅.基于改进Jaya算法的柔性作业车间调度问题[J/OL].计算机集成制造系统:1-19[2021-04-10].http://kns.cnki.net/kcms/detail/11.5946.tp.20201009.0942.004.html.
4.Matlab代码
5.Python代码
个人资料介绍