[发明专利]一种基于TBB的多核并行蚁群设计方法无效
申请号: | 200910077119.8 | 申请日: | 2009-01-16 |
公开(公告)号: | CN101464965A | 公开(公告)日: | 2009-06-24 |
发明(设计)人: | 李妮;高栋栋;龚光红;韩亮 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06N3/00 | 分类号: | G06N3/00;G06F9/46 |
代理公司: | 北京永创新实专利事务所 | 代理人: | 周长琪 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于TBB的多核并行蚁群设计方法,利用TBB支持多核处理器并行计算的优势来设计并行蚁群算法,即采用TBB面向对象的并行优化方法,通过编写相关的模版类,优化蚁群算法中最为耗时的循环迭代和循环赋值,将每个蚂蚁的求解过程分配到不同线程,充分利用计算机多核的资源优势。在基本不改变串行蚁群算法的基础上实现了算法的并行化,保持了原有的设计结构,并且采用串行计算和并行计算相结合的方法对蚁群算法中的信息素进行更新。并行优化计算过程简单灵活,易于操作,而且符合计算机技术向着多处理器及多核架构的发展趋势,提高了算法的运行时间效率,为大规模组合优化工程问题的实时解算提供了可能性。 | ||
搜索关键词: | 一种 基于 tbb 多核 并行 设计 方法 | ||
【主权项】:
1、一种基于TBB的多核并行蚁群设计方法,其特征在于由下列步骤实现:步骤1:TBB并行计算平台的安装与环境设置;步骤2:编写并行计算的模版类;步骤3:TBB任务调度的初始化;步骤4:调用并行计算的模版类;步骤5:得到并行计算结果,结束TBB任务调度;步骤2中所述的编写并行计算的模版类通过下述步骤完成:(a)设置问题规模;利用TBB中parallel_for并行模版编写节点间距离计算和初始信息素设置的模版类;并行模版中编写计算两个节点间距离的类ComputeDistance;(b)初始化各个蚂蚁;首先设置蚂蚁数目,将蚂蚁随机放置到各个节点;然后并行初始化各个蚂蚁,设置蚂蚁路径的禁忌表;利用TBB中parallel_for并行模版编写初始化各个蚂蚁的模版类;在并行模版中编写初始化蚂蚁的类InitializeAnts;(c)各个蚂蚁搜寻遍历路径,编写各个蚂蚁搜寻路径的模版类;蚂蚁根据概率选择下一个节点;根据当前节点,修改每个蚂蚁的路径禁忌表,计算当前路径长度;利用TBB中parallel_reduce并行模版编写各个蚂蚁搜寻路径的模版类;在并行模版中编写各个蚂蚁独立搜寻路径的类SimulateAnt;(d)判断蚂蚁状态;如果存在未遍历完所有节点的蚂蚁,则跳转到步骤(c),继续重复蚂蚁搜寻路径过程,否则进行下一步即步骤(e);(e)比较各个蚂蚁的路径长度,选择最优路径;利用TBB中parallel_for并行模版编写比较各个蚂蚁路径长度的模版类;在并行模版中编写寻找蚁群中最优路径的类ComputeBestPath;(f)并行计算节点间路径上的信息素残留量,串行计算蚂蚁产生的信息增量,更新路径上的信息素;利用TBB中parallel_for并行模板编写更新路径上的信息素的模版类;模版中编写两个节点间信息素更新的类UpdatePheromone。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910077119.8/,转载请声明来源钻瓜专利网。