CN110097076A - 一种基于gpu架构的矢量道路网络匹配并行计算方法及装置 - Google Patents
一种基于gpu架构的矢量道路网络匹配并行计算方法及装置 Download PDFInfo
- Publication number
- CN110097076A CN110097076A CN201910228213.2A CN201910228213A CN110097076A CN 110097076 A CN110097076 A CN 110097076A CN 201910228213 A CN201910228213 A CN 201910228213A CN 110097076 A CN110097076 A CN 110097076A
- Authority
- CN
- China
- Prior art keywords
- particle
- road network
- matching
- global
- iteration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 239000002245 particle Substances 0.000 claims abstract description 117
- 238000012545 processing Methods 0.000 claims abstract description 7
- 238000005457 optimization Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000001133 acceleration Effects 0.000 claims description 18
- 238000011524 similarity measure Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 9
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 239000000872 buffer Substances 0.000 claims description 5
- -1 position Substances 0.000 claims 1
- 238000012360 testing method Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种基于GPU架构的矢量道路网络匹配并行计算方法及装置,方法包括读取两组待匹配的道路网,分别为待匹配道路网和目标道路网;将道路网数据从CPU读取到GPU中的全局存储器;遍历节点较少的路网,得到每一个节点的所有潜在匹配对构成集合;将潜在匹配对划分成多个块和线程,使用并行策略同时计算各线程中匹配对的相似度值,并根据相似度值进行排序;再然后进行粒子群算法,返回历史全局最优粒子作为最终的处理结果。本发明能够显著提高大规模路网数据的路网匹配效率,有助于矢量道路网的集成与更新。
Description
技术领域
本发明涉及矢量道路网络匹配技术,特别是一种基于GPU架构的矢量道路网络匹配并行计算方法及装置。
背景技术
道路网络匹配是矢量道路集成、融合和更新的关键技术。道路网络匹配的主要任务是在异构的道路中建立表示真实道路同一路段的道路目标对的对应关系。它在道路网络数据和地理信息科学应用(如车辆导航产品)的及时和具有成本效益的更新方面有重大潜力。
为了解决道路网络匹配问题,人们提出了许多算法,其中道路网络匹配方法的核心是评价两个节点/道路特征的相似性,确定匹配对的对应关系。1)在较早的研究中,匹配单元通常是节点或路段周围的有限局部环境。Tong(A linear road object matchingmethod for conflation based on optimization and logisticregression.International Journal of Geographical Information Science 2014,28,824-846),Beeri,C.(Object fusion in geographic information systems.InProceedings of the Thirtieth international conference on Very large databases-Volume 30,Morgan Kaufmann:Toronto,2004;pp 816-827),Song,W.(Relaxation-based point feature matching for vector map conflation.Transactions in GIS2011,15,43-60),Safra,E(Ad hoc matching of vectorial roadnetworks.International Journal of Geographical Information Science 2013,27,114-153),Min,D.(Extended hausdorff distance for spatial objects ingis.International Journal of Geographical Information Science 2007,21,459-475)等人主要考虑同名节点的Hausdorff距离或Fréchet距离以及交叉口的拓扑结构等相似性。一些研究人员如Walter,V.(Matching spatial data sets:A statisticalapproach.International Journal of geographical information science 1999,13,445-473)和MengZhang(Delimited stroke oriented algorithm-working principle andimplementation for the matching of road networks.Geographic InformationSciences 2008,14,44-53)还集成了多种因素(例如,长度、方向和拓扑连接的数量)用于路段匹配。然而,在节点/路段尺度上匹配一个单元可能会带来局部优化问题,限制匹配精度。2)当评价匹配单元的相似性时,可以确定节点/路段的匹配关系。大多数早期方法依赖于顺序贪婪策略。该策略通过将相似性与经验阈值进行比较来达到局部最优。为了克服局部最优的局限性,学者们提出了一些优化策略,以便从所有可能的匹配选择中找到全局最优解,使得目标函数最大化所有匹配特征对之间的总相似性。全局最优解极大提高了匹配精度,然而,增加的计算复杂度也降低了匹配方法的性能。目前,关于道路网络匹配的研究主要集中在评价匹配模型的有效性和提高匹配精度方面,只有少数的研究提到了匹配方法的性能,本发明主要用于提升匹配方法的性能。
发明内容
针对现有道路网匹配算法在面向大规模数据存在计算瓶颈的问题,本发明的目的在于提供一种基于GPU架构的道路网匹配并行计算方法及装置,能够提升大规模道路网匹配任务的性能。
根据本发明的其中一方面,本发明解决其技术问题所采用的基于GPU架构的矢量道路网络匹配并行计算方法包含:
S1、CPU读取道路网络数据,包含两组待匹配的道路网,一组为待匹配道路网,一组为目标道路网;
S2、将道路网络数据从CPU读取到GPU中的全局存储器进行后续处理;
S3、遍历节点较少的道路网,得到每一个节点的所有潜在匹配对,将路网中所有节点的路网中所有节点的所有潜在匹配对构成一个相似集;
S4、将所述相似集中所有的潜在匹配对分配给多个线程块进行相似度计算,使用并行策略同时计算各线程中匹配对的相似度值,并根据相似度值进行排序;
S5、进行粒子群算法:根据粒子数确定线程数,使用并行策略将每个解抽象为一个粒子,粒子适应度为待匹配道路网与目标道路网之间的全局相似性;随机设置粒子初始位置,并根据步骤S4相似度值的排序找出全局最优值和粒子的局部最优值;
S6、并行迭代执行粒子飞行函数,以计算粒子的速度、位置、粒子适应度并更新全局最优模型、个体最优模型以及历史最优模型;
S7、比较全局最优模型与历史最优模型,当全局最优模型大于历史最优模型时,将其赋值给历史最优模型,反之,选择不属于禁忌列表的最大粒子作为全局最优值并放入禁忌列表,然后更新禁忌列表中所有粒子停留时间;
S8、若满足迭代条件,将全局内存中找到的最佳粒子从GPU端拷贝到CPU端并返回历史全局最优粒子。
进一步地,在本发明的基于GPU架构的矢量道路网络匹配并行计算方法中,使用粒子群算法寻优过程中:将节点较少的道路网记为Ra,较多的记为Rb;标记Ra的节点为Na,Rb的节点为Nb,粒子群算法的维数d设置为Na的大小。
进一步地,在本发明的基于GPU架构的矢量道路网络匹配并行计算方法中,得到节点的所有潜在匹配对采用的是缓冲区方法。
进一步地,在本发明的基于GPU架构的矢量道路网络匹配并行计算方法中,步骤S4中,相似集的计算包括以下三个阶段:
第一阶段将所有潜在匹配对分解为多个子集,以便每个线程同时为潜在匹配对的子集派生相似集;潜在匹配对的数量除以可用计算线程的数量,以确定每个线程处理特征对的数量;
第二阶段是相似性计算的并行执行,每个线程在潜在匹配对的一个子集上操作,计算相似性;
最后一个阶段包括收集来自每个线程的输出,并将它们一起重新编译成一个单一相似集,如此一个单线程完成一个潜在匹配对子集的相似性集的计算,派生出的相似性集就被附加到一个更大的单一相似集上。
进一步地,在本发明的基于GPU架构的矢量道路网络匹配并行计算方法中,在步骤S5和S6中,使用并行策略执行粒子初始位置的初始化和粒子飞行函数迭代计算,两个操作中线程数根据粒子数确定。
进一步地,在本发明的基于GPU架构的矢量道路网络匹配并行计算方法中,初始化粒子位置时使用curand函数生成随机数,这些随机数用于平行设置粒子的初始位置;根据随机数为Ra中的每个节点选择PSetaj中的初始势匹配对,然后并行初始化所有粒子以表示不同的可能参数模型,每个模型表示一系列匹配对;
在所有粒子初始化完成后,在第一个线程中进行比较,找出全局最优值和局部最优值;
其中,PSetaj的定义为:假设Na中第j个节点naj在Rb中有k个潜在候选特征{nc1,nc2,…...,nck},则naj的所有潜在匹配对构成集合PSetaj为{(naj,nc1),(naj,nc2),……,(naj,nck)},所有的PSetaj构成所述相似集。
进一步地,在本发明的基于GPU架构的矢量道路网络匹配并行计算方法中,粒子速度的更新公式为:
其中,w表示迭代权重,c1和c2表示两个加速参数,表示迭代n次时粒子i在维度j上的个体最优模型,表示迭代n次时维度j上的全局最优模型,xij表示上次迭代位置,r1和r2分别表示在迭代n次时的均匀随机数向量;
粒子位置的迭代更新公式为:
xij(n+1)=xij(n)+vij(n+1);
粒子适应度由优化目标确定,优化目标是Ra和Rb的全局相似性,一个粒子的适应度由一个粒子中的每个匹配对的相似性之和表示,适应值越大,匹配结果越好,计算公式为:
其中,nbx表示Nb中的x个节点;
粒子i的适应度值在第n次迭代时可以表示为fi(n)=[fi1(n),fi2(n),...,fid(n)],其中fij(n)表示第j维上的适应度值;
fij(n)=Sim(naj,nbx);
Sim(naj,nbx)是节点naj和nbx之间的相似度;
个体最优模型指单个粒子在多次迭代中的最优解,为一组具有个体最优适应度的匹配对,公式如下:
Pi cbest(n)=Max(PFVi(n)),n∈[1,ci];
Pi cbest(n)是粒子i从初始状态到当前迭代次数ci是选取的最大粒子适应度,每个匹配对的局部优化是通过更新粒子的个体最优模型实现;
全局最优模型是每次迭代中从粒子群中选取具有最大粒子适应度PFV的粒子Pgbest(n)在迭代时会不断更新;
Pgbest(n)=Max(PFVi(n)),i∈[1,m],n∈[1,ci]
第n次迭代上的全局最优模型pgbest(n)表示为 是第j维上的值;粒子飞行过程最大化了Ra和Rb匹配特征对的总相似性,迭代结束时,pgbest(n)是Ra和Rb的最佳匹配结果。
进一步地,在本发明的基于GPU架构的矢量道路网络匹配并行计算方法中,在粒子群算法中,定义速度范围矢量来限制飞行极限,第j维的飞行速度Vrj的取值范围为[minSim(PSetaj)-maxSim(PSetaj),maxSim(PSetaj)-minSim(PSetaj)],其中minSim(PSetaj)为潜在候选对相似度的最小值,maxSim(PSetaj)为最大值。
进一步地,在本发明的基于GPU架构的矢量道路网络匹配并行计算方法中,在步骤S6和S7中,通过每个线程与全局内存之间的通信计算,从而使用全局内存保存全局最优值:在更新每个粒子的局部最优值后,通过每个线程与全局内存之间的通信计算全局最优粒子,然后将全局最优粒子更新到全局内存中,并且为了避免更新全局最优值和降低通信成本之间的矛盾,采用定期更新策略更新全局最优值和禁忌列表。
根据本发明的另一方面,本发明还提供了一种基于GPU架构的矢量道路网络匹配并行计算装置,包含计算机存储介质,以存储计算机可执行指令,当所述计算机可执行指令被处理器执行时,所述处理器执行上述任一项的基于GPU架构的矢量道路网络匹配并行计算方法。
实施本发明的基于GPU架构的矢量道路网络匹配并行计算方法及装置,具有以下有益效果:使用并行计算加快了相似度的计算,大大提高了全局优化过程的效率。当数据规模越大,该方法在加快相似度计算和优化过程中的优势就越明显。在总时间成本方面,使用GPU的加速速度明显高于传统的CPU串行算法。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是测试区域的道路网图;
图2是本发明的方法流程图;
图3是基于PSOM的并行匹配关系优化流程图;
图4是精度增长率与粒子数的关系图;
图5是不同FN和线程数组合下10区、11区、12区和14区相似性计算的时间消耗图;
图6是与基准算法(PRM)比较,PSOM算法在CPU下(PSOM-CPU)和在GPU下(PSOM-GPU)的精度图;
图7是与基准算法(PRM)比较,PSOM算法在CPU下(PSOM-CPU)和在GPU下(PSOM-GPU)的精确度增长率以及与PSOM-CPU比较,PSOM-GPU的精确度增长率图;
图8是PSOM-CPU和PRM的优化代价时间以及两者之间的时间代价率图;
图9是14个实验区(1-14区)相似性计算PSOM-CPU和PSOM-GPU的时间成本,以及PSOM-GPU对于PSOM-CPU的加速图;
图10是不同区域F1、F2、F3、F4在相似度计算速度的百分比图;
图11是PSOM-CPU的飞行时间、PSOM-GPU的飞行时间以及PSOM-GPU对于PSOM-CPU之间飞行过程的加速图;
图12是基于PSOM的CPU和GPU的总时间比较图;
图13是在相似度计算、粒子飞行、总时间花费的加速图;
图14是使用CPU和GPU分别在相似度计算和粒子飞行过程的时间占用率图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
参考图1-图2以及表1,图1是测试区域的道路网图,图2是本发明提供的基于GPU架构的矢量路网匹配并行计算方法流程图,表1表示了用于测试的14个道路网。其中,表1中,NS表示待匹配道路网的节点数,ND表示目标道路网的节点数。1-6区、8-9区和12区来自中国武汉市,7区属于中国公路网,10-11区属于中国佛山市,13-14区属于新西兰奥克兰市。
表1 用于测试的14个道路网
编号 | NS | ND | 编号 | NS | ND |
1区 | 44 | 582 | 8区 | 519 | 673 |
2区 | 68 | 673 | 9区 | 582 | 825 |
3区 | 82 | 396 | 10区 | 4938 | 5530 |
4区 | 110 | 494 | 11区 | 7738 | 9049 |
5区 | 176 | 540 | 12区 | 10820 | 13961 |
6区 | 382 | 396 | 13区 | 13815 | 16771 |
7区 | 478 | 493 | 14区 | 72130 | 127205 |
本发明的并行计算方法包括以下步骤:
S1、CPU读取道路网络数据,包含两组待匹配的道路网,一组为待匹配道路网,一组为目标道路网。将节点较少的道路网记为Ra,较多的记为Rb;标记Ra的节点为Na,Rb的节点为Nb。
S2、将道路网络数据从中央处理器(CPU)读取到GPU中的全局存储器进行后续处理;
S3、遍历节点较少的道路网,利用缓冲区方法得到每一个节点的所有潜在匹配对,将路网中所有节点的路网中所有节点的所有潜在匹配对构成一个相似集。假设Na中第j个节点naj在Rb中有k个潜在候选特征{nc1,nc2,…...,nck},则naj的所有潜在匹配对构成集合PSetaj为{(naj,nc1),(naj,nc2),……,(naj,nck)},所有的PSetaj构成所述相似集。其中,缓冲区方法是指对于待匹配路网中的节点以指定的阈值范围构建圆形区域,将目标路网中缓冲区内的节点视为为潜在匹配节点。
S4、将所述相似集中所有的潜在匹配对分配给多个线程块进行相似度计算。块大小是GPU计算中的一个重要参数,它影响着GPU的性能。这里,块大小是指每个块单元的线程数。在相似性计算过程中,测试了FN(分配给每个线程的节点特征)和线程数的不同组合,以确定并行算法中设置合理。根据节点特征和线程数确定块数:
其中BlockN表示块数,FN表示每个线程中分配的节点特征数,Threadnum表示线程数,nodenum表示映射中节点特征的总数。图5表示了上述参数组合下的结果。在这种情况下,选择FN=15和TN=32的参数设置似乎是最好的。
然后使用并行策略同时计算各线程中匹配对的相似度值,并根据相似度值进行排序,排序的目的是为了下述进行粒子群算法寻优时,确定初始状态时的全局最优值和粒子内部的局部最优值。相似集的计算分为三个阶段:
第一阶段将所有潜在匹配对分解为多个子集,以便每个线程同时为潜在匹配对的子集派生相似集;潜在匹配对的数量除以可用计算线程的数量,以确定每个线程处理特征对的数量;
第二阶段是相似性计算的并行执行,每个线程在潜在匹配对的一个子集上操作,计算相似性;
最后一个阶段包括收集来自每个线程的输出,并将它们一起重新编译成一个单一相似集,如此一个单线程完成一个潜在匹配对子集的相似性集的计算,派生出的相似性集就被附加到一个更大的单一相似集上。
S5、参考图3,在步骤S4之后进行粒子群算法:根据粒子数确定线程数,使用并行策略将每个解抽象为一个粒子,Na的大小可视为PSO模型的维数d。Na中的每个节点对应模型的一维。群由m个粒子组成,意味着在解空间中有m个可能的候选解。第n次迭代中的粒子群记为P(n)=[P1(n),P2(n),……,Pm(n)]。第i个粒子可以表示为位置向量Pi(n)=[Pi1(n),Pi2(n),......,Pid(n)],并使用并行策略并发求解。
参考图4,粒子数是算法的关键参数之一,在并行粒子群算法中,粒子数通常在32到2000之间。为设置合适的粒子数,本发明测试了10个实验区域,分别使用50、100、200、300、400、1000和2000个粒子,在迭代数为200的条件下比较。为了便于比较结果的准确性,采用了精度增长率(AGR)指标。这里,AGR代表算法A相对于算法B的解质量,pa代表算法A的最佳解,pb代表算法B的最佳解,算法A与算法B之间的精度增长率定义为:
在此,以粒子数50为基准,将基于不同粒子数的算法精度与粒子数50计算的算法精度进行了比较。结果如图4所示。随着粒子数的增加,当粒子数设置为400时,本发明可以看到大多数的AGR值达到峰值。此外,一些AGR值在400点上显著增加。此外,更多的粒子意味着更多的解空间和更高的时间成本。显然,粒子数越大,算法的精度就越高。然而,该算法的时间开销也显著增加。因此,在选择合适的粒子数时,需要平衡算法的精度和性能。基于以上考虑,粒子数设为400,迭代数设为200,用于以后的实验。飞行过程中的块大小(线程数)也设置为400。
利用curand函数生成随机数,并用随机数平行设置粒子初始位置;根据随机数为Ra中的每个节点选择PSetaj中的初始势匹配对,然后并行初始化所有粒子以表示不同的可能参数模型,每个模型表示一系列匹配对;
在所有粒子初始化完成后,在第一个线程中进行比较,找出全局最优值和局部最优值;
S6、并行迭代执行粒子飞行函数,以计算粒子的速度、位置、粒子适应度并更新全局最优模型、个体最优模型以及历史最优模型。
粒子速度的更新公式为:
其中,w表示迭代权重,c1和c2表示两个加速参数,表示迭代n次时粒子i在维度j上的个体最优模型,表示迭代n次时维度j上的全局最优模型,xij表示上次迭代位置,r1和r2分别表示在迭代n次时的均匀随机数向量;
粒子位置的迭代更新公式为:
xij(n+1)=xij(n)+vij(n+1);
粒子适应度由优化目标确定,用于评价优化程度。粒子适应度是迭代过程结束时的最终优化解。在该问题中,优化目标是Ra和Rb的全局相似性。一个粒子的适应度由一个粒子中的每个匹配对的相似性之和表示,适应值越大,匹配结果越好,适应值计算公式为:
其中,nbx表示Nb中的x个节点;
粒子i的适应度值在第n次迭代时可以表示为fi(n)=[fi1(n),fi2(n),...,fid(n)],其中fij(n)表示第j维上的适应度值;
fij(n)=Sim(naj,nbx);
Sim(naj,nbx)是节点naj和nbx之间的相似度;
个体最优模型指单个粒子在多次迭代中的最优解,为一组具有个体最优适应度的匹配对,公式如下:
Pi cbest(n)=Max(PFVi(n)),n∈[1,ci];
Pi cbest(n)是粒子i从初始状态到当前迭代次数ci是选取的最大粒子适应度,每个匹配对的局部优化是通过更新粒子的个体最优模型实现;
全局最优模型是每次迭代中从粒子群中选取具有最大粒子适应度PFV的粒子Pgbest(n)在迭代时会不断更新;
Pgbest(n)=Max(PFVi(n)),i∈[1,m],n∈[1,ci]
第n次迭代上的全局最优模型pgbest(n)表示为 是第j维上的值;粒子飞行过程最大化了Ra和Rb匹配特征对的总相似性,迭代结束时,pgbest(n)是Ra和Rb的最佳匹配结果。
为识别匹配对,将Ra中的所有特征作为定位点,第j个匹配对(naj,nbx)中的naj是固定的。目的是从Nb中找出Ra中每个特征naj的正确匹配特征。由于Ra中的每一个特征naj在Rb中都有潜在匹配区域,因此一个粒子在每个维度上的飞行范围是有限的。第j维模型参数空间仅限于从PSetaj选取的所有可能naj的匹配对。第j维的飞行位置也应限制在PSetaj中。
通常,速度变化是一个连续的过程,但匹配对的变化是离散的过程,因此需将连续的变化过程映射成离散的过程。为保证迭代过程中速度变化是正确的,在粒子i的个体最佳模型和群的全局最佳模型中利用相似值,保证飞行中全局相似性的增加。
在粒子群算法中,定义速度范围矢量来限制飞行极限,第j维的飞行速度Vrj的取值范围为[minSim(PSetaj)-maxSim(PSetaj),maxSim(PSetaj)-minSim(PSetaj)],其中minSim(PSetaj)为潜在候选对相似度的最小值,maxSim(PSetaj)为最大值。
S7、比较全局最优模型与历史最优模型,当全局最优模型大于历史最优模型时,将其赋值给历史最优模型,反之,选择不属于禁忌列表的最大粒子作为全局最优值并放入禁忌列表,然后定期更新禁忌列表中所有粒子停留时间。
在步骤S6和S7中,通过每个线程与全局内存之间的通信计算,从而使用全局内存保存全局最优值:在更新每个粒子的局部最优值后,通过每个线程与全局内存之间的通信计算全局最优粒子,然后将全局最优粒子更新到全局内存中,并且为了避免更新全局最优值和降低通信成本之间的矛盾,采用定期更新策略更新全局最优值和禁忌列表。
S8、若满足迭代条件,将全局内存中找到的最佳粒子从GPU端拷贝到CPU端并返回历史全局最优粒子。
具体的结果对比实验
本发明提出的方法是用C++编程语言实现的。选择了14对道路网,验证了该方法的有效性和有效性。实验是在一台装有Nvidia Geforce GTX 960 GPU和Inter(R)Pentium(R)D 3.00GHz(3.5GB RAM)的计算机上进行的。软件开发环境由CUDA 8.0 SDK、Visual Studio2010和MAPGIS 10(中国湖北武汉Zondy)组成。
使用了以下指标来评价匹配精度:TP(正确匹配的特征)、FP(错误匹配的特征)、FN(应匹配但未匹配的特征)、AM(不能人工匹配的特征)。匹配精度P的计算公式如下:
图6表示与基准算法(PRM)比较,PSOM算法在CPU下(PSOM-CPU)和在GPU下(PSOM-GPU)的精度。
图7表示与基准算法(PRM)比较,PSOM算法在CPU下(PSOM-CPU)和在GPU下(PSOM-GPU)的精确度增长率以及与PSOM-CPU比较,PSOM-GPU的精确度增长率。
由图6图7可以看出PSOM-CPU和PSOM-GPU的精度与PRM处于同一水平。
为评价PSOM与PRM的时间成本率,本发明设计了指标率Rateot来评价PSOM相对于PRM的时间优化程度。
图8表示PSOM-CPU和PRM的优化代价时间以及两者之间的时间代价率。
在相似性计算过程中,涉及到四个主要功能:路段相似性计算(F1)、拓扑相似性计算(F2)、行程相似性计算(F3)和基于行程参考的相似性计算(F4)。
图9表示了PSOM-CPU和PSOM-GPU的相似性计算时间成本,以及PSOM-GPU对于PSOM-CPU的加速。当数据规模较小(如110个节点特征)时,CPU下的相似性计算时间比GPU下的相似性计算时间快。数据规模越大,PSOM-GPU算法的优点就越明显。
图10表示了不通区域F1、F2、F3、F4在相似度计算速度的百分比。可以看到不同函数的速度比差异很大,函数的复杂性也会影响相似性计算的过程。
图11显示了PSOM-CPU的飞行时间PSOM-GPU的飞行时间以及PSOM-GPU对于PSOM-CPU之间飞行过程的加速。可以看出在14区72130个节点上,加速达到13.68,意味着PSOM-GPU的优化计算时间几乎比PSOM-CPU少14倍。
图12显示了PSOM-CPU和PSOM-GPU的总时间成本,以及PSOM-GPU对于PSOM-CPU的加速。随着数据规模的增大,加速曲线呈上升趋势。当节点数在千级以内时,平均相似性计算速度为4.08(区域1-9),当节点数达到数万级时,平均速度为7.81(区域10-13)。在14区加速达到29.29,这意味着PSOM-GPU的时间成本几乎是PSOM-CPU的30倍。
图13显示了PSOM-GPU对于PSOM-CPU在相似度计算、粒子飞行、总时间花费的加速。一般情况下,相似性计算的加速效果较好,但优化的加速比相似性计算的加速慢。本发明可以发现相似性计算曲线在很大程度上完全高于飞行过程曲线。数据规模越大,两者之间的差距就越大。这是因为并行化策略在这两个过程中有所不同。粒子优化的并行化主要依赖于粒子的并行化。最大线程数设置与粒子数一致,粒子数设置为400。因此,平行度也可能受到最大粒子数的限制。
图14显示了使用CPU和GPU分别在相似度计算和粒子飞行过程的时间占用率。相似性计算的时间消耗率平均为0.15,优化的时间消耗率平均为0.85。也就是说,优化过程是整个算法的主要消耗。因此,整体加速曲线更接近于优化过程的加速曲线。当数据量增大时(即8-13区域),相似度计算的时间消耗大大减少,优化的时间消耗比例增大,相似度计算的加速率达到较大值。随着数据量的进一步增大(区域14),相似性计算和优化的时间消耗率逐渐降低,总体加速率进一步提高。当数据大小达到72130个节点时,区域14算法的总加速比达到29.29,将算法的总时间消耗从66.44分钟减少到2.26分钟。因此,结果表明,当本发明面对一个大的问题时,GPU的使用不仅更加充分,而且对执行时间也很有利。
本发明最明显的不同在于,使用粒子群优化算法进行路网匹配,并用图形处理单元(GPU)执行并行相似度计算以及并行匹配识别,从而大大增加了路网匹配识别的相似度计算速度和减少了总时间成本。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种基于GPU架构的矢量道路网络匹配并行计算方法,其特征在于,包含:
S1、CPU读取道路网络数据,包含两组待匹配的道路网,一组为待匹配道路网,一组为目标道路网;
S2、将道路网络数据从CPU读取到GPU中的全局存储器进行后续处理;
S3、遍历节点较少的道路网,得到每一个节点的所有潜在匹配对,将路网中所有节点的路网中所有节点的所有潜在匹配对构成一个相似集;
S4、将所述相似集中所有的潜在匹配对分配给多个线程块进行相似度计算,使用并行策略同时计算各线程中匹配对的相似度值,并根据相似度值进行排序;
S5、进行粒子群算法:根据粒子数确定线程数,使用并行策略将每个解抽象为一个粒子,粒子适应度为待匹配道路网与目标道路网之间的全局相似性;随机设置粒子初始位置,并根据步骤S4的排序结果找出全局最优值和粒子的局部最优值;
S6、并行迭代执行粒子飞行函数,以计算粒子的速度、位置、粒子适应度并更新全局最优模型、个体最优模型以及历史最优模型;
S7、比较全局最优模型与历史最优模型,当全局最优模型大于历史最优模型时,将其赋值给历史最优模型,反之,选择不属于禁忌列表的最大粒子作为全局最优值并放入禁忌列表,然后更新禁忌列表中所有粒子停留时间;
S8、若满足迭代条件,将全局内存中找到的最佳粒子从GPU端拷贝到CPU端并返回历史全局最优粒子。
2.根据权利要求1所述的基于GPU架构的矢量道路网络匹配并行计算方法,其特征在于,使用粒子群算法寻优过程中:将节点较少的道路网记为Ra,较多的记为Rb;标记Ra的节点为Na,Rb的节点为Nb,粒子群算法的维数d设置为Na的大小。
3.根据权利要求1所述的基于GPU架构的矢量道路网络匹配并行计算方法,其特征在于,步骤S3中,得到节点的所有潜在匹配对采用的是缓冲区方法。
4.根据权利要求1所述的基于GPU架构的矢量道路网络匹配并行计算方法,其特征在于,步骤S4中,相似集的计算包括以下三个阶段:
第一阶段将所有潜在匹配对分解为多个子集,以便每个线程同时为潜在匹配对的子集派生相似集;潜在匹配对的数量除以可用计算线程的数量,以确定每个线程处理特征对的数量;
第二阶段是相似性计算的并行执行,每个线程在潜在匹配对的一个子集上操作,计算相似性;
最后一个阶段包括收集来自每个线程的输出,并将它们一起重新编译成一个单一相似集,如此一个单线程完成一个潜在匹配对子集的相似性集的计算,派生出的相似性集就被附加到一个更大的单一相似集上。
5.根据权利要求1所述的基于GPU架构的矢量道路网络匹配并行计算方法,其特征在于,在步骤S5和S6中,使用并行策略执行粒子初始位置的初始化和粒子飞行函数迭代计算,两个操作中线程数根据粒子数确定。
6.根据权利要求2所述的基于GPU架构的矢量道路网络匹配并行计算方法,其特征在于,
初始化粒子位置时使用curand函数生成随机数,这些随机数用于平行设置粒子的初始位置;根据随机数为Ra中的每个节点选择PSetaj中的初始势匹配对,然后并行初始化所有粒子以表示不同的可能参数模型,每个模型表示一系列匹配对;
在所有粒子初始化完成后,在第一个线程中进行比较,找出全局最优值和局部最优值;
其中,PSetaj的定义为:假设Na中第j个节点naj在Rb中有k个潜在候选特征{nc1,nc2,......,nck},则naj的所有潜在匹配对构成集合PSetaj为{(naj,nc1),(naj,nc2),......,(naj,nck)},所有的PSetaj构成所述相似集。
7.根据权利要求2所述的基于GPU架构的矢量道路网络匹配并行计算方法,其特征在于,粒子速度的更新公式为:
其中,w表示迭代权重,c1和c2表示两个加速参数,表示迭代n次时粒子i在维度j上的个体最优模型,表示迭代n次时维度j上的全局最优模型,xij表示上次迭代位置,r1和r2分别表示在迭代n次时的均匀随机数向量;
粒子位置的迭代更新公式为:
xij(n+1)=xij(n)+vij(n+1);
粒子适应度由优化目标确定,优化目标是Ra和Rb的全局相似性,一个粒子的适应度由一个粒子中的每个匹配对的相似性之和表示,适应值越大,匹配结果越好,计算公式为:
其中,nbx表示Nb中的x个节点;
粒子i的适应度值在第n次迭代时可以表示为fi(n)=[fi1(n),fi2(n),...,fid(n)],其中fij(n)表示第j维上的适应度值;
fij(n)=Sim(naj,nbx);
Sim(naj,nbx)是节点naj和nbx之间的相似度;
个体最优模型指单个粒子在多次迭代中的最优解,为一组具有个体最优适应度的匹配对,公式如下:
Pi cbest(n)=Max(PFVi(n)),n∈[1,ci];
Pi cbest(n)是粒子i从初始状态到当前迭代次数ci是选取的最大粒子适应度,每个匹配对的局部优化是通过更新粒子的个体最优模型实现;
全局最优模型是每次迭代中从粒子群中选取具有最大粒子适应度PFV的粒子Pgbest(n)在迭代时会不断更新;
Pgbest(n)=Max(PFVi(n)),i∈[1,m],n∈[1,ci]
第n次迭代的全局最优模型pgbest(n)表示为 是第j维上的值;粒子飞行过程最大化了Ra和Rb匹配特征对的总相似性,迭代结束时,pgbest(n)是Ra和Rb的最佳匹配结果。
8.根据权利要求7所述的基于GPU架构的矢量道路网络匹配并行计算方法,其特征在于,在粒子群算法中,定义速度范围矢量来限制飞行极限,第j维的飞行速度Vrj的取值范围为[minSim(PSetaj)-maxSim(PSetaj),maxSim(PSetaj)-minSim(PSetaj)],其中minSim(PSetaj)为潜在候选对相似度的最小值,maxSim(PSetaj)为最大值。
9.根据权利要求1所述的基于GPU架构的矢量道路网络匹配并行计算方法,其特征在于,在步骤S6和S7中,通过每个线程与全局内存之间的通信计算,从而使用全局内存保存全局最优值:在更新每个粒子的局部最优值后,通过每个线程与全局内存之间的通信计算全局最优粒子,然后将全局最优粒子更新到全局内存中,并且为了避免更新全局最优值和降低通信成本之间的矛盾,采用定期更新策略更新全局最优值和禁忌列表。
10.一种基于GPU架构的矢量道路网络匹配并行计算装置,其特征在于,包含计算机存储介质,以存储计算机可执行指令,当所述计算机可执行指令被处理器执行时,所述处理器执行如权利要求1-9任一项所述的基于GPU架构的矢量道路网络匹配并行计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910228213.2A CN110097076A (zh) | 2019-03-25 | 2019-03-25 | 一种基于gpu架构的矢量道路网络匹配并行计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910228213.2A CN110097076A (zh) | 2019-03-25 | 2019-03-25 | 一种基于gpu架构的矢量道路网络匹配并行计算方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110097076A true CN110097076A (zh) | 2019-08-06 |
Family
ID=67443997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910228213.2A Pending CN110097076A (zh) | 2019-03-25 | 2019-03-25 | 一种基于gpu架构的矢量道路网络匹配并行计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110097076A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177874A (zh) * | 2019-12-17 | 2020-05-19 | 北京航空航天大学杭州创新研究院 | 一种利用gpu快速设计航路网络拓扑结构的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999756A (zh) * | 2012-11-09 | 2013-03-27 | 重庆邮电大学 | 基于gpu实现pso-svm对道路标志的识别方法 |
CN108573545A (zh) * | 2018-04-24 | 2018-09-25 | 中南大学 | 一种冰雪环境无人驾驶车辆电源模型预测方法与系统 |
CN108831161A (zh) * | 2018-06-27 | 2018-11-16 | 深圳大学 | 一种基于无人机的交通流量监测方法、智能系统及数据集 |
-
2019
- 2019-03-25 CN CN201910228213.2A patent/CN110097076A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999756A (zh) * | 2012-11-09 | 2013-03-27 | 重庆邮电大学 | 基于gpu实现pso-svm对道路标志的识别方法 |
CN108573545A (zh) * | 2018-04-24 | 2018-09-25 | 中南大学 | 一种冰雪环境无人驾驶车辆电源模型预测方法与系统 |
CN108831161A (zh) * | 2018-06-27 | 2018-11-16 | 深圳大学 | 一种基于无人机的交通流量监测方法、智能系统及数据集 |
Non-Patent Citations (1)
Title |
---|
LIN YANG等: "A Parallel-Computing Approach for Vector Road-Network Matching Using GPU Architecture", 《INTERNATIONAL JOURNAL OF GEO-INFORMATION》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177874A (zh) * | 2019-12-17 | 2020-05-19 | 北京航空航天大学杭州创新研究院 | 一种利用gpu快速设计航路网络拓扑结构的方法 |
CN111177874B (zh) * | 2019-12-17 | 2023-06-09 | 北京航空航天大学杭州创新研究院 | 一种利用gpu快速设计航路网络拓扑结构的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112016812B (zh) | 多无人机任务调度方法、系统及存储介质 | |
Huang et al. | Large scale real-time ridesharing with service guarantee on road networks | |
CN108091135B (zh) | 基于优化小波神经网络的停车泊位多步预测方法 | |
Geng et al. | An improved ant colony optimization algorithm for nonlinear resource-leveling problems | |
CN110164129B (zh) | 基于gernn的单交叉口多车道交通流量预测方法 | |
CN112013829A (zh) | 基于多目标优化的多uav/ugv协同长时作业路径规划方法 | |
Mu et al. | Multi-objective ant colony optimization algorithm based on decomposition for community detection in complex networks | |
CN105205266A (zh) | 一种基于优化算法的预应力索杆结构初始构形的设计方法 | |
Mai et al. | RETRACTED ARTICLE: Research on semi supervised K-means clustering algorithm in data mining | |
CN110059875A (zh) | 基于分布式鲸鱼优化算法的公共自行车需求量预测方法 | |
CN111709560A (zh) | 一种基于改进蚁群算法的解决车辆路径问题方法 | |
Peng et al. | A hierarchical particle swarm optimizer with latin sampling based memetic algorithm for numerical optimization | |
CN109902711A (zh) | 一种时间依赖路网上的移动对象k近邻查询算法 | |
CN109840551B (zh) | 一种用于机器学习模型训练的优化随机森林参数的方法 | |
Anwar et al. | Optimization of many objective pickup and delivery problem with delay time of vehicle using memetic decomposition based evolutionary algorithm | |
CN106658570A (zh) | 基于二次栅格划分的移动sink信息收集路径构建方法 | |
CN110097076A (zh) | 一种基于gpu架构的矢量道路网络匹配并行计算方法及装置 | |
Li et al. | Optimal combinations and variable departure intervals for micro bus system | |
CN109635998A (zh) | 一种求解带时间窗车辆路径问题的自适应多目标优化方法 | |
Chen et al. | A Spark-based Ant Lion algorithm for parameters optimization of random forest in credit classification | |
Souravlias et al. | Smart traffic lights: A first parallel computing approach | |
Xu et al. | Discrete brain storm optimization algorithm based on prior knowledge for traveling salesman problems | |
Han et al. | Swarm intelligent algorithm for re-entrant hybrid flow shop scheduling problems | |
Amiri et al. | A hybrid evolutionary algorithm based on HSA and CLS for multi-objective community detection in complex networks | |
Yu et al. | Clustering-based evolution control for surrogate-assisted particle swarm optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190806 |
|
RJ01 | Rejection of invention patent application after publication |