这篇练习围绕多个工作台的排队派发,提供一份独立的虚构数据,用完整记录说明怎样从规则走到结果。它不依赖任何品牌或具体产品;实际游戏规则可能不同,不能把这里的示例直接当成通用设定。建议先自己推演,再核对每一步,重点是掌握判断依据而不是记住本次答案。
制作任务的等待时间与加工时间不同。多工作台场景需要分别记录每台何时空闲,再决定当前任务最早能在哪台开始。
按输入顺序派发,不中断已经开始的任务。这只是明确调度规则的演示,不宣称它对所有优化目标都是最好的方法。
3台从时刻0空闲,编号从0开始。按输入顺序派发,选能最早开始的台,开始时刻相同选编号小者,不中断任务。
任务0:到达1、时长6 任务1:到达3、时长8 任务2:到达3、时长7 任务3:到达4、时长3 任务4:到达9、时长6 任务5:到达10、时长9 任务6:到达12、时长5 任务7:到达13、时长2 任务8:到达14、时长4
任务0到达1、耗时6,交给台0,开始1,结束7,等待0。
任务1到达3、耗时8,交给台1,开始3,结束11,等待0。
任务2到达3、耗时7,交给台2,开始3,结束10,等待0。
任务3到达4、耗时3,交给台0,开始7,结束10,等待3。
任务4到达9、耗时6,交给台0,开始10,结束16,等待1。
任务5到达10、耗时9,交给台2,开始10,结束19,等待0。
任务6到达12、耗时5,交给台1,开始12,结束17,等待0。
任务7到达13、耗时2,交给台0,开始16,结束18,等待3。
任务8到达14、耗时4,交给台1,开始17,结束21,等待3。
各台最后结束[18, 21, 19],全部完成时刻21。
按工作台分别画时间线,相邻任务不能重叠。每项结束减开始等于自身时长,且开始不早于到达。若多个台都已空闲,应该比较实际可开始时刻,不能仅比较它们过去何时结束。
复盘时记录输入、操作前状态、操作后状态,先找到第一处与示例不同的位置。检查条件、单位、边界和更新顺序,不要只改最终数字。对“相等”“严格超过”“先处理哪一项”等表述,逐字落实到记录里;如果规则没有说明某个边界,先补充明确约定再继续。
完成后只改一条输入,先预测后续哪些记录会变,再重新计算。保留没有改变的部分作为对照,有助于区分机制变化与偶然数字变化。换到真实游戏时,可以在帮助说明或可重复的小场景中确认对应规则,再用同样的记录方法核对,不要凭单次表现认定机制。