《一种基于蚁群优化和遗传算法的粗粒度并行算法.pdf》由会员分享,可在线阅读,更多相关《一种基于蚁群优化和遗传算法的粗粒度并行算法.pdf(7页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103903053 A (43)申请公布日 2014.07.02 CN 103903053 A (21)申请号 201410026790.0 (22)申请日 2014.01.18 G06N 3/00(2006.01) G06N 3/12(2006.01) (71)申请人 内蒙古农业大学 地址 010018 内蒙古自治区呼和浩特昭乌达 路 306 号 (72)发明人 董改芳 付学良 翟冰 李宏慧 扈华 (54) 发明名称 一种基于蚁群优化和遗传算法的粗粒度并行 算法 (57) 摘要 本发明公开了一种基于蚁群优化和遗传算法 的粗粒度并行算法, 初始化 m 只蚂蚁的起始城市。
2、 ; 蚁群周游一次, 将周游结果作为 GA 的初始种群 ; 蚁群周游一次, 计算并记录本次周游具有最短路 径的蚂蚁 ; 运行 GA 的选择算子、 GA 的杂交算子、 GA 的变异算子 ; 若迭代过程达到预先设定的迭代 条件, 计算并输出运行时间, 输出最优解。经过大 量计算表明, 该并行算法的计算速度优于同等串 行算法。 (51)Int.Cl. 权利要求书 1 页 说明书 4 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书4页 附图1页 (10)申请公布号 CN 103903053 A CN 103903053 A 1/1 页 2 1. 一。
3、种基于蚁群优化和遗传算法的粗粒度并行算法, 其特征在于, 包括以下步骤 : A、 各进程初始化 : A1 初始化 m 只蚂蚁的起始城市 ; A2 蚁群周游一次, 将周游结果作为 GA 的初始种群 ; B、 各进程实施遗传蚁群合作方法 : B1 蚁群周游一次, 计算并记录本次周游具有最短路径的蚂蚁 ; B2 运行 GA 的选择算子 ; B3 运行 GA 的杂交算子 ; B4 运行 GA 的变异算子 ; B5 计算并记录本次 GA 的最小个体 MinGet i ; B6 如果本次周游蚁群最优蚂蚁的最短路径小于 GA 的最小个体的适应值, 并且, 这两者 之中的较小值比上一次迭代所得的最小值小, 用。
4、蚁群最优路径更新 GA 最小个体的染色体 序列 ; 如果本次迭代 GA 的最小个体的适应值小于蚁群最好蚂蚁的最短路径, 并且, 这两者之 中的较小值比上一次迭代所得的最小值小, 用 GA 最小个体的染色体序列更新蚁群最优路 径 ; B7) 如果迭代次数是一个素数的倍数, 主进程收集各进程最优解, 计算截止此次迭代具 有最小值的进程号, 并且将这个最小值及路径广播 ; B8) 主进程判断此次迭代若达到实例最优解, 则输出最优解及计算时间, 强制退出程 序 ; 否则输出本次迭代最优解 ; B9) 各进程对蚁群进行全局信息素更新 ; B10) 如果迭代次数是另一个素数的倍数, 则用蚁群的部分路径更新。
5、 GA 的部分染色体 序列 ; C、 重复步骤 B, 若迭代过程达到预先设定的迭代条件, 转步骤 D ; . D、 计算并输出运行时间, 输出最优解。 2. 根据权利要求 1 所述的基于蚁群优化和遗传算法的粗粒度并行算法, 其特征在于, 选择国际库 TSPLIB 中的实例 KroA100 进行计算, 优化蚁群参数为 : 进程个数 NofP 取 2, 蚂 蚁个数 m 取 50, 初始信息素浓度 0取 20, =0.1, 5, Q=100000 ; 遗传相关参数 : 杂交 概率 Pc 取 0.4, 变异概率 Pm 取 0.6。 权 利 要 求 书 CN 103903053 A 2 1/4 页 3 。
6、一种基于蚁群优化和遗传算法的粗粒度并行算法 技术领域 0001 本发明涉及一种求解旅行商问题的并行蚁群遗传算法, 具体涉及一种基于蚁群优 化和遗传算法的粗粒度并行算法。 背景技术 0002 旅行商问题是一个经典的组合优化问题, 是 NP 完全问题。也就是说随着问题规模 的增大, 计算时间以指数阶增加。串行算法的计算时间在求解小规模旅行商问题实例时还 可以接受, 但是在求解中等规模计算实例的时候计算时间可以达到几十分钟, 几个小时。 发明内容 0003 为了克服现有技术中的缺陷, 解决上述技术问题, 本发明提供一种基于蚁群优化 和遗传算法的粗粒度并行算法。 0004 其技术方案如下 : 0005。
7、 一种基于蚁群优化和遗传算法的粗粒度并行算法, 包括以下步骤 : 0006 A、 各进程初始化 Initialization of Each Process(IofEP) : 0007 A1 初始化 m 只蚂蚁的起始城市 ; 0008 A2 蚁群周游一次, 将周游结果作为 GA 的初始种群 ; 0009 B、 各进程实施遗传蚁群合作方法 Cooperation ofAnt Colony Optimization and Genetic Algorithm by Each Process(Co-ACO-GAbyEP) : 0010 B1 蚁群周游一次, 计算并记录本次周游具有短路径的蚂蚁 Num。
8、ShortPathing ; 0011 B2 运行 GA 的选择算子 ; 0012 B3 运行 GA 的杂交算子 ; 0013 B4 运行 GA 的变异算子 ; 0014 B5 计算并记录本次 GA 的最小个体 MinGeti ; 0015 B6 如果本次周游蚁群最优蚂蚁的最短路径小于 GA 的最小个体的适应值, 即 (LenthNumShortPathing NextColonyMinGeti.Fitness) 并且, 这两者之中的较小值 比上一次迭代所得的最小值小, 用蚁群最优路径更新 GA 最小个体的染色体序列 ; 0016 如果本次迭代 GA 的最小个体的适应值小于蚁群最好蚂蚁的最短路。
9、径, 即 (NextColonyMinGeti.Fitness LenthNumShortPathing) 并且, 这两者之中的较小值 比上一次迭代所得的最小值小, 用 GA 最小个体的染色体序列更新蚁群最优路径 ; 0017 B7) 如果迭代次数是一个素数的倍数, 主进程收集各进程最优解, 计算截止此次迭 代具有最小值的进程号, 并且将这个最小值及路径广播 ; 0018 B8) 主进程判断此次迭代若达到实例最优解, 则输出最优解及计算时间, 强制退出 程序 ; 否则输出本次迭代最优解 ; 0019 B9) 各进程对蚁群进行全局信息素更新 ; 0020 B10) 如果迭代次数是另一个素数的倍数。
10、, 则用蚁群的部分路径更新 GA 的部分染 说 明 书 CN 103903053 A 3 2/4 页 4 色体序列 ; 0021 C、 重复步骤 B, 若迭代过程达到预先设定的迭代条件, 转步骤 D ; . 0022 D、 计算并输出运行时间, 输出最优解。 0023 进一步优选, 选择国际库 TSPLIB 中的实例 KroA100 进行计算, 优化蚁群参数为 : 进程个数 NofP 取 2, 蚂蚁个数 m 取 50, 初始信息素浓度 0取 20, 0.1, 5, Q 100000 ; 遗传相关参数 : 杂交概率 Pc 取 0.4, 变异概率 Pm 取 0.6。 0024 本发明的有益效果 :。
11、 0025 通过对国际库中其它实例的大量计算表明, 该方法充分展示蚁群和遗传方法各自 的优点, 避免陷入局部最优, 能够搜索到实例最优解。为中小规模 TSP 实例提供了一种解决 方案。 附图说明 0026 图 1 为本发明基于蚁群优化和遗传算法的粗粒度并行算法的流程图。 具体实施方式 0027 下面结合附图和具体实施方式对本发明的技术方案作进一步详细地说明。 0028 参照图 1, 一种基于蚁群优化和遗传算法的粗粒度并行算法, 包括以下步骤 : 0029 A、 各进程初始化 Initialization of Each Process(IofEP) : 0030 A1 初始化 m 只蚂蚁的起始。
12、城市 ; 0031 A2 蚁群周游一次, 将周游结果作为 GA 的初始种群 ; 0032 B、 各进程实施遗传蚁群合作方法 Cooperation of Ant Colony Optimization andGeneticAlgorithm by Each Process(Co-ACO-GAbyEP) : 0033 B1 蚁群周游一次, 计算并记录本次周具有最知路径的蚂蚁 NumShortPathing ; 0034 B2 运行 GA 的选择算子 ; 0035 B3 运行 GA 的杂交算子 ; 0036 B4 运行 GA 的变异算子 ; 0037 B5 计算并记录本次 GA 的最小个体 Min。
13、Get i ; 0038 B6 如果本次周游蚁群最优蚂蚁的最短路径小于 GA 的最小个体的适应值, 即 (LenthNumShortPathing NextColonyMinGeti.Fitness) 并且, 这两者之中的较小值 比上一次迭代所得的最小值小, 用蚁群最优路径更新 GA 最小个体的染色体序列 ; 0039 如果本次迭代 GA 的最小个体的适应值小于蚁群最好蚂蚁的最短路径, 即 (NextColonyMinGeti.Fitness LenthNumShortPathing) 并且, 这两者之中的较小值 比上一次迭代所得的最小值小, 用 GA 最小个体的染色体序列更新蚁群最优路径 ;。
14、 0040 B7) 如果迭代次数是一个素数的倍数, 主进程收集各进程最优解, 计算截止此次迭 代具有最小值的进程号, 并且将这个最小值及路径广播 ; 0041 B8) 主进程判断此次迭代若达到实例最优解, 则输出最优解及计算时间, 强制退出 程序 ; 否则输出本次迭代最优解 ; 0042 B9) 各进程对蚁群进行全局信息素更新 ; 0043 B10) 如果迭代次数是另一个素数的倍数, 则用蚁群的部分路径更新 GA 的部分染 说 明 书 CN 103903053 A 4 3/4 页 5 色体序列 ; 0044 C、 重复步骤 B, 若迭代过程达到预先设定的迭代条件, 转步骤 D ; . 0045。
15、 D、 计算并输出运行时间, 输出最优解。 0046 进一步优选, 选择国际库TSPLIB中的实例KroA100进行计算, 优化蚁群参数为 : 进 程个数NofP取2, 蚂蚁个数m取50, 初始信息素浓度0取20, 0.1, 5, Q=100000 ; 遗传相关参数 : 杂交概率 Pc 取 0.4, 变异概率 Pm 取 0.6。 0047 本发明算法的计算实例取自于国际数据库 TSPLIB, 在 TSPLIB 中有大量的计算实 例, 包括 Eil51, KroA100, Lin318, Pcb442 等, 经过大量计算表明, 该并行算法的计算速度优 于同等串行算法, 而它能搜索到实例的精确解也。
16、体现了它强大的搜索能力。由于 TSP( 旅行 商问题)是一个经典的组合优化问题, 我们的算法能够适用于TSP问题, 也适用于求解其它 约束组合优化问题, 乳品企业原奶车辆运输路径问题, 如医药派送车辆路径问题, 车辆路径 问题, 运钞车辆路径问题, 邮政物流车辆路径问题等等。本算法相关计算结果和数据如下 表 : 0048 表 1 参数表 0049 TSP 实例 nnq00C0Qpcpm Eil5151500.160.5200.1810000.40.6 KroA100100500.150.5200.18100000 0.40.6 Pcb4424424000.150.5200.18100000 0。
17、.40.6 0050 表 2 计算 20 次的各实例的平均解, 最好解和实际最优解比较 0051 实例名进程数本算法平均解本算法最优解实际最优解 Eil512429426426 KroA1002213562128221282 Pcb4424526645088450778 0052 表 3 计算 20 次的各实例的计算时间与串行算法比较 0053 实例名进程数 (NofP)本算法平均计算时间串行算法的平均计算时间 Eil51218.560560s48.875360s KroA100260.999340s253.001256s Pcb4424894.000346s2194.708802s 0054 以上所述, 仅为本发明较佳的具体实施方式, 本发明的保护范围不限于此, 任何熟 说 明 书 CN 103903053 A 5 4/4 页 6 悉本技术领域的技术人员在本发明披露的技术范围内, 可显而易见地得到的技术方案的简 单变化或等效替换均落入本发明的保护范围内。 说 明 书 CN 103903053 A 6 1/1 页 7 图 1 说 明 书 附 图 CN 103903053 A 7 。