This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Department of Information and Computing Sciences, Utrecht University, the NetherlandsH.L.Bodlaender@uu.nlhttps://orcid.org/0000-0002-9297-3330 Department of Information and Computing Sciences, Utrecht University, the Netherlands and Mathematical Institute, Utrecht University, the NetherlandsM.vanderWegen@uu.nlhttps://orcid.org/0000-0003-0899-6925 \ccsdescComputing methodologies Planning and scheduling \ccsdescTheory of computation Fixed parameter tractability \ccsdescTheory of computation Parameterized complexity and exact algorithms \CopyrightHans L. Bodlaender and Marieke van der Wegen

Acknowledgements.
We would like to thank Sukanya Pandey for helpful discussions. \hideLIPIcs

Parameterized Complexity of Scheduling Chains of Jobs with Delays

Hans L. Bodlaender    Marieke van der Wegen
Abstract

In this paper, we consider the parameterized complexity of the following scheduling problem. We must schedule a number of jobs on mm machines, where each job has unit length, and the graph of precedence constraints consists of a set of chains. Each precedence constraint is labelled with an integer that denotes the exact (or minimum) delay between the jobs. We study different cases; delays can be given in unary and in binary, and the case that we have a single machine is discussed separately. We consider the complexity of this problem parameterized by the number of chains, and by the thickness of the instance, which is the maximum number of chains whose intervals between release date and deadline overlap.

We show that this scheduling problem with exact delays in unary is W[t]W[t]-hard for all tt, when parameterized by the thickness, even when we have a single machine (m=1m=1). When parameterized by the number of chains, this problem is W[1]W[1]-complete when we have a single or a constant number of machines, and W[2]W[2]-complete when the number of machines is a variable. The problem with minimum delays, given in unary, parameterized by the number of chains (and as a simple corollary, also when parameterized by the thickness) is W[1]W[1]-hard for a single or a constant number of machines, and W[2]W[2]-hard when the number of machines is variable.

With a dynamic programming algorithm, one can show membership in XP for exact and minimum delays in unary, for any number of machines, when parameterized by thickness or number of chains. For a single machine, with exact delays in binary, parameterized by the number of chains, membership in XP can be shown with branching and solving a system of difference constraints. For all other cases for delays in binary, membership in XP is open.

keywords:
Scheduling, parameterized complexity

1 Introduction

In this paper, we study a problem in the field of parameterized complexity of scheduling problems. Here, we look at scheduling jobs with precedence constraints with exact or minimum delays, and assume that jobs have unit length. We study one of the simplest types of precedence constraint graphs: we assume that the precedences form a collection of disjoint chains. Chains have a release date and deadline. It is not hard to see (by a simple reduction from 3-Partition) that this problem is NP-hard, even when all delays are 0. In this paper, we study the parameterized complexity of the problem, and look at two different parameters: the number of chains, and the thickness of the instance — that is, the maximum number of chains that have overlapping intervals from release time to deadline. We look at different variants: a constraint gives an exact bound or a lower bound on the delay between successive jobs; we can have one, a constant, or a variable number of machines, and the delays can be given in unary or binary notation. If delays are given in unary, then each of the studied variants belongs to XP, and is hard for W[1]W[1] (or classes higher in the WW-hierarchy.) For one variation (see below), we also show membership in XP when delays are given in binary. We call the studied problems Chain Scheduling with Exact Delays and Chain Scheduling with Minimum Delays, for details see Section 2.

1.1 Related literature.

Looking at variants of scheduling problems with special attention to parameters (like the number of available machines) is a common approach in the rich field of study of scheduling problems. Studying such parameterizations using techniques and terminology from the field of parameterized algorithms and complexity was pioneered in 1995 [3], but recently receives growing attention, e.g. [2, 10, 12].

The scheduling of chains of jobs (without delays) was studied by Woeginger [14] and Bruckner [4], who gave respectively a 2-approximation algorithm, and a linear time algorithm for two machines. General precedence graphs with delays between jobs was studied already in 1992 by Wikum et al. [13]; this was followed by a large body of literature, studying different variations and approaches, including theoretical and experimental studies.

1.2 A different interpretation

The problem we studied can also be interpreted as another type of scheduling problem. Now, we let each chain represent one job: this job only occasionally needs to use the machine (or some specific resource) — at the other time steps, the job is running but does not need a resource. E.g., if we have a chain with delays 2 and 3, then, we can interpret this as a job that needs a resource at its first, fourth, and eighth time step. The variant with minimum delays now has as interpretation that we allow pre-emption, i.e., jobs can be halted at some time steps and resumed later.

1.3 Our results

parameter exact delays minimum delays
Single machine thickness W[t]W[t]-hard for all tt W[1]W[1]-hard
chains W[1]W[1]-complete W[1]W[1]-hard
Constant number thickness W[t]W[t]-hard for all tt W[1]W[1]-hard
of machines chains W[1]W[1]-complete W[1]W[1]-hard
Variable number thickness W[t]W[t]-hard for all tt W[2]W[2]-hard
of machines chains W[2]W[2]-complete W[2]W[2]-hard
Table 1: Hardness results for different variants of the problem. Exact and minimum delays are given in unary.

In this paper, we give a number of hardness results, which are summarized in Table 1. All variants are already hard when the (exact or minimum) delays are given in unary. We also give the following algorithmic results:

  • With a dynamic programming algorithm, one can show that the Chain Scheduling with Exact Delays and Chain Scheduling with Minimum Delays belong to XP, when delays are given in unary, and parameterized by either thickness or number of chains, for any number of machines.

  • Combining branching with solving a set of difference constraints shows XP-membership of Chain Scheduling with Exact Delays when parameterized by number of chains, for the case of one machines, when delays are given in binary.

For all other cases, the membership in XP when delays are given in binary is open.

1.4 Organization of this paper

In Section 2, we give a number of preliminary definitions. Section 3 gives hardness proofs for Chain Scheduling with Exact Delays when parameterized by the thickness. The complexity of Chain Scheduling with Exact Delays parameterized by the number of chains is established in Section 4; a relatively simple modification then gives hardness for the corresponding problems with minimum delays. Section 5 gives our algorithmic results (membership in XP). Some conclusions are given in Section 6.

2 Preliminaries

We first describe the problems we study in more details. We have a number of identical machines mm. In the paper, we study separately the cases that we have a single machine (m=1m=1), the number of machines is some fixed constant, or the number of machines is variable.

On these machines, we must schedule nn jobs. Each job has unit length. On the set of jobs, we have a collection of precedence constraints. Each precedence constraint is an ordered pair of jobs (i,i)(i,i^{\prime}): it tells that job ii^{\prime} cannot be started before job ii is completed. We say that ii is a direct predecessor of ii^{\prime}, and ii is a predecessor of ii^{\prime} if there is a directed path from ii to ii^{\prime} in the graph formed by the precedence constraints; ii^{\prime} then is a successor of ii.

The precedence constraints have associated with them a delay, denoted li,il_{i,i^{\prime}}: each delay is a non-negative integer. We study two variations of the problem: exact delays and minimum delays. If we consider exact (resp. minimum) delays, then if constraint (i,i)(i,i^{\prime}) has delay li,il_{i,i^{\prime}} then job ii^{\prime} must be started exactly (resp. at least) li,il_{i,i^{\prime}} time steps after job ii was finished. That is: when job ii starts at time tt, then job ii^{\prime} starts at time exactly (resp. at least) t+li,i+1t+l_{i,i^{\prime}}+1. (Note that jobs run directly after each other, only if the delay is 0.) It is allowed to schedule a job on a different machine than its predecessor — thus, we do not need to specify on what machine a job is running, but only ensure that at each time step, the number of scheduled jobs is at most the number of available machines.

In this paper, we consider the case that the graph of the precedence constraints consists of a set of chains. I.e., each job has at most one direct predecessor and at most one direct successor. Chains are the maximal sets of jobs that are predecessors or successors of each other.

Each chain CC has a release date rCr_{C} and a deadline dCd_{C}. We have that the first job in the chain cannot start before time rCr_{C} and the last job in the chain should be completed at or before time dCd_{C}.

In this paper, we consider the following two parameterizations of the problem. The first is the number of chains, denoted by cc. The second is the thickness, denoted by τ\tau, defined as follows. We say that two chains overlap, when their intervals [rC,dC)[r_{C},d_{C}) have a non-empty intersection. We define the thickness τ\tau to be the maximum size of a collection of chains that mutually overlap. That is, for any time tt, there are at most τ\tau chains CC for which we have that rCtr_{C}\leq t and dC>td_{C}>t.

Chain Scheduling with Exact Delays is the problem where we are given as input the set of jobs with chains of precedence constraints, delays for each precedence constraint, release dates and deadlines of chains, and number of machines, and ask whether there exists a schedule that fulfills all the demands: at each time step, the number of jobs scheduled is at most the number of machines; jobs in a chain are not scheduled before the release date or after the deadline, and for each precedence constraint (i,i)(i,i^{\prime}) the delay between ii and ii^{\prime} is exactly li,il_{i,i^{\prime}}.

As said, we study several variants of this problem: delays can be given in unary or binary, the number of machines can be 1, fixed or variable, and we can parameterize by the number of chains or by thickness. If we require that the stated delays are lower bounds, we obtain the Chain Scheduling with Minimum Delays problem: here, when we have a precedence contraint (i,i)(i,i^{\prime}) with delay li,il_{i,i^{\prime}}, we must have that job ii^{\prime} starts at least li,il_{i,i^{\prime}} time steps after job ii is finished.

For the W[t]W[t]-hardness proofs, we use reductions from the following version of the Satisfiability problem. A Boolean formula is said to be tt-normalized, if it is the conjunction of the disjunction of the conjunction of …of literals, with tt alternations of AND’s and OR’s.

The following parameterized problem was considered by Downey and Fellows [6].

Weighted tt-Normalized Satisfiability
Given: A tt-normalized Boolean formula FF and a positive integer kk\in{\mathbb{N}}.
Parameter: kk
Question: Can FF be satisfied by setting exactly kk variables to true?

Theorem 2.1 (Downey and Fellows [6, 7]).

For every t2t\geq 2, Weighted tt-Normalized Satisfiability is W[t]W[t]-complete.

For the W[1]W[1]- and W[2]W[2]-completeness results, we use reductions from Independent Set and Dominating Set. It is know that Independent Set is W[1]W[1]-complete [7] and Dominating Set is W[2]W[2]-complete [6].

3 Parameterization by thickness

In this section, we look at the Chain Scheduling with Exact Delays problem, when parameterized by the thickness τ\tau. We will show, for several variations, that the problem is hard for the class W[t]W[t], for all integers tt.

3.1 Parallel machines

We consider the version with mm parallel machines, where mm is part of the input. The delays are assumed to be exact.

We will give a reduction from Weighted tt-Normalized Satisfiablity. Assume we have a tt-normalized Boolean formula FF and integer kk. Let tt^{\prime} be the number of ‘levels’ of disjunction. We assume the variables of FF to be x0,,xn1x_{0},\ldots,x_{n-1}.

We make an instance of the Chain Scheduling with Exact Delays problem, with m=k+tm=k+t^{\prime} machines and thickness τ=2k+t\tau=2k+t^{\prime}.

An element of the formula is either a literal, or a disjunction or conjunction of smaller elements. We will first assign to each element a size ss, and then to each element an integer interval. To each element, we associate an interval size; the interval size of formula FF^{\prime} is denoted by s(F)s(F).

The interval size of a literal (i.e., a formula of the form xix_{i} or ¬xi\neg x_{i}) is 2n2n. The interval size of a conjunction is the sum of the size of the terms, i.e., s(F1F2Fq)=i=1qs(Fi)s(F_{1}\wedge F_{2}\wedge\cdots\wedge F_{q})=\sum_{i=1}^{q}s(F_{i}). For each disjunction FF^{\prime} of qq terms, its size is 2q+12q+1 times the maximum size of its terms: define smax(F)=max1iqs(Fi)s_{\max}(F^{\prime})=\max_{1\leq i\leq q}s(F_{i}), and then s(F1F2Fq)=(2q+1)smax(F)s(F_{1}\vee F_{2}\vee\cdots\vee F_{q})=(2q+1)\cdot s_{\max}(F^{\prime}).

To each element FF^{\prime} of FF we assign an integer interval [(F),r(F)][\ell(F^{\prime}),r(F^{\prime})] with s(F)=r(F)(F)s(F^{\prime})=r(F^{\prime})-\ell(F^{\prime}). We will do this top-down: first we assign an interval to FF, then we define a subinterval for every term of FF, etc.

To FF, we assign the interval [n,n+s(F)][n,n+s(F)]. To elements of a conjunction and disjunction, we assign subintervals of the intervals assigned to the conjunction of disjunction, in such a way that these intervals have the same nesting as the elements in the formula.

Consider an element FF^{\prime} that is the conjunction F1F2FsF_{1}\wedge F_{2}\wedge\cdots\wedge F_{s}. Then assign F1F_{1} the interval [(F),(F)+s(F1)][\ell(F^{\prime}),\ell(F^{\prime})+s(F_{1})]; F2F_{2} the interval [(F)+s(F1),(F)+s(F1)+s(F2)][\ell(F^{\prime})+s(F_{1}),\ell(F^{\prime})+s(F_{1})+s(F_{2})], etc. I.e., FiF_{i} is assigned the interval [(F)+j=1i1s(Fj),(F)+j=1is(Fj)][\ell(F^{\prime})+\sum_{j=1}^{i-1}s(F_{j}),\ell(F^{\prime})+\sum_{j=1}^{i}s(F_{j})].

Suppose element FF^{\prime} is the disjunction F1F2FsF_{1}\vee F_{2}\vee\cdots\vee F_{s}. The construction is similar to that of conjunctions, but now we assign each term the same length interval and keep unused intervals between the terms. Recall that smax(F)=max1iss(Fi)s_{\max}(F^{\prime})=\max_{1\leq i\leq s}s(F_{i}). Assign to FiF_{i} the interval [(F)+(2i1)smax(F),(F)+2ismax(F)][\ell(F^{\prime})+(2i-1)\cdot s_{\max}(F^{\prime}),\ell(F^{\prime})+2i\cdot s_{max}(F^{\prime})].

Note the nesting of intervals, and that we assigned to each element an interval equal to its size. Also note that we can compute all intervals and sizes in polynomial time.

We now can describe the jobs, precedence constraints and release dates and deadlines.

For each ii, 1ik1\leq i\leq k, we start a chain cic_{i}. Each of those chains start with a job and then a delay of n1n-1. The first job of the chain is released at time 0. We will add jobs and specify delays between jobs in the chain such that the total processing time including the delay times is n+s(F)+1n+s(F)+1. Set the deadline of those chains to 2n+s(F)2n+s(F), so that the first job can start at times 0,1,,n10,1,\ldots,n-1.

These chains reflect the variables that are set to true; more precisely, when the first job of one of the chains starts at a time ii, then this corresponds to setting xix_{i} to true. We call these the true variable chains.

To prevent two chains selecting the same variable, we add m1m-1 chains, each with nn jobs with delay 0, release date 0 and deadline nn. We call those chains fill chains. Those chains have to be scheduled from time 0 until time nn. This implies that at each time 0,1,,n10,1,\ldots,n-1 at most one other job can be schedules, thus at most one true variable chain starts. Hence, the true variable chains select exactly kk variable to be set to true.

We will now extend the true variable chains. Consider the interval [n,n+s(F)][n,n+s(F)] from left to right.

  • For each timestep that we encounter that is not part of an interval that corresponds to a literal, we add a delay of 11 at the end of the chain.

  • For each interval [(F),r(F)][\ell(F^{\prime}),r(F^{\prime})] that corresponds to a positive literal xix_{i}, we add the following gadget to the chain: n1in-1-i jobs with delay 0, then a delay of 11, then ii jobs with delay 0 and then a delay of nn. (See Figure 1.) Notice that no job is scheduled from (F)+n1\ell(F^{\prime})+n-1 until (F)+n\ell(F^{\prime})+n if the chain starts at time ii, and there is a job scheduled at this time otherwise.

  • For each element FF^{\prime} of FF that is a negative literal ¬xi\neg x_{i}, we make the following gadget: a delay of n1in-1-i, a job, then a delay of ii, and then a delay of nn. (See Figure 1.) Notice that a job is scheduled from (F)+n1\ell(F^{\prime})+n-1 until (F)+n\ell(F^{\prime})+n if the chain starts at time ii, and there is no job scheduled at this time otherwise.

Add one job at the end of the chain. Notice that the total processing time of those chains is indeed n+s(F)+1n+s(F)+1.

Refer to caption
Figure 1: The variable gadgets.

To check whether variables are true, we add some chains that consist of a single job. We call those chains variable check chains.

  • For each element FF^{\prime} of FF that consists of a single positive literal (i.e., is of the form xix_{i}), we make a chain with one job, that is released at time (F)+n1\ell(F^{\prime})+n-1 and has deadline (F)+n\ell(F^{\prime})+n.

  • For element FF^{\prime} of FF that consists of a single negative literal (i.e., is of the form ¬xi\neg x_{i}), we make a kk chains with one job, release date (F)+n1\ell(F^{\prime})+n-1 and deadline (F)+n\ell(F^{\prime})+n.

The intuition behind this construction is as follows: suppose that we have kk machines. For each element FF^{\prime} of FF that is of the form xix_{i}, there is one job scheduled from (F)+n1\ell(F^{\prime})+n-1 until (F)+n\ell(F^{\prime})+n. So for at least one of the true variable chains, we need that no job of this chain to be scheduled from (F)+n1\ell(F^{\prime})+n-1 until (F)+n\ell(F^{\prime})+n. This means that one of the true variable chains starts at time ii. For each element FF^{\prime} of FF that is of the form ¬xi\neg x_{i}, there are kk job scheduled from (F)+n1\ell(F^{\prime})+n-1 until (F)+n\ell(F^{\prime})+n. So for none of the true variable chains we can schedule a job of this chain from (F)+n1\ell(F^{\prime})+n-1 until (F)+n\ell(F^{\prime})+n. This means that none of the true variable chains starts at time ii. The other tt^{\prime} machines take care of the disjunctions.

For each element F=F1F2FqF^{\prime}=F_{1}\vee F_{2}\vee\cdots\vee F_{q} of FF that is a disjunction, we make one chain. This chain has 3smax(F)3\cdot s_{\max}(F^{\prime}) jobs with delay 0. The chain will be released at time (F)\ell(F^{\prime}) and has deadline r(F)r(F^{\prime}). We call those chains disjunction chains. Notice that for every element FF^{\prime} of FF that is a literal, there are exactly tt^{\prime} disjunction chains that overlap the interval [l(F),r(F)][l(F^{\prime}),r(F^{\prime})], that is, there are exactly tt^{\prime} disjunction chains CC with release time at most l(F)l(F^{\prime}) and deadline at least r(F)r(F^{\prime}).

We now have specified all jobs and the machines they run on. Note that the thickness of this construction is 2k+t2k+t^{\prime}.

Claim 1.

If FF is satisfiable by setting exactly kk variables to true, then the Chain Scheduling with Exact Delays scheduling problem has a solution.

Proof 3.1.

Suppose FF is satisfiable by making variables xi1,,xikx_{i_{1}},\ldots,x_{i_{k}} true. For each jj, with 1jk1\leq j\leq k, we let one true variable chain start at time iji_{j}.

First we introduce a notion satisfying, intuitively, this will be the elements that make FF true. We define this top-down. First we call FF satisfying. For each element FF^{\prime} of FF:

  • If FF^{\prime} is satisfying and FF^{\prime} is a conjunction F=F1FqF^{\prime}=F_{1}\wedge\cdots\wedge F_{q}, then all terms FiF_{i} are satisfying.

  • If FF^{\prime} is satisfying and FF^{\prime} is a disjunction F=F1FqF^{\prime}=F_{1}\vee\cdots\vee F_{q}, then at least one FiF_{i} is satisfied, say FjF_{j}. We say that FjF_{j} is satisfying, and the other term FiF_{i} with iji\neq j are not satisfying.

  • If FF^{\prime} is not satisfying, all its terms are not satisfying.

For each element FF^{\prime} of FF that is a disjunction F=F1FqF^{\prime}=F_{1}\vee\cdots\vee F_{q}, consider the disjunction chain CC associated with this element. If FF^{\prime} is not satisfying, then start this chain CC arbitrarily, say at its release time. If FF^{\prime} is satisfying, let FjF_{j} be its term that is satisfying. Now, start this chain CC at time (F)+(2j2)smax(F)\ell(F^{\prime})+(2j-2)s_{\max}(F^{\prime}), where smax(F)s_{\max}(F^{\prime}) is again the maximum interval size of the terms FiF_{i}.

Now we will verify that is a feasible schedule, that is, that we never use more than mm machines.

First consider a time step α\alpha from ii to i+1i+1, with 0in10\leq i\leq n-1. At this time step there are m1m-1 jobs of fill chains scheduled. Since the variables xi1,,xikx_{i_{1}},\ldots,x_{i_{k}} are different, the true variable chains start at different times. Hence, there is at most one job of a true variable chain scheduled at α\alpha. Thus, there are at most mm jobs scheduled at time α\alpha.

Consider a time step α\alpha from ii to i+1i+1 with ini\geq n, such that i(F)+n1i\neq\ell(F^{\prime})+n-1 for all elements FF^{\prime} of FF that are literals. Notice that at those times no jobs of fill chains and variable check chains are scheduled. There are at most kk jobs of true variable chains scheduled at time step α\alpha, since there are only kk true variable chains. And there are at most tt^{\prime} jobs of disjunction chains scheduled, since there are tt^{\prime} levels of disjunction. It follows that there are at most k+t=mk+t^{\prime}=m jobs scheduled at time step α\alpha.

Consider a time step α\alpha from ii to i+1i+1 with ini\geq n, such that i=(F)+n1i=\ell(F^{\prime})+n-1 for an element FF^{\prime} of FF that is a literal. We distinguish three cases.

Suppose that FF^{\prime} is satisfying, and FF^{\prime} is a positive literal F=xjF^{\prime}=x_{j}. Then we know that there are tt^{\prime} machines used for the disjunction chains. Besides, there is one machine used for the variable check chains. Since we know that FF^{\prime} is satisfying, xjx_{j} is true. Thus one of the true variable chains starts at time jj. So this chain has no job scheduled from ii until i+1i+1. So at most k1k-1 true variable chains have a job scheduled from ii until i+1i+1. In total there are at most t+1+k1=mt^{\prime}+1+k-1=m machines used.

Suppose that FF^{\prime} is satisfying, and FF^{\prime} is a negative literal, say F=¬xjF^{\prime}=\neg x_{j}. Then we know that there are tt^{\prime} machines used for the disjunction chains. There are kk machines used for the variable check chains. Since we know that FF^{\prime} is satisfying, xjx_{j} is false. Thus none of the true variable chains starts at time jj. Hence, no true variable chain has a job scheduled from ii until i+1i+1. In total there are at most mm machines used from ii until i+1i+1.

Suppose that FF^{\prime} is not satisfying. Let F′′F^{\prime\prime} be the last satisfying element on the path from FF to FF^{\prime}. The disjunction chain that corresponds to F′′F^{\prime\prime} has no job that is scheduled form ii until i+1i+1. Hence, there are at most t1t^{\prime}-1 machines used for the disjunction chains from time ii until i+1i+1. It follows that there are k+1k+1 machines for the true variable chains and the variable check chains. Since all true variable chains start at different times, those chains together have k+1k+1 jobs that can be scheduled from ii until i+1i+1. We conclude that we used at most mm machines from time ii until i+1i+1.

Claim 2.

Suppose the Chain Scheduling with Exact Delays scheduling problem has a solution, then FF can be satisfied by setting exactly kk variables to true.

Proof 3.2.

For each true variable chain, if it starts at time ii, then set xix_{i} to true. All other variables are set to false, i.e, xix_{i} is true, if and only if there is a true variable chain that starts at time ii.

Note that all variable chains must start at different times, and they must start at times 0,1,n10,1,\ldots n-1. If two of these start at the same time ii, then both have a job scheduled from ii until i+1i+1, but there are m1m-1 fill chains that have a job scheduled from ii until i+1i+1 as well, which is a contradiction with the total number of machines. Thus, we have set exactly kk variables to true.

We claim that this setting makes FF true. We define elements of FF to be demonstrated in the following way, recursively. We say that FF is demonstrated.

  • If a conjunction is demonstrated, then all its terms are demonstrated.

  • If a disjunction F=F1FqF^{\prime}=F_{1}\vee\cdots\vee F_{q} is demonstrated, then we consider the corresponding disjunction chain CC. If for every time step in [l(Fj),r(Fj)][l(F_{j}),r(F_{j})] a job of CC is scheduled, we say that FjF_{j} is demonstrated.

After this top-down definition of demonstrated elements, we will now inductively show bottom-up that demonstrated elements are satisfied by the setting of variables described above.

Consider a demonstrated element FF^{\prime} that is a literal. By the definition of demonstrated, tt^{\prime} of the disjunction chains have a job scheduled at each time step of [l(F),r(F)][l(F^{\prime}),r(F^{\prime})]. Consider the time step from l(F)+n1l(F^{\prime})+n-1 until l(F)+nl(F^{\prime})+n. We know that tt^{\prime} machines process a job of a disjunction chain at this time step, so at most kk machines process jobs of true variable chains and variable check chains.

Suppose that FF^{\prime} is a positive literal, say xix_{i}. Notice that one machine processes a check variable chain from l(F)+n1l(F^{\prime})+n-1 until l(F)+nl(F^{\prime})+n. So at most k1k-1 machines process a job of a true variable chain. Hence there must be at least one true variable chain that does not have a job scheduled at this time. By construction of the true variable chains, such a chain must start at time ii; and thus we set xix_{i} to true, i.e., our setting satisfies the formula consisting of the single positive literal xix_{i}.

If FF^{\prime} is a negative literal ¬xi\neg x_{i}, kk machines are processing check variable chains from l(F)+n1l(F^{\prime})+n-1 until l(F)+nl(F^{\prime})+n; thus no true variable chain can have a job scheduled at this step. By construction of the true variable chains, this implies that no true variable chain starts at time ii, and thus xix_{i} is set to false. Hence, FF^{\prime} is satisfied.

Now consider a demonstrated element FF^{\prime} and assume, by induction, that for all its terms FiF_{i} holds: if FiF_{i} is demonstrated, then FiF_{i} is true.

Suppose that FF^{\prime} that is a conjunction. All its terms are demonstrated, and by the induction hypothesis, all its terms are true. Thus the conjunction is also true.

Suppose that FF^{\prime} is a disjunction. Since the corresponding disjunction chain has length 3smax(F)3s_{\max}(F^{\prime}), there is at least one FjF_{j} such that for every time step in [l(Fj),r(Fj)][l(F_{j}),r(F_{j})] a job of CC is scheduled. By definition, this FjF_{j} is demonstrated. By induction, FjF_{j} is true, and thus FF^{\prime} is true.

We conclude that FF is satisfied.

We now have shown:

Theorem 3.3.

The Chain Scheduling with Exact Delays problem, parameterized by the thickness τ\tau, is W[t]W[t]-complete for all tt\in\mathbb{N}.

3.2 Single machine

Again, assume the delays are exact. We now show that the problem stays hard when there is only one machine.

Theorem 3.4.

The Chain Scheduling with Exact Delays problem, parameterized by the thickness τ\tau, is W[t]W[t]-complete for all tt\in{\mathbb{N}}, when only 11 machine is available.

Let τ\tau be the thickness of the original instance. The main idea of the transformation is to replace each time step on mm machines by τ\tau time steps on a single machine. Every chain will be assigned a number i{0,1,,τ1}i\in\{0,1,\ldots,\tau-1\} and its jobs will be scheduled at times i(modτ)i\pmod{\tau}, this will make sure that at every timestep only one job is scheduled. For every interval [iτ,(i+1)τ][i\tau,(i+1)\tau], we will have τm\tau-m chains that have one job; this ensures that at at most mm time steps of the interval a job of a regular chain is scheduled. We now proceed with the formal description.

We transform from the case with mm machines (Theorem 3.3). Suppose we have an instance with mm machines. For every interval [iτ,(i+1)τ][i\tau,(i+1)\tau], we add τm\tau-m additional chains, with a single job, release date iτi\tau and deadline (i+1)τ(i+1)\tau. We call those chains extra.

We copy the chains from the given instance, except that:

  • If a chain has release date α\alpha, then it now has release date ατ\alpha\cdot\tau.

  • If a chain has deadline β\beta, then it now has deadline βτ\beta\cdot\tau.

  • Every delay dd is replaced by a delay τd+τ1\tau d+\tau-1.

We call these chains regular.

Claim 3.

Suppose we have a solution for the transformed instance with one machine. Then we have a solution for the original instance with mm machines.

Proof 3.5.

For each regular chain, let it start at time t/τ\lfloor t/\tau\rfloor, when its transformed instance starts at time tt. This implies that for every job in the chain it will start at time t/τ\lfloor t/\tau\rfloor, when its transformed instance starts at time tt. We know that for each time interval [tτ,(t+1)τ][t\tau,(t+1)\tau], τm\tau-m steps are used for extra jobs, so mm time steps are available for jobs of regular chains. Thus, at every time step tt in the original instance, at most mm jobs are scheduled.

Claim 4.

Suppose we have a solution for the original instance with mm machines. Then we have a solution for the transformed instance with 11 machine.

Proof 3.6.

We start with assigning a number 0,1,,τ10,1,\ldots,\tau-1 to every chain such that for every time step all the chains that overlap this time step have different number. We denote this assignment by cc. We can do this as follows: go through time 0,1,2,0,1,2,\ldots, and every time a chain is released, assign a number that is currently unused, if a deadline passes, the number of the corresponding chain becomes available again. We can do this with τ\tau numbers, since by definition for every timestep there are at most τ\tau chains that overlap this timestep.

For every regular chain CC, let CC start at time tτ+c(C)t\tau+c(C), where tt is the starting time of the corresponding original chain. Then chains of thickness number ii only have jobs starting at times tt with ti(modτ)t\equiv i\pmod{\tau}. For every time tt, all jobs that are scheduled to start at time tt in the original instance, will now be scheduled in the interval [tτ,(t+1)τ][t\tau,(t+1)\tau] in the transformed instance. Those jobs are in different chains and those chains are assigned different numbers. Thus those jobs are scheduled at different times in the tranformed instance.

In the original instance, at each time tt at most mm chains have a job scheduled to start at tt, so, in the transformed instance, for each interval [tτ,(t+1)τ][t\tau,(t+1)\tau], at most mm regular chains have a job scheduled in this interval. Thus, we can schedule the τm\tau-m extra chains in this time interval at the time steps where no job of a regular chain is scheduled.

As the transformation can be carried out in polynomial time, Theorem 3.4 follows from the transformation and Theorem 3.3.

3.3 Constant number of parallel machines

We can easily transform the single machine instance to an instance with a constant number mm of parallel machines. Let TT be the maximum deadline of all chains. Introduce m1m-1 new chains with TT jobs each and 0 delays. The m1m-1 new machines will be processing those m1m-1 new chains, while the original machine processes the original chains. We conclude the following result.

Theorem 3.7.

The Chain Scheduling with Exact Delays problem with a fixed number of machines, parameterized by the thickness τ\tau, is W[t]W[t]-complete for all tt\in{\mathbb{N}}.

3.4 Minimum delays

The proof above seems not to modifiable to the Chain Scheduling with Minimum Delays problem. In Section 4.4, we show that Chain Scheduling with Minimum Delays, parameterized by the number of chains is W[1]W[1]-hard when m=1m=1, and W[2]W[2]-hard when the number of machines mm is variable. As the thickness is at most the number of chains, it follows that Chain Scheduling with Minimum Delays, parameterized by the thickness is W[1]W[1]-hard for one machine, and W[2]W[2]-hard for a variable number of machines. Membership in W[1]W[1] or W[2]W[2] is open, however.

4 Parameterization by the number of chains

We now give the complexity results when we use the number of chains as parameter. In Sections 4.1, 4.2, and 4.3, we consider Chain Scheduling with Exact Delays, with the number of machines respectively 1, a constant, or variable. In Section 4.4, we consider Chain Scheduling with Exact Delays.

4.1 Single machine

In this section, we consider the variant where the number of chains cc is a parameter, and at each step in time, there is one machine available. We assume that the delays are exact.

Theorem 4.1.

The Chain Scheduling with Exact Delays problem, parameterized by the number of chains cc is W[1]W[1]-complete, when there is one machine.

Theorem 4.1 is proven by two transformations: from and to Independent Set with standard parameterization.

Lemma 4.2.

The Chain Scheduling with Exact Delays problem with one machine, parameterized by the number of chains cc, is W[1]W[1]-hard.

Proof 4.3.

A set of integers SS is said to be a Golomb ruler if all differences aba-b of two elements a,bSa,b\in S are unique, that is, s1s2s3s4s_{1}-s_{2}\neq s_{3}-s_{4} for s1,s2,s3,s4Ss_{1},s_{2},s_{3},s_{4}\in S with s1s2s_{1}\neq s_{2} and s3s4s_{3}\neq s_{4}.

Erdös and Turán [9] gave the following explicit construction of a Golumb ruler. Let p>2p>2 be a prime number. Then the set {2pk+(k2modp)|k{0,1,,p1}}\{2pk+(k^{2}\bmod p)\leavevmode\nobreak\ |\leavevmode\nobreak\ k\in\{0,1,\ldots,p-1\}\} is a Golomb ruler with pp elements. We can build a Golumb ruler of size nn in O(nn)O(n\sqrt{n}) time: with help of the Sieve of Eratosthenes, we find a prime number pp between nn and 2n2n (such a number always exist, by the classic postulate of Bertrand (see [1]), and then follow the Erdös-Turán-construction with this value of pp, and take the first nn elements of this set. Notice that the elements in this set are smaller than 4n24n^{2}.

Suppose we have an input of independent set G=(V,E)G=(V,E) and kk. Assume V={v1,,vn}V=\{v_{1},\ldots,v_{n}\} and let mm be the number of edges. First, build a Golumb ruler SnS^{n} of size nn. Denote the elements by s0s1sn1s_{0}\leq s_{1}\leq\ldots\leq s_{n-1}. Notice that s0=0s_{0}=0. Write c0=sn1+1c_{0}=s_{n-1}+1.

We will construct an instance of Chain Scheduling with Exact Delays. We will make k+1k+1 chains. We call one chain the start time forcing chain, the other kk chains are the vertex selection chains.

The start time forcing chain has release date 11, deadline c0c_{0} and total execution time (including delays) c01c_{0}-1. I.e., it must start at time 1. The chain will have a job starting at every time in [1,c01][1,c_{0}-1] except the times s1,s2,,sn1s_{1},s_{2},\ldots,s_{n-1}.

The vertex selection chains have release date 0. They have deadline c0+T1c_{0}+T-1 and total execution time TT, where T=(mk(k1))(2c0+1)+1T=(m\cdot k(k-1))(2c_{0}+1)+1. So, they can start at times 0,1,,c010,1,\ldots,c_{0}-1. The vertex selection chains start with a job and then a delay of c01c_{0}-1. Note that as a result of this, in order not to conflict with the start time forcing chain, they have to start at an element of SnS^{n}.

Now, for each edge {vi,vj}E\{v_{i},v_{j}\}\in E, and each ordered pair of vertex selection chains Ca,CbC_{a},C_{b} with a,b{1,2,,k}a,b\in\{1,2,\ldots,k\} we dedicate an interval Ivi,vj,Ca,CbI_{v_{i},v_{j},C_{a},C_{b}} of 2c0+12c_{0}+1 time steps. More precisely, we have mk(k1)m\cdot k(k-1) intervals [c0+i(2c0+1),c0+(i+1)(2c0+1)][c_{0}+i(2c_{0}+1),c_{0}+(i+1)(2c_{0}+1)] for i=0,1,,mk(k1)1i=0,1,\ldots,m\cdot k(k-1)-1. And to each interval we assign a unique label Ivi,vj,Ca,CbI_{v_{i},v_{j},C_{a},C_{b}} where vivjEv_{i}v_{j}\in E and a,b{1,2,,k}a,b\in\{1,2,\ldots,k\}. In the interval Ivi,vj,Ca,CbI_{v_{i},v_{j},C_{a},C_{b}} we will check whether the chains CaC_{a} and CbC_{b} did not select the edge vivjv_{i}v_{j}, that is, whether CaC_{a} does not start at sis_{i} or CbC_{b} does not start at sjs_{j}.

We will now extend the vertex selection chains. Consider the interval [c0,c0+c0+(mk(k1))(2c0+1)][c_{0},c_{0}+c_{0}+(m\cdot k(k-1))(2c_{0}+1)] from left to right. For each interval Ivi,vj,Ca,CbI_{v_{i},v_{j},C_{a},C_{b}} that we encounter, we extend the vertex selection chains as follows.

  • For each chain CC, with CCaC\neq C_{a}, CCbC\neq C_{b}, add a delay of 2c0+12c_{0}+1.

  • Add the following gadget to the chain CaC_{a}: a delay of c0sic_{0}-s_{i}, a job, and then a delay if c0+sic_{0}+s_{i}.

  • Add the following gadget to the chain CbC_{b}: a delay of c0sjc_{0}-s_{j}, a job, and then a delay if c0+sjc_{0}+s_{j}.

Add one job at the end of all chains. See Figures 2, 3 and 4 for an example of the construction and a feasible schedule.

v2v_{2}v1v_{1}v3v_{3}
Figure 2: An example graph GG. If we pick p=3p=3, the corresponding Golomb ruler is {0,7,13}\{0,7,13\}.
Refer to caption
Figure 3: The part of the chains CaC_{a} and CbC_{b} for the interval Iv1,v2,Ca,CbI_{v_{1},v_{2},C_{a},C_{b}} for the graph in Figure 2.
Refer to caption
Figure 4: The instance of the scheduling problem constucted from the graph in Figure 2 and k=2k=2.

We claim that there is a feasible schedule, if and only if GG has an independent set of size at least kk.

Claim 5.

If GG has an independent set of size at least kk, then there is a feasible schedule.

{claimproof}

Suppose vi1,,vikv_{i_{1}},\ldots,v_{i_{k}} form an independent set in GG. Let the vertex selection chain CaC_{a} start at times sias_{i_{a}} for a=1,2,,ka=1,2,\ldots,k.

Notice that for the first c0c_{0} time steps, at most one resource is used. The same holds for the last c0c_{0} time steps. We show that this is a feasible scheduling by contradiction. Suppose that there are two resources needed at some time step β\beta, and that β\beta is in the interval I=Ivi,vj,Ca,CbI=I_{v_{i},v_{j},C_{a},C_{b}} for checking whether the chains CaC_{a} and CbC_{b} do not select the edge vivjv_{i}v_{j}. Write I=[(I),r(I)]I=[\ell(I),r(I)]. Notice that job of CaC_{a} in the interval II starts at time (I)+c0si+sia\ell(I)+c_{0}-s_{i}+s_{i_{a}}. And the job of CbC_{b} in the interval II starts at time (I)+c0sj+sib\ell(I)+c_{0}-s_{j}+s_{i_{b}}. Thus (I)+c0si+sia=β=(I)+c0sj+sib\ell(I)+c_{0}-s_{i}+s_{i_{a}}=\beta=\ell(I)+c_{0}-s_{j}+s_{i_{b}}. Equivalently, siasi=sibsjs_{i_{a}}-s_{i}=s_{i_{b}}-s_{j}. Since SnS^{n} is a Golomb ruler, it follows that either sia=sis_{i_{a}}=s_{i} and sib=sjs_{i_{b}}=s_{j} or sia=sibs_{i_{a}}=s_{i_{b}} and si=sjs_{i}=s_{j}.

In the first case, sia=sis_{i_{a}}=s_{i} and sib=sjs_{i_{b}}=s_{j}, we see that vi=viav_{i}=v_{i_{a}} and vj=vibv_{j}=v_{i_{b}}. But there is no edge viavibv_{i_{a}}v_{i_{b}}, since viav_{i_{a}} and vibv_{i_{b}} are in an independent set. This yields a contradiction.

In the second case, sia=sibs_{i_{a}}=s_{i_{b}} and si=sjs_{i}=s_{j}, we see that via=vibv_{i_{a}}=v_{i_{b}}, but this yields a contradiction with the fact that the vertices of the independent set are distinct.

We conclude that this schedule always uses at most one machine.

Claim 6.

If there is a feasible schedule, then GG has an independent set of size at least kk.

{claimproof}

Suppose that there is a feasible schedule. Notice that the time of the first step of a vertex selection chains must be an element of SnS^{n}, otherwise the job conflicts with the start time forcing chain. Now, set W={vithere is a vertex selection chain that starts at time si}W=\{v_{i}\mid\textrm{there is a vertex selection chain that starts at time }s_{i}\}. Notice that |W|=k|W|=k, as otherwise two vertex selection chains start at the same time, and conflict with each other for their first job.

We prove that WW is an independent set by contradiction. Suppose that there exists an edge vivjv_{i}v_{j}, with vi,vjWv_{i},v_{j}\in W. Let CaC_{a} be the chain that starts at sis_{i} and CbC_{b} the chain that starts at sjs_{j}. Now consider the interval I=Ivi,vj,ja,jbI=I_{v_{i},v_{j},j_{a},j_{b}}, and write I=[(I),r(I)]I=[\ell(I),r(I)]. By the construction of the chains, it follows that CaC_{a} starts its job of the interval II at time (I)+c0si+si=(I)+c0\ell(I)+c_{0}-s_{i}+s_{i}=\ell(I)+c_{0}. The job of CbC_{b} in the interval starts at time (I)+c0\ell(I)+c_{0} as well. This yields a contradiction. We conclude that WW is an independent set. This shows that the Chain Scheduling with Exact Delays problem with a single machine, parametrized by the number of chains, is W[1]W[1]-hard.

Lemma 4.4.

The Chain Scheduling with Exact Delays problem with one machine, parameterized by the number of chains cc is in W[1]W[1].

Proof 4.5.

We show that the problem belongs to W[1]W[1] by a transformation to Independent Set. Suppose we are given an instance of the Chain Scheduling with Exact Delays problem with a single machine. We now build a graph as follows: for each chain CC and each possible starting time tt of this chain, we take one vertex vC,tv_{C,t}. We now add edges as follows: each pair of vertices that represent the same chain with different starting times is adjacent (i.e., for each chain, its vertices form a clique). For each pair of vertices vC,tv_{C,t}, vC,tv_{C^{\prime},t^{\prime}}, CCC\neq C^{\prime}, we add an edge if and only if starting chain CC on time tt and starting chain CC^{\prime} on time tt^{\prime} will cause that there is a time step where a job of both chains is scheduled.

It is not hard to see that the given instance of the Chain Scheduling with Exact Delays problem has a solution, if and only if the constructed graph has an independent set of size at least kk (with kk the number of chains). Indeed, if there is an independent set of size at least kk, then for every chain CC there is a vertex vC,tv_{C,t} in the independent set, since for every chain CC we can have at most one vertex vC,tv_{C,t} in an independent set. Scheduling chain CC at time tt gives a feasible schedule. On the other hand, if we have a feasible schedule, then the set {vC,tC a chain ,t its starting time in the schedule}\{v_{C,t}\mid C\textrm{ a chain },t\textrm{ its starting time in the schedule}\} is an independent set of size kk.

4.2 Constant number of parallel machines

If we assume that there are mm machines, but mm is considered to be a constant (i.e., not a fixed parameter; mm is part of the problem description), then the problem is W[1]W[1]-complete.

Theorem 4.6.

The Chain Scheduling with Exact Delays problem with mm machines, parameterized by the number of chains, is W[1]W[1]-complete.

Hardness follows easily from the case that m=1m=1: add m1m-1 chains with maximum length that consist of jobs with 0 delay.

Membership follows by formulating the problem as a Weighted CNF-SAT problem, i.e., giving a CNF-SAT formula that has a solution with at most kk (parameter) variables true, if and only if the scheduling problem has a solution.

We have a variable for each chain CC and each time tt that it can start, say xC,tx_{C,t}.

We have a number of clauses that force that each chains starts at some time: for each chain CC, we have clause xC,t\bigvee x_{C,t}, ranging over all starting times tt of chain CC. We call those clauses chain clauses. This forces that each chain has one of its variables to be true.

The parameter kk is set to the number of chains. It follows that for each chain, exactly one of its variables is true.

Then, we have clauses that check that we never use more than mm machines. For each time tt^{\prime}, look at the set

St={xC,tif C starts at time t, then one of its jobs starts at time t}.\displaystyle S_{t^{\prime}}=\{x_{C,t}\mid\text{if $C$ starts at time $t$, then one of its jobs starts at time $t^{\prime}$}\}.

For each subset XStX\subset S_{t^{\prime}} of m+1m+1 of these variables, we take a clause xC,tX¬xC,t\bigvee_{x_{C,t}\in X}\neg x_{C,t}. We call those clauses the time clauses.

Claim 7.

Suppose there is a solution for the Weighted CNF-SAT instance, then the Chain Scheduling with Exact Delays scheduling problem has a solution.

Proof 4.7.

Let xC1,t1,xC2,t2,,xCk,tkx_{C_{1},t_{1}},x_{C_{2},t_{2}},\ldots,x_{C_{k},t_{k}} be a solution for the CNF-SAT instance. The chain clauses garantee that for every chain CC there is at least one variable xC,tx_{C,t} true. Since kk equals the number of chains, we have that for every chain CC there is exactly one variable xC,tx_{C,t} true. Let chain CiC_{i} start at time tit_{i} for all i=1,2,ki=1,2,\ldots k.

We show that this is a feasible schedule by contradiction. Suppose that at time tt more than mm jobs are scheduled to start. Let XX be the set of chains that those jobs are in. Let XXX^{\prime}\subseteq X be a subset of size m+1m+1. Then the time clause CiX¬xCi,ti\bigvee_{C_{i}\in X^{\prime}}\neg x_{C_{i},t_{i}} is not satisfied. This yields a contradiction.

Claim 8.

If there exists a solution for the scheduling problem, then we have a solution for the Weighted CNF-SAT instance.

Proof 4.8.

Suppose we have a feasible schedule. For each chain CC set the variable xC,tx_{C,t} to true, where tt is the starting time of CC in the schedule. Notice that there are exactly kk variables set to true.

For every chain CC we set one variable xC,tx_{C,t} to true, so the chain clauses are satisfied.

For every time tt, at most mm jobs start at tt. Consider the set StS_{t}. At most mm variables in this set are set to true. So, for every subset XStX\subseteq S_{t} of m+1m+1 variables, there is at least one variable false. Hence, the clause is satisfied.

4.3 Variable number of parallel machines

In this section, we show that Chain Scheduling with Exact Delays problem with mm machines, where mm is part of the input, is W[2]W[2]-complete.

Theorem 4.9.

The Chain Scheduling with Exact Delays problems with a variable number of machines, parameterized by the number of chains cc, is W[2]W[2]-complete.

We prove this by reductions from and to Dominating Set problems.

Lemma 4.10.

The Chain Scheduling with Exact Delays problems with a variable number of machines, parameterized by the number of chains cc, is W[2]W[2]-hard.

Proof 4.11.

Let G=(V,E)G=(V,E), kk be an instance of Dominating Set. Assume that V={v1,v2,,vn}V=\{v_{1},v_{2},\ldots,v_{n}\}. We will make an instance of the scheduling problem with kk machines and k+1k+1 chains.

The first chain will have release date 2n12n-1 and deadline n(n+1)n(n+1). It will consist of nn jobs, with delay n1n-1 between each pair of consecutive jobs. Notice that this chain has to start at time 2n12n-1. We will call this chain the check chain.

The other kk chains will be identical, we call them the vertex selection chains. They have release date 0 and deadline (n+1)n+n1(n+1)n+n-1. They will have total execution time (n+1)n(n+1)n, so they can start at times 0,1,,n10,1,\ldots,n-1. Start each chain with a job and then a delay of n1n-1.

Consider the interval [n,(n+1)n][n,(n+1)n] from left to right. For each integer in+jin+j with 0jn10\leq j\leq n-1, add the following to the vertex selection chains:

  • a delay of 11 if i=nji=n-j,

  • a delay of 11 is vivnjv_{i}\sim v_{n-j},

  • a job otherwise.

Notice that for each interval [in,(i+1)n][in,(i+1)n], we made a gadget the represents the adjacencies of vertex viv_{i}: there is no job at time (i+1)nj(i+1)n-j of the execution of the chain if i=ji=j or vivjv_{i}\sim v_{j} for j=1,2,,nj=1,2,\ldots,n. See Figure 5.

Refer to caption
Figure 5: A graph and the corresponding instance of the scheduling problem with k=2k=2.
Claim 9.

If GG has a dominating set of size at most kk, then there is a feasible schedule.

{claimproof}

Let vj1,vj2,,vjkv_{j_{1}},v_{j_{2}},\ldots,v_{j_{k}} be a dominating set. Let the vertex selection chains start at times j11j_{1}-1, j21j_{2}-1, \ldots, jk1j_{k}-1. We will show that this is a feasible schedule.

Notice that at each time that is not of the form in1in-1 at most kk jobs are scheduled to start, since the check chain has no job starting at this time.

Now consider the time in1in-1, for some i=1,2,,ni=1,2,\ldots,n. The check chain has a job scheduled to start at this time. We will show that there is a vertex selection chain that has no job starting at this time. Let vjav_{j_{a}} be the vertex that dominates viv_{i}. Then we know that i=jai=j_{a} or vivjav_{i}\sim v_{j_{a}}. So the vertex selection chains have a delay of 11 starting at time (i+1)nja(i+1)n-j_{a} of their execution time. Let CC be the chain that starts at time ja1j_{a}-1. It follows that CC has a delay of 11 starting at time (i+1)nja+(ja1)=(i+1)n1(i+1)n-j_{a}+(j_{a}-1)=(i+1)n-1.

Claim 10.

If there is a feasible schedule, then GG has a dominating set of size at most kk.

{claimproof}

Let j1,j2,,jkj_{1},j_{2},\ldots,j_{k} be the starting times of the vertex selection chains in a feasible schedule. Consider the set U={vj1+1,vj2+1,,vjk+1}U=\{v_{j_{1}+1},v_{j_{2}+1},\ldots,v_{j_{k}+1}\}. We will show that this is a dominating set.

Let viv_{i} be a vertex. Consider the time (i+1)n1(i+1)n-1. Notice that a job of the check chain is scheduled to start at this time, so one of the vertex selection chains CC has no job starting at this time. Let jaj_{a} be the starting time of the chain CC. It follows that CC has no job at time (i+1)n1ja(i+1)n-1-j_{a} of its execution time. Hence ja+1=ij_{a}+1=i or vja+1viv_{j_{a}+1}\sim v_{i}. We conclude that viv_{i} is dominated. We conclude that the Chain Scheduling with Exact Delays problem with a variable number of machines is W[2]W[2]-hard, when parametrized by the number of chains.

Lemma 4.12.

The Chain Scheduling with Exact Delays problems with a variable number of machines, parameterized by the number of chains cc, is in W[2]W[2].

Proof 4.13.

We use a reduction to Threshold Dominating Set. In the Threshold Dominating Set problem, we are given a graph GG and integers kk and rr, and ask for a set of at most kk vertices, such that each vertex in GG is dominated at least rr times.

Downey and Fellows [8] showed that Threshold Dominating Set, parameterized by kk and rr is W[2]W[2]-complete.

Suppose we have an instance of the Chain Scheduling with Exact Delays scheduling problem with mm machines and cc chains. Let tmaxt_{\max} the largest deadline in this instance. We will distinguish three cases: cm0c-m\leq 0, cm=1c-m=1, and cm>1c-m>1. If cmc\leq m, any schedule is feasible, so we reduce to a trivial dominating set instance.

Suppose that cm=1c-m=1. We will construct an instance of Threshold Dominating Set where we look for a set of cc vertices that dominates each vertex at least once.

We construct a graph GG with three types of vertices:

  • For each chain CC and each time step tt, we have vertex xC,tx_{C,t} if and only if it is possible to start chain CC at time tt (i.e., tt is not before the release date of CC and tt plus the execution time of CC is at most the deadline of CC).

  • We have an independent set with for each time tt, with 0t<tmax0\leq t<t_{\max}, a vertex yty_{t}.

  • For each chain CC we have c+1c+1 vertices zz,αz_{z,\alpha}, with α=1,2,,c+1\alpha=1,2,\ldots,c+1.

We have the following edges:

  • For each chain CC, the set of vertices of the form xC,tx_{C,t} forms a clique.

  • There is an edge between xC,tx_{C,t} to yty_{t^{\prime}}, if and only if starting chain CC at time tt makes that no job of CC starts at time tt^{\prime}.

  • Each vertex zC,αz_{C,\alpha} is adjacent to all vertices of the form xC,tx_{C,t}.

See Figure 6.

Refer to caption
Figure 6: The construction described in Lemma 4.12 for the case cm=1c-m=1.
Claim 11.

If GG contains a threshold dominating set of size at most cc that dominates every vertex at least once, then there is a feasible schedule.

{claimproof}

Let UU be a threshold dominating set with |W|c|W|\leq c, such that each vertex is dominated at least once.

We will show that UU consists of vertices of the form xC,tx_{C,t}, one for each chain CC.

Consider a chain CC. Notice that there are c+1c+1 vertices zC,αz_{C,\alpha}, so UU does not contain all of them. Let α\alpha be such that zC,αUz_{C,\alpha}\notin U. Since zC,αz_{C,\alpha} is dominated by UU, at least one vertex of the form xC,tx_{C,t} is contained in UU. Since we have cc chains and UU has size cc, it follows that for every chain CC, UU contains exactly one vertex of the form xC,tx_{C,t} and no vertex of the form zC,αz_{C,\alpha}. Moreover, UU does not contain vertices of the form yty_{t}.

Make a schedule as follows: for every chain CC, start this chain at time tt, for tt such that xC,tUx_{C,t}\in U. Consider a time tt^{\prime}. Since vertex yty_{t^{\prime}} is dominated by a vertex xC,tx_{C,t}, we know that there is an edge from xC,tx_{C,t} to yty_{t^{\prime}}. By the construction of GG, it follows that chain CC has no job starting at time tt^{\prime}. It follows that at most c1=mc-1=m jobs start at time tt. We conclude that this is a feasible schedule.

Claim 12.

If there is a feasible schedule, then GG has a threshold dominating set of size at most cc that dominates every vertex at least once.

{claimproof}

Consider the set UU, that contains for every chain CC the vertex xC,tx_{C,t}, where tt is the starting time of CC in the schedule.

It is clear that all vertices of the form xC,tx_{C,t^{\prime}} and zC,αz_{C,\alpha} are dominated. Now consider a vertex yty_{t^{\prime}}. Since we have a feasible schedule, there is at least one chain that does not have a job starting at time tt^{\prime}. It follows that yty_{t^{\prime}} is dominated by the corresponding vertex xC,tx_{C,t}.

Consider the last case cm>1c-m>1.

We will construct an instance of Threshold Dominating Set where we look for a set of 2cm2c-m vertices that dominates each vertex at least cmc-m times.

We construct a graph GG with five types of vertices, this graph will be similar to the graph in the previous case.

  • For each chain CC and each time step tt, we have vertex xC,tx_{C,t} if and only if it is possible to start chain CC at time tt (i.e., tt is not before the release date of CC and tt plus the execution time of CC is at most the deadline of CC).

  • We have an independent set with for each time tt, with 0t<tmax0\leq t<t_{\max}, a vertex yty_{t}.

  • For each chain CC we have c+1c+1 vertices zz,αz_{z,\alpha}, with α=1,2,,c+1\alpha=1,2,\ldots,c+1.

  • We have a clique of cm1c-m-1 vertices wiw_{i}, 1icm11\leq i\leq c-m-1.

  • We have a vertex vv.

We have the following edges:

  • For each chain CC, the set of vertices of the form xC,tx_{C,t} forms a clique.

  • There is an edge between xC,tx_{C,t} to yty_{t^{\prime}}, if and only if starting chain CC at time tt makes that no job of CC starts at time tt^{\prime}.

  • Each vertex zC,αz_{C,\alpha} is adjacent to all vertices of the form xC,tx_{C,t}.

  • As written above, the vertices wiw_{i} form a clique.

  • There is an edge vwivw_{i} for every ii.

  • Each vertex wiw_{i} is adjacent to all vertices of the form xC,tx_{C,t}.

  • Each vertex wiw_{i} is adjacent to all vertices of the form zC,αz_{C,\alpha}.

See Figure 7.

Refer to caption
Figure 7: The construction described in Lemma 4.12 for the case cm>1c-m>1. The edges from wiw_{i} to xC,tx_{C,t} are omitted.
Claim 13.

If GG has a threshold dominating set of size at most 2cm2c-m that dominates every vertex at least cmc-m times, then there is a feasible schedule.

{claimproof}

Suppose that GG a threshold dominating set UU with |U|2cm|U|\leq 2c-m, such that each vertex is dominated at least cmc-m times.

First, notice that, as vv has degree cm1c-m-1, UU needs to contain vv and all its neighbours, i.e., all vertices of the form wiw_{i}. It follows that UU contains at most cc other vertices.

As in the proof of Claim 11, it follows that UU contains exactly one vertex of the form xC,tx_{C,t} for every chain CC.

Again as in the proof of Claim 11, we make a schedule by starting every chain at the time tt for which xC,tUx_{C,t}\in U. Now consider a time tt^{\prime}. We know that yty_{t^{\prime}} is dominated at least cmc-m times. It follows that there are cmc-m chains that have no job starting at time tt^{\prime}. We conclude that at most mm chains have a job starting at time tt^{\prime}, hence we use at most mm machines.

Claim 14.

If there is a feasible schedule, then GG has a threshold dominating set of size at most 2cm2c-m that dominates every vertex at least cmc-m times.

{claimproof}

Consider the set UU that contains vv, all vertices wiw_{i} and for every chain CC the vertex xC,tx_{C,t}, where tt is the starting time of CC is the schedule.

It is clear that vv and every vertex wiw_{i} is dominated at least cmc-m times. Notice that every vertex zC,αz_{C,\alpha} is dominated by every vertex wiw_{i}, and by one vertex xC,tx_{C,t}, so zC,αz_{C,\alpha} is dominated at least cmc-m times. The same holds for all vertices xC,tx_{C,t}.

Now consider a vertex yty_{t^{\prime}}. We know that at most mm chains start a job at time tt^{\prime}. Hence, at least cmc-m chains do not start a job at time tt^{\prime}. We conclude that yty_{t^{\prime}} is dominated at least cmc-m times.

We conclude that the Chain Scheduling with Exact Delays problem parametrized by the number of chains is in W[2]W[2].

4.4 Minimum delays

With a simple modification, the hardness proofs for exact delays in unary can be modified to hardness proofs for minimum delays (still in unary). The modification consists of taking a number of copies of the instance, as described below.

Suppose we have an instance for Chain Scheduling with Minimum Delays with exact delays with cc chains and mm machines. The CCth chain has jobs j1C,j2C,,jsCCj^{C}_{1},j^{C}_{2},\ldots,j^{C}_{s_{C}}, with precedence constraints (jiC,ji+1C)(j^{C}_{i},j^{C}_{i+1}), release date rCr_{C} and deadline dCd_{C}.

We define the minimum duration of a chain CC to be C=sC+i=1sC1ljiC,ji+1C\ell_{C}=s_{C}+\sum_{i=1}^{s_{C}-1}l_{j^{C}_{i},j^{C}_{i+1}}. Thus, when the first job of CC is executed at a time tt, then the last job is executed at time t+C1t+\ell_{C}-1 or later, and thus the minimum duration C\ell_{C} denotes the minimum number of time steps from the first till the last execution of a job in the chain.

Set T=max1CcdCT=\max_{1\leq C\leq c}d_{C} to be the maximum deadline of all chains.

We now build an instance for Chain Scheduling with Minimum Delays. The intuition behind the construction is the following: we build cT+1cT+1 identical copies of the original instance after each other. Each is executed in its own slot of TT consecutive time steps, in the same way as a solution of the original instance. If we have a solution of the new instance, then one of the copies has no preemption, i.e., must have delays equal to the minimum, and this gives a solution of the original instance.

For each chain CC from the original instance, we make a new chain CC^{\prime} in the new instance. This chain CC^{\prime} has jobs ji,aCj^{C}_{i,a} with 1isC1\leq i\leq s_{C} and 1acT+11\leq a\leq cT+1. We have precedence constraints (ji,aC,ji+1,aC)(j^{C}_{i,a},j^{C}_{i+1,a}) (1i<sC1\leq i<s_{C}) whose minimum delay equals the exact delay for the original jobs (jiC,ji+1C)(j^{C}_{i},j^{C}_{i+1}). The last job of the aath copy precedes the first job of the (a+1)(a+1)st copy: we have a precedence constraint (jsC,aC,j1,a+1C)(j^{C}_{s_{C},a},j^{C}_{1,a+1}), for 1a<cT+11\leq a<cT+1. We set the minimum delay for this precedence in such a way that the minimum execution time between a job and its next copy equals TT: the precedence constraint (jsC,aC,j1,a+1C)(j^{C}_{s_{C},a},j^{C}_{1,a+1}) goes with a minimum delay of TCT-\ell_{C}. The release date of the the new chain CC^{\prime} equals rCr_{C} and the deadline equals cT2+dCcT^{2}+d_{C}.

Claim 15.

The instance of the Chain Scheduling with Exact Delays problem has a solution, if and only if the instance of the Chain Scheduling with Minimum Delays problem has a solution.

Proof 4.14.

Suppose we have a solution of the Chain Scheduling with Exact Delays problem with exact delays, where jobs jiCj^{C}_{i} are executed at time t(jiC)t(j^{C}_{i}). Now, schedule for the instance with minimum delays, jobs ji,aCj^{C}_{i,a} on time t(ji,aC)=(a1)T+t(jiC)t^{\prime}(j^{C}_{i,a})=(a-1)\cdot T+t(j^{C}_{i}).

One can easily verify that this schedule fulfills the constraints. Note that all delays equal the minimum delays.

Now, suppose we have a solution of the Chain Scheduling with Minimum Delays problem with minimum delays. Note that the total execution time of a chain is at least cT2+lCcT^{2}+l_{C}: the total execution time from a job j1,aCj^{C}_{1,a} till j1,a+1Cj^{C}_{1,a+1} is constructed to be at least TT, for 1a<cT+11\leq a<cT+1. The total number of time steps from the release time till the deadline is cT2+dCrCcT^{2}+d_{C}-r_{C}. Thus, the total slack in a chain, i.e., the sum of the differences between the scheduled delay time and the stated minimum delay, cannot be larger than cT2+dCrCcT2lC=dCrClCcT^{2}+d_{C}-r_{C}-cT^{2}-l_{C}=d_{C}-r_{C}-l_{C}. Notice that this is at most TT.

Say copy aa is tainted when there is at least one job ji,aCj^{C}_{i,a} for some CC and i<sCi<s_{C} where the delay from ji,aCj^{C}_{i,a} to ji+1,aCj^{C}_{i+1,a} is larger than the stated minimum delay. As each chain has at most TT jobs of this type, we can have at most cTcT tainted copies.

Thus, there is a copy aa that is not tainted. From the times that the jobs of copy aa are scheduled, we build a solution.

Notice that the first job j1,1cj^{c}_{1,1} is scheduled at the earliest at time rCr_{C} and that j1,aCj^{C}_{1,a} is scheduled at least (a1)T(a-1)T time steps after j1,1Cj^{C}_{1,1}. So j1,aCj^{C}_{1,a} is scheduled at the earliest at time (a1)T+rC(a-1)T+r_{C}. Analogously, we find that jsC,aCj^{C}_{s_{C},a} is scheduled before (a1)T+dC(a-1)T+d_{C}. Hence, every job ji,aCj^{C}_{i,a} is scheduled between (a1)T+rC(a-1)T+r_{C} and (a1)T+dC(a-1)T+d_{C}. Suppose that job ji,aCj^{C}_{i,a} is scheduled to start at time (a1)T+t(ji,aC)(a-1)T+t(j^{C}_{i,a}), then schedule the corresponding job jiCj^{C}_{i} to start at time t(ji,aC)t(j^{C}_{i,a}). Notice that this is a feasible schedule, and that the exact delays are satisfied since the copy aa is not tainted.

By Theorems 4.1, 4.6 and 4.9, we conclude the following results.

Theorem 4.15.

The Chain Scheduling with Minimum Delays problem with one machine, parameterized by the number of chains cc, is W[1]W[1]-hard.

Theorem 4.16.

The Chain Scheduling with Minimum Delays problem with mm machines, parametrized by the number of chains, is W[1]W[1]-hard.

Theorem 4.17.

The Chain Scheduling with Minimum Delays problems with a variable number of machines, parameterized by the number of chains cc, is W[2]W[2]-hard.

Since the tickness is upper bounded by the number of chains, the same results follow when parametrized by the tickness.

5 XP algorithms

In this section, we give two positive results. First, we show membership in XP for all studied variants, when delays are given in unary, with a relatively straightforward dynamic programming algorithm. Then, in the case of one machine, we show that Scheduling with Exact Delays is in XP, when parameterized by the number of chains, even when delays are given in binary.

Lemma 5.1.

Given an instance of Chain Scheduling with Exact Delays or Chain Scheduling with Minimum Delays, one can build in polynomial time an equivalent instance, where all release dates and deadlines of chains are nonnegative integers, bounded by cn(D+1)cn(D+1), where cc is the number of chains, nn the number of jobs, and DD the maximum delay between two successive jobs in a chain. In addition, for each chain CC, we have dCrCn(D+1)d_{C}-r_{C}\leq n(D+1).

Proof 5.2.

We first look at Chain Scheduling with Minimum Delays. Consider the following operations. If we have a pair of successive jobs jj and jj^{\prime} in a chain with minimum delay dd, if job jj is scheduled to start at time tt, job jj^{\prime} is scheduled to start at time tt^{\prime}, and there is a time t′′t^{\prime\prime} with t+d+1t′′<tt+d+1\leq t^{\prime\prime}<t^{\prime}, and less than mm jobs are starting at time t′′t^{\prime\prime} (with mm the number of machines), then we obtain a valid schedule when we reschedule job jj^{\prime} at t′′t^{\prime\prime} and do not change the time for any other job. If the first job in a chain CC is scheduled at time tt, and there is a time step tt^{\prime} with rCt<tr_{C}\leq t^{\prime}<t, then we obtain a valid schedule when we reschedule this first job at time tt^{\prime} and no not change the time for any other job. Call a schedule left-adjusted when these steps are not possible. If there is a valid schedule, then there is also a valid left-adjusted schedule: just take any valid schedule, and perform the steps above while possible.

In a left-adjusted schedule, for each chain CC, there is a job (of this or another chain) starting at time rCr_{C}, and we cannot have an interval with D+1D+1 successive time steps between rCr_{C} and the scheduled time of the last job in the chain without any job (of any chain) scheduled. Thus, the last job of a chain is scheduled to start at time rC+n+(n1)D1rC+(n1)(D+1)r_{C}+n+(n-1)D-1\leq r_{C}+(n-1)(D+1) or earlier. This shows that we obtain an equivalent instance if we set for all chains the deadline to min{dC,rC+(n1)(D+1)+1}\min\left\{d_{C},r_{C}+(n-1)(D+1)+1\right\}. Since rC+(n1)(D+1)+1rC+n(D+1)r_{C}+(n-1)(D+1)+1\leq r_{C}+n(D+1), we obtain an equivalent instance if we set all deadlines to min{dC,rC+n(D+1)}\min\{d_{C},r_{C}+n(D+1)\}.

In the case of Chain Scheduling with Exact Delays, valid schedules are trivially left-adjusted, so setting deadlines to min{dC,rC+n(D+1)}\min\left\{d_{C},r_{C}+n(D+1)\right\} again gives an equivalent instance.

Now, consider the interval graph where each chain is a vertex, with edges between vertices if the chains overlap, here, the intervals associated with chain vertices CC are the intervals [rC,dC)[r_{C},d_{C}). We consider the different connected components of this interval graph. Take the component that contains the chain with minimum release date, and call this rminr_{\min}. For each chain in the component, subtract rminr_{\min} from its release date and deadline. We obtain an equivalent instance, with at least one release date equal to 0. We say that this first component is handled.

We now handle the other components, one by one as follows. Set δ\delta to be the maximum deadline of all chains in handled components. Take, among all components that are not yet handled, the one with minimum release date of a chain in it. Say this minimum release date is rminr_{\min^{\prime}}. Subtract from all chains in the component rminδr_{\min^{\prime}}-\delta from the release date and deadline. Thus, the earliest release date in the component is now δ\delta. It is easy to see that this gives an equivalent schedule.

The algorithm thus consists of two steps: first, we set deadlines to min{dC,rC+n(D+1)}\min\left\{d_{C},r_{C}+n(D+1)\right\}, and then we handle the components. Now, order the chains by release date: C1,C2,,CcC_{1},C_{2},\ldots,C_{c}. Notice that rCi+1dCir_{C_{i+1}}\leq d_{C_{i}}. Since dCirC+n(D+1)d_{C_{i}}\leq r_{C}+n(D+1), it follows that the maximum deadline is at most cn(D+1)cn(D+1).

Theorem 5.3.

Chain Scheduling with Exact Delays and Chain Scheduling with Minimum Delays belong to XP, when delays are given in unary, and parameterized by the number of chains or thickness, for any number of machines.

Proof 5.4.

As the thickness is never larger than the number of chains, it suffices to give the result for the thickness.

The first step is to build the equivalent instance with deadlines and release dates in unary, and for all chains dCrCn(D+1)d_{C}-r_{C}\leq n(D+1), as in Lemma 5.1.

We give now the dynamic programming algorithm; there are only small differences between the algorithms for Chain Scheduling with Exact Delays and Chain Scheduling with Minimum Delays.

The algorithm uses the notion of a state. A state consists of a time step tt, and for each chain CC with t[rC,dC)t\in[r_{C},d_{C}), we have a bool started(C)(C). If started(C)=true\operatorname{started}(C)=\textit{true}, then the state also contains a job jCj_{C} and a time tC[rC,t]t_{C}\in[r_{C},t]. (The intuition is as follows: jCj_{C} is the last job of chain CC that is scheduled at or before time tt; jCj_{C} is scheduled at time tCt_{C}. If no job of CC is scheduled at or before time tt, then started(C)(C) is false.)

We say a state is possible, when there is a schedule with the following properties:

  • The schedule assigns a time to all jobs in a chain whose deadline is before tt, and for all chains CC with t[rC,dC)t\in[r_{C},d_{C}) and started(C)(C) is true, a time is assigned to all jobs in the chain from the first job up to job jCj_{C} — i.e., we do not assign times for jobs preceded by jCj_{C}.

  • Jobs jCj_{C} are scheduled at time tCt_{C}, for all chains CC with t[rC,dC)t\in[r_{C},d_{C}) and started(C)(C) is true.

  • The schedule respects the conditions on (minimum or exact) delays, and number of machines.

The dynamic programming algorithm now consists of computing for each time step tt, in order of increasing tt, the set of possible states for time tt. Let DD be the maximum over all chains CC of dCrCd_{C}-r_{C}. Note that the number of states at time tt is bounded by (1+n2(D+1))τ(1+n^{2}(D+1))^{\tau}: each of the at most τ\tau chains CC with t[rC,dC)t\in[r_{C},d_{C}), we either have started(C)(C) false, or select one of the (at most nn) jobs in the chain, and one of the (at most n(D+1)n(D+1)) timesteps in [rC,dC)[r_{C},d_{C}). So, for fixed τ\tau, the number of states is polynomial in the input size.

It is not hard to see, that given a set of all possible states at time tt, we can compute in polynomial time the set of all possible states at time t+1t+1. (The details are somewhat tedious: for all possible states at time tt, consider all decisions of the form where for each machine we decide if we schedule a job on this machines, and if so, what job. For each of these, check whether delay and deadline conditions are still fulfilled; if so, add this to the possible states for time t+1t+1. The check is different for exact or minimum delays; apart from that, these variants are handled in the same way.)

Continue computing this set for the time step that equals the maximum deadline minus 11. If it has a possible state, then this state reflects a schedule where all jobs are scheduled, and we decide positively; otherwise, no valid schedule exists.

Theorem 5.5.

Chain Scheduling with Exact Delays with m=1m=1, parameterized by the number of chains, with delays in binary belongs to XP.

Proof 5.6.

Suppose we have chains C1,,CcC_{1},\ldots,C_{c}. Suppose chain CiC_{i} has jobs ji,1j_{i,1}, ji,2j_{i,2}, \ldots, ji,ij_{i,\ell_{i}}, with ji,aj_{i,a} directly preceding ji,a+1j_{i,a+1}; we write the exact delay of this constraint as li,al_{i,a}. Write s(i,a)=b=1a1(li,b+1)s(i,a)=\sum_{b=1}^{a-1}(l_{i,b}+1). Note that ji,aj_{i,a} has to be scheduled exactly s(i,a)s(i,a) time after ji,1j_{i,1} starts.

For each chain CiC_{i}, we take a variable xix_{i} that denotes the time that the first job of CiC_{i} is scheduled.

Claim 16.

Variables x1,x2,,xcx_{1},x_{2},\ldots,x_{c} give a valid schedule, if and only if the following constraints are fulfilled.

  1. 1.

    For each ii, xirCix_{i}\geq r_{C_{i}}.

  2. 2.

    For each ii, xi+s(i,i)<dCix_{i}+s(i,\ell_{i})<d_{C_{i}}.

  3. 3.

    For each ii and ii^{\prime} with iii\neq i^{\prime}, and each jj, jj^{\prime} with 1ji1\leq j\leq\ell_{i}, 1ji1\leq j^{\prime}\leq\ell_{i^{\prime}}, we have xi+s(i,j)xi+s(i,j)x_{i}+s(i,j)\neq x_{i^{\prime}}+s(i^{\prime},j^{\prime}).

Proof 5.7.

Suppose we have a valid schedule where chain CiC_{i} starts at time xix_{i}. As the first job in a chain does not start before the release date, we have xirCix_{i}\geq r_{C_{i}}. As the last job of the chain starts at time xi+s(i,i)x_{i}+s(i,\ell_{i}), we have xi+s(i,i)<dCix_{i}+s(i,\ell_{i})<d_{C_{i}}. If the third condition would not hold for a 4-tuple ii, ii^{\prime}, jj, jj^{\prime}, then both the jjth job of chain CiC_{i} and the jj^{\prime}th job of CiC_{i^{\prime}} would be scheduled at time xi+s(i,j)x_{i}+s(i,j); this gives a conflict as we have only one machine.

The other direction is (also) simple: the first condition ensures that chains do not start before the release date; the second that they finish before the deadline, and the third that no two jobs are scheduled at the same time.

The first step of the algorithm is to compute for each pair ii, ii^{\prime} with iii\neq i^{\prime} a set U(i,i)={s(i,j)s(i,j)| 1ji, 1ji}U(i,i^{\prime})=\left\{s(i^{\prime},j^{\prime})-s(i,j)\leavevmode\nobreak\ |\leavevmode\nobreak\ 1\leq j\leq\ell_{i},\leavevmode\nobreak\ 1\leq j^{\prime}\leq\ell_{i^{\prime}}\right\}. Note that each of these sets has size O(n2)O(n^{2}), or more precisely, is at most the product of the sizes of the two chains. Now, sort each set U(i,i)U(i,i^{\prime}).

Suppose U(i,i)={a1,a2,,ar}U(i,i^{\prime})=\{a_{1},a_{2},\ldots,a_{r}\} with a1<a2<<ara_{1}<a_{2}<\cdots<a_{r}. Condition 3 of Claim 16 for the pair ii, ii^{\prime} can be expressed as

(xixi<a1)(a1<xixi<a2)(a2<xixi<a3)(ar1<xixi<ar)(ar<xixi)\left(x_{i}-x_{i^{\prime}}<a_{1}\right)\vee\left(a_{1}<x_{i}-x_{i^{\prime}}<a_{2}\right)\vee\left(a_{2}<x_{i}-x_{i^{\prime}}<a_{3}\right)\vee\cdots\\ \cdots\vee\left(a_{r-1}<x_{i}-x_{i^{\prime}}<a_{r}\right)\vee\left(a_{r}<x_{i}-x_{i^{\prime}}\right)

Our algorithm now branches on these O(n2)O(n^{2}) possibilities. For each of the O(c2)O(c^{2}) pairs of chains, we have O(n2)O(n^{2}) branches, which gives a total of O(nO(c2))O(n^{O(c^{2})}) subproblems.

Each of these subproblems asks to solve a set of inequalities. These inequalities are of the form xixi<ax_{i}-x_{i^{\prime}}<a or xiax_{i}\geq a (Condition 1 of Claim 16) or xiax_{i}\leq a (Condition 2 of Claim 16), for some integers aa. As we work with integers and look for integer solutions, we reformulate constraints of the form xixi<ax_{i}-x_{i^{\prime}}<a as xixia1x_{i}-x_{i^{\prime}}\leq a-1. We now have a system of linear inequalities which can be solved in polynomial time with text book (shortest paths) methods, see e.g., [5, Section 24.4]. If at least one of the subproblems has a solution, then this solution gives starting times for the chains that gives a valid schedule; otherwise, there is no valid schedule.

We have O(nO(c2))O(n^{O(c^{2})}) branches, each taking polynomial time, and this gives a running time of O(nO(c2))O(n^{O(c^{2})}).

6 Conclusions

In this paper, we have shown a number of results on the parameterized complexity of Chain Scheduling with Exact Delays and Chain Scheduling with Minimum Delays. In a few cases, we obtained W[1]W[1]-completeness or W[2]W[2]-completeness; in the other cases, we only showed hardness results, often together with XP-membership. We expect that the problems, parameterized by the thickness do not belong to W[P]W[P] — for the same ‘compositionality’ reason as why one can believe that Graph Bandwidth does not belong to W[P]W[P]: see the discussion in [11, Section 4]. The machinery to prove such results currently is not available, but we conjecture that also the variants with minimum delays inhibit some form of compositionality and do not belong to W[P]W[P].

We end this paper with mentioning some open problems. In this paper, we proved for the case that delays are given in binary, for only one of the cases membership in XP. What is the complexity of the other cases when delays are given in binary? Also, an interesting question is to study the variant where we have maximum delays, with all of its subcases.

References

  • [1] Martin Aigner and Günter M. Ziegler. Bertrand’s postulate. In Proofs from THE BOOK, pages 7–12. Springer, 2001. doi:10.1007/978-3-662-04315-8_2.
  • [2] S. Bessy and R. Giroudeau. Parameterized complexity of a coupled-task scheduling problem. Journal of Scheduling, 22(3):305–313, 2019. doi:10.1007/s10951-018-0581-1.
  • [3] Hans L. Bodlaender and Michael R. Fellows. W[2]W[2]-hardness of precedence constrained KK-processor scheduling. Oper. Res. Lett., 18(2):93–97, 1995. doi:10.1016/0167-6377(95)00031-9.
  • [4] Peter Brucker, Johann Hurink, and Wieslaw Kubiak. Scheduling identical jobs with chain precedence constraints on two uniform machines. Mathematical Methods of Operations Research, 49:211––219, 1999. doi:10.1007/PL00020913.
  • [5] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, 3rd Edition. MIT Press, 2009. URL: http://mitpress.mit.edu/books/introduction-algorithms.
  • [6] Rodney G. Downey and Michael R. Fellows. Fixed-parameter tractability and completeness I: Basic results. SIAM Journal on Computing, 24:873–921, 1995. doi:10.1137/S0097539792228228.
  • [7] Rodney G. Downey and Michael R. Fellows. Fixed-parameter tractability and completeness II: On completeness for W[1]W[1]. Theoretical Computer Science, 141(1-2):109–131, 1995. doi:10.1016/0304-3975(94)00097-3.
  • [8] Rodney G. Downey and Michael R. Fellows. Threshold dominating sets and an improved characterization of W[2]W[2]. Theoretical Computer Science, 209(1-2):123–140, 1998. doi:10.1016/S0304-3975(97)00101-1.
  • [9] P. Erdös and P. Turán. On a problem of Sidon in additive number theory, and on some related problems. Journal of the London Mathematical Society, s1-16(4):212–215, 1941. doi:10.1112/jlms/s1-16.4.212.
  • [10] Michael R. Fellows and Catherine McCartin. On the parametric complexity of schedules to minimize tardy tasks. Theoretical Computer Science, 298(2):317–324, 2003. doi:10.1016/S0304-3975(02)00811-3.
  • [11] Michael R. Fellows and Frances A. Rosamond. Collaborating with Hans: Some remaining wonderments. In Fedor V. Fomin, Stefan Kratsch, and Erik Jan van Leeuwen, editors, Treewidth, Kernels, and Algorithms — Essays Dedicated to Hans L. Bodlaender on the Occasion of His 60th Birthday, volume 12160 of Lecture Notes in Computer Science, pages 7–17. Springer, 2020. doi:10.1007/978-3-030-42071-0\_2.
  • [12] Matthias Mnich and Andreas Wiese. Scheduling and fixed-parameter tractability. Mathematical Programming, 154(1):533–562, 2015. doi:10.1007/s10107-014-0830-9.
  • [13] Erick D. Wikum, Donna C. Llewellyn, and George L. Nemhauser. One-machine generalized precedence constrained scheduling problems. Operations Research Letters, 16(2):87–99, 1994. doi:10.1016/0167-6377(94)90064-7.
  • [14] Gerhard J. Woeginger. A comment on scheduling on uniform machines under chain-type precedence constraints. Operations Research Letters, 26(3):107–109, 2000. doi:10.1016/S0167-6377(99)00076-0.