CN109272151B - 一种基于Spark的车辆路径规划算法优化方法 - Google Patents
一种基于Spark的车辆路径规划算法优化方法 Download PDFInfo
- Publication number
- CN109272151B CN109272151B CN201811038703.8A CN201811038703A CN109272151B CN 109272151 B CN109272151 B CN 109272151B CN 201811038703 A CN201811038703 A CN 201811038703A CN 109272151 B CN109272151 B CN 109272151B
- Authority
- CN
- China
- Prior art keywords
- solution
- vehicle
- reconstruction
- strategy
- destruction
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0835—Relationships between shipper or supplier and carriers
- G06Q10/08355—Routing methods
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Automation & Control Theory (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于Spark的车辆路径规划算法优化方法。首先,单机模式下车辆路径规划算法可以在数据量小的情况下可以很好的运行。但是,当面对企业级的GB甚至TB级的业务量需求时,单机模式下会出现耗时过长,无法满足企业实时性的业务需求。本发明正是基于单机模式下的车辆路径规划算法在分布式平台Spark上进行算法的适应和优化,在适应部分着重考虑了单机模式下的算法的分布式并行和数据的同步:解集合的维护、毁灭重建策略的分布式并行化、毁灭重建比重参数的维护、迭代新解的同步更新等;在优化部分着重考虑了:工作节点之内的毁灭重建内循环和工作节点之间的迭代同步新解的外循环的调优、共享数据读写优化等。
Description
技术领域
本发明涉及计算机科学领域的路径规划问题,特别涉及一种基于Spark的车辆路径规划算法优化方法。
背景技术
伴随着“互联网+”的兴起,实体经济与互联网之间的结合变得越来越密切。物流行业,地图导航等实体服务都用到了路径规划。然而由于路径规划是一个NP-hard问题,当数据量小的时候,一台主机可以在段时间内规划出比较好的结果,但当数据量表的比较庞大时如GB甚至TB的数据量时,单凭一台主机很难在短时间内得到整体较优的结果。
目前比较流行的并行计算框架有Hadoop和Spark,Hadoop作为近年来大数据处理的首选技术,尽管适用大多数批处理工作,但是仍旧有许多不足之处,如缺少对迭代计算的支持,且数据的抽取运算都是基于磁盘,中间结果也存储在磁盘,因此迭代过程产生大量的额外开销。Spark提供一套DAG图分布式并行计算框架,很好的减少了中间读写步骤带来的额外开销。但是车辆路径规划所采用的大规模邻域搜索算法本身是单机模式下运行的算法框架,这种框架并不能直接应用到上述的并行计算框架的这种分布式平台,同时对于解集合的维护,因为要达到各个工作节点对解集合的共享,需要将解集合维护到主控节点上。因为每个工作节点进行毁灭与重建的算法的客户坐标点都是相同的,怎样共享这一部分数据,也是困难所在,如果也放在主控节点进行传输由主控节点到工作节点,那将会耗费大量的网络传输,影响整体效率。另外,各个工作节点的毁灭重建策略的参数设定协调,以及怎样根据生成的结果数据来调整不同的策略组合的比重,在单机模式下可以直接在内存中进行调整,但是分布式情况下无法采用这种调整方式。
发明内容
为了解决在单一主机上无法解决数据量较大情况下的车辆路径规划,本发明提供一种基于Spark的车辆路径规划算法优化方法。
为了实现上述技术目的,本发明的技术方案是,
一种基于Spark的车辆路径规划算法优化方法,根据门店因货物运输所产生的车辆需求,通过自适应大规模领域搜索算法并基于Spark的分布式处理来规划一组满足各个门店车辆需求和对应车辆形成的路径:
首先采用贪婪***法生成车辆路径规划的可行解,将门店信息和车辆信息存储至分布式文件***上来实现共享,以供主控节点和工作节点进行读取,Spark集群的主控节点从分布式文件***中读取相应的门店信息和相应的车辆信息,然后根据贪婪***法基于门店车辆弹性分布式数据集来生成可行的路径可行解方案;
然后采用毁灭与重建策略对可行解进行部分路径的毁灭与重建生成新的解,主控节点将生成的可行解分发给各个集群中的工作节点进行毁灭与重建,各工作节点读取分布式文件***上的门店信息和车辆信息,并同步运行不同的毁灭与重建策略对可行解进行毁灭与重建以生成新解;
接下来各工作节点分别利用基于模拟退火的接受准则来判断是否接收新生成的解,主控节点收集各个工作节点上接收的新解,将不同工作节点上生成的新解更新到保存在主控节点中的解集合中;
重复迭代执行毁灭与重建策略以及更新解,直至达到预设的迭代次数,或新解与原解总路径的差值小于预设阈值后,结束整个优化方法。
所述的方法,所述的贪婪***法生成车辆路径规划的可行解包括以下步骤:
分配空载车辆;然后逐一计算门店***车辆所对应配送路线的***代价,选择代价最低的路线进行***,若***后违反车辆最大转载容量约束,则新增一辆车;不停迭代执行直到所有门店都被***路线为止。
所述的方法,所述的违反车辆最大转载容量约束,是指达到车辆的最大容量限制或达到车辆的最远行驶距离。
所述的方法,所述的***代价是通过***代价计算公式进行计算:
其中,u为需要***的门店,表示在该路线上门店i和门店j之间进行***,路线对应的车型为k;的值包括u***i、j的开销值,和新增一辆车服务u的开销值;为车辆由门店i到门店u的开销,由两门店之间的距离乘以k车型每公里油耗得到;通过控制因子γ在***当前路线或新增一辆车取得平衡,γ随机取值{0.00,0.05,0.10,K,1.65,1.70}。
所述的方法,所述的毁灭与重建策略中,毁灭策略为移除初始配送方案中的门店进行破坏的策略,重建策略为将移除的门店重新***并重新进行配送路线计算的策略。
所述的方法,所述的毁灭策略包括随机选择门店进行移除的随机移除、计算当前配送方案移除的开销值并按照从大到小的顺序进行移除的最坏移除和随机对任一配送路线进行密度聚类得到簇集合后移除任一簇的聚类移除;重建策略包括在每次迭代中为在毁灭策略中被移除的一个门店寻找***代价最低的配送路线进行***的最佳***法和选择门店***最优路线的代价和次优路线的代价差值较小的门店进行***的次优***法。
所述的方法,所述的主控节点将生成的可行解分发给各个集群中的工作节点进行毁灭与重建,是通过Spark的MR计算模型即Map和Reduce操作,来基于工作节点数量对解弹性分布式数据集即RDD进行分区,然后Map映射RDD形成不同RDD之间的依赖,Reduce解RDD到不同的工作节点,工作节点根据毁灭与重建策略的参数来进行毁灭与重建生成新解,其中可行解的形式是以规划的路径上所依次经过的各个门店的门店Id组成的Id链形式储存于弹性分布式数据集中,在工作节点通过门店的Id来在距离矩阵的基础之上算出车辆行驶路径的长度;毁灭与重建策略的参数用于控制每个工作节点的迭代次数,参数数值越大对应的工作节点的毁灭重建策略的迭代次数越多,参数数值越小对应的工作节点的毁灭重建策略的迭代次数越少,将可行解和毁灭与重建的策略组合比重参数通过弹性分布式数据集的Map到各个工作节点进行分布式的计算;然后对比每组毁灭重建策略生成的解与其他毁灭重建策略之间的解的质量,将质量较好的解对应的毁灭重建策略参数数值调高,较差的调低,其中对比的过程在主控节点的解集合上进行,而调整后的参数更新到工作节点则使用广播变量的方式进行参数的调整。其中提到解的质量是指生成的解中,路径总长度越小或用到的车辆越少就认为解的质量越优。
所述的方法,所述的将不同工作节点上生成的新解更新到保存在主控节点中的解集合中,包括在工作节点进行毁灭与重建当到一定迭代次数后,再根据接受准则判断是否接收新解来更新主控节点中的解集合;或者在工作节点毁灭与重建迭代到一定的次数后生成一个新解,再根据接受准则判断是否去更新主控节点上的解集合,并在更新主控上的解集合后,从解集合里选择出一个或几个新解分发到不同的工作节点进行再次的毁灭与重建迭代生成新解。
所述的方法,门店信息和车辆信息的共享,是将包括门店Id、门店之间距离矩阵和门店货物需求量的门店信息,和包括车辆载重量信息和车辆最长可行驶距离的车辆信息存储到分布式文件***上来实现共享。
所述的方法,在执行毁灭与重建策略时,以工作节点上循环执行毁灭与重建策略得到新解作为内循环,以工作节点上执行毁灭与重建策略后将新解更新至主控节点上作为外循环,在两层循环中使用Outer参数来控制外层循环的次数,使用Inner参数来控制内层循环的次数,并通过调整Outer和Inner参数来使生成解的时间较短,且解的质量较好;在主控节点上将毁灭与重建策略组合采用循环的分配方式和各个工作节点相匹配;然后通过ZIP操作将可行解和毁灭与重建策略工作节点组合进行组合,通过MAP操作将毁灭与重建策略还有可行解分发到对应的工作节点上,然后在内循环循环迭代Inner次毁灭与重建策略之后生成新解,工作节点迭代生成新解之后,主控节点将数据通过Collect的方式将各个工作节点上的数据同步到主控节点,然后将同步到主控节点上的新解进行对比,根据新解的质量来调整不同工作节点上的毁灭与重建策略的参数。
本发明的技术效果在于,利用Spark平台来进行分布式的运行路径规划算法,达到了节省时间开销的目的。而在路径规划算法部分又进行了算法拆分,分为:生成可行解算法部分,路径规划解的毁灭重建算法部分,解的接收判断部分。在综合分析了整个算法框架之后,将毁灭重建部分进行分布式并行化,使算法可以在Spark的作业调度下充分利用集群中的资源来达到更快的得到优的路径规划方案的目的。
附图说明
图1为算法弹性分布式数据集(RDD)之间的转化操作示意图。
图2为算法在Spark平台运行的流程示意图
具体实施方式
根据门店的订货需求量,利用自适应大规模领域搜索算法来规划一组满足各个门店货物需求量的车辆和对应车辆形成的路径。首先采用贪婪***法生成车辆路径规划的可行解,然后采用毁灭与重建策略对可行解进行部分路径的毁灭与重建生成新的解,接下来利用接受准则判断是否接收新生成的解,来更新解集。
算法可以很好的在集群的机器上运行达到快速得到优选的结果集,并从优选的结果集中选出最优的一个结果作为最终路径规划的方案。
贪婪***法构建初始的车辆路径方案:
其中,u代表需要***的门,表示在该路线上门店i和门店j之间进行***,路线对应的车型为k;的值由两部分开销组成,分别是u***i和j的开销,以及新增一辆车服务u的开销;为车辆由门店i到门店u的开销,由两门店之间的距离乘以k车型每公里油耗得到;通过控制因子γ在***当前路线或新增一辆车取得平衡,随机取值{0.00,0.05,0.10,K,1.65,1.70};
首先,初始化M辆车为空,然后逐一计算门店***车辆所对应配送路线的***代价,选择代价最低的路线进行***,若***后违反车辆最大转载容量约束,则再启用一辆车;不停迭代执行直到所有客户都被***路线为止。
毁灭与重建:
采用移除初始配送方案中的门店的毁灭移除法来进行破坏的步骤,是通过随机选择门店进行移除的随机移除,计算门店从当前配送方案移除的开销值并按照从大到小的顺序进行移除的最坏移除,或随机对任一配送路线使用密度聚类技术进行聚类得到簇集合后移除任一簇的聚类移除中的一种移除方式进行移除。
接受准则:
算法会维护一个大小为K的解集合。在迭代过程中,如果当前解集合元素小于K个,则直接接受新的解决方案并更新解集合。否则将新的解决方案与迭代方案对象进行对比,优胜劣汰原则更新解集合。首要目标是车辆数最少,次要目标是运输成本最低。新的解决方案的车辆数若少于迭代方案对象的车辆数,则接受并替换迭代方案对象更新解集合;新的解决方案的车辆数若多于迭代方案对象,则不予接受;新的解决方案的车辆数若等于迭代方案对象,则采用模拟退火算法作为接受准则来判断是否接受新的解决方案的依据。
可行解生成部分如下:
SparkContext从分布式文件***即HDFS中读取相应的客户点即门店信息和相应的车辆规格信息生成相应的弹性分布式数据集(RDD),贪婪***法利用得到的客户点信息和相应的车辆规格信息生成可行的可行解方案弹性分布式数据集(RDD)。这部分的执行在Spark集群的主控节点进行。然后主控节点将生成的可行解分发给各个集群中的工作节点进行毁灭与重建。
算法的分布式实现是在毁灭与重建部分,因为可行解分发到工作节点上,每个节点可以同步的进行毁灭与重建,两个工作节点由可行解毁灭与重建之后生成的新解之间不会相互影响,所以本发明选择将毁灭与重建部分进行分布式处理,不同的工作节点同步运行不同的毁灭与重建策略对可行解进行毁灭与重建。通过Spark的MR计算模型,对解弹性分布式数据集(RDD)进行分区,然后Map映射弹性分布式数据集(RDD)形成不同弹性分布式数据集(RDD)之间的依赖,Reduce解弹性分布式数据集(RDD)到不同的工作节点进行毁灭与重建生成新解,通过Collect操作将不同工作节点上生成的新解更新到解集合里面。算法弹性分布式数据集(RDD)之间的转化操作如图附图1。其中可行解的形式是以规划的路径上所依次经过的各个门店的门店Id组成的Id链形式储存于弹性分布式数据集中,在工作节点通过门店的Id来在距离矩阵的基础之上算出车辆行驶路径的长度;毁灭与重建策略的参数用于控制每个工作节点的迭代次数,参数数值越大对应的工作节点的毁灭重建策略的迭代次数越多,参数数值越小对应的工作节点的毁灭重建策略的迭代次数越少,将可行解和毁灭与重建的策略组合比重参数通过弹性分布式数据集的Map到各个工作节点进行分布式的计算;然后对比每组毁灭重建策略生成的解与其他毁灭重建策略之间的解的质量,将质量较好的解对应的毁灭重建策略参数数值调高,较差的调低,其中对比的过程在主控节点的解集合上进行,而调整后的参数更新到工作节点则使用广播变量的方式进行参数的调整。其中提到解的质量是指生成的解中,路径总长度越小或用到的车辆越少就认为解的质量越优。
算法的迭代执行:
由于每次在工作节点毁灭重建的都是路径中部分路径中的部分客户点。为了达到全局最优需要不断的毁灭与重建迭代,达到整体路径最优的结果。本发明采用两种思路:一种是在工作节点不断的毁灭与重建当达到一定迭代次数后再根据接受准备判断是否接收新解来更新回主控节点中的解集合;另一种思路是在工作节点毁灭与重建迭代到一定的次数后生成一个新解,然后也会根据接受准则判断是否去更新主控上的解集合,不同的是在更新回主控上的解集合后,从解集合里选择出一个或几个新解分发到不同的工作节点进行再次的毁灭与重建迭代生成新解。
工作节点运行的毁灭与重建策略如下:
毁灭策略:基于密度聚类的毁灭移除算法,随机移除算法,最坏移除算法,相关移除算法。
基于密度聚类的毁灭移除算法:基于密度聚类的毁灭移除算法基本思想是随机从当前配送路线集合中选择一条路线,对该路线进行密度聚类得到簇集合,然后随机选择一个簇集合进行移除,直到移除了q个门店。
随机移除算法:算法基本思想是随机产生q个下标,从集合s中移除下标对应的门店。
最坏移除算法:算法每次寻找一个开销值较大的门店进行移除。为保证随机性,算法将门店开销值从大到小进行排序,通过控制因子选择移除的门店。一般设为正整数,使得门店开销值越小,被移除的概率越高。
相关移除算法:相关移除算法定义了门店i和门店j的相关度函数,相关度的依据可以为两个门店的位置、服务时间窗、订货体积等。算法初始状态寻找所有门店中相关度最低的门店进行移除。
重建策略:最佳***法,次优***法
最佳***法:是在每次迭代中为一个门店寻找***代价最低的配送路线进行***。
次优***法:选择门店***最优路线的代价和次优路线的代价差值较小的门店进行***。
接受准则:模拟退火接受准则
为了避免局部最优,达到全局最优。模拟退火算法作为接受准则可以很好的满足这一需求。模拟退火算法会接受比当前解优的新解,同时也会以一定的概率接受比当前解差的新解。
主控节点和工作节点的分工协作:
主控节点读取HDFS中的客户信息,通过贪婪***法生成可行解路径,然后主控通过弹性分布式数据集(RDD)分区将毁灭重建策略对应的参数和可行解包装成键值对的形式分发到每个工作节点上,每个工作节点在收到的解的基础上进行毁灭和重建,每台工作节点运行不同的毁灭重建策略组合,因为不同的毁灭与重建策略适用于不同的数据集,为了达到合适的数据集可以在对应的毁灭重建策略下进行,本发明在初始阶段分发毁灭重建策略比重参数到每台工作节点的时候设定各个策略组合为相等,本发明给出了四种毁灭策略和两种重建策略是,可以形成八种毁灭重建策略组合,这样初始阶段,,然后迭代根据生成的新解方案来调整参数的大小,使不同的数据集可以以更大的概率在适合的毁灭重建策略上运行。在执行毁灭与重建策略时,以工作节点上循环执行毁灭与重建策略得到新解作为内循环,以工作节点上执行毁灭与重建策略后将新解更新至主控节点上作为外循环,在两层循环中使用Outer参数来控制外层循环的次数,使用Inner参数来控制内层循环的次数,并通过调整Outer和Inner参数来使生成解的时间较短,且解的质量较好;在主控节点上将毁灭与重建策略组合采用循环的分配方式和各个工作节点相匹配;然后通过ZIP操作将可行解和毁灭与重建策略工作节点组合进行组合,通过MAP操作将毁灭与重建策略还有可行解分发到对应的工作节点上,然后在内循环循环迭代Inner次毁灭与重建策略之后生成新解,工作节点迭代生成新解之后,主控节点将数据通过Collect的方式将各个工作节点上的数据同步到主控节点,然后将同步到主控节点上的新解进行对比,根据新解的质量来调整不同工作节点上的毁灭与重建策略的参数。
Claims (9)
1.一种基于Spark的车辆路径规划算法优化方法,其特征在于,根据门店因货物运输所产生的车辆需求,通过自适应大规模领域搜索算法并基于Spark的分布式处理来规划一组满足各个门店车辆需求和对应车辆形成的路径:
首先采用贪婪***法生成车辆路径规划的可行解,将门店信息和车辆信息存储至分布式文件***上来实现共享,以供主控节点和工作节点进行读取,Spark集群的主控节点从分布式文件***中读取相应的门店信息和相应的车辆信息,然后根据贪婪***法基于门店车辆弹性分布式数据集来生成可行的路径可行解方案;
然后采用毁灭与重建策略对可行解进行部分路径的毁灭与重建生成新的解,主控节点将生成的可行解分发给各个集群中的工作节点进行毁灭与重建,各工作节点读取分布式文件***上的门店信息和车辆信息,并同步运行不同的毁灭与重建策略对可行解进行毁灭与重建以生成新解;
接下来各工作节点分别利用基于模拟退火的接受准则来判断是否接收新生成的解,主控节点收集各个工作节点上接收的新解,将不同工作节点上生成的新解更新到保存在主控节点中的解集合中;
重复迭代执行毁灭与重建策略以及更新解,直至达到预设的迭代次数,或新解与原解总路径的差值小于预设阈值后,结束整个优化方法;
所述的主控节点将生成的可行解分发给各个集群中的工作节点进行毁灭与重建,是通过Spark的MR计算模型即Map和Reduce操作,来基于工作节点数量对解弹性分布式数据集即RDD进行分区,然后Map映射RDD形成不同RDD之间的依赖,Reduce解RDD到不同的工作节点,工作节点根据毁灭与重建策略的参数来进行毁灭与重建生成新解,其中可行解的形式是以规划的路径上所依次经过的各个门店的门店Id组成的Id链形式储存于弹性分布式数据集中,在工作节点通过门店的Id来在距离矩阵的基础之上算出车辆行驶路径的长度;毁灭与重建策略的参数用于控制每个工作节点的迭代次数,参数数值越大对应的工作节点的毁灭重建策略的迭代次数越多,参数数值越小对应的工作节点的毁灭重建策略的迭代次数越少,将可行解和毁灭与重建的策略组合比重参数通过弹性分布式数据集的Map到各个工作节点进行分布式的计算;然后对比每组毁灭重建策略生成的解与其他毁灭重建策略之间的解的质量,将质量较好的解对应的毁灭重建策略参数数值调高,较差的调低,其中对比的过程在主控节点的解集合上进行,而调整后的参数更新到工作节点则使用广播变量的方式进行参数的调整。
2.根据权利要求1所述的方法,其特征在于,所述的贪婪***法生成车辆路径规划的可行解包括以下步骤:
分配空载车辆;然后逐一计算门店***车辆所对应配送路线的***代价,选择代价最低的路线进行***,若***后违反车辆最大转载容量约束,则新增一辆车;不停迭代执行直到所有门店都被***路线为止。
3.根据权利要求2所述的方法,其特征在于,所述的违反车辆最大转载容量约束,是指达到车辆的最大容量限制或达到车辆的最远行驶距离。
5.根据权利要求1所述的方法,其特征在于,所述的毁灭与重建策略中,毁灭策略为移除初始配送方案中的门店进行破坏的策略,重建策略为将移除的门店重新***并重新进行配送路线计算的策略。
6.根据权利要求5所述的方法,其特征在于,所述的毁灭策略包括随机选择门店进行移除的随机移除、计算当前配送方案移除的开销值并按照从大到小的顺序进行移除的最坏移除和随机对任一配送路线进行密度聚类得到簇集合后移除任一簇的聚类移除;重建策略包括在每次迭代中为在毁灭策略中被移除的一个门店寻找***代价最低的配送路线进行***的最佳***法和选择门店***最优路线的代价和次优路线的代价差值较小的门店进行***的次优***法。
7.根据权利要求1所述的方法,其特征在于,所述的将不同工作节点上生成的新解更新到保存在主控节点中的解集合中,包括在工作节点进行毁灭与重建当到一定迭代次数后,再根据接受准则判断是否接收新解来更新主控节点中的解集合;或者在工作节点毁灭与重建迭代到一定的次数后生成一个新解,再根据接受准则判断是否去更新主控节点上的解集合,并在更新主控上的解集合后,从解集合里选择出一个或几个新解分发到不同的工作节点进行再次的毁灭与重建迭代生成新解。
8.根据权利要求1所述的方法,其特征在于,门店信息和车辆信息的共享,是将包括门店Id、门店之间距离矩阵和门店货物需求量的门店信息,和包括车辆载重量信息和车辆最长可行驶距离的车辆信息存储到分布式文件***上来实现共享。
9.根据权利要求1所述的方法,其特征在于,在执行毁灭与重建策略时,以工作节点上循环执行毁灭与重建策略得到新解作为内循环,以工作节点上执行毁灭与重建策略后将新解更新至主控节点上作为外循环,在两层循环中使用Outer参数来控制外层循环的次数,使用Inner参数来控制内层循环的次数,并通过调整Outer和Inner参数来使生成解的时间较短,且解的质量较好;在主控节点上将毁灭与重建策略组合采用循环的分配方式和各个工作节点相匹配;然后通过ZIP操作将可行解和毁灭与重建策略工作节点组合进行组合,通过MAP操作将毁灭与重建策略还有可行解分发到对应的工作节点上,然后在内循环循环迭代Inner次毁灭与重建策略之后生成新解,工作节点迭代生成新解之后,主控节点将数据通过Collect的方式将各个工作节点上的数据同步到主控节点,然后将同步到主控节点上的新解进行对比,根据新解的质量来调整不同工作节点上的毁灭与重建策略的参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811038703.8A CN109272151B (zh) | 2018-09-06 | 2018-09-06 | 一种基于Spark的车辆路径规划算法优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811038703.8A CN109272151B (zh) | 2018-09-06 | 2018-09-06 | 一种基于Spark的车辆路径规划算法优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109272151A CN109272151A (zh) | 2019-01-25 |
CN109272151B true CN109272151B (zh) | 2021-06-25 |
Family
ID=65188517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811038703.8A Active CN109272151B (zh) | 2018-09-06 | 2018-09-06 | 一种基于Spark的车辆路径规划算法优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109272151B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637305B (zh) * | 2022-02-15 | 2023-08-15 | 山东省计算中心(国家超级计算济南中心) | 一种无人机最短路径规划方法及装置 |
CN115437375B (zh) * | 2022-08-26 | 2024-05-24 | 上海海洋大学 | 一种基于大数据平台分布式瓦片金字塔的三维路径规划方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001025727A1 (en) * | 1999-10-07 | 2001-04-12 | Honeywell Inc. | System for planning vehicle routes |
CN102117441A (zh) * | 2010-11-29 | 2011-07-06 | 中山大学 | 基于离散粒子群优化算法的智能物流配送 |
CN103295120A (zh) * | 2013-06-18 | 2013-09-11 | 深圳先进技术研究院 | 物流公司运力分析***及其运力分析的方法 |
CN103473612A (zh) * | 2013-09-06 | 2013-12-25 | 周伟华 | 面向超大规模物流配送的选址与运输优化方法 |
CN103699982A (zh) * | 2013-12-26 | 2014-04-02 | 浙江工业大学 | 一种带软时间窗口的物流配送控制方法 |
CN107194513A (zh) * | 2017-05-26 | 2017-09-22 | 中南大学 | 一种解决全渠道物流配送问题的优化方法 |
CN107392358A (zh) * | 2017-06-30 | 2017-11-24 | 上海汽车集团股份有限公司 | 一种车辆分配方法及装置 |
CN108197708A (zh) * | 2017-12-14 | 2018-06-22 | 河海大学 | 一种基于Spark的并行化遗传算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510241B2 (en) * | 2008-08-29 | 2013-08-13 | Empire Technology Development Llc | Approach for solving global optimization problem |
-
2018
- 2018-09-06 CN CN201811038703.8A patent/CN109272151B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001025727A1 (en) * | 1999-10-07 | 2001-04-12 | Honeywell Inc. | System for planning vehicle routes |
CN102117441A (zh) * | 2010-11-29 | 2011-07-06 | 中山大学 | 基于离散粒子群优化算法的智能物流配送 |
CN103295120A (zh) * | 2013-06-18 | 2013-09-11 | 深圳先进技术研究院 | 物流公司运力分析***及其运力分析的方法 |
CN103473612A (zh) * | 2013-09-06 | 2013-12-25 | 周伟华 | 面向超大规模物流配送的选址与运输优化方法 |
CN103699982A (zh) * | 2013-12-26 | 2014-04-02 | 浙江工业大学 | 一种带软时间窗口的物流配送控制方法 |
CN107194513A (zh) * | 2017-05-26 | 2017-09-22 | 中南大学 | 一种解决全渠道物流配送问题的优化方法 |
CN107392358A (zh) * | 2017-06-30 | 2017-11-24 | 上海汽车集团股份有限公司 | 一种车辆分配方法及装置 |
CN108197708A (zh) * | 2017-12-14 | 2018-06-22 | 河海大学 | 一种基于Spark的并行化遗传算法 |
Non-Patent Citations (2)
Title |
---|
A Parallel Multi-neighborhood Cooperative Tabu Search for Capacitated Vehicle Routing Problems;J Jin等;《European Journal of Operational Research》;20121101(第222卷第3期);第441-451页 * |
基于动态规划的多车场最快完成车辆路径问题的蚁群算法;马建华 等;《2011 International Conference on Software Engineering and Multimedia Communication(SEMC)》;20110709;第313-317页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109272151A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cattaruzza et al. | The multi-trip vehicle routing problem with time windows and release dates | |
CN102298569B (zh) | 并行化的在线学习方法 | |
CN109919365B (zh) | 一种基于双策略搜索的电动车辆路径规划方法及*** | |
Salhi et al. | A GA based heuristic for the vehicle routing problem with multiple trips | |
CN108921468B (zh) | 一种物流配送车辆智能排线方法 | |
Şahin et al. | An efficient heuristic for the multi-vehicle one-to-one pickup and delivery problem with split loads | |
CN109272151B (zh) | 一种基于Spark的车辆路径规划算法优化方法 | |
CN113313285B (zh) | 多约束条件的车辆路径优化方法、***、存储介质及设备 | |
CN106709680A (zh) | 基于历史搜索信息的动态物流最佳配送线路的优化方法 | |
Shirokikh et al. | Dynamic adaptive large neighborhood search for inventory routing problem | |
CN109255462B (zh) | 一种货物配送方法及装置 | |
CN105205052A (zh) | 一种数据挖掘方法及装置 | |
CN114444843A (zh) | 一种基于大规模变邻域搜索策略的农产品绿色物流配送车辆调度方法及*** | |
Duan et al. | A greedy approach for vehicle routing when rebalancing bike sharing systems | |
Niazy et al. | A hybrid chicken swarm optimization with tabu search algorithm for solving capacitated vehicle routing problem | |
Wang et al. | The mobile production vehicle routing problem: Using 3D printing in last mile distribution | |
Rice et al. | Exact graph search algorithms for generalized traveling salesman path problems | |
Xu et al. | Solving dynamic vehicle routing problem using enhanced genetic algorithm with penalty factors | |
CN110245271B (zh) | 基于属性图的大规模关联数据划分方法及*** | |
CN105138607A (zh) | 一种基于混合粒度分布式内存网格索引的knn查询方法 | |
CN106933882B (zh) | 一种大数据增量计算方法和装置 | |
CN108197186B (zh) | 一种应用于社交网络中的动态图匹配查询方法 | |
CN114169488B (zh) | 基于混合元启发式算法的带容量约束的车辆路径获取方法 | |
Alonso-Ayuso et al. | On solving the multi-period single-sourcing problem under uncertainty | |
Sakouhi et al. | An overview of recent graph partitioning algorithms |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |