一种多时间约束下行驶里程优化的轻量化拼车调度方法



1.本发明属于车辆路径规划及任务优化调度技术领域,主要涉及了一种多时间约束下行驶里程优化的轻量化拼车调度方法。


背景技术:



2.随着节能减排战略的进一步深入以及私家车能源消耗问题日益明显,车辆共享和拼车服务已经成为了许多人的出行选择,然而拼车服务系统的分配调度算法还停留在比较简单的阶段,通常各大软件上均采取最近距离优先分配的情况,在这种分配规则下,会产生许多资源浪费,且容易使得个别乘客等待时间过久;同时在车路协同实践如火如荼展开的过程中,无人出租车已经由许多企业进行投放,在当前需求与提供车辆均较小的情况下,随叫随到的无人出租车模式尚可运行,若将来规模大幅扩大后,无人出租车与乘客之间的分配、调度以及周转将变得十分困难,亟待研究一种从全局考虑的、计算复杂度低的、适用于多数场景的调度分配算法。因此,在资源受限的情况下,研究多时间约束下基于总行驶里程优化的车辆共享轻量化调度算法具有重要的现实意义。
3.对于拼车服务系统,现有方法一般使用低计算复杂度的启发式算法来提高算法的可扩展性。目前,在拼车服务系统与车辆调度分配的研究中,已经取得了很多的研究成果,但还存在以下问题:1)并未考虑实际情况中每名乘客可能存在上、下车点的时间约束问题;2)车辆调度分配过程中更具有广泛性的情况是车辆可以任意选择终点,而不是传统mtsp问题中将起始点与终点设置为同一点的情况,现有的工作对可任意选择终点的情况研究不足;3)针对大规模多数量的人-车分配问题,现有的方案在保证准确度的基础上计算复杂度过高,难以保证实时性。


技术实现要素:



4.本发明正是针对现有技术中存在的问题,提供一种多时间约束下行驶里程优化的轻量化拼车调度方法,首先将车辆到达某一上车/下车点接送乘客以及车辆到达终点站看作任务,将任务使用顶点表示,任务之间的执行成本使用边表示,通过有向无环图的形式进行任务模型的建立;再基于多旅行商问题模型与车辆路径规划问题模型,在多旅行商问题模型中的二维布尔型优化变量基础上设置改进后的三维布尔型优化变量;在新的模型中提出多旅行商问题模型与车辆路径规划问题模型中不存在的约束条件,构造基于总里程优化的车辆-乘客之间的分配与调度问题模型;通过混合非线性整数规划求解器求出最优解,并设计一种基于回退策略的启发式算法,该算法可以显著降低了问题求解的时间,同时仅比最优解失去约百分之二十的精确度,该算法提高了本调度分配方法的适用性,也提高了本分配调度方法在大规模问题中的可扩展性。为了实现上述目的,本发明采取的技术方案是:一种多时间约束下行驶里程优化的轻量化拼车调度方法,包括以下步骤:
5.s1,建立任务模型:将车辆到达某一上车/下车点接送乘客以及车辆到达终点站看作任务,将任务使用顶点表示,任务之间的执行成本使用边表示,通过有向无环图(dag)的
形式进行任务模型的建立;
6.s2,再基于多旅行商问题模型与车辆路径规划问题模型,在多旅行商问题模型中的二维布尔型优化变量基础上设置改进后的三维布尔型优化变量,提出最小化总里程的目标函数;所述多旅行商问题模型中至少包括流量约束和遍历唯一性约束条件;
7.s3,约束条件增加:在新的模型中提出多旅行商问题模型与车辆路径规划问题模型中不存在的约束条件,构造基于总里程优化的车辆-乘客之间的分配与调度问题模型,所述约束条件包括始发站约束、终点站约束、乘客接送顺序约束、容量限制约束、车辆行驶路线规则约束、多点时间约束;
8.s4,模型求解:针对步骤s3中提出的基于总里程优化的车辆-乘客之间的分配与调度问题,通过混合非线性整数规划求解器求出最优解,并设计一种基于回退策略的启发式算法,该算法可以显著降低了问题求解的时间,同时仅比最优解失去约百分之二十的精确度,所述求解具体包括:
9.s41:确定从当前任务执行地点驶向可行的局部距离最短的任务执行地点;
10.s42:根据全局信息更新禁止执行与可执行任务的信息;
11.s43:确定车辆在当前任务执行地点选择某一可执行任务时的是否违背该任务的时间约束,判断方法的可行性,若不违背,确定最优拼车调度方法;若当前任务违背时间约束,则对可执行任务集中其他任务进行测试,直到到可选择的下一个任务为止;若所有可执行任务均违背时间约束,则采用状态回退策略使车辆状态回退,并更新可执行任务集。
12.作为本发明的一种改进,所述步骤s1中,假设有m辆车与n名乘客,且m辆车均有各自的m个始发站点和m个预设将要到达的终点,n名乘客均有各自的n个上车点与n个下车点,则2(n+m)个任务p:{p1,

,p
2n+2m
}表示拼车服务中的所有任务集合,对于任务pi与pj,任意一条边e
i,j
代表任务pi与pj之间的执行成本,边的权重w
i,j
代表从任务pi执行地点到任务pj执行地点的的坐标之间的距离,记为:
13.2(n+m)个任务可划分为四个部分:m个出发点集合s:{s1,

,sm}、m个终点集合d:{d1,

,dm}、n个乘客上车点集合n
p
:{n
p1
,

,n
pn
}、n个乘客下车点集合nd:{n
d1
,

,n
dn
},m辆车从各自的出发点出发,在接送至少一人的情况下,最终回到自身在出发时预设的终点处,所有的乘客均可以在各自的上车点与下车点设置右侧时间窗口,表示乘客希望在某个时刻之前被接到或送下,每个接送点的右时间窗设置为:a:{a1,

,a
2n
}。
14.作为本发明的一种改进,所述步骤s2中通过x
i,j,m
表示编号为m的车辆执行任务pi与pj,并经过相应的路径,以表示接送任务与车辆之间的匹配关系:
[0015][0016]
其中,x
i,j,m
是一个三维的布尔型优化变量,c为所有车辆的集合;
[0017]
由于d
i,j
表示任务pi和任务pj之间的执行成本,则x
i,j,m
*d
i,j
可作为m车执行任务pi与pj的执行成本,以最小化总里程作为的目标函数,可得到:
[0018][0019]
作为本发明的另一种改进,所述步骤s3中,
[0020]
始发站约束:保证每一辆车从自己的始发站点出发,且从始发站出去的车辆一定前去执行接客任务集合中n
)
中的一个任务,即:
[0021][0022]
终点站约束:车辆在执行完接送任务后需要回到终点:
[0023][0024]
乘客接送顺序约束:在接到乘客之后,必须要在回到终点之前送下该乘客,n名乘客设置的n个上车任务被设置为p1,p3,p1,

,p
2n-1
号任务,相应的n个下车任务被设置为p2,p4,p6,

,p
2n
号任务,若车辆执行任务p1后,必须在后续任务选择中选择执行任务p2:
[0025][0026]
点集遍历唯一性约束:仅允许每一个乘客上车/下车地点被某一辆车经过一次,在经过后即不可被其他车辆或本车再次经过,其约束条件为:
[0027][0028]
容量限制约束:考虑车辆的容量限制,其在某一时刻的容量q可以是小于等于4的任意正整数,而经过某一个站点时,会出现大于一人次的上车或者下车任务,即为:
[0029][0030]
其中,gi表示执行任务pi对于一辆车的载人量改变量:g:{g1,

,g
2n
};
[0031]
流量约束:对于中间点也即接送点来说,有车进入必须有相应的离开,即有一条执行任务pi到pj的路径被选择,则必须有一条执行任务pj到pk的路径被选择,为了实现这一情形,需要增加的约束条件为:
[0032]
[0033][0034]
多点时间约束:引入用户在自己预设好的接人点与送人点两点的右时间窗,代表用户希望在一定的时间之前被接到/送到,
[0035][0036][0037]
其中,t
i,j
表示从任务pi执行地点到任务pj执行地点的预估耗时,根据平均速度与距离之差进行估计。
[0038]
作为本发明的另一种改进,所述步骤s3中,车辆行驶路线规则约束包括:
[0039]
若不允许车辆选择从始发点到始发点路线的约束条件为:
[0040][0041]
若不允许车辆选择从始发点直接到达终点路线的约束条件为:
[0042][0043]
若不允许车辆选择从某个接送点回到始发点路线的约束条件为:
[0044][0045]
若不允许车辆选择从当前点走到当前点的约束条件为:
[0046][0047]
若不允许车辆选择走过的路径的约束条件为:
[0048][0049]
若不允许车辆同一条路径被双向选择两次的约束条件为:
[0050][0051]
作为本发明的又一种改进,所述步骤s41中,根据车辆属性及基本回退策略,遍历所有可执行的任务,确定从当前任务执行地点驶向可行的局部距离最短的任务执行地点;所述车辆属性至少包括车辆的当前坐标、车辆当前已行驶时间、车辆的当前容量、车辆当前已行驶总距离、车辆当前状态可执行任务和车辆当前状态不可执行任务;
[0052]
所述基本回退策略为:当车辆位于起点时,该车的“上一状态属性”内容为空,选择下一个站点后,车辆属性同步更新:若选择最优点后,将上一个状态时车辆的属性在当前状
态下的“上一状态属性”中添加进去,当模拟时间约束测试时,若出现所有可选点均不符合时间约束的情况,则需将“上一状态属性”中的数据置于当前车辆属性中,并将原定最优点置于不可被选择点集中,再进行次优点的选择。
[0053]
作为本发明的更进一步改进,所述步骤s43时间约束完成后,若任务pk是满足条件的,不代表从当前任务接着执行任务pk的路线,在最终的路线分配方案中,仍可能存在选择任务pk后,发现后续所有任务均不满足时间约束的情况,此时则需要状态回退策略回退到上一个任务执行结束的状态,取消任务pk作为可选任务集中的任务,再按照贪婪策略搜寻局部最优任务。
[0054]
与现有技术相比,本发明具有的有益效果:
[0055]
1)本发明提供了一种更贴近于现实生活中出现的拼车服务问题中的人-车分配与路径选择规划模型,基于总行驶里程优化的任务映射方法,能够提高模型对于现实生活场景中任务的适用性;
[0056]
2)本发明提出了一种多时间约束下基于总行驶里程优化的车辆共享轻量化调度算法,该算法是一种低计算复杂度的基于回退策略的启发式算法,显著降低了问题求解的时间,提高了本调度分配方法的适用性,尤其是对于大规模人-车路线规划与分配问题,启发式调度算法的计算时间有显著的降低。
附图说明
[0057]
图1为本发明一种多时间约束下行驶里程优化的轻量化拼车调度方法的流程图;
[0058]
图2为本发明方法实施例2步骤s1后形成的任务有向无环图;
[0059]
图3为本发明实施例2调用商业求解器求精确解的可视化路线以及人-车分配图;
[0060]
图4是本发明实施例2中在保持总乘客数不变的情况下,本案方法与普通方法计算总距离之和的变化趋势以及随着参与车辆数量增长时所计算出总距离之间的比例差距示意图;
[0061]
图5是本发明实施例2中在保持总车辆数不变的情况下,本案方法与普通方法计算总距离之和的变化趋势以及随着参与车辆数量增长时所计算出总距离之间的比例差距示意图;
[0062]
图6是本发明实施例2中采用求解器求最优解的普通方法耗时变化趋势图;
[0063]
图7是本发明实施例2中采用本案基于回退策略的启发式搜寻算法的耗时变化趋势图;
[0064]
图8是本发明实施例2中所有车辆通过本发明方法一起进行一轮选择的方案与不采用本案方法进行车辆运行时平均座位使用数对比图。
具体实施方式
[0065]
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
[0066]
实施例1
[0067]
一种多时间约束下行驶里程优化的轻量化拼车调度方法,如图1所示,包括如下步骤:
[0068]
步骤s1:将车辆到达某一上车/下车点接送乘客以及车辆到达终点站看作任务,部分任务之间具有相关性以及时间约束等特性,将任务使用顶点表示,任务之间的执行成本使用边表示,通过有向无环图(dag)的形式进行任务模型的建立。
[0069]
假设有m辆车与n名乘客,且m辆车均有各自的m个始发站点和m个预设将要到达的终点,n名乘客均有各自的n个上车点与n个下车点,可用2(n+m)个任务p:{p1,

,p
2n+2m
}来描述拼车服务中的所有任务集合,将任务使用顶点(vertices)表示,任务之间的执行成本使用边(edges)表示,构建一个有向无环图g(v,e)来表示所有任务以及任务与任务之间的关系。对于任务pi,其代表意义为车辆到达i这一地点执行接、送乘客任务或者进入终点站。假设两个任务分别为pi与pj,任意一条边e
i,j
代表任务pi与pj之间的执行成本,在本发明中,边的权重w
i,j
代表从任务pi执行地点到任务pj执行地点的的坐标之间的距离,记为:根据任务特性,可划分2(n+m)个任务为四个部分:m个出发点集合s:{s1,

,sm}、m个终点集合d:{d1,

,dm}、n个乘客上车点集合n
p
:{n
p1
,

,n
pn
}、n个乘客下车点集合nd:{n
d1
,

,n
dn
},m辆车从各自的出发点出发,在接送至少一人的情况下,最终回到自身在出发时预设的终点处。
[0070]
这个过程中,为了满足乘客需求,本发明考虑这样一种情况:所有的乘客均可以在各自的上车点与下车点设置右侧时间窗口,表示乘客希望在某个时刻之前被接到或送下,每个接送点的右时间窗设置为:a:{a1,

,a
2n
}。确定所有任务代表点集的属性后,形成一个任务网络,其中部分任务具有相关性或具有时间约束属性。
[0071]
步骤s2:基于多旅行商问题(multiple traveling salesmen problem,mtsp)模型与车辆路径规划问题(vehicle routing problem,vrp)模型,采取其中经典的交通流量平衡、寻点规则约束等约束条件,并参考mtsp模型中设置布尔型优化变量与设置最小化总距离目标函数的方案,设置新的优化变量,提出最小化总里程的目标函数。
[0072]
传统的多旅行商问题可以用来描述与本问题类似的情景,即有多名旅行商从他们共同的出发点出发,彼此路径不重合地遍历地图上所有点一次,并最后回到始发点,在多旅行商问题与车辆路径规划问题中,有本问题可以参考的内容,如:需要被遍历点集中的流量平衡约束、所有点保证只被遍历一次的约束、优化变量的设置方案等。根据传统的多旅行商问题以及车辆路径规划问题,本发明引入一个三维的布尔型优化变量x
i,j,m
,通过x
i,j,m
表示编号为m的车辆执行任务pi与pj,并经过相应的路径,以表示接送任务与车辆之间的匹配关系;
[0073][0074]
其中,c为所有车辆的集合。由于d
i,j
表示任务pi和任务pj之间的执行成本,则x
i,j,m
*d
i,j
可作为m车执行任务pi与pj的执行成本,以最小化总里程作为的目标函数,可得到:
[0075]
[0076]
步骤s3:通过引入接送点先后顺序、多点时间窗口限制、出发点终点分离等mtsp模型与vrp模型中不存在,但与本发明实际描述问题相关的约束条件,构造有着严格数学描述的的基于总里程优化的车辆-乘客之间的分配与调度问题。
[0077]
本步骤中,引入了一个连续型优化变量w
i,m
,其意义为当m车到达任务pi执行地点的时间,其中利用连续变量w
i,m
来描述时间约束条件,同时根据车辆调度问题的时间和相关性要求,增加以下约束条件:
[0078]
(1)始发站约束:保证每一辆车从自己的始发站点出发,且从始发站出去的车辆一定前去执行接客任务集合中n
p
中的一个任务,因此加入如下约束:
[0079][0080]
(2)终点站约束:本发明考虑车辆在执行完接送任务后需要回到终点这一场景,因此需求应加入如下约束:
[0081][0082]
(3)乘客接送顺序约束:在接到某个人之后,必须要在回到终点之前送下这个乘客,具体体现在:假设有n个乘客,对其进行顺序编号,记为1,2,3,

,n号乘客,n名乘客设置的n个上车任务被设置为p1,p3,p5,

,p
2n-1
号任务,相应的n个下车任务被设置为p2,p4,p6,

,p
2n
号任务,若车辆执行任务p1后,必须在后续任务选择中选择执行任务p2,为了满足这一需求应加入如下约束:
[0083][0084]
(4)点集遍历唯一性约束:本发明考虑的情况仅允许每一个乘客上车/下车地点被某一辆车经过一次,在经过后即不可被其他车辆或本车再次经过,其约束条件为:
[0085][0086]
(5)容量限制约束:本发明考虑车辆的容量限制,以寻常家用车为例,其在某一时刻的容量q可以是小于等于4的任意正整数,而经过某一个站点时,会出现大于一人次的上车或者下车任务,这种情形表现在任务约束条件中即为:
[0087][0088]
其中,gi表示执行任务pi对于一辆车的载人量改变量:g:{g1,

,g
2n
}。
[0089]
(6)车辆行驶路线规则约束:为了实现基本的路径选择要求,需要加入以下道路行驶规则约束:
[0090][0091]
公式(7)为不允许车辆选择从始发点到始发点路线的约束条件;
[0092][0093]
公式(8)为不允许车辆选择从始发点直接到达终点路线的约束条件;
[0094][0095]
公式(9)为不允许车辆选择从某个接送点回到始发点路线的约束条件;
[0096][0097]
公式(10)为不允许车辆选择从当前点走到当前点的约束条件;
[0098][0099]
公式(11)为不允许车辆选择走过的路径的约束条件;
[0100][0101]
公式(12)为不允许车辆同一条路径被双向选择两次的约束条件。
[0102]
(7)流量约束:对于中间点也即接送点来说,有车进入必须有相应的离开,即有一条执行任务pi到pj的路径被选择,则必须有一条执行任务pj到pk的路径被选择,为了实现这一情形,需要增加的约束条件为:
[0103][0104][0105]
(8)多点时间约束:本发明从用户的角度考虑,引入用户在自己预设好的接人点与送人点两点的右时间窗,代表用户希望在一定的时间之前被接到/送到,更加符合车辆共享服务的实际应用场景。
[0106][0107][0108]
其中,t
i,j
表示从任务i执行地点到任务j执行地点的预估耗时,根据平均速度与距离之差进行估计。
[0109]
该分配调度问题以总里程最小化作为目标函数,根据问题模型,可建立基于总里程数优化的人-车分配调度优化问题:
[0110][0111][0112]
步骤s4:针对步骤s3中提出的问题,通过混合非线性整数规划求解器求出最优解,并利用问题分解的方法,将原问题划分为三个子问题,设计一种低计算复杂度的基于回退策略的启发式算法,显著降低了问题求解的时间,提高了本车辆调度问题的适用性。
[0113]
首先需要确定本问题模型的精确性并求得问题最优解,以求取最优解的执行时间与计算所得的总里程数作为对照组,并分析其执行效果的好坏,本过程中选择商用混合整数非线性规划求解器(gurobi)求取最优解,同时根据分析发现,最优解的计算时间随着问题规模的进一步扩大会呈指数倍增长,因此,本发明根据步骤s3中优化问题结构,利用问题分解的方法,设计了一种低计算复杂度的启发式算法,以提高本问题模型的适用性。步骤s3中的原问题在点集更迭的过程中可以分解为3个子问题:1)从当前任务执行地点驶向可行的局部距离最短的任务执行地点;2)根据全局信息更新禁止执行与可执行任务的信息;3)模拟车辆在当前任务执行地点选择某一可执行任务时的是否违背该任务的时间约束,进一步判断可行性。依次求解以上3个子问题,可以逐轮更新迭代当前位置点,最终在可选点集清空后,车辆前往预设终点完成一次乘客接送匹配任务。具体步骤如下:
[0114]
a)确定车辆在某一接送点时拥有的属性以及更新选点时的策略;
[0115]
根据问题结构考虑,为m车设置属性{com,tm,cam,dm,sm,bm,lm},其中com表示m车的当前坐标,tm表示m车当前已行驶时间,cam表示m车的当前容量,dm表示m车当前已行驶总距离,sm表示m车当前状态可执行任务,bm表示m车当前状态不可执行任务,lm表示m车上一状态的所有属性,以上属性在车辆执行完成下一个任务时均会更新,本发明设置了用于存储上述属性的数据结构,并根据之前点集的属性进行状态回退的基本寻点方案,例如,当车辆m位于该车的起点时,该车的当前坐标com为起始点坐标、当前计时器tm为零、当前容量cam为四名乘客、已行驶距离dm为零、可被选择点集合sm为n个乘客上车点集合n
p
:{n
p1
,

,n
pn
}、不可被选择点集bm为n个乘客下车点集合nd:{n
d1
,

,n
dn
}、“上一状态属性”lm的内容为空,在根据某种策略选择下一个点后,需要将该车的几条属性进行同步更新:若选择的最优点为n
p1
点,则需要更新所有的属性,当前坐标置为n
p1
的坐标,当前计时器置为根据两点间距离与车速测算出的估计时间,当前容量置为三名乘客,已行驶距离在原值上增加两点间距离,可被选择点集添加相应的n
d1
,删除点n
p1
,不可被选择点集中添加点n
p1
,同时将上一个状态时车辆的属性,即车辆m位于起点时的坐标、时间、行驶距离等信息在当前状态下的“上一状态属性”中添加进去,当模拟时间约束测试时,若出现所有可选点均不符合时间约束的情况,则需将“上一状态属性”中的数据置于当前车辆属性中,并将原定最优点置于不可被
选择点集中,再进行次优点的选择。
[0116]
确定车辆属性以及基本回退策略后,需要选择从一个任务到另外一个任务的选择策略,根据式(17)的结构,本发明计划采用贪婪算法来求解该问题。在执行完某一任务后,遍历所有的接下来可能执行的任务(不可能执行的任务无需考虑),选择距离当前位置最短的任务作为局部最优任务,在确定了局部最优任务后,接下来对执行该任务进行时间约束模拟,时间约束模拟方案下文将详细解释,本发明提出的时间约束模拟方案也是基于当前两任务间以及小规模后续情况的模拟,同样是求取局部可行性的过程,因此具有启发式算法的特征。在反复执行贪婪算法寻局部最优任务、时间约束模拟以及状态回退策略后,当所有车辆的可选任务集均为空集时,判定完成了一次全局人-车分配与路线规划,以每一辆车在起始点时的状态作为第一个状态,在任务集合中迭代上述算法,最终可以得到问题(17)的解。
[0117]
b)时间约束模拟的方案;
[0118]
每一辆车在到达一个新的上车点后,需要进行一次时间约束模拟,即模拟直接送下刚接的乘客、在送下刚接乘客的中途插入任意一个任务(可选任务集合中的任务)几种情况,一共有n个情况需要进行模拟,此时的n是当前车辆可选任务集中任务的总个数,观察是否满足每个任务的时间约束,若多个情况满足,取总距离最小的一种情况。
[0119]
本发明考虑的情况为至少存在一对接送点满足车辆从起始点出发立刻遍历这两个点是有效的,即车辆在这种情况下不会违背这一对接送点的两个时间窗口约束。以此作为回退策略与时间约束模拟方案的基础条件,以保证时间约束模拟方案不会出现模拟情况全部不允许被选择后一直回退的情况。
[0120]
经过时间约束模拟后可被选择的点并非确定被选择,因本发明涉及的启发式算法仅在每一步搜寻最优任务过程中考虑局部最优性与可行性,所以在搜寻最优任务时,若任务pk是满足条件的,不代表从当前任务接着执行任务pk的路线在最终的路线分配方案中,仍可能存在选择任务pk后,发现后续所有任务均不满足时间约束的情况,此时则需要状态回退策略回退到上一个任务执行结束的状态,取消任务pk作为可选任务集中的任务,再按照贪婪策略搜寻局部最优任务。
[0121]
以具体的简单情形为例,假设有两辆参与分配的车辆在其始发点等待,有三名乘客需要参与此次拼车服务,为了便于描述,为当前所有的任务集中的任务进行编号,令三名乘客的上车任务点为p1,p3,p5,对应的下车任务点为p2,p4,p6,两辆车的始发任务点为p7,p8,执行算法的过程如下:
[0122]
步骤一:假设距离p7执行地点最近的任务为p1,距离p8执行地点最近的任务为p5,初始状态下,两辆车的可选点集均为[p1,p3,p5],由于基础条件的存在,位于p7执行地点的车必定可以满足执行任务p1(接上乘客1)后立刻执行任务p2(送下乘客1),同理,位于p8执行地点的车必定可以满足执行任务p5(接上乘客3)后立刻执行任务p6(送下乘客3),因此,第一轮选的最优任务,两车分别选了p1与p5。
[0123]
步骤二:车辆选择一个上车任务后,需要进行时间约束模拟计算,对于起始点在p7执行地点的车辆来说,此时它的可选点集变为[p3,p2],原因执行p1后,可选任务集合中添加了任务p2,此时需要进行的时间约束模拟有两条:p1—p2与p1—p3—p2。分别验证是否满足任务p2或任务p3与任务p2的时间约束。因为有基础条件的存在,p1—p2的情况必定满足,也即任
务p2的时间约束一定满足。因此仅需计算p1—p3—p2这种情况的时间约束,注意此时需要同时满足任务p3与任务p2的时间约束条件。
[0124]
步骤三:在每一次确定一个任务被选为局部最优任务后,更新车辆的属性,并在“上一状态属性”数据结构中添加一条存储信息,“上一状态属性”数据结构可以存储多条信息,并由标签进行标示,如本情况中,起始点位于p7执行地点的车辆执行任务p1后,数据结构中存储信息标签为“车辆1在p7时的属性”,以此类推。若出现某次经过上车点后时间模拟全部失败的情况,则从“上一状态属性”数据结构中提取出倒序第一的信息,覆盖当前车辆属性,以此方式来表示车辆回到上一次任务完成后的状态。重复进行步骤二与步骤三,进行多轮选择,直到所有车辆的可选任务集均为空,完成全部任务。
[0125]
实施例2
[0126]
一种多时间约束下行驶里程优化的轻量化拼车调度方法,首先将车辆到达某一上车/下车点接送乘客以及车辆到达终点站看作任务,将任务使用顶点表示,任务之间的执行成本使用边表示,通过有向无环图(dag)的形式进行任务模型的建立,如图2所示,图2以两车三乘客的情景为例,其中点1,3,5分别代表三名乘客的上车点,点2,4,6分别代表三名乘客的下车点,点a,b分别代表两辆车的起始点,点c,d分别代表两辆车的终点,图中使用实线的边代表可以选择的边,使用密集虚线的边代表有对应关系的两个点,使用稀疏虚线的边代表有先后顺序约束的两个点;基于多旅行商问题模型与车辆路径规划问题模型,设置新的布尔型优化变量,提出最小化总里程的目标函数;然后增加多旅行商问题模型与车辆路径规划问题模型中不存在的约束条件,构造基于总里程优化的车辆-乘客之间的分配与调度问题模型,通过混合非线性整数规划求解器求出最优解,实现最优拼车调度方法。图3是本发明实例调用商业求解器求精确解的仿真实验可视化路线以及人-车分配图。图示实验对图2所示的两辆车三名乘客的情况进行了仿真,图中两辆车的起始点为a、b点,对应的终点为c、d点,途径各个上车点以数字编号标号,其中编号为奇数的各个点为上车点,编号为偶数的点为下车点,对应的点在图中后附的括号内数字代表到达此点车辆的容量变化值,如上车点容量加一,下车点容量减一。图3展示了经过本案方法最优解的路线选择与人-车分配关系。
[0127]
图4是本实施例配置场景为多车多乘客的情况下,在保持总乘客数不变的情况下,逐个增加参与到一次分配过程中车的数量时,两种方法计算总距离之和的变化趋势以及两种方法随着参与车辆数量增长时所计算出总距离之间的比例差距图,从图中可看出,本案方法的计算结果在总里程上约高于最优解20%到25%之间。
[0128]
图5是本实施例配置场景为多车多乘客的情况下,在保持总车辆数不变的情况下,逐个增加参与到一次分配过程中乘客的数量时,两种方法计算总距离之和的变化趋势以及两种方法随着参与车辆数量增长时所计算出总距离之间的比例差距图,从图中可看出,本案方法的计算结果在总里程上约高于最优解20%到30%之间;
[0129]
图6是本实施例配置参与一次分配的车辆数量固定为5时,将参与分配的乘客数量从7至15调整,对应随机生成的9个坐标点集,采用求解器求最优解的算法耗时变化趋势图,从图中可看出,随着问题规模的进一步扩大,精确解法的运行时间呈指数倍上升,不适用于大规模人-车分配与路线规划问题。
[0130]
图7是本发明实例配置参与一次分配的车辆数量固定为5时,将参与分配的乘客数
量从7至15调整,对应随机生成的9个坐标点集,采用本发明基于回退策略的启发式搜寻算法的耗时变化趋势图,从图中可看出,随着问题规模的进一步扩大,本发明提出的方法运行时间极大地缩短,且增长趋势在中小规模下接近线性增长,计算时间极短。
[0131]
图8是本发明实例配置参与一次分配的车辆数量固定为5时,将参与分配的乘客数量从7至15调整,对应随机生成的9个坐标点集,采用本发明提出的方法中所有车辆一起进行一轮选择的方案与不采用此方案,而是将一辆车的选择彻底结束后再进行下一辆车的选择的方案进行车辆运行时平均座位使用数对比图,从图中可看出,采用本发明提出的方法中的寻点方式可以较为明显地提高车辆平均座位使用数,有助于节能减排,提高资源利用率。
[0132]
综上所述,本发明将具有相关性的任务,如车辆离开出发点、车辆到达终点以及车辆中途接送乘客等任务通过有向无环图的形式进行任务模型的建立,基于多旅行商(multiple traveling salesmen problem,mtsp)问题的经典数学模型与车辆路径规划问题(vehicle routing problem,vrp)设计问题结构,提出优化变量与目标函数,通过引入接送点先后顺序、多点时间窗口限制、出发点终点分离等约束条件,构造有严格数学描述的基于总里程优化的车辆-乘客之间的分配与调度问题,通过混合非线性整数规划求解器求出最优解,实现最优拼车调度方法,本案方法显著降低了问题求解的时间,提高了本分配调度方法在大规模问题中的可扩展性。
[0133]
需要说明的是,以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰均落入本发明权利要求书的保护范围之内。

技术特征:


1.一种多时间约束下行驶里程优化的轻量化拼车调度方法,其特征在于,包括以下步骤:s1,建立任务模型:将车辆到达某一上车/下车点接送乘客以及车辆到达终点站看作任务,将任务使用顶点表示,任务之间的执行成本使用边来表示,通过有向无环图(dag)的形式进行任务模型的建立;s2,确定最小化总里程的目标函数:基于多旅行商问题模型与车辆路径规划问题模型,在多旅行商问题模型中的二维布尔型优化变量基础上设置改进后的三维布尔型优化变量,提出最小化总里程的目标函数;所述多旅行商问题模型中至少包括流量约束和遍历唯一性约束条件;s3,约束条件增加:在新的模型中提出多旅行商问题模型与车辆路径规划问题模型中不存在的约束条件,构造基于总里程优化的车辆-乘客之间的分配与调度问题模型,所述约束条件包括始发站约束、终点站约束、乘客接送顺序约束、容量限制约束、车辆行驶路线规则约束、多点时间约束;s4,模型求解:针对步骤s3中提出的基于总里程优化的车辆-乘客之间的分配与调度问题,通过混合非线性整数规划求解器求出最优解,并设计一种基于回退策略的启发式算法,所述启发式算法的求解过程具体包括:s41:确定从当前任务执行地点驶向可行的局部距离最短的任务执行地点;s42:根据全局信息更新禁止执行与可执行任务的信息;s43:确定车辆在当前任务执行地点选择某一可执行任务时的是否违背该任务的时间约束,判断方法的可行性,若不违背,确定接下来应该执行的局部最优的任务;若当前任务违背时间约束,则对可执行任务集中其他任务进行测试,直到到可选择的下一个任务为止;若所有可执行任务均违背时间约束,则采用状态回退策略使车辆状态回退,并更新可执行任务集。2.如权利要求1所述的一种多时间约束下行驶里程优化的轻量化拼车调度方法,其特征在于:所述步骤s1中,假设有m辆车与n名乘客,且m辆车均有各自的m个始发站点和m个预设将要到达的终点,n名乘客均有各自的n个上车点与n个下车点,则2(n+m)个任务p:{p1,...,p
2n+2m
}表示拼车服务中的所有任务集合,对于任务p
i
与p
j
,任意一条边e
i,j
代表任务p
i
与p
j
之间的执行成本,边的权重w
i,j
代表从任务p
i
执行地点到任务p
j
执行地点的的坐标之间的距离,记为:di,j,间的距离,记为:di,j,2(n+m)个任务可划分为四个部分:m个出发点集合s:{s1,...,s
m
}、m个终点集合d:{d1,...,d
m
}、n个乘客上车点集合n
p
:{n
p1
,...,n
pn
}、n个乘客下车点集合n
d
:{n
d1
,...,n
dn
},m辆车从各自的出发点出发,在接送至少一人的情况下,最终回到自身在出发时预设的终点处,所有的乘客均可以在各自的上车点与下车点设置右侧时间窗口,表示乘客希望在某个时刻之前被接到或送下,每个接送点的右时间窗设置为:a:{a1,...,a
2n
}。3.如权利要求2所述一种多时间约束下行驶里程优化的轻量化拼车调度方法,其特征在于:所述步骤s2中通过x
i,j,m
表示编号为m的车辆执行任务p
i
与p
j
,并经过相应的路径,以表示接送任务与车辆之间的匹配关系:
其中,x
i,j,m
是一个三维的布尔型优化变量,c为所有车辆的集合;由于d
i,j
表示任务p
i
和任务p
j
之间的执行成本,则x
i,j,m
*d
i,j
可作为m车执行任务p
i
与p
j
的执行成本,以最小化总里程作为的目标函数,可得到:。4.如权利要求3所述一种多时间约束下行驶里程优化的轻量化拼车调度方法,其特征在于:所述步骤s2中,点集遍历唯一性约束:仅允许每一个乘客上车/下车地点被某一辆车经过一次,在经过后即不可被其他车辆或本车再次经过,其约束条件为:流量约束:对于中间点也即接送点来说,有车进入必须有相应的离开,即有一条执行任务p
i
到p
j
的路径被选择,则必须有一条执行任务p
j
到p
k
的路径被选择,为了实现这一情形,需要增加的约束条件为:需要增加的约束条件为:。5.如权利要求3所述一种多时间约束下行驶里程优化的轻量化拼车调度方法,其特征在于:所述步骤s3中,始发站约束:保证每一辆车从自己的始发站点出发,且从始发站出去的车辆一定前去执行接客任务集合中n
p
中的一个任务,即:终点站约束:车辆在执行完接送任务后需要回到终点:乘客接送顺序约束:在接到乘客之后,必须要在回到终点之前送下该乘客,n名乘客设置的n个上车任务被设置为p1,p3,p5,...,p
2n-1
号任务,相应的n个下车任务被设置为p2,p4,
p6,...,p
2n
号任务,若车辆执行任务p1后,必须在后续任务选择中选择执行任务p2:容量限制约束:考虑车辆的容量限制,其在某一时刻的容量q可以是小于等于4的任意正整数,而经过某一个站点时,会出现大于一人次的上车或者下车任务,即为:其中,g
i
表示执行任务p
i
对于一辆车的载人量改变量:g:{g1,...,g
2n
};多点时间约束:引入用户在自己预设好的接人点与送人点两点的右时间窗,代表用户希望在一定的时间之前被接到/送到,到/送到,。其中,t
i,j
表示从任务p
i
执行地点到任务p
j
执行地点的预估耗时,根据平均速度与距离之差进行估计。6.如权利要求3所述一种多时间约束下行驶里程优化的轻量化拼车调度方法,其特征在于:所述步骤s3中,车辆行驶路线规则约束包括:若不允许车辆选择从始发点到始发点路线的约束条件为:若不允许车辆选择从始发点直接到达终点路线的约束条件为:若不允许车辆选择从某个接送点回到始发点路线的约束条件为:若不允许车辆选择从当前点走到当前点的约束条件为:若不允许车辆选择走过的路径的约束条件为:若不允许车辆同一条路径被双向选择两次的约束条件为:。
7.如权利要求5或6或7所述一种多时间约束下行驶里程优化的轻量化拼车调度方法,其特征在于:所述步骤s41中,根据车辆属性及基本回退策略,遍历所有可执行的任务,确定从当前任务执行地点驶向可行的局部距离最短的任务执行地点;所述车辆属性至少包括车辆的当前坐标、车辆当前已行驶时间、车辆的当前容量、车辆当前已行驶总距离、车辆当前状态可执行任务和车辆当前状态不可执行任务;所述基本回退策略为:当车辆位于起点时,该车的“上一状态属性”内容为空,选择下一个站点后,车辆属性同步更新:若选择最优点后,将上一个状态时车辆的属性在当前状态下的“上一状态属性”中添加进去,当模拟时间约束测试时,若出现所有可选点均不符合时间约束的情况,则需将“上一状态属性”中的数据置于当前车辆属性中,并将原定最优点置于不可被选择点集中,再进行次优点的选择。8.如权利要求7所述一种多时间约束下行驶里程优化的轻量化拼车调度方法,其特征在于:所述步骤s43时间约束完成后,若任务p
k
是满足条件的,不代表从当前任务接着执行任务p
k
的路线,在最终的路线分配方案中,仍可能存在选择任务p
k
后,发现后续所有任务均不满足时间约束的情况,此时则需要状态回退策略回退到上一个任务执行结束的状态,取消任务p
k
作为可选任务集中的任务,再按照贪婪策略搜寻局部最优任务。

技术总结


本发明公开了一种多时间约束下行驶里程优化的轻量化拼车调度方法,首先将车辆到达某一上车/下车点接送乘客以及车辆到达终点站看作任务,将任务使用顶点表示,任务之间的执行成本使用边表示,通过有向无环图的形式进行任务模型的建立;再基于多旅行商问题模型与车辆路径规划问题模型,在多旅行商问题模型中的二维布尔型优化变量基础上设置改进后的三维布尔型优化变量;在新的模型中提出多旅行商问题模型与车辆路径规划问题模型中不存在的约束条件,构造基于总里程优化的车辆-乘客之间的分配与调度问题模型;通过混合非线性整数规划求解器求出最优解,并设计一种基于回退策略的启发式算法,该算法可以显著降低了问题求解的时间,同时仅比最优解失去约百分之二十的精确度,该算法提高了本调度分配方法的适用性,也提高了本分配调度方法在大规模问题中的可扩展性。展性。展性。


技术研发人员:

莫磊 张新宇 赵一鸣

受保护的技术使用者:

东南大学

技术研发日:

2022.11.22

技术公布日:

2023/3/3

本文发布于:2024-09-25 19:21:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/64495.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:车辆   乘客   时间   模型
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议