基於混沌優化細菌覓食算法的傳感器節點部署策略的製作方法
2023-07-09 13:06:42 1

本發明涉及構建群智能算法優化傳感器節點部署模型與仿真實現,屬於無線傳感器網絡優化覆蓋監測區域領域。
背景技術:
廣泛應用於地質監測、環境保護等領域的自組織多跳無線傳感器網絡(wirelesssensornetwork,wsn)具有部署靈活、成本低廉、覆蓋範圍廣等優點,但監測區域的大範圍隨機部署會帶來節點分布不均勻問題。針對該問題,眾多學者運用群智能仿生算法進行優化處理。比如採用人工魚群算法構建網絡覆蓋模型,通過模型求解來優化網絡覆蓋;利用概率感知模型將遺傳算法與粒子群算法相結合來優化網絡覆蓋;使用有效質心和重疊質心改進虛擬力計算公式和節點往復運動優化網絡節點部署。上述群智能算法在wsn網絡覆蓋優化問題上取得了較大成效,但也存在諸如求解複雜度高、收斂速度慢、收斂精度低、運算成本大等問題。
於是,本領域技術人員目光轉向混沌優化的細菌覓食算法(chaosoptimizationbacterialforagingalgorithm,cobfo),並基於該算法對監測區域節點部署情況進行仿真,但是研究表明,現有細菌覓食算法對全局空間尋優能力差,搜索速度和搜索精確度均有待提高,且容易陷入局部最優及產生早熟。
技術實現要素:
本發明要解決的技術問題,在於提供一種基於混沌優化細菌覓食算法的傳感器節點部署策略。
本發明通過下述方案實現:基於混沌優化細菌覓食算法的傳感器節點部署策略,其包括以下步驟:
步驟一:初始化及設置循環變量;
步驟二:判斷菌落遷徙算子運行次數是否達到最大迭代值,若是則進入步驟三,若否則進入步驟四;
步驟三:結束算法並輸出最優細菌組合;
步驟四:判斷菌落繁殖算子運行次數是否達到,若是則進入步驟五,若否則進入步驟六;
步驟五:計算網絡覆蓋率及更新位置,改進遷徙算子,然後返回步驟二;
步驟六:改進的翻轉概率翻轉後計算細菌的趨化步長及反彈步長,細菌翻轉操作後通過混沌擾動產生的混沌序列選擇方向進行遊動,判斷菌落趨化算子運行次數是否達到,若是則進入步驟七,若否則進入步驟八;
步驟七:改進繁殖算子,對細菌進行交叉變量操作,然後返回步驟四;
步驟八:改善細菌的適應度,細菌趨向運動後返回步驟六。
在所述步驟一中,隨機初始化n個坐標作為傳感器節點,細菌的趨化、複製、遷徙次數分別為nc,nre,ned;操作的計數參數設置為g,s,l,單個細菌的趨化步長為c,在相同方向最大趨化步數為nc(i),遷徙概率為ped;循環變量由1開始遞增,趨化循環g最大值為nc、複製循環s最大值為,nre、遷徙循環l最大值為ned;
式中,n是細菌的總數,lmax和lmin分別是監測區域的下限和上限。
所述步驟二中是根據下式計算細菌的遷徙概率pself,當細菌不滿足遷徙概率則刪除此細菌,在菌群內重新選取細菌,然後判斷遷徙次數是否達到最大迭代值,
其中jhealth是能量值函數,ped是原始遷徙概率。
所述步驟四中細菌趨化循環後進行選擇性繁殖,先對細菌適應度排序,淘汰一半較差適應度的細菌,然後分裂複製另一半細菌以保持細菌總數不變,則第個細菌適應度累加和為:
式中j(i,g,s,l)代表細菌i在l次驅散、s次複製、g次趨化時的適應度。
在所述步驟五中,通過式計算出不同細菌組合的覆蓋率,找出覆蓋率最大的一組,更新信息,其中為權值,。
在所述步驟六中,按式改進的翻轉概率翻轉後根據
式和式計算細菌的趨化步長及反彈步長,細菌翻轉操作後通過混沌擾動產生的混沌序列選擇方向進行遊動,其遊動的單位步長為c(i),表示選擇混沌遊動方向後位置的適應度值以確定是否更新位置信息;
混沌擾動過程如下:
由
式可知,選擇初值,混沌映射參數後由混沌系統迭代出確定的混沌順序序列;
式中為混沌控制參數;
a.搜索細菌的通過式映射到式logistic方程定義域(0,1)上;
其中,為節點坐標範圍;
b.通過logistic方程進行多次迭代,得到混沌序列:
c.把產生的混沌序列通過式逆映射
從而返回原解空間並產生一個含有混沌變量的可解混沌序列:
。
在所述步驟七中,計計算並排序各個細菌適應度,選出菌群適應度高的一半細菌作為菌群精英細菌;對適應度值較差的半數細菌用交叉算子與挑選出的精英細菌進行雜交,生成個新細菌,然後用變異算子對交叉操作後的一半細菌進行變異操作後複製分裂構成新細菌群。
在所述步驟八中,若細菌的適應度改善,則繼續沿相同方向遊動,當適應度不再改善或達到最大趨化次數停止遊動。
本發明的有益效果為:在用混沌優化的細菌覓食算法得到的節點覆蓋方案中wsn節點在監測區域中均勻分布,產生極少的節點冗餘,並且覆蓋率能夠到98.84%,幾乎沒有覆蓋空洞。與隨機部署節點的策略比較,通過混沌序列優化細菌覓食算法得到節點部署策略網絡覆蓋率提高了8.71%,節點在監測區域分布更加均勻,重複覆蓋的區域更少,節點的冗餘度極低,達到了wsn優化覆蓋的目的,而且優化的算法使用更少的節點就能有效覆蓋監測區域,節約了部署成本,同時也極大地延長了wsn的監測時間。
附圖說明
圖1為本發明基於混沌優化細菌覓食算法的傳感器節點部署策略的算法流程示意圖。
圖2為隨機節點覆蓋方法節點部署。
圖3為隨機部署節點的覆蓋率曲線。
圖4為bfo優化覆蓋節點部署。
圖5為bfo優化覆蓋率曲線。
圖6為cbfo優化部署策略。
圖7為cbfo優化部署策略覆蓋率曲線。
圖8為生存周期對比曲線。
圖9為節點剩餘能量對比曲線。
圖10為時迭代軌跡圖。
圖11為時迭代軌跡圖。
圖12為時迭代軌跡圖。
圖13為時迭代軌跡圖。
圖14為時迭代軌跡圖。
具體實施方式
下面結合圖1-14對本發明進一步說明,但本發明保護範圍不局限所述內容。
為了清楚,不描述實際實施例的全部特徵,在下列描述中,不詳細描述公知的功能和結構,因為它們會使本發明由於不必要的細節而混亂,應當認為在任何實際實施例的開發中,必須做出大量實施細節以實現開發者的特定目標,例如按照有關系統或有關商業的限制,由一個實施例改變為另一個實施例,另外,應當認為這種開發工作可能是複雜和耗費時間的,但是對於本領域技術人員來說僅僅是常規工作。
本發明通過下述方案實現:基於混沌優化細菌覓食算法的傳感器節點部署策略,其包括以下步驟:
步驟一:初始化及設置循環變量;
步驟二:判斷菌落遷徙算子運行次數是否達到最大迭代值,若是則進入步驟三,若否則進入步驟四;
步驟三:結束算法並輸出最優細菌組合;
步驟四:判斷菌落繁殖算子運行次數是否達到,若是則進入步驟五,若否則進入步驟六;
步驟五:計算網絡覆蓋率及更新位置,改進遷徙算子,然後返回步驟二;
步驟六:改進的翻轉概率翻轉後計算細菌的趨化步長及反彈步長,細菌翻轉操作後通過混沌擾動產生的混沌序列選擇方向進行遊動,判斷菌落趨化算子運行次數是否達到,若是則進入步驟七,若否則進入步驟八;
步驟七:改進繁殖算子,對細菌進行交叉變量操作,然後返回步驟四;
步驟八:改善細菌的適應度,細菌趨向運動後返回步驟六。
在所述步驟一中,隨機初始化n個坐標作為傳感器節點,細菌的趨化、複製、遷徙次數分別為nc,nre,ned;操作的計數參數設置為g,s,l,單個細菌的趨化步長為c,在相同方向最大趨化步數為nc(i),遷徙概率為ped;循環變量由1開始遞增,趨化循環g最大值為nc、複製循環s最大值為,nre、遷徙循環l最大值為ned;
式中,n是細菌的總數,lmax和lmin分別是監測區域的下限和上限。
所述步驟二中是根據下式計算細菌的遷徙概率pself,當細菌不滿足遷徙概率則刪除此細菌,在菌群內重新選取細菌,然後判斷遷徙次數是否達到最大迭代值,
其中jhealth是能量值函數,ped是原始遷徙概率。
所述步驟四中細菌趨化循環後進行選擇性繁殖,先對細菌適應度排序,淘汰一半較差適應度的細菌,然後分裂複製另一半細菌以保持細菌總數不變,則第個細菌適應度累加和為:
式中j(i,g,s,l)代表細菌i在l次驅散、s次複製、g次趨化時的適應度。
在所述步驟五中,通過式計算出不同細菌組合的覆蓋率,找出覆蓋率最大的一組,更新信息,其中為權值,。
在所述步驟六中,按式改進的翻轉概率翻轉後根據
式和式計算細菌的趨化步長及反彈步長,細菌翻轉操作後通過混沌擾動產生的混沌序列選擇方向進行遊動,其遊動的單位步長為c(i),表示選擇混沌遊動方向後位置的適應度值以確定是否更新位置信息;
混沌擾動過程如下:
由
式可知,選擇初值,混沌映射參數後由混沌系統迭代出確定的混沌順序序列;
式中為混沌控制參數;
a.搜索細菌的通過式映射到式logistic方程定義域(0,1)上;
其中,為節點坐標範圍;
b.通過logistic方程進行多次迭代,得到混沌序列:
c.把產生的混沌序列通過式逆映射
從而返回原解空間並產生一個含有混沌變量的可解混沌序列:
。
在所述步驟七中,計計算並排序各個細菌適應度,選出菌群適應度高的一半細菌作為菌群精英細菌;對適應度值較差的半數細菌用交叉算子與挑選出的精英細菌進行雜交,生成個新細菌,然後用變異算子對交叉操作後的一半細菌進行變異操作後複製分裂構成新細菌群。
在所述步驟八中,若細菌的適應度改善,則繼續沿相同方向遊動,當適應度不再改善或達到最大趨化次數停止遊動。
在matlab2010b環境下進行仿真實驗。監測區域為的矩形平面內隨機分布200個傳感器節點。每個傳感器節點代表菌群中的一個細菌,節點的監測區域半徑,通信距離,初始化算法的各項參數,初始化節點能量,趨化步長c是0.05,,反彈碰壁係數為0.05,遷徙概率為0.25,單方向翻轉最大次數為10次,實驗結果如圖2-9所示。圖2、圖3為隨機分布節點對監測區域進行覆蓋時節點的部署情況及覆蓋率曲線圖,圖4、圖5為用bfo優化後得到的wsn部署節點情況及優化覆蓋曲線,圖6、圖7為用cobfo算法優化後得到的wsn部署節點情況,其中黑點表示傳感器節點坐標位置信息,圓表示節點覆蓋面積區域。
分析圖2-9可知,隨機節點部署策略中節點在區域分布極不均勻,出現覆蓋空洞的同時也存在有大量的節點冗餘和大面積重複覆蓋,節點覆蓋率為90.13%,經過細菌覓食算法優化節點部署後使節點覆蓋更加均勻,大幅減少重複覆蓋區域,但仍然存在少量冗餘節點和覆蓋空洞,其覆蓋率為95.27%。在用混沌優化的細菌覓食算法得到的節點覆蓋方案中wsn節點在監測區域中均勻分布,產生極少的節點冗餘,並且覆蓋率能夠到98.84%,幾乎沒有覆蓋空洞。與隨機部署節點的策略比較,通過混沌序列優化細菌覓食算法得到節點部署策略網絡覆蓋率提高了8.71%,節點在監測區域分布更加均勻,重複覆蓋的區域更少,節點的冗餘度極低,達到了wsn優化覆蓋的目的,而且優化的算法使用更少的節點就能有效覆蓋監測區域,節約了部署成本,同時也極大地延長了wsn的監測時間。
表一部署策略比較
由表一可知,混沌優化過的細菌覓食節點部署策略其網絡平均覆蓋率高於其它對比算法,且使用的節點個數少於其他節點部署算法,節點的利用率、能量平衡性優於其他節點部署算法且搜索最優覆蓋策略的速度最快,通過互相對比發現,cbfo優化算法能夠有效提高節點的利用率、網絡覆蓋率、降低節點能量消耗及延長網絡生存壽命。
討論初值及參數對混沌映射系統的影響研究
logistic映射系統對初值和參數十分敏感,混沌序列會隨著不同的初值和參數而變化,通過研究不同初值和參數在映射方程迭代500次後得到的軌跡圖得到較好的全局搜索序列。結果如圖10-14所示:
由結果可知,當時得到的迭代混沌序列較為理想,能夠對局部搜索區域進行全局搜索。
儘管已經對本發明的技術方案做了較為詳細的闡述和列舉,應當理解,對於本領域技術人員來說,對上述實施例做出修改或者採用等同的替代方案,這對本領域的技術人員而言是顯而易見,在不偏離本發明精神的基礎上所做的這些修改或改進,均屬於本發明要求保護的範圍。