b)同站换乘类型 2(见图 3(b)): 两条公交线路拥有一部分重合的路段(即公交线路“共线”的情况),在重合路
段的公交站点上,乘客可进行两线路间的直接换乘;
c)步行换乘类型 1(见图 3(c)): 两条公交线路相交于一点,但在该点不同时存在公交站点,乘客需要步行在 两线路距离较近的车站间进行换乘。该换乘类型多见于城市道路大型交叉口附近 的车站;
d)步行换乘类型 2(见图 3(d)): 两条公交线路不直接相交,但两线路上有相距较近的公交站点,乘客可以在这
些站点间通过步行进行换乘,该类换乘多存在于相距较近的平行街道上运行的公 交线路之间。
a)同站换乘类型 1 b)同站换乘类型 2
c)步行换乘类型 1 站点:
d)步行换乘类型 2 线路 2: 步行路段: 线路 1: 图 3 两条公交线路间换乘类型示意图
上述四种换乘类型是两条公交线路间最基本的换乘类型,公交网络中更为复
杂的换乘关系均可归结为这四种换乘类型的组合或扩展。
2、路径选择中的换乘识别方法 通过前述对公交网络中基本换乘类型的分析可
以看出,当乘客在出行中经过 某一站点时,如果在站点前一路段与站点后一路段上所乘坐的公交线路发生了变 化,或者在公交方式与步行方式之间发生了转换,即可认 Ai 为乘客进行了换乘。 为了便于在路径选择算法中有效地识别换乘,可以将换乘所带来的时间损失和不 方便程度体现在路段阻抗上。不妨采用如下函数形式表示路段阻抗:
Wi = φ gTi + δ gTe
其中, Wi 为路段 i 的阻抗值;
Ti 为路段 i 的走行时间; Te 为平均换乘时间;
16
φ 为步行惩罚因子;
δ 为换乘惩罚因子。
在下列情况下,δ 取相应的换乘惩罚值Ct ,表示乘客在路径选择中发生了换 乘:
a)路段 i 为公交路段,前一路段 i-1 为步行路段,同时路段 i-1 不是出行路径中 的第一条路段;
b)路段 i 的公交线路集合 Ri 与前一路段 i-1 的公交线路集合 Ri ?1 的交集为空;
δ 其他情况取值为 0,表示没有发生换乘。
路段走行时间Ti 可以根据路段长度和城市公交平均运营速度及乘客步行平
i 是否为步行路段取值,如果 均速度综合计算。步行惩罚因子φ 则通过判断路段路段 i 为步行路段,则φ 取相应的步行惩罚值Cw ,如果为公交路段,则φ 取值为 1。
步行惩罚值Cw 与换乘惩罚值Ct 应大于 1,它们反映了步行时间和换乘时间对整个 公交出行时间的贡献程度。
3、模型的构造 在问题一模型的基础上,我们将地铁的信息也考虑其中,
进行建模。 乘客在公汽与地铁之间进行换乘,起平均的换乘等待时间设为Te ;
e1 表示在这段出行路线中,公汽换乘公汽的次数;
e2 表示地铁换乘地铁的次数; e3 表示地铁换乘公汽的次数; e4 表示公汽换乘地铁的次数。 由此,我们可以得出Te 为:
Te = 3e1 + 2e2 + 3e3 + 2e4
(1)
在此路线上的走行时间设为Ti ,那么可以得出:
Ti = 2e1 + 2e2 + 4e3 + 4e4
(2)
Wi 表示路段阻抗,即平均换乘所需时间,由换乘识别算法Wi 可以表示为:
Wi = φ gTi + δ gTe(3)
乘客在线路上的乘车消耗时间用 Si 表示; 由于地铁站点中的信息是由公汽站点所构成,所以我们可以将地铁站点转换
n 表示该路径所经过 成相应的公汽站点来表示,这样无疑简化了我们的模型,用
的所有站点数,那么乘客在线路上的乘车消耗时间 Si 可以表示为:
3 + 2.5 S = n = 2.75n (4) i
2 3 + 2.5
为计算的方便性,其中的 表示相邻公汽站与地铁站之间平均行驶时间。
2
用Ti 表示乘客在从起始站到目的站所花费的总阻抗时间,由以上(1)、(2)、 (3)、(4)式可以得到目标函数:
Ti = 0.8 ? Wi + 0.2 (5)
? S i
17
六、模型的评价
1 .数据的处理,采用数据处理技术对数据进行统一化(即每条线路均有上行 线和下行线)便于后面程序的实现。此方法在实际中起着至关重要的作用,因为 在大多数情况下,数据的形式可能是不符合我们的需要,只有通过对其进行处理 成我们需要的形式才有用。
2.针对问题一,根据实际的调查分析,考虑两种判断标准: (1)建立一个以转乘次数最小为第一目标、以出行时间最短为第二目标和以出
行费用最少作为第三目标的模型与算法。 (2)在第一目标条件下考虑以出行费用最少为第二目标和以出行时间最短作
为第三目标的模型。模型的算法采用了结构体的存储方式,便于数据的调用。最 后,根据算法编写程序并在计算机中运行,得出相应的结果。根据两种不同的判 断标准输出两种最佳路线,以便不同人使用。
3.在问题二中把地铁线路视为公汽线路,便于模型的建立和算法实现。但由 于地铁信息数据与公交的不统一,模型和算法的更加复杂。我们采用把相近的各 公交车站(地铁站附近)看作一点来考虑。
4.针对问题三,我们主要考虑相近的不同站点间的步行时间,采用时间阻抗函 数最小为转乘的选择标准。为转乘的选择提供了更加科学的理论依据,同时,这 也跟实际很吻合,有实际推广价值。
另外,在我们建立模型和算法中把同一线路的信息放在一个结构体里,有利 于乘客其他方面的查询。我们建立的系统完全可以满足不同乘客查询的需要,为 公司开发公交线路选择的自主查询计算机系统提供理论依据。
但各模型本身也存在着不小的缺陷,比如:假设条件过多,使模型本身变得 粗糙;总行程时间的准确度还有待提高;公交网络阻抗的时段性等等。
18
参考文献
[1] 谭浩强,C 语言程序设计,北京:清华大学出版社,2004. [2] 曹正华,最优化技术方法及 MATLAB 实现,北京:化学工业出版社,2005. [3] 赵巧霞,以最小换乘次数和站数为目标的公交出行算法,计算机应用,2004,
24(12),126-138 [4] 杨新苗,基于 GIS 的公交乘客出行路径选择模型,东南大学学报,2000,30 (6),87-91.
[5] 何胜学,公交网络最优路径的一种改进求解算法,上海理工大学学报,2006,
28(1),63-67. [6] 李丹,城市公交出行系统中最优路线算法研究,交通与安全,2005,11(147), 122-125
19
附录一
模型一程序清单:
#include
char a[4],b[4]; int i,j; clrscr();
if(ReadDat()) /* 提示文件读取信息 */ {
printf(\return; }
printf(\/* 输入起始站点的名称 */ for(i=0;i<4;i++)
scanf(\
printf(\/* 输入起始站点的名称 */ for(j=0;j<4;j++)
scanf(\StrPx();
DirChange(a,b); /* 实现直达与一次换乘的线路选择 */ if(DirChange(a,b)==0)
InDirChange(a,b); /* 实现两次换乘的线路选择 */ }
/* 文件读取函数 */ int ReadDat() {
FILE *fp; int i=0; char *p;
if((fp=fopen(\return 1;
while(fgets(GJ[i],1024,fp)!=NULL) {
p=strchr(GJ[i],'\\n');
20
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2007优秀论文 - 图文(4)在线全文阅读。
相关推荐: