1.一种考虑转向延误的城市路网时变K最短路径搜索方法,其特征在于,所述方法包括如下步骤:
(1)读取路网中研究时间范围及扩展研究时间范围内的所有离散等时间间隔的交叉口转向延误和路段行程时间;
(2)根据研究时间范围扩展研究时间范围及离散时间间隔分别确定离散时刻集合S和S′,定义指定路径搜索的出发时刻t0,t0∈S,定义所需搜索的K最短路径的K值;其中,集合S和S′中存储的时刻分别为研究时间范围和扩展研究时间范围内各个离散时间间隔的起始时刻;
(3)采用扩展网络法将交叉口扩展为若干个交叉口边界,并将与出发地小区紧邻的交叉口边界线确定为起点边界线,将与目的地小区紧邻的交叉口边界线确定为终点边界线;其中,以blij()代表交叉口i中与交叉口j相邻的边界线位置,blij(1)表示该边界线位置处交叉口i的进口道边界线,blij(2)表示该边界线位置处交叉口i的出口道边界线;
(4)将交叉口转向延误和路段行程时间转换为紧邻两条交叉口边界线之间的连接线阻抗,并建立以连接线阻抗为元素的初始阻抗矩阵W;
(5)在阻抗矩阵为W的前提下,采用A*算法搜索t0时刻由起点边界线至终点边界线的最短路径,记为第k条最短路径,此时k=1;
(6)判断k是否小于K,若“是”则进入步骤(7),若“否”则进入步骤(14);
(7)定义n为交叉口边界线在第k-1条最短路径中的序号,并且从起点边界线至终点边界线按顺序排列,N为第k-1条最短路径中所有交叉口边界线的总数,令k=k+1,n=1;
(8)将第k-1条最短路径中第n条交叉口边界线作为当前边界线,记该路径中从起点边界线出发到达当前边界线的时刻为t;
(9)令阻抗矩阵k_W等于原始阻抗矩阵W,并进一步将阻抗矩阵k_W中当前边界线与符合条件的边界线之间连接线的阻抗更改为正无穷,其中,符合条件的边界线作如下定义:在第k-1条最短路径中,当前边界线的下一边界线视为符合条件的边界线,若第k-1条最短路径中起点边界线至当前边界线的子路径存在于前k-2条最短路径中,则当前边界线在前k-2条最短路径中的下一边界线同样视为符合条件的边界线;
(10)在阻抗矩阵为k_W的前提下,采用A*算法搜索t时刻由当前边界线至终点边界线的最短路径;
(11)将步骤(10)搜索得到的最短路径与第k-1条最短路径中起点边界线至当前边界线的路径组合得到一条完整路径,并放入列表CANDIDATE中;
(12)判断n是否等于N-1,若“是”则进入步骤(14),若“否”则返回步骤(9);
(13)从列表CANDIDATE中挑选出行程时间最短的路径作为第k条最短路径,并将其从列表CANDIDATE中移除,返回步骤(6);
(14)输出t0时刻由起点边界线到达终点边界线的K条最短路径及行程时间。
2.根据权利要求1所述的一种考虑转向延误的城市路网时变K最短路径搜索方法,其特征在于,所述步骤(1)中,扩展研究时间范围是为保证在研究时间范围内任意时刻出发的车辆能完成出行而引入的,即解决在研究时间范围末尾出发的车辆到达目的地时超出研究时间范围的情况,扩展研究时间范围视全路网最长出行时间而定,交叉口转向延误和路段行程时间数据是以15分钟为等时间间隔的时间序列数据。
3.根据权利要求1所述的一种考虑转向延误的城市路网时变K最短路径搜索方法,其特征在于,所述步骤(2)中,出发时刻t0为集合S中任意感兴趣的出发时刻,循环遍历集合S中所有元素,即可输出任意出发时刻起点边界线至终点边界线的K最短路径。
4.根据权利要求1所述的一种考虑转向延误的城市路网时变K最短路径搜索方法,其特征在于,所述步骤(3)中,交叉口边界线具体是交叉口物理区边界线。
5.根据权利要求1所述的一种考虑转向延误的城市路网时变K最短路径搜索方法,其特征在于,所述步骤(4)中,连接线阻抗为表示t时刻从边界线blij(z)出发到边界线blpq(y)之间的连接线阻抗,对路段表现为行程时间,对交叉口表现为转向延误。
6.根据权利要求1所述的一种考虑转向延误的城市路网时变K最短路径搜索方法,其特征在于,所述步骤(5)中,采用A*算法搜索t0时刻由起点边界线至终点边界线的最短路径,步骤如下:
A.读取网络阻抗矩阵,确定起点边界线,终点边界线及出发时刻t0;
B.初始化列表COST,列表COST包含各交叉口边界线的总体费用F,已完成费用T,和未完成预估费用G,各费用定义及计算方法如下:
已完成费用T为迭代过程中保存的起点边界线至该边界线的费用,
未完成预估费用G为该交叉口边界线至终点边界线的预估费用,为确保预估费用小于实际费用,预估费用G等于该交叉口边界线和终点边界线物理最短路程与路网最高行驶速度的比值,
总体费用F为已完成费用T和未完成预估费用G的总和,
初始化列表COST,即令起点边界线的已完成费用T为0,其余交叉口边界线的已完成费用T为正无穷;记起点边界线为BEST;
C.确定BEST的后继边界线集合Ω;后继边界线是指能从BEST一步到达的边界线;
D.计算Ω中所有后继边界线的已完成费用T;对于其中的任意某一后继边界线blij(z),其已完成费用T的计算公式为:
式中:表示后继边界线blijm的已完成费用,TBEST为BEST的已完成费用,TBEST+t0为到达BEST的时刻,gBESTblpq(z)(TBEST+t0)表示(TBEST+t0)时刻BEST与其后继边界线blij(z)之间连接线的阻抗;
E.更新列表OPEN、列表CLOSED、列表COST和列表BACK,列表OPEN中保存等待访问的交叉口边界线,列表CLOSED中保存已经访问过的交叉口边界线,列表BACK中存储各边界线的父边界线,具体实施方法如下:
若后继边界线blij(z)在列表OPEN中,且步骤D计算出后继边界线blij(z)的已完成费用小于其在列表COST中保存的已完成费用,则更新列表COST中边界线blij(z)的T值,并将列表BACK中边界线blij(z)的父边界线更改为BEST,
若后继边界线blij(z)在列表CLOSED中,且步骤D计算出后继边界线blij(z)的已完成费用小于其在列表COST中保存的已完成费用,则更新列表COST中边界线blij(z)的T值,将列表BACK中边界线blij(z)的父边界线更改为BEST,并将边界线blij(z)从列表CLOSED移至列表OPEN,
若后继边界线blij(z)既不在列表OPEN中,也不在列表CLOSED中,则更新列表COST中边界线blij(z)的T值,将列表BACK中边界线blij(z)的父边界线更改为BEST,并将边界线blij(z)放入列表OPEN;
F.选取列表OPEN中具有最小F值的交叉口边界线,记为BEST,将BEST从列表OPEN移至列表CLOSED;
G.判断BEST是否为终点边界线,若BEST是终点边界线,则进入步骤H,若不是终点边界线则返回步骤C;
H.从BEST开始递推搜索列表BACK,得到最短路径;
I.输出最短路径及其行程时间,最短路径的行程时间即列表COST中终点边界线的T值。
7.根据权利要求1所述的一种考虑转向延误的城市路网时变K最短路径搜索方法,其特征在于,所述步骤(11)中,列表CANDIDATE包含了第k条最短路径的所有备选路径,其中存储了t0时刻从起点边界线出发至终点边界线的所有备选路径及其行程时间。
8.根据权利要求1所述的一种考虑转向延误的城市路网时变K最短路径搜索方法,其特征在于,所述步骤(13)中,删除列表CANDIDATE中挑选出的第k条最短路径,以避免下次重复挑选。