今天小編分享的科技經驗:電梯調度算法到底在想什麼?為何總是錯過你的樓層?,歡迎閱讀。
電梯的調度真的是會讓人摸不着頭腦,為啥等了個大十幾分鍾,這玩意就是不停?
這個讓人偷懶的玩意在咱們的生活中出現的越多,我就越開始好奇它是如何運作的?
今天我們來聊聊、電梯是如何來來往往,才能讓你上班減少遲到的。
起床、上班、回家,已經構成了我們城市中打工生活的三點一線。
工作的打卡時間仿佛是個催命符、督促着我要拼上全部來保佑我的工資。
但是往往當我們克服溫暖的被窩、堵塞的交通、擁擠的地鐵、到達公司樓下的時候。
還有一道天塹在我面前。沒錯,那就是永遠不知道在哪裡的,薛定谔的電梯。
沒有人真的會用腳去爬這麼高的樓層吧,相信我,你可能點樓梯在哪裡都找不到。
但是有時候,電梯的調度真的是會讓人摸不着頭腦,為啥等了個大十幾分鍾,這玩意就是不停?
這個讓人偷懶的玩意在咱們的生活中出現的越多,我就越開始好奇它是如何運作的?
大家好、我是想在被窩睡懶覺的差評君,今天我們來聊聊、電梯是如何來來往往,才能讓你上班減少遲到。
單個電梯算法分析
如果讓你來操刀、設計一台電梯運行的話,應該怎麼做?
最樸素的電梯,往往只需要最簡單的方法來幫忙調度。
抛開那些繁瑣的情況不談。
只要讓電梯在底樓到頂樓之間循環往復,這樣所有人都能被電梯給接到。
不過這種辦法雖然 " 公平 ",但是效率可算不上高,畢竟沒人的時候電梯也在運作,而且很多時候還會浪費時間去空跑。
所以,想讓電梯運行的更快,還得考慮到用戶的目的才行。
我們假設每次一按電梯的時候,都會召喚當前的電梯過來,然後将我們送到目的地,以此記為一個目的。
完成一個目的之後,電梯再去等待處理下一個目的,那不就解決了麼?
能用嗎?能用。
好用嗎?不好用。
很明顯,這種先來先服務的調服方法存在着很大的問題。
一旦遇到人流高峰期,過多的訪問可能就把這個電梯給擠爆了。
比如下班的時候,如果 7 樓,8 樓,12 樓,19 樓的人都要下去,但是這個 7 樓的同學是最後一個按下電梯的。
那電梯就會在 7 樓面前穿梭好幾次,直到把上面的人都給送完了,才會來響應 7 樓的需求。
那是真正的下班晚按一秒鍾,多等一小時了。
所以,怎麼才能提高電梯的效率呢?
如果咱們電梯在運行的時候,會把接下來了電梯停靠需求給列成一個表格,那個任務距離我現在的位置近,那我就先去處理好它就行了。
比如剛才的同時下樓方案,就可以從上到下,在第一次路過 7 樓的時候就将人給帶走。
這種最短路徑優先的算法雖然看上去效率很高,也能幫我們在短時間裡給電梯裡運走大量人員。
但是吧,這種高效的運法看着很高,但依舊存在着致命缺陷。
那就是會出現,人的需求不被響應的情況,有時候按了半天,電梯反而會卻完全不來。
比如在一家公司中,17 樓到 21 樓之間有大量的人員來往,幾乎每時每刻都會有人在這裡上上下下。
此時如果有人想從一樓上去,那電梯就會因為距離一樓太遠,而又在 " 尋找最近的服務 " 這個原因,每次都在 17 樓和 21 樓之間來回。
一樓的電梯因為距離太遠而被摒棄,除非是等他們忙完了事情,電梯才會下來,那可能天都黑了。
而且這樣的調度方式還會讓電梯不斷的走回頭路,對站在裡面的人來說,體驗可能也不會好。
而且這種調度方式坐起來還很折騰。
比如我明明是想從 17 樓網上去 21 層,但是因為我樓上有個家夥想要從 18 樓去 16 樓,那我還得陪他重新下去一趟,頭都要被晃暈了。
所以,以上三種方法,都不是合理的調度方式。
而如果将來這些方式都結合起來,其實就是我們現在單電梯調度常用的方法了。
也被叫做 LOOK 算法,對計算機技術比較了解的差友可能會聽起來耳熟。
在它調度下,電梯還是在上下運動,但是運動的範圍不再是一開始那麼浪費資源的從最下層到最上層。
而是只運行到每次請求的最上層或者是最下層,中間順路的開關門任務都一起處理,簡單來說就是一句話: " 順向接反向不接 "
等運行到本次請求的最上層之後,再調轉向下,同理再去處理這些載人請求,如果沒人召喚它,就會停下來以節省能源。
實際上,讓電梯運行的更加公平合理的調度,本質上是一種排序和效率優化的問題。
這些單梯調度的算法,其實都是早年咱們機械硬碟的磁頭調度算法的變體。
特别是在傳統的機械磁盤中,磁頭的移動效率至關重要。
類似于電梯算法,硬碟優化算法試圖減少磁頭的移動距離,從而減少尋道時間,提高數據讀寫效率。
雖然目前 HDD 已經用的不多了,但是或許在未來,這些歸納總結,提高效率的經驗,可以在新的行業出現一些意想不到的用法。
電梯群控算法分析
在咱們的生活中,随着大家對樓層時間設計的空間復雜度要求越來越高,傳統的單梯單控已經不足以滿足大家的要求了。
雙梯調度的原理也不復雜,核心還是這條 " 順向接反向不接 "。
唯一的區别就是在選擇讓哪個電梯去幫忙接人了。
這裡就是就近選擇了,會讓最近的電梯跑過去幫忙把人給接一下。
當然,随着我們建的樓越來越復雜,電梯的調度原理也會變得更加繁瑣。
難度不是在技術上,而是在服務上。
畢竟酒店、辦公、和住宿區、不同的建築會有不同的調度需求。
和調度相比,如何滿足人流量需求更加重要。
電梯的調度問題,就變成了一個信息的收集和解決的難題。
比如考慮到每個樓層有多少用戶在等待,電梯内部的人有沒有坐滿等等。
在計算機和電控系統普及了之後,電梯群控處理問題的方式也開始逐漸多樣化。
同一場景的不同流量下,也可以智能的采取不同的調度模式。
就比如有些公寓裡,在日常時間為了方便大家下樓,會讓一個電梯專門在樓層的中間位置常駐,一個電梯停在公寓的底部。以此來實現更快的接人。
甚至在不同的應用場景中,電梯的設計本身就有不同的規範方案。
比如在我們國家的《 民用建築設計統一标準 》中、就提到,高層公共建築和高層宿舍建築的電梯台數不宜少于 2 台,12 層及 12 層以上的住宅建築的電梯台數不應少于 2 台。
在《 住宅設計規範 》中也可以看到,在七層及七層以上住宅必須設計電梯。
所以,現在知道為啥很多老住宅樓往往只有六層了吧。
而在為酒店或者是寫字樓設計電梯的時候,就會涉及到不同的 " 服務标準 " 了。
比如一些五星級酒店在設計電梯的時候,考慮到的則是如何讓客人能在一分鍾内做到電梯,以此來降低他們等待的焦慮感。
而寫字樓則比較復雜,專門研究電梯調度的公司 Peter research 就給它做過一個建模分析。
它人流量特征就呈現了非常明顯的随時間變化,在上班那一個小時的高峰期中,大概有 85% 都是要進入大樓上班的,10% 的人是要出去,而剩下那 5% 的人則是在樓層之間移動。
而且在這個高峰期内,人流量也是在前半小時逐步上升,一直到時間過去一半。在人數最擁擠的 5 分鍾裡,電梯需要承擔整個早高峰的 12% 的流量。
假設一個辦公室裡有 2000 人同時上下班,那就代表電梯的設計規範就需要考慮可以在 5 分鍾送走 240 人,相當于一分鍾運上去 48 個人。
而在午餐時間的人流量模型則是略有不同,上樓和下樓的人則是有來有回,各自能占據了 45% 左右。而且人流量也随着時間呈現出兩個波峰,符合大家出去吃飯,又回來上班的直覺。
随着不同的模型調度測試,電梯也需要設計不同的工作模式來接送客人。
實際上,在面對辦公樓這樣大負載的人流情況,很多公司會采用傳說中的 " 目的地調度系統 "。
也就是咱們在進入電梯的時候不是手動按樓層将電梯召喚下來,然後再輸入自己想去的樓層。而是在進入電梯前,就将自己的目的地告訴系統。
這樣電梯調度系統就可以将前往想通了樓層的人給安排到一輛電梯上,讓電梯的停靠次數更少,往返速度更快,來實現 " 高效上班 "。
實際上,電梯的群控調度其實還是一個在不斷進步的問題。
在論文中,還能看到大家在試圖通過專家網絡、動态搜索、多智能體、強化學習等多種方法實現電梯集群的調度。在工程上,也可以看到在高層建築中采用的分區電梯技術在煥發光彩。
或許在成熟的空中交通系統問世之前,可能咱們還得忍受上班時對電梯的等待。什麼,你問我上班要等多久電梯?不好意思,我們公司在三樓,火鍋都能自己爬上去。
撰文:羽落無聲
圖片、資料來源:
付麗君 , 周崇 . 電梯群控系統的最優調度仿真 [ J ] . 計算機仿真 , 2012 , 29 ( 4 ) : 263-267.
AI 漫談:電梯調度運行邏輯
電梯一體化目的層群控系統用戶手冊
雙電梯電梯調度算法的簡單分析
如何為 300 層的摩天大樓設計電梯系統?——胡瑞楓
Ding B, Zhang Y M , Peng X Y , et al.A hybrid approach for the analysis and prediction of elevator passenger flow in an office building [ J ] . Automation in construction, 2013,35 : 69-78.
The Application of Simulation to Traffic Design and Dispatcher Testing
邢關生 . 基于強化學習算法的電梯動态調度策略的研究 [ D ] . 天津 : 天津大學 , 2005
劉冬 . 群控電梯交通模式識别與調度控制研究 [ D ] . 沈陽建築大學 , 2014.
GUIDE:D