(長安大學(xué)教育技術(shù)與網(wǎng)絡(luò)中心,陜西西安 710064)
高校作為人員密集場所,在疫情期間需要采取措施避免師生大規(guī)模聚集,如圖書館、教室等區(qū)域可以通過限制性手段進(jìn)行管控。然而,食堂作為師生每日必經(jīng)之地,排隊就餐問題比較突出,且具有就餐時間固定的特點(diǎn),不能簡單的人為限制,師生需要借助某種手段,提前判斷人多區(qū)域和用餐高峰時間。
目前利用數(shù)據(jù)預(yù)測的方法包括例如馬爾科夫鏈[1],大數(shù)據(jù)[2]等,這些方法可以實現(xiàn)對人流量及擁擠狀態(tài)的預(yù)測,但這些方法需要經(jīng)過前期數(shù)據(jù)采集,算法反復(fù)調(diào)優(yōu),且后端構(gòu)建都非常繁瑣。針對上述問題,本文從結(jié)果導(dǎo)向出發(fā)。開發(fā)擁擠模型的目的是提醒師生錯峰就餐,而師生對當(dāng)前食堂有多少人并不感興趣,即僅需要獲得“非常擁擠”“輕微擁擠”“不擁擠”三種信息就可以實現(xiàn)本文的目的。
通過分析,本文選擇校園卡刷卡數(shù)據(jù)作為基礎(chǔ),開發(fā)“動態(tài)時間窗口”擁擠模型將數(shù)據(jù)可視化,通過前端“柱形圖+顏色”進(jìn)行展示并集成至微信公眾號方便師生查看。
本文提出方法的核心是校園卡刷卡數(shù)據(jù),由于學(xué)校食堂所有消費(fèi)必須使用校園卡,無其他支付方式,因此刷卡數(shù)據(jù)與就餐人數(shù)成正相關(guān)。
假設(shè)每個人平均吃飯時長15分鐘(窗口時間),可以理解為刷卡后的15分鐘要留在食堂,因此15分鐘內(nèi)的累計刷卡數(shù)為當(dāng)前食堂所有就餐人數(shù)。就餐人數(shù)與食堂最大容納人數(shù)的比值即為“擁擠指數(shù)”,其值大于等于零,若“擁擠指數(shù)”大于給定的閾值則判斷當(dāng)前食堂擁擠。該模型比較簡單,沒有考慮排隊人數(shù)和刷卡后直接離開的情況,但已經(jīng)可以動態(tài)反應(yīng)食堂的擁擠狀態(tài)。
在上述模型的基礎(chǔ)上我們進(jìn)行改進(jìn),由于每個人的吃飯時長(窗口時間)在不同就餐時間、不同擁擠狀態(tài)、不同食堂都是不一致的,因此需要設(shè)計成動態(tài)時間窗口,其大小根據(jù)食堂實際情況進(jìn)行調(diào)整。設(shè)定動態(tài)時間窗口為n(初始值n=15),則當(dāng)前食堂人數(shù)為Zn,即統(tǒng)計當(dāng)前時刻到前n=15分鐘內(nèi)的刷卡數(shù)據(jù),食堂最大容納人數(shù)Max,判斷擁擠的閾值為a,b,a>b(初始值a=0.9,b=0.7),綜上“擁擠指數(shù)”模型如表1所示,模型示例:
表1 “擁擠指數(shù)”模型Tab.1 Model of ‘Crowding Index’
(1)當(dāng)Zn/Max<=0.7,n=15,即當(dāng)前食堂人數(shù)與最大可容納人數(shù)比值小于0.7,食堂不擁擠,窗口時間設(shè)置為15分鐘。
(2)當(dāng)0.7 (3)當(dāng)Zn/Max>=0.9,n=19,即當(dāng)前食堂人數(shù)與最大可容納人數(shù)比值大于0.9,食堂非常擁擠,出現(xiàn)擁擠排隊且找不到座位的情況,窗口時間增加為19分鐘。 由于學(xué)校食堂較多,每個食堂硬件設(shè)施(座位數(shù)、面積、樓層、地理位置)、餐飲模式(現(xiàn)炒現(xiàn)做、直接打飯)、人流量等因素都不一樣,因此不能使用同一種參數(shù),需要現(xiàn)場多次觀察手動調(diào)參,參數(shù)包括時間窗口n1,n2,n3和閾值a,b,而食堂最大容納人數(shù)Max一般不會變動。食堂調(diào)參示例: (1)食堂一:炒菜窗口較多,需要現(xiàn)做,易出現(xiàn)排隊等待的情況,因此增加初始窗口時間n1,n2和n3也隨之增加。 (2)食堂二:位于一層且靠近教學(xué)樓,易出現(xiàn)人流量猛增的情況,因此降低閾值a和b。 (3)食堂三:人流量較小,不易出現(xiàn)擁擠情況,使用標(biāo)準(zhǔn)參數(shù)即可。 本文提出的方法涉及多個參數(shù),需要根據(jù)食堂實際情況手動調(diào)參,因此開發(fā)后端調(diào)參界面。如圖1 所示,包括食堂區(qū)域和樓層,以及上一節(jié)提到的6種參數(shù),所有參數(shù)都給出了默認(rèn)值,管理員可以根據(jù)食堂實際請款進(jìn)行調(diào)整,按照使用經(jīng)驗,管理員可在用餐時作簡單觀察,每個食堂觀察3~4 次即可適配。當(dāng)前食堂人數(shù)Z n 偽代碼(SQL)[3-6]示例: 圖1 系統(tǒng)后臺Fig.1 System back-end select distinct 編號 from 刷卡數(shù)據(jù) where (交易日期 between sysdate -interval '15' MINUTE and sysdate) and (JYDD like '餐廳')。 前端采用響應(yīng)式設(shè)計,方便師生在不同終端設(shè)備上查看。柱形圖表示“擁擠指數(shù)”,綠色表示不擁擠,黃色表示輕微擁擠,紅色表示非常擁擠。頁面每20 秒更新一次數(shù)據(jù),倒計時顯示。提供手動點(diǎn)擊刷新按鈕和切換校區(qū)按鈕,前端界面如圖2所示。 圖2 前端擁擠指數(shù)界面Fig.2 System front-end 本文提出了一種基于校園卡刷卡數(shù)據(jù)判斷食堂擁擠狀態(tài)的方法,該算法模型簡單高效,前后端易于部署,且建設(shè)成本較低?;谒⒖〝?shù)據(jù)的“擁擠指數(shù)”實現(xiàn)師生錯峰就餐的預(yù)期,既有助于疫情防控,又提高了用餐效率。除了校園卡刷卡數(shù)據(jù),高校應(yīng)用系統(tǒng)包含更多有價值的數(shù)據(jù),需要通過處理將其可視化,從而為學(xué)校資源合理分配、校園規(guī)劃建設(shè)、師生學(xué)習(xí)工作提供有意義的參考。2 開發(fā)
2.1 后端模型
2.2 前端界面
3 結(jié)語