4. 任务优先级量化方法
在无人系统任务调度中,“哪个任务先做”不能只靠经验判断。调度器需要把任务的重要性、紧迫性、资源需求、风险等定性描述,转化为可比较、可排序的数值,这一过程就是任务优先级量化。量化的目标不是追求绝对精确,而是让不同任务在同一尺度上可比,并保证排序结果稳定、可解释、可复现。
一、静态优先级:离线确定,运行期不变
静态优先级在任务部署或系统初始化阶段一次性分配,运行过程中不再改变。它实现简单、开销极低,适合任务集合固定、执行时间可预测的场景,例如周期性巡检、固定航路侦察、定时数据回传。
常见的量化方式是“等级映射”:把任务按业务类别划入若干等级,再映射为整数优先级。例如某无人机巡检系统定义:安全类任务优先级 90,侦察类 70,测绘类 50,日志回传类 30。若同一等级内有多个任务,可用“等级×10 + 序号”细化,如 701、702,保证同等级内也有确定顺序。
静态优先级的核心局限在于“看不见变化”:一个低优先级任务若突然变得紧迫,或高优先级任务因等待资源而长期阻塞,静态数值无法反映。因此它更适合作为基线策略,或与动态机制配合使用。
二、动态优先级:随状态与时间演化
动态优先级在运行期根据任务状态、等待时间、剩余时限、资源占用等实时调整。它能够响应环境变化,但需要额外的计算与更新开销。常见的量化模型有三类。
1. 时限驱动型。以任务截止时间(deadline)为核心,优先级随剩余时间缩短而升高。例如采用“最早期限优先”(EDF)思想,定义优先级为剩余时限的倒数:剩余时限越小,优先级越高。若任务剩余时限为 20 s、10 s、5 s,则优先级分别为 0.05、0.10、0.20,排序为 5 s 任务最先。
2. 等待时间驱动型。任务在就绪队列中等待越久,优先级越高,用于防止低优先级任务“饿死”。典型做法是优先级 = 基础优先级 + 等待时间 × 老化系数。例如基础优先级 30、老化系数 2、已等待 8 s,则当前优先级为 30 + 16 = 46。
3. 资源与风险驱动型。当任务占用关键资源、处于高风险区域或影响安全边界时,动态提升其优先级。例如电量低于 20% 的返航任务,其优先级可从 60 提升至 95,确保先于普通侦察任务执行。
三、多属性效用函数:把多个指标合成一个分数
当任务重要性由多个维度共同决定时,单一指标不够用。多属性效用函数(MAUF)把各属性归一化后加权求和,得到综合效用值,再按效用值排序。其一般形式为:
U(t) = w1·f1(t) + w2·f2(t) + ... + wn·fn(t)
其中:wi 为属性权重,Σwi = 1;fi(t) 为任务 t 在第 i 个属性上的归一化得分。
以无人系统任务为例,可选四个属性:任务重要性、时间紧迫性、资源消耗、执行风险。归一化时,正向属性(重要性、紧迫性)越大得分越高;负向属性(资源消耗、风险)越大得分越低,常用 1 - 归一化值处理。
假设某任务四项归一化得分分别为:重要性 0.9、紧迫性 0.7、资源消耗 0.4、风险 0.3;权重取 0.4、0.3、0.2、0.1。则:
U = 0.4×0.9 + 0.3×0.7 + 0.2×(1-0.4) + 0.1×(1-0.3)
= 0.36 + 0.21 + 0.12 + 0.07
= 0.76
该效用值可与其它任务比较。若另一任务效用为 0.68,则前者优先。权重的选择直接决定排序倾向:提高紧迫性权重,调度会更偏向“赶时间”的任务;提高风险权重,则更偏向“避风险”。权重应由任务规划人员根据任务阶段目标确定,并在同一批次内保持一致。
四、优先级排序准则:从分数到执行顺序
得到优先级数值后,还需要明确的排序准则,否则同分、近似分或约束冲突时仍无法决策。常用准则包括:
- 数值降序准则:优先级高者先执行,最直接,适用于大多数场景。
- 时限优先准则:先比较截止时间,再比较优先级,适用于硬实时任务。
- 资源匹配准则:在优先级相近时,优先选择当前资源可立即满足的任务,减少空闲等待。
- 公平性准则:对长期未执行的任务设置提升阈值,避免低优先级任务被无限推迟。
- 稳定性准则:排序结果变化幅度受限,避免频繁切换导致执行抖动。
实际调度中通常采用“主准则 + 次准则”的组合。例如先按效用值降序,效用差小于 0.05 时再按剩余时限升序,最后按任务编号升序保证确定性。这样既保留了多属性综合判断,又处理了近似同分和并列情况。
五、方法选择与组合建议
四种方法并非互斥,而是可以分层组合。工程上常见的做法是:用静态优先级建立基线,保证系统启动和降级时仍有确定顺序;用动态优先级处理时限、等待和风险变化;用多属性效用函数在任务类型差异大、需要综合权衡时给出统一分数;最后用排序准则处理同分、约束和稳定性问题。
选择时重点看三个问题:任务集合是否固定、运行环境是否快速变化、决策是否需要多指标权衡。若三者都简单,静态优先级足够;若环境变化明显,应引入动态更新;若任务价值维度多且权重可调,则采用多属性效用函数。无论采用哪种方法,都应保证同一批次内尺度一致、权重公开、排序规则可追溯,这样才能让调度结果既合理又可验证。