一种用于TSP问题改进免疫遗传算法研究.doc
文本预览下载声明
一种用于TSP问题改进免疫遗传算法研究
摘要:受生物免疫原理启发而产生的人工免疫算法,是一种新型的随机启发式搜索算法。基于生物免疫系统机制,本文提出了一种改进的用于TSP优化的免疫算法。算法包括初种群优化,免疫选择,交叉,变异,同时采取免疫记忆,免疫网络促进与抑制操作。文中详细讨论了算法的相关概念及算法步骤,通过对TSP测试数据[6]进行仿真实验,实验结果表明了本文的改进算法的有效性。
关键词:免疫遗传算法 TSP 初始种群优化
1 引言
遗传算法(Genetic Algorithm,简称GA)[1]是一种常用的大规模并行搜索优化算法,它模拟了达了达尔文“适者生存”的规律和随机信息交换思想,仿效生物的遗传方式。从随机生成的初始解群出发,采用选择、交叉、变异等算子进行操作,产生优于父代的子代,如此循环执行,使优化过程以大概率趋于全局最优。但其本身还存在许多不足,尤其在解群分布不均匀时易出现末成熟收敛,陷入局部极优,其原因在于GA中基于适应度的多样性保持策略没能保持群体的多样性。
为了解决上述问题,文献[2-5]提出了使遗传算法具有免疫功能的免疫遗传算法。其算法一般包括六大块组成:抗原的识别,初始抗体的产生,适应度计算,向记忆细胞分化,抗体的促进和抑制,抗体产生(选择,交叉,变异)。
免疫遗传算法既保留了遗传算法的搜索待性,克服了遗传算法在局部搜索解空间上效率较差的缺点,又在很大程度上避免末成熟收敛。但由于其每一代种群的产生仍只通过简单的遗传算子(选择,交叉,变异)产生,收敛效果不是很理想,因此,本文提出了一种针对上述情况的用于TSP(Traveling Salesman Problem, 旅行商问题)的改进免疫算法。文中首先描述用于TSP寻优问题的改进免疫算法的实现过程,然后通过对TSP问题测试数据进行仿真。仿真结果说明该算法收敛速度快,较易实现。
2 旅行商问题(TSP)
Traveling salesman prolem (TSP)问题是经典的NP难问题,是典型的组合优化问题,具有很强的应用背景,例如,VISI芯片设计,路径优化,网络路由,机器人控制等许多问题都可以建模为TSP问题。TSP问题其核心思想就是要寻找一条遍历L个城市的最短路径,在数学上可以描述为以下优化问题
其??,C为城市集合,为城市编号,i=1,2,3,……, ,为编号i和j的两城市之间的距离。
3 用于TSP的改进免疫算法描述
3.1 基本概念
抗原:算法中的抗原一般是指城市之间的距离距阵,及其约束条件(距离最小)
抗体:算法中的抗体一般是指生成的各个路径
抗体与抗体之间的亲合度:用于表明抗体之间的相似度,本文采用基于信息熵的亲合度计算[5],即:
式中为抗体之间亲合度,为抗体u与v的平均信息量
抗体与抗原之间的亲合度:用于表明抗体对抗原的识别程度,本算法中抗体与抗原的亲合度定义为:最长路径值和抗体的路径长度值之差及其与所有差值和之比
式中 为城市个数,为城市距离中最大两城市之间的距离,为存在的可能最大路径值
式中 表示抗体与抗原之间的亲合度, 表示路径 的长度值。
3.2 算法描述与算法步骤
如果把实际求解问题的城市距离视为外来入侵的抗原,那么,免疫响应中产生的抗体视为问题的解,则不同亲和度抗体的进化与成熟机制就是寻找最优路径(路径值最短)。本文的改进算法主要是针对传统的遗传算法以及文献[9]所使用的基于信息熵的免疫遗算法的收敛效率问题所提出来的。算法采用实数编码,减少二进制编码的计算量,提高了搜索的效率;引入抗体群优化策略,可以在初始或经遗传算子进化生成的种群中提高抗体与搞原的亲合度,从而提高算法的搜索效率。
本文算法的主要步骤如下:
步骤1: 算法初始化:抗原输入及参数的设定:输入城市坐标值(或随机生成坐标值),并通过欧几里得距离计算公式:
计算抗原值;
同时设定种群规模N,相似度阈值γ, 交叉率Pm,变异率Pc;
步骤2:抗体的编码:抗体的编码采用实数编码,抗体的长度为N(城市的个数)
步骤3:产生初始抗体群,记忆库:先检查记忆库,如果为空则在可可行解空间随机产生初始抗体群,否则,从记忆库中选择和随机产生的其余抗体共同组成初始抗体群。
步骤4:抗体种群的优化:由于TSP问题的任何一条路径都是闭合路径,则从任一城市出发,要到达的下一个城市选择为未到过的城市中距离该城市最近的一个,这样更能使种群朝着有利方向收敛。
步骤5:对上述抗体群体进行评估:计算抗体与抗原适应度值及各抗体的浓度值,
以个体选择率为标准进行评估。定义
显示全部