卓志宏
(陽(yáng)江職業(yè)技術(shù)學(xué)院,廣東 陽(yáng)江529566)
責(zé)任編輯:薛 京
隨著無(wú)線用戶增加,頻譜資源成為一種稀缺資源,為了克服傳統(tǒng)固定分配頻譜資源方式,1999年,Mitola等人提出認(rèn)知無(wú)線電的概念,以提高頻譜利用率和通信可靠性[1]。在認(rèn)知無(wú)線電中,存在多個(gè)用戶競(jìng)爭(zhēng)有限可用頻譜,因此合理分配空閑頻譜,滿足用戶使用頻譜要求,提高頻譜利用率,保證系統(tǒng)性能逼近最優(yōu)狀態(tài),成為認(rèn)知無(wú)線電中的難點(diǎn)問(wèn)題[2]。
針對(duì)認(rèn)知無(wú)線電頻譜分配問(wèn)題,國(guó)內(nèi)外許多研究機(jī)構(gòu)和學(xué)者開展了一些研究工作,提出了許多頻譜分配模型,比如文獻(xiàn)[3]討論的博弈論模型,文獻(xiàn)[4]提出的圖論著色模型,文獻(xiàn)[5]中描述的定價(jià)拍賣模型,此外還有文獻(xiàn)[6]提出的干擾溫度模型等?;趫D論著色模型是一種比較成熟的頻譜分配算法,采用一個(gè)沖突圖表示認(rèn)知無(wú)線電頻譜分配問(wèn)題,根據(jù)不同目標(biāo)函數(shù)和規(guī)則,將空閑頻譜分配給不同用戶,但若分配規(guī)則的權(quán)重相同,那么變成了一個(gè)NP難題[6]。博弈論模型通過(guò)博弈過(guò)程找到納什均衡點(diǎn),但當(dāng)認(rèn)知無(wú)線電頻譜分配比較復(fù)雜時(shí),很難找到納什均衡點(diǎn),且難以實(shí)現(xiàn)[7]。由于認(rèn)知無(wú)線電頻譜分配問(wèn)題是一個(gè)NP難題,近年,一些學(xué)者將智能計(jì)算算法引入到頻譜分配問(wèn)題求解中,如遺傳算法、蟻群算法、人工蜂群算法、粒子群優(yōu)化算法、蛙跳算法等[8-11],它們通過(guò)模擬自然界生物行為,求解效率較高,但這些算法均存在不同程度的缺陷,主要是易陷入局部最優(yōu),很難在有限的時(shí)間內(nèi)搜索到最優(yōu)解[11]。因此,需要設(shè)計(jì)新的算法來(lái)解決認(rèn)知無(wú)線電頻譜分配問(wèn)題。
為了提高認(rèn)知無(wú)線電頻譜利用率,針對(duì)粒子群優(yōu)化算法收斂速度慢、易陷入局部最優(yōu)解等缺陷,引入“鯰魚效應(yīng)”,保證粒子的多樣性,提出一種基于鯰魚粒子群(Catfish Effect Particle Swarm Optimization,CE-PSO)算法的認(rèn)知無(wú)線電頻譜分配方法。仿真結(jié)果表明,CE-PSO算法可以有效求解認(rèn)知無(wú)線電的頻譜分配問(wèn)題,使網(wǎng)絡(luò)系統(tǒng)效益達(dá)到最大化。
為了方便描述和研究認(rèn)知無(wú)線電的頻譜分配問(wèn)題,特建立以下模型,假設(shè)某小區(qū)某時(shí)段,需求通信的用戶有N個(gè),供用戶選擇和使用的空閑頻帶有M個(gè)。為了獲得效益最大化,建立由頻譜可用矩陣L、效益矩陣B、干擾矩陣C和無(wú)干擾分配矩陣A,共同描述認(rèn)知無(wú)線電的頻譜分配模型,它們定義如下:
1)頻譜的可用矩陣
式中:ln,m=1表示用戶n可使用頻譜m;ln,m=0表示用戶n不可以使用頻譜m。
2)效益矩陣
式中:B表示用戶n使用頻譜m時(shí)所獲得的效益,當(dāng)ln,m=0,bn,m=0時(shí),表示用戶n不能使用頻譜m。
3)干擾矩陣
式中:cn,k,m=1表示用戶n和k同時(shí)使用頻譜m會(huì)產(chǎn)生干擾,否則,cn,k,m=0。
4)無(wú)干擾分配矩陣
式中:an,m=1表示頻譜m被分配給了用戶n;否則an,m=0。
通常情況下,頻譜分配目標(biāo)是使整個(gè)小區(qū)內(nèi)所有認(rèn)知用戶取得的效益總和最大化,認(rèn)知無(wú)線電系統(tǒng)效益為
認(rèn)知無(wú)線電頻譜分配問(wèn)題可表示為
如何找到最優(yōu)的無(wú)干擾分配矩陣A,假設(shè)L,B,C三個(gè)矩陣確定,為了獲得認(rèn)知系統(tǒng)效益最大化,并盡可能使時(shí)間開銷最小,從式(6)可知,認(rèn)知無(wú)線電頻譜分配問(wèn)題是一個(gè)非線性、多目標(biāo)優(yōu)化問(wèn)題,是一種典型的NP難題,傳統(tǒng)的優(yōu)化方法難以獲得最優(yōu)解,本文采用鯰魚粒子群算法對(duì)其進(jìn)行求解。
設(shè)粒子群共有N個(gè)粒子,其在D維的空間進(jìn)行搜索,粒子i的飛行速度和位置為:vi=(vi1,vi2,…,viD)T和xi=(xi1,xi2,…,xiD)T,迄今為止粒子i所達(dá)到的最優(yōu)位置記為pi=(pi1,pi2,…,piD),該粒子所處粒子群的歷史最優(yōu)位置記為pg=(pg1,pg2,…,pgD),此時(shí)i粒子的位置和飛行速度更新為
式中:t為當(dāng)前迭代次數(shù);w表示粒子的慣性權(quán)值;c1,c2表示加速度的系數(shù);函數(shù)rand()表示[0,1]區(qū)間的一個(gè)隨機(jī)數(shù)。
由式(7)可知,粒子當(dāng)前速度由前一時(shí)刻的速度、個(gè)體極值pid與全局極值pgd等決定,若PSO法出現(xiàn)“早熟”現(xiàn)象,那么pgd一定是陷入局部最優(yōu),則可以直接改變pg或間接改變pid,幫助粒子跳出局部最優(yōu)解,以找到全局最優(yōu)解[12]。
沙丁魚生性比較懶惰,不喜愛(ài)游動(dòng),長(zhǎng)時(shí)間的運(yùn)輸后沙丁魚幾乎死完,若將鯰魚放入魚槽中,沙丁魚見(jiàn)了鯰魚十分緊張,左沖右突,四處躲避,加速游動(dòng),沙丁魚缺氧的問(wèn)題就迎刃而解了,沙丁魚就不會(huì)死了,這就是著名的“鯰魚效應(yīng)”。根據(jù)“鯰魚效應(yīng)”啟示:當(dāng)沙丁魚聚集并不動(dòng)時(shí),相當(dāng)于粒子群達(dá)到局部最優(yōu),并搜索停止,這時(shí)需要放一條鯰魚進(jìn)沙丁魚群,以此刺激“沙丁魚粒子”,使其加速“游動(dòng)”,破壞粒子所達(dá)到的局部最優(yōu)位置的聚集狀態(tài),防止早熟,以跳出粒子群局部最優(yōu),進(jìn)一步尋找極值點(diǎn)達(dá)到全局最優(yōu),這就是Catfish Effect Particle Swarm Optimization(CEPSO),鯰魚粒子群優(yōu)化算法的基本思想。“鯰魚效應(yīng)”機(jī)制如圖1所示。
圖1 鯰魚效應(yīng)示意圖
鯰魚粒子群優(yōu)化算法設(shè)定觸發(fā)條件,根據(jù)偏差閾值決定是否擾動(dòng),觸發(fā)的情況下通過(guò)鯰魚算子對(duì)全體極值pgd和個(gè)體極值pid擾動(dòng),同時(shí)粒子速度更新為
式中:c3表示鯰魚對(duì)最優(yōu)個(gè)體的沖撞強(qiáng)度;c4表示全局最優(yōu)的沖撞強(qiáng)度。它們結(jié)合隨機(jī)函數(shù)后變?yōu)?c3×rand(),c4×rand(),兩者就稱為鯰魚算子,其定義為
式中:ep表示個(gè)體當(dāng)前值和該個(gè)體假定的值之間的偏差;eg表示群體當(dāng)前值和該群體全局最優(yōu)值之間的偏差;為了設(shè)定觸發(fā)條件和獲得全局最優(yōu),e0p表示其局部最優(yōu)間的偏差閾值;e0g表示全局最優(yōu)的偏差閾值,當(dāng)偏差閾值達(dá)到的時(shí)候,放入鯰魚粒子,破壞局部最優(yōu)。
由式(10)、(11)可知,若當(dāng)前值的偏差大于偏差閾值,鯰魚算子取1,此時(shí)CEPSO算法變?yōu)闃?biāo)準(zhǔn)PSO算法;反之,認(rèn)為此時(shí)粒子發(fā)生聚集行為,引入“鯰魚算子”去沖撞個(gè)體最優(yōu)值或全局最優(yōu)值,以跳出局部最優(yōu)。
每一個(gè)粒子代表一種潛在的認(rèn)知無(wú)線電頻譜分配方案。粒子群初始化根據(jù)無(wú)干擾分配矩陣A進(jìn)行,如果頻譜矩陣L中的ln,m=0,那么矩陣A中的an,m=0,為了降低計(jì)算時(shí)間開銷,因此選擇L中值為1并對(duì)應(yīng)A中的元素位置進(jìn)行編碼,對(duì)于N=5,M=5的認(rèn)知無(wú)線電頻譜分配問(wèn)題,粒子編碼結(jié)構(gòu)如圖2所示,其中pi為粒子群中的第i個(gè)粒子。
圖2 粒子編碼方式
認(rèn)知無(wú)線電頻譜分配目標(biāo)是使整個(gè)小區(qū)內(nèi)所有認(rèn)知用戶取得的效益總和最大化,因此采用系統(tǒng)效益作為粒子群的適應(yīng)度函數(shù),那么i個(gè)粒子的適應(yīng)度定義為
2)設(shè)置粒子群的數(shù)目,并初始化種群,同時(shí)設(shè)置CEPSO算法的相關(guān)參數(shù),根據(jù)式(12)評(píng)價(jià)粒子優(yōu)劣,并初始化粒子群的個(gè)體最優(yōu)位置pid和群體最優(yōu)位置pgd。
3)根據(jù)式(10)、(11)結(jié)合沖撞強(qiáng)度和隨機(jī)函數(shù)確定鯰魚算子,同時(shí)更新粒子的速度和位置。
4)根據(jù)式(12)適用度函數(shù)計(jì)算每個(gè)粒子在新位置上的適應(yīng)度值,并與pid的適應(yīng)度值比較,如果更優(yōu),則該粒子代替?zhèn)€體歷史最優(yōu)適應(yīng)度值,并用該粒子位置代替pid。
5)將該粒子的適應(yīng)度值與pgd的適應(yīng)度值進(jìn)行比較,如果優(yōu)于全局pgd的適應(yīng)度值,則該粒子代替群體的最優(yōu)適應(yīng)度值,同時(shí)該粒子的位置更新為pgd。
6)迭代次數(shù)設(shè)定最大迭代次數(shù),若次數(shù)超過(guò)預(yù)先設(shè)定的值則迭代終止,則根據(jù)最優(yōu)位置輸出認(rèn)知無(wú)線電頻譜分配方案,否則,跳轉(zhuǎn)步驟3)繼續(xù)尋優(yōu)。
為了驗(yàn)證CE-PSO算法在認(rèn)知無(wú)線電頻譜分配問(wèn)題求解的有效性,采用文獻(xiàn)[13]中粒子群優(yōu)化(PSO)算法的頻譜分配方法進(jìn)行對(duì)比實(shí)驗(yàn)。認(rèn)知無(wú)線電系統(tǒng)的參數(shù)選取與文獻(xiàn)[13]相同,具體見(jiàn)表1。CE-PSO算法參數(shù)設(shè)置為:粒子群規(guī)模p=20,c1=c2=2,c3=1,c4=4,最大迭代次數(shù)為500,慣性權(quán)重w=0.5,偏差閾值e0g=0.01,e0p=0.02;PSO算法參數(shù)與CE-PSO算法相同。
表1 仿真參數(shù)
4.2.1 收斂速度對(duì)比
PSO算法和CE-PSO算法的系統(tǒng)效益變化曲線如圖3所示,如圖所示迭代次數(shù)和效益成正比,隨著迭代次數(shù)的增加,增益值也隨之增大,CE-PSO算法在180代左右,系統(tǒng)效益達(dá)到最優(yōu),即找到了認(rèn)知無(wú)線電頻譜分配問(wèn)題的全局最優(yōu)解,而PSO算法在400左右才使系統(tǒng)效益達(dá)到最優(yōu),這說(shuō)明CE-PSO算法收斂速度要快于PSO算法,而且無(wú)線電系統(tǒng)效益要大于PSO算法頻譜分配方案效益,對(duì)比結(jié)果表明,在PSO算法引入“鯰魚效應(yīng)”,解決了PSO算法存在缺陷,保證了粒子群個(gè)體多樣性,使得粒子群可以跳出局部最優(yōu)點(diǎn),兼顧了粒子全局搜索能力和局部搜索能力,提高了認(rèn)知無(wú)線電頻譜分配問(wèn)題求解效率。
4.2.2 系統(tǒng)效益與用戶數(shù)之間的變化關(guān)系
當(dāng)M=22時(shí),系統(tǒng)收益與用戶數(shù)N之間的變化曲線如圖4所示。從圖4可知,隨著用戶的增加,認(rèn)知用戶之間的競(jìng)爭(zhēng)更為激烈,用戶之間干擾越大,導(dǎo)致系統(tǒng)收益呈遞減趨勢(shì),但是CE-PSO算法的頻譜分配方案的系統(tǒng)收益要大于PSO算法。
圖3 兩種算法的收斂速度變化曲線
圖4 系統(tǒng)效益與用戶數(shù)的變化關(guān)系
4.2.3 系統(tǒng)效益與空閑頻譜數(shù)之間的變化關(guān)系
當(dāng)N=10,隨著認(rèn)知無(wú)線電頻譜數(shù)的增加,系統(tǒng)收益的變化曲線如圖5所示。從圖5可知,由于頻譜增加,用戶可選擇頻譜增多,用戶之間干擾減小,用戶的平均收益逐漸增大,系統(tǒng)收益相應(yīng)增加,且CE-PSO算法的頻譜分配方案的系統(tǒng)收益要大于PSO算法,對(duì)比結(jié)果表明,相對(duì)于PSO,CE-PSO算法更加有利于實(shí)現(xiàn)認(rèn)知無(wú)線電系統(tǒng)的效益最大化,進(jìn)一步驗(yàn)證了CE-PSO算法的有效性。
圖5 平均效益與頻譜數(shù)的變化關(guān)系
4.2.4 網(wǎng)絡(luò)效益與實(shí)驗(yàn)次數(shù)之間的變化關(guān)系
在50次獨(dú)立實(shí)驗(yàn)中,CE-PSO算法和PSO算法所獲得系統(tǒng)效益如圖6所示。從圖6可知,采用CE-PSO算法求解所得知無(wú)線電頻譜分配方案要優(yōu)于PSO算法,提高了認(rèn)知系統(tǒng)的效益,結(jié)果更加穩(wěn)定,能夠滿足認(rèn)知無(wú)線電網(wǎng)絡(luò)頻譜分配要求。
圖6 網(wǎng)絡(luò)效益隨實(shí)驗(yàn)次數(shù)的變化曲線
針對(duì)認(rèn)知無(wú)線電系統(tǒng)的頻譜分配問(wèn)題,提出了一種基于CE-PSO算法的認(rèn)知無(wú)線電頻譜分配方法。仿真結(jié)果表明,CE-PSO較好地解決了PSO算法易陷入局部最優(yōu)解的問(wèn)題,尋優(yōu)能力更強(qiáng),收斂速度更快,能夠找到更理想的分配方案,實(shí)現(xiàn)網(wǎng)絡(luò)效益的最大化,可滿足更廣泛的認(rèn)知無(wú)線電網(wǎng)絡(luò)應(yīng)用需求。
[1]滑楠,曹志剛.認(rèn)知無(wú)線電網(wǎng)絡(luò)路由研究綜述[J].電子學(xué)報(bào),2010,38(4):910-918.
[2]RAHIMI-VAHED A,MIRZAEI A H.Solving a bi-criteria permutation flow-shop problem using shuffled frog-leaping algorithm[J].Soft Computing,2008,12(5):435-452.
[3]曾軻.基于博弈論的認(rèn)知無(wú)線電頻譜分析技術(shù)的研究[D].成都:電子科技大學(xué),2007.
[4]NIE N,COMANICIU C.Adaptive channel allocation spectrum etiquette for cognitive radio networks[J].Journal Networks and Applications,2006,11(6):779-797.
[5]CLAUCY T C.Dynamic spectrum access in cognitive networks[M].[S.l.]:University of Maryland,College Park,2006.
[6]席志紅,王曉光.基于干擾溫度模型的認(rèn)知無(wú)線電動(dòng)態(tài)功率分配算法[J].應(yīng)用科技,2010,37(6):13-15.
[7]陳亞琨.認(rèn)知無(wú)線電中基于感知信息量化的合作頻譜感知[J].電視技術(shù),2012,36(17):106-110.
[8]彭振,趙知?jiǎng)牛嵤随?基于混合蛙跳算法的認(rèn)知無(wú)線電頻譜分配[J].計(jì)算機(jī)工程,2010,36(6):210-217.
[9]張北偉,朱云龍,胡琨元.基于粒子群算法的認(rèn)知無(wú)線電頻譜分配算法[J].計(jì)算機(jī)應(yīng)用,2011,32(12):3184-3214.
[10]柴爭(zhēng)義,劉芳.基于免疫克隆選擇優(yōu)化的認(rèn)知無(wú)線網(wǎng)絡(luò)頻譜分配[J].通信學(xué)報(bào),2010,3l(11):92-100.
[11]知?jiǎng)?,彭振,鄭仕鏈,?基于量子遺傳算法的認(rèn)知無(wú)線電頻譜分配[J].物理學(xué)報(bào),2009,58(2):1358-1363.
[12]龍吟,朱江,李方偉.認(rèn)知OFDM無(wú)線電系統(tǒng)中分布式資源分配[J].電視技術(shù),2013,37(1):118-123.
[13]張愛(ài)華,尉宇.基于混沌粒子群的決策樹SVM的調(diào)制模式識(shí)別[J].電視技術(shù),2012,36(23):126-130.
[14]ZHAO Zhijing,PENG Zheng,ZHENG Shilian,et al.Cognitive radio spectrum allocation using evolution algorithms[J].IEEE Trans.Wireless Communications,2009,8(9):4421-4425.