◇武漢輕工大學(xué)電氣與電子工程學(xué)院 阮道杰 康勝武 費世煌 趙常青
電梯群控問題是一個輸入輸出參數(shù)復(fù)雜,帶有許多非線性特征的控制系統(tǒng),本文主要介紹了蟻群算法的原理,并創(chuàng)新性得將其運用到電梯群控系統(tǒng)中,并且通過西門子可編程邏輯控制器與Elevator Simulation軟件進行聯(lián)合仿真,將仿真結(jié)果與各自獨立運行的電梯進行了多指標(biāo)對比,結(jié)果驗證了蟻群算法在電梯控制上的可行性。
隨著生活質(zhì)量與生活水平的提高,居民樓、商場、圖書館等場所電梯出現(xiàn)得越來越多。然而傳統(tǒng)的多個單部獨立運行的電梯,在面對樓層數(shù)多、交通模式多變、乘梯人次較多的情況時,每層的外部呼梯信號得不到很好地響應(yīng),導(dǎo)致在經(jīng)常會出現(xiàn)轎廂過于擁擠和乘客長時間候梯的情況。為了更好地根據(jù)每層呼梯合理分配電梯去響應(yīng),由此誕生了多部電梯的群控方案。由于電梯群控系統(tǒng)具有復(fù)雜多變、多目標(biāo)性、動態(tài)等特性,使得其一直是近些年來國內(nèi)外研究的熱點。
由于蟻群算法對離散組合優(yōu)化問題的求解有突出的優(yōu)勢,其良好的全局優(yōu)化能力、較快的收斂速度可以很好地應(yīng)用到電梯群控調(diào)度算法中[3]。在這里我們采用蟻群算法去實現(xiàn)電梯群控系統(tǒng)的設(shè)計,通過西門子可編程邏輯控制器與Elevator Simulation軟件進行聯(lián)合仿真,用最接近實際生活的電梯的仿真軟件去對基于蟻群算法的電梯群控系統(tǒng)進行評測,以實驗檢驗其可行性與高效性。
蟻群算法是一種基于種群尋優(yōu)的智能算法,其由Mr.Dorigo博士首先提出,其靈感來源于現(xiàn)實中的蟻群總是可以找到通往覓食點的最優(yōu)路徑的現(xiàn)象[1]。生活中可以看見螞蟻總是可以找到通往食物地點的最短路徑,這是因為螞蟻在行走過程中會分泌一種生物激素(Pheromone)-信息素[1]。該種激素會隨著時間的積累逐漸揮發(fā)直到消失,螞蟻在行進過程中可以感知到該種激素的存在與強度,并以此為重要因素來選擇行進的路徑。假定有多條不同長度路徑通往相同地點,最開始路徑上無信息素,螞蟻會隨機選擇路徑,由于信息素殘留與路徑成反比,導(dǎo)致較長路徑的信息素殘留較少,后續(xù)螞蟻行進過程中將更大可能的選擇較短路徑。隨著時間的積累較短路徑上的信息素濃度越來越高,而其他路徑上信息素逐漸揮發(fā),難以得到加強變得越來越少,最終會完全消失,使得蟻群都按照最短路徑前往覓食點[2]。
通過上述的描述可以理解蟻群算法的基本思想是:每只螞蟻在選擇路徑時都會受到前面多只螞蟻的影響,對于多數(shù)螞蟻走過的路徑,該只螞蟻選擇的幾率會更大[2]。該算法的特點描述如下:
(1)蟻群算法是一種自組織算法。在尋找最佳路徑中,起始階段,每條路徑上的信息素濃度相同,每只螞蟻間聯(lián)系不大,是無序群體,行進過程中,每只螞蟻根據(jù)信息素指導(dǎo)路徑,經(jīng)過多次循環(huán),路徑上信息素由蟻群共同決定,螞蟻間通過信息素產(chǎn)生聯(lián)系,共同的向最優(yōu)解收斂。
(2)蟻群算法是一種并行算法。在尋找最優(yōu)解的過程中,多只螞蟻共同依照算法尋找路徑,互不干擾。
(3)蟻群算法是一種正反饋算法。在蟻群尋找路徑過程中,相對較短的路徑走過的螞蟻多,因此留下的信息素也多,最終全局最短路徑上的信息素濃度將趨近于最大,這便是蟻群的正反饋。
(4)具有很強的魯棒性[1]。蟻群算法對于初始的解集要求不高,輸入?yún)?shù)不多,在算法迭代過程中單個螞蟻變異性對于整個種群影響并不大,反而更利于搜索全局最優(yōu)解。
蟻群算法最早用于解決圖論中的旅行商(TSP)問題,該問題定義如下,給定n個城市及不同城市間兩兩連接的路徑集合V,要求找到經(jīng)過所有城市的閉合最短路徑,并且除了起點城市外,每個城市只允許經(jīng)過一次。下面我們依據(jù)此問題來介紹蟻群算法的數(shù)學(xué)模型。
定義如下變量:
表1
定義蟻群走過所有的城市后為一個循環(huán),對于n個城市而言,需要經(jīng)過n個時刻,一次循環(huán)后對整個蟻群在t時刻的信息素濃度進行更新:
其中ρ為信息素的揮發(fā)參數(shù),決定在整個循環(huán)周期上信息素濃度的揮發(fā)慣性,其中ρ的值越大,信息素衰減的越快,反之信息素衰減的慢。第k只螞蟻在路徑上留下的信息素濃度為為在一次循后所有螞蟻在路徑上留下的信息素濃度[2]。
蟻密模型:
式中Q是常數(shù)。
蟻量模型:
蟻周模型:
蟻量模型與蟻周模型迭代速度更快,能夠快速搜索到局部最優(yōu)解,蟻周模型利用全局信息,速度相對較慢,更加有利于搜索到全局最優(yōu)解。
電梯的群控主要目標(biāo)是解決電梯的信號分配問題,以及電梯的多功能智能化運行。在信號分配上,電梯外呼信號是隨時間離散分布給出的,電梯是一個復(fù)雜的機電一體化設(shè)備,輸入輸出變量多,參數(shù)變化復(fù)雜,電梯交通系統(tǒng)中有許多非線性的特性[2],至今電梯的信號分配仍舊是一個難題。
電梯的智能化運行,需要考慮到眾多的因素,為了綜合描述電梯運行的優(yōu)劣,建立四個綜合評價指標(biāo),包括舒適度指標(biāo),電梯功耗指標(biāo),乘客乘梯指標(biāo),乘客候梯指標(biāo)。在運行過程中需同時滿足這些指標(biāo)達到最大,這是一個多目標(biāo)優(yōu)化問題,目標(biāo)問題是找到一個或者多個解來使得問題達到最優(yōu),在電梯群控中便是為信號分配一個最優(yōu)的電梯,使得電梯能夠以最優(yōu)的狀態(tài)運行,定義電梯的群控評價函數(shù):
(1)乘客舒適度評價函數(shù)。電梯運行速度的快慢,接待乘客的多少,以及電梯啟停過程都決定著乘客的乘坐舒適度,而這其中相當(dāng)重要的指標(biāo)便是電梯乘坐的人數(shù),同時電梯的乘坐人數(shù)也決定著電梯是否超載,下面主要以電梯乘坐人數(shù)來建立指標(biāo)函數(shù)。
電梯乘坐人數(shù)直接反應(yīng)電梯當(dāng)前載重量,兩者一一對應(yīng),在群控分配信號中,當(dāng)前電梯處于i層,有當(dāng)前載重變量,不同的電梯載重有不同的取值范圍,在這里取[0 1000]kg,對于待響應(yīng)的j層信號,有舒適度函數(shù)為:
(2)系統(tǒng)功耗評價函數(shù)。電梯的功耗主要影響電梯的經(jīng)濟型,實效性,因此減少電梯功耗是一項很重要的任務(wù)。在電梯運行中決定電梯功耗的主要因素是電梯的啟停次數(shù)。位于i層的電梯響應(yīng)第j層的信號有啟停函數(shù),啟停函數(shù)的值為在i樓層與j樓層間待響應(yīng)的信號個數(shù)。對于待分配j層信號,有系統(tǒng)功耗函數(shù):
(3)乘客候梯評價函數(shù)。電梯設(shè)計很重要的一個目標(biāo)是使得電梯能夠快速響應(yīng)乘客的外呼信號,極大的節(jié)省乘客的時間,乘客等候時間是電梯是否高效運行的一個很重要的指標(biāo)。乘客等待的時間,主要取決于電梯運行的速度,開關(guān)門次數(shù),待響應(yīng)呼梯信號,乘客人數(shù)等這些變量。由于很難檢測到電梯每次進出的人數(shù),在這里進行簡化處理。等候時間函數(shù):
蟻群算法在電梯里面常用的形式,即多部電梯在不同情況的信號處理中,找到電梯聯(lián)合起來實現(xiàn)該方案時所走路徑最短,所花能耗最小,且途中乘客的擁擠程度比較小的情況。由于在復(fù)雜的信號選擇情況中,多部電梯對外部信號的選擇方案往往呈幾何倍數(shù)的增長,故此采用蟻群算法來求出該情況的最優(yōu)方法從而解決電梯的選擇難題。在電梯中,我們從控制傳感器端獲取到該多部電梯的外部信息,比如電梯外呼信號情況,電梯內(nèi)呼信號情況,電梯負(fù)重重量。根據(jù)這三類信號整理出電梯的三個矩陣,即候梯矩陣,擁擠度矩陣,能耗矩陣,根據(jù)這三個矩陣就能判定該多部電梯運行的真實情況,也能更加準(zhǔn)確的,科學(xué)的將電梯的運行情況處理出來,再將這三個矩陣通過最大最小歸一法從而成為蟻群算法入口參數(shù)。
蟻群算法的選擇策略分兩類,一個是信息素選擇策略和期望值選擇策略,信息素選擇策略是每次螞蟻選擇完路徑后,會在結(jié)束時,進行信息素散失,即所有路徑的信息素都會消失,但是唯獨只有螞蟻選擇過的路徑的信息素濃度任然是高的,故此,從而從信息素策略中可以找出一個最優(yōu)解,為防止信息素策略陷入局部最優(yōu)的情況而引入了期望值策略,即選擇路徑時每個路徑的最短距離成為左右信息素選擇策略的因素,從而避免電梯程序出現(xiàn)局部最優(yōu)解的情況,實現(xiàn)整個電梯程序的最優(yōu)化,而蟻群算法的整個過程就是,以上的三個矩陣:候梯矩陣,擁擠度矩陣,能耗矩陣,成為電梯第一次選擇的入口矩陣,隨著后面進行信號篩選和收斂時,就是蟻群算法的內(nèi)部運算,最后由信息素策略α和期望值策略β,以及算法的遞歸次數(shù)γ三個值來影響整個信號的選擇策略。最后根據(jù)以上形式進行信號分配最后,就是單部電梯的信號執(zhí)行與運行。
為了能夠最大程度地接近實際電梯的運行效果,這里我們采用中國智能制造挑戰(zhàn)賽離散行業(yè)自動化賽項專用的EET設(shè)備進行仿真,通過對比普通模式與蟻群算法群控模式的PLC控制程序在具有相同乘客模型的三部六層電梯仿真系統(tǒng)里的運行結(jié)果,分析實驗數(shù)據(jù)。
在這里我們將寫好的程序文件下載進西門子s7 1200PLC中,通過德普羅爾公司的Elevator Simulation軟件,針對167個相同的呼梯乘客,進行時長為15分鐘的仿真運行,其實驗結(jié)數(shù)據(jù)如表2所示(左A為相互獨立的三部六層電梯運行結(jié)果,右B為基于蟻群算法的三部六層電梯)。
圖1
表2
在上表中,通過對比我們可以發(fā)現(xiàn),對于相同的乘客模型,蟻群算法極大的減小了乘客的平均候梯時間,在轎廂運行總距離與能耗上有了極大的降低,很大程度上優(yōu)化了三部電梯的調(diào)度。此外,在乘客平均乘梯時間上,優(yōu)化效果很有限。在轎廂啟停次數(shù)上,有著一定程度的優(yōu)化,但不是很顯著。
對于A組數(shù)據(jù),常規(guī)的三部獨立運行的電梯是生活中最為常見的電梯模型,其信號分配完全取決于候梯乘客對三部電梯的呼叫情況,其實質(zhì)就是三個獨立的單部六層電梯。當(dāng)乘客呼梯時會主動呼叫距離最近的一部電梯,但如果乘客無法判斷哪一部電梯距離最近則可能同時呼叫三部電梯造成資源的浪費,高峰模式下會導(dǎo)致乘客的平均候梯時間急劇增加。因此,其模型與數(shù)據(jù)對于實際生活中的多個單部電梯具有很大的參考意義。
對于B組基于蟻群算法的群控電梯,其三部為一體,共同響應(yīng)外部呼梯信號,其對于外呼的分配解決了乘客同時呼叫多部電梯造成的資源浪費,同時減少了轎廂擁擠度。因此,其乘客平均候梯時間與乘客長時間候梯率有很大程度的降低,減少了乘客候梯的時間。此外,得益于這種信號找電梯式的分配,將乘客較為合理地分布到了三個轎廂里,減輕了高峰時期轎廂的擁擠度,同時避免了不必要的啟停,稍稍降低了乘客平均乘梯時間與系統(tǒng)啟停次數(shù),也讓系統(tǒng)的能耗大幅降低。
此次實驗很好地檢驗了蟻群算法在多部電梯群控方面的作用及特點,但由于選用的是三部六層電梯模型,其樓層數(shù)較少,未能凸顯蟻群算法在降低乘客乘梯時間方面的優(yōu)勢。
本文通過對蟻群算法的剖析,詳細(xì)地介紹了蟻群算法的基本原理和優(yōu)勢。在多部電梯群控問題上,結(jié)合蟻群算法與電梯群控問題本身的特點,使得蟻群算法解決了電梯群控問題,并通過西門子s7 1200系列PLC進行編程仿真。通過Elevator Simulation軟件運行乘客模型,分析實驗數(shù)據(jù),最終證明了蟻群算法在電梯群控問題中的可行性與高效性。隨著后續(xù)研究的不斷深入和蟻群算法的不斷拓展,其將在越來越多的領(lǐng)域里,發(fā)揮其獨有的優(yōu)勢,解決更多的難題。