Skip to main content
Log in

Scheduling for fabrication and assembly in a two-machine flowshop with a fixed job sequence

  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

This paper studies a problem of scheduling fabrication and assembly operations in a two-machine flowshop, subject to the same predetermined job sequence on each machine. In the manufacturing setting, there are n products, each of which consists of two components: a common component and a unique component which are fabricated on machine 1 and then assembled on machine 2. Common components of all products are processed in batches preceded by a constant setup time. The manufacturing process related to each single product is called a job. We address four regular performance measures: the total job completion time, the maximum job lateness, the total job tardiness, and the number of tardy jobs. Several optimality properties are presented. Based upon the concept of critical path and block schedule, a generic dynamic programming algorithm is developed to find an optimal schedule in O(n 7) time.

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
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. Please refer to Appendix A for the details.

  2. Function L(⋅,⋅) can be utilized to improve the time complexity of the aforementioned algorithm BA-1 (Cheng and Wang 1999) from O(n 4) to O(n 3). The justification is given in Appendix B.

References

  • Baker, K. R. (1988). Scheduling the production of components at a common facility. IIE Transactions, 20(1), 32–35.

    Article  Google Scholar 

  • Błażewicz, J., Ecker, K. H., Pesch, E., Schmidt, G., & Węglarz, J. (2007). Handbook on scheduling: from theory to applications. Berlin: Springer.

    Google Scholar 

  • Cheng, T. C. E., & Wang, G. (1999). Scheduling the fabrication and assembly of components in a two-machine flowshop. IIE Transactions, 31(2), 135–143.

    Article  Google Scholar 

  • Cheng, T. C. E., Lin, B. M. T., & Toker, A. (2000). Makespan minimization in the two-machine flowshop batch scheduling problem. Naval Research Logistics, 47(2), 128–144.

    Article  Google Scholar 

  • Gerodimos, A. E., Glass, C. A., Potts, C. N., & Tautenhahn, T. (1999). Scheduling multi-operation jobs on a single machine. Annals of Operations Research, 92(0), 87–105.

    Article  Google Scholar 

  • Gerodimos, A. E., Glass, C. A., & Potts, C. N. (2000). Scheduling the production of two-component jobs on a single machine. European Journal of Operational Research, 120(2), 250–259.

    Article  Google Scholar 

  • Hazır, Ö., & Kedad-Sidhoum, S. (2012). Batch sizing and just-in-time scheduling with common due date. Annals of Operations Research. doi:10.1007/s10479-012-1289-9.

    Google Scholar 

  • Herrmann, J. W., & Lee, C. Y. (1992). Three-machine look-ahead scheduling problems (Research Report No. 92-93). Department of Industrial Engineering, University of Florida, FL.

  • Hwang, F. J., & Lin, B. M. T. (2012). Two-stage assembly-type flowshop batching problem subject to a fixed job sequence. Journal of the Operational Research Society, 63(6), 839–845.

    Article  Google Scholar 

  • Hwang, F. J., Kovalyov, M. Y., & Lin, B. M. T. (2012). Total completion time minimization in two-machine flow shop scheduling problems with a fixed job sequence. Discrete Optimization, 9(1), 29–39.

    Article  Google Scholar 

  • Johnson, S. M. (1954). Optimal two and three-stage production schedules with setup times included. Naval Research Logistics Quarterly, 1(1), 61–68.

    Article  Google Scholar 

  • Kanet, J. J., & Sridharan, V. (2000). Scheduling with inserted idle time: problem taxonomy and literature review. Operations Research, 48(1), 99–110.

    Article  Google Scholar 

  • Kovalyov, M. Y., Potts, C. N., & Strusevich, V. A. (2004). Batching decisions for assembly production systems. European Journal of Operational Research, 157(3), 620–642.

    Article  Google Scholar 

  • Lin, B. M. T., & Cheng, T. C. E. (2002). Fabrication and assembly scheduling in a two-machine flowshop. IIE Transactions, 34(11), 1015–1020.

    Google Scholar 

  • Lin, B. M. T., & Cheng, T. C. E. (2005). Two-machine flowshop batching and scheduling. Annals of Operations Research, 133(1–4), 149–161.

    Article  Google Scholar 

  • Lin, B. M. T., & Cheng, T. C. E. (2011). Scheduling with centralized and decentralized batching policies in concurrent open shops. Naval Research Logistics, 58(1), 17–27.

    Article  Google Scholar 

  • Lin, B. M. T., & Hwang, F. J. (2011). Total completion time minimization in a 2-stage differentiation flowshop with fixed sequences per job type. Information Processing Letters, 111(5), 208–212.

    Article  Google Scholar 

  • Mathirajan, M., & Sivakumar, A. I. (2006). A literature review, classification and simple meta-analysis on scheduling of batch processors in semiconductor. The International Journal of Advanced Manufacturing Technology, 29(9–10), 990–1001.

    Article  Google Scholar 

  • Ng, C. T., & Kovalyov, M. Y. (2007). Batching and scheduling in a multi-machine flow shop. Journal of Scheduling, 10(6), 353–364.

    Article  Google Scholar 

  • Pinedo, M. L. (2012). Scheduling: theory, algorithms, and systems. Berlin: Springer.

    Book  Google Scholar 

  • Potts, C. N., & Kovalyov, M. Y. (2000). Scheduling with batching: a review. European Journal of Operational Research, 120(2), 228–249.

    Article  Google Scholar 

  • Potts, C. N., & Strusevich, V. A. (2009). Fifty years of scheduling: a survey of milestones. Journal of the Operational Research Society, 60(1), S41–S68.

    Article  Google Scholar 

  • Shafransky, Y. M., & Strusevich, V. A. (1998). The open shop scheduling problem with a given sequence of jobs on one machine. Naval Research Logistics, 45(7), 705–731.

    Article  Google Scholar 

  • Sourd, F. (2005). Optimal timing of a sequence of tasks with general completion costs. European Journal of Operational Research, 165(1), 82–96.

    Article  Google Scholar 

  • Sung, C. S., & Park, C. K. (1993). Scheduling of products with common and product-dependent components manufactured at a single facility. Journal of the Operational Research Society, 44(8), 773–784.

    Article  Google Scholar 

Download references

Acknowledgements

The authors are grateful to the reviewers for their constructive comments on an earlier version of the paper. This research was partially supported by the National Science Council under grant 098-2912-I-009-002.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to B. M. T. Lin.

Appendices

Appendix A: Generalization of Algorithm BA-1 for problem \(F2|(c_{j},u_{j},a_{j}),s\mbox{-}\mathit{batch,fix\_seq}|C_{\max}\)

There are five steps (a)–(e) in Algorithm BA-1 proposed by Cheng and Wang (1999). In Step (a), the jobs are sequenced according to Johnson’s rule. Step (b) denotes C (1)(j,k) and C (2)(j,k) as the minimum machine-1 and machine-2 completion times, respectively, among the partial schedules which consist of jobs 1,…,j and have exactly k batches of common components. The dynamic programming recursive formula and initial values are given in Step (c) and (d), respectively. The optimal schedule whose objective value is min1≤kn C (2)(n,k) can be obtained in Step (e).

To solve problem \(F2|(c_{j},u_{j},a_{j}),s\mbox{-}\mathit{batch,fix\_seq}|C_{\max}\), we directly use the preassigned job sequence in Step (a) and generalize the recursive formula in Step (c) as

For j=1,…,n and k=1,…,j:

$$C^{(1)}(j,k)=ks+p_{c,[1:j]}+p_{u,[1:j]}; $$
$$\begin{aligned} C^{(2)}(j,k) =&\min_{1\leq i\leq j-k+1} \begin{cases} \max \begin{cases} C^{(1)}(j-i,k-1)+s+p_{c,[j-i+1:j]}\\ \quad{}+\displaystyle\max_{j-i+1\leq h\leq j} \{p_{u,[j-i+1:h]}+p_{a,[h:j]}\},\\ C^{(2)}(j-i,k-1)+p_{a,[j-i+1:j]}. \end{cases} \end{cases} \end{aligned}$$
(3)

Note that i is the number of common components in the last batch of the considered partial schedule.

Appendix B: Reduction of the time complexity of Algorithm BA-1

The recursive equation (Eq. (3)) in Step (c) of Algorithm BA-1 retains O(n 2) states, each of which needs O(n 2) time, and the time complexity of Algorithm BA-1 is O(n 4). Since the fixed job sequence is determined in Step (a), we can have an O(n 2) preprocessing procedure for function L(⋅,⋅) inserted between Step (a) and (b). In doing so, Eq. (3) can be modified by replacing max ji+1≤hj {p u,[ji+1:h]+p a,[h:j]} with p u,ji+1+L(ji+1,j) and the run time for Step (c) can be reduced to O(n 3). This modification can be justified by the concept of critical path. If the last critical path of a considered partial schedule occurs on one of the jobs {ji+1,…,j}, which can be determined by \(\operatorname{arg\,max}_{j-i+1\leq h\leq j} \{p_{u,[j-i+1:h]}+p_{a,[h:j]}\}\), the time span from the completion of u ji+1 to that of a j can be obtained by L(ji+1,j).

Appendix C: Example of algorithm DP

Example 2

Consider the following instance with n=2: (p c,1,p u,1,p a,1)=(1,2,2), (p c,2,p u,2,p a,2)=(2,3,4) and s=1. Algorithm DP is demonstrated for the objective function of total completion time as follows:

Stage 1.:

(Preprocessing for L(j 1,v), δ(j 1,j 2,h 1,h 2,k 1) and L′(j 1,j 2,v,h 1,h 2,k 1))

  • For 1≤j 1v≤2,

    L(1,1)=p a,1=2;

    L(1,2)=max{L(1,1),p u,[2:2]}+p a,2=max{2,3}+4=7;

    L(2,2)=p a,2=4.

  • For 1≤h 1h 2<j 1j 2≤2 and \(\lceil\frac{j_{1}-h_{2}-1}{j_{1}-1}\rceil\le k_{1}\le j_{1}-h_{2}-1\),

    δ(2,2,1,1,0)=max{0,p a,[1:1]sp u,[2:2]p c,[2:2]}=max{0,2−1−3−2}=0.

  • For 1≤h 1h 2<j 1vj 2≤2 and \(\lceil\frac{j_{1}-h_{2}-1}{j_{1}-1}\rceil\le k_{1}\le j_{1}-h_{2}-1\),

    L′(2,2,2,1,1,0)=max{L(2,2),δ(2,2,1,1,0)+p a,[2:2]}=max{4,0+4}=4;

  • For 1≤j 1vj 2≤2,

    L′(1,1,1,0,0,0)=L(1,1)=2;

    L′(1,2,1,0,0,0)=L(1,1)=2;

    L′(1,2,2,0,0,0)=L(1,2)=7;

    L′(2,2,2,0,0,0)=L(2,2)=4.

  • For other values of j 1,j 2,v,h 1,h 2,k 1, we set L′(j 1,j 2,v,h 1,h 2,k 1)=∞.

Stage 2.:

(Algorithm DP)

  • Initialization:

  • g(0,0,0,0,0)=0;

  • For other values of j,i,i 1,k L ,k R , we set g(j,i,i 1,k L ,k R )=∞.

  • Recursion: For 1≤k L ii 1j≤2 and \(\lceil\frac{j-i_{1}}{j}\rceil\leq k_{R}\leq j-i_{1}\),

  • (j,i,i 1,k L ,k R )=(1,1,1,1,0)

  • \(\quad(j,j',i',i'_{1},k_{L},k'_{L})=(1,0,0,0,1,0)\)

  •   (L(1,1)=2=p a,[1:1])∧

  •   ((j′=0=i−1)∧(p a,[0:0]=0<(1−0)s+p u,[1:1]+p c,[1:1]=1+2+1=4))

    $$\begin{aligned} z_1=f_1(1,0,0,0,1,0) =&g(0,0,0,0,0)+(1-0)(s+p_{c,[1:1]}+p_{u,[1:1]}) \\ &{}+L'(1,1,1,0,0,0) \\ =&0+(1+1+2)+2=6. \end{aligned}$$
  • g(1,1,1,1,0)=min{z 1}=6.

  • (j,i,i 1,k L ,k R )=(2,1,1,1,1)

  •  (j,j′,i,i 1,k L ,k R )=(2,1,1,1,1,1)

  •    s+p u,[2:2]+p c,[2:2]+L′(2,2,2,1,1,0)=1+3+2+4=10>p a,[1:2]=6

  •     z 1=∞.

  • g(2,1,1,1,1)=min{z 1}=∞.

  • (j,i,i 1,k L ,k R )=(2,1,2,1,0)

  • \(\quad(j,j',i',i'_{1},k_{L},k'_{L})=(2,0,0,0,1,0)\)

  •    L(1,2)=7>p a,[1:2]=6

  •     z 1=∞.

  • g(2,1,2,1,0)=min{z 1}=∞.

  • (j,i,i 1,k L ,k R )=(2,2,2,1,0)

  • \(\quad(j,j',i',i'_{1},k_{L},k'_{L})=(2,0,0,0,1,0)\)

  •   (L(2,2)=4=p a,[2:2])∧

  •   ((j′=0<i−1=1)∧(L′(1,2,1,0,0,0)=2<p u,[2:2]=3))

    $$\begin{aligned} z_1=f_1(2,0,0,0,1,0) =&g(0,0,0,0,0)+(2-0)(s+p_{c,[1:2]}+p_{u,[1:1]}) \\ &{}+L'(1,2,1,0,0,0)+L'(1,2,2,0,0,0) \\ =&0+2(1+3+2)+2+7=21. \end{aligned}$$
  • \(\quad(j,j',i',i'_{1},k_{L},k'_{L})=(2,1,0,0,1,0)\)

  •  (L(2,2)=4=p a,[2:2])∧

  •  ((j′=1=i−1)∧(p a,[0:1]=2<(1−0)s+p u,[1:2]+p c,[1:2]=1+5+3=9))

    $$\begin{aligned} z_2=f_1(2,1,0,0,1,0) =&g(1,0,0,0,0)+(2-1)(s+p_{c,[1:2]}+p_{u,[1:2]}) \\ &{}+L'(2,2,2,0,0,0) \\ =&\infty. \end{aligned}$$
  • \(\quad(j,j',i',i'_{1},k_{L},k'_{L})=(2,1,0,1,1,0)\)

  •  (L(2,2)=4=p a,[2:2])∧

  •  ((j′=1=i−1)∧(p a,[0:1]=2<(1−0)s+p u,[1:2]+p c,[2:2]=1+5+2=8))

    $$\begin{aligned} z_3=f_1(2,1,0,1,1,0) =&g(1,0,1,0,0)+(2-1)(s+p_{c,[1:2]}+p_{u,[1:2]}) \\ &+L'(2,2,2,0,1,0) \\ =&\infty. \end{aligned}$$
  • \(\quad(j,j',i',i'_{1},k_{L},k'_{L})=(2,1,1,1,1,0)\)

  •  (L(2,2)=4=p a,[2:2])∧

  •  ((j′=1=i−1)∧(p a,[1:1]=2<(1−0)s+p u,[2:2]+p c,[2:2]=1+3+2=6))

    $$\begin{aligned} z_4=f_1(2,1,1,1,1,0) =&g(1,1,1,0,0)+(2-1)(s+p_{c,[1:2]}+p_{u,[1:2]}) \\ &+L'(2,2,2,1,1,0) \\ =&\infty. \end{aligned}$$
  • g(2,2,2,1,0)=min{z 1,z 2,z 3,z 4}=21.

  • (j,i,i 1,k L ,k R )=(2,2,2,2,0)

  • \(\quad(j,j',i',i'_{1},k_{L},k'_{L})=(2,1,1,1,2,1)\)

  •   (L(2,2)=4=p a,[2:2])∧

  •   ((j′=1=i−1)∧(p a,[1:1]=2<(2−1)s+p u,[2:2]+p c,[2:2]=1+3+2=6))

    $$\begin{aligned} z_1=f_2(2,1,1,1,2,1) =&g(1,1,1,1,0)+(2-1)(2s+p_{c,[1:2]}+p_{u,[1:2]}) \\ &{}+L'(2,2,2,1,1,0) \\ =&6+(2+3+5)+4=20. \end{aligned}$$
  • g(2,2,2,2,0)=min{z 1}=20.

  • Goal: \(\min_{1\leq k_{L} \leq i\leq i_{1}\leq2, \lceil\frac{2-i_{1}}{2}\rceil\leq k_{R}\leq2-i_{1}}\{g(2,i,i_{1},k_{L},k_{R})\}=g(2,2,2,2,0)=20\).

  • The corresponding optimal schedule can be constructed by backtracking the recursion, as illustrated in Fig. 7.

    Fig. 7
    figure 7

    Optimal schedule with g(2,2,2,2,0)=20

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hwang, F.J., Kovalyov, M.Y. & Lin, B.M.T. Scheduling for fabrication and assembly in a two-machine flowshop with a fixed job sequence. Ann Oper Res 217, 263–279 (2014). https://doi.org/10.1007/s10479-014-1531-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-014-1531-8

Keywords

Navigation