黃 暢,姜辰宇,邢昕銓
(1.北京交通大學(xué),北京 100044;2.華南理工大學(xué),廣東 廣州 510641)
列車動(dòng)力學(xué)模型可以基于牛頓第二定律來建立。

式中,uf(x)為牽引力系數(shù);F(v)為最大牽引力;ub(x)為制動(dòng)力系數(shù);B(v)為最大制動(dòng)力;R(v)為行車阻力;G(x)為坡度阻力。
行車阻力滿足戴維斯方程如公式(2)所示。

式中,a,b,c和列車車輪與軌道之間的摩擦系數(shù)相關(guān)。
基于列車動(dòng)力學(xué)模型,列車的目標(biāo)函數(shù)與限制條件如公式(3)和公式(4)所示。從列車的目標(biāo)函數(shù)可以看出,當(dāng)距離是一定的時(shí)候,需要改變的變量是力的大小,可以是牽引力也可以是制動(dòng)力。此外需要根據(jù)其限制條件,定義起始狀態(tài)、終止?fàn)顟B(tài)以及行駛狀態(tài),在設(shè)置獎(jiǎng)勵(lì)的時(shí)候也需要通過限制條件設(shè)置獎(jiǎng)勵(lì)與懲罰。

為了實(shí)現(xiàn)在強(qiáng)化學(xué)習(xí)框架下的最佳列車控制,根據(jù)列車動(dòng)力學(xué)模型來定義狀態(tài),動(dòng)作,環(huán)境,獎(jiǎng)勵(lì)等必要因素,把火車做出決策的車載控制器定義為智能體;將鐵路條件和列車動(dòng)態(tài)特性看作環(huán)境速度;將剩余火車的運(yùn)行時(shí)間和位置定義為狀態(tài);牽引力和制動(dòng)力的大小被定義為動(dòng)作;基于優(yōu)化目標(biāo)和約束條件,速度、剩余的運(yùn)行時(shí)間和能量消耗被定義為獎(jiǎng)勵(lì)。環(huán)境可以在動(dòng)作和狀態(tài)轉(zhuǎn)換之間建立聯(lián)系,在與智能體互動(dòng)時(shí),環(huán)境以狀態(tài)和獎(jiǎng)賞給予回應(yīng),與環(huán)境交互后,智能體存儲(chǔ)在深度Q網(wǎng)絡(luò)中學(xué)到的知識(shí)。
如果將列車的位置、速度和時(shí)間看作是列車的狀態(tài),那列車的狀態(tài)僅和它前一個(gè)狀態(tài)以及駕駛員采取的行為相關(guān),而和之前狀態(tài)無關(guān)。如公式(5)所示,列車運(yùn)行被分為很多部分。在開始第一個(gè)狀態(tài)后,駕駛員每次選擇的行為都會(huì)產(chǎn)生下一個(gè)狀態(tài)。

式中,s0是列車的初始狀態(tài);sN是終止?fàn)顟B(tài)。可以明看出狀態(tài)si+1只和狀態(tài)si、動(dòng)作ai相關(guān)。因此,列車運(yùn)行過程可以看作是典型的馬爾科夫決策過程。
狀態(tài)的空間表達(dá)式可以定義為

式中,k=1,2,…,N-1;sk為第k步狀態(tài);pk,vk,tk為列車位于狀態(tài)sk時(shí),列車的位置、速度和剩余運(yùn)行時(shí)間;Δp為列車狀態(tài)轉(zhuǎn)移步;VH(pk)為pk位置的最高限速;Tr(pk)為pk位置的最小剩余運(yùn)行時(shí)間;Tm為由列車調(diào)度提供的列車計(jì)劃運(yùn)行時(shí)間。
定義狀態(tài)的時(shí)候,存在三方面的考慮:一是使用剩余運(yùn)行時(shí)間作為狀態(tài)的一個(gè)變量,更契合變化的計(jì)劃運(yùn)行時(shí)間;二是智能體通過獎(jiǎng)勵(lì)來學(xué)習(xí),選擇更節(jié)能的動(dòng)作,減少狀態(tài)的維度,同時(shí)提高收斂率;三是動(dòng)作一般發(fā)生在狀態(tài)轉(zhuǎn)換之間,為了防止在列車運(yùn)行的過程中發(fā)生列車倒車的情況,當(dāng)列車的速度減少為0的時(shí)候,不再采取任何動(dòng)作,列車終止運(yùn)行。
每次列車出發(fā)到結(jié)束存在初始狀態(tài)s0和最終狀態(tài)sN,每結(jié)束一次運(yùn)行,再次開啟下一次運(yùn)行,狀態(tài)回到s0。每次列車運(yùn)行都會(huì)以好的或者壞的結(jié)果結(jié)束,好的方式意味著列車準(zhǔn)時(shí)且精準(zhǔn)的停車;壞的方式意味著列車倒車,超速或超時(shí)。
S+(sN)和S-(sN)分別表示列車結(jié)束運(yùn)行時(shí)好的終止?fàn)顟B(tài)和壞的終止?fàn)顟B(tài)。Pm表示終點(diǎn)站的位置。將列車早于計(jì)劃時(shí)間停靠終點(diǎn)站看作是好的終止?fàn)顟B(tài)而非壞的,為了減少能耗,智能體通過學(xué)習(xí)來減少列車運(yùn)行時(shí)間且保證列車停靠的精確性。
為了提高列車初始狀態(tài)的多樣性以提高理想化的效率,將上一輪列車運(yùn)行的終止?fàn)顟B(tài)的上一步看作為下一輪列車運(yùn)行的初始狀態(tài)。因此,初始狀態(tài)s0可以被定義為

我們把列車牽引力和制動(dòng)力的大小看作是動(dòng)作變量。動(dòng)作ak-1發(fā)生在狀態(tài)sk-1和sk之間,然后在狀態(tài)sk時(shí)會(huì)采取動(dòng)作ak。根據(jù)牽引力和制動(dòng)力設(shè)置的大小,所有動(dòng)作都從這些力的集合中選擇。動(dòng)作空間可以被定義為A={-M,…,-1,0,1,…,M}。
在強(qiáng)化學(xué)習(xí)中,智能體是圍繞獎(jiǎng)勵(lì)來建立的。智能體主要學(xué)習(xí)如何在保證安全、準(zhǔn)時(shí)的前提下減少能耗。當(dāng)列車倒車、超速或超時(shí),設(shè)置智能體得到負(fù)獎(jiǎng)勵(lì)R-,當(dāng)列車精確地停在終點(diǎn)站且沒有超時(shí)時(shí),智能體得到正獎(jiǎng)勵(lì)R+。當(dāng)列車在行進(jìn)過程中,智能體得到的獎(jiǎng)勵(lì)為f(ci),定義為:

式中,i=0,1,…,N-1;ci為狀態(tài)轉(zhuǎn)移時(shí)列車消耗的能量;f(ci)為ci的負(fù)相關(guān)函數(shù);b,d為不相關(guān)系數(shù)。可以看出,當(dāng)能耗ci越大時(shí),f(ci)越小,滿足負(fù)相關(guān),即當(dāng)列車耗能越大時(shí),所獲得的獎(jiǎng)勵(lì)越小。
圖1展示了DQN如何學(xué)習(xí)列車?yán)硐腭{駛策略。框圖分為兩部分:第一部分主要用來生成經(jīng)驗(yàn)用于訓(xùn)練;另一部分用來訓(xùn)練Q-network。從記憶中隨機(jī)抽取(s,a,r,s')來對(duì)Q-network進(jìn)行訓(xùn)練。每次更新參數(shù)θ時(shí),智能體都會(huì)從記憶庫D中隨機(jī)抽取一部分記憶。參數(shù)θ通過梯度下降法來更新,然后周期性地更換目標(biāo)網(wǎng)絡(luò)的參數(shù)。這倆部分同時(shí)進(jìn)行以便實(shí)現(xiàn)功能最大化。

圖1 DQN學(xué)習(xí)列車?yán)硐腭{駛策略結(jié)構(gòu)圖
在仿真實(shí)驗(yàn)中,列車看作是一個(gè)重達(dá)200噸的質(zhì)點(diǎn),起點(diǎn)站和終點(diǎn)站之間共有1.53千米,每一百米提供一個(gè)狀態(tài)轉(zhuǎn)換點(diǎn)。相關(guān)參數(shù)如圖2所示。

圖2 參數(shù)圖
(1)探究三種不同的列車運(yùn)行時(shí)間在理想駕駛策略的基礎(chǔ)上對(duì)列車能耗的影響:方案一(Tm1=100 s)、方案二(Tm2=110 s)、方案三(Tm3=120 s)和方案四(Tm4=130 s)。四種情況下,列車的狀態(tài)如表1所示。

表1 列車在四種情況下的最終狀態(tài)
智能體在學(xué)習(xí)完列車300 000次狀態(tài)轉(zhuǎn)移步后,從情況一到情況四,平均速度不斷減少。在四種情況里面,列車一開始加速,然后滑行一段距離,制動(dòng)減速只會(huì)用于停車的時(shí)候。從圖3看出,列車在滿足準(zhǔn)點(diǎn)和安全前提下,列車能耗隨著列車計(jì)劃運(yùn)行時(shí)間的增大而減少。主要原因是隨著列車計(jì)劃運(yùn)行時(shí)間的增加,對(duì)于超時(shí)的懲罰會(huì)減少,所以智能體有更多機(jī)會(huì)去試錯(cuò),來自能量消耗的獎(jiǎng)勵(lì)會(huì)讓列車減少牽引力,使速度更小,能量消耗更少。

圖3 列車能耗曲線
第二部分探究神經(jīng)網(wǎng)絡(luò)的不同節(jié)點(diǎn)數(shù)在理想駕駛策略的基礎(chǔ)上對(duì)列車能耗的影響。共分6種情況來進(jìn)行比較,從方案一到方案六,每層網(wǎng)絡(luò)的神經(jīng)元個(gè)數(shù)為6、12、18、24、30、36。圖4展示Q值的收斂情況。

圖4 Q值收斂情況
可以看出,最終收斂步數(shù)約在5 000步,然后最終收斂近似動(dòng)作值都在0到-2間,峰值存在一定差別。得出結(jié)論:在其他參數(shù)一定的情況下,調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)每層神經(jīng)元的個(gè)數(shù)對(duì)訓(xùn)練速度的影響不大。

圖5 Q值收斂曲線
六種情況下,列車的狀態(tài)與神經(jīng)元個(gè)數(shù)如表2所示。

表2 列車在四種情況下的最終狀態(tài)
可以看出,列車在滿足準(zhǔn)點(diǎn)和安全前提下,列車能耗并非根據(jù)神經(jīng)元個(gè)數(shù)的增加呈現(xiàn)規(guī)律性變化,訓(xùn)練效果并非隨著神經(jīng)元的個(gè)數(shù)增加而變得更好,而是在其中一個(gè)值時(shí),訓(xùn)練效果達(dá)到頂峰。
本文提供了一種基于強(qiáng)化學(xué)習(xí)的列車節(jié)能優(yōu)化算法。大部分關(guān)于列車運(yùn)行策略的傳統(tǒng)研究都基于給定的模型和固定的參數(shù),這種研究對(duì)于像列車運(yùn)行這種數(shù)據(jù)量大,在線路參數(shù)時(shí)常變化的情況是存在很大弊端的。而基于數(shù)據(jù)型的方法,可以不斷更新駕駛策略,即使線路發(fā)生變化,也能靈活應(yīng)對(duì)。這種方法可以優(yōu)化列車控制策略且不依賴之前關(guān)于列車動(dòng)力學(xué)和列車速度曲線的知識(shí),同時(shí)也可以靈活應(yīng)對(duì)變化的鐵路參數(shù)和運(yùn)行時(shí)間。同時(shí)在理想駕駛策略的基礎(chǔ)上,列車最大制動(dòng)力、神經(jīng)網(wǎng)絡(luò)層數(shù)等也可能會(huì)對(duì)列車能耗造成一定影響。■