Consider the following problem, called Time-Limited Scheduling (TLS). The input is a list of n events. Each event i has an earliest start time si, a latest finishing time fi, and a length ℓi. Each event must run entirely between si and fi, and no two events may overlap. The problem is to determine whether or not it is possible to schedule all n events while respecting the time constraints of each.
(a) (10 points) Professor Wriothesley has given the following reduction from the (known NP-complete) PARTITION problem to show that TLS is NP-hard. Recall from recitation that the input to PARTITION is a set X = {x1 . . . xn} of non-negative integers, and we wish to know whether X can be divided into subsets S and X − S such that ∑x∈S x = ∑x∈X−S x.
Given an input X to PARTITION, let B = ∑ni=1 xi. Create a list of n + 1 events as follows. For all events 1 ≤ i ≤ n + 1, set si = 0 and fi = B + 1. For 1 ≤ i ≤ n, set ℓi = xi; finally, set ℓn+1 = 1. The idea here is that, if X can be partitioned, then TLS can schedule events 1 . . . n in two groups of equal size, separated by event n + 1.
What is wrong with the professor’s reduction?
(b) (40 points) Prove that TLS is not just NP-hard but is in fact NP-complete. Give a corrected NP-hardness proof as part of your answer.