一种新蚁群优化算法信息素更新策略及其性能分析.docVIP

  • 16
  • 0
  • 约4.75千字
  • 约 9页
  • 2018-08-13 发布于福建
  • 举报

一种新蚁群优化算法信息素更新策略及其性能分析.doc

一种新蚁群优化算法信息素更新策略及其性能分析

一种新的蚁群优化算法信息素更新策略及其性能分析   摘要:针对蚁群优化算法的关键步骤――信息素轨迹更新过程进行了深入分析。通过理论上的证明和实验验证,提出了信息素轨迹更新中存在着一个利用―探索困境;在此基础上针对这个现象提出了一种基于Metropolis接受准则的信息素更新策略,并通过在不同规模的TSP上的实验,证明了这种新策略的有效性。   关键词:蚁群优化算法; 信息素更新策略; 利用―探索困境; Metropolis接受准则   中图分类号:TP301.6文献标志码:A   文章编号:1001-3695(2007)07-0086-03      0引言??      在最近十几年中,数种模仿蚁群觅食行为的算法被引用来解决组合优化问题。蚁群优化算法(ACO)包括:由M.Dorigo等人提出的Ant System和Elitist Strategy for Ant System[1~3];Ant-Q System[4]、Ant Colony System[5,6]和B.Bullnheimer等人提出的另一种改进算法Rank-Based Version of Ant System[7];T.Stützle等人提出的一种相当出色的改进算法MAX-MIN Ant System[8]。蚁群优化首先被应用到TSP和QAP问题中[1],证明是相当有效的。最近,T.Stützle和M.Dorigo对一类蚁群优化算法作出了收敛性的证明[9];C.Blum等人提出了一个蚁群优化算法超立方框架(Hypercube Framework)[10];M.Birattari等人对于蚂蚁程序方法(Ant Programming)就其作为解决由组合优化问题演绎出的多阶段决策问题(Multi-Stage Decision Problem)的迭代蒙特卡罗实现(Iterated Monte Carlo Approach)提出了一个正式框架[11]。这些论文从很大程度上充实了蚁群优化算法的理论,尤其在蚁群算法的收敛性证明和通用框架的构建上,但是对于蚁群算法的阐述和分析尚未达到能建立完美的数学模型或通用框架的地步。??   本文从阐述蚁群优化算法的基本框架开始,引出对蚁群算法一个重要环节――信息素轨迹更新过程的分析;进而提出了在信息素轨迹更新过程中存在着一种两难困境,称之为蚁群算法的利用―探索困境;针对此提出一种证明是有效的信息素轨迹更新策略,称为基于Metropolis接受准则的信息素更新策略。??      1问题与算法描述??      从图中可以看到,在第179代发现最优解后,经过了大约40代,归一化λ分支系数就降到了1.2左右;在400代后,归一化λ分支系数基本接近于1,算法已基本经收敛(事实上,未曾收敛的节点个数可以由(1-λ??bf)N??s??来估算)。当然这是一个非常简单的极小规模问题,所以算法发现了最优。笔者甚至观察到,对于这样的问题,在120代左右,算法也曾落入一个局优解。由于问题规模很小,算法得以跳出这个局优;如果问题规模较大,算法就极可能陷入某个局部较差的解。??   本文给出其中一个节点(对应于图2的第14节点,此节点的最优相邻节点为7和13)更直观的信息素分布,如图3所示。可以更明显地看到,节点12在100代左右曾落入一个局优解,在200代左右才正确搜索到最优,在250代基本收敛。在这里要再次强调算法跳出这个局优是由于问题规模极小,如果规模稍大,算法就极可能陷入某个局部较差的解。??   广义地说,这并不是蚁群优化算法的特质。许多非数值优化算法包括遗传算法在内,均会存在搜索的深度和搜索广度的冲突,这对于蚁群优化算法就是:信息素落差必须足够大以保证算法搜索的方向(利用原有的信息);同时信息素的落差又不能太过悬殊而使算法无法探索新解(探索新解)。所以,把这个信息素的两难称为利用―探索困境。一个好的算法必须给出一个均衡策略来兼顾两者。一些相应策略也曾被提出,包括显式限定信息素上下界、信息素混合更新策略和信息素平滑策略等[1~4,8]。在这里,提出一种基于Metropolis接受准则的信息素更新策略。??      3一种新的信息素更新方法??      采用上述策略是基于两点理由。第一点理由已经在第2章给出了证明;而第二点理由将在下面予以例证。①在仅使用迄今最优解更新时,搜索将很快集中到最优解的邻域中,限制了对潜在的更好解的搜索,进而搜索陷入差解的可能性也大大增加。②在使用该文的更新策略时,当系统温度较高时,算法将以较大的概率接受Generate函数产生的不同解,进行广泛的试探,能够有效地避免算法初期陷入差解的状况;当在系统温度较低时,将以小概率接受Generate函数产生的不同解,算法的后期将搜索集中到

文档评论(0)

1亿VIP精品文档

相关文档