一种基于ADP算法的车辆路径规划方法
技术领域
本发明属于计算机应用技术领域,具体涉及一种基于ADP算法的车辆路径规划方法。
背景技术
随着电子商务的发展及物流行业的迅速崛起,人们已经习惯在各种电商网站上购物,然后通过各种快递物流公司进行配送,获得物品。快递配送成为连接供应商和客户之间的纽带。
中国的快递行业现在主要依赖人工取货配送,配送过程中很大程度依赖配送员自己选择的配送路径,具有很大的随机性,不同的配送路径,配送效率和物流公司需承担的成本会出现很大差别,选择的配送路径不合理,既会浪费大量的人力、燃料及时间资源,又可能耽误客户的取货时间,降低客户对物流公司的满意度。
快递物流公司为了降低运输成本,增强客户对物流配送环节的满意度,需提前根据自身条件和顾客需求点信息选取恰当的车辆路径。为了解决大规模的车辆路径规划问题,有学者提出车辆路径问题(Vehicle Routing Problem),简称VRP,研究VRP一般存在以下几个假设前提条件:被配送的是可混装的物资;各个用户所在地和需求均已知;从配送中心到各个用户间的运输距离已知;配送中心有足够的资源以供配送,并且拥有足够的运输能力。理论上,实施VRP运输方案,可按时、按量完成运输任务,又可以使总运输路径最短。具体实施VRP运输方案前,先得建立VRP相关的数学模型,VRP模型中需用到求解最小值的算法。
目前,使用VRP模型求解运输最短路径一般采用精算法或人工智能算法,但VRP模型中的状态变量较多,采用精算法或人工智能算法,计算量太大,很难实时求解出最短路径。
发明内容
本发明的目的是提供一种基于ADP算法的车辆路径规划方法,解决用现有算法难以求解出大规模车辆最短路径的问题。
本发明采用的技术方案是,一种基于ADP算法的车辆路径规划方法,包括获取货物配送中心信息、可利用车辆信息和顾客需求点信息,根据所获取的货物配送中心信息、可利用车辆信息和顾客需求点信息,计算货物配送中山与每个顾客需求点之间的相互距离,建立相应数学模型,采用ADP算法找出成本最低的配送路径,再根据成本最低的路径进行货物配送。
本发明的特征还在于,所述货物配送中心信息为配送中心位置。
所述可利用车辆信息包括以下一种或多种:车辆位置、车辆承载量、车辆固定成本和车辆最大行驶路径。
所述顾客需求点信息包括以下一种或多种:顾客需求点位置、顾客需求点的货物需求量和顾客需求点的货物需求时间段。
所述数学模型为VRP模型,构建过程如下:
1)先获取以下状态变量集合:
其中,t表示时间阶段;
m表示可利用车辆;
it表示t阶段需服务的顾客需求点;
表示t阶段服务顾客的车辆m的剩余货物量,0≤lt≤Qm,Qm为该车辆的最大容量;
jt表示顾客i是否被访问过的状态,如果被访问了,jt=1,否则jt=0;
表示t阶段服务顾客的车辆行驶单位距离的成本;
表示t阶段服务顾客的车辆的固定成本;
2)获取从t到t+1阶段做出决策所需的决策变量集合,如下:
其中,it+1表示t+1阶段需服务的顾客需求点;
a表示顾客预定配送时间,又称时间窗;
表示t阶段服务顾客的车辆m剩余的货物量能否满足下一个顾客的需求,如果不能,则选择另一辆车;
表示t阶段服务顾客需求点i的车辆m在第i+1个顾客需求点的第a个时间窗内,能否到达i+1顾客需求点并完成i+1点的服务;
表示t阶段服务顾客的第a个时间窗,其中表示t阶段服务顾客的第a个时间窗开始的时间,表示t阶段服务顾客的第a个时间窗结束的时间;
Dt表示t阶段顾客i的需求量;
3)根据t阶段的状态变量St构建t+1阶段的状态转移函数,如下:
St+1=SM(St,xt)
其中,M表示马尔科夫决策过程MDP,是描述动态随机系统优化决策问题的基本数学模型;
SM表示从t到t+1阶段的状态变量因子;
St表示t阶段的状态变量集合;
xt表示t阶段的决策变量集合;
4)MDP模型中状态及决策产生的成本函数:
其中,表示t阶段服务顾客的车辆行驶单位距离的成本;
表示t阶段到t+1阶段服务顾客的车辆行驶距离;
表示t阶段服务顾客的车辆的固定成本;
5)计算每一阶段的距离成本函数,如下:
Ct(St,xt)=E{CM(St,xt)}
其中,E表示CM(St,xt)的期望;
6)构建目标函数,计算所有阶段总费用之和的最小值,如下:
MDP模型中,计算所有阶段总费用之和的最小值采用ADP算法,ADP近似值迭代算法的基本步骤如下:
步骤1,初始化:读入数据,初始化所有决策后状态的近似函数值其中t={0,1,……,T},设置迭代计数k=1及其最大值Kmax以及预决策状态令t=1;
步骤2,开始第k次迭代:选择第1到T时段的观测样本作为ωk;
步骤3,从第0到T时段进行循环,求解的近似值函数:
其中,表示t阶段在第k次迭代时的状态;
表示决策后的状态转移函数,表示在进行xt决策后达到的决策后状态;
表示决策后状态的近似值函数;
并令为最小化问题的最优决策;
步骤4,若t>0,则按照下式更新
其中,αk-1为第k-1次迭代的平滑步长;
步骤5,求t阶段决策后状态:
t+1阶段的预决策状态:
其中,ωk表示1到T阶段的客户需求点,Wt+1表示不受控制的额外因素,如送货的路况问题;
步骤6,判断是否为最末时段,若t=T继续下一步,否则令t=t+1,转步骤3;
步骤7,若满足收敛条件则转步骤9,否则继续下一步;
步骤8,判断是否到达最大迭代次数,若k<Kmax,令k=k+1,返回步骤2,否则继续下一步;
步骤9,返回近似值函数t={0,1,……,T},即得所有阶段总费用之和的最小值。
本发明的有益效果是,采用近似动态规划对车辆规划问题进行建模和求解,能快速求解出问题的最优解。
附图说明
图1是本发明实施例得到近似动态规划算法的收敛曲线图。
具体实施方式
下面结合附图和具体实施方式对本发明进行进一步的详细说明,但本发明并不局限于该具体实施例。
本发明一种基于ADP算法的车辆路径规划方法,包括获取货物配送中心信息、可利用车辆信息和顾客需求点信息,根据所获取的货物配送中心信息、可利用车辆信息和顾客需求点信息,计算货物配送中山与每个顾客需求点之间的相互距离,建立相应数学模型,采用ADP算法找出成本最低的配送路径,再根据成本最低的路径进行货物配送。
其中,货物配送中心信息为配送中心位置;可利用车辆信息包括以下一种或多种:车辆位置、车辆承载量、车辆固定成本和车辆最大行驶路径;顾客需求点信息包括以下一种或多种:顾客需求点位置、顾客需求点的货物需求量和顾客需求点的货物需求时间段。
数学模型为VRP模型,构建过程如下:
1)先获取以下状态变量集合:
其中t表示时间阶段;
m表示可利用车辆;
it表示t阶段需服务的顾客需求点;
表示t阶段服务顾客的车辆m的剩余货物量,0≤lt≤Qm,Qm为该车辆的最大容量;
jt表示顾客i是否被访问过的状态,如果被访问了,jt=1,否则jt=0;
表示t阶段服务顾客的车辆行驶单位距离的成本;
表示t阶段服务顾客的车辆的固定成本;
2)获取从t到t+1阶段做出决策所需的决策变量集合,如下:
其中,it+1表示t+1阶段需服务的顾客需求点;
a表示顾客预定配送时间,又称时间窗;
表示t阶段服务顾客的车辆m剩余的货物量能否满足下一个顾客的需求,如果不能,则选择另一辆车;
表示t阶段服务顾客需求点i的车辆m在第i+1个顾客需求点的第a个时间窗内,能否到达i+1顾客需求点并完成i+1点的服务;
表示t阶段服务顾客的第a个时间窗,其中表示t阶段服务顾客的第a个时间窗开始的时间,表示t阶段服务顾客的第a个时间窗结束的时间;
Dt表示t阶段顾客i的需求量;
3)根据t阶段的状态变量St构建t+1阶段的状态转移函数,如下:
St+1=SM(St,xt)
其中,M表示马尔科夫决策过程MDP,是描述动态随机系统优化决策问题的基本数学模型;
SM表示从t到t+1阶段的状态变量因子;
St表示t阶段的状态变量集合;
xt表示t阶段的决策变量集合;
4)MDP模型中状态及决策产生的成本函数:
其中,表示t阶段服务顾客的车辆行驶单位距离的成本;
表示t阶段到t+1阶段服务顾客的车辆行驶距离;
表示t阶段服务顾客的车辆的固定成本;
5)计算每一阶段的距离成本函数,如下:
Ct(St,xt)=E{CM(St,xt)}
其中,E表示CM(St,xt)的期望;
6)构建目标函数,计算所有阶段总费用之和的最小值,如下:
MDP模型中,计算所有阶段总费用之和的最小值采用ADP算法,ADP近似值迭代算法的基本步骤如下:
步骤1,初始化:读入数据,初始化所有决策后状态的近似函数值其中t={0,1,……,T},设置迭代计数k=1及其最大值Kmax以及预决策状态令t=1;
步骤2,开始第k次迭代:选择第1到T时段的观测样本作为ωk;
步骤3,从第0到T时段进行循环,求解的近似值函数:
其中,表示t阶段在第k次迭代时的状态;
其中,表示决策后的状态转移函数,表示在进行xt决策后达到的决策后状态;
表示决策后状态的近似值函数;
并令为最小化问题的最优决策;
步骤4,若t>0,则按照下式更新
其中,αk-1为第k-1次迭代的平滑步长;
步骤5,求t阶段决策后状态:
t+1阶段的预决策状态:
其中,ωk表示1到T阶段的客户需求点,Wt+1表示不受控制的额外因素,如送货的路况问题;
步骤6,判断是否为最末时段,若t=T继续下一步,否则令t=t+1,转步骤3;
步骤7,若满足收敛条件则转步骤9,否则继续下一步;
步骤8,判断是否到达最大迭代次数,若k<Kmax,令k=k+1,返回步骤2,否则继续下一步;
步骤9,返回近似值函数t={0,1,……,T},即得所有阶段总费用之和的最小值。
实施例
参照表1,表1为本实施例中配送中心地址及顾客需求点信息,本实施例中设有1个配送中心,配送中心有5辆相同型号的车辆,每辆车的最大装载量均为Q=10,每辆车的最长行驶距离均为400m,动用每辆车的固定成本均为50元,每辆车行驶每公里的成本均为20元,16个顾客需求点。表1中,顾客序号0表示配送中心,序号{1,2,…,16}表示16个顾客需求点,配送中心及各个顾客需求点的坐标以及顾客的需求量、时间窗都如下表1所示。根据表1中数据使用MATLAB编写近似动态规划算法程序代码,设置最大迭代数Kmax为100,固定步长α=1,运行近似动态规划算法程序,计算结果如表2所示。图1是该实施例得到的近似动态规划算法的收敛曲线,从图1中可以看出,ADP算法在迭代过程中很快就收敛到了问题的满意解,因为在近似动态规划算法当中,一旦出现最优解或者接近最优解的满意解,便会将之保留下来,所以后面不管迭代多少次,目标函数值不会再发生变化,最优解会一直被保留。因此它能够用来求解大规模的路径规划问题。
表1本实施例中配送中心地址及顾客需求点信息
表2客户优化路线