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。
二、方法流程:从任务清单到优化模型
- 任务建模:将作战或作业需求拆解为原子任务,标注类型、位置、时长、时间窗与优先级。
- 能力匹配:建立“任务—无人机”可行矩阵,剔除传感器、载荷、通信不满足的组合。
- 时间窗校验:计算到达时间
arrive_ij = t_depart + dist_ij / speed_j,判断是否满足e_i ≤ t_ij ≤ l_i。 - 收益计算:综合任务价值、优先级、完成时间与能耗,构造单任务收益。
- 多目标聚合:将总收益、总航程、总时间、风险等目标加权或采用帕累托方法求解。
- 求解与校验:用整数规划、启发式或拍卖算法求解,并回放校验约束是否全部满足。
三、时间窗与收益函数:把“能不能做”和“值不值得做”量化
时间窗分为硬时间窗与软时间窗。硬时间窗要求任务必须在 [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 | 收益、时间、均衡的权衡 | 权重拍脑袋,不做灵敏度分析 |
五、复盘:模型是否“好用”的三个检验
- 可解释性:每个分配结果都能追溯到收益、约束或时间窗的具体数值。
- 可扩展性:增加任务类型或无人机型号时,只需扩展参数,不必重写模型结构。
- 可验证性:能通过仿真回放检查续航、时间窗、载荷等约束是否被违反。
综上,任务分配建模的核心是把任务、能力、时间、收益和目标统一到同一个数学框架中。只有模型真实反映约束与偏好,后续的冲突消解和在线重分配才有可靠基础。