Problem 2
(14 marks)
The JOB SCHEDULING problem is defined as follows: we have two processors and a set of n jobs, $j_1, j_2,..., j_n$
each of which takes time $t_1, t_2,... t_n$ (respectively) to complete on either processor. Each job can only be
run on one processor and each processor can only process one job at a time (the order does not matter).
The JOB SCHEDULING problem is to allocate the jobs to the processors so as to minimize the processing
time: that is minimize the maximum time taken by either processor. For example, if we had four jobs
$j_1, j_2, j_3, j_4$ with completion times of $t_1 = 1, t_2 = 2, t_3 = 3$, and $t_4 = 7$, then the allocation of $j_1, j_2, j_3$ to one
processor and $j_4$ to the other processor would have the minimum processing time of $max\{1 + 2 + 3, 7\} = 7$.
(a) State the JOB SCHEDULING problem as a decision problem.
(b) Show that the decision version of the JOB SCHEDULING problem is NP-complete.
(4 marks)
(10 marks)