一种基于两阶段启发式算法的动态车辆路径优化方法

文档序号:24970650发布日期:2021-05-07 22:41阅读:717来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
一种基于两阶段启发式算法的动态车辆路径优化方法

本发明属于车辆路径优化领域,涉及一种基于两阶段启发式算法的动态车辆路径优化方法。



背景技术:

随着个人计算机、智能手机的普及,全球定位系统、地理信息系统(gis)、智能交通系统(its)等相关技术的突飞猛进和大规模应用,尤其是近几年大数据、云计算、5g等技术的突破让物流企业实时获取客户以及车辆的动态信息具有了可行性。这也使动态车辆路径问题(dynamicvehicleroutingproblem,dvrp)在如今的物流配送领域变得更加常见。物流公司需要针对客户的动态需求以及在途车辆的动态信息来及时变更车辆行驶路径,以节省成本,并尽可能地提高服务质量。

动态车辆路径问题是车辆路径问题的重要变体之一,它在传统车辆路径问题的基础上考虑了有些要素会出现动态变化的情况。传统车辆路径问题指的是对车辆行驶路线进行优化,在满足各项约束条件的前提下将货物运至客户处,并要使优化目标最小化为目的。传统车辆路径问题中通常包含物流中心、客户点、车辆、路网、货物等要素,而动态车辆路径问题中客户点、车辆、路网、货物等要素的信息则是会随着时间出现变化的。动态车辆路径问题的研究成果可以应用于药品运输、运钞车运钞、外卖配送、生鲜新零售等社会实际问题中,极具实用价值。

目前对于动态车辆路径问题,都需要使用启发式算法进行求解,因为动态车辆路径问题的客户规模通常较大,无法使用精确算法。而启发式算法中多使用遗传算法、蚁群算法、粒子群算法、模拟退火算法、禁忌搜索算法等。算法还需要进行改进,算法的优化效率还有待进一步提高。

虽然国内外学者已经对动态车辆路径问题开展了诸多研究,但是大多研究仅考虑一种动态要素,主要为客户的新增需求,对于涉及多种动态要素的车辆路径问题较少,而实际生产生活中是包含着多种实时信息的,客户不光会提出新增需求,原有的客户需求还会进行更改,车辆在运行过程中也有可能发生抛锚事件,故对于此问题需要进行深入研究。



技术实现要素:

有鉴于此,本发明的目的在于提供一种能够对多种动态信息进行实时处理并制定合理运输路线,且能使整体运输成本最小的方法。此方法可以提高物流运输的效率,降低物流公司成本,提高物流公司的利润,为物流公司制定车辆行驶路径提供依据。

为达到上述目的,本发明提供如下技术方案:

一种基于两阶段启发式算法的动态车辆路径优化方法,包括以下步骤:

s1:构建动态车辆路径优化模型,包括总体优化目标与实时优化目标,所述总体优化目标为总成本最小化,所述总成本包含车辆发车成本、行驶路程成本、违反时间窗的惩罚成本;所述实时优化目标为服务剩余未访问客户的总成本最小化,包含新增车辆发车成本,未行驶路程所需成本,违反未访问客户时间窗的惩罚成本;车辆具有容量限制,无最远距离限制,并对动态车辆路径优化模型的目标函数设定约束条件;

s2:设计两阶段启发式算法,第一阶段使用遗传算法,第二阶段使用变邻域搜索算法,把第一阶段遗传算法求得的可行解放入第二阶段变邻域搜索算法进行深度优化,以得到最优行驶路径;使用所述两阶段启发式算法求解动态车辆路径优化模型的目标函数;

s3:确定动态车辆路径问题求解策略,先使用两阶段启发式算法根据初始客户信息求出初始路径,然后把服务时间分段,每个时间段结束时再统一处理这一时间段出现的动态信息,根据变化后的信息使用两阶段启发式算法求出变更后的车辆路径,使用更改后的路径指导路网中正在行驶的车辆及时进行相应的路径选择。

进一步,步骤s1中所述的动态车辆路径优化模型的总优化目标函数为

表示所有车辆的发车成本f1;表示所有车辆行驶产生的成本f2;

表示违反顾客时间窗产生的惩罚成本f3,f表示总成本;

所述动态车辆路径优化模型在t时刻实时优化时作为优化目标计算的行驶成本f(t)的目标函数为

表示表示t时刻比上一阶段新派出车辆的发车成本f(t)1;表示车辆服务所有未服务客户以及新增客户所产生的行驶成本f(t)2;表示违反这些未服务客户及新增客户的时间窗成本f(t)3;

式中客户中心与所有接受服务的客户点集合n={0,1,……,n},包含客户中心0与所有接受服务的客户点集合n′={1,2,……,n};n(t)表示t时刻未服务客户数量,包含上一阶段未服务客户、新增客户以及变更了时间窗的客户,排除取消的客户;t时刻客户中心与未服务客户集合n(t)={0,1,……,n(t)},包含客户中心0与t时刻未服务集合n′(t)={1,2,……,n(t)};客户中心可用车辆集合l={1,2,……,k};t时刻新增车辆数k(t);t时刻新派车辆集合l(t)={1,2,……,k(t)};i,j代表单个客户中心或客户点,i,j∈n,i≠j;c1表示发车成本;c2表示单位里程行驶成本,包含人工成本、油耗成本、车辆折旧成本;表示早于时间窗到达的惩罚成本;表示晚于时间窗到达的惩罚成本;dij表示车辆由点i到点j的距离;[ai,bi]表示客户i的时间窗;表示车辆到达客户点i的时刻;表示车辆离开客户点i的时刻;为决策0-1变量,l车从点i到点j时为1,否则为0;为决策0-1变量,l车为客户点j服务时为1,否则为0。

进一步,步骤s1中所述动态车辆路径优化模型的目标函数设定约束条件如下:

以上约束条件中:

式(1)表示每个客户点都被服务且只被服务一次;

式(2)表示每个客户点到达与离开的车辆保持平衡;

式(3)表示所有从客户中心出来的车辆,除了抛锚车辆外最终都回到该中心;

式(4)表示车容量约束;

式(5)表示车辆到达每个客户点时车上都有足够的容量;

式(6)表示车辆出发时都是空载出发;

式(7)表示了车辆到达客户点i的时刻与离开客户点i时刻的计算关系;

式(8)表示了车辆离开客户点i的时刻与到达下一个客户点j的时刻的计算关系;

式(9)表示从i到j的时间是如何计算的;

式(10)表示消除子回路;

各式中,k(t)表示所有使用过的且回到客户中心的车辆数;所有使用过的且回到客户中心并不含抛锚车辆的车辆集合l(t)={1,2,……,k(t)};q表示车辆最大载重;ri表示客户点i的需求量;表示l车从i点出发到达j点时的剩余容量;tij表示由点i到点j的时间。

进一步,步骤s2所述求解动态车辆路径优化模型的两阶段启发式算法中的第一阶段遗传算法,包括以下步骤:

s211:编码:使用自然数对客户进行编码,按自然数顺序依次编号,如有25个客户则生成一个1至25的数列,把数列顺序打乱进行随机排列,这样的数列称为染色体;

s212:种群初始化:设置好种群规模,随机生成染色体,确保生成的染色体各不相同,数量则为设置好的种群规模;

s213:解码:把一个完整的染色体根据约束条件分割成几个符合条件的数列;

s214:适应度函数:适应度函数设为目标函数值的倒数计算每个染色体的适应度函数值;

s215:选择算子:先选出种群中适应度最优的染色体,保证此染色体进入下一代。然后再根据适应度值采用俄罗斯轮盘赌选择法选出下一代的初始种群;俄罗斯轮盘赌选择法是一种遗传算法中常用的选择方法,这种方法令个体被选择的概率与它的适应度值成正比;

s216:交叉与变异算子:根据设定的交叉率与变异率,对选择出来的种群进行交叉与变异操作;

s217:迭代:设迭代次数为n,在未达到设定的迭代次数n之前返回第三步,达到设定代数n后停止迭代。

进一步,步骤s2中所述求解动态车辆路径优化模型的两阶段启发式算法中的第二阶段变邻域搜索算法,包括以下步骤:

s221:定义一个用于shaking的邻域结构集合nk(k=1,2,……,kmax),设置最大迭代次数itermax,设置最大求解时间tmax,设遗传算法所得的较优解为初始解x=x0,目标函数为f(x);

s222:设全局最优解xm=x0,i=1;

s223:shaking过程:随机选择xm的第k个邻域,通过此邻域结构随机生成一个解x′;

s224:localsearch过程:对解x′进行局部搜索找到局部最优解x″;

s225:如果f(x″)<f(xm),则xm=x″,i=1,转到s223;否则转到s226;

s226:当i<itermax,且运行时间小于tmax时,i=i+1,转到s223;否则转到s227;

s227:输出xm。

进一步,步骤s224中所述的localsearch过程,包括以下步骤:

s2241:定义用于localsearch的邻域结构集合nl(l=1,2,……,lmax);

s2242:设l=1,

s2243:解x′使用邻域结构nl进行遍历寻找局部最优解x″。

s2244:如果f(x″)<f(x′),则x′=x″,l=1,转到s2243,否则转到s2245;

s2245:若l<lmax,则l=l+1,转到s2243,否则转到s2246;

s2246:输出找到的最优解x″。

进一步,步骤s221和步骤s2241中所述的邻域结构包含以下几种:

2-opt算子:随机选择两点,对两点之间的路径进行逆序化后再放回原来位置;

exchange算子:选择两个子路径进行随机单点交换;

relocation算子:选择两个子路径,随机选择其中一条子路径中的一个点,插入到另一条子路径的随机位置中。

进一步,步骤s3所述动态车辆路径问题求解策略,包含以下步骤:

s31:客户中心确定初始客户信息;

s32:根据两阶段启发式算法求出初始路径;

s33:0时刻派出车辆进行服务;

s34:ts时刻开始接收动态信息,并确定处理动态信息的时间间隔t′;

s35:每t′结束时确定这段时间出现的动态信息;

s36:根据两阶段启发式算法求出变更后的路径,并把路径变更信息发送到路网中正在行驶的车辆,令车辆更改路线;

s37:te时刻停止接收信息,车辆按照最后确定的路线行驶,直至返回客户中心。

本发明的有益效果在于:本发明的物流配送考虑了多种动态信息,包含客户的新增需求、原有客户变更时间窗、客户取消需求以及在途车辆出现抛锚的事件。建立动态车辆路径优化模型,优化目标为总成本最小,总成本包含发车成本、行驶路程成本以及违反时间窗成本,并设定相应的约束条件。然后采用动态车辆路径优化策略,以及设计两阶段启发式算法对问题进行求解,获取路径优化路线,可以及时使车辆根据动态信息更改行驶路径,能够提高车辆使用效率,减少物流总成本。

本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:

图1为本发明考虑多种实时信息的动态车辆路径优化示意图;

图2为本发明动态优化策略流程图;

图3为本发明两阶段启发式算法中第一阶段遗传算法的流程图;

图4为本发明两阶段启发式算法中第二阶段变邻域搜索算法的流程图;

图5为本发明两阶段启发式算法中第二阶段变邻域搜索算法中localsearch过程的流程图;

图6为本发明基于两阶段启发式算法的动态车辆路径优化方法流程图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

如图6所示,一种基于两阶段启发式算法的动态车辆路径优化方法,包括以下步骤:

一、构建动态车辆路径优化模型,总优化目标函数为

表示所有车辆的发车成本f1;表示所有车辆行驶产生的成本f2;

表示违反顾客时间窗产生的惩罚成本f3,f表示总成本。

动态车辆路径优化模型在t时刻实时优化时作为优化目标计算的行驶成本f(t)的目标函数为

表示表示t时刻比上一阶段新派出车辆的发车成本f(t)1;表示车辆服务所有未服务客户以及新增客户所产生的行驶成本f(t)2;表示违反这些未服务客户及新增客户的时间窗成本f(t)3。

二、设计两阶段启发式算法,第一阶段遗传算法步骤如图3所示,所述步骤如下:

(1)编码

使用自然数对客户进行编码,按自然数顺序依次编号。如有25个客户则生成一个1至25的数列,把数列顺序打乱进行随机排列,这样的数列称为染色体;

(2)种群初始化

设置好种群规模,然后随机生成染色体,确保生成的染色体各不相同,数量则为设置好的种群规模;

(3)解码

把一个完整的染色体根据约束条件分割成几个符合条件的数列,如一个随机生成的染色体为[24,2,25,21,10,4,17,6,5,8,13,16,11,19,12,1,23,7,22,3,18,14,20,9,15],分割为[0,24,2,25,21,10,0]、[0,4,17,6,5,8,13,0]、[0,16,11,19,12,1,0]、[0,23,7,22,3,18,4,0]、[0,20,9,15,0],这表示共需派出5辆车,其中第一辆车由客户中心0出发后依次访问24,2,25,21,10号客户点后返回客户中心0,后面以此类推;

(4)适应度函数

适应度函数设为目标函数值的倒数计算每个染色体的适应度函数值;

(5)选择算子

先选出种群中适应度最优的染色体,保证此染色体进入下一代。然后再根据适应度值采用俄罗斯轮盘赌选择法选出下一代的初始种群。俄罗斯轮盘赌选择法是一种遗传算法中常用的选择方法,这种方法令个体被选择的概率与它的适应度值成正比;

(6)交叉与变异算子

根据设定的交叉率与变异率,对选择出来的种群进行交叉与变异操作,交叉操作具体为如有父代染色体a与父代染色体b,从染色体a中随机选取两个位置,然后把这两个位置中间的片段截取出来,插入染色体b的相同位置,再把染色体b原本的与这一片段重合的基因删去,形成子代染色体c;变异操作指的是把两个染色体中两个随机位置的基因进行互换交叉;

(7)迭代

设迭代次数为n,在未达到设定的迭代次数n之前返回第三步,达到设定代数n后停止迭代。

第二阶段变邻域搜索算法步骤如图4所示,所述步骤如下:

step1.定义一个用于shaking的邻域结构集合nk(k=1,2,……,kmax),设置最大迭代次数itermax,设置最大求解时间tmax,设遗传算法所得的较优解为初始解x=x0,目标函数为f(x)。

step2.设全局最优解xm=x0,i=1。

step3.shaking过程:随机选择xm的第k个邻域,通过此邻域结构随机生成一个解x′。

step4.localsearch过程:对解x′进行局部搜索找到局部最优解x″。

step5.如果f(x″)<f(xm),则xm=x″,i=1,转到step3;否则转到step6。

step6.当i<itermax,且运行时间小于tmax时,i=i+1,转到step3;否则转到step7。

step7.输出xm。

其中localsearch过程的步骤如图5所示,所述步骤如下:

step1.定义用于localsearch的邻域结构集合nl(l=1,2,……,lmax);

step2.设l=1,

step3.解x′使用邻域结构nl进行遍历寻找局部最优解x″。

step4.如果f(x″)<f(x′),则x′=x″,l=1,转到step3,否则转到step5;

step5.若l<lmax,则l=l+1,转到step3,否则转到step6;

step6.输出找到的最优解x″。

其中邻域结构包含以下几种:

(1)2-opt算子:随机选择两点,对两点之间的路径进行逆序化后再放回原来位置,如有一条子路径为0→5→2→7→4→3→8→6→1→0,随机选择其中的点2与点8间的路径,逆序化后得到新子路径0→5→8→3→4→7→2→6→1→0;

(2)exchange算子:选择两个子路径进行随机单点交换,如有两条子路径为0→5→2→9→4→6→8→0与0→1→10→7→3→11→0,随机选择点4与点7,交换后得到新的子路径0→5→2→9→7→6→8→0与0→1→10→4→3→11→0;

(3)relocation算子:选择两个子路径,随机选择其中一条子路径中的一个点,插入到另一条子路径的随机位置中,如有两条子路径为0→5→2→9→4→6→8→0与0→1→10→7→3→11→0,随机选择第一条子路径中的点9,插入第二条子路径中的随机位置,得到新的第二条子路径为0→1→10→9→7→3→11→0。

动态车辆路径问题求解策略如图2所示,所述步骤如下:

step1.客户中心确定初始客户信息;

step2.根据两阶段启发式算法求出初始路径;

step3.0时刻派出车辆进行服务;

step4.ts时刻开始接收动态信息,并确定处理动态信息的时间间隔t′;

step5.每t′结束时确定这段时间出现的动态信息;

step6.根据两阶段启发式算法求出变更后的路径,并把路径变更信息发送到路网中正在行驶的车辆,令车辆更改路线;

step7.te时刻停止接收信息,车辆按照最后确定的路线行驶,直至返回客户中心。

通过对以上模型、算法及策略进行结合得到的基于两阶段启发式算法的动态车辆路径优化方法,其最终优化得到的路线图如图1所示。

其中客户点2变更了时间窗,于是车辆改为先访问客户点3;客户点5取消了自己的订单,于是此路径的车辆由客户点4直接前往客户点6;而此时由客户点9前往客户点a的车辆在路途中抛锚了,于是把还未服务的客户点a分配给另外的车辆,车辆访问客户点6后不回到配送中心而是继续服务客户点a;此时新增了一个客户为客户点b,车辆不再由客户点7前往客户点8而是先前往客户点b进行服务。由此可以优化车辆行驶路径,降低总成本,并可尽量满足客户时间窗,提高客户满意度。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 量化SWOT分析方法、装置、...
  • 阻火要素作用下的火灾蔓延预测...
  • 一种三维装车方法及装置
  • 一种预测电力变压器经济寿命的...
  • 一种基于云计算的用电量预测方...
  • 一种基于极限学习机的水泥磨系...
  • 出行路线的推荐方法、装置、电...
  • 交通路线的规划方法、装置、设...
  • 一种基于容器云平台的多源客流...
  • 基于热管网约束自适应调节的综...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

深圳SEO优化公司随州网站优化软件哪家好酒泉SEO按天收费哪家好同乐网站优化价格揭阳网站推广方案价格滨州关键词按天计费多少钱沧州网站搭建哪家好宁波网页制作推荐宣城关键词按天扣费多少钱庆阳网站推广方案公司临夏网站改版公司岳阳模板网站建设推荐南阳企业网站设计报价烟台企业网站制作报价汉中外贸网站制作价格晋中建设网站镇江优化公司洛阳营销网站公司池州品牌网站设计南通英文网站建设价格贺州至尊标王公司宝安网站开发公司新余seo网站推广公司坪地网站优化按天扣费报价西乡关键词排名包年推广坪地品牌网站设计价格蚌埠网站定制潍坊网站搭建公司大同seo优化公司镇江SEO按天计费报价哈尔滨至尊标王哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化