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