一種基于種群爆炸粒子群算法的目標(biāo)分配優(yōu)化方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于智能算法優(yōu)化領(lǐng)域,尤其涉及一種基于種群爆炸粒子群算法的目標(biāo)分 配優(yōu)化方法。
【背景技術(shù)】
[0002] 虛擬戰(zhàn)場(chǎng)環(huán)境中的目標(biāo)分配是CGF(Computer Generated Forces,計(jì)算機(jī)生成兵 力)真實(shí)行為模擬的一個(gè)重要方面,目標(biāo)分配是許多CGF作戰(zhàn)實(shí)體的一個(gè)共同行為,它模擬 的準(zhǔn)確性直接影響CGF的其它作戰(zhàn)行為和CGF模擬的真實(shí)性。
[0003] "目標(biāo)分配"的研究意義不僅是可以在CGF仿真系統(tǒng)中提升仿真效果的可信度,給 人以很好的"沉浸感"。同時(shí),"目標(biāo)分配"的研究在實(shí)際作戰(zhàn)中也可以發(fā)揮巨大的作用,可 為作戰(zhàn)人員提供快速,高效的打擊方案。
[0004] 虛擬戰(zhàn)場(chǎng)環(huán)境中CGF的目標(biāo)分配是現(xiàn)代戰(zhàn)爭(zhēng)中一個(gè)十分重要的問(wèn)題。然而,其解 空間隨著武器總數(shù)和目標(biāo)總數(shù)的增加而呈指數(shù)級(jí)的增加,使其成為一個(gè)多參數(shù)、多約束的 "NP完全問(wèn)題"。所以只能用完全枚舉法求解得到其最優(yōu)解。顯然在規(guī)模較大的情況下是不 現(xiàn)實(shí)的,因此必須通過(guò)一定的智能算法解決。為解決這一問(wèn)題,人們提出許多算法,例如,神 經(jīng)網(wǎng)絡(luò)方法,遺傳算法,粒子群算法等等。這些算法各有優(yōu)劣,但是也大多具有一定的局限 性,例如收斂速度較慢、實(shí)際操作中難以實(shí)現(xiàn)等等。
[0005] 粒子群算法(PS0算法)最早由Kennedy等于1995年提出,此算法受鳥(niǎo)群覓食行為 的啟發(fā),并用于解決優(yōu)化問(wèn)題。同遺傳算法相比,PSO算法不但具有遺傳算法的全局尋優(yōu)能 力,還具有較強(qiáng)的局部尋優(yōu)能力。由于PSO算法概念簡(jiǎn)單、實(shí)現(xiàn)容易、收斂速度快、可適應(yīng)大 規(guī)模模型等優(yōu)點(diǎn)PSO被廣泛應(yīng)用于多個(gè)領(lǐng)域。但是PSO算法在搜索的初期往往收斂過(guò)快,當(dāng) 解空間中存在多個(gè)極值點(diǎn)(即在該點(diǎn)附近的區(qū)域中,這一點(diǎn)所代表的分配方案是最好的) 時(shí),種群容易收斂在極值點(diǎn)附近,因此在尋優(yōu)的后期種群容易陷入局部最優(yōu)解,導(dǎo)致難以獲 得最優(yōu)的解。
【發(fā)明內(nèi)容】
[0006] 為解決上述問(wèn)題,本發(fā)明提供一種基于種群爆炸粒子群算法的目標(biāo)分配優(yōu)化方 法,其具體包括以下步驟:
[0007] 步驟1,將己方和對(duì)方均采用實(shí)數(shù)編碼,對(duì)方記為1,2, 一q…N,己方記為1,2,… k…M,則尋優(yōu)過(guò)程中的可行解空間為(X^X2…X1…xM),表示分配方案,并隨機(jī)產(chǎn)生初始分配 方案,其中,X 1的取值范圍為1~N之間的整數(shù),X 1I q表示第q個(gè)對(duì)方分配給第i個(gè)己方, N為對(duì)方總數(shù),M為己方總數(shù);
[0008] 步驟11,隨機(jī)產(chǎn)生第一個(gè)初始粒子X(jué)1= (X11, Λ·;2,.,,xi_, ...X1iM,粒子位置各 維的分量值屬于區(qū)間(〇, 1);
[0009] 步驟12,以第一個(gè)初始粒子X(jué)1為基礎(chǔ),按照
生成 其他初始粒子x2~X D;其中,D為種群規(guī)模,4表示第η個(gè)粒子位置的第i維分量;
[0010] 步驟13,將已生成的所有初始粒子X(jué)j$r〇und(XnX (N-l)+l)取整,獲得初始分配 方案,其中η = 1,2,一D ;
[0011] 步驟2,利用公
卜算初始種群X1-Xd 中各個(gè)粒子的適應(yīng)度值,并設(shè)定各個(gè)粒子的適應(yīng)度值為各個(gè)粒子當(dāng)前的個(gè)體最優(yōu)解Pbest ; 從各個(gè)粒子的個(gè)體最優(yōu)解pbest中選擇最小作為初始種群的全局最優(yōu)解gbest ;
[0012] 其中,tq為第q個(gè)對(duì)方的威脅度值,p kq為己方k對(duì)對(duì)方q的命中率,y kq的值為0 或1,若為1則己方k攻擊對(duì)方q,否則己方k不攻擊對(duì)方q ;
[0013] 步驟3,采用迭代過(guò)程進(jìn)行尋優(yōu)搜索:
[0014] 步驟31,若當(dāng)前粒子種群同時(shí)滿(mǎn)足以下三個(gè)條件,則執(zhí)行步驟32 ;否則,直接執(zhí)行 35 ;
[0015] 1)從第m次迭代到當(dāng)前迭代之間保持全局最優(yōu)解gbest持續(xù)不變的迭代次數(shù) (t-m)大于第一設(shè)定閾值;
[0016] 2)設(shè)t為當(dāng)前迭代次數(shù),t小于第二設(shè)定閾值;
[0017] 3)種群爆炸算子未被屏蔽,初始種群爆炸算子默認(rèn)為未被屏蔽;
[0018] 步驟32,判斷粒子的收斂程度:
[0019] 根據(jù)當(dāng)前的迭代次數(shù) t 通過(guò) c_boundary = ((MaxDT-t)/MaxDT+0. 〇5) X dis_BANG 計(jì)算一個(gè)收斂邊界c_boundary,并計(jì)算各粒子到全局最優(yōu)解gbest的歐式距離DIS,若DIS〈 收斂邊界c_boundary,則粒子收斂于全局最優(yōu)解gbest ;
[0020] 判斷完所有粒子的收斂程度后,若收斂邊界c_boundary內(nèi)的粒子達(dá)到設(shè)定量時(shí) 執(zhí)行步驟33,否則直接執(zhí)行步驟35 ;
[0021] 其中
axDT為最大迭代次數(shù),dis_BANG為常數(shù),代表 最大收斂邊界;
[0022] 步驟33,執(zhí)行種群爆炸算子后執(zhí)行步驟34,執(zhí)行種群爆炸算子包括:
[0023] 步驟 331,利用 BANG =( (MaxDT-t) /MaxDT+0. 02) X (N/3) +1 計(jì)算爆炸威力 BANG, 其中,MaxDT為最大迭代次數(shù),t為當(dāng)前迭代次數(shù);,
[0024] 步驟332,根據(jù)
卜算第i個(gè)粒子的爆炸方向矩陣仁, 則計(jì)算結(jié)果表示為:.;
rand表示取0~1之間 均勻分布的一個(gè)隨機(jī)數(shù),乂" =1表示第i個(gè)粒子的第j維將受到"引力",//= 一 1表示第i 個(gè)粒子的第j維將受到"斥力",所述"斥力"即使粒子遠(yuǎn)離全局最優(yōu)解方向的力;"引力"即 使粒子接近全局最優(yōu)解方向的力;
[0025] 步驟333,用Vffi XBANG更新粒子速度Vi,用Xfvi更新粒子位置X i;
[0026] 步驟 34,用(w+w_l) X Vjc1 XrandX (Pbest-Xi) + (c2+c_2) XrandX (gbest-Xj 更 新粒子速度V1,然后執(zhí)行步驟36,其中w_l和c_2為引入的調(diào)整參數(shù),并且在每一次迭代結(jié) 束后進(jìn)行更新,w_l用w_l+(-〇. 3/40)實(shí)時(shí)更新,c_2用c_2+(l/40)實(shí)時(shí)更新;
[0027] 其中,w為速度更新公式中原速度的權(quán)重值,Cl、C2分別為速度更新公式中局部最 優(yōu)解和全局最優(yōu)解的權(quán)重值;
[0028] 步驟35,若不滿(mǎn)足條件3):
[0029] 則依據(jù)(w+w_l) Xvfc1XrandX (Pbest-Xi)+ (c2+c_2) XrandX (gbest-Xj 更新粒 子速度V1,然后執(zhí)行步驟36;
[0030] 若滿(mǎn)足條件3):
[0031] 則依據(jù) WXvJc1XrandX (Pbest-XiHc2XrandX (gbest-?Q 更新粒子速度 Vi,然 后執(zhí)彳丁步驟36 ;
[0032] 步驟36,檢測(cè)粒子速度是否越界:粒子速度V1任意一維的取值在[_N/4,N/4]之 外,則越界,否則未越界;若越界,該維的速度值取邊界值,未越界速度不變;執(zhí)行步驟37 ;
[0033] 步驟37,依據(jù)Xfv1更新粒子位置X i,執(zhí)行步驟38 ;
[0034] 步驟38,檢測(cè)粒子位置是否越界:粒子任意一維的取值在為[1,N]之外,則越界, 否則,未越界;若越界,該維的值取邊界值附近一定范圍內(nèi)的隨機(jī)值,未越界位置不變;
[0035] 步驟39,更新全局最優(yōu)解與個(gè)體最優(yōu)解
[0036] 如果t次迭代產(chǎn)生的粒子新位置的適應(yīng)度小于該粒子的個(gè)體最優(yōu)解pbest的適應(yīng) 度,則更新該粒子的個(gè)體最優(yōu)解為粒子新位置,否則不變;若粒子新位置的個(gè)體最優(yōu)解的適 應(yīng)度小于全局最優(yōu)解的適應(yīng)度,則用該粒子的個(gè)體最優(yōu)解取代全局最優(yōu)解,否則不變;同時(shí) 執(zhí)行步驟40和步驟41 ;
[0037] 步驟40,若當(dāng)前迭代過(guò)程中執(zhí)行過(guò)種群爆炸算子,則要生成影子種群:影子種群 的初始位置為t-i次迭代執(zhí)行完畢的粒子位置或者各個(gè)粒子的個(gè)體最優(yōu)位置;若當(dāng)前迭代 過(guò)程中未執(zhí)行過(guò)種群爆炸算子,則直接執(zhí)行步驟4 ;
[0038] 在種群爆炸算子的影響代數(shù)t+Ι到t+U中依次進(jìn)行交叉操作,直到第t+U次迭代 結(jié)束,獲得影子種群的全局最優(yōu)解;
[0039] U為種群爆炸屏蔽量,即t+Ι到t+U默認(rèn)種群爆炸算子為被屏蔽,且受到種群爆炸 算子影響,執(zhí)行步驟42;
[0040] 步驟41,t+l到t+U次迭代中,實(shí)際種群直接執(zhí)行步驟34、36、37、38和39,直到第 t+U次迭代結(jié)束,獲得實(shí)際種群的全局最優(yōu)解,執(zhí)行步驟42 ;
[0041] 步驟42,將影子種群與實(shí)際種群融合:若影子種群的全局最