CN117522088A - 一种融合充电约束和容量约束的多电动物流车调度方法 - Google Patents
一种融合充电约束和容量约束的多电动物流车调度方法 Download PDFInfo
- Publication number
- CN117522088A CN117522088A CN202410016724.9A CN202410016724A CN117522088A CN 117522088 A CN117522088 A CN 117522088A CN 202410016724 A CN202410016724 A CN 202410016724A CN 117522088 A CN117522088 A CN 117522088A
- Authority
- CN
- China
- Prior art keywords
- electric
- electric logistics
- logistics vehicle
- customer
- capacity
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 241000257303 Hymenoptera Species 0.000 claims abstract description 29
- 238000005457 optimization Methods 0.000 claims abstract description 23
- 238000010276 construction Methods 0.000 claims abstract description 10
- 239000003016 pheromone Substances 0.000 claims description 59
- 239000011159 matrix material Substances 0.000 claims description 30
- 238000001704 evaporation Methods 0.000 claims description 9
- 230000008020 evaporation Effects 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 7
- 229920003169 water-soluble polymer Polymers 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063114—Status monitoring or status determination for a person or group
-
- 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/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Educational Administration (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
本发明公开了一种融合充电约束和容量约束的多电动物流车调度方法,在电动汽车路径问题基础上引入充电约束,限制电动汽车充电的次数,使物流车团队更快速地响应客户群体的服务请求;该约束的加入增加了电动物流车调度优化的问题,将该问题建模为融合充电约束的多电动物流车调度优化问题,根据充电站位置、电池容量、运输任务和充电需求多个因素,设计了一种基于精英策略的蚁群优化算法以构建多电动物流车服务客户群体的可行路径方案,提出了路径构建策略,并在蚂蚁之间共享信息,不断迭代优化以找到最优的调度方案。本发明通过合理规划充电站的使用和有效分配任务,能够提高多电动物流车的调度效率,降低运营成本,增加客户群体的运输服务体验。
Description
技术领域
本发明涉及路径规划和计算智能技术领域,尤其涉及一种融合充电约束和容量约束的多电动物流车调度方法。
背景技术
电动汽车因其环保性而在日常生活中变得越来越普遍,众多物流公司开始采用电动汽车来进行物流运输服务。由于电动汽车的容量和电量约束,多电动物流车调度问题相当具有挑战性。为了有效地处理电动物流车调度问题,研究人员设计了许多新颖的优化方法,这些方法可以概括为两大类,即确定性方法和启发式算法。第一种方法主要将该问题转换为混合整数规划问题,然后采用混合整数规划方法来解决转换后的问题。然而,这种方法非常耗时,因此只适合解决小规模的物流车调度。第二类方法是使用迭代局部搜索、遗传算法和蚁群优化算法等启发式算法来求解该问题。此类方法通常维护一组可行解来迭代遍历搜索空间以找到问题的全局最优解。因此,与第一类方法相比,启发式方法陷入局部最优的概率很小。然而,现有的电动物流车调度方法在优化电动汽车服务路线时都不考虑对充电次数的限制,这就导致了电动汽车充电时长与客户群体服务需求之间的矛盾,极大地影响了客户的服务体验。因此,现有电动物流车调度方法不能很好地客户群体的服务需求。
蚁群优化算法最早是被提出用于解决旅行商问题,其在路径规划和资源调度方面有着不俗的表现,具有收敛速度快,解的质量稳定等优点,对多电动车物流调度优化问题有良好的优越性。然而,融合充电约束和容量约束的多电动车物流调度优化本质上是一个三重优化问题,解空间复杂且崎岖,传统的蚁群优化算法难以构建有效的可行解。
发明内容
发明目的:本发明的目的是提供一种能迅速找到可行的多电动物流车的调度方案,达到最小化物流车团队的服务成本和客户群体等待时间目标的融合充电约束和容量约束的多电动物流车调度方法。
技术方案:本发明的多电动物流车调度方法,包括步骤如下:
S1,获取客户群体、仓库、充电站以及电动物流车的信息;
S2,以客户群体、仓库和充电站的位置为节点,根据所有节点坐标构建二维距离矩阵,根据所述二维距离矩阵计算出距每个客户节点最近的充电站;同时构建客户的实体对象和电动物流车的实体对象;
S3,采用贪婪解的路径总长度初始化信息素矩阵和蚁群算法参数;
S4,蚂蚁k派遣一辆电动物流车从仓库起点出发,根据客户节点之间的信息素浓度和启发式信息选择客户节点,开始构建路径;
S5,检查是否还有未被服务的客户节点,若有,则转到步骤S6;若无,路径构建结束;
S6,根据状态转移方程选择下一个待服务的客户节点;
S7,根据电动物流车现有的容量、电量、充电约束和待服务客户的容量需求判断该电动物流车是否能继续服务,若能,则转到步骤S8服务该客户;若不能,则返回仓库,并转到步骤S4;
S8,将该客户添加到电动物流车的服务序列当中,并修改电动物流车的状态信息,并转到流程S5;
S9,重复步骤S4~S8,直至所有的蚂蚁构建完多电动物流车调度方案;评估蚁群的调度方案,更新全局最优调度方案;
S10,基于精英策略的蚁群算法中的信息素更新策略,更新信息素矩阵;
S11,如果不满足迭代终止条件,则转到步骤S4;如满足迭代终止条件,输出全局最优多电动物流车调度方案。
进一步,步骤S1中,客户群体信息包括客户的编号、位置坐标、运输服务的容量需求;电动物流车信息包括车辆的容量、电量和充电次数限制;仓库信息包括车仓库的编号和位置坐标,充电站信息包括充电站的编号和位置坐标。
进一步,步骤S2中,以客户群体、仓库和充电站的位置为节点,根据所有节点坐标构建一个n×n二维距离矩阵,n为节点个数,基于该距离矩阵计算出距离每个客户节点的最近的充电站;构建客户的实体对象customer{id,demand,charge_station},存储客户的编号、运输的容量需求以及距离最近的充电站;构建电动物流车的实体对象electric_ vehicle{capacity,energy,charge_times,tour},存储电动物流车的容量、电量状态、充电次数及服务的节点序列。
进一步,步骤S3中,通过最近邻算法求得一条完整的客户服务序列,用该客户服务序列路径长度的倒数来初始化信息素矩阵PheromoneMatrix;初始化的蚁群算法参数包括种群大小NP、信息素浓度权重 />、启发式信息权重/>、信息素蒸发速率/>和算法迭代次数Max_Iteration。
进一步,步骤S4中,每只蚂蚁为客户群体维护一个禁忌表tabu,所述禁忌表tabu用来记录已服务过的客户节点;同时,蚂蚁也维护一个候选节点集candidates。
进一步,步骤S6中,蚂蚁根据状态转移方程为当前电动物流车选择下一个待服务的客户节点的详细步骤如下:
S601,蚂蚁k计算候选节点集candidates[k],表达式如下:
其中,V表示有物流服务需求的客户节点集,1≤k ≤ NP ;
S602,蚂蚁k在当前位置通过状态转移方程来确定下一个服务的客户节点j,表达式如下:
其中,/>为当前所在节点i与下一个节点l之间的信息素浓度,/>为当前所在节点i与下一个节点l之间的启发式信息;α、β分别是控制信息素浓度和启发式信息的权重;q是均匀分布在区间[0,1]中的一个随机变量;q 0 是一个预先定义的参数,用以控制蚂蚁探索和开发的概率:蚂蚁以q 0 的概率移动到信息素浓度和启发式信息最强的客户节点,以(1-q 0 )的概率有偏向性地探索各条边,0≤q 0 ≤1;J为一个按如下概率分布产生的随机客户节点序号表达式如下:
其中,/>表示蚂蚁从当前客户节点i移动到下一个客户节点j的概率,/>、/>分别表示当前所在节点i与下一个节点j之间的信息素浓度和启发式信息,/>;r为落在区间[0,1)内的一个随机数,按照轮盘赌的方式选择出客户J。
进一步,步骤S7中,判断蚂蚁k所派遣的当前电动物流车能否服务客户j的实现步骤如下:
S701,首先检查电动物流车的剩余电量是否足以为客户j服务,并且能够前往距离客户j最近的充电站;如果电量充足,流程转入S702检查电动物流车的剩余容量是否满足客户的容量需求;如果电量不充足,流程转入S705检查电动物流车的充电次数是否超过CT设;
S702,检查电动物流车的剩余容量是否满足客户的容量需求;如果满足容量约束,流程转入步骤S8服务该客户并修改电动物流车的状态信息;如果不满足容量约束,流程转入S703检查剩余电量是否足够返回仓库;
S703,检查剩余电量是否足够让电动物流车返回仓库;如果剩余电量足够,流程转入S708;如果剩余电量不足,流程转入S704检查电动物流车的充电次数是否超过CT设;
S704,检查电动物流车的充电次数是否超过CT设;如充电次数没超过CT设,电动物流车首先前往最近的充电站充满电,然后流程转入S708;如果充电次数超过CT设,流程转入S707;
S705,检查电动物流车的充电次数是否超过CT设;如充电次数没超过CT设,电动物流车首先前往最近的充电站充满电,然后流程转入步骤S701继续;如果充电次数超过CT设,流程转入S706检查剩余电量是否足以让电动物流车返回仓库;
S706,检查剩余电量是否足够让电动物流车返回仓库;如果剩余电量足够,流程转入S708;如果剩余电量不足,流程转入S707;
S707,移除最后服务的客户节点,修改电动物流车的状态信息,流程转入S706;
S708,电动物流车返回仓库,完成该电动物流车的路径构建,流程转入S4,蚂蚁派遣一辆空的电动物流车从仓库起点出发。
进一步,步骤S8中,根据电动物流车当前所处位置到客户的路程距离和耗电功率计算出电量损耗consumption,再根据电量损耗和客户的容量需求更新电动物流车的状态信息electric_vehicle{capacity,energy,charge_times,tour},更新公式如下:
最后将该客户节点的编号添加到电动物流车的服务路线tour和禁忌表tabu中。
进一步,步骤S9中,评估蚁群的多电动物流车调度方案,更新全局最优调度方案的实现步骤如下:
S901,通过目标函数计算每只蚂蚁构建的电动物流车调度方案的服务成本,目标函数的表达式如下:
其中,solution k 表示蚂蚁k构建的调度方案,m k 表示蚂蚁k派遣的电动物流车数量,v是电动物流车的序号,tour v 是第v辆电动物流车的服务路线;d表示两节点之间的距离;
S902,将当前服务成本最小的路径解标记为当前最优解best,表达式如下:
当f(gbest)>f(best),则将当前最优解best的调度方案放到全局最优解gbest中;
当f(gbest) ≤f(best),全局最优解gbest保持不变。
进一步,步骤S10中,基于精英策略的蚁群优化算法的更新公式如下:
其中,/>是边(i,j)上的信息素,ρ为信息素蒸发速率, /> 为第k只蚂蚁在边(i,j)上释放的信息素,solution k 表示蚂蚁k构建的调度方案,构建出历史最优方案gbest的蚂蚁被称为精英蚂蚁, />是精英蚂蚁在边(i,j)上释放的信息素,e为给予调度方案gbest所释放信息素的权值。
本发明与现有技术相比,其显著效果如下:
1、本发明考虑了实际应用场景中电动物流车的充电时长与客户群体服务需求之间的矛盾,在传统电动物流车调度问题中引入充电约束,通过限制电动物流车的充电次数来减少客户群体的等待时间,以达到提升客户服务满意度的目的;
2、本发明建模了融合充电约束和容量约束的多电动物流车调度问题,采用基于精英策略的蚁群优化算法来求解最优调度方案,基于电量、容量和充电三方面约束提出了新的路径构建方法,通过不断迭代优化最终构建出合理高效的多电动物流车调度方案,这不仅能极大减少客户群体等待时间,还能有效地提高物流运输效率,节约物流运输成本。
附图说明
图1为本发明蚁群优化算法求解多电动物流车调度方案的流程图;
图2为初始信息素矩阵PheromoneMatrix示意图,其中,行列索引表示节点序号,矩阵中元素值代表对应两个节点之间的信息素浓度;
图3为初始化阶段根据所有节点位置信息构建的坐标示意图;
图4为蚁群优化算法第一次迭代中蚂蚁k构建的多电动物流车调度方案示意图;
图5为蚁群优化算法第一次迭代中蚁群构建的最优调度方案(best)示意图;
图6为蚁群优化算法结束后得到的全局最优调度方案(gbest)示意图;
其中,五角星代表物流车仓库,矩形代表充电站,黑色圆点代表客户,箭头代表物流车行驶的方向。
实施方式
下面结合说明书附图和具体实施方式对本发明做进一步详细描述。该实施样例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施样例。
本实施例的融合充电约束和容量约束多电动物流车调度优化方法,如图1所示,包括以下步骤:
步骤1,获取客户群体信息(编号、坐标、需求容量),仓库信息(编号、坐标)、充电站信息(编号、坐标)和物流车信息(容量、电量、耗电率、充电次数),具体数据如表1和表2所示。
表 1 所有节点的位置坐标及客户群体的需求容量表
表 2 电动物流车的初始状态表
图3~图6为实施样例(21个客户8个充电站)通过蚁群优化算法在各个阶段构建的多电动物流车调度方案不同阶段示意图。
如图3所示,本实施例中共有21个客户、8个充电站以及一个仓库,使用同质物流车,即所有电动物流车的参数都一致。为了方便起见,本实施例将CT设设置为1,即电动物流车在服务客户需求的过程中仅能充电一次。
步骤2,建模多电动物流车调度问题,将带有充电约束的电动汽车路径规划问题建模为融合充电约束和容量约束的多电动物流车调度问题;以客户群体、仓库和充电站的位置为节点,根据所有节点坐标(客户群体、仓库、充电站)构建一个大小为n×n二维距离矩阵(n为节点个数),基于该矩阵计算出距离每个客户节点的最近的充电站;构建客户的实体对象customer{id,demand,charge_station},存储客户的编号、运输的容量需求以及距离最近的充电站;构建电动物流车的实体对象electric_vehicle{capacity,energy,charge_ times,tour},存储电动物流车的容量、电量状态、充电次数及服务的节点序列,出仓库之前,电动物流车的容量和电量都是最佳状态,服务序列为空。
本实施例中,根据步骤1获得的节点位置坐标构建一个大小为30×30的二维距离矩阵,根据这个距离矩阵计算出距每个客户节点最近的充电站,如表3所示;为21个客户构建实体对象customer{id,demand,charge_station},如表4所示;
表 3 距离客户最近的充电站表
表 4 客户群体的实体对象customer表
构建电动物流车的实体对象electric_vehicle{capacity=6000,energy=94,charge_times=0,tour=[1]},本实施例中假设电动物流车的电量和容量都为最佳状态,且都位于仓库节点,因此,服务路线tour中只有仓库节点。
步骤3,构建贪婪解,不考虑客户节点的分配问题、电动物流车的容量、电量和充电约束,只用一辆电动物流车遍历所有的客户节点,通过最近邻算法求得一条完整的客户服务序列,用该客户服务序列路径长度的倒数τ 0来初始化信息素矩阵PheromoneMatrix;初始化的蚁群算法参数包括种群大小NP、信息素浓度权重α、启发式信息权重β、信息素蒸发速率ρ和算法迭代次数Max_Iteration。
采用贪婪解的路径总长度初始化信息素矩阵PheromoneMatrix,初始化蚁群算法参数如表5所示,其中,每只蚂蚁负责构建一个多电动物流车调度方案。
表 5 蚁群算法参数设置表
首先采用最近邻算法求解出一条遍历客户群体的路径greedy_tour:[1, 13, 16,10, 8, 6, 3, 2, 4, 5, 12, 7, 9, 11, 14, 17, 20, 22, 18, 21, 19, 15, 1],然后根据距离矩阵计算出该路径的长度tour_length= 314.92,得信息素初始值τ 0 = 1/tour_ length= 0.0032,最后用初始化信息素矩阵 PheromoneMatrix,如图2所示。
步骤4,每只蚂蚁在构建多电动物流车调度方案的过程中,为客户群体维护一个禁忌表tabu用来记录已服务过的客户节点,开始构建之前tabu为;同时,蚂蚁也维护一个候选节点集candidates用来存储待服务的客户节点;此时,蚂蚁k(1≤k ≤ NP)派遣第一辆电动物流车从仓库出发服务客户。
步骤5,检查是否还有未被服务的客户节点,若有,则转到步骤6;若无,路径构建结束。
此时电动物流车刚从仓库出发,还未开始构建路径,因此转到步骤6。
步骤6,电动物流车位于仓库节点,蚂蚁根据状态转移方程为当前电动物流车选择下一个待服务的客户节点,详细步骤如下:
步骤601,蚂蚁k计算候选节点集candidates[k],公式如下:
其中,V表示有物流服务需求的客户节点集:{2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22};此时,tabu=Ø,因此candidates= {2,3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}。
步骤602,蚂蚁k在当前位置通过状态转移方程来确定下一个服务的客户节点j,公式如下:
其中,为当前所在节点i与下一个节点l之间的信息素浓度,/>为当前所在节点i与下一个节点l之间的启发式信息;/>、 />是控制信息素浓度和启发式信息的权重;q是均匀分布在区间[0,1]中的一个随机变量;q 0是一个预先定义的参数,用以控制蚂蚁探索和开发的概率:蚂蚁以q 0的概率移动到信息素浓度和启发式信息最强的客户节点,以(1-q 0 )的概率有偏向性地探索各条边,0≤q 0≤1;J为一个按如下概率分布产生的随机客户节点序号,表达式如下:
其中,表示蚂蚁从当前客户节点i移动到下一个客户节点j的概率,/>、/>分别表示当前所在节点i与下一个节点j之间的信息素浓度和启发式信息,/>;r为落在区间[0,1)内的一个随机数,即按照轮盘赌的方式选择出城市客户J。由公式(3)、(4)可知,首先计算出蚂蚁从当前客户节点i到其他每一个客户节点的概率,采用归一化的操作,将信息素浓度和启发式信息转化为概率值;然后,生成一个随机数r落在区间[0,1)内,表示依次从客户节点1至节点j的概率和。
在本实施例中,q 0= 0.9,随机生成q= 0.97,电动物流车当前处于仓库节点,i= 1,代入状态转移方程,计算出每个候选节点的概率probabilities= [(2, 0.0014), (3,0.0015), (4, 0.0024) (5, 0.0025), (6, 0.00354264), (7, 0.0058), (8, 0.0056),(9, 0.0123), (10, 0.0082), (11, 0.0340), (12, 0.0137), (13, 0.1254), (14,0.0425), (15, 0.4959), (16, 0.0211), (17, 0.1835), (18, 0.0162), (19,0.0071), (20, 0.0061), (21, 0.0055), (22, 0.0046)],该数组的每个元素是一个二元组,第一个值代表客户的编号,第二个值代表客户被选中的概率,然后采用轮盘赌策略按照随机比例规则选择客户得到j= 15;因此,蚂蚁k的下一个期望节点是客户15。
步骤7,根据电动物流车当前的状态和客户的需求容量来判断是否能够进行服务,判断过程如下:
步骤701,首先检查电动物流车的剩余电量是否足以为客户j服务,并且能够前往距离客户j最近的充电站;如果电量充足,流程转入步骤702检查电动物流车的剩余容量是否满足客户的容量需求;如果电量不充足,流程转入步骤705检查电动物流车的充电次数是否超过CT设;
步骤702,检查电动物流车的剩余容量是否满足客户的容量需求;如果满足容量约束,流程转入步骤8服务该客户并修改电动物流车的状态信息;如果不满足容量约束,流程转入步骤703检查剩余电量是否足够返回仓库;
步骤703,检查剩余电量是否足够让电动物流车返回仓库;如果剩余电量足够,流程转入步骤708;如果剩余电量不足,流程转入步骤704检查电动物流车的充电次数是否超过CT设;
步骤704,检查电动物流车的充电次数是否超过CT设;如果充电次数没超过CT设,电动物流车首先前往最近的充电站充满电,然后流程转入步骤708;如果充电次数超过CT设,流程转入步骤707;
步骤705,检查电动物流车的充电次数是否超过CT设;如果充电次数没超过CT设,电动物流车首先前往最近的充电站充满电,然后流程转入步骤701继续;如果充电次数超过CT设,流程转入步骤706检查剩余电量是否足以让电动物流车返回仓库;
步骤706,检查剩余电量是否足够让电动物流车返回仓库;如果剩余电量足够,流程转入步骤708;如果剩余电量不足,流程转入步骤707;
步骤707,移除最后服务的客户节点,修改电动物流车的状态信息,流程转入步骤706;
步骤708,电动物流车返回仓库,完成该电动物流车的路径构建,流程转入步骤4,蚂蚁派遣一辆空的电动物流车从仓库起点出发。
在本实施样例中,当前电动物流车的状态为{capacity=6000,energy=94,charge_ times=0,tour=[1]},期望客户15的的信息为{id=15,demand=300,charge_station=24},通过查询距离矩阵可得两点之间的距离distance 1=distance_matrix[1][15]= 7.07,客户15到充电站的距离distance 2=distance_matrix[15][24]= 10.29;已知耗电率为1.2,所以从仓库节点1到客户15的耗电量consumption 1=distance 1× 1.2 = 8.484,从客户15到充电站24的耗电量consumption 2=distance 2× 1.2 = 12.348。在步骤S701中,电动物流车的剩余电量为94,足够电动物流车服务完客户15还能前往最近的充电站;转到步骤702,电动物流车剩余容量为6000,客户15的需求容量为300,满足容量约束,转到步骤8,因此判断结果是电动物流车前往服务客户15。
步骤8,电动物流车服务客户会消耗一定的电量和容量,根据电动物流车当前所处位置到客户的路程距离和耗电功率计算出电量损耗consumption,再根据电量损耗和客户的容量需求更新电动物流车的状态信息electric_vehicle{capacity,energy,charge_ times,tour},最后将该客户节点的编号添加到电动物流车的服务路线tour和禁忌表tabu中。
本实施例中,电动物流车服务完客户15后,需要更改电动物流车的状态信息,已知客户15的需求容量demand= 300,耗电量consumption=consumption 1= 8.484,因此按照公式(5)、(6)进行更新:
其中,capacity= 6000 – 300 = 5700,energy= 94 – 8.484 = 85.516,因此该电动物流车的状态为{capacity=5700,energy=85.516,charge_times=0,tour=[1, 15]},同时还要将客户15放入到禁忌表tabu中,避免被重复服务,此时tabu= [15];服务完客户后,流程转到步骤5继续选择客户。
不断重复步骤5~步骤8直至服务完所有客户,蚂蚁k构建出完整的调度方案,{[ 1,15, 4, 5, 26, 12, 14, 1],[1, 17, 22, 21, 19, 27, 1],[1, 13, 16, 6, 30, 3, 1],[1, 9, 11, 8, 10, 29, 7, 1],[1, 20, 18, 27, 1],[1, 2, 30, 1]},如图4所示。该调度方案表明该蚂蚁共派遣了6辆电动物流车来服务客户群体。
步骤9,重复步骤4~步骤8,直至所有的蚂蚁构建完多电动物流车调度方案;评估蚁群的多电动物流车调度方案,更新全局最优调度方案的实现步骤如下:
步骤901,通过目标函数计算每只蚂蚁构建的电动物流车调度方案的服务成本,即多电动物流车的服务路线的总距离,目标函数的表达式如下:
其中,solution k 表示蚂蚁k构建的调度方案,m k 表示蚂蚁k派遣的电动物流车数量,v是电动物流车的序号,tour v 是第v辆电动物流车的服务路线,因此solution k 是由m k 辆电动物流车的服务路线组合而成;d表示两节点之间的距离;
在本实施例中,蚂蚁种群NP= 20,因此当前存在20个调度方案,按照目标函数依次对这20个调度方案进行评估,得到每个调度方案的路径长度,如表6所示:表 6 NP=20个调度方案的路径长度表
步骤902,将当前服务成本最小的路径解标记为当前最优解best,表达式如下:
当f(gbest)>f(best),则将当前最优解best的调度方案放到全局最优解gbest中;
当f(gbest) ≤f(best),全局最优解gbest保持不变。
如表6所示,按照公式(8)可得当前服务成本最小的调度方案为蚂蚁3所构建,因此将蚂蚁3的调度方案标记为best;与全局最优调度方案进行比较,由于当前种群处于第一次迭代,不存在全局最优调度方案,因此直接将当前最优best标记为全局最优调度方案。当前gbest= {[1, 15, 17, 16, 19, 18, 27, 1], [1, 9, 11, 13, 28, 12, 14, 1], [1,21, 22, 20, 23, 1], [1, 7, 3, 6, 30, 8, 10, 1], [1, 4, 5, 26, 2, 1]},如图5所示。
步骤10,更新信息素矩阵是为了强化已有路径的吸引力,引导蚂蚁朝着更优解的方向进行探索。全局信息素更新包含信息素蒸发和释放,更新公式如下:
/>
其中,是边(i,j)上的信息素,ρ为信息素蒸发速率,/>为第k只蚂蚁在边(i,j)上释放的信息素,solution k 表示蚂蚁k构建的调度方案;构建出历史最优方案gbest的蚂蚁被称为精英蚂蚁, />是精英蚂蚁在边(i,j)上释放的信息素,e定义了给予调度方案gbest的权值大小。该更新规则表明,整个信息素矩阵都会蒸发一定比例的信息素,蚂蚁只会在遍历过的路径上释放信息素,精英蚂蚁会在最优路径上释放额外的信息素。
在本实施例中,信息素蒸发速率 ,先蒸发信息素矩阵PhromoneMatrix每条边上10%的信息素,然后计算蚁群在每条边上释放信息素的累计值/> ,由于每只蚂蚁的调度方案各不相同,因此每条边上的累积的信息素也不尽相同;最后计算精英蚂蚁在历史最优路径上释放信息素的值/> 。最终可以得到20只蚂蚁以及精英蚂蚁在每条边上释放的信息素。
步骤11,如果不满足迭代终止条件,则转到步骤4;如满足迭代终止条件,输出全局最优多电动物流车调度方案。
迭代终止条件是指当算法的迭代次数达到Max_Iteration则停止优化,输出全局最优的多电动物流车调度方案gbest;gbest 是由构建该调度方案的蚂蚁所派遣的多辆电动物流车的服务路线组合而成,它们都从仓库起点出发,服务完各自的客户后返回仓库。
在本实施例中,最大迭代次数Max_Iteration= 100,当迭代次数小于100,算法进入下一轮迭代,继续让20只蚂蚁构建新的调度方案;当迭代次数达到100,算法结束优化,输出全局最优调度方案gbest= {[1, 13, 16, 19, 21, 18, 27, 1], [1, 11, 9, 7, 5, 4,26, 12, 14, 1], [1, 10, 8, 6, 3, 2, 30, 1], [1, 15, 17, 20, 22, 23, 1]},如图6所示,该调度方案共派遣了4辆电动物流车从仓库出发,按照给定的路线服务客户群体,且每辆电动物流车都仅充电一次,最终返回仓库。
Claims (10)
1.一种融合充电约束和容量约束的多电动物流车调度方法,其特征在于,包括步骤如下:
S1,获取客户群体、仓库、充电站以及电动物流车的信息;
S2,以客户群体、仓库和充电站的位置为节点,根据所有节点坐标构建二维距离矩阵,根据所述二维距离矩阵计算出距每个客户节点最近的充电站;同时构建客户的实体对象和电动物流车的实体对象;
S3,采用贪婪解的路径总长度初始化信息素矩阵和蚁群算法参数;
S4,蚂蚁k派遣一辆电动物流车从仓库起点出发,根据客户节点之间的信息素浓度和启发式信息选择客户节点,开始构建路径;
S5,检查是否还有未被服务的客户节点,若有,则转到步骤S6;若无,路径构建结束;
S6,根据状态转移方程选择下一个待服务的客户节点;
S7,根据电动物流车现有的容量、电量、充电约束和待服务客户的容量需求判断该电动物流车是否能继续服务,若能,则转到步骤S8服务该客户;若不能,则返回仓库,并转到步骤S4;
S8,将该客户添加到电动物流车的服务序列当中,并修改电动物流车的状态信息,并转到流程S5;
S9,重复步骤S4~S8,直至所有的蚂蚁构建完多电动物流车调度方案;评估蚁群的调度方案,更新全局最优调度方案;
S10,基于精英策略的蚁群算法中的信息素更新策略,更新信息素矩阵;
S11,如果不满足迭代终止条件,则转到步骤S4;如满足迭代终止条件,输出全局最优多电动物流车调度方案。
2.根据权利要求1所述融合充电约束和容量约束的多电动物流车调度方法,其特征在于,步骤S1中,客户群体信息包括客户的编号、位置坐标、运输服务的容量需求;电动物流车信息包括车辆的容量、电量和充电次数限制;仓库信息包括车仓库的编号和位置坐标,充电站信息包括充电站的编号和位置坐标。
3.根据权利要求1所述融合充电约束和容量约束的多电动物流车调度方法,其特征在于,步骤S2中,以客户群体、仓库和充电站的位置为节点,根据所有节点坐标构建一个n×n二维距离矩阵,n为节点个数,基于该距离矩阵计算出距离每个客户节点的最近的充电站;构建客户的实体对象customer{id,demand,charge_station},存储客户的编号、运输的容量需求以及距离最近的充电站;构建电动物流车的实体对象electric_vehicle{capacity,energy,charge_times,tour},存储电动物流车的容量、电量状态、充电次数及服务的节点序列。
4.根据权利要求1所述融合充电约束和容量约束的多电动物流车调度方法,其特征在于,步骤S3中,通过最近邻算法求得一条完整的客户服务序列,用该客户服务序列路径长度的倒数来初始化信息素矩阵PheromoneMatrix;初始化的蚁群算法参数包括种群大小NP、信息素浓度权重 />、启发式信息权重/>、信息素蒸发速率/>和算法迭代次数Max_ Iteration。
5.根据权利要求4所述融合充电约束和容量约束的多电动物流车调度方法,其特征在于,步骤S4中,每只蚂蚁为客户群体维护一个禁忌表tabu,所述禁忌表tabu用来记录已服务过的客户节点;同时,蚂蚁也维护一个候选节点集candidates。
6.根据权利要求5所述融合充电约束和容量约束的多电动物流车调度方法,其特征在于,步骤S6中,蚂蚁根据状态转移方程为当前电动物流车选择下一个待服务的客户节点的详细步骤如下:
S601,蚂蚁k计算候选节点集candidates[k],表达式如下:
其中,V表示有物流服务需求的客户节点集,1≤ k ≤ NP ;
S602,蚂蚁k在当前位置通过状态转移方程来确定下一个服务的客户节点j,表达式如下:
其中,/>为当前所在节点i与下一个节点l之间的信息素浓度,/>为当前所在节点i与下一个节点l之间的启发式信息;α、β分别是控制信息素浓度和启发式信息的权重;q是均匀分布在区间[0,1]中的一个随机变量;q 0 是一个预先定义的参数,用以控制蚂蚁探索和开发的概率:蚂蚁以q 0 的概率移动到信息素浓度和启发式信息最强的客户节点,以(1-q 0 )的概率有偏向性地探索各条边,0≤q 0 ≤1;J为一个按如下概率分布产生的随机客户节点序号表达式如下:
其中,/>表示蚂蚁从当前客户节点i移动到下一个客户节点j的概率,/>分别表示当前所在节点i与下一个节点j之间的信息素浓度和启发式信息,;r为落在区间[0,1)内的一个随机数,按照轮盘赌的方式选择出客户J;表示依次从客户节点1至节点j的概率和。
7.根据权利要求6所述融合充电约束和容量约束的多电动物流车调度方法,其特征在于,步骤S7中,判断蚂蚁k所派遣的当前电动物流车能否服务客户j的实现步骤如下:
S701,首先检查电动物流车的剩余电量是否足以为客户j服务,并且能够前往距离客户j最近的充电站;如果电量充足,流程转入S702检查电动物流车的剩余容量是否满足客户的容量需求;如果电量不充足,流程转入S705检查电动物流车的充电次数是否超过CT设;
S702,检查电动物流车的剩余容量是否满足客户的容量需求;如果满足容量约束,流程转入步骤S8服务该客户并修改电动物流车的状态信息;如果不满足容量约束,流程转入S703检查剩余电量是否足够返回仓库;
S703,检查剩余电量是否足够让电动物流车返回仓库;如果剩余电量足够,流程转入S708;如果剩余电量不足,流程转入S704检查电动物流车的充电次数是否超过CT设;
S704,检查电动物流车的充电次数是否超过CT设;如充电次数没超过CT设,电动物流车首先前往最近的充电站充满电,然后流程转入S708;如果充电次数超过CT设,流程转入S707;
S705,检查电动物流车的充电次数是否超过CT设;如充电次数没超过CT设,电动物流车首先前往最近的充电站充满电,然后流程转入步骤S701继续;如果充电次数超过CT设,流程转入S706检查剩余电量是否足以让电动物流车返回仓库;
S706,检查剩余电量是否足够让电动物流车返回仓库;如果剩余电量足够,流程转入S708;如果剩余电量不足,流程转入S707;
S707,移除最后服务的客户节点,修改电动物流车的状态信息,流程转入S706;
S708,电动物流车返回仓库,完成该电动物流车的路径构建,流程转入S4,蚂蚁派遣一辆空的电动物流车从仓库起点出发。
8.根据权利要求1所述融合充电约束和容量约束的多电动物流车调度方法,其特征在于,步骤S8中,根据电动物流车当前所处位置到客户的路程距离和耗电功率计算出电量损耗consumption,再根据电量损耗和客户的容量需求更新电动物流车的状态信息electric_ vehicle{capacity,energy,charge_times,tour},更新公式如下:
最后将该客户节点的编号添加到电动物流车的服务路线tour和禁忌表tabu中。
9.根据权利要求1所述融合充电约束和容量约束的多电动物流车调度方法,其特征在于,步骤S9中,评估蚁群的多电动物流车调度方案,更新全局最优调度方案的实现步骤如下:
S901,通过目标函数计算每只蚂蚁构建的电动物流车调度方案的服务成本,目标函数的表达式如下:
其中,solution k 表示蚂蚁k构建的调度方案,m k 表示蚂蚁k派遣的电动物流车数量,v是电动物流车的序号,tour v 是第v辆电动物流车的服务路线;d表示两节点之间的距离;
S902,将当前服务成本最小的路径解标记为当前最优解best,表达式如下:
当f(gbest) > f(best),则将当前最优解best的调度方案放到全局最优解gbest中;
当f(gbest) ≤ f(best),全局最优解gbest保持不变。
10.根据权利要求1所述融合充电约束和容量约束的多电动物流车调度方法,其特征在于,步骤S10中,基于精英策略的蚁群优化算法的更新公式如下:
其中,/>是边(i, j)上的信息素,ρ为信息素蒸发速率, /> 为第k只蚂蚁在边(i, j)上释放的信息素,solution k 表示蚂蚁k构建的调度方案,构建出历史最优方案gbest的蚂蚁被称为精英蚂蚁, />是精英蚂蚁在边(i, j)上释放的信息素,e为给予调度方案gbest所释放信息素的权值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410016724.9A CN117522088B (zh) | 2024-01-05 | 2024-01-05 | 一种融合充电约束和容量约束的多电动物流车调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410016724.9A CN117522088B (zh) | 2024-01-05 | 2024-01-05 | 一种融合充电约束和容量约束的多电动物流车调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117522088A true CN117522088A (zh) | 2024-02-06 |
CN117522088B CN117522088B (zh) | 2024-03-29 |
Family
ID=89757038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410016724.9A Active CN117522088B (zh) | 2024-01-05 | 2024-01-05 | 一种融合充电约束和容量约束的多电动物流车调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117522088B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108416513A (zh) * | 2018-02-12 | 2018-08-17 | 杭州电子科技大学 | 一种基于混合启发式算法的公共自行车动态调度方法 |
CN112684790A (zh) * | 2020-11-12 | 2021-04-20 | 北京交通大学 | 一种可实现避障的自导向电动物流车辆路径规划方法 |
WO2021179462A1 (zh) * | 2020-03-12 | 2021-09-16 | 重庆邮电大学 | 基于改进量子蚁群算法的Spark平台任务调度方法 |
CN113898403A (zh) * | 2021-10-09 | 2022-01-07 | 中国矿业大学(北京) | 一种纯电动无轨胶轮车路径规划模型及方法 |
CN113935505A (zh) * | 2021-10-15 | 2022-01-14 | 北京化工大学 | 基于列生成和蚁群算法融合的共享电动汽车运营优化方法 |
US20220156693A1 (en) * | 2020-11-17 | 2022-05-19 | Exel Inc. d/b/a DHL Supply Chain (USA) | Computerized system and method for developing optimized cargo transportation solutions |
WO2022188388A1 (zh) * | 2021-03-11 | 2022-09-15 | 华南理工大学 | 基于蚁群优化算法的智慧城市动态冷链物流调度方法 |
CN116227773A (zh) * | 2023-03-14 | 2023-06-06 | 广东电网有限责任公司广州供电局 | 一种基于蚁群算法的配送路径优化方法 |
CN116993031A (zh) * | 2023-09-27 | 2023-11-03 | 国网北京市电力公司 | 一种电动车的充电决策优化方法、装置、设备及介质 |
CN117252395A (zh) * | 2023-11-10 | 2023-12-19 | 南京信息工程大学 | 基于双染色体遗传算法的带服务约束多物流车调度方法 |
-
2024
- 2024-01-05 CN CN202410016724.9A patent/CN117522088B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108416513A (zh) * | 2018-02-12 | 2018-08-17 | 杭州电子科技大学 | 一种基于混合启发式算法的公共自行车动态调度方法 |
WO2021179462A1 (zh) * | 2020-03-12 | 2021-09-16 | 重庆邮电大学 | 基于改进量子蚁群算法的Spark平台任务调度方法 |
CN112684790A (zh) * | 2020-11-12 | 2021-04-20 | 北京交通大学 | 一种可实现避障的自导向电动物流车辆路径规划方法 |
US20220156693A1 (en) * | 2020-11-17 | 2022-05-19 | Exel Inc. d/b/a DHL Supply Chain (USA) | Computerized system and method for developing optimized cargo transportation solutions |
WO2022188388A1 (zh) * | 2021-03-11 | 2022-09-15 | 华南理工大学 | 基于蚁群优化算法的智慧城市动态冷链物流调度方法 |
CN113898403A (zh) * | 2021-10-09 | 2022-01-07 | 中国矿业大学(北京) | 一种纯电动无轨胶轮车路径规划模型及方法 |
CN113935505A (zh) * | 2021-10-15 | 2022-01-14 | 北京化工大学 | 基于列生成和蚁群算法融合的共享电动汽车运营优化方法 |
CN116227773A (zh) * | 2023-03-14 | 2023-06-06 | 广东电网有限责任公司广州供电局 | 一种基于蚁群算法的配送路径优化方法 |
CN116993031A (zh) * | 2023-09-27 | 2023-11-03 | 国网北京市电力公司 | 一种电动车的充电决策优化方法、装置、设备及介质 |
CN117252395A (zh) * | 2023-11-10 | 2023-12-19 | 南京信息工程大学 | 基于双染色体遗传算法的带服务约束多物流车调度方法 |
Non-Patent Citations (5)
Title |
---|
刘育良;陈淮莉;: "负载影响下纯电动汽车配送路径规划及充电策略", 计算机应用, no. 10, pages 2831 - 2837 * |
张书玮;罗禹贡;李克强;: "动态交通环境下的纯电动车辆多目标出行规划", 清华大学学报(自然科学版), no. 02, 15 February 2016 (2016-02-15), pages 130 - 136 * |
杨金辉: "基于交通路况影响的电动汽车充电调度算法研究", 中国优秀硕士学位论文全文数据库工程科技Ⅱ辑, no. 6, 15 June 2021 (2021-06-15), pages 034 - 641 * |
毛慧婷;石建迈;周玉珍;陈超;: "混合柔性充电策略支持下的电动汽车配送路径优化", 物流技术, no. 04, 25 April 2020 (2020-04-25), pages 32 - 39 * |
赵志学;李夏苗;: "时变交通下生鲜配送电动车辆路径优化方法", 交通运输系统工程与信息, no. 05, 15 October 2020 (2020-10-15), pages 218 - 225 * |
Also Published As
Publication number | Publication date |
---|---|
CN117522088B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108764777B (zh) | 带时间窗的电动物流车调度方法和系统 | |
US20240054444A1 (en) | Logistics scheduling method and system for industrial park based on game theory | |
CN103413209B (zh) | 多客户多仓库物流配送路径选择方法 | |
CN102278996B (zh) | 一种大规模多目标智能移动路径选择的蚁群优化处理方法 | |
CN109948855A (zh) | 一种带时间窗的异构危化品运输路径规划方法 | |
CN110097218B (zh) | 一种时变环境下无人商品配送方法及系统 | |
CN112801347B (zh) | 基于移动中转站及众包的多目标城市两级配送规划方法 | |
CN114037180B (zh) | 一种基于分支定价切割算法的协同配送路径优化方法 | |
CN113359702B (zh) | 一种基于水波优化-禁忌搜索的智能仓库agv作业优化调度方法 | |
CN115032997B (zh) | 一种基于蚁群算法的第四方物流运输路径规划方法 | |
CN111860957B (zh) | 一种考虑二次配送和平衡用时的多车型车辆路径规划方法 | |
CN113867358A (zh) | 多无人车协同遍历任务的智能路径规划方法 | |
CN113673764A (zh) | 一种订单配送方法、装置、电子设备及存储介质 | |
CN113935452A (zh) | 一种基于蚁群算法和遗传算法融合的配送中心拣货路径规划方法 | |
CN113848970A (zh) | 一种车辆-无人机多目标协同路径规划方法 | |
CN113570025A (zh) | 一种基于离散粒子群算法的电商仓储中心货位分配方法 | |
CN114742380A (zh) | 一种面向智慧园区的双层资源配置优化方法 | |
Hong et al. | Logistics in the sky: A two-phase optimization approach for the drone package pickup and delivery system | |
CN117522088B (zh) | 一种融合充电约束和容量约束的多电动物流车调度方法 | |
Fan | A hybrid adaptive large neighborhood search for time-dependent open electric vehicle routing problem with hybrid energy replenishment strategies | |
CN115841286A (zh) | 一种基于深度强化学习的外卖配送路径规划方法 | |
CN112862212B (zh) | 基于改进麻雀搜索算法的多agv调度方法、装置及设备 | |
Chen et al. | A hybrid algorithm for multi-depot vehicle routing problem | |
CN112684790A (zh) | 一种可实现避障的自导向电动物流车辆路径规划方法 | |
Yang et al. | A novel demand dispatching model for autonomous on-demand services |
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 |