Abstract
Processing using batch processors (BPs) is common in many manufacturing environments. Generally in a manufacturing environment, BPs are bottleneck operations due to their longer processing time. Batch processing also involves many complexities like compatibility of jobs that can be processed, sizes of different jobs, capacity constraint of the processor, and so on. Considering all these factors, proper scheduling of BPs is important. This chapter focuses on scheduling of BPs in three real life applications, namely, automobile gear manufacturing, semiconductor manufacturing, and steel casting industries. Integer programming models are formulated for the problems under consideration. These models will help the decision makers to understand the problems better and hence work toward appropriate solutions for the problems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Almada-Lobo, B., Oliveira, J. F., & Carravilla, M. A. (2008). Production planning and scheduling in the glass industry: A VVS approach. International Journal of Production Economics, 114, 363–375.
Azizoğlu, M., & Webster, S. (2000). Scheduling a batch processing machine with non-identical job sizes. International Journal of Production Research, 39, 325–335.
Chan, F. T. S., Au, K. C., & Chan, P. L. Y. (2006). A Decision support system for production scheduling in an ion plating cell. Expert Systems with Applications, 30, 727–738.
Damodaran, P., & Srihari, K. (2004). Mixed integer formulation to minimize makespan in a flow shop with batch processing machines. Mathematical and Computer Modelling, 40, 1465–1472.
Fanti, M. P., Maione, B., Piscitelli, G., & Turchiano, B. (1996). Heuristic scheduling of jobs on a multi-product batch-processing machine. International Journal of Production Research, 34(8), 2163–2186.
Fasano, G. (2008). MIP-based heuristic for non-standard 3D-packing problems. 4OR: A Quarterly Journal of Operations Research, 6, 291–310.
Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: A guide to the theory of NP-completeness. San Francisco: W. H. Freeman and Co.
Gokhale, R., & Mathirajan, M. (2011). Heuristic algorithms for scheduling of a batch processor in automobile gear manufacturing. International Journal of Production Research, 49, 2705–2728.
Graham, R. L., Lawler, E. L., Lenstra, J. K. & Rinnooy Kan, A. H. G. (1979). Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics, 5, 287–326.
Koh, S. G., Koo, P. H., Ha, J. W., & Lee, W. S. (2004). Scheduling parallel batch processing machines with arbitrary job sizes and incompatible job families. International Journal of Production Research, 42, 4091–4107.
Li, S., Ng, C. T., Cheng, T. C. E., & Yuan, J. (2011). Parallel-batch scheduling of deteriorating jobs with release dates to minimize the makespan. European Journal of Operational Research, 210, 482–488.
Malve, S., & Uzsoy, R. (2007). A genetic algorithm for minimizing maximum lateness on parallel identical batch processing machines with dynamic job arrivals and incompatible job families. Computers & Operations Research, 34, 3016–3028.
Mathirajan, M., & Sivakumar, A. I. (2006a). Minimizing total weighted tardiness on heterogeneous batch processing machines with incompatible job families. International Journal of Advanced Manufacturing Technology, 28, 1038–1047.
Mathirajan, M., & Sivakumar, A. I. (2006b). A literature review, classification and simple meta-analysis on scheduling of batch processors in semiconductor. International Journal of Advanced Manufacturing Technology, 29, 990–1001.
Oulamara, A. (2007). Makespan minimization in a no-wait flow shop problem with two batching machines. Computers & Operations Research, 34(4), 1033–1050.
Ozturk, O., Espinouse, M.-L., Mascolo, D., & Gouin, A. (2010). Optimizing the makespan of washing operations of medical devices in hospital sterilization services. In Proceedings of 2010 IEEE Workshop on Health Care Management, Italy, 1–6.
Padberg, M. (2000). Packing small boxes into a big box. Mathematical Methods of Operations Research, 52, 1–21.
Perez, I. C., Fowler, J. W. & Carlyle, W. M. (2005). Minimizing total weighted tardiness on a single batch process machine with incompatible job families. Computers and Operations Research, 32, 327–341.
Ponsignon, T., & Mönch, L. (2011). Heuristic approaches for master planning in semiconductor manufacturing. Computers & Operations Research, 39, 479–491.
Potts, C. N., & Kovalyov, Y. (2000). Scheduling with batching: A review. European Journal of Operational Research, 120, 228–249.
Ramasubramanian, M., Mathirajan, M., & Ramachandran, V. (2010). Minimizing makespan on a single heat-treatment furnace in Steel Casting Industry. International Journal of Services and Operations Management, 7, 112–142.
Roberts, C. A., Dessouky, M. M., & Dessouky, Y. M. (1999). A virtual plant modeller (VPMOD) for batch-chemical processes. Journal of Intelligent Manufacturing, 10, 211–223.
SIA-Semiconductor Industry Association (2012, September). Industry statistics. Retrieved November 28, 2012, from http://www.sia-online.org/clientuploads/GSR/September%202012%20GSR%20table%20and%20graph%20for%20press%20release.pdf
Uzsoy, R., Lee, C. Y., & Martin-Vega, L. A. (1992). A review of production planning and scheduling models in the semiconductor industry, part I: System characteristics, performance evaluation and production planning. IIE Transactions, 24, 47–61.
Yaghubian, A. R., Hodgson, T. J., Joines, J. A., Culbreth, C. T., & Huang, J. C. (2001). Dry-or-buy decision support for dry kiln scheduling in furniture production. IIE Transactions, 33, 131–136.
van der Zee, D. J., Van Harten, A., & Schuur, P. C. (2001). On-line scheduling of multi-server batch operations. IIE Transactions, 33, 569–586.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Annexure 1
A LINGO set code and sample data input for the ILP model for research problem with Hardening and Soaking Furnace (HSF)
SETS:
JOBS:RELEASE_TIME,DUE_DATE,WEIGHT,MASS,TARDINESS,CT_JOB;
FAMILIES:PROCESSING_TIME;
BATCHES:CT_BATCH,RELEASE_BATCH,PROCESSING_BATCH;
JTOF(JOBS,FAMILIES):FAM_CLASS;
FTOB(FAMILIES,BATCHES):Y;
JTOB(JOBS,BATCHES):X,FRACTION,CT_FRAC;
ENDSETS
DATA:
JOBS  =  @FILE(‘job_index.ldt');
FAMILIES  =  @FILE(‘family_index.ldt');
BATCHES  =  @FILE(‘batch_index.ldt');
RELEASE_TIME  =  @FILE(‘release.ldt');
DUE_DATE  =  @FILE(‘duedate.ldt’);
WEIGHT  =  @FILE(‘weight.ldt');
MASS  =  @FILE(‘mass.ldt');
CAPACITY  =  @FILE(‘capacity.ldt');
AVAILABILITY  =  @FILE(‘availability.ldt');
PROCESSING_TIME  =  @FILE(‘proc.ldt');
FAM_CLASS  =  @FILE(‘fam_assoc.ldt');
ENDDATA
! OBJECTIVE FUNCTION (EQUATIONÂ 1)
MIN Â = Â @SUM(JOBS(J): WEIGHT(J)* TARDINESS(J));
! ATMOST ONE FAMILY CAN BE PROCESSED IN A GIVEN BATCH (EQUATIONÂ 2);
@FOR(BATCHES(B):
@SUM(FAMILIES(F): Y(F,B)) Â <= Â 1);
! A BATCH CAN BE FORMED ONLY IF ITS PREVIOUS BATCH HAS BEEN FORMED (EQUATIONÂ 3);
@FOR(BATCHES(B)|B #GT# 1:
@SUM(FAMILIES(F): Y(F,B-1)) Â >= Â @SUM(FAMILIES(F): Y(F,B)));
! RELEASE TIME, PROCESSING TIME, AND COMPLETION TIME OF BATCHES RESPECTIVELY (EQUATIONSÂ 4, 5 AND 6);
@FOR(BATCHES(B)|B #GT# 1:
RELEASE_BATCH(B) Â >= Â CT_BATCH(B-1));
@FOR(BATCHES(B):
PROCESSING_BATCH(B) Â >= Â @SUM(FAMILIES(F):PROCESSING_TIME(F)*Y(F,B)));
@FOR(BATCHES(B):
CT_BATCH(B) Â >= Â RELEASE_BATCH(B) Â + Â PROCESSING_BATCH(B));
! A JOB CAN BE PROCESSED IN A BATCH ONLY IF THE FAMILY TO WHICH IT BELONGS TO IS PROCESSED IN THAT BATCH (EQUATIONÂ 7);
@FOR(JOBS(J):
@FOR(FAMILIES(F):
@FOR(BATCHES(B):
X(J,B) * FAM_CLASS(J,F) Â <= Â Y(F,B))));
! IF SOME FAMILY IS ASSIGNED TO A BATCH, THEN THAT BATCH MUST CONTAIN ATLEAST ONE JOB OF THAT FAMILY (EQUATIONÂ 8);
@FOR(FAMILIES(F):
@FOR(BATCHES(B):
@SUM(JOBS(J): X(J,B) * FAM_CLASS(J,F)) Â >= Â Y(F,B)));
! RELEASE TIME OF A BATCH MUST NOT BE LESS THAN THE RELEASE TIME OF ANY OF JOBS CONSTITUTING THE BATCH (EQUATIONÂ 9);
@FOR(BATCHES(B):
@FOR(JOBS(J):
RELEASE_BATCH(B) Â >= Â RELEASE_TIME(J) * X(J,B)));
! A JOB CAN BE PROCESSED MAXIMUM IN TWO BATCHES (EQUATIONÂ 10);
@FOR(JOBS(J):
@SUM(BATCHES(B):X(J,B)) Â <= Â 2);
! A JOB MUST BE PROCESSED ATLEAST IN ONE BATCH (EQUATIONÂ 11);
@FOR(JOBS(J):
@SUM(BATCHES(B):X(J,B)) Â >= Â 1);
! THE FRACTION OF A JOB MUST BE LESS THAN OR EQUAL TO 1 (EQUATIONÂ 12);
@FOR(JOBS(J):
@FOR(BATCHES(B):FRACTION(J,B) Â <= Â 1));
! THE FRACTION OF A JOB MUST BE GREATER THAN OR EQUAL TO 0 (EQUATIONÂ 13);
@FOR(JOBS(J):
@FOR(BATCHES(B):FRACTION(J,B) Â >= Â 0));
! SUM OF ALL FRACTIONS FOR A JOB MUST BE 1 (EQUATIONÂ 14);
@FOR(JOBS(J):
@SUM(BATCHES(B):FRACTION(J,B)) Â = Â 1);
! IF A JOB IS ASSIGNED TO A BATCH THEN SOME FRACTION OF THAT JOB MUST BE PROCESSED IN THAT BATCH. ALSO WHEN A JOB IS NOT ASSIGNED TO A BATCH, NO FRACTION CAN BE PROCESSED (EQUATIONSÂ 15 AND 16);
@FOR(JOBS(J):
@FOR(BATCHES(B):X(J,B) Â >= Â FRACTION(J,B)));
@FOR(JOBS(J):
@FOR(BATCHES(B):FRACTION(J,B) Â > Â 10000 * (X(J,B) - 1)));
! THE QUANTITY PROCESSED IN ANY BATCH SHOULD NOT EXCEED THE BATCH PROCESSOR CAPACITY (EQUATIONÂ 17);
@FOR(BATCHES(B):
@SUM(JOBS(J): FRACTION(J,B) * MASS(J)) Â <= Â CAPACITY);
! FRACTIONAL COMPLETION TIME OF A JOB SHOULD NOT BE LESS THAN THE COMPLETION TIME OF THE BATCH IN WHICH IT IS PROCESSED (EQUATIONÂ 18);
@FOR(JOBS(J):
@FOR(BATCHES(B):
CT_FRAC(J,B) Â >= Â CT_BATCH(B) - 10000 * (1 - X(J,B))));
! COMPLETION TIME OF THE JOB MUST NOT BE LESS THAN ANY OF ITS FRACTIONS (EQUATIONÂ 19);
@FOR(JOBS(J):
@FOR(BATCHES(B):CT_JOB(J) Â >= Â CT_FRAC(J,B)));
! RELEASE TIME OF THE FIRST BATCH ON A BP IS THE FIRST TIME AVAILABILITY OF THE BP (EQUATIONÂ 20);
@FOR(BATCHES(B)|B #EQ# 1:RELEASE_BATCH(B) Â >= Â AVAILABILITY);
! DEFINE TARDINESS (EQUATIONSÂ 21 AND 22);
@FOR(JOBS(J): TARDINESS(J) Â >= Â CT_JOB(J) - DUE_DATE(J));
@FOR(JOBS(J): TARDINESS(J) Â >= Â 0);
! ASSIGNS BINARY RESTRICTION ON THE DECISION VARIABLES (EQUATIONÂ 23 AND 24)
@FOR(JTOB:@BIN(X));
@FOR(FTOB:@BIN(Y));
The sample input files for LINGO implementation, for the numerical example described in Sect. 2.4 (Table 3) are given below
Input file ‘job_index.ldt’: A B C D E F G H I J
Input file ‘family_index.ldt’: P Q R
Input file ‘batch_index.ldt’: a b c d e f g h i j
Input file ‘release.ldt’: | Input file ‘duedate.ldt’: | Input file ‘weight.ldt’: | Input file ‘mass.ldt’: | Input file ‘fam_assoc.ldt’: |
---|---|---|---|---|
6 | 36 | 6 | 20 | 1 0 0 |
1 | 15 | 4 | 18 | 0 1 0 |
10 | 52 | 6 | 13 | 0 1 0 |
10 | 22 | 5 | 19 | 0 0 1 |
4 | 14 | 3 | 3 | 1 0 0 |
0 | 20 | 3 | 11 | 1 0 0 |
0 | 10 | 5 | 11 | 1 0 0 |
2 | 32 | 6 | 2 | 1 0 0 |
7 | 27 | 3 | 12 | 1 0 0 |
6 | 24 | 2 | 6 | 0 0 1 |
Annexure 2
Problem instance wise optimal total weighted tardiness (TWT) and required computational time for research problem with hardening and soaking furnace (HSF)
Problem instance | Optimal TWT | Time required to obtain optimal TWT (hr-min-sec) | Problem instance | Optimal TWT | Time required to obtain optimal TWT (hr-min-sec) | Problem instance | Optimal TWT | Time required to obtain optimal TWT (hr-min-sec) |
---|---|---|---|---|---|---|---|---|
1 | 250 | 00-00-32 | 33 | 83 | 00-01-12 | 65 | 432 | 00-26-57 |
2 | 0 | 00-00-01 | 34 | 0 | 00-00-02 | 66 | 30 | 00-00-16 |
3 | 93 | 00-00-05 | 35 | 112 | 00-00-10 | 67 | 200 | 00-03-55 |
4 | 230 | 00-00-37 | 36 | 1 | 00-00-01 | 68 | 205 | 00-01-44 |
5 | 190 | 00-00-11 | 37 | 97 | 00-00-03 | 69 | 122 | 00-00-21 |
6 | 30 | 00-00-01 | 38 | 96 | 00-00-05 | 70 | 324 | 00-18-00 |
7 | 40 | 00-00-11 | 39 | 51 | 00-00-02 | 71 | 254 | 00-11-25 |
8 | 36 | 00-00-04 | 40 | 32 | 00-00-03 | 72 | 111 | 00-00-27 |
9 | 208 | 00-00-32 | 41 | 307 | 00-02-01 | 73 | 347 | 00-17-33 |
10 | 133 | 00-00-07 | 42 | 146 | 00-00-38 | 74 | 27 | 00-00-08 |
11 | 106 | 00-00-10 | 43 | 0 | 00-00-01 | 75 | 389 | 00-08-50 |
12 | 24 | 00-00-06 | 44 | 64 | 00-00-12 | 76 | 74 | 00-03-41 |
13 | 268 | 00-02-53 | 45 | 28 | 00-00-10 | 77 | 212 | 00-02-40 |
14 | 95 | 00-00-03 | 46 | 6 | 00-00-06 | 78 | 66 | 00-00-32 |
15 | 187 | 00-00-24 | 47 | 69 | 00-00-14 | 79 | 347 | 00-09-39 |
16 | 48 | 00-00-12 | 48 | 3 | 00-00-02 | 80 | 0 | 00-00-01 |
17 | 369 | 00-01-51 | 49 | 73 | 00-00-04 | 81 | 67 | 00-01-04 |
18 | 0 | 00-00-01 | 50 | 14 | 00-00-14 | 82 | 131 | 00-00-19 |
19 | 81 | 00-00-07 | 51 | 64 | 00-00-08 | 83 | 152 | 00-01-48 |
20 | 4 | 00-00-04 | 52 | 43 | 00-00-11 | 84 | 29 | 00-00-51 |
21 | 121 | 00-00-27 | 53 | 220 | 00-00-23 | 85 | 54 | 00-00-18 |
22 | 34 | 00-10-03 | 54 | 210 | 00-00-21 | 86 | 280 | 00-02-17 |
23 | 20 | 00-00-01 | 55 | 60 | 00-00-01 | 87 | 106 | 00-01-12 |
24 | 68 | 00-00-02 | 56 | 0 | 00-00-01 | 88 | 85 | 00-00-29 |
25 | 250 | 00-00-27 | 57 | 61 | 00-00-11 | 89 | 151 | 00-00-50 |
26 | 41 | 00-00-01 | 58 | 44 | 00-00-07 | 90 | 68 | 00-00-32 |
27 | 156 | 00-00-07 | 59 | 220 | 00-01-06 | 91 | 111 | 00-03-47 |
28 | 14 | 00-00-02 | 60 | 48 | 00-00-02 | 92 | 0 | 00-00-01 |
29 | 185 | 00-00-20 | 61 | 205 | 00-00-21 | 93 | 257 | 00-03-57 |
30 | 76 | 00-00-02 | 62 | 24 | 00-00-11 | 94 | 90 | 00-00-11 |
31 | 141 | 00-00-20 | 63 | 137 | 00-00-19 | 95 | 167 | 00-00-52 |
32 | 0 | 00-00-03 | 64 | 48 | 00-00-05 | 96 | 0 | 00-00-14 |
97 | 277 | 00-25-40 | 129 | 667 | 02-22-04 | 161 | 373 | 02-32-33 |
98 | 62 | 00-02-10 | 130 | 35 | 00-01-39 | 162 | 147 | 00-12-46 |
99 | 217 | 00-08-49 | 131 | 275 | 00-56-47 | 163 | 426 | 03-26-48 |
100 | 0 | 00-00-01 | 132 | 124 | 00-07-35 | 164 | 109 | 00-16-37 |
101 | 147 | 00-04-19 | 133 | 495 | 12-29-19 | 165 | 574 | 02-50-40 |
102 | 101 | 00-04-30 | 134 | 178 | 00-30-27 | 166 | 12 | 00-01-02 |
103 | 184 | 00-08-28 | 135 | 196 | 01-02-27 | 167 | 215 | 01-20-32 |
104 | 117 | 00-01-42 | 136 | 35 | 00-03-26 | 168 | 78 | 00-04-00 |
105 | 84 | 00-00-01 | 137 | 452 | 03-51-31 | 169 | 528 | 02-38-17 |
106 | 164 | 00-03-40 | 138 | 164 | 00-04-53 | 170 | 99 | 00-07-12 |
107 | 98 | 00-02-36 | 139 | 301 | 01-04-06 | 171 | 277 | 02-29-49 |
108 | 0 | 00-00-03 | 140 | 13 | 00-00-43 | 172 | 56 | 00-09-33 |
109 | 434 | 01-11-33 | 141 | 302 | 02-53-37 | 173 | 179 | 00-36-19 |
110 | 33 | 00-00-09 | 142 | 284 | 00-07-00 | 174 | 17 | 00-02-30 |
111 | 149 | 00-06-06 | 143 | 124 | 00-05-23 | 175 | 220 | 00-29-22 |
112 | 226 | 00-05-33 | 144 | 176 | 00-27-51 | 176 | 48 | 00-07-27 |
113 | 339 | 00-24-55 | 145 | 204 | 00-11-32 | 177 | 169 | 00-14-08 |
114 | 115 | 00-01-55 | 146 | 86 | 00-04-10 | 178 | 76 | 00-10-41 |
115 | 201 | 00-08-43 | 147 | 150 | 00-14-40 | 179 | 200 | 00-27-29 |
116 | 3 | 00-00-45 | 148 | 58 | 00-01-41 | 180 | 119 | 00-38-35 |
117 | 223 | 00-11-16 | 149 | 487 | 01-59-33 | 181 | 310 | 01-03-00 |
118 | 257 | 00-03-16 | 150 | 82 | 00-00-35 | 182 | 208 | 00-35-32 |
119 | 312 | 00-18-05 | 151 | 61 | 00-01-02 | 183 | 198 | 01-25-14 |
120 | 24 | 00-00-17 | 152 | 91 | 00-05-11 | 184 | 102 | 00-12-48 |
121 | 401 | 00-08-52 | 153 | 263 | 02-26-40 | 185 | 279 | 00-45-40 |
122 | 60 | 00-00-18 | 154 | 288 | 00-15-02 | 186 | 288 | 00-32-20 |
123 | 18 | 00-00-07 | 155 | 297 | 00-23-08 | 187 | 149 | 00-11-18 |
124 | 208 | 00-02-30 | 156 | 0 | 00-00-29 | 188 | 161 | 00-33-31 |
125 | 229 | 00-03-59 | 157 | 199 | 00-06-16 | 189 | 279 | 01-16-51 |
126 | 325 | 00-18-28 | 158 | 0 | 00-00-16 | 190 | 20 | 00-03-04 |
127 | 122 | 00-01-50 | 159 | 201 | 00-27-07 | 191 | 93 | 00-08-38 |
128 | 101 | 00-00-50 | 160 | 54 | 00-14-03 | 192 | 0 | 00-00-30 |
Rights and permissions
Copyright information
© 2014 Springer-Verlag London
About this chapter
Cite this chapter
Mathirajan, M., Gokhale, R., Ramasubramaniam, M. (2014). Modeling of Scheduling Batch Processor in Discrete Parts Manufacturing. In: Ramanathan, U., Ramanathan, R. (eds) Supply Chain Strategies, Issues and Models. Springer, London. https://doi.org/10.1007/978-1-4471-5352-8_7
Download citation
DOI: https://doi.org/10.1007/978-1-4471-5352-8_7
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-4471-5351-1
Online ISBN: 978-1-4471-5352-8
eBook Packages: EngineeringEngineering (R0)