1. 程式人生 > 其它 >JUST黑科技:助力園區資源優化部署|UbiComp2020

JUST黑科技:助力園區資源優化部署|UbiComp2020

園區內資源的智慧化部署有助於降低部署成本,提高資源使用率。如何部署有限的資源更好地服務人群,是普適計算領域研究的問題之一。普適計算領域頂級會議UbiComp2020(2020年9月12日至17日)近日在線上召開。在剛結束的Location and Human Mobility分會場上,京東城市分享了被會議收錄的論文《Dynamic Public Resource Allocation based on Human Mobility Prediction》。本期技術前沿,我們將介紹如何基於人流量的變化動態部署公共資源。

問題背景

在一些POI(興趣點)比較密集的園區裡,如遊樂園、公園等地,遊客們一天內通常會在不同地點停留觀賞遊玩。如果停留的地方沒有設定垃圾桶,遊客們就很有可能會把產生的垃圾隨意丟棄,嚴重影響了環境的整潔和增加了環衛工人工作量。無奈之下,管理人員不得不在所有人可能去的地方都放置垃圾桶,避免行人亂扔垃圾的情況出現。而這種大量垃圾桶的部署,一方面成本較高,另一方面增加了清理維護的難度。然而,由於人群的移動特性,人群在時域和空域上的分佈是高度不均勻的,這就導致這些大量部署的垃圾桶有較低的使用率。圖1展示了北京歡樂谷垃圾桶的空間分佈和人群在一天中不同時段的空間分佈。我們可以很明顯的看到,用紅色虛線框標識的垃圾桶並非每時每刻都在使用中。

圖1. 北京歡樂谷不同時段的人流量空間分佈.

圖2展示了95個垃圾桶全天的平均使用率,其中70%-80%的垃圾桶沒有被充分利用起來。除了由於非資料驅動的靜態選址導致的低使用率問題,人群的動態特性是另一個導致該問題的重要因素。

圖2. 垃圾桶使用率分佈.

基於這些觀察,一個很自然的問題是:如果這些垃圾桶可以移動,我們有沒有可能用更少的垃圾桶服務相同數量的人群?值得一提的是,除垃圾桶之外,具有類似目標的資源還包括廣告牌以及監控攝像頭等等。幸運的是,由於機器人系統的高速發展,多種多樣的無人車為了物流及運輸目的出現了(圖3)。除此之外,有些公司,如京東等開發了能夠運輸任意負載的通用移動底座,如圖4所示,能夠讓任意資源移動起來。

圖3. 無人車. 圖4. 通用移動底座.

於是,京東城市聯合西安電子科技大學等機構,提出了一種基於預測人口流動的動態公共資源部署方法。基於這種方法,我們能夠用更少的資源達到原先靜態部署方式相同的全天人群覆蓋率。
面臨挑戰然而,要為這些動態公共資源(或稱為智慧體)設計一種有效的排程策略並不容易,有以下三方面難點,如圖5所示:首先,由於預算的原因,資源的個數是非常有限的,所以我們不能在每一個時間片都覆蓋所有區域;其次,智慧體有能量的限制,如果我們每一個時間片都將智慧體派到最大化人群覆蓋的地方去,能量會很容易消耗完畢;最後,智慧體的動作空間非常大,一個智慧體可以移動到服務區域內的任意位置,同時一個地點可以被任意智慧體服務,計算一種最優的策略非常的耗時。

圖5. 問題挑戰.


解決方案為了克服前兩個挑戰,我們首先執行多時間步的人流量預測,讓我們對未來人流量的動態變化有一個更好的理解,然後我們提出了一個多智慧體長期最大覆蓋排程MALMCS(Multi-Agent Long-term Maximal Coverage Scheduling)問題,該問題基於多步人流量預測結果,在考慮每個智慧體能量約束的情況下,排程多個智慧體來最大化全天的人流量覆蓋。為了進一步克服第三個挑戰,我們提出了一種啟發式演算法——能量自適應排程EADS(Energy Adaptive Scheduling)來高效和有效地排程智慧體。(一)多智慧體長期最大覆蓋排程

  • 問題設定

我們的問題設定如圖6所示。我們將服務區域離散化成均勻大小的柵格,每一個柵格有一個隨時間片變化的人流量讀數。我們有k個同質的智慧體,每個都有相同的能量約束。每個智慧體都有一個服務半徑,代表了它能服務其周邊的區域的大小。同時,該問題中我們認為如果至少有一個智慧體能服務柵格,那個柵格中的人流量就被覆蓋了。在運營區域中,有一個靜態的充電站,所有的智慧體必須在充電站開始和結束一天的動態部署。其中柵格化的人流量讀數可以來自移動應用程式的時空報點資料或者GPS軌跡資料,通過JUST的時空特徵提取模組,我們可以很容易轉換成區域柵格資料。

圖6. 問題設定.

  • 問題定義

基於以上設定,MALMCS問題定義如下:基於預測得到的直至當天服務時間結束人流量多步預測結果,計算每個智慧體後續時間片的位置方位序列,使得在不耗盡每個智慧體能量的情況下,讓全天服務時間內人流量覆蓋實現最大化。與大多數規劃問題相同,我們在論文中證明了該問題是一個NP難問題。其中,得到多步人流量預測結果的方法現在已經有較多的研究,我們這裡採用了當前較為先進的一種基於矩陣分解和深度神經網路的演算法[1],該演算法同樣來源於京東城市的一個研究工作。

  • 模型預測控制MPC(Model Predictive Control)策略

由於長期的預測很難做到非常準確,我們採用了模型預測控制MPC策略。在一天的服務時間段內,每兩個連續時間片中間有一個決策時間。當一個決策時間到來後,基於實時觀測到的人流量,我們會預測下一時間片直至當天服務時間結束每一時間片的人流量。然後我們會基於最新的未來人流量預測結果以及智慧體當前的位置和剩餘能量,解MALMCS問題,但我們只執行遊戲賣號平臺地圖智慧體第一個位置移動決策。當下一決策時間到來後,我們執行相同的操作。我們通過這種策略,克服長期預測誤差過大,導致排程結果嚴重偏離最優策略的問題。(二)能量自適應排程由於MALMCS是一個NP難問題,計算最優解非常耗時。因此,我們提出了一個兩步的啟發式演算法——能量自適應排程EADS來高效地解決這個問題。第一步是多層級最大覆蓋排程,在這一步中,我們試圖找到一種排程策略使得智慧體在未來每一時間片都移動到該時間片預測的最大覆蓋的位置上去,同時保證每個智慧體的能量不會耗盡。如果我們無法找到這種排程策略,我們執行第二步能量感知排程,在這一步中我們尋找一種排程策略能夠在能量約束下最大化未來人流量覆蓋。

  • 多層級最大覆蓋排程

這一步的主要思想是,如果對於未來每一個時間片,我們都能派智慧體去最大化覆蓋預測的該時間片的人流量的位置上去,如果預測較為準確,我們就能夠獲得最大的全天人流量覆蓋。所以,我們只需要檢查是否存在一個多層級的位置序列分配,讓所有智慧體都不耗盡能量。如果存在,該排程策略就是滿足我們優化目標的最優策略。要實現該目的,分為兩步:第一步,在未來每一個時間片中選擇出實現最大覆蓋的k個地點。給定一個時間片的人流量空間分佈,選擇k個地點讓整體服務的人流量最大化本質是經典的帶權重的最大k覆蓋問題,已被證明是NP難問題 [2]。一種較為直接的貪心演算法是:每一步在當前未覆蓋地點中選擇一個能覆蓋最多人群的地點,如圖7所示,直到選出k個地點。通過這種演算法,我們未來每一個時間片都能得到k個選擇出的地點。

圖7. 某時間片選擇一個地點演算法示意.

第二步,將智慧體在不同時間片分配到上一步中選擇得到的地點,使得能量剩餘最少的智慧體的剩餘能量最大化,並檢查這種分配方式是否可行。使能量剩餘最少的智慧體的剩餘能量最大化等價於讓消耗能量最多的智慧體能量消耗最小化,其本質是一個經典的多層級瓶頸分配問題(multi-level bottleneck assignment problem,MBAP) [3]。可以通過迭代式的解單層瓶頸分配問題(linear bottleneck assignment problem, LBAP)來解決。如圖8所示,我們先通過每一層單獨解LBAP,我們得到初始分配方案,然後通過調整每一層的分配,嘗試是否存在更優方案。演算法停止後,如果該分配方案消耗的能量滿足能量約束,我們就返回該結果作為我們的排程策略。

圖8. 多層級瓶頸分配舉例.

  • 能量感知排程

如果讓消耗能量最多的智慧體能量消耗最小化的策略能不能滿足能量約束,意味著智慧體一定無法保證每時每刻都移動到最大覆蓋的地點去,因此我們執行第二步能量感知排程。該方法基於爬山演算法,核心思想是我們首先初始化一個策略把智慧體派去能讓未來預測的平均人流量最大化的k個地點,然後讓智慧體未來一直停在那些地點,如圖9所示。從而保證智慧體即使未來不移動,我們仍然能夠得到一個相對不錯的全天人流量覆蓋結果。

圖9. 策略初始化.

然後我們迭代式地對未來一個時間片,一個智慧體,選擇一個地點調整能使得人群覆蓋增益最大化,直到不存在一種調整能夠使全天人流量覆蓋能夠進一步提高,我們的策略改進就停止,並返回每個智慧體後續的位置訪問序列。

實驗

  • 資料集

我們從騰訊位置大資料[4]獲取了北京歡樂谷從2018年1月1日至2018年10月31日(10個月)的人流量熱力圖資料,每個時間片為1小時,包含51x108=5,508個柵格,每個柵格大小為10mx10m。我們同時通過實地勘察,收集了園區內95個垃圾桶的位置,其空間分佈如圖1所示。人流量在一週內的分佈如圖10所示,由於歡樂谷是一個娛樂場所,我們可以發現週末的人流量是周內人流量的2-3倍。人流量的空間分佈如圖11所示,我們發現80%的人流其實分佈在人流量排名前12.6%的柵格中,這揭示了人流量在空間上的分佈高度傾斜。我們同樣在圖11上畫出了垃圾桶的空間分佈,80%的垃圾桶分佈在人流量排名前18%的柵格中,說明了現有的垃圾桶分佈和人群的空間分佈具有一定的相關性。但是也有16%的垃圾桶分佈在幾乎不太有人的柵格,我們猜測原因可能是由於園區的高速發展和娛樂裝置的遷移,之前部署的垃圾桶無法服務現在的人群。

圖10. 時間分佈. 圖11. 空間分佈.

  • 驗證方法

我們使用歡樂谷過去9個月的人流量資料做訓練,得到我們的多時間步人流量預測模型。基於該模型和最後一個月真實的人流量資料,我們驗證了我們排程演算法的有效性。我們以最後一個月平均每天能覆蓋的人群指數(ADCC)作為評價指標,其中每天能覆蓋的人群指數是每個時間片能夠覆蓋使用者指數的總和。

  • 實驗結果

我們比較了不同部署策略下ADCC的差異,對於EADS,我們預設設定智慧體的服務面積是10mx10m,每個智慧體的能量約束等價於能夠移動500m。隨著資源個數的增加,不同部署策略下ADCC的變化結果如圖12所示。Current是現有的95個垃圾桶的部署策略,灰線代表了其現在的人群覆蓋水平。Static是進行靜態的最大k覆蓋選址策略,在該策略下,為了達到相同的人群覆蓋率,大約需要44個資源。相對應的,我們提出的EADS方法,只需要19個資源。同時,如果只進行一次規劃而不使用MPC策略(EADS-nMPC),我們發現效果有顯著的下降,這也印證了我們前面說的,長期預測的結果並不可靠,通過MPC策略,可以減輕預測偏差帶來的排程結果不合理。當我們不進行能量約束(EADS-Inf)時,資源使用有略微減少,但是要求智慧體有更大的能量上限(實驗中等價移動距離約要增大1倍)。EADS-Inf (Theo.)是我們基於未來真實的人流量變化(現實中不可能做到)同時不限制能量約束得到的規劃結果,它與EADS-Inf效果上的差距主要是由於模型預測誤差造成的。在未來,通過積累歷史上更長時間的資料,獲得一個更準確的模型,我們有機會實現資源的進一步減少。總體而言,EADS與Current與Static相比,大約實現了80%和56.8%的資源節約,具有較為顯著的優勢。

圖12. 實驗結果.