教學優化算法的簡單介紹

摘要

教學優化算法(Teaching-learning-based optimization, TLBO)是一種基於種羣的啓發式隨機羣智能算法。與其他的進化算法類似,該方法也存在迭代過程。該過程分爲兩步,每個階段執行各自的優化。相比於其他的算法,教學優化算法的主要優勢在於概念簡單、超參數量少、收斂快速。本文對教學優化算法進行簡單介紹,並對教學優化算法在各方面的一些改進擴展進行描述。

背景

  • 近年來,隨着各種領域的優化問題不斷增多,更多的優化方法被提出以適用於各類問題。在早期,大多數優化算法主要關注數學技術。而這些方法的主要問題在於容易陷入局部最優解而無法找到最優解。而最近,各種啓發式算法成爲了熱點[1],這其中包括如遺傳算法、演化規劃、演化策略、遺傳規劃等所屬的進化算法,蟻羣算法、粒子羣算法等所屬的羣智能算法,以及引力搜索算法、人工水滴算法等所屬的非生物學元啓發式算法。
  • 然而這些方法中,除了種羣大小和迭代次數,往往還存在一些其他需要設定的超參數。合理設置和適當調整這些特定於算法的超參數,對於這些算法的搜索能力至關重要。因此,希望能開發沒有算法特定超參數的優化算法。
  • Rao等人提出了基於教學學習的優化算法[2-3],它的靈感來自於課堂教學過程,模仿教師對學生的影響。與其他羣體智能算法類似,教學優化算法基於種羣的啓發式隨機優化算法,但它的優點在於不需要任何特定於算法的超參數。

算法

在教學優化算法中,學生被當作是分佈在決策變量空間中的搜索點,其中,最優的學生被定義爲該班級的教師。與傳統的進化算法和羣智能算法不同的是教學優化算法的迭代進化過程包括教學階段和學習階段,如圖1所示。在教學階段,爲了提高班級的平均水平,學生會通過向教師學習來提高自身水平;之後在學習階段,會通過與隨機選擇的另一位學生進行互動學習來提高自身水平。
在這裏插入圖片描述

學生初始化

記決策變量維度爲DD,第ii個學生(搜索點)表示爲Xi=(xi1,xi2,,xiD)X_i=(x_{i1},x_{i2},…,x_{iD})f(Xi)f(X_i)表示爲適應度函數,NN表示學生總量。班級中第ii個學生Xi=(xi1,xi2,,xiD)X_i=(x_{i1},x_{i2},…,x_{iD})可以被初始化爲:
在這裏插入圖片描述
其中XjmaxX_j^{max}XjminX_j^{min}分別爲第j維決策變量的上下界,rand是[0,1]之間的隨機數。

教學階段

在教學階段,模擬學生通過學習教師與班級平均水平的差異來提高自身水平。對於班級中的第i個學習者XiX_i,更新機制表示如下:
在這裏插入圖片描述
其中,newXinewX_i是學生XiX_i的新取值,TeacherTeacher是當前最優值的學生,並且Mean=1/Ni=1NXiMean=1/N \sum_{i=1}^N X_i是班級的平均狀態。TF=round[1+rand(0,1)]TF=round[1+rand(0,1)]是一個教學因子,決定了要改變的均值的大小。randrand是隨機向量,其每個元素都是[0,1][0,1]範圍內的隨機數。在教學階段之後,學生的值將採用其原先適應度和新適應度之間較小的,然後進入學習階段。

學習階段

在學習階段,模擬學生之間相互討論、展示和交流的方式進行學習,以提高自身水平。對於學習者XiX_i,更新公式爲:
在這裏插入圖片描述
其中,newXinewX_i是學生XiX_i的新取值,XkX_k是從班級中隨機選取的另一個與XiX_i不同的學生,f(Xi)f(X_i )f(Xk)f(X_k )分別是學生XiX_iXkX_k的適應度。randrand是隨機向量,其每個元素都是[0,1[0,1]範圍內的隨機數。和教學階段類似,學生的值將採用其原先適應度和新適應度之間較小的,然後進入下一輪的教學階段。

流程總結

整個算法流程總結如下:

  • 輸入:初始化NN(學生數量)和DD(決策變量維度)
  • 輸出:教師XTeacherX_{Teacher}
  • Step1 初始化所有的學生,並評估適應度函數值。
  • Step2 令適應度函數值最小的學生爲XTeacherX_{Teacher},計算所有學生的均值XMeanX_{Mean}.
  • Step3 當滿足終止條件(通常爲最大輪次)時,直接退出,輸出結果;否則繼續向下執行。
  • Step4 對於每一個學生,首先計算TF=round(1+rand(0,1))TF=round(1+rand(0,1));再根據公式(2)計算學生的新適應度函數值;如果新適應度函數值低於原適應度函數值,則更新學生的值。
  • Step5 對於每一個學生,隨機選取另一個與之不同的學生,用公式(3)計算學生的新適應度;如果新適應度函數值低於原適應度函數值,則更新學生的值。
  • Step6 更新XTeacherX_{Teacher}XMeanX_{Mean},重複執行Step3.
    注意,上述過程中沒有考慮到有約束的情況。對於有約束問題,可以採用多種類型的約束處理技術,例如靜態罰函數、動態罰函數、自適應罰函數等,也有一些文獻[4-5]對教學優化問題進行改進,使其適用於各種有約束問題。

優缺點

優點

  1. 教學優化算法屬於全局優化算法,與遺傳算法和粒子羣算法類似,在整個解空間進行搜索,可以達到全局最優值。而且相比於粒子羣算法,教學優化算法簡化了每一輪內的信息共享機制,所有進化的個體可以更快收斂到全局最優解。
  2. 學習階段具有並行性,各個學生之間的學習是一種隨機的並行關係,加快了全局搜索的速度。
  3. 算法簡易,超參數少,相比於遺傳算法和粒子羣算法,教學優化算法所需要的超參數只有種羣數量,不涉及到優化過程本身。從而簡化了優化的初始設置過程。

缺點

  1. 記憶能力較差。最初的解集在搜索過程中將會改變,不能很好地保持種羣多樣性。
  2. 教學優化算法的理論基礎薄弱。對於其中存在的如多樣性過早丟失之類的缺點,缺乏理論的驗證。
  3. 缺少收斂分析方法,同屬於全局優化算法的遺傳算法和粒子羣算法都有比較成熟的方法判定收斂,而教學優化算法很難準確估計收斂速度[6]。
  4. 在教學階段具有固有的原點偏差,也即該算法有向原點附近搜索的傾向性。當解決一些遠離原點的優化問題時,該算法通常會失去優勢。有些文獻基於這一點對教學優化算法進行改進[8]。

一些改進

教學優化算法的改進和變種非常多,下面介紹一些常用改進方案。
在最初的教學優化算法中,只有一個教師進行教學,當學生的適應度函數值普遍較高時,教學階段所帶來的效果不夠明顯;而當學生的適應度函數值普遍較低時,收斂速度又會降低。所以改進的教學優化算法提高了教師的教學能力,通過改進,根據學生的適應度函數值高低將班級劃分爲多個小班級,每個小班級選取一名教師進行該小班級的教學。進一步,這種多個小班級,可以採用K均值聚類的方式實現。
此外,最初的教學優化算法中教學因子只能是1或2,能力過分單一,影響搜索的能力,容易走入極端的學習狀態。所以改進了其中的教學因子部分,使其變爲一個自適應的連續值,其表達式爲TF=TFmaxTFmaxTFminitermaxiterTF=TF_{max}-\frac{TF_{max}-TF_{min}}{iter_{max} }iter,其中TFmaxTF_{max}TFminTF_{min}分別爲TFTF的最大值和最小值,itermaxiter_{max}爲最大迭代次數。這種方式與粒子羣算法中的線性遞減慣性權重[7]類似,能在搜索初期加快迭代的步伐,而在後期進行穩定的搜索。
如果採用小班級教學時,在學習階段,由於每個小班級中的成員與其他成員相似度可能會比較高,所以可以考慮採用和其他班級成員進行交互學習,提升學習階段的效果。這種方法還能在一定程度上避免算法陷入局部極小值,保存了樣本多樣性。

總結

本文對教學優化算法進行介紹,並通過三種函數樣例測試該算法的優化效果。教學優化算法由於其自身簡單、易收斂的優勢,在應用領域經常會被用到。不過該算法在一些場景下仍然存在不足,研究人員基於這些問題也開發出許多不同的變體,以提高其優化性能,並已成功應用於各種優化領域。除此之外,對教學優化算法的收斂特性和動力學進行理論分析仍然是十分有必要的。

參考文獻

[1] Luke S. Essentials of Metaheuristics. Lulu, 2013[J].
[2] Rao R V, Savsani V J, Vakharia D P. Teaching–learning-based optimization: a novel method for constrained mechanical design optimization problems[J]. Computer-Aided Design, 2011, 43(3): 303-315.
[3] Rao R V, Savsani V J, Vakharia D P. Teaching–learning-based optimization: an optimization method for continuous non-linear large scale problems[J]. Information sciences, 2012, 183(1): 1-15.
[4] Yu K, Wang X, Wang Z. Constrained optimization based on improved teaching–learning-based optimization algorithm[J]. Information Sciences, 2016, 352: 61-78.
[5] Rao R V, Savsani V J, Balic J. Teaching–learning-based optimization algorithm for unconstrained and constrained real-parameter optimization problems[J]. Engineering Optimization, 2012, 44(12): 1447-1462.
[6] 黃祥東. 教與學優化算法的研究與應用[D].中國礦業大學,2016.
[7] Shi Y, Eberhart R C. Empirical study of particle swarm optimization[C]//Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406). IEEE, 1999, 3: 1945-1950.
[8] 平良川,孫自強.教學優化算法的改進及應用[J].計算機工程與設計,2018,39(11):3531-3537.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章