?

基于遺傳算法的電梯控制模擬系統設計與實現

2018-08-29 09:41桑國珍
計算機與數字工程 2018年8期
關鍵詞:樓層百分比隊列

桑國珍

(1.渭南師范學院網絡安全與信息化學院 渭南 714099)(2.網絡安全與信息化工程技術中心 渭南 714099)

1 引言

隨著高層樓宇不斷增加,電梯越來越多走進人們的生活,人們希望電梯能夠高效,舒適,智能,能夠為人們提供更加優質的服務,電梯的智能控制技術應運而生,電梯智能控制是近幾十年來發展的一項新技術[1]。

隨著人們對電梯服務系統的服務質量和運輸效率要求越來越高,電梯的控制也由單部電梯獨立控制發展到多部電梯協調智能化控制。電梯控制就是在一棟高樓中有多部電梯,將各層的按梯信號采集,集中交給電梯控制系統處理,而控制系統經過對電梯運行情況、乘客情況和系統能耗等一系列因素進行綜合考慮,從而給出一種最佳派梯方案,調度電梯運行,電梯控制系統改變了電梯互不相干、彼此獨立運行的局面,可以提高電梯系統的運行效率、較少乘客的擁擠度和系統能耗等問題,給乘客提供更加高效、舒適、安全的電梯服務,同時還節約了能源[2]。

本文所研究的電梯控制模擬系統,就是基于遺傳算法,將遺傳算法合理應用到電梯調度過程中[3],從而給出最佳的運行方案,給乘客提供更加高效、舒適、快捷、安全的電梯服務。

2 概要設計

2.1 系統總體結構

電梯控制模擬系統共分為六大模塊,分別是登錄模塊、客流預估模塊、描述電梯狀態模塊、遺傳算法應用模塊、調度策略模塊、仿真界面模塊。具體如圖1所示。

圖1 系統總體結構

2.2 登錄模塊

主程序的登錄界面用于登錄電梯控制模擬系統,QT中使用QPushButton,QlineEdit,QLabel等控件,使用字符串匹配和字符加密等方法,只有當用戶名和密碼正確時,才會進入電梯控制系統。

2.3 客流預估模塊

建立客流數學模型,根據乘客到達率,上行客流百分比,下行客流百分比,層間客流百分比等一些參數,生成一張乘客表,記錄乘客的序號,產生時間,呼叫樓層和目的樓層。

2.4 記錄電梯狀態模塊

記錄電梯狀態模塊是記錄電梯當前的情況,包括轎廂的狀態、電梯內的召喚、層間的召喚。轎廂的狀態信息包括四部電梯在某一時刻,所在的樓層、乘客數、上行(下行)還是靜止;電梯內的召喚包括四部電梯各自的召喚情況,幾層有召喚,是上行還是下行;層間的召喚包括四部電梯外每部電梯各自的召喚信息,幾層有召喚,是上行還是下行。

2.5 遺傳算法應用模塊

遺傳算法應用模塊是將遺傳算法應用到電梯控制系統中[4]。

2.6 調度策略模塊

電梯控制系統基本原則:

1)外優于外呼,內呼必須響應;

2)電梯內如果滿員,則此電梯暫時不響應外呼;

3)創建兩個隊列,將層間向上呼叫和向下呼叫分別放入兩個隊列中,隊列的特點是先進先出,例上升隊列中有2,5,7,8,10,可從隊列中讀到層間第二層、第五層、第七層、第八層、第十層有向上的呼叫請求,當到達第二層時,將2彈出,假設又有4層向上呼叫時,使用排序就將4插入5之前,不斷操作兩個隊列,合理調度,產生最佳派梯方案。

2.7 仿真界面模塊

使用QT界面開發技術模擬仿真電梯控制系統運行過程,其中包括用戶登錄、電梯控制系統運行基本參數設置和系統運行狀態仿真[5]。

3 系統詳細設計

3.1 客流預估模塊

研究表明,電梯交通系統中乘客到達過程為平穩的泊松過程,即

式(1)中:λ為乘客到達率(單位時間內平均到達的乘客數);T為時間長度。

則乘客到達的間隔時間τ服從參數λ的負指數分布,即

用以下遞推公式得到乘客1,2,…的到達時間

式(3)中:tp(i)為第i個乘客的到達時間;r為(0,1)上服從均勻分布的隨機數。

為了確定乘客的起點、終點樓層,構造乘客起點密度向量O和起點-終點矩陣OD。以Oi表示以i樓層為起點的乘客占總人數的百分比。以Oij表示第i樓層到j樓層的乘客占以第i層為起點乘客的百分比。若Ai表示第i樓層的總人數,N為樓層數,則 Oi和,j=L,2,…,N)由下面公式得到:

式(5)中,σ1為以門廳為起點向上運行的乘客占乘客總人數的百分比;

式(6)中,σ2為以門廳為終點的乘客占乘客總人數的百分比;

式(7)中,σ3為起點、終點都不是門廳的乘客占乘客總人數的百分比。

最后得到起點密度向量和起點-終點矩陣分別為

根據O和OD,進行兩次蒙特卡洛抽樣試驗便可得到一個乘客的起點樓層和終點樓層[6-8]。

3.2 記錄電梯狀態模塊

記錄電梯狀態模塊是記錄電梯內外的狀況,包括電梯當前狀態、轎廂內呼叫信息、層間呼叫信號,分別如下所示。

轎廂的狀態用一個二維數組(矩陣):int E[4][3];

電梯內的召喚用一個二維數組: int C[4][16];

層間的召喚用一個二維數組: int H[4][16]。

3.3 遺傳算法應用模塊

電梯控制系統中應用的主要算法,包括編碼、初始種群產生、適應度函數、選擇、交叉、變異、終止。將遺傳算法應用到電梯控制中,個體(派梯方案)生成初始種群(種群大小100),計算各個體的適應值,選擇、交叉、變異,種群更替50代,作為終止條件,從而得到最佳派梯方案[9~12]。部分核心代碼如下[13]:

3.4 調度策略模塊

調度策略模塊是電梯控制與遺傳算法的緊密聯系,調度策略是適應度函數設計的重要環節,對電梯狀態模塊中采集的信息,客流預估模塊生成的乘客表綜合考慮而合理調度的一種策略,將層間呼叫信號,采用冒泡排序,從小到大分別放入上行隊列和下行隊列,便于候梯時間的計算。

1)冒泡排序核心代碼如下[14]:

2)上行隊列、下行隊列核心代碼如下[15]:

3.5 界面仿真

QT界面開發,基于C++、控件、控件布局、信號/槽機制,實現對電梯控制系統的模擬。部分核心代碼如下:

4 結語

本文所研究的電梯控制系統,綜合考慮了乘客候梯時間、乘客乘梯時間、系統能耗等多個目標,使用遺傳算法,以QT為載體,對4部電梯的智能控制,合理調度,給出最佳派梯方案。

猜你喜歡
樓層百分比隊列
奶奶做的“樓層兒”
樓層
隊列隊形體育教案
隊列里的小秘密
基于多隊列切換的SDN擁塞控制*
電梯的升與降
在隊列里
趨勢攻略之趨勢線:百分比線
環保車型最多的美國城市
公共藝術與百分比藝術建設
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合