張 淼,張 琦,張梓軒
ZHANG Miao1,2,3,ZHANG Qi2,3,ZHANG Zixuan4
(1.中國(guó)鐵道科學(xué)研究院 研究生部,北京 100081;2.中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 通信信號(hào)研究所,北京 100081;3.中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 國(guó)家鐵路智能運(yùn)輸系統(tǒng)工程技術(shù)研究中心,北京 100081;4.北京交通大學(xué) 軌道交通控制與安全國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100044)
(1.Postgraduate Department, China Academy of Railway Sciences, Beijing 100081, China;2.Signal and Communication Research Institute, China Academy of Railway Sciences Corporation Limited, Beijing 100081, China;3.National Research Center of Railway Intelligence Transportation System Engineering Technology, China Academy of Railway Sciences Corporation Limited, Beijing 100081, China;4.State Key Laboratory of Traffic Control and Safety, Beijing Jiaotong University, Beijing 100044, China)
近年來,隨著人民對(duì)運(yùn)輸速度及服務(wù)質(zhì)量需求的不斷提高,我國(guó)高速鐵路運(yùn)行里程得到飛速增長(zhǎng)。截至2018年底,我國(guó)高速鐵路運(yùn)營(yíng)里程達(dá)2.9萬km,超過世界高速鐵路總里程的65%。高速列車的運(yùn)行速度和運(yùn)行距離的增長(zhǎng)伴隨著巨大的能源消耗,高速鐵路系統(tǒng)能耗總量的不斷上漲及對(duì)高效環(huán)保和可持續(xù)發(fā)展的倡導(dǎo),使高速鐵路節(jié)能方法和技術(shù)研究十分關(guān)鍵。據(jù)統(tǒng)計(jì),整個(gè)高速鐵路能耗的80%均來自牽引能耗[1-2]。高速列車在規(guī)定的時(shí)間內(nèi)有多種不同的駕駛策略到達(dá)目的地,站間不同駕駛策略的運(yùn)行能耗圖如圖1所示。高速列車節(jié)能駕駛策略是在保證列車準(zhǔn)點(diǎn)、安全的前提下,尋求一條牽引能耗最小的運(yùn)行曲線。列車最優(yōu)節(jié)能駕駛策略實(shí)質(zhì)上是一類最優(yōu)控制問題,列車的牽引力和制動(dòng)力是優(yōu)化控制的輸入變量,列車速度和位移是列車狀態(tài)變量。約束條件是站間運(yùn)行時(shí)分,線路限速、變坡道、牽引力和制動(dòng)力限制等,優(yōu)化目標(biāo)是最小化運(yùn)行過程中的牽引能耗,最終目的是求得列車在站間的最優(yōu)駕駛序列及相應(yīng)的轉(zhuǎn)換點(diǎn)。
圖1 站間不同駕駛策略的運(yùn)行能耗圖Fig.1 Energy consumption diagram of different driving strategies between stations
近些年,國(guó)內(nèi)外的學(xué)者們運(yùn)用多種方法對(duì)列車運(yùn)行能耗的優(yōu)化問題進(jìn)行研究,王軼[3]引入迭代學(xué)習(xí)控制理論,對(duì)高速列車的基本阻力公式(Davis公式)的參數(shù)進(jìn)行辨識(shí)。衷路生等[4-6]基于高速列車單質(zhì)點(diǎn)力學(xué)行為的隨機(jī)離散非線性狀態(tài)空間模型,從概率的角度解決了模型中存在不完全可測(cè)列車狀態(tài)的困難,同時(shí)應(yīng)用子空間建模方法提出了高速列車的子空間預(yù)報(bào)模型,并針對(duì)高速列車過程模型存在時(shí)變參數(shù)的特點(diǎn),又進(jìn)一步提出基于時(shí)變遺忘因子的子空間建模方法。
節(jié)能運(yùn)行控制的目標(biāo)就是尋找一系列列車運(yùn)行方式的轉(zhuǎn)換點(diǎn),將列車運(yùn)行的各個(gè)區(qū)間聯(lián)系起來,同時(shí)滿足正點(diǎn)的要求。Liu等[7]和Khmelnitsky[8]建立列車運(yùn)行的最優(yōu)控制模型,利用龐特里亞金原理分析出列車的最優(yōu)駕駛工況。Howlett[9]研究具有廣義運(yùn)動(dòng)方程的列車控制問題中最優(yōu)駕駛策略的確定問題,利用龐特里亞金原理分析連續(xù)控制問題最優(yōu)策略的必要條件。Ko等[10]針對(duì)非線性最優(yōu)控制問題用動(dòng)態(tài)規(guī)劃方法尋找能量最小的最優(yōu)軌跡。Miyatake等[11]分別用動(dòng)態(tài)規(guī)劃法、梯度法和序列二次規(guī)劃法得到列車的最佳速度曲線。Wang等[12]以能耗和舒適度為目標(biāo),分別用偽譜法和混合整數(shù)線性規(guī)劃方法解決最優(yōu)控制問題。Lu等[13]提出一種基于距離的列車軌跡搜索模型,在此模型上分別應(yīng)用蟻群算法、遺傳算法和動(dòng)態(tài)規(guī)劃算法尋找最優(yōu)列車速度軌跡。Chang等[14]提出一種遺傳算法,使用適當(dāng)?shù)亩栊锌刂苾?yōu)化列車運(yùn)行能耗,分析出列車惰行區(qū)間的變化規(guī)律。劉建強(qiáng)等[15]依據(jù)高速列車牽引特性和阻力特性曲線,提出一種列車節(jié)能運(yùn)行控制方法,基于此方法求解得到列車運(yùn)行能量消耗最低所對(duì)應(yīng)的最大速度值。馬曉娜等[16]運(yùn)用螢火蟲算法,求解能耗最低的工況轉(zhuǎn)換序列。在滿足精確停車與準(zhǔn)時(shí)性的基礎(chǔ)上,使得列車運(yùn)行能耗指標(biāo)降低14.33%。宋文婷等[17]充分考慮列車的牽引特性和運(yùn)行線路條件,構(gòu)建定時(shí)約束下的列車操縱模型,獲得能耗最小的運(yùn)行速度曲線。孟建軍等[18]結(jié)合列車牽引計(jì)算方程和選定的線路約束條件, 運(yùn)用遺傳算法對(duì)列車運(yùn)行的節(jié)能曲線和運(yùn)行曲線多目標(biāo)優(yōu)化。王鵬玲等[19]引入自適應(yīng)遺傳算法,在列車滿足安全、準(zhǔn)點(diǎn)、乘車舒適等約束條件的前提下,尋找各工況轉(zhuǎn)換點(diǎn),使列車運(yùn)行能耗最小。曹佳峰等[20]以節(jié)能運(yùn)行為目標(biāo),以牽引計(jì)算為基礎(chǔ),充分考慮實(shí)際運(yùn)行線路條件,提出兩階段優(yōu)化方法,分別構(gòu)建時(shí)間約束下的列車節(jié)能模型。王月仙[21]研究了關(guān)于動(dòng)車組列車能耗的關(guān)鍵影響因素。
傳統(tǒng)的列車運(yùn)行控制方法都是基于固定模型的,不能適應(yīng)于列車復(fù)雜的運(yùn)行條件,并且未能充分利用列車運(yùn)行的海量重復(fù)性數(shù)據(jù)。因此,基于人工智能中的強(qiáng)化學(xué)習(xí)方法,提出一種基于Q學(xué)習(xí)算法的列車節(jié)能駕駛控制算法,將列車運(yùn)行的速度-位移狀態(tài)空間離散化,建立列車運(yùn)行狀態(tài)的能耗和時(shí)間獎(jiǎng)勵(lì)計(jì)算方法,進(jìn)而根據(jù)列車狀態(tài)值函數(shù)確定列車最優(yōu)駕駛策略。
將高速列車看作一個(gè)剛體,假設(shè)列車是單質(zhì)點(diǎn)模型,以列車能耗優(yōu)化為目標(biāo),考慮牽引力和制動(dòng)力限制、線路限速、站間運(yùn)行時(shí)間等約束,構(gòu)建列車節(jié)能優(yōu)化控制模型。
(1)構(gòu)建單質(zhì)點(diǎn)列車動(dòng)力學(xué)模型。根據(jù)牛頓力學(xué)原理,單質(zhì)點(diǎn)列車動(dòng)力學(xué)模型可表示為
式中:s為距離,m;t為列車運(yùn)行時(shí)間,s;v為列車運(yùn)行速度,m/s;m為列車質(zhì)量,kg;f(s)為當(dāng)前位置列車施加的牽引力,N;g(s)為當(dāng)前位置列車施加的制動(dòng)力,N;r(v)為列車包含滾動(dòng)摩擦阻力和空氣阻力在內(nèi)的基本阻力,可由戴維斯方程表示為r(v)= av2+ bv + c,其中a,b,c是由車輛確定的特性參數(shù);ra(s)為線路附加阻力,一般包括坡道附加阻力和曲線附加阻力,可表示為ra(s) =mgu(s) +p(s),其中u(s)為線路坡度,g為重力加速度常數(shù),p(s)為曲線附加阻力。
(2)構(gòu)建列車節(jié)能優(yōu)化目標(biāo)函數(shù)。列車牽引能耗方程可表示為
式中:J為列車的牽引能耗,J;S為列車運(yùn)行距離,m。
(3)分析列車運(yùn)行約束條件。列車運(yùn)行過程中需滿足:在初始狀態(tài)和末狀態(tài)速度均為零;列車運(yùn)行過程中速度不得超過規(guī)定限速,施加的最大牽引力或制動(dòng)力應(yīng)不大于列車能夠提供的最大牽引力或最大制動(dòng)力;列車實(shí)際運(yùn)行時(shí)間近似等于規(guī)定站間運(yùn)行時(shí)間。
1.2.1 Q 學(xué)習(xí)算法
Q學(xué)習(xí)算法屬于強(qiáng)化學(xué)習(xí)的方法之一,任務(wù)的執(zhí)行者稱為決策者,決策者從周圍的環(huán)境感知當(dāng)前的狀態(tài),根據(jù)當(dāng)前狀態(tài)選擇相應(yīng)的動(dòng)作與環(huán)境產(chǎn)生交互,環(huán)境受到?jīng)Q策者動(dòng)作的影響,會(huì)反饋給決策者一個(gè)獎(jiǎng)勵(lì)值和新的狀態(tài),決策者根據(jù)新得到的狀態(tài)再采取新的動(dòng)作,如此循環(huán)往復(fù)。決策者的目標(biāo)是在與環(huán)境的交互過程中獲得最大的總獎(jiǎng)勵(lì)的期望值。Q學(xué)習(xí)算法主要由3部分組成,具體如下。
(1)基于當(dāng)前策略π(s)與環(huán)境進(jìn)行交互,得到若干片段及每次與環(huán)境交互的獎(jiǎng)勵(lì)rt。
(2)根據(jù)這些片段及獎(jiǎng)勵(lì)求取并更新狀態(tài)動(dòng)作值函數(shù),其初值可以任意設(shè)置,其更新公式為
式中:Qπ
t(St,At)和Qπt+1(St,At)分別為當(dāng)前t時(shí)刻和更新后t+1時(shí)刻的狀態(tài)動(dòng)作值函數(shù);St為t時(shí)刻的狀態(tài);At為t時(shí)刻的動(dòng)作;ɑ為學(xué)習(xí)率;γ為折扣因子。
(3)根據(jù)公式 ⑷ 得到的狀態(tài)動(dòng)作值函數(shù),對(duì)策略進(jìn)行優(yōu)化得到更好的策略,優(yōu)化的規(guī)則為:對(duì)于任意狀態(tài)s,均有
式中:S和A為狀態(tài)和動(dòng)作的集合;π'(s)為新的策略,其與環(huán)境繼續(xù)交互,將得到新的片段。
(4)以此類推,經(jīng)過多次迭代后,即可得到最優(yōu)的策略和最優(yōu)的狀態(tài)動(dòng)作值函數(shù)。
1.2.2 基于Q學(xué)習(xí)算法的列車運(yùn)行能耗優(yōu)化模型
列車優(yōu)化控制要綜合考慮運(yùn)行能耗和運(yùn)行時(shí)間,列車的狀態(tài)動(dòng)作值函數(shù)包括2部分,分別為關(guān)于能耗的值函數(shù)(對(duì)列車運(yùn)行到當(dāng)前狀態(tài)能耗的評(píng)價(jià))和關(guān)于時(shí)間的值函數(shù)(對(duì)列車運(yùn)行到當(dāng)前狀態(tài)花費(fèi)時(shí)間的評(píng)價(jià))。列車在每一狀態(tài)可采取的動(dòng)作由列車當(dāng)前的最大運(yùn)行能力決定。列車狀態(tài)包括當(dāng)前列車的位置和速度2部分。首先定義每個(gè)狀態(tài)下可采取的動(dòng)作,采用隨機(jī)策略選取每個(gè)狀態(tài)下的動(dòng)作,得到若干片段,選取滿足時(shí)間要求的片段更新2個(gè)值函數(shù),最后將2個(gè)值函數(shù)進(jìn)行加權(quán)得到該狀態(tài)動(dòng)作值函數(shù)。根據(jù)得到的狀態(tài)動(dòng)作值函數(shù)采取貪婪策略選取表格中的狀態(tài)序列,得出列車速度-距離曲線,并計(jì)算曲線能耗。步驟如下。
(1)選取可達(dá)狀態(tài),構(gòu)建列車狀態(tài)空間。對(duì)于列車的狀態(tài)空間,從起點(diǎn)開始,距離間隔為m,速度間隔為n,得到滿足限速條件的列車狀態(tài)空間S= (st(xt,vt)),xt為t時(shí)刻列車位置;vt為t時(shí)刻列車速度;則st(xt,vt)表示t時(shí)刻列車的位置和速度。
定義初始狀態(tài)為s0(x0,v0),其中x0= 0,v0= 0;定義末狀態(tài)為sk(xk,vk),其中xk=S,vk= 0。當(dāng)前狀態(tài)st(xt,vt)可達(dá)的下一狀態(tài)st+1(xt+1,vt+1),需滿足
式中:xt和xt+1分別為t和t+1時(shí)刻狀態(tài)下的列車位置;vt和vt+1分別為t和t+1時(shí)刻狀態(tài)下的列車速度;agmax為t到t+ 1時(shí)刻列車的最大減速度;afmax為t到t+ 1時(shí)刻列車的最大加速度;Δt為t和t+1的時(shí)間間隔。
如果2次狀態(tài)間可達(dá),則列車采取以下節(jié)能策略運(yùn)行至下一狀態(tài):①若vt<vt+1,列車從xt最大加速到vt+1再巡航至xt+1;②若vt=vt+1,列車從xt巡航至xt+1;③若vt>vt+1,并且vt+1大于從t時(shí)刻惰性到t+ 1時(shí)刻的速度,則列車先巡航再惰行至xt+1;④若vt>vt+1,并且vt+1等于從t時(shí)刻惰性到t+ 1時(shí)刻的速度,則列車惰行至xt+1;⑤若vt>vt+1,并且vt+1小于從t時(shí)刻惰性到t+1時(shí)刻的速度,大于從t時(shí)刻最大制動(dòng)到t+1時(shí)刻的速度,則列車從xt先惰行再最大制動(dòng)到xt+1。
2次狀態(tài)間的能耗可以表示為
2次狀態(tài)間的時(shí)間可以表示為
(2)構(gòu)建能耗矩陣和時(shí)間矩陣。建立能耗矩陣E= (Eij)k×k,Eij表示從狀態(tài)si轉(zhuǎn)移到狀態(tài)sj所需的能耗;建立時(shí)間矩陣T= (Tij)k×k,Tij表示從狀態(tài)si轉(zhuǎn)移到狀態(tài)sj所需的運(yùn)行時(shí)間。如果si和sj2個(gè)狀態(tài)間不可達(dá)(如當(dāng)前狀態(tài)通過最大加速度或減速度也無法到達(dá)下一狀態(tài)),則對(duì)應(yīng)的Eij和Tij均定義為無窮大。
(3)構(gòu)建并更新值函數(shù)矩陣。通過隨機(jī)選取動(dòng)作策略與列車環(huán)境進(jìn)行交互,得到滿足時(shí)間要求的片段。建立能耗值函數(shù)矩陣Q_E= (Q_Eij)k×k,Q_Eij表示從狀態(tài)si轉(zhuǎn)移到狀態(tài)sj的能耗值函數(shù);建立時(shí)間值函數(shù)矩陣T_E= (T_Eij)k×k,T_Eij表示從狀態(tài)si轉(zhuǎn)移到狀態(tài)sj的時(shí)間值函數(shù)。利用仿真所得片段更新兩個(gè)值函數(shù)。
①根據(jù)公式 ⑷,能耗值函數(shù)矩陣Q_E更新函數(shù)可表示為
式中:R_E= (R_Eij)k×k為能耗獎(jiǎng)勵(lì)函數(shù)矩陣,R_Eij=log (M-Eij),其中M為換算因子,表示能耗越高能耗獎(jiǎng)勵(lì)越低。
②更新時(shí)間值函數(shù)矩陣Q_T。初始化Q_T,當(dāng)列車運(yùn)行路徑中所有時(shí)間矩陣值之和滿足時(shí)間要求,則所有狀態(tài)的時(shí)間值函數(shù)加1。不可達(dá)狀態(tài)間的時(shí)間值函數(shù)為負(fù)無窮大。
(4)創(chuàng)建狀態(tài)動(dòng)作值函數(shù)。對(duì)能耗值函數(shù)和時(shí)間值函數(shù)進(jìn)行加權(quán)得到狀態(tài)動(dòng)作值函數(shù)為
式中:λ為能耗值函數(shù)矩陣Q_E的權(quán)重系數(shù),用于將能耗和時(shí)間值函數(shù)平衡為同一數(shù)量級(jí)。
利用列車最小運(yùn)行能耗與運(yùn)行時(shí)分一一對(duì)應(yīng)的關(guān)系,采用二分法求得最優(yōu)的λ值,從而得到最優(yōu)解。
(5)計(jì)算能耗值。經(jīng)步驟(1)至步驟(4),根據(jù)選取的狀態(tài)序列畫出列車速度-距離曲線,并計(jì)算能耗值。
以京沈客運(yùn)專線(北京—沈陽)黑山北—阜新站間線路為例,選用CR400BF型動(dòng)車組列車進(jìn)行仿真,黑山北—阜新站間線路信息如表1所示,車輛參數(shù)如表2所示,黑山北—阜新站間線路坡度值如圖2所示,列車基本運(yùn)行阻力如圖3所示。
表1 黑山北—阜新站間線路信息Tab.1 Line information between Heishan North Railway Station and Fuxin Railway Station
表2 車輛參數(shù)Tab.2 Parameters of train
圖2 黑山北—阜新站間線路坡度值Fig.2 Line gradient value between Heishan North Railway Station and Fuxin Railway Station
圖3 列車基本運(yùn)行阻力Fig.3 Basic running resistance
將列車看作質(zhì)點(diǎn),算法參數(shù)如表3所示。
參數(shù)λ與列車運(yùn)行時(shí)分一一對(duì)應(yīng),因而采用二分法自動(dòng)求解滿足時(shí)間要求的λ值。λ與運(yùn)行時(shí)分的關(guān)系如圖4所示。
表3 算法參數(shù)Tab.3 Algorithm parameters
圖4 λ與運(yùn)行時(shí)分的關(guān)系Fig.4 Relationship of λ and running time
隨著時(shí)間值函數(shù)矩陣的訓(xùn)練次數(shù)的增加,算法的有效性能夠得到持續(xù)提升,仿真結(jié)果如表4所示。
采用Q學(xué)習(xí)算法在時(shí)間值函數(shù)矩陣訓(xùn)練次數(shù)6×106次情況下得到基于Q學(xué)習(xí)算法(6×106)的列車運(yùn)行距離-速度曲線如圖5所示,在訓(xùn)練次數(shù)1×107次情況下得到基于Q學(xué)習(xí)算法(1×107)的列車運(yùn)行距離-速度曲線如圖6所示。由圖6可知,訓(xùn)練次數(shù)增加后列車的準(zhǔn)時(shí)性得到了進(jìn)一步的提升,運(yùn)行時(shí)間減少了8 s,但能耗僅增加了4%。
采用傳統(tǒng)DP算法得到基于DP算法的列車運(yùn)行距離-速度曲線如圖7所示,雖然運(yùn)行時(shí)間減少4 s,但能耗增加了8.8%。
Q學(xué)習(xí)算法在求最優(yōu)解的過程中去除了大量的不可達(dá)狀態(tài),使得其求解空間遠(yuǎn)小于傳統(tǒng)DP算法的求解空間,節(jié)省了程序運(yùn)行時(shí)間。同時(shí)該算法還具有持續(xù)學(xué)習(xí)的能力,隨著訓(xùn)練次數(shù)的不斷增加求解結(jié)果越來越準(zhǔn)確與優(yōu)化。
表4 仿真結(jié)果Tab.4 Simulation result
圖5 基于Q學(xué)習(xí)算法(6×106)的列車運(yùn)行距離-速度曲線Fig.5 Distance-speed curves of train running based on Q-learning algorithm (6×106)
圖6 基于Q學(xué)習(xí)算法(1×107)的列車運(yùn)行距離-速度曲線Fig.6 Distance-speed curves of train running based on Q-learning algorithm (1×107)
圖7 基于DP算法的列車運(yùn)行距離-速度曲線Fig.7 Distance-speed curves of train running based on DP algorithm
在建立列車節(jié)能控制數(shù)學(xué)模型的基礎(chǔ)上,利用Q學(xué)習(xí)算法求解列車的最優(yōu)能耗運(yùn)行策略,突破了傳統(tǒng)的基于固定模型的列車運(yùn)行優(yōu)化方法,能夠適應(yīng)多種復(fù)雜的列車運(yùn)行環(huán)境和線路條件,并充分利用列車歷史運(yùn)行大數(shù)據(jù),在滿足準(zhǔn)時(shí)性和乘客舒適度的前提下,有效地減少列車牽引能耗,仿真結(jié)果表明該算法較傳統(tǒng)DP算法能夠在更短的時(shí)間內(nèi)獲得更優(yōu)的節(jié)能運(yùn)行策略。列車智能控制算法集成了現(xiàn)有ATO系統(tǒng)的控制原理和先進(jìn)的人工智能方法,可以根據(jù)不斷積累的優(yōu)秀司機(jī)駕駛數(shù)據(jù)進(jìn)行優(yōu)化迭代,在實(shí)際列車運(yùn)行控制系統(tǒng)中具有相當(dāng)?shù)膽?yīng)用潛力,為未來更智能的列車自動(dòng)駕駛提供研究思路。