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

该专利提出了一种基于蚁群优化和遗传算法的粗粒度并行算法,用于解决旅行商问题。算法通过初始化蚂蚁群并在各进程中执行遗传操作,实现并行计算,提高计算效率。在大量计算实例中,该并行算法显示出了优于串行算法的计算速度,并能寻找到问题的最优解,适用于解决中等规模的组合优化问题,如物流路径规划等。
摘要由CSDN通过智能技术生成

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

【专利摘要】本发明公开了一种基于蚁群优化和遗传算法的粗粒度并行算法,初始化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日

【发明者】董改芳, 付学良, 翟冰, 李宏慧, 扈华 申请人:内蒙古农业大学

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值