電梯的最佳停靠位置

最早發現這個問題的時候是兩年前在杭州。當時住在一個蠻高端的叫翡翠城的小區,樓里有兩部電梯。
觀察一段時間你會發現,兩部電梯在很長時間沒人乘坐后,它不會全部停在1層,而是一部在一層,另一部在樓的中間位置。比如那棟樓有16層高,經常在早上起來發現,電梯一部在1層,另一部在8層。
當時就在想,這么做的目的是什么?是為了讓相對住在高層的業主能更快的坐到電梯?如果是這樣,那這種一部停在中間,一部停在1層是不是最科學的方式?

先從只有一部電梯的情況開始分析。
我們假設樓有n層,到每一層去的人的概率是一樣的, 同時從第x層下到1層的概率也是一樣的。假設電梯的停靠位置是p,那么可以推出當p等于1的時候,總的代價最低(全部人上樓,下樓電梯運行的總樓層數)。

當有兩部電梯的時候,情況要復雜很多,很難通過不等式來推理。
使用程序模擬,代碼如下:

import sys
from math import *
#top floor
N = 10
#elevator number
M = 3
def distance(src, dest, elevator):
        return min(map(lambda x : abs(x-src), elevator)) + abs(src-dest)

#sum ditance
def up_down(elevator):
        sum = 0
        for i in range(1, N+1):
                sum += distance(1, i, elevator)
                sum += distance(i, 1, elevator)
        return sum
#elevator pos
def yield_elevator(m) :
        if (m == 1):
                for i in range(1, N+1):
                        yield [i]
        else:
                for ele in yield_elevator(m-1):
                        for i in range(ele[-1], N+1):
                                yield ele + [i]
min_dis = sys.maxint
for ele in yield_elevator(M):
        dis = up_down(ele)
        if (dis < min_dis):
                min_dis = dis
                res = [ele, dis]
print res

結果很有意思,并不是當時小區的設計方案。
而是應該:一部在1層,另一部在2/3樓層處位置。假設樓有24層,那么一部電梯應該停在1層,另一部停在16層。

當一棟樓有三部電梯時:第一部應該停在1層,第二部停在2/5位置處,第三部停在4/5位置處。假設樓有100層,那么第一部在1層,第二部在40層,第三部在80層。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 你有時會不會發現自己好像老了,即使是20多歲的年齡,卻有著70歲老人的身子骨和狀態。稍微使點勁兒就容易抽筋,一天什...
    驚訝喵MIKA閱讀 300評論 0 0
  • 她再懶得跟他說,回想以前那些對他說過的話,切!那對他來說令他煩的,是挑撥他們的話,現在她都收起收緊,她變得很吝嗇是...
    梅花一樹盛開懸崖閱讀 118評論 0 0
  • 了不起的地下工作者 說到蚯蚓,我們再熟悉不過了。鄉間地頭只要翻開泥土就有它,釣魚做魚餌的也常是它。它對我們來說就是...
    執筆抒情_6d6d閱讀 117評論 0 0
  • 90天個人目標 1.養成健康生活方式:早睡早起,冥想,睡子午覺,運動,泡腳 2.學習:養成早起讀書至少15分鐘 3...
    心中的花朵兒閱讀 118評論 0 0
  • 有僧者,歷史傳承出身,號稱身懷門派絕技,遂下山游歷江湖,江湖不可見刀兵,便以拳為器。 后遇一金主,見其生產...
    錦衣夜行佐大人閱讀 233評論 0 0