智能优化算法:冠状病毒群体免疫优化算法
文章目录
- 智能优化算法:冠状病毒群体免疫优化算法
-
- 1.算法原理
- 2.算法结果
- 3.参考文献
- 4.Matlab
摘要:冠状病毒群体免疫优化算法是于2020年提出的一种新型智能优化算法。
1.算法原理 冠状病毒群免疫优化算法(CHIO)灵感来源于应对冠状病毒大流行(2019冠状病毒疾病)的群体免疫概念。传播冠状病毒的速度取决于感染者如何与其他社会成员直接接触。为了保护社会其他成员免受这种疾病的侵害,健康专家建议社会疏远。群体免疫是当大多数群体具有免疫力时,群体达到的一种状态,这种状态可以防止疾病的传播。这些概念是根据优化概念建模的。既模仿群体免疫策略,又模仿社会距离概念。利用三种类型的个体病例进行群体免疫: 易感者、感染者和免疫者。
提出的优化算法对群体免疫策略进行了建模。
第一步初始化 CHIO和最佳化问题的参数在这一步中,最佳化问题是在目标函数的背景下建立的:
m i n f ( x ) , x ∈ [ l b , u b ] (1) minf(x),x\in[lb,ub]\tag{1} minf(x),x∈[lb,ub](1)
其中: l b lb lb和 u b ub ub?分别为搜索的上下限。
第二步:首先产生群体免疫群体 H I P HIP HIP,然后随机(或启发式)产生一组病例(个体)H I S HIS HIS。生成的病例以二维矩阵 n × H I S n×HIS n×HIS?形式存储,如下所示:
H I P = [ x 1 1 , x 2 1 , . . . , x n 1 x 1 2 , x 2 2 , . . . , x n 2 . . . , . . . , . . . , . . . x 1 H I S , x 2 H I S , . . . , x n H I S ] (2) HIP=\left[\begin{matrix}x_1^1,x_2^1,...,x_n^1\\ x_1^2,x_2^2,...,x_n^2\\ ...,...,...,...\\ x_1^{HIS},x_2^{HIS},...,x_n^{HIS} \end{matrix}\right]\tag{2} HIP=?????x11?,x21?,...,xn1?x12?,x22?,...,xn2?...,...,...,...x1HIS?,x2HIS?,...,xnHIS???????(2)
其中: x i j = l b i + ( u b i ? l b i ) ? r a n d , i = 1 , 2 , . . , n x_i^j=lb_i+(ub_i-lb_i)*rand,i=1,2,..,n xij?=lbi?+(ubi??lbi?)?rand,i=1,2,..,n, H I S HIS HIS为人口数量, n n n为问题的维数。利用方程(1)计算每种情况的目标函数(或免疫率)。
第三步:冠状病毒群体免疫进化这是主要的改进循环。 x i j x_i^j xij?病例的基因 x j x^j xj??要么保持不变,要么受到社会距离的影响,其影响根据基本繁殖率 B R r BRr BRr。
x i j ( t + 1 ) = { x i j ( t ) , r ≥ B R r C ( x i j ( t ) ) , r < 1 / 3 B R r N ( x i j ( t ) ) , r < 2 / 3 B R r R ( x i j ( t ) ) , r < B R r (3) x_i^j(t+1)=\begin{cases} x_i^j(t),r\geq BRr\\ C(x_i^j(t)),r<1/3BRr\\ N(x_i^j(t)),r<2/3BRr\\ R(x_i^j(t)),r
C ( x i j ( t ) ) = x i j ( t ) + r ? ( x I j ( t ) ? x i c ( t ) ) (4) C(x_i^j(t))=x_i^j(t)+r*(x_I^j(t)-x_i^c(t))\tag{4} C(xij?(t))=xij?(t)+r?(xIj?(t)?xic?(t))(4)
其中: x i c ( t ) x_i^c(t) xic?(t)为根据从感染病例随机选择的状态向量 c = { i ∣ S i = 1 } c=\{i|S_i=1\} c={i∣Si?=1}。
N ( x i j ( t ) ) = x i j ( t ) + r ( x i j ( t ) ? x i m ( t ) ) (5) N(x_i^j(t))=x_i^j(t)+r(x_i^j(t)-x_i^m(t))\tag{5} N(xij?(t))=xij?(t)+r(xij?(t)?xim?(t))(5)
其中: x i m ( t ) x_i^m(t) xim?(t)为根据从感染病例随机选择的状态向量 m = { i ∣ S i = 0 } m=\{i|S_i=0\} m={i∣Si?=0}
R ( x i j ( t ) ) = x i j ( t ) + r ( x i j ( t ) ? x i V ( t ) ) (6) R(x_i^j(t))=x_i^j(t)+r(x_i^j(t)-x_i^V(t))\tag{6} R(xij?(t))=xij?(t)+r(xij?(t)?xiV?(t))(6)
其中: x i V x_i^V xiV???为最好的免疫病例。
第四步:更新群体免疫群体,由 x j ( t + 1 ) x^j(t+1) xj(t+1)生成的每个免疫率生成的 f ( x j ( t + 1 ) ) f(x^j(t+1)) f(xj(t+1)),若 f ( x j ( t + 1 ) ) < f ( x j ( t ) ) f(x^j(t+1))
其中: i s _ C o r o n a ( x j ( t + 1 ) ) is\_Corona(x^j(t+1)) is_Corona(xj(t+1))是当新的 x j ( t + 1 ) x^j(t+1) xj(t+1)继承了任何感染病例的值时,它是二进制值1, Δ f ( x ) \Delta f(x) Δf(x)??为种群免疫率的平均值。注意,如果新产生的个人免疫率高于人口的平均免疫率,则人口中的个人免疫率将根据以前计算的社会距离改变。这意味着我们的人口免疫力开始提高。如果新产生的种群足够强壮,可以对流行病免疫,那么我们就达到了群体免疫阈值。
第五步:死亡病例
若免疫率 f ( x j ( t + 1 ) ) f(x^j(t+1)) f(xj(t+1)),在当前 S j = 1 S_j=1 Sj?=1的迭代次数 M a x a g e Max_{age} Maxage?被感染的情况不能改善下,那么这个病例就会死亡。在那之后,它被重新生成由式 x i j = l b i + ( u b i ? l b i ) ? r a n d x_i^j=lb_i+(ub_i-lb_i)*rand xij?=lbi?+(ubi??lbi?)?rand?。进一步设置 S j = A j = 0 S_j=A_j=0 Sj?=Aj?=0?.这可能有助于使目前的人口多样化,从而避免局部最优。
第六步:停止准则 CHIO重复步骤3到步骤6直到终止准则,这通常取决于是否达到最大迭代次数。在这种情况下,易感和免疫的病例总数占主导地位。感染的病例也消失了。
算法流程:
具体可见算法原理步骤1至6。伪代码见下图:
文章图片
2.算法结果
文章图片
3.参考文献 【智能优化算法|智能优化算法(冠状病毒群体免疫优化算法 -附代码)】[1] Al Betar Mohammed Azmi,Alyasseri Zaid Abdi Alkareem,Awadallah Mohammed A,Abu Doush Iyad. Coronavirus herd immunity optimizer (CHIO).[J]. Neural computing & applications,2020,33(prepublish):
4.Matlab
推荐阅读
- 智能优化算法|智能优化算法1-冠状病毒群免疫优化算法(CHIO)
- 人工智能|简述神经网络的发展历史,神经网络的起源和发展
- 数学建模|数学建模(线性回归模型)
- pytorch|pytorch快速入门(五)——pytorch 生成对抗网络
- 机器学习|神经网络(七)优化与正则化
- 机器学习|神经网络(六)循环神经网络
- 机器学习|无监督学习分类
- 机器学习|神经网络(八)注意力机制与外部记忆
- 深度学习|【Yolov5在‘Segmentation-Based-Surface-Defect-Detection’上的验证】