時間:2021年07月19日 分類:科學技術論文 次數:
摘要隨著社會經濟的迅速發展,城市交通的擁堵問題變得越來越嚴重,甚至成為制約部分城市可持續發展的瓶頸。因此如何最大程度地利用公共交通工具減輕出行壓力成為了城市化建設的重要目的。本文基于人流量,提出智能調度的概念,結合改進的遺傳算法設計了公交車調度模型,并使用前后端分離模式、vue框架、SpringBoot實現了智能公交調度平臺。本平臺能幫助公交公司提高運營效益和服務質量,同時提高乘客的出行體驗。
關鍵詞人流量;遺傳算法;智能公交調度平臺
1引言
公交車是人們日常出行的主要交通工具,目前城市公共交通運輸中存在公交車運行效率低、城市擁堵嚴重等問題。如何優化調度方案來解決這一系列問題,是很多科研人員關注的重點。傳統的數學解析法往往只能解決單一問題,而公交車調度是一個多目標優化問題。遺傳算法通過迭代的方式,對隨機生成的一組候選解進行選擇、交叉、變異三種基本運算,直到得到最大適應度的最優解。這是解決多目標搜索問題的一種常用方法。公交車調度主要是選擇一種算法來生成公交車調度時間表,從而達到公交運行效率和乘客出行體驗的最優解。
本文考慮乘客人流量因素,通過對遺傳算法和禁忌搜索算法進行分析和改進,結合兩種算法的優點并將其應用在公交調度問題中,得到公交發車時間的最優解。在公交車運行時,該公交調度平臺可根據乘客人流量的不均衡性來調整公交車的發車頻率和數量,生成合理有效的發車時刻表,指導公交車出行線路,平衡公交公司和乘客雙方的利益,提高公共交通的服務水平。
2系統建模
公交公司希望發車時間間隔大,公車座位利用率高,以節省成本;乘客則希望等車時間短,提供更便捷的乘車服務。要兼顧這兩者的利益最大化,需要考慮的基礎數據是人流量。
本公交調度方案就是根據人流量劃分的時間段來平衡公交公司和乘客兩者的利益。在分析了乘客滿意度在高峰時段和非高峰時段與等車時間的關系后,選擇了直線和插值法中的牛頓插值法來擬合上述兩類關系,從而得到乘客的滿意度函數[1]。遺傳算法是基于達爾文生物進化論的自然選擇和遺傳學理論而提出來的計算模型。本文將遺傳算法應用在智能公交的調度問題中。主要過程分以下幾步:(1)編碼:要應用遺傳算法首先要解決編碼問題,本系統采用二進制編碼法,并通過計算得到初始種群數量。在公交調度平臺的應用中,公交車發車總次數對應于總群規模[2]。
(2)選擇操作:選擇操作是為了確定交叉、變異的個體,本系統采用了截斷選擇的方法對種群進行選擇。將每個遺傳算子通過數學模型計算出符合該數學模型的最優解,通過選擇出計算結果最好的算子進行復制n次,創建出新的種群。(3)交叉操作:設置一個隨機數,當選擇的隨機數滿足算法參數中的交叉概率時,則在新的種群選擇兩個算子,再對這兩個算子進行隨機選擇一個時間段進行交換,從而生成新的算子。
(4)變異操作:設置一個隨機數,當該隨機數滿足遺傳算法中的變異概率時,在通過前兩次步驟得到的新種群中選擇一個算子,隨機選擇該算子中的一個時間段進行變異操作,變成新的算子[3]。遺傳算法比較適合解決公交調度的問題,但存在的缺陷是不同時間段的發車頻率比較相似,無法滿足乘客在上下班高峰期對公交車的高需求,也造成低峰期空車率高。針對遺傳算法應用到公交調度模型會導致局部尋優能力較差和運行效率低等問題,本文結合了禁忌搜索算法和遺傳算法的優勢,并對其進行了改進和應用[4]。
3系統設計
智能公交調度平臺的設計采用目前廣泛應用的B/S架構和流行的Web開發技術。本系統使用前后端分離架構,前端基于Vue框架開發,Vue起到連接視圖與數據中間件的作用,并負責界面交互。后端服務使用的框架是基于java的SpringBoot,后端系統負責數據持久化。
數據庫選用MongoDB來存儲較復雜的數據類型,有利于系統字段的擴展。前后端分離是目前Web開發中流行的架構,通過Nginx+Tomcat(NodeJS)的方式有效地對前端和后端的開發進行解耦。本系統使用Vue框架中的VantUi庫構建系統界面,提高了開發效率。Nuxt作為Vue的SSR(服務端渲染)代表,解決了Vue的首屏加載慢和SEO問題。
本系統也將其應用于用戶使用界面。SpringBoot是spring應用的快速開發框架,內嵌了tomcat和jetty容器,可直接生成jar包來發布web服務。其基于注解無需配置模式,便于和SpringWebMVC、Mybatis、SpringCloud等各種流行框架無縫整合[5]。MongoDB是基于分布式文件存儲的NoSQL數據庫,支持bson格式的松散數據結構,適合存儲相對mysql而言較復雜的數據類型。
4系統實現
智能公交調度平臺包括公交管理、客流信息、公交調度和系統管理四個模塊。該系統的核心功能是通過分析客流量信息,利用改進的遺傳算法為公交公司提供合理有效的發車時間表。本文主要圍繞公交調度模塊功能點進行分析設計。
4.1公交信息設置
公交公司管理員登陸系統后,可以在公交管理頁面新增公交信息,并設置公交車次的發車時間、末班車時間、車站數和發車總班次。該公交信息構成遺傳-禁忌算法中生成公交調度時刻表的基礎數據。公交調度時刻表的發車時段的起始時間由首班時間和末班時間確定,總共發車的數量由發車總班次決定。
4.2算法參數設置
調度參數設置頁面,主要用來設置遺傳-禁忌算法中相關的影響因子。其中種群數、交叉頻率、變異頻率是遺傳算法的三個基本參數。進化代數是遺傳算法在運行過程中的迭代次數,也是遺傳算法的停止機制,一般可以人為依據經驗設置,或通過測試比較連續迭代相同次數后結果沒有變化,則可以認為該遺傳算法已經收斂,此時為最優解。乘客權重系數和公交權重系數表示乘客與公交公司的滿意度,兩者之和等于1。
禁忌搜索次數和搜索變異次數是禁忌搜索算法中用來設置特定方向搜索次數的參數。本算法基于的人流量是指乘車人數和乘客數量,在“乘客人數”和“乘客數量”tab頁可以管理不同時間段和站點的人流信息。根據不同時間段的人流量,可以將公交車的發車時間分成五個時間段:早上的低峰時段、上班高峰時段、普通時段、下班高峰時段、晚上的低峰時段。本公交調度方案就是根據人流量劃分的時間段來平衡公交公司和乘客兩者的利益。
4.3生成公交調度表
系統設置完公交信息和算法參數后,管理員點擊“生成調度表”按鈕,可得到該公交車的最佳發車時刻表。在上下班的高峰時段,該調度表安排的車次多;而在早晚客流量較少的低峰時段,發車次數就較少。由此可見,本智能公交平臺生成的公交調度表,能滿足乘客在不同時間段對公交車的需求,同時降低公交公司的成本。
公交論文投稿刊物:計算機時代雜志本刊1983年創刊,所刊文章內容主要是電腦信息領域新技術、成果和趨勢。
5結束語
本平臺在現有的技術和模式下,基于人流量,使用改進的遺傳-禁忌算法解決公交排班問題。通過實際調研分析,符合現實情況的公交車發車時間表,能夠幫助公交企業提高運營效益和服務質量。本系統下一步的優化有:(1)開發移動端應用,實時獲取公交車運行過程中各站點的客流量,達到動態調整公交車發車時刻表的目的。(2)定位乘客所在站點。根據公交調度時刻表,提醒乘客時間,同時通過谷歌地圖插件接口提供的擁擠路段信息,使用算法計算出較準確的乘車時間。
參考文獻
[1]姚艷君.智能公交車輛調度系統的設計與優化[碩士學位論文].沈陽工業大學,沈陽,2010
[2]張超群.遺傳算法編碼方案比較.計算機應用研究,2011(03):25-28
[3]譚華.基于遺傳算法的公交車調度優化研究.科學技術與創新,2020(32):50-52
[4]李志.基于遺傳和禁忌搜索混合算法的預制生產調度的研究.計算機測量與控制,2020,28(10):211-215
[5]閆四洋.基于SpringBoot+MongoDB的微服務日志系統的實現.計算機時代,2020(08):69-74
作者:劉莉