%\documentstyle[12pt,sched-header,xspace]{article}
\documentclass[12pt]{article}
\usepackage{sched-header}
\usepackage{xspace}
\Scribe{Nathan Wallach}
\Lecturer{Yuval Rabani} \LectureNumber{5B}
\LectureDate{6 April 2000}
%\input{eepic.sty}
%%%%%%%%%%%%%%%%%%%%%
% My commands
\def\NOT#1{}
\newcommand{\PTAS}{\textbf{PTAS}\xspace}
\newcommand{\FPTAS}{\textbf{FPTAS}\xspace}
\newcommand{\tL}{\tilde{L}}
\newcommand{\LTprob}{ $1 | r_j | \tL_{\max}$\xspace}
\newcommand{\Lprob}{ $1 | r_j | L_{\max}$\xspace}
\newcommand{\NPH}{\hbox{\textbf{NP}-hard}\xspace}
\newcommand{\NPC}{\hbox{\textbf{NP}-complete}\xspace}
\newcommand{\OPT}{\hbox{\rm OPT}}
%%%%%%%%%%%%%%%%%%%%%%
% General Macros
\newtheorem{defn}{Definition}[section]
\newtheorem{theorem}{Theorem}[section]
\newtheorem{claim}[theorem]{Claim}
\newtheorem{result}[theorem]{Result}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{remark}{Remark}[section]
%\newtheorem{example}{Example}[section]
\def\eod{\vrule height 6pt width 5pt depth 0pt}
\newenvironment{proof}{\noindent {\bf Proof:} \hspace{.4em}}
{\hspace*{\fill}{\eod}}
\begin{document}
\MakeScribeTop
\paragraph{Today's Topics:}
\begin{itemize}
\item During the first hour of this lecture we attended the Computer Science
Colloquium talk given by Benny Pinkas on \emph{Privacy Preserving
Auctions}. His talk is summarized separately as Lecture~5A.
\item The remainder of the lecture focuses on developing a \PTAS for
\LTprob, a problem closely related to \Lprob, which we will define below.
This will provide a first example of a \PTAS. In later lectures, we will
exploit the technique of dynamic programming to develop other \PTAS{}s.
\end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Approximation Schemes}
Finding a polynomial time optimization algorithm for a \NPH
optimization problem would imply that $ \hbox{\textbf{P}} =
\hbox{\textbf{NP}}$. Thus, given the widely held conjecture, that
$ \hbox{\textbf{P}} \ne \hbox{\textbf{NP}}$, the best we can hope
for is a method that provides arbitrarily good approximate solutions.
Recall, the following two definitions (made in the case of minimization
problems):
\begin{defn} A \emph{fully polynomial time approximation scheme (\FPTAS)}
(for a given optimization problem) is an approximation algorithm with the
following additional characteristics:
\begin{enumerate}
\item The algorithm's input is extended to include a
nonnegative error threshold $\epsilon > 0$ in addition to the input
regarding the problem instance.
\item The algorithm produces a feasible solution whose value does not exceed
$(1 + \epsilon) \OPT$, where $\OPT$ denotes the value of an optimal
solution to the given problem instance.
\item The running time of the algorithm is polynomial in the length of the
(original) input and in $1/\epsilon$.
\end{enumerate}
\end{defn}
\begin{defn} A \emph{polynomial time approximation scheme (\PTAS)}
(for a given optimization problem) is a collection $ \{ A_{\epsilon}
\}_{\epsilon > 0} $ of approximation algorithms, each of whose running
times is polynomial in the length of the input, such that the algorithm
$A_{\epsilon}$ produces a feasible solution whose value does not
exceed $(1 + \epsilon) \OPT$, where $\OPT$ denotes the value of an
optimal solution to the given problem instance.
\end{defn}
Although these two ideas give similar approximation guarantees, there
is a critical difference in their dependence on the error threshold,
$\epsilon$. In the case of a \FPTAS, the algorithm must be polynomial in
$1/\epsilon$, whereas the dependence on $\epsilon$ in a \PTAS is not
restricted, in particular it may be exponential (or worse). It is known
that unless $ \hbox{\textbf{P}} = \hbox{\textbf{NP}}$ a \FPTAS for a
given optimization problem may exist only if the problem is \NPH in
the weak sense, (see, for example, \cite[p. 140--141]{GarJoh}).
The technique of dynamic programming has been very useful in the
development of approximation schemes. These techniques will be
considered in the next lecture. In this lecture, we consider
a problem where we may obtain a \PTAS without the need for
dynamic programming.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{A \PTAS for \LTprob}
\subsection{Modifying \Lprob to guarantee lateness}
Let us consider the problem, \Lprob. Here, we are scheduling jobs with
release times and deadlines on a single machine so as to minimize the
lateness. Recall that the lateness of job $j$ (in a given schedule)
is defined to be $L_{j} = C_{j} - d_{j}$, and the maximum lateness is
$L_{\max} = \max_{j} \{ L_{j} \} $. We have seen that the Earliest Due Date
(EDD) rule provides an optimization algorithm for two modifications of
\Lprob: the problem without release times, $1 || L_{\max}$,
which was considered in lecture~1, and the problem where preemption of
jobs is permitted, $1 | r_j, pmtn | L_{\max}$, which was
considered in lecture~2. However, \Lprob itself is \NPH. A reduction
from the Partition problem was given in lecture~2; in fact, this reduction
shows that even the problem of determining whether $L_{\max} > 0$ is \NPC.
The possibility that $L_{\max}$ may be either positive or negative
makes it difficult to define the concept of an approximation ratio for
this problem. Thus we would like to modify the problem in a suitable
way in order to guarantee that $L_{\max} > 0$. To this end, we may
subtract a sufficiently large constant, $\Delta$, from each deadline
so that every deadline becomes negative:
\[ \forall j : d'_{j} = d_{j} - \Delta < 0 .\]
Clearly, it suffices to take $\Delta = 1 + \max_{j} \{ |d_{j}| \}$.
The collection of feasible schedules is the same for the original and
the modified problem, as the scheduling constraints (the release times
and there being only a single machine) are unchanged. However, the
change in the deadlines results in a shift of the objective function:
for any feasible schedule $L'_{\max} = L_{\max} + \Delta$. Moreover,
for each job $L'_{j} = C_{j} - d'_{j}> 0$, as the completion time
$C_{j}$ is nonnegative and the (modified) deadline is negative.
As a result, for any schedule and in particular for an optimal schedule
$L'_{\max} > 0$, and we have a modified version of the
original problem for which we can define an approximation ratio.
We now will fit this modified version into a more general setting.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Delivery times and the problem \LTprob}
Suppose that each job in a scheduling problem is given a nonnegative
delivery time, $q_{j} \geq 0$. Upon the completion of the processing
of the job (upon the last machine to process it) the job must be
delivered to its destination. The delivery time is the amount of time
needed to make the delivery, an addition cost in time which does not
occupy processing time on any machine. Furthermore, we make no
restriction on the number of jobs being delivered at any given
time. (We leave UPS to handle the shipping efficiently.) Given this
additional parameter, it becomes interesting to optimize with regard
to the \emph{delivery-completion times,}\/ $\tL_{j} = C_{j} + q_{j}$,
of the jobs. In particular, we may wish to minimize the largest
delivery-completion time\footnote{Some authors use $L_{\max}$ to
denote the term we have defined as $\tL_{\max}$. Our notation is
chosen to emphasize the difference between the two concepts.},
$\tL_{\max} = \max_{j} \{ \tL_{j} \} $. Thus we obtain the problem \LTprob.
Returning to our modified version of \Lprob, we may define
$q_{j} = \Delta - d_{j}$, so that
\[ L'_{j} = C_{j} - d'_{j} = C_{j} - d_{j} + \Delta = C_{j} + q_{j}
= \tL_{j} .\] Thus, the modified version of \Lprob corresponds to an
instance of \LTprob. Consequently, in the remainder of the lecture we
will focus on \LTprob.
%The reader is left to derive the
%appropriate results regarding the modified version of \Lprob.
The reduction we have given from \Lprob to \LTprob establishes that
\LTprob is weakly \NPH. In fact, \LTprob is strongly \NPH (\cite{LRB}).
A survey of results on this problem appears in \cite[section 1.2]{Hall-AA-1}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Jackson's rule for \LTprob}
Let us now modify the EDD rule to the setting of \LTprob. We do so by
considering the reduction from \Lprob to \LTprob. An early due
date\footnote{Later in this lecture, the index $j$ will be assigned a
particular meaning which could lead to confusion if $j$ were used as a
default index in some of the results of this section. As a result, we
reserve $j$ in advance and use $k$ as our default index. The index
$k$, too, will be later assigned a particular meaning in certain
contexts, but such meanings are restricted to shorter spans of the
development. The reader should have no trouble spotting such uses and
differentiating for the use of $k$ as a default index.} $d_{k}$
corresponds to a large delivery time $q_{k} = \Delta - d_{k}$. Hence,
a scheduling rule similar in nature to EDD would give precedence to
jobs with large delivery times, greedily scheduling the available job
with largest delivery time in each iteration. This rule could be
called Longest Delivery Time First (LDTF), but is usually referred to
as Jackson's rule \cite{Jack}.
There are some easily verified lower bounds on
the optimal value of the largest delivery-completion time, $\tL_{\max}^{*}$:
\[ \tL_{\max}^{*} \geq C_{\max}^{*} \geq \sum_{k} p_{k}, \]
and
\[ \forall k: \tL_{\max}^{*} \geq r_{k} + p_{k} + q_{k} .\]
The first lower bound holds as the delivery times are nonnegative
so the delivery-completion time of the last job to be processed is at
least $C_{\max}$. The second family of lower bounds follows from the
fact that job $k$ may finish processing no earlier than at time $r_{k}
+ p_{k}$ after which it must be delivered.
\begin{claim}
Jackson's rule is a $2$-approximation algorithm for \LTprob.
\end{claim}
\begin{proof}
We will prove the claim for List Scheduling. As Jackson's rule
applies List Scheduling after sorting the jobs in nonincreasing order
of delivery time, the original claim then follows as a corollary.
% This paragraph was moved into the proof rather than appearing before
% the proof.
%
% Before the proof, let us introduce the following notation.
Given a schedule (for the given instance of the problem under
consideration), denote the time that job $k$ begins processing (in
this schedule) by $s_{k}$ ($s$ for start).
Consider the schedule produced by List Scheduling applied to an
instance of \LTprob. List Scheduling guarantees that if the machine
is idle immediately before time $t$ and some jobs are released at time
$t$, then one of these jobs immediately begins processing. Thus, the
machine is never idle between times $r_{j}$ and $s_{j}$, for any
$j$. Denote by $J'_{j}$ the set of jobs whose scheduled running times
intersects the interval $[r_{j}, s_{j})$. (It is possible that the
scheduled time of some job straddles the point $t = r_{j}$ in which
case only part of its processing time intersects the interval of
interest.) In the worst case, the machine needs to process all the
other jobs between $r_{j}$ and $s_{j}$; hence,
\[ s_{j} \leq r_{j} + \sum_{k \in J'_{j}} p_{k} \leq
r_{j} + \sum_{k \ne j} p_{k} < r_{j} + \sum_{k} p_{k}, \] where
we obtain the last inequality by adding in the term $p_{j} \geq 0$.
Let job $j$ be a job such that $\tL_{\max} = \tL_{j} = C_{j} + q_{j}$.
Given this choice of $j$, and combining the previous bound on $s_{j}$
with the two lower bounds on $\tL_{\max}$ we obtain
\[ \tL_{\max} = \tL_{j} = C_{j} + q_{j} = s_{j} + p_{j} + q_{j} <
( r_{j} + \sum_{k} p_{k} ) + p_{j} + q_{j} = ( r_{j} + p_{j} +
q_{j} ) + \sum_{k} p_{k} \leq 2 \tL_{\max}^{*}, \]
proving the desired result.
\end{proof}
\noindent\textbf{Remark:}
Observe that this proof applies to any algorithm which produces
schedules where the machine is never idle between a jobs release time
and start time (in the schedule produced by the algorithm). In particular,
it applies to any online greedy algorithm.
\noindent\textbf{Example:} The following tight example for the
previous result appears in \cite[p. 5]{Hall-AA-1}. Consider an
instance with two jobs, where: $r_{1} = q_{1} = 0, r_{2} = p_{2} = 1$,
and $ p_{1} = q_{2} = M \geq 1$. As job $1$ is initially available,
while job $2$ becomes available only at time $1$, any on-line greedy
algorithm (including Jackson's rule) will schedule job $1$ first,
obtaining $\tL_{\max} = \tL_{2} = 2M+1$. However, scheduling job $2$
first gives the optimum schedule where $\tL_{\max}^{*} = \tL_{1}^{*} =
\tL_{2}^{*} = M + 2$. Thus no online greedy algorithm can have an
asymptotic competitive ratio better than $2$.
We now introduce the following notation:
\begin{itemize}
\item Let $J = \{ 1, 2, \ldots, n \}$ denote the set of jobs in the
given problem instance.
\item Given a subset of the jobs, $K \subseteq J$ define:
\[ r_{\min} (K) = \min_{k \in K} \{ r_{k} \}, \]
\[ q_{\min} (K) = \min_{k \in K} \{ q_{k} \}, \]
and
\[ P( K) = \sum_{k \in K} p_{k}. \]
\end{itemize}
Consider a schedule for the jobs in $J'$. No job can be scheduled
earlier than $r_{\min} (J')$, the total processing time (of these jobs)
is $P( J') $, and the delivery time of the last scheduled job is at
least $q_{\min} (J')$. As a result, we have the following family
of lower bounds on $\tL_{\max}^{*}$:
\[ \forall J' \subseteq J : \tL_{\max}^{*} \geq
r_{\min} (J') + P (J') + q_{\min} (J'). \]
(When $|J'| =1$ we obtain the family of lower bounds mentioned above.)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{When does Jackson's rule give an optimal solution?}
Let us consider a particular instance of \LTprob, and the
schedule\footnote{In the case that there is a need to break ties, we
pick one particular schedule which Jackson's rule can produce.} that
Jackson's rule provides for this instance. Once again, we will
let job $j$ be a job such that $\tL_{\max} = \tL_{j} = C_{j} + q_{j}$.
Let us introduce some additional notation which depends on the
chosen schedule, including appropriate remarks along the way.
\begin{itemize}
\item Let $t$ denote the end of the last period of time before $s_{j}$
where the machine was idle. (We consider the machine to be idle until
time $0$.) We observed that $t \leq r_{j}$ in the proof of the
previous claim.
\item Let job $i$ be the job which commenced processing at time $t$,
i.e. $s_{i} = t$. Clearly, we also have $ s_{i} = r_{i} $ as the
machine was idle immediately before time $t$, which would be forbidden
if $r_{i} < s_{i} = t $.
\item Denote by $J'$ the set of jobs which are scheduled to run in
the interval $[t = s_{i}, C_{j})$. (This is a larger
interval and set of jobs than that used in the proof that List
Scheduling is a $2$-approximation algorithm.) By the definition
of time $t$, no job can be scheduled to straddle time $t$. Since job
$j$ finishes its processing at time $C_{j}$ no job straddles this
point, either.
\item For each $k \in J'$ we have $ r_{k} \geq r_{i} $ as otherwise
job $k$ would have been scheduled to start at time $r_{k} < r_{i} = t$,
contradicting the choice of $t$. Thus, $r_{i} = r_{\min} (J')$.
\item The completion time of job $j$ is
\[ C_{j} = r_{i} + \sum_{k \in J'} p_{k}, \]
as the machine is not idle between time $t = r_{i} = s_{i}$ and time
$s_{j}$, where it begins to process job $j$. Thus, in the interval
$[t,C_{j}]$ it is always busy and processes (exactly) the jobs in $J'$.
\end{itemize}
Let us apply these ideas to the tight example considered in the
previous section (with the parameter $M \geq 1$). Jackson's rule
scheduled job $1$ first with $s_{1} = r_{1} = 0, C_{1} = s_{1} + p_{1}
= M, \tL_{1} = C_{1} + q_{1} = M$ and job $2$ second with $s_{2} = M
\geq 1 = r_{2}, C_{2} = s_{2} + p_{2} = M + 1, \tL_{2} = C_{2} + q_{2}
= 2M + 1$. Thus, $j=2$ is the job determining the maximum
delivery-completion time, $\tL_{\max}$. The last time the machine is
idle (before $s_{2}$) is at time $t=0$, and job $i=1$ begins running
at that time so $J' = J$ for this example. We are then tempted to ask
why the algorithm performs badly on this input. The reason is that the
greedy method used forces us to schedule a long job with short
delivery time first as it was released earlier. Looking at it from the
opposite perspective, we were forces to schedule a job with long delivery
time at the end. What would happen if we could avoid such a situation?
Let us momentarily assume that each job $k \in J'$ has delivery time
no less that the delivery time of job $j$, i.e.
\[ \forall k \in J' : q_{k} \geq q_{j}. \]
Thus $q_{\min}(J') = q_{j}$, in other words, the \emph{critical job,}\/ job
$j$, which determines the value of the solution, has the shortest
delivery time among all jobs in $J'$. Under our assumption,
\[ \tL_{\max} = \tL_{j} = C_{j} + q_{j} =
\left( r_{i} + \sum_{k \in J'} p_{k} \right) + q_{\min} (J') =
r_{\min}(J') + P(J') + q_{\min} (J'). \] Thus for this particular
subset of the jobs, the lower bound on $\tL_{\max}^{*}$ is met with
equality. Hence, the schedule is optimal. This proves the following result.
\begin{result} \label{ro}
Jackson's rule is optimal if $q_{j} = q_{\min} (J')$. If it is
not optimal, then $q_{j} > q_{\min} (J')$.
\end{result}
\noindent\textbf{Remark:}
In the case that the assumption does not hold, we may
still obtain a simple bound on the performance of Jackson's
rule, by modifying the previous argument.
\[ \tL_{\max} = \cdots =
r_{\min}(J') + P(J') + q_{\min} (J') + (q_{j} - q_{\min} (J'))
\leq \tL_{\max}^{*} + q_{j}.\]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Interference Jobs}
Let us continue in the situation described in the previous section,
with a fixed schedule obtained by applying Jackson's rule, a fixed
critical job (job $j$ such that $\tL_{j} = \tL_{\max}$) in this
schedule, and the corresponding set $J'$. We will assume that
Jackson's rule was not optimal; hence, there is some job $k \in J'$
such that $q_{k} < q_{j}$. Thus, the set $ J'' = \{ k \in J' : q_{k} <
q_{j} \} $ is not empty. We call the job in $J''$ which is processed
last in the schedule an \emph{interference job}\/ (relative to the
critical job $j$)\footnote{The interference job $k$ depends on the
choice of the critical job $j$. The same schedule may have an additional
critical job which may have a different interference job.}.
\begin{lemma} \label{lm:int}
If $k$ is an interference job (relative to the critical job $j$)
then Jackson's rule provides a schedule whose value satisfies
\[ \tL_{\max} \leq \tL_{\max}^{*} + p_{k} . \]
\end{lemma}
\begin{proof}
Let us first give the intuitive argument behind the proof. Suppose we
could ignore job $k$. Then, we could let the machine idle from time
$s_{k}$ until the next release time, and then apply Jackson's rule to
the remaining jobs in order to obtain an optimal schedule. (Idling
the machine decreases the length of the interval of interest and
guarantees that there is no job $h$ in the smaller set of interesting
jobs for which $q_{h} < q_{j}$. Thus, optimality would follow by
applying Result~\ref{ro}.) However, we are forced to delay
implementing the schedule we would obtain by ignoring job $k$ by at
most the processing time of job $k$, namely, $p_{k}$. Thus,
intuitively, the claim holds.
Let us now give a formal proof. Let $H$ be the set of jobs processed
from time $C_{k}$ (i.e. after job $k$) until time $C_{j}$ (when job
$j$ finishes). By the definition of $k$ as an interference job
(relative to the critical job $j$), each job $h \in H$ satisfies
$q_{h} \geq q_{j} > q_{k}$. If one of these jobs had been
available at time $s_{k}$, Jackson's rule would have given it priority
over job $k$, and started it first. Thus, none of these jobs are
available at time $s_{k}$, so
\[ \forall h \in H : r_{h} > s_{k} \geq r_{k}. \]
As a result, when we consider the lower bound on $\tL_{\max}^{*}$
corresponding to the set $ H $ we obtain
\[ \tL_{\max}^{*} \geq r_{\min} (H) + P (H) + q_{\min} (H)
> s_{k} + P(H) + q_{j}. \]
However, as the machine is never idle between time $s_{k}$
when job $k$ begins running and time $C_{j}$ when job $j$ finishes
running, and during this period the machine runs (exactly) the
jobs in $H \cup \{ k \} $, it follows that:
\[ \tL_{\max} = \tL_{j} = C_{j} + q_{j} =
\left( s_{k} + p_{k} + P(H) \right) + q_{j} =
\left( s_{k} + P(H) + q_{j} \right) + p_{k} <
\tL_{\max}^{*} + p_{k}. \]
Thus, we have obtained the desired inequality.
\end{proof}
This lets us state the following informal result.
\begin{result}
If the total running time of each the interference jobs is ``small,''
then Jackson's rule gives a ``close approximation'' to the optimal
schedule.
\end{result}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{A \PTAS for \LTprob: Part I}
In this section we will develop a \PTAS for the \LTprob problem under
certain assumptions. The technique used is somewhat strange in that we
will derive the approximation algorithm under the assumption that an
optimal solution is known. In the next section, after the algorithm
has been defined in this bizarre setting, we will show that we
actually need only know a certain ``small'' portion of the information
in the optimal solution. There we show how to modify the algorithm to
run in polynomial time without advance knowledge of an optimum
solution.
In order to formalize the previous result, we must formally define
what we mean by the running time of a job being ``small.'' Using such
a definition, we can then formalize what we mean by a ``close
approximation.'' As before, let us work with a fixed instance $I$ of the
problem. Let $ \epsilon > 0 $ be the desired error threshold,
and define $ \delta = \epsilon \sum_{k} p_{k} $. A job whose running
time is less than $\delta$ is considered to have ``small'' running
time. More formally we partition the set of jobs into two sets, the
set $S$ of ``small'' jobs and the set $B$ of ``big'' jobs, where
\[ S = \{ k \in J : p_{k} < \delta \} , \hbox{\ and }
B = \{ k \in J : p_{k} \geq \delta \}. \]
Our goal will be to obtain a solution satisfying $\tL_{\max} \leq
(1 + \epsilon) \tL_{\max}^{*}$.
%Let us begin the bizarre.
Suppose that $\Sigma$ is a fixed optimal
schedule for the instance $I$ under consideration. Let $s_{k}^{*}$ denote
the starting time of job $k$ in the schedule $\Sigma$. Using this we construct
a new problem instance, $I'$ as follows. For each short job, the parameters
are copied unchanged from $I$:
\[ \forall k \in S: r'_{k} = r_{k}, p'_{k} = p_{k}, q'_{k} = q_{k}.\]
The parameters of big jobs are modified to be:
\[ \forall k \in B: r'_{k} = s^{*}_{k}, p'_{k} = p_{k},
q'_{k} = \tL_{\max}^{*}(I) - p_{k} - s^{*}_{k}.\] These modified
parameters are chosen to attempt to force big jobs to be scheduled
exactly where they are scheduled in $\Sigma$ in any optimal solution
for $I'$. We may interpret $q_{k}$ as giving a lower bound on the
distance between $\tL_{\max}$ and $C_{k}$, which is dual to the lower
bound $r_{k}$ provides on the distance between $s_{k}$ and time
$0$. Given this alternate interpretation of the delivery time, we
observe that for a big job, $k$, $r'_{k} = s_{k}^{*} \geq r_{k}$, so
the job can start no earlier in a schedule for $I'$ than it could in a
schedule for $I$. Also, $q'_{k} = \tL_{\max}^{*}(I) - p_{k} -
s^{*}_{k} = \tL_{\max}^{*}(I) - C_{k}^{*} \geq q_{k}$, where
$C_{k}^{*}$ is the completion time of job $k$ in the given optimal
schedule, $\Sigma$. (Thus, in order to do well in $I'$, job $k$ cannot
finish later than it does in schedule $\Sigma$.) Hence, these
restrictions are stricter in the sense that job $k$ must be scheduled
in a more restricted interval in order to guarantee that $\tL_{k}$
does not exceed a given threshold. As a result, $ \tL_{\max}^{*} ( I')
\geq \tL_{\max}^{*} (I)$.
\begin{claim}
$\Sigma$ is also an optimal solution for the instance $I'$.
\end{claim}
\begin{proof}
Observe that the schedule $\Sigma$ is a legal schedule for the modified
instance, $I'$.
Furthermore, the lateness of a big job, $k$, in this
schedule for the modified instance satisfies
\[ \tL_{k} (I') = C'_{k} + q'_{k}
= s_{k}^{*} + p'_{k} + q'_{k} = s_{k}^{*} + p_{k} + ( \tL_{\max}^{*}
(I) - p_{k} - s_{k}^{*} ) = \tL_{\max}^{*} (I).\] The lateness of
small jobs remains unchanged, and is bounded above by $
\tL_{\max}^{*} (I)$. Thus, $ \tL_{\max} (I') \leq \tL_{\max}^{*} (I)$.
Hence, $ \tL_{\max}^{*} (I') \leq \tL_{\max}^{*} (I) $, by
considering this particular schedule. However, as observed above, $
\tL_{\max}^{*} ( I') \geq \tL_{\max}^{*} (I)$, so this
schedule is in fact optimal.
\end{proof}
As both $I$ and $I'$ have a common optimum value, we may denote its value
by $\tL_{\max}^{*}$ and no longer specify the instance. Observe that
\[ \forall k \in B : r'_{k} + p'_{k} + q'_{k} = \tL_{\max}^{*} \]
so, in fact, the constraints do guarantee that in any optimal schedule for
$I'$ each big job $k \in B$ is scheduled to start running at time
$r'_{k} = s_{k}^{*}$.
Having defined $I'$, we now justify our efforts by the following lemma.
\begin{lemma}
When Jackson's rule is applied to $I'$ there are no interference jobs
in $B$.
\end{lemma}
\begin{proof}
Suppose, towards a contradiction, that job $k \in B$ is an
interference job relative to the critical job $j$\footnote{Here, job
$j$ is the critical job corresponding to the interference job $k$, and
possibly is not the fixed critical job used in our analysis.
In any case, for this proof we define $i$ for this choice of $j$
as defined above for the original choice of $j$.}) which
occurs in the critical interval from time $r'_{i}$ to $C'_{j}$. As $k$
is an interference job $q'_{k} < q'_{j}$ (by definition) and $r'_{k} <
r'_{j}$ (as otherwise Jackson's rule would have scheduled job $j$
before job $k$). As $ k \in B$ we have defined $r'_{k} = s_{k}^{*}$,
whereby $ s_{k}^{*} = r'_{k} < r'_{j} \leq s_{j}^{*}$, so that job $j$
is scheduled after job $k$ in the (fixed) optimal schedule $\Sigma$.
Thus, considering the lateness of job $j$, the fact that it is
scheduled after job $k$ (in the optimum schedule $\Sigma$), and
the implication $k \in B \Rightarrow r'_{k} + p'_{k} + q'_{k} =
\tL_{\max}^{*}$ we obtain
that
\[ \tL_{\max}^{*} \geq \tL_{j}^{*} \geq r'_{k} + p'_{k} + p'_{j} + q'_{j}
> r'_{k} + p'_{k} + p'_{j} + q'_{k}
= \tL_{\max}^{*} + p_{j}
\geq \tL_{\max}^{*}. \]
Thus we have obtained the contradiction, $ \tL_{\max}^{*} > \tL_{\max}^{*}$.
\end{proof}
\begin{result}
When Jackson's rule is applied to $I'$, the resulting schedule has value
not exceeding
\[ \tL_{\max}^{*} + \delta = \tL_{\max}^{*} + \epsilon \sum_{k} p_{k}
\leq (1+\epsilon) \tL_{\max}^{*}.\]
\end{result}
\begin{proof}
The result follows by applying lemma~\ref{lm:int} to an interference
job (if one exists). By the previous lemma, such an interference job
belongs to $S$ so has processing time less than $\delta$. Substituting
the definition of $\delta$ and invoking the bound $ \tL_{\max}^{*}
\geq \sum_{k} p_{k} $, completes the proof.
\end{proof}
\noindent\textbf{Remark:}
The schedule provided by Jackson's rule for $I'$ is a valid schedule for
$I$, as we have already remarked that the scheduling constraints of $I'$ are
stricter. Furthermore, the value of this schedule for $I$ is no larger than
the value for $I'$, as $ \forall k: p_{k} = p'_{k}, q_{k} \leq q'_{k} $.
Thus, the value of this schedule for the instance $I$ also does not
exceed $ (1+\epsilon) \tL_{\max}^{*}$.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{A \PTAS for \LTprob: Part II}
In the previous section we developed a $(1+\epsilon)$-approximation
algorithm for \LTprob under the assumption that we had an optimal
solution in hand. In fact, we needed to know only the optimum value,
$\tL_{\max}^{*}$, and the values of $s_{j}^{*}$ for each $ j \in B$ in
order to construct $I'$. Knowledge of the optimum value is unnecessary
if we modify Jackson's rule to start running each of the big jobs at
its appropriate starting time, $s_{j}^{*}$. We now show how we may
obtain a schedule with the same approximation ratio (of
$1+\epsilon$) as before without \emph{a priori}\/ knowledge of these
starting times.
Each valid schedule for the problem which avoids unnecessary idle time
on the machine corresponds to a linear ordering of the jobs in the
order in which they are scheduled to run. Suppose that for each big
job, we knew (exactly) where it belonged in the linear ordering. In
this case, we could run a modified version of Jackson's rule which
first assigned the big jobs the appropriate slots in the linear
ordering, and scheduled the small jobs in the remaining slots
according to Jackson's rule. During the course of the algorithm the
start times of the jobs in each slot are iteratively determined. For
example, if the first slot belonging to a big job is the third slot,
then we schedule two jobs by Jackson's rule and then schedule the big
job, $b$, corresponding to the third slot to start at the later of
$r_{b}$ and the completion time of the previously scheduled jobs. In
this way we will obtain the same schedule that Jackson's rule would
provide on the (unknown) instance $I'$, under the assumption that we
know the slots corresponding to the big jobs.
We will show that $B$ is sufficiently small (relative
to $\epsilon$) so that the number of possible assignments of slots to the
jobs in $B$ is polynomial in $n$. We may thus run our modified version
of Jackson's rule for each possible assignment of slots to the big
jobs, and choose the best of the resulting schedules. As each run of
the modified version of Jackson's rule takes polynomial time, and the number
of runs is polynomial in $n$, the overall algorithm runs in polynomial time.
Furthermore, some run considers the assignment of slots corresponding to
the (unknown) optimal solution $\Sigma$, so the algorithm provides a
schedule whose value does not exceed $(1+\epsilon) \tL_{\max}^{*}$.
Thus, after establishing the number of possible assignments is not too large,
we have demonstrated that this technique gives a polynomial time
$(1+\epsilon)$-approximation algorithm for \LTprob. The collection of
these algorithms for $\epsilon > 0$ is the desired \PTAS.
\begin{claim}
$|B| \leq 1 / \epsilon $
\end{claim}
\begin{proof}
By the definition of $B$, each job $k \in B$ satisfies
$ p_{k} \geq \delta = \epsilon \sum_{j \in J} p_{j} $. Summing over
$B$ we obtain that
\[ \sum_{j \in J} p_{j} \geq \sum_{j \in B} p_{j}
\geq |B| ( \epsilon \sum_{j \in J } p_{j} ) =
( \epsilon \; |B| ) \sum_{j \in J} p_{j}. \]
Hence, $ \epsilon |B| \leq 1 $, as claimed.
\end{proof}
The number of possible assignments of slots to the jobs in $B$ is $O(
n^{|B|} ) = O(n^{1/\epsilon})$ which is polynomial in $n$ for any
fixed value of $\epsilon$. However, that the dependence is
exponential in $1/\epsilon$; this is to be expected, as \LTprob is
known to be \NPH in the strong sense. We summarize our lecture by stating
the main result as a theorem.
\begin{theorem}
The problem \LTprob has a \PTAS.
\end{theorem}
The \PTAS given above is attributed in \cite[p. 9]{Hall-AA-1} as an
unpublished result by E.~L. Lawler. The analysis given is attributed in
\cite[p. 10]{Hall-AA-1} to an unpublished manuscript by Lawler,
Lenstra, Rinnooy Kan and Shmoys.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{thebibliography}{9}
\bibitem{GarJoh}
Michael~R. Garey and David~S. Johnson.
\newblock {\em Computers and Intractability: A Guide to the Theory of
\textbf{NP}-Completeness}.
\newblock W. H. Freeman, New York, 1979.
\bibitem{LRB}
J.~K. Lenstra, A.~H.~G. Rinnooy~Kan, and P. Brucker.
\newblock Complexity of machine scheduling problems.
\newblock {\em Annals of Discrete Mathematics}\/ \textbf{1} (1977), 343--362.
\bibitem{Hall-AA-1}
Leslie~A. Hall.
\newblock Approximation Algorithms for Scheduling.
\newblock In Dorit~S. Hochbaum, editor, {\em Approximation Algorithms for
\NPH Problems}, pages 1--45.
\newblock PWS Publishing Company, Boston, 1997.
\bibitem{Jack}
J.~R. Jackson.
\newblock Scheduling a production line to minimize maximum tardiness.
\newblock Research Report 43, Management Sciences Research Project,
University of California in Los Angeles. 1955.
\NOT{ % Possible citation for the analysis? Cited by Hochbaum. Did not
% have a chance to check if this is the actual source.
\bibitem{LLKS}
E.~L. Lawler, J.~K. Lenstra, A.~H.~G. Rinnooy Kan, and D.~B. Shmoys.
\newblock Scheduling and scheduling: Algorithms and Complexity.
\newblock In S.~C. Graves, A.~H.~G. Rinnooy Kan, and P.~H. Zipkin, editors,
{\em Handbooks in Approximation Research and Management Science, Volume 4:
Logistics of Production and Inventory,}\/ pages 445--522.
\newblock North-Holland, Amsterdam, 1993.
}
\end{thebibliography}
\end{document}