Skip to main content
Log in

Identical coupled task scheduling: polynomial complexity of the cyclic case

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

Abstract

Coupled tasks are two-operation tasks, where the two operations are separated by a time interval of fixed duration. Coupled task scheduling problems refer then to the scheduling of a set of coupled tasks on a single machine. Applications of these problems, reported in the literature, arise in connection with radar systems, robotic cells, and in manufacturing. Most of the complexity issues for scheduling coupled tasks have been settled. However, the complexity status has been unknown for the identical coupled task problem, where multiple copies of a single coupled task are to be processed. The purpose of the article is to solve this open problem in the cyclic case, for which we prove the polynomial complexity.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

References

  • Ageev, A. A., & Baburin, A. E. (2007). Approximation algorithms for UET scheduling problems with exact delays. Operations Research Letters, 35(4), 533–540.

    Article  Google Scholar 

  • Ahr, D., Békési, J., Galambos, G., Oswald, M., & Reinelt, G. (2004). An exact algorithm for scheduling identical coupled tasks. Mathematical Methods of Operations Research (ZOR), 59, 193–203.

    Article  Google Scholar 

  • Baptiste, Ph. (2010). A note on scheduling identical coupled tasks in logarithmic time. Discrete Applied Mathematics, 158(5), 583–587.

    Article  Google Scholar 

  • Békési, J., Galambos, G., Oswalda, M., & Reinelt, G. (2009). Improved analysis of an algorithm for the coupled task problem with UET jobs. Operations Research Letters, 37(2), 93–96.

    Article  Google Scholar 

  • Blazewicz, J., Ecker, K., Kis, T., Potts, C. N., Tanas̀, M., & Whitehead, J. (2010). Scheduling of coupled tasks with unit processing times. Journal of Scheduling, 13(5), 453–461.

    Article  Google Scholar 

  • Brauner, N., Crama, Y., Grigoriev, A., & van de Klundert, J. (2005). A framework for the complexity of high-multiplicity scheduling problems. Journal of Combinatorial Optimization, 9, 313–323.

    Article  Google Scholar 

  • Brauner, N., Crama, Y., Grigoriev, A., & van de Klundert, J. (2007). Multiplicity and complexity issues in contemporary production scheduling. Statistica Neerlandica, 61(1), 75–91.

    Article  Google Scholar 

  • Brauner, N., Finke, G., Lehoux-Lebacque, V., Potts, C. N., & Whitehead, J. (2009). Scheduling of coupled tasks and one-machine no-wait robotic cells. Computers and Operations Research, 36(2), 301–307.

    Article  Google Scholar 

  • Duron, C. (2002). Ordonnancement en temps-réel des activités des radars. PhD thesis, Université de Metz.

  • Elshafei, M., Sherali, H. D., & Smith, J. C. (2003). Radar pulse interleaving for multi-target tracking. Naval Research Logistics, 51, 72–94.

    Article  Google Scholar 

  • Farina, A., & Neri, P. (1980). Multitarget interleaved tracking for the phased radar array. IEE Proceedings F, 27, 312–318.

    Google Scholar 

  • Gupta, J. N. D. (1996). Comparative evaluation of heuristic algorithms for the single machine scheduling problem with two operations per job and time-lags. Journal of Global Optimization, 9, 239–250.

    Article  Google Scholar 

  • Karp, M. (1978). A characterization of the minimum cycle mean in a digraph. Discrete Mathematics, 23(3), 309–311.

    Article  Google Scholar 

  • Lebacque, V. (2007). Théories et applications en ordonnancement: contraintes de ressources et tâches agrégées en catégories. PhD thesis, Université Joseph Fourier.

  • Levner, E., Kats, V., de Pablo, D. A. L., & Cheng, T. C. E. (2010). Complexity of cyclic scheduling problems: A state-of-the-art survey. Computers & Industrial Engineering, 59, 352–361.

  • Milojevic, D. J., & Popovic, B. M. (1992). Improved algorithm for the interleaving of radar pulses. IEE Proceedings F, 139, 98–104.

    Google Scholar 

  • Orman, A. J., & Potts, C. N. (1997). On the complexity of coupled-task scheduling. Discrete Applied Mathematics, 72, 141–154.

    Article  Google Scholar 

  • Orman, A. J., Shahani, A. K., & Moore, A. R. (1998). Modelling for the control of radar system. Computers and OR, 25, 239–249.

    Article  Google Scholar 

  • Shahani, A. K., Orman, A. J., Potts, C. N., & Moore, A. R. (1996). Scheduling for a multifunction phased array radar system. European Journal of Operational Research, 90, 13–25.

    Article  Google Scholar 

  • Shapiro, R. D. (1980). Scheduling coupled tasks. Naval Research Logistics Quarterly, 27(2), 489–497.

    Article  Google Scholar 

  • Simonin, G., Darties, B., Giroudeau, R., & König, J.-C. (2011). Isomorphic coupled-task scheduling problem with compatibility constraints on a single processor. Journal of Scheduling, 14(5), 501–509.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gerd Finke.

Appendix

Appendix

Proof of Lemma 4

Let us start with some block in a cycle \(\mathcal {C}\). We shorten this block even more by cutting it out of \(\mathcal {C}\) and shifting the sequence as much as possible to the left. However, we leave all b’s in the first window in their place. The resulting block B may be tight or is essential non-tight. Let B be non-tight and consider the three forms similar to (a), (b), and (c) in (15), (16), and (17).

Analog to (a), let B be of standard form

$$\begin{aligned} a_1 \ldots a_2 (\varphi ) b_1 \ldots b_2 U, \end{aligned}$$
(20)

where U is a string of a’s and b’s of length |U| , necessary to get a sequence of the required \(2(M^*+1)\) elements. The length of B is \(|B|=2L+a+b-\varphi +|U|\) or \(\varDelta (B)= \varphi -|U|\).

Let \((t+1)a>\varphi \ge ta\) for some integer \(t\ge 1\). Constraint (1) implies that both windows \(W_1\) and \(W_2\) cannot contain more than \((2+M^*-t)\) elements. Hence, the string \((a_1 \ldots b_2)\) consists of at most \(2(1+M^*-t\)) elements. This means that U has at least 2t elements. Observe that the beginning of U of length \((t+1)a\) can only contain a’s, implying that \(|U|\ge (t+1)a +(t-1)b\).

Consider also the feasible block \(B'\) (in brackets {}):

$$\begin{aligned} a^t\{a_1 \ldots a_2 (\varphi -ta) b^t b_1 \ldots b_2 U'\}. \end{aligned}$$
(21)

Then \(B'\) is dominating B, i.e., \(\varDelta (B')\ge \varDelta (B)\). The reason is that placing any ’b’ between \(a_2\) and \(b_1\) reduces \(\varphi \) by a but since one gets an additional element in both windows \(W_1\) and \(W_2\), U will be shortened by two elements. The block B is long since \(\varDelta (B)\le \varphi -|U|<(t+1)a-((t+1)a +(t-1)b)\le -(t-1)b\le 0\).

One can, therefore, find the shortest blocks of form (20) if \(\varphi <a\), since all others are dominated (21). In this case, if none of the windows \(W_1\) and \(W_2\) is tightly packed, U contains at least two elements. The block is long, since \(\varDelta (B)= \varphi -|U|<a-(a+b)=-b\). The shortest essential non-tight blocks are obtained, not surprisingly, if exactly one of the windows \(W_1\) and \(W_2\) is tightly packed and the other window contains one fewer element than the maximum, i.e., \(1+M^*\) elements. Then U consists of a single element. For the particular form (20), one gets \(|U|=a\), independent of what element, a or b, follows \(b_2\). Hence, all blocks B are long for this case, even if the tight profile \((0,\beta )\) is present.

Analog to (b), the essential non-tight block B may have the shifted form (in brackets { })

$$\begin{aligned} B: a^s \{a_1 \ldots a_2 (\varphi ) b^s b_1 \ldots b_2 U\} \end{aligned}$$
(22)

or B is of the form (c) with leading b’s

$$\begin{aligned} B: b^s a_1 \ldots a_2 (\varphi ) b_1 \ldots b_2 \ldots \end{aligned}$$
(23)

where B consists of the first \(2(M^*+1)\) elements of this sequence.

Both sequences contain a block \(B'\) of type (a), shifting sequence (22) by \(a^s\) to the left and shifting (23) by \(b^s\) to the right. Therefore, the shortest block B is obtained whenever the block \(B'\) is shortest. Hence, we get the shortest block B, if \(\varphi <a\), and if one of the windows \(W_1\) and \(W_2\) is tightly packed (\(2+M^*\) elements) and the other window contains \((1+M^*)\) elements, then the block is to be completed with a single additional element.

By assumption, there is no tight profile \((0,\beta )\). Thus \(\varphi \le \gamma <b\). The extra element is at least of length b. Hence, these blocks B are long since \(\varDelta (B)\le \varphi - b \le \gamma - b <0\).

This completes the proof of Lemma 4. \(\square \)

According to this proof, all shortest essential non-tight blocks can be obtained from a tight block, in standard or shifted form, as follows: Keep the window \(W_1\) tightly packed and drop one of the a’s in window \(W_2\). The other possibility is to drop one of the a’s in \(W_1\). Then the corresponding b-part in \(W_2\) is also eliminated, and an ‘a’ is to be inserted instead to obtain a tightly packed window \(W_2\). Then the block is completed by adding the next element.

Proof of Lemma 5

Let a partial subsequence \(B_1, \ldots , B_u ; D\), \(u \le \beta \), be given. It is sufficient to establish the lemma for the shortest essential non-tight block D. We also consider the sequence \(B_1, \ldots B_u , B_{u+1}\) where \(B_{u+1}\) is obtained by continuing feasibly the sequence of blocks \(B_1, \ldots B_u\) by another block \(B_{u+1}\) with the same tight profile. Let us compare \(B_{u+1}\) with D to get a bound for \(\varDelta (D)\). Note that all b’s in front of \(b_1\) of \(B_{u+1}\) are fixed in the same fashion as for D. Therefore, it is possible to construct D from \(B_{u+1}\). Let us consider the middle section of \(B_{u+1}\), which takes the form

$$\begin{aligned}&\ldots b a \ldots a a_2 (\varphi =0) b_1 \ldots \text{ or } \nonumber \\&\ldots b a \ldots a a_2 (\varphi =0) b\ldots b b_1 \ldots \end{aligned}$$
(24)

The shortest block D has in its corresponding string \((a \ldots aa_2)\) in (24) either the same number of a’s as \(B_{u+1}\) or one fewer ‘a’ and some idle time \(\varphi '\). In any case, we have

$$\begin{aligned} \varDelta (D) \le \varphi '-b. \ \end{aligned}$$
(25)

1. As long as \(\varphi '=\varphi =0\), one has \(\varDelta (B_1,\ldots B_u ; D) \le \gamma -b<0\) since \(\gamma <b\) for all tight profiles \((\alpha \ne 0,\beta ,\gamma )\). If D contains all a’s of the sequence \((a \ldots aa_2)\), then the corresponding idle time \(\varphi '\) satisfies of course \(\varphi '=\varphi =0\). This is in particular true if the window \(W_1\) remains tightly packed in D or if the string \((a \ldots aa_2)\) contains only \(a_2\).

2. Now let one ‘a’ be dropped from \((a \ldots aa_2)\). Then the corresponding idle time \(\varphi '\) may take positive values. Let the sequence of \(B_{u+1}\) in (24) be of the form

$$\begin{aligned} \ldots b a a \ldots a a_2 (\varphi =0) b \ldots a ({ idle}') bb \ldots b b_2, \end{aligned}$$
(26)

where the sequence \((a a\ldots a)\) contains at least one ‘a’ and \({ idle}'\) indicates the idle time in the given position.. The block D may be obtained from (26) by dropping the first ‘a’ in \((aa \ldots aa_2)\). Then the corresponding b-part is also eliminated and a new ’a’ is started to obtain the sequence

$$\begin{aligned} \ldots b({ idle}\!=\! a) a \ldots a a_2 (\varphi \!=\!0) b \ldots a ({ idle}', \text{ new } a) b \ldots b b_2. \end{aligned}$$
(27)

We get for D the left-shifted sequence

$$\begin{aligned} \ldots b a\ldots a a_2 (\varphi '={ idle}') b \ldots aa b\ldots b b_2. \end{aligned}$$
(28)

The profile of all \(B_i, i=1, \ldots , u+1\), is in this case necessarily \((\alpha \ge 1, \beta , \gamma <b)\). By construction, there is only one non-zero (non-intrinsic) idle time in each \(B_i\) of value \({ idle}'=\gamma \). A glance at (9) and Rule 1 shows that one can only have the idle time \(\gamma \) in position (26) at the end of the cycle, i.e., \(u+1=\beta +1\). Since \(\varDelta (D) <0\) (Lemma 4), we get in this case \(\varDelta (B_1, \ldots , B_\beta ; D)\le \varDelta (B_1, \ldots , B_{\beta }, B_{\beta +1})=\gamma \). Hence, Lemma 5 holds.

The other possibility is to drop an ‘a’ in \((aa \ldots aa_2)\), different from the first ‘a’. Then we get for D the shifted sequence

$$\begin{aligned} \ldots b a\ldots a a_2 (\varphi '= a-b) b \ldots a b\ldots a \ldots b_2. \end{aligned}$$
(29)

Observe that the tight profile of \(W_2\) in \( B_{u+1}\) \((\alpha \ge 2, \beta , \gamma <b)\) has changed in D to the tight profile \((\alpha -2, \beta +1, \gamma +(a-b))\). A sequence bbb or \(\overline{a}\overline{a} b\) has become bab, increasing \(\beta \) by 1. Since by assumption \(\alpha -2 \ne 0\) or \(\alpha \ge 3\), one has \(\gamma +(a-b)<b\) and \(\varDelta (B_1, \ldots , B_u ; D) \le \gamma +(a-b)-b<0\) and the lemma holds.

This completes the proof of Lemma 5. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lehoux-Lebacque, V., Brauner, N. & Finke, G. Identical coupled task scheduling: polynomial complexity of the cyclic case. J Sched 18, 631–644 (2015). https://doi.org/10.1007/s10951-015-0438-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-015-0438-9

Keywords

Mathematics Subject Classification

Navigation