3. 任务分配问题建模

多无人机任务分配的本质,是把一组待执行任务合理地映射到一组可用无人机上,并确定执行顺序与时机。要让算法“算得对”,首先必须把现实问题“写清楚”。本节围绕任务定义、无人机能力约束、时间窗、收益函数与多目标优化模型五个要素,建立可计算、可求解、可验证的数学模型。

一、核心原理:五要素构成一个可求解的分配问题

任务分配模型可以理解为五元组 M = (T, U, C, W, J):T 为任务集合,U 为无人机集合,C 为能力约束,W 为时间窗,J 为多目标收益函数。其中任务定义决定“要做什么”,能力约束决定“谁能做”,时间窗决定“何时能做”,收益函数决定“做得好不好”,多目标模型决定“如何权衡”。

任务通常分为侦察、打击、通信中继、物资投送、评估等类型。每个任务可形式化为:

task_i = {
  id:        T01,
  type:      RECON | STRIKE | RELAY | DELIVER | ASSESS,
  position:  (x, y, z),
  duration:  d_i,
  window:    [e_i, l_i],
  demand:    {payload, sensor, bandwidth},
  value:     v_i,
  priority:  p_i
}

无人机能力可表示为 uav_j = {speed, endurance, payload, sensors, comm_range, max_tasks}。分配变量 x_ij ∈ {0,1} 表示任务 i 是否由无人机 j 执行,t_ij 表示开始时间。约束条件包括:每个任务至少被执行一次、无人机载荷与传感器匹配、任务开始时间落在时间窗内、续航与航程不超过上限、单机任务数不超过 max_tasks。

二、方法流程:从任务清单到优化模型

  1. 任务建模:将作战或作业需求拆解为原子任务,标注类型、位置、时长、时间窗与优先级。
  2. 能力匹配:建立“任务—无人机”可行矩阵,剔除传感器、载荷、通信不满足的组合。
  3. 时间窗校验:计算到达时间 arrive_ij = t_depart + dist_ij / speed_j,判断是否满足 e_i ≤ t_ij ≤ l_i。
  4. 收益计算:综合任务价值、优先级、完成时间与能耗,构造单任务收益。
  5. 多目标聚合:将总收益、总航程、总时间、风险等目标加权或采用帕累托方法求解。
  6. 求解与校验:用整数规划、启发式或拍卖算法求解,并回放校验约束是否全部满足。
建模的关键不是“公式越复杂越好”,而是让每一个约束都能对应真实物理限制,让每一个目标都能对应指挥员的实际关切。

三、时间窗与收益函数:把“能不能做”和“值不值得做”量化

时间窗分为硬时间窗与软时间窗。硬时间窗要求任务必须在 [e_i, l_i] 内开始,否则不可行;软时间窗允许早到等待或晚到惩罚,用惩罚函数 penalty_i(t) 表示。常见做法是:早到产生等待成本,晚到产生折扣收益。

收益函数通常由任务固有价值、优先级、时间折扣和完成质量组成:

reward_ij = v_i * p_i * f_time(t_ij) * q_ij - cost_ij
f_time(t) = 1,                    e_i ≤ t ≤ l_i
          = exp(-λ(t - l_i)),     t > l_i
          = exp(-μ(e_i - t)),     t < e_i
cost_ij   = α * dist_ij + β * energy_ij + γ * risk_ij

其中 q_ij 为完成质量,可由传感器精度、打击命中概率或通信速率决定。这样,一个任务是否值得分配,不再依赖主观判断,而是由可计算的收益值决定。

四、多目标优化模型与典型场景

多无人机任务分配通常同时追求:总收益最大、总航程最短、总完成时间最短、任务均衡度最高、风险最低。可写成:

max  J = w1 * Σ reward_ij * x_ij
       - w2 * Σ dist_ij * x_ij
       - w3 * makespan
       - w4 * Σ |load_j - avg_load|
       - w5 * Σ risk_ij * x_ij

s.t. Σ_j x_ij ≥ 1,              ∀ i
     Σ_i x_ij ≤ max_tasks_j,    ∀ j
     e_i ≤ t_ij ≤ l_i,          ∀ i,j
     energy_j ≤ endurance_j,    ∀ j
     x_ij ∈ {0,1}

以灾害救援为例:3 架无人机、6 个任务点,任务包括搜索、投送、中继。若仅按距离最近分配,可能导致载荷不足或通信中断;引入能力约束与时间窗后,模型会自动把中继任务分配给通信载荷匹配的无人机,把投送任务分配给载重足够的机型,并让搜索任务优先覆盖黄金时间窗。

建模要素 数学表达 现实含义 常见误区
任务定义 T = {task_i} 要执行的具体作业 任务粒度过粗,无法分配
能力约束 C(uav_j, task_i) = 1/0 传感器、载荷、通信匹配 只考虑位置,忽略载荷
时间窗 [e_i, l_i] 任务可执行的时间范围 把软时间窗当硬约束
收益函数 reward_ij 任务价值与代价的综合 只算距离,不算风险
多目标模型 max J = Σ w_k * J_k 收益、时间、均衡的权衡 权重拍脑袋,不做灵敏度分析
建议在建模初期先做“可行性筛选”,再进入优化求解。大量不可行组合被提前剔除后,搜索空间会显著缩小,求解速度和结果稳定性都会提升。
常见误区有三:一是把任务分配当成纯路径规划,忽略能力约束;二是时间窗设置过紧,导致模型无解;三是多目标权重固定不变,无法适应任务阶段变化。实际系统中应支持权重动态调整,并对关键约束做松弛分析。

五、复盘:模型是否“好用”的三个检验

  • 可解释性:每个分配结果都能追溯到收益、约束或时间窗的具体数值。
  • 可扩展性:增加任务类型或无人机型号时,只需扩展参数,不必重写模型结构。
  • 可验证性:能通过仿真回放检查续航、时间窗、载荷等约束是否被违反。

综上,任务分配建模的核心是把任务、能力、时间、收益和目标统一到同一个数学框架中。只有模型真实反映约束与偏好,后续的冲突消解和在线重分配才有可靠基础。

多无人机任务分配建模:五要素关系 任务定义 → 能力约束 → 时间窗 → 收益函数 → 多目标优化 任务定义 T 类型 / 位置 / 时长 优先级 / 价值 v_i 需求 demand 能力约束 C 载荷 / 传感器 航程 / 续航 通信距离 / 任务数 时间窗 W 硬窗 [e_i, l_i] 软窗惩罚 penalty 到达时间 t_ij 收益函数 R 价值 × 优先级 时间折扣 f_time 代价 cost_ij 多目标 J 收益 / 航程 时间 / 均衡 风险 / 权重 w_k 优化模型:max J = w1·Σreward − w2·Σdist − w3·makespan − w4·Σ|load−avg| − w5·Σrisk s.t. Σ_j x_ij ≥ 1 | Σ_i x_ij ≤ max_tasks_j | e_i ≤ t_ij ≤ l_i | energy_j ≤ endurance_j | x_ij ∈ {0,1} 约束保证可行,目标决定优劣,权重体现指挥偏好 可行性筛选 能力匹配 + 时间窗校验 剔除不可行组合 收益计算 reward_ij = v_i·p_i·f_time·q_ij − cost_ij 量化“值不值得做” 求解与校验 整数规划 / 启发式 / 拍卖 仿真回放验证约束