CN112684790A - 一种可实现避障的自导向电动物流车辆路径规划方法 - Google Patents
一种可实现避障的自导向电动物流车辆路径规划方法 Download PDFInfo
- Publication number
- CN112684790A CN112684790A CN202011257594.6A CN202011257594A CN112684790A CN 112684790 A CN112684790 A CN 112684790A CN 202011257594 A CN202011257594 A CN 202011257594A CN 112684790 A CN112684790 A CN 112684790A
- Authority
- CN
- China
- Prior art keywords
- logistics vehicle
- electric logistics
- electric
- point
- vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及了一种可实现避障的自导向电动物流车路径规划方法,融合两种算法从而优化路径规划模型。解决路径规划函数的算法是利用启发式信息的模拟进化算法,具有正反馈性和鲁棒性,实现避障的算法通过建造虚拟力场,在不与障碍物碰撞的前提下寻找一条从起始点到目标点的较优路径。两者结合所构建的基于总体成本最优的自导向电动物流车路径问题模型,能够综合考虑电池容量、货物装载量等约束条件,使规划结果满足快速、耗能少、准时的要求,在满足上述条件下,最终绘制的路线还能够避开环境中预设的障碍物。推广无人自导向电动物流车的应用不仅可以有效的缓解传统物流车对化石燃料等不可再生能源的依赖,还能减少人为决策带来的低效问题。
Description
技术领域
本发明涉及车辆路径规划领域,具体涉及一种可实现避障的自导向电动物流车路径规划方法。
背景技术
传统物流配送方式主要依赖经验,不能对海量信息进行有效处理,运行效率低且配送成本高。研究纯电动物流车辆路径优化问题被提上日程,配送路径的科学决策能够降低运输成本和时间、提高资源利用率、缓解环境污染、满足人们对快捷高效的需求,从而带来直接的经济效益,推动绿色物流的发展。
目前,用于车辆路径规划的算法分为精确式算法和启发式算法。其中用于解决路径规划的算法具有并行性、正反馈性和鲁棒性,有很强的全局搜索能力,且易于与其他算法优势互补进行融合。实现避障的算法的目的是:在不与障碍物碰撞的前提下,寻找一条从起始点到目标点的较优路径。它的特点是规划效率高、结构简洁、计算量小、生成路径美观平滑、不需要对全局路径搜索,适合实时性高的任务。
研究主要针对的是在仓库或港口的集送电动物流车,此运行环境的特点是,环境变量已知且不变,运输频次高、服务性强、小批量、多目标。针对以上特点,建立自导向电动物流车的车辆路径规划数学模型(Guided Electric Vehicle Routing Problem,GEVRP),包括使用进行最优服务顺序划分、基于软时间窗的总体最优的评价策略、利用改进斥力场的避障算法进行避障。使用伪随机概率规则和Ant-cycle模型对算法进行改进,并使用改进算法来求解GEVRP模型。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种可实现避障的自导向电动物流车路径规划方法。本发明的创新点是通过修改斥力场函数消除局部最小点,解决了算法存在的目标不可达问题;改进车辆路径规划模型,加入SOC约束使其能够判断电量并在电量不足时及时前往充电站充电;将避障算法与GEVRP模型结合,使规划能够在满足电动物流车运作的同时能进行有效避障。
为实现上述目的,本发明建立电动物流车路径规划模型。以有载重量限制的车辆路径问题(Capacitated Vehicle Routing Problem,CVRP)为基础,考虑到配送中心离客户点较远,在每个客户需求较小而提出需求的客户较多时,电动物流车的行驶距离长,电动物流车路径规划模型(Guided Electric Vehicle Routing Problem,GEVRP)增加了一个充电站,它邻近客户点所构成的区域的中心,当电动物流车在配送中出现电量不足的情况时,会自行去充电站充电。
GEVRP在CVRP的基础上,需要满足以下附加前提:
(1)在客户点装卸货物时,电动物流车处于停车熄火状态,不会耗电;
(2)因为车速恒定,所以假定单位时间耗电量恒定,不考虑电动物流车供暖、控制系统等造成的额外供电;
(3)当剩余电量达到所计算的预警线时,电动物流车才去充电站充电,每次充电都会充满,且充电时间恒定;
(4)每辆电动物流车第一次从配送中心出发,开启路径规划任务时处于充满电的状态,但是如果因为超出限重而返回配送中心卸货时,配送中心不负责充电;
(5)全部电动物流车都属于同一种车型,即充电时间、电池容量、单位时间耗电量、电池参数等属性均相同。
电动物流车路径规划模型的建立过程如下:
本发明可以满足多辆电动物流车共同完成配送任务的需求,即V辆电动物流车同时从配送中心出发,每辆电动物流车负责响应一部分客户点的需求,最后实现每个客户点都接受服务的结果。
所以在考虑多车多任务的问题时,也是根据先分配任务后规划路线的原则,先将客户点分成V份并确定每辆电动物流车所要服务的客户点的最优次序,这样对于每个电动物流车而言,就可以转化为单车多任务的问题,可以使用电动物流车路径规划模型求解。
因为在电动物流车速度为常数的前提下,距离和时间呈线性关系,所以依据每个点距离配送中心的长短决定被服务的次序。
一种可实现避障的自导向电动物流车辆路径规划方法,具体包括如下步骤:
步骤1:读取数据,所述数据包括:由配送中心、充电站、客户点形成的坐标矩阵;各客户点的需求量;各客户要求的时间窗上下限;
步骤2:计算距离矩阵:通过坐标矩阵计算所有配送中心、充电站和客户点之间的距离;
步骤3:使用贪心算法分配任务:比较客户点离配送中心的距离,从小到大排序,依序交叉放入1号车数组和2号车数组,由此建立两辆电动物流车的任务顺序列表;
步骤4:建立电动物流车路径计算函数,两辆车分别调用电动物流车路径计算函数,得到每辆电动物流车需要服务的客户点顺序;
步骤5:使用蚁群算法求解电动物流车路径计算函数;
步骤6:建立绘图函数,输入步骤5求解得到的结果调用避障函数,使用绘图函数作最短路径图;
步骤7:作迭代收敛曲线图:双y轴,y1轴表示步骤4中电动物流车路径计算函数计算的每代最短路径长度,y2轴表示步骤4中电动物流车路径计算函数计算的每代平均路径长度,得到总的迭代趋势,此步骤的作用是观察参数的设置对迭代收敛特征的影响,以选择较优的参数。
在上述方案的基础上,步骤3包括如下步骤:
步骤3.1:对所有客户点按其到配送中心的距离从小到大进行排序,形成序列index={c′1,c′2,...c′m,...c′n},其中c′m表示根据距离排序后的客户点序号,m表示它在index数列的序号;
步骤3.2:建立两电动物流车的任务顺序列表,包括1号车数组car1和2号车数组car2,将index中的元素交叉放入两电动物流车的任务顺序列表中,即car1={c′1,c′3,...},car2={c′2,c′4,...};
在上述方案的基础上,步骤4具体包括如下步骤:
步骤4.1:建立电动物流车路径计算函数:
建立Tabu矩阵和Path数组,Tabu矩阵储存本代到过的客户点,Path数组储存本代到过的所有点,包括配送中心和充电站。
设顶点集G=N∪F,其中,客户和配送中心点集N是客户集N0={1,2,...i,...j,...,n}和配送中心{O}的集合;F是充电站点集,所述充电站点集中充电站只有1个;
包括所有连接N中点的弧。每个弧(i,j)与行驶时间tij和距离dij相关联。行驶速度vij被假定为是恒定的。建立启发式矩阵,每当电动物流车准备从客户点i出发时,启发式矩阵会从步骤2中的距离矩阵中查询客户点i到所有任务顺序列表中未访问客户点的距离,并利用这些距离计算每一个客户点的转移概率。按照轮盘赌方法确定要前往的目标客户点j后,启发式矩阵会从距离矩阵中查询i与j之间的距离dij,利用dij计算所消耗的电量和所行驶的时间。
电动物流车路径计算函数的数学模型如下:
yjk≥min{τdi0,τ(dij+dj0)} (7)
式中,Z表示总成本,Ze表示能源消耗成本,Zt表示时间成本,Zp表示惩罚费用,δi、δj分别为客户点i的需求,单位为吨,i∈N0,δj为客户点j的需求,单位为吨,j∈N0;Q为电动物流车k的电池总容量,单位为库伦;τ电能消耗速度,单位为千瓦时/千米;M为电动物流车的限重,单位为吨;xijk表示弧i,j上电动物流车流量的二进制变量,如果电动物流车k离开客户点i去j,xijk=1,否则,xijk=0;dij表示顶点i,j之间的距离,dj0表示顶点i和配送中心的距离,yjk为在离开顶点i去j时电动物流车的剩余电池容量,初始时刻yjk=Q。
步骤4.2:计算电池参数:
Batalert=(Dmax+D′max)/v×Iwork (12)
式中,P为电池功率,U为电池工作电压,Iwork是放电电流,C为电池容量,tcharge为充电时间,ηloss为电池损耗百分比,Batalert为预警电量值,当电量达到此值是电动物流车需要返回配送中心充电,Dmax是离充电站距离最远的配送点到充电站的距离,D′max是距离矩阵中最大的距离,加入D′max避免车辆到了下一个配送点后剩余电量不足无法返回充电站的情况;
步骤4.3:建立基于软时间窗的总体最优的评价规则:
设客户点i规定的时间窗为[ETi,LTi],ETi为客户点i允许的最早到达时间,LTi为客户点i允许的最晚到达时间。将电动物流车从配送中心出发设为初始时刻t0=0,设ti为电动物流车到达客户点i的时间。
软时间窗约束允许电动物流车到达时间在[ETi,LTi]之外,但是如果电动物流车到达时间早于ETi,还需要停车等待直到ti=ETi;
早到或晚到需要付出惩罚费用,所述惩罚费用如下式所示:
Zp=a×max{ETi-ti,0}+b×max{ti-LTi,0} (13)
其中,a和b为人为设置的惩罚系数。设定a为0.2,b为0.5。
步骤4.4:建立电动物流车路径计算函数的数学模型的总体利用最优方案,如式(14)所示:
式中,第一项为耗电成本的总和,第二项为时间成本的总和,第三项为时间窗惩罚费用的总和;
Z为总成本,bij为顶点i到j所消耗的电量;r为充电时间,单位为小时,s为装卸货物速度,单位为吨/小时,所述充电时间和装卸货物速度是在路线规划开始之前就确定的常数;Ce为单位电能的价格,单位为元/千瓦时;Ct为时间成本,单位为元/小时。
步骤4.5:将cark(k=1,2)作为电动物流车需要服务的客户点序列,调用电动物流车路径计算函数,得到每辆电动物流车需要服务的客户点顺序。记录每一代所有的路径长度,计算得到每代最短路径长度和每代平均路径长度,并将二者以双y轴的形式画出,以观察算法的收敛程度。
在上述方案的基础上,步骤5所述的使用启发式算法中的蚁群算法求解电动物流车路径计算函数具体包括步骤如下:
步骤5.1初始化参数:
人为设定的参数包括:关于信息素更新的各个系数ρ、α、β、Q,时间窗惩罚系数,蚂蚁数量M和最大迭代次数NCmax,伪随机选择概率,装卸货物用时的最大载重;
需要用到的矩阵和数组包括:Tau矩阵、Path数组,每一只蚂蚁路线元胞矩阵ROUTE,每一只蚂蚁的长度、时间、费用、电量,各代最佳路线矩阵,各代最佳长度、平均长度数组、需求数组、任务数组,进入步骤5.2;
步骤5.2出动物流车,蚂蚁数加一。初始化Tabu矩阵和Path数组,Tabu矩阵储存到过的客户点,Path数组储存到过的所有点,包括配送中心和充电站;初始化:车载量、电量、需求数组、时间、长度,初始化启发式矩阵,储存电动物流车现在所在点到下一个客户的距离,进入步骤5.3;
进入步骤5.3判断电动物流车是否访问完所有客户,如果否,进行步骤5.4,如果是,进行步骤5.11;
步骤5.3从任务数组中去掉已访问客户,建立未访问客户数组。车载警告量为需求数组的最大值,进行步骤5.5;
步骤5.5判断电池存量是否小于电池警告量,如果否,进行步骤5.6,如果是,回到充电站充电,更新时间、长度、费用、电量,再进行步骤5.6;
步骤5.6判断车载量是否小于车载警告量,如果否,进行步骤5.7,如果是,回到配送中心,更新时间、长度、电量、车载量,在进行步骤5.7;
步骤5.7计算转移概率,判断是否满足伪随机选择概率,如果是,直接将概率最大的客户作为下一个要访问的客户点,进行步骤5.9,如果否,进行步骤5.8;
步骤5.8轮盘赌法选择下一名要访问的客户,进行步骤5.9;
步骤5.9电动物流车行走到下一个要访问的客户点开始装卸货物。在矩阵和数组中记录,更新时间、长度、电量、车载量,需求数组删除这个客户的需求,进行步骤5.10;
步骤5.10判断电动物流车完成任务的时间是否在客户规定的时间段内,如果是,返回步骤5.3,如果否,在费用中增加惩罚费用,在返回步骤5.3;
步骤5.11电动物流车回到终点。更新时间、长度、电量,将Path数组记录在元胞矩阵ROUTE中,计算总费用,进行步骤5.12;
步骤5.12寻找最小的费用。并记录其对应的第NC代和第m只蚂蚁;
步骤5.13判断蚂蚁数是否达到M,如果否,返回步骤5.2,如果是,进行步骤5.14;
步骤5.14更新信息素,然后进行步骤5.15;
步骤5.15判断迭代数是否达到NCmax,如果否,将蚂蚁数清零,返回步骤5.2,如果是,进行步骤5.16;
步骤5.16计算各代平均长度,最小费用和对应的路程线路、时间、长度,结束循环。
在上述方案的基础上,步骤6具体包括如下步骤:
在完成电动物流车路径计算函数后的画图阶段引入了避障算法,其原理就是在电动物流车的工作环境中构造一个虚拟力场,目标点的引力引导物体朝向其运动,障碍物的斥力避免物体与之发生碰撞。电动物流车沿着这两种力场构成的合力场的下降方向运动;
具体包括如下步骤:
步骤6:建立绘图函数,设置路线图的坐标范围、标题、电动物流车活动区域的边界,输入电动物流车路径计算函数计算出的结果,即每电动物流车需要服务的客户点顺序,每辆电动物流车的结果分别调用避障函数。将某一电动物流车所在的客户点设为避障函数的起点,电动物流车下一步要前往的客户点设为终点,循环执行直到电动物流车经过任务中所有客户点完成配送任务,并回到配送中心。避障函数返回的是点状路线,每一点与邻近点的距离为避障函数设置的步长,使用gplot内置函数将散点连接成线,得出的图像即为电动物流车路径拓扑;
步骤6.1建立避障函数:所述避障函数包括引力场函数和斥力场函数,电动物流车沿着这两种力场构成的合力场的下降方向运动;
步骤6.1.1:计算目标点对物体产生的引力,引力为目标点产生的引力势场的负梯度,随着电动物流车与目标点距离的减小,引力会收敛至0;
建立引力场函数如下:
Fat(X)=-grad[Uat(X)]=k(X-Xgoal) (16)
式中,k为引力增益系数;(X-Xgoal)为电动物流车与目标之间的相对距离;
步骤6.1.2:计算障碍物对物体产生的斥力,为了解决因障碍物在目标点附近时导致合力方向改变而使电动物流车无法接近目标的目标不可达问题,在定义斥力场函数时,在原有斥力场的基础上,目标会给电动物流车多加一个与距离相关的引力,从而确保目标点始终为整个势场的最小点,改进后的斥力场函数如下:
其中,ρ为电动物流车与障碍之间的实际距离,ρ0为人为设置的障碍影响距离,如果障碍物与电动物流车的距离大于此值,则障碍物给电动物流车的斥力为0。η为斥力增益系数。n为斥力尺度因子,是为大于零的任意实数。矢量Fre1为斥力,方向由障碍物指向电动物流车;矢量Fre2为引力,方向由电动物流车指向目标。当电动物流车越来越接近目标点时,Fre1逐渐趋于零,Fre2驱动电动物流车驶向全局最小点,即目标点;
步骤6.2:将避障函数的计算结果返回给绘图函数,结果为按步长为间距的点状图,连点成线并绘出路线图;绘图函数调用下一辆电动物流车的配送顺序并输入给避障函数;重复上述步骤直至所有电动物流车的路线绘制完成。
本发明内容的有益效果:
(1)制定SOC约束条件,考虑电池系统的充放电倍率,工作电压和功率,充电站位置,使模型可以应用于电动物流车,从而节约能源,减少二氧化碳排放;
(2)使用改进避障算法实现避障,使无人自导向物流车能够计算机规划的路径行驶且不与障碍发生撞击造成财产损失。
附图说明
本发明有如下附图:
图1是本发明的总体内容框图;
图2是本发明的启发式路径规划算法流程图;
图3是本发明的路径规划计算函数流程图;
图4是本发明的避障算法原理图;
图5是本发明的避障算法流程图;
具体实施方式
以下结合附图1~5对本发明作进一步详细说明。
本发明将两种算法结合,能够综合考虑电池容量、货物装载量、节点访问的约束条件的同时,满足电动物流车需要避障的要求。
总体内容框图如图1所示;
本发明的启发式路径规划算法流程图如图2所示;
电动物流车路径计算函数搭建过程如下:
建立运行环境为:
设顶点集G=N∪F,其中客户和配送中心点集N是客户集N0={1,2,...i,...j,...,n}和配送中心{O}的集合;F是充电站点集,在所建立的模型中只有一个充电站。
电动物流车路径计算函数的数学模型如下:
yjk≥min{τdi0,τ(dij+dj0)} (7)
式中,Z表示总成本,Ze表示能源消耗成本,Zt表示时间成本,Zp表示惩罚费用,δi、δj分别为客户点i的需求,单位为吨,i∈N0,δj为客户点j的需求,单位为吨,j∈N0;Q为电动物流车k的电池总容量,单位为库伦;τ为电能消耗速度,单位为千瓦时/千米;M为电动物流车的限重,单位为吨;xijk表示弧i,j上电动物流车流量的二进制变量,如果电动物流车k离开客户点i去j,xijk=1,否则,xijk=0;dij表示顶点i,j之间的距离,dj0表示顶点i和配送中心的距离,yjk为在离开顶点i去j时电动物流车的剩余电池容量,初始时刻yjk=Q。
步骤4.2:计算电池参数
Batalert=(Dmax+D′max)/v×Iwork (12)
式中,P为电池功率,U为电池工作电压,Iwork是放电电流,C为电池容量,tcharge为充电时间,ηloss为电池损耗百分比,Batalert为预警电量值,当电量达到此值时电动物流车需要返回配送中心充电,Dmax是离充电站距离最远的配送点到充电站的距离,D′max是距离矩阵中最大的距离,加入D′max避免车辆到了下一个配送点后剩余电量不足无法返回充电站的情况;
步骤4.3:建立基于软时间窗的总体最优的评价规则:
设客户i规定的时间窗为[ETi,LTi],ETi为客户i允许的最早到达时间,LTi为i客户允许的最晚到达时间;将电动物流车从配送中心出发设为初始时刻t0=0,设ti为电动物流车到达客户i的时间。
早到或晚到需要付出惩罚费用,所述惩罚费用如下式所示:
Zp=a×max{ETi-ti,0}+b×max{ti-LTi,0} (13)
其中,a和b为人为设置的惩罚系数。设定a为0.2,b为0.5。
步骤4.4:建立电动物流车路径计算函数的数学模型总体利用最优方案,如式(14)所示:
其中,公式中第一项为耗电成本的总和,第二项为时间成本的总和,第三项为时间窗惩罚费用的总和;
Z为总成本,bij为顶点i到j所消耗的电量;r为充电时间,单位为小时;s为装卸货物速度,单位为吨/小时,所述充电时间和装卸货物速度是在路线规划开始之前就确定的常数;Ce为单位电能的价格,单位为元/千瓦时;Ct为时间成本,单位为元/小时。
本发明的蚁群路径规划算法流程图如图2所示,使用启发式算法中的蚁群算法求解电动物流车路径计算函数流程图如图3所示,详细步骤如下:
(1)初始化参数:人为设定的参数包括:关于信息素更新的各个系数ρ、α、β、Q,时间窗惩罚系数,蚂蚁数量M和最大迭代次数NCmax,伪随机选择概率,装卸货物用时的最大载重;
需要用到的矩阵和数组包括:Tau矩阵、Path数组,每一只蚂蚁路线元胞矩阵ROUTE,每一只蚂蚁的长度、时间、费用、电量,各代最佳路线矩阵,各代最佳长度、平均长度数组、需求数组、任务数组,进入步骤2;
(2)出动物流车,蚂蚁数加一。初始化Tabu矩阵和Path数组,Tabu矩阵储存到过的客户点(不包括配送中心和充电站),Path数组储存到过的所有点(包括配送中心和充电站)。初始化:车载量、电量、需求数组、时间、长度,初始化启发式矩阵,储存电动物流车现在所在点到下一个客户的距离,进入步骤3;
(3)判断电动物流车是否访问完所有客户,如果否,进行步骤4,如果是,进行步骤11;
(4)从任务数组中去掉已访问客户,建立未访问客户数组。车载警告量为需求数组的最大值,进行步骤5;
(5)判断电池存量是否小于电池警告量,如果否,进行步骤6,如果是,回到充电站充电,更新时间、长度、费用、电量,再进行步骤6;
(6)判断车载量是否小于车载警告量,如果否,进行步骤7,如果是,回到配送中心,更新时间、长度、电量、车载量,在进行步骤7;
(7)计算转移概率,判断是否满足伪随机选择概率,如果是,直接将概率最大的客户作为下一个要访问的客户点,进行步骤9,如果否,进行步骤8;
(8)轮盘赌法选择下一名要访问的客户,进行步骤9;
(9)电动物流车行走到下一个要访问的客户点开始装卸货物。在矩阵和数组中记录,更新时间、长度、电量、车载量,需求数组删除这个客户的需求,进行步骤10;
(10)判断电动物流车完成任务的时间是否在客户规定的时间段内,如果是,返回步骤3,如果否,在费用中增加惩罚费用,在返回步骤3;
(11)电动物流车回到终点。更新时间、长度、电量,将Path数组记录在元胞矩阵ROUTE中,计算总费用,进行步骤12;
(12)寻找最小的费用。并记录其对应的第NC代和第m只蚂蚁;
(13)判断蚂蚁数是否达到M,如果否,返回步骤2,如果是,进行步骤14;
(14)更新信息素,然后进行步骤15;
(15)判断迭代数是否达到NCmax,如果否,将蚂蚁数清零,返回步骤2,如果是,进行步骤16;
(16)计算各代平均长度,最小费用和对应的路程线路、时间、长度,结束循环。
本发明的避障算法原理图如图4所示,本发明的避障算法流程图如图5所示,详细步骤如下:
(1)建立绘图函数,设置路线图的坐标范围、标题、电动物流车活动区域的边界,输入电动物流车路径计算函数计算出的结果,即每电动物流车需要服务的客户点顺序,每辆电动物流车的结果分别调用避障函数。将某一电动物流车所在的客户点设为避障函数的起点,电动物流车下一步要前往的客户点设为终点,循环执行直到电动物流车经过任务中所有客户点完成配送任务,并回到配送中心。避障函数返回的是点状路线,每一点与邻近点的距离为避障函数设置的步长,使用gplot内置函数将散点连接成线,得出的图像即为电动物流车路径拓扑;
(2)计算目标点对物体产生的引力,引力为目标产生的引力势场的负梯度,随着电动物流车与目标点距离的减小,引力会收敛至0。引力场函数如下:
Fat(X)=-grad[Uat(X)]=k(X-Xgoal) (16)
式中,k为引力增益系数;(X-Xgoal)为电动物流车与目标之间的相对距离;
(3)计算障碍物对物体产生的斥力,为了解决因障碍物在目标点附近时导致合力方向改变而使电动物流车无法接近目标的目标不可达问题,在定义斥力场函数时,在原有斥力场的基础上,目标会给电动物流车多加一个与距离相关的引力,从而确保目标点始终为整个势场的最小点,改进后的斥力函数如下:
式中,n为斥力尺度因子,是为大于零的任意实数。矢量Fre1为斥力,方向由障碍物指向电动物流车;矢量Fre2为引力,方向由电动物流车指向目标。当电动物流车越来越接近目标点时,Fre1逐渐趋于零,Fre2驱动电动物流车驶向全局最小点,即目标点;
(4)将避障函数的计算结果返回给绘图函数,结果为按步长为间距的点状图,连点成线并绘出路线图。绘图函数调用下一辆电动物流车的配送顺序并输入给避障函数,重复上述步骤直至所有电动物流车的路线绘制完成。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (5)
1.一种可实现避障的自导向电动物流车辆路径规划方法,其特征在于,包括如下步骤:
步骤1:读取数据,所述数据包括:由配送中心、充电站、客户点形成的坐标矩阵;各客户点的需求量;各客户要求的时间窗上下限;
步骤2:计算距离矩阵:通过坐标矩阵计算所有配送中心、充电站和客户点之间的距离;
步骤3:使用贪心算法分配任务:比较客户点离配送中心的距离,从小到大排序,依序交叉放入1号车数组和2号车数组,由此建立两辆电动物流车的任务顺序列表;
步骤4:建立电动物流车路径计算函数,两辆车分别调用电动物流车路径计算函数,得到每辆电动物流车需要服务的客户点顺序;
步骤5:使用蚁群算法求解电动物流车路径计算函数;
步骤6:建立绘图函数,输入步骤5求解得到的结果调用避障函数,使用绘图函数作最短路径图;
步骤7:作迭代收敛曲线图:双y轴,y1轴表示步骤4中电动物流车路径计算函数计算的每代最短路径长度,y2轴表示步骤4中电动物流车路径计算函数计算的每代平均路径长度,得到总的迭代趋势。
2.如权利要求1所述的可实现避障的自导向电动物流车辆路径规划方法,其特征在于,步骤3包括如下步骤:
步骤3.1:对所有客户点按其到配送中心的距离从小到大进行排序,形成序列index={c1′,c2′,...cm′,...cn′},其中cm′表示根据距离排序后的客户点序号,m表示它在index数列的序号;
步骤3.2:建立两电动物流车的任务顺序列表,包括1号车数组car1和2号车数组car2,将index中的元素交叉放入两电动物流车的任务顺序列表中,得到car1={c1′,c3′,...},car2={c2′,c4′,...}。
3.如权利要求2所述的可实现避障的自导向电动物流车辆路径规划方法,其特征在于,步骤4具体包括如下步骤:
步骤4.1:建立电动物流车路径计算函数:
建立Tabu矩阵和Path数组,Tabu矩阵储存本代到过的客户点,Path数组储存本代到过的所有点,包括配送中心和充电站;
设顶点集G=N∪F,其中,客户和配送中心点集N是客户集N0={1,2,...i,...j,...,n}和配送中心{O}的集合;F是充电站点集,所述充电站点集中充电站只有1个;
包括所有连接N中点的弧,每个弧(i,j)与行驶时间tij和距离dij相关联,行驶速度vij被假定为是恒定的,建立启发式矩阵,每当电动物流车准备从客户点i出发时,启发式矩阵会从步骤2中的距离矩阵中查询客户点i到所有任务顺序列表中未访问客户点的距离,并利用这些距离计算每一个客户点的转移概率,按照轮盘赌方法确定要前往的目标客户点j后,启发式矩阵会从距离矩阵中查询i与j之间的距离dij,利用dij计算所消耗的电量和所行驶的时间;
电动物流车路径计算函数的数学模型如下:
yjk≥min{τdi0,τ(dij+dj0)} (7)
式中,Z表示总成本,Ze表示能源消耗成本,Zt表示时间成本,Zp表示惩罚费用,δi、δj分别为客户点i的需求,单位为吨,i∈N0,δj为客户点j的需求,单位为吨,j∈N0;Q为电动物流车k的电池总容量,单位为库伦,τ为电能消耗速度,单位为千瓦时/千米;M为电动物流车的限重,单位为吨;xijk表示弧i,j上电动物流车流量的二进制变量,如果电动物流车k离开客户点i去j,xijk=1,否则,xijk=0;dij表示顶点i,j之间的距离,dj0表示顶点i和配送中心的距离,yjk为在离开顶点i去j时电动物流车的剩余电池容量,初始时刻yjk=Q;
步骤4.2:计算电池参数:
Batalert=(Dmax+D′max)/v×Iwork (12)
式中,P为电池功率,U为电池工作电压,Iwork是放电电流,C为电池容量,tcharge为充电时间,ηloss为电池损耗百分比,Batalert为预警电量值,当电量达到此值是电动物流车需要返回配送中心充电,Dmax是离充电站距离最远的配送点到充电站的距离,D′max是距离矩阵中最大的距离;
步骤4.3:建立基于软时间窗的总体最优的评价规则:
设客户点i规定的时间窗为[ETi,LTi],ETi为客户点i允许的最早到达时间,LTi为客户点i允许的最晚到达时间,将电动物流车从配送中心出发设为初始时刻t0=0,设ti为电动物流车到达客户点i的时间;
软时间窗约束允许电动物流车到达时间在[ETi,LTi]之外,但是如果电动物流车到达时间早于ETi,还需要停车等待直到ti=ETi;
早到或晚到需要付出惩罚费用,所述惩罚费用如下式所示:
Zp=a×max{ETi-ti,0}+b×max{ti-LTi,0} (13)
其中,a和b为人为设置的惩罚系数,设定a为0.2,b为0.5;
步骤4.4:建立电动物流车路径计算函数的数学模型的总体利用最优方案,如式(14)所示:
式中,第一项为耗电成本的总和,第二项为时间成本的总和,第三项为时间窗惩罚费用的总和;
Z为总成本,bij为顶点i到j所消耗的电量;r为充电时间,单位为小时;s装卸货物速度,单位为吨/小时,所述充电时间和装卸货物速度是在路线规划开始之前就确定的常数;Ce为单位电能的价格,单位为元/千瓦时;Ct时间成本,单位为元/小时;
步骤4.5:将cark,k=1,2作为电动物流车需要服务的客户点序列,调用电动物流车路径计算函数,得到每辆电动物流车需要服务的客户点顺序;记录每一代所有的路径长度,计算得到每代最短路径长度和每代平均路径长度,并将二者以双y轴的形式画出,以观察算法的收敛程度。
4.如权利要求3所述的可实现避障的自导向电动物流车辆路径规划方法,其特征在于,步骤5所述的使用启发式算法中的蚁群算法求解电动物流车路径计算函数具体包括步骤如下:
步骤5.1初始化参数:
人为设定的参数包括:关于信息素更新的各个系数ρ、α、β、Q,时间窗惩罚系数,蚂蚁数量M和最大迭代次数NCmax,伪随机选择概率,装卸货物用时的最大载重;
需要用到的矩阵和数组包括:Tau矩阵、Path数组,每一只蚂蚁路线元胞矩阵ROUTE,每一只蚂蚁的长度、时间、费用、电量,各代最佳路线矩阵,各代最佳长度、平均长度数组、需求数组、任务数组,进入步骤5.2;
步骤5.2出动物流车,蚂蚁数加一,初始化Tabu矩阵和Path数组,Tabu矩阵储存到过的客户点,Path数组储存到过的所有点,包括配送中心和充电站;初始化:车载量、电量、需求数组、时间、长度,初始化启发式矩阵,储存电动物流车现在所在点到下一个客户的距离,进入步骤5.3;
进入步骤5.3判断电动物流车是否访问完所有客户,如果否,进行步骤5.4,如果是,进行步骤5.11;
步骤5.3从任务数组中去掉已访问客户,建立未访问客户数组;车载警告量为需求数组的最大值,进行步骤5.5;
步骤5.5判断电池存量是否小于电池警告量,如果否,进行步骤5.6,如果是,回到充电站充电,更新时间、长度、费用、电量,再进行步骤5.6;
步骤5.6判断车载量是否小于车载警告量,如果否,进行步骤5.7,如果是,回到配送中心,更新时间、长度、电量、车载量,在进行步骤5.7;
步骤5.7计算转移概率,判断是否满足伪随机选择概率,如果是,直接将概率最大的客户作为下一个要访问的客户点,进行步骤5.9,如果否,进行步骤5.8;
步骤5.8轮盘赌法选择下一名要访问的客户,进行步骤5.9;
步骤5.9电动物流车行走到下一个要访问的客户点开始装卸货物,在矩阵和数组中记录,更新时间、长度、电量、车载量,需求数组删除这个客户的需求,进行步骤5.10;
步骤5.10判断电动物流车完成任务的时间是否在客户规定的时间段内,如果是,返回步骤5.3,如果否,在费用中增加惩罚费用,在返回步骤5.3;
步骤5.11电动物流车回到终点,更新时间、长度、电量,将Path数组记录在元胞矩阵ROUTE中,计算总费用,进行步骤5.12;
步骤5.12寻找最小的费用,并记录其对应的第NC代和第m只蚂蚁;
步骤5.13判断蚂蚁数是否达到M,如果否,返回步骤5.2,如果是,进行步骤5.14;
步骤5.14更新信息素,然后进行步骤5.15;
步骤5.15判断迭代数是否达到NCmax,如果否,将蚂蚁数清零,返回步骤5.2,如果是,进行步骤5.16;
步骤5.16计算各代平均长度,最小费用和对应的路程线路、时间、长度,结束循环。
5.如权利要求4所述的可实现避障的自导向电动物流车辆路径规划方法,其特征在于,具体包括如下步骤:
步骤6:建立绘图函数,设置路线图的坐标范围、标题、电动物流车活动区域的边界,输入电动物流车路径计算函数计算出的结果,得到每电动物流车需要服务的客户点顺序,每辆电动物流车的结果分别调用避障函数,将某一电动物流车所在的客户点设为避障函数的起点,电动物流车下一步要前往的客户点设为终点,循环执行直到电动物流车经过任务中所有客户点完成配送任务,并回到配送中心,避障函数返回的是点状路线,每一点与邻近点的距离为避障函数设置的步长,使用gplot内置函数将散点连接成线,得出的图像为电动物流车路径拓扑;
步骤6.1建立避障函数:所述避障函数包括引力场函数和斥力场函数,电动物流车沿着这两种力场构成的合力场的下降方向运动;
步骤6.1.1:计算目标点对物体产生的引力,引力为目标点产生的引力势场的负梯度,随着电动物流车与目标点距离的减小,引力会收敛至0;
建立引力场函数如下:
Fat(X)=-grad[Uat(X)]=k(X-Xgoal) (16)
式中,k为引力增益系数;(X-Xgoal)为电动物流车与目标之间的相对距离;
步骤6.1.2:计算障碍物对物体产生的斥力,斥力场函数如下:
其中,ρ为电动物流车与障碍之间的实际距离,ρ0为人为设置的障碍影响距离,如果障碍物与电动物流车的距离大于此值,则障碍物给电动物流车的斥力为0;η为斥力增益系数,n为斥力尺度因子,是为大于零的任意实数,矢量Fre1为斥力,方向由障碍物指向电动物流车;矢量Fre2为引力,方向由电动物流车指向目标,当电动物流车越来越接近目标点时,Fre1逐渐趋于零,Fre2驱动电动物流车驶向全局最小点,为目标点;
步骤6.2:将避障函数的计算结果返回给绘图函数,结果为按步长为间距的点状图,连点成线并绘出路线图;绘图函数调用下一辆电动物流车的配送顺序并输入给避障函数;重复上述步骤直至所有电动物流车的路线绘制完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011257594.6A CN112684790A (zh) | 2020-11-12 | 2020-11-12 | 一种可实现避障的自导向电动物流车辆路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011257594.6A CN112684790A (zh) | 2020-11-12 | 2020-11-12 | 一种可实现避障的自导向电动物流车辆路径规划方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112684790A true CN112684790A (zh) | 2021-04-20 |
Family
ID=75446445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011257594.6A Pending CN112684790A (zh) | 2020-11-12 | 2020-11-12 | 一种可实现避障的自导向电动物流车辆路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112684790A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117522088A (zh) * | 2024-01-05 | 2024-02-06 | 南京信息工程大学 | 一种融合充电约束和容量约束的多电动物流车调度方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111311158A (zh) * | 2020-03-04 | 2020-06-19 | 西华大学 | 一种有限充电设施条件下的电动物流车路径规划方法 |
-
2020
- 2020-11-12 CN CN202011257594.6A patent/CN112684790A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111311158A (zh) * | 2020-03-04 | 2020-06-19 | 西华大学 | 一种有限充电设施条件下的电动物流车路径规划方法 |
Non-Patent Citations (4)
Title |
---|
QING WANG等: "Optimization of Electric Vehicle Routing Problem Using Tabu Search", 《2020 CHINESE CONTROL AND DECISION CONFERENCE (CCDC 2020)》 * |
刘华旭: "基于电动汽车技术特征的共同配送调度优化研究", 《中国优秀博硕士学位论文全文数据库(硕士)工程科技Ⅱ辑》 * |
王会丽等: "基于改进的势场函数的移动机器人路径规划", 《机床与液压》 * |
邵赛: "纯电动物流车运营特性分析及配送路径优化问题", 《中国博士学位论文全文数据库 (经济与管理科学辑)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117522088A (zh) * | 2024-01-05 | 2024-02-06 | 南京信息工程大学 | 一种融合充电约束和容量约束的多电动物流车调度方法 |
CN117522088B (zh) * | 2024-01-05 | 2024-03-29 | 南京信息工程大学 | 一种融合充电约束和容量约束的多电动物流车调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108764777B (zh) | 带时间窗的电动物流车调度方法和系统 | |
CN110059934A (zh) | 燃油车和新能源车协同配送调度的方法 | |
CN107180274B (zh) | 一种电动汽车充电设施规划典型场景选取和优化方法 | |
CN113029182B (zh) | 一种考虑无线充电和动态能耗的电动汽车路径规划方法 | |
Shi et al. | Memory-based ant colony system approach for multi-source data associated dynamic electric vehicle dispatch optimization | |
CN112801347B (zh) | 基于移动中转站及众包的多目标城市两级配送规划方法 | |
CN116911729A (zh) | 一种考虑电池更换计划的无人机与卡车协同配送方法 | |
CN115576343A (zh) | 一种结合无人机配送的多目标车辆路径优化方法 | |
CN113867358A (zh) | 多无人车协同遍历任务的智能路径规划方法 | |
Joo et al. | Ant colony optimized routing strategy for electric vehicles | |
CN117035598A (zh) | 区域限制下的车机协同路径规划方法和系统 | |
Iacobucci et al. | Cascaded model predictive control for shared autonomous electric vehicles systems with V2G capabilities | |
CN115953104A (zh) | 一种基于蜣螂优化算法的混合车队调度方法 | |
CN112684790A (zh) | 一种可实现避障的自导向电动物流车辆路径规划方法 | |
CN113222462B (zh) | 一种基于协同进化的露天矿多能源卡车调度优化方法 | |
CN112488358B (zh) | 一种电动汽车充电路径规划方法和存储介质 | |
CN116993031A (zh) | 一种电动车的充电决策优化方法、装置、设备及介质 | |
CN116358593B (zh) | 考虑非线性能耗的电动车辆路径规划方法、装置和设备 | |
CN117291491A (zh) | 一种考虑动态风速风向的城市物流无人机路径规划方法 | |
CN117032298A (zh) | 卡车无人机同步运行协同配送模式下的无人机任务分配规划方法 | |
Abdallah et al. | Electric vehicles routing problem with variable speed and time windows | |
Muhammad et al. | Path planning for EVs based on RA-RRT* model | |
Gacal et al. | Flying sidekick traveling salesman problem with pick-up and delivery and drone energy optimization | |
Tang et al. | Energy-oriented routing strategy of electric vehicle: An end-to-end reinforcement learning approach | |
Zhang et al. | Cooperative Route Planning for Fuel-constrained UGV-UAV Exploration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210420 |