一种轨道交通网络化运行推演算法
【专利摘要】本发明的技术方案是提供了一种轨道交通网络化运行推演算法,其特征在于,包括以下步骤:第一步、构建轨道网络拓扑结构;第二步、以一个周期时长为固定间隔循环计算轨道网络拓扑结构中每个站台及每个区间的状态。通过本发明提供的算法可以得到如下数据:实时区间列车数,实时区间乘客数,实时区间列车乘客拥挤度,实时站台停站列车数,实时站台停站乘客数,实时站台停站列车乘客拥挤度,实时站台滞留候车人数,实时站台候车区人数,从而为轨道交通的管理提供便利。
【专利说明】
一种轨道交通网络化运行推演算法
技术领域
[0001 ] 本发明涉及一种基于自动售票检票系统(AutoFareColIect1n,AFC)及自动列车监控系统(AutomaticTrainSupervi s 1n,ATS)的数据推算出轨道网络中实时客流状态信息的方法。
【背景技术】
[0002]城市轨道交通由于高密度运转、列车行车时间间隔短、行车速度高、列车编组辆数多而具有较大的运输能力。单向高峰每小时的运输能力最大可达到6万?8万人次(市郊铁道);地铁达到3万?6万人次,甚至达至IJ8万人次;轻轨I万?3万人次,有轨电车能达至Ij I万人次。城市轨道交通的运输能力远远超过公共汽车,因此成为了城市交通网络中的主干。
[0003]为了保证城市轨道交通安全、有序地运行,目前已建立了自动售票检票系统(AutoFareCoIIect1n,AFC)及自动列车监控系统(AutomaticTrainSupervis1n,ATS)。自动售票检票系统是集计算机技术、信息收集和处理技术、机械制造于一体的自动化售票、检票系统。自动列车监控系统是非安全设备系统,包括控制中心系统和集中控制站设备。上述两个系统的建立为城市轨道交通的运营提供了大量数据,但是这两个系统无法推算出轨道网络中实时客流状态信息。
【发明内容】
[0004]本发明的目的是提供一种推算出轨道网络中实时客流状态信息的方法。
[0005]为了达到上述目的,本发明的技术方案是提供了一种轨道交通网络化运行推演算法,其特征在于,包括以下步骤:
[0006]第一步、构建轨道网络拓扑结构,在轨道网络拓扑结构中每个轨道交通站点为一个集群,若当前轨道交通站点包含有N条轨道交通线路,N多I,则当前轨道交通站点包含N个逻辑站点,每个逻辑站点为当前集群下的一个子集群,每个逻辑站点包含一个位于轨道交通上行线路上的站台及一个位于轨道交通下行线路上的站台,则两个站台分别为当前子集群下的两个节点,相邻两个轨道交通站点中通过同一根轨道可直接到达的两个站台在轨道网络拓扑结构中通过一个区间连接起来;
[0007]第二步、以一个周期时长为固定间隔循环计算轨道网络拓扑结构中每个站台及每个区间的状态,对于任意一个站台Plat_l及任意一个区间Cell_l而言,其状态的计算步骤包括:
[0008]步骤2.1、计算区间Cell_1i^出乘客,计算得到如下变量:
[0009]Cell_l.CellCPOUT(now)=Cell_l.CellCTOUT(now) XCell_l.TrainCAP,式中,Cell_l.CellCP0UT(nOW)表示当前周期时刻至前一周期时刻之间的时间段内流出区间Cell_l的列车所携带的人数,Cell_l.CellCTOUT(noW)表示当前周期时刻至前一周期时刻之间的时间段内流出区间Ce 11_1的列车的列数,Ce 11_1.TrainCAP表示区间Ce 11_1所对应的轨道交通线路线路每列列车的定员人数;
[0010]Cell_l.CellARV(now) = Cell_l.CellCPOUT(now)XCell_l.CellS(pre),S45,Cell_l.CellARV(n0W)表示当前周期时刻至前一周期时刻之间的时间段内随列车离开区间Cell_]^lj达区间0611_1所对应的下游站台的总人数,Cell_l.CellS(pre)表示上一周期时刻区间Ce 11_1内的列车平均乘客饱和度;
[0011 ] Cell_l.Cel IU (now) = Cell_l.Ce IIARV (now) X Cell_l.Ce IIURATE (now),式中,Cellj.Ce IIU (now)表示当前周期时刻Ce I Ij.Ce 11 ARV( now)中到站后不下车的乘客数,Cell_l.CellURATE(n0W)表示当前周期时刻至前一周期时刻之间的时间段内随列车离开区间Cell_l到达下游站台的乘客中到站后不下车的比例;
[0012]Cell_l.CellET(now)=Cell_l.CellARV(now) XCell_l.CellETRATE(now),式中,Cell_l.CellET(now)表示Cell_l.CellARV(now)中当前周期时刻到站后下车出站点结束本次出行的乘客数,Cell_l.CellETRATE(n0W)表示当前周期时刻至前一周期时刻之间的时间段内随列车离开区间Cell_l到达下游站台的乘客中到站后出站点结束本次出行的比例;
[0013]Cell_l.CeIITRs(p,now)
[0014]=p.PlatQTRs(Cell_l ,now)
[0015]=Cell_l.CellARV(now) XCell_l.CellTRRATES(p,now),式中:
[ΟΟ??] Cel 1_1.Cel ITRs (p,now)表示当前周期时刻离开区间Cel Ij换乘往站台p的乘客数,p.PlatQTRs (Cel 1_1,now)表示当前周期时刻换乘到站台P的乘客中来自区间Cellj的乘客数,Cell_l.CellTRRATES(p,now)表示当前周期时刻离开区间Cell_l换乘往站台p的比例系数;
[0017]Cel 1_1.CellTR(now) = ECell_l.CelITRs(*,now),式中,Cell_l.CellTR(now)表示当前周期时刻Cell_l.CellARV(now)中到站后下车换乘的乘客数,ECell_l.CellTRs(*,now)表示当前周期时刻离开区间Cell_l换乘往各个不同站台的乘客数的和;
[0018]步骤2.2、计算站台Platj流出乘客,若站台Plat_l仅为一个区间Celljl的上游站台,则计算得到如下变量:
[0019]Plat_l.PlatCPOUT(now) =Plat_l.PlatCTOUT(now) X Plat_l.TrainCAP,式中,Plat_l.PlatCP0UT(now)表示当前周期时刻至前一周期时刻之间的时间段内流出站台Plat_l轨道的列车所运载的人数,Plat_l.PlatCT0UT(now)当前周期时刻至前一周期时刻之间的时间段内流出站台Plat_l轨道的列车的列数,Plat_l.TrainCAP表示站台Plat j所对应的轨道交通线路线路每列列车的定员人数;
[0020]Cell_ll.CellCPIN(now)=Cell_ll.CellCTIN(now) XCell_ll.TrainCAP,式中,Cell_ll.CellCPIN(n0W)表示当前周期时刻至前一周期时刻之间的时间段内流入区间Cell_ll的列车所运载的人数,Cell_ll.CellCTIN(n0W)表示当前周期时刻至前一周期时刻之间的时间段内流入区间Ce 11_11的列车的列数,Ce 11_11.TrainCAP表示区间Ce 11_11所对应的轨道交通线路线路每列列车的定员人数;
[0021 ] cpout =Min{Plat_l.PlatCPOUT(now),Cell_ll.CellCPIN(now)},式中,cpout表示站台P lat_l的载客出站列车所运载的人数的临时变量;
[0022]Plat_l.PIatCN(now) =Plat_l.PlatS(pre) X cpout,式中,Plat_l.PlatCN(now)表示当前周期时刻至前一周期时刻之间的时间段内由站台Plat_l出发进入下游各区间的总人数中原该站台区域轨道列车内的乘客数,Plat_l.PlatS(pre)表示上一周期时刻站台Plat_l区域轨道上的列车平均乘客饱和度,到站列车需下车乘客已下车而站台候车乘客还未上车时的饱和度;
[0023]Ctmp = cpout XPlat_l.TrainCD_Plat_l.PlatCN(now),式中,Ctmp表不站台Plat_I的出站列车剩余的能运载的人数的临时变量;
[0024]Plat_l.PIatQTR(now) = EPlat_l.PlatQTRs(*,now),式中,Plat_l.PlatQTR(now)表示当前周期时刻至前一周期时刻之间的时间段内由各个方向通过通道、同站台、出站方式换乘到某站台候车区的总乘客数,EPlat_l.PlatQTRs(*,now)表示当前周期时刻至前一周期时刻之间的时间段内各个方向通过通道、同站台、出站方式换乘到站台Plat_H^车区的乘客数的和;
[0025]Plat_l.PlatQIN(now) =Plat_l.PlatQTR(now)+Plat_l.PlatQGT(now),式中,Plat_l.PlatQIN(now)表示当前周期时刻至前一周期时刻之间的时间段内到达站台Plat_l候车区候车的乘客总数,Plat_l.PlatQGT(now)表示当前周期时刻至前一周期时刻之间的时间段内由闸机进站后到达站台Plat_l候车区的非换乘乘客;
[0026]若Ctmp < = O,则表示站台候车区乘客全部无法上车,则:
[0027]Plat_l.PlatON(now) =0,式中,Plat_l.PlatON(now)表不当前周期时刻至前一周期时刻之间的时间段内由站台Plat j出发进入下游各区间的总人数中由该站台候车区上车的乘客数;
[0028]Plat_l.PlatDPT(now) =Plat_l.PlatON(now)+Plat_l.PlatCN(now),式中,Plat_1.PlatDPT(now)表示当前周期时刻至前一周期时刻之间的时间段内由站台Plat_l出发进入下游各区间的总人数;
[0029]若Ctmp>0且Ctmp>=Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now),则表不站台候车区乘客可以全部上车,式中,Plat_l.PlatQ(pre)表示上一周期时刻站台Plat_l区域候车区内由于列车过饱和而无法及时上车的乘客数:
[0030]Plat_l.PlatON(now)=Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now);
[0031 ] Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now);
[0032]Ctmp其他取值情况时,表示站台候车区乘客无法全部上车:
[0033]Plat_l.PlatON(now) =Ctmp ;
[0034]Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now);
[0035]若站台Plat_l为区间Cell_ll及区间Cell_21的上游站台,则计算得到如下变量:
[0036]Plat_l.PlatCPOUT(now)=Plat_l.PlatCTOUT(now)XPlat_l.TrainCAP;
[0037]Cell_ll.CellCPIN(now)=Cell_ll.CellCTIN(now) XCell_ll.TrainCAP;
[0038]Cell_21.CellCPIN(now)=Cell_21.CellCTIN(now) XCell_21.TrainCAP,式中,Cell_21.CellCPIN(n0W)表示当前周期时刻至前一周期时刻之间的时间段内流入区间Cell_21的列车所运载的人数,Cell_21.CellCTIN(n0W)表示当前周期时刻至前一周期时刻之间的时间段内流入区间Ce 11_21的列车的列数,Ce 11_21.Tra inCAP表示区间Ce 11_21所对应的轨道交通线路线路每列列车的定员人数;
[0039]cpout=Min{Plat_l.PlatCPOUT(now),Cell_l.CellCPIN(now)+Cell_l.CellCPIN(now)};
[0040]Plat_l.PlatCN(now)=Plat_l.PlatS(pre)Xcpout;[0041 ] Ctmp = cpout X Plat_l.TrainCD_Plat_l.PlatCN(now);
[0042]Plat_l.PlatQTR(now)= EPlat_l.PlatQTRs(*,now);
[0043]Plat_l.PlatQIN(now)=Plat_l.PlatQTR(now)+Plat_l.PlatQGT(now);
[0044]若Ctmp < = 0,则表示站台候车区乘客全部无法上车,
[0045]Plat_l.PlatON(now) =0;
[0046]Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now);
[0047]若Ctmp>0且Ctmp>=Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now),则表不站台候车区乘客可以全部上车:
[0048]Plat_l.PlatON(now)=Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now);
[0049]Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now);
[0050]Ctmp其他取值情况时,表示站台候车区乘客无法全部上车:
[0051]Plat_l.PlatON(now) =Ctmp ;
[0052]Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now);
[0053]若站台Plat_l的下游未与任何区间相连,则:
[0054]Plat_l.PlatCN(now) =0;Plat_l.PlatON(now) =0;Plat_l.PlatDPT(now) =0;
[0055]步骤2.3、计算区间Ce 11_1流入乘客,若区间Ce 11_1为位于其上游的站台Plat的唯一一条区间,则计算得到如下变量:
[0056]Cell_l.Ce IIDPT (now) =Plat.PlatDPT (now),式中,Cell_l.CellDPT(now)表不当前周期时刻至前一周期时刻之间的时间段内由上游站台Plat出发进入区间Cellj的总乘客数,Plat.PlatDPT(now)表示当前周期时刻至前一周期时刻之间的时间段内由站台Plat出发进入下游各区间的总人数;
[0057]Cel 1_1.CellCN(now) =Plat.PlatCN(now),式中,Cell_l.?61101^(110?0表不0611_1.?6110?1'(110¥)中原上游站台区域轨道列车内的乘客数,?131:.?131^1'1(110¥)表示当前周期时刻至前一周期时刻之间的时间段内由站台Plat出发进入下游各区间的总人数中原该站台区域轨道列车内的乘客数
[0058]Cel 1_1.CellON(now) =Plat.PlatON(now),式中,Cell_l.?61101^(11。《0表不0611_1.CellDPT(now)中由上游站台候车区上车的乘客数,Plat.PlatON(now)表示当前周期时刻至前一周期时刻之间的时间段内由站台Plat出发进入下游各区间的总人数中由该站台候车区上车的乘客数;
[0059]若位于区间Cell_l上游的站台Plat有两条相连的区间,分别为区间Cell_l及区间〇611_2,则若〇611_1.〇611〇卩預(110¥)=0且〇611_2.〇611〇?預(110¥)=0,式中,〇611_
l.CellCPIN(now)及Cell_2.CellCPIN(now)=0分别表示当前周期时刻至前一周期时刻之间的时间段内流入区间Cell_l及区间Cell_2的列车所运载的人数,则:
[0060]Cell_l.Ce IIDPT(now) = 0 ;
[0061]Cell_l.CellCN(now) = 0 ;
[0062]Cell_l.CellON(now) = 0 ;
[0063]否则:
[0064]Cell_l.CeIIDPT(now)=
[0065]Plat.PlatDPT(now)XCell_l.CellCPIN(now)/{Cell_l.CellCPIN(now)+Cell_2.Cell CPIN(now)};
[0066]Cell_l.CellCN(now)=
[0067]Plat.Pla_tCN(now)XCell_l.CellCPIN(now)/{Cell_l.CellCPIN(now)+Cell_
2.Cell CPIN(now)};
[0068]Cell_l.CellON(now)=
[0069]Plat.PlatON(now)XCell_l.CellCPIN(now)/{Cell_l.CellCPIN(now)+Cell_
2.Cell CPIN(now)};
[0070]步骤2.4、计算站台Plat j的流入乘客,若站台Plat j的上游仅有一条区间Cel 1_1,则:
[0071 ] Plat_l.PlatU(now) =Cell_l.CellU(now),式中,Plat_l.PlatU(now)表不当前周期时刻至前一周期时刻之间的时间段内随列车由上游各区间到达站台Platj的总乘客数中不下车的乘客数;
[0072]若站台Plat_l的上游有两条区间,即区间Cell_l及区间Cell_2,则:
[0073]Plat_l.PIatU(now) =Cel 1_I.CellU(now)+Cell_2.CellU(now),式中,Cel 1_
2.CellU(now)表示当前周期时刻Cell_2.CellARV(now)中到站后不下车的乘客数,Cell_
2.CellARV(now)表示当前周期时刻至前一周期时刻之间的时间段内随列车离开区间Cell_2到达区间Cell_2所对应的下游站台的总人数;
[0074]若站台Plat_l没有对应的上游区间,或没有对应的下游区间,则:
[0075]Plat_l.PlatU(now) =0;
[0076]步骤2.5、更新站台P lat_l的状态:
[0077]当站台Plat_l没有对应的上游区间,即为始发类型站台时:
[0078]Plat_l.PlatM(now) = 0,式中,Plat_l.PlatM(now)表不当前周期时刻站台Plat_l区域轨道内的列车数;
[0079]Plat_l.PlatN(now) = 0,式中,Plat_l.PlatN(now)表不当前周期时刻站台Plat_l区域轨道列车上的在途乘客总数;
[0080]Plat_l.PlatS(now) = 0,式中,Plat_l.PlatS(now)表不当前周期时刻站台Plat_l区域轨道上的列车平均乘客饱和度,到站列车需下车乘客已下车而站台候车乘客还未上车时的饱和度;
[0081 ] Plat_l.PlatQ(now)=Max{0,Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now)-Plat_1.PlatON(now)},式中,Plat_l.PlatQ(now)表示当前周期时刻站台Plat_l区域候车区内由于列车过饱和而无法及时上车的乘客数;
[0082]Plat_l.PlatPQ(now) =Plat_l.PlatQ(now)+Plat_l.PlatQIN(now),式中,Plat_l.PlatPQ(now)表示当前周期时刻站台Plat_l区域候车区内滞留乘客及正常进站候车乘客的总和,即站台Plat_l候车区乘客总数;
[0083]当站台Plat_l没有对应的下游区间,即为终点类型站台时:
[0084]Plat_l.PlatM(now) =0;
[0085]Plat_l.PlatN(now) =0;
[0086]Plat_l.PlatS(now) =0;
[0087]Plat_l.PlatQ(now) =0;
[0088]Plat_l.PlatPQ(now) =0;
[0089]当站台Plat_l为除终点类型及始发类型外的其他类型的站台时:
[0090]Plat_l.PlatM(now) =Plat_l.PlatM(pre)+Plat_l.PlatCTIN(now)-Plat_1.PlatCTOU T(now);
[0091 ] Plat_l.PlatN(now)=Plat_l.PlatN(pre)+Plat_l.PlatU(now)-Plat_l.PlatCN(now);
[0092]Plat_l.PlatQ(now)=Max{0,Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now)-Plat_
1.PlatO N(now)};
[0093]Plat_l.PlatPQ(now)=Plat_l.PlatQ(now)+Plat_l.PlatQIN(now);
[0094]若Plat_l.PlatM(now) >0,则:
[0095]Plat_l.PIatS(now)=Plat_l.PIatN(now)/{Plat_l.TrainCAPXPlat_l.PlatM(now)};
[0096]若Plat_l.PlatM(now)< =0,则:
[0097]Plat_l.PlatS(now) =0;
[0098]步骤2.5、更新区间Ce 11_1的状态:
[0099]Cel 1_1.Cel IM (now) =Cell_l.CellM(pre)+Cell_l.Cel lCTIN(now)-Cel 1_
1.CelICTO UT(now),式中,Cell_l.CellM(now)表示当前周期时刻区间Cell_l内的列车数,Cell_l.CellM(pre)表示上一个周期时刻区间Cell_l内的列车数;
[0100]Cel 1_1.CellN(now) = Cell_l.CellN(pre)+Cell_l.CellDPT(now)-Cell_
l.CellARV(now),式中,Cell_l.CellN(now)表示当前周期时刻区间Cell_l内列车上的在途乘客总数,Cell_l.CellN(pre)表示上一个周期时刻区间Cell_l内列车上的在途乘客总数;
[0101]若Cell_l.CellM(now)>0,则:
[0102]Cell_l.CellS(now)=Cell_l.CellN(now)/{Cell_l.TrainCAPXCell_l.CellM(now)},式中,Cel Ij.Cel IS (now)表示当前周期时刻区间Cel 1_1内的列车平均乘客饱和度;
[0103]若Cell_l.CellM(now)< = 0,则:
[0104]Cell_l.CellS(now) = O0
[0105]优选地,在所述步骤2.1中,若区间Cellj没有任何与其直接相连的下游站台,则将所述 Cell_l.CellU(now)设为 O。
[0106]本发明根据实时ATS运能数据推算轨道网络各站台及区间内的虚拟列车运行过程及状态,再根据列车推演结果以及AFC客流短期预测结果和客流选择行为特征参数推算轨道网络中的客流时空分布。
[0107]通过本发明提供的算法可以得到如下数据:实时区间列车数,实时区间乘客数,实时区间列车乘客拥挤度,实时站台停站列车数,实时站台停站乘客数,实时站台停站列车乘客拥挤度,实时站台滞留候车人数,实时站台候车区人数,从而为轨道交通的管理提供便利。
【附图说明】
[0108]图1为计算区间Cell_l流出乘客时的计算模型图;
[0109]图2为计算一种情况下的站台Plat_l流出乘客的计算模型图;
[0110]图3为计算另一种情况下的站台Plat_l流出乘客的计算模型图;
[0111]图4为计算一种情况下的区间Cell_l流入乘客的计算模型图;
[0112]图5为计算另一种情况下的区间Cell_l流入乘客的计算模型图;
[0113]图6为计算一种情况下的站台Plat_1i^入乘客的计算模型图;
[0114]图7为计算另一种情况下的站台Plat_l流入乘客的计算模型图。
【具体实施方式】
[0115]为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。
[0116]在进行本发明提供的一种轨道交通网络化运行推演算法前需要针对轨道交通构建轨道网络拓扑结构,在轨道网络拓扑结构中每个轨道交通站点为一个集群,若当前轨道交通站点包含有N条轨道交通线路,N多1,则当前轨道交通站点包含N个逻辑站点,每个逻辑站点为当前集群下的一个子集群,每个逻辑站点包含一个位于轨道交通上行线路上的站台及一个位于轨道交通下行线路上的站台,则两个站台分别为当前子集群下的两个节点,相邻两个轨道交通站点中通过同一根轨道可直接到达的两个站台在轨道网络拓扑结构中通过一个区间连接起来。
[0117]在不考虑算法输入数据异常的情况下,本发明提供的一种轨道交通网络化运行推演算法可以简单概括为以下步骤:
[0118]步骤1、获取静态配置及离线参数数据;
[0119]步骤2、根据离线参数数据,初始化所有区间和站台的初始状态变量;
[0120]步骤3、以一个周期时长为固定间隔(30秒)循环计算轨道网络的状态(包括6个子过程);
[0121]步骤3-A、计算区间流出乘客;
[0M2] 步骤3-B、计算站台流出乘客;
[0123]步骤3-C、计算区间流入乘客;
[0124]步骤3-D、计算站台流入乘客;
[0125]步骤3-E、更新站台状态;
[0126]步骤3-F、更新区间状态。
[0127]其中,步骤I与步骤2在程序启动时首次执行,并且在程序持续运行过程中每天凌晨执行一次;通常在轨道网络中无列车运营时段可以以全零状态初始化所有区间和站台的状态,这样可以得到与真实情况完全一致的初始状态,对后续推演不会产生任何影响;然而在一些情况下无法选定这种“全零”的时刻来启动系统,如在早高峰时段出现程序异常关闭重启后,此时需要使用离线推演的轨道网络区间及站台状态(以计划ATS数据、历史客流数据作为输入)来作为程序启动时刻所有区间及站台的初始状态值;为了综合这两种初始化情况,统一采用离线状态来作为初始化的状态值,而在离线状态中非运营时段轨道网络状态可以设定为“全零”(通过剔除计划ATS数据中非运营时段调配列车产生的列车进出站记录,再进行离线推演得到离线状态)。另外,由于在某个正常运营时刻,轨道网络的真实状态与离线推演得到的状态几乎不可能是完全一致的,这种不一致会导致后续推演的结果出现额外的误差,更严重的后果是导致推演单元(区间或站台对象)在某些时刻的推演结果出现异常(如储车量M<0,需要使用局部离线模式或使推演单元的状态为O)。
[0128]由于步骤I需要每天被执行一次,步骤3则是每个周期30秒被执行一次,所以在程序实现中将会生成两个定时器任务执行线程,步骤2会在每天凌晨步骤I执行过后第一次执行步骤3时被执行一次;而步骤3包含6个子过程,为了提高实时推演的计算效率,同时也考虑到推演算法逻辑中并行计算的可行性,6个子过程会按序先后生成6个线程组进行计算,仅当前一个线程组中的所有线程全部结束后,后一个线程组才会被创建并开始计算,其中每个线程会负责完成一条线路的计算任务,如果轨道网络中共有k条线路,则通过这一多线程机制可以至多提高k倍推演计算效率。6个子过程的计算具有前后依赖性,计算先后顺序固定;而在每个子过程内部,所有计算对象(区间或站台)之间具有并行更新无序性。
[0129]步骤3的基本思想是:前一周期时刻的轨道网络状态+当前周期时刻至前一周期时刻间时段内的轨道网络状态转移量=得到当前周期时刻的轨道网络状态。
[0130]假设已知前一周期时刻轨道网络所有状态变量A(pre)和周期时刻至前一周期时刻间时段内的BP类轨道网络状态转移量BP (now),则计算当前周期时刻轨道网络状态A(now)的具体方法(步骤3的6个子过程)如下。
[0131]在对步骤3的6个子过程进行详细说明之前,对使用的变量归纳说明如下:
[0132]算法变量共包括两大类:状态变量(A类变量)和状态转移变量(B类变量)。其中状态变量表示轨道网络在某个周期时刻的瞬间的各种状态值;状态转移变量表示轨道网络在前后相邻的两个周期时刻之间的时间段内发生的各种状态值的变化量,状态转移变量又包括输入变量(BP类变量)和中间变量(BM类变量)。
[0133]前一周期时刻的状态变量,叠加上该时刻到之后一个周期时刻之间的时间段内的状态转移变量,即可得到后一周期时刻瞬间的状态变量。因此轨道网络在某一周期时刻的状态由前一周期时刻轨道网络的状态以及两个周期时刻之间的状态转移量来决定。
[0134]状态变量(A类变量)
[0135]Ce IIM:某个周期时刻某区间内的列车数;
[0136]Cel IN:某个周期时刻某区间内列车上的在途乘客总数;
[0137]CellS:某个周期时刻某区间内的列车平均乘客饱和度(拥挤度或载客率);
[0138]PlatM:某个周期时刻某站台区域轨道内的列车数;
[0139]PlatN:某个周期时刻某站台区域轨道列车上的在途乘客总数;
[0140]PlatS:某个周期时刻某站台区域轨道上的列车平均乘客饱和度(拥挤度或载客率),到站列车需下车乘客已下车而站台候车乘客还未上车时的饱和度;
[0141]PlatQ:某个周期时刻某站台区域候车区内由于列车过饱和而无法及时上车的乘客数;
[0142]PlatPQ:某个周期时刻某站台区域候车区内滞留乘客及正常进站候车乘客的总和,即站台候车区乘客总数。
[0143]关于PlatPQ的解释:
[0144]站台候车区人数PQ通常会小于实际观测到的站台人数,因为真实的列车运营是站台攒够一个列车间隔时间(如5分钟)的进站台人数(如100人),然后列车一进站一下子把人全运走(假设列车很空),所以观测到的站台人数是从O?100缓慢均匀增加的。而推演模型中由于周期是30秒,所以每个时刻进站台人数是100/10 = 10人,并且在运能充足时每个周期的人都能被运走,相当于每次(30秒)赞够一小波人(10人)然后马上运走,所以就会出现模型中站台候车人数连续10个周期(共5分钟)一直保持站台候车区人数PQ= 10,而现实中可能是在这5分钟里观测到的站台人数是从O?100缓慢均匀增加的!! !根本原因是推演模型的时间粒度统一到了 30秒,而现实中列车间隔一定大于30秒,并且现实的列车间隔是不确定的。(从站台候车人数时变图形曲线上看就是,现实中的锯齿形曲线被滤波成了水平线)。另外,周期设30秒是因为站台轨道也要推演(保证列车运行推演的连续性),而列车停站时间较小,若周期取很大则违反了 CTM模型一个周期内车辆不得穿越单元规定(违反会导致单元进出流量不守恒,模型计算出错),所以要将周期设为30秒,大多数停站时间都大于30秒,若个别小于30秒则处理成等于30秒。
[0145]状态转移变量(B类变量)外部实时输入变量(BP类变量)
[0146]PlatCTIN(来源为实时ATS运能数据):某个周期时刻至前一周期时刻之间的时间段内流入某站台轨道的列车运能(列);
[0147]PlatCTOUT(来源为实时ATS运能数据):某个周期时刻至前一周期时刻之间的时间段内流出某站台轨道的列车运能(列);
[0148]CellCTIN(来源为实时ATS运能数据):某个周期时刻至前一周期时刻之间的时间段内流入某区间的列车运能(列);
[0149]CellCTOUT(来源为实时ATS运能数据):某个周期时刻至前一周期时刻之间的时间段内流出某区间的列车运能(列);
[0150]PlatQGT(来源为实时AFC客流数据):某个周期时刻至前一周期时刻之间的时间段内由闸机进站后到达某站台候车区的非换乘乘客(包括通道换乘、出站换乘、同站台换乘)。
[0151]状态转移变量(B类变量)中间变量(BM类变量)
[0152]PlatCPIN:某个周期时刻至前一周期时刻之间的时间段内流入某站台轨道的列车运能(人);
[0153]PlatCPOUT:某个周期时刻至前一周期时刻之间的时间段内流出某站台轨道的列车运能(人);
[0154]CellCPIN:某个周期时刻至前一周期时刻之间的时间段内流入某区间的列车运能(人h
[0155]CellCPOUT:某个周期时刻至前一周期时刻之间的时间段内流出某区间的列车运能(人);
[0156]PlatQTR:某个周期时刻至前一周期时刻之间的时间段内由各个方向通过通道、同站台、出站方式换乘到某站台候车区的总乘客数;
[0157]PlatQTRs:某个周期时刻至前一周期时刻之间的时间段内各个方向通过通道、同站台、出站方式换乘到某站台候车区的乘客数的集合;
[0158]PlatQIN:某个周期时刻至前一周期时刻之间的时间段内到达某站台候车区候车的乘客总数,即PlatQGT与PlatQTR之和;
[0159]PlatDPT:某个周期时刻至前一周期时刻之间的时间段内由某站台出发进入下游各区间的总人数;
[0160]PlatCN = PlatDPT中原该站台区域轨道列车内的乘客数;
[0161]PlatON:PlatDPT中由该站台候车区上车的乘客数;
[0162]PlatARV:某个周期时刻至前一周期时刻之间的时间段内随列车由上游各区间到达某站台的总乘客数;
[0163]PlatU: PlatARV中不下车的乘客数;
[0164]PlatD: PlatARV中下车的乘客数;
[0165]CellARV:某个周期时刻至前一周期时刻之间的时间段内随列车离开某区间到达下游站台的总人数;
[0166]CellU:CellARV中到站后不下车的乘客数;
[0167]CellD:CellARV中到站后下车的乘客数;
[0168]CellTR:CellARV中到站后下车换乘的乘客数;
[0169]Ce 11TRs: Ce 11ARV中到站后下车换乘到各个其他站台的乘客数的集合;
[0170]Ce IIET: Ce 11ARV中到站后下车出站点结束本次出行的乘客数;
[0171 ] CellDPT:某个周期时刻至前一周期时刻之间的时间段内由上游站台出发进入某区间的总乘客数;
[0172 ] Ce IICN: Ce IIDPT中原上游站台区域轨道列车内的乘客数;
[0173]CellON:CellDPT中由上游站台候车区上车的乘客数。
[0174]其他静态配置参数
[0175]Step:推演周期(步长),默认30秒;由于模型假设一个周期30秒内列车不会穿越任何区间和站台对象的完整范围,因此平滑处理成运能数据之前的原始列车进出站台及进出区间记录的进出时间差最小为一个周期30秒,若不足30秒则将该列车的“出”记录的时刻向后顺延若干秒以满足30秒时间差的要求,由于通常前后两列列车间隔不会小于30秒,因此这样的处理不会打乱前后班次列车的先后顺序;
[0176]Nowtime:当前周期时亥Ij (完整日期格式);
[0177]Nowsec:当前周期时刻(近似到Step整数倍的当天绝对秒数);
[0178]Smooth:运能数据统计的平滑窗口大小(秒),默认20分钟即1200秒;
[0179]Moff set: Ce IIM和PlatM的取值间隔,理论上Ce IIM和PlatM的取值只可能是Moff set 的整数倍的数值,Moff set = Step/Smooth;
[0180]CoachNUM:某条线路的列车编组车厢数;
[0181]CoachCAP:某条线路的车厢定员人数;
[0182]TrainCAP:某条线路每列列车的定员人数;
[0183]Train⑶:某条线路的列车最大饱和度参数,默认值140% ;
[0184]CellURATE:某个周期时刻至前一周期时刻之间的时间段内随列车离开某区间到达下游站台的乘客中到站后不下车的比例;
[0185]CellETRATE:某个周期时刻至前一周期时刻之间的时间段内随列车离开某区间到达下游站台的乘客中到站后出站点结束本次出行的比例;
[0186]CellTRRATEs:某个周期时刻至前一周期时刻之间的时间段内随列车离开某区间到达下游站台的乘客中到站后换乘到各个其他站台的比例的集合;以上3组比例参数Ce IIURATE、Ce 11ETRATE、Ce 11 TRRATEs 归一化;
[0187]PlatINISTATE:某站台对象初始状态变量的集合;
[0188]CellINISTATE:某区间初始状态变量的集合。
[0189]对于上述任意一个变量而言,在该变量前增加前缀表示该变量所属的站台或区间,其中,站台用Plat表示,区间用Cell表示;增加后缀,表示该变量所属的周期时刻,其中,now表示当前周期时刻,pre表示上一个周期时刻。例如对于变量Cel IARV而言,Cel 1_
l.CellARV(now)表示当前周期时刻至前一周期时刻之间的时间段内随列车离开区间Cell_I到达区间Cell_l所对应的下游站台的总人数,其他变量以此类推。
[0190]Step3_A、计算区间 Cell_l.?^ 出乘客
[0191]如图1中一般情况下,计算Cell_l流出乘客:
[0192]Ce11_1.Ce11CPOUT(now)= Ce11_1.Ce11CTOUT(now)X Ce11_1.TrainCAP;
[0193]Ce 11_1.Ce 11ARV (now) = Ce 11_1.Ce 11 CPOUT (now) X Ce 11_1.Ce 11S (pre);
[0194]Cell_l.CellU(now)=Cell_l.CeIIARV(now)X Cell_l.Ce11URATE(now);
[0195]Ce 11_1.Ce IIET (now) = Ce 11_J.Ce 11ARV(now) X Ce 11_1.Ce 11ETRATE (now);
[0196]令0611_1.061111^(?,110¥)为当前周期时刻06111换乘往站台?的乘客数<611_
l.CellTRRATES(p,noW)为当前周期时刻Cell_l换乘往站台p的比例系数,p.PlatQTRs(Ce 11_1,now)为当前周期时刻换乘到站台p的乘客中来自Ce 11_1的乘客数,则
[0197]Cell_l.CeIITRs(p,now)
[0198]=p.PlatQTRs(Cell_l ,now)
[0199]= Ce11_1.Ce11ARV(now)X Ce11_1.Ce11TRRATES(p,now);
[0200]Cell_l.CelITR(now) = ΣCell_l.CelITRs(*,now),式中,ECell_l.CelITRs(*,now)表示当前周期时刻离开区间Cell_l换乘往各个不同站台的乘客数的和。
[0201 ]当Ce 11_1为终点类型区间的特殊情况时:
[0202]Cell_l.CellU(now) = 0 ;
[0203]其他计算过程同一般情况下计算方法。
[0204]Step3_B、计算站台 Plat_l.?^ 出乘客
[0205]如图2所示的第一种情况下,计算站台Plat_l流出乘客:
[0206]Plat_l.PlatCPOUT(now)=Plat_l.PlatCTOUT(now)XPlat_l.TrainCAP;
[0207]Cell_l.CellCPIN(now)=Cell_l.CellCTIN(now) XCell_l.TrainCAP;
[0208]cpout为Plat_l的载客出站列车运能(人)临时变量,则有:
[0209]cpout=Min{Plat_l.PlatCPOUT(now),Cell_l.CellCPIN(now)};
[0210]Plat_l.PlatCN(now)=Plat_l.PlatS(pre)Xcpout;
[0211 ] Ctmp为Plat_l的出站列车剩余运能(人)临时变量,则有:
[0212]Ctmp = cpout X Plat_l.TrainCD_Plat_l.PlatCN(now);
[0213]Plat_l.PlatQTR(now)= EPlat_l.PlatQTRs(*,now);
[0214]Plat_l.PlatQIN(now)=Plat_l.PlatQTR(now)+Plat_l.PlatQGT(now)。
[0215]若Ctmp<=0,则表示站台候车区乘客全部无法上车:
[0216]Plat_l.PlatON(now) =0;
[0217]Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now);
[0218]若Ctmp>0且Ctmp>=Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now),则表不站台候车区乘客可以全部上车:
[0219]Plat_l.PlatON(now)=Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now);
[0220]Plat—1.PlatDPT(now)=Plat—1.PlatON(now)+Plat_l.PlatCN(now);
[0221]Ctmp其他取值情况时,表示站台候车区乘客无法全部上车:
[0222]Plat—1.PlatON(now) =Ctmp;
[0223]Plat—1.PlatDPT(now)=Plat—1.PlatON(now)+Plat_l.PlatCN(now)0
[0224]如图3所示的第二种情况下,计算站台Plat—I流出乘客:
[0225]Plat_l.PlatCPOUT(now)=Plat_l.PlatCTOUT(now)XPlat—1.TrainCAP;
[0226]Cell—l.CellCPIN(now)=Cell—l.CellCTIN(now) XCell—l.TrainCAP;
[0227]Cell_2.CellCPIN(now)=Cell_2.CellCTIN(now)XCell_2.TrainCAP;
[0228]cpout为Plat—I的载客出站列车运能(人)临时变量,则有:
[0229]cpout=Min{Plat—1.PlatCPOUT(now),Cell_l.CellCPIN(now)+Cell—1.CellCPIN(now)};
[0230]Plat—1.PlatCN(now)=Plat—1.PlatS(pre)Xcpout;
[0231]Ctmp为Plat—I的出站列车剩余运能(人)临时变量,则有:
[0232]Ctmp = cpout XPlat—I.TrainCD-Plat—1.PlatCN(now);
[0233]Plat—1.PlatQTR(now) = EPlat_l.PlatQTRs(*,now);
[0234]Plat—1.PlatQIN(now) = Plat—1.PlatQTR(now)+Plat_l.PlatQGT(now) 0
[0235]若Ctmp<=0,则表示站台候车区乘客全部无法上车:
[0236]Plat—1.PlatON(now) =0;
[0237]Plat—1.PlatDPT(now)=Plat—1.PlatON(now)+Plat_l.PlatCN(now);
[0238]若Ctmp>0且Ctmp>= Plat—1.PlatQ(pre)+Plat_l.PlatQIN(now),则表不站台候车区乘客可以全部上车:
[0239]Plat—1.PlatON(now)=Plat—1.PlatQ(pre)+Plat_l.PlatQIN(now);
[0240]Plat—1.PlatDPT(now)=Plat—1.PlatON(now)+Plat_l.PlatCN(now);
[0241]Ctmp其他取值情况时,表示站台候车区乘客无法全部上车:
[0242]Plat—1.PlatON(now) =Ctmp;
[0243]Plat—1.PlatDPT(now)=Plat—1.PlatON(now)+Plat_l.PlatCN(now)0
[0244]当Plat—I为终点类型站台的特殊情况时:
[0245]Plat—1.PlatCN(now) =0;
[0246]Plat—1.PlatON(now) =0;
[0247]Plat—1.PlatDPT(now) = 0o
[0248]Step3_C、计算区间Cell—I流入乘客
[0249]如图4所示的第一种情况下,计算Cell—I流入乘客:
[0250]Cell—1.CellDPT(now) =Plat—1.PlatDPT(now);
[0251 ]Cell—1.CellCN(now) =Plat—1.PlatCN(now);
[0252]Cell—1.CellON(now) =Plat—1.PlatON(now) 0
[0253]如图5所示的第二种情况下,计算Cell—I流入乘客:
[0254]若Cell—1.06110卩預(110¥)=0且0611—2.06110?預(110¥)=0,则:
[0255]Cell—1.CellDPT(now) =0;
[0256]Cell—1.CellCN(now) =0;
[0257]Cell—1.CellON(now) =0;
[0258]否则:
[0259]Cell—1.CellDPT(now)=
[0260]Plat—l.PlatDPT(now)XCell—l.CellCPIN(now)/{Cell—l.CellCPIN(now)+Cell—
2.CellCPIN(now)};
[0261 ]Cell—1.CellCN(now)=
[0262]Plat—l.PlatCN(now) XCell—l.CellCPIN(now)/{Cell—l.CellCPIN(now)+Cell—
2.Ce llCPIN(now)};
[0263]Cell—1.CellON(now)=
[0264]Plat—l.PlatON(now)XCell—l.CellCPIN(now)/{Cell—l.CellCPIN(now)+Cell—
2.Ce llCPIN(now)}。
[0265]Step3_D、计算站台Plat—I流入乘客
[0266]如图6所示的第一种情况下,计算Plat—I流入乘客:
[0267]Plat—1.PlatU(now) =Cell—1.CellU(now) 0
[0268]如图7所示的第二种情况下,计算Plat—I流入乘客:
[0269]Plat—1.PlatU(now)=Cell—1.CellU(now)+Cell_2.CellU(now);
[0270]当Plat—I为始发类型或终点类型站台的特殊情况时:
[0271 ]Plat—1.PlatU(now) = 0o
[0272]Step3_E、更新站台 Plat—I 状态
[0273]当站台Plat—I为始发类型站台时:
[0274]Plat—1.PlatM(now) =0;
[0275]Plat—1.PlatN(now) =0;
[0276]Plat—1.PlatS(now) =0;
[0277]Plat—1.PlatQ(now) =Max{0,Plat—I.PlatQ(pre)+Plat—I.PlatQIN(now)-Plat—1.PlatON(now)};
[0278]Plat—1.PlatPQ(now)=Plat—1.PlatQ(now)+Plat_l.PlatQIN(now)0
[0279]当Plat—I为终点类型站台时:
[0280]Plat—1.PlatM(now) =0;
[0281 ]Plat—1.PlatN(now) =0;
[0282]Plat—1.PlatS(now) =0;
[0283]Plat—1.PlatQ(now) =0;
[0284]Plat—1.PlatPQ(now) = 0o
[0285]当Plat—I为除始发类型及终点类型外的中间类型站台时:
[0286]Plat—1.PlatM(now) = Plat—I.PlatM(pre)+Plat—1.PlatCTIN(now)-Plat_1.PlatCTOU T(now);
[0287]Plat—1.PlatN(now)=Plat—1.PlatN(pre)+Plat_l.PlatU(now)-Plat_l.PlatCN(now)o
[0288]若Plat—1.PlatM(now) >0,则:
[0289]Plat—1.PlatS(now)=Plat—1.PlatN(now)/{Plat—I.TrainCAPX Plat—1.PlatM(now)};
[0290]若Plat—1.PlatM(now) < =0,则:
[0291 ] Plat—1.PlatS(now) = 0。
[0292]Plat—1.PlatQ(now) =Max{0,Plat—I.PlatQ(pre)+Plat—I.PlatQIN(now)-Plat—1.PlatO N(now)};
[0293]Plat—1.PlatPQ(now)=Plat—1.PlatQ(now)+Plat_l.PlatQIN(now)0
[0294]Step3_F、更新区间 Cell—I 状态
[0295]Cel1—1.CelIM(now)=Cel1—1.CelIM(pre)+CeII—I.CellCTIN(now)-Cel1_1.CellCTO UT(now);
[0296]Cel 1 — 1.Cel IN (now) = Cel 1 — 1.Cel IN (pre)+Ce 11 —I.Cel IDPT (now)-Ce 11 —1.CellARV(now);
[0297]若Cell—l.CellM(now)>0,则:
[0298]Cell—l.CellS(now)=Cell—l.CellN(now)/{Cell—l.TrainCAPXCell—l.CellM(now)};
[0299]gCell—l.CellM(now)<=0jJ:
[0300]Cell—1.CellS(now) =0o
【主权项】
1.一种轨道交通网络化运行推演算法,其特征在于,包括以下步骤: 第一步、构建轨道网络拓扑结构,在轨道网络拓扑结构中每个轨道交通站点为一个集群,若当前轨道交通站点包含有N条轨道交通线路,N多1,则当前轨道交通站点包含N个逻辑站点,每个逻辑站点为当前集群下的一个子集群,每个逻辑站点包含一个位于轨道交通上行线路上的站台及一个位于轨道交通下行线路上的站台,则两个站台分别为当前子集群下的两个节点,相邻两个轨道交通站点中通过同一根轨道可直接到达的两个站台在轨道网络拓扑结构中通过一个区间连接起来; 第二步、以一个周期时长为固定间隔循环计算轨道网络拓扑结构中每个站台及每个区间的状态,对于任意一个站台Plat_l及任意一个区间Cell_l而言,其状态的计算步骤包括:步骤2.1、计算区间Ce 11_1流出乘客,计算得到如下变量: Cell_l.CellCPOUT(now)=Cell_l.CellCTOUT(now) XCell_l.TrainCAP,式中,Cell_l.CellCPOUT(noW)表示当前周期时刻至前一周期时刻之间的时间段内流出区间Cellj的列车所携带的人数,Cell_l.CellCTOUT(noW)表示当前周期时刻至前一周期时刻之间的时间段内流出区间Ce 11_1的列车的列数,Ce 11_1.TrainCAP表示区间Ce 11_1所对应的轨道交通线路线路每列列车的定员人数; Cell_l.CellARV(now)=Cell_l.CellCPOUT(now) XCell_l.CellS(pre),S*,Cell_l.CellARV(now)表示当前周期时刻至前一周期时刻之间的时间段内随列车离开区间Cell_I到达区间Cell_l所对应的下游站台的总人数,Cell_l.CellS(Pre)表示上一周期时刻区间Cell_l内的列车平均乘客饱和度;Cell」.Cel IU (now) =Cell_l.Cel IARV (now) X Cell_l.Ce 11 URATE (now),式中,Cel 1_1.Ce 11U( now)表示当前周期时刻Ce I Ij.Ce 11ARV (now)中到站后不下车的乘客数,Cel 1_l.CellURATE(now)表示当前周期时刻至前一周期时刻之间的时间段内随列车离开区间Cell_l到达下游站台的乘客中到站后不下车的比例; Cel 1_1.CellET(now) =Cel 1_1.CellARV(now) XCel 1_1.CellETRATE(now),式中,Cell_l.CellET(now)表示Cell_l.CellARV(now)中当前周期时刻到站后下车出站点结束本次出行的乘客数,Cell_l.CellETRATE(n0W)表示当前周期时刻至前一周期时刻之间的时间段内随列车离开区间Cell_l到达下游站台的乘客中到站后出站点结束本次出行的比例;Cell_l.CellTRs(p,now)=P.PlatQTRs (Cel 1_1 ,now) = Cell_l.CellARV(now) XCell_l.CellTRRATES(p,now),式中: Cellj.Ce I ITRs (p,now)表示当前周期时刻离开区间Cel Ij换乘往站台p的乘客数,p.PlatQTRs(Cel 1_1,now)表示当前周期时刻换乘到站台p的乘客中来自区间Cell_l的乘客数,Cell_l.CellTRRATES(p,now)表示当前周期时刻离开区间Cell_l换乘往站台p的比例系数; Cell_l.Ce 11TR (now) = ECell_l.Cel ITRs (*,now),式中,Cell_l.Ce IITR (now)表不当前周期时刻Cell_l.CellARV(now)中到站后下车换乘的乘客数,ECell_l.CellTRs(*,now)表示当前周期时刻离开区间Cell_l换乘往各个不同站台的乘客数的和; 步骤2.2、计算站台Plat j流出乘客,若站台Plat_l仅为一个区间Cel 1_11的上游站台,则计算得到如下变量: Plat_l.PlatCPOUT(now) =Plat_l.PlatCTOUT(now) XPlat_l.TrainCAP,式中,Plat_1.PlatCPOUT(now)表示当前周期时刻至前一周期时刻之间的时间段内流出站台Platj轨道的列车所运载的人数,Plat_l.PlatCTOUT(now)当前周期时刻至前一周期时刻之间的时间段内流出站台Plat_l轨道的列车的列数,Plat_l.TrainCAP表示站台Plat j所对应的轨道交通线路线路每列列车的定员人数; Cell_ll.CellCPIN(now)=Cell_ll.CellCTIN(now) XCell_ll.TrainCAP,S*,Cell_I1.(^110?爪(110?)表示当前周期时刻至前一周期时刻之间的时间段内流入区间(^11_11的列车所运载的人数,Cell_ll.CellCTIN(n0W)表示当前周期时刻至前一周期时刻之间的时间段内流入区间Ce 11_11的列车的列数,Ce 11_11.Tra inCAP表示区间Ce 11_11所对应的轨道交通线路线路每列列车的定员人数; cpout = Min{Plat_l.PlatCPOUT(now),Cell_l1.CellCPIN(now)},式中,cpout表不站台Plat_l的载客出站列车所运载的人数的临时变量; Plat_l.PlatCN(now) =Plat_l.PlatS(pre) X cpout,式中,Plat_l.PlatCN(now)表不当前周期时刻至前一周期时刻之间的时间段内由站台Plat_l出发进入下游各区间的总人数中原该站台区域轨道列车内的乘客数,Plat_l.?]^七3(口代)表示上一周期时刻站台?1&1:_I区域轨道上的列车平均乘客饱和度,到站列车需下车乘客已下车而站台候车乘客还未上车时的饱和度; Ctmp = cpout XPlat_l.TrainCD_Plat_l.PlatCN(now),式中,Ctmp表不站台Plat_l的出站列车剩余的能运载的人数的临时变量; Plat_l.PlatQTR(now) = EPlat_l.PlatQTRs(*,now),式中,Plat_l.PlatQTR(now)表示当前周期时刻至前一周期时刻之间的时间段内由各个方向通过通道、同站台、出站方式换乘到某站台候车区的总乘客数,EPlat_l.PlatQTRs(*,now)表示当前周期时刻至前一周期时刻之间的时间段内各个方向通过通道、同站台、出站方式换乘到站台Platj候车区的乘客数的和; Plat_l.PlatQIN(now) =Plat_l.PlatQTR(now)+Plat_l.PIatQGT(now),式中,Plat_1.PlatQIN(now)表示当前周期时刻至前一周期时刻之间的时间段内到达站台Plat j候车区候车的乘客总数,Plat_l.PlatQGT(now)表示当前周期时刻至前一周期时刻之间的时间段内由闸机进站后到达站台Plat_l候车区的非换乘乘客; 若Ctmp< = 0,则表示站台候车区乘客全部无法上车,则: Plat_l.PlatON(now) =0,式中,Plat_l.PlatON(now)表示当前周期时刻至前一周期时刻之间的时间段内由站台Plat_l出发进入下游各区间的总人数中由该站台候车区上车的乘客数; Plat_l.PlatDPT(now) =Plat_l.PlatON(now)+Plat_l.PlatCN(now),式中,Plat_1.PlatDPT(now)表示当前周期时刻至前一周期时刻之间的时间段内由站台Plat_l出发进入下游各区间的总人数; 若Ctmp>O且Ctmp> =Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now),则表不站台候车区乘客可以全部上车,式中,Plat_l.PlatQ(pre)表示上一周期时刻站台Plat_l区域候车区内由于列车过饱和而无法及时上车的乘客数: Plat_l.PlatON(now)=Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now); Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now); Ctmp其他取值情况时,表示站台候车区乘客无法全部上车: Plat_l.PlatON(now) =Ctmp; Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now); 若站台Plat_l为区间Ce 11_11及区间Ce 11_21的上游站台,则计算得到如下变量: Plat_l.PlatCPOUT(now)=Plat_l.PlatCTOUT(now)XPlat_l.TrainCAP; Cell_ll.CellCPIN(now)=Cell_ll.CellCTIN(now)XCel1_11.TrainCAP; Cell_21.CellCPIN(now)=Cell_21.CellCTIN(now) XCell_21.TrainCAP,式中,Cell_21.CellCPIN(now)表示当前周期时刻至前一周期时刻之间的时间段内流入区间Cell_21的列车所运载的人数,Cell_21.CellCTIN(n0W)表示当前周期时刻至前一周期时刻之间的时间段内流入区间Ce 11_21的列车的列数,Ce 11_21.Tra inCAP表示区间Ce 11_21所对应的轨道交通线路线路每列列车的定员人数; cpout=Min{Plat_l.PlatCPOUT(now),Cel1_1.CellCPIN(now)+Cell_l.CelICPIN(now)}; Plat_l.PlatCN(now)=Plat_l.PlatS(pre)X cpout; Ctmp = cpout XPlat_l.TrainCD-Plat_l.PlatCN(now); Plat_l.PlatQTR(now)= EPlat_l.PlatQTRs(*,now); Plat_l.PlatQIN(now)=Plat_l.PlatQTR(now)+Plat_l.PlatQGT(now); 若Ctmp< = 0,则表示站台候车区乘客全部无法上车, Plat_l.Plat0N(now)=0; Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now); 若Ctmp>0且Ctmp> =Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now),则表不站台候车区乘客可以全部上车: Plat_l.PlatON(now)=Plat_l.PlatQ(pre)+Plat_l.PlatQIN(now); Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now); Ctmp其他取值情况时,表示站台候车区乘客无法全部上车: Plat_l.PlatON(now) =Ctmp; Plat_l.PlatDPT(now)=Plat_l.PlatON(now)+Plat_l.PlatCN(now); 若站台Plat_l的下游未与任何区间相连,则: Plat_l.PlatCN(now) = 0;Plat_l.PlatON(now) = 0;Plat_l.PlatDPT(now) = 0; 步骤2.3、计算区间Cel 1_1流入乘客,若区间Cel 1_1为位于其上游的站台Plat的唯--条区间,则计算得到如下变量: Cell_l.Ce IIDPT (now) =Plat.PlatDPT (now),式中,Cell_l.CellDPT(now)表不当前周期时刻至前一周期时刻之间的时间段内由上游站台Plat出发进入区间Cell_l的总乘客数,Plat.PlatDPT(now)表示当前周期时刻至前一周期时刻之间的时间段内由站台Plat出发进入下游各区间的总人数; Cel 1_1.Cel ICN(now) =Plat.PIatCN(now),式中,Cel 1_1.Cel ICN(now)表不Cel 1_1.?6110?1'(110¥)中原上游站台区域轨道列车内的乘客数,?131:.?131^1'1(110¥)表示当前周期时刻至前一周期时刻之间的时间段内由站台Plat出发进入下游各区间的总人数中原该站台区域轨道列车内的乘客数Cel 1_1.Cel I ON (now) =Plat.P IatON (now),式中,Cel 1_1.Cel I ON (now)表不Cel 1_1.CellDPT(now)中由上游站台候车区上车的乘客数,Plat.PlatON(now)表示当前周期时刻至前一周期时刻之间的时间段内由站台Plat出发进入下游各区间的总人数中由该站台候车区上车的乘客数; 若位于区间Cell_l上游的站台Plat有两条相连的区间,分别为区间Cell_l及区间〇611_2,则若〇611_1.〇611〇卩預(110¥)=0且〇611_2.〇611〇?預(110¥)=0,式中,〇611_l.CellCPIN(now)及Cell_2.CellCPIN(now)=0分别表示当前周期时刻至前一周期时刻之间的时间段内流入区间Cell_l及区间Cell_2的列车所运载的人数,则: Cell_l.CellDPT(now)=0; Cell_l.CellCN(now)=0; Cell_l.Cell0N(now)=0; 否则: Cel1_1.CeIIDPT(now)= Plat.PlatDPT(now)XCell_l.CellCPIN(now)/{Cell_l.CellCPIN(now)+Cell_2.CellCPIN(now)}; Cel1_1.CellCN(now)= Plat.PlatCN(now)XCell_l.CellCPIN(now)/{Cell_l.CellCPIN(now)+Cell_2.CellCPIN(now)}; Cel1_1.CellON(now)= Plat.PlatON(now)XCell_l.CellCPIN(now)/{Cell_l.CellCPIN(now)+Cell_2.CellCPIN(now)}; 步骤2.4、计算站台?]^1:_1的流入乘客,若站台?131:_1的上游仅有一条区间0611_1,贝11:Plat_l.PlatU(now) =Cell_l.CeIIU(now),式中,Plat_l.PlatU(now)表不当前周期时刻至前一周期时刻之间的时间段内随列车由上游各区间到达站台Platj的总乘客数中不下车的乘客数; 若站台Plat_l的上游有两条区间,即区间Ce 11_1及区间Ce 11_2,则: Plat_l.PlatU(now) =Cell_l.CellU(now)+Cell_2.CelIU(now),式中,Cell_2.CellU(now)表示当前周期时刻Cell_2.CellARV(now)中到站后不下车的乘客数,Cell_2.CellARV(now)表示当前周期时刻至前一周期时刻之间的时间段内随列车离开区间Cell_2到达区间Ce 11_2所对应的下游站台的总人数; 若站台Plat_l没有对应的上游区间,或没有对应的下游区间,则: Plat_l.PlatU(now)=0; 步骤2.5、更新站台Plat_l的状态: 当站台Plat_l没有对应的上游区间,即为始发类型站台时: Plat_l.PlatM(now) = 0,式中,Plat_l.PlatM(now)表不当前周期时刻站台Plat_l区域轨道内的列车数; Plat_l.PlatN(now) = 0,式中,Plat_l.PlatN(now)表不当前周期时刻站台Plat_l区域轨道列车上的在途乘客总数; Plat—1.PlatS(now) = O,式中,Plat—1.PlatS(now)表不当前周期时刻站台Plat j区域轨道上的列车平均乘客饱和度,到站列车需下车乘客已下车而站台候车乘客还未上车时的饱和度; Plat—1.PlatQ(now)=Max{0,Plat—1.PlatQ(pre)+Plat_l.PlatQIN(now)-Plat_1.PlatON(now)},式中,Plat—1.PlatQ(now)表示当前周期时刻站台Plat—I区域候车区内由于列车过饱和而无法及时上车的乘客数; Plat—1.PlatPQ(now)= Plat—I.PlatQ(now)+Plat—1.PlatQIN(now),式中,Plat—1.PlatPQ(now)表示当前周期时刻站台Plat—I区域候车区内滞留乘客及正常进站候车乘客的总和,即站台Plat—I候车区乘客总数; 当站台Plat—I没有对应的下游区间,即为终点类型站台时: Plat—1.PlatM(now)=0; Plat—1.PlatN(now)=0; Plat—1.PlatS(now)=0; Plat—1.PlatQ(now)=0; Plat—1.PlatPQ(now)=0; 当站台Plat—I为除终点类型及始发类型外的其他类型的站台时: Plat—1.PlatM(now)=Plat_l.PlatM(pre)+Plat_l.PlatCTIN(now)-Plat —l.PlatCTOUT(now); Plat—1.PlatN(now)=Plat—I.PlatN(pre)+Plat—1.PlatU(now)-Plat_l.PlatCN(now); Plat—1.PlatQ(now)=Max{0,Plat—1.PlatQ(pre)+Plat_l.PlatQIN(now)-Plat_1.PlatON(now)}; Plat—1.PlatPQ(now)=Plat_l.PlatQ(now)+Plat_l.PlatQIN(now); 若Plat—I.PlatM(now) >0,则: Plat—I.PlatS(now)=Plat—I.PlatN(now)/{Plat—I.TrainCAPX Plat—I.PlatM(now)}; 若Plat—I.PlatM(now) < =0,则: Plat—1.PlatS(now)=0; 步骤2.5、更新区间Ce 11—I的状态: Cell—1.CellM(now)=Cell_l.CellM(pre)+Cell_l.CellCTIN(now)-Cell_l.CellCTOUT(now),式中,Cell—l.CellM(now)表示当前周期时刻区间Cellj内的列车数,Cell—1.CellM(pre)表示上一个周期时刻区间Cell—I内的列车数; Cell—l.CellN(now)=Cell—l.CellN(pre)+Cell—l.CellDPT(now)-Cell—l.CellARV(now),式中,Cel 1—1.CellN(now)表示当前周期时刻区间Cel 1—1内列车上的在途乘客总数,Cell—1.CellN(pre)表示上一个周期时刻区间Cell—I内列车上的在途乘客总数; 若 Ce 11—1.CellM(now) >0,则: Cel1 — 1.CellS(now)=Cel1 — 1.CellN(now)/{Cel1 — 1.TrainCAPX Cel1_1.CelIM(now)},式中,Cel Ij.Cel IS (now)表示当前周期时刻区间Cel I—I内的列车平均乘客饱和度; 若Cell_l.CellM(now)<=0,则:Cel 1_1.CellS(now) = 0。2.如权利要求1所述的一种轨道交通网络化运行推演算法,其特征在于,在所述步骤2.1中,若区间Ce 111没有任何与其直接相连的下游站台,则将所述Ce 111.Ce 11U (now)设为O O
【文档编号】G06Q50/30GK106021918SQ201610329595
【公开日】2016年10月12日
【申请日】2016年5月18日
【发明人】沈峰, 潘振兴, 杨宇伟, 娄亭, 袁静
【申请人】上海电科智能系统股份有限公司