王也 曲會晨 林奕森
摘要:為了提高社會群體優(yōu)化算法的整體性能,提出一種混合社會群體優(yōu)化算法。在提高階段,通過對最差個體進(jìn)行反向?qū)W習(xí),提高種群的搜索空間,從而使得種群整體能夠快速的向最優(yōu)解收斂;在獲得階段,通過Logistic映射產(chǎn)生混沌擾動,增大種群的多樣性,從而能夠增加算法跳出局部最優(yōu)解的可能性?;跇?biāo)準(zhǔn)測試函數(shù)的實(shí)驗(yàn)研究結(jié)果表明改進(jìn)算法整體提升了尋優(yōu)效果。
關(guān)鍵詞:社會群體優(yōu)化算法;反向?qū)W習(xí);混沌搜索;Logistic映射;優(yōu)化
中圖分類號:TP301.6? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2023)06-0047-04
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID)
0 引言
社會群體優(yōu)化算法(Social Group Optimization,SGO)在2016年,由學(xué)者Satapathy等人[1]提出的一種新興群智能優(yōu)化算法,該算法通過模擬社會成員在社會群體中學(xué)習(xí)能力和知識的過程,實(shí)現(xiàn)社會群體整體能力的提升。該算法與目前現(xiàn)有的優(yōu)化算法相比,結(jié)構(gòu)簡單易懂、設(shè)置參數(shù)較少,對處理一些函數(shù)優(yōu)化問題效果較好,Satapathy等人[1]證明了SGO算法在整體性能上優(yōu)于TLBO算法和GA、PSO、DE、ABC算法及改進(jìn)算法。Anima Naik等人[2]通過將SGO算法與8種PSO改進(jìn)算法對比,證明了SGO算法具有較好的解決多模態(tài)和數(shù)據(jù)聚類問題。劉亞軍[3]等人通過將量子學(xué)習(xí)和多子群學(xué)習(xí)方法共同引入到SGO算法中,提出了基于多子群社會群體學(xué)習(xí)算法(MPSGO),并與目前熱門的TLBO算法及其改進(jìn)算法進(jìn)行了比較,證明了其改進(jìn)算法的有效性。
在算法應(yīng)用方面,Jiake Fang等人[4]提出了一種改進(jìn)型社會群體優(yōu)化算法(ISGO),并將該算法用于變壓器故障診斷中。SGO算法目前已經(jīng)還被應(yīng)用到求解涂抹加強(qiáng)筋法的解析解[5]、腦MRI缺血性腦損傷分割[6]、皮膚黑色素瘤圖像評價(jià)[7]、云環(huán)境資源有效配置與任務(wù)調(diào)度[8]等眾多領(lǐng)域中,并取得良好的效果。
綜上所述,雖然SGO算法從提出之日起就廣受學(xué)者的歡迎,被廣泛應(yīng)用,并且也提出了一些改進(jìn)算法,但是該算法在搜索最優(yōu)解的過程中,算法的收斂精度和穩(wěn)定性還有待提升。為此,本文提出一種混合社會群體優(yōu)化算法(Hybrid Improved Social Group Optimization,HISGO)算法來提升算法的整體性能。
在提高階段,通過加入反向?qū)W習(xí)機(jī)制,擴(kuò)大了種群搜索最優(yōu)解的范圍,使得算法能夠快速收斂。在獲得階段,通過加入Logistic映射,使種群產(chǎn)生擾動策略,從而防止種群因多樣性丟失,而陷入局部最優(yōu)。仿真實(shí)驗(yàn)表明,本文提出的算法在算法收斂精度和穩(wěn)定性方面都有明顯提升。
1 社會群體優(yōu)化算法
基本的社會群體算法的主要步驟分為提高階段和獲得階段兩部分。
1.1 提高階段
在社會群體優(yōu)化算法的提高階段,社會群體成員以最優(yōu)個體作為學(xué)習(xí)對象進(jìn)行學(xué)習(xí)和提高。該階段所產(chǎn)生的新個體按照式(1)產(chǎn)生。
[Xnewj i=c*Xoldji+r*(Xjbest-Xoldji)]? ? ? ? ? ? ? ? ? ?(1)
式中:c通常取值為0~1的隨機(jī)數(shù),代表每個個體在提高階段自我反省系數(shù),根據(jù)文獻(xiàn)[1]可知,其在c取值為0.2時,算法效果達(dá)到最佳;r為0~1間的隨機(jī)數(shù);n和m分別表示種群個數(shù)和維數(shù),[j=1,2,...,n,i=1,2,...,m;Xjbest]為目前種群中最優(yōu)個體的第j維向量;[Xoldji]表示第i個個體第j維向量還未進(jìn)行提高階段的值;[Xnewj i]表示進(jìn)行完提高階段第i個個體第j維向量。社會群體成員[Xi]的能力值是否獲得提升,通過適應(yīng)度值[函數(shù)f(Xi)]來做評判標(biāo)準(zhǔn);以最大化為標(biāo)準(zhǔn)下,如果[f(Xnewi)]大于[f(Xoldi)]表示社會群體成員[Xi]在經(jīng)歷提高階段后,其能力值獲得提升,則用[Xnewi]更新[Xoldi],否則不更新個體,保留[Xoldi]。
1.2 獲得階段
在社會群體優(yōu)化算法的獲得階段,社會群體成員,通過目前種群中最優(yōu)個體的引導(dǎo),與社會群體其他成員之間進(jìn)行相互交流學(xué)習(xí)的方式進(jìn)行能力的獲得和提升。該階段所產(chǎn)生新個體按照式(2)產(chǎn)生。
[Xnewj i=Xoldji+r1*Xjbest-Xoldji+r2*Xoldjk-Xoldji? ? ? ? fXoldk>fXoldi Xoldji+r1*Xjbest-Xoldji+r2*Xoldji-Xoldjk? ? ? ?fXoldi>fXoldk]? ?(2)
式中:[r1]和[r2]為0~1的隨機(jī)數(shù);[Xoldji]和[Xoldjk]分別為未進(jìn)行獲得階段的第i和第k個個體的第j維向量;[Xjbest]為目前種群中最優(yōu)個體的第j維向量;[Xnewj i]表示進(jìn)行完獲得階段第i個個體第j維向量。社會群體成員[Xi]的能力值是否獲得提升,通過適應(yīng)度值[函數(shù)f(Xi)]來做評判標(biāo)準(zhǔn);以最大化為標(biāo)準(zhǔn)下,如果[f(Xnewi)]大于[f(Xoldi)],表示社會群體成員[Xi]在經(jīng)歷獲得階段后,其能力值獲得提升,則用[Xnewi]更新[Xoldi],否則不更新個體,保留[Xoldi]。
2 HISGO
社會群體優(yōu)化算法存在設(shè)置參數(shù)較少、結(jié)構(gòu)簡單易懂、收斂能力強(qiáng)等優(yōu)點(diǎn);但根據(jù)文獻(xiàn)[1-4]的仿真實(shí)驗(yàn)結(jié)果可知,算法還存在收斂精度、已陷入局部最優(yōu)解等問題。為此本文通過在算法的提高階段和獲得階段,分別加入反向?qū)W習(xí)機(jī)制和Logistic映射產(chǎn)生的混沌搜索,來擴(kuò)大最優(yōu)解的搜索范圍,并保持算法的種群多樣性,避免算法陷入局部最優(yōu)解,提升算法的精度和穩(wěn)定性。從而整體上使社會群體優(yōu)化算法的性能獲得提升。
2.1 反向?qū)W習(xí)策略
反向?qū)W習(xí)(Opposition-Based Learning, OBL)是Tizhoosh [9] 于2005年提出了一種通過同時比較當(dāng)前解和其反向解,并從中擇優(yōu)選擇的一種策略[9]。
假設(shè)n維空間上一個解[X=(x1,x2,...,xn)],并且[x1,x2,...,xn∈R,xi∈[ai,bi]],則解X的反向解[X*=(x*1,x*2,...,x*n)],可由式(3)獲得。
[x*i=ai+bi-xi]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)
為保證社會群體優(yōu)化算法種群的整體性能,提高搜索空間,在算法提高階段更新種群后,根據(jù)式(3)對種群最差個體進(jìn)行反向?qū)W習(xí),產(chǎn)生反向?qū)W習(xí)個體,并用反向?qū)W習(xí)個體替代最差個體,從而擴(kuò)大搜索最優(yōu)解的范圍,提升算法搜索到最優(yōu)解的可能性。
2.2 混沌搜索
在社會群體優(yōu)化算法搜索最優(yōu)解的過程中,存在陷入局部最優(yōu)解的現(xiàn)象。在算法尋優(yōu)的過程中,通過增加種群的多樣性的方式,有利于算法跳出局部最優(yōu)解[10]。為此,本文通過產(chǎn)生相應(yīng)的隨機(jī)解的方式,對種群進(jìn)行擾動,從而達(dá)到增加種群的多樣性的目的,增加算法跳出局部最優(yōu)解的可能性。
本文采用Logistic映射產(chǎn)生混沌序列來對種群進(jìn)行擾動。Logistic映射公式如式(4)所示。
[zk+1=μzk(1-zk)]? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
式中:[ k=1,2,...,n]表示混沌的序列的序列號,[zk]為區(qū)間(0,1)上的數(shù),混沌序列z的第k+1個個體用[zk+1]表示,[μ]是可調(diào)參數(shù),取值范圍為[0,4]。
2.3 算法實(shí)現(xiàn)流程
綜上所述,本文提出的HISGO算法的具體實(shí)現(xiàn)步驟如下:
步驟一:初始化,設(shè)置社會群體中社會成員人數(shù)即種群個體數(shù)目m,社會成員需提升的能力個數(shù)即種群的維度n,算法最大迭代次數(shù)[Tmax],并產(chǎn)生[m×n]的初始種群;
步驟二:按照式(1)產(chǎn)生經(jīng)過提高階段后的新個體,并計(jì)算適應(yīng)度值,當(dāng)新個體適應(yīng)度值優(yōu)于舊個體時,則用新個體更新舊個體,反之不更新個體;
步驟三:對提高階段進(jìn)行更新后的個體,按照式(3)對最差個體進(jìn)行反向?qū)W習(xí),產(chǎn)生相對應(yīng)的反向?qū)W習(xí)個體,用反向個體替代最差個體;
步驟四:按照式(2)產(chǎn)生經(jīng)過獲得階段后的新個體,并計(jì)算適應(yīng)度值,當(dāng)新個體適應(yīng)度值優(yōu)于舊個體時,則用新個體更新舊個體,反之不更新個體;
步驟五:對獲得階段進(jìn)行更新后的個體,按照式(4)進(jìn)行Logistic映射擾動,產(chǎn)生相對應(yīng)的擾動個體,并計(jì)算適應(yīng)度值,當(dāng)新個體(擾動個體)適應(yīng)度值優(yōu)于舊個體時,則用新個體更新舊個體,反之不更新個體;
步驟六:直到滿足終止條件為止(一般為滿足算法最大迭代次數(shù)[Tmax]),算法結(jié)束,并輸出當(dāng)前最優(yōu)個體。
3 實(shí)驗(yàn)仿真與結(jié)果分析
為驗(yàn)證本文提出的改進(jìn)算法的整體性能,選取CEC2005測試函數(shù)集中[10]9個標(biāo)準(zhǔn)函數(shù)作為測試函數(shù),對算法的整體性能進(jìn)行驗(yàn)證,并與SGO算法[1-2]、目前SGO算法改進(jìn)效果較好的MPSGO算法[3]和ISGO算法[4],進(jìn)行對比。
3.1 測試函數(shù)選取
本文所選取測試函數(shù)的表達(dá)式、取值范圍和理論最優(yōu)值如表1所示。
在表1中,D表示待優(yōu)化的函數(shù)的決策變量的維數(shù),設(shè)置維數(shù)D為30進(jìn)行實(shí)驗(yàn)。本文仿真實(shí)驗(yàn)在Intel(R) Core(TM) i7-8550U CPU@1.8GHZ,8G內(nèi)存,操作系統(tǒng)為window10家庭版的計(jì)算機(jī)上進(jìn)行,仿真軟件環(huán)境為Matlab 2018a。
3.2 算法實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證本文算法的有效性,通過對比每個算法的平局值、最優(yōu)值、最差值、方差來驗(yàn)證算法的性能,并且為了避免特殊情況的影響,本文每種算法對于每一個測試函數(shù)都獨(dú)立運(yùn)行30次。算法的性能對比如表2所示。
從表2可以看出,本文提出的HISGO算法在總共9個測試函數(shù)中與對比算法進(jìn)行測試,對于測試函數(shù)[f1~f4]和[f7],4種算法都能收斂到測試函數(shù)的理論最優(yōu)值0,表明在3個對比算法已經(jīng)能夠獲得理論最優(yōu)值的情況下,HISGO算法能夠保持原有的收斂精度。
對于測試函數(shù)[f5]、[f6]、[f8和f9],HISGO算法和3個對比算法未能收斂到理論最優(yōu)值0。但從平均值、最優(yōu)值和最差值3方面上看,本文的HISGO算法都優(yōu)于3個對比算法,并且除了測試函數(shù)[f6]以外,HISGO算法獲得的最差值都要遠(yuǎn)遠(yuǎn)優(yōu)于其他3種算法的最優(yōu)值,因此可以得出,本文提出的HISGO算法在收斂精度上,對于現(xiàn)有的SGO及其改進(jìn)算法MPSGO和ISGO,都獲得了較大的提升。方差上看,HISGO算法也要遠(yuǎn)優(yōu)于其他3個對比算法,尤其是測試函數(shù)[f5]、[f8和f9],相對于3種對比算法都要高出數(shù)十幾個數(shù)量級,這也進(jìn)一步證明了本文算法在穩(wěn)定性方面,對于現(xiàn)有算法存在穩(wěn)定性差的方面進(jìn)行了較大幅度的提升。
4 結(jié)束語
本文基于反向?qū)W習(xí)策略和Logistic映射混沌擾動思想,在SGO算法的提高階段結(jié)束后,將最差個體進(jìn)行反向?qū)W習(xí),在獲得階段結(jié)束后加入Logistic映射對種群進(jìn)行擾動,提出了HISGO算法。通過將本文算法與3個對比算法在典型標(biāo)準(zhǔn)測試函數(shù)上進(jìn)行測試表明,通過加入反向?qū)W習(xí)策略,增大了最優(yōu)解搜索空間,使得本文算法相對于對比算法具有較好的收斂精度;通過加入混沌擾動策略,增加了種群的多樣性,使得本文算法相對于對比算法具有較好的收斂精度和穩(wěn)定性;從而整體提升了算法的性能。
參考文獻(xiàn):
[2] Naik A,Satapathy S C,Ashour A S,et al.Social group optimization for global optimization of multimodal functions and data clustering problems[J].Neural Computing and Applications,2018,30(1):271-287.
[1] Satapathy S,Naik A.Social group optimization (SGO):a new population evolutionary optimization technique[J].Complex & Intelligent Systems,2016,2(3):173-203.
[2] Naik A,Satapathy S C,Ashour A S,et al.Social group optimization for global optimization of multimodal functions and data clustering problems[J].Neural Computing and Applications,2018,30(1):271-287.
[3] 劉亞軍,陳得寶,鄒鋒,等.基于多子群的社會群體優(yōu)化算法[J].計(jì)算機(jī)應(yīng)用研究,2019,36(5):80-85.
[4] Fang J K,Zheng H B,Liu J F,et al.A transformer fault diagnosis model using an optimal hybrid dissolved gas analysis features subset with improved social group optimization-support vector machine classifier[J].Energies,2018,11(8):1922.
[5] Minh-Tu.Optimisation of stiffeners for maximum fundamental frequency of cross-ply laminated cylindrical panels using social group optimisation and smeared stiffener method[J].Thin-Walled Structures,2017,120:172-179.
[6] Rajinikanth V,Satapathy S C.Segmentation of ischemic stroke lesion in brain MRI based on social group optimization and fuzzy-tsallis entropy[J].Arabian Journal for Science and Engineering,2018,43(8):4365-4378.
[7] Dey N,Rajinikanth V,Ashour A,et al.Social group optimization supported segmentation and evaluation of skin melanoma images[J].Symmetry,2018,10(2):51.
[8],Janakiramaiah B.Effective allocation of resources and task scheduling in cloud environment using social group optimization[J].Arabian Journal for Science and Engineering,2018,43(8):4265-4272.
[9] Tizhoosh H R.Opposition-based learning:a new scheme for machine intelligence[C]//International Conference on Computational Intelligence for Modelling,Control and Automation and International Conference on Intelligent Agents,Web Technologies and Internet Commerce (CIMCA-IAWTIC'06).November 28-30,2005,Vienna,Austria.IEEE,2006:695-701.
[10] 肖婧,許小可,張永建.差分進(jìn)化算法及其高維多目標(biāo)優(yōu)化應(yīng)用[M].北京:人民郵電出版社,2018:31-32.
【通聯(lián)編輯:謝媛媛】