王曉靜,彭 虎,鄧長壽,黃海燕,張 艷,譚旭杰
(九江學院 信息科學與技術學院,江西 九江 332005)
Yang[1]研究了螢火蟲個體間相互吸引與發光亮度的關聯關系,以及螢火蟲的移動特性,于2008年提出了一種新型群智能優化算法,即螢火蟲算法(Firefly Algorithm, FA)。FA的基本思想是模擬螢火蟲的發光特性在一定區域內尋找伙伴,向位置較優的螢火蟲移動,以達到尋優的目的。螢火蟲算法操作簡單、參數少、收斂速度較快,已被成功地用于路徑優化[2]、電頻譜分配[3]、水資源優化配置[4]、板料成形優化[5]、工程管柱設計[6]等優化問題中,從而引起了國內外學者的廣泛關注,成為智能計算領域的一個研究熱點。
螢火蟲算法也存在一些不足,比如后期收斂速度慢、易陷入局部最優、尋優結果依賴于初始種群和參數設置等。許多學者對其進行了各種改進。如臧睿等[6]將自適應慣性權重引入標準螢火蟲算法,提高了算法的收斂速度。王翔等[7]設計了一種混沌局部搜索算子和替換算子,克服了螢火蟲算法收斂速度慢和易于早熟的缺陷。Wang等[8]設計了隨機吸引模型和三個鄰域搜索策略,以及動態參數調整策略,提高了螢火蟲算法的搜索精度,增強了算法的魯棒性。Yu等[9-10]先后提出了基于個體最好位置與全局最好位置的步長設置策略[9],以及非線性動態調整步長策略[10],提高了搜索質量。劉金等[11]提出了圖形處理器(Graphics Processing Unit, GPU)上的維度并行隨機吸引策略螢火蟲算法,降低了標準螢火蟲算法的時間復雜度,提高了其優化能力。陸克中等[12]提出了一種基于全局信息共享的自適應FA,提高了收斂速度和收斂精度。
本文借鑒Peng等[13]提出的均勻局部搜索策略對差分進化(Differential Evolution, DE)算法的改進,在螢火蟲種群中隨機選擇兩個個體構成一個局部空間,利用均勻設計實驗設計方法,在此空間中尋找一個最優個體并進行迭代,以達到增強局部開采能力的目的,從而提高算法的收斂性能。為了彌補局部搜索可能出現的局部最優和早熟的缺陷,考慮到螢火蟲位置更新時在局部和全局之間的平衡性,引入Yu等[10]提出的非線性動態調整步長策略,利用當前迭代次數和最大迭代次數建立起非線性變化的步長值對算法進行改進。通過12個測試函數的驗證,證明了改進算法的有效性,并針對不同維度問題中算法結果的差異,分析了原因并給出了解決辦法。
螢火蟲算法用搜索空間中的所有可行解模擬夜空中的螢火蟲個體,將問題的目標函數適應度值定義為螢火蟲所處位置的相應解,將優化過程模擬成螢火蟲個體的相互吸引和位置更新過程,將個體的優勝劣汰過程類比為搜索和優化過程中用好的可行解取代較差可行解的迭代過程。算法涉及兩個關鍵因素,即螢火蟲個體的發光亮度和相對吸引度。螢火蟲的發光亮度取決于自身所在位置的目標值,亮度越高表示所處的位置越好,即目標值越佳。吸引度與亮度相關,越亮的螢火蟲擁有越高的吸引力,可以吸引視線范圍內亮度比其弱的螢火蟲往這個方向移動。如果發光亮度相同,則螢火蟲各自隨機移動。亮度和吸引度與螢火蟲之間的距離成反比,都隨著距離的增加而減小。
標準FA涉及的主要公式包括相對熒光亮度公式、相對吸引度公式和位置更新公式[14]如下所示:
熒光亮度為:
I(r)=I0e-γr
(1)
其中:I0為螢火蟲的最大熒光亮度,即r=0處的熒光亮度,與目標函數值相關,目標函數值越優自身亮度越高;γ為光強吸收系數,以體現光強的減弱特性,在多數問題中γ∈[0.01,100];r通常為螢火蟲i與j間的歐氏距離。
吸引度為:
β(r) =β0e-γr2
(2)
其中:β0為最大吸引度,即r=0處的吸引度;γ為光強吸收系數。
尋優過程中螢火蟲j受螢火蟲i的吸引,從而向螢火蟲i靠近的位置更新公式為:
xj(t+ 1) =xj(t) +β(xi(t)-xj(t)) +αεj
(3)
其中:xj(t+ 1)為螢火蟲xj第t+1次移動后的位置;α為步長因子,是[0,1]上的常數;ε為[0,1]上服從高斯分布的隨機因子。
在以上3個公式的基礎上,標準螢火蟲算法通過算法1的步驟完成尋優過程。
算法1 標準FA。
1)
選取適應度函數f(X),X= (x1,x2,…,xd)T
2)
初始化螢火蟲種群Xi(i=l, 2,…,n)
3)
初始化算法基本參數γ、β0、MaxFEs(最大評估次數)
4)
5)
While (FEs 6) Fori=1∶n 7) Forj=1∶n 8) If (Ij>Ii) 1)模型坐標系:有限元模型坐標系:模型建立在直角坐標系(X,Y,Z)下,X 軸,沿河流方向并指向下游;Y 軸,垂直河流方向,指向山外;Z軸,豎直向上。 9) 根據式(2)計算相對吸引度 10) 根據式(3)螢火蟲Xi在d維空間向xj移動 11) 計算適應度值f(X),更新熒光亮度 12) FEs=FEs+1 13) End if 14) End for 15) End for 16) 對所有螢火蟲排序,確定當前最優位置 17) End while 18) 輸出結果 均勻設計是Wang等[15]于1981年提出的科學實驗方法,其實驗思想是找到一些散布得更均勻的點集,利用這些點集來安排實驗,使得實驗結果既有代表性,又有相對較少的實驗次數,從而減少實驗時間,節約實驗成本。在相同的均勻性前提下,正交設計實驗次數的量級是O(q2),而均勻設計實驗次數的量級是O(qlogq)。顯然后者在實驗次數上占很大優勢。 Peng等[13]基于均勻設計提出了均勻局部搜索(Uniform Local Search, ULS)算子,并將之用于增強DE算法的局部開采能力,實驗結果證明了ULS優異的局部搜索性能。均勻設計實驗用均勻設計表來安排實驗。均勻設計表是一個n行k列的表格,實驗次數和水平個數相等,即n=q。用Un(qk)表示均勻設計表,其中U表示均勻設計,n表示實驗次數,q表示每個因素的水平個數,k表示獨立因素的最大個數[16]。 如文獻[13]所述,ULS采用均勻設計表U7(76)進行實驗,如表1所示。構建均勻設計表格的過程可參照文獻[17]。從表1中可以看出,均勻設計允許每個因素擁有最大可能的水平數,因此,水平的數量等于實驗數。研究中考慮到如下兩點,首先,此處的均勻局部搜索方法中,表1的最后一行全是“7”,這代表了一個多余的原生個體;其二,經過多次實驗驗證,U6(66)是最合適的。因此,去掉均勻設計表U7(76)的最后一行從而構成U6(66)均勻設計表。每個因素有6個水平能從實驗得到有效的信息,水平數大于6就沒有必要,并且ULS還需要消耗更多的函數評估次數。 表1 均勻設計表U7(76)Tab. 1 Uniform design table U7(76) 以二維空間為例,如圖1所示[13],均勻局部搜索就是在種群G中隨機選擇兩個個體A和B執行一組實驗,其搜索空間為A和B所構成的2維空間,將每一維均勻的分解成6個部分代表6個水平。依據均勻設計表的U6(66)的第一列和第二列,在A和B形成的搜索空間中生成了6個實驗個體。假設C是這6個實驗個體中的最優個體,那么C個體第一維的水平是1,第二維的水平是2。 在ULS算子中,如果問題的維數D大于6,則將D隨機的分成6組,ULS將構建6個實驗個體,花費6次評估次數。作為一種通用的局部搜索框架,ULS能應用到其他進化算法中以提高改善搜索能力。ULS算子的步驟如算法2所示[13]。 算法2 ULS算子步驟。 1) 輸入:種群P、適應度函數評估次數FEs。 2) 從種群P中隨機選擇兩個個體xi,G和xj,G。 3) 基于U6(66)在個體xi,G和xj,G之間構建6個實驗個體Y1,Y2,…,Y6。 4) 評估目標函數值f(Y1),f(Y2),…,f(Y6)。 5) 從Y1,Y2,…,Y6中選取最優個體O。 6) If(f(xi,G)>f(O)) 7) xi,G=O 8) End if 9) FEs=FEs+6 10) 更新種群P,返回FEs。 圖1 二維搜索空間中兩個隨機個體的均勻局部尋優示意圖 Fig. 1 Illustration of uniform local search with two randomly chosen individuals in two-dimensional search space 螢火蟲因亮度而相互吸引,如果某個個體周圍有太多螢火蟲亮度比其高,就會造成搜索過程中的震蕩,這種無意義的震蕩會增加時間復雜度。相反,如果這種吸引力很少,就會導致錯過極優值而過早收斂。因此,吸引的數量和范圍很重要。假如先把搜索過程限定在一定的范圍內,搜索到該范圍內的最優值,再進行擴展,以局部最優促成全局最優,就是一個合理的優化思路。ULS算子正好實現了這個思路。 在標準FA中,螢火蟲因相互吸引而進行位置移動更新,之后再執行均勻局部搜索ULS算子進行一次搜索,利用該算子優異的局部搜索性能來提高FA的解質量。雖然ULS是一個有效的提高收斂速度的方法,但是它是一個相對貪婪的機制,執行次數越多,陷入局部極值的概率越大,因此,權衡收斂速度和種群多樣性,每一代種群執行一次ULS。 在標準FA中,步長因子α的取值是固定的,這不能真正地反映搜索過程。通常較大的α取值適用于探索新的搜索空間,而較小的α取值適用于局部開采。因此,步長對于全局勘探和算法收斂有很大的影響。文獻[10]中VSSFA(Variable Step Size Firefly Algorithm)中可變步長策略平衡了螢火蟲的全局勘探和局部開采能力。在VSSFA中,步長α的調整公式如下: α(t)=0.4/(1+exp(0.015*(t-maxG)/3)) (4) 其中:t是當前迭代次數,maxG是最大迭代次數。在標準FA中,加入ULS算子,提出基于均勻局部搜索的螢火蟲優化算法(Uniform local search Firefly Algorithm, UFA),該算法純粹從搜索過程進行改進。其算法步驟在算法3的基礎上略去第10)行即可。 在標準FA的基礎上,使用以上步長調整策略,再利用均勻局部搜索算子ULS,提出了基于均勻局部搜索和可變步長的螢火蟲優化算法(Firefly Algorithm based on Uniform local search and Variable step size, UVFA),從搜索過程和參數調整兩個方面對標準FA進行優化,其算法的步驟如算法3所示。UVFA與標準螢火蟲算法FA的區別主要體現在步驟的第10)行和第15)行,分別利用式(4)進行步長調整和利用均勻局部搜索算子增強局部尋優能力。 算法3 UVFA步驟。 1) 選取適應度函數f(X),X= (x1,x2,…,xd)T 2) 初始化螢火蟲種群Xi(i=l, 2,…,n) 3) 初始化算法基本參數γ、β0、MaxFEs(最大評估次數) 4) FEs=n 5) While (FEs 6) Fori=1∶n 7) Forj=1∶n 8) If (Ij>Ii) 9) 根據式(2)計算相對吸引度 10) 根據式(4)計算步長α的值 11) 根據式(3)螢火蟲Xi在d維空間向xj移動 12) 計算適應度值f(X),更新熒光亮度 13) FEs=FEs+1 14) End if 15) 利用ULS算子進行局部搜索 16) End for 17) End for 18) 對所有螢火蟲排序,確定當前最優位置 19) End while 20) 輸出結果 本文采用國際上廣泛使用的12個標準測試函數來分析和驗證UVFA的收斂速度和解的質量,這12個函數的名稱、形式、搜索范圍以及最優值如表2所示,其中:函數f1~f7是單峰值函數,f8~f12是具有多個極小值的多峰值函數[18]。Sphere函數為非線性函數,不同維之間可分離,主要用于測試算法的尋優精度;Schwefel2.22函數是具有明顯轉折點的非線性函數;Schwefel1.2函數的最優解周圍具有很小的下降梯度;Schwefel2.21函數為倒錐形非線性函數;Rosenbrock函數為多維病態二次函數,極難進行極小化;Step函數計算一個動態系統的階躍響應;Quartic with noise函數是凹形非線性函數; Schwefel 2.26函數是具有正弦特點的多個局部極小值的函數;Rastrigin函數使用余弦函數產生局部極小值,是典型多峰函數,域內有大量局部極小點,容易陷入局部最優,而不能得到全局最優解;Ackley函數為連續、旋轉、不可分離的多峰函數,具有大量局部最優點;Griewank函數是典型的非線性多模態函數,通常被認為是優化算法很難處理的復雜多模態函數;Penalized1函數使用正弦函數產生大量局部極小值。 實驗硬件環境為Intel Core i7-4770 CPU 3.40 GHz處理器,8 GB內存,64位操作系統;軟件環境為Windows 7操作系統,Matlab 7.11.0版本。 表2 基準測試函數[18]Tab. 2 Benchmark functions 為了說明UVFA的性能,將其算法參數和對比算法的參數設置成相同的,具體如表3所示。實驗中,12個測試函數的維度均設置為30維,每個函數運行30次。 表3 算法參數設置Tab. 3 Algorithm parameters settings 為了客觀公正地評價實驗結果,采用統計學中的Wilcoxon秩和檢驗與Friedman檢驗對實驗結果進行分析。Wilcoxon秩和檢驗基于樣本的秩和來判斷兩個樣本是否來自相同的總體,用以分析對比算法的實驗結果是否存在顯著差異[19]。Friedman檢驗利用秩分析多個獨立樣本的總體分布是否存在顯著差異,通過對各樣本的秩均值進行排名反映算法性能的優劣,秩均值越小表示算法性能越好[20]。 將標準FA、明智步長策略的螢火蟲算法(Wise Step Strategy for Firefly Algorithm, WSSFA)[9]、VSSFA、UFA和UVFA運行結果的平均誤差值和標準方差進行對比,并給出秩和檢驗結果,具體數據如表4所示。表中用“-”、“+”和“≈”3個符號分別代表該算法解的質量較UVFA解的質量差、優和相似。帶下劃線數字表示對比算法中的平均誤差最優值。此外,通過對FA、WSSFA、VSSFA與UFA實驗數據的秩和檢驗結果統計顯示,在12個測試函數中,UFA全部優于其他3種算法。FA、WSSFA、VSSFA、UFA和UVFA實驗結果的Friedman檢驗秩均值分別為4.54、4.31、3.15、1.85、1.15,進一步說明了UVFA的性能是對比算法中最優的。 針對12個測試函數,UFA的尋優結果都顯著地優于標準FA、WSSFA和VSSFA,UVFA較UFA的結果也有了改善。特別是,UFA針對每個函數的平均誤差值均比FA、WSSFA和VSSFA有了大幅改進??梢姡琔LS算子對UVFA的貢獻是顯著的,可變步長因子在函數f1、f2、f3、f5、f7、f10上的效果較好。 為了更好地反映改進算法的收斂過程,用圖2展示了FA、WSSFA、VSSFA、UFA和UVFA對前12個代表函數的收斂曲線并進行對比。圖2中橫坐標表示函數評價次數,其上界是150 000;縱坐標表示30次實驗目標函數均值以10為底的對數形式lg(f)。 由圖2可以得出以下結論:第一,改進的局部搜索螢火蟲算法的收斂速度明顯快于標準螢火蟲算法。這種現象是由于ULS算子較強的局部開采能力而產生的,同時可變步長策略又平衡了全局探索能力,故可以提升算法的收斂速度。第二,在進化的初期階段,UFA與UVFA的收斂速度相當;在進化的后期,UVFA的收斂速度快于UFA。這是合理的。在進化后期,種群中最優解已經陷入局部極值,沒有改進空間;與此同時,種群中其他的較優解還存在一定改進的空間,故UVFA的收斂速度會快于UFA,在函數f1、f2、f3、f5、f7、f10上,UVFA算法的求解質量也明顯地優于UFA。 表4 算法FA、WSSFA、VSSFA、UFA、UVFA的實驗平均誤差值(標準方差)對比(30維)Tab. 4 Mean error values (standard deviation) comparison of standard FA, WSSFA,VSSFA, UFA, and UVFA (D=30) 圖2 算法FA、WSSFA、VSSFA、UFA、UVFA針對12個測試函數的收斂曲線 Fig. 2 Convergence curves of standard FA, WSSFA,VSSFA, UFA, and UVFA on all test functions 表5是標準FA、WSSFA、VSSFA、UFA和UVFA在12個函數上運行30次所用的平均機器時間數據。可以明顯地看出UFA和UVFA在時間上的優勢,其理由是ULS算子在搜索過程中對空間的分解和重組需要一定的時間開銷,但這個時間與FA搜索過程的時間開銷相抵消,并且要小于FA的時間開銷。 表5中的平均時間行是每種算法在運行12個測試函數時所耗用的平均時間,速度比是UVFA的平均時間/相應算法的平均時間得到的值,體現了UVFA的速度優勢??梢钥闯?,UVFA相對于標準FA、WSSFA和VSSFA的速度比分別是0.31、0.20和0.30,相對于UFA的速度比是0.99,說明了ULS算子在優化過程中對收斂速度的貢獻是相當明顯的。 通常算法的性能會隨著問題規模的增大而降低,為了觀察這種影響,表6列出了FA、VSSFA、UFA和UVFA在5維、20維100維等不同維度上的平均誤差值和平均標準方差值。帶下劃線數據表示對比算法中的平均誤差最優值,并進行了秩和檢驗,檢驗結果的表示同上。每個函數分別獨立運行30次。由于10維、50維、200維數據與100維數據結果相似,因此,沒有一一列出。 通過對以上5、20和100幾種維度的數據進行秩和檢驗分析,我們發現,UFA在每一種維度上和FA、VSSFA結果相比,均顯示出了絕對的優勢;UVFA除了具有UFA的優勢之外,在低維度問題中,較UFA的優化效果不明顯,隨著維度的增大,搜索結果顯示出普遍的小幅度優化。表7是各算法實驗結果的Friedman檢驗排名,在5維和20維問題中,UFA排名是第一,在100維等其他高維度中UVFA排名第一。從統計學的角度,說明了UVFA在所有參與比較的算法中是最優的。另外,UFA和UVFA的實驗時間大幅度降低,在搜索速度上有很大的改進。綜合以上結果可見UVFA具有較好的穩定性和魯棒性,不僅適用于各種低維問題,也適用于復雜的高維問題。 表5五個算法的實驗平均機器時間對比s Tab. 5 Experiment average machine time comparison among five algorithms s 表6 各種維度下算法FA、VSSFA、UFA、UVFA的實驗平均誤差值(標準方差)對比Tab. 6 Mean error values (standard deviation) comparison of standard FA, VSSFA, UFA, and UVFA under various dimensions 表7 各算法實驗結果的Friedman檢驗值Tab. 7 Experimental results of algorithms by Friedman test under different dimensions 以上實驗是在U6(66)均勻設計表上進行的,考慮到針對不同規模問題,不同大小的均勻設計表會對實驗結果有所影響,因此,設定水平數q=12,獨立因素的最大個數k=12,即U12(1212)均勻設計表,以及q=k=18,即U18(1818)均勻設計表,分別在5、20、100三種維度上分別進行UVFA仿真實驗,實驗結果如表10所示。需要說明的是,如果維數D<因素數k,則只取前D個因素,即均勻設計表中前D列的值進行實驗。 從秩和檢驗的結果可以發現,U12和U18的結果并沒有顯示出優勢,甚至反而使尋優結果變差,驗證了文獻[13]中關于使用U6(66)進行均勻局部搜索是最合適的選擇。 表8 各種維度下不同ULS算子參數對算法UVFA的實驗平均誤差值對比Tab. 8 Comparison of experimental mean error values with different ULS parameters to UVFA under various dimensions 本文利用ULS算子改進標準FA,提高了螢火蟲算法的搜索質量和收斂速度,為了平衡螢火蟲全局和局部的搜索能力,特增加可變步長策略,對均勻局部搜索螢火蟲算法進一步優化。從實驗的結果來看,在不同維度的優化問題中,改進的UVFA的質量均明顯地優于標準FA和動態步長螢火蟲算法VSSFA,并且實驗時間明顯縮短,同時,UVFA也顯示出較簡化版UFA的優越性,證明了改進算法是有效的。 參考文獻(References) [1] YANG X S. Nature-Inspired Metaheuristic Algorithms [M]. Beckington, UK: Luniver Press, 2008: 81-96. [2] 徐曉光,胡楠,徐禹翔,等.改進螢火蟲算法在路徑規劃中的應用[J]. 電子測量與儀器學報,2016,30(11):1735-1742.(XU X G, HU N, XU Y X, et al. Application of improved firefly algorithm in path planning [J]. Journal of Electronic Measurement and Instrumentation, 2016, 30(11): 1735-1742.) [3] 李衛軍.蛙跳螢火蟲算法及其在無線電頻譜分配中的應用[J].微型機與應用,2015,34(5):16-18.(LI W J. Study on leapfrog firefly algorithm and its application in the radio spectrum allocation [J]. Microcomputer & Its Applications, 2015, 34(5): 16-18.) [4] 張凱,沈潔.基于螢火蟲算法和熵權法的水資源優化配置[J].水資源保護,2016,32(3):50-53.(ZHANG K, SHEN J. Optimal allocation of water resources based on firefly algorithm and entropy method [J]. Water Resources Protection, 2016, 32(3): 50-53.) [5] 王曉新,陳磊.基于高斯過程的螢火蟲算法及其在板料成形優化設計中的應用[J].鍛壓技術,2015,40(12):26-34.(WANG X X, CHEN L. Firefly algorithm and application in sheet metal forming optimization based on Gaussian process [J]. Forging and Stamping Technology, 2015, 40(12): 26-34.) [6] 臧睿,李輝輝.基于標準螢火蟲算法的改進與仿真應用[J].計算機科學,2016,43(S2):113-116.(ZANG R, LI H H. Improvement and simulation application based on standard firefly algorithm [J]. Computer Science, 2016, 43(S2): 113-116.) [7] 王翔,于浩杰,顏敏,等.一種新穎的改進螢火蟲算法[J].計算機與應用化學,2014(8):987-992.(WANG X, YU H J, YAN M, et al. A novel improved firefly algorithm [J]. Computers and Applied Chemistry, 2014(8): 987-992.) [8] WANG H, CUI Z, SUN H, et al. Randomly attracted firefly algorithm with neighborhood search and dynamic parameter adjustment mechanism [J]. Soft Computing, 2017, 21(18): 5325-5339. [9] YU S, SU S, LU Q, et al. A novel wise step strategy for firefly algorithm [J]. International Journal of Computer Mathematics, 2014, 91(12): 2507-2513. [10] YU S, ZHU S, MA Y, et al. A variable step size firefly algorithm for numerical optimization [J]. Applied Mathematics and Computation, 2015, 263(C): 214-220. [11] 劉金,吳志健,吳雙可,等.GPU上的維度并行隨機吸引策略螢火蟲算法[J].計算機工程與科學,2016,38(10):1961-1966.(LIU J, WU Z J, WU S K, et al. A dimensionally parallel firefly algorithm with random attraction on GPU[J]. Computer Engineering and Science,2016,38(10):1961-1966.) [12] 陸克中,孫俊.全局信息共享的自適應FA算法[J].計算機工程與科學,2016,38(6):1164-1170.(LU K Z, SUN J. An adaptive FA algorithm based on global information sharing [J]. Computer Engineering and Science, 2016, 38(6): 1164-1170.) [13] PENG H, WU Z J, DENG C S. Enhancing differential evolution with commensal learning and uniform local search [J]. Chinese Journal of Electronics, 2017, 26(4): 725-733. [14] YANG X S. Firefly algorithm, stochastic test functions and design optimisation [J]. International Journal of Bio-Inspired Computation, 2010, 2(2): 78-84. [15] WANG Y, FANG K T. A note on uniform distribution and experimental design [J]. Science Bulletin, 1981, 26(6): 485-489. [16] 王元.均勻設計──一種試驗設計方法[J].科技導報,1994,12(5):20-21.(WANG Y. Uniform design ─ a method for experimental design [J]. Science and Technology Review, 1994, 12(5): 20-21.) [17] FANG K T, MA C, WINKER P, et al. Uniform design: theory and application [J]. Technometrics, 2000, 42(3): 237-248. [18] YAO X, LIU Y, LIN G. Evolutionary programming made faster [J]. IEEE Transactions on Evolutionary Computation, 1999, 3(2): 82-102. [19] ROSNER B, GLYNN R J, LEE M L T. Incorporation of clustering effects for the Wilcoxon rank sum test: a large-sample approach [J]. Biometrics, 2003, 59(4): 1089-1098. [20] FRIEDMAN M. The use of ranks to avoid the assumption of normality implicit in the analysis of variance [J]. Journal of the American Statistical Association, 1937, 32(200): 675-701. This work is partially supported by the National Natural Science Foundation of China (61364025, 61763019), the Science and Technology Project of Jiangxi Provincial Education Department (GJJ161072, GJJ161076). WANGXiaojing, born in 1980, M. S., lecturer. Her research interests include evolutionary computation. PENGHu, born in 1981, Ph. D., lecturer. His research interests include evolutionary computation. DENGChangshou, born in 1972, Ph. D., professor. His research interests include intelligent computing, data mining. HUANGHaiyan, born in 1982, M. S., lecturer. Her research interests include evolutionary computation. ZHANGYan, born in 1979, M. S., lecturer. Her research interests include evolutionary computation. TANXujie, born in 1978, M. S., lecturer. His research interests include intelligent computing.2 改進的螢火蟲算法
2.1 均勻局部搜索


2.2 基于均勻局部搜索和可變步長策略的螢火蟲優化算法
3 實驗仿真及分析
3.1 測試函數及算法參數設置


3.2 實驗結果及算法收斂性對比分析


3.3 時間開銷分析
3.4 維數變化分析



3.5 ULS算子參數變化對UVFA的影響分析

4 結語