李新琴,牛林杰
(蘭州交通大學(xué) 交通運(yùn)輸學(xué)院,甘肅 蘭州 730070)
編組站的主要工作是解編作業(yè),合理地組織列車解體作業(yè)和編組作業(yè)時(shí)編組站調(diào)度工作的核心問題,同時(shí)解編作業(yè)的優(yōu)化是整個(gè)階段計(jì)劃優(yōu)化體系的關(guān)鍵內(nèi)容之一。編組站階段計(jì)劃的優(yōu)化還涉及配流方案以及到發(fā)線、調(diào)機(jī)合理運(yùn)用,其中解體順序和編組順序的協(xié)調(diào)優(yōu)化是整個(gè)階段計(jì)劃優(yōu)化的紐帶。對(duì)于編組站列車解編順序的協(xié)調(diào)問題,本文采用調(diào)機(jī)的有限狀態(tài)機(jī)模型,有限狀態(tài)機(jī)是一種面向?qū)ο蟮臓顟B(tài)機(jī)思想,可以適合于編組站復(fù)雜的情況狀態(tài)管理。在鐵路現(xiàn)場(chǎng)變動(dòng)比較大的情況下,調(diào)車機(jī)車的運(yùn)行狀態(tài)是一定的,確定機(jī)車狀態(tài),正確的開發(fā)出機(jī)車運(yùn)行狀態(tài)函數(shù),使機(jī)車的運(yùn)轉(zhuǎn)合理并效率較高,能很好的應(yīng)用在編組站階段計(jì)劃?rùn)C(jī)車運(yùn)用自動(dòng)化中。
列車解體和編組任務(wù)安排就是對(duì)調(diào)車機(jī)車任務(wù)的安排,所以可以運(yùn)用調(diào)機(jī)的運(yùn)轉(zhuǎn)模擬有線狀態(tài)機(jī)簡(jiǎn)稱調(diào)機(jī)狀態(tài)機(jī)。另外,車流的推算是機(jī)車任務(wù)安排的前提。在這里假設(shè)車站內(nèi)只有一臺(tái)調(diào)車機(jī)車可以靈活使用,既可以解體、編組及取送。
調(diào)車機(jī)車運(yùn)用計(jì)劃用于合理安排每臺(tái)調(diào)車機(jī)車在本階段必須完成的調(diào)車工作以及這些調(diào)車工作的時(shí)間,它是車站階段計(jì)劃的關(guān)鍵內(nèi)容。只有合理運(yùn)用調(diào)車機(jī)車,正確組織編解取送,才能加速調(diào)車場(chǎng)的車輛集結(jié)過程,實(shí)現(xiàn)列車出發(fā)計(jì)劃,并完成裝卸任務(wù)和縮短貨車停留時(shí)間創(chuàng)造條件。通過調(diào)車機(jī)車的運(yùn)用安排,將車站的調(diào)車工作全面部署。調(diào)機(jī)的運(yùn)用主要是對(duì)一個(gè)作業(yè)區(qū)域內(nèi)多臺(tái)調(diào)機(jī)情況下的安排和分工,涉及到作業(yè)的流暢、平行作業(yè)干擾性盡可能小、工作量均衡;各區(qū)機(jī)車相互配合、相互創(chuàng)造條件、相互支援,形成一個(gè)解體、編組、取送車都高效率完成任務(wù)的系統(tǒng);同時(shí)還要考慮機(jī)車整備和司機(jī)吃飯時(shí)間、機(jī)車走行距離短、燃料節(jié)省等因素。
車站內(nèi)車流包括列車到發(fā)計(jì)劃以及編組計(jì)劃、確報(bào)信息、站存車信息、扣車信息和調(diào)車信息,以及裝卸線上的貨物裝卸情況。其中解體順序的確定主要依據(jù)列車到發(fā)計(jì)劃、確報(bào)信息。
配流的約束條件:①列車方向限制,即編組去向約束,到達(dá)列車中只有與出發(fā)列車編組去向相符的車流才能成為出發(fā)列車的車流來源。②技術(shù)作業(yè)限制。到達(dá)列車首先要經(jīng)過列車技術(shù)檢查、貨運(yùn)檢查、車號(hào)核對(duì)等作業(yè)后,才能進(jìn)入解體作業(yè)程序。③牽出線能力的限制,在一個(gè)階段內(nèi),解體、編組列車數(shù)量決定了牽出線解體、編組能力。④車流接續(xù)時(shí)間限制。用于運(yùn)行圖、編組計(jì)劃和調(diào)度日班計(jì)劃規(guī)定的編組始發(fā)列車車流,其接續(xù)時(shí)間必須滿足列車到、解、集、編、發(fā)所需的作業(yè)時(shí)間要求。⑤始發(fā)列車編組輛數(shù)限制。滿軸約束,即對(duì)必須滿軸出發(fā)的列車,其需求的車數(shù)就等于滿軸車數(shù);對(duì)可欠軸的列車,其需求的車數(shù)可小于滿軸車數(shù)。
有限狀態(tài)機(jī)(FMS)或有限狀態(tài)自動(dòng)機(jī)或稱狀態(tài)機(jī),是表示有限個(gè)狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動(dòng)作等行為的數(shù)學(xué)模型。系統(tǒng)的行為如果在不同的時(shí)間(環(huán)境)下,其工作不同,并且行為可以分成所謂的有限的狀態(tài)以及不重疊的程序塊時(shí),系統(tǒng)顯示了狀態(tài)行為。這其實(shí)說明了兩件事情,如果是狀態(tài)機(jī),肯定體現(xiàn)了離散的和有限的。
狀態(tài)存儲(chǔ)關(guān)于過去的信息,它反映了從系統(tǒng)開始到現(xiàn)在時(shí)刻的輸入變化。轉(zhuǎn)移指示狀態(tài)變更,并且用必須滿足來確使轉(zhuǎn)移發(fā)生的條件來描述它。動(dòng)作是在給定時(shí)刻要進(jìn)行活動(dòng)的描述。
在模型中假設(shè)到達(dá)列車使用的到發(fā)線不發(fā)生沖突,到發(fā)線問題已解決。以調(diào)機(jī)運(yùn)轉(zhuǎn)為核心,在車站到達(dá)場(chǎng)中,某一時(shí)刻場(chǎng)內(nèi)的到達(dá)列車是一定的,編組列車數(shù)量及出發(fā)時(shí)間也是一定的,所有調(diào)機(jī)的任務(wù)即狀態(tài)機(jī)的轉(zhuǎn)化狀態(tài)也是有限的。
設(shè)此時(shí)刻時(shí)間為t,調(diào)車場(chǎng)集結(jié)的待編現(xiàn)車記作d0,到達(dá)列車按到達(dá)時(shí)間排序依次:d1,d2,d3,…,ds,到達(dá)車輛總數(shù)為s。離此時(shí)刻最近的未出發(fā)列車記為f,f所需的車流為fj,在到達(dá)的列車總數(shù)s中,包含fj車流的列車數(shù)為m,不包含列車fj車流的列車數(shù)為n,即m+n=s,di為m中的一輛列車(i>=1),即到達(dá)列車并包含出發(fā)列車車流的一輛列車。dj(j>=1)為n中的一輛列車,即到達(dá)列車中并不包含出發(fā)列車車流的一輛列車。
在實(shí)際應(yīng)用過程中,在程序中加入時(shí)間控件,按實(shí)際時(shí)間的推移、實(shí)際到達(dá)時(shí)刻和出發(fā)列車的最晚出發(fā)時(shí)間做解體順序。
在狀態(tài)機(jī)模型中,最重要的就是建立一組狀態(tài)集(states)、一個(gè)起始狀態(tài)(start state)、一組輸入符號(hào)集(alphabet)和當(dāng)前狀態(tài)到下一狀態(tài)的轉(zhuǎn)換函數(shù)(transition function)的計(jì)算模型。
在調(diào)機(jī)狀態(tài)機(jī)中調(diào)機(jī)工作分為6個(gè)狀態(tài):
1、投喂時(shí)間。開春后,當(dāng)水溫上升到16℃以上,應(yīng)開始投喂。蝦一般夜間進(jìn)食,每天投喂時(shí)間選擇下午5-6點(diǎn)。
狀態(tài)①:空閑;
狀態(tài)②:解體m中的一輛;
狀態(tài)③:解體n中一輛;
狀態(tài)④:編組f列車;
狀態(tài)⑤:取送;
狀態(tài)⑥:其他(整備、吃飯等)。
起始狀態(tài)可以從任意狀態(tài)開始,在這里假設(shè)起始狀態(tài)為空閑。
1)Bool QuestNotFull(int num)//出發(fā)列車是否缺少車流;
2)Bool GetAndSend()//是否有取送作業(yè);
3)Void TimeToMash()//列車最晚編組時(shí)間到開始編組;
4)Void TimeOn()//出發(fā)列車最晚出發(fā)時(shí)間到,列車出發(fā);
5)Void FindNowCar()//尋找現(xiàn)車車數(shù);
6)Void DisCar(int n)//解體列車,n為解體此階段的第幾輛列車;
7)Int judgeDisCar()//判斷應(yīng)該解哪一列車,返回解體車輛的序號(hào)。
在此算法中機(jī)車有任務(wù)集合work[],每到達(dá)一列車任務(wù)集合就增加一個(gè),要編組列車任務(wù)、取送任務(wù)、列車的其他任務(wù)都加入其中。通過決策函數(shù)judgeDisCar()來判斷應(yīng)該解體哪一列車,在judge-DisCar()函數(shù)中用有限狀態(tài)機(jī)的算法實(shí)現(xiàn)函數(shù),返回一個(gè)序列值,即該解第幾列車。ResultList[],列車每解體一列車就在增加列車序號(hào),最終形成一個(gè)完整的列車解體順序表。TimeToMash()判斷是編組列車的最晚編組時(shí)間是否到了,GetAndSend()判斷是否有取送任務(wù),取送任務(wù)可直接尋找空閑時(shí)間安排取送任務(wù)。在事件觸發(fā)中用Timer控件實(shí)現(xiàn),通過引發(fā)Timer事件有規(guī)律的隔一段時(shí)間判斷機(jī)車運(yùn)行狀態(tài),并準(zhǔn)確給予下一狀態(tài)。
機(jī)車狀態(tài)轉(zhuǎn)換,見圖1。
圖1 機(jī)車狀態(tài)轉(zhuǎn)換
1)參數(shù)說明。列車解體由一臺(tái)調(diào)機(jī)擔(dān)當(dāng)、列車到達(dá)技檢作業(yè)時(shí)間為30min、出發(fā)技檢的時(shí)間為30min,解體時(shí)間為20min、列車編成數(shù)為35輛,允許欠軸發(fā)車。
2)廠內(nèi)現(xiàn)車為1/2、2/4、3/18、4/20、5/10。
3)到達(dá)列車車流數(shù)據(jù),見表1。
4)出發(fā)列車編組數(shù)據(jù),見表2。
表1 到達(dá)列車車流數(shù)據(jù)
表2 出發(fā)列車編組數(shù)據(jù)
5)結(jié)果。運(yùn)用有限狀態(tài)機(jī)推理的列車編組順序?yàn)?1302、22601、36208、36407、23802。
目前,我國(guó)鐵路編組站自動(dòng)化水平已經(jīng)較高,但是自動(dòng)化優(yōu)化還是有待以提高,本文應(yīng)用有限狀態(tài)機(jī)實(shí)現(xiàn)了自動(dòng)安排機(jī)車解體和編組任務(wù),是實(shí)現(xiàn)編組站全面自動(dòng)化的一部分,其產(chǎn)生的計(jì)劃的可執(zhí)行性較高,具有實(shí)際的應(yīng)用價(jià)值,有限狀態(tài)機(jī)執(zhí)行效率高,開發(fā)可模塊化,易于維護(hù),在研究和開發(fā)階段計(jì)劃?rùn)C(jī)車任務(wù)安排中有重要的意義。
[1] 謝曉陽.有限狀態(tài)機(jī)在RTC設(shè)計(jì)中的分析與應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008(5):77-78.
[2] 王明智,趙強(qiáng).編組站智能調(diào)度系統(tǒng)階段計(jì)劃優(yōu)化模型及算法研究[J].鐵道學(xué)報(bào),2005(6):1-9.
[3] 王正彬.基于解編順序的階段計(jì)劃車流推算模型及算法[J].西南交通大學(xué)學(xué)報(bào),2008,43(1):63-68.
[4] 王慈光.車站技術(shù)作業(yè)整體統(tǒng)籌模型[J].鐵路運(yùn)輸與經(jīng)濟(jì),1996,18(4):71-74.
[5] 薛鋒,王慈光.編組站列車編組順序的調(diào)整方法[J].鐵道學(xué)報(bào),2007,29(4):1-5.