何佩苑,劉 勇
上海理工大學(xué) 管理學(xué)院,上海 200093
教與學(xué)優(yōu)化算法(teaching-learning-based optimization,TLBO)是Rao 等人于2011 年提出的一種新型啟發(fā)式算法。該算法模擬教師和學(xué)生的教與學(xué)過(guò)程設(shè)計(jì),學(xué)生不僅可以從教師的授課中獲得知識(shí),還可以通過(guò)學(xué)生間的互動(dòng)獲得知識(shí)。TLBO 算法具有參數(shù)少、結(jié)構(gòu)簡(jiǎn)單、求解速度快等優(yōu)點(diǎn),其競(jìng)爭(zhēng)力主要來(lái)源于對(duì)教階段與學(xué)階段的巧妙設(shè)計(jì)。與其他典型改進(jìn)智能優(yōu)化方法相比,TLBO 算法也展現(xiàn)了其突出的性能與優(yōu)勢(shì)。例如,與遺傳算法(genetic algorithm,GA)相比,TLBO 在教階段讓種群向最優(yōu)個(gè)體學(xué)習(xí),從而提高了算法的收斂速度;與微粒群算法(particle swarm optimization,PSO)相比,對(duì)于單個(gè)算子,TLBO 比PSO 多引入了一個(gè)學(xué)階段,有利于提高算法的勘探能力;與布谷鳥(niǎo)搜索算法(cuckoo search,CS)相比,TLBO 在學(xué)階段提供了交互式學(xué)習(xí)的方法,減少了算法陷入局部最優(yōu)的概率。正是因?yàn)門(mén)LBO 具有這些優(yōu)點(diǎn),自算法提出至今,學(xué)者們對(duì)它的研究從未停止。然而TLBO 算法本身也存在尋優(yōu)精度低、穩(wěn)定性差、收斂速度較慢等不足,許多學(xué)者從多個(gè)角度對(duì)其進(jìn)行了改進(jìn)。改進(jìn)方向主要分為改進(jìn)教學(xué)過(guò)程、引入權(quán)重或適應(yīng)因子和與其他智能優(yōu)化算法相結(jié)合三方面。其中,對(duì)于教學(xué)過(guò)程的改進(jìn)是指在原始教階段與學(xué)階段的基礎(chǔ)上,加入自學(xué)的階段或引入新的學(xué)習(xí)規(guī)則,例如:Dong 等人提出了一種改進(jìn)學(xué)階段和新穎的自學(xué)習(xí)階段的協(xié)作學(xué)習(xí)模型(collaborative learning model,CLM)。在CLM 方法中,為了有效地引導(dǎo)學(xué)習(xí)者,在自學(xué)階段,老師會(huì)根據(jù)鄰域信息自適應(yīng)地更新其位置。Ge 等人提出了一種新穎的基于自主學(xué)習(xí)的優(yōu)化算法,根據(jù)教學(xué)過(guò)程的三個(gè)階段,老師的學(xué)習(xí)、學(xué)生之間的相互學(xué)習(xí)和自我學(xué)習(xí),對(duì)提出的算法進(jìn)行了重新建模。Zhang 等人引入了具有對(duì)數(shù)螺旋策略和三角形突變規(guī)則的教與學(xué)算法來(lái)增強(qiáng)學(xué)階段的探索和開(kāi)發(fā)能力。何杰光等人提出了一種基于多反向?qū)W習(xí)的教與學(xué)優(yōu)化算法,建立混合反向?qū)W習(xí)模型,同時(shí)增加了基于搜索邊界指導(dǎo)的自學(xué)習(xí)階段,使得算法具有更強(qiáng)的全局搜索和局部探測(cè)能力。Li 等人采用了額外的反饋學(xué)習(xí)階段來(lái)進(jìn)一步加快收斂速度,記錄上一代教師并與當(dāng)前教師進(jìn)行交流,以向?qū)W習(xí)者提供綜合反饋并監(jiān)督學(xué)習(xí)方向,以避免浪費(fèi)上一代的計(jì)算量。李麗榮等人在算法后期讓教師個(gè)體執(zhí)行動(dòng)態(tài)隨機(jī)搜索算法,來(lái)提高最優(yōu)個(gè)體勘探新解的能力。對(duì)于引入權(quán)重或新的參數(shù)方面的改進(jìn),Verma 等人提出基于高級(jí)教學(xué)-學(xué)習(xí)的優(yōu)化算法,在該算法中引入了新的權(quán)重參數(shù),以提高準(zhǔn)確性和加快收斂速度。Wu等人提出了非線(xiàn)性慣性加權(quán)基于教學(xué)的優(yōu)化算法。該算法將非線(xiàn)性慣性加權(quán)因子引入基本的TLBO 中以控制學(xué)習(xí)者的記憶率,并在教階段和學(xué)階段使用動(dòng)態(tài)慣性加權(quán)因子來(lái)代替原始隨機(jī)數(shù)。吳聰聰?shù)热嗽凇敖獭彪A段和“學(xué)”階段引入差分算法的交叉算子,同時(shí)在精英個(gè)體周?chē)凑龖B(tài)分布進(jìn)行自適應(yīng)局部搜索,提高算法的收斂速度和求解精度。許多學(xué)者為了提高TLBO 的性能?chē)L試將其與其他優(yōu)化算法融合:Zhai 等人在TLBO 中增加了糾錯(cuò)策略和柯西分布,其中柯西分布用于擴(kuò)展搜索空間和糾錯(cuò)以避免彎路,從而獲得更準(zhǔn)確的解決方案。黎延海等人將和聲搜索與教與學(xué)優(yōu)化算法相結(jié)合,提出了一種基于和聲搜索和教與學(xué)優(yōu)化的混合優(yōu)化算法,使算法能夠求解更多的較為復(fù)雜的優(yōu)化問(wèn)題。李麗榮等人提出了一種融合頭腦風(fēng)暴思想的改進(jìn)教與學(xué)優(yōu)化算法并在算子中引入柯西變異和一個(gè)與迭代次數(shù)關(guān)聯(lián)的隨機(jī)參數(shù),以提高算法性能。Tuo 等人提出了一種混合和聲搜索算法改進(jìn)的TLBO,其中,和聲算法部分主要探索未知區(qū)域,而TLBO 則旨在快速開(kāi)發(fā)已知區(qū)域中的高精度解決方案。
TLBO 作為一個(gè)以人為活動(dòng)主體,模擬教學(xué)現(xiàn)象的新型啟發(fā)式算法,學(xué)者對(duì)其的改進(jìn)主要集中在模擬教學(xué)過(guò)程和與其他算法結(jié)合上。然而對(duì)于人的心理情感因素考慮得卻很少,例如從人的角度出發(fā)考慮心理因素對(duì)行為結(jié)果的影響;不同性格的個(gè)體在相同環(huán)境中所呈現(xiàn)出的狀態(tài)不同等。這樣改進(jìn)使得算法在尋優(yōu)性能上有一定提高,但穩(wěn)定性和收斂速度方面仍有上升空間。
為了進(jìn)一步提高算法的性能,本文聚焦社會(huì)心理學(xué),考慮人的情感與行為,模擬教學(xué)過(guò)程中人的心理因素對(duì)結(jié)果產(chǎn)生的影響。將社會(huì)心理學(xué)理論應(yīng)用于算法改進(jìn)之中。在教階段中加入“期望效應(yīng)”理論。該理論指在人際互動(dòng)過(guò)程中,一方對(duì)另一方有期待,那么懷有期待的一方便會(huì)按照他所期待的那樣對(duì)待另一方,從而引起另一方行為上的改變。在算法中的體現(xiàn)為教師個(gè)體對(duì)適應(yīng)度值好的學(xué)生進(jìn)行一對(duì)一教學(xué),被一對(duì)一教學(xué)的學(xué)生受到教師的輔導(dǎo),也改變自己的學(xué)習(xí)行為,開(kāi)始向其他同學(xué)學(xué)習(xí)。在學(xué)階段中加入“場(chǎng)獨(dú)立-場(chǎng)依存”理論。該理論根據(jù)人對(duì)外部環(huán)境的不同依賴(lài)程度把人們的認(rèn)知方式分為“場(chǎng)獨(dú)立型”和“場(chǎng)依存型”兩種。從現(xiàn)實(shí)情況出發(fā),考慮到不同學(xué)生的認(rèn)知風(fēng)格不同,模擬了場(chǎng)獨(dú)立型和場(chǎng)依存型的學(xué)生,對(duì)其采用不同的學(xué)習(xí)策略。學(xué)生在經(jīng)過(guò)教師教學(xué)和同學(xué)互學(xué)后,需要對(duì)知識(shí)點(diǎn)進(jìn)行消化,對(duì)自身的排名進(jìn)行評(píng)估。根據(jù)排名情況延用或及時(shí)調(diào)整學(xué)習(xí)方法,因此在學(xué)階段之后加入自我學(xué)習(xí)方法調(diào)整階段。心理學(xué)中存在班杜拉“自我調(diào)節(jié)理論”,該理論表明自我調(diào)節(jié)包括自我觀(guān)察、自我判斷、自我反應(yīng)三個(gè)過(guò)程。根據(jù)此理論成績(jī)對(duì)處于不同位置的學(xué)生采用不同的自我調(diào)節(jié)策略,以求達(dá)到更好的狀態(tài)。最后使用一系列測(cè)試函數(shù)證明改進(jìn)算法無(wú)論在尋優(yōu)精度還是收斂速度方面,均獲得了較優(yōu)的表現(xiàn)。
在算法改進(jìn)中加入社會(huì)心理學(xué),對(duì)于智能優(yōu)化算法改進(jìn)領(lǐng)域也具有一定的創(chuàng)新。由于人是一個(gè)復(fù)雜的系統(tǒng),受到心理狀態(tài)的影響,會(huì)及時(shí)采取措施調(diào)整行為來(lái)尋求自我保護(hù)感。因此,與其他智能優(yōu)化算法的改進(jìn)方式相比,融入人的心理因素可以使得算法改進(jìn)更加靈活,更好平衡算法全局和局部搜索。
TLBO 是Rao 等人模擬班級(jí)教學(xué)過(guò)程中的教師教學(xué)和學(xué)生學(xué)習(xí)兩個(gè)階段設(shè)計(jì)出來(lái)的算法。它將整個(gè)種群充當(dāng)班級(jí),種群中最優(yōu)秀的個(gè)體充當(dāng)老師,其他個(gè)體充當(dāng)學(xué)生。算法分為“教階段”和“學(xué)階段”?!敖屉A段”意味著班集體向老師學(xué)習(xí);“學(xué)階段”意味著同學(xué)之間相互學(xué)習(xí)。通過(guò)這兩個(gè)階段的協(xié)同進(jìn)化,從而提升種群的整體水平。本文將總的學(xué)生數(shù)量(即種群大?。┯洖椋總€(gè)學(xué)生所學(xué)科目的數(shù)量(即個(gè)體的維度)記為。每個(gè)學(xué)生記為X={x,x,…,x},用適應(yīng)度函數(shù)(X)表示學(xué)生的成績(jī),適應(yīng)度值越好,表明該學(xué)生成績(jī)?cè)絻?yōu)秀。算法具體內(nèi)容表述如下。
在教階段,每次迭代中適應(yīng)度值最好的個(gè)體將被選為教師,教師向?qū)W生傳授知識(shí)來(lái)提高全班的平均成績(jī),他希望班級(jí)整體的平均位置向自身靠近。因此教學(xué)方式設(shè)計(jì)由式(1)給出:
其中,X表示學(xué)生經(jīng)過(guò)教階段學(xué)習(xí)之后的新?tīng)顟B(tài);X為學(xué)生學(xué)習(xí)前原始狀態(tài);r為[0,1]上的隨機(jī)數(shù);為教學(xué)因子,反映教師對(duì)于班級(jí)平均值的影響程度,一般取1 或2。
教階段完成后,學(xué)員更新知識(shí)儲(chǔ)備,每個(gè)學(xué)員根據(jù)新?tīng)顟B(tài)和原始狀態(tài)的成績(jī)來(lái)決定是否要更新。以最小化問(wèn)題為例:
這個(gè)階段模擬的是課堂結(jié)束后,學(xué)生之間相互學(xué)習(xí)的過(guò)程。學(xué)生為了進(jìn)一步提高自身的學(xué)習(xí)水平,與班級(jí)中的其他個(gè)體進(jìn)一步交流。學(xué)生隨機(jī)選擇學(xué)生,比較兩個(gè)學(xué)生的適應(yīng)度值,用優(yōu)秀學(xué)生的位置減去次優(yōu)者。以最小值優(yōu)化問(wèn)題為例,采取如下方式進(jìn)行學(xué)習(xí):
其中,rand為[0,1]上的隨機(jī)數(shù)。
學(xué)階段結(jié)束后對(duì)學(xué)生再次執(zhí)行與教階段相同的更新操作。
為了進(jìn)一步提高算法的性能,本文從人的情感心理角度出發(fā),結(jié)合社會(huì)心理學(xué)理論對(duì)教與學(xué)算法的三方面進(jìn)行了改進(jìn)。首先在教階段引入“期望效應(yīng)”理論,承受不同程度期望的學(xué)生將采取不同的學(xué)習(xí)策略。在學(xué)階段引入“場(chǎng)獨(dú)立-場(chǎng)依存”理論,將不同類(lèi)型的學(xué)生學(xué)習(xí)方式的差異區(qū)分開(kāi)來(lái)??紤]到現(xiàn)實(shí)教學(xué)情況,在教階段與學(xué)階段之后加入自我學(xué)習(xí)方法調(diào)整階段,用于及時(shí)調(diào)整學(xué)生的學(xué)習(xí)方法。
在日常教學(xué)中,教師總是會(huì)對(duì)成績(jī)相對(duì)優(yōu)秀的學(xué)生有更高的期望。為了使其獲得更好的成績(jī),教師會(huì)采取一對(duì)一教學(xué)或開(kāi)設(shè)提優(yōu)課等方式。成績(jī)較好的學(xué)生受到教師的重點(diǎn)關(guān)注后,為了不辜負(fù)老師的期望,會(huì)采取積極的措施更加刻苦地學(xué)習(xí)。例如采取增加學(xué)習(xí)時(shí)間、多與同學(xué)交流學(xué)習(xí)經(jīng)驗(yàn)等方式來(lái)提升自己。這一現(xiàn)象在社會(huì)心理學(xué)中被稱(chēng)為“皮格馬利翁效應(yīng)”,即“期望效應(yīng)”。期望是對(duì)自己或他人的一種判斷,希望自己或他人達(dá)到某種目標(biāo)或滿(mǎn)足某種行為預(yù)期。由期望而產(chǎn)生的行為結(jié)果就是期望效應(yīng)。期望強(qiáng)調(diào)的是個(gè)體心理激發(fā)的活動(dòng)過(guò)程,而期望效應(yīng)則側(cè)重因?yàn)樾睦砑ぐl(fā)而產(chǎn)生的行為結(jié)果。哈佛大學(xué)教授J.Sterling Uvillgston 將該理論引入企業(yè)管理實(shí)踐之中,結(jié)果表明:管理人員對(duì)下屬的期望以及對(duì)待下屬的方式在很大程度上確定了這些下屬的工作績(jī)效和職業(yè)進(jìn)步。受此啟發(fā),對(duì)算法做出如下改進(jìn):將成績(jī)?cè)诎嗉?jí)平均分以上的學(xué)生歸為優(yōu)秀學(xué)生,對(duì)其采取教師一對(duì)一教學(xué)和向其他同學(xué)學(xué)習(xí)經(jīng)驗(yàn)相結(jié)合的方法進(jìn)行學(xué)習(xí),如式(3)所示:
對(duì)于成績(jī)?cè)诎嗉?jí)平均分以下的同學(xué),將按照式(4)進(jìn)行學(xué)習(xí):
其中,X與X分別為班級(jí)里任意兩名同學(xué)的狀態(tài),為班級(jí)同學(xué)的平均水平。當(dāng)學(xué)生的適應(yīng)度值高于平均值時(shí),將承受教師的高期望。由式(3)可以看出,學(xué)生為了滿(mǎn)足教師的期望,在學(xué)習(xí)過(guò)程中除了依賴(lài)自身知識(shí)狀態(tài)X,還采取了向教師一對(duì)一學(xué)習(xí)r×(-X)和向同學(xué)學(xué)習(xí)r×(X-X)的措施。對(duì)比式(1),學(xué)生在學(xué)習(xí)中參考了教師與班級(jí)平均的差值,在這種學(xué)習(xí)方式下,優(yōu)秀學(xué)生提高成績(jī)的空間有限,會(huì)降低算法向最優(yōu)解收斂的速度。在改進(jìn)式(3)中加入向教師一對(duì)一學(xué)習(xí)的策略,增加了教師對(duì)于學(xué)生的影響,這樣設(shè)計(jì)不僅可以讓優(yōu)秀學(xué)生快速向教師靠近,還可以使學(xué)生跳出自身狀態(tài)帶來(lái)的局限性,解決算法局部搜索能力差的問(wèn)題。此外,為了加快算法的收斂性,式(3)中加入了向同學(xué)學(xué)習(xí)的策略。平均分以上的學(xué)生與班級(jí)中任意同學(xué)交流經(jīng)驗(yàn),在提升自身的同時(shí),也有助于他人成績(jī)的提升,從而縮小班級(jí)差距,加快整個(gè)種群向最優(yōu)值收斂的進(jìn)程。當(dāng)學(xué)生適應(yīng)度值低于平均值時(shí),他不承受教師的高期望,因此他的學(xué)習(xí)方式不會(huì)發(fā)生改變。
在標(biāo)準(zhǔn)的教與學(xué)算法的學(xué)階段中,學(xué)生個(gè)體采取統(tǒng)一方式進(jìn)行學(xué)習(xí)。然而在現(xiàn)實(shí)情況中,不同性格的學(xué)生采取的學(xué)習(xí)方式不同。有的學(xué)生性格內(nèi)向,較為獨(dú)立,傾向于在獨(dú)自學(xué)習(xí)的過(guò)程中積累經(jīng)驗(yàn);有的學(xué)生性格外向,善于社交,喜歡在與人探討交流問(wèn)題的過(guò)程中收獲知識(shí)。這兩類(lèi)學(xué)生在社會(huì)心理學(xué)中分別被稱(chēng)為“場(chǎng)獨(dú)立”與“場(chǎng)依存”類(lèi)型學(xué)生。場(chǎng)獨(dú)立性與場(chǎng)依存性這兩個(gè)概念來(lái)源于威特金(Witkin)對(duì)知覺(jué)的研究。場(chǎng)獨(dú)立性者對(duì)客觀(guān)事物作判斷時(shí),傾向于參照自身,不易受外來(lái)因素影響和干擾;場(chǎng)依存性者傾向于參照外部對(duì)信息進(jìn)行加工,獨(dú)立性較差且容易受外界的影響。在學(xué)習(xí)活動(dòng)中,由于認(rèn)知風(fēng)格的差異,場(chǎng)獨(dú)立型和場(chǎng)依存型的學(xué)生傾向于不同的學(xué)習(xí)策略。場(chǎng)獨(dú)立型學(xué)生的知識(shí)來(lái)源主要由自身知識(shí)積累和與極少數(shù)同學(xué)討論這兩方面組成;場(chǎng)依存型學(xué)生的知識(shí)主要來(lái)源于部分自身知識(shí)和廣泛社交討論。在算法設(shè)計(jì)方面,考慮到不同學(xué)生在學(xué)階段受外界影響程度不同,隨機(jī)生成0-1 矩陣(),模擬場(chǎng)獨(dú)立型(為1)和場(chǎng)依存型(為0)的學(xué)生,對(duì)其采取不同的學(xué)習(xí)策略:場(chǎng)獨(dú)立型學(xué)生采取式(2)的學(xué)習(xí)策略進(jìn)行學(xué)習(xí);場(chǎng)依存型的同學(xué)按照如下策略進(jìn)行學(xué)習(xí):
由式(5)可知,X、X、X為隨機(jī)選中的三名學(xué)生,r與r為[0,1]上的隨機(jī)數(shù),為比例因子,用于降低對(duì)上一時(shí)刻自身狀態(tài)的保留率。經(jīng)過(guò)多次得出將值設(shè)為0.3 時(shí),算法的運(yùn)行結(jié)果最好。當(dāng)()為1 時(shí),代表學(xué)生個(gè)體X為場(chǎng)獨(dú)立性,在學(xué)階段按照原始算法的學(xué)習(xí)方式進(jìn)行學(xué)習(xí),對(duì)上一時(shí)刻自身狀態(tài)完全保留。當(dāng)()為0 時(shí),代表學(xué)生個(gè)體X為場(chǎng)依存性,在學(xué)階段除了隨機(jī)挑選一名學(xué)生學(xué)習(xí)以外,還會(huì)與其他同學(xué)交流經(jīng)驗(yàn),并吸收部分他人知識(shí)用于提高自身成績(jī)。此時(shí),學(xué)生X僅保留部分自身狀態(tài)。與原始算法中學(xué)階段相比,這樣設(shè)計(jì)削弱了上一時(shí)刻狀態(tài)的影響力,同時(shí)增強(qiáng)了個(gè)體間的交流,降低了算法陷入局部最優(yōu)的概率,并且維持了解的多樣性。由于另一半粒子完全保留自身狀態(tài),算法的收斂速度也得到了保障。
為驗(yàn)證改進(jìn)學(xué)階段對(duì)學(xué)生多樣性的影響,在學(xué)階段設(shè)置程序斷點(diǎn),運(yùn)行結(jié)果如圖1 所示。
圖1 學(xué)生的多樣性對(duì)比圖Fig.1 Comparison chart of students'diversity
選取部分測(cè)試函數(shù),在算法迭代30 次時(shí)繪制學(xué)生位置圖,將改進(jìn)算法與原始TLBO 進(jìn)行對(duì)比,可以發(fā)現(xiàn)學(xué)生的多樣性得到了大幅提升。
學(xué)生在經(jīng)過(guò)教師教學(xué)和與學(xué)生交流兩個(gè)階段的學(xué)習(xí)后,需要對(duì)自身的學(xué)習(xí)情況有一個(gè)精準(zhǔn)的認(rèn)識(shí)。因此自我評(píng)估與調(diào)節(jié)在高效學(xué)習(xí)中扮演者不可或缺的角色。班杜拉在社會(huì)學(xué)習(xí)理論中提出了自我調(diào)節(jié)理論,強(qiáng)調(diào)的是個(gè)人的內(nèi)在強(qiáng)化過(guò)程。自我調(diào)節(jié)包括自我觀(guān)察、自我判斷和自我反應(yīng)三個(gè)基本過(guò)程。人們根據(jù)社會(huì)活動(dòng)的標(biāo)準(zhǔn)對(duì)自我行為進(jìn)行觀(guān)察,并判斷自我行為與標(biāo)準(zhǔn)之間的差距對(duì)自我做出肯定或否定的評(píng)價(jià)。依據(jù)自我評(píng)價(jià),個(gè)體會(huì)產(chǎn)生各種內(nèi)心體驗(yàn),如自我滿(mǎn)足、自怨和批評(píng)等,這是自我調(diào)節(jié)的最終結(jié)果。人們可以利用自我調(diào)節(jié)結(jié)果,采取更加適宜的策略以達(dá)到目的?;诖死碚?,本文在教階段和學(xué)階段之后加入自我學(xué)習(xí)方法調(diào)節(jié)階段,為學(xué)生提供一個(gè)自我反省并及時(shí)調(diào)整學(xué)習(xí)策略的平臺(tái)。自我學(xué)習(xí)方法調(diào)節(jié)階段具體設(shè)置如下:經(jīng)過(guò)教階段和學(xué)階段之后,計(jì)算整體學(xué)生的平均分,將成績(jī)高于平均分的個(gè)體歸為優(yōu)秀個(gè)體,并計(jì)算優(yōu)秀學(xué)生的平均分。根據(jù)整體平均分和優(yōu)秀學(xué)生平均分將班級(jí)同學(xué)分為三大類(lèi):
當(dāng)學(xué)生成績(jī)高于優(yōu)秀學(xué)生的平均分時(shí),該學(xué)生為優(yōu)等生,證明其學(xué)習(xí)方法是高效的,因此學(xué)生將沿用自己的學(xué)習(xí)方法繼續(xù)學(xué)習(xí),如式(6)所示:
當(dāng)學(xué)生成績(jī)低于優(yōu)秀學(xué)生平均分,但高于班級(jí)整體平均分時(shí),該生為普通生,證明其學(xué)習(xí)方法部分有效,但仍有改進(jìn)空間,可以微調(diào)學(xué)習(xí)方法以獲得更好的成績(jī),如式(7)所示:
當(dāng)學(xué)生的成績(jī)低于班級(jí)平均分時(shí),證明自身學(xué)習(xí)方法沒(méi)有效果,需要很大程度地改變學(xué)習(xí)策略,此處用反向?qū)W習(xí)的方法,如式(8)所示:
另外,由于TLBO 算法思想源于模擬班級(jí)的教學(xué)過(guò)程,為更好模擬教階段中學(xué)生的新?tīng)顟B(tài),引入自適應(yīng)學(xué)生更新因子,以期待算法獲得更好的效果。
在教師“教”的過(guò)程中,新?tīng)顟B(tài)學(xué)生的知識(shí)儲(chǔ)備是由自身原有知識(shí)與向教師學(xué)習(xí)所積累的知識(shí)兩部分組成。在學(xué)習(xí)初期,學(xué)生由于對(duì)環(huán)境和知識(shí)點(diǎn)存在陌生感,可能不會(huì)完全吸收教師的授課內(nèi)容。學(xué)生主要依據(jù)自身的知識(shí)儲(chǔ)備進(jìn)行學(xué)習(xí)。隨著學(xué)習(xí)的深入,學(xué)生逐漸克服陌生感,進(jìn)入學(xué)習(xí)舒適區(qū),通過(guò)與教師之間建立的默契,可以迅速縮短與教師之間的差距。然而由式(1)中學(xué)生的新?tīng)顟B(tài)總是完全依賴(lài)自身的知識(shí)狀態(tài),這樣設(shè)計(jì)可以簡(jiǎn)化進(jìn)化過(guò)程,降低學(xué)生狀態(tài)更新的復(fù)雜度,但與現(xiàn)實(shí)情況相比存在些許偏差。故加入自適應(yīng)學(xué)生更新因子,將式(3)與式(4)修改為式(9):
其中,是非線(xiàn)性自適應(yīng)學(xué)生更新因子,為最大迭代次數(shù),為當(dāng)前迭代次數(shù),為班級(jí)個(gè)體平均適應(yīng)度值。由式(10)可知,在算法迭代初期接近1,此時(shí)式(9)中學(xué)生對(duì)于自身知識(shí)狀態(tài)幾乎全部保留。學(xué)生有更多的自我探尋機(jī)會(huì),可以擴(kuò)大學(xué)生的探索區(qū)域,具有較強(qiáng)的全局搜索能力。隨著算法的不斷迭代,不斷減小,此時(shí)學(xué)生將降低對(duì)自身狀態(tài)的保留程度,吸收教師的優(yōu)點(diǎn),從而迅速提升自身。同時(shí)算法的局部開(kāi)發(fā)能力增強(qiáng),其收斂速度和尋優(yōu)精度也得到相應(yīng)的提高。
將社會(huì)心理學(xué)理論加入到教與學(xué)優(yōu)化算法中,依據(jù)理論改進(jìn)教階段和學(xué)階段,同時(shí)加入自我學(xué)習(xí)方法調(diào)節(jié)階段就構(gòu)成了基于社會(huì)心理學(xué)理論改進(jìn)的教與學(xué)優(yōu)化算法。以最小優(yōu)化問(wèn)題為例,SPTLBO 算法基本流程如下:
(1)初始化階段,在搜索空間內(nèi)隨機(jī)生成位學(xué)生,并計(jì)算所有學(xué)生的適應(yīng)度值。比較每個(gè)學(xué)生的適應(yīng)度值,選出最好的個(gè)體作為老師。
(2)教階段,按照式(9)生成每個(gè)學(xué)生的新位置,計(jì)算新?tīng)顟B(tài)的適應(yīng)度值,根據(jù)新?tīng)顟B(tài)是否優(yōu)于原狀態(tài)選擇是否更新學(xué)生狀態(tài)。
(3)學(xué)階段,隨機(jī)生成0-1 矩陣(),模擬場(chǎng)獨(dú)立性(為1)和場(chǎng)依存性(為0)的學(xué)生,對(duì)其采取不同的學(xué)習(xí)策略,按照式(2)和式(5)進(jìn)行。如果(X)<(X),則X代替X。
(4)自我學(xué)習(xí)方法調(diào)整階段,計(jì)算此時(shí)全班適應(yīng)度值1,選出優(yōu)于全班平均值的個(gè)體為優(yōu)秀個(gè)體,計(jì)算優(yōu)秀集體的適應(yīng)度平均值_。根據(jù)1 和_將班上學(xué)生分成三組,分別按照不同的學(xué)習(xí)策略進(jìn)行學(xué)習(xí),具體表述如式(6)~式(8)所示。
(5)檢查結(jié)果是否滿(mǎn)足算法停止規(guī)則,若符合則輸出當(dāng)前最優(yōu)解并結(jié)束算法,若不符合則跳轉(zhuǎn)至步驟(2)。
為了驗(yàn)證算法的性能,選取了10 個(gè)低維測(cè)試函數(shù)和15 個(gè)高維測(cè)試函數(shù)作為實(shí)驗(yàn)對(duì)象,共25 個(gè)。這些函數(shù)的函數(shù)名、表達(dá)式和理論最優(yōu)值如表1、表2所示(低維見(jiàn)表1,高維見(jiàn)表2)。將提出的SPTLBO與TLBO、微粒群優(yōu)化算法(PSO)、遺傳算法(GA)和免疫算法(immune algorithm,IA)進(jìn)行對(duì)比實(shí)驗(yàn)。本文的實(shí)驗(yàn)環(huán)境:計(jì)算機(jī)CPU 為i7-8586U,內(nèi)存RAM為16 GB,操作系統(tǒng)為Windows10,編程軟件為MATLAB2018a。
表1 低維測(cè)試函數(shù)Table 1 Low-dimensional test functions
表2 高維測(cè)試函數(shù)Table 2 High-dimensional test functions
SPTLBO 與對(duì)比算法的實(shí)驗(yàn)都是在最大適應(yīng)度評(píng)價(jià)次數(shù)為15 000 下進(jìn)行的。其種群數(shù)量都為50,最大迭代次數(shù)為300,低維測(cè)試函數(shù)的維度為2,高維測(cè)試函數(shù)維度為100。參考現(xiàn)有研究,對(duì)算法中其他參數(shù)設(shè)置如下:PSO 中學(xué)習(xí)因子==1.5,慣性權(quán)重=0.8;GA 中變異概率=0.1,交叉概率=0.8;IA 中變異概率=0.7,激勵(lì)度系數(shù)==1。
本部分評(píng)估算法性能采用的是在相同的最大適應(yīng)度評(píng)價(jià)次數(shù)下,評(píng)估算法的尋優(yōu)精度。對(duì)于每個(gè)測(cè)試函數(shù),SPTLBO、TLBO、PSO、GA 和IA 算法均獨(dú)立運(yùn)行30 次,分別得到最優(yōu)解、最劣解、平均值和標(biāo)準(zhǔn)差,如表3、表4 所示。
從表3 與表4 可以看出,無(wú)論在低維還是高維的情況下,SPTLBO 算法在最優(yōu)解、最劣解、平均值和標(biāo)準(zhǔn)差方面幾乎都優(yōu)于其他算法。當(dāng)函數(shù)維度為2 時(shí),從搜索精度來(lái)看,表3 中SPTLBO 算法指標(biāo)都優(yōu)于對(duì)比算法,其中,和各項(xiàng)指標(biāo)均為最優(yōu)值0。當(dāng)函數(shù)維度為100 時(shí),這對(duì)算法跳出局部最優(yōu)和后期勘探新解的能力有了更高的要求。由表4 可知,對(duì)于、、、、、和,只有SPTLBO 搜索到最優(yōu)值0;對(duì)于和,SPTLBO 每次運(yùn)行都能搜索到最優(yōu)值;對(duì)于,SPTLBO 前三項(xiàng)指標(biāo)的精度略低于IA,但是對(duì)比兩個(gè)函數(shù)的收斂速度(如圖2(c)所示),可以發(fā)現(xiàn)SPTLBO 收斂最快,且最終搜索到最優(yōu)值0;對(duì)于剩余測(cè)試函數(shù),SPTLBO 搜索的結(jié)果精度遠(yuǎn)優(yōu)于其他算法,同時(shí)通過(guò)不同測(cè)試函數(shù)在測(cè)試結(jié)果中的標(biāo)準(zhǔn)差可知,SPTLBO 具有較好的魯棒性。
為了更加直觀(guān)地顯示SPTLBO 的優(yōu)化精度和收斂速度,圖2 與圖3 分別展示了低維測(cè)試函數(shù)、、、和高維測(cè)試函數(shù)、、、的收斂曲線(xiàn),其中函數(shù)縱坐標(biāo)取以10 為底的對(duì)數(shù)。從圖中可以看出,與其他算法相比,SPTLBO 算法收斂速度明顯較快,搜索的精度也較高。
綜合以上的對(duì)比結(jié)果,可以看出SPTLBO 算法的收斂速度和尋優(yōu)精度均較為優(yōu)秀。之所以如此,得益于在原始教與學(xué)優(yōu)化算法中加入了社會(huì)心理學(xué)理論。在教階段中加入的“期望效應(yīng)”理論,如迭代方程(9)所示。規(guī)定均分以上的學(xué)生直接向教師學(xué)習(xí),使得每次迭代都有一半學(xué)生向教師迅速靠攏,因此加快了粒子的收斂速度。在學(xué)階段中加入的“場(chǎng)獨(dú)立-場(chǎng)依存”理論,如迭代方程(2)與(5)所示。不同類(lèi)型的學(xué)生采取不同更新策略,豐富了學(xué)階段的更新方式,可以保持粒子的多樣性,避免陷入局部最優(yōu)。最后加入自我學(xué)習(xí)方法調(diào)整階段,及時(shí)調(diào)整更新策略,如迭代方程(6)~(8)所示,使得算法的尋優(yōu)性能與求解精度都得到了提高。
本文針對(duì)教與學(xué)優(yōu)化算法在求解復(fù)雜優(yōu)化問(wèn)題時(shí),尋優(yōu)精度低、收斂速度慢等缺陷,從社會(huì)心理學(xué)角度出發(fā),結(jié)合人的心理情緒變化,改進(jìn)原始教與學(xué)優(yōu)化算法。在教階段引入社會(huì)心理學(xué)中“期望效應(yīng)”理論,模擬教師對(duì)于優(yōu)秀學(xué)生期望更高這一現(xiàn)象,使得適應(yīng)度值較優(yōu)的個(gè)體可以更快向最優(yōu)個(gè)體靠攏;在學(xué)階段引入“場(chǎng)獨(dú)立-場(chǎng)依存”理論,模擬不同性格的學(xué)生對(duì)于汲取知識(shí)方式存在差異這一特點(diǎn),從而更好地保留了結(jié)果的多樣性,避免陷入局部最優(yōu);在學(xué)階段后加入自我學(xué)習(xí)方法調(diào)整階段,讓個(gè)體根據(jù)自身排名采取不同的策略進(jìn)行學(xué)習(xí),從而有效地提高算法的尋優(yōu)精度和收斂速度。為驗(yàn)證算法的性能,選取了25 個(gè)測(cè)試函數(shù)進(jìn)行數(shù)值實(shí)驗(yàn)。結(jié)果表明,與原始的TLBO、PSO、GA 和IA 算法相比,本文提出的SPTLBO 算法在求解低維和高維函數(shù)時(shí),不僅收斂速度快,而且尋優(yōu)精度高,算法的穩(wěn)定性也更強(qiáng)。由此可見(jiàn)在設(shè)計(jì)算法時(shí),考慮人類(lèi)心理因素對(duì)算法性能的提升有一定作用。目前教與學(xué)優(yōu)化算法的改進(jìn)很少考慮到關(guān)于人的因素,因此剖析人的心理在不同場(chǎng)景下的變化對(duì)于算法更深入的研究有著巨大意義。下一步的工作將深入研究心理學(xué)理論,尋找改進(jìn)算法的切入點(diǎn),使得算法性能更優(yōu)。例如社會(huì)認(rèn)知心理學(xué)中的“心理控制源”理論,該理論根據(jù)個(gè)體對(duì)于強(qiáng)化物或后果是否可以由自身控制,將心理控制源分為內(nèi)控型與外控型。兩者在相同情況下會(huì)做出不同的抉擇。這一理論可應(yīng)用于教與學(xué)算法的學(xué)階段改進(jìn)中,并推廣解決動(dòng)態(tài)車(chē)輛路徑優(yōu)化、各領(lǐng)域參數(shù)優(yōu)化等更多復(fù)雜優(yōu)化問(wèn)題。
表3 低維測(cè)數(shù)函數(shù)結(jié)果對(duì)比Table 3 Comparison of experimental results of low-dimensional benchmark functions
表4 高維測(cè)試函數(shù)結(jié)果對(duì)比Table 4 Comparison of experimental results of high-dimensional benchmark functions
表4(續(xù))
圖2 低維收斂曲線(xiàn)對(duì)比Fig.2 Comparison of low-dimensional convergence curves
圖3 高維收斂曲線(xiàn)對(duì)比Fig.3 Comparison of high-dimensional convergence curves