Skip to main content

Modeling of Scheduling Batch Processor in Discrete Parts Manufacturing

  • Chapter
  • First Online:
Supply Chain Strategies, Issues and Models

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 149.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

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.

    Article  Google Scholar 

  • AzizoÄŸlu, M., & Webster, S. (2000). Scheduling a batch processing machine with non-identical job sizes. International Journal of Production Research, 39, 325–335.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Article  MATH  Google Scholar 

  • Fasano, G. (2008). MIP-based heuristic for non-standard 3D-packing problems. 4OR: A Quarterly Journal of Operations Research, 6, 291–310.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  MATH  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Oulamara, A. (2007). Makespan minimization in a no-wait flow shop problem with two batching machines. Computers & Operations Research, 34(4), 1033–1050.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Google Scholar 

  • Padberg, M. (2000). Packing small boxes into a big box. Mathematical Methods of Operations Research, 52, 1–21.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Google Scholar 

  • Ponsignon, T., & Mönch, L. (2011). Heuristic approaches for master planning in semiconductor manufacturing. Computers & Operations Research, 39, 479–491.

    Article  Google Scholar 

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

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M. Mathirajan .

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

  1. Input file ‘capacity.ldt’: 30 Input file ‘availability.ldt’: 1
  2. Input file ‘proc.ldt’:
  3. 10
  4. 14
  5. 6

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

Reprints 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)

Publish with us

Policies and ethics