智能优化算法:冠状病毒群体免疫优化算法 -附代码

article/2025/9/24 12:36:22

智能优化算法:冠状病毒群体免疫优化算法

文章目录

  • 智能优化算法:冠状病毒群体免疫优化算法
    • 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,...,xn1x12,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+(ubilbi)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),rBRrC(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={iSi=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={iSi=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=0is_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+(ubilbi)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


http://chatgpt.dhexx.cn/article/XGcJScmp.shtml

相关文章

人工免疫算法学习通解

人工免疫算法&#xff08;Artificial Immune System&#xff0c;AIS&#xff09;是一种基于免疫系统的启发式优化算法&#xff0c;其基本思想是模拟生物体内的免疫系统对抗外部威胁的过程&#xff0c;通过生成、选择、进化、记忆和协同等机制来搜索最优解。 AIS 通常包含两个主…

【学习】人工免疫算法

开始项目后&#xff0c;我主要负责研究网络自免疫&#xff0c;对人工免疫系统有了一些初步的了解。 人工免疫特点&#xff1a; 1.识别与分类&#xff1a;可是识别自体和非自体。&#xff08;如阴性选择法建立的检测器&#xff09; 2.多样性&#xff1a;可以对进行基因重组&am…

【智能优化算法】人工免疫算法 (Immune Algorithm, IA), 1986

前言 最早的免疫系统起源于1973-1976年间Jerne的三篇关于免疫网络的文章1986年Farmer在此基础上提出了基于网络的二进制的免疫系统模拟生物免疫系统的抗原识别、细胞分化、记忆和自我调节功能的一类算法 遗传算法的思想简单讲就是父代之间通过交叉互换以及变异产生子代&#…

基于免疫优化算法的TSP算法

文章目录 一、理论基础二、案例背景1、问题描述2、解决思路及步骤(1). 算法流程(2). 算法实现过程 三、MATLAB程序实现1、程序源码2、结果分析 四、参考文献 一、理论基础 TSP(traveling salesman problem,旅行商问题)是典型的NP完全问题&#xff0c;即其最坏情况下的时间复杂…

2018-4-8免疫算法(Immune IA)

学习资料来源&#xff1a; 【图文】免疫算法_百度文库 https://wenku.baidu.com/view/39eb47ec551810a6f52486ee.html?sxts1523143415445 《智能优化算法以及matlab实现》包子阳&#xff0c;余继周 编著 自己觉的好资源&#xff0c;但是看不懂 三种人工免疫算法综述_图文…

免疫算法(二进制)算例(源码实现)

之前我们讲解了免疫算法以及离散的免疫算法。见链接&#xff1a; 万字长文了解免疫算法原理 及求解复杂约束问题&#xff08;源码实现&#xff09; 离散免疫算法求解旅行商问题(源码实现) 今天讲下二进制的免疫算法。 我爱学习&#xff0c;爱玉酱。 算例 假设一个数PD210&#…

免疫算法(Immune Algorithm)

概念 人工免疫算法(Immune Algorithm)是一种具有生成检测 (generate and test)的迭代过程的群智能搜索算法。从理论上分析&#xff0c;迭代过程中&#xff0c;在保留上一代最佳个体的前提下&#xff0c;遗传算法是全局收敛的。 对于遗传算法&#xff1a;在对算法的实施过程中…

人工免疫算法概述

一、免疫系统 什么是病毒&#xff1f; 病毒是一种简单的生活形式&#xff1a;包裹在保护壳中的一些基因。这些基因是制造新病毒的指令。 在细胞外&#xff0c;病毒无法繁殖。但是一旦病毒入侵了活细胞&#xff0c;它就会将该细胞变成病毒工厂。随着时间的流逝&#xff0c;成…

人工智能-免疫算法

这是一类智能的算法&#xff0c;没有什么固定的模式&#xff0c;就是一个算法思想&#xff0c;可以给我们一些有价值的指导&#xff0c;当我们想要做一些相关工作的时候&#xff0c;可以扩宽我们的视野&#xff0c;打开我们的脑洞&#xff0c;借鉴其中的原理。我不想多说里面的…

免疫算法Python实现

1.流程 免疫算法与遗传算法其实非常相似&#xff0c;但其独特的地方在于&#xff0c;免疫算法用激励度而非亲和度来衡量结果的好坏&#xff0c;而激励度又与抗体密度有关&#xff0c;这就使得密度大的抗体激励度反而小&#xff0c;让免疫算法有全局搜索的能力&#xff0c;不容易…

免疫算法详解

基本思想是将想要求解的各类优化问题的目标函数&#xff08;约束条件&#xff09;与抗原相对应&#xff0c;找到可以与抗原进行亲和反应的抗体&#xff0c;该抗体就是要求的最优解。 最核心要解决的就是 1.计算抗原和抗体的亲和度&#xff0c;亲和度越高&#xff0c;越可能是最…

人工免疫算法总结

人工免疫算法简介 免疫系统 免疫系统是哺乳动物抵御外来病毒侵害的防御系统&#xff0c;动物的生命过程中会遇到各种伤害可能&#xff0c;免疫系统为其正常的活动起着重要的作用。免疫系统的一大特点就是用有限的资源有效地应对了数量庞大且种类多变的病毒入侵。免疫算法基于…

免疫算法小结及算法实例(附Matlab代码)

文章目录 1、免疫算法流程2、关键参数说明3、MATLAB仿真实例3.1 免疫算法求一元函数的极值3.2 免疫算法求二元函数的极值3.3 免疫算法求解旅行商问题 4、免疫算法的特点 1、免疫算法流程 与遗传算法等其他智能优化算法类似&#xff0c;免疫算法的进化寻优过程也是通过算子来实…

免疫优化算法

免疫优化算法 免疫算法是模仿生物免疫机制&#xff0c;结合基因的进化机理&#xff0c;人工构造出的一种新型智能优化算法。 它具有一般免疫系统的特征&#xff0c;采用群体搜索策略&#xff0c;通过迭代计算&#xff0c;最终以较大的概率得到问题的最优解。 相比较于其他算法…

智能优化算法之免疫算法(IA)

这里写目录标题 1. 免疫算法思想起源2. 算法原理3. 免疫算法算子3.1 算法算子3.1.1 亲和度评价算子3.1.2 抗体浓度评价算子&#xff1a;3.1.3 激励度计算算子3.1.4 免疫选择算子3.1.5 克隆算子3.1.6 变异算子3.1.7 实数编码变异算子3.1.8 离散编码变异算子3.1.9 克隆抑制算子3.…

免疫算法(Immune Algorithm,IA)实例详解

免疫算法是将免疫概念及其理论应用于遗传算法&#xff0c;在保留原算法优良特性的前提下&#xff0c;利用抗体浓度评价算子和激励度计算算子来保持群体的多样性&#xff0c;克服了一般寻优过程中&#xff08;特别是多峰值&#xff09;不可避免的“早熟”问题。 1 算法概念 免…

一文搞懂什么是免疫算法Immune Algorithm【详细介绍】

本文参考了很多张军老师《计算智能》的第七章知识。 本文来源&#xff1a;https://blog.csdn.net/qq_44186838/article/details/109181453 免疫算法 1.1 算法简介 免疫算法&#xff08;Immune Algorithm&#xff0c;IA&#xff09;&#xff1a;是指以在人工免疫系统的理论为基…

免疫算法(Immune Algorithm)详解

关于免疫算法&#xff08;IA&#xff09;&#xff0c;其功能与遗传算法、模拟退火等算法实现的功能是相同的&#xff0c;都是用来求最优解。例如求函数最值、旅行商问题等。从本质上说&#xff0c;免疫算法更像是遗传算法的一种延申。IA虽然其中借鉴了生物学&#xff08;免疫学…

免疫算法

免疫算法是受生物免疫系统的启发而推出的一种新型的智能搜索算法&#xff0c;是一种确定性和随机性选择相结合并具有"勘探"与"开采"能力的启发式随机搜索算法。 算法主要的步骤: (1)抗原识别与初始抗体产生。 (2)抗体评价 (3)免疫操作 免疫算法的特点: (1)…

闵可夫斯基距离—大白话篇幅[有错误的话请指教]

包括&#xff1a;曼哈顿距离&#xff0c;欧氏距离&#xff0c;切比雪夫距离&#xff1b; 举例子&#xff1a;两个点&#xff1a;A(1,9),B(5,8) 1&#xff0c;曼哈顿距离&#xff1a; 就是取和&#xff1a;|&#xff08;1-5&#xff09;||&#xff08;9-8&#xff09;|5;曼哈顿…