发明内容
为了克服现有技术的不足,本发明提供一种基于多目标克隆进化算法的大规模武器-目标分配方法,给多目标大规模武器-目标分配问题提供一种合理可行的解决方案。
本发明解决其技术问题所采用的技术方案是:一种基于多目标克隆进化算法的大规模武器-目标分配方法,包括步骤如下:
步骤1,输入武器、目标相关信息,包括:武器数量W,目标数量M,武器平台P=[p1,…,pplatform],pplatform表示第platform个武器平台,各平台武器数量Pnum=[pnum1,…pnumplatform],pnumplatform表示第platform个武器平台包含的武器数量,目标威胁度Th=[th1,…,thM],thM表示第M个目标的威胁度,武器平台对目标的毁伤概率表示第platform个武器平台对第M个目标的毁伤概率;子种群的种群大小subpopsize,算法最大迭代次数maxstep,当前迭代次数step=1;
步骤2,采用整数编码方式作为个体编码规则,个体的可编码位数与武器数量W相等,个体的编码code表示成code=[c1,…,cW],c1,…,cW∈[0,M]且c1,…,cW均为自然数;建立W个规模为subpopsize的子种群,并将所有子种群中的每个个体的编码code的全部可编码位c1,…,cW都赋值为0;对第一个子种群中的所有个体,分别随机选择其编码中的一个编码位,再随机从(0,M]中选择一个整数Rand,将Rand赋值给该编码位;对第二个子种群中的所有个体,分别随机选择其编码中的二个编码位,随机从(0,M]中选择二个整数Rand1,Rand2,将Rand1,Rand2分别赋值给这两个编码位;以此类推,对第W个子种群中的所有个体,对其全部W个编码位,随机从(0,M]中选择W个整数Rand1,Rand2,…RandW,将Rand1,Rand2,…RandW分别赋值给W编码位;
步骤3,将武器对敌毁伤概率f以及所使用的武器数量g作为两个适应度评价指标,所使用的武器-目标分配多目标优化模型如下:
其中dij表示第i种武器平台的一个武器对第j个敌方来袭目标的毁伤概率,一种武器平台只有一种武器;多种武器平台可攻击同一目标,各武器平台可同时攻击多个目标;设决策矩阵为[xij]platform×M,才第i个武器平台攻击第j个目标,当第i个武器平台攻击第j个目标时xij取值为1,其他取值为0;
步骤4,取每个子种群中,具有最大的对敌毁伤概率f的个体,组合构成优势种群nondominatedpop;设第u个子种群中具有最大的对敌毁伤概率f的个体为bestindividualu,u∈[1,W],则优势种群
步骤5,判断当前迭代次数step是否等于最大迭代次数maxstep,若step=maxstep则停止算法,输出当前优势种群nondominatedpop;若step≠maxstep则进入步骤6;
步骤6,对优势种群nondominatedpop中的每个个体进行规模为subpopsize的克隆操作,得到W个新的子种群newpop1,…,newpopW,newpop1中包含subpopsize个bestindividual1,newpopW中包含subpopsize个bestindividualW;
步骤7,对子种群newpop1,…,newpopW进行进化,具体方法如下:
依次取子种群newpop1中的一个个体,以相等的概率选择三种进化算子中的一个对该个体执行进化;依次对子种群newpop2,…,newpopW执行进化;设当前需执行进化的个体为temppop,则三种进化算子的执行方式具体如下:
1)目标更换算子TCoperator执行方式如下:
1.1)随机选取个体temppop中的一个非零编码位,记为temp1;
1.2)随机生成一个正整数TC,TC∈(0,M];
1.3)如果TC与temp1的值相等,则返回步骤1.2;如果TC与temp1的值不相等,则继续执行;
1.4)用TC替换temp1的值;
2)武器更换算子WCoperator执行方式如下:
2.1)随机选取个体temppop中的一个非零编码位,记为temp2;
2.2)确定temp2所属的武器平台,记该武器平台为tempplatform1;
2.3)随机再选取个体temppop中的一个编码位,记为temp3;
2.4)确定temp3所属的武器平台,记该武器平台为tempplatform2;
2.5)如果tempplatform1=tempplatform2,则返回步骤2.3;否则继续执行下一步;
2.6)将编码位temp2的值与编码位temp3的值进行交换;
3)武器目标更换算子WTCoperator执行方式如下:
3.1)如果个体temppop没有值为零的编码位则不执行任何操作;如果个体temppop有值为零的编码位则执行下一步;
3.2)随机选择个体temppop的一个值为零的编码为,记为temp4;
3.3)确定temp4所属的武器平台,记该武器平台为tempplatform3;
3.4)随机选取个体temppop中的一个非零编码位,记为temp5;
3.5)确定temp5所属的武器平台,记该武器平台为tempplatform4;
3.6)如果tempplatform3=tempplatform4,则返回步骤3.2);否则继续执行下一步;
3.7)将编码位temp4的值与编码位temp5的值进行交换;
3.8)随机生成一个正整数TC,TC∈(0,M];
3.9)如果TC与temp4的值相等,则返回步骤3.8);如果TC与temp4的值不相等,则继续执行下一步;
3.10)用TC替换temp4的值;
步骤8,计算当前进化后所有子种群的pareto最优解,并用所有子种群的pareto最优解构成优势种群nondominatedpop;同时使得step加1,返回步骤5。
所述子种群的种群大小subpopsize取[10,30]间的整数;算法最大迭代次数maxstep取[30,70]间的整数。
本发明的有益效果是:针对大规模武器-目标分配问题的特点,设计了一种克隆进化计算方法,提出了三种求解大规模武器-目标分配问题的进化算子和优势种群克隆机制。本发明设计的克隆进化计算方法能够有效解决多目标大规模武器-目标分配问题,设计的三种进化算子具有很强的武器-目标分配方案可行解搜索能力。同时本发明采用了多子种群的策略,按照武器的数量生成子种群,能够全面的搜索武器-目标分配方案的可行解,在具有大规模武器和目标的环境下能够得到完整的pareto最优解,同时具备较好的收敛性。
具体实施方式
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
本发明按照图5所示的流程图实施如下步骤:
步骤1:输入武器、目标相关信息,确定算法相关参数。具体内容如下:
输入武器数量W;目标数量M;武器平台P=[p1,…,pplatform],platform表示平台的数量,Pplatform表示第platform个武器平台,其余类似;各平台武器数量Pnum=[pnum1,…pnumplatform],pnumplatform表示第platform个武器平台包含的武器数量,其余类似,满足目标威胁度Th=[th1,…,thM],thM表示第M个目标的威胁度,其余类似,满足武器平台对目标的毁伤概率D,D可以表示为:
式中dplatformM表示第platform个武器平台对第M个目标的毁伤概率,其余类似。
输入子种群的种群大小subpopsize,为了保持算法的求解性能subpopsize不宜过大或者过小,subpopsize可取[10,30]间的整数;算法最大迭代次数maxstep,为了保证算法性能,maxstep可取[30,70]间的整数;当前迭代次数step=1。
步骤2:根据个体编码规则和武器数量,生成多个初始子种群,具体内容如下:
2.1个体编码规则如下:采用整数编码方式,个体的可编码位数与武器数量W相等,个体的编码code可表示成code=[c1,…,cW],c1,…,cW∈[0,M]且c1,…,cW均为自然数。个体编码规则具体如图1所示。由图1可见个体的编码根据武器平台顺序排列,第1个武器平台的武器排在前面,接下来是第2个武器平台的武器,以此类推,最终所有W个武器组成个体的编码。
2.2子种群初始化方法如下:首先建立W个规模为subpopsize的子种群,并将所有子种群中的每个个体的编码code的全部可编码位赋值为0,即将c1,…,cW都赋值为0。然后,对第一个子种群中的所有个体,分别随机选择其编码中的一个编码位,随机从(0,M]中选择一个整数Rand,将Rand赋值给该编码位。接下来,对第二个子种群中的所有个体,分别随机选择其编码中的二个编码位,随机从(0,M]中选择二个整数Rand1,Rand2,将Rand1,Rand2分别赋值给这两个编码位。最后,按照以上方法以此类推,一直到第W个子种群,对第W个子种群中的所有个体,对其全部W个编码位,随机从(0,M]中选择W个整数Rand1,Rand2,…RandW,将Rand1,Rand2,…RandW分别赋值给W编码位。
步骤3:根据武器-目标分配多目标优化模型以及相关武器和目标信息,计算所有个体的适应度函数fitness,fitness由武器对敌毁伤概率f以及所使用的武器数量g两个适应度评价指标构成,即fitness=[f,g],具体计算方法如下:
将武器对敌毁伤概率f以及所使用的武器数量g作为两个适应度评价指标,所使用的武器-目标分配多目标优化模型如下:
其中dij表示第i种武器平台的一个武器对第j个敌方来袭目标的毁伤概率,一种武器平台只有一种武器;多种武器平台可攻击同一目标,各武器平台可同时攻击多个目标;设决策矩阵为[xij]platform×M,xij表示第i个武器平台攻击第j个目标,xij的表达式如下:
步骤4:计算当前所有子种群的pareto最优解,并用所有子种群的pareto最优解构成优势种群nondominatedpop,具体方法如下:
取每个子种群中,具有最大的对敌毁伤概率f的个体,将所有子种群中的这些个体组合构成优势种群nondominatedpop。设第u个子种群中具有最大的对敌毁伤概率f的个体为bestindividualu,u∈[1,W],则优势种群nondominatedpop可表示为如下:
步骤5:判断当前迭代次数step是否等于最大迭代次数maxstep,若step=maxstep则停止算法,输出当前优势种群nondominatedpop;若step≠maxstep则继续执行下面的步骤。
步骤6:对优势种群nondominatedpop中的每个个体进行规模为subpopsize的克隆操作,得到W个新的子种群,分别记为newpop1,…,newpopW,即newpop1中包含subpopsize个bestindividual1,newpopW中包含subpopsize个bestindividualW,其余类似。克隆操作具体如图2所示。
步骤7:对子种群newpop1,…,newpopW进行进化。进化算子共分为三种,第一种为目标更换算子记为TCoperator,第二种为武器更换算子记为WCoperator,第三种为武器目标更换算子记为WTCoperator。进化具体方法如下:
首先取子种群newpop1中第一个个体,然后以相等的概率选择三种进化算子中的一个,最后利用选择的进化算子对第一个个体执行进化。按照以上步骤对第二个个体到第subpopsize个个体进行,从而完成子种群newpop1的进化。子种群newpop2,…,newpopW的进化方式类似。设当前需执行进化的个体为temppop,则三种进化算子的执行方式具体如下:
2目标更换算子(TCoperator)执行方式如下:
2.1随机选取个体temppop中的一个非零编码位,记为temp1。
1.2随机生成一个正整数TC,TC∈(0,M]。
1.3如果TC与temp1的值相等,则返回步骤1.2;如果TC与temp1的值不相等,则继续执行。
1.4用TC替换temp1的值。
2武器更换算子(WCoperator)执行方式如下:
2.1随机选取个体temppop中的一个非零编码位,记为temp2。
2.2确定temp2所属的武器平台,记该武器平台为tempplatform1。
2.3随机再选取个体temppop中的一个编码位,记为temp3。
2.4确定temp3所属的武器平台,记该武器平台为tempplatform2。
2.5如果tempplatform1=tempplatform2,则返回步骤2.3;否则继续执行下一步。
2.6将编码位temp2的值与编码位temp3的值进行交换。
3武器目标更换算子(WTCoperator)执行方式如下:
3.1如果个体temppop没有值为零的编码位则不执行任何操作;如果个体temppop有值为零的编码位则执行以下步骤。
3.2随机选择个体temppop的一个值为零的编码为,记为temp4。
3.3确定temp4所属的武器平台,记该武器平台为tempplatform3。
3.4随机选取个体temppop中的一个非零编码位,记为temp5。
3.5确定temp5所属的武器平台,记该武器平台为tempplatform4。
3.6如果tempplatform3=tempplatform4,则返回步骤3.2;否则继续执行下一步。
3.7将编码位temp4的值与编码位temp5的值进行交换。
3.8随机生成一个正整数TC,TC∈(0,M]。
3.9如果TC与temp4的值相等,则返回步骤3.8;如果TC与temp4的值不相等,则继续执行。
3.10用TC替换temp4的值。
步骤8:计算当前进化后所有子种群的pareto最优解,并用所有子种群的pareto最优解构成优势种群nondominatedpop。同时使得step=step+1,返回步骤5。
本发明的效果可以通过以下仿真实例进一步说明:
实例1:武器数量8;目标数量4;武器平台有3个;各平台武器数量Pnum=[3 3 2];目标威胁度Th=[0.15 0.36 0.18 0.31];子种群的种群大小20;算法最大迭代次数50;武器平台对目标的毁伤概率D为:
D=[0.78 0.76 0.62 0.71;
0.92 0.68 0.59 0.59;
0.86 0.93 0.77 0.69]
为了便于对比算法的收敛性,采用穷举法求出该实例下可行解与pareto最优解,pareto最优解如表1所示。
表1pareto最优解
g |
1 |
2 |
3 |
4 |
f |
0.3348 |
0.5549 |
0.6935 |
0.8315 |
g |
5 |
6 |
7 |
8 |
f |
0.8953 |
0.9210 |
0.9389 |
0.9554 |
独立运行本发明提出的算法30次,记录每一次最终的优势种群。利用IGD(Invertedgenerational distance)指标来评价算法的性能,IGD指标计算公式如下:
式中Z表示仿真实例问题的真实pareto最优解的集合,Z=(z1,z2,…,z|Z|);算法得到的pareto最优解的集合为A,A=(a1,a2,…,a|A|),在本发明算法中A即为最终的优势种群。
独立运行本发明算法30次,计算每次运行的最终IGD如表2所示。
表2独立运行30次的IGD值
序号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
IGD |
0.0178 |
0.0139 |
0.0119 |
0.0058 |
0.0013 |
0.0170 |
0.0076 |
0.0252 |
0.0131 |
0.0041 |
序号 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
IGD |
0.0184 |
0.0065 |
0.0120 |
0.0053 |
0.0117 |
0.0057 |
0.0154 |
0.0170 |
0.0063 |
0.0048 |
序号 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
IGD |
0.0074 |
0.0138 |
0.0218 |
0.0229 |
0.02 |
0.0092 |
0.0135 |
0.0165 |
0.0205 |
0.0178 |
图3为独立运行30次的IGD值的统计盒图。从图3和表2可以看到,本发明算法具有良好的收敛特性和稳定性,能够较好的逼近多目标武器-目标分配问题的pareto最优解。
实例2:武器数量50;目标数量20;武器平台有10个;各平台武器数量Pnum=[5 5 55 5 5 5 5 5 5];目标威胁度Th=[0.02 0.03 0.05 0.08 0.07 0.01 0.09 0.04 0.060.05 0.05 0.05 0.03 0.07 0.02 0.08 0.04 0.06 0.01 0.09];子种群的种群大小20;算法最大迭代次数50;武器平台对目标的毁伤概率D为:
D=[0.783 0.762 0.627 0.712 0.651 0.794 0.944 0.852 0.969 0.752 0.7930.851 0.896 0.932 0.686 0.914 0.887 0.751 0.692 0.962;
0.925 0.683 0.591 0.593 0.892 0.756 0.688 0.763 0.788 0.953 0.9680.863 0.648 0.794 0.814 0.925 0.694 0.832 0.674 0.845;
0.866 0.934 0.772 0.695 0.598 0.897 0.754 0.685 0.763 0.755 0.7910.857 0.898 0.936 0.688 0.911 0.888 0.754 0.696 0.976;
0.927 0.685 0.599 0.591 0.894 0.598 0.897 0.751 0.686 0.768 0.7920.854 0.893 0.938 0.684 0.927 0.696 0.835 0.673 0.847;
0.629 0.717 0.654 0.798 0.944 0.859 0.686 0.766 0.751 0.796 0.8570.895 0.932 0.683 0.928 0.919 0.889 0.756 0.690 0.964;
0.592 0.899 0.593 0.894 0.758 0.753 0.795 0.857 0.892 0.934 0.6550.749 0.899 0.962 0.943 0.565 0.788 0.817 0.699 0.867;
0.751 0.791 0.858 0.896 0.937 0.896 0.754 0.689 0.763 0.799 0.9430.853 0.688 0.687 0.927 0.913 0.885 0.758 0.758 0.688;
0.684 0.762 0.757 0.929 0.682 0.595 0.592 0.894 0.936 0.684 0.9680.949 0.561 0.784 0.816 0.652 0.793 0.943 0.857 0.689;
0.895 0.754 0.686 0.762 0.784 0.687 0.593 0.592 0.894 0.592 0.8560.896 0.936 0.688 0.924 0.855 0.685 0.685 0.925 0.914;
0.857 0.686 0.765 0.754 0.796 0.789 0.761 0.627 0.717 0.651 0.7940.811 0.924 0.692 0.831 0.966 0.944 0.563 0.782 0.815]
因为武器-目标分配问题属于NP问题,对于大规模的武器-目标分配问题若采用穷举法求解真实pareto最优解是不现实的,因此在此只说明算法的可行性。
独立运行本发明算法一次,得到pareto最优解如表3所示。
表3本发明算法在实例2下的pareto最优解
g |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
f |
0.0866 |
0.1610 |
0.2468 |
0.3084 |
0.3748 |
0.4329 |
0.4723 |
0.5398 |
0.5879 |
0.6263 |
g |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
f |
0.6602 |
0.7095 |
0.7439 |
0.7798 |
0.7981 |
0.8308 |
0.8496 |
0.8492 |
0.8790 |
0.8804 |
g |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
f |
0.9003 |
0.8954 |
0.9164 |
0.9177 |
0.9236 |
0.9303 |
0.9345 |
0.9402 |
0.9443 |
0.9521 |
g |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
f |
0.9567 |
0.9576 |
0.9612 |
0.9663 |
0.9664 |
0.9677 |
0.9696 |
0.9724 |
0.9743 |
0.9792 |
g |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
f |
0.9765 |
0.9789 |
0.9805 |
0.9832 |
0.9849 |
0.9845 |
0.9866 |
0.9877 |
0.9886 |
0.9888 |
图4为本发明算法在实例2下的pareto最优解。由图4可见,本发明算法能够完整的得到大规模武器-目标分配问题的pareto最优解,并且最优解的分布符合真实pareto最优解的分布规律,因此本发明算法能够有效解决大规模武器-目标分配问题。