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