【優(yōu)化求解】具有動(dòng)態(tài)自適應(yīng)學(xué)習(xí)機(jī)制的教與學(xué)優(yōu)化算法matlab源碼
一、理論基礎(chǔ)
教與學(xué)優(yōu)化算法(Teaching–Learning-Based Optimization, TLBO)是由Rao等提出的新型群智能算法,受老師指導(dǎo)學(xué)生和學(xué)生間互助學(xué)習(xí)的啟發(fā)而產(chǎn)生,工作過程分為兩部分:第一部分為“教階段”,第二部分為“學(xué)階段”?!敖屉A段”意味著向教師(當(dāng)前最優(yōu)解)學(xué)習(xí),“學(xué)階段”意味著通過學(xué)習(xí)者(所有個(gè)體)之間的互動(dòng)進(jìn)行學(xué)習(xí)。
1、“教”階段
老師為最優(yōu)適應(yīng)度個(gè)體,學(xué)生通過向老師學(xué)習(xí)提高成績,其數(shù)學(xué)表達(dá)式為:

2、“學(xué)”階段
學(xué)階段采用隨機(jī)選擇學(xué)習(xí)對象的方式實(shí)現(xiàn)學(xué)生間的互助學(xué)習(xí)以進(jìn)一步提高成績,可表示為:
?

二、動(dòng)態(tài)自適應(yīng)教與學(xué)優(yōu)化算法
(1)動(dòng)態(tài)自適應(yīng)學(xué)習(xí)

?
(2)教師的動(dòng)態(tài)隨機(jī)搜索
為了提高算法的精度,在算法后期(本文為預(yù)設(shè)迭代次數(shù)的2/3后開始)引入教師個(gè)體執(zhí)行動(dòng)態(tài)隨機(jī)搜索(Dynamic Random Search, DRS)。
DRS算法步驟如下:
輸入: 個(gè)體X, 迭代次數(shù)M
輸出: 個(gè)體X
步驟1 初始化步長d
步驟2 生成向量X'∈[-d,d]
步驟4 生成向量 X1=X+X'和X2=X-X'
步驟5 選擇 X1,X2,X 中優(yōu)者作為 X
步驟6 調(diào)整步長d
步驟7 迭代沒有結(jié)束則轉(zhuǎn), 步驟2; 否則輸出X, 結(jié)束算法
(3)算法實(shí)現(xiàn)
動(dòng)態(tài)自適應(yīng)教與學(xué)優(yōu)化算法(Dynamic Self-adapting Learning TLBO, SLTLBO)算法步驟如下:

二、仿真實(shí)驗(yàn)與分析
將DSLTLBO算法分別與DE、TLBO進(jìn)行對比,設(shè)置種群規(guī)模為30,最大迭代次數(shù)為500,每個(gè)算法獨(dú)立運(yùn)行30次,以文獻(xiàn)[1]中的F1、F4、F5、F7、F9、F10為例,F(xiàn)9為2維,其余均為30維。
結(jié)果顯示如下:






函數(shù):F1
DE:平均值:0.00022807,標(biāo)準(zhǔn)差:0.00012011,最差值: 0.00072521,最優(yōu)值:0.00010925
TLBO:平均值:3.26e-83,標(biāo)準(zhǔn)差:6.8668e-83,最差值: 3.3958e-82,最優(yōu)值:1.5029e-85
DSLTLBO:平均值:0,標(biāo)準(zhǔn)差:0,最差值: 0,最優(yōu)值:0
函數(shù):F4
DE:平均值:165.5618,標(biāo)準(zhǔn)差:43.3656,最差值: 263.1405,最優(yōu)值:50.0132
TLBO:平均值:24.6542,標(biāo)準(zhǔn)差:0.59487,最差值: 25.9268,最優(yōu)值:23.22
DSLTLBO:平均值:25.9989,標(biāo)準(zhǔn)差:0.58726,最差值: 27.7658,最優(yōu)值:24.9899
函數(shù):F5
DE:平均值:0.0045841,標(biāo)準(zhǔn)差:0.0077149,最差值: 0.031694,最優(yōu)值:0.00037177
TLBO:平均值:0,標(biāo)準(zhǔn)差:0,最差值: 0,最優(yōu)值:0
DSLTLBO:平均值:0,標(biāo)準(zhǔn)差:0,最差值: 0,最優(yōu)值:0
函數(shù):F7
DE:平均值:32028.4572,標(biāo)準(zhǔn)差:4835.5427,最差值: 39584.3937,最優(yōu)值:21203.0938
TLBO:平均值:1.0555e-17,標(biāo)準(zhǔn)差:2.5e-17,最差值: 1.3019e-16,最優(yōu)值:4.0976e-21
DSLTLBO:平均值:6.9416e-321,標(biāo)準(zhǔn)差:0,最差值: 2.0787e-319,最優(yōu)值:0
函數(shù):F9
DE:平均值:-1.0316,標(biāo)準(zhǔn)差:6.7752e-16,最差值: -1.0316,最優(yōu)值:-1.0316
TLBO:平均值:-1.0316,標(biāo)準(zhǔn)差:6.7752e-16,最差值: -1.0316,最優(yōu)值:-1.0316
DSLTLBO:平均值:-1.0316,標(biāo)準(zhǔn)差:6.7122e-16,最差值: -1.0316,最優(yōu)值:-1.0316
函數(shù):F10
DE:平均值:0.3541,標(biāo)準(zhǔn)差:0.02903,最差值: 0.41504,最優(yōu)值:0.31216
TLBO:平均值:0.016203,標(biāo)準(zhǔn)差:0.0118,最差值: 0.037224,最優(yōu)值:0.0097159
DSLTLBO:平均值:0.0097159,標(biāo)準(zhǔn)差:1.8507e-09,最差值: 0.0097159,最優(yōu)值:0.0097159
實(shí)驗(yàn)表明,本文提出的DSLTLBO算法具有較好的收斂速度和求解精度。
三、參考文獻(xiàn)
[1] 李麗榮, 李木子, 李崔燦, 王培崇.?具有動(dòng)態(tài)自適應(yīng)學(xué)習(xí)機(jī)制的教與學(xué)優(yōu)化算法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2020, 56(19): 62-67.