吳榮生
(漳州職業(yè)技術學院 電子信息學院,福建 漳州 363000)
海洋捕食者算法(Marine Predator Algorithm,MPA)是由 Faramarzi[1]提出的一種新穎的基于種群的群智能優(yōu)化優(yōu)化算法,其靈感主要來源于海洋捕食者不同的覓食策略以及捕食者和獵物之間的最佳遭遇率策略.文獻[1]的仿真結果表明,與遺傳算法(Genetic Algorithm ,GA)、粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)、引力搜索算法(Gravitational Search Algorithm,GSA)、布谷鳥搜索(Cuckoo Search,CS)、麻雀搜索算法(Sparrow Search Algorithm,SSA)和協(xié)方差自適應進化策略(Covariance Matrix Adaptation Evolution Strategy,CMA-ES)相比,MPA具有較好的性能,已被廣泛用于處理實際的工程問題,例如:光伏領域[2-4]、電力系統(tǒng)[5]、圖像分類[6-7]、任務調(diào)度[8].
MPA雖然已在多個領域中得到應用,但對MPA的缺點的分析及改進較少[9-10].MPA在進行種群位置更新時,主要是在最優(yōu)個體附近進行搜索,而沒有利用更多個體的有效信息,容易導致種群多樣性降低,易于陷入局部最優(yōu);沒有設計算法停滯時的位置更新策略,僅利用原策略不利于幫助算法繼續(xù)尋優(yōu);設計魚類聚集裝置(Fish Aggregating Devices,F(xiàn)ADs)流程是用于增強種群多樣性,但是沒有判斷子代與父代的優(yōu)劣,一定程度上不利于算法尋優(yōu)和收斂.
針對 MPA 存在的問題,筆者提出混沌海洋捕食者算法(Choas Marine Predator Algorithm,CMPA),并通過CEC2014測試函數(shù)驗證該算法的有效性和優(yōu)越性,實驗表明CMPA能顯著提高算法的尋優(yōu)性能.
同大多數(shù)元啟發(fā)式算法類似,海洋捕食者算法是一種基于種群的智能優(yōu)化算法,初始解盡可能均勻分布在搜索空間內(nèi),即:
其中Xmin和Xmax分別表示種群變量的上下限,r1∈(0,1)為服從均勻分布的隨機向量.
MPA尋優(yōu)過程根據(jù)不同的速度比分為3個階段:階段一,獵物速度比捕食者速度快;階段二,獵物速度和捕食者速度相近;階段三,獵物速度比捕食者速度慢.在每個階段分別模仿捕食者和獵物在自然界中的運動.
階段一:高速階段發(fā)生在迭代初期,此時獵物服從布朗運動,捕食者主要進行探索行為.該階段數(shù)學模型見公式(2):
其中是一個服從基于布朗運動的正態(tài)分布的隨機數(shù)向量,P是一個取值為5的常數(shù),∈(0,1)是一個均勻分布的隨機向量.iter表示當前迭代數(shù),itermax表示最大迭代數(shù).
階段二:在第二階段,需要同時進行開發(fā)和探索,因此將種群分為兩部分,一部分進行開發(fā),另一部分進行探索.其中獵物用于開發(fā)過程,捕食者用于探索過程.該階段數(shù)學模型見公式(3)和公式(4).
對于第二部分種群,進行探索行為,即:
階段三:作為最后一個階段,主要進行開發(fā)流程,該階段數(shù)學模型描述為:
此外,環(huán)境問題會引起捕食者行為變化,F(xiàn)ADs是影響捕食者行為的一個因素,被視作這片搜索區(qū)域的局部最優(yōu),假設通過較長步長能夠跳出局部最優(yōu).FADs的影響可用公式(6)表示,即:
為增強MPA算法的性能,采用3種策略對算法進行改進.首先利用立方混沌映射策略生成種群初始解,增加種群多樣性,提高算法的探索能力;其次利用混沌局部搜索策略增強算法的收斂性能;在算法停滯時使用高斯游走策略增強種群多樣性,幫助算法跳出局部最優(yōu);最后利用貪婪策略保證算法收斂效率.
群智能優(yōu)化算法的初始種群質(zhì)量對于算法的性能有很大影響,均勻分布的種群有利于算法在前期盡可能多的探尋搜索空間,增強算法的探索能力.
MPA和其他群智能優(yōu)化算法類似,存在種群多樣性不足,易陷入局部最優(yōu)值等缺陷.為了提高初始種群質(zhì)量,增強算法全局探索能力,考慮到立方混沌算子具有隨機性與規(guī)律性的特點,且能在一定范圍內(nèi)不重復遍歷所有狀態(tài),因此筆者采用立方映射混沌算子對種群進行初始化[11].立方映射公式為:
立方映射初始化種群的具體步驟為:首先隨機產(chǎn)生一個取值范圍在[-1,1]之間的隨機向量,然后使用公式(7)對該向量進行迭代計算,最后使用公式(8)將立方映射產(chǎn)生的變量值映射到種群中.
混沌局部搜索策略通過搜索每一個解決方案的附近區(qū)域,從而找到更好的解決方案,因此該策略能夠有效提高算法的開發(fā)能力[12].另一方面,混沌映射具隨機性和遍歷性的特點,所以利用混沌映射進一步提高局部搜索策略的有效性.在CMPA中,混沌局部搜索策略只應用于種群的優(yōu)勢種群.混沌局部搜索策略的公式為:
當算法陷入局部最優(yōu)時,可采用隨機游走策略來幫助算法擺脫局部最優(yōu),增強算法的探索能力.隨機游走策略是一種模擬自然界生物隨機運動的概率模型,被廣泛應用于各類優(yōu)化算法的設計與改進[14-15].筆者提出一種利用中等群體構造新子代的高斯隨機游走策略.
由于優(yōu)勢種群和中等種群之間的差異向量可改善種群的多樣性,筆者考慮了中等種群信息.采樣點與中等人口和優(yōu)勢人口的相對位置有關,擴大了搜索范圍,具有較強的勘探能力.該策略的數(shù)學模型見公式(11)、(12),即:
在每一次迭代最后,CMPA采用貪婪策略保留了父系和子代中最好的NP個體,從而形成了新的種群,這有利于CMPA的全局收斂能力.
為全面驗證改進算法的性能,通過與最近提出的改進算法進行比較,驗證改進算法的優(yōu)越性與競爭性.本文選取CEC2014部分測試函數(shù)進行實驗,包括3個單峰測試函數(shù),3個多峰函數(shù),3個混合函數(shù)和3個組合函數(shù),函數(shù)的定義及最優(yōu)值可參考文獻[16].仿真實驗的硬件環(huán)境為:Windows 10系統(tǒng),AMD R5 3600X處理器,32 GB內(nèi)存.程序在MATLAB R2016b平臺上運行.
為了說明改進算法的優(yōu)越性,選取了PSO、灰狼優(yōu)化算法(Grey Wolf Optimizer,GWO)、鯨魚優(yōu)化算法(Whale Optimization Algorithm,WOA)、SSA、MPA等5種算法同筆者提出的CMPA算法進行比較.為保證公平,各算法參數(shù)設置參考原文獻,所有算法種群數(shù)設置為500,最大迭代次數(shù)為600.表1為各算法獨立運行51次的平均值及在各測試函數(shù)中的排名.
表1 CEC2014 30D測試中6種算法的結果統(tǒng)計
對于單峰測試函數(shù)F1~F3,CMPA性能優(yōu)于所有對比算法,并且可穩(wěn)定地求得這3個測試函數(shù)的最優(yōu)值,表明了CMPA在求解單峰函數(shù)的優(yōu)勢,再一次驗證了改進策略能有效提高算法的開發(fā)能力(見表1).對于多峰測試函數(shù)F4~F6,CMPA同樣優(yōu)于所有對比算法,這說明改進算法能夠保持足夠好的種群多樣性,避免陷入局部最優(yōu).對于復雜組合函數(shù),CMPA在其中5個測試函數(shù)上取得了最好的結果,更好的證明了CMPA解決現(xiàn)實世界中復雜優(yōu)化問題的潛力.
CMPA在求解其中5個測試函數(shù)(F1~F3、F18、F29)時,CMPA沒有異常值,這表明CMPA所求解的分布非常集中;同時對其它存在壞值的測試函數(shù)(F4~F6、F17、F19、F28、F30),CMPA有著小的中位數(shù),表明CMPA的解的質(zhì)量相對更優(yōu).因此筆者提出的改進算法具有很強的魯棒性.
文獻[17-18]表明僅根據(jù)平均值來比較算法性能是不充分的,為從統(tǒng)計上分析改進算法的優(yōu)越性,可使用Wilcoxon符號秩檢驗進行驗證.表2列舉了每種算法和CMPA的Wilcoxon符號秩檢驗的結果,其中“+”表示CMPA的性能更優(yōu),“-”表示CMPA性能較差,“=”表示CMPA和對比算法性能相似,沒有顯著差異.由表2可知,CMPA在10個測試函數(shù)中優(yōu)于所有比較算法,并且在所有測試函數(shù)中均優(yōu)于基本MPA,這在統(tǒng)計學上驗證了改進算法的出色性能.
表2 Wilcoxon符號秩檢驗結果
算法的計算成本也是評價算法性能的另一個重要指標.表3列出了各算法在求解測試函數(shù)時的平均耗時排名.由此可知CMPA的計算耗時較多,僅排在第5位,而MPA排在第4位,這是由于引入混沌局部搜索策略導致的計算成本增加.雖然改進策略的引入導致了基本MPA的計算耗時增多,但其帶來的性能提升是顯著的,因此本文提出的CMPA的計算耗時是能夠接受的.
表3 CEC2014測試集7種算法的計算成本
為改善基本MPA存在的不足,提出了一種融合分布估計算法和中等解高斯隨機游走策略的海洋捕食者算法.首先利用立方混沌映射生成種群初始解,利用混沌映射的遍歷隨機性,增強初始種群個體的多樣性,其次使用混沌局部搜索策略提高了算法的收斂性能.此外,采用中等解高斯隨機游走策略來輔助算法擺脫停滯.
使用CEC2014測試集對本文提出的改進算法進行仿真實驗.實驗結果表明,CMPA能夠有效提升基本MPA的尋優(yōu)性能,并在整體性能上要優(yōu)于PSO、GWO、WOA、SSA和MPA算法.在后續(xù)研究中,考慮將改進后的海洋捕食者算法應用到機器人路徑規(guī)劃和機械手臂軌跡優(yōu)化中,以進一步驗證算法求解現(xiàn)實世界復雜優(yōu)化問題的能力.