CN114169488B - 基于混合元启发式算法的带容量约束的车辆路径获取方法 - Google Patents
基于混合元启发式算法的带容量约束的车辆路径获取方法 Download PDFInfo
- Publication number
- CN114169488B CN114169488B CN202210120344.0A CN202210120344A CN114169488B CN 114169488 B CN114169488 B CN 114169488B CN 202210120344 A CN202210120344 A CN 202210120344A CN 114169488 B CN114169488 B CN 114169488B
- Authority
- CN
- China
- Prior art keywords
- path
- city
- sub
- capacity
- initial
- 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
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 102
- 241000282461 Canis lupus Species 0.000 claims abstract description 178
- 238000005457 optimization Methods 0.000 claims description 63
- 241000282421 Canidae Species 0.000 claims description 18
- 238000010276 construction Methods 0.000 claims description 14
- 238000010845 search algorithm Methods 0.000 claims description 14
- 238000003780 insertion Methods 0.000 claims description 11
- 230000037431 insertion Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000012360 testing method Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000003875 gradient-accelerated spectroscopy Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- QQFBQBDINHJDMN-UHFFFAOYSA-N ethyl 2-trimethylsilylacetate Chemical compound CCOC(=O)C[Si](C)(C)C QQFBQBDINHJDMN-UHFFFAOYSA-N 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001225 therapeutic effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- 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]
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Operations Research (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于混合元启发式算法的带容量约束的车辆路径获取方法,属于计算机技术领域,通过随机贪婪策略在初始狼群中构造N条初始回路,N条初始回路为N条狼的N个初始解的组合;计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;对含有原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解;利用当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解;获取末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。具有提升带容量约束的车辆路径问题的解精度的技术效果。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种基于混合元启发式算法的带容量约束的车辆路径获取方法。
背景技术
车辆路径问题(Vehicle Routing Problem, VRP)是一个被Dantzig和Ramser提出的一个知名的组合优化问题。VRP包含配送中心、车队和客户;客户各自有不同数量的货物需求,在一定的约束下(达到诸如路程最短、成本最小、耗费时间最少等目的),配送中心通过建立数学模型和编写算法程序制定行车路线,为客户提供货物。而带容量约束的车辆路径问题(Capacitated Vehicle Routing Problem ,CVRP)是VRP的一个经典变体,CVRP受每辆车的承载能力限制。
现有的解决带容量约束的车辆路径问题的方法包括精确算法和启发式算法。其中,因为带容量约束的车辆路径问题是NP-Hard问题之一,即可行解集的大小随着CVRP规模的不断扩大而呈指数增长,而精确算法随着问题规模的扩大计算效率会显著下降。启发式算法能够在合理时间内获得最优解,并且具有自适应强的优点。虽然启发式算法非常简单有效,然而,在寻找最优或接近最优解方面仍然存在缺陷。
元启发式算法中,灰狼优化算法(Grey Wolf Optimizer,GWO)是一种基于自然启发的群体智能算法。该算法在2014年被Mirjalili提出,自提出以来,该算法受到广泛关注,并被应用到各个领域。灰狼优化算法模拟灰狼捕获猎物的社会行为,灰狼维持着它们的社会等级制度,第一领导梯度的领袖被称为狼a;第二领导梯度的领袖被称为狼b;第三领导梯度的领袖被称为狼d;剩余的狼为没有领导力的普通狼,统称为狼w。在狩猎过程中,前三领导梯度的狼(a, b, d)指导普通狼(w)进行位置更新。GWO以在短时间内解决连续优化问题而闻名,但使用GWO直接解决离散优化问题并不常见。
因此,亟需一种利用GWO解决带容量约束的车辆路径问题的方法。
发明内容
本发明提供一种基于混合元启发式算法的带容量约束的车辆路径获取方法、系统、电子设备以及存储介质,用以克服现有技术中存在的至少一个技术问题。
为实现上述目的,本发明提供一种基于混合元启发式算法的带容量约束的车辆路径获取方法,方法包括:
构建带容量约束的车辆路径问题,设置初始狼群中狼的数量N;
通过随机贪婪策略在初始狼群中构造N条初始回路, N条初始回路为N条狼的N个初始解的组合;
计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;其中,原始最优解包括3条头狼,除头狼以外的狼为普通狼;
对含有原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解,即3条头狼;
利用当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解,即3条头狼;
获取末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。
进一步,优选的,通过随机贪婪策略在初始狼群中构造N条初始回路包括,
随机选择一个城市作为带容量约束的车辆路径问题的第一个要访问的城市,将城市加入第一条子路径中,并将城市标记为已访问;且,卡车容量变更为剩余容量;其中,剩余容量为原始容量减去城市的需求量;
在未访问的城市中,按照与当前城市距离从小到大排序,选取距离最小的前RCL_size个城市进行RCL列表构造;其中, RCL_size为设定参数;
在RCL列表中随机选择一个城市,将城市加入带容量约束的车辆路径问题的解决方案中,并将城市标记为已访问城市和当前出发城市;其中,城市的需求量小于等于卡车的当前容量;且,卡车容量变更为剩余容量减去城市的需求量;
基于出发城市进行RCL列表更新和下一个城市的选取,当RCL列表中剩余城市的需求量均大于当前卡车的卡车容量时,当前卡车任务结束,即一条子路径构建成功;重复子路径构建步骤直至所有城市均被访问,即所有子路径构建结束,得到一组初始解;
将上述步骤迭代N次,得到N组初始解;
将N个初始解作为初始狼群中N条狼,生成N条初始回路。
进一步,优选的,对含有原始最优解的狼群进行迭代更新的方法包括,
路径更新;其中,路径更新包括:将设定数量的子路径合并为一条路径,形成合并路径;基于匹配交叉策略或顺序交叉策略对合并路径进行更新;对更新后的合并路径进行分离,拆分成子路径;
对更新后的路径进行优化;其中,对更新后的路径进行优化包括对子路径的优化和对全部路径的优化。
进一步,优选的,子路径的优化为子路径插入优化、子路径交换优化和2-opt局部搜索算法优化中的一种或多种;其中,
子路径插入优化,为通过将子路径中的某个城市元素插入至除元素原始位置外的任意位置,以获得更短子路径的子路径优化方法;
子路径交换优化,为通过将子路径中的某个城市元素与其他城市元素进行位置交换,以获得更短子路径的子路径优化方法。
进一步,优选的,对全部路径的优化包括:
根据城市的需求量从小到大对城市进行排序,并将排序后的结果记录为Sort_city;计算每条子路径的当前卡车的剩余卡车容量;
对Sort_city中的城市进行遍历,若当前城市的需求量小于等于当前卡车的剩余卡车容量,且当前城市不在当前路径中时,寻找当前城市所在的原子路径;
将当前城市从原子路径中删除,并将当前城市加入到当前子路径中,获得新原子路径和新当前子路径;
利用子路径的优化方法对新原子路径和新当前子路径进行优化,获得每条子路径的最优解。
进一步,优选的,对全部路径的优化包括:
根据城市的需求量从小到大对城市进行排序,并将排序后的结果记录为Sort_city;计算每条子路径的当前卡车的剩余卡车容量;
对Sort_city中的城市进行遍历,若当前城市不在当前子路径中,寻找当前城市所在的原子路径,并计算原子路径的当前卡车的剩余卡车容量;
在除原子路径的所有的子路径的城市中,筛选可与当前城市进行位置交换的待交换城市,并确定待交换城市所在的待交换子路径;
将待交换城市与当前城市进行位置交换,获得新原子路径和新待交换子路径;
利用子路径的优化方法对新原子路径和新待交换子路径进行优化,获得每条子路径的最优解。
进一步,优选的,在对含有原始最优解的狼群进行迭代更新之前,还包括,
利用2-opt局部搜索算法对含有原始最优解的狼群进行优化。
为了解决上述问题,本发明还提供一种基于混合元启发式算法的带容量约束的车辆路径获取系统,包括:
构建单元,用于构建带容量约束的车辆路径问题,设置初始狼群中狼的数量N;
计算单元,用于通过随机贪婪策略在初始狼群中构造N条初始回路, N条初始回路为N条狼的N个初始解的组合;计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;其中,原始最优解包括3条头狼,除头狼以外的狼为普通狼;
迭代单元,用于对含有原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解,即3条头狼;
利用当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解,即3条头狼;
获取单元,用于获取末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。
为了解决上述问题,本发明还提供一种电子设备,电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的基于混合元启发式算法的带容量约束的车辆路径获取方法中的步骤。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的基于混合元启发式算法的带容量约束的车辆路径获取方法。
本发明的一种基于混合元启发式算法的带容量约束的车辆路径获取方法、系统、电子设备以及存储介质,通过构建带容量约束的车辆路径问题,设置初始狼群中狼的数量N;通过随机贪婪策略在初始狼群中构造N条初始回路,N条初始回路为N条狼的N个初始解的组合;计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;其中,原始最优解包括3条头狼,除头狼以外的狼为普通狼;对含有原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解,即3条头狼;利用当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解,即3条头狼;获取末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。本发明与其他6种元启发式算法在81个测试案例上进行对比,实验结果证明CVRP-GWO算法在求解CVRP问题上更精确;具有提升带容量约束的车辆路径问题的最优解精度的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的流程示意图;
图2为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的路径更新中的子路径合并的原理示意图;
图3为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的基于匹配交叉策略或顺序交叉策略对合并路径进行更新的原理示意图;
图4为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的对更新后的合并路径进行拆分的原理示意图;
图5为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的子路径的优化的原理示意图;
图6为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的全路径的优化的第一原理示意图;
图7为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的全路径的优化的第二原理示意图;
图8为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取系统的逻辑结构示意图;
图9为本发明一实施例提供的实现基于混合元启发式算法的带容量约束的车辆路径获取方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1所示,为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的流程示意图。该方法可以由一个系统执行,该系统可以由软件和/或硬件实现。
在本实施例中,基于混合元启发式算法的带容量约束的车辆路径获取方法包括步骤S110~ S150。
基于混合元启发式算法的带容量约束的车辆路径获取方法,首次提出CVRP-GWO方法来优化求解CVRP问题;主要包括三个环节:初始解生成阶段,迭代更新阶段、解获取阶段。其中,在初始解生成阶段,提出了一种改进随机贪婪自适应搜索算法(Greedy RandomizedAdaptive Search Procedure,GRASP)来为CVRP问题生成一组初始解。然后,在迭代更新阶段对初始解进行更新,而迭代更新阶段还包括路径更新和对更新后的路径进行优化;路径更新环节中包括合并操作、基于部分匹配交叉(Partially Mapped Crossover,PMX)和顺序交叉(Order Crossover,OX)的交叉操作以及分离操作;而对更新后的路径进行优化的环节包括对子路径的优化和对全部路径的优化。子路径的优化为子路径插入优化、子路径交换优化和2-opt局部搜索算法优化中的一种或多种。最后,在解获取阶段获取基于混合元启发式算法的带容量约束问题的最优解。以上三个环节合并与传统的GWO算法融合成为CVRP-GWO框架,以解决带容量约束的车辆路径问题。
如图1所示,S110、通过构建带容量约束的车辆路径问题,设置初始狼群中狼的数量N;通过随机贪婪策略在初始狼群中构造N条初始回路,N条初始回路为N条狼的N个初始解的组合。
在具体的实施过程中,为了进一步提升基于混合元启发式算法的带容量约束问题的最优解精度,在对含有原始最优解的狼群进行迭代更新之前,还包括利用2-opt局部搜索算法对含有原始最优解的狼群进行优化。也就是说,利用2-opt局部搜索算法对每一条子路径进行进一步调整优化,进而得到改进GRASP用于解决CVRP的一组最优解。
也就是说,改进GRASP算法,并结合2-opt局部搜索算法,计算出一组适用于CVRP问题的高质量初始解,为后续优化过程打下坚固的基础。求解过程共分为两个阶段。第一阶段通过随机贪婪策略构造一个初始的回路,这个阶段可以描述为逐步的,一次添加一个元素到子路径中,直到所有子路径被构建使得解决方案完整。在第二阶段中,采用2-opt局部搜索算法,对初始解中的每一条子路径进行进一步调整优化,以找到更优解。
在一个具体的实施例中,通过随机贪婪策略在初始狼群中构造N条初始回路包括步骤S111~ S116。
S111、随机选择一个城市作为带容量约束的车辆路径问题的第一个要访问的城市,将城市加入第一条子路径中,并将城市标记为已访问;且,卡车容量变更为剩余容量;其中,剩余容量为原始卡车容量减去城市的需求量。也就是说,首先随机选择一个城市作为CVRP问题的第一个要访问的城市,此时开始第一条子路径的构建,将该城市加入子路径r_i中,标记该城市为已访问,记录此时卡车容量为原始卡车容量减去该城市的需求量。
S112、在未访问的城市中,按照与当前城市距离从小到大排序,选取距离最小的前RCL_size个城市进行RCL列表构造;其中, RCL_size为设定参数。具体地说,GRASP算法中需要创建RCL列表,来存储在路径寻优过程中的最佳侯选边。通过指定的数量参数来限制RCL的大小,即RCL由RCL_size(RCL_size为RCL的大小)个具有最优代价的元素组成。通过选取前RCL_size个,距离当前城市最近的(算法贪婪性体现),且未被访问的城市来构造RCL。
S113、在RCL列表中随机选择一个城市,将城市加入带容量约束的车辆路径问题的解决方案中,并将城市标记为已访问城市和当前出发城市;其中,城市的需求量小于等于卡车的当前容量;且,卡车容量变更为剩余容量减去城市的需求量。也就是说,从RCL中随机选择一个城市,且该城市的需求量小于等于卡车的当前容量(算法随机性体现),将其加入到解决方案中,且标记该城市为已访问,此时卡车容量为卡车剩余容量减去该城市的需求量,并将该城市标记为当前的出发城市。
S114、基于出发城市进行RCL列表更新和下一个城市的选取,当RCL列表中剩余城市的需求量均大于当前卡车的卡车容量时,当前卡车任务结束,即一条子路径构建成功;重复子路径构建步骤直至所有城市均被访问,即所有子路径构建结束,得到一组初始解。 其中,基于当前的出发城市,迭代进行后续的RCL更新和下一个城市的选取过程。RCL 中的城市需求量均大于当前卡车容量,那也就是说当前卡车无法再能够容纳RCL中任何一个城市的需要,此时该卡车任务结束,即一条子路径构建成功,然后,可以开始重复上述过程开始下一条子路径的构建,直至所有的子路径构建结束,即获得了一组CVRP的解决方案。
S115、将上述步骤迭代N次,得到N组初始解。S116、将N个初始解作为初始狼群中N条狼,生成N条初始回路。
本发明的算法在构造阶段的每一次迭代中,所有元素之间的关系结构也随之不断发生变化,不断被优化,这种迭代方式下会得到可行解的质量会更优。
S120、计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;其中,原始最优解包括3条头狼,除头狼以外的狼为普通狼。
S130、对含有原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解,即3条头狼。在一个具体的实施例中,对含有原始最优解的狼群进行迭代更新的方法包括,S131、路径更新;其中,S1311、路径更新包括:将设定数量的子路径合并为一条路径,形成合并路径;S1312、基于匹配交叉策略或顺序交叉策略对合并路径进行更新;S1313、对更新后的合并路径进行分离,拆分成子路径;S132、对更新后的路径进行优化。
图2~图4对基于混合元启发式算法的带容量约束的车辆路径获取方法的路径更新的原理进行了整体描述;其中,图2为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的路径更新中的子路径合并的原理示意图;图3为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的基于匹配交叉策略或顺序交叉策略对合并路径进行更新的原理示意图;图4为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的对更新后的合并路径进行拆分的原理示意图。
如图2所示,S1311、将设定数量的子路径合并为一条路径,形成合并路径。具体地说,合并操作指的是将若干条子路径合并成一条路径,例如一组CVRP的解包含3条子路径,Sub-route1: 0→5→4→6→9→0;Sub-route2: 0→2→1→10→8→0;Sub-route3: 0→3→7→11→0,其中0代表配送中心,通过合并操作后,3条子路径被合并成一条路径,此时的解为0→5→4→6→9→2→1→10→8→3 →7→11→0。
如图3所示,S1312、基于匹配交叉策略或顺序交叉策略对合并路径进行更新。具体地说,基于PMX和OX更新操作主要针对合并后的路径进行更新,每次将合并后的路径和合并后的较优的解路径进行基于PMX或者OX的交叉操作,其中PMX方法和OX方法各为50%的概率被选中。在具体的实施过程中,在进行PMX 和OX操作之后,可以对PMX和OX结果进行2-opt的局部搜索,获得更优的结果。
如图4所示,S1313、对更新后的合并路径进行分离,拆分成子路径。具体地说,分离操作指的是将基于PMX和OX更新操作后得到的路径拆分成若干条符合CVRP需求的子路径。在分离操作中,按照顺序依次将序列中的城市加入到卡车中来构建子路径,当卡车容量大于等于城市的需求量,则将该城市加入到卡车中,反之将该城市加入到另一辆卡车中。重复进行上述过程,直到所有城市被访问。通过分离操作,将一条路径拆分成符合CVRP需求的若干条子路径。
总之,在通过上述方法进行路径的更新之后,对更新后的路径进行优化包括对子路径的优化和对全部路径的优化。也就是说,而迭代更新阶段还包括路径更新和对更新后的路径进行优化;路径更新环节中包括合并操作、基于部分匹配交叉和顺序交叉的交叉操作以及分离操作;而对更新后的路径进行优化的环节包括对子路径的优化和对全部路径的优化。
图5~图7对基于混合元启发式算法的带容量约束的车辆路径获取方法的更新后的路径进行优化的原理进行了整体描述;其中,图5为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的子路径的优化的原理示意图;图6为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的全路径的优化的第一原理示意图;图7为本发明一实施例提供的基于混合元启发式算法的带容量约束的车辆路径获取方法的全路径的优化的第二原理示意图。
步骤S132、更新后的路径进行优化的方法包括:S1321、子路径的优化;以及S1322、全部路径的优化。
子路径的优化为子路径插入优化、子路径交换优化和2-opt局部搜索算法优化中的一种或多种。如图5所示,子路径插入优化,为通过将子路径中的某个城市元素插入至除元素原始位置外的任意位置,以获得更短子路径的子路径优化方法。也就是说,对于子路径中的每一个元素,尝试将其插入到除了原始位置外的任意位置,试图获得更短子路径。
子路径交换优化,为通过将子路径中的某个城市元素与其他城市元素进行位置交换,以获得更短子路径的子路径优化方法。也就是说,对于子路径中的每一个元素,尝试将该元素与其他元素进行交换,试图获得更短子路径。
具体地说,局部搜索算法可以通过2-opt局部搜索算法优化。CVRP全部路径的局部搜索指的是聚焦CVRP解决方案中的全部路径,尝试对全部路径进行优化,在优化过程中子路径中包含的城市可能会发生改变。在本发明中,针对全路径的优化中,通过如下2种路径优化方法进行实现。
在一个具体的实施例中,对全部路径的优化包括:S132211、根据城市的需求量从小到大对城市进行排序,并将排序后的结果记录为Sort_city;计算每条子路径的当前卡车的剩余卡车容量;S132212、对Sort_city中的城市进行遍历,若当前城市的需求量小于等于当前卡车的剩余卡车容量,且当前城市不在当前路径中时,寻找当前城市所在的原子路径;S132213、将当前城市从原子路径中删除,并将当前城市加入到当前子路径中,获得新原子路径和新当前子路径;S132214、利用子路径的优化方法对新原子路径和新当前子路径进行优化,获得每条子路径的最优解。
具体地说,该算法的核心思想为,有导向性的为某条子路径增加城市,使得结果更优。如图6所示,首先,根据城市的需求量从小到大对城市进行排序,并将排序后的结果记录为Sort_city。随后,对每条子路径r_i而言,计算针对该子路径当前卡车剩余容量。对Sort_city中的城市进行遍历,那也就是说先取出的城市都是需求量较小的城市,如果当前城市target的需求量小于等于当前卡车此时容量且该城市不包含在当前子路径r_i中,找到存放城市target的子路径r_target,将城市target从子路径r_target中删除,并将城市target放入子路径r_i中。
然后,利用步骤S1321中子路径的优化方法分别对子路径r_target和子路径r_i进行优化操作, 目的为得到每条子路径的优秀解。若更新后的全路径比未更新前的全路径更优,则将更新后的全路径作为当前最优解。需要说明的是,通过调整不同子路径的城市来达到优化目的方法也曾被其他科研工作者发掘,但是他们采用的是随机选取不同子路径的城市,完成插入操作,该种方式通常需要大量计算才能得到较好的解,十分很耗时。比起随机插入的方法,本发明采用一种具有导向性的插入方式,沿着更优解的逐步优化,这即提升了算法的计算精度,又提高了算法搜索的效率。
在一个具体的实施例中,对全部路径的优化包括:S132221、根据城市的需求量从小到大对城市进行排序,并将排序后的结果记录为Sort_city;计算每条子路径的当前卡车的剩余卡车容量;S132222、对Sort_city中的城市进行遍历,若当前城市不在当前子路径中,寻找当前城市所在的原子路径,并计算原子路径的当前卡车的剩余卡车容量;S132223、在除原子路径的所有的子路径的城市中,筛选可与当前城市进行位置交换的待交换城市,并确定待交换城市所在的待交换子路径;S132224、将待交换城市与当前城市进行位置交换,获得新原子路径和新待交换子路径;S132225、利用子路径的优化方法对新原子路径和新待交换子路径进行优化,获得每条子路径的最优解。
具体地说,步骤S132221~ S132225为基于全路径导向性交换的全路径优化方法;与步骤S132211~ S132215的全路径插入算法类似,该算法核心思想为,有导向性的交换分别来源于两个子路径的两个城市,使得结果更优。如图7所示,首先,根据城市的需求量从小到大对城市进行排序,并将排序后的结果记录为Sort_city。随后,对每条子路径r_i而言,计算当前卡车剩余容量。对Sort-city中的城市target进行遍历,若城市target不包含在当前子路径中,则找到存放城市target的子路径r_target,计算当前卡车剩余容量。对于子路径r_i中的每一个城市city进行遍历,尝试将城市city与城市target进行交换操作;若满足交换条件,即子路径r_target中去除城市target并插入城市city后,卡车容量满足约束;子路径r_i中去除城市city并插入城市target后,卡车容量满足约束,则进行子路径之间的交换操作。
在交换操作后,利用步骤S1321中子路径的优化方法分别对子路径r_i和子路径r_target进行子路径优化操作,对子路径的优化的目的得到每条子路径的优秀解。若更新后的全路径比未更新前的全路径更优,则将更新后的全路径作为当前最优解。与全路径导向性插入类似的是,全路径导向性交换采用一种具有导向性的交换方式,沿着更优解的逐步优化,这即提升了算法的计算精度,又提高了算法搜索的效率。
S140、利用当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解,即3条头狼。在迭代优化的过程中,要判定是否达到设定的迭代次数,如果未达到设定迭代次数,则继续迭代;如果达到设定次数,则当前次的迭代即为末次迭代,获取末次迭代的前3个最优解,即3条头狼。
S150、获取末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。也就是说,末次迭代所获得的前3个最优解仍然包括三条头狼,而仅仅取第一条头狼代表的城市序列作为本次带容量约束的车辆路径问题的解。
综上,本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法为首先设置初始狼群中狼的数量N,狼的数量即旅行商中解的数量。通过改进GRASP算法,计算出CVRP的初始解。一个初始解即为GWO算法中的一条狼。通过改进的GRASP算法,本发明可以为N条狼赋值N个解,完成狼群的初始化过程。计算每个解的路径花费,并选择路径花费前三小的解,分别作为3个头狼即狼a,狼b和狼d。通过利用PMX和OX算法更新解决方案,具体包括3个操作:子路径合并;基于PMX和OX的交叉;以及合并后路径的拆分;对更新后的解决方案优化,包括进行子路径的优化和全路径的优化;选择3个最优解作为本次更新后的狼a,狼b,狼d。循环迭代执行上述步骤,直到达到设定的迭代次数。末次迭代的头狼a代表的解,为混合元启发式算法CVRP-GWO计算得到的最优解。
在具体的实施过程中,为了说明本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法在不同CVRP问题规模下的处理能力,本发明选择 81个知名的CVRP实例进行测试,其中包括由Augerat等人提出的73个测试实例,包含数据集A、B和P;以及由Christofides和Eilon提出的数据集E中的8个实例。这些数据集可在网站上查阅http://vrp.atdlab.inf.puc-rio.br/index.php/en/。为了验证CVRP-GWO的有效性,本发明将CVRP-GWO与最近发布的6种处理CVRP问题的混合元启发式算法进行比较。这6个启发式算法分别为LNS-ACO,UFC,HA ,ETSA,OHGA, CVRP-FA,文章来源如下:
LNS-ACO算法: S. Akpinar, Hybrid large neighbourhood search algorithmfor capacitated vehicle routing problem, Expert Systems with Applications 61(2016) 28–38;
UFC算法:H. Ewbank, P. Wanke, A. Hadi-Vencheh, An unsupervised fuzzyclustering approach to the capacitated vehicle routing problem, NeuralComputing and Applications 27 (4) (2016) 857–867;
HA算法:S. Kır, H. R. Yazgan, E. Tüncel, A novel heuristic algorithmfor capacitated vehicle routing problem, Journal of Industrial EngineeringInternational 13 (3) (2017) 323–330;
ETSA算法:B. Rabbouch, F. Saâdaoui, R. Mraihi, Empirical-typesimulated annealing for solving the capacitated vehicle routing problem,Journal of Experimental & Theoretical Artificial Intelligence 32 (3) (2020)437–452;
OHGA算法:N. Lin, Y. Shi, T. Zhang, X. Wang, An effective order-awarehybrid genetic algorithm for capacitated vehicle routing problems in internetof things, IEEE Access 7 (2019) 86102–86114;
CVRP-FA算法:A. M. Altabeeb, A. M. Mohsen, A. Ghallab, An improvedhybrid firefly algorithm for capacitated vehicle routing problem, AppliedSoft Computing 84 (2019) 105728。
如表1~4所示,公开了所选算法在分别在数据集A、B、P和E上的比较结果。在“Instance”下的“Name”和“BKS”列分别表示实例名称及其最好的解决方案。“Best”和“Avg”列分别是最优值和平均值针对“BKS”的百分比偏差,计算公式定义如下:
需要说明的是,表1~4报告了所选算法在数据集A、B、P和E上的计算结果,其中LNS-ACO、HA和OHGA算法在文章中并未给出对应的平均值,只给出了最优值。因此在表中没有记录上述3种算法的平均值。表格中的“N.A.”代表算法没有针对该实例进行计算,即没有该实例对应的结果。
表1本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法关于数据集A的测试结果对比表;
通过表1可知,本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法对于数据集A,在27个实例中的24个实例找到了最优的解决方案(“Best”列),并且在27个实例中的23个实例的平均值结果(“Avg”列)和其他算法相比更优。
表2本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法关于数据集B的测试结果对比表;
通过表2可知,本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法对于数据集B,在23个实例中的20个实例均找到了最优的解决方案(“Best”列),并且在23个实例中的21个实例的平均值结果(“Avg”列)和其他算法相比更优。在数据集B中,CVRP-GWO算法在小、中、大规模实例中几乎都取得了最好的结果。
表3本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法关于数据集P的测试结果对比表;
通过表3可知,本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法对于数据集P,在23个实例中的22个实例均找到了最优的解决方案(“Best”列),并且在23个实例中的21个实例的平均值结果(“Avg”列)和其他算法相比更优。特别是针对P-n55-k8实例,CVRP-GWO取得了比BKS更好的结果。在数据集P中,CVRP-GWO算法在小、中、大规模实例中几乎都取得了最好的结果。
表4本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法关于数据集E的测试结果对比表;
通过表4可知,本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法对于数据集E,在8个实例中的7个实例均找到了最优的解决方案(“Best”列),并且所有实例的平均值(“Avg”列)均优于其他算法。UFC和ETSA没有针对数据集E进行实验,因此在数据集E的验证中并未包含该两种算法。根据在数据集A,B,P,E的测试结果可知,CVRP-GWO比起其他算法能够取得更优结果。
综上所述,本发明的基于混合元启发式算法的带容量约束的车辆路径获取方法,比起其他混合元启发式算法,本发明提出的方法可以显著提升求解CVRP问题的时间效率和结果精度。
如图8所示,本发明提供一种基于混合元启发式算法的带容量约束的车辆路径获取系统800,本发明可以安装于电子设备中。根据实现的功能,该基于混合元启发式算法的带容量约束的车辆路径获取系统800可以包括构建单元810、计算单元820、迭代单元830和获取单元840。本发明所述单元也可以称之为模块,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
构建单元810,用于构建带容量约束的车辆路径问题,设置初始狼群中狼的数量N;
计算单元820,用于通过随机贪婪策略在初始狼群中构造N条初始回路, N条初始回路为N条狼的N个初始解的组合;计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;其中,原始最优解包括3条头狼,除头狼以外的狼为普通狼;
迭代单元830,用于对含有原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解,即3条头狼;
利用当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解,即3条头狼;
获取单元840,用于获取末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。
本发明的基于混合元启发式算法的带容量约束的车辆路径获取系统800,通过构建带容量约束的车辆路径问题,设置初始狼群中狼的数量N;通过随机贪婪策略在初始狼群中构造N条初始回路,N条初始回路为N条狼的N个初始解的组合;计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;其中,原始最优解包括3条头狼,除头狼以外的狼为普通狼;对含有原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解,即3条头狼;利用当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解,即3条头狼;获取末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。本发明与其他6种元启发式算法在81个测试案例上进行对比,实验结果证明CVRP-GWO算法在求解CVRP问题上更精确;具有提升带容量约束的车辆路径问题的最优解精度的技术效果。
如图9所示,本发明提供一种基于混合元启发式算法的带容量约束的车辆路径获取方法的电子设备9。
该电子设备9可以包括处理器90、存储器91和总线,还可以包括存储在存储器91中并可在所述处理器90上运行的计算机程序,如基于混合元启发式算法的带容量约束的车辆路径获取程序92。存储器91还可以既包括基于混合元启发式算法的带容量约束的车辆路径获取系统的内部存储单元也包括外部存储设备。存储器91不仅可以用于存储安装于应用软件及各类数据,例如基于混合元启发式算法的带容量约束的车辆路径获取程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
其中,所述存储器91至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(如SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器91在一些实施例中可以是电子设备9的内部存储单元,例如该电子设备9的移动硬盘。所述存储器91在另一些实施例中也可以是电子设备9的外部存储设备,例如电子设备9上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括电子设备9的内部存储单元也包括外部存储设备。所述存储器91不仅可以用于存储安装于电子设备9的应用软件及各类数据,例如基于混合元启发式算法的带容量约束的车辆路径获取程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器90在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing Unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器90是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器91内的程序或者模块(如基于混合元启发式算法的带容量约束的车辆路径获取程序等),以及调用存储在所述存储器91内的数据,以执行电子设备9的各种功能和处理数据。
所述总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器91以及至少一个处理器90等之间的连接通信。
图9仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图9示出的结构并不构成对所述电子设备9的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备9还可以包括给各个部件供电的电源(如电池),优选地,电源可以通过电源管理系统与所述至少一个处理器90逻辑相连,从而通过电源管理系统实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备9还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备9还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备9与其他电子设备之间建立通信连接。
可选地,该电子设备9还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备9中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备9中的所述存储器91存储的基于混合元启发式算法的带容量约束的车辆路径获取程序92是多个指令的组合,在所述处理器90中运行时,可以实现:通过构建带容量约束的车辆路径问题,设置初始狼群中狼的数量N;通过随机贪婪策略在初始狼群中构造N条初始回路,N条初始回路为N条狼的N个初始解的组合;计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;其中,原始最优解包括3条头狼,除头狼以外的狼为普通狼;对含有原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解,即3条头狼;利用当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解,即3条头狼;获取末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。
具体地,所述处理器90对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。需要强调的是,为进一步保证上述基于混合元启发式算法的带容量约束的车辆路径获取程序的私密和安全性,上述数据库高可用处理数据存储于本服务器集群所处区块链的节点中。
进一步地,所述电子设备9集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或系统、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)。
本发明实施例还提供一种计算机可读存储介质,所述存储介质可以是非易失性的,也可以是易失性的,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现:通过构建带容量约束的车辆路径问题,设置初始狼群中狼的数量N;通过随机贪婪策略在初始狼群中构造N条初始回路,N条初始回路为N条狼的N个初始解的组合;计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;其中,原始最优解包括3条头狼,除头狼以外的狼为普通狼;对含有原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解,即3条头狼;利用当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解,即3条头狼;获取末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。
具体地,所述计算机程序被处理器执行时具体实现方法可参考实施例基于混合元启发式算法的带容量约束的车辆路径获取方法中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或系统也可以由一个单元或系统通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (9)
1.一种基于混合元启发式算法的带容量约束的车辆路径获取方法,其特征在于,包括:
构建带容量约束的车辆路径问题,设置初始狼群中狼的数量N;
通过随机贪婪策略在所述初始狼群中构造N条初始回路,所述N条初始回路为N条狼的N个初始解的组合;其中,通过随机贪婪策略在所述初始狼群中构造N条初始回路包括,
随机选择一个城市作为带容量约束的车辆路径问题的第一个要访问的城市,将所述城市加入第一条子路径中,并将所述城市标记为已访问;且,卡车容量变更为剩余容量;其中,所述剩余容量为原始容量减去所述城市的需求量;
在未访问的城市中,按照与当前城市距离从小到大排序,选取距离最小的前RCL_size个城市进行RCL列表构造;其中,所述RCL_size为设定参数;
在所述RCL列表中随机选择一个城市,将所述城市加入所述带容量约束的车辆路径问题的解决方案中,并将所述城市标记为已访问城市和当前出发城市;其中,所述城市的需求量小于等于卡车的当前容量;且,卡车容量变更为剩余容量减去所述城市的需求量;
基于所述出发城市进行RCL列表更新和下一个城市的选取,当所述RCL列表中剩余城市的需求量均大于当前卡车的卡车容量时,当前卡车任务结束,即一条子路径构建成功;重复子路径构建步骤直至所有城市均被访问,即所有子路径构建结束,得到一组初始解;
将上述步骤迭代N次,得到N组初始解;
将N个初始解作为初始狼群中N条狼,生成N条初始回路;
计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;其中,所述原始最优解包括3条头狼,除头狼以外的狼为普通狼;
对含有所述原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解,即3条头狼;
利用所述当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解,即3条头狼;
获取所述末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。
2.根据权利要求1所述的基于混合元启发式算法的带容量约束的车辆路径获取方法,其特征在于,
对含有所述原始最优解的狼群进行迭代更新的方法包括,
路径更新;其中,所述路径更新包括:将设定数量的子路径合并为一条路径,形成合并路径;基于匹配交叉策略或顺序交叉策略对合并路径进行更新;对更新后的合并路径进行分离,拆分成子路径;
对更新后的路径进行优化;其中,所述对更新后的路径进行优化包括对子路径的优化和对全部路径的优化。
3.根据权利要求2所述的基于混合元启发式算法的带容量约束的车辆路径获取方法,其特征在于,
所述子路径的优化为子路径插入优化、子路径交换优化和2-opt局部搜索算法优化中的一种或多种;其中,
所述子路径插入优化,为通过将所述子路径中的某个城市元素插入至除所述元素原始位置外的任意位置,以获得更短子路径的子路径优化方法;
所述子路径交换优化,为通过将所述子路径中的某个城市元素与其他城市元素进行位置交换,以获得更短子路径的子路径优化方法。
4.根据权利要求2所述的基于混合元启发式算法的带容量约束的车辆路径获取方法,其特征在于,
所述对全部路径的优化包括:
根据城市的需求量的从小到大对城市进行排序,并将排序后的结果记录为Sort_city;计算每条子路径的当前卡车的剩余卡车容量;
对所述Sort_city中的城市进行遍历,若当前城市的需求量小于等于当前卡车的剩余卡车容量,且当前城市不在当前路径中时,寻找当前城市所在的原子路径;
将当前城市从原子路径中删除,并将当前城市加入到当前子路径中,获得新原子路径和新当前子路径;
利用所述子路径的优化方法对所述新原子路径和新当前子路径进行优化,获得每条子路径的最优解。
5.根据权利要求2所述的基于混合元启发式算法的带容量约束的车辆路径获取方法,其特征在于,
所述对全部路径的优化包括:
根据城市的需求量的从小到大对城市进行排序,并将排序后的结果记录为Sort_city;计算每条子路径的当前卡车的剩余卡车容量;
对所述Sort_city中的城市进行遍历,若当前城市不在当前子路径中,寻找当前城市所在的原子路径,并计算所述原子路径的当前卡车的剩余卡车容量;
在除原子路径的所述所有的子路径的城市中,筛选可与当前城市进行位置交换的待交换城市,并确定所述待交换城市所在的待交换子路径;
将所述待交换城市与当前城市进行位置交换,获得新原子路径和新待交换子路径;
利用所述子路径的优化方法对所述新原子路径和新待交换子路径进行优化,获得每条子路径的最优解。
6.根据权利要求1所述的基于混合元启发式算法的带容量约束的车辆路径获取方法,其特征在于,
在对含有所述原始最优解的狼群进行迭代更新之前,还包括,
利用2-opt局部搜索算法对含有所述原始最优解的狼群进行优化。
7.一种基于混合元启发式算法的带容量约束的车辆路径获取系统,其特征在于,包括:
构建单元,用于构建带容量约束的车辆路径问题,设置初始狼群中狼的数量N;
计算单元,用于通过随机贪婪策略在所述初始狼群中构造N条初始回路,所述N条初始回路为N条狼的N个初始解的组合;计算每个初始解的路径花费,并选择路径花费前三小的初始解所对应的狼的组合作为原始最优解;其中,所述原始最优解包括3条头狼,除头狼以外的狼为普通狼;通过随机贪婪策略在所述初始狼群中构造N条初始回路包括,
随机选择一个城市作为带容量约束的车辆路径问题的第一个要访问的城市,将所述城市加入第一条子路径中,并将所述城市标记为已访问;且,卡车容量变更为剩余容量;其中,所述剩余容量为原始容量减去所述城市的需求量;
在未访问的城市中,按照与当前城市距离从小到大排序,选取距离最小的前RCL_size个城市进行RCL列表构造;其中,所述RCL_size为设定参数;
在所述RCL列表中随机选择一个城市,将所述城市加入所述带容量约束的车辆路径问题的解决方案中,并将所述城市标记为已访问城市和当前出发城市;其中,所述城市的需求量小于等于卡车的当前容量;且,卡车容量变更为剩余容量减去所述城市的需求量;
基于所述出发城市进行RCL列表更新和下一个城市的选取,当所述RCL列表中剩余城市的需求量均大于当前卡车的卡车容量时,当前卡车任务结束,即一条子路径构建成功;重复子路径构建步骤直至所有城市均被访问,即所有子路径构建结束,得到一组初始解;
将上述步骤迭代N次,得到N组初始解;
将N个初始解作为初始狼群中N条狼,生成N条初始回路;
迭代单元,用于对含有所述原始最优解的狼群进行迭代更新,获取当前轮次的前3个最优解,即3条头狼;
利用所述当前轮次的最优解进行下一轮次的狼群迭代计算,直至达到设定的迭代次数,并获取末次迭代的前3个最优解,即3条头狼;
获取单元,用于获取所述末次迭代的前3个最优解中第一条头狼代表的解,作为带容量约束的车辆路径问题的解。
8.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一所述的基于混合元启发式算法的带容量约束的车辆路径获取方法中的步骤。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一所述的基于混合元启发式算法的带容量约束的车辆路径获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210120344.0A CN114169488B (zh) | 2022-02-09 | 2022-02-09 | 基于混合元启发式算法的带容量约束的车辆路径获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210120344.0A CN114169488B (zh) | 2022-02-09 | 2022-02-09 | 基于混合元启发式算法的带容量约束的车辆路径获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114169488A CN114169488A (zh) | 2022-03-11 |
CN114169488B true CN114169488B (zh) | 2022-05-20 |
Family
ID=80489645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210120344.0A Active CN114169488B (zh) | 2022-02-09 | 2022-02-09 | 基于混合元启发式算法的带容量约束的车辆路径获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114169488B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117852733A (zh) * | 2023-12-06 | 2024-04-09 | 江南大学 | 一种基于大规模限量弧路由问题求解的路径规划方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180150081A1 (en) * | 2018-01-24 | 2018-05-31 | GM Global Technology Operations LLC | Systems and methods for path planning in autonomous vehicles |
CN110471426B (zh) * | 2019-09-02 | 2020-11-24 | 哈尔滨工程大学 | 基于量子狼群算法的无人驾驶智能车自动避碰方法 |
CN110675004A (zh) * | 2019-10-14 | 2020-01-10 | 东北大学 | 一种基于灰狼算法的路径规划方法 |
CN112016750A (zh) * | 2020-08-27 | 2020-12-01 | 东北大学秦皇岛分校 | 一种改进的解决带约束车辆路径问题的方法 |
CN112053117B (zh) * | 2020-09-11 | 2024-02-02 | 东北大学 | 一种协同配送的路径规划方法及装置 |
-
2022
- 2022-02-09 CN CN202210120344.0A patent/CN114169488B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114169488A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pisinger et al. | Large neighborhood search | |
Cattaruzza et al. | The multi-trip vehicle routing problem with time windows and release dates | |
Kulak et al. | Joint order batching and picker routing in single and multiple-cross-aisle warehouses using cluster-based tabu search algorithms | |
US7363126B1 (en) | Core area territory planning for optimizing driver familiarity and route flexibility | |
CN109919365B (zh) | 一种基于双策略搜索的电动车辆路径规划方法及系统 | |
CN106980912A (zh) | 一种多点配送线路规划方法及系统 | |
CN114169488B (zh) | 基于混合元启发式算法的带容量约束的车辆路径获取方法 | |
CN114611755A (zh) | 基于混合元启发式算法的旅行商最优路径确定方法 | |
Hajiaghaei-Keshteli et al. | Designing a multi-period dynamic electric vehicle production-routing problem in a supply chain considering energy consumption | |
CN115409439A (zh) | 基于改进蚁群算法的多车型供应链调度方法及电子设备 | |
Ahmed et al. | Hybrid Genetic Algorithms for the Asymmetric Distance‐Constrained Vehicle Routing Problem | |
Funke et al. | Deducing individual driving preferences for user-aware navigation | |
Kim et al. | Ant colony optimisation with random selection for block transportation scheduling with heterogeneous transporters in a shipyard | |
Kamsopa et al. | Hybrid genetic algorithm for multi-period vehicle routing problem with mixed pickup and delivery with time window, heterogeneous fleet, duration time and rest area | |
Caballero-Morales et al. | An evolutive tabu-search metaheuristic approach for the capacitated vehicle routing problem | |
CN112862212B (zh) | 基于改进麻雀搜索算法的多agv调度方法、装置及设备 | |
CN113280828B (zh) | 一种路径规划方法、装置、设备和存储介质 | |
Almoustafa | Distance-constrained vehicle routing problem: exact and approximate solution (mathematical programming) | |
Yang et al. | The effects of initial population in genetic search for time constrained traveling salesman problems | |
Mahmoudi et al. | Embedding Assignment Routing Constraints through Multi Dimensional Network Construction for Solving the Multi Vehicle Routing Problem with Pickup and Delivery with Time Windows | |
Geiger | On an effective approach for the coach trip with shuttle service problem of the VeRoLog solver challenge 2015 | |
Pinto et al. | Column generation based heuristic for a vehicle routing problem with 2-dimensional loading constraints: a prototype | |
Duan et al. | Nondominated Sorting Differential Evolution Algorithm to Solve the Biobjective Multi‐AGV Routing Problem in Hazardous Chemicals Warehouse | |
Cwiek et al. | How to Generate Benchmarks for Rich Routing Problems? | |
JP2003137437A (ja) | 輸送計画作成方法 |
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 |