收稿日期:2021-11-26;修回日期:2022-01-10
基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61662005);廣西自然科學(xué)基金資助項(xiàng)目(2021JJA170094)
作者簡(jiǎn)介:張偉(1996-),男,甘肅白銀人,碩士研究生,主要研究方向?yàn)橛?jì)算智能;王勇(1963-),男(通信作者),教授,碩導(dǎo),博士,主要研究方向?yàn)橛?jì)算智能(wangygxnn@sina.com);張寧(2000-),男,安徽亳州人,碩士研究生,主要研究方向?yàn)橛?jì)算智能.
摘 要:針對(duì)標(biāo)準(zhǔn)學(xué)生心理優(yōu)化算法(SPBO)的不足,分析了學(xué)生學(xué)習(xí)心理特征,提出采用混合策略的改進(jìn)學(xué)生心理優(yōu)化算法(HSSPBO)。首先,以學(xué)生考試總分的倒數(shù)值作為該學(xué)生的適應(yīng)度值,以全班最好學(xué)生的適應(yīng)度值為基準(zhǔn)將全班學(xué)生分成最好學(xué)生、好學(xué)生、普通學(xué)生和嘗試隨機(jī)改進(jìn)的學(xué)生四個(gè)類別;其次,利用正弦平方和余弦平方這一動(dòng)態(tài)切換概率來平衡全局探索和局部開發(fā),使算法全局探索能力和局部開發(fā)能力均得到有效提升;再次,引入柯西變異策略改變局部搜索步長(zhǎng),有效提升算法的局部搜索能力,增強(qiáng)算法跳出局部最優(yōu)的能力;最后,引用Lévy飛行策略,使個(gè)體搜索步長(zhǎng)更具隨機(jī)性和靈活性,有效增強(qiáng)個(gè)體尋優(yōu)能力,進(jìn)而提升了算法的尋優(yōu)速度。通過12個(gè)基準(zhǔn)函數(shù)的仿真實(shí)驗(yàn)并與六個(gè)優(yōu)化算法相比較,結(jié)果表明HSSPBO的全局搜索能力得到了明顯的提升,在函數(shù)優(yōu)化中具有更快的全局收斂速度、更好的優(yōu)化精度和穩(wěn)定性。
關(guān)鍵詞:學(xué)生心理優(yōu)化算法(SPBO); 柯西變異; Lévy飛行; 動(dòng)態(tài)切換概率
中圖分類號(hào):TP301.6"" 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2022)06-020-1718-07
doi:10.19734/j.issn.1001-3695.2021.11.0630
Improved student psychology based optimization algorithm using hybrid strategy
Zhang Weia, Wang Yonga,b,c, Zhang Ninga
(a.School of Artificial Intelligence, b.Guangxi Key Laboratory of Hybrid Computation amp; IC Design Analysis, c.Guangxi High School Key Laboratory of Complex Systems amp; Intelligent Computing, China Guangxi University for Nationalities, Nanning 530006, China)
Abstract:Aiming at the shortcomings of normal SPBO, this paper analyzed the psychological characteristics of students’ learning, and put forward an improved student psychology based optimization algorithm (HSSPBO) using hybrid strategy. Firstly, it took the inverse value of student’s test scores as the fitness value of the student, and took the fitness value of the best students in the class as the benchmark, and then divided the students in the class into four categories: the best students, the good students, the ordinary students and the students who tried random improvement. Secondly, it used the dynamic swi-tching probability of sine square and cosine square to balance global exploration and local development, so that the global exploration ability and local exploitation ability of the algorithm were improved effectively. Thirdly, by introducing Cauchy mutation strategy to change the local search step size, it improved effectively the local search ability of the algorithm and enhanced the ability of the algorithm to jump out of the local optimization. Finally, the HSSPBO algorithm used Lévy flight strategy to make the individual search step length more random and flexible, which effectively enhanced the individual’s searching abi-lity, and further improved the optimization speed of the algorithm. Through simulation experiments of 12 benchmark functions and comparison with six optimization algorithms, the results show that HSSPBO’s global search ability has been significantly improved, and it has faster global convergence speed, better optimization accuracy and stability in function optimization.
Key words:student psychology based optimization algorithm(SPBO); Cauchy mutation; Lévy flight; dynamic switching probability
0 引言
群智能優(yōu)化算法目前已經(jīng)在工程、管理等領(lǐng)域得到了廣泛應(yīng)用,其優(yōu)越性已得到科學(xué)和工程等領(lǐng)域?qū)<业膹V泛認(rèn)可。自基于細(xì)胞遺傳和變異機(jī)理而創(chuàng)造性地提出遺傳算法(GA) [1]以來,群智能優(yōu)化算法越來越受到人們的重視,已成為信息領(lǐng)域的一個(gè)重要研究方向。迄今,國(guó)內(nèi)外學(xué)者在群智能優(yōu)化算法方面的研究成果大體分為兩種,一種是基于對(duì)自然界某些生物群體的社會(huì)行為或某些自然(或物理)現(xiàn)象的仿生智能優(yōu)化算法,如粒子群算法(PSO)[2,3]、蟻群算法(ACO)[4]、人工魚群算法(AFSA)[5]、人工蜂群算法(ABC)[6]、蝙蝠算法(BA)[7]、云搜索優(yōu)化算法(CSO)[8]、正余弦算法(SCA)[9]、樽海鞘優(yōu)化算法(SSA)[10]、蝴蝶優(yōu)化算法(BOA)[11]、海鷗優(yōu)化算法(SOA) [12]、冠狀病毒優(yōu)化算法(CHIO)[13]、金鷹優(yōu)化算法(GEO) [14]、黑猩猩優(yōu)化算法(COA) [15]等;另一種是仿人智能優(yōu)化算法,它是基于模擬人腦思維、人體系統(tǒng)、人類細(xì)胞及人類社會(huì)競(jìng)爭(zhēng)進(jìn)化等而提出的群智能優(yōu)化算法,如頭腦風(fēng)暴算法(BSO) [16~18]、教與學(xué)優(yōu)化算法(TLBO) [19]、貧富優(yōu)化算法(PRO) [20]、知識(shí)共享算法(GSK) [21]等。這些優(yōu)化算法為解決工程、管理等問題提供了可行的優(yōu)化方案。
學(xué)生心理優(yōu)化算法(student psychology based optimization algorithm,SPBO)是Das等人[22]模擬學(xué)生在考試中爭(zhēng)取最高分?jǐn)?shù)的心理,于2020年提出的一種模擬學(xué)生心理的元啟發(fā)式智能優(yōu)化算法,具有數(shù)學(xué)模型簡(jiǎn)單、設(shè)置參數(shù)少、易于編程實(shí)現(xiàn)等特點(diǎn)。然而,該算法也存在全局搜索能力不強(qiáng)、全局收斂速度慢、易陷入局部最優(yōu)的問題,有待進(jìn)一步完善。另外,該算法是近期才被提出來的,筆者還沒有檢索到改進(jìn)版本的SPBO算法文獻(xiàn)。本文針對(duì)SPBO存在的問題,提出一種采用混合策略改進(jìn)的學(xué)生心理優(yōu)化算法(improved student psychological based optimization algorithm by using hybrid strategy,HSSPBO)。
1 SPBO算法簡(jiǎn)介
學(xué)生心理優(yōu)化算法[22]認(rèn)為:a)學(xué)生的表現(xiàn)可用考試成績(jī)來衡量,在考試中取得最高分的學(xué)生被認(rèn)為是班上最好的學(xué)生;b)要想成為最好的學(xué)生,他們需要對(duì)每一門學(xué)科投入更多的精力;c)學(xué)生對(duì)一門學(xué)科的努力學(xué)習(xí)程度取決于學(xué)生對(duì)該學(xué)科的興趣;d)學(xué)生成績(jī)的提高取決于他們的努力;e)學(xué)生付出的努力取決于學(xué)生的心理;f)學(xué)生對(duì)任何學(xué)科的努力都取決于學(xué)生的能力、效率以及對(duì)該學(xué)科的興趣。基于此,SPBO算法認(rèn)為學(xué)生的表現(xiàn)取決于學(xué)生的心理,并將一個(gè)班級(jí)的學(xué)生按照科目成績(jī)分為最好學(xué)生、好學(xué)生、普通學(xué)生、嘗試隨機(jī)改進(jìn)的學(xué)生四類,如圖1所示。
記N為班級(jí)學(xué)生總?cè)藬?shù),D為學(xué)生考試科目數(shù)(即搜索空間維數(shù))。Xtbest,j和Xti,j分別表示最好學(xué)生和學(xué)生i科目j(于第t次考試)的考試成績(jī),并將最好學(xué)生和學(xué)生i的考試成績(jī)分別記錄在變量Xtbest=[Xtbest,1,…,Xtbest,D]和Xti=[Xti,1,…,Xti,D]中,j=1,…,D;i=1,…,N。則對(duì)于第t+1次考試,四類學(xué)生各科目的考試成績(jī)分別按如下方式進(jìn)行更新:
a)最好學(xué)生。將考試總分?jǐn)?shù)最高者稱為班上最好的學(xué)生,其各科成績(jī)按式(1)進(jìn)行更新。
Xt+1best,j=Xtbest,j+(-1)krand×(Xtbest,j-Xti,j)(1)
其中:學(xué)生i是從班上隨機(jī)選取的一名學(xué)生;Xti,j為學(xué)生i科目j的考試成績(jī)(第t次考試);rand為[0,1]中的隨機(jī)數(shù);k是隨機(jī)選取的1或2。
b)好學(xué)生。對(duì)每門課程的學(xué)習(xí)都感興趣的聰明學(xué)生稱為好學(xué)生,其各科成績(jī)按式(2)或(3)進(jìn)行更新。
Xt+1i,j=Xtbest,j+rand×(Xtbest,j-Xti,j)(2)
Xt+1i,j=Xti,j+[rand×(Xtbest,j-Xti,j)]+[rand×(Xti,j-Xtmean,j)](3)
其中:Xtmean,j為科目j考試的班級(jí)平均成績(jī)(在第t次);rand為[0,1]中的隨機(jī)數(shù)。好學(xué)生是按如下方法來選擇式(2)或(3)的:從(0,1)中隨機(jī)取兩個(gè)數(shù)r1和r2,若r2lt;r1,則選擇式(2);否則選擇式(3)。
c)普通學(xué)生。把學(xué)科智商一般的學(xué)生稱為普通學(xué)生,其各科成績(jī)按式(4)進(jìn)行更新。
Xt+1i,j=Xti,j+rand×(Xtmean,j-Xti,j)(4)
其中:Xtmean,j為科目j(在第t次)考試的班級(jí)平均成績(jī);rand為[0,1]中的隨機(jī)數(shù)。
d)嘗試隨機(jī)改進(jìn)的學(xué)生。這類學(xué)生對(duì)待所有科目都采取完全隨機(jī)的態(tài)度,所以他們的努力程度也完全隨機(jī)。其各科成績(jī)按式(5)進(jìn)行更新。
Xt+1i,j=Xmin,j+rand×(Xmax,j-Xmin,j)(5)
其中:Xmax,j和Xmin,j分別為科目j考試成績(jī)的最高分和最低分;rand為[0,1]中的隨機(jī)數(shù)。即Xt+1i,j為[Xmin,j,Xmax,j]中的隨機(jī)數(shù),j=1,…,D。
2 本文算法
首先分析SPBO算法是如何將群體分為最好學(xué)生、好學(xué)生、普通學(xué)生和嘗試隨機(jī)改進(jìn)的學(xué)生四個(gè)類別的。SPBO算法規(guī)定:若第t次考試,某位學(xué)生考試總分全班第一,則其就是全班最好學(xué)生。至于如何區(qū)分好學(xué)生、普通學(xué)生和嘗試隨機(jī)改進(jìn)的學(xué)生,SPBO沒有給出具體方法,沒有給出好學(xué)生、普通學(xué)生和嘗試隨機(jī)改進(jìn)的學(xué)生的總分與最好學(xué)生總分之差分別是多少,也沒有給出群體中最好學(xué)生、好學(xué)生、普通學(xué)生和嘗試隨機(jī)改進(jìn)的學(xué)生各占比例是多少。其次分析SPBO算法幾個(gè)更新公式的搜索屬性:a)從式(1)數(shù)學(xué)表達(dá)式上看,最好學(xué)生只是在其當(dāng)前最好位置附近開展局部搜索,屬于局部開發(fā)過程;b)從式(2)的表達(dá)式上看,好學(xué)生只是在當(dāng)前最好位置附近開展局部搜索,屬于局部開發(fā)過程,式(3)表示好學(xué)生i在搜索中受到項(xiàng)rand×(Xtbest,j-Xti,j)和項(xiàng)rand×(Xti,j-Xtmean,j)的共同吸引,與PSO算法的更新公式相似,屬于全局探索過程,r1lt;r2與r2lt;r1發(fā)生的概率是相等的,因此好學(xué)生采用局部搜索式(2)和全局搜索式(3)的概率是相同的;c)從式(4)來看,普通學(xué)生只是在全班平均位置的附近開展局部搜索,屬于局部開發(fā)過程;d)嘗試隨機(jī)改進(jìn)的學(xué)生按式(5)在搜索空間中隨機(jī)初始化,采用隨機(jī)初始化搜索具有很大的盲目性,搜索效率不高。
綜上,SPBO算法中只有式(3)(5)屬于全局搜索,但搜索能力不強(qiáng),其余公式均屬于局部搜索。這導(dǎo)致SPBO的局部搜索能力較強(qiáng),但全局搜索能力較弱,仍有待進(jìn)一步完善。
2.1 學(xué)生心理特征分析
本文認(rèn)為同一班級(jí)不同學(xué)生的成績(jī)通常是有一定差異的,他們的學(xué)習(xí)態(tài)度和對(duì)待提高學(xué)習(xí)成績(jī)的心理或思想也是有差異的,這使得他們?yōu)樘岣邔W(xué)習(xí)成績(jī)而采用的學(xué)習(xí)方法也有所不同。基于此,結(jié)合SPBO,本文認(rèn)為學(xué)生當(dāng)前的考試成績(jī)對(duì)其今后的治學(xué)態(tài)度和學(xué)習(xí)心理通常會(huì)產(chǎn)生一定的影響,因此會(huì)對(duì)其下一步采用的學(xué)習(xí)方法產(chǎn)生影響。a)在考試中(第t次)成績(jī)最好的學(xué)生,通常會(huì)有著在下次(第t+1次)考試中繼續(xù)保持班級(jí)最好學(xué)生的強(qiáng)烈心理,其通常會(huì)想更上一層樓、加倍努力學(xué)習(xí),這樣才有保持其繼續(xù)成為班級(jí)最好學(xué)生的可能,否則有可能在第t+1次考試中成為其他三個(gè)類別的學(xué)生;b)在考試中(第t次)取得好成績(jī)的好學(xué)生,通常也會(huì)有著在下次(第t+1次)考試中繼續(xù)成為班級(jí)好學(xué)生乃至最好學(xué)生的心理,這類學(xué)生通常會(huì)以當(dāng)前班級(jí)最好學(xué)生為榜樣,爭(zhēng)取更大的進(jìn)步,力爭(zhēng)成為班級(jí)最好的學(xué)生,否則有可能在第t+1次考試中成為普通學(xué)生或差生;c)在考試中(第t次)只考得班級(jí)平均成績(jī)的普通學(xué)生,其中大多數(shù)有安于現(xiàn)狀、不思進(jìn)取的心理,想著在下次(第t+1次)考試中保持目前這一成績(jī)就知足了,當(dāng)然其中也會(huì)有部分學(xué)生由于掌握了好的學(xué)習(xí)方法而取得意外的進(jìn)步,轉(zhuǎn)變?yōu)楹脤W(xué)生或最好學(xué)生;d)在考試中(第t次)班級(jí)排名靠后的差生,大多數(shù)會(huì)有不思進(jìn)取、隨心所欲的學(xué)習(xí)心理,當(dāng)然其中也會(huì)有些學(xué)生通過改變學(xué)習(xí)方法和技巧而取得意外的進(jìn)步,轉(zhuǎn)變?yōu)楹脤W(xué)生乃至最好學(xué)生。
2.2 本文算法模型
本文針對(duì)SPBO算法存在的問題,結(jié)合前面的學(xué)生心理特征分析,提出新的改進(jìn)SPBO算法,稱之為采用混合策略的改進(jìn)學(xué)生心理優(yōu)化算法(HSSPBO)。HSSPBO具體描述如下:
a)針對(duì)式(1)存在的問題,本文基于柯西分布具有最大的散布特性、易產(chǎn)生一個(gè)遠(yuǎn)離原點(diǎn)的隨機(jī)數(shù),有利增強(qiáng)算法跳出局部最優(yōu)的能力,利用柯西變異在當(dāng)前最優(yōu)個(gè)體附近增加擾動(dòng)項(xiàng),以擴(kuò)大柯西分布范圍,增強(qiáng)算法跳出當(dāng)前局部最優(yōu)。為此,對(duì)其作如下改進(jìn):
Xt+1best,j=Xtbest,j+(Xtbest,j-Xti,j)×Cauchy(r,0,1)(6)
此時(shí),當(dāng)個(gè)體陷入局部最優(yōu)時(shí),利用柯西算子產(chǎn)生較大步長(zhǎng),可增強(qiáng)算法跳出局部最優(yōu)的能力;利用柯西算子產(chǎn)生較小步長(zhǎng),又可加快算法的尋優(yōu)速度。其中Cauchy(r;0,1)=1/π×(1/(r2+1))為標(biāo)準(zhǔn)柯西分布,r為(0,1)中的隨機(jī)數(shù);學(xué)生i為從班上隨機(jī)選取的一名學(xué)生,Xti,j為學(xué)生i科目j的考試成績(jī)(第t次考試)。式(6)表示最好學(xué)生在原有基礎(chǔ)上更加努力學(xué)習(xí),爭(zhēng)取繼續(xù)成為班級(jí)最好的學(xué)生。
b)SPBO算法規(guī)定好學(xué)生采用式(2)(3)兩個(gè)更新公式。式(2)的搜索范圍介于Xbest,j與(2Xbest,j-Xi,j)之間,范圍較小。為了提升好學(xué)生群體的全局搜索能力,將式(2)和(3)融合在一起,設(shè)計(jì)一個(gè)新的更新公式:
Xt+1i,j=wXtbest,j+r1sin2θ(Xtbest,j-Xti,j)+r2cos2θ(Xti,j-Xtmean,j)(7)
其中:r1和r2均為[0,1]的隨機(jī)數(shù);θ為[0,π]中的隨機(jī)角;w=sinπ(t/(2Tmax)+1)+1,Tmax為最大迭代次數(shù)。式(7)表示好學(xué)生既要向當(dāng)前班級(jí)最好學(xué)生學(xué)習(xí),爭(zhēng)取更大的進(jìn)步,又要保證其成績(jī)不退步成為普通學(xué)生。
由于式(2)(3)中的rand為[0,1]中的隨機(jī)數(shù),而式(7)中的r1sin2θ和r2cos2θ均為[0,1]×[0,1]中的隨機(jī)數(shù),所以式(7)的搜索范圍涵蓋了式(3)的搜索范圍,故式(7)的搜索范圍比式(2)(3)的搜索范圍更大。式(7)利用權(quán)重w來加快算法的收斂速度;利用sin2θ+cos2θ=1這一動(dòng)態(tài)切換概率來平衡全局探索和局部開發(fā),使算法全局探索能力和局部開發(fā)能力同時(shí)得到有效提升;利用r1sin2θ(Xtbest,j-Xti,j)和r2cos2θ(Xti,j-Xtmean,j)兩部分信息來指導(dǎo)個(gè)體開展全局探索活動(dòng),使好學(xué)生群體不過度聚集到當(dāng)前最優(yōu)位置附近,以保持種群的多樣性。因此,式(7)可同時(shí)提升算法的全局探索能力和局部開發(fā)能力。
c)SPBO規(guī)定普通學(xué)生只在當(dāng)前全班平均位置附近開展局部搜索,即采用式(3)更新位置,這使得算法易陷入局部最優(yōu)。針對(duì)這一問題,本文通過增加擾動(dòng)項(xiàng)c1×Cauchy(r,0,1)來提升個(gè)體的局部開發(fā)能力,以增強(qiáng)算法跳出局部最優(yōu)的能力。為此提出如下改進(jìn)策略:
Xt+1i,j=Xti,j+c1×Cauchy(r,0,1)×(Xtmean,j-Xti,j)(8)
其中:c1為正數(shù),本文在實(shí)驗(yàn)仿真中取c1=0.6。式(8)表示普通學(xué)生只是以班級(jí)平均成績(jī)?yōu)閷W(xué)習(xí)目標(biāo)。
d)針對(duì)嘗試隨機(jī)改進(jìn)學(xué)生,SPBO讓其按式(5)在搜索空間中隨機(jī)初始化,而采用隨機(jī)初始化搜索會(huì)造成個(gè)體搜索過于盲目,搜索效率低,難以提升算法的全局收斂速度。為了解決這一問題,基于Lévy飛行的隨機(jī)行走特性、行走過程更具靈活性與隨機(jī)性、行走步長(zhǎng)呈現(xiàn)重尾的分布特征,本文將Lévy飛行融入嘗試隨機(jī)改進(jìn)學(xué)生的位置更新中,讓其搜索步長(zhǎng)縮放因子乘以Lévy飛行策略,使個(gè)體搜索步長(zhǎng)更具有隨機(jī)性和靈活性,進(jìn)而達(dá)到增強(qiáng)個(gè)體搜索能力的目的。具體改進(jìn)方法如下:
Xt+1i,j=Xti,j+α×Lévy(λ)(9)
其中:α為步長(zhǎng)縮放因子;Lévy(λ)為L(zhǎng)évy飛行[23]。Lévy飛行隨機(jī)搜索跳躍路徑變化公式如下:
Lévy(λ)=u|v|1/β(10)
其中:λ=1+β,β∈(0,2),u~N(0,1),v~N(0,1)。本文在實(shí)驗(yàn)仿真中取β=1.5,α=α0(xti,j-xtbest,j),α0=D/100,D為搜索空間維數(shù)。式(9)刻畫了嘗試隨機(jī)改進(jìn)學(xué)生采用隨心所意的學(xué)習(xí)方法。
2.3 分類方法與權(quán)重分配
本文將全班學(xué)生按成績(jī)分為最好學(xué)生、好學(xué)生、普通學(xué)生、嘗試隨機(jī)改進(jìn)的學(xué)生四個(gè)類別。設(shè)N為全班學(xué)生總?cè)藬?shù),D為學(xué)生考試科目數(shù)。設(shè)第t次考試,最好學(xué)生和學(xué)生i各科考試成績(jī)分別記錄在向量Xtbest=[Xtbest,1,…,Xtbest,D]和Xti=[Xti,1,…,Xti,D]中,其中Xtbest,j和Xti,j分別表示最好學(xué)生和學(xué)生i科目j(第t次考試)的考試成績(jī);score(Xtbest)和score(Xti)分別表示全班最好學(xué)生和學(xué)生i的考試總分(本文假設(shè)score(Xti)≠0,即任何學(xué)生的考試總分都不為0),并記fitness(Xtbest)=1/score(Xtbest),fitness(Xti)=1/score(Xti)。此時(shí),fitness(Xtbest)≤fitness(Xti),j=1,…,D;i=1,…,N。本文算法將全班學(xué)生分為四類的方法如下,首先取大于1的權(quán)重因子ω,然后:
a)若fitness(Xtq)≤fitness(Xti),其中i為從班上隨機(jī)選取的一名學(xué)生,則學(xué)生q就是全班最好學(xué)生(第t次考試),并記為Xtbest=Xtq,該學(xué)生下一步將按式(6)更新位置。
b)若fitness(Xtbest)lt;fitness(Xti)≤ω×fitness(Xtbest),則認(rèn)為學(xué)生i屬于班上好學(xué)生。該學(xué)生下一步將按式(7)更新位置。
c)若ω×fitness(Xtbest)lt;fitness(Xti)≤1.5ω×fitness(Xtbest),則認(rèn)為學(xué)生i屬于班上普通學(xué)生。該學(xué)生下一步將按式(8)更新位置。
d)若1.5ω×fitness(Xtbest)lt;fitness(Xti),則認(rèn)為學(xué)生i屬于班上嘗試隨機(jī)改進(jìn)的學(xué)生。該學(xué)生下一步將按式(9)更新位置。
本文算法具體實(shí)現(xiàn)流程如圖2所示。
2.4 算法時(shí)間復(fù)雜度分析
設(shè)最大迭代次數(shù)為M,種群規(guī)模為N,搜索空間維度為L(zhǎng)。初始化過程中時(shí)間復(fù)雜度為O(N),標(biāo)準(zhǔn)SPBO中的時(shí)間復(fù)雜度為O(N×(ML+1))。在HSSPBO算法中,引入柯西變異和Lévy飛行替換隨機(jī)初始化時(shí)時(shí)間復(fù)雜度為O(M×N),因此HSSPBO的時(shí)間復(fù)雜度為O(N×(ML+M+1))。與原算法相比,時(shí)間復(fù)雜度并沒有大幅增加,因此HSSPBO算法是可行的。
3 實(shí)驗(yàn)結(jié)果與分析
3.1 仿真實(shí)驗(yàn)環(huán)境與測(cè)試函數(shù)
本仿真測(cè)試環(huán)境為:64位 Windows 10操作系統(tǒng),處理器為Intel" CoreTM i7-9750H,主頻為2.60 GHz,內(nèi)存8 GB,仿真軟件為MATLAB R2020a。
為驗(yàn)證本文算法(HSSPBO)的性能,本文將HSSPBO算法與標(biāo)準(zhǔn)SPBO、PSO[2]、CHIO[13]、SOA[12]、SSA[10]、CSO[8]進(jìn)行算法性能對(duì)比分析。本文選擇五個(gè)2維基準(zhǔn)測(cè)試函數(shù)和七個(gè)高維基準(zhǔn)測(cè)試函數(shù)作為算法數(shù)值實(shí)驗(yàn)與優(yōu)化性能對(duì)比分析的樣例,這些基準(zhǔn)測(cè)試函數(shù)中包含單峰型、單峰可分型、單峰不可分型、多峰可分型以及多峰不可分型。通過實(shí)驗(yàn)數(shù)據(jù)和仿真收斂圖、箱線圖對(duì)算法尋優(yōu)性能和穩(wěn)定性進(jìn)行分析,以此來驗(yàn)證改進(jìn)算法的有效性。基準(zhǔn)測(cè)試函數(shù)如表1、2所示(它們都是求最小值問題);各種算法參數(shù)設(shè)置如表3所示。
為了確保實(shí)驗(yàn)結(jié)果的公平性和客觀性,所有算法的種群規(guī)模都設(shè)置為30,最大迭代次數(shù)設(shè)置為500。為了排除隨機(jī)性對(duì)測(cè)試結(jié)果的影響,本文進(jìn)行實(shí)驗(yàn)時(shí),每一種算法針對(duì)每一測(cè)試函數(shù)都獨(dú)立運(yùn)行30次,并將每次算法的最優(yōu)值、最差值、平均值、標(biāo)準(zhǔn)差記錄下來。這些實(shí)驗(yàn)數(shù)據(jù)評(píng)價(jià)指標(biāo)總體上反映了算法優(yōu)化能力的強(qiáng)弱。其中,最優(yōu)值能夠體現(xiàn)算法的尋優(yōu)精度,最差值、平均值和標(biāo)準(zhǔn)差能夠反映算法的穩(wěn)定性能。
表4為七種算法求解2維基準(zhǔn)測(cè)試函數(shù)得到的實(shí)驗(yàn)測(cè)試對(duì)比結(jié)果,圖3為七種算法求解2維基準(zhǔn)測(cè)試函數(shù)得到的收斂曲線對(duì)比圖和箱線圖。
對(duì)于2維基準(zhǔn)測(cè)試函數(shù),基于表4和圖3關(guān)于F1~F5的收斂曲線對(duì)比圖和箱線圖來對(duì)比分析各算法的優(yōu)化性能。從收斂曲線對(duì)比圖上看,HSSPBO算法的收斂曲線在F1、F4、F5均位于其他六種算法收斂曲線圖的最下方,并且優(yōu)勢(shì)非常明顯,這表明HSSPBO算法收斂速度明顯快于其他六種算法。從表4中最優(yōu)值評(píng)價(jià)指標(biāo)上看,HSSPBO算法均能找到F1~F5的理論最優(yōu)值,SPBO只找到了F3的理論最優(yōu)值,PSO只找到了F2的理論最優(yōu)值,CHIO沒找到任何函數(shù)的理論最優(yōu)值,SOA和CSO都只找到了F2、F3的理論最優(yōu)值,SSA能找到F1~F4的理論最優(yōu)值,這表明HSSPBO算法相較于其他六種算法有著較為明顯的優(yōu)勢(shì)。從表4中的最差值、平均值、標(biāo)準(zhǔn)差以及F1~F5的箱線圖上看,HSSPBO算法求解F1、F5時(shí),在30次尋優(yōu)過程中找到最優(yōu)值與理論最優(yōu)值偏差的程度均比其他六種算法的小。這說明HSSPBO找到理論最優(yōu)值的概率明顯高于其余六種算法,且HSSPBO算法的穩(wěn)定性均比其余六種算法好,不過在F3、F4上SSA占有一定的優(yōu)勢(shì)。
表5為七種算法求解可變維度(分別取D=30和D=100)基準(zhǔn)測(cè)試函數(shù)得到的實(shí)驗(yàn)測(cè)試結(jié)果對(duì)比,圖4為七種算法求解高維基準(zhǔn)測(cè)試函數(shù)得到的收斂曲線對(duì)比圖和箱線圖。
對(duì)于可變維基準(zhǔn)測(cè)試函數(shù)(30維和100維),基于表5和圖4關(guān)于F6~F12的收斂曲線對(duì)比圖和箱線圖來對(duì)比分析各算法的優(yōu)化性能。從收斂曲線對(duì)比圖上看,HSSPBO算法的收斂曲線均位于其他六種算法收斂曲線圖的最下方,且HSSPBO的收斂曲線下降速度明顯比其他六種算法的下降速度快很多。從表5中最優(yōu)值評(píng)價(jià)指標(biāo)上看,HSSPBO均能找到F6~F12這七個(gè)函數(shù)的理論最優(yōu)值,SSA找到了F9、F11、F12這三個(gè)函數(shù)的理論最優(yōu)值,SPBO、PSO、CHIO、SOA、CSO均沒有找到所列函數(shù)的理論最優(yōu)值,表明HSSPBO算法相較于其他六種算法在全局收斂速度和優(yōu)化精度方面具有明顯的優(yōu)勢(shì)。從表5中的最差值、平均值、標(biāo)準(zhǔn)差以及F6~F12的箱線圖上看,HSSPBO算法求解F6~F12時(shí),在30次尋優(yōu)過程中找到最優(yōu)值與理論最優(yōu)值偏差的程度均比其他六種算法的小,這說明HSSPBO算法找到理論最優(yōu)值的概率明顯高于對(duì)比算法,其穩(wěn)定性均比六種對(duì)比算法的好。
綜合以上分析,本文算法明顯比標(biāo)準(zhǔn)SPBO、PSO、CHIO、SOA、SSA、CSO具有更快的全局收斂速度和更高的優(yōu)化精度,并且本文算法的穩(wěn)定性和魯棒性更好,規(guī)避陷入局部最優(yōu)的能力更強(qiáng)。
3.2 HSSPBO解決經(jīng)典工程問題
為了驗(yàn)證本文算法在約束優(yōu)化問題中的性能,對(duì)結(jié)構(gòu)領(lǐng)域的兩個(gè)工程優(yōu)化問題(三桿桁架設(shè)計(jì)、齒輪系設(shè)計(jì)問題)進(jìn)行了比較,這些問題用于評(píng)估HSSPBO的性能。當(dāng)適應(yīng)度函數(shù)直接影響搜索代理的位置更新時(shí),約束處理是一項(xiàng)具有挑戰(zhàn)性的任務(wù)。這些經(jīng)典的工程問題都有一些等式和不等式約束,這些約束從約束處理的角度來評(píng)估HSSPBO的能力,以便對(duì)約束問題進(jìn)行優(yōu)化。
3.2.1 三桿桁架設(shè)計(jì)問題
三桿桁架設(shè)計(jì)問題(式(11))是最常見的約束優(yōu)化測(cè)試問題,屬于最小化問題。目標(biāo)是使三桿桁架的重量最小化,其中的約束是應(yīng)力、撓度和屈曲。圖5顯示了桁架的形狀和結(jié)構(gòu)上的聯(lián)合力。三桿桁架設(shè)計(jì)問題的最優(yōu)適應(yīng)度值約為263.895 843 38。將本文算法與其他算法的最優(yōu)解進(jìn)行比較,結(jié)果如表6和圖6所示。結(jié)果表明該算法具有更好的性能。
minsize f(x)=(22x1+x2)×l
subject to g1(x)=2x1+x22x21+2x1x2P-σ≤0
g2(x)=x22x21+2x1x2P-σ≤0,g3(x)=12x2+x1P-σ≤0
variable range 0≤xi≤1,i=1,2
where l=100 cm,P=2 kN/cm2,σ=2 kN/cm2(11)
3.2.2 齒輪系設(shè)計(jì)問題
齒輪系設(shè)計(jì)問題是一個(gè)離散優(yōu)化問題,它有四個(gè)整數(shù)變量,范圍在12~60。這個(gè)問題是一個(gè)復(fù)合輪系的傳動(dòng)比的成本最小化問題(圖7)。傳動(dòng)比可以定義為輸出軸的角速度比輸入軸的角速度。其中,Ti表示第i個(gè)齒輪的齒數(shù),該齒輪應(yīng)為整數(shù)。要求獲得車輪上的齒數(shù),使齒輪比達(dá)到1/6.931。因此,目標(biāo)函數(shù)的數(shù)學(xué)表達(dá)式如下:
f(Ta,Tb,Td,Tf)=(16.931-TbTdTaTf)2(12)
從表7和圖8可以看出在處理齒輪系設(shè)計(jì)問題上,本文算法占有較為明顯的優(yōu)勢(shì),其余算法在迭代到250次時(shí)陷入局部最優(yōu),而HSSPBO跳出局部最優(yōu)進(jìn)一步收斂,最終基本達(dá)到了該問題的最優(yōu)結(jié)果。
4 結(jié)束語
針對(duì)SPBO算法存在的不足,本文提出采用混合策略的改進(jìn)學(xué)生心理優(yōu)化算法(HSSPBO)。通過數(shù)值仿真實(shí)驗(yàn)結(jié)果表明,本文算法在優(yōu)化精度、收斂速度方面得到了較大的提升,且規(guī)避陷入局部最優(yōu)的能力得到了增強(qiáng)。
參考文獻(xiàn):
[1]Salomon R.Re-evaluating genetic algorithm performance under coordinate rotation of benchmark functions: a survey of some theoretical and practical aspects of genetic algorithms[J].Biosystems,1996,39(3): 63-278.
[2]Kennedy J, Eberhart R. Particle swarm optimization[C]//Proc of IEEE International Conference on Neural Networks. Piscataway,NJ:IEEE Press,2002:1942-1948.
[3]呂強(qiáng),劉士榮.一種信息充分交流的粒子群優(yōu)化算法[J].電子學(xué)報(bào),2010,38(3):664-667.(Lyu Qiang, Liu Shirong. A particle swarm optimization algorithm with fully communicated information[J].Acta Electronica Sinica,2010,38(3):664-667.)
[4]Colorni A, Dorigo M, Maniezzo V, et al. Distributed optimization by ant colonies[C]//Proc of the 1st European Conference on Artificial Life.1991:134-142.
[5]李曉磊,邵之江,錢積新.一種基于動(dòng)物自治體的尋優(yōu)模式:魚群算法[J].系統(tǒng)工程理論與實(shí)踐,2002,22(11):32-38.(Li Xiaolei, Shao Zhijiang, Qian Jixin. An optimizing method based on auto-nomous animats: fish-swarm algorithm[J].Systems Engineering-Theory amp; Practice,2002,22(11):32-38.)
[6]Karaboga D, Basturk B. A powerful and efficient algorithm for nume-rical function optimization: artificial bee colony (ABC) algorithm[J].Journal of Global Optimization,2007,39(11):459-471.
[7]Yang Xinshe. A new metaheuristic bat-inspired algorithm[C]//Proc of Nature Inspired Cooperative Strategies for Optimization.Berlin:Springer-Verlag,2010:65-74.
[8]曹炬,殷哲.云搜索優(yōu)化算法[J].計(jì)算機(jī)工程與科學(xué),2011,33(10):120-125.(Cao Ju, Yin Zhe. Clouds search optimization[J].Computer Engineering and Science,2011,33(10):120-125.)
[9]Mirjalili S. SCA: a sine cosine algorithm for solving optimization pro-blems[J].Knowledge-Based Systems,2016,96(3):120-133.
[10]Mirjalili S, Gandomi A H, Mirjalili S Z, et al. Salp swarm algorithm: a bio-inspired optimizer for engineering design problems[J].Advances in Engineering Software,2017,114(12):163-191.
[11]Arora S, Singh S. Butterfly optimization algorithm: a novel approach for global optimization[J].Soft Computing,2018,23(3):715-734.
[12]Dhiman G, Kumar V. Seagull optimization algorithm: theory and its applications for large-scale industrial engineering problems[J].Knowledge Based Systems,2019,165(2):169-196.
[13]Al-Betar M A, Alyasseri Z A A, Awadallah M A, et al. Coronavirus herd immunity optimizer (CHIO)[J].Neural Computing amp; Applications,2021,33(10):5011-5042.
[14]Mohammadi-Balani A, Nayeri M D, Azar A, et al. Golden eagle optimizer: a nature-inspired metaheuristic algorithm[J].Computers amp; Industrial Engineering,2021,152(2):107050.
[15]Khishe M, Mosavi M R. Chimp optimization algorithm[J].Expert Systems with Applications,2020,149(7):113338.
[16]Shi Yuhui. Brain storm optimization algorithm[C]//Proc of the 2nd International Conference on Swarm Intelligence.Berlin:Springer-Verlag,2011:303-309.
[17]李麗榮,楊坤,王培崇.融合頭腦風(fēng)暴思想的教與學(xué)優(yōu)化算法[J].計(jì)算機(jī)應(yīng)用,2020,40(9):2677-2682.(Li Lirong, Yang Kun, Wang Peichong. Improved teaching amp; learning based optimization with brain storming[J].Journal of Computer Applications,2020,40(9):2677-2682.)
[18]吳亞麗,付玉龍,李國(guó)婷,等.高維多目標(biāo)頭腦風(fēng)暴優(yōu)化算法[J].控制理論與應(yīng)用,2020,37(1):193-204.(Wu Yali, Fu Yulong, Li Guoting, et al. Many-objective brain storm optimization algorithm[J].Control Theory amp; Applications,2020,37(1):193-204.)
[19]Rao R V, Savsani V J. Teaching-learning-based optimization: an optimization method for uncontinuous non-linear large scale problems[J].Engineering Optimization,2012,44(2):1447-1462.
[20]Moosavi S, Bardsiri V K. Poor and rich optimization algorithm: a new human-based and multi populations algorithm[J].Engineering Applications of Artificial Intelligence,2019,86(11):165-181.
[21]Mohamed A W, Hadi A A, Mohamed A K. Gaining-sharing know-ledge based algorithm for solving optimization problems: a novel nature-inspired algorithm[J].International Journal of Machine Learning and Cybernetics,2020,11(7):1501-1529.
[22]Das B, Mukherjee V, Das D. Student psychology based optimization algorithm: a new population based optimization algorithm for solving optimization problems[J].Advances in Engineering Software,2020,146(8):102804.
[23]Brown C T, Liebovitch L S, Glendon R. Lévy flights in Dobe Ju/’hoansi foraging patterns[J].Human Ecology,2007,35(1):129-138.