鼠群优化算法(Rat Swarm Optimizer, RSO)是一种可以解决全局优化问题的新型仿生优化算法,它的灵感主要来自于自然界种鼠群追逐猎物和与猎物搏斗的行为。然而,它具有收敛速度过慢和收敛精度不高的缺陷,为解决这一问题,本文提出了一种改进的鼠群优化算法——基于反向学习的DE-RSO混合优化算法(Opposition-Based Learning DE-RSO Hybrid Optimizer, OBLDE-RSO)。该算法使用了DE-RSO混合策略和反向学习策略,DE-RSO混合策略可以保持种群多样性并降低算法陷入局部最优的可能性,反向学习策略可以针对性地扩大个体的搜索范围,使个体以更高概率找到潜在的更加理想的求解区域。本文用29个IEEE CEC2017基准测试函数对OBLDE-RSO进行测试,并与其他经典算法的测试结果进行对比,实验结果表明,该算法在收敛精度和收敛速度方面都具有良好的性能。 Rat Swarm Optimizer Algorithm (RSO) is a novel bio-inspired optimization algorithm that can solve global optimization problems. It is inspired by the behavior of wild rats chasing and fighting prey. However, it has the shortcomings of slow convergence speed and low convergence accuracy. To solve this problem, this paper proposes an improved rat swarm optimization algorithm—Opposition-Based Learning DE-RSO Hybrid Optimizer (OBLDE-RSO). The algorithm uses the DE-RSO hybrid strategy and the Opposition-Based Learning strategy. The DE-RSO hybrid strategy can maintain the diversity of the population and reduce the possibility of the algorithm falling into the local optimum. The Opposition-Based Learning strategy can expand the search range of the individual in a targeted manner and make the individual find a potentially more ideal solution area with a higher probability. In this paper, 29 IEEE CEC2017 benchmark functions are used to test OBLDE-RSO and compared with the test results of other classic algorithms. The experimental results show that the algorithm has good performance in terms of convergence accuracy and convergence speed.
鼠群优化算法(Rat Swarm Optimizer, RSO)是一种可以解决全局优化问题的新型仿生优化算法,它的灵感主要来自于自然界种鼠群追逐猎物和与猎物搏斗的行为。然而,它具有收敛速度过慢和收敛精度不高的缺陷,为解决这一问题,本文提出了一种改进的鼠群优化算法——基于反向学习的DE-RSO混合优化算法(Opposition-Based Learning DE-RSO Hybrid Optimizer, OBLDE-RSO)。该算法使用了DE-RSO混合策略和反向学习策略,DE-RSO混合策略可以保持种群多样性并降低算法陷入局部最优的可能性,反向学习策略可以针对性地扩大个体的搜索范围,使个体以更高概率找到潜在的更加理想的求解区域。本文用29个IEEE CEC2017基准测试函数对OBLDE-RSO进行测试,并与其他经典算法的测试结果进行对比,实验结果表明,该算法在收敛精度和收敛速度方面都具有良好的性能。
鼠群优化算法,混合优化,反向学习
Ziyue Xu, Xiaodan Liang
School of Computer Science and Technology, Tiangong University, Tianjin
Received: Nov. 6th, 2021; accepted: Dec. 6th, 2021; published: Dec. 13th, 2021
Rat Swarm Optimizer Algorithm (RSO) is a novel bio-inspired optimization algorithm that can solve global optimization problems. It is inspired by the behavior of wild rats chasing and fighting prey. However, it has the shortcomings of slow convergence speed and low convergence accuracy. To solve this problem, this paper proposes an improved rat swarm optimization algorithm—Opposition-Based Learning DE-RSO Hybrid Optimizer (OBLDE-RSO). The algorithm uses the DE-RSO hybrid strategy and the Opposition-Based Learning strategy. The DE-RSO hybrid strategy can maintain the diversity of the population and reduce the possibility of the algorithm falling into the local optimum. The Opposition-Based Learning strategy can expand the search range of the individual in a targeted manner and make the individual find a potentially more ideal solution area with a higher probability. In this paper, 29 IEEE CEC2017 benchmark functions are used to test OBLDE-RSO and compared with the test results of other classic algorithms. The experimental results show that the algorithm has good performance in terms of convergence accuracy and convergence speed.
Keywords:Rat Swarm Optimizer Algorithm, Hybrid Optimization, Opposition-Based Learning
Copyright © 2021 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
元启发算法在解决实际优化问题中得到了广泛的应用,它们具有多功能性、有效性和鲁棒性等诸多优良的特点。它们不仅可以用于处理具有连续和可微目标函数和约束的优化问题,还可以用于处理具有连续和离散变量的优化问题 [
现在,有许多元启发算法被提出并应用。算法可以被分为四类:基于进化的、基于物理的、基于群智能的和基于人类行为的。基于进化的算法有:遗传算法(GA) [
鼠群优化算法(Rat Swarm Optimizer, RSO) [
然而,由于模拟鼠群追逐猎物的过程过于随机且不够精确,因此,RSO具有速度过慢和容易陷入局部最优等缺点。
为了改善RSO的性能,本文提出了一种基于反向学习的DE-RSO混合优化算法(Opposition-Based Learning DE-RSO Hybrid Optimizer, OBLDE-RSO),该算法首先使用一种DE-RSO混合策略,将差分进化算法的变异机制应用到RSO中,以增加种群的多样性,然后用反向学习策略(Opposition-Based Learning, OBL) [
本文的组织结构安排如下,引言后,第2节简单介绍了RSO算法,第3节阐述了OBLDE-RSO算法的详细信息,第4节对算法进行了测试并分析了实验结果,第5节对全文做了总结。
鼠群优化算法(RSO)是一种新型的群智能算法,它模拟了鼠群追逐猎物和与猎物搏斗的过程。
老鼠是一种社会性很强的动物,它们是通过社会群体行为来追逐猎物的。为了从数学上定义这种行为,将种群中最优个体的位置设定为猎物的位置,其他个体通过当前最优个体更新它们的位置。这个过程被定义为公式(1):
P → = A ⋅ P → i ( x ) + | C ⋅ ( P → r ( x ) − P → i ( x ) ) | (1)
其中, P → i 是鼠群中个体的位置, P → r 是当前最优个体的位置,参数A和C分别通过公式(2)和公式(3)计算:
A = R − t ⋅ ( R M a x I t e r a t i o n ) (2)
其中, t = 0 , 1 , 2 , ⋯ , M a x I t e r a t i o n ,t是当前迭代次数,MaxIteration是最大迭代次数。
C = 2 ⋅ r a n d ( ) (3)
参数R随机分布在区间[1, 5],参数C随机分布在区间[0, 2]。通过调整参数A和C的取值,以在平衡算法局部搜索和全局搜索之间取得折衷。
鼠群与猎物搏斗的过程可以被定义为公式(4):
P → i ( x + 1 ) = P → i ( x ) − P → (4)
其中, P → i ( x + 1 ) 是更新后的下一代个体的位置。该公式保存了全局最优个体的位置并且基于最优位置引导其他个体逐渐向最优位置靠近。表1给出了鼠群优化算法的伪代码。
输入: 鼠群 P i ( i = 1 , 2 , ⋯ , N ) 输出: 全局最优位置 1. 初始化RSO的参数A,C和R 2. 计算每一个个体的适应度值 3. Pr¬全局最佳位置 4. While 当前迭代次数t <设定的最大迭代次数Maxiterationdo 5. For 每一个个体 do 6. 通过公式(4)更新当前个体的位置 7. End for 8. 更新参数A,C和R。 9. 如果有个体超出了搜索空间,对其进行修正 10. 评估每一个个体的适应度值 11. 如果当前个体适应度值优于历史全局适应度值Pr,则将当前位置 更新为全局最佳位置 12. t¬t + 1 13. End while 14. Return 全局最优个体Pr的位置 15. End |
---|
表1. RSO的伪代码
本节将DE-RSO混合策略和反向学习策略应用于RSO,提出一种基于反向学习的DE-RSO混合优化算法(OBLDE-RSO)。
为了维持种群的多样性,将DE中的变异机制引入到RSO中,对种群中的个体进行振荡,同时在算法中引入一个参数B以提高算法的收敛速度。我们使用一个比例参数pcr来随机选择采用何种更新方式,所以鼠群搏斗的过程可以描述为公式(5):
P → i ( x + 1 ) = { P → r ( x ) + F ⋅ ( P → r 1 ( x ) − P → r 2 ( x ) ) , p c r ≤ 0.9 且 j = j r a n d P → r ( x ) − B ⋅ P → , 其 他 (5)
其中,F为缩放参数,随机分布在区间[0.2, 0.8]中,r1和r2是两个互不相等的随机整数,即 P → r 1 ( x ) 和 P → r 2 ( x ) 是种群中随机选择的两个不同的个体,j是种群中个体的维度,jrand是集合 { 1 , 2 , ⋯ , D } 中的一个随机数。如公式(5),pcr是一个比例参数,算法设置当 p c r ≤ 0. 9 且j = jrand时,算法将选择利用DE中的变异机制来对个体进行振荡,减小种群中个体落入局部最优的几率,使算法尽可能找到精确的全局最优解。否则,在公式(4)中引入一个衰减参数B,如公式(5),B会随着迭代过程不断变化,变化过程可由公式(6)和公式(7)描述:
B = 2 ∗ b ∗ r a n d ( ) − b (6)
b = 2 ∗ log 2 ( 2 − t M a x i t e r a t i o n ) (7)
其中,t是当前迭代次数,Maxiteration是最大迭代次数,由公式(7)可知,b会随着迭代次数的增加而由慢变快地变小,因此由公式(6)可知,B的变化过程与b是类似的,即B也是由慢变快的逐渐减小的。所以,由公式(5)可知,当 p c r ≥ 0. 9 时,在算法搜索前期,个体的搜索范围波动较大,有更大的几率找到最优值,随着B的又慢变快地减小,在搜索的中后期,个体的搜索范围会缩小到现有的最优值附近,这样可以加速种群收敛于这个最优值。
学习和搜索是优化算法的基本任务,大多数情况下,学习是从一个随机点开始的,也就是说,从一开始沿着现有最优点的方向移动。例如,PSO的权值的随机初始化,GA中参数的随机配置等都是基于随机性。当我们想要求得一个实际问题的最优点x时,通常会先找一个估计点 x ^ 。这个估计值并不精确,它可以是基于经验或者完全随机的猜测。在某些情况下,估计值 x ^ 是令人满意的,但是一般情况下需要进一步缩小估计值 x ^ 和最优值x的距离。从这个意义上讲,如果将一些优化问题转化为近似函数,那么必须求出其计算复杂度,但是在一般的情况下,计算的时间往往不符合实际问题的需求。
如果估计值距离最优点很近,可以加速算法收敛。反之,如果离最优点很远,并且假设在最坏情况之下,即在最优点的相反的方向,那么搜索过程将会消耗很大的成本。当然,在没有任何先验知识的情况下,很难做出理想的初始猜测。因此,我们应该同时做出多个方向猜测,具体地,应该更加关注相反的方向。如果,我们想要搜索最优点x,搜索相反的方向可以提高靠近最优点的几率,那么,算法搜索的第一步将是计算相反的点 x ¯ [
设x在区间[a, b]内,那么x的相反值 x ¯ 可以定义为以下形式:
x ¯ = a + b − x (8)
这样的定义也可以应用于更加高维的情况,假设 P = { x 1 , x 2 , ⋯ , x D } 是D维搜索空间中的一个点,而 x i ( 1 ≤ i ≤ D ) 在ai与bi的范围内,相反点 P ¯ = { x ¯ 1 , x ¯ 2 , ⋯ , x ¯ D } 可以通过以下公式(9)得出:
x ¯ i = a i + b i − x i (9)
由公式(8)和公式(9)可以看出,随机的猜测点和猜测它的相反值可以同时以更高的概率来找到潜在的更加理想的求解区域,其中最优解就很有可能位于其中。
在得到一个个体的相反个体后,同时计算该个体与其相反个体的适应度值,比较两者的适应度值,若其相反个体的适应度值优于原个体的适应度值,原个体将被相反个体所替代,这样个体将会用更高的概率靠近最优个体,计算效率和计算精确度会得到明显提高。表2给出了OBLDE-RSO的伪代码。
输入: 鼠群 P i ( i = 1 , 2 , ⋯ , N ) 输出: 全局最优位置 1. 初始化RSO的参数A,C,R,F,B和pcr 2. 计算每一个个体的适应度值 3. Pr¬全局最佳位置 4.While 当前迭代次数t <设定的最大迭代次数Maxiterationdo 5. For 每一个个体 do 6. 通过公式(5)更新当前个体的位置 7. End for 8. 更新参数A,C,R,F和B 9. 如果有个体超出了搜索空间,对其进行修正 10. 评估每一个个体的适应度值 11. 用公式(9)计算出每个个体的相反个体并计算其适应度值 12. 若相反个体的适应度值优于原个体,则用相反个体代替原个体 13. 如果当前个体适应度值优于历史全局适应度值Pr,则将当前位置更新为全局 最佳位置 14. t¬t + 1 15. End while 16. Return 全局最优个体Pr的位置 17. End |
---|
表2. OBLDE-RSO的伪代码
本文引入了IEEE CEC2017基准测试函数集,利用该测试函数集测试OBLDE-RSO算法。IEEE CEC2017基准测试函数集由29个函数组成,包括2个单峰函数(g1, g3),7个简单多峰函数(g4-g10),10个混合函数(g11-g20)和10个组合函数(g21-g30)。测试函数集的具体细节可参照文献 [
在本实验中,为了进行公平的比较,操作环境保持不变,如下:
1) 每个函数独立运行30次。
2) 种群规模为150,个体维度为30。
3) 函数的评估总次数为45,000次。
4) 搜索范围为[−100, 100]。
这些实验都是在一台具有I7处理器、windows 10操作系统和8 GB内存的计算机上执行的,所有算法都是在Matlab2018b中进行编码的。
为了证明OBLDE-RSO性能的优越性,我们将基于反向学习的DE-RSO混合优化算法OBLDE-RSO同鼠群算法RSO、差分进化算法DE、狮群算法LSO和遗传算法GA进行比较。表3列出了这些算法的参数。
算法 | 参数 |
---|---|
OBLDE-RSO | R ∈ [ 1 , 3 ] , C ∈ [ 0 , 2 ] , F ∈ [ 0. 2 , 0. 8 ] , p c r = 0.9 |
RSO | R ∈ ( 1 , 5 ) , C ∈ ( 0 , 2 ) |
DE | F = 0. 7 , C R = 0. 5 |
LSO | β = 0. 7 |
GA | P c = 0. 9 , P m = 0. 1 |
表3. OBLDE-RSO,RSO,DE,LSO和GA的参数
表4是OBLDE-RSO,RSO,DE,LSO和GA的对比结果,结果包括各算法在测试函数集中独立运行30次的平均值(Mean)和标准差(Std)。
由表4可知,在大部分情况下OBLDE-RSO的性能优于RSO、DE、LSO、GA。具体来说,在29个测试函数中,OBLDE-RSO在其中的27个对RSO、DE、LSO、GA表现出了更加出色的性能。OBLDE-RSO在单峰函数、简单多峰函数和混合函数上,在求解的精确度上比其他比较算法具有绝对的优势。在组合函数上,OBLDE-RSO也具有十分优异的性能。这说明DE-RSO混合策略和反向学习策略的使用也可以提高RSO的性能。
另外,在四类测试函数中各挑取一个代表函数(g1, g6, g16, g24)绘制收敛图和盒型图,以进一步分析实验结果。图1和图2分别是算法在四个函数中的测试后的收敛图和盒型图。
图1中可以直观地展示出OBLDE-RSO,RSO,LSO,DE和GA的收敛性能。OBLDE-RSO的收敛趋势线比其他比较算法的收敛速度更快,同时,OBLDE-RSO的收敛精度也高于其他比较算法,这进一步证实了使用两种策略可以提高算法的收敛速度和收敛精度。
在图2中,盒型图展示出4次实验得到的实验结果。由图可以看出,在绝大多数情况下,OBLDE-RSO的结果优于其他比较算法,说明OBLDE-RSO具有更加优越和稳定的数据结构。
OBLDE-RSO | RSO | LSO | DE | GA | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Mean | Std | Mean | Std | Mean | Std | Mean | Std | Mean | Std | |
g1 | 5.546E+09 | 2.377E+09 | 3.366E+10 | 3.741E+09 | 3.637E+10 | 4.945E+09 | 1.050E+11 | 1.738E+10 | 4.697E+10 | 8.859E+09 |
g3 | 4.890E+04 | 6.714E+03 | 6.490E+04 | 8.499E+03 | 8.781E+04 | 1.336E+04 | 3.382E+05 | 8.377E+04 | 1.532E+05 | 1.883E+04 |
g4 | 9.056E+02 | 1.689E+02 | 1.029E+04 | 2.105E+03 | 7.931E+03 | 2.140E+03 | 3.524E+04 | 6.949E+03 | 8.876E+03 | 2.159E+03 |
g5 | 7.438E+02 | 3.861E+01 | 8.821E+02 | 2.164E+01 | 8.185E+02 | 1.736E+01 | 1.125E+03 | 4.377E+01 | 9.034E+02 | 2.574E+01 |
g6 | 6.543E+02 | 1.156E+01 | 6.852E+02 | 5.942E+00 | 6.702E+02 | 4.338E+00 | 7.271E+02 | 8.859E+00 | 6.767E+02 | 7.148E+00 |
g7 | 1.093E+03 | 8.892E+01 | 1.275E+03 | 5.222E+01 | 1.213E+03 | 5.592E+01 | 3.176E+03 | 2.350E+02 | 2.022E+03 | 1.542E+02 |
g8 | 1.005E+03 | 2.934E+01 | 1.069E+03 | 3.158E+01 | 1.065E+03 | 1.626E+01 | 1.372E+03 | 3.513E+01 | 1.158E+03 | 2.815E+01 |
g9 | 5.956E+03 | 1.335E+03 | 9.020E+03 | 1.666E+03 | 6.111E+03 | 7.949E+02 | 3.278E+04 | 4.676E+03 | 1.328E+04 | 1.658E+03 |
g10 | 6.598E+03 | 5.480E+02 | 8.139E+03 | 7.180E+02 | 8.231E+03 | 5.671E+02 | 9.161E+03 | 3.946E+02 | 8.616E+03 | 2.354E+02 |
g11 | 1.858E+03 | 4.538E+02 | 4.832E+03 | 1.107E+03 | 6.748E+03 | 2.217E+03 | 2.987E+04 | 9.911E+03 | 1.104E+04 | 2.925E+03 |
g12 | 2.989E+08 | 2.418E+08 | 1.150E+10 | 1.826E+09 | 4.785E+09 | 1.672E+09 | 2.057E+10 | 4.167E+09 | 5.510E+09 | 1.069E+09 |
g13 | 2.764E+07 | 4.822E+07 | 8.703E+09 | 2.695E+09 | 2.129E+09 | 9.345E+08 | 1.666E+10 | 6.124E+09 | 2.609E+09 | 1.068E+09 |
g14 | 4.522E+05 | 7.855E+05 | 1.794E+06 | 1.289E+06 | 9.252E+05 | 5.676E+05 | 1.845E+07 | 1.140E+07 | 2.168E+06 | 1.259E+06 |
g15 | 7.855E+05 | 3.335E+06 | 5.400E+07 | 1.960E+08 | 4.068E+07 | 3.732E+07 | 3.562E+09 | 1.460E+09 | 3.377E+08 | 1.804E+08 |
g16 | 3.283E+03 | 3.711E+02 | 4.084E+03 | 3.353E+02 | 4.196E+03 | 5.663E+02 | 6.798E+03 | 5.379E+02 | 4.224E+03 | 2.930E+02 |
g17 | 2.469E+03 | 2.237E+02 | 2.953E+03 | 2.447E+02 | 2.772E+03 | 2.832E+02 | 6.547E+03 | 2.632E+03 | 3.001E+03 | 2.063E+02 |
g18 | 2.262E+06 | 2.139E+06 | 5.917E+06 | 7.186E+06 | 7.958E+06 | 8.369E+06 | 1.758E+08 | 8.744E+07 | 1.758E+07 | 1.081E+07 |
g19 | 5.870E+06 | 1.096E+07 | 3.922E+08 | 2.143E+08 | 1.169E+08 | 1.361E+08 | 4.769E+09 | 2.094E+09 | 5.623E+08 | 2.223E+08 |
g20 | 2.608E+03 | 1.216E+02 | 2.805E+03 | 1.465E+02 | 2.658E+03 | 1.300E+02 | 3.443E+03 | 1.994E+02 | 2.981E+03 | 1.478E+02 |
g21 | 2.513E+03 | 7.882E+01 | 2.689E+03 | 3.460E+01 | 2.626E+03 | 3.195E+01 | 2.877E+03 | 4.086E+01 | 2.662E+03 | 2.859E+01 |
g22 | 5.250E+03 | 2.377E+03 | 8.488E+03 | 1.317E+03 | 7.907E+03 | 9.811E+02 | 1.082E+04 | 3.508E+02 | 8.568E+03 | 1.042E+03 |
g23 | 2.876E+03 | 3.795E+01 | 3.206E+03 | 6.311E+01 | 3.212E+03 | 6.475E+01 | 3.526E+03 | 5.380E+01 | 3.189E+03 | 4.791E+01 |
g24 | 3.062E+03 | 6.969E+01 | 3.436E+03 | 7.115E+01 | 3.361E+03 | 1.045E+02 | 3.578E+03 | 8.694E+01 | 3.363E+03 | 6.121E+01 |
g25 | 3.164E+03 | 9.531E+01 | 4.542E+03 | 2.238E+02 | 4.426E+03 | 4.430E+02 | 1.513E+04 | 2.192E+03 | 6.195E+03 | 6.054E+02 |
g26 | 6.087E+03 | 6.267E+02 | 8.853E+03 | 5.860E+02 | 9.294E+03 | 4.240E+02 | 1.354E+04 | 1.056E+03 | 9.339E+03 | 5.185E+02 |
g27 | 3.336E+03 | 5.778E+01 | 3.887E+03 | 2.361E+02 | 3.200E+03 | 8.284E-05 | 3.959E+03 | 2.058E+02 | 3.710E+03 | 1.106E+02 |
g28 | 3.793E+03 | 6.097E+02 | 5.892E+03 | 4.008E+02 | 3.300E+03 | 3.037E-03 | 1.090E+04 | 1.302E+03 | 6.088E+03 | 5.519E+02 |
g29 | 4.717E+03 | 4.120E+02 | 5.119E+03 | 4.572E+02 | 5.791E+03 | 3.198E+02 | 8.318E+03 | 2.699E+03 | 5.651E+03 | 2.997E+02 |
g30 | 2.463E+07 | 1.648E+07 | 6.115E+08 | 3.702E+08 | 2.707E+08 | 1.541E+08 | 2.431E+09 | 1.063E+09 | 3.529E+08 | 1.678E+08 |
表4. OBLDE-RSO,RSO,DE,LSO和GA的对比结果
图1. 各算法的收敛曲线对比图
图2. 算法的盒图对比结果
本文提出了一种改进的鼠群优化算法——基于反向学习的DE-RSO混合优化算法,算法使用了DE-RSO混合策略和反向学习策略以提高算法的性能。DE-RSO混合策略使用变异机制以保持种群多样性并降低算法陷入局部最优的可能性,可以有效改善RSO过早收敛的缺点。OBL策略可以针对性地扩大个体的搜索范围,使个体以更高概率找到潜在的更加理想的求解区域。同时添加一个参数B以控制算法在搜索前期和后期的不同搜索任务。通过对比OBLDE-RSO和其它比较算法在IEEE CEC2017测试函数集上的实验数据和图像,证明了使用了两种策略后,算法的局部搜索能力和全局搜索能力都得到了很大的提升。
国家自然基金面上项目——基于多智能算法融合模型的多级并行叠前分频波形反演研究,41772123。
徐子岳,梁晓丹. 基于反向学习的DE-RSO混合优化算法Opposition-Based Learning DE-RSO Hybrid Optimizer[J]. 计算机科学与应用, 2021, 11(12): 2890-2899. https://doi.org/10.12677/CSA.2021.1112293
https://doi.org/10.1016/j.swevo.2021.100865
https://doi.org/10.1038/scientificamerican0792-66
https://doi.org/10.1016/S0045-7825(97)00215-6
https://doi.org/10.1016/j.ins.2009.03.004
https://doi.org/10.1016/j.eswa.2011.04.126
https://doi.org/10.1007/978-3-319-46173-1_8
https://doi.org/10.1109/ICNN.1995.488968
https://doi.org/10.1016/j.advengsoft.2013.12.007
https://doi.org/10.1007/s13369-021-05928-6
https://doi.org/10.1007/978-3-642-21515-5_36
https://doi.org/10.1007/s12652-020-02580-0
https://doi.org/10.1142/S0219467822400010
https://doi.org/10.1109/CIMCA.2005.1631345
https://doi.org/10.1016/j.knosys.2021.107483b