列車運行圖編製的程序和方法是是什麼?
每天都要跑這麼多趟火車,有快有慢,我覺得鐵道部編運行圖的人太牛了,不知是怎麼做的
2017.2.23更新
寫這個答案的時候我還是個懵懂的本科生,現在我已經是一個運行圖博士了,所以更新了幾張圖
---
剛從實驗室做完編圖的大作業,然後看見這個問題,趁熱打鐵來回答一下。
首先說明,裡面很多東西都是用來搞笑的,目的是為了讓外行人讀懂。輕拍。
1. 什麼是列車運行圖
說的神叨叨的。列車運行圖,說白了就是火車運行的【距離——時間】曲線,就像是高中物理裡面學的。縱軸是車站的名字,相當於位移,橫軸是時間。運行線的斜率代表列車的運行速度。
圖1:如圖這就是單獨1列車的運行線,是不是很簡單。
圖2:這個圖,就是兩列車相對運行的時候的運行線,一列車上行,另一列車下行。中間的交點——就是兩列車交會的地方,學過高中物理的同學應該懂的。
圖3:這個圖跟上面那個有一點點區別。上行的那列車,有一小段是平的,這說明火車在這個地方停下來了。
圖4:這個是兩個車同向運行的運行線 ,可以從中看出來,一列車到某一個地方就停下來,等另一列車通過了之後再繼續運行。這就是所謂的越行。
嗯,其實運行圖不是什麼複雜的東西,它本質上就是列車運行的【距離——時間】曲線而已。
前段時間手繪了一張運行圖發到微博上,於是就被學機械的同學鄙視了一番,「那些一條條斜線擺在一起叫圖嗎哈哈。。。」
嗯,確實也是。運行圖嘛就是個高中生就能讀懂的東西。
但是有本事你畫一張出來唄。如果全路只有一列車,那麼愛怎麼開就怎麼開。如果有兩列車,那麼這兩列車之間的運行線就會相互影響。如果是很多列車同時運行,那麼這些列車的運行時間就會相互交織,運行圖也會變得很複雜。
2. 編製列車運行圖的條件
從上面的描述看來,要編圖,需要知道至少兩個條件:1. 列車在兩個車站之間運行的速度,用這個來確定運行線的斜率。2. 列車的出發時刻和停站時間。
對於運行速度,可以通過牽引計算確定。什麼是牽引計算?就是根據列車的牽引力、阻力和制動力,再結合縱斷面的條件算出來的運行時間。算完之後,拿個真的車去跑一跑,就確定了站與站之間的運行時間了。這個時間在編圖的時候叫做「標尺」。區間運行時間的確定,是一個很龐大的工程,但是一旦確定了,在編圖的時候還是相當好處理的。
最難處理的是列車停站和出發的問題。停站的時間又分為兩種,一種是客貨運作業所需要的停站時間,就是旅客上下車的時間等等,這樣的時間是固定的,沒什麼好說的。另一種停站的時間,是為了調整列車運行秩序的技術停站時間。
對於雙線鐵路來說,因為上行和下行的列車相互不會干擾,所以編圖的過程比較簡單。列車一列跟著一列走就行了。當然,問題也就來了,火車之間不能連著密密麻麻出發吧,不然會撞車的。所以列車之間的發車時間要有一定的間隔,這個叫做追蹤間隔時間「I」。(不要跟我說自動閉塞和非自動閉塞,我只是簡單粗暴地解釋一個問題。)這個是在編圖的時候必須滿足的基本要求,不然車就要撞了。
其次,在鐵路上運行的列車,速度不完全是一樣的,這就會導致一個問題,後行的快車,會慢慢趕上前行的慢車,這個時候快車就要越行,就相當於汽車的超車。。但是火車走在鐵軌上,不是打一手方向就能超車的。只有在車站裡面,才有列車越行的條件(不然為什麼要在一些鳥不拉屎的地方設一個車站啊,就是為列車越行創造條件),於是就會形成這樣的圖。。
編圖的時候,就要考慮這種越行的情況,得不斷調整運行線的位置,才能讓兩個車的交點在車站附近,避免慢車過長時間的等待。(對於編圖的人來說,客車是很討厭的,因為加進去一個客車,就意味著很多本來走得好好的貨車要讓車。。。)
對於單線鐵路來說,問題就復!雜!了!
單線鐵路就是車站之間的線路只有一對軌道 ,每兩個車站之間只能走一列火車(無論是什麼方向,只能一列)。這個時候,就好像在狹窄的只有一車道的山路上,只能上去一個車,下來一個車這樣交替運行。於是,運行線變成了這個樣子(圖略丑,其實它不是這樣的)。。
上下行的車,在車站之外的區間是不能交叉的,不然兩個方向的車就撞上了(單線鐵路只有一對鐵軌啊魂淡……)所以,兩根線的交叉,一定要打在車站裡面……於是,編圖的人就要不斷不斷的挪動運行線的位置,讓那些該死的交叉都打在車站裡面。
而且。。。在車站裡面的交叉也不能亂打啊!!相對方向的列車開進同一個車站裡面要保持一定的時間間隔,以防止相撞,人命關天啊!!
畫個平面圖解釋一下這些間隔時間。
第一個圖,是一車到達,一車出發的情形。藍車要完全接到車站裡面,紅車隔幾分鐘才能發出去,保證安全。
第二個圖,是一車進站避讓,另一車通過的情形。藍車要完全接到站里停穩,紅車才能從站外嗖一聲通過車站,然後藍車才能默默從車站裡面啟動,繼續向前走,這當中的時間也要間隔。不然藍車還沒完全從左邊接進來,紅車就從右邊衝過來了,會撞車的。
上面說到的這些都是編圖的必須滿足的條件,不滿足這些條件,是要出事的。有了這些條件之後,就可以開始編圖了。只要滿足這些條件的運行線(不完全是這些……還有一些太複雜就不解釋了,什麼τ不、τ會、τ連通、τ連發的 ),都是可行的解。但是滿足這些運行線,並不意味著就能使用。還要考核運行圖的通過能力和速度指標。(這就是老師給們作業打分的標準啊……)
3. 編製列車運行圖的過程
列車運行圖的編製,一般是先編客車,再編貨車。因為客車要服務於旅客,所以比較金貴,讓旅客在中途一個小站等半個把小時貌似不太合適……因此客車對出發到達的時間點要求比較苛刻,然後還要考慮車底周轉的問題。因為光有時刻表,車廂調配不過來也是白弄。車廂又是全國各地到處跑的,還要定期檢修,還要留足時間給乘務員打掃衛生,換卧鋪的床單被罩,要考慮的因素很多的。
編完客車圖之後,貨車就要見縫插針,往客車圖裡面塞。當然,無論怎麼塞,都要符合之前說過的一些條件:時間間隔要保證,不能在不該會讓和越行的地方會讓和越行。
如圖,這是京廣高鐵高峰日全天全線的運行圖(偽),它是用計算機程序編製的(畫圖的軟體是我自己編的,暫時沒有開源的計劃)。
以上只是列車運行圖編製的基本理論,對於具體的運行圖編製,要考慮多個方面的因素,比起上面說的要複雜得多。只是在學校學到這麼多,還沒有真正接觸過實際運行圖的編製,所以也只能夠說這麼多了。
其實,設備條件一定的情況下,一張圖能畫下的運行線是有限的,也就意味著一天內通過某一個區間的列車對數是有限的,不能無限多地開車(運行線死活都畫不下的時候很痛苦啊),因此有的人說,多開一些火車就能提高運力啊什麼的……那簡直是太天真了。
這個圖,理論上計算出來的通過能力是24列車,用計算機模擬的方法,最多也就畫上去了22對,然後就再也畫不下了。
其次,運行速度不同的列車要頻繁停車會讓是很煩人的,所以為什麼鐵路不願意開那麼多等級的車,尤其是高鐵。煩人倒是次要原因,主要原因是不同速度的列車要頻繁會讓,浪費能力啊(專業人士來解釋一下扣除係數……)。所以買到D打頭的車看到時速表飆到300不要覺得自己佔便宜了啊,是因為鐵路懶得開慢一些罷了。
運行圖在一些樞紐的地方會變的更加複雜,一個城市如果銜接多個方向的話,那麼運行圖就很複雜了。
運行圖上面的運行線都是相互制約的關係啊,其中那一根線動了時間點,那麼後續其他的線都要跟著移動。所以可以想像,如果一個車在某個站因為各種原因晚點出發哪怕那麼一分鐘,那麼後面的車就全部跟著呵呵了。。。
好多年來,列車的運行圖都是靠人工編製的,現在運用計算機的輔助(注意是輔助),可以大大提高編圖的效率。但是這樣編的圖,只能實現一個可行解。如果需要讓計算機自動生成運行圖,自動優化列車運行計劃,那麼還需要建立一些數學模型來進行求解(0-1規劃,整數規劃等。。)對這方面的知識,還在研究學習之中。
列車運行圖的編製問題主要有數學規劃方法和模擬人工方法兩種。
數學規劃方法是通過對列車在時空網路上運行的過程建立模型,並設計相關的求解演算法對列車運行圖的編製問題進行求解。Cordeau(1998)指出,數學規劃模型能較準確地描述問題,有利於對問題進行建模,但由於路網的龐大及問題的複雜性,運行圖編製問題的本質是NP問題,無法確定的解的解析形式,有時候針對特定的目標甚至無法得出精確解。數學規劃方法的局限性導致了大多數模型不得不對鐵路運輸實際生產過程進行了簡化,僅就某些方面,如列車的到發時刻、到發線的運用等進行建模,而忽略了其他相關的因素影響,大部分模型只適用於簡單的算例。數學規劃方法以線性混合整數規劃為主,採用拉格朗日鬆弛法(Lagrangian Relaxation)、列生成法(Column Generation)、分支定界法(Branch and Bound Algorithm)、模擬退火法(Simulated Annealing)及遺傳演算法(Genetic Algorithm)等方法求解,目前數學規劃方法還主要停留在理論研究階段,在生產實踐中的應用較少。採用模擬人工方法編製列車運行圖,是利用計算機代替人的手工操作,依據人手工編製列車運行圖的經驗進行列車運行圖的編製。這種方法克服了數學規劃方法求解困難的缺點,易於建立計算機模型,求解速度較快,但其編製的列車運行圖質量在很大程度上要取決於程序設計的合理性,因此往往以尋找滿意的可行解為目標。隨著人工智慧技術的發展,專家系統被應用在列車運行圖的編製問題中,這種方法主要是基於專家知識系統從而在計算機上模擬專家進行解決問題的過程。
以上。
鐵道部每年都會做客流和貨流的統計,根據這個來確定跑多少車
編製運行圖的是一種兩分格的圖紙先是客車,再是貨車先把航空線弄出來,再調整07年去濟南局的調度所實習,每個台旁邊都有個運行圖,下面有西南交大編製。具體的再細說吧不是鐵路專業出身,偽車迷。我覺得大站快車追蹤運行的模式比較好。比如以京滬高鐵做本線為基準,每隔幾小時給大站快車開一個半小時的窗口,然後往"支線":津秦沈-沈大-沈哈,津京,中部的膠濟,南邊的寧杭甬台溫福廈,滬寧杭...進行窗口推移擴展。這樣實現本線和所有支線的大站快車追蹤。缺點是只能將線路看成樹形分支,而不能出現閉環。在此基礎上,將全天運營分幾個周期。每個周期以標杆車(大站快車)開始,然後密集開行同等級G車,只是停站數越來越多(均速越來越慢),這樣單向不會出現待避問題。在下一個周期開始前一個小時,停止G車發車,開行以待避為主的D車,重點待避下一周期的標杆。
我們的畢業設計 差不多就是這個意思...
求編圖軟體
減小客貨的速差是解決排圖難的一個方法。現在鐵道部也在弄這個,貨車這回提速到90,然後有的班列按120排圖。排圖的時候,有時候也要考慮機車的運用,哪裡換掛和換司機,站場能力。站場能力更是個讓人頭疼的東西,尤其是進京車這種車,排圖必須考慮站場能力。還有就是要考慮一下天窗時間。有時候這東西也影響排圖的質量和平均速度。
列車運行原則上以北京方向為上行,全國各線的列車運行方向,以鐵道部的規定為準,但樞紐地區的列車運行方向由鐵路局規定。列車按規定編定車次,上行列車編為雙數,下行列車變為單數,在個別區間,使用直通車時,可與規定的方向不符。
推薦閱讀:
※如何設計能夠測試程序員真實水平的在線題庫?
※對於非計算機專業的人來說,學些基本的編程能力有沒有多大的意義?
※已打亂的三階魔方的最簡復原步驟?
※你熟悉的GUI系統一般怎麼處理局部位置的更新?
※程序員的核心競爭力是什麼?