免疫算法.docx
- 文档编号:6268134
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:18
- 大小:173.27KB
免疫算法.docx
《免疫算法.docx》由会员分享,可在线阅读,更多相关《免疫算法.docx(18页珍藏版)》请在冰豆网上搜索。
免疫算法
目录
1选题依据和意义2
1.1研究背景及意义2
1.2免疫算法的概述2
1.3免疫算法的研究现状3
1.4物流配送中心选址的概述4
1.5物流配送中心的研究现状:
4
1.6论文组织结构5
2基本的免疫算法5
2.1免疫算法的相关概念介绍:
6
2.2免疫算法的步骤7
2.3免疫算法流程图:
8
2.4选择参数11
2.5免疫算法与遗传算法的比较:
12
3物流配送中心选址的数学模型的建立13
4免疫算法物流配送中心选址中的应用:
14
5实验:
15
5.1小结18
6总结与展望18
1选题依据和意义
1.1研究背景及意义
科技日新月异的发展的21世纪,学科之间的融合成为了各学者的研究新方向,各学科之间相互渗透、相互影响、相互作用成为了新世纪科技发展的新特征。
其中,由计算机科学与生命学科相互结合而产生的新型智能算法——免疫算法就是其中的代表之一。
近年来,随着我国经济的快速发展并逐渐走向全球化的道路,物流已成为了经济发展的重要产业之一,现如今各大城市都建设有自己的物流配送网络,这对于城市的招商引资,资源的优化配置,经济产业的运行效率都有着促进作用。
物流配送中心作为物流业重要的环节,其选址问题吸引着专家学者投身研究当中。
由于物流配送中心一旦选定并进行建设,其位置是固定的,所以在地址的选定上尤为重要。
相比较于传统的选址方法,免疫算法以其收敛速度快,鲁棒性强等特点,得到专家学者们的青睐。
免疫算法是模仿生物免疫机制,结合基因的进化机理,人工地构造出的一种新型智能搜索算法。
免疫算法具有一般免疫系统的特征,免疫算法采用群体搜索策略,一般遵循几个步骤”产生初始化种群→适应度的计算评价→种群间个体的选择、交叉、变异→产生新种群”。
通过这样的迭代计算,最终以较大的概率得到问题的最优解。
相比较于其他算法,免疫算法利用自身产生多样性和维持机制,保证了种群的多样性,克服了一般寻优过程中特别是多峰值的寻优过程中不可避免的“早熟”问题,求得全局最优解。
大量表明,免疫算法能在较少的迭代数能快速收敛到全局最优。
因此,免疫算法在物流配送中心选址问题的研究具有一定的应用价值和参考价值。
1.2免疫算法的概述
人们对人工免疫算法的研究从免疫学的基础上开始的。
对免疫算法的深入研究,发现其在解决复杂问题上西安实处了强大的信息处理能力。
1958年澳大利亚学者Burnet率先提出了克隆选择原理[21],1960年因此获得诺贝尔奖。
Famer于1986年基于免疫网络学说理论构造出来的免疫系统的动态模型,展示了免疫系统与其他人工智能方法相结合的可能性,开创了免疫系统研究的先河。
1996年,在日本举行的国际专题研讨会上,提出了免疫系统的概念。
1997年IEEE的SMC组织专门成立了人工免疫系统及应用的分会组织。
免疫算法,是受生物免疫系统的启发,推出的一种新型的智能搜索算法。
对外界入侵的抗原,受抗原的刺激,生物上淋巴细胞会分泌出相应的抗体,其目标是尽可能保证整个生物系统的基本生理功能得到正常运转,并产生记忆细胞,以预防下次相同的抗原入侵时,能够快速的做出反应。
借鉴其相关内容和知识,并将其应用于工程科学的某些领域,收到了良好的效果。
1.3免疫算法的研究现状
虽然起步较晚,但免疫算法已成为当今智能计算的研究热点之一。
已在函数优化,人工神经网络设计,智能控制等领域获得了成功的应用。
近几年,网络和智能成为免疫算法发展的的特征之一,也是其重要应用领域。
免疫算法在增强系统的鲁棒性,维持机体动态平衡方面有明显的成效。
经过各位学者的不断专研,免疫算法于其他算法的并行性得到充分发挥。
例如免疫遗传算法,免疫粒子群算法。
这些算法的产生,增加了算法的灵活行。
现主要的应用有机器学习,故障诊断,网络安全,优化设计。
国内虽然对免疫算法的研究起步较晚,但在免疫算法的研究及其应用上也取得了不错的成果。
经研究归纳,免疫算法可分为3种情况:
(1)基本免疫算法,模拟免疫系统中抗原与抗体的结合原理。
(2)基于免疫系统中其他特殊机制抽象出来的免疫算法,如克隆选择算法。
(3)免疫算法与其他智能算法的结合形成的新的算法,如免疫遗传算法。
基于这三种主流的算法,国内对免疫算法的研究有对免疫算法的参数问题的研究[1],有对多维教育免疫网络的研究,增强了教育网络的安全性[2]。
有TSP问题求解[3]、装配序列规划问题求解[4]、工程项目多目标优化研究[5]、应用免疫算法进行电网规划研究[6]。
基于混沌免疫进化算法的物流配送中心选址方案[7]。
目前国内的研究主要集中在算法的优化改进上,与其他智能算法相结合的研究。
1.4物流配送中心选址的概述
物流配送中心是物流网络的基础节点,是物流能够正常运作的前提,同时,配送中心面向客户,其工作效率不仅直接影响到企业的业绩,而且还影响客户的评价。
物流配送中心选址的重要性:
由于物流配送中心的投资规模大,占用大量的城市面积,而且其位置一旦建成后,其地理位置相对固定,对物流业今后的运营情况产生长远的影响。
因此物流配送中心选址的决策必须进行科学的论证后再做定夺。
失败的选址对于物流业来说是致命的,不仅会导致商品运输处于无秩序、低效率的状态,还可能在运输成本上吃紧,如果不能满足客户的需要,还会影响到企业的利润。
因此,科学的物流配送中心选址是很有必要的。
物流配送中心选址问题,要考虑的因素很多,一般地,主要考虑以下几个方面:
(1)运营成本:
缩减成本一直是企业追求利润的主要方法之一,在创造相同价值的情况下,成本的缩减成为了企业间竞争力的决定性因素。
(2)运输效率:
降低运输成本主要的途径之一就是运输效率,协调好各部门的工作能有效的解决这一问题。
(3)服务质量:
客户的好评是企业无形的资产,提供优质的服务质量是一个有远见的企业必做的事情。
1.5物流配送中心的研究现状:
经过几十年的研究,国内外在物流配送中心选址问题的研究日趋成熟,形成了相对完善选址方法,大体可归纳为:
(1)定性分析法:
定性分析法主要依赖专家和决策者的先知经验、知识,经过综合分析,统筹规划来确定其地理位置,这些方法主要有专家分析法、德尔菲法。
定性分析法的优点在于利于操作,简单易行,在一定程度上能够利用丰富的经验来解决选址问题。
其确定在于,由于这种选址方法带有个人主观因素,往往会犯主观主义或经验主义的错误。
缺乏科学性,客观性。
导致选址方案的可靠性不高。
(2)定量分析法:
定量分析法使用数学模块对数据进行的分析,通过分析可提供给决策者科学合理的建议,让并做出投资判断。
这种方法主要有重心法,混合0-1整数规划法,遗传算法。
其优点是能通过科学的计算分析,求出比较可靠的解。
1.6论文组织结构
本论文是以下的结构进行组织的。
本论文的第二部分主要介绍免疫算法的原理,并与遗传算法做对比,比较两者的优劣势。
讨论了针对物流配送中心选址问题免疫算法的实现过程。
第三部分主要描述物流配送中心选址问题,并且构造出数学模型、设置约束条件。
本文的第四部分描述了在MATLAB平台上通过免疫算法求解物流配送中心选址问题实验的结果,并做出分析。
本文的第五部分,总结了本论文的研究内容,指出本论文的优缺点,提出自己的看法。
2基本的免疫算法
基本免疫算法基于生物免疫系统基本机制,模仿了人体的免疫系统。
基本免疫算法从体细胞理论和网络理论得到启发,实现了类似于生物免疫系统的抗原识别、细胞分化、记忆和自我调节的功能。
一般来说,免疫反应就是当病原体入侵到人体时,受病原体刺激,人体免疫系统以排除抗原为目的而发生的一系列生理反应。
其中B细胞和T细胞起着重要的作用:
B细胞的主要功能是产生抗体,且每种B细胞只产生一种抗体。
免疫系统主要依靠抗体来对入侵抗原进行攻击以保护有机体。
T细胞不产生抗体,它的直接与抗原结合并实施攻击,同时还兼顾这调节B细胞的活动的作用。
成熟的B细胞产生于骨髓中,成熟的T细胞产生于胸腺之中。
B细胞和T细胞成熟之后进行克隆增殖、分化并表达功能.正是由于这两种淋巴细胞之间相互影响,相互控制的关系,才使得机体得以维持 机体反馈的免疫网络。
免疫算法保留着生物免疫系统中一些主要的元素,免疫算法各元素与生物免疫系统一一对应,如下表所示:
生物免疫系统
人工免疫系统
抗原
待求问题的目标函数
抗体
待求问题的解
抗原识别
问题的识别
从记忆细胞产生抗体
从先知的成功经验中产生解
淋巴细胞分化
保持优良的解
抗体的抑制
消除剩余候选解
抗体的促进
利用遗传算子产生新抗体
2.1免疫算法的相关概念介绍:
抗原:
在生命科学中,能够诱发机体的免疫系统产生免疫应答,产生抗体进行免疫作用的物质。
在算法中特指的是非最优个体的基因或错误基因。
抗体:
在生命科学中,是指免疫系统受抗原刺激后,免疫细胞转化为T细胞并产生能与抗原发生特异性结合的免疫球蛋白,该免疫球蛋白即为抗体。
疫苗:
在生物学中指保留了能刺激生物免疫系统的特性,使免疫应答做出反应的预防性生物制品。
在免疫算法中指根据待已有求问题的先知经验中得到的对最佳个体基因的估计。
免疫算子:
和生命科学中的免疫理论相对应,免疫算子分为全免疫和目标免疫,前者对应着生命科学中的非特异性免疫,后者则对应的是特异性免疫。
免疫调节:
在免疫反应过程中,抗原对免疫细胞的刺激会增强抗体的分化和繁殖。
但大量的抗体的产生会降低这一刺激,从而控制抗体的浓度。
同时产生的抗体之间也存在着相互刺激和抑制的作用,这种抗原与抗体亲和力、抗体与抗体之间的排斥力使抗体免疫反应维持在一定的强度,保证机体的动态平衡。
免疫记忆:
能与抗原发生反应的抗体会成功的作为记忆细胞保存记忆下来,当相似的抗原再次侵入时,这类记忆细胞会被当成功的经验,受刺激并产生大量的抗体,从而大量缩短免疫反应时间。
2.2免疫算法的步骤
(1)识别抗原:
对问题进行可行性分析,构造出合适的目标函数和制定各种约束条件,作为抗原。
(2)产生初始抗体群产生:
免疫算法不能直接解决问题空间中的参数,因此必须通过编码把问题的可行解表示成解空间中的抗体,一般在解的空间内随机产生的解中作为初始抗体。
采用简单的编码可以方便计算,实数编码不需要进行数值的转换,因此是比较理想的编码方法,每个抗体为一个实数向量。
(3)对群体中的抗体进行多样性评价:
计算亲和力和排斥力,免疫算法对抗体的评价是以期望繁殖概率为标准的,其中包括亲和力的计算和抗体浓度的计算。
(4)形成父代群体:
更新记忆细胞,保留与抗原亲和力高的抗体并将它存入记忆细胞中,利用抗体间排斥力的计算,淘汰掉与之亲和力最高的抗体。
(5)判断是否满足结束条件:
如果产生的抗体中有与抗原相匹配的的抗体,或满足结束条件,则停机。
(6)利用免疫算子产生新种群:
免疫算子包括选择、交叉和变异等操作。
按照“优胜劣汰”的自然法则选择。
亲和力大的抗体有较大的机会被选中。
交叉和变异操作以下会介绍到。
(7)转至(3)。
2.3
免疫算法流程图:
免疫算法相关计算的介绍。
1、初始抗体群的产生
如果记忆库非空,则初始抗体从记忆库中选择生成。
否则,在随机产生初始抗体群。
每个选址方案用一个长度为p(各方案选中的配送中心总数目)的编号序列表示,每个方案编号代表被选为配送中心的需求点的序列。
本案例中,采用实数编码方式,由31个城市组成的配送中心,则编号1,2,……,31代表各配送中心如考虑包含31个配送中心的问题。
1,2,……,31代表配送中心的编号,从中选出6个作为配送中心。
抗体[5712162911]6个元素,表示其编号对应的城市被选为配送中心了。
2、解的多样性评价-亲和度计算
(1)抗体-抗原亲和度(即匹配度)
其中C是一个较大的正数,表示如果距离过长,超过了约束条件中的解,则给予惩罚,属于惩罚函数。
亲和度Av介于0和1之间,当抗体与
(2)抗体-抗体亲和度(即相似度)
此例中采用R位连续方法计算抗体与抗体间的亲和力。
R位连续方法实际是一种部分匹配规则。
首先先确定一个R值,R表示亲和度的阈值。
抗体间的相似度高的判断条件为两个编码中有超过R位或连续R位相同,否则表示两个不同的个体。
其中kv,s表示抗体v与抗体s中相同的位数,L为一般抗体的长度。
如两个抗体为[2718619161012]、[15872661921912],共有7,6,19三个中心相同,则kv,s=3,其长度L为9,故其相似度即亲和度为1/3。
这种相似度好象可用数据挖掘中的相似度来计算。
3、抗体浓度
指的是群体中相似抗体(采用以上提到的R位连续方法计算),在群体抗体中所占的比例,即
Cv表示抗体v的浓度,n表示抗体的总数,N为抗体的集合。
其中:
,当Sv,s=1时,Sv,s>T,T是一个预定的阀值。
4、期望繁殖率
在群体中,每个个体的期望繁殖率,由抗体与抗原间亲和力Av和该抗体的浓度Cv确定。
其中a为多样性评价参数(常为0.95),由上式可看出,个体浓度与期望繁殖率成反比,个体的亲和度与期望繁殖率成正比。
5、免疫算子操作:
免疫算子的操作类似于遗传操作,包括选择(selection)、交叉(crossover)、变异(mutation)。
(1)选择(selection):
选择操作也称为复制操作,根据期望繁殖率来判断哪些个体会被选中进行克隆。
一般来说期望繁殖率大的个体有较大的几率存在于下一代,而期望繁殖率的的个体在下一代中被淘汰的几率较大。
按照轮盘选择机制,令∑fi表示群体期望繁殖率之和,fi群体中第i个染色体的期望繁殖率。
它的后代在期望繁殖率上占到总期望繁殖率为fi/∑fi。
(2)交叉(crossover):
采用单点交叉,简单来说交叉操作就是将各个个体分别作为下一代的父母个体,将它们的部分染色体进行交换。
例如:
有两个个体A1和A2:
a1:
1
0
0
0
1
1
1
0
a2:
1
1
0
1
1
0
0
1
随机生成一个小于8位的交叉的位数c,例如c=3,将a1和a2的低3位进行交换,a1高5位和a2的低3位组成串10001001,a2的高5位与a1的低3位组成串11011110。
这两个就是a1和a2的后代A1、A2。
(3)变异:
简单的变异操作主要随机选择变异位,然后改变这个变异位上的数码。
以二进制编码为例,二进制编码的每一位只有0或1的取值可能,所以变异可表示为:
1
0
1
0
0
1
1
0
随机选择变异位1到8之间的数c,假如是c=5,从右往左数第5位进行变异操作,第5位为0,把0变成1,得到的结果为变异后的结果:
1
0
1
1
0
1
1
0
2.4选择参数
合理的选择参数,能够大幅度提高算法的效率。
经过各学者多年的实验,交叉概率取0.6到0.95之间,变异概率取0.001到0.01之间。
种群的规模对算法的效率的影响也是比较大的。
种群规模太小不利于进化,规模太大使得程序运行时间过长。
一般的种群规模定为30到100为宜。
2.5免疫算法与遗传算法的比较:
遗传算法相对于免疫算法起步比较早,发展比较成熟,但有时候,免疫算法在求解多峰值的优化问题上展现出显著的优势[11]。
免疫算法类似于遗传算法,采用群体搜索策略,在大体的算法步骤上一样。
主要的区别在于对个体的评价上。
遗传算法对个体的评价上主要通过个体的适应度的计算得到的,包括个体的选择也是以适应度为指标。
它更着重于问题的全局最优解。
而免疫算法则通过计算亲和度得到的,亲和度包括抗原与抗体的亲和度(亲和力),抗体与抗体间的亲和度(排斥力)。
所以在保持全局的多样性以及收敛速度方面免疫算法要更优于遗传算法,因此在求解多峰值函数寻优问题上也更具优势。
相比较于遗传算法,免疫算法更真实的反应了免疫系统的多样性,对个体的评价各全面,对个体的选择更合理。
免疫算法拥有遗传算法中没有的记忆细胞[10]。
它具有特殊的免疫记忆的特性,在每一次迭代之后,可以将有利于解决问题的特征信息存入记忆细胞中,以便下次遇到同样问题上能够利用先前的特征信息或成功经验,更快的找出问题的解决办法,提高了解决问题的速度。
另一方面,免疫算法还克服了早熟的现象[9]。
用遗传算法求解问题是,当种群规模较小时,如果在进化初期出现适应度较高的个体,由于该个体的繁殖率过快,往往不利于种群多样性的产生,从而出现早熟收敛的情况。
所谓早熟,是指当种群规模较小时,如果在进化初期出现适应度较高的个体,由于该个体繁殖率过快,往往不利于种群多样性的产生,从而出现早熟收敛的情况。
免疫算法引进了浓度机制,计算抗体的浓度,通过对抗体的促进或抑制,调节抗体的浓度,特别是对浓度过大的抗体的抑制作用,有效的预防了由于浓度过大而导致算法过早的收敛到全局最优,降低群体的多样性。
经过对比以上两种算法,不能片面地说那个算法更好,哪个算法更优,要根据具体问题具体分析,甚至可以结合两种算法进行求解,扬长补短。
有人提出来要,将免疫概念及其理论应用于遗传算法,在保留原算法优良特性的前提下,力图有选择、有目的地利用待求问题中的一些特征信息或知识来抑制其优化过程中出现的退化现象。
3物流配送中心选址的数学模型的建立
为了方便建立数学模型,物流配送中心选址问题应该满足以下条件:
(1)配送中心的库存量能满足其所覆盖服务区域客户的需求量。
(2)一个客户仅由一个配送中心服务,不得跨区域送货。
(3)已知各客户的需求量。
(4)费用由配送中心到客户的运输费用决定,不考虑工厂到配送中心的运输费用。
基于以上的设计思路,可构造出以下的数学模型:
问题的目标函数为各配送中心到其所服务的客户的需求量和距离的乘积F达到最小,即:
;
(1)
约束条件为:
;
(2)
,
,
(3)
(4)
,
,
,
,(5)
(6)
是所有需求点的序列集合
表示需求点i的需求量,
表示需求点i离它最近的需求点j的距离。
是0-1变量,表示需求点与配送中心的配送关系,如果
=1表示需求点i由配送中心j供应,否则
=0;
为0-1变量,当
=1时,表示j被选为配送中心,否则为0。
S表示配送中心所能够服务到的最大距离。
表示被需求点i小于的距离小于最大距离S的配送中心的集合。
P表示配送中心的数目。
各约束条件的含义为:
公式
(2)表示一个需求点只能由一个配送中心进行配送。
公式(3)保证各需求点只能由配送中心配送,也就是说,只有配送中心才能有配送的权利,没有配送中心的地方不会有需求点。
公式(4)确定了配送中心的个数。
公式(5)是0-1变量。
公式(6)保证了配送中心的配送距离不会超过配送所能达到的上限。
4免疫算法物流配送中心选址中的应用:
Step1:
识别抗原,将种群信息定义成一个结构体。
包括:
个体适应度,个体浓度,个体繁殖概率。
Step2:
产生初始抗体群,记录下每个个体的最优适应度和平均适应度。
Step3:
抗体的多样性评价,需要的操作有:
抗原与抗体亲和度(适应度)的计算,抗体浓度的计算。
对亲和度和抗体浓度的综合分析,可求得个体的繁殖概率。
Step4:
根据个体繁殖概率,可知个体的优劣情况更新父代种群,更新记忆库。
这里采用精英选择策略,将适应度值较高的前s个个体保存起来,避免因浓度过高而被淘汰。
Step5:
经过选择、交叉、变异操作,在从记忆库中的抗体,形成新种群。
下面根据以上的思路,在MATLAB上进行仿真实验,验证其正确性。
5实验:
为证明算法的可行性,将国内31个城市作为研究对象[8],各城市的坐标以及各需求点的需求量由下表所示,从31个城市中选择6个城市作为配送中心。
城市编号、坐标、各需求点的需求量如下表所示。
i
(Uj,Vj)
j
i
(Uj,Vj)
j
i
(Uj,Vj)
j
1
(1304,2312)
20
12
(2562,1756)
40
23
(3429,1908)
80
2
(3639,1315)
90
13
(2788,1491)
40
24
(3507,2376)
70
3
(4177,2244)
90
14
(2381,1676)
40
25
(3394,2643)
80
4
(3712,1399)
60
15
(1332,695)
20
26
(3439,3201)
40
5
(3488,1535)
70
16
(3715,1678)
80
27
(2935,3240)
40
6
(3326,1556)
70
17
(3918,2179)
90
28
(3140,3550)
60
7
(3238,1229)
40
18
(4061,2370)
70
29
(2545,2357)
70
8
(4196,1044)
90
19
(3780,2212)
100
30
(2778,2826)
50
9
(4312,790)
90
20
(3676,2578)
50
31
(2370,2975)
30
10
(4386,570)
70
21
(4029,2838)
50
11
(3007,1970)
60
22
(4263,2931)
50
根据配送中心的选址模型,利用免疫算法对问题进行求解。
其中的主要参数为:
种群规模sizepop为50,记忆库容量overbest为10,迭代次数MAXGEN为100,交叉概率pcross为0.5,变异概率pmutation为0.4,多样性评价参数p为0.95,初始化种群的规模为种群规模和记忆库容量之和。
经过仿真实验,得到免疫算法的收敛曲线为:
物流配送中心选址方案:
从实验结果可以看出,在迭代到50次左右时,算法达到收敛效果,即最优适应度值发生变化,平均适应度值不在发生明显的变化。
由实验得出的选址方案为:
18、25、9、27、5、14,分别对应的需求点如下表所示:
配送中心序号
18
25
9
27
5
14
需求点序号
3、21、22、19
20、24、29、17
8、10
26、28、30、31
2、23、4、6、7
1、11、12、13、15、16、
由该方案得到的目标函数的结果为5.68×105。
5.1小结
本文在对物流配送中心选址问题所构造的数学模型的基础上,通过免疫算法对问题的进行求解,在算法中结合遗传算法,引入了克隆选择、抗体抑制等思想,使算法的寻优能力更强。
从实验的结果看出,算法的迭代次数较少,收敛速度快,能在较短时间内得出全局最优,彰显出算法独特的优势。
实验结果表明,通过免疫算法求解物流配送中心选址问题,获得了较好的实验结果。
6总结与展望
在本论文中,通过免疫算法和遗传算法的结合,在遗传算法的基础上引进了记忆单元的概念,用于求解物流配送中心选址问题。
通过对31个城市作为案例,在MATLAB平台上对该算法进行了实验验证。
通过实验证明,免疫算法对于求解多峰值优化问题具有较好的性能。
在迭代过程中,算法以一个较快的速度收敛。
但是,本论文还是有很多不足的地方。
例如:
1.本文选取的参数不一定是准确的,比如交叉概率、变异概率,对算法的性能影响比
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 免疫 算法