多任务排工(multi-task scheduling)问题


实例: 有限任务的集合 A,A, 每个任务 a∈A,a \in A, 都有相应的加工时间长度 L(a)∈Z+L(a) \in Z^{+}。 加工任务机器数为 m∈Z+,m \in Z^{+}, 加工的最后期限 D∈Z+D \in Z^{+} 。

询问: 是否存在 AA 的划分 A=A1∪A2∪⋯∪Am,Ai∩Aj=∅,1⩽i,j⩽m,i≠j,A=A_{1} \cup A_{2} \cup \cdots \cup A_{m}, A_{i} \cap A_{j}=\varnothing, \quad 1 \leqslant i, j \leqslant m, \quad i \neq j, 使得

max⁡{∑a∈AiL(a)∣1⩽i⩽m}⩽D\max \left\{\sum_{a \in A_{i}} L(a) \mid 1 \leqslant i \leqslant m\right\} \leqslant D


该任务可以通过划分问题多项式归约证明。

NPC 证明

对多任务排工问题的实例施加限制为,置 m=2,∑a∈AL(a)m=2, \quad \sum_{a \in A} L(a) 为偶数, 且满足

D=12∑a∈AL(a)D=\frac{1}{2} \sum_{a \in A} L(a)

这样限制后的实例成为划分问题的实例。