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