遗传算法在旅行商与网络优化问题中的应用研究

需积分: 10 24 下载量 185 浏览量 更新于2024-07-25 收藏 3.51MB PDF 举报
"这篇硕士学位论文主要探讨了遗传算法在解决旅行商问题(TSP)以及网络优化问题中的应用。作者张挺在导师李艳萍的指导下,深入研究了遗传算法的原理,特别是在旅行商问题中的实施,以及如何通过改进遗传算法来提升优化效率。论文还涉及了中国七号信令网A/B平面划分问题,以此为例展示了遗传算法在实际问题中的应用和优势。" 正文: 遗传算法是一种模拟自然界生物进化过程的计算方法,由生物的遗传和进化机制启发而来,具有广泛适用性和良好的适应性。在TSP问题中,遗传算法被用来寻找最短的旅行路线,这是一个经典的组合优化问题,对物流、交通规划等领域有重要应用价值。由于TSP问题的复杂性,传统算法往往难以找到全局最优解,而遗传算法则可以通过种群演化策略寻找近似最优解。 本文首先介绍了TSP问题的数学模型,阐述了遗传算法和贪婪算法的基本原理。遗传算法通过编码、选择、交叉和变异等步骤迭代优化种群,而贪婪算法则在每一步选择局部最优解。这两种算法在解决TSP问题时各有特点,遗传算法能探索更广泛的解决方案空间,而贪婪算法则倾向于快速找到局部最优但可能错过全局最优。 针对遗传算法在TSP问题后期可能出现的收敛瓶颈,作者提出了新的遗传变异算子。这种算子设计目的是扩大种群的搜索范围,加速种群最优值向全局最优值的逼近。实验结果显示,改进后的遗传算法在性能上有了显著提升,能更有效地解决大规模TSP问题。 此外,论文还对比分析了传统遗传算法、贪婪算法和改进遗传算法在解决TSP问题时的表现,揭示了它们在寻优性能上的差异,并解释了改进算法性能提高的原因。这为优化算法的选择提供了理论依据。 论文进一步将研究扩展到通信领域的具体问题,即七号信令网A/B平面划分问题。作者使用传统遗传算法和改进的遗传算法对此进行了仿真,对比了两者在网络优化问题上的性能差异,强调了改进算法在处理实际网络优化问题时的效率和效果。同时,还通过仿真实验探讨了新旧算法在处理时间和网络规模之间的关系。 总结来说,这篇论文深入研究了遗传算法在TSP和网络优化问题中的应用,不仅提供了理论分析,还通过实例验证了遗传算法的实用性和有效性,尤其是改进后的遗传算法,为解决实际复杂问题提供了有价值的参考。
243 浏览量
智能优化算法总结 优化算法有很多,经典算法包括:有线性规划,动态规划等;改进型局部搜索算法包括爬⼭法,最速下降法等,模拟退⽕、遗传算法以及禁 忌搜索称作指导性搜索法。⽽神经⽹络,混沌搜索则属于系统动态演化⽅法。 梯度为基础的传统优化算法具有较⾼的计算效率、较强的可靠性、⽐较成熟等优点,是⼀类最重要的、应⽤最⼴泛的优化算法。但是,传统 的最优化⽅法在应⽤于复杂、困难的优化问题时有较⼤的局限性。⼀个优化问题称为是复杂的,通常是指具有下列特征之⼀:(1)⽬标函 数没有明确解析表达;(2)⽬标函数虽有明确表达,但不可能恰好估值;(3)⽬标函数为多峰函数;(4)⽬标函数有多个,即多⽬标优 化。⼀个优化问题称为是困难的,通常是指:⽬标函数或约束条件不连续、不可微、⾼度⾮线性,或者问题本⾝是困难的组合问题。传统优 化⽅法往往要求⽬标函数是凸的、连续可微的,可⾏域是凸集等条件,⽽且处理⾮确定性信息的能⼒较差。这些弱点使传统优化⽅法在解决 许多实际问题时受到了限制。 智能优化算法⼀般都是建⽴在⽣物智能或物理现象基础上的随机搜索算法,⽬前在理论上还远不如传统优化算法完善,往往也不能确保解的 最优性,因⽽常常被视为只是⼀些"元启发式⽅法"(meta-heuristic)。但从实际应⽤的观点看,这类新算法⼀般不要求⽬标函数和约束 的连续性与凸性,甚⾄有时连有没有解析表达式都不要求,对计算中数据的不确定性也有很强的适应能⼒。 下⾯给出⼀个局部搜索,模拟退⽕,遗传算法,禁忌搜索的形象⽐喻:      为了找出地球上最⾼的⼭,⼀群有志⽓的兔⼦们开始想办法。       1.兔⼦朝着⽐现在⾼的地⽅跳去。他们找到了不远处的最⾼⼭峰。但是这座⼭不⼀定是珠穆朗玛峰。这就是局部搜索,它不能保证局 部最优值就是全局最优值。       2.兔⼦喝醉了。他随机地跳了很长时间。这期间,它可能⾛向⾼处,也可能踏⼊平地。但是,他渐渐清醒了并朝最⾼⽅向跳去。这就 是模拟退⽕。   3.兔⼦们吃了失忆药⽚,并被发射到太空,然后随机落到了地球上的某些地⽅。他们不知道⾃⼰的使命是什么。但是,如果你过⼏年 就杀死⼀部分海拔低的兔⼦,多产的兔⼦们⾃⼰就会找到珠穆朗玛峰。这就是遗传算法。       4.兔⼦们知道⼀个兔的⼒量是渺⼩的。他们互相转告着,哪⾥的⼭已经找过,并且找过的每⼀座⼭他们都留下⼀只兔⼦做记号。他们制 定了下⼀步去哪⾥寻找的策略。这就是禁忌搜索。 ⼀般⽽⾔,局部搜索就是基于贪婪思想利⽤邻域函数进⾏搜索,若找到⼀个⽐现有值更优的解就弃前者⽽取后者。但是,它⼀般只可以得 到"局部极⼩解",就是说,可能这只兔⼦登"登泰⼭⽽⼩天下",但是却没有找到珠穆朗玛峰。⽽模拟退⽕,遗传算法,禁忌搜索,神经 ⽹络等从不同的⾓度和策略实现了改进,取得较好的"全局最⼩解"。      模拟退⽕算法(Simulated Annealing,SA)      模拟退⽕算法的依据是固体物质退⽕过程和组合优化问题之间的相似性。物质在加热的时候,粒⼦间的布朗运动增强,到达⼀定强度 后,固体物质转化为液态,这个时候再进⾏退⽕,粒⼦热运动减弱,并逐渐趋于有序,最后达到稳定。      模拟退⽕的解不再像局部搜索那样最后的结果依赖初始点。它引⼊了⼀个接受概率p。如果新的点(设为pn)的⽬标函数f(pn)更 好,则p=1,表⽰选取新点;否则,接受概率p是当前点(设为pc)的⽬标函数f(pc),新点的⽬标函数f(pn)以及另⼀个控制参数"温 度"T的函数。也就是说,模拟退⽕没有像局部搜索那样每次都贪婪地寻找⽐现在好的点,⽬标函数差⼀点的点也有可能接受进来。随着算 法的执⾏,系统温度T逐渐降低,最后终⽌于某个低温,在该温度下,系统不再接受变化。      模拟退⽕的典型特征是除了接受⽬标函数的改进外,还接受⼀个衰减极限,当T较⼤时,接受较⼤的衰减,当T逐渐变⼩时,接受较⼩的 衰减,当T为0时,就不再接受衰减。这⼀特征意味着模拟退⽕与局部搜索相反,它能避开局部极⼩,并且还保持了局部搜索的通⽤性和简 单性。   在物理上,先加热,让分⼦间互相碰撞,变成⽆序状态,内能加⼤,然后降温,最后的分⼦次序反⽽会更有序,内能⽐没有加热前更 ⼩。就像那只兔⼦,它喝醉后,对⽐较近的⼭峰视⽽不见,迷迷糊糊地跳⼀⼤圈⼦,反⽽更有可能找到珠峰。 值得注意的是,当T为0时,模拟退⽕就成为局部搜索的⼀个特例。       模拟退⽕的伪码表达:   procedure simulated annealing   begin   t:=0;   initialize temperature T   select a current string vc at random;   evaluate vc;   repeat    repeat    se