智能优化算法:冠状病毒群体免疫优化算法
摘要:冠状病毒群体免疫优化算法是于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<BRr \end{cases}\tag{3}
xij?(t+1)=??????????xij?(t),r≥BRrC(xij?(t)),r<1/3BRrN(xij?(t)),r<2/3BRrR(xij?(t)),r<BRr?(3) 其中:
r
r
r为在0和1之间的随机数。
x
i
j
(
t
+
1
)
x_i^j(t+1)
xij?(t+1)为新基因值,
x
i
j
(
t
)
x_i^j(t)
xij?(t)为更新前的基因值。
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))<f(x^j(t))
f(xj(t+1))<f(xj(t)),当前的
x
j
(
t
)
x^j(t)
xj(t)由
x
j
(
t
+
1
)
x^j(t+1)
xj(t+1)代替。年龄矢量
A
j
A_j
Aj?随着状态向量
S
j
=
1
S_j=1
Sj?=1增加。状态向量
S
j
=
1
S_j=1
Sj?=1可见式(7)
S
j
=
{
1
,
f
(
x
j
(
t
+
1
)
)
<
f
(
x
)
j
(
t
+
1
)
Δ
f
(
x
)
∧
S
j
=
0
∧
i
s
_
C
o
r
o
n
a
(
x
j
(
t
+
1
)
)
2
,
f
(
x
j
(
t
+
1
)
)
>
f
(
x
)
j
(
t
+
1
)
Δ
f
(
x
)
∧
S
j
=
1
(7)
S_j=\begin{cases} 1,f(x^j(t+1))<\frac{f(x)^j(t+1)}{\Delta f(x)}\wedge S_j=0\wedge is\_Corona(x^j(t+1))\\ 2,f(x^j(t+1))>\frac{f(x)^j(t+1)}{\Delta f(x)}\wedge S_j=1 \end{cases}\tag{7}
Sj?={1,f(xj(t+1))<Δf(x)f(x)j(t+1)?∧Sj?=0∧is_Corona(xj(t+1))2,f(xj(t+1))>Δf(x)f(x)j(t+1)?∧Sj?=1?(7) 其中:
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
|