陳建云+魏道熙+陳建鋒
""摘要:狼群算法(Wolf Colony Algorithm, WCA)是2011年提出的一種群智能優(yōu)化算法,現(xiàn)已實(shí)現(xiàn)在醫(yī)學(xué)、三維傳感器優(yōu)化、人工神經(jīng)網(wǎng)絡(luò)、水利水電優(yōu)化等眾多領(lǐng)域上的應(yīng)用, 并獲得優(yōu)質(zhì)的實(shí)驗(yàn)效果, 使其成為目前比較流行、 前景廣闊的智能計(jì)算方法之一。然而,與其他智能段,優(yōu)化算法類似,在理論研究階存在一些問(wèn)題需要解決,如提高算法在優(yōu)化問(wèn)題中的各種性能、拓展算法應(yīng)用領(lǐng)域等。本文為擴(kuò)充 WCA算法的理論體系,針對(duì) WCA算法存在的不足。在理論研究上,針對(duì)各種典型優(yōu)化問(wèn)題進(jìn)行算法研究,進(jìn)行優(yōu)化,改進(jìn) WCA算法的內(nèi)在運(yùn)行機(jī)制,以提高 WCA算法求解單目標(biāo)優(yōu)化、多峰優(yōu)化以及多目標(biāo)優(yōu)化問(wèn)題上的性能。
關(guān)鍵詞:狼群算法;單目標(biāo)優(yōu)化;多峰優(yōu)化;多目標(biāo)優(yōu)化
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)21-0164-03
Abstract: Wolf Colony Algorithm proposed in 2011 is one of the swarm intelligence optimization algorithms, which has been widely used in many fields such as artificial neural network, medical science, optimization triaxial sensor placement, optimization operation of hydropower station and so on. At present, WCA has been obtained good application results in above fields. However, the same as other swarm intelligence optimization algorithms, during the study period, WCA has some problems need to be discussed such as how to improve the performance of the algorithm in optimization problems and expanding algorithm application fields, etc. For expand WCA algorithm theoretical system and practical applications, according to the insufficiency of WCA, it is deeply investigated from theory aspect in this paper. On Theoretical Research on, for a wide range of typical algorithm for optimization, optimize, and improve internal operational mechanism of wca algorithm to improve the WCA algorithm for single-objective optimization, multimodal optimization, and performance on multi-objective optimization problems.
Key words: wolf colony algorithm; single objective optimization; multimodal optimization; multi-objective optimization
狼群算法(Wolf Pack Search, WPS)最早是由Yang等提出,LIU等為解決優(yōu)化問(wèn)題于2011年提出了一種新狼群算法(Wolf Colony Algorithm, WCA)。 WCA算法模擬自然界狼群圍捕獵物的行為,抽象出搜索行為、圍攻行為與更新行為。WCA 算法與 PSO、GA 等算法相比,求解精度更高,收斂速度更快,控制參數(shù)更少的特點(diǎn)。W GA、FSA 等其他智能算法相比,求解精度高,魯棒性強(qiáng),尤其適合求解高維、多峰的復(fù)雜函數(shù)。由于各種不同的狼群算法原理基本相同,在狼群行為選擇與具體實(shí)現(xiàn)有所差異,而算法效果近乎相同。
1 狼群算法的生物學(xué)背景
在自然界中,狼是處在食物鏈頂端的捕食者。狼群有著嚴(yán)密的等級(jí)制度,一個(gè)狼群一般有一個(gè)首領(lǐng),稱為頭狼;若干探狼,負(fù)責(zé)找尋好的食物;若干猛狼,主要負(fù)責(zé)圍捕獵物,狼群過(guò)著各司其職的生活。
頭狼,是整個(gè)狼群中的關(guān)鍵,是最具智慧和最強(qiáng)壯的,是在“弱肉強(qiáng)食”式的殘酷競(jìng)爭(zhēng)中產(chǎn)生的首領(lǐng)。頭狼負(fù)責(zé)整個(gè)狼群的決策,關(guān)乎著群體的興衰。
2 狼群算法的基本原理
狼群算法意在模擬狼群的捕獵行為處理函數(shù)優(yōu)化問(wèn)題,將狼群分為三類:頭狼、探狼和猛狼。算法的基本思想是:從待尋優(yōu)空間中的某一初始獵物群開(kāi)始,其中具有最佳適應(yīng)度值的狼作為頭狼,該操作稱為頭狼生成準(zhǔn)則。然后,選取除頭狼外最佳的m匹狼作為探狼, 進(jìn)行預(yù)定方向上的尋優(yōu)搜索, 采用新舊獵物規(guī)則保留較優(yōu)質(zhì)的獵物,一旦發(fā)現(xiàn)比當(dāng)前頭狼更優(yōu)質(zhì)的獵物,則具有該獵物的探狼成為頭狼,此過(guò)程稱為探狼游走行為。頭狼發(fā)起嚎叫,通知周?chē)屠茄杆傧蝾^狼靠攏,探尋優(yōu)質(zhì)獵物,如果探尋到的優(yōu)質(zhì)獵物比頭狼更優(yōu),則該狼代替頭狼再次發(fā)起嚎叫,直到猛狼距離獵物一定距離時(shí)停止,此過(guò)程稱為猛狼奔襲行為。當(dāng)猛狼距離獵物達(dá)到預(yù)先設(shè)定的閾值時(shí),轉(zhuǎn)變?yōu)閲バ袨?,?duì)頭狼附近的優(yōu)質(zhì)獵物進(jìn)行尋優(yōu),此過(guò)程稱為狼群圍攻行為。將適應(yīng)度值最差的R匹狼淘汰同時(shí)在尋優(yōu)空間內(nèi)隨機(jī)產(chǎn)生R匹狼進(jìn)行補(bǔ)充,此過(guò)程稱為” 強(qiáng)者生存”的狼群更新機(jī)制。
stop();
ypjj.stop();
}
an2.addEventListener(MouseEvent.CLICK,a2)
function a2(e:MouseEvent) {
play();
ypjj.play();
}
3.3 利用四個(gè)按鈕控制動(dòng)畫(huà)及影片剪輯元件播放停止的實(shí)現(xiàn)腳本
在動(dòng)畫(huà)中拖入四個(gè)按鈕,給單擊實(shí)現(xiàn)動(dòng)畫(huà)停止的按鈕實(shí)例命名為an1, 給單擊實(shí)現(xiàn)動(dòng)畫(huà)播放的按鈕實(shí)例命名為an2,給單擊實(shí)現(xiàn)影片剪輯停止的按鈕實(shí)例命名為an3, 給單擊實(shí)現(xiàn)影片剪輯播放的按鈕實(shí)例命名為an4,為實(shí)現(xiàn)動(dòng)畫(huà)測(cè)試時(shí)動(dòng)畫(huà)及影片剪輯停止在第一幀,單擊播放和停止按鈕分別實(shí)現(xiàn)控制動(dòng)畫(huà)及影片剪輯的播放和停止,在as圖層第一幀寫(xiě)入如下腳本:
stop();
ypjj.stop();
an1.addEventListener(MouseEvent.CLICK,a1);
function a1(e:MouseEvent) {
stop();
}
an2.addEventListener(MouseEvent.CLICK,a2)
function a2(e:MouseEvent) {
play();
}
an3.addEventListener(MouseEvent.CLICK,a3);
function a3(e:MouseEvent) {
ypjj.stop();
}
an4.addEventListener(MouseEvent.CLICK,a4)
function a4(e:MouseEvent) {
ypjj.play();
}
教學(xué)中可以提供腳本,讓學(xué)生輸入,也可以建立好腳本文本文件,讓學(xué)生復(fù)制相關(guān)腳本,直接應(yīng)用。
以上是本人在多年的Flash動(dòng)畫(huà)教學(xué)中關(guān)于as3應(yīng)用思考,自己經(jīng)歷了由as2到as3的轉(zhuǎn)變,現(xiàn)在很多Flash cs3、cs4、cs5、cs6的教材,提供的as腳本還是as2的內(nèi)容,在這些內(nèi)容的基礎(chǔ)上,希望能為學(xué)習(xí)as3腳本提供幫助。