一种基于蚁群优化和遗传算法的粗粒度并行算法

文档序号:6536350阅读:385来源:国知局
一种基于蚁群优化和遗传算法的粗粒度并行算法
【专利摘要】本发明公开了一种基于蚁群优化和遗传算法的粗粒度并行算法,初始化m只蚂蚁的起始城市;蚁群周游一次,将周游结果作为GA的初始种群;蚁群周游一次,计算并记录本次周游具有最短路径的蚂蚁;运行GA的选择算子、GA的杂交算子、GA的变异算子;若迭代过程达到预先设定的迭代条件,计算并输出运行时间,输出最优解。经过大量计算表明,该并行算法的计算速度优于同等串行算法。
【专利说明】一种基于蚁群优化和遗传算法的粗粒度并行算法
【技术领域】
[0001]本发明涉及一种求解旅行商问题的并行蚁群遗传算法,具体涉及一种基于蚁群优化和遗传算法的粗粒度并行算法。
【背景技术】
[0002]旅行商问题是一个经典的组合优化问题,是NP完全问题。也就是说随着问题规模的增大,计算时间以指数阶增加。串行算法的计算时间在求解小规模旅行商问题实例时还可以接受,但是在求解中等规模计算实例的时候计算时间可以达到几十分钟,几个小时。

【发明内容】

[0003]为了克服现有技术中的缺陷,解决上述技术问题,本发明提供一种基于蚁群优化和遗传算法的粗粒度并行算法。
[0004]其技术方案如下:
[0005]一种基于蚁群优化和遗传算法的粗粒度并行算法,包括以下步骤:
[0006]A、各进程初始化 Initialization of Each Process (1fEP):
[0007]Al初始化m只蚂蚁的起始城市;
[0008]A2蚁群周游一次,将周游结果作为GA的初始种群;
[0009]B、各进程实施遗传蚁群合作方法 Cooperation ofAnt Colony Optimization andGenetic Algorithm by Each Process (Co-ACO-GAbyEP):
[0010]BI蚁群周游一次,计算并记录本次周游具有短路径的蚂蚁NumShortPathing ;
[0011]B2运行GA的选择算子;
[0012]B3运行GA的杂交算子;
[0013]B4运行GA的变异算子;
[0014]B5计算并记录本次GA的最小个体MinGeti ;
[0015]B6如果本次周游蚁群最优蚂蚁的最短路径小于GA的最小个体的适应值,即(Lenth[NumShortPathing] < NextColony [MinGeti].Fitness)并且,这两者之中的较小值比上一次迭代所得的最小值小,用蚁群最优路径更新GA最小个体的染色体序列;
[0016]如果本次迭代GA的最小个体的适应值小于蚁群最好蚂蚁的最短路径,即(NextColony [MinGeti].Fitness < Lenth[NumShortPathing])并且,这两者之中的较小值比上一次迭代所得的最小值小,用GA最小个体的染色体序列更新蚁群最优路径;
[0017]B7)如果迭代次数是一个素数的倍数,主进程收集各进程最优解,计算截止此次迭代具有最小值的进程号,并且将这个最小值及路径广播;
[0018]B8)主进程判断此次迭代若达到实例最优解,则输出最优解及计算时间,强制退出程序;否则输出本次迭代最优解;
[0019]B9)各进程对蚁群进行全局信息素更新;
[0020]B10)如果迭代次数是另一个素数的倍数,则用蚁群的部分路径更新GA的部分染色体序列;
[0021]C、重复步骤B,若迭代过程达到预先设定的迭代条件,转步骤D
[0022]D、计算并输出运行时间,输出最优解。
[0023]进一步优选,选择国际库TSPLIB中的实例KroAlOO进行计算,优化蚁群参数为:进程个数NofP取2,蚂蚁个数m取50,初始信息素浓度Ttl取20,α =0.1,β = 5,Q =100000 ;遗传相关参数:杂交概率Pc取0.4,变异概率Pm取0.6。
[0024]本发明的有益效果:
[0025]通过对国际库中其它实例的大量计算表明,该方法充分展示蚁群和遗传方法各自的优点,避免陷入局部最优,能够搜索到实例最优解。为中小规模TSP实例提供了一种解决方案。
【专利附图】

【附图说明】
[0026]图1为本发明基于蚁群优化和遗传算法的粗粒度并行算法的流程图。
【具体实施方式】
[0027]下面结合附图和【具体实施方式】对本发明的技术方案作进一步详细地说明。
[0028]参照图1,一种基于蚁群优化和遗传算法的粗粒度并行算法,包括以下步骤:
[0029]A、各进程初始化 Initialization of Each Process (1fEP):
[0030]Al初始化m只蚂蚁的起始城市;
[0031]A2蚁群周游一次,将周游结果作为GA的初始种群;
[0032]B、各进程实施遗传蚁群合作方法 Cooperation of Ant Colony OptimizationandGeneticAlgorithm by Each Process (Co-ACO-GAbyEP):
[0033]BI蚁群周游一次,计算并记录本次周具有最知路径的蚂蚁NumShortPathing ;
[0034]B2运行GA的选择算子;
[0035]B3运行GA的杂交算子;
[0036]B4运行GA的变异算子;
[0037]B5计算并记录本次GA的最小个体MinGet i ;
[0038]B6如果本次周游蚁群最优蚂蚁的最短路径小于GA的最小个体的适应值,即(Lenth[NumShortPathing] < NextColony[MinGeti].Fitness)并且,这两者之中的较小值比上一次迭代所得的最小值小,用蚁群最优路径更新GA最小个体的染色体序列;
[0039]如果本次迭代GA的最小个体的适应值小于蚁群最好蚂蚁的最短路径,即(NextColony [MinGeti].Fitness < Lenth [NumShortPathing])并且,这两者之中的较小值比上一次迭代所得的最小值小,用GA最小个体的染色体序列更新蚁群最优路径;
[0040]B7)如果迭代次数是一个素数的倍数,主进程收集各进程最优解,计算截止此次迭代具有最小值的进程号,并且将这个最小值及路径广播;
[0041]B8)主进程判断此次迭代若达到实例最优解,则输出最优解及计算时间,强制退出程序;否则输出本次迭代最优解;
[0042]B9)各进程对蚁群进行全局信息素更新;
[0043]B10)如果迭代次数是另一个素数的倍数,则用蚁群的部分路径更新GA的部分染色体序列;
[0044]C、重复步骤B,若迭代过程达到预先设定的迭代条件,转步骤D
[0045]D、计算并输出运行时间,输出最优解。
[0046]进一步优选,选择国际库TSPLIB中的实例KroAlOO进行计算,优化蚁群参数为:进程个数NofP取2,蚂蚁个数m取50,初始信息素浓度Ttl取20,α =0.1,β = 5, Q=1000OO ;遗传相关参数:杂交概率Pc取0.4,变异概率Pm取0.6。
[0047]本发明算法的计算实例取自于国际数据库TSPLIB,在TSPLIB中有大量的计算实例,包括Eil51,KroA100,Lin318,Pcb442等,经过大量计算表明,该并行算法的计算速度优于同等串行算法,而它能搜索到实例的精确解也体现了它强大的搜索能力。由于TSP (旅行商问题)是一个经典的组合优化问题,我们的算法能够适用于TSP问题,也适用于求解其它约束组合优化问题,乳品企业原奶车辆运输路径问题,如医药派送车辆路径问题,车辆路径问题,运钞车辆路径问题,邮政物流车辆路径问题等等。本算法相关计算结果和数据如下表:
[0048]表1参数表
[0049]
【权利要求】
1.一种基于蚁群优化和遗传算法的粗粒度并行算法,其特征在于,包括以下步骤: A、各进程初始化: Al初始化m只蚂蚁的起始城市; A2蚁群周游一次,将周游结果作为GA的初始种群; B、各进程实施遗传蚁群合作方法: BI蚁群周游一次,计算并记录本次周游具有最短路径的蚂蚁; B2运行GA的选择算子; B3运行GA的杂交算子; B4运行GA的变异算子; B5计算并记录本次GA的最小个体MinGet i ; B6如果本次周游蚁群最优蚂蚁的最短路径小于GA的最小个体的适应值,并且,这两者之中的较小值比上一次迭代所得的最小值小,用蚁群最优路径更新GA最小个体的染色体序列; 如果本次迭代GA 的最小个体的适应值小于蚁群最好蚂蚁的最短路径,并且,这两者之中的较小值比上一次迭代所得的最小值小,用GA最小个体的染色体序列更新蚁群最优路径; B7)如果迭代次数是一个素数的倍数,主进程收集各进程最优解,计算截止此次迭代具有最小值的进程号,并且将这个最小值及路径广播; B8)主进程判断此次迭代若达到实例最优解,则输出最优解及计算时间,强制退出程序;否则输出本次迭代最优解; B9)各进程对蚁群进行全局信息素更新; BlO)如果迭代次数是另一个素数的倍数,则用蚁群的部分路径更新GA的部分染色体序列; C、重复步骤B,若迭代过程达到预先设定的迭代条件,转步骤D D、计算并输出运行时间,输出最优解。
2.根据权利要求1所述的基于蚁群优化和遗传算法的粗粒度并行算法,其特征在于,选择国际库TSPLIB中的实例KroAlOO进行计算,优化蚁群参数为:进程个数NofP取2,蚂蚁个数m取50,初始信息素浓度Ttl取20,α=0.1,β = 5,Q=IOO(KK);遗传相关参数:杂交概率Pc取0.4,变异概率Pm取0.6。
【文档编号】G06N3/00GK103903053SQ201410026790
【公开日】2014年7月2日 申请日期:2014年1月18日 优先权日:2014年1月18日
【发明者】董改芳, 付学良, 翟冰, 李宏慧, 扈华 申请人:内蒙古农业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1