滕碧紅,孫海信
(1.福州大學 數(shù)學與計算機科學學院,福建 福州 350108;2.閩西職業(yè)技術(shù)學院 信息工程學院,福建 龍巖364021;3.廈門大學 信息學院,福建 廈門 361005)
混合人工蜂群算法是通過觀察蜜蜂的群體行為提出的一種優(yōu)化算法,其核心是模擬蜂群中每個個體的尋優(yōu)過程,實現(xiàn)全局尋優(yōu)。混合人工蜂群算法相對于其他算法,具有算法簡便、收斂速度快、抗干擾能力強等優(yōu)點,在一些復(fù)雜問題尋優(yōu)時被大量應(yīng)用。
船舶通信網(wǎng)絡(luò)隨著計算機技術(shù)、無線通信的發(fā)展,通信質(zhì)量、信號傳輸距離等不斷提升,在船舶無線通信網(wǎng)絡(luò)中,無線網(wǎng)絡(luò)節(jié)點具有重要意義,每個無線網(wǎng)絡(luò)節(jié)點與周圍船舶構(gòu)成一個小范圍通信網(wǎng)絡(luò),節(jié)點既可以接收來自附近船舶終端的無線通信數(shù)據(jù),又可以通過大功率信號收發(fā)機,向其他網(wǎng)絡(luò)節(jié)點發(fā)送和接收無線通信數(shù)據(jù),大量無線網(wǎng)絡(luò)節(jié)點使得船舶無線網(wǎng)絡(luò)系統(tǒng)能夠保證足夠大的覆蓋范圍。通常,船舶無線網(wǎng)絡(luò)節(jié)點位于陸地的基站,有些海域內(nèi)海上作業(yè)平臺等也可以作為無線網(wǎng)絡(luò)節(jié)點。
為保證海上船舶無線通信網(wǎng)絡(luò)的正常工作,確保無線網(wǎng)絡(luò)的覆蓋率、節(jié)點之間的聯(lián)通,無線網(wǎng)絡(luò)節(jié)點的功率大、建造成本高,因此,必須要合理配置無線網(wǎng)絡(luò)節(jié)點的位置和功能,既可以保證無線網(wǎng)絡(luò)的覆蓋率,使盡可能多的船舶實現(xiàn)高質(zhì)量通信,又可以降低整體的運營成本。
本文利用混合人工蜂群算法,進行船舶無線通信網(wǎng)絡(luò)的優(yōu)化設(shè)計,重點是通過合理配置網(wǎng)絡(luò)節(jié)點的位置,提高船舶無線網(wǎng)絡(luò)的整體覆蓋率。
船舶無線通信傳輸過程包括信號編碼、調(diào)制、傳輸、解調(diào)、信號分析等,圖1 為船舶無線通信網(wǎng)絡(luò)的工作原理圖。
圖1 船舶無線通信網(wǎng)絡(luò)的工作原理Fig.1 The working principle of marine wireless communication network
組成船舶無線通信網(wǎng)絡(luò)的關(guān)鍵硬件設(shè)備有通信上位機、調(diào)制電路、控制電路、解調(diào)電路和無線網(wǎng)絡(luò)節(jié)點等。
1)通信上位機
船舶無線通信網(wǎng)絡(luò)的上位機通常是PC 終端,其主要作用包括:
① 打包和整理船舶無線通信網(wǎng)絡(luò)中的待傳輸數(shù)據(jù),并在PC 終端顯示器上顯示數(shù)據(jù)收發(fā)的進程,用戶可以通過通信上位機查詢、存儲無線通信網(wǎng)絡(luò)數(shù)據(jù),對通信指令進行實時的跟蹤。
② PC 終端上位機的串口可以接收和發(fā)送控制指令,通常采用的串口為RS-232C,無線信號處理器及控制電路接收來自上位機的指令后,將反饋信號通過串行接口返回上位機。
2)無線網(wǎng)絡(luò)節(jié)點
無線網(wǎng)絡(luò)節(jié)點是進行無線數(shù)據(jù)接收和發(fā)送的單元,對于船舶無線通信系統(tǒng)有重要意義,其功能包括:
① 信號收發(fā)功能。無線網(wǎng)絡(luò)節(jié)點接收來自調(diào)制電路的編碼信號,進行信號的初步分析和處理,根據(jù)信號中的地址編碼等特征,將無線信號轉(zhuǎn)發(fā)至網(wǎng)絡(luò)中的其他船舶終端[1]。
② 下游設(shè)備的控制功能。無線網(wǎng)絡(luò)節(jié)點在進行組網(wǎng)時,一個網(wǎng)絡(luò)節(jié)點按照覆蓋范圍接入了多個子節(jié)點,并能夠?qū)钟蚓W(wǎng)絡(luò)中的子節(jié)點和下游設(shè)備進行控制。
③ 自組織和獨立運行。每個無線通信網(wǎng)絡(luò)節(jié)點內(nèi)部集成了嵌入式操作系統(tǒng),一方面能夠?qū)崿F(xiàn)與上位機和下游設(shè)備的通信功能,另一方面網(wǎng)絡(luò)節(jié)點具有相對獨立性。
混合人工蜂群算法的核心是模擬蜂群的勞動分工和自組織特性,從而實現(xiàn)蜂群中的位置尋優(yōu)。其中,自組織特性是一種內(nèi)驅(qū)機制,自組織尋優(yōu)的過程與個體之間的相互作用有關(guān)。
混合人工蜂群算法的基本流程如圖2 所示。
圖2 混合人工蜂群算法的基本流程圖Fig.2 Basic flow diagram of hybrid artificial colony algorithm
混合人工蜂群算法的關(guān)鍵要素包括正反饋、負反饋、波動性和容錯性。
1)正反饋
混合人工蜂群算法的正反饋是一種檢驗法則,基于正反饋要素可以提高蜂群算法的高效性、優(yōu)化算法的結(jié)構(gòu),比如蜜蜂在飛行路徑留下的信息素、包含蜜源信息的舞姿等。
2)負反饋
負反饋要素有助于提高算法的穩(wěn)定性,與正反饋相互抵消,混合人工蜂群中的負反饋行為包括食物短缺導致的蜂群繁殖減少等,負反饋機制也是限制混合蜂群算法的主要邊界條件。
3)波動性
波動性是指混合人工蜂群算法的隨機性,比如隨機路徑、蜂群中某個個體的隨機行為等,波動性要素有助于提高系統(tǒng)的創(chuàng)造力,基于波動性的智能算法有助于最優(yōu)解的產(chǎn)生和尋優(yōu)。
4)容錯性
容錯性是混合人工蜂群算法的控制閾值,蜂群的自組織行為具有一定的容錯空間,防止由于限制條件的影響導致優(yōu)化算法不收斂[2]。
蜂群中食物源的位置更新模型為:
式中:Vi j為食物源的新位置;xij為食物源當前位置;xk j為迭代過程的位置;K為-1~1 的隨機數(shù)。
混合人工蜂群算法的適應(yīng)度函數(shù)為:
式中:SN為種群的數(shù)量;fiti為第i 個位置解求出的適應(yīng)度函數(shù)值。
為了提高船舶無線通信網(wǎng)絡(luò)的覆蓋率,在保證每個無線網(wǎng)絡(luò)節(jié)點的信號傳輸半徑的同時,通過合理的布局無線網(wǎng)絡(luò)節(jié)點的位置,可以實現(xiàn)覆蓋區(qū)域的最大化[3]。
在二維平面內(nèi),定義無線網(wǎng)絡(luò)節(jié)點S的信號傳輸半徑為Rs,節(jié)點位置為(xs,ys),目標船舶位置為(xp,yp),無線網(wǎng)絡(luò)節(jié)點與目標位置之間的距離為:
網(wǎng)絡(luò)節(jié)點能夠覆蓋船舶目標的概率表示為:
當網(wǎng)絡(luò)節(jié)點與船舶之間的距離小于覆蓋半徑時,概率為1;當網(wǎng)絡(luò)節(jié)點與船舶之間的距離大于覆蓋半徑時,概率為0。
由于船舶無線通信網(wǎng)絡(luò)在實際工作過程中,信號的傳輸會受到電磁波干擾、氣象條件干擾,且隨著網(wǎng)絡(luò)節(jié)點與船舶之間距離的增大,這種干擾現(xiàn)象越明顯。因此,在進行無線通信網(wǎng)絡(luò)感知概率建模時,將感知半徑分為r和re,r為確定可感知的半徑,re為不確定可感知的半徑,則感知概率更新為:
式中:β為分布因數(shù),λ2和λ1為概率檢測參數(shù)。
無線網(wǎng)絡(luò)節(jié)點的使用效率用所有節(jié)點的有效覆蓋區(qū)域和全部覆蓋區(qū)域的比值表示,定義為:
基于混合人工蜂群算法尋優(yōu),得到無線通信網(wǎng)絡(luò)節(jié)點在正六邊形節(jié)點分布時具有最大的覆蓋面積,示意圖如圖3 所示。
圖3 無線網(wǎng)絡(luò)節(jié)點的正六邊形分布示意圖Fig.3 Regular hexagon distribution diagram of wireless network nodes
當無線網(wǎng)絡(luò)節(jié)點按照六邊形分布時有如下特點:
1)此時無線網(wǎng)絡(luò)節(jié)點的覆蓋面積利用率最高,有效半徑R>,且此時無線網(wǎng)絡(luò)之間的聯(lián)通特性最佳。
2)每個無線網(wǎng)絡(luò)節(jié)點與相鄰的6 個節(jié)點保證信息暢通,信號傳輸具有冗余設(shè)計特點,抗干擾能力強。
3)采用正六邊形的節(jié)點分布,能夠降低無線通信網(wǎng)絡(luò)整體的功率損耗,提高系統(tǒng)效率。
基于Matlab 軟件,使用Sphere 函數(shù)[4]作為優(yōu)化算法的基本測試函數(shù),測算混合人工蜂群算法對于船舶無線通信網(wǎng)絡(luò)覆蓋區(qū)域的優(yōu)化效果。
Sphere 函數(shù)的表達式為:
Sphere 函數(shù)模型如圖4 所示。
圖4 sphere 函數(shù)模型Fig.4 sphere function schematic model
在Matlab 中建立混合人工蜂群算法模型時需要考慮以下幾個維度:
1)多峰值特性
由于蜂群算法具有局部尋優(yōu)和整體尋優(yōu)功能,因此在迭代過程中包含多個局部極值點和整體極值點。
2)誤導性
由于多峰值特性,在迭代優(yōu)化時可能導致優(yōu)化結(jié)果的誤導。
在測算時,將混合人工蜂群算法的循環(huán)次數(shù)分別定義為100,200,300,400,500,均測算出對應(yīng)的網(wǎng)絡(luò)節(jié)點覆蓋率,圖5 為人工蜂群算法改進前后的無線網(wǎng)絡(luò)節(jié)點覆蓋率對比曲線。
圖5 人工蜂群算法改進前后的無線網(wǎng)絡(luò)節(jié)點覆蓋率對比曲線Fig.5 Comparison curve of wireless network node coverage before and after improvement of artificial bee colony algorithm
為了提高船舶無線通信網(wǎng)絡(luò)的有效覆蓋率,利用混合人工蜂群算法對船舶無線網(wǎng)絡(luò)節(jié)點的分布進行優(yōu)化,并結(jié)合Sphere 函數(shù)和Matlab 軟件進行無線網(wǎng)絡(luò)節(jié)點覆蓋率優(yōu)化的測算,具有一定的實際應(yīng)用價值。