1.一种基于改进粒子群算法的协同多任务分配方法,其特征在于,该方法包含以下步骤:步骤1,获取协同作战的 个作战单元的集合 ,集合 内包含每个作战单元的信息;获取 个作战任务的集合 ,集合 内包含每个作战任务目标信息;
步骤2,根据作战任务,对武器资源需求与作战单元拥有的武器资源建立协同多任务分配模型;
步骤3,采用改进的粒子群优化算法求解协同多任务分配模型;
步骤4,采用基于交叉进化的粒子更新策略和基于共性的局部搜索策略对初始化后的粒子位置进行更新迭代;
步骤5,迭代完成后,输出解集中所有粒子位置,即为任务分配方案;
步骤1的具体方法如下:
1.1)假设对于上级作战下达的作战目标分解出具有 个作战任务的任务清单,划分为N个作战单元 ;
1.2)每个任务表示为 , ,其中,
是任务 的目标位置; 是任务 的执行时间; 是任务 的完成时间要求; 是任务 的能力需求向量,且有,其中, 是任务 对第
v项武器资源的需求量;
1.3)每个作战单元表示为 ,其
中, 是作战单元 的初始位置, 是作战单元 的机动速度, 是作战单元 的武器资源成本, 是作战单元 拥有的武器资源向量,且有,其中, 是作战单元
拥有第 项武器资源数量大小, , 表示 种不同的武器资源;
步骤2的具体方法如下:
2 .1)定义向量 表示所有任务的执行顺序,集合为执行任务 的作战单元集合,即作战任务 的执行主体,其中, 为执行任务 的作战单元的数量,则所有作战任务的执行主体集合为,由此得到作战任务分配问题的解为(Q,S);
2.2)根据作战任务的资源需求与作战单元的作战能力,确定任务分配的指标,建立了如下的目标函数: (1)
式(1)中, 与 分别是两个目标函数: 是任务完成总时长, 是任务成本消耗;
其中, 的计算公式如下:
(2)
式(2)中, 为任务 的执行结束时间,以0为始点至执行任务最晚结束时间即为任务完成总时长, 的计算方式如下: (3)
式(3)中, 的计算包含任务开始时间与任务执行时长两部分,其中,任务开始时间的计算为该任务对应的作战单元执行完前驱任务的完成时间 ,加上该作战单元从前驱任务执行地点行进到当前任务执行地点的机动时间; 为任务 在作战单元 的执行队列 中对应的任务, 为该任务在队列 中的序号, 表示执行队列 中的前驱任务; 表示作战单元 的执行队列中的两个相邻的作战任务与 之间的距离,即 与 之间的距离,当 时, 表示作战单元 从其初始位置 出发到执行队列中第一个任务 的执行地点之间的距离;
任务成本消耗指完成所有任务花费的作战资源的成本,其计算方式如下: (4);
式(4)中, 是作战单元 执行任务 的武器运用系数, 是第n个作战单元的武器资源成本;
2.3)使用式(5)‑(6)约束条件对任务分配方案进行约束,约束条件如下表达式: (5)
(6)
式(5)中, 表示M个作战任务, 表示作战任务 的执行结束时间, 是任务 的完成时间要求阈值, 表示每项任务都能在其要求的完成时间之内完成;其中, 是任务 对第v项武器资源的需求量;式(6)中,表示V种不同的武器资源, 表示执行同一任务的所有作战单元的武器资源协同作战满足任务对各项武器资源的需求。
2.根据权利要求1所述的一种基于改进粒子群算法的协同多任务分配方法,其特征在于,步骤3的具体方法如下:(3.1)按组排序
设置一个时间单位SLOT,根据各作战任务不同的截止时间要求,以SLOT的整数倍为边界点,将任务划分为g个分组 ,并根据分组内任务的执行时间要求对分组进行排序,使排序后任意三个相邻分组均满足式(7): (7)
式中, 表示排序后的任意三组相邻的任务分组,分别为这三组中的任意任务,则必有 ,
其中, 分别是完成任务 的截止时间要求,
其表示前一分组中任一作战任务的截止时间必定先于后一分组中任一作战任务的截止时间,分组内部作战任务的顺序是任意的;将排序后的各组依序拼接在一起,即得到一个初始的任务执行顺序 ;
(3.2)能力需求约束处理
每个粒子根据(3.1)中按组排序策略得到的任务执行顺序 依次初始化位置向量,初始化方法如下:(3.2.1)选择任务执行顺序 中的第一个任务 ;
(3.2.2)从作战单元集合中选择一个符合所选作战任务需求的作战单元;
(3.2.3)判断所选作战单元是否在所选任务的执行主体 中,若不在,则将该作战单元加入到该作战任务对应的执行主体 中,否则,跳过该作战单元重新执行步骤(3.2.2);
(3.2.4)判断作战任务执行主体 所包含的武器资源聚合是否满足任务 的需求,若不满足,则执行步骤(3.2.2);
(3.2.5)若满足任务需求,判断是否所有任务均已完成分配,即是否 ,若未完成,则选择下一个任务,令 ,并执行步骤(3.2.2),若已完成,则表示粒子初始化结束,得到所有任务的执行主体的集合 ;
(3.3)根据(3.1)与(3.2)中得到的初始化后的粒子个体 ,采用二维矩阵的方式对粒子个体进行编码,具体步骤如下:①将任务执行顺序 中每个任务依序填入二维矩阵的第一行;
②对于矩阵第一行中每个作战任务,在矩阵第二行中的对应位置中填入其执行主体的各个单元,即完成对单个粒子的编码;粒子编码包含两行信息,第一行为任务编号信息,每一个编号表示一个作战任务;第二行为作战单元编号信息,每一个编号对应一个作战单元,相同作战单元在同一个作战任务的执行主体集合中最多会出现一次。
3.根据权利要求2所述的一种基于改进粒子群算法的协同多任务分配方法,其特征在于,在步骤4中,每个粒子通过与精英个体交叉进化的方式更新粒子状态,其中,精英个体为当前状态下粒子群中的非支配个体,具体过程如下:(4.1)生成一个空粒子个体作为更新后的新个体;
(4.2)设定向精英个体的进化概率 和局部搜索概率 ,选择精英个体中第一个作战任务 ;
(4.3)生成两个随机数 与 ,若 且 ,则对该任务执行基于共性的局部搜索策略后将该任务插入到新个体对应位置中;若 且 ,则将精英个体中该任务及其对应执行个体集合复制到新个体中对应位置上;若 ,则不进行任何改变,令,重复执行步骤(4.3),直至 ;
(4.4)开始遍历当前个体中的作战任务,选择当前个体中第一个任务 ;
(4.5)判断该任务的分配方案是否已存在于新个体中,若存在,则选择下一个任务令,并重复执行步骤(4.5);若不存在,则生成一个随机数 ,若 ,则对该任务执行基于共性的局部搜索策略后将该任务插入到新个体首个空位置上;若 ,则将当前个体中该任务及其对应执行个体集合直接复制到新个体中首个空位置上;
(4.6)判断是否已遍历完当前个体中所有任务,若未遍历结束,则选择当前个体中下一个任务,并执行步骤(4.5),若已遍历结束,则表示基于交叉进化的粒子更新策略执行结束。
4.根据权利要求3所述的一种基于改进粒子群算法的协同多任务分配方法,其特征在于,步骤(4.3)中,对该任务执行基于共性的局部搜索策略,具体方法如下:在当前个体 与精英个体 进行交叉更新时,选取任务 ,分别取出该任务在两个个体中的执行主体的集合 与 ,取两个集合的交集 ,判断 是否满足的能力需求,若不满足,则计算剩余所需的能力需求,为任务 分配新的作战单元以满足 的能力需求,并将新分配的作战单元添加到 中;否则,无需进行更改,将的执行主体改为 ,并将其插入新个体相应位置中。