System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及公交運行系統,具體為一種基于深度強化學習(dqn)實現公交上下行動態均衡時刻表生成方法。
技術介紹
1、優化公交發車時刻表可有效提高公交服務質量和運營效率,在實際應用中根據乘客客流對公交時刻表發車時間點進行優化。
2、目前對公交時刻表進行優化的方法有遺傳算法、圖形啟發式算法、窮舉方法等,該方法都可以根據歷史客流以離線方式生成公交時刻表。在公交系統的實際運行過程中,會面臨各種各樣的的突發情況,包括因突發事件導致的客流突增、道路擁堵導致的公交行程時間、道路封閉施工等導致的站點變更等等情況。基于歷史數據生成的時刻表無法滿足乘客的出行需求。此外公交系統的實際發車需要線路雙向發車且車輛不能空載,已有基于強化學習對單向的線路的發車時刻表進行優化,生成的發車時刻表不能動態適應客流與交通狀況變化,不能同時對一條公交線路的兩個方向進行調度,導致排班不符合實際要求而不能應用問題。
技術實現思路
1、本專利技術的目的在于提供一種基于dqn實現公交上下行動態均衡時刻表生成方法,基于公交車輛運行的交通狀況與公交客流信息,通過直接與仿真環境交互來訓練,在實時仿真環境中進行決策,生成公交上下行動態均衡時刻表,當客流發生突發事件發生變化時,可基于變化后的客流推理生成新的發車時刻表,當公交行程時間突發變化時,可基于變化后的行程時間推理生成新的發車時刻表,當公交站點臨時調整與變更,可基于變化后的站點信息推理生成新的發車時刻表,以解決上述
技術介紹
中提出的問題。
2、為實現上述目的,
3、一種基于dqn實現公交上下行動態均衡時刻表生成方法,包括以下步驟:
4、s1:初始化公交線路信息,包括設置線路編號id、車輛的最短發車間隔tmin、最長發車間隔tmax、車輛核載人數cmax、首班時間starttime、末班時間endtime;
5、s2:獲取線路上下行的歷史交通狀況與客流信息;
6、s3:初始化強化學習dqn模型參數,輸入維度minput,輸出維度moutput,隱層數量mhidden,隱層神經元個數nhidden,激活函數為relu,學習率lr,批次大小batch_size,經驗回放容量cer;
7、s4:構建可生成公交上下行動態均衡時刻表的dqn模型;
8、s5:可生成公交上下行動態均衡時刻表的dqn模型推理,基于完成訓練的模型,使用當前線路的交通情況與客流數據進行推理,得到上下行動態均衡的時刻表,當客流發生突發事件發生變化時,可基于變化后的客流推理生成新的發車時刻表,當公交行程時間突發變化時,可基于變化后的行程時間推理生成新的發車時刻表,當公交站點臨時調整與變更,可基于變化后的站點信息推理生成新的發車時刻表;
9、s6:公交上下行動態均衡時刻表結果輸出,分別輸出線路上下行方向計劃的每一次發車時間點,且包含當前發車時間距離上一次發車之間的間隔、此發車計劃每特定間隔時間所提供的客運容量、總發車次數、由于車輛滿載而無法上車的乘客數量、乘客的平均等待時間。
10、更進一步地,s2中具體方法為:
11、s201:基于公交車進出站的數據計算出每輛公交車兩兩相鄰站點之間的通行時間;
12、s202:基于每輛公交車兩兩相鄰站點之間的通行時間計算出一天每15分鐘內兩兩相鄰站點之間的通行時間,作為歷史交通狀況數據;
13、s203:基于公交車刷卡數據推導出乘客下車站點的數據,再結合公交車進出站數據,計算出乘客上下站點信息與時間信息,作為客流信息。
14、更進一步地,s4中具體方法為:
15、s401:建立可生成公交上下行動態均衡時刻表的dqn模型的狀態變量;
16、s402:建立可生成公交上下行動態均衡時刻表的dqn模型的動作狀態;
17、s403:建立可生成公交上下行動態均衡時刻表的dqn模型的獎勵函數;
18、s404:對可生成公交上下行動態均衡時刻表的dqn模型進行訓練,在訓練過程中,對于每一天進行完全的模擬,首先在首班車時間強制發出一班車后更新環境狀態,此后對于每一分鐘,dqn智能體會做出決策,得到一個動作,此動作有pm的概率為模型生成的結果,1-pm的概率為隨機取值的結果;若當前時刻距離上一次發車的時間小于最短發車間隔tmin則強制不進行發車;若當前時刻距離上一次發車的時間大于最長發車間隔tmax則強制進行發車;
19、s405:對可生成公交上下行動態均衡時刻表的dqn模型進行仿真,在s404訓練完后將此動作應用于仿真環境中,得到下一個狀態向量與做出當前動作得到的獎勵值,并在經驗回放中存入當前狀態、當前獎勵、當前動作與下一個狀態;當經驗回放被存滿后,dqn模型會在每5次模擬后進行一次訓練,并且在每訓練100次后更新一次dqn算法中的目標網絡,并且保存得到的模型。
20、更進一步地,s401中的狀態變量將考慮時間狀態、上下行車輛載客狀態、上下行客流狀態、上下行發車狀態。定義其中,m為一天不同的時間,xmu和xmd分別表示公交上行狀態、下行狀態,定義
21、xmu=[xu_h,xu_min,xu_pn,xu_wmin,xu_tpn,xu_vn],
22、xmd=[xd_h,xd_min,xd_pn,xd_wmin,xd_tpn,xd_vn],xu_h和xd_h分別表示上下行在m時刻的小時數,xu_min和xd_min分別表示上下行在m時刻的分鐘數,xu_pn和xd_pn分別表示上下行在m時刻車輛的在車人數,xu_wmin和xd_wmin分別表示上下行在m時刻乘客的等待時長,xu_tpn和xd_tpn分別表示上下行在m時刻車輛上車客流量,xu_vn和xd_vn分別表示上下行在m時刻線路的發車次數。
23、更進一步地,s402中動作狀態的動作向量定義4個動作元素:上下行均不發車、僅上行發車、僅下行發車、上下行均進行發車,定義a=[0,1,2,3],若智能體選擇動作0,代表當前時刻上下行均不發車;若選擇動作1,代表當前時刻僅上行發車;若選擇動作2,代表當前時刻僅下行發車;若選擇動作3,代表當前時刻上下行均進行發車。
24、更進一步地,s403中的獎勵函數包含兩個部分,reward=rewardup+rewarddown-rewarddeparture_std;對于上行,若當前時刻不進行發車rewardup=1-(om/em)-(ω×wm)-(β×dsm)+γ(c1-c2),其中,om為若在第m分鐘發出一輛車的上車乘客量,em為車輛的核載人數,ω可取若干值,若該值較大,則模型偏向于進行更多發車數,若該值較小,則模型偏向于更少發車數,該值可取1/1000;β為一常量,取0.2,dsm表示若在第m分鐘時有多少乘客會因當前到站車輛滿載而無法上車;γ為一常量,取γ=1e-3×200,當模擬時間距離末班車時間小于兩個小時時,取γ=5e-3×200,若當前時刻進本文檔來自技高網...
【技術保護點】
1.一種基于DQN實現公交上下行動態均衡時刻表生成方法,其特征在于,包括以下步驟:
2.如權利要求1所述的一種基于DQN實現公交上下行動態均衡時刻表生成方法,其特征在于:S2中具體方法為:
3.如權利要求1所述的一種基于DQN實現公交上下行動態均衡時刻表生成方法,其特征在于:S4中具體方法為:
4.如權利要求3所述的一種基于DQN實現公交上下行動態均衡時刻表生成方法,其特征在于:S401中的狀態變量將考慮時間狀態、上下行車輛載客狀態、上下行客流狀態、上下行發車狀態;定義其中,m為一天不同的時間,Xmu和Xmd分別表示公交上行狀態、下行狀態,定義Xmu=[xu_h,xu_min,xu_pn,xu_wmin,xu_tpn,xu_vn],Xmd=[xd_h,xd_min,xd_pn,xd_wmin,xd_tpn,xd_vn],xu_h和xd_h分別表示上下行在m時刻的小時數,xu_min和xd_min分別表示上下行在m時刻的分鐘數,xu_pn和xd_pn分別表示上下行在m時刻車輛的在車人數,xu_wmin和xd_wmin分別表示上下行在m時刻乘客的等
5.如權利要求4所述的一種基于DQN實現公交上下行動態均衡時刻表生成方法,其特征在于:S402中動作狀態的動作向量定義4個動作元素:上下行均不發車、僅上行發車、僅下行發車、上下行均進行發車,定義A=[0,1,2,3],若智能體選擇動作0,代表當前時刻上下行均不發車;若選擇動作1,代表當前時刻僅上行發車;若選擇動作2,代表當前時刻僅下行發車;若選擇動作3,代表當前時刻上下行均進行發車。
6.如權利要求5所述的一種基于DQN實現公交上下行動態均衡時刻表生成方法,其特征在于:S403中的獎勵函數包含三個部分,reward=rewardup+rewarddown-rewarddeparture_std;對于上行,若當前時刻不進行發車rewardup=1-(om/em)-(ω×Wm)-(β×dsm)+γ(c1-c2),其中,om為若在第m分鐘發出一輛車的上車乘客量,em為車輛的核載人數,ω可取若干值,若該值較大,則模型偏向于進行更多發車數,若該值較小,則模型偏向于更少發車數,該值可取1/1000;β為一常量,取0.2,dsm表示若在第m分鐘時有多少乘客會因當前到站車輛滿載而無法上車;γ為一常量,取γ=1e-3×200,當模擬時間距離末班車時間小于兩個小時時,取γ=5e-3×200,若當前時刻進行發車rewardup=(om/em)-(β×dsm)-γ(c1-c2),對于下行若當前時刻不進行發車rewarddown=1-(om/em)-(ω×Wm)-(β×dsm)-γ(c1-c2);若當前時刻進行發車rewarddown=(om/em)-(β×dsm)+γ(c1-c2);rewarddeparture_std為發車間隔的標準差。
...【技術特征摘要】
1.一種基于dqn實現公交上下行動態均衡時刻表生成方法,其特征在于,包括以下步驟:
2.如權利要求1所述的一種基于dqn實現公交上下行動態均衡時刻表生成方法,其特征在于:s2中具體方法為:
3.如權利要求1所述的一種基于dqn實現公交上下行動態均衡時刻表生成方法,其特征在于:s4中具體方法為:
4.如權利要求3所述的一種基于dqn實現公交上下行動態均衡時刻表生成方法,其特征在于:s401中的狀態變量將考慮時間狀態、上下行車輛載客狀態、上下行客流狀態、上下行發車狀態;定義其中,m為一天不同的時間,xmu和xmd分別表示公交上行狀態、下行狀態,定義xmu=[xu_h,xu_min,xu_pn,xu_wmin,xu_tpn,xu_vn],xmd=[xd_h,xd_min,xd_pn,xd_wmin,xd_tpn,xd_vn],xu_h和xd_h分別表示上下行在m時刻的小時數,xu_min和xd_min分別表示上下行在m時刻的分鐘數,xu_pn和xd_pn分別表示上下行在m時刻車輛的在車人數,xu_wmin和xd_wmin分別表示上下行在m時刻乘客的等待時長,xu_tpn和xd_tpn分別表示上下行在m時刻車輛上車客流量,xu_vn和xd_vn分別表示上下行在m時刻線路的發車次數。
5.如權利要求4所述的一種基于dqn實現公交上下行動態均衡時刻表生成方法,其特征在于:s402中動作狀態的動作向量定義4個動作元素:上下行均不發車、僅上行發...
【專利技術屬性】
技術研發人員:羅建平,尹杰麗,賴炤宇,朱倩玉,黃子敬,易滔,
申請(專利權)人:廣州交信投科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。