1.一种基于Q学习的无人机任务协同分配方法,其特征在于,包括如下步骤:(1)初始化参数:
初始化大小为X·Y·Z的空间场景中待执行任务集合为T={t1,t2,...,ti,...,tm},能执行T中任务的无人机集合为At={at1,at2,...,atj,...,atn},任务所需执行量集合E={e1,e2,...,ei,...,em},其中,ti表示第i个任务,m表示任务总数,m>0,atj表示第j个无人机,n表示无人机总数,n>0,ei表示任务ti需要的总执行量;
(2)获取每个无人机atj的邻居无人机集合:通过空间场景中每个无人机atj的位置坐标,计算atj与其他n‑1个无人机atw的距离dsjw,并将atw中dsjw小于预设的通信距离阈值max_pass的无人机作为atj的邻居,得到atj的邻居无人机子集合 则At的邻居无人机集合为NEI=
1 j n
{Ne ,...,Ne ,...,Ne},其中,w∈n,w≠j,max_pass>0, 表示atj的第h个邻居,j_num为atj的邻居数量;
(3)确定敏感无人机和间接无人机:(3a)通过空间场景中每个无人机atj与每个任务ti的位置坐标,计算atj与ti间的距离
1 j n j
bsji,得到距离集合BIS={Bs ,...,Bs ,...,Bs},其中,Bs 表示atj与m个任务的距离子集j
合,Bs={bsj1,...,bsji,...,bsjm},bisji>0;
j **
(3b)将At中Bs 小于预设的距离阈值L的n 个无人机作为敏感无人机**
其余n‑n 个无人机作为间接无人机 则每by
个敏感无人机atby与m个任务的距离子集合为Bs ,每个间接无人机atcx与m个任务的距离子cx **
集合为Bs ,其中,L>0,atby表示第y个敏感无人机,n 表示敏感无人机的数量,atcx表示第x* * **
个间接无人机,n表示间接无人机的数量,n=n‑n ;
(4)每个敏感无人机atby向其邻居无人机发送通信包:by
(4a)每个敏感无人机atby选择其与m个任务的距离子集合Bs 中数值最小的任务 作by
为当前执行任务,并计算atby经过Bs 衰减后具有的对 施加执行量 再将 更新为将 更新为 其中, 表示T中第 个任务;
(4b)将 作为通信包任务paby、当前时间作为通信包发送时间timeby,并将paby和timebyby
构成atby的通信包packby发送至Ne 中的邻居无人机;
(5)获取每个间接无人机atcx的Q表:cx
(5a)atcx计算经过其与m个任务的距离子集合Bs 衰减后能对T中每个任务ti施加的执行量 得到atcx的执行量子集合 则At的执行量集合(5b)atcx判断是否接收到通信包,若是,选择最新发送时间timebst对应的通信包packbst,令atcx的当前执行任务 并更新er为 否则,令 其中, 表示T中第r个任务;
(5c)atcx计算对每个任务ti的累计执行量 得到atcx对T的累计执行量集合则C对T的累计执行量集合为 其中:(5d)初始化大小为(m+1)×m的 表,并给 表中每个元素赋值,得到atcx的Q表其中, 表示 中第ca行第cb列元素;
(6)初始化Q学习参数:
初始化迭代次数k,最大迭代次数K,K≥100,学习率αk,折扣率γk,探索判别值εk,1>αk>0,1>γk>0,1>εk>0,并令k=1;
(7)获取无人机任务协同分配结果:(7a)每个间接无人机atcx选择最新发送时间timebst对应的通信包packbst,得到与pabst对应的任务标号ρ,并更新 为 再通过 计算atcx对每个任务ts的转移概率得到atcx对应m个任务的概率子集合 则C的转移概率集合为 其中:
1>δ>0,1>β>0,M>0;
*
(7b)将随机产生cn 个0到1之间的小数εcx←random(0,1)组成的小数集合作为C中每个atcx的探索值,并判断 是否成立,若是,执行步骤(7c),否则,执行步骤(7d);
(7c)根据atcx对每个任务ts的转移概率 随机选取T中一个任务作为atcx的待执行的任务 其中 表示T中第ne个任务;
(7d)根据atcx对每个任务ts的转移概率 计算atcx对每个任务ts的转移值得到atcx对应m个任务的转移值子集合 则C的转移值集合为 并将 中最大转移值对应的任务作为atcx待执行的任务其中:
η>0, 表示T中第ne个任务;
k cx
(7e)将At中执行ti的无人机构成集合 并通过FA以及Ex 中与 对应的 计算atcx的回报值其中, 表示执行ti的所有无人机的集合, 表示At中i
第z个执行ti的无人机,vg表示执行ti的无人机数量, 表示立即回报值, 表示延时回报值,Max>0;
(7f)通过 对应的 将ene更新为 将 更新为 通过 对应的cx
将er更新为 并判断 是否成立,若是,atcx不与Nei 中的无人机通信,否则,将 作为通信包任务pacx,将当前时间作为通信包发送时间timecx,并将pacx和timecx构cx
成atcx的通信包packcx发送至Ne 中的邻居无人机;
(7g)每个atcx利用Q学习公式,通过 和 计算执行任务 后 表,并通过 将更新为
(7h)判断k=K是否成立,若是,将与 相同的atω组合成执行每个任务ti的无人机集合则执行T的无人机集合TC={TN1,...,TNi,...,TNm},否则,令k=k+1,计算学习率αk、折扣率γk和探索判别值εk,并执行步骤(7a),其中, 表示第ζ个执行ti的无人机,Lai表示执行ti的无人机数量,αk和γk的计算公式分别为:
2.根据权利要求1所述的基于Q学习的无人机任务协同分配方法,其特征在于,步骤(2)中所述通过空间场景中每个无人机atj的位置坐标,计算atj与其他n‑1个无人机atw的距离dsjw,计算公式为:
其中, 表示atj在空间中的三维坐标, 表示atw在空间中的三维坐标,
3.根据权利要求1所述的基于Q学习的无人机任务协同分配方法,其特征在于,步骤(3)中所述通过空间场景中每个无人机atj与每个任务ti的位置坐标计算atj与ti距离bsji的计算公式为:
其中, 表示ti在空间中的三维坐标,
4.根据权利要求1所述的基于Q学习的无人机任务协同分配方法,其特征在于,步骤by
(4a)中所述atby经过Bs 衰减后具有的对 施加执行量 的计算公式为:其中,ab为At中无人机的执行量,1>τ>0。
5.根据权利要求1所述的基于Q学习的无人机任务协同分配方法,其特征在于,步骤(7g)中所述 表的计算公式为:
6.根据权利要求1所述的基于Q学习的无人机任务协同分配方法,其特征在于,步骤(7h)中所述探索判别值εk的计算公式为:εk=εk‑1·V
其中,1>V>0。