一種用于函數優(yōu)化的免疫算法
3.1 克隆變異
本文引用地址:http://dyxdggzs.com/article/83867.htm算法中主要的免疫操作包括了克隆和變異。
克隆是拷貝抗體編碼模式的過(guò)程,假設父代抗體為X=[x1,x2,……xn]T,則克隆后產(chǎn)生的子代抗體為X′=Ii×X,Ii是NCi維行向量。而NCi就決定了抗體克隆的數量,在這里NCi可由下式得到:
β∈(0,1)是克隆常數,N是種群規模,將要克隆的抗體按親和度排序,i是其序號。其結果是親和度越高的抗體克隆的數量越多。
變異的目的是使子代抗體的編碼發(fā)生變化,以期得到優(yōu)于父代的更好的解。由于算法中的抗體采用實(shí)數編碼,因此原來(lái)的變異方法不再適用,而是采取了高斯變異的方式,并且變異并不作用到原始種群。
為了能在親和度高的抗體周?chē)兴阉?,同時(shí)又保證抗體的多樣性,本文引入了一種自適應變異算子,即對每一個(gè)變異算子作用到的個(gè)體分量:
其中N(0,1)是一個(gè)服從標準高斯分布的隨機數;而Nmi則對應抗體的變異率,不失一般性,對求解最小值的問(wèn)題:
顯然,抗體的變異率是與其親和度成反比的,親和度越高變異率越小,抗體在每次迭代過(guò)程中根據親和度自適應的調整變異步長(cháng),使得在親和度高的抗體周?chē)兴阉饕蕴岣呤諗克俣?,同時(shí)保持種群的多樣性。ρ為變異常數,用來(lái)調整變異強度,與搜索的空間大小和種群規模相關(guān)。
3.2 調整免疫網(wǎng)絡(luò )
與遺傳算法相比,免疫算法的一大特點(diǎn)就是其具有記憶性,從新的抗體群中選出優(yōu)勢個(gè)體,排除退化個(gè)體的過(guò)程就是重新生成免疫網(wǎng)絡(luò )的過(guò)程。
經(jīng)過(guò)克隆和變異后,若存在新抗體ρ=min{f(xij)|j=1,2,……n},使得f(p)
而對于那些退化的個(gè)體,即親和度最低的一部分抗體,則通過(guò)重新初始化的方法使其消亡,以保持種群的多樣性。
4 仿真實(shí)驗
為測試算法性能采用了以下3個(gè)典型測試函數:
初始種群大小為100,維數為20,最大截止代數為400的情況下,改進(jìn)的克隆選擇算法(表1中顯示為ACLONALG)連續lO次實(shí)驗的結果與CLONALG算法比較見(jiàn)表l。
實(shí)驗結果表明,算法在3個(gè)函數上均優(yōu)于CLONALG算法,收斂速度和精度都有明顯提高。圖1、圖2和圖3分別顯示了CLONALG和改進(jìn)的克隆選擇算法(ACLONLG)在3個(gè)函數上運行10次的平均實(shí)驗結果,縱坐標取函數值的對數,其中cLONALG(10)表示維數為10的CLONALG算法,其他類(lèi)似。從圖中可以看出,本文提出的算法對于f1來(lái)說(shuō),在lO維的情況下不及CLONALG,但在20維的情況下卻優(yōu)于CLONALG,特別在運行后期收斂速度加快;而在f2和f3上,收斂速度和精度均高出CLONALC,顯示出明顯的優(yōu)勢。
本文介紹了免疫優(yōu)化算法的基本原理,并通過(guò)分析,提出了一種改進(jìn)的算法用于函數優(yōu)化。該算法的主要步驟包括初始化種群、親和度計算、選擇、克隆、超變異、消亡等,屬隨機優(yōu)化算法,具有顯示的并行性。通過(guò)3個(gè)典型測試函數對算法進(jìn)行了仿真實(shí)驗,與CLONALG的結果進(jìn)行了比較。結果表明,本文所提算法收斂速度和精度均有提高,解的多樣性增加,在高維情況下優(yōu)勢明顯。
評論