本發(fā)明基于維度區(qū)分的團(tuán)隊(duì)進(jìn)步算法改進(jìn)方案,屬于啟發(fā)式優(yōu)化算法技術(shù)領(lǐng)域,可用于飛行器、電磁場(chǎng)、熱場(chǎng)、聲場(chǎng)、應(yīng)力場(chǎng)等問(wèn)題的工程仿真分析中。
背景技術(shù):
智能優(yōu)化算法作為一類(lèi)求解最優(yōu)化問(wèn)題的高效優(yōu)化算法,其原理簡(jiǎn)單,魯棒性強(qiáng),成為科學(xué)研究和工程領(lǐng)域解決多極值優(yōu)化問(wèn)題的有效工具,受到廣大科研工作者的青睞。目前經(jīng)典高效的智能優(yōu)化算法有模擬生物在自然環(huán)境中的遺傳和進(jìn)化過(guò)程的遺傳算法、模仿鳥(niǎo)群或魚(yú)群覓食規(guī)律的粒子群算法、模仿個(gè)體間競(jìng)爭(zhēng)合作關(guān)系的差分進(jìn)化算法等。這些算法都屬于單群體的仿生優(yōu)化算法,屬于在全局范圍內(nèi)尋優(yōu)的隨機(jī)初始化種群的群智能搜索算法,因此都有相應(yīng)的缺點(diǎn),如單群體優(yōu)化方法易早熟收斂,不能兼顧全局尋優(yōu)和收斂速度之間的矛盾等。
為解決該問(wèn)題,近期提出了團(tuán)隊(duì)進(jìn)步算法,該算法是一種兼顧全局搜索和局部搜索,同時(shí)又兼顧收斂速度的雙群體智能優(yōu)化算法,參數(shù)設(shè)置簡(jiǎn)單,全局尋優(yōu)成功率高,計(jì)算量小,穩(wěn)定性好等優(yōu)點(diǎn)。團(tuán)隊(duì)進(jìn)步算法基于團(tuán)隊(duì)分工、合作,首先隨機(jī)初始化團(tuán)隊(duì)成員,按評(píng)價(jià)值大小把該團(tuán)隊(duì)成員分成精英組和普通組兩組成員,精英組確保收斂速度,普通組確保全局收斂,然后在學(xué)習(xí)、探索和成員更新規(guī)則的機(jī)制下,整個(gè)團(tuán)隊(duì)快速進(jìn)步,以盡可能少的計(jì)算量產(chǎn)生全局最優(yōu)評(píng)價(jià)值的成員的過(guò)程。而且現(xiàn)階段也出現(xiàn)了很多對(duì)原始tpa算法的改進(jìn),比如將原始算法中的學(xué)習(xí)步長(zhǎng)改為高斯分布,并且探索步長(zhǎng)也改為高斯分布。盡管該改進(jìn)tpa算法已經(jīng)比原始tpa算法以及其他幾個(gè)經(jīng)典算法計(jì)算時(shí)間縮短了不少,但是計(jì)算時(shí)間仍然具備可縮短的空間,因此需要對(duì)該算法進(jìn)一步改進(jìn)來(lái)提高處理效率和計(jì)算時(shí)間。為此,本發(fā)明在該改進(jìn)算法的基礎(chǔ)上提出將工程問(wèn)題分為高低維度分別討論,并制定出針對(duì)這兩種維度的最佳改進(jìn)團(tuán)隊(duì)進(jìn)步算法。
技術(shù)實(shí)現(xiàn)要素:
:
技術(shù)問(wèn)題:為解決現(xiàn)階段團(tuán)隊(duì)進(jìn)步算法計(jì)算量仍較大的問(wèn)題,本發(fā)明提出按照實(shí)際工程中問(wèn)題的難易程度,將其分為低維度和高維度兩大類(lèi),在現(xiàn)階段先進(jìn)tpa算法的前提下,按照維度將學(xué)習(xí)步長(zhǎng)根據(jù)維度制定合理的分布機(jī)制,并且對(duì)探索步長(zhǎng)的高斯分布系數(shù)進(jìn)行深度探索研究,從而得出針對(duì)所有工程問(wèn)題的更加完善的團(tuán)隊(duì)進(jìn)步算法,避免不必要的資源浪費(fèi),提高計(jì)算效率。解決上述問(wèn)題的具體技術(shù)方案如下:
步驟一:確定屬于低維或者高維問(wèn)題:
參數(shù)相對(duì)較少的問(wèn)題定義為低維問(wèn)題,參數(shù)較多的問(wèn)題定義為高維問(wèn)題。本發(fā)明中將參數(shù)低于10個(gè)的工程問(wèn)題都?xì)w為低維問(wèn)題,參數(shù)大于10個(gè)或者大于20個(gè)的工程問(wèn)題歸為高維問(wèn)題。
步驟二:確定基本模型并分組精英組和普通組:
多變量無(wú)約束最小化問(wèn)題可表示為:
式中,x為成員,f(x)為成員x的評(píng)價(jià)值,min{f(x)}為取f(x)的最小值,xi為x的第i個(gè)能力因素,n個(gè)確定的能力因素能夠確定一個(gè)成員x,ai和bi分別表示xi的上下邊界?,F(xiàn)以使評(píng)價(jià)值最小為優(yōu)化目標(biāo)。首先,利用隨機(jī)方法產(chǎn)生n+m個(gè)初始成員,并計(jì)算所有成員的評(píng)價(jià)值,由評(píng)價(jià)值較高的前n個(gè)成員構(gòu)成精英組,剩余的m個(gè)成員構(gòu)成普通組。
步驟三:從精英組或者普通組中生成新生成員:
新生成員從精英組或者普通組中擇一生成,新生成員的每一個(gè)能力因素都是從當(dāng)前所有精英組成員能力因素的對(duì)應(yīng)位置隨機(jī)繼承,從普通組中生成與之方法類(lèi)似。新生成員記做xr,用公式(2)表示:
其中,xr的第i個(gè)變量xri是繼承的精英組的第r個(gè)成員的第i個(gè)變量的值。與之類(lèi)似,將式(2)中的下標(biāo)e全部換成p即可得到普通組生成的新生成員。
步驟四:判斷新生成員參與何種行為機(jī)制,根據(jù)不同維度進(jìn)行相應(yīng)的學(xué)習(xí)或者探索行為:
新生成員要成為候選成員必須在繼承能力因素的前提下進(jìn)行一次能力因素的學(xué)習(xí)或探索機(jī)制行為:
進(jìn)行學(xué)習(xí)行為則需要有學(xué)習(xí)的參考目標(biāo)才可以向更優(yōu)值靠攏。參考目標(biāo)分別產(chǎn)生于兩組,分別設(shè)置為精英組樣板e(cuò)e和普通組樣板e(cuò)p,取所在組成員的能力因素的平均值為樣板的能力因素,如下式:
新生成員的學(xué)習(xí)或者探索行為由學(xué)習(xí)概率l來(lái)決定,經(jīng)驗(yàn)計(jì)算得,學(xué)習(xí)概率l一般取為0.2~0.5。r為區(qū)間(0,1)上的均勻分布隨機(jī)數(shù),若學(xué)習(xí)概率l大于隨機(jī)數(shù)r則進(jìn)行一次學(xué)習(xí)行為,若小于則進(jìn)行一次探索行為。進(jìn)一步的,所述步驟五又分為兩個(gè)部分:
步驟五-1:確定學(xué)習(xí)樣板并進(jìn)行學(xué)習(xí)行為:
學(xué)習(xí)的目的就是讓新生成員定向搜索,從而增強(qiáng)算法自身的局部搜索能力,使之快速收斂。學(xué)習(xí)樣板分為精英組學(xué)習(xí)樣板和普通組學(xué)習(xí)樣板,各自按照學(xué)習(xí)樣板進(jìn)行學(xué)習(xí)。原始tpa采用算術(shù)平均生成學(xué)習(xí)樣板,而現(xiàn)階段先進(jìn)tpa算法中學(xué)習(xí)樣板采用的是幾何平均。幾何學(xué)習(xí)樣板,即利用最大、最小方式確定各組能力因素的外接超立方體或長(zhǎng)方體,并用該超立方體或長(zhǎng)方體的幾何中心作為學(xué)習(xí)樣板。幾何平均算法可以克服算術(shù)平均算法易受到計(jì)算值影響的弊端,幾何平均值更加穩(wěn)定且更具代表性,故本發(fā)明沿用之。公式(3-1)和(3-2)顯示了精英組幾何樣板e(cuò)e和普通組幾何樣板e(cuò)p的計(jì)算公式:
其中,n為成員能力因素的個(gè)數(shù),xemax和xemin分別為精英組外接超長(zhǎng)方體的邊界值點(diǎn)。xpmax和xpmin分別為普通組的外接超長(zhǎng)方體的邊界值點(diǎn)。
在獲得學(xué)習(xí)樣板之后,便可進(jìn)行學(xué)習(xí)行為。原始tpa的學(xué)習(xí)步長(zhǎng)采用均勻隨機(jī)分布產(chǎn)生,這容易導(dǎo)致學(xué)習(xí)的定向性和集中度的不足,為解決這一問(wèn)題,本發(fā)明按照低維度和高維度分別進(jìn)行設(shè)計(jì):
(1)針對(duì)低維度,本發(fā)明沿用現(xiàn)階段先進(jìn)tpa中的高斯分布來(lái)產(chǎn)生學(xué)習(xí)步長(zhǎng),具體如下:
如果新生成員是由精英組xr產(chǎn)生,則應(yīng)向普通組學(xué)習(xí)樣板e(cuò)p的反方向?qū)W習(xí),首先將普通組樣板映射新生成員的鏡像位置,均值μe即為鏡像,方差σe為收縮向量k以及新生成員與鏡像差的乘積,公式如(4-1):
其中,r1通過(guò)均勻隨機(jī)分布產(chǎn)生,區(qū)間取[0,1),收縮向量k取經(jīng)驗(yàn)值0.01。
相應(yīng)的,如果新生成員xr由普通組產(chǎn)生,則應(yīng)向精英組樣板學(xué)習(xí)ee,均值μp即為精英組樣板,方差σp為收縮向量以及新生成員與精英組樣板之間的差做乘積,公式如(4-2):
在采用高斯分布生成學(xué)習(xí)步長(zhǎng)時(shí),要進(jìn)行越界檢查,如果發(fā)生越界,則取對(duì)應(yīng)的上下界即可。
(2)針對(duì)高維度問(wèn)題,對(duì)學(xué)習(xí)步長(zhǎng)進(jìn)行重新分配,本發(fā)明中采用beta分布來(lái)代替高斯分布。學(xué)習(xí)步長(zhǎng)r的公式如下:
其中,u為區(qū)間[0,1)的均勻隨機(jī)數(shù),n是當(dāng)前的迭代次數(shù),n是算法設(shè)定的最大迭代次數(shù),α為指數(shù)參數(shù)。由公式(6)可知,r隨著n的增加而增大,使得樣板對(duì)新生成員的引導(dǎo)作用越來(lái)越明顯。
步驟五-2:進(jìn)行探索行為:
原始tpa算法中的探索步長(zhǎng)采用的是beta分布,這種方式的弊端就是無(wú)法再邊界區(qū)域進(jìn)行探索,縮小了求解區(qū)域,是不合理的。為解決上述問(wèn)題,現(xiàn)階段先進(jìn)tpa算法則采用高斯分布來(lái)代替beta分布,公式如下:
其中,μ為均值,σ2為方差,n是當(dāng)前的迭代次數(shù),n是算法設(shè)定的最大迭代次數(shù),α為指數(shù)參數(shù)。由于高斯函數(shù)的最佳逼近由二項(xiàng)式展開(kāi)的系數(shù)決定的,曲線的形狀很大程度上由系數(shù)k決定,所以本發(fā)明對(duì)收縮向量k進(jìn)行深入探索,經(jīng)過(guò)大量的數(shù)據(jù)采集和測(cè)試后,得出規(guī)律,在此取最優(yōu)值0.001。由高斯分布產(chǎn)生的隨機(jī)數(shù)能夠覆蓋整個(gè)搜索區(qū)域,并且具有隨著迭代次數(shù)的增加漸趨集中于出發(fā)點(diǎn)的特征,使得該算法在初期可以進(jìn)行大范圍的全局搜索,而后期則在新生成員附近進(jìn)行越來(lái)越精細(xì)的搜索,這樣既保證了全局尋優(yōu)的能力,又保證了快速收斂的能力,大大改善算法性能。
步驟六:成員更新:
由新生成員經(jīng)過(guò)學(xué)習(xí)或者探索行為之后成為候選成員,若候選成員xc的評(píng)價(jià)值優(yōu)于精英末位的評(píng)價(jià)值,則xc進(jìn)入精英組,精英末位直接丟棄出整個(gè)組群。若候選成員劣于精英組末位但優(yōu)于全隊(duì)末位,則分兩種情況進(jìn)行討論:當(dāng)xc是經(jīng)探索得到,則xc進(jìn)入普通組,丟棄全隊(duì)末位成員;當(dāng)xc經(jīng)學(xué)習(xí)得到,則直接丟棄出群。
有益效果
一是按照問(wèn)題的難易程度分為低維度和高維度問(wèn)題,并且針對(duì)兩種維度的問(wèn)題分別制定相應(yīng)的算法方案,避免了將所有問(wèn)題混為一談,進(jìn)而達(dá)到因地制宜、量體裁衣的效果,最大程度的利用較少的資源和成本解決相應(yīng)問(wèn)題;二是根據(jù)維度不同,分別設(shè)計(jì)出合理的學(xué)習(xí)步長(zhǎng)的分配機(jī)制,從而能夠減少計(jì)算時(shí)間;三是對(duì)高斯分布的系數(shù)做了深入探索,找出最合適的系數(shù),較大程度的增加了運(yùn)算效率。
附圖說(shuō)明
圖1為團(tuán)隊(duì)進(jìn)步算法流程圖。
圖2、圖3為低維度(二維和三維情況下)本發(fā)明改進(jìn)算法、原始算法以及現(xiàn)階段先進(jìn)算法針對(duì)10個(gè)測(cè)試函數(shù)的測(cè)試結(jié)果對(duì)比圖(其中,f5只在二維情況下可討論)。
圖4、圖5為高維度(十維和二十維情況下)本發(fā)明改進(jìn)算法、原始算法以及現(xiàn)階段先進(jìn)算法針對(duì)10個(gè)測(cè)試函數(shù)的測(cè)試結(jié)果對(duì)比圖(其中,f5只在二維情況下可討論)。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)說(shuō)明。
為了解決現(xiàn)階段團(tuán)隊(duì)進(jìn)步算法計(jì)算量仍較大的問(wèn)題,本發(fā)明提出按照實(shí)際工程中問(wèn)題的難易程度,將其分為低維度和高維度兩大類(lèi),在現(xiàn)階段先進(jìn)tpa算法的前提下,按照維度將學(xué)習(xí)步長(zhǎng)根據(jù)維度制定合理的分布機(jī)制,并且對(duì)探索步長(zhǎng)的高斯分布系數(shù)進(jìn)行深度探索研究,從而得出針對(duì)所有工程問(wèn)題的更加完善的團(tuán)隊(duì)進(jìn)步算法,從而避免不必要的資源浪費(fèi),提高計(jì)算效率。包括如下步驟:
步驟一:確定屬于低維或者高維問(wèn)題:
參數(shù)相對(duì)較少的問(wèn)題定義為低維問(wèn)題,參數(shù)較多的問(wèn)題定義為高維問(wèn)題。本發(fā)明中將參數(shù)低于10個(gè)的工程問(wèn)題都?xì)w為低維問(wèn)題,參數(shù)大于10個(gè)或者大于20個(gè)的工程問(wèn)題歸為高維問(wèn)題。
步驟二:確定基本模型并分組精英組和普通組:
多變量無(wú)約束最小化問(wèn)題可表示為:
式中,x為成員,f(x)為成員x的評(píng)價(jià)值,min{f(x)}為取f(x)的最小值,xi為x的第i個(gè)能力因素,n個(gè)確定的能力因素能夠確定一個(gè)成員x,ai和bi分別表示xi的上下邊界?,F(xiàn)以使評(píng)價(jià)值最小為優(yōu)化目標(biāo)。首先,利用隨機(jī)方法產(chǎn)生n+m個(gè)初始成員,并計(jì)算所有成員的評(píng)價(jià)值,由評(píng)價(jià)值較高的前n個(gè)成員構(gòu)成精英組,剩余的m個(gè)成員構(gòu)成普通組。
步驟三:從精英組或者普通組中生成新生成員:
新生成員從精英組或者普通組中擇一生成,新生成員的每一個(gè)能力因素都是從當(dāng)前所有精英組成員能力因素的對(duì)應(yīng)位置隨機(jī)繼承,從普通組中生成與之方法類(lèi)似。新生成員記做xr,用公式(2)表示:
其中,xr的第i個(gè)變量xri是繼承的精英組的第r個(gè)成員的第i個(gè)變量的值。與之類(lèi)似,將式(2)中的下標(biāo)e全部換成p即可得到普通組生成的新生成員。
步驟四:判斷新生成員參與何種行為機(jī)制,根據(jù)不同維度進(jìn)行相應(yīng)的學(xué)習(xí)或者探索行為:
新生成員要成為候選成員必須在繼承能力因素的前提下進(jìn)行一次能力因素的學(xué)習(xí)或探索機(jī)制行為:
進(jìn)行學(xué)習(xí)行為則需要有學(xué)習(xí)的參考目標(biāo)才可以向更優(yōu)值靠攏。參考目標(biāo)分別產(chǎn)生于兩組,分別設(shè)置為精英組樣板e(cuò)e和普通組樣板e(cuò)p,取所在組成員的能力因素的平均值為樣板的能力因素,如下式:
新生成員的學(xué)習(xí)或者探索行為由學(xué)習(xí)概率l來(lái)決定,經(jīng)驗(yàn)計(jì)算得,學(xué)習(xí)概率l一般取為0.2~0.5。r為區(qū)間(0,1)上的均勻分布隨機(jī)數(shù),若學(xué)習(xí)概率l大于隨機(jī)數(shù)r則進(jìn)行一次學(xué)習(xí)行為,若小于則進(jìn)行一次探索行為。進(jìn)一步的,所述步驟五又分為兩個(gè)部分:
步驟五-1:確定學(xué)習(xí)樣板并進(jìn)行學(xué)習(xí)行為:
學(xué)習(xí)的目的就是讓新生成員定向搜索,從而增強(qiáng)算法自身的局部搜索能力,使之快速收斂。學(xué)習(xí)樣板分為精英組學(xué)習(xí)樣板和普通組學(xué)習(xí)樣板,各自按照學(xué)習(xí)樣板進(jìn)行學(xué)習(xí)。原始tpa采用算術(shù)平均生成學(xué)習(xí)樣板,而現(xiàn)階段先進(jìn)tpa算法中學(xué)習(xí)樣板采用的是幾何平均。幾何學(xué)習(xí)樣板,即利用最大、最小方式確定各組能力因素的外接超立方體或長(zhǎng)方體,并用該超立方體或長(zhǎng)方體的幾何中心作為學(xué)習(xí)樣板。幾何平均算法可以克服算術(shù)平均算法易受到計(jì)算值影響的弊端,幾何平均值更加穩(wěn)定且更具代表性,故本發(fā)明沿用之。公式(3-1)和(3-2)顯示了精英組幾何樣板e(cuò)e和普通組幾何樣板e(cuò)p的計(jì)算公式:
其中,n為成員能力因素的個(gè)數(shù),xemax和xemin分別為精英組外接超長(zhǎng)方體的邊界值點(diǎn)。xpmax和xpmin分別為普通組的外接超長(zhǎng)方體的邊界值點(diǎn)。
在獲得學(xué)習(xí)樣板之后,便可進(jìn)行學(xué)習(xí)行為。原始tpa的學(xué)習(xí)步長(zhǎng)采用均勻隨機(jī)分布產(chǎn)生,這容易導(dǎo)致學(xué)習(xí)的定向性和集中度的不足,為解決這一問(wèn)題,本發(fā)明按照低維度和高維度分別進(jìn)行設(shè)計(jì):
(1)針對(duì)低維度,本發(fā)明沿用現(xiàn)階段先進(jìn)tpa中的高斯分布來(lái)產(chǎn)生學(xué)習(xí)步長(zhǎng),具體如下:
如果新生成員是由精英組xr產(chǎn)生,則應(yīng)向普通組學(xué)習(xí)樣板e(cuò)p的反方向?qū)W習(xí),首先將普通組樣板映射新生成員的鏡像位置,均值μe即為鏡像,方差σe為收縮向量k以及新生成員與鏡像差的乘積,公式如(4-1):
其中,r1通過(guò)均勻隨機(jī)分布產(chǎn)生,區(qū)間取[0,1),收縮向量k取經(jīng)驗(yàn)值0.01。
相應(yīng)的,如果新生成員xr由普通組產(chǎn)生,則應(yīng)向精英組樣板學(xué)習(xí)ee,均值μp即為精英組樣板,方差σp為收縮向量以及新生成員與精英組樣板之間的差做乘積,公式如(4-2):
在采用高斯分布生成學(xué)習(xí)步長(zhǎng)時(shí),要進(jìn)行越界檢查,如果發(fā)生越界,則取對(duì)應(yīng)的上下界即可。在此算法基礎(chǔ)上,對(duì)10個(gè)測(cè)試函數(shù)進(jìn)行測(cè)試,得出如圖2~3所示的比較圖,可以看出,本發(fā)明改進(jìn)的算法結(jié)果較現(xiàn)階段先進(jìn)算法有較好的改善,較明顯的是二維下:f6改善19.67%、f8改善16.16%;三維下:f3改善30.77%,f10改善12.45%,其余改善基本都在5%~10%之間。
(2)針對(duì)高維度問(wèn)題,對(duì)學(xué)習(xí)步長(zhǎng)進(jìn)行重新分配,本發(fā)明中采用beta分布來(lái)代替高斯分布。學(xué)習(xí)步長(zhǎng)r的公式如下:
其中,u為區(qū)間[0,1)的均勻隨機(jī)數(shù),n是當(dāng)前的迭代次數(shù),n是算法設(shè)定的最大迭代次數(shù),α為指數(shù)參數(shù)。由公式(6)可知,r隨著n的增加而增大,使得樣板對(duì)新生成員的引導(dǎo)作用越來(lái)越明顯。在此算法基礎(chǔ)上,對(duì)10個(gè)測(cè)試函數(shù)進(jìn)行測(cè)試,得出如圖4~5所示的比較圖,可以看出,本發(fā)明改進(jìn)的算法結(jié)果較現(xiàn)階段先進(jìn)算法有較好的改善,較明顯的是十維下:f6改善29.60%、f10改善51.01%,;二十維下f1改善94.13%、f10改善72.27%,其余基本在7%~13%之間。
步驟五-2:進(jìn)行探索行為:
原始tpa算法中的探索步長(zhǎng)采用的是beta分布,這種方式無(wú)法再邊界區(qū)域進(jìn)行探索,縮小了求解區(qū)域,是不合理的。為解決上述問(wèn)題,本發(fā)明借鑒現(xiàn)階段先進(jìn)tpa算法,采用高斯分布來(lái)代替beta分布,公式如下:
其中,μ為均值,σ2為方差,n是當(dāng)前的迭代次數(shù),n是算法設(shè)定的最大迭代次數(shù),α為指數(shù)參數(shù)。由于高斯函數(shù)的最佳逼近由二項(xiàng)式展開(kāi)的系數(shù)決定的,曲線的形狀很大程度上由系數(shù)k決定,所以本發(fā)明對(duì)收縮向量k進(jìn)行深入探索,經(jīng)過(guò)大量的數(shù)據(jù)采集和測(cè)試后,得出規(guī)律,在此取最優(yōu)值0.001。由高斯分布產(chǎn)生的隨機(jī)數(shù)能夠覆蓋整個(gè)搜索區(qū)域,并且具有隨著迭代次數(shù)的增加漸趨集中于出發(fā)點(diǎn)的特征,使得該算法在初期可以進(jìn)行大范圍的全局搜索,而后期則在新生成員附近進(jìn)行越來(lái)越精細(xì)的搜索,這樣既保證了全局尋優(yōu)的能力,又保證了快速收斂的能力,大大改善算法性能。
步驟六:成員更新:
由新生成員經(jīng)過(guò)學(xué)習(xí)或者探索行為之后成為候選成員,若候選成員xc的評(píng)價(jià)值優(yōu)于精英末位的評(píng)價(jià)值,則xc進(jìn)入精英組,精英末位直接丟棄出整個(gè)組群。若候選成員劣于精英組末位但優(yōu)于全隊(duì)末位,則分兩種情況進(jìn)行討論:當(dāng)xc是經(jīng)探索得到,則xc進(jìn)入普通組,丟棄全隊(duì)末位成員;當(dāng)xc經(jīng)學(xué)習(xí)得到,則直接丟棄出群。
在上述步驟五中,原始算法以及現(xiàn)階段先進(jìn)算法將工程中的所有問(wèn)題都混為一談,是針對(duì)低維度以及高維度所有問(wèn)題的解決方案,這就造成了在解決簡(jiǎn)單問(wèn)題時(shí)的資源浪費(fèi)以及時(shí)間浪費(fèi),為解決上述問(wèn)題,本發(fā)明將日常工程問(wèn)題按照復(fù)雜程度分為低維度和高維度,并且針對(duì)兩種維度的問(wèn)題分別制定相應(yīng)的算法方案,進(jìn)而達(dá)到因地制宜、量體裁衣的效果,最大程度的利用較少的資源和成本解決相應(yīng)問(wèn)題。
在上述步驟五中,現(xiàn)階段先進(jìn)的算法將學(xué)習(xí)步長(zhǎng)和探索步長(zhǎng)均按照系數(shù)為0.01的高斯分布得到。這種做法優(yōu)于原始tpa中學(xué)習(xí)步長(zhǎng)采用均勻隨機(jī)分布、探索步長(zhǎng)采用beta分布的算法,既解決了學(xué)習(xí)行為中定向性和集中度不足的問(wèn)題,也對(duì)邊界區(qū)域進(jìn)行了探索。但是該算法仍然需要較大的計(jì)算量和較長(zhǎng)的計(jì)算時(shí)間,而且對(duì)于低維度問(wèn)題的運(yùn)算效果不佳。
為解決上述問(wèn)題,本發(fā)明首先對(duì)高低維中探索行為的高斯分布系數(shù)k進(jìn)行深入探索研究,找到最合適的系數(shù)從而提高算法的運(yùn)算效率。由于高斯函數(shù)的最佳逼近由二項(xiàng)式展開(kāi)的系數(shù)決定,所以本發(fā)明對(duì)該系數(shù)k做了詳盡的參數(shù)遍歷,找出其規(guī)律,從而得出最優(yōu)參數(shù)為k=0.001。然后針對(duì)10個(gè)低維的函數(shù)進(jìn)行測(cè)試,測(cè)試結(jié)果比現(xiàn)階段較先進(jìn)的tpa的結(jié)果更加優(yōu)秀,具體可見(jiàn)附圖2~3。
之后針對(duì)高維度問(wèn)題,對(duì)學(xué)習(xí)步長(zhǎng)進(jìn)行重新分配,本發(fā)明中采用beta分布來(lái)代替高斯分布。學(xué)習(xí)步長(zhǎng)r的公式如下:
其中,u為區(qū)間[0,1)的均勻隨機(jī)數(shù),n是當(dāng)前的迭代次數(shù),n是算法設(shè)定的最大迭代次數(shù),α為指數(shù)參數(shù)。由公式(6)可知,r隨著n的增加而增大,使得樣板對(duì)新生成員的引導(dǎo)作用越來(lái)越明顯。針對(duì)10個(gè)10維和20維的函數(shù)進(jìn)行測(cè)試,測(cè)試結(jié)果比現(xiàn)階段較先進(jìn)的tpa的結(jié)果更優(yōu),具體可見(jiàn)附圖4~5。
由此可得結(jié)論,當(dāng)遇到低維度問(wèn)題時(shí),學(xué)習(xí)步長(zhǎng)采用系數(shù)為0.01的高斯分布,探索步長(zhǎng)采用系數(shù)為0.001的高斯分布;當(dāng)遇到低維度問(wèn)題時(shí),學(xué)習(xí)步長(zhǎng)采用beta分布,探索步長(zhǎng)采用系數(shù)為0.001的高斯分布。