2026年IEEE TNSE SCI2区,基于预测的双阶段分布式任务分配方法+搜救场景中最大化任务分配,深度解析+性能实测

目录


1.摘要

本文提出一种基于预测的双阶段分布式任务分配方法(PDTA),用于多机器人系统在搜索与救援(SAR)场景中的任务分配。该方法首先通过性能影响算法生成初始任务分配,并利用任务竞标预测机制减少无效竞标、提高收敛速度,同时在成本函数中考虑任务截止时间和燃料限制,通过局部搜索机制优化分配结果,提高任务完成质量和数量。

2.问题建模

总体场景描述

在灾害区域中,异构机器人集群执行搜索与物资配送任务。机器人发现幸存者后共享其位置和服务时间窗口信息。随后机器人根据自身能力生成初始任务列表,并通过一致性协调机制完成任务分配,在资源与时间窗口约束下向幸存者配送药品或食物。

数学模型

设有 n n n 个机器人 V = { v 1 , v 2 , ... , v n } V = \{v_1, v_2, \dots, v_n\} V={v1,v2,...,vn} 和 m m m 个幸存者任务 T = { T 1 , T 2 , ... , T m } T = \{T_1, T_2, \dots, T_m\} T={T1,T2,...,Tm},任务为向幸存者配送药品或食物。机器人按照其任务列表 α i \alpha_i αi 的顺序依次执行任务,且不要求返回起始位置。

任务分配由矩阵 H H H 表示,其中 h i , j = 1 h_{i,j} = 1 hi,j=1 表示机器人 i i i 可以执行任务 j j j。每个任务具有截止时间 η j \eta_j ηj 和执行时间 τ j \tau_j τj,机器人必须在截止时间前开始任务。同时,每个机器人受到燃料上限 f i f_i fi 和最大任务数量 L i L_i Li 的限制。

优化目标是在满足任务兼容性、时间窗口、燃料约束及任务不冲突等条件下,最大化完成任务的数量:
J = max ⁡ ∑ i = 1 n ∣ α i ∣ J = \max \sum_{i=1}^{n} |\alpha_i| J=maxi=1∑n∣αi∣

约束包括:

  • 每个机器人任务数量: ∣ α i ∣ ≤ L i |\alpha_i| \le L_i ∣αi∣≤Li
  • 到达任务时间必须满足截止时间: t i k ( α i ) < η a i k t_{ik}(\alpha_i) < \eta_{a_{ik}} tik(αi)<ηaik
  • 总执行时间受燃料限制: t i k ( α i ) < f i t_{ik}(\alpha_i) < f_i tik(αi)<fi
  • 不同机器人任务不重复: α i ∩ α j = ∅ \alpha_i \cap \alpha_j = \varnothing αi∩αj=∅
  • 任务必须满足能力匹配: h i , j ∈ [ 0 , 1 ] h_{i,j} \in [0,1] hi,j∈[0,1]

3.基于预测的双阶段任务分配算法

基于预测的初始解生成

在初始解生成阶段,算法通过任务加入与冲突消解两个过程迭代优化任务分配。在任务加入阶段,机器人从未分配任务集中选择可执行任务加入任务列表,并利用任务加入性能影响(IPI)
ω i j ⊕ ( α i ) = min ⁡ l = 1 ∣ α i ∣ + 1 { C i ( α i ⊕ l T j ) − C i ( α i ) } \omega_{ij}^{\oplus}(\alpha_i) = \min_{l=1}^{|\alpha_i|+1} \{ C_i(\alpha_i \oplus_l T_j) - C_i(\alpha_i) \} ωij⊕(αi)=l=1min∣αi∣+1{Ci(αi⊕lTj)−Ci(αi)}

和任务移除性能影响(RPI)
ω i j ⊖ ( α i ) = C i ( α i ) − C i ( α i ∖ T j ) \omega_{ij}^{\ominus}(\alpha_i) = C_i(\alpha_i) - C_i(\alpha_i \setminus T_j) ωij⊖(αi)=Ci(αi)−Ci(αi∖Tj)

评估任务对总成本的影响,通过显著性差值
v = max ⁡ k { ξ i k − ξ i k ∗ } v = \max_k \{ \xi_{ik} - \xi_{ik}^* \} v=kmax{ξik−ξik∗}

选择最优任务加入任务列表。

由于机器人独立决策可能产生任务冲突,系统随后通过通信进行共识协调,交换赢家列表与竞标信息,并对冲突任务进行移除。与传统 PI 算法不同,PDTA 在任务删除阶段引入预测机制,通过预测其他机器人的未来竞标值 ξ ^ j \hat{\xi}_j ξ^j来判断是否删除任务,从而避免误删任务并提高分配稳定性。

局部搜索机制与优化策略

在生成满足截止时间约束的初始任务分配后,仍可能存在未分配任务,因此算法引入局部搜索与解优化策略进一步改进任务分配。局部搜索通过两种方式扰动当前解:一是交换两个机器人完整任务列表,二是在不同机器人之间交换单个任务,在不改变任务总数的情况下降低整体成本,从而避免陷入局部最优并扩大解空间。

在得到成本更低的任务分配结果后,算法尝试将未分配任务 U U U 插入当前解。首先计算任务的边际显著性,并选择成本影响最小的机器人-任务-插入位置组合:
( v ∗ , T ∗ , ρ ∗ ) = arg ⁡ min ⁡ v ∈ V , T ∈ U ξ ∗ ( α v , T ) (v^*, T^*, \rho^*) = \arg\min_{v \in V, T \in U} \xi^*(\alpha_v, T) (v∗,T∗,ρ∗)=argv∈V,T∈Uminξ∗(αv,T)

随后更新任务列表与未分配任务集:
α v ∗ = α v ∗ ⊕ ρ ∗ T ∗ , U = U ∖ { T ∗ } \alpha_{v^*} = \alpha_{v^*} \oplus_{\rho^*} T^*, \quad U = U \setminus \{T^*\} αv∗=αv∗⊕ρ∗T∗,U=U∖{T∗}

若无法直接插入新任务,则通过移除高 RPI 任务并插入未分配任务进一步优化,并依据显著性差值
ϑ ′ = max ⁡ { ξ ( α v 1 , T 1 ) − ξ ( α v 2 , T 2 ) } \vartheta' = \max\{\xi(\alpha_{v_1}, T_1) - \xi(\alpha_{v_2}, T_2)\} ϑ′=max{ξ(αv1,T1)−ξ(αv2,T2)}

判断是否继续优化。当 ϑ ′ > 0 \vartheta' > 0 ϑ′>0 时,通过删除任务 T 1 ∗ T_1^* T1∗ 并插入任务 T 2 ∗ T_2^* T2∗ 为后续任务腾出时间窗口。

4.结果展示

5.参考文献

1\] Chen P, Liang J, Song H, et al. Multi-objective task allocation for electric harvesting robots: a hierarchical route reconstruction approach\[J\]. arXiv preprint arXiv:2509.11025, 2025. ### 6.代码获取 xx ### 7.算法辅导·应用定制·读者交流 xx

相关推荐
月流霜2 小时前
Midjourney 零基础控图七大参数
人工智能·算法·midjourney
luckycoding2 小时前
1487. 保证文件名唯一
数据结构·算法·leetcode
DeeGLMath2 小时前
从基础算法到机器学习的研究轨迹
人工智能·算法·机器学习
Barkamin2 小时前
冒泡排序的简单实现
java·算法·排序算法
_dindong2 小时前
【单调栈/队列&并查集&字符串哈希&Tire树】习题集锦
数据结构·c++·算法·哈希算法
独自破碎E2 小时前
【手撕真题】合并区间
算法
big_rabbit05023 小时前
[算法][力扣110]平衡二叉树
数据结构·算法·leetcode
二年级程序员3 小时前
排序(五)“计数排序” 与 “各排序实际用时测量”
c语言·算法·排序算法
松☆3 小时前
C++ 程序设计基础:从 Hello World 到数据类型与 I/O 流的深度解析
c++·算法