4. 实验机器人调度问题分类与性能指标

实验机器人调度并不是一个单一问题。同样是“把实验任务分配给机器人”,在单台移液机器人与多台协作机器人之间、在任务集合提前确定与任务随时到达之间、在操作时间稳定与存在失败重试之间,调度模型和解法差异极大。因此,在动手写调度器之前,必须先回答两个问题:这个问题属于哪一类,以及用什么指标衡量调度结果的好坏。分类决定了建模方式,指标决定了优化目标,二者共同决定了后续算法的选择。

一、按机器人数量分类:单机器人与多机器人

单机器人调度指只有一台执行机构(如一台移液工作站、一台机械臂)承担全部实验操作。此时不存在任务争抢同一台设备的问题,调度退化为“任务排序 + 时间窗约束”问题:给定一批实验任务,每个任务有释放时间、截止时间和操作时长,机器人一次只能做一个任务,目标是让总完工时间最短或让超期任务最少。单机器人调度的核心矛盾是顺序——先做哪个、后做哪个,以及是否允许插队处理紧急样本。

多机器人调度则引入资源竞争与协同。多台机器人可能共享同一台检测仪器、同一个样本存放区或同一条物料传送通道,于是出现三类新约束:互斥资源(同一时刻只能一台机器人使用某设备)、空间冲突(两台机器人路径交叉需要避让)、任务依赖(任务 B 必须等任务 A 完成后才能开始)。多机器人调度的目标不再只是缩短时间,还要平衡各机器人的负载,避免一台忙死、一台空闲。

二、按任务信息确定性分类:静态与动态

静态调度假设所有任务在调度开始前已知,任务集合、操作时长、依赖关系都不再变化。它适合批量固定的实验,例如一次性排好 96 孔板的整板处理流程。静态调度的优点是可以用全局优化方法(如整数规划、遗传算法)离线求解,得到质量较高的排程。

动态调度则面对任务陆续到达、设备临时故障、样本需要复检等变化。此时调度器必须在运行中不断重排,常用策略包括事件驱动重调度(新任务到达即触发)、周期性重调度(每隔固定时间重算一次)和混合策略。动态调度的评价重点从“最优”转向“稳定”——重调度后原有任务的开始时间不应被大幅打乱,否则会引发样本超时或试剂浪费。

三、按不确定性来源分类:确定性与不确定性调度

确定性调度假设操作时长、成功率、设备状态都是已知常数。不确定性调度则要处理三类随机性:时间不确定性(移液、孵育、检测耗时存在波动)、结果不确定性(实验可能失败需要重试)、资源不确定性(设备可能故障、试剂可能不足)。处理方式通常有两种:一是鲁棒调度,在排程中预留缓冲时间,使计划对扰动不敏感;二是反应式调度,实时监测状态并动态调整。实验场景中,孵育和检测环节的时间波动往往最大,是预留缓冲的重点对象。

实验机器人调度问题分类与指标映射 按机器人数量 单机器人:任务排序 无资源竞争,核心是顺序 多机器人:协同分配 互斥资源 / 空间冲突 / 依赖 按任务信息确定性 静态:任务集合已知 离线全局优化,适合批量实验 动态:任务陆续到达 事件/周期重调度,强调稳定性 按不确定性来源 确定性:时长/状态已知 可直接求解精确排程 不确定性:时间/结果/资源 鲁棒缓冲 或 反应式调整 性能指标:分类决定优化目标 完工时间 Cmax 最后任务完成时刻 越小越好 单/多机器人均关注 吞吐量 单位时间完成任务数 越大越好 批量实验核心指标 设备利用率 忙碌时间 / 总时间 越高越好 多机器人负载均衡 实验成功率 成功任务 / 总任务 越高越好 不确定性场景关键

四、四类核心性能指标及其计算

分类确定后,需要把“调度好不好”量化。实验机器人调度最常用的四个指标如下。

完工时间(Cmax)指从第一个任务开始到最后一个任务结束的总时长。设任务 i 的完成时刻为 Ci,则 Cmax = max(Ci)。它直接反映一批实验需要占用机器人多久,是单机器人和多机器人调度都关注的指标。例如一批 8 个任务,若最后一个任务在 14:35 完成、第一个在 13:00 开始,则 Cmax = 95 分钟。

吞吐量指单位时间内完成的任务数,吞吐量 = 完成任务数 / 总时间。它与 Cmax 相关但不完全等价:如果任务可以并行或机器人有空闲等待,缩短 Cmax 不一定提升吞吐量。批量筛选实验常以“每小时处理多少块板”作为吞吐量指标。

设备利用率指设备实际忙碌时间占总可用时间的比例,利用率 = 忙碌时间 / 总时间。多机器人系统中,若一台机器人利用率 95%、另一台只有 30%,说明任务分配不均,应通过负载均衡调整。利用率过高(接近 100%)也意味着没有缓冲,一旦出现波动就容易全线延误。

实验成功率指成功完成的任务数占总任务数的比例。在存在重试和失败的不确定性场景中,它是比时间更重要的指标。例如 100 个样本中有 6 个因移液误差需要重做,最终 94 个成功,则成功率为 94%。调度时若把易失败任务安排在设备状态最稳定的时段,可提升该指标。

五、指标之间的权衡

四个指标往往互相冲突。压缩 Cmax 可能让机器人满负荷运转,利用率升高但缓冲减少,一旦某步超时就导致后续任务连锁延误,成功率下降;反之,为提升成功率预留大量缓冲,Cmax 和吞吐量都会变差。因此实际调度中通常采用加权目标:

目标函数示例(权重可按实验优先级调整):
Score = w1 · (Cmax / Cmax_ref)
      + w2 · (1 / 吞吐量)
      + w3 · (1 - 设备利用率)
      + w4 · (1 - 实验成功率)

其中 w1 + w2 + w3 + w4 = 1
若该批次以“按时交付”为主,取 w1 = 0.5;
若以“结果可靠”为主,取 w4 = 0.5。
判断一个调度问题该用哪类模型,可以按顺序问三个问题:机器人是一台还是多台?任务集合是否提前已知?操作时长和结果是否稳定?三个答案组合起来,就基本确定了问题类型和应优先优化的指标。
不要把“静态”等同于“简单”。静态多机器人调度中,互斥资源和任务依赖会让可行解空间急剧缩小,求解难度可能高于任务随机到达但资源独立的动态单机器人问题。分类的目的是选对方法,而不是判断难易。