李文韜 謝小紅 孫曉燕
摘要:隨著交通工具的增加,交通擁堵成為最典型的城市病,人們通勤時(shí)間逐漸加長(zhǎng)。為解決這一問(wèn)題,采用基于Web框架的Django開(kāi)發(fā)了一個(gè)城市通勤出發(fā)時(shí)間選擇實(shí)驗(yàn)平臺(tái),目的是更方便地開(kāi)展城市通勤出發(fā)時(shí)間實(shí)驗(yàn)。該平臺(tái)具有較強(qiáng)的通用性,通過(guò)微調(diào)法修改實(shí)驗(yàn)參數(shù)后可實(shí)施路徑選擇和收費(fèi)管理等條件下的出行選擇實(shí)驗(yàn)。不僅可在傳統(tǒng)PC端實(shí)現(xiàn),還可利用Pad或手機(jī)等移動(dòng)設(shè)備,使用微信小程序開(kāi)展實(shí)驗(yàn)。代碼簡(jiǎn)潔,實(shí)驗(yàn)界面清楚,管理賬戶能對(duì)整個(gè)實(shí)驗(yàn)進(jìn)行操控。
關(guān)鍵詞:Django;城市交通;通勤出發(fā)時(shí)間選擇;微信小程序
DOI: 10. 11907/rjdk.191842
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1672-7800(2020)004-0135-04
The Experimental Platform Design of Urban Commuter Departure Time
Based on Django
LI Wen-tao. XIE Xiao-hong, SUN Xiao-yan
( College of Computer and Information Engineering , Cuangxi Teacher Education Univer.sity , lVanning 530299 , Ch.ina )Abstract: With the increase of transportation. traffic congestion has become the most typical urban disease, and people's commutingtirue has gradually lengthened. In order to solve this prohlem better. this paper develops a city commute departure time selection experi-ment based on Django based on Weh fraiuework. The purpose of developing this platform is to make it easier to carry out the laboratorytest of urban commuting departure time. At the same time, the platform has strong versatility. After the experimental parameters aremodif'ied by the fine-tuning method. the travel selection experiment under the conditions of path selection and charge management isimplemented. The most significant advantage of the platform we developed is that it not only hreaks the traditional PC-side implementa-tion. but also uses the WeChat applet to conduct experiments using mobile devices such as Pad or mobile phones. And the code is sim-ple, the experimental interf'ace is clear. and the management account can control the entire experiment.Key Words : Django ; city traffic ; departure-time choice of commuters ; Wechat program
O 引言
隨著我國(guó)城市化進(jìn)程的加快,城市不斷延伸,“職住分離”現(xiàn)象越來(lái)越普遍,人們通勤時(shí)間隨之變得越來(lái)越長(zhǎng)。2017年的《城市出行半徑大數(shù)據(jù)報(bào)告》顯示…,在“北上廣深”4個(gè)城市中,北京市工作日平均出行半徑為9.3km,上班族(也稱為通勤者)通勤時(shí)間壓力居4城之首。通勤時(shí)間對(duì)上班族而言就是“金錢”,花在路上的時(shí)間越長(zhǎng),無(wú)形中就縮短了休息或娛樂(lè)時(shí)間。
大量研究顯示,通勤者更傾向于通過(guò)改變出發(fā)時(shí)間應(yīng)對(duì)交通擁堵。交通系統(tǒng)中出行者的選擇行為決定了系統(tǒng)復(fù)雜度,理解通勤者行為選擇是研究交通擁堵問(wèn)題的關(guān)鍵。實(shí)驗(yàn)室實(shí)驗(yàn)具有良好的可控性,能夠有效揭示交通系統(tǒng)中各種機(jī)制以及機(jī)制與現(xiàn)象之間的因果關(guān)系[2]。因此,大量實(shí)驗(yàn)研究路徑選擇行為,目的是驗(yàn)證用戶個(gè)體的有限理性行為[3],驗(yàn)證交通理論中的悖論[4-5]以及調(diào)查各種外在因素的影響,例如信息反饋[6]和不確定的環(huán)境[7-8]等。相對(duì)于路徑選擇實(shí)驗(yàn),出發(fā)時(shí)間選擇實(shí)驗(yàn)研究較少,而且現(xiàn)有的出發(fā)時(shí)間選擇實(shí)驗(yàn)得到的結(jié)論存在不一致性[9]。
城市通勤出發(fā)時(shí)間選擇的理論模型——瓶頸模型最早由著名經(jīng)濟(jì)學(xué)家Vickrey[10]提出。瓶頸模型將通勤時(shí)間轉(zhuǎn)化為出行成本,引起了眾多學(xué)者的研究興趣[111-12]。瓶頸模型雖然簡(jiǎn)單,但能夠再現(xiàn)城市通勤高峰期出行者的出行行為,因此這一模型廣泛應(yīng)用于交通管理系統(tǒng)設(shè)計(jì),例如擁堵收費(fèi)[13]、電子路票[14]和停車管理[15]等。
本文以瓶頸模型為理論基礎(chǔ),基于Web框架的Django開(kāi)發(fā)了一個(gè)城市通勤出發(fā)時(shí)間選擇實(shí)驗(yàn)平臺(tái)。采用此平臺(tái)可以有效進(jìn)行城市通勤出發(fā)時(shí)間實(shí)驗(yàn),同時(shí)平臺(tái)具有較強(qiáng)的通用性,通過(guò)稍微修改參數(shù)就可進(jìn)行不確定路況條件下的通勤出發(fā)選擇行為實(shí)驗(yàn)。
另外,通過(guò)將出發(fā)時(shí)間修改為出行路徑,還可實(shí)現(xiàn)路徑選擇行為實(shí)驗(yàn)。該平臺(tái)最顯著的優(yōu)勢(shì)是既可在電腦上開(kāi)展實(shí)驗(yàn),也可利用Pad或手機(jī)等移動(dòng)設(shè)備登錄微信開(kāi)展實(shí)驗(yàn),且對(duì)設(shè)備硬件要求不高。
1 相關(guān)技術(shù)介紹
1.1 Django框架
Django是一個(gè)開(kāi)放源代碼的Web框架,由Pvthon寫(xiě)成,其功能強(qiáng)大且豐富,文檔全面且完善,開(kāi)發(fā)效率高,是Python中主流的Web框架。它采用MTV框架模式,即模型M、模板T和視圖V。該模式中,models.py定義了各類數(shù)據(jù)模型,和數(shù)據(jù)庫(kù)引擎實(shí)現(xiàn)交互;templates文件夾中的各個(gè)模板文件代表著視圖(view);urls.py定義各種url訪問(wèn)入口和vlews.py定義各種處理函數(shù)(Django視圖函數(shù))代表控制器( Controller)?;贒jango開(kāi)發(fā)的Web應(yīng)用開(kāi)發(fā)活動(dòng)主要集中在models.py、templates文件夾下的子文件中的各個(gè)模板以及vlews.py中的視圖函數(shù),這就是Django的開(kāi)發(fā)模式,通常也稱為MTV模式,其作為本實(shí)驗(yàn)平臺(tái)的后臺(tái)管理系統(tǒng)完全可以勝任。
1.2 微信小程序
微信小程序簡(jiǎn)稱小程序,是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶只需要掃一掃或搜一搜即可打開(kāi)。小程序作為本實(shí)驗(yàn)平臺(tái)的用戶端,是實(shí)驗(yàn)的重要一環(huán),也是實(shí)驗(yàn)的創(chuàng)新點(diǎn)。利用小程序收集用戶選擇出行的時(shí)間,界面友好而簡(jiǎn)潔,用戶可以體驗(yàn)簡(jiǎn)單的實(shí)驗(yàn)過(guò)程。圖1為小程序與后臺(tái)的交互方式。
2 系統(tǒng)功能設(shè)計(jì)
2.1 系統(tǒng)結(jié)構(gòu)
本實(shí)驗(yàn)平臺(tái)使用經(jīng)典的B/S架構(gòu),分為后臺(tái)管理、微信小程序兩個(gè)模塊,結(jié)構(gòu)如圖2所示。
后臺(tái)管理模塊:管理員通過(guò)瀏覽器訪問(wèn)后臺(tái)管理系統(tǒng),后臺(tái)通過(guò)HTML、JavaScript和css加EasyUI的組合呈現(xiàn),可以調(diào)整實(shí)驗(yàn)參數(shù)如通行能力s、單位行駛時(shí)間費(fèi)用α、單位早到時(shí)間費(fèi)用β、單位遲到時(shí)間費(fèi)用γ等,還可查看實(shí)驗(yàn)進(jìn)程,以及將數(shù)據(jù)庫(kù)中的表生成為Excel表格以供后期分析數(shù)據(jù)。
微信小程序模塊:用戶通過(guò)微信小程序選擇實(shí)驗(yàn)提供的出行時(shí)間(7:00、7:20、7:40)提交給后臺(tái),后臺(tái)會(huì)根據(jù)參數(shù)s、α、β、γ和當(dāng)前選擇出行時(shí)間人數(shù)進(jìn)行計(jì)算,并給用戶返回得分,最后計(jì)算總得分。例如該實(shí)驗(yàn)有34個(gè)實(shí)驗(yàn)用戶,那么每一輪都要等待這34個(gè)實(shí)驗(yàn)用戶全部提交信息才能進(jìn)行下一輪實(shí)驗(yàn)。
2.2 單一瓶頸模型設(shè)計(jì)
假設(shè)每天有固定數(shù)量的通勤者從同一起點(diǎn)出發(fā),沿著同一條路徑到達(dá)同一終點(diǎn)。道路上存在一個(gè)潛在瓶頸,瓶頸處的最大通行能力為s,一旦道路上的車流量超過(guò)瓶頸處的最大通行能力s,則瓶頸被激活,道路發(fā)生擁堵。
假設(shè)從起點(diǎn)到終點(diǎn)的出行時(shí)間是:
其中,Tf是不發(fā)生交通擁堵時(shí)的固定出行時(shí)間,Tv(t)是發(fā)生交通擁堵時(shí)所用的擁堵時(shí)間,f是出發(fā)時(shí)間.一般為了簡(jiǎn)化,假設(shè)Tf=0。
設(shè)q(t)是擁堵時(shí)的隊(duì)列長(zhǎng)度,則通勤者的出行時(shí)間表達(dá)式為: q(t-1)是上一出發(fā)時(shí)刻t-l的隊(duì)列長(zhǎng)度,n(t)是本時(shí)刻的出行人數(shù)。
假設(shè)上班時(shí)間是f*,根據(jù)瓶頸模型,如果通勤者選擇時(shí)刻f出發(fā),則其出行成本表達(dá)式為:
上述等式右邊的第一項(xiàng)是在道路上的行駛時(shí)間,第二項(xiàng)是早到成本,第三項(xiàng)是遲到成本。道路上單位時(shí)間擁堵成本為α,早于上班時(shí)間到達(dá)單位的早到成本為β,晚于上班時(shí)間到達(dá)單位的遲到成本為y。根據(jù)Sma11[15]的研究結(jié)果,成本系數(shù)之間服從關(guān)系y>α>β。根據(jù)方程(4),選擇同一出發(fā)時(shí)間的通勤者出行成本相同,選擇出發(fā)時(shí)間f的收益為:
收益越大則發(fā)生擁堵的概率越小,反之發(fā)生擁堵的概率越大。從該模型可以清楚反映現(xiàn)實(shí)生活中的道路擁堵情況,在一個(gè)道路路口如果車流量(通勤人數(shù))大于路口容納量時(shí)則發(fā)生擁堵。
3 實(shí)驗(yàn)平臺(tái)實(shí)現(xiàn)
本實(shí)驗(yàn)平臺(tái)采用Django作為后臺(tái),微信小程序作為前端數(shù)據(jù)交互,包括實(shí)驗(yàn)人員用戶和管理員用戶兩個(gè)用戶角色,下面介紹實(shí)驗(yàn)人員用戶使用的小程序端和管理人員用戶的Django后臺(tái)兩大模塊實(shí)現(xiàn)。
3.1微信小程序端
小程序是近幾年比較火的一個(gè)開(kāi)發(fā)平臺(tái),每個(gè)人基本上都有微信,所以使用和操作小程序非常方便,這也是本文選擇使用微信小程序的主要原因。通勤者使用微信小程序界面,界面簡(jiǎn)單易用,只需要根據(jù)管理員提供的用戶名和密碼即可登錄進(jìn)行實(shí)驗(yàn)。選擇出行時(shí)間(7:00,7:20,7:40)提交到后臺(tái)管理系統(tǒng),等待后臺(tái)反饋再進(jìn)行下一輪實(shí)驗(yàn)。本實(shí)驗(yàn)平臺(tái)的小程序主要是搜集實(shí)驗(yàn)數(shù)據(jù),僅作為一個(gè)數(shù)據(jù)收集器,通勤者只需要選擇白己的出行時(shí)間即可上傳后臺(tái),操作十分簡(jiǎn)便。每一次選擇都是以JSON的數(shù)據(jù)類型傳輸給后臺(tái),后臺(tái)拿到數(shù)據(jù)處理完后以相同的方式返回給小程序,等待下一輪實(shí)驗(yàn)。小程序作為本實(shí)驗(yàn)平臺(tái)的用戶端,是實(shí)驗(yàn)的重要一環(huán),也是實(shí)驗(yàn)的創(chuàng)新點(diǎn)。后臺(tái)會(huì)根據(jù)每個(gè)用戶提供的時(shí)間計(jì)算出瓶頸模型是否被激活,如被激活則發(fā)生擁堵。
3.2后臺(tái)管理
后臺(tái)管理基于Django框架的Web頁(yè)面,通過(guò)瀏覽器輸入U(xiǎn)RL即可打開(kāi)管理界面,對(duì)本次實(shí)驗(yàn)的參數(shù)、實(shí)驗(yàn)人數(shù)進(jìn)行設(shè)置,查看實(shí)驗(yàn)進(jìn)程。由于后臺(tái)管理系統(tǒng)屬于中間者,連接著前端小程序和底層MvSQL數(shù)據(jù)庫(kù),在小程序發(fā)來(lái)數(shù)據(jù)時(shí)會(huì)先對(duì)數(shù)據(jù)進(jìn)行處理,再通過(guò)ORM對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),每個(gè)頁(yè)面都可通過(guò)URL映射到View視圖函數(shù)。
管理界面如圖4所示。
4 實(shí)驗(yàn)平臺(tái)算法
本實(shí)驗(yàn)研究通勤者的上班成本,參數(shù)有:①道路單位時(shí)間內(nèi)的通行能力為s(通行能力:?jiǎn)挝粫r(shí)間內(nèi)通過(guò)的車輛數(shù))。s是常數(shù),實(shí)驗(yàn)開(kāi)始前由管理員用戶輸入s值;②上班時(shí)間ts=8:00,從生活區(qū)出發(fā)時(shí)間t,擁堵時(shí)間 ;③某時(shí)刻t 出發(fā)車輛數(shù)為ni,n2,…(1輛車就是“1個(gè)排隊(duì)長(zhǎng)度”);④單位時(shí)間內(nèi)的排隊(duì)長(zhǎng)度q(不能通行的車都要排隊(duì),出發(fā)早的車輛不能通行造成的排隊(duì)會(huì)影響出發(fā)晚的車輛);⑤參數(shù)意義:a-單位行駛時(shí)間費(fèi)用,β——單位早到時(shí)間費(fèi)用,γ——單位遲到時(shí)間費(fèi)用。實(shí)驗(yàn)中(α,β,γ)是常數(shù),其值在實(shí)驗(yàn)開(kāi)始前由負(fù)責(zé)人輸入。
計(jì)算方法有:
(1)排隊(duì)長(zhǎng)度計(jì)算:
當(dāng)(上時(shí)刻剩余人數(shù)+本時(shí)刻出行人數(shù))≤s時(shí),不發(fā)生擁堵,q=0;
當(dāng)(上時(shí)刻剩余人數(shù)+本時(shí)刻出行人數(shù))>s時(shí),發(fā)生擁堵,q=上時(shí)刻剩余人數(shù)+本時(shí)刻出行人數(shù)一s。
(2)單位時(shí)間為At。
(3)擁堵時(shí)間tp=(q/s)xAt。
(4)到達(dá)時(shí)間=出發(fā)時(shí)間t+擁堵時(shí)間t。
(5)擁堵成本=a×(擁堵時(shí)間LP/單位時(shí)間At)。
(6)早到成本=B×(上班時(shí)間tS一到達(dá)時(shí)間)/單位時(shí)間At。
(7)遲到成本=γ×(到達(dá)時(shí)間一上班時(shí)間tS)/單位時(shí)間At。
(8)總成本=擁堵成本+早到(或者遲到)成本。
(9)得分=10-總成本。
最后得分是該實(shí)驗(yàn)人員在本次實(shí)驗(yàn)中的得分。
5 結(jié)語(yǔ)
本文以城市通勤出發(fā)時(shí)間選擇模型——瓶頸模型為理論基礎(chǔ),基于Django框架和騰訊的微信小程序,采用Pv-thon的強(qiáng)大Weh功能- Django框架,開(kāi)發(fā)了一個(gè)城市通勤出發(fā)時(shí)間選擇實(shí)驗(yàn)平臺(tái)。該平臺(tái)具有強(qiáng)大的數(shù)據(jù)庫(kù)訪問(wèn)組件ORM,開(kāi)發(fā)者無(wú)需學(xué)習(xí)SOL語(yǔ)言即可對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,而且每一次記錄都是一個(gè)對(duì)象,簡(jiǎn)潔易行。
采用此平臺(tái)進(jìn)行通勤者出行選擇行為研究,可以揭示通勤早高峰出發(fā)時(shí)間選擇行為及其現(xiàn)象的內(nèi)在機(jī)制,從更深層次理解個(gè)體及整體的選擇行為,為交通管理部門出臺(tái)有效的治堵措施提供理論依據(jù)。后續(xù)丁作要將平臺(tái)提取的數(shù)據(jù)進(jìn)行出行時(shí)間分析,并根據(jù)此數(shù)據(jù)建立交通出行時(shí)間模型,更深層次地探索出行時(shí)間選擇問(wèn)題。
參考文獻(xiàn):
[1]騰訊.北上廣深哪里最擁擠?騰訊發(fā)布《城市出行半徑大數(shù)據(jù)報(bào)告》[ EB/OL].http://www.mediacluh.cc/news/infos/id/7412.
[2]DIXIT V V. ORTMANN A. RUTSTROM E Understanding transpor-tation s.'stems through the lensPs of experimental economics:a review[C]. Social Science Electronic Publishing, 2015.
[3]ZHAO C L,HUANC H J.Experiment of boundedlv rational routechoice behavior and the model under satisficing rule[J]. Transporta-tion Research Pan C. 2016(68): 22-37.
[4]RAPOPORT A. GISCHES E J, MAK V. Distributed decisions in net-works: lahoratorT study OF routing splittable flow [J]. Production andOperations Management , 2014, 23(2) : 314-331.
[5]MAK V. SEALE D A . CISCHES E J . etal. The braess paradox andconrdination failure in directed networks with mixed externalities [J].Prod Oper Manag, 2018, 27(4) : 717-733.
[6]RAPOPORT A. GISCHES E J, DAWIEL T. et al Pre-trip informationand rr,ute-choice decision with stochastic travel conditinn [J] . Experi-ment. Transponation Research Part B , 2014(68) : 154-172.
[7]LUX. CAO S. BEN-ELIA E. Information impacts on route choiceand learning behavior in a congested network: an experimental ap-prr)ach[J] . Transportation Research Record , 2011(22) : 89-98.
[8]INNOCENTI A, LATTARULO P. PAZIEhrZA M C. Car stickiness:heuristics and hiases in travel c:hoice [J]. Transport Policy, 2013 (25) : 158-168.
[9]劉天亮 ,張沖 ,王天歌 ,等 .朋友圈信息交互對(duì) A個(gè)體出行決策行T為的影響研究 [ J] .交通運(yùn)輸系統(tǒng)工程與信息 , 2013(13) : 86-93.
[10]VICKREY W S. Congestion theory and transport investment [J]. TheAmerican Economic Review.1969(59): 251-260.
[II]XIAO LL. HUANG H J. LIU R. Congestion behavior and tolls in a
hottleneck model With stochastic capacity [J]. Transportation Sci-
ence, 2015(49) : 46-65.
[12]TAKAMASA I. Instahility of departure time choice problem: a casewith replicator dynamics transporLation research part B : methodologi-cal[C]. In press, corrected proof, Availahle online 2 September2018.
[13]XIAO F. SHEN W. ZHANG H M. The morning commute under flattoll and tactical waiting [J]. Transportation Research Part B, 2012(46):1346-1359.
[14]SHEhr W, ZHANC H M. Parem-improring ramp metering strategiesfor reducing congestion in the morning conimute [J]. Transpr,rtationResearch PartA . 2010(44) : 676-696.
[15]OIAN Z. XIAO F. ZHANC H M. The econr)mics of parking provi-sion for the morning commute [J]. Transportation Research Part A,2011(45): 861-879.收稿日期:2019-06-11
基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目( 11402058,71461002)
作者簡(jiǎn)介:李文韜(1994-),男,南寧師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院碩士研究生,研究方向?yàn)檐浖_(kāi)發(fā)、大數(shù)據(jù)分析;孫曉燕(1978-).
女,博士,南寧師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院教授.研究方向?yàn)榻煌〝?shù)據(jù)分析、建模。本文通訊作者:孫曉燕。