一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现

目录

1 算法简介

 1.1. 群体免疫

1.2. 人群划分

1.3.  社交距离

2 实现步骤

3 算法效果

3.1. 基准测试函数效果

3.2. 与其他算法比较优化效果

4 小结



 

一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现_第1张图片

1 算法简介


冠状病毒群体免疫优化算法(CHIO)是2020年Mohammed Azmi Al-Betar等提出的一种新型的群体智能优化算法,算法灵感来源于世界传播的灾难性的新冠病毒(COVID-19),模仿了群体免疫策略和社会距离概念。三种类型的个体病例用于群体免疫:易感、感染和免疫。

 1.1. 群体免疫

假设人群中有足够多的人对感染有免疫力,能够有效地阻止疾病传播的情况。对于群体免疫而言,免疫是来自疫苗接种,还是来自疾病患者,这并不影响。关键的是他们可以免疫。随着越来越多的人感染了由该病毒引起的covid-19,将会有更多的人康复,然后对未来的感染免疫。

群体免疫受到基本繁殖率的影响,这代表了有多少人可能从传播病例中感染。这可以表明这种疾病在人口中传播的速度。一般来说,当免疫病例的数量达到人口的很大比例(即大于60%)时,人口将免于有更多的感染病例,这种百分比称为群体免疫阈值。

1.2. 人群划分


  

群体免疫中个体可分为三种类型:易感、感染和免疫(分为未恢复和恢复)个体,如图所示。

易感个体:这些人没有被病毒感染,但当他们接触其他受感染的个体时(即不遵循推荐的社交距离),它就可以被感染。

一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现_第2张图片

感染个体:这种类型的个体有一个确诊的病例,他们可以将病毒传播给根据社交距离因素直接接触的其他易感个体。

免疫的个体:被归类为被免疫的个体不受病毒的保护,他们不受感染者的影响。这种类型可以帮助人口停止大流行的传播,如图所示。

一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现_第3张图片

1.3.  社交距离

社交距离的概念被用于病毒大流行的情况下,作为减少感染传播的策略。社交距离的影响如图所示。 疾病的传播将下降,最终导致大流行的爆发。该病毒的传播链将被打破,并将导致减缓疾病的传播,并以少数感染病例达到大流行高峰。因此,该国的卫生保健系统将能够继续为少数感染病例提供服务。

一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现_第4张图片

2 实现步骤

CHIO算法有以下六个主要步骤:

步骤1:初始化CHIO的参数和优化问题。

\min _{x} f(\boldsymbol{x}) \quad \boldsymbol{x} \in[\boldsymbol{l b}, \boldsymbol{u b}]

CHIO有四个算法参数和两个控制参数。这四个算法参数分别为:

C0:表示由一个人发起的初始感染病例的数量。

MaxItr:最大的迭代次数。

HIS:人口规模。

n:问题的维数。

CHIO有两个主要的控制参数:

基本繁殖率(BRr):它通过在个体之间传播病毒大流行来控制CHIO操作员。

最大感染病例年龄(MaxAge):它确定了达到MaxAge的病例被恢复或死亡的感染病例的状态。

步骤2:初始化免疫群体。

CHIO随机(或启发式)产生一组与HIS一样多的病例(个体)。生成的病例作为群体免疫群体(HIP),二维矩阵存储如下:

\mathbf{HIP}=\left[\begin{array}{cccc} x_{1}^{1} & x_{2}^{1} & \cdots & x_{n}^{1} \\ x_{1}^{2} & x_{2}^{2} & \cdots & x_{n}^{2} \\ \vdots & \vdots & \cdots & \vdots \\ x_{1}^{H I S} & x_{2}^{H I S} & \cdots & x_{n}^{H I S} \end{array}\right]

步骤3:群体免疫进化。

个体根据病毒的基础繁殖率(BRr=0.05)来选择位置更新方式。

x_{i}^{j}(t+1) \leftarrow\left\{\begin{array}{cc} x_{i}^{j}(t) & r \geq B R_{r} \\ C\left(x_{i}^{j}(t)\right) & r<\frac{1}{3} \times B R_{r} . \quad / / \text { infected case } \\ N\left(x_{i}^{j}(t)\right) & r<\frac{2}{3} \times B R_{r} . \quad / / \text { susceptible case } \\ R\left(x_{i}^{j}(t)\right) & r<B R_{r} . \quad / / \text { immuned case } \end{array}\right.

式中,r生成一个在0到1之间的随机数。

步骤4:更新群体免疫群体的免疫率S。

一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现_第5张图片

 步骤5:死亡率计算。

如果当前感染病例的免疫率不能得到改善,则认为该病例已经死亡,需要重新初始化该病例个体。

步骤6:算法停止准则。

重复步骤3到步骤6,直到终止准则,通常取决于是否达到最大迭代次数的情况。在这种情况下,易感和免疫病例的总数占主导地位。受感染的病例也消失了。

伪代码流程:

一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现_第6张图片

3 算法效果

CHIO使用23个著名的基准测试函数进行评估算法性能,对七种最先进的方法进行了比较评价。

一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现_第7张图片

一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现_第8张图片

一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现_第9张图片


3.1. 基准测试函数效果

3.2. 与其他算法比较优化效果

一种新型智能优化算法:冠状病毒群免疫优化算法(CHIO)附MATLAB代码实现_第10张图片

4 小结

从F1-F23组测试函数的优化效果,以及与其他典型优化算法的性能对比,可知CHIO算法的全局优化能力一般,个人觉得该算法的改进空间较大。可和遗传算法,麻雀搜索算法等智能算法一样,用于神经网络,支持向量机,GRU,LSTM,VMD,系统PID参数辨识等方面,CHIO不失为一个较新的群智能优化算法。

MATLAB代码地址icon-default.png?t=L9C2https://mianbaoduo.com/o/bread/mbd-YZ6Vmptp

你可能感兴趣的:(智能优化算法交流,算法,机器学习)