王常春,羅東升,劉衍民
(遵義師范學院 數(shù)學系,貴州 遵義 563002)
電梯收費是物業(yè)管理中普遍存在的一個問題,電梯收費的辦法很多,有的按樓層高度和居住人口收取費用,有的按建筑面積收取費用,但大多沒有給出一個合理的解釋,沒有給出相關的計算方法或計算方法粗糙,引發(fā)不少爭議。本文給出一種與居住人口、樓層高度及人口分布都有關的計算方法,經認真分析,該算法并不是簡單的正比關系,而是一個由兩個一次函數(shù)構成的分段函數(shù),此計算方法能為物業(yè)管理提供方便、合理的電梯收費算法。
這里結合具體例子給出分析,例如,一幢n層的樓房,每層有m家住戶,其居住人口
用a[m][n]表示,第j層第i住戶的人口用a[i-1][j-1]表示。隨著居住人口的遷入遷出我們只需修改矩陣a[3][16]即可,如1、2、3樓住戶不坐電梯可將登記住戶中人口記為0,也可以如實登記。
為了便于問題的分析,我先做一些合理的假設:
(1)假定每人乘坐電梯次數(shù)基本相等。
(2)用每人回家一次并且離家一次乘坐電梯的耗費與所有人回家一次并且離家一次乘坐電梯的耗費之比作為每人應繳納費用占總費用之比。
(3)假定每人每乘坐電梯一層的費用相等。
(4)個別人可特殊對待,如不會乘坐電梯的小孩或病人可在人口登記a[m][n]中計數(shù)為0,或計0.1、0.2等等。
(5)對于多人同時乘坐電梯的情況,假定這種情況對每個人來說是幾率相等的,把它看做是每個人單獨乘坐的凸組合,費用分配按單獨乘坐相同比例分配。
基于以上假設我們只需考慮每人回家一次并且離家一次乘坐電梯的耗費與所有人回家一次并且離家一次乘坐電梯的耗費之比即可算出每人應繳納費用。因此需先計算出該樓每層的居住人數(shù)(應用函數(shù)void perfloornumber()),再計算出該樓居住的總人數(shù)(應用函數(shù)f l oat sum())。
因為回家時電梯不一定??吭谝粯?,離家時電梯也不一定??吭诩议T口,因此應該先算出電梯的??科谕叨?,電梯的期望停靠高度與總人數(shù)(指乘坐電梯的總人數(shù))和每層居住人口有關。因為所有人離家時,都到達一樓,離家與回家的次數(shù)相等,所有人離家的概率為0.5,因此停靠一樓的概率為0.5;所有人回家的概率為0.5,因而??吭谄溆喔鲗拥母怕蕿樵搶尤藬?shù)與總人數(shù)之比的一半。因此期望高度為hight=0.5*1+0.5*[(b[start]/s)* start + …+(b[n-1]/s)*(n-1)+(b[n]/s)*n],其中b[j]為第j 層居住人數(shù),s為乘坐電梯的總人數(shù)(計算??科谕叨葢煤瘮?shù)f l oat hight())。
下面計算每個人離家并回家一次的距離,值得注意的是在此過程中走過的距離并不是樓層高度的2倍。每人回家時應將電梯從期望高度將電梯停靠在一樓然后再回家,第j層住戶的人回家所用距離記為dis1[j]=hi-1+j-1,第j層住戶的人離家所用距離記為dis2[j]=f[j]+j-1,其中hi 表示期望???層數(shù))高度,f[j]=fabs(hi-j)(應用函數(shù)void j_dist()計算第j層回家并離家一次的期望距離)。再算出所有人回家然后離家一次的期望距離之和(應用函數(shù)f l oat totle_dist())。
第j層每人回家然后離家一次的期望距離之和(層數(shù))與所有人回家然后離家一次的期望距離之和(層數(shù))之比為p[j]=d[j]/tot le_dist()(應用函數(shù)void j_gailv())。
由于我們假定每人乘坐電梯次數(shù)基本相等,因而可以把每住戶回家然后離家一次的期望付費之比,作為一階段(一個月或一年)乘坐電梯付費之比。第j層第i住戶的付費為charge[i][j]=totle_charge*p[j]*a[i-1][j-1](應用函數(shù)void payoff()計算),其中totle_charge為總費用。
為了避免函數(shù)單值的局限性,在程序設計中采用空函數(shù),這樣可以方便地輸出數(shù)組,避免把數(shù)組輸出全部放在主函數(shù),這樣程序層次感增強,形式更加靈活、自由,編寫方便,可讀性好。為了使用方便,在該程序中設置了四個常量符號:每層住戶數(shù)m,層數(shù)n,開始計費層數(shù)start,電梯總費用totle_charge及一個住戶人口登記矩陣a[m][n],針對不同的樓房,我們只需要修改這五個參數(shù)即可應用該算法。
程序運行結果表1。
表1 每層每人平均付費情況
從算法分析我們可以知道,每層人均付費為
當hi>j時,y=( j+2hi-3)*{ totle_charge /{d[j]/{b[start]*d[start]+…+b[n-1]*d[n-1]+b[n]*d[n]}},
當hi 下面對每層的人均付費作回歸分析,MATLAB程序如下: 運行結果如下: 圖1 每層每人的平均付費函數(shù)圖 從該數(shù)據(jù)分析,可知每層每人的平均付費是由兩個一次函數(shù)構成的分段函數(shù)(見圖1)。 當hi 當hi〉j時,y=1.3708x-1.3609,其中x為樓層,y為該層的每層每人的平均付費; 其中hi=5.736,數(shù)據(jù)擬合與算法設計非常吻合。 如果某層改為營業(yè)場所人數(shù)劇增,人流量過大的,會改變電梯停靠的期望高度,因為該層的人越多停靠該層的概率就越大,相應的付費結果會跟著發(fā)生變化。 例如,若將人口登記矩陣中a[3][15]改變?yōu)?00,這時我們再來看其他住戶的費用有無變化,我們將相應參數(shù)變化時,所得結果記錄見表2。 下面對每層的人均付費作回歸分析,MATLAB程序如下: 運行結果如下: 表2 某層改為營業(yè)場后每層每人平均付費情況 圖2 某層改為營業(yè)場后每層每人的平均付費函數(shù)圖 從該數(shù)據(jù)分析,可知每層每人的平均付費是由兩個一次函數(shù)構成的分段函數(shù)(見圖2)。 當hi 當hi〉j時,y=1.117x-1.117,其中x為樓層,y為該層的每層每人的平均付費; 其中hi=6.823,兩次數(shù)據(jù)擬合與算法設計都相當吻合。 下面為前后兩次每層人均付費: 比較兩次實際每層人均付費明顯后一次居民付費降低了,但是總平均付費并沒有減少。 第一次總人數(shù)152人,總付費2000,總體平均人均付費13.1579; 第二次總人數(shù)248人,電梯停靠的期望高度由5.736改變?yōu)?.823,總付費3263.158,總體平均人均付費13.1579;兩次線性回歸效果都比較好,說明算法合理,相比之下第二次居民得到了實惠,這種結果可能是由于頂層居住人數(shù)增加,更多人可以搭便車;相反,如果第四層人口劇增,每層人均付費會增加。該算法的好處是考慮了人口分布對人均付費的影響,這種結果類似于智豬博弈,也與公共產品的提供類似。比如說,村里住著兩戶人家,一富,一窮,有一條路年久失修,這時富戶修路,窮戶只等走路即可。 [1]譚浩強.C程序設計[M].北京:清華大學出版社,2004. [2]秦嬌華,向旭輝.常用算法手冊[M].北京:中國鐵道出版社,2011. [3]張維迎.博弈論與信息經濟學[M].上海:上海人民出版社,2006. [4]王曉東.計算機算法設計與分析[M].北京:電子工業(yè)出版社,2011.. [5]趙靜,但琦.數(shù)學實驗與數(shù)學建模[M].北京:高等教育出版社,2010.