• 沒有找到結果。

第七章 結論與建議

7.2 建議

1.由於臺鐵傳統區域鐵路系統之連鎖延滯所牽涉問題錯綜複雜,故進行相關研究時 皆需依據詳盡正確之營運及延滯資料作為分析基礎。經由本研究發現,目前相關 營運資料皆需由中央列車控制 CTC(centralized train control)資料庫擷取,但因 CTC 僅可偵測列車實際通過進站號誌機與出發號誌機之時間,而非列車實際停 站與離站啟動之時間,故如欲取得真正的列車延滯資料仍需經過轉換處理,蒐集 處理之難度甚高。故為利臺鐵營運單位之服務可靠度掌握提升及後續延滯相關研 究之分析所需,亟需臺鐵系統完整營運資料庫之建立。

2.本研究進行連鎖延滯相關分析過程中發現,由於臺鐵系統之營運資料本身即摻雜 延滯(包括初始延滯及連鎖延滯)成分在內,因常未能有效釐清所蒐集之運轉資料 以作為模擬模式建構及後續案例分析,故造成模式驗證時無法適用各項統計檢定 分析,更增加連鎖延滯後續分析之複雜度。另由於列車運轉之許多關鍵參數皆具 有隨機特性(例如本研究已考慮之站間運轉時間及停站時間等二項參數),但其亦 面臨蒐集資料前之複雜處理工作(如扣除有重大事件之營運資料),極為費時。故 有關前述各類型延滯量及相關重要參數資料之蒐集處理,皆屬延滯相關研究所必 須,建議營運單位若能建立完善之延滯資料庫,並提供初步之延滯時空及原因分 析,將可直接作為後續延滯更深入分析之基礎。

3.由於路線、交通、控制等三大類條件之交互作用皆會影響整體列車營運之「連鎖 延滯」,各項因素彼此間之交互作用相當複雜不易掌握分析,且由於模擬模式具 依個案所需輸入資料不同且數量極大之特性,故除前述 CTC 營運資料庫之建立 外,若欲進行軟、硬體之路線、交通、控制等各項條件改善對於連鎖延滯之全方 位影響分析時,將無法因應。建議仍需儘速結合臺鐵系統之運務、工務、機務、

電務等四大部門建立整合型臺鐵系統營運資料庫,以符所需。

4.本研究就錯綜複雜之關係中僅先探討釐清列車密度(交通條件)、調度策略(控制條 件)及初始延滯(外生條件)對於連鎖延滯之影響,表 1.1 所列舉的可能影響條件因 素中仍有許多項目值得繼續探討,建議後續研究可應用本模擬模式,篩選其他較

重要之關鍵因素進行分析,以逐步釐清影響連鎖延滯之關鍵因子。另臺鐵目前為 因應高鐵系統加入城際運輸市場,正面臨營運轉型而推動捷運化計畫,如何從工 程規劃角度分析站內軌道及月臺佈置方式(路線條件)對連鎖延滯之影響,以作為 營運單位改善可靠度之參考,亦是值得探討的重要課題。

5.鑑於臺鐵系統各路段之路線容量不儘相同,若能以列車密度與路段容量的比例 (即路線利用率,V/C)取代列車密度進行分析,似應較能反映路段之營運特性,

惟路段容量之估算因係為另一複雜問題,故本研究並未將容量估計納入研究範 圍,建議後續研究可考慮予以納入分析。

6.由本研究結果得知,當列車流量密度趨近於軌道容量時,連鎖延滯會隨初始延滯 及列車流量密度增加而呈非線性指數函數遞增,故如何迅速有效降低連鎖延滯對 列車正常營運之衝擊,一直是營運單位及相關研究所積極追求之目標。本研究雖 已針對營運單位最常採用之站間趕點及站內趕點等運轉調度策略模擬分析其對 連鎖延滯改善之程度,惟有關連鎖延滯降低之議題,仍有許多運轉整理策略(如 減班、變換列車順序、改變列車交通組成等)、單線雙向運轉調度策略、初始延 滯發生於站內股道之列車行駛股道選擇及運轉時隔等相關問題,值得後續研究進 一步分析,以使連鎖延滯各面向議題之研究更為週延完整。

參考文獻

中文部分

1. 李治綱、陳朝輝、簡聰裕(民 91),「捷運鐵路列車延滯事件發生後行車調 度策略之模擬分析」,運輸計劃季刊,第31 卷,第 2 期,頁 299-322。

2. 李治綱、鍾志成、林杜寰、張仕龍、張恩輔、陳一昌、張開國、吳熙仁(民 98),「公共運輸之安全績效:臺灣鐵路管理局之個案分析」,運輸計劃 季刊,第38 卷,第 4 期,頁 381~406。

3. 邱戊吉(民 99),應用 Max-Plus 代數分析鐵路時刻表穩定性,國立交通大 學交通運輸研究所碩士論文。

4. 交通部運輸研究所(民 94),軌道容量研究-臺鐵系統容量模式之建構分析

(一)。

5. 交通部運輸研究所(民 96),運輸系統容量分析暨應用研究─軌道系統

(1/4)。

6. 交通部運輸研究所(民 97),運輸系統容量分析暨應用研究─軌道系統

(2/4)。

7. 交通部運輸研究所(民 98),運輸系統容量分析暨應用研究─軌道系統

(3/4)。

8. 交通部運輸研究所(民 100),軌道系統容量與可靠度分析研究(1/3)。

9. 周斯畏(民 91),物件導向系統分析與設計使用 UML 與 C++,臺北市:全 華科技圖書股份有限公司。

10. 周學怡(民 86),列車運行計畫之可靠性分析,國立成功大學交通管理科學 研究所碩士論文。

11. 黃哲旭(民 85),捷運鐵路列車模擬模式之研究,國立成功大學交通管理科 學研究所碩士論文。

12. 黃範哲(民 90),高速鐵路系統運轉整理之研究,國立成功大學交通管理科 學研究所碩士論文。

13. 黃承傳、劉昭榮(民 100),「鐵路列車密度與初始延滯以及調度策略對連 鎖延滯之影響分析」,運輸計劃季刊,第40 卷,第 1 期,頁 63-98。

14. 謝興盛(民 92),捷運列車延誤時班距調整模式之模擬分析-以臺北捷運中、

高運量系統為例,國立成功大學交通管理科學研究所博士論文。

15. 簡聰裕(民 89),捷運系統運轉整理之研究,國立成功大學交通管理科學研 究所碩士論文。

16. 楊立安(民 96),臺灣鐵路運轉整理之研究,國立高雄第一科技大學運籌管

理系碩士論文。

17. 陳朝輝(民 97),應用物件導向模式技術於捷運系統運轉整理之模擬分析,

國立成功大學交通管理科學研究所博士論文。

18. 陳英相與張仁城(民 86),鐵路運轉規章(含概要、大意),臺北,千華圖 書出版事業有限公司。

19. 張恩輔(民 91),捷運系統運轉整理之模擬分析,國立成功大學交通管理科 學研究所碩士論文。

20. 賴勇成、李宗晏、劉牧阡、陳冠廷(民 99),「臺鐵時刻表穩定度與效率評 估」,第25 屆中華民國運輸學會論文集。

英文部分

1. Barter, W. M. (1998), “Application of Computer Simulation to Rail Capacity Planning”, Computers in Railways VI, pp. 199-211.

2. Braalund, U., Lindberg, P.O., Nou, A. and Nilsson, J.E. (1998), “Railway timetabling using Lagrangian Relaxation”, Transportation Science, Vol. 32(4), pp.358-369.

3. Briggs, K. and Beck, C. (2007), “Modeling Train Delays with Q-exponential Functions”, Physica A: Statistical Mechanics and its Applications, Vol. 378, Issue 2, pp. 498-504.

4. Carey, M. (1999), “Ex ante Heuristic Measures of Schedule Reliability”,

Transportation Research Part B, Vol. 33, pp. 473-494.

5. Carey, M. and Carville, S. (2000), “Testing Schedule Performance and Reliability for Train Stations”, Journal of the Operational Research Society, Vol. 51, pp. 666-682.

6. Carey, M. and Crawford, I. (2007), “Scheduling Trains on a Network of Busy Complex Stations”, Transportation Research Part B, Vol. 41, pp. 159-178.

7. Chakroborty, P. and Vikram, D. (2008), “Optimum Assignment of Trains to Platforms under Partial Schedule Compliance”, Transportation Research Part

B, Vol. 42, pp. 169-184.

8. Chang, S. C. and Chung, Y. C. (2005), “From Timetabling to Train Regulation – A New Train Operation Model”, Information and Software

Technology, Vol. 47, pp. 575-583.

9. Chang, Y. H., Yeh, C. H. and Shen, C. C. (2000), “A Multiobjective model for Passenger Train Services Planning: Applications to Taiwan’s High Speed Rail

Line”, Transportation Research B, Vol. 34, pp.91-106.

10. Chen, B. and Harker, P.T. (1990), “Two-moment estimation of the delay on single-track rail lines with scheduled traffic”, Transportation Science, Vol. 24, No. 4, pp. 261-275.

11. Chen, C.H., Lee, C.K. and Chang, E.F. (2003), “Simulation Analysis on the Dispatching Operation of Rapid Rail Transit”, Journal of the Eastern Asia

Society for Transportation Studies, V.5, pp323-338.

12. Cheng, Y. (1996), “Optimal train traffic rescheduling simulation by a knowledge-based system combined with critical path method,” Simulation

Practice and Theory, Vol. 4, pp.399-413.

13. Cheng, Y. (1998), “Rule-based train traffic reactive simulation model,”

Applied Artificial Intelligence, Vol.12, pp.5-27.

14. Corman, F., D’Ariano, A., Pacciarelli, D. and Pranzo, M. (2010), “A Tabu Search Algorithm for Rerouting Trains during Rail Operations”,

Transportation Research Part B, Vol. 44, pp. 175-192.

15. EuROPE-TRIP (2000), Ferrovie dello Stato Spa - Divisione Infrastruttura,

European Railways Optimisation Planning Environment - Transportation Railways Integrated Planning, Final Report, Roma Italy.

16. Fay, A. (2001), “A Fuzzy Petri Net approach to decision-making in case of railway track closures,” IFSA World Congress and 20th NAFIPS

International Conference, 2001. Joint 9th, Vol.5, pp.2858-2863.

17. Ferreira, L. and Higgins, A. (1996), “Modelling Reliability of Train Arrival Times”, Journal of Transportation Engineering, Vol. 122, pp. 414-420.

18. Goverde, R.M.P. (2005), “Railway Timetable Stability Analysis Using Max-Plus System Theory”, Transportation Research Part B, Vol. 41, pp.

179–201.

19. Hansen, I. A. (2000), “Station Capacity and Stability of Train Operations”,

Computers in Railways VII, pp. 809-816.

20. Hansen, I. A. and Pachl, J. (2008), Railway Timetable & Traffic: Analysis –

Modelling – Simulation, Railway Gazette, Hamburg Germany.

21. Higgins, A., Kozan, E. and Ferreira L. (1995), “Modeling Delay Risks Associated with Train Schedules”, Transportation Planning and Technology, Vol. 19, Issue 2, pp. 89-108.

22. Higgins, A. and Kozan, E. (1998), “Modeling Train Delay in Urban

Networks”, Transportation Science, Vol. 32, No.4, pp.346-357.

23. Huisman, T. and Boucherie, R. J. (2001), “Running Times on Railway Sections with Heterogeneous Train Traffic”, Transportation Research Part B, Vol. 35, pp. 271-292.

24. Hwang, C. C. and Liu, J. R. (2010), “A Simulation Model for Estimating Knock-on Delay of Taiwan Regional Railway”, Journal of the Eastern Asia

Society for Transportation Studies, Vol.8, pp. 1082-1097.

25. Jong, J.C., Lin, T. H., Lee, C. K. and Hu, H. L. (2010), “The Analysis on Train Reliability of Taiwan High Speed Rail”, Proceedings of 12th COMPRAIL

Conference, Wessex Institute of Technology, pp. 169-180.

26. Mattsson, L. G. (2004), “Train Service Reliability - A Survey of Methods for Deriving Relationships for Train Delays”, Written at the Request of the Swedish Institute for Transport and Communications Analysis, Stockholm Sweden.

27. Middelkoop, D. and Bouwman, M. (2000), “Train Network Simulator for Support of Network Wide Planning of Infrastructure and Timetables”,

Computers in Railways VII, pp. 267-276.

28. Middelkoop, D. and Bouwman, M. (2002), “Testing the Stability of the Rail Network”, Computers in Railways VIII, pp. 995-1002.

29. Missikoff, M. (1998), “An Object-oriented Approach to an Information and Decision Support System for Railway Traffic Control,” Engineering

Applications of Artificial Intelligence, Vol.11, pp.25-40.

30. Murray, A. T. and Grubesic, T. H. (2007), Critical Infrastructure Reliability

and Vulnerability, Springer Berlin Heidelberg.

31. Nelson, D. and O'Neil, K., (2000) “Commuter Rail Service Reliability On-Time Performance and Causes for Delays”, Transportation Research

Record, Vol. 1704, pp. 42-50.

32. Nie, L. and Hansen, I. A. (2005), “System Analysis of Train Operations and Track Occupancy at Railway Stations”, European Journal of Transport and

Infrastructure Research, Vol. 5, No. 1, pp. 31-54.

33. O’Dell, S. and Wilson, N.H.M. (1999), “Optimal Real-time Control Strategies for Rail Transit Operations during Disruption”, In Computer Aided Transit

Scheduling, Wilson, N.H.M. (Ed.), pp.299-323, Springer-Verlag.

34. Olsson, Nils, O.E. and Haugland, H. (2004), “Influencing Factors on Train

Punctuality—Results from Some Norwegian Studies”, Transport Policy 11, pp. 387-397.

35. Parkinson, T. (1996), “Rail Transit Capacity”, Transportation Research Board, National Academy Press.

36. Rebreyend, P. (2005), “DisTrain: A simulation tool for train dispatching,”

Proceedings of 8th International IEEE Conference on Intelligence Transportation Systems Vienna, Austria, pp.801-806.

37. Rietveld, P., Bruinsma, F. R. and Van Vuuren, D. J. (2001), “Coping with Unreliability in Public Transport Chains: a case for the Netherlands”,

Transportation Research Part A, Vol. 35, 539-559.

38. Vromans, M. J., Dekker, R. and Kroon, L. G. (2006), “Reliability and Heterogeneity of Railway Services”, European Journal of Operational

Research, Vol. 172, pp. 647-665.

39. Won, H.S., Kyung, S. C. and Sung, M. R. (2001), “An Analysis of Railroad Skip Stop System without Siding Track”, 9th World Conference on Transport

Research.

40. Yuan, J. and Hansen, I. A. (2007), “Optimizing Capacity Utilization of Stations by Estimating Knock-on Train Delays”, Transportation Research Part

B, Vol. 41, pp. 202-217.

41. Zhu, P. and Schnieder E. (2000), “Determining Traffic Delays through Simulation”, In Computer-Aided Scheduling of Public Transport, Braunschweig, Germany, pp387-397.

附錄一 原始程式碼

using System;

using System.Collections.Generic;

using System.Text;

namespace ClassLibrary1 {

public class TrainEvent : IComparable<TrainEvent>

{

public TrainEvent(string TrainID, int Time, string Station, EventTypes Type, Directions Dir)

}

using System;

using System.Collections.Generic;

using System.Text;

namespace ClassLibrary1 {

public DwellPlan(string stationName, int arrivalTime, int departureTime) {

get { return m_priority; } set { m_priority = value; } }

private List<DwellPlan> m_dwellPlanList;

public List<DwellPlan> DwellPlanList {

return DwellPlanList[Task].expDepTime - DwellPlanList[Task].expArrTime;

}

public int DefaultRunningTime() {

return DwellPlanList[Task].expArrTime - DwellPlanList[Task-1].expDepTime;

} } }

using System;

using System.Collections.Generic;

using System.Text;

using System.Diagnostics;

namespace ClassLibrary1

public enum EventTypes { ARRIVE, DEPART, PASS, FD_START, FD_STOP };

else if (EventTypes.DEPART == m_type)

using System;

using System.Collections.Generic;

using System.Text;

using System.Diagnostics;

namespace ClassLibrary1 {

get { return m_track2; }

protected bool CheckTrackNoneOccupy(ref Tracks track) {

protected bool CheckAA(ref TrainEvent TE, ref Tracks AnotherOne) {

} }

protected bool CheckDD(ref TrainEvent TE, ref Tracks AnotherOne) {

protected bool CheckAP_DP(ref TrainEvent TE, ref Tracks SecTrack) {

if (SecTrack.LastEventTime < 0) return true;

if (TE.Dir != SecTrack.LastEventDirection) return true;

Debug.Assert(EventTypes.ARRIVE == SecTrack.LastEventType || EventTypes.DEPART ==

SecTrack.LastEventType);

public virtual bool Arrival(ref TrainEvent TE, bool IsFollowingTrainPassing) {

return false;

public virtual void SetTrackBlock(string track, bool block) {

return "Type I";

}

public override bool IsAllTrackEmpty() {

if (null == m_track1.Occupied && null == m_track2.Occupied && null == m_track3.Occupied

&& null == m_track4.Occupied) return true;

public override bool Arrival(ref TrainEvent TE, bool IsFollowingTrainPassing) { Tracks Sec)

{

else if (CheckTrackNoneOccupy(ref Pri) && CheckDA(ref Pri, TE.Time) && CheckAA(ref TE, ref Sec))

(Pri.Occupied != TE.TrainID && Sec.Occupied == TE.TrainID));

if (Pri.Occupied == TE.TrainID)

}

if (CheckTrackNoneOccupy(ref Pri) && CheckDA(ref Pri, TE.Time) && CheckAP_DP(ref TE, ref Sec) )

public override void SetTrackBlock(string track, bool block) {

}

public override bool Arrival(ref TrainEvent TE, bool IsFollowingTrainPassing) {

public class StationIII_R : Station {

break;

private List<CrossOverInfo> CrossInfoList = new List<CrossOverInfo>();

private void UpdateCrossoverInfo(ref TrainEvent TE, string TrackName) {

private void UpdateCrossoverInfo(int Time, string RouteName) {

foreach( CrossOverInfo rule in CrossInfoList )

rule.UpdateFirstRoute(Time, RouteName);

}

private bool CheckCrossoverHeadway(ref TrainEvent TE, string TrackName)

private bool CheckCrossoverHeadway(int Time, string RouteName) {

public override bool Arrival(ref TrainEvent TE, bool IsFollowingTrainPassing) { Tracks Sec)

{

if (IsFollowingTrainPassing) {

if (CheckTrackNoneOccupy(ref Sec) && CheckDA(ref Sec, TE.Time) && CheckAA(ref TE, ref Pri) && CheckCrossoverHeadway(ref TE, Sec.Name))

{

Sec.SetLastEvent(ref TE);

UpdateCrossoverInfo(ref TE, Sec.Name);

return true;

}else if ( CheckTrackNoneOccupy(ref Pri) && CheckDA(ref Pri, TE.Time) &&

CheckAA(ref TE, ref Sec) && CheckCrossoverHeadway(ref TE, Pri.Name) ) { ref Sec) && CheckCrossoverHeadway(ref TE, Pri.Name))

{

Pri.SetLastEvent(ref TE);

return true;

}

else if (CheckTrackNoneOccupy(ref Sec) && CheckDA(ref Sec, TE.Time) && CheckAA(ref TE, ref Pri) && CheckCrossoverHeadway(ref TE, Sec.Name))

{

(Pri.Occupied != TE.TrainID && Sec.Occupied == TE.TrainID));

if (Pri.Occupied == TE.TrainID)

if (CheckTrackNoneOccupy(ref Pri) && CheckDA(ref Pri, TE.Time) && CheckAP_DP(ref TE, ref Sec) && CheckCrossoverHeadway(ref TE, Pri.Name))

{

Pri.SetLastEvent(ref TE);

UpdateCrossoverInfo(ref TE, Pri.Name);

return true;

}

else {

return false;

} }

public override void SetTrackBlock(string track, bool block) {

public class StationIII_L : Station {

public override bool Arrival(ref TrainEvent TE, bool IsFollowingTrainPassing) {

public class CrossOverInfo {

private int m_LastFirstRouteTime=-RailSystem.DayTime;

private string m_FirstRoute;

private string m_SecondRoute;

bool m_Is_H_DA_R;

public CrossOverInfo(string FirstRoute, string SecondRoute, bool Is_H_DA_R) {

m_FirstRoute = FirstRoute;

m_SecondRoute = SecondRoute;

}

public void UpdateFirstRoute(int NowTime, string RouteName) {

if (m_FirstRoute == RouteName) m_LastFirstRouteTime = NowTime;

}

public void Reset() {

m_LastFirstRouteTime = -RailSystem.DayTime;

}

public bool CheckHeadway(int NowTime, string RouteName, int H_DA_R, int H_AD_R) {

if (m_SecondRoute == RouteName ) {

if (m_Is_H_DA_R) {

if ((NowTime - m_LastFirstRouteTime) >= H_DA_R) return true;

else

return false;

} else {

if ((NowTime - m_LastFirstRouteTime) >= H_AD_R) return true;

else

return false;

} } else {

return true;

} } } }

附錄二 原始資料輸入及模擬結果輸出說明

一、模式輸入

本程式須從輸入檔讀入資料後方能進行模擬,而輸入檔內容必須符合格式,

才能使程式正確讀入進行分析,以獲得正確結果,本章將介紹輸入檔格式以及程 式輸入介面的操作方式。

(一)輸入檔格式

程式的輸入檔內容如附圖1 所示。

程式的輸入檔內容如附圖1 所示。