基于免疫算法的TSP问题求解
2024-10-18
来源:威能网
基于免疫算法酗TSP问题求髓 苏州高等职业技术学校电子工程系 吴映恬 [摘要]旅行商问题(Tr eling Salesman Problem,TSP)是一个典型的NP问题,有效地解决TSP问题在可计算理论上有着重要的理论 价值。目前,在已有的各种求解TSP问题的算法中,基于人类免疫学的人工免疫新计算模型——免疫算法(ImmuneAlgorithm,IA), 凭借其具有较强的收敛性和较好的求解结果等优点成为目前学术界研究的热点。本文对已有的免疫算法进行了分析,并依据生物 免疫系统的免疫机制提出了两点改进:(1)在算法中采用更加类似生物免疫系统的记忆细胞的处理方法,以增强解群在进化中的多 样性:(2)引入“疫苗”的概念,先从父代中的信息抽取出得到疫苗,然后基于疫苗进行交叉,使交叉的效果得到了明显改善,也即在交 叉过程中引入了自己学习的能力。 [关键词]免疫算法 记忆细胞 疫苗TSP 的作用就是诱发有用抗体的产生,在遇到真正的病毒等人侵时能及时 的消灭之。在我们的算法中就是最大限度地发掘当前抗体中的有用疫 苗,使抗体快速地向理想目标发展。当然,在进化中提取的疫苗不理想 1、一般免疫算法的基本框架及实现 在生物免疫系统中,免疫应答是一个不断识别、清除的循环过程, 没有一个终极目标而会结束免疫识别。例如,在我们人类所生存的周 围环境中时时刻刻会有异物(抗原)侵害我们的机体,因而我们的机体 免疫系统需要不停识别抗原、结合抗原、消灭异物,保持我们机体的平 衡。根据生物免疫系统的免疫过程的抽象,提出了一般免疫算法的实 现框架如图1所示: 图1一般免疫算法流程图 如果把实际求解问题的目标函数视为外来人侵的抗原,免疫响应 中产生的抗体视为问题的解,则不同亲和度抗体的进化与成熟机制就 是寻找目标函数最优解的过程。抗体与抗原之间的匹配度称为亲和 度,在此,亲和度定义为抗体(解)所对应的函数值。 算法的主要步骤如下: 步骤1抗原产生:最优化问题的目标函数和约束条件的描述。 步骤2初始抗体产生:把抗体定义为目标函数在约束条件下的可 行解。 步骤3亲和力计算:计算解群中每一个解的亲和力或者适应度,并 为后面的记}乙细胞的产生提供依据。 步骤4产生记忆细胞:按亲和度的高低进行排序,从中选择亲和度 较高的个体构成新的群体,取前几个抗体构成记忆库。 步骤5抗体的促进和抑制:计算抗体的浓度,并结合前面的抗体适 应度来确定抗体的死亡和分裂的概率。 步骤6群体更新:利用交叉和变异算子对抗体进行进化更新。 步骤7终止条件判断:判断是否满足终止条件(找到最优解或达到 最大迭代次数):是则算法结束;否则继续。 2、本文所做的改进 (1)记忆细胞的改进 一般我们对记忆细胞做法是取一个或几个适应度最高的几个抗体 作为记忆细胞保存下来。这样做会存在一些不足,首先,当只保存一个 适应度最高的抗体时,很多重要的免疫信息就无法保存下来。当以适 应度最高的几个抗体保存下来时,往往这样的抗体群比较接近,无法保 证记忆细胞的多样性了。因此,对于记忆细胞处理关键是如何保存下 足够信息并保证信息的多样性。 本文中,在记忆细胞的规模上,我们根据初始种群的大小确定其大 小,一般是初始种群的5%~10%;在记忆的选择策略上,在保证各个记 忆抗体之间有一定距离的前提下,尽量选择适应度最高的抗体作为记 忆细胞。 (2)交叉变异的改进 在交叉变异这一环节中,我们提出了一个疫苗的概念。为了在交 叉变异中尽可能多地保留父代抗体中的优秀特性,我们有必要对抗体 的编码序列进行分析,选择合适的交叉变异方法。在自然生物中,疫苗 的状态,也是—个未成熟的状态。事实上,抗体和疫苗是相互的,有什么样 的疫苗,就可以得到相应的抗体。换句话,我们提出的疫苗概念,就是 代表了所要解决的问题的一种近似表示,但它代表了问题的解决方向。 3、TSP问题定义 TSP的具体描述如下:一个旅行商要到达所有的城市,并且每个城 市只能经过一次,最后回到出发城市,要求所走的行程最短。假设有N 个城市,在满足上述条件的前提下,使得一个整数排列 s一{ ,P ・・P }的路径具体DN最短。 N1 ..一DⅣ=>:d(P ,P…)+d(PⅣ,P1) 百 其中d(A,B)表示城市A、B间的距离。根据问题的特点,我们可以 以最简单的整数字符序列来定抗体基因,例如序列{1,2,3,…N一1,M 表示从城市1出发,经过城市2、城市3等等,最后到达城市N,再回到出 发点城市1。 4、用改进的免疫算法解决TSP问题的实验结果 我们选择国际上通用的TSP问题的测试库中的Bays 29一city,在该 例子中一共有29个城市,库中提供的最优路径的行走距离为9291.35, 具体行走路径如图2所示: 图2测试库中的路径 为了能更好地体现本文中提出的改进对提高算法性能的作用,我 们分别用以下两种方法进行实验: (1)在免疫算法中采用部分匹配交57 ̄(PMX)的方法。 (2)在算法中采用本文提出的基于疫苗概念的交叉策略。 上述两种方法在同等条件下(群体规模n=80,交叉概率Pc=0.9,变 异概率Pm--O.01,迭代次数gen=800),分别独立地进行lO次实验,得到 的结果如下表1。 表1种群G=80时的优化结果 PMX方法 改进后的方法 实验次数 最短距离 收敛代数 最短距离 收敛代数 1 12458I26 613 10563-33 415 2 1 1823.24 62l 10530.34 583 3 12032.77 604 1 1373.97 592 4 12365。13 583 U127.68 475 5 1 1263.27 646 10197.44 567 6 1 1686.92 598 10931.45 587 7 l2335.75 719 l0534.42 603 8 l1154.49 682 10916.7l 474 9 1 1324.85 563 10801.3 476 10 11680.16 657 I1Ol2.87 597 为了比较算法的优劣,设定了以下的评价标准: (下转第452页) 科技信启 莪国高职教育坝状及对策 延安大学物理与电子信息学院 曹冬梅 [摘要]近年来国家对高等职业教育给予了大力支持,然而它的生存现状还是令人担忧。本文力图对高职教育现存问题进行深入 剖析,提出了发展高职教育的应对措施。 [关键词]高职教育 生存现状 改革思路 高职教育是我国高等教育事业的重要组成部分。高职教育的发展 不仅增加了高等教育的在学人数,满足了人们接受高等教育的愿望,而 且丰富了高等教育的内涵。促进了高等教育由精英型向大众性转变, 增强了高等教育的社会适应性。 近年来国家对高等职业教育给予了 大力支持,然而它的生存现状还是令人担忧。 1.我国高职教育的生存现状 首先是教育对象问题。由于传统观念的影响,重普通教育和学历 教育,轻职业教育的情况仍为普遍。根据国家招生政策,先本后专,高 职高专属第四批专科,所以很难保证教育对象的质量。其次,专业教师 队伍薄弱,缺乏理论与技能型的“双师型”教师。虽然高职学校积极落 实教育部指示精神,加大专业课教师的培训力度。但由于经济结构调 整快,新知识、新技术、新工艺更新换代快,新设备应用快,教师的培训 很难跟上时代的步伐,造成整体上专业教师队伍薄弱,缺乏与时俱进的 “双师型”教师。不能更好地适应职业教育的教学要求,高职教育的实 用性和职业性很难得到体现。另外,教育经费投人不足限制了高职教 育的发展。虽然国家给予大力支持要求“城市教育费附加的30%用于 职业教育”,然而政策尚未得到真正的落实,财政预算内职业教育经费 占教育总经费的比例还是偏低。种种因素导致了我国高职教育学校办 学指导思想混乱,职教模式普教化倾向严重,以就业为导向的市场化运 作机制缺乏,学校与企业合作举步维艰,区域分布不合理等现象。 2.对策 第一,引导学生树立理想,树立“为发展市场经济而成为具有一定 技能的应用型人才”的理想。365行,行行出状元。同时,要加强爱国主 (上接第451页) (1)收敛速度。对于解决TSP问题,每种算法运行10 次,收敛到优化结果所需平均进化代数小者为优。(2)最差值和最好 值。统计算法运行10次中的最佳和最坏的结果。(3)平均最优值。反 映了算法运行的稳定性。最优值的平均值最小的算法为优。 从表l的统计数据结果分析可以看出,基于疫苗的交叉策略的平 均收敛代数为537,PMX交叉法的平均收敛代数为629,即基于疫苗的 交叉策略的平均收敛代数远小于基于PMX交叉策略的免疫算法,也就 是说基于疫苗的交叉策略的免疫算法能够很快寻找到较优值,收敛速 度很快。因为基于疫苗的交叉策略带有提取疫苗的步骤,交叉操作中 尽可能多地保留父代抗体中优秀特性,因此收敛速度更加理想。 从平均最优值来看,方法(1)的平均结果是1 1812.48,而方法(2)的平 均结果是10798.95,即基于疫苗的交叉策略比PMX交叉法短9.39%,这 说明了基于疫苗的交叉策略运行比较稳定,整体上结果比较好。从10 次运行过程中的最差值来看,基于疫苗的交叉策略免疫算法要优于基 于PMX交叉策略的免疫算法。从最好值上来看,基于疫苗的交叉策略 免疫算法能够搜索到的最优值也要比另外一种方法搜索到的好。 接下来,我们再来比较一下基于疫苗的交叉策略的免疫算法和基 于PMX交叉策略的免疫算法找出最优解所运行的时间。如下表2所示 表2运行时间T的比较(单位:s) 实验次数 PMX方法 改进后的 实验次数 PMX方法 改进后的 方法 1 2 3 4 5 53.586 43.540 41.075 42.573 41.169 11.029 16.209 17.410 14.570 17.379 6 7 8 9 10 42.136 41.730 43.259 50.950 41.824 义教育、前途理想教育、集体主义教育,用全部的感情跟他们交朋友,打 开其心扉。使他们变消极为积极,增强自信心,自觉地培养和发展优秀 的心理品质,立志成才 。第二,加强师资队伍建设,实现职业教育教师 自身职业化、专业化的基本要求。第三,改善实训基地条件,提高学生 的职业岗位能力。高职院校应加强校内生产性实训基地的建设,建立 实验室满足模拟验证等实训的需要。校内实训课应该分组进行,专人 指导。核心技能应聘请企业的能工巧匠或专业人员亲l临指导。校外实 训应与企业签订相关协议,明确其指导与管理职责。第四,教育管理部 门应加强对各院校的实训条件管理监控,明确学校应完善的实训项目 和与招生规模相匹配的设备设施数量,促进学校加工实训室建设经费 预算,确保建设经费来源。第五,从多渠道鼓励并推动校企合作。第 六,高职教育教学改革需走向纵深。继续加强高职高专院校人才培养 水平评估工作,优化反映高等职业教育特点的评估指标体系。监督示 范性高等职业院校精品专业和学生实训与师资培训基地的建设,使高 职教育走上科学、持续和健康发展之路。 只要明确其生存现状,并针对其发展过程中存在的问题给出_r对 策,高职院校定会繁荣健康成长。 参考文献 [1]曹长春,张鲁殷试论职业技术教育观念的变化…中国高教研 究,2001(08),38—39 [2]柯丽丽.浅论中等职业学校教学模式的变革[J1.内蒙古师范大 学学报(教育科学版),2005.(6) 细胞的处理,即为了最大限度地保证抗体种群的多样性,在一定的前提 下选择一批高亲和力的抗体作为记忆细胞保存下来。在最终的优化结 果中,我们得到了一条较优路径和一条比TSP库给出最优路径的值更 短的行走路径,具体路径如下图3,它行程长度分别为9741.01和 9239.68。 口 瑚400鲫003 1 1200 1埘1鼬舢2000 方法 14.274 14.¨8 14.352 14.492 10.468 (a)较优路径长度:9741.01 (b)最优路径长度:9239.68 图3免疫算法得到的路径 5、结束语 笔者分别用基于PMX交叉策略的免疫算法和基于疫苗的交叉策 略的免疫算法两种方法分别去求解TSP问题的最优值。在相同的条件 下,从收敛代数、平均最优值、运行时间三个方面作了比较。从实验结 果看出,本文的改进算法具有良好的性能,进而从实践上证明了本文所 给出改进方法的有效性。 参考文献 [1]张军,刘克胜,王煦法.一种基于免疫调节和共生进化的神经网 络优化设计方法计算机研究与发展,2000,37(8),924 ̄930 [2]王肇捷,黄文剑立体匹配的免疫算法.电脑与信息技术,2oo1(4), 4 ̄6 上表中的数据均在同等条件下(群体规模n=80,交叉概率Pe=0.9, [3]刘克胜,张军,曹先彬,王煦法.一种基于免疫原理的自律机器人 行为控制算法[M].计算机工程与应用,2ooo(5),30 ̄32 [4]蔡自兴,龚涛.免疫算法研究的进展[J]控制与决策,2004,19(8), 841 ̄846 变异概率Pm=0.0l,迭代次数gen=800),分别独立做1O次实验得出。从 表2可以看出,基于疫苗的交叉策略的免疫算法运行时间明显少于基 于PMX交叉策略的免疫算法运行时间,因此在运算时间上改进的免疫 算法优于一般免疫算法。 最后,我们在基于疫苗的交叉策略的基础上,在算法中加入对记忆 一『5]吕刚,陈小平,谭得健.免疫算法抗体浓度调节定义的改进l_J]数 据采集与处理,2003,1(18),44~48 4 ’一