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.
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.
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.
Baptiste, Ph. (2010). A note on scheduling identical coupled tasks in logarithmic time. Discrete Applied Mathematics, 158(5), 583–587.
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.
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.
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.
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.
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.
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.
Farina, A., & Neri, P. (1980). Multitarget interleaved tracking for the phased radar array. IEE Proceedings F, 27, 312–318.
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.
Karp, M. (1978). A characterization of the minimum cycle mean in a digraph. Discrete Mathematics, 23(3), 309–311.
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.
Orman, A. J., & Potts, C. N. (1997). On the complexity of coupled-task scheduling. Discrete Applied Mathematics, 72, 141–154.
Orman, A. J., Shahani, A. K., & Moore, A. R. (1998). Modelling for the control of radar system. Computers and OR, 25, 239–249.
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.
Shapiro, R. D. (1980). Scheduling coupled tasks. Naval Research Logistics Quarterly, 27(2), 489–497.
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.
Author information
Authors and Affiliations
Corresponding author
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
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 {}):
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 { })
or B is of the form (c) with leading b’s
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
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
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
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
We get for D the left-shifted sequence
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
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
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10951-015-0438-9