我们给出了一种确定性的精确算法,用于求解 $P_m\mid\mathrm{prec},p_j=1\mid C_{\max}$,其中机器数 $m\ge 3$ 为固定常数。该算法在 每个固定的 $m$ 下都能在多项式时间内构造最优调度。具体复杂度为
$$ O(L) + m^{O(m^2)}\, n^{6m^2+13m+1}\, \log n $$
其中 $n\ge 2$ 为作业数量,$L$ 为二进制输入长度,机器字长为 $O(m^2 \log n)$ 位。若使用固定磁带数的实现,则所需步骤数为
$$ O(L) + m^{O(m^2)}\, n^{12m^2+26m+2}\, \log^3 n \,. $$
对于三台机器($m=3$),对应的多项式次数分别为 $94$ 和 $188$(不计对数因子)。该结果表明,在机器数固定的情况下,即使作业之间存在前置约束且每个作业处理时间均为 $1$,也可以在严格的确定性时间内得到最优解。
关键技术:
- 将调度问题转化为有限状态空间的搜索,利用动态规划结合剪枝策略控制状态数目。
- 通过精细的组合计数分析,证明状态数上界为 $m^{O(m^2)}\, n^{6m^2+13m+1}$,从而得到整体时间复杂度。
- 采用 RAM 模型的标准操作计数,确保算法在实际实现中具有可预测的资源需求。
实现细节:
- 输入采用二进制编码,长度 $L$ 包含所有作业的前置关系图信息。
- 词长 $O(m^2 \log n)$ 足以容纳所有中间计数和指针,避免溢出。
- 若在多磁带图灵机上实现,只需在每一步保持 $O(\log n)$ 的额外空间。
意义:该算法填补了固定机器数下前置约束调度的精确求解空白,为进一步研究更一般的调度模型提供了技术基石。
点评:该工作展示了在组合优化中通过细致的状态压缩和复杂度分析实现确定性多项式算法的可能性,对理论调度研究具有重要推动作用。