The counting complexity of a simple scheduling problem
Introduction
We consider the single machine scheduling problem with processing times and deadlines which can be described as follows. Let be a set of tasks. With each task are associated two non-negative integers, a processing time and a deadline . Let be the symmetric group on . A schedule of the tasks consists of a permutation . A schedule is said to be feasible if for all . In other words, is feasible if a single machine can process the tasks following the order of and is able to finish each of them before its deadline. Determining whether or not there exists a feasible schedule can be done by ordering tasks according to their respective deadline in increasing order. If such a schedule, generally called “earliest deadline first”, is not feasible then no feasible schedule exists. Several extensions to this problem are also polynomial time solvable. Two examples are the problem of finding a schedule that minimizes the number of tardy tasks [1] and the problem of determining whether or not there exists a feasible schedule which respects a given set of precedence constraints between the tasks [2]. In this article we prove that the problem of counting the number of feasible schedules for this problem belongs to the class #P-complete, a class of hard counting problems introduced by Valiant [3]. This result shows that even for a very simple scheduling problem, heuristic or approximate algorithms for counting the number of solutions may be the only useful ones. The complexity of counting solutions in scheduling was also studied by [4] but in more complex multi-criteria problems.
In Section 2 we define the counting version of the problem studied, as well as other relevant definitions. The hardness result is presented in Section 3. An open question is given in Section 4.
Section snippets
Definitions
Let be an alphabet, i.e., a finite set. A counting problem belongs to the class #P if there exists a non-deterministic polynomial-time Turing machine such that for each , is the number of accepting computations of . A counting problem is said to be polynomially Turing reducible to another counting problem written if there exists an deterministic polynomial-time algorithm for , given an oracle for . We say that a counting problem is hard for the class #P if
Hardness of the 1-SCP
To show that the 1-SCP is hard, we will show that with the use of an oracle that solves the 1-SCP, it is possible to solve the counting version of the Subset Sum Problem (#SSP) in polynomial time using the technique of polynomial interpolation [6]. The reduction resembles the reduction used in [5] to prove that counting feasible solutions of the Traveling Salesman Problem with Pickups and Deliveries, called #TSPPD, is #P-complete. However, both reductions have specific intricacies, and we
Open question
We leave open the question of whether the problem remains #P-complete in the case where the input numbers are written in unary notation. For this case our proof of #P-completeness is no longer valid since the #SSP can be solved in pseudo-polynomial time using dynamic programming.
Acknowledgements
The author would like to give thanks to Gilbert Laporte for reading the drafts of this article and for helping him to improve the quality of this work. This work was supported by the Canada Research Chair in Distribution Management and the Canada Research Chair in Logistics and Transportation. The support is gratefully acknowledged.
References (6)
The complexity of computing the permanent
Theoretical Computer Science
(1979)- et al.
Counting feasible solutions of the traveling salesman problem with pickups and deliveries is #P-complete
Discrete Applied Mathematics
(2009) An n job, one machine sequencing algorithm for minimizing the number of late jobs
Management Science
(1968)