CN107909228A - 基于模因计算的动态车辆收发货路径规划方法及装置 - Google Patents
基于模因计算的动态车辆收发货路径规划方法及装置 Download PDFInfo
- Publication number
- CN107909228A CN107909228A CN201711410953.5A CN201711410953A CN107909228A CN 107909228 A CN107909228 A CN 107909228A CN 201711410953 A CN201711410953 A CN 201711410953A CN 107909228 A CN107909228 A CN 107909228A
- Authority
- CN
- China
- Prior art keywords
- chromosome
- node
- bars
- path
- mrow
- 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.)
- Granted
Links
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
- 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
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明适用于路径规划技术领域,提供了一种基于模因计算的动态车辆收发货路径规划方法及装置,先进行编码初始化,然后对N条染色体进行路径修正,并进行遗传算法中的交叉和变异操作,根据预先建立的排序库按照排序优先的方式进行局部搜索优化;然后从N条优化后的新的染色体和N条原来的染色体中筛选出N条染色体作为待执行的N种路径规划方案;最后从N种路径规划方案中选择一种路径规划方案对其中的一个服务点进行服务,并在服务完之后,将该服务点从N条染色体中提取出来作为服务过的服务点,并判断是否服务完所有服务点,若没有,则返回修正步骤,直至所有的服务点都服务完;本发明提供的方法能够缩短距离和提高工作量,提高局部搜索能力。
Description
技术领域
本发明属于路径规划技术领域,尤其涉及一种基于模因计算的动态车辆收 发货路径规划方法及装置。
背景技术
收发货问题(pickup-and-delivery problems,简称PDPs)是物流车辆路径规 划问题(vehicle routing problem,简称VRP)的一种,解决PDPs的目的是找到 一条最优路径,使得车辆在一定实际约束下收发货量最大。解决PDPs问题能 够促进节能减排,缓解交通压力,为城市的可持续发展做出一定贡献。而大部 分的PDPs都是使用的静态模型,也就是所有的信息都是事先可知且不变的。 现实生活中,随着竞争压力的增大,和客户期望得到更好的服务等,这些要求 都迫使物流公司进行改革,提高服务水平。现如今国内外电商蓬勃发展,产生 了大量的包裹,此外,如外卖,限时送等服务产生了大量的动态需求,从这个 发展趋势上看,优化配送方案很有必要,使得我们有着巨大的动力去研究动态 收发货问题(dynamic pickup-and-delivery problems,简称DPDPs)。在动态物流 问题中,如果出现突发事件,则可以实时的进行在规划路径,这类问题也称为 在线或实时路径规划问题。PDP已经被证明是NP难问题,而DPDPs则是更加 难解决的情况。
目前已有的一些解决算法如遗传算法(Genetic Algorithm,简称GA),蚁 群算法(Ant Colony Optimization,简称ACO)和粒子群(Particle Swarm Optimization,简称PSO)等算法由于能够在有限的时间内获取近似最优解,已 经广泛应用于解决DPDPs。然而这些算法中很多都没有考虑路径间的有效信息, 如利用最近的点来进行优化路径的操作,考虑动态需求的算法则少之又少了。
如图3a所示,解决一个一到多到一的动态收发货问题(one-to-many-to-oneDPDP,简称,1-M-1DPDP)是要找到一条最优路径指导车辆从仓库出发经由 一系列的客户点最终回到同一仓库。车辆载着预先请求发出的货物从仓库出发, 沿着初始化的既定路线去服务预先知道的那些客户点,这些客户点既可能有收 货和也可能有发货的请求。而当新的动态请求出现时,车辆可以选择响应请求 对路线再规划,或者直接忽略请求。在整个进程中,实时交通信息也被考虑进 来,车辆会根据不同的交通拥堵状况对路线进行动态调整。在本算法中,主要 考虑路径的长度和收发货量两个目标。
当前主流的通用解决算法是启发式算法,这些算法能够在一定的时间内进 行获得有效的解。Euchi et al.提出使用2-op进行局部优化的人工ACO算法来解 决动态收发货车辆路径规划问题,Sáez et al.采用基于GA和PSO的混合模型来 解决多车DPDPs问题等;这些算法中,很多都是用来解决单目标或者是非动态 的多目标问题的。
现有的路径规划算法往往只能解决单一目标优化并存在耗时长、容易陷入 局部最优等缺陷。其它少部分算法主要是通用的启发式算法,对针对性的问题 进行优化有限,如在多目标问题中只对长度进行考虑进行局部优化甚至没有考 虑问题的启发信息(如时间,点与点之间的距离排序等信息)。此外,启发式算 法由于缺乏局部定位能力,在解决复杂问题时也存在全局搜索收敛慢的缺陷。
发明内容
本发明提供一种基于模因计算的动态车辆收发货路径规划方法及装置,旨 在提供一种针对有动态需求的多目标问题,采用排序优先的局部搜索方式和模 因算法进行一对多对一的动态车辆路径规划,使得规划的方法能够缩短距离和 提高工作量,并提高局部搜索能力,从而加快全局搜索收敛能力。
本发明提供了一种基于模因计算的动态车辆收发货路径规划方法,包括:
步骤S1,将车辆出发前已知的服务点进行路径的编码初始化,得到N条原 始的由行车路径组成的染色体;
其中,染色体中的每一个节点代表一个服务点;
步骤S2,利用预先建立的排序库对N条所述由行车路径组成的染色体进行 路径修正,使得修正后的路径不超出所述车辆的最大车载容量,得到N条修正 后的染色体;
其中,所述预先建立的排序库包括所有已知的服务点的子排序库,所述子 排序库包括每一个已知的服务点到其它任意一个服务点的适应值,所述适应值 用于衡量路径长度和工作量两个目标;
步骤S3,对N条所述修正后的染色体进行遗传算法中的交叉操作和变异操 作,得到N条多样化的子代染色体;
步骤S4,根据预先建立的排序库按照排序优先的方式对N条所述子代染色 体进行局部搜索优化,得到N条优化后的染色体;
步骤S5,利用NSGA-II算法从N条所述修正后的染色体和N条所述优化 后的染色体中筛选出N条符合帕雷托标准的染色体作为待执行的N种路径规 划方案;
步骤S6,利用预设的服务策略从N种所述路径规划方案中选择一种路径规 划方案,并按照选择的所述路径规划方案对其中的一个服务点进行服务,并在 服务完所述服务点之后,将所述服务点从N条染色体中提取出来作为服务过的 服务点,并判断是否服务完所有服务点,若没有,则返回步骤S2。
本发明还提供了一种基于模因计算的动态车辆收发货路径规划装置,包括:
初始化模块,用于将车辆出发前已知的服务点进行路径的编码初始化,得 到N条原始的由行车路径组成的染色体;
其中,染色体中的每一个节点代表一个服务点;
修正模块,用于利用预先建立的排序库对N条所述由行车路径组成的染色 体进行路径修正,使得修正后的路径不超出所述车辆的最大车载容量,得到N 条修正后的染色体;
其中,所述预先建立的排序库包括所有已知的服务点的子排序库,所述子 排序库包括每一个已知的服务点到其它任意一个服务点的适应值,所述适应值 用于衡量路径长度和工作量两个目标;
交叉变异模块,用于对N条所述修正后的染色体进行遗传算法中的交叉操 作和变异操作,得到N条多样化的子代染色体;
局部搜索模块,用于根据预先建立的排序库按照排序优先的方式对N条所 述子代染色体进行局部搜索优化,得到N条优化后的染色体;
筛选模块,用于利用NSGA-II算法从N条所述修正后的染色体和N条所 述优化后的染色体中筛选出N条符合帕雷托标准的染色体作为待执行的N种 路径规划方案;
服务模块,用于利用预设的服务策略从N种所述路径规划方案中选择一种 路径规划方案,并按照选择的所述路径规划方案对其中的一个服务点进行服务, 并在服务完所述服务点之后,将所述服务点从N条染色体中提取出来作为服务 过的服务点,并判断是否服务完所有服务点,若没有,则返回所述修正模块。
本发明与现有技术相比,有益效果在于:本发明提供的一种基于模因计算 的动态车辆收发货路径规划方法及装置,方法包括:先将车辆出发前已知的服 务点进行路径的编码初始化,然后对N条染色体进行路径修正,并进行遗传算 法中的交叉和变异操作,根据预先建立的排序库按照排序优先的方式进行局部 搜索优化;然后从N条优化后的新的染色体和N条交叉操作前的原来的染色体 中筛选出N条符合帕雷托标准的染色体作为待执行的N种路径规划方案;最后 利用预设的服务策略从N种路径规划方案中选择一种路径规划方案,并按照选 择的该路径规划方案对其中的一个服务点进行服务,并在服务完所述服务点之 后,将该服务点从N条染色体中提取出来作为服务过的服务点,并判断是否服 务完所有服务点,若没有,则返回修正步骤,直至所有的服务点都服务完;本 发明与现有技术相比,采用排序优先的局部搜索方式和模因算法进行一对多对 一的动态车辆路径规划,优化了配送路径,从而在不增加人员的基础上可以通 过提高效率达到配送更多的包裹,提高了工作量;并且,提高了局部搜索能力, 从而加快了全局搜索收敛能力。
附图说明
图1是本发明实施例提供的一种基于模因计算的动态车辆收发货路径规划 方法的流程示意图;
图2是本发明实施例提供的一种基于模因计算的动态车辆收发货路径规划 方法的执行过程示意图;
图3a是本发明实施例提供的单辆车一到多到一动态收发货问题的示意图;
图3b是对图3a所有的静态需求按照整数的方式进行编码初始化后的染色 体示意图;
图4是本发明实施例提供的关于节点vi-1的子排序库的示意图;
图5a是本发明实施例提供的修正前的路径示意图;
图5b是本发明实施例提供的修正后的路径示意图;
图6a是本发明实施例提供的随机选中的两条染色体的示意图;
图6b是取出的图6a上面那条染色体中选中的染色体片段的示意图;
图6c是图6a下面那条染色体的子代染色体的示意图;
图7a是本发明实施例提供的选取了待反转片段的染色体的示意图;
图7b是对图7a中选中的片段进行反转后的染色体的示意图;
图8a是本发明实施例提供的服务前的路径编码示意图;
图8b是本发明实施例提供的服务后的路径编码示意图;
图9是本发明实施例提供的一种基于模因计算的动态车辆收发货路径规划 装置的模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
本发明提供了一种基于模因计算的动态车辆收发货路径规划方法,结合图 1-2所示,包括:
步骤S1,将车辆出发前已知的服务点进行路径的编码初始化,得到N条原 始的由行车路径组成的染色体;
其中,染色体中的每一个节点代表一个服务点。
具体地,车辆出发前已知的服务点为静态需求,车辆在行进过程中新增的 服务请求为动态需求。如图3a所示为本发明实施例提供的单辆车一到多到一动 态收发货问题的图示,图3b所示为将图3a中所有的静态需求按照整数的方式 进行编码初始化,得到的对应的由行车路径组成的染色体。
步骤S2,利用预先建立的排序库对N条所述由行车路径组成的染色体进行 路径修正,使得修正后的路径不超出所述车辆的最大车载容量,得到N条修正 后的染色体;
具体地,在进行路径修正和局部优化前,需要建立一个排序库,方便后面 修正路径和局部优化时快速查找,从而获取合适的节点进行处理。
其中,所述预先建立的排序库包括所有已知的服务点的子排序库,所述子 排序库包括每一个已知的服务点到其它任意一个服务点的适应值,所述适应值 用于衡量路径长度和工作量两个目标。
具体地,所述排序库的建立方法为:
步骤A1,分别利用归一化公式对节点vi到其它任意一个节点vj的路径长 度和工作量进行归一化处理,得到归一化后的路径长度和工作量,并利用适应 值计算公式计算节点vi到其它任意一个节点vj的适应值Fit(i,j),将计算得到的适 应值Fit(i,j)以键值的形式(vj,Fit(i,j))保存在mapvi里,得到一个关于vi到其它 任意节点的mapvi;
具体地,在计算适应值过程中,由于目标间数据衡量标准不一,故需要先 将目标进行归一化;在这里,所有目标都采取下面的公式进行归一化:
其中,x表示DPDPs中的目标,如路径长度和工作量,xmin表示目标的最 小值,xmax表示目标的最大值,y则表示归一化后的值。
由于采用公式(1)计算适应值会产生无穷大的情况(workload为0的情况), 故需要将公式(1)进行修改,改为采用下述的归一化公式(2)进行归一化。
所述归一化公式为:
其中,x表示动态收发货问题DPDPs中的目标,所述目标包括路径长度和 工作量,xmax为所述目标的最大值,y则表示归一化后的值,这样产生的归一化 结果在0-1区间,不包括0。
具体地,由于本发明中的DPDPs只有路径长度和工作量两个目标,并且要 使路径长度最短、工作量最大化,故可以采取下面的公式(3)作为适应值计算 公式计算目标的适应值。
所述适应值计算公式为:
其中,Fit(i,j)表示第i个服务点与第j个服务点间的适应值,主要用于衡量 车辆在第i个服务点时到达第j个服务点的性价比,d(i,j)表示从服务点i到服务 点j的路径长度,workloadj表示第j个服务点的工作量;其中,j取遍除i之外 的所有值。
步骤A2,将mapvi包含的Fit(i,j)按照值从小到大的方式进行排序,并存放到 一个队列里,得到关于vi的子排序库;
如图4所示为本发明实施例列举的关于节点vi-1的子排序库,列举的vi-1的 子排序库包括节点vi+1、vi+2、vi、vi+3,其中,节点vi-1分别与节点vi+1、vi+2、vi、vi+3连线的长度代表两节点之间的适应值,连线上的数字代表排序情况,从 图中可以看出,节点vi为适应值最优的节点。
步骤A3,将关于vi的所述子排序库以键值的形式(vi,mapvi)存放到全局 的map里,得到一个关于全部节点的排序库。
需要说明的是,新加进的动态服务点采取插入的方式进行处理。
在建立起排序库后,就可以进行修正车辆超载和局部优化的操作了。下面 举一具体实施例介绍车辆路径修正的实现过程,结合图5a和图5b所示。假如 车辆的载重量为C=20,如图5a所示,在车辆经过节点v’i-1的时候刚好满载, 但是如果按照规划好的路线走的话,到达v’i的时候,车辆由于收货为7,发货 为2,则会增加5的车载量,最后车载量为25,超过了车载最大载重量20,故 需要进行修正路线,保证车辆不会超载。我们在排序库里选择关于v’i-1的子排 序库,从适应值从小到大进行寻找,查找一个插进去后不会超载的节点进行插 入;如图5b所示为最终修改的路径,图5a和图5b中,Ω(i)代表车辆到达节点 v’i时的当前载重量。
步骤S3,对N条所述修正后的染色体进行遗传算法中的交叉操作和变异操 作,得到N条多样化的子代染色体;
其中,所述遗传算法中的交叉操作包括:
步骤B1,从N条所述修正后的染色体中随机选中任意两条染色体m和n 组成一组,共组成N/2组,将染色体m和n对比,并分别随机在染色体m和n 中间相同的位置选取相同长度的染色体片段,记为m1和n1,染色体m和n未 选取的染色体片段分别记为m2和n2;
步骤B2,将染色体片段n1和染色体片段m1进行比较,从染色体片段n1里提取与染色体片段m1不同的节点n11;并将染色体片段n2和染色体片段m1进行比较,从染色体片段n2里提取与染色体片段m1重复的节点n21;
步骤B3,利用提取的节点n11替换提取的节点n21,并利用提取的染色体 片段m1替换染色体片段n1,得到染色体n对应的1条子代染色体;对染色体m 进行相同的提取和替换操作,得到染色体m对应的1条子代染色体,共得到N 条子代染色体。
结合图6a-6c所示为本发明实施例提供的交叉操作过程,具体地,图6a为 随机选中的两条染色体,其中,图6a中两条染色体中的V3V4V5V6V7片段和 V5V4V0V8V6片段是选取的染色体片段,图6b中上面的一条染色体片段是从图 6a上面一条染色体中取出来的选中的染色体片段,从图6b中提取的不同的节 点为V0V8,提取的重复的节点为V3V7;图6c所示为利用节点V0V8替换节点 V3V7,并利用V3V4V5V6V7片段替换V5V4V0V8V6片段后得到的图6a下面那条染色体的子代染色体。需要说明的是,在选取两条染色体中的V3V4V5V6V7片 段和V5V4V0V8V6片段后,对图6a中上面那条染色体进行相同的提取和替换操 作,得到图6a上面那条染色体的子代染色体。
其中,所述遗传算法中的变异操作包括:对所述交叉操作得到的N条子代 染色体中的每一条进行交换、插入、删除和反转的操作,得到N条多样化的子 代染色体;其中,每条子代染色体执行所述交换、插入、删除和反转操作中的 任一个操作的概率是1/4;
其中,所述交换的操作为:从1条子代染色体里随机选择两个节点交换位 置,所述插入的操作为:插入动态的节点到1条染色体里,具体地,在算法执 行过程中,对新增的动态节点采取插入的方式添加进染色体里,每次插入一个 新增的动态节点,可插入多次;所述删除的操作为:从1条染色体里删除一个 节点,所述反转的操作为:在1条染色体里随机提取一小段染色体片段,进行 反转操作并插入原来的位置。
结合图7a-7b所示为本发明实施例提供的变异中的反转操作过程示意图, 具体地,图7a为待变异的染色体,其中的V4V0V8V6片段为选中的待反转的片 段,图7b为对图7a中选中的V4V0V8V6片段进行反转后的染色体。
步骤S4,根据预先建立的排序库按照排序优先的方式对N条所述子代染色 体进行局部搜索优化,得到N条优化后的染色体;
所述步骤S4具体为:在N条所述子代染色体中的每条子代染色体里随机 寻找一个节点vi,然后在预先建立的排序库中找到关于节点vi的子排序库,然 后在所述子排序库的队列里寻找排序在最前面的节点,并判断找到的所述节点 是否存在在所述节点vi所在的子代染色体上,若存在,则将所述节点插入到所 述节点vi的下一个节点,得到N条优化后的染色体。
需要说明的是,一方面,在子排序库的队列里寻找排序在最前面节点的目 的是找到适应值最优的节点,而事实上,适应值最优的节点可能不止一个,那 么,在所有最优的节点中随机选取一个即可;另一方面,在选取一个最优的节 点后,需要判断选取的该节点是否在节点vi所在的染色体上,如果存在,那么 将所述节点插入到所述节点vi的下一个节点;如果不存在,那么继续在子排序 库的队列里寻找适应值次优的节点,直至找到的节点满足在节点vi所在的染色 体上为止。通过局部搜索优化可以改善路径的最优值,提高算法局部搜索能力 和收敛速度。
步骤S5,利用NSGA-II算法从N条所述修正后的染色体和N条所述优化 后的染色体中筛选出N条符合帕雷托标准的染色体作为待执行的N种路径规 划方案;
其中,本发明实施例中提到的NSGA-II(A Fast and Elitist MultiobjectiveGenetic Algorithm,一个快速和精英机制的多目标遗传算法)算法为一个已知的 算法,其中的多目标指的是路径长度和工作量。
步骤S6,利用预设的服务策略从N种所述路径规划方案中选择一种路径规 划方案,并按照选择的所述路径规划方案对其中的一个服务点进行服务,并在 服务完所述服务点之后,将所述服务点从N条染色体中提取出来作为服务过的 服务点,并判断是否服务完所有服务点,若没有,则返回步骤S2。
具体地,所述预设的服务策略包括:偏爱信息策略、超体积策略和Knee Point策略,其中,偏爱信息有偏向工作量30度,45度60度三种情况。其服 务过程如图8a-8b所示,在选择出来的一组解(即一组染色体对应的路径)中, 根据上述的策略,如图8a所示,选择出一个解(即一个染色体对应的路径, 图8a中从上往下数第4个点表示选择出的一个解,相当于工作人员在一组解里 选择出一条路径进行服务)出来,然后把当前的节点当做服务节点进行服务。 由于要进行服务,其它的解也相当于要进行同样的操作,故在固定(服务)一 个节点(图中是节点1)后,其它的解也进行相同的操作,从而进行固定相同 的节点(即更新除选择出的该组解以外的其它解,保证该节点不再服务,将该 节点放到另一个数组里保存起来);如图8b所示,将所有解进行统一服务相 同的节点后的路径编码。
本发明还提供了一种基于模因计算的动态车辆收发货路径规划装置,如图 9所示,包括:
初始化模块1,用于将车辆出发前已知的服务点进行路径的编码初始化, 得到N条原始的由行车路径组成的染色体;
其中,染色体中的每一个节点代表一个服务点;
修正模块2,用于利用预先建立的排序库对N条所述由行车路径组成的染 色体进行路径修正,使得修正后的路径不超出所述车辆的最大车载容量,得到 N条修正后的染色体;
其中,所述预先建立的排序库包括所有已知的服务点的子排序库,所述子 排序库包括每一个已知的服务点到其它任意一个服务点的适应值,所述适应值 用于衡量路径长度和工作量两个目标;
交叉变异模块3,用于对N条所述修正后的染色体进行遗传算法中的交叉 操作和变异操作,得到N条多样化的子代染色体;
局部搜索模块4,用于根据预先建立的排序库按照排序优先的方式对N条 所述子代染色体进行局部搜索优化,得到N条优化后的染色体;
筛选模块5,用于利用NSGA-II算法从N条所述修正后的染色体和N条所 述优化后的染色体中筛选出N条符合帕雷托标准的染色体作为待执行的N种 路径规划方案;
服务模块6,用于利用预设的服务策略从N种所述路径规划方案中选择一 种路径规划方案,并按照选择的所述路径规划方案对其中的一个服务点进行服 务,并在服务完所述服务点之后,将所述服务点从N条染色体中提取出来作为 服务过的服务点,并判断是否服务完所有服务点,若没有,则返回所述修正模 块。
本发明提供的一种基于模因计算的动态车辆收发货路径规划方法及装置, 提高了动态多目标一对多对一动态车辆路径规划问题的求解性能,即缩短路径 和提高工作量;与其它算法相比,如基于hash位置敏感型的模因算法比,缩短 了2%-5%的路径长度;与2-op的模因算法相比,缩短了5%-10%的路径距离; 由此可以看出,在路径的优化上得到了很好的性能的提升(因为工作量基本都 相同);在运行效率上,3种算法运行时间相仿。采用本发明提供的这些策略 可以使不同客户得到不同的需求,如收发货时距离优先,或者收发货时货物量 优先。另外,除了这些策略外,还有很多其它的策略如人工交互方式,让用户自己选择服务的点等方法。针对现实中客户服务问题,可以将优化结果返回给 用户如物流公司的快递员,然后基于此基础上进行引导快递员进行收派件,或 者应用于同城限时配送,进行优化配送路径。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
Claims (10)
1.一种基于模因计算的动态车辆收发货路径规划方法,其特征在于,所述方法包括:
步骤S1,将车辆出发前已知的服务点进行路径的编码初始化,得到N条原始的由行车路径组成的染色体;
其中,染色体中的每一个节点代表一个服务点;
步骤S2,利用预先建立的排序库对N条所述由行车路径组成的染色体进行路径修正,使得修正后的路径不超出所述车辆的最大车载容量,得到N条修正后的染色体;
其中,所述预先建立的排序库包括所有已知的服务点的子排序库,所述子排序库包括每一个已知的服务点到其它任意一个服务点的适应值,所述适应值用于衡量路径长度和工作量两个目标;
步骤S3,对N条所述修正后的染色体进行遗传算法中的交叉操作和变异操作,得到N条多样化的子代染色体;
步骤S4,根据预先建立的排序库按照排序优先的方式对N条所述子代染色体进行局部搜索优化,得到N条优化后的染色体;
步骤S5,利用NSGA-II算法从N条所述修正后的染色体和N条所述优化后的染色体中筛选出N条符合帕雷托标准的染色体作为待执行的N种路径规划方案;
步骤S6,利用预设的服务策略从N种所述路径规划方案中选择一种路径规划方案,并按照选择的所述路径规划方案对其中的一个服务点进行服务,并在服务完所述服务点之后,将所述服务点从N条染色体中提取出来作为服务过的服务点,并判断是否服务完所有服务点,若没有,则返回步骤S2。
2.如权利要求1所述的动态车辆收发货路径规划方法,其特征在于,所述排序库的建立方法为:
步骤A1,分别利用归一化公式对节点vi到其它任意一个节点vj的路径长度和工作量进行归一化处理,得到归一化后的路径长度和工作量,并利用适应值计算公式计算节点vi到其它任意一个节点vj的适应值Fit(i,j),将计算得到的适应值Fit(i,j)以键值的形式(vj,Fit(i,j))保存在mapvi里,得到一个关于vi到其它任意节点的mapvi;
所述归一化公式为:
<mrow>
<mi>y</mi>
<mo>=</mo>
<mfrac>
<mi>x</mi>
<msub>
<mi>x</mi>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
</mrow>
</msub>
</mfrac>
</mrow>
其中,x表示动态收发货问题DPDPs中的目标,所述目标包括路径长度和工作量,xmax为所述目标的最大值,y表示归一化后的值;
所述适应值计算公式为:
<mrow>
<msub>
<mi>Fit</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>d</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</msub>
<mrow>
<msub>
<mi>workload</mi>
<mi>j</mi>
</msub>
</mrow>
</mfrac>
</mrow>
其中,Fit(i,j)表示第i个服务点与第j个服务点间的适应值,d(i,j)表示从服务点i到服务点j的路径长度,workloadj表示第j个服务点的工作量;其中,j取遍除i之外的所有值;
步骤A2,将mapvi包含的Fit(i,j)按照值从小到大的方式进行排序,并存放到一个队列里,得到关于vi的子排序库;
步骤A3,将关于vi的所述子排序库以键值的形式(vi,mapvi)存放到全局的map里,得到一个关于全部节点的排序库。
3.如权利要求1所述的动态车辆收发货路径规划方法,其特征在于,所述步骤S3中,所述遗传算法中的交叉操作包括:
步骤B1,从N条所述修正后的染色体中随机选中任意两条染色体m和n组成一组,共组成N/2组,将染色体m和n对比,并分别随机在染色体m和n中间相同的位置选取相同长度的染色体片段,记为m1和n1,染色体m和n未选取的染色体片段分别记为m2和n2;
步骤B2,将染色体片段n1和染色体片段m1进行比较,从染色体片段n1里提取与染色体片段m1不同的节点n11;并将染色体片段n2和染色体片段m1进行比较,从染色体片段n2里提取与染色体片段m1重复的节点n21;
步骤B3,利用提取的节点n11替换提取的节点n21,并利用提取的染色体片段m1替换染色体片段n1,得到染色体n对应的1条子代染色体;对染色体m进行相同的提取和替换操作,得到染色体m对应的1条子代染色体,共得到N条子代染色体;
所述步骤S3中,所述遗传算法中的变异操作包括:对所述交叉操作得到的N条子代染色体中的每一条进行交换、插入、删除和反转的操作,得到N条多样化的子代染色体;其中,每条子代染色体执行所述交换、插入、删除和反转操作中的任一个操作的概率是1/4;
其中,所述交换的操作为:从1条子代染色体里随机选择两个节点交换位置,所述插入的操作为:插入动态的节点到1条染色体里,所述删除的操作为:从1条染色体里删除一个节点,所述反转的操作为:在1条染色体里随机提取一小段染色体片段,进行反转操作。
4.如权利要求1或2所述的动态车辆收发货路径规划方法,其特征在于,所述步骤S4具体为:在N条所述子代染色体中的每条子代染色体里随机寻找一个节点vi,然后在预先建立的排序库中找到关于节点vi的子排序库,然后在所述子排序库的队列里寻找排序在最前面的节点,并判断找到的所述节点是否存在在所述节点vi所在的子代染色体上,若存在,则将所述节点插入到所述节点vi的下一个节点,得到N条优化后的染色体。
5.如权利要求1所述的动态车辆收发货路径规划方法,其特征在于,所述预设的服务策略包括:偏爱信息策略、超体积策略和Knee Point策略。
6.一种基于模因计算的动态车辆收发货路径规划装置,其特征在于,包括:
初始化模块,用于将车辆出发前已知的服务点进行路径的编码初始化,得到N条原始的由行车路径组成的染色体;
其中,染色体中的每一个节点代表一个服务点;
修正模块,用于利用预先建立的排序库对N条所述由行车路径组成的染色体进行路径修正,使得修正后的路径不超出所述车辆的最大车载容量,得到N条修正后的染色体;
其中,所述预先建立的排序库包括所有已知的服务点的子排序库,所述子排序库包括每一个已知的服务点到其它任意一个服务点的适应值,所述适应值用于衡量路径长度和工作量两个目标;
交叉变异模块,用于对N条所述修正后的染色体进行遗传算法中的交叉操作和变异操作,得到N条多样化的子代染色体;
局部搜索模块,用于根据预先建立的排序库按照排序优先的方式对N条所述子代染色体进行局部搜索优化,得到N条优化后的染色体;
筛选模块,用于利用NSGA-II算法从N条所述修正后的染色体和N条所述优化后的染色体中筛选出N条符合帕雷托标准的染色体作为待执行的N种路径规划方案;
服务模块,用于利用预设的服务策略从N种所述路径规划方案中选择一种路径规划方案,并按照选择的所述路径规划方案对其中的一个服务点进行服务,并在服务完所述服务点之后,将所述服务点从N条染色体中提取出来作为服务过的服务点,并判断是否服务完所有服务点,若没有,则返回所述修正模块。
7.如权利要求6所述的动态车辆收发货路径规划装置,其特征在于,所述装置还包括:排序库建立模块,所述排序库建立模块包括适应值计算子模块、子排序库建立模块和排序库建立子模块;
所述适应值计算子模块,用于分别利用归一化公式对节点vi到其它任意一个节点vj的路径长度和工作量进行归一化处理,得到归一化后的路径长度和工作量,并利用适应值计算公式计算节点vi到其它任意一个节点vj的适应值Fit(i,j),将计算得到的适应值Fit(i,j)以键值的形式(vj,Fit(i,j))保存在mapvi里,得到一个关于vi到其它任意节点的mapvi;
所述归一化公式为:
<mrow>
<mi>y</mi>
<mo>=</mo>
<mfrac>
<mi>x</mi>
<msub>
<mi>x</mi>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
</mrow>
</msub>
</mfrac>
</mrow>
其中,x表示动态收发货问题DPDPs中的目标,所述目标包括路径长度和工作量,xmax为所述目标的最大值,y表示归一化后的值;
所述适应值计算公式为:
<mrow>
<msub>
<mi>Fit</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>d</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
</msub>
<mrow>
<msub>
<mi>workload</mi>
<mi>j</mi>
</msub>
</mrow>
</mfrac>
</mrow>
其中,Fit(i,j)表示第i个服务点与第j个服务点间的适应值,d(i,j)表示从服务点i到服务点j的路径长度,workloadj表示第j个服务点的工作量;其中,j取遍除i之外的所有值;
所述子排序库建立模块,用于将mapvi包含的Fit(i,j)按照值从小到大的方式进行排序,并存放到一个队列里,得到关于vi的子排序库;
所述排序库建立子模块,用于将关于vi的所述子排序库以键值的形式(vi,mapvi)存放到全局的map里,得到一个关于全部节点的排序库。
8.如权利要求6所述的动态车辆收发货路径规划装置,其特征在于,所述交叉变异模块包括:交叉子模块和变异子模块;其中,所述交叉子模块包括:染色体片段选取子模块、提取子模块和替换子模块;
所述染色体片段选取子模块,用于从N条所述修正后的染色体中随机选中任意两条染色体m和n组成一组,共组成N/2组,将染色体m和n对比,并分别随机在染色体m和n中间相同的位置选取相同长度的染色体片段,记为m1和n1,染色体m和n未选取的染色体片段分别记为m2和n2;
所述提取子模块,用于将染色体片段n1和染色体片段m1进行比较,从染色体片段n1里提取与染色体片段m1不同的节点n11;并将染色体片段n2和染色体片段m1进行比较,从染色体片段n2里提取与染色体片段m1重复的节点n21;
所述替换子模块,用于利用提取的节点n11替换提取的节点n21,并利用提取的染色体片段m1替换染色体片段n1,得到染色体n对应的1条子代染色体;对染色体m进行相同的提取和替换操作,得到染色体m对应的1条子代染色体,共得到N条子代染色体;
所述变异子模块,用于对所述交叉操作得到的N条子代染色体中的每一条进行交换、插入、删除和反转的操作,得到N条多样化的子代染色体;其中,每条子代染色体执行所述交换、插入、删除和反转操作中的任一个操作的概率是1/4;
其中,所述交换的操作为:从1条子代染色体里随机选择两个节点交换位置,所述插入的操作为:插入动态的节点到1条染色体里,所述删除的操作为:从1条染色体里删除一个节点,所述反转的操作为:在1条染色体里随机提取一小段染色体片段,进行反转操作。
9.如权利要求6或7所述的动态车辆收发货路径规划装置,其特征在于,所述局部搜索模块具体用于:在N条所述子代染色体中的每条子代染色体里随机寻找一个节点vi,然后在预先建立的排序库中找到关于节点vi的子排序库,然后在所述子排序库的队列里寻找排序在最前面的节点,并判断找到的所述节点是否存在在所述节点vi所在的子代染色体上,若存在,则将所述节点插入到所述节点vi的下一个节点,得到N条优化后的染色体。
10.如权利要求6所述的动态车辆收发货路径规划装置,其特征在于,所述预设的服务策略包括:偏爱信息策略、超体积策略和Knee Point策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711410953.5A CN107909228B (zh) | 2017-12-23 | 2017-12-23 | 基于模因计算的动态车辆收发货路径规划方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711410953.5A CN107909228B (zh) | 2017-12-23 | 2017-12-23 | 基于模因计算的动态车辆收发货路径规划方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107909228A true CN107909228A (zh) | 2018-04-13 |
CN107909228B CN107909228B (zh) | 2021-10-29 |
Family
ID=61870857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711410953.5A Active CN107909228B (zh) | 2017-12-23 | 2017-12-23 | 基于模因计算的动态车辆收发货路径规划方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107909228B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109635998A (zh) * | 2018-11-02 | 2019-04-16 | 华侨大学 | 一种求解带时间窗车辆路径问题的自适应多目标优化方法 |
CN109631923A (zh) * | 2018-11-30 | 2019-04-16 | 重庆大学 | 一种基于模因算法的风景驾驶路线规划方法 |
CN112541627A (zh) * | 2020-12-10 | 2021-03-23 | 赛可智能科技(上海)有限公司 | 一种电动物流车路径规划和性能优化方法、装置及设备 |
CN113447022A (zh) * | 2020-03-24 | 2021-09-28 | 百德机械股份有限公司 | 工件检测的路径规划方法及其系统 |
CN113485429A (zh) * | 2021-07-23 | 2021-10-08 | 安徽有云智能科技有限公司 | 空地协同交通巡检的路径优化方法和装置 |
CN116187896A (zh) * | 2023-04-28 | 2023-05-30 | 湖南工商大学 | 绿色车辆路径问题求解方法、装置、计算机设备以及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260785A (zh) * | 2015-08-24 | 2016-01-20 | 屈迟文 | 一种基于改进布谷鸟算法的物流配送车辆路径优化方法 |
CN105894222A (zh) * | 2014-12-16 | 2016-08-24 | 重庆邮电大学 | 一种物流配送路径优化方法 |
CN106203912A (zh) * | 2016-07-07 | 2016-12-07 | 成都镜杰科技有限责任公司 | 物流信息智能处理方法 |
CN106682769A (zh) * | 2016-12-12 | 2017-05-17 | 华东理工大学 | 一种产品车辆路径实现方法和装置 |
US20170262908A1 (en) * | 2008-06-27 | 2017-09-14 | E-Lantis Corporation | Gps and wireless integrated fleet management system and method |
US10628785B2 (en) * | 2012-08-18 | 2020-04-21 | Chang Shin Lee | Mobilized laundry service system |
-
2017
- 2017-12-23 CN CN201711410953.5A patent/CN107909228B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170262908A1 (en) * | 2008-06-27 | 2017-09-14 | E-Lantis Corporation | Gps and wireless integrated fleet management system and method |
US10628785B2 (en) * | 2012-08-18 | 2020-04-21 | Chang Shin Lee | Mobilized laundry service system |
CN105894222A (zh) * | 2014-12-16 | 2016-08-24 | 重庆邮电大学 | 一种物流配送路径优化方法 |
CN105260785A (zh) * | 2015-08-24 | 2016-01-20 | 屈迟文 | 一种基于改进布谷鸟算法的物流配送车辆路径优化方法 |
CN106203912A (zh) * | 2016-07-07 | 2016-12-07 | 成都镜杰科技有限责任公司 | 物流信息智能处理方法 |
CN106682769A (zh) * | 2016-12-12 | 2017-05-17 | 华东理工大学 | 一种产品车辆路径实现方法和装置 |
Non-Patent Citations (1)
Title |
---|
YANMING YANG ETC: ""Multi-objective memetic algorithm based on request prediction for dynamic pick-up-and –delivery problems"", 《2017 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109635998A (zh) * | 2018-11-02 | 2019-04-16 | 华侨大学 | 一种求解带时间窗车辆路径问题的自适应多目标优化方法 |
CN109635998B (zh) * | 2018-11-02 | 2023-04-07 | 华侨大学 | 一种求解带时间窗车辆路径问题的自适应多目标优化方法 |
CN109631923A (zh) * | 2018-11-30 | 2019-04-16 | 重庆大学 | 一种基于模因算法的风景驾驶路线规划方法 |
CN113447022A (zh) * | 2020-03-24 | 2021-09-28 | 百德机械股份有限公司 | 工件检测的路径规划方法及其系统 |
CN112541627A (zh) * | 2020-12-10 | 2021-03-23 | 赛可智能科技(上海)有限公司 | 一种电动物流车路径规划和性能优化方法、装置及设备 |
CN112541627B (zh) * | 2020-12-10 | 2023-08-01 | 赛可智能科技(上海)有限公司 | 一种电动物流车路径规划和性能优化方法、装置及设备 |
CN113485429A (zh) * | 2021-07-23 | 2021-10-08 | 安徽有云智能科技有限公司 | 空地协同交通巡检的路径优化方法和装置 |
CN113485429B (zh) * | 2021-07-23 | 2022-01-18 | 安徽有云智能科技有限公司 | 空地协同交通巡检的路径优化方法和装置 |
CN116187896A (zh) * | 2023-04-28 | 2023-05-30 | 湖南工商大学 | 绿色车辆路径问题求解方法、装置、计算机设备以及介质 |
CN116187896B (zh) * | 2023-04-28 | 2023-07-14 | 湖南工商大学 | 绿色车辆路径问题求解方法、装置、计算机设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107909228B (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107909228A (zh) | 基于模因计算的动态车辆收发货路径规划方法及装置 | |
CN112836892B (zh) | 基于改进遗传算法的多目标车辆配送路径确定方法及系统 | |
CN107480922B (zh) | 两端式同轨双车运行模式下货位分配调度模型建立方法 | |
CN108921472B (zh) | 一种多车型的两阶段车货匹配方法 | |
Mohammed et al. | Using genetic algorithm in implementing capacitated vehicle routing problem | |
CN109559062A (zh) | 一种合作式物流问题的任务分配与路径规划方法 | |
CN105096006A (zh) | 一种智能电能表的配送车辆路径优化方法 | |
CN107194513A (zh) | 一种解决全渠道物流配送问题的优化方法 | |
CN109002902A (zh) | 分区域多阶段生鲜农产品动态车辆路径优化方法 | |
CN105096011A (zh) | 一种基于改进型染色体编码的物流运输调度方法 | |
CN107358326A (zh) | 一种单车多点配送线路处理方法 | |
CN107798423A (zh) | 基于多种智能算法的车辆路径规划仿真实验平台 | |
Mulloorakam et al. | Combined objective optimization for vehicle routing using genetic algorithm | |
CN111445094B (zh) | 一种结合时间要求的快递车辆路径优化的方法及系统 | |
CN110276488A (zh) | 一种基于分块矩阵和模糊运输时间的车辆路径优化方法 | |
CN110084382A (zh) | 一种配电网检修车辆调度方法及系统 | |
Bakas et al. | A flexible transportation service for the optimization of a fixed-route public transport network | |
CN115965172A (zh) | 一种成品油二次配送车辆的路径优化算法、系统、设备 | |
CN111709561A (zh) | 一种解决动态车辆路径问题的实时添加和优化方法 | |
Gan et al. | A multi-objective evolutionary algorithm for emergency logistics scheduling in large-scale disaster relief | |
CN104866697B (zh) | 一种生产线工序编排及平衡控制方法 | |
CN103049841A (zh) | 物流服务供应商密度的协同进化模型 | |
Tripathi et al. | An ant based simulation optimization for vehicle routing problem with stochastic demands | |
CN111814280B (zh) | 城市轨道交通的规划方法、服务器和计算机可读存储介质 | |
Kurniawan et al. | Genetic algorithm for capacitated vehicle routing problem with considering traffic density |
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 |