动态蚁群遗传混合算法1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
动态蚁群遗传混合算法的研究及应用
(河北工程学院,河北邯郸056038)
摘要:蚁群算法是一种源于大自然生物世界的仿生类算法,该算法采用分布式并行计算和正反馈机制。易于与其他方法结合,具有很强的鲁棒性和适应性,但存在搜素时间长、易陷入局部最优解的缺点。为了克服这一缺点, 文中给出一种新的蚁群算法——动态蚂蚁遗传混合算法。在基本蚁群算法中引入变异机制, 采用最佳融合点评估策略来交叉地调用两种算法。动态地控制遗传算法与蚂蚁算法的调用时机,并设计了相应的信息素更新方法,有效减少了算法的冗余迭代次数,提高了搜索速度,同时引入迭代调整阈值控制算法后期的遗传操作和蚂蚁规模,加快了种群进化速度,从而更快地找到最优解。该法具有较快的收敛速度,节省计算时间,实验结果表明该方法是行之有效的。
关键词:蚁群算法; TSP问题; 遗传算法; 动态蚂蚁遗传混合算法
1 引言
蚁群算法 (Ant Colony Algorithms,ACO)又称蚂蚁算法。是一种用来在图中寻找优化路径的机率型技术。蚂蚁在寻找食物时,总是能找到较短的路径。受到蚁群系统信息共享机制的启发,意大利学者Macro Dorigo于1992年在他的博士论文中首次系统提出了蚁群算法,并成功地将该算法应用到求解旅行商问题(TSP)和二次分配问题(QAP)中。取得了一系列较好的实验结果。解决一些实际问题也有很好的效果。但蚁群算法同其它生物进化算法一样存在过早收敛易陷入局部极小值等问题。结合其它优化算法形成混合蚁群算法是克服这些缺点的有效手段。遗传算法(genetic algorithm,GA)以决策变量的编码作为运算对象,在优化过程中借鉴生物学中染色体和基因的概念,模拟自然界中生物和遗传进化等机理,通过个体适应度来进行概率选择操作,通过交叉变异产生新的个体,从而遗传算法具有较强的全局性。
为克服蚁群算法搜索速度慢、易陷入局部最优等缺点。本文提出了一种新的动态蚁群遗传混合算法(Dynamic Ant Algorithm -Genetic Algorithm,DAAGA)。该算法采用最佳融合点评估策略来交叉地调用两种算法,其框架是用蚂蚁算法的解作为遗传操作的种子,每当种
群进化接近停滞时,调用蚂蚁算法。这种结构可以动态地控制遗传算法和蚂蚁算法的调用时机,再配合相应的信息素更新方法,可以提高算法的收敛速度和收敛性能;同时这种算法还引入了迭代调整阈值来控制算法后期的遗传操作和蚂蚁规模,即在种群已进化至最优解附近,遗传算法作用减少时,只做变异操作以减少算法计算工作量,增加蚂蚁规模以更快地找到最优解。
2 基本蚁群算法的原理
蚁群算法是一种由于受自然界生物的行为启发而产生的“自然”算法。它是从对蚁群行为的研究中产生的。自然界中,诸如蚂蚁、蜜蜂等群居昆虫,虽然个体昆虫的行为极其简单,但由单个简单的个体所组成的群体却表现出非常复杂有序的集体行为。经过大量观察研究,仿生学家发现,蚂蚁个体之间通过一种称之为信息素( pheromone) 的物质进行信息传递。从而能相互协作,完成复杂的任务。
蚁群算法计算过程主要包括两个阶段:信息素的积累阶段和蚂蚁间的相互协作阶段,前者包括各候选解积累的信息不断调整自身结构的过程,即蚂蚁不断选择从信息素量大的路径上通过,使得此路径上蚂蚁留下的信息素越来越大,而信息素量小的路径,则蚂蚁选择的概率越来越小,会逐渐被淘汰;在蚂蚁的协作阶段,候选解相互间用过信息交流,一起发现更为优越的路径,产生更优的解。
通过人工模拟蚂蚁搜索食物的过程,我们称这种算法为“人工蚁群算法”。为了说明人工蚁群系统的原理, 我们先简要介绍一下蚂蚁搜索食物的具体过程。这里用图1形象说明自然界蚂蚁的觅食行为,图2形象说明“人工蚁群算法”的路径搜素原理和机制。
Fig. 1. An example with real ant
a) Ants follow a path between points A and E.
b) An obstacle is interposed; ants can choose to go around it following one of the two different paths with equal probability.
c) On the shorter path more pheromone is laid down.
Fig. 2. An example with artificial ants
a) The initial graph with distances.
b) At time t=0 there is no trail on the graph edges; therefore, ants choose whether to turn right or left with equal probability.
c) At time t=1 trail is stronger on shorter edges, which are therefore, in the average, preferred by ants.
2.1基本蚁群算法的数学模型
蚁群算法的寻优是在有向图G'=(C,L,Γ)上通过三个准则(转移概率准则、局部调整准则和全局信息素调整准则)加以实现的。
(1)转移概率准则:
[][][][])1(,,0)()()()()(k k ir ir ij ij k ij allowed s allowed j t t t t t p allowedk N ⊂∈⎪⎪⎩⎪⎪⎨⎧=∑⊂,否则βαβ
αητητ
其中allowed k ={C-tabu k }表示蚂蚁k 下一步允许选择的城市;α为信息启发式因子,τij
(t)为从i 城市到j 城市的路径信息素。α表示轨迹的相对重要性,α值越大,蚂蚁选择该路径的可能性就越大。如果α过大其选择的随机性就越小,容易陷入局部最优解,反之α过小易造成算法收敛程度过慢;β为期望启发式因子,表示能见度的相对重要性,β越大,则该状态状态转移概率越接近于贪心规则;ηij (t)为启发函数,ηij (t) =1/d ij ;式中d ij 表示相邻两
个城市之间的距离。对蚂蚁k 而言,d ij 越小,则ηij (t)越大,p ijk 也就越大。显然,该启发
函数表示蚂蚁从元素(城市)i 转移到元素(城市)j 的期望程度。
(2)局部调整准则
这种局部调整准则模仿了真实世界的外激素挥发原则,随着时间的推移而历史信息素逐步挥发。蚁群算法中,经过h 个时刻,两个元素状态之间的局部信息素数量可根据以下调整:
)2()/(1)()1()(m in 00
nl t h t ij ij =+-=+τξττξτ
其中,[]1,0⊂ξ,min l 表示集合C 中量个最近元素之间的距离。
(3)全局信息素调整准则
(t+n )时刻在路径(i, j)上的信息量可按如下规则进行调整