一种基于种群爆炸粒子群算法的目标分配优化方法

文档序号:9288634阅读:563来源:国知局
一种基于种群爆炸粒子群算法的目标分配优化方法
【技术领域】
[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,将影子种群与实际种群融合:若影子种群的全局最
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1