劉 印,李 丹
(東北大學秦皇島分校,河北 秦皇島 066000)
教與學優(yōu)化算法是印度學者Rao等在2011年提出的一種算法,是現(xiàn)代元啟發(fā)式算法之一。它的原理是通過模擬傳統(tǒng)的課堂教學中老師對學生的教授,以及學生自己的自學這兩個過程,來達到尋優(yōu)的目的[1]。自算法提出就獲得了世界各地的學者關(guān)注,并被考慮作為解決復雜優(yōu)化問題的最優(yōu)算法之一。自算法提出以來,被用于多個領(lǐng)域。例如,Rao等用教與學算法來優(yōu)化無約束函數(shù)和約束函數(shù)。華潔等[2]用教與學算法對沼氣的液化換熱器結(jié)構(gòu)進行了優(yōu)化。何紅等[3]利用改進的教與學算法對旅游線路進行了優(yōu)化。To等用教與學算法對平面鋼框架的設(shè)計進行了優(yōu)化。Basu等用教與學算法處理多區(qū)域的經(jīng)濟負荷分配問題。拓守恒等[4]使用教與學優(yōu)化算法對神經(jīng)網(wǎng)絡(luò)中的權(quán)值和閥值進行了一定優(yōu)化。
學生根據(jù)教師Xteacher和學生的平均值Xmean之間的差異進行學習:
學生之間可以通過互動來提高他們的水平:
在“教學階段”和“學習階段”完成之后,執(zhí)行貪婪選擇策略決定是否更新適應度和學生的成績。
在教學過程的前期,因為老師和學生之間的差距很大,且學生對于要學習的知識比較陌生,所以學生的學習效率較高,學習知識快。而在經(jīng)歷了一段時間的學習后,學生所掌握的知識逐漸增多,與老師的差距漸漸縮小,學習的效率逐漸下降。為了解決此問題,引入自適應教學因子:
其中,TFmin為教學因子最小值;TFmax為教學因子最大值;tmax是最大迭代次數(shù);ti是當前迭代次數(shù)。
在學習階段引入基于差分進化思想的多樣化學習方法。當選擇的學生Xj優(yōu)于學生Xi時,期望學生Xi接近更好的學生Xj以提高解決方案的質(zhì)量。同時,學生的互相學習也受到老師的指導,學生和老師的水平相差越大,受到的影響也越大。
當所選擇的學生Xj比學生Xi差時,隨機從班級選出另外兩個學生Xr1和Xr2,借鑒DE交叉和選擇環(huán)節(jié)生成Xinew。
CR為DE中的交叉因子。這種改進不僅在學習階段中合理控制老師的影響,還使更多的學生參與到了當前學生的學習過程,提高了種群的多樣性。
為對本文算法性能進行評價,本節(jié)選取9個具有不同屬性的測試函數(shù)進行評估,并與5種改進的教與學優(yōu)化算法(Teaching Learning Based Optimization,TLBO)算法比較。其中F1-F4單峰函數(shù),而F5-F9是多峰函數(shù)。所有測試函數(shù)在D=30的維度上進行測試。種群數(shù)量NP設(shè)置為40,迭代次數(shù)為1 000,每個函數(shù)獨立測試30次。
圖1顯示了幾種算法在9個測試函數(shù)上的迭代曲線,其中,t為迭代次數(shù),縱坐標F為適應度函數(shù)值。為方便觀察將其取log值,曲線越靠近下方則代表收斂性能越優(yōu)秀。
圖1顯示本文所提出的算法整體效果上表現(xiàn)最優(yōu),兼顧了收斂速度和收斂精度,在所有測試函數(shù)上的表現(xiàn)均比較優(yōu)異,雖然算法的運行時間有一定的增加,但這是可以接受的。總的來說,DITLBO算法的改進是成功的,很大程度上提高了TLBO算法的綜合能力。
圖1 幾種算法的收斂曲線比較
本文提出了一種基于差分進化的自適應教與學優(yōu)化算法。針對高維復雜優(yōu)化問題中容易陷入局部最優(yōu)的不足,采用自適應教學因素和基于差分進化的學生階段來提高基本的TLBO。對CEC的9個復雜測試函數(shù)進行了實驗分析,證明了該方法的有效性。所提出的方法能夠有效地為這些復雜的測試函數(shù)提供穩(wěn)定和高質(zhì)量的解。未來的研究工作將進一步提高算法能力,并嘗試將其應用于解決一些實際問題。