張首榮
(廣東工業(yè)大學計算機學院,廣州510006)
現(xiàn)實生活中收集的數(shù)據(jù)屬性對于分類應用往往存在冗余或相關[1]。作為對數(shù)據(jù)的預處理操作,特征選擇就是剔除數(shù)據(jù)中冗余和不相關的特征,降低數(shù)據(jù)維度,分類成本和耗時,提高分類的正確率[2]。特征選擇的應用領域廣泛,例如面部識別[3]、機器學習[4]、大數(shù)據(jù)分類[5]等。
近年來,群體智能優(yōu)化算法憑借其強大的全局搜索能力和尋優(yōu)能力,更少的計算代價和更快的收斂速度被廣泛應用于特征選擇研究[6]。常見的群體智能算法包括蟻群算法[7],粒子群算法(Particle Swarm Optimization,PSO)[1],狼群算法[10-11]和人工蜂群算法[8]等。群體智能優(yōu)化算法的核心思想是創(chuàng)建并初始化候選解群體,并且讓個體在搜索過程中互相合作與學習,通過適應值函數(shù)迭代引導候選解群體學習發(fā)現(xiàn)全局最優(yōu)解。在優(yōu)化過程中,種群的每一個個體都是潛在的特征選擇解決方案。
目前群體智能算法應用于特征選擇的主流編碼方案是離散的二進制編碼和連續(xù)的實數(shù)編碼。二進制編碼采用二進制字符串去構造粒子。該編碼方式被應用于群體智能算法最早可追溯到Kennedy和Eberhart[9]提出的二進制粒子群算法(Binary PSO,BPSO),該類算法把粒子的速度通過S型函數(shù)映射到位置上,形成01的特征字符串。Dong等人[1]提出了基于拓撲結構的NPFS算法,該算法以二進制粒子群算法為基礎,加入拓撲結構增強算法的全局搜索能力。Emary等人[10]提出了一個基于二進制編碼的灰狼優(yōu)化(Binary Gray Wolf Optimization,BGWO)算法,用來解決特征選擇問題。該算法通過α狼、β狼和δ狼的互相協(xié)作領導狼群的搜索過程,利用S形函數(shù)對連續(xù)更新的位置進行壓縮,然后比較這些壓縮值和隨機閾值,得到更新后的二值灰狼位置。QASEM等人[11]提出了離散多目標灰狼優(yōu)化算法,通過S型函數(shù)讓傳統(tǒng)多目標灰狼優(yōu)化算法去解決特征選擇問題。
實數(shù)編碼將一個特征被選為特征子集的概率作為編碼元素,通過選定一個閾值,將實數(shù)映射為0和1二進制位,這樣就把實數(shù)型的位置x轉(zhuǎn)換為二進制的特征字符串。如Li等人[13]提出的自適應骨干粒子群算法(Adaptive Bare-Bone PSO,ABPSO)就采用了該實數(shù)編碼用于特征選擇,其中判斷的閾值為0到1之間的隨機數(shù)。Zhang等人[12]提出基于成本的多目標粒子群算法用于特征選擇,以分類錯誤率和選擇成本作為優(yōu)化的兩個目標,采用把實數(shù)編碼的閾值設定為常數(shù)0.5以確定特征是否被選擇。實數(shù)編碼的優(yōu)點在于可以沿用傳統(tǒng)粒子群算法的位置和速度更新公式,相對于二進制編碼僅利用速度公式直接映射得出粒子的位置向量,在搜索多樣性上更有優(yōu)勢。
實際上,很多數(shù)據(jù)集的特征選擇問題本身存在多模態(tài)特性[26],也就是說不同的特征組合有可能對應相同高或近似的分類能力。找出多個具有相同高分類能力的全局最優(yōu)解,能夠為決策者提供更多的選項,自主選擇最適合的方案。在多模態(tài)優(yōu)化研究中,Yang和Chen[14]提出自適應多模態(tài)蟻群(Local Adaptive Multimodal Ant Colony Optimization,LAMCACO)算法用于求解連續(xù)函數(shù)優(yōu)化問題。該算法利用自適應參數(shù)去處理不同小生境的差異,在蟻群算法基礎上采用差分變異操作尋找位于不同位置的多個最優(yōu)解,并利用局部搜索操作微調(diào)小生境的最優(yōu)個體。Zhu和Zhang[15]提出多模態(tài)粒子群(Dandelion-PSO,DPSO)模擬蒲公英的繁殖行為,產(chǎn)生新粒子到搜索空間,并通過基礎序列算法機制構建小生境。目前面向特征選擇問題的多模態(tài)優(yōu)化仍處于研究的初期,雖然多目標優(yōu)化可以在一定程度上為決策者提供基于不同目標的解,然而特征選擇問題本身存在多個具有相同最優(yōu)目標解的問題,仍需要采用多模態(tài)優(yōu)化的技術去解決。此外,傳統(tǒng)的二進制編碼應用于特征選擇時容易陷入局部最優(yōu),在最優(yōu)峰附近的搜索不夠充分。傳統(tǒng)的實數(shù)編碼應用于特征選擇時存在編碼冗余的缺點,不同的實數(shù)組合在固定閾值下會對應相同的特征選擇組合,而且閾值的設置會影響算法的判斷能力。
基于以上問題,本文通過研究特征選擇的多模態(tài)特性,設計出兩種用于特征選擇多模態(tài)優(yōu)化的編碼方案,結合基于擁擠度的多模態(tài)小生境PSO,得到的算法稱為基于函數(shù)編碼的多模態(tài)粒子群(Multimodal PSO based on Function encoding,MFPSO)算法。設計的編碼方案基于函數(shù)概率獲得特征組合,一種是基于線性函數(shù)的編碼,另一種是基于曲線函數(shù)的編碼。該編碼策略將粒子位置作為自變量,引入線性函數(shù)(L)和凹凸函數(shù)(AT)得出概率值,把該概率值和隨機值比較,進而判斷粒子的二進制編碼是否為0或1。實驗通過對比分析多種編碼方案下算法的性能,可見相對于二進制編碼方案,函數(shù)編碼方案的尋優(yōu)能力更強,而相對于實數(shù)編碼方案,函數(shù)編碼方案在把粒子位置轉(zhuǎn)換為二進制值時更為靈活。
粒子群算法最初是Kennedy和Eberhart[16]提出的一種群體智能算法,它模仿自然界鳥類和魚類的社會行為。粒子群算法具備算法結構簡單和調(diào)節(jié)參數(shù)少的特點,被廣泛應用于函數(shù)優(yōu)化[17]、神經(jīng)網(wǎng)絡訓練[18]和旅行商[19]等實際問題中。在粒子群算法里,每一個粒子都是潛在的解決方案,都包含了位置向量和速度向量。對于群體中的粒子i,位置向量定義為xi=(x1i,x2i,x3i….xDi),速度向量定義為vi=(v1i,v2i,v3i….vDi),其中D表示搜索空間的維度。在群體更新過程中,每個粒子通過自己的經(jīng)驗和鄰居的經(jīng)驗進行移動,算法在迭代的過程中會維持當前粒子在搜索過程中的找到的個體歷史最優(yōu)位置和整個群體找到的最優(yōu)位置。粒子群算法每個粒子的更新公式見公式(1)和(2)。
其中,在(1)和(2)公式中,d∈D表示搜索空間的第d維,t表示當前代數(shù),i表示群體的第i個粒子。pbestdi表示第i個粒子的第d維的歷史最優(yōu)位置,gbestd表示全局最優(yōu)位置gbest的第d維。w是內(nèi)部權重,控制著先前的速度對當前速度的影響力。c1和c2是兩個加速系數(shù),控制著pbest和gbest對于搜索過程的影響力。r1和r2是在[0,1]區(qū)間內(nèi)服從均勻分布的隨機值。
傳統(tǒng)的多模態(tài)優(yōu)化算法采用小生境技術把種群分為多個子種群,讓子種群單獨迭代演化,找出所有的全局最優(yōu)解和局部最優(yōu)解[15,20]。小生境策略的核心思想是把整個群體劃分為多個子群體,每個子群體負責找到所在區(qū)域的一個或多個優(yōu)化解。將小生境策略應用于粒子群算法不僅有利于幫助粒子群算法維持群體的多樣性,還幫助粒子群算法由單峰尋優(yōu)向多峰尋優(yōu)進行轉(zhuǎn)變。
小生境技術最早是由Cavicchio在1970年提出,它模擬的是自然界不同生物種群在不同的環(huán)境中生活[21]。常見的小生境技術包括適應值共享[22]、集群[23]和清理[24]等。本文參考了文獻[14]中提到的基于擁擠度的集群小生境技術。其中,擁擠度集群技術根據(jù)個體和參考點距離遠近來劃分種群,原文獻的小生境技術是用來解決連續(xù)函數(shù)優(yōu)化問題,并不完全適合特征選擇問題。不同于原文獻采用歐幾里得距離來計算粒子之間的位置的做法,本文采用漢明距離來計算粒子之間的位置。這么做的目的是為了保證差別小的粒子聚集在同一個小生境內(nèi),差別大的粒子被分在不同的小生境內(nèi),讓小生境真正起到作用。
對于一個具有N個屬性的特征選擇問題,優(yōu)化目標就是找出最優(yōu)的特征屬性組合,該組合可以最大化對樣本的分類正確率。由于問題可能存在多個對應最高分類正確率的特征組合,多模態(tài)優(yōu)化技術[26]可以幫助算法在一次運行中找到盡可能多的最優(yōu)特征組合。衡量一個多模態(tài)算法是否成功主要有兩個評判標準,一個是能否找到更多的全局優(yōu)化解或局部優(yōu)化解,另一個則是能否維持這些優(yōu)化解直至搜索結束[25]。本文采用基于留一交叉驗證的kNN分類器(k=1)作為分類器。留一交叉驗證的優(yōu)點在于不受隨機樣本劃分的影響,而kNN算法優(yōu)點是容易實現(xiàn)和具備無參數(shù)特點。本文設計的基于函數(shù)編碼的多模態(tài)粒子群算法MFPSO能夠在搜索結束時找到多個具有最高分類正確率的特征組合。
傳統(tǒng)的二進制編碼策略是采用一個S型函數(shù)把速度映射到二進制的位置x上,速度可以看作比特位改變的概率,公式如下:
rand()表示在區(qū)間[0,1]范圍內(nèi)的隨機值。
傳統(tǒng)的實數(shù)編碼策略把粒子位置和常數(shù)值比較,把實數(shù)型的位置x轉(zhuǎn)換為二進制的特征字符串。公式如下:
以上實數(shù)編碼方法以0.5為決定特征是否被選中的閾值,在區(qū)間[0,0.5]范圍內(nèi)概率為0,在區(qū)間(0.5,1]范圍內(nèi)為1。然而,在這種判斷標準下,值為0.49的特征和值為0.51的特征在實數(shù)編碼上區(qū)別不大,但是公式(5)的方法只有值為0.51的特征會被選擇。本文研究兩種不同概率變化的特征選擇方式,在實數(shù)編碼的基礎上引入外部函數(shù)得出概率值,把概率值和隨機值比較,判斷粒子對應的特征值取值是否被選中。
為此,本文設計了兩個函數(shù),一個是公式(6)的線性函數(shù):
其中表示第i個粒子的第d維位置,取值在[0,1]范圍內(nèi)。
另一個是公式(7)的曲線函數(shù):
其中,該分段函數(shù)實際上是以凹函數(shù)p=ex和凸函數(shù)p=lnx為基底通過坐標軸的伸縮平移變換得到,使得表示概率的因變量p限制在[0,1]范圍內(nèi)。k是一個常數(shù)值,本文取值為10,k的大小會影響曲線的凹凸程度。該線性函數(shù)使得pdi表示粒子取對應的特征值的概率,取值在[0,1]范圍內(nèi)。
公式(7)相對于公式(6)來說,如果粒子的位置取值在區(qū)間[0,0.5]范圍內(nèi),那么粒子對應的特征值會有更高的概率取值為0。如果粒子的位置取值在區(qū)間(0.5,1]范圍內(nèi),那么粒子對應的特征值會有更高的概率取值為1。
基于以上函數(shù),實數(shù)編碼對應轉(zhuǎn)換為二進制的特征字符串的公式為:
其中,rand()表示[0,1]范圍內(nèi)的隨機值。
圖1給出了用于特征選擇的常數(shù)閾值、線性函數(shù)和曲線函數(shù)對應的特征選擇概率曲線。從圖中可以看出,采用常數(shù)閾值的選擇方式實際上對應一個階梯型曲線,線性函數(shù)對應直線,曲線函數(shù)編碼是個左凹右凸曲線。在把實數(shù)轉(zhuǎn)換為01二進制值時,實數(shù)編碼的概率是100%,而函數(shù)編碼的概率是隨著曲線變化的,更加靈活。
圖1 編碼方案曲線
在算法迭代搜索的過程中,粒子的個體歷史最優(yōu)位置pbest和群體全局最優(yōu)位置gbest會不斷更新。其中,個體歷史最優(yōu)位置pbest是粒子在搜索過程中到目前為止發(fā)現(xiàn)的最優(yōu)位置,群體全局最優(yōu)位置gbest是整個群體在搜索空間發(fā)現(xiàn)的最優(yōu)位置,每個粒子共享這個全局最優(yōu)位置。在多模態(tài)優(yōu)化過程中,種群通過小生境技術被劃分為多個子種群,每個子種群都記錄了其最優(yōu)解Lbest,每個子種群的粒子在對應的子種群里迭代演化。為此,當小生境的每個粒子更新自身速度時,本文采用每個小生境的最優(yōu)解Lbest去替代公式(1)中每個粒子的全局最優(yōu)解gbest來指導這個小生境的所有粒子的搜索方向,得到如下公式:
其中i表示群體的第i個粒子,t表示當前代數(shù),k表示第k個小生境,表示第k個小生境第d維的全局最優(yōu)位置。
在選擇和更新粒子pbest的過程中,傳統(tǒng)做法如下:如果粒子當前適應值小于等于該粒子的歷史最優(yōu)值,那么保留歷史最優(yōu)值及其位置;如果粒子當前適應值大于該粒子的歷史最優(yōu)值,那么保留當前適應值及其位置。但對于多模態(tài)優(yōu)化,如果當前適應值等于歷史最優(yōu)適應值,粒子的當前位置和歷史最優(yōu)位置極有可能處于不同的山峰位置。為了增加種群多樣性,防止粒子都趨向于同一個山峰,本文設立閾值0.5,當粒子的當前適應值和歷史最優(yōu)適應值相同時,各有一半的概率選擇其中一個去更新pbest,更新公式如下:
其中fit(pbesti(t))表示在第t代第i個粒子的歷史適應值,fit(xi(t+1))表示在第t+1代第i個粒子的當前適應值。如果粒子記錄的歷史最優(yōu)值比粒子當前適應值要差,那么就用粒子當前適應值更新歷史最優(yōu)值;如果粒子記錄的歷史最優(yōu)值和粒子當前適應值相等,那么選?。?,1]范圍內(nèi)的隨機值,小于閾值就用當前適應值更新歷史最優(yōu)值;否則保留歷史最優(yōu)值。
種群粒子在經(jīng)過一代演化后會分布在搜索空間新的位置,但不是所有的粒子在經(jīng)過演化后會來到接近最優(yōu)峰的位置。本文設計的多模態(tài)算法通過小生境技術把整個種群劃分為多個子種群,每個子種群盡可能找出所在區(qū)域的一個或多個最優(yōu)解,在每次迭代搜索過程中每個子種群發(fā)現(xiàn)的最優(yōu)解將通過種群篩選規(guī)則保存下來并且指導粒子的搜索過程。為了加快收斂速度并且盡可能把較優(yōu)個體保留下來,需要把產(chǎn)生的新種群和演化前的舊種群進行比較篩選操作,篩選出下一代用于演化的種群。本文采用文獻[14]的基于擁擠度的小生境技術的篩選規(guī)則,將新種群的每一個粒子和舊種群比較,從舊種群中找到一個離新粒子最近的舊粒子,然后把新粒子和舊粒子比較,如果新粒子比舊粒子更優(yōu),那就用新粒子替代舊粒子,否則,保留舊粒子。該篩選規(guī)則應用到離散特征選擇研究時,采用了漢明距離來判斷粒子的遠近。
一個算法在處理多模態(tài)優(yōu)化問題時的首要目標便是盡可能地找到更多的全局或局部最優(yōu)解,并且讓這些最優(yōu)解可以在整個搜索迭代過程中一直保存下來[26]。不同于傳統(tǒng)的多峰連續(xù)函數(shù)的優(yōu)化,特征選擇具備函數(shù)模型未知,多峰和離散的特點。由于事先并不清楚特征選擇函數(shù)的最優(yōu)解位置,本文設計了自定義的最優(yōu)解篩選規(guī)則。算法采用外部集保存每代發(fā)現(xiàn)的所有最優(yōu)特征解,如果當代種群的最優(yōu)個體比上一代最優(yōu)個體更好,就清空外部集并且保存當代種群的最優(yōu)個體。否則,將種群每個個體和歷史最優(yōu)個體比較。如果該個體不遜于歷史最優(yōu)個體適應值,說明該個體也是潛在的最優(yōu)解,接下來和外部集的所有個體比較,如果該個體和外部集的所有個體不重復,說明找到了新的最優(yōu)解,把該個體加入外部集。這樣,在一次獨立搜索結束后,外部集保存的解就是算法發(fā)現(xiàn)的最優(yōu)解,有多少個個體就發(fā)現(xiàn)了多少個不同的最優(yōu)峰。
在介紹完算法的相關操作后,這部分將列出算法的流程圖見圖2,并且補充一些細節(jié)說明:
圖2 多模態(tài)粒子群算法MFPSO的算法框架
(1)初始化種群。在該操作中,需要設置相關的參數(shù),例如群體大小,搜索空間范圍,數(shù)據(jù)集特征維度,迭代次數(shù)和獨立運行次數(shù),等等。然后隨機初始化種群每一個粒子的速度和位置。
(2)根據(jù)小生境技術劃分種群?;趽頂D度的集群小生境技術可以把整個種群劃分為多個子種群,在本文里子種群的大小是隨著代數(shù)變化的。
(3)更新粒子的pbest。粒子的個體歷史最優(yōu)值根據(jù)公式(10)進行更新。
(4)更新小生境的Lbest。選取每個小生境內(nèi)的最優(yōu)粒子作為該小生境的Lbest。
(5)更新粒子的位置和速度。根據(jù)公式(9)和(2)更新每個小生境粒子的速度和位置。
(6)評估粒子的適應值。根據(jù)編碼方案將粒子位置的連續(xù)實值轉(zhuǎn)換為離散的二進制特征字符串。然后從數(shù)據(jù)集的樣本提取被選中的字符串信息,采用1NN分類算法進行分類操作,得到分類正確率。
(7)比較新舊種群,選出較優(yōu)的個體保留在下一代種群。
(8)將下一代種群的最優(yōu)個體保存在外部集。種群的每一個和外部集的所有個體比較,發(fā)現(xiàn)了不同最優(yōu)峰的個體將會保存在外部集。
(9)判斷是否達到結束條件,如果達到結束條件就輸出外部集找到的候選特征解,否則就回到(2)繼續(xù)迭代。
本文選取了12個常用的數(shù)據(jù)集研究多模態(tài)粒子群算法的性能。如表1所示,它們有著不同的實例數(shù),類別數(shù)和特征維度。在實驗中,為了避免出現(xiàn)因為一些屬性的值過大導致其他屬性不能起作用的情況,本文采用了數(shù)據(jù)歸一化的預處理操作去處理這些數(shù)據(jù)集。
表1 測試數(shù)據(jù)集
本文以MCPSO算法為基礎,比較不同編碼方案對多模態(tài)粒子群算法尋優(yōu)能力的影響。為了便于理解,本文對采用不同編碼方案的算法名字添加后綴,即對于二進制編碼、傳統(tǒng)實數(shù)編碼、線性函數(shù)編碼、曲線函數(shù)編碼,分別在算法名稱后添加-B、-R、-L和-AT。例如本文采用線性函數(shù)的算法表示為MFPSO-L,采用曲線函數(shù)編碼的算法表示為MFPSO-AT。
為了驗證多模態(tài)算法能否找到高分類正確率的解,本文算法與單模態(tài)算法BGWO[10]和ABPSO[13]算法進行了比較。對于多模態(tài)特征選擇問題,由于目前缺乏合適的算法,因此本文通過把文獻[14]的多模態(tài)算法修改為用于求解特征選擇問題,得到的算法用LAMCACO-R表示。
本文比較的所有算法群體大小都為30個,獨立運行20次,迭代次數(shù)100代。為了公平起見,所有算法均采用基于留一交叉驗證的1NN算法求分類正確率。采用與文獻[14]相同的參數(shù)設置,LAMCACO-R和MFPSO算法中的小生境大小都隨著代數(shù)變化,在集合{2,4,8,12,16,20}中隨機選擇,這么做不僅在探索和開發(fā)之間取得平衡,而且減少了小生境大小這個參數(shù)對小生境算法的敏感性。權重w為0.9,加速系數(shù)c1和c2為1.495,粒子速度的取值范圍為[-1,1],公式(7)中k取值為10。
在獨立運行的20次實驗中,為了研究算法找到最優(yōu)分類正確率的穩(wěn)定性,表2比較了各個算法找到的最高分類正確率的值,以及20次運行中找到該最高值的次數(shù)。對于同一個數(shù)據(jù)集,獲得最優(yōu)結果的算法對應的表格中的數(shù)值用粗體表示,例如對于German數(shù)據(jù)集,只有MFPSO-R和MFPSO-AT算法找到最高74.30的最優(yōu)分類正確率,因此它們的值都用粗體表示,而由于MFPSO-AT在20次運行中有2次找到最高分類正確率,而MFPSO-R只有1次,因此MFPSO-AT對應的成功次數(shù)值也用粗體表示。當最優(yōu)分類正確率的值不是所有算法中最大的值時,即使成功次數(shù)更大,也不會用粗體表示。表中最后一行統(tǒng)計了各個算法在所有測試數(shù)據(jù)集中獲得粗體值的個數(shù),可見該數(shù)字越大,算法的穩(wěn)定性越高。
表2 算法20次運行的最高分類正確率與成功次數(shù)比較
從表2可以看出,采用了曲線函數(shù)編碼的MFPSOAT算法表現(xiàn)最好,在11個數(shù)據(jù)集均能找到最優(yōu)解,而且在成功次數(shù)上也是最多的。
為了驗證算法找到多個最高分類正確率解的能力,表3進一步給出了各個算法在20次運行中找到的最優(yōu)解合并起來得到的具有最高分類正確率的不重復的特征組合個數(shù),以及在單次運行中得到該最高分類正確率對應的最多解的數(shù)量。例如,對于Zoo數(shù)據(jù)集,MFPSO-AT算法在20次運行中總共找到155個不同的特征組合,而在單次運行中最多找到86個。在該數(shù)據(jù)集中,MFPSO-L算法總共找到最多163個不同的特征組合,而單次運行只比MFPSO-AT少5個。關于表中數(shù)值粗體的原則,與表2相同。
表3 算法20次運行找到的不同最高分類正確率解的個數(shù)與單次運行找到解的個數(shù)比較
經(jīng)過分析,由于BGWO和ABPSO是單模態(tài)算法,每次運行只能找到1個解,在20次運行中也發(fā)現(xiàn)算法會找到位于不同搜索區(qū)域的多模態(tài)解,可見對于特征選擇問題采用多模態(tài)優(yōu)化的方法更加合適。對于本文比較的多模態(tài)算法,采用實數(shù)編碼和函數(shù)編碼的算法性能要比采用二進制編碼的方法要好。而對于單次運行的效果來看,采用曲線函數(shù)編碼的MFPSO-AT算法有更大的概率找到更多的多模態(tài)解。
本文比較的算法都采用了相同的種群規(guī)模和最大迭代次數(shù),圖3給出了比較算法在Zoo、Breast Cancer、Vowel、Glass、Segmentation和Wine數(shù)據(jù)集上的平均迭代收斂曲線。縱坐標accuracy表示平均分類正確率,橫坐標iteration表示迭代次數(shù)。
圖3 算法平均收斂曲線
從圖3可知基于曲線函數(shù)編碼的MFPSO算法在前期收斂較慢,但是在后面的代數(shù)平均分類正確率不遜于其余特征選擇算法。
本文設計了一個基于函數(shù)編碼的多模態(tài)粒子群MFPSO算法去研究特征選擇的多模態(tài)特性。該算法通過基于擁擠度的小生境技術劃分種群,使用粒子群公式更新位置和速度,在產(chǎn)生新種群后通過種群篩選操作保留最優(yōu)個體給下一代演化,采用最優(yōu)解篩選操作保留每代發(fā)現(xiàn)的最優(yōu)解,通過函數(shù)編碼實現(xiàn)粒子位置從連續(xù)到離散空間的轉(zhuǎn)換。為了驗證算法性能,本文將提出的多模態(tài)MFPSO算法和前沿的LAMCACO算法,ABPSO算法和BGWO算法比較,并且把實數(shù)編碼方案和二進制編碼方案也應用于多模態(tài)粒子群算法,研究編碼方案對算法的影響。實驗結果表明,基于曲線函數(shù)編碼的MFPSO-AT算法擁有更強的尋優(yōu)能力。