楊旭日,賀興時,李文超
(西安工程大學(xué) 理學(xué)院,西安 710048)
近年來,受自然現(xiàn)象和動物群體行為的啟示產(chǎn)生的一類元啟發(fā)式算法成為研究熱點[1],如海鷗算法[2]、鯨魚群算法[3]、灰狼搜索算法[4]等。元啟發(fā)式算法雖然便于理解實現(xiàn),架構(gòu)簡單且參數(shù)較少,但易陷入局部極值,收斂速度和精度較低,沒有形成標(biāo)準(zhǔn)體系框架,仍可進(jìn)行相關(guān)的理論擴充和算法改進(jìn)。
蝙蝠算法(Bat Algorithm,BA)是2010年楊新社教授受蝙蝠能從喉頭發(fā)出超聲脈沖回聲進(jìn)行定位,在夜間飛行并精確捕食的啟發(fā)而提出的。[1]該算法參數(shù)設(shè)置簡單、易于理解和實現(xiàn)。但是,它在局部尋優(yōu)中易產(chǎn)生早熟收斂陷入極值,求解問題的復(fù)雜度不高。為克服這些缺陷,大多數(shù)學(xué)者通過調(diào)節(jié)個體位置和速度參數(shù)、飛行機制、多種群進(jìn)化等角度進(jìn)行改進(jìn)。如文獻(xiàn)[5]為增加蝙蝠種群的全局搜索尋優(yōu)能力,在維數(shù)一定的情況下對慣性權(quán)重因子進(jìn)行改進(jìn),提出增強型蝙蝠算法(MBA),以提升收斂性;文獻(xiàn)[6]提出了一種改進(jìn)搜索機制的多模態(tài)蝙蝠算法(MMBAIS),有效地緩解了局部過早收斂的問題;文獻(xiàn)[7]在標(biāo)準(zhǔn)的蝙蝠算法中添加了突變函數(shù),提出基于均勻分布和高斯變異的蝙蝠算法(UGBA)。此外,還有許多學(xué)者致力于擴展蝙蝠算法的應(yīng)用領(lǐng)域,如文獻(xiàn)[8]提出采用多目標(biāo)搜索蝙蝠算法(MOBA)解決大規(guī)模集成設(shè)計中的問題;文獻(xiàn)[9]提出采用混合機制的二元蝙蝠粒子群優(yōu)化算法(HBBEPSO)解決特征選擇問題;文獻(xiàn)[10]采用改進(jìn)的離散蝙蝠優(yōu)化算法(IBA)解決對稱和非對稱旅行推銷問題。綜上所述,蝙蝠算法的改進(jìn)策略仍在探索和發(fā)展中,但是在實際應(yīng)用中仍存在一些問題。僅僅通過改變參數(shù)調(diào)節(jié)速度與位置的更新,會局限個體的全局尋優(yōu);通過調(diào)整飛行機制融合其他算法,會增加參數(shù)的設(shè)置,導(dǎo)致算法計算量增大且時間復(fù)雜度提升,從而降低了算法的執(zhí)行效率。
綜上所述, 雖然蝙蝠算法有一定程度的改進(jìn),但仍存在收斂精度低和運行不穩(wěn)定等問題,可見BA算法有較大的改進(jìn)空間。本文提出一種基于慣性權(quán)重和t-分布的混沌蝙蝠算法(Chaotic bat algorithm based on inertia weight and t-distribution,CTBA),其主要有以下改進(jìn): (1)改善隨機初始化種群產(chǎn)生無效解,用Tent映射的概率密度分布較為均勻的優(yōu)點干擾種群初始化數(shù)目,在保證種群多樣性的同時又增強分布的隨機性;(2)為擴大搜索空間,引入動態(tài)遞減的慣性權(quán)重的更新速度和位置,平衡種群全局搜索與局部勘測的開發(fā)能力;(3)采用t-分布策略產(chǎn)生遠(yuǎn)離原始點的隨機數(shù),更新蝙蝠個體的位置,在優(yōu)化前期提高全局搜索能力,后期以較小的速度緩慢更新,提高算法收斂的穩(wěn)定性;(4)重新調(diào)整響度和速率參數(shù)因子,增強算法尋優(yōu)過程的隨機性,提升后期的收斂速度。
蝙蝠算法是利用蝙蝠的回聲定位能力來模擬其夜間飛行行為[11],其捕食模式是從耳朵產(chǎn)生聲波,發(fā)生頻率的震蕩變化,實現(xiàn)速度和位置的更新來模擬捕食過程中避免障礙物的隨機搜索。該算法的實現(xiàn)是基于以下理想化假設(shè)[12]:
(1)蝙蝠種群利用回聲定位系統(tǒng)感知獵物距離進(jìn)行探測,避免障礙物;
(2)在飛行中,蝙蝠個體產(chǎn)生固定脈沖率,根據(jù)獵物距離自適應(yīng)調(diào)整發(fā)射波長λ和脈沖響度A;
(3)根據(jù)脈沖響度的變化方式假設(shè)由初始值A(chǔ)0變化到最小值A(chǔ)min。
fi=fmin+(fmax-fmin)·β
(1)
(2)
(3)
其中:β∈[0,1]為均勻分布的隨機向量,X*為局部最優(yōu)解,fi為聲波頻率,隨機數(shù)ε∈[0,1],同代平均響度為At。局部搜索使用隨機游走方式生成,如式(4)所示。
X*=xold+ε·At
(4)
蝙蝠在飛行搜索中逐漸靠近目標(biāo)獵物,此時,蝙蝠個體的聲波響度和頻率更新如式(5)(6)所示。
(5)
(6)
蝙蝠初始種群的規(guī)模、飛行范圍對優(yōu)化算法穩(wěn)定性、收斂速度有很大影響。[13]傳統(tǒng)蝙蝠算法使用隨機數(shù)初始種群的位置和速度,這使蝙蝠的位置不能有效地對解空間進(jìn)行全面覆蓋,降低種群多樣性。[14]與常見的Logistic映射、Cat映射等相比,Tent映射的概率密度函數(shù)具有隨機遍歷的特性,對初值的依賴程度低,因此,利用混沌映射初始化蝙蝠種群,可以增加種群多樣性和隨機性,提升算法前期的搜索能力。Tent混沌映射方程如式(7)所示。
(7)
其中:i=1,2,…,N,表示種群數(shù)目,t=1,2,…,d,表示維數(shù)。Tent映射序列的分岔圖如圖1所示,圖1表明Tent映射倍周期分岔情況,可以看出當(dāng)α為0.5時,Tent映射是分段的二維線性映射,分布較為發(fā)散,混沌程度較強,有利于提高算法初始化階段種群的多樣性。
圖1 Tent混沌映射分岔圖
文獻(xiàn)[15]對動態(tài)遞減慣性權(quán)重進(jìn)行了研究,表明動態(tài)遞減策略中ω的值隨著迭代次數(shù)的增加而緩慢減小,可以提升迭代前期的局部搜索能力和搜索精度,使算法跳出局部最優(yōu)。受此啟發(fā)引入動態(tài)遞減的慣性權(quán)重對速度公式進(jìn)行更新,當(dāng)t→tmax時,動態(tài)慣性權(quán)重在區(qū)間[-0.4,0.4]內(nèi)緩慢減小。在迭代后期,慣性權(quán)重系數(shù)逐漸減小,算法越接近最優(yōu)解,有利于靈活改變蝙蝠的速度更新,使個體具有更好的局部尋優(yōu)能力。改進(jìn)后的慣性權(quán)重ω如式(8)、圖2所示:
圖2 改進(jìn)的動態(tài)權(quán)重曲線圖
(8)
其中:ωmax,ωmin表示ω的最大值和最小值,本文取ωmax=0.9,ωmin=0.4,t,tmax表示當(dāng)前迭代次數(shù)和最大迭代次數(shù)。改進(jìn)后的位置更新公式為
(9)
相較之前的基本算法,速度的更新系數(shù)由恒定值變?yōu)閯討B(tài)變化的值,改進(jìn)后的慣性權(quán)重越大,個體的變化范圍越大,有利于全球勘探和局部開發(fā)。慣性權(quán)值越小,個體變化范圍越小,有利于算法對優(yōu)化函數(shù)進(jìn)行局部搜索,在迭代后期增加了算法的隨機性。
BA算法具有強隨機性,會導(dǎo)致新產(chǎn)生的解偏離全局最優(yōu),當(dāng)擾動性越小時易產(chǎn)生聚集而陷入局部極值,變異算子可以增強算法的多樣性和擾動性[16]。當(dāng)自由度參數(shù)n=1時為Cauchy分布,圖像無限趨近于橫軸;當(dāng)自由度參數(shù)n逐漸增大為t-分布,更易產(chǎn)生遠(yuǎn)離原始點的隨機數(shù);當(dāng)自由度參數(shù)n趨近無窮時為Gaussian分布。t-分布含有自由度參數(shù)n,具有可達(dá)性、無偏性、可標(biāo)度性等特征,其概率密度函數(shù)如式(10)、圖3所示。
圖3 分布概率密度圖
(10)
針對每只蝙蝠個體都生成隨機數(shù)且小于變異概率的蝙蝠,進(jìn)行t-分布干擾,新產(chǎn)生的個體位置更新公式為
xnew=xold+t(iteration)·At
(11)
其中:xnew表示第i只蝙蝠個體經(jīng)過變異擾動后的位置。算法的迭代前期,變異項在有限的迭代次數(shù)中能夠較強地干擾個體的位置,使種群具有足夠的多樣性和復(fù)雜性,使算法克服早熟收斂;迭代中期將t-分布近似為其他兩個分布的融合,可較好遍歷算法的全局搜索;隨著迭代的延續(xù),變異項逐漸增大但對算法的影響力減小,這時t-分布可以看作Gaussian分布,搜索在局部鄰域中進(jìn)行尋優(yōu)[17],提高了收斂過程的速度和精度,提供了更好的優(yōu)化性能。隨著自由度的減少,t-分布按照一定規(guī)律,通過改變標(biāo)準(zhǔn)正態(tài)分布的方差進(jìn)行構(gòu)造。其密度曲線的形狀變得越來越尖峰、厚尾,并且這種趨勢在自由度較小時,變動得更加明顯。相對于正態(tài)分布,t-分布密度曲線形狀的變化更加豐富。
響度和脈沖頻率計算時采用固定不變的步長α,γ,脈沖發(fā)射率影響蝙蝠個體的局部尋優(yōu),在算法后期,脈沖率逐漸增大時進(jìn)行解的局部搜索尋優(yōu),而響度則隨距離的減小而變?nèi)?,重新接受新解,故尋?yōu)后期原始算法設(shè)置的脈沖率和響度的當(dāng)前解與最優(yōu)解差距較大,不利于算法在解空間中覆蓋[18]。因此,本文采用指數(shù)遞變形式改進(jìn)步長因子參數(shù),構(gòu)造出動態(tài)步長策略,模擬實際的捕獵情況。式(12)中α先緩慢減小后加速上升,呈凸性遞減型;式(13)中γ為非線性遞增因子,隨著迭代次數(shù)的增加脈沖頻率會逐漸增大,改進(jìn)后的響度和脈沖頻率的計算公式為
(12)
(13)
CTBA算法的基本步驟如下:
Step1:種群初始化。通過式(7)產(chǎn)生Tent混沌序列得到初始化蝙蝠的種群數(shù)目。
Step2:更新種群。根據(jù)式(1)至(4)更新蝙蝠的速度和位置,采用式(12)(13)更新響度和頻率。
Step3:生成隨機數(shù),判斷隨機數(shù)滿足rand Step4:判斷新解是否滿足fnew≤fitness(i),且如果滿足rand>r,則更新當(dāng)前適應(yīng)度值為新的位置xnew。 Step5:產(chǎn)生新解并與當(dāng)前最優(yōu)解的適應(yīng)度進(jìn)行比較,滿足fbest≤fnew,則更新當(dāng)前適應(yīng)度。 Step6:更新當(dāng)前最優(yōu)解的位置,判斷結(jié)束條件,即是否達(dá)到預(yù)置的最大循環(huán)數(shù),若否,則返回Step3繼續(xù)執(zhí)行,否則該算法終止。 時間復(fù)雜度與算法的迭代次數(shù)和種群規(guī)模相關(guān),迭代次數(shù)和種群規(guī)模越大,計算復(fù)雜度就越高。本文選擇用時間復(fù)雜度衡量算法執(zhí)行效率的高低。在D維空間中,M為種群規(guī)模,參數(shù)設(shè)置時間為t1,求解適應(yīng)度的時間為f(D),對適應(yīng)度排序時間為t2,混沌映射時間為t3,則算法時間復(fù)雜度計算如下: (1)BA的時間復(fù)雜度計算 BA算法在初始化階段的時間復(fù)雜度為:T1=O(t1+M(f(D)+t2))=O(D+f(D)),在算法迭代階段時間復(fù)雜度為:T2=O(t1+M(t2f(D)))=O(D+f(D)),所以,該算法的時間復(fù)雜度為T=T1+T2=O(D+f(D))。 (2)CTBA的時間復(fù)雜度計算 CTBA算法在初始化階段的時間復(fù)雜度為:T1=O(t1+M(t3D+f(D)+t2))=O(D+f(D)),在算法迭代階段,產(chǎn)生慣性權(quán)重的時間為t4,適應(yīng)度比較的時間為t5,則該階段時間復(fù)雜度為:T2=O(t1+M(t4+t5f(D)))=O(D+f(D)),在新解的更新階段,產(chǎn)生新解的適應(yīng)度時間仍為f(D),每一維邊界處理時間為t6,蝙蝠位置更新時間為t7,此階段的時間復(fù)雜度為:T3=O(t6+M(t5+t7f(D)))=O(D+f(D)),所以,該算法的時間復(fù)雜度為T=T1+T2+T3=O(D+f(D)),和基本BA算法的時間復(fù)雜度一致,算法的執(zhí)行效率不變。 為驗證CTBA算法策略的有效性,本文通過選擇多組標(biāo)準(zhǔn)測試函數(shù)測試算法的性能,如表1所示。 表1 Benchmark函數(shù) 測試集包含單峰、多峰、混合模態(tài)等特征,其中F1是Rosenbrock函數(shù),其等高線呈拋物形,最小值為拋物線谷底,是典型的非凸單峰函數(shù)。F2為Noise函數(shù),是一個連續(xù)可微分的檢測算法的收斂速度性能的單峰函數(shù)。F3是Schwefel’s 2.2函數(shù),其定義域為[-10,10],理論最優(yōu)值為0,是一個連續(xù)可微且不可分的單峰函數(shù)。F4為Ackley函數(shù),是非線性多模態(tài)函數(shù),存在大量的局部最優(yōu),可有效檢測算法的全局收斂速度。F5為Rastrigin函數(shù),是高維多模態(tài)函數(shù),在解空間中有很多局部最小值。其峰值形狀波動致使全局搜索相當(dāng)困難。F6是Trid函數(shù),該函數(shù)是可擴展的多模態(tài)函數(shù),維數(shù)越高,局部最優(yōu)數(shù)量就越多。F7為Generalized Penalized 1函數(shù),是固定維度多峰測試函數(shù),該函數(shù)會形成大量局部極值區(qū)域。F8為Griewank函數(shù),它是一個連續(xù)可微、可伸縮的、多模態(tài)的多極端函數(shù),具有許多局部最優(yōu)值。它的優(yōu)化難度極大,因此經(jīng)常被用于測試算法的探索和開發(fā)能力。 對所提出的CTBA算法及基本蝙蝠算法(BA)、自適應(yīng)變異蝙蝠算法(ABA)[18]以及t-分布蝙蝠算法(TBA)[19]進(jìn)行實驗比較。實驗環(huán)境是Windows 10操作系統(tǒng),8GB內(nèi)存,用軟件MATLAB R2018b進(jìn)行編程。算法參數(shù)設(shè)置如表2所示。 表2 算法參數(shù)設(shè)置 未排除個體之間的差異性和隨機性的影響,設(shè)置初始種群數(shù)目20只,迭代次數(shù)300次,重復(fù)獨立實驗20次,取平均值、最大值、最小值以及標(biāo)準(zhǔn)差進(jìn)行記錄,結(jié)果如表3所示。 表3 基準(zhǔn)函數(shù)結(jié)果對比 本文設(shè)置了10維空間,以觀察4種算法的性能變化。采用標(biāo)準(zhǔn)差表明算法的穩(wěn)定性。從表3可以明確看出,本文提出的CTBA算法相較于基本的BA算法收斂精確度有明顯提高。在傳統(tǒng)算法中,隨著解空間維數(shù)的逐漸遞增,算法更難到達(dá)最優(yōu)值,并且會出現(xiàn)解的精度低、耗時增加甚至無法得到最佳解的情況。而改進(jìn)的算法則可以克服這些問題,較快達(dá)到最優(yōu)解,并且在數(shù)值精度上有顯著提升。 對比單峰函數(shù)F1,F(xiàn)2,F(xiàn)3的數(shù)據(jù),不難發(fā)現(xiàn)CTBA算法與ABA算法、自適應(yīng)TBA算法在求解過程中平均值和最小值的差異較大,給定相同的迭代次數(shù),CTBA算法具體的求解結(jié)果顯著優(yōu)于其他兩種算法,表現(xiàn)出較為優(yōu)異的性能。在最小值的對比中,改進(jìn)的算法相較于其他算法在數(shù)值上優(yōu)化了10倍以上,而相應(yīng)的標(biāo)準(zhǔn)差則更為明顯,這就意味著CTBA算法的穩(wěn)定性更強,可以更好地跳出局部,尋找到理論最優(yōu)值且精度較高。而BA算法效果最差,尋優(yōu)精度很低,存在較大劣勢和改進(jìn)空間。 對于函數(shù)F3,F(xiàn)4而言,改進(jìn)的算法很快達(dá)到理論最優(yōu)值,精確度準(zhǔn)確,求解多峰函數(shù),標(biāo)準(zhǔn)差最小,算法的魯棒性強。 計算F5,F(xiàn)6時,隨著維數(shù)的逐漸增加,CTBA算法在尋優(yōu)精度上的優(yōu)勢十分明顯,且算法標(biāo)準(zhǔn)差較小,穩(wěn)定性強。 但是,對于復(fù)雜的函數(shù)F7而言,表明蝙蝠算法對于求解高維優(yōu)化問題的優(yōu)勢并不明顯,求解效果出現(xiàn)下滑。對于復(fù)雜的多模態(tài)函數(shù)F8來說,經(jīng)過多次迭代,逐漸接近理論收斂值,相較基本算法表現(xiàn)出較好的收斂能力,并且較為穩(wěn)定。這是因為CTBA算法引入t-分布變異策略使種群跳出局部束縛,能進(jìn)行更好的遍歷尋優(yōu),相比而言有所提升,但是算法進(jìn)行全局尋優(yōu)的優(yōu)勢不突出,差異性較小,并且維度越高差異化表現(xiàn)得越明顯。 圖4直觀顯示了采用CTBA算法、TBA算法和ABA算法以及基本BA算法在迭代后獨立運行時的收斂情況。 為進(jìn)一步直觀分析算法的收斂性能,圖4給出3種算法求解基準(zhǔn)函數(shù)的迭代收斂曲線,橫軸表示進(jìn)化迭代的次數(shù),縱軸表示基準(zhǔn)測試函數(shù)的fitness值。收斂曲線是衡量算法收斂性能和執(zhí)行效率的重要指標(biāo),單峰函數(shù)常常比較算法執(zhí)行能力。通過觀察相應(yīng)函數(shù)的對比曲線,可以看出CTBA算法表現(xiàn)出較好的突跳能力。從整體上看,CTBA算法在收斂速度上表現(xiàn)良好,較快達(dá)到理想結(jié)果。由于加入Tent映射擾動初始化改進(jìn),使得算法在初始過程有較好的表現(xiàn),引入動態(tài)遞減的慣性權(quán)重平衡了局部搜索能力。 (a)Rosenbrock函數(shù) (b)Noise函數(shù) (c)Schwefel’s 2.2函數(shù) (d)Ackley函數(shù) (e)Rastrigin函數(shù) (f)Trid函數(shù) (g)Generalized Penalized 1函數(shù) (h)Griewank函數(shù) 在單峰函數(shù)F1,F(xiàn)2,F(xiàn)3的圖像中,原始的蝙蝠算法在求解過程中曲線沒有較大改動,收斂速度最慢,沒有顯著的下降趨勢,而改進(jìn)的算法ABA在F3函數(shù)出現(xiàn)拐點時,有明顯的趨勢和速度進(jìn)行收斂,但是相較本文提出的CTBA算法不具有較好的優(yōu)勢。對于多模態(tài)函數(shù)會產(chǎn)生大量的局部最優(yōu)難以優(yōu)化,用于測試算法的全局收斂能力,所以對比函數(shù)F4,F(xiàn)5的收斂曲線圖,CTBA算法在種群初始值有明顯的提升,收斂曲線近似垂直下落,并且能較快速度達(dá)到收斂,短時間內(nèi)尋找全局最優(yōu),較快獲得高質(zhì)量的解。自適應(yīng)的TBA算法也有較快的收斂速度,產(chǎn)生好的收斂性能。曲線上的拐點顯示為函數(shù)F6迭代20次尋到理論極值,且算法穩(wěn)定,魯棒性好,這從側(cè)面驗證出t-分布變異有利于跳出局部最優(yōu),有效地獲得了收斂速度較快的最優(yōu)解,解的質(zhì)量遠(yuǎn)高于其他兩種算法。但是在高維函數(shù)F7上算法的優(yōu)勢表現(xiàn)并不明顯,沒有明顯的下降趨勢和拐點,容易陷入早熟收斂,未達(dá)到良好的收斂標(biāo)準(zhǔn)。而在高維度具有多個極值點的函數(shù)F8中,改進(jìn)的算法依舊接近理論最優(yōu)值,對比自適應(yīng)的ABA算法收斂效果不及基本蝙蝠算法,這也驗證了CTBA算法可以有效地避免局部收斂,適用于多極值點的復(fù)雜函數(shù)的求解。在迭代過程中,基本蝙蝠算法的種群最優(yōu)蝙蝠吸引其他個體迅速向其聚攏,使得種群多樣性急劇下降,收斂速度顯著降低,種群進(jìn)一步進(jìn)化能力喪失,所以出現(xiàn)不收斂的情況。 為了進(jìn)一步驗證所提出算法的有效性,采用文獻(xiàn)[20]中的彈簧設(shè)計問題進(jìn)行驗證。這是一個約束工程問題,因為最優(yōu)值是在有限的空間中搜索的。這個測試問題的目的是最小化壓縮彈簧的重量。圖5顯示了彈簧及其參數(shù)示意圖。優(yōu)化設(shè)計必須滿足彈簧彈力、震動頻率和偏轉(zhuǎn)的約束條件。該問題包含3個約束變量:平均線圈直x1(d)、有源線圈數(shù)x2(L)和導(dǎo)線直徑x3(w)。 圖5 彈簧示意圖 彈簧設(shè)計問題模型如下: (14) (15) (16) (17) (18) 其中:x1∈[0.05,2],x2∈[0.25,1.3],x3∈[2,15]。該模型輸入函數(shù)為x1,x2,x3,輸出函數(shù)為f(x1,x2,x3),限制性函數(shù)為g1(x1,x2,x3),g2(x1,x2,x3),g3(x1,x2,x3),g4(x1,x2)。這個問題的主要目的是最小化f(x1,x2,x3)函數(shù)。為了證明所提出的基于自適應(yīng)權(quán)重和t-分布的混沌蝙蝠優(yōu)化方法的有效性,給出了一個比較表,并將其結(jié)果與灰狼優(yōu)化(GWO)[4]、粒子群優(yōu)化(PSO)[21]、引力搜索算法(GSA)[22]和遺傳算法(GA)[23]進(jìn)行了比較,結(jié)果如表4所示,相較于其他算法,本文所提出的CTBA算法取得了較好的結(jié)果。 表4 算法結(jié)果對比 針對傳統(tǒng)的BA算法在迭代前期全局尋優(yōu)覆蓋空間較小,在迭代后期收斂速度較為緩慢、精確度低等問題,提出了CTBA算法。利用Tent映射的隨機性和遍歷性初始化種群數(shù)目,克服隨機分布多樣性較低且密集的缺點。在位置更新過程中采用t-分布變異策略和自適應(yīng)權(quán)重進(jìn)行擾動,根據(jù)解的質(zhì)量調(diào)整搜索范圍,在此基礎(chǔ)上又對響度和脈沖頻率的參數(shù)進(jìn)行改進(jìn),從而提高算法的求解精度和尋優(yōu)能力。為驗證提出的CTBA算法的有效性,我們選擇了文獻(xiàn)中廣泛使用的8個數(shù)值基準(zhǔn)函數(shù),將所得結(jié)果與其他改進(jìn)的算法進(jìn)行比較,均取得了較好的結(jié)果。收斂性曲線表明,CTBA算法具有良好的最小化能力。此外,采用壓縮彈簧設(shè)計問題進(jìn)行實驗,結(jié)果獲得了較高的成功率,表明CTBA算法可具體應(yīng)用于解決實際工程問題。但是,對于更加復(fù)雜的高維度函數(shù)問題難以達(dá)到理論最優(yōu)解。在未來的改進(jìn)算法研究中,將嘗試更多的改進(jìn)策略,如采用拓?fù)浣Y(jié)構(gòu)和變異算子提升的算法性能,解決現(xiàn)實生活中不可解問題的最優(yōu)解。2.5 復(fù)雜度分析
3 仿真實驗
3.1 仿真實驗設(shè)計
3.2 實驗結(jié)果分析
3.3 算法求解收斂性分析
3.4 彈簧設(shè)計問題
4 結(jié)語