  We consider the single machine scheduling problem with job-dependent machine
deterioration. In the problem, we are given a single machine with an initial
non-negative maintenance level, and a set of jobs each with a non-preemptive
processing time and a machine deterioration. Such a machine deterioration
quantifies the decrement in the machine maintenance level after processing the
job. To avoid machine breakdown, one should guarantee a non-negative
maintenance level at any time point; and whenever necessary, a maintenance
activity must be allocated for restoring the machine maintenance level. The
goal of the problem is to schedule the jobs and the maintenance activities such
that the total completion time of jobs is minimized. There are two variants of
maintenance activities: in the partial maintenance case each activity can be
allocated to increase the machine maintenance level to any level not exceeding
the maximum; in the full maintenance case every activity must be allocated to
increase the machine maintenance level to the maximum. In a recent work, the
problem in the full maintenance case has been proven NP-hard; several special
cases of the problem in the partial maintenance case were shown solvable in
polynomial time, but the complexity of the general problem is left open. In
this paper we first prove that the problem in the partial maintenance case is
NP-hard, thus settling the open problem; we then design a $2$-approximation
algorithm.
