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

文档序号:9288634阅读:来源:国知局
优解的适应度小于实 际种群的全局最优解的适应度值,将影子种群的全局最优解赋值给实际种群的全局最优 解,同时任选一个粒子,将影子种群的全局最优解赋值给该粒子的个体最优解,然后执行步 骤4;
[0042] 步骤4,判断粒子群的最大迭代次数是否达到设定次数,若达到则迭代结束,且迭 代结束后获得实际种群的最终全局最优解,并将该最终全局最优解转换为分配方案;否则 返回执行步骤3。
[0043] 有益效果:
[0044] 相比于原算法,优化后算法通过引入种群爆炸算子,防止种群陷入局部最优解,因 此加强了算法的全局寻优能力;通过引入影子种群,加强了在当前全局极值附近的寻优能 力。因此,通过本优化算法,可大大增加找到最优解的概率。由于增强了全局寻优能力,获 得劣解(适应度明显较差的解)的可能性也大大降低。
[0045] 实现简单,优化操作的时间代价(即在原算法时间基础上增加的时间)较低。本 方法中仅仅引入几个参数,计算量少,执行种群爆炸算子的时间复杂度与基本粒子群算法 执行一代寻优操作的时间复杂度相同;影子种群的每一代更新也与执行一代寻优操作的时 间复杂度相同。由于对种群爆炸算子的限制效果,不会频繁的执行种群爆炸算子,可满足高 实时性的要求。
【附图说明】
[0046] 图Ia为本发明的6X 5规模结果图;
[0047] 图Ib为本发明的IOX 10规模结果图;
[0048] 图Ic为本发明的15X20规模结果图。
【具体实施方式】
[0049] 本发明的基于种群爆炸粒子群算法的目标分配优化方法,其包括:
[0050] 步骤1,将己方和对方均采用实数编码,对方记为1,2,…q-Ν,己方记为1,2,… k…M,则寻优过程中的可行解空间为(X^X2…X1…xM),表示分配方案,并随机产生初始分配 方案,其中,X 1的取值范围为1~N之间的整数,X 1I q表示第q个对方分配给第i个己方, N为对方总数,M为己方总数;
[0051] 步骤11,随机产生第一个初始粒子Xi= (η1,<···, ,·.·<),粒子位置各 维的分量值属于区间(〇, 1);
[0052] 步骤12,以第一个初始粒子X1为基础,按照
生成 其他初始粒子X2~X D;其中,D为种群规模,g表示第η个粒子位置的第i维分量;
[0053] 步骤13,将已生成的所有初始粒子Xj$r〇und(XnX (N-l)+l)取整,获得初始分配 方案,其中η = 1,2,一D ;
[0054] 步骤2,利用公式?a
十算初始种群Xi~X D 中各个粒子的适应度值,并设定各个粒子的适应度值为各个粒子当前的个体最优解pbest ; 从各个粒子的个体最优解pbest中选择最小作为初始种群的全局最优解gbest ;
[0055] 其中,tq为第q个对方的威胁度值,p kq为己方k对对方q的命中率,y kq的值为0 或1,若为1则己方k攻击对方q,否则己方k不攻击对方q ;
[0056] 步骤3,采用迭代过程进行寻优搜索:
[0057] 步骤31,若当前粒子种群同时满足以下三个条件,则执行步骤32 ;否则,直接执行 35 ;
[0058] 1)从第m次迭代到当前迭代之间保持全局最优解gbest持续不变的迭代次数 (t-m)大于第一设定阈值;
[0059] 2)设t为当前迭代次数,t小于第二设定阈值;
[0060] 3)种群爆炸算子未被屏蔽,初始种群爆炸算子默认为未被屏蔽;
[0061] 步骤32,判断粒子的收敛程度:
[0062] 根据当前的迭代次数 t 通过 c_boundary = ((MaxDT-t)/MaxDT+0. 〇5) X dis_BANG 计算一个收敛边界c_boundary,并计算各粒子到全局最优解gbest的欧式距离DIS,若DIS〈 收敛边界c_boundary,则粒子收敛于全局最优解gbest ;
[0063] 判断完所有粒子的收敛程度后,若收敛边界c_boundary内的粒子达到设定量时 执行步骤33,否则直接执行步骤35 ;
[0064] 其中,淑_ WaxDT为最大迭代次数,dis_BANG为常数,代表 最大收敛边界;
[0065] 步骤33,执行种群爆炸算子后执行步骤34,执行种群爆炸算子包括:
[0066] 步骤 33I,利用 BANG =( (MaxDT-t) /MaxDT+0. 〇2) X (N/3) +1 计算爆炸威力 BANG, 其中,MaxDT为最大迭代次数,t为当前迭代次数;,
[0067] 步骤332,根据
十算第i个粒子的爆炸方向矩阵仁, 则计算结果表示为
^ rand表示取0~1之间 均匀分布的一个随机数,// =1表示第i个粒子的第j维将受到"引力",.//=-1表示第i 个粒子的第j维将受到"斥力",所述"斥力"即使粒子远离全局最优解方向的力;"引力"即 使粒子接近全局最优解方向的力;
[0068] 步骤333,用Vffi XBANG更新粒子速度Vi,用Xfvi更新粒子位置X i;
[0069] 步骤 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)实时更新;
[0070] 其中,w为速度更新公式中原速度的权重值,Cl、C2分别为速度更新公式中局部最 优解和全局最优解的权重值;
[0071] 步骤35,若不满足条件3):
[0072] 则依据(w+w_l) Xvfc1XrandX (Pbest-Xi)+ (c2+c_2) XrandX (gbest-Xj 更新粒 子速度V1,然后执行步骤36;
[0073] 若满足条件3):
[0074] 则依据 WXvJc1XrandX (Pbest-XiHc2XrandX (gbest-?Q 更新粒子速度 Vi,然 后执彳丁步骤36 ;
[0075] 步骤36,检测粒子速度是否越界:粒子速度V1任意一维的取值在[_N/4,N/4]之 外,则越界,否则未越界;若越界,该维的速度值取边界值,未越界速度不变;执行步骤37 ;
[0076] 步骤37,依据Xfvi更新粒子位置X ;,执行步骤38 ;
[0077] 步骤38,检测粒子位置是否越界:粒子任意一维的取值在为[1,N]之外,则越界, 否则,未越界;若越界,该维的值取边界值附近一定范围内的随机值,未越界位置不变;
[0078] 步骤39,更新全局最优解与个体最优解
[0079] 如果t次迭代产生的粒子新位置的适应度小于该粒子的个体最优解pbest的适应 度,则更新该粒子的个体最优解为粒子新位置,否则不变;若粒子新位置的个体最优解的适 应度小于全局最优解的适应度,则用该粒子的个体最优解取代全局最优解,否则不变;同时 执行步骤40和步骤41 ;
[0080] 步骤40,若当前迭代过程中执行过种群爆炸算子,则要生成影子种群:影子种群 的初始位置为t-ι次迭代执行完毕的粒子位置或者各个粒子的个体最优位置;若当前迭代 过程中未执行过种群爆炸算子,则直接执行步骤4 ;
[0081] 在种群爆炸算子的影响代数t+Ι到t+U中依次进行交叉操作,直到第t+U次迭代 结束,获得影子种群的全局最优解;
[0082] U为种群爆炸屏蔽量,即t+Ι到t+U默认种群爆炸算子为被屏蔽,且受到种群爆炸 算子影响,执行步骤42;
[0083] 步骤41,t+l到t+U次迭代中,实际种群直接执行步骤34、36、37、38和39,直到第 t+U次迭代结束,获得实际种群的全局最优解,执行步骤42 ;
[0084] 步骤42,将影子种群与实际种群融合:若影子种群的全局最优解的适应度小于实 际种群的全局最优解的适应度值,将影子种群的全局最优解赋值给实际种群的全局最优 解,同时任选一个粒子,将影子种群的全局最优解赋值给该粒子的个体最优解,然后执行步 骤4;
[0085] 步骤4,判断粒子群的最大迭代次数是否达到设定次数,若达到则迭代结束,且迭 代结束后获得实际种群的最终全局最优解,并将该最终全局最优解转换为分配方案;否则 返回执行步骤3。
[0086] 为进一步说明上述算法,对本发明使用的改进粒子
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1