Multicriteria scheduling problems : a survey

V. T'kindt; J.-C. Billaut

RAIRO - Operations Research - Recherche Opérationnelle (2001)

  • Volume: 35, Issue: 2, page 143-163
  • ISSN: 0399-0559

Abstract

top
This paper presents a state-of-the-art survey on multicriteria scheduling and introduces a definition of a multicriteria scheduling problem. It provides a framework that allows to tackle multicriteria scheduling problems, according to Decision Aid concepts. This problem is decomposed into three different problems. The first problem is about obtaining a model. The second one is how to take criteria into account and the third one is about solving a scheduling problem. An extension to an existing notation for scheduling problems is proposed for multicriteria scheduling problems. Then, basic results from the literature on multicriteria optimization are presented. These results are used to build the final scheduling problem to solve. Finally a survey is presented for one-machine, parallel machines and flowshop multicriteria scheduling problems.

How to cite

top

T'kindt, V., and Billaut, J.-C.. "Multicriteria scheduling problems : a survey." RAIRO - Operations Research - Recherche Opérationnelle 35.2 (2001): 143-163. <http://eudml.org/doc/105240>.

@article{Tkindt2001,
abstract = {This paper presents a state-of-the-art survey on multicriteria scheduling and introduces a definition of a multicriteria scheduling problem. It provides a framework that allows to tackle multicriteria scheduling problems, according to Decision Aid concepts. This problem is decomposed into three different problems. The first problem is about obtaining a model. The second one is how to take criteria into account and the third one is about solving a scheduling problem. An extension to an existing notation for scheduling problems is proposed for multicriteria scheduling problems. Then, basic results from the literature on multicriteria optimization are presented. These results are used to build the final scheduling problem to solve. Finally a survey is presented for one-machine, parallel machines and flowshop multicriteria scheduling problems.},
author = {T'kindt, V., Billaut, J.-C.},
journal = {RAIRO - Operations Research - Recherche Opérationnelle},
keywords = {scheduling; multicriteria optimization; state-of-the-art; state-of-the-art survey},
language = {eng},
number = {2},
pages = {143-163},
publisher = {EDP-Sciences},
title = {Multicriteria scheduling problems : a survey},
url = {http://eudml.org/doc/105240},
volume = {35},
year = {2001},
}

TY - JOUR
AU - T'kindt, V.
AU - Billaut, J.-C.
TI - Multicriteria scheduling problems : a survey
JO - RAIRO - Operations Research - Recherche Opérationnelle
PY - 2001
PB - EDP-Sciences
VL - 35
IS - 2
SP - 143
EP - 163
AB - This paper presents a state-of-the-art survey on multicriteria scheduling and introduces a definition of a multicriteria scheduling problem. It provides a framework that allows to tackle multicriteria scheduling problems, according to Decision Aid concepts. This problem is decomposed into three different problems. The first problem is about obtaining a model. The second one is how to take criteria into account and the third one is about solving a scheduling problem. An extension to an existing notation for scheduling problems is proposed for multicriteria scheduling problems. Then, basic results from the literature on multicriteria optimization are presented. These results are used to build the final scheduling problem to solve. Finally a survey is presented for one-machine, parallel machines and flowshop multicriteria scheduling problems.
LA - eng
KW - scheduling; multicriteria optimization; state-of-the-art; state-of-the-art survey
UR - http://eudml.org/doc/105240
ER -

References

top
  1. [1] G. Adamopoulos and C. Pappis, Scheduling jobs with different job-dependent earliness and tardiness penalties using the SLK method. Eur. J. Oper. Res. 88 (1996) 336-344. Zbl0913.90154
  2. [2] M. Ahmed and P. Sundararaghavan, Minimizing the weighted sum of late and early completion penalties in a single machine. IEEE Trans. 22 (1990) 288-290. 
  3. [3] D. Alcaide, J. Riera and J. Sicilia, An approach to solve bicriterion flow-shop scheduling problems, in Proc. of the 6th International Workshop on Project Management and Scheduling (PMS’98). Istanbul, Turkey (1998) 151-154. 
  4. [4] B. Alidaee and A. Ahmadian, Two parallel machine sequencing problems involving controllable job processing times. Eur. J. Oper. Res. 70 (1993) 335-341. Zbl0791.90028
  5. [5] M. Azizoglu, S.K. Kondakci and M. Koksalan, Bicriteria scheduling: Minimizing flowtime and maximum earliness on a single machine, edited by J. Climaco, Multicriteria Analysis. Springer-Verlag (1997) 279-288. Zbl0899.90110
  6. [6] M. Azizoglu and S. Webster, Scheduling job families about an unrestricted common due date on a single machine. Internat. J. Production Res. 35 (1997) 1321-1330. Zbl0942.90547
  7. [7] U. Bagchi, Y.-L. Chang and R. Sullivan, Minimizing absolute and squared deviations of completion times with different earliness and tardiness penalties and a common due date. Naval Res. Logist. 34 (1987) 739-751. Zbl0657.90052MR906433
  8. [8] U. Bagchi, R. Sullivan and Y.-L. Chang, Minimizing mean absolute deviation of completion times about a common due date. Naval Res. Logist. Quarterly 33 (1986) 227-240. Zbl0599.90049MR841721
  9. [9] U. Bagchi, R. Sullivan and Y.-L. Chang, Minimizing mean squared deviation of completion times about a common due date. Management Sci. 33 (1987) 894-906. Zbl0636.90049MR902724
  10. [10] S. Bansal, Single machine scheduling to minimize weighted sum of completion times with secondary criterion – a branch and bound approach. Eur. J. Oper. Res. 5 (1980) 177-181. Zbl0445.90032
  11. [11] J. Barnes and L. Vanston, Scheduling jobs with linear delay penalties and sequence dependent setup costs. Oper. Res. 29 (1981) 146-160. Zbl0454.90037MR606863
  12. [12] C. Bector, Y. Gupta and M. Gupta, Determination of an optimal common due date and optimal sequence in a single machine job shop. Internat. J. Production Res. 26 (1988) 613-628. Zbl0644.90047
  13. [13] J.-C. Billaut, V. T’kindt, P. Richard and C. Proust, Three exact methods and an efficient heuristic for solving a bicriteria flowshop scheduling problem, in Multiconference on Computational Engineering in Systems Applications (CESA 98), Symposium on Industrial and Manufacturing Systems, IEEE-SMC/IMACS. Nabeul-Hammamet, Tunisia (1998) 371-377. 
  14. [14] J. Blazewicz, K. Ecker, E. Pesch, G. Schmidt and J. Weglarz, Scheduling computer and manufacturing processes. Springer-Verlag (1996). Zbl0911.90201
  15. [15] V. Bourgade, L. Aguilera, B. Penz and Z. Binder, Problème industriel d’ordonnancement bicritère sur machine unique : modélisation et aide à la décision. APII 29 (1995) 331-341. 
  16. [16] V. Bowman, On the relationship of the tchebycheff norm and the efficient frontier of multiple-criteria objectives, edited by H. Thiriez and S. Zionts, Multiple Criteria Decision Making. Springer-Verlag (1976) 76-85. Zbl0364.90089
  17. [17] R. Burns, Scheduling to minimize the weighted sum of completion times with secondary criteria. Naval Res. Logist. Quarterly 23 (1976) 125-129. Zbl0335.90029MR406461
  18. [18] S. Chand and H. Schneeberger, Single machine scheduling to minimize weighted completion time with maximum allowable tardiness, Research report. University of Purdue (1984). Zbl0601.90079
  19. [19] S. Chand and H. Schneeberger, A note on the single machine scheduling problem with minimum weighted completion time and maximum allowable tardiness. Naval Res. Logist. Quarterly 33 (1986) 551-557. Zbl0601.90079MR850659
  20. [20] S. Chand and H. Schneeberger, Single machine scheduling to minimize weighted earliness subject to no tardy jobs. Eur. J. Oper. Res. 34 (1988) 221-230. Zbl0648.90036MR935237
  21. [21] C.-L. Chen and R. Bulfin, Scheduling unit processing time jobs on a single machine with multiple criteria. Comput. Oper. Res. 17 (1990) 1-7. Zbl0681.90049MR1022760
  22. [22] C.-L. Chen and R. Bulfin, Complexity of single machine, multi-criteria scheduling problems. Eur. J. Oper. Res. 70 (1993) 115-125. Zbl0795.90032
  23. [23] C.-L. Chen and R. Bulfin, Complexity of multiple machines, multi-criteria scheduling problems, in 3rd Industrial Engineering Research Conference (IERC’94). Atlanta, USA (1994) 662-665. 
  24. [24] Z.-L. Chen, Scheduling and common due date assignment with earliness and tardiness penalties and batch delivery costs. Eur. J. Oper. Res. 93 (1996) 49-60. Zbl0916.90147
  25. [25] T. Cheng and Z.-L. Chen, Parallel-machine scheduling problems with earliness and tardiness penalties. J. Oper. Res. Soc. 45 (1994) 685-695. Zbl0829.90077
  26. [26] R. Daniels and R. Chambers, Multiobjective flow-shop scheduling. Naval Res. Logist. 37 (1990) 981-995. Zbl0825.90551
  27. [27] P. Dileepan and T. Sen, Bicriterion static scheduling research for a single machine. Omega 16 (1998) 53-59. 
  28. [28] P. Dileepan and T. Sen, Bicriterion jobshop scheduling with total flowtime and sum of squared lateness. Engrg. Costs and Production Economics 21 (1991) 295-299. 
  29. [29] M. Ehrgott, Multiple Criteria Optimization: Classification and Methodology, Ph.D. Thesis. University of Kaiserslautern, Germany, in English (1997). 
  30. [30] H. Emmons, A note on a scheduling problem with dual criteria. Naval Res. Logist. Quarterly 22 (1975) 615-616. Zbl0314.90045MR436993
  31. [31] H. Emmons, One machine sequencing to minimize mean flow time with minimum number tardy. Naval Res. Logist. Quarterly 22 (1975) 585-592. Zbl0315.90032MR403625
  32. [32] H. Emmons, Scheduling to a common due date on parallel uniform processors. Naval Res. Logist. 34 (1987) 803-810. Zbl0648.90043MR913466
  33. [33] G. Evans, An overview of techniques for solving multiobjective mathematical programs. Management Sci. 30 (1984) 1268-1282. Zbl0551.90090MR774745
  34. [34] T. Fry, R. Armstrong and R. Blackstone, Minimizing weighted absolute deviation in single machine scheduling. IEEE Trans. 19 (1987) 445-450. 
  35. [35] T. Fry, R. Armstrong and H. Lewis, A framework for single machine multiple objective sequencing research. Omega 17 (1989) 595-607. 
  36. [36] T. Fry and R. Blackstone, Planning for idle time: A rationale for underutilization of capacity. Int. J. Prod. Res. 26 (1988) 1853-1859. 
  37. [37] T. Fry and G. Leong, Bi-criterion single-machine scheduling with forbidden early shipments. Engrg. Costs and Production Sci. 10 (1986) 133-137. 
  38. [38] T. Fry and G. Leong, A bi-criterion approach to minimizing inventory costs on a single machine when early shipments are forbidden. Comput. Operat. Res. 14 (1987) 363-368. Zbl0624.90044MR904146
  39. [39] T. Fry, G. Leong and T. Rakes, Single machine scheduling: A comparison of two solution procedures. Omega 15 (1987) 277-282. 
  40. [40] R. Gangadharan and C. Rajendran, A simulated annealing heuristic for scheduling in a flowshop with bicriteria. Comput. Industrial Engrg. 27 (1994) 473-476. 
  41. [41] M. Garey, R. Tarjan and G. Wilfong, One-processor scheduling with symmetric earliness and tardiness penalties. Math. Oper. Res. 13 (1988) 330-348. Zbl0671.90033MR942622
  42. [42] F. Gembicki, Vector Optimization for Control with Performance and Parameter Sensitivity Indices, Ph.D. Thesis. Case Western Reserve University, Cleveland, USA (1973). 
  43. [43] A. Geoffrion, Proper efficiency and the theory of vector maximization. J. Math. Anal. Appl. 22 (1968) 618-630. Zbl0181.22806MR229453
  44. [44] J. Gupta, J. Ho and A. VanderVeen, Single machine hierarchical scheduling with customer orders and multiple job classes. Ann. Oper. Res. 70 (1997) 127-143. Zbl0888.90091MR1456796
  45. [45] J. Gupta, V. Neppalli and F. Werner, Minimizing total flow time in a two-machine flowshop problem with minimum makespan. Internat. J. Production Economics (to appear). 
  46. [46] S. Gupta and T. Sen, Minimizing a quadratic function of job lateness on a single machine. Engrg. Costs and Production Economic 7 (1983) 187-194. 
  47. [47] Y. Haimes, L. Ladson and D. Wismer, On a bicriterion formulation of the problems of integrated system identification and system optimization. IEEE Trans. Systems, Man and Cybernetics 1 (1971) 296-297. Zbl0224.93016MR300411
  48. [48] H. Heck and S. Roberts, A note on the extension of a result on scheduling with secondary criteria. Naval Res. Logist. Quarterly 19 (1972) 4. Zbl0249.90033MR314446
  49. [49] J. Hoogeveen, Single-Machine Bicriteria Scheduling, Ph.D. Thesis. CWI Amsterdam (1992). Zbl0749.90042MR1153250
  50. [50] J. Hoogeveen and S. VandeVelde, Minimizing total completion time and maximum cost simultaneously is solvable in polynomial time. Oper. Res. Lett. 17 (1995) 205-208. Zbl0858.90075MR1357076
  51. [51] T. John, Tradeoff solutions in single machine production scheduling for minimizing flow time and maximum penalty. Comput. Oper. Res. 16 (1984) 471-479. Zbl0673.90056
  52. [52] J. Kanet, Minimizing the average deviation of job completion times about a common due date. Naval Res. Logist. Quarterly 28 (1981) 643-651. Zbl0548.90037
  53. [53] S. Kondakci, E. Emre and M. Koksalan, Scheduling of unit processing time jobs on a single machine, edited by G. Fandel and T. Gal, Multiple Criteria Decision Making. Springer-Verlag, Lecture Notes in Econom. and Math. Systems (1997) 654-660. Zbl0898.90066
  54. [54] C. Koulamas, Single-machine scheduling with time windows and earliness/tardiness penalties. Eur. J. Oper. Res. 91 (1996) 190-202. Zbl0947.90588
  55. [55] S. Lakshminarayan, R. Lakshmanan, R. Papineau and R. Rochette, Optimal single-machine scheduling with earliness and tardiness penalties. Oper. Res. 26 (1978) 1079-1082. Zbl0413.90031MR514876
  56. [56] C.-Y. Lee and G. Vairaktarakis, Complexity of single machine hierarchical scheduling: A survey, edited by P.M. Pardalos, Complexity in Numerical Optimization. World Scientific Publishing Co. (1993) 269-298. Zbl0968.90521MR1358849
  57. [57] J.-T. Leung and G. Young, Minimizing schedule length subject to minimum flow time. SIAM J. Comput. 18 (1989) 314-326. Zbl0672.90070MR986670
  58. [58] C.-L. Li and T. Cheng, The parallel machine min-max weighted absolute lateness scheduling problem. Naval Res. Logist. 41 (1994) 33-46. Zbl0808.90082MR1258731
  59. [59] C.-J. Liao, W.-C. Yu and C.-B. Joe, Bicriterion scheduling in the two-machine flowshop. J. Oper. Res. Soc. 48 (1997) 929-935. Zbl0892.90106
  60. [60] K. Lin, Hybrid algorithm for sequencing with bicriteria. J. Opt. Theor. Appl. 39 (1983) 105-124. Zbl0479.90051MR1551821
  61. [61] S. McCormick and M. Pinedo, Scheduling n independant jobs on m uniform machines with both flowtime and makespan objectives: A parametric analysis. ORSA J. Comput. 7 (1995) 63-77. Zbl0822.90084
  62. [62] K. Miettinen. On the Methodology of Multiobjective Optimization with Applications, Ph.D. Thesis. University of Jyvaskyla, Department of Mathematics (1994). Zbl0831.90099MR1291825
  63. [63] S. Miyazaki, One machine scheduling problem with dual criteria. J. Oper. Res. Soc. Jpn. 24 (1981) 37-50. Zbl0453.90045MR614098
  64. [64] A. Nagar, J. Haddock and S. Heragu, Multiple and bicriteria scheduling: A literature survey. Eur. J. Oper. Res. (1995) 88-104. Zbl0913.90178
  65. [65] A. Nagar, S. Heragu and J. Haddock, A branch-and-bound approach for a two-machine flowshop scheduling problem. J. Oper. Res. Soc. 46 (1995) 721-734. Zbl0832.90058
  66. [66] R. Nelson, R. Sarin and R. Daniels, Scheduling with multiple performance measures: The one-machine case. Management Sci. 32 (1986) 464-479. Zbl0603.90070
  67. [67] V. Neppalli, C.-L. Chen and J. Gupta, Genetic algorithms for the two-stage bicriteria flowshop problem. Eur. J. Oper. Res. 95 (1996) 356-373. Zbl0943.90584
  68. [68] P. Ow and T. Morton, Filtered beam search in scheduling. Internat. J. Production Res. 26 (1988) 35-62. 
  69. [69] P. Ow and T. Morton, The single machine early/tardy problem. Management Sci. 35 (1989) 177-190. Zbl0666.90043MR985231
  70. [70] S. Panwalker, M. Smith and A. Seidmann, Common due date assignment to minimize total penalty for the one machine scheduling problem. Oper. Res. 30 (1982) 391-399. Zbl0481.90042
  71. [71] C. Rajendran, Two-stage flowshop scheduling problem with bicriteria. J. Oper. Res. Soc. 43 (1992) 871-884. Zbl0757.90037
  72. [72] C. Rajendran, A heuristic for scheduling in flowshop and flowline-based manufacturing cell with multi-criteria. Internat. J. Production Res. 32 (1994) 2541-2558. Zbl0904.90076
  73. [73] C. Rajendran, Heuristics for scheduling in flowshop with multiple objectives. Eur. J. Oper. Res. 82 (1995) 540-555. Zbl0905.90107
  74. [74] F. Riane, N. Meskens and A. Artiba, Bicriteria scheduling hybrid flowshop problems, in International Conference on Industrial Engineering and Production Managment (IEPM’97). Lyon, France (1997) 34-43. 
  75. [75] B. Roy, Méthodologie multicritère d’aide à la décision. Economica (1985). 
  76. [76] S. Sayin and S. Karabati, A bicriteria approach to the two-machine flow shop scheduling problem. Eur. J. Oper. Res. 113 (1999) 435-449. Zbl0957.90064
  77. [77] A. Seidmann, S. Panwalker and M. Smith, Optimal assignment of due-dates for a single processor scheduling problem. Internat. J. Production Res. 19 (1981) 393-399. 
  78. [78] W. Selen and D. Hott, A mixed integer goal-programming formulation of a flowshop scheduling problem. J. Oper. Res. Soc. 37 (1986) 1121-1128. Zbl0646.90041
  79. [79] T. Sen and S. Gupta, A branch-and-bound procedure to solve a bicriterion scheduling problem. IEEE Trans. 15 (1983) 84-88. 
  80. [80] T. Sen, F. Raiszadeh and P. Dileepan, A branch-and-bound approach to the bicriterion scheduling problem involving total flowtime and range of lateness. Management Sci. 34 (1988) 255-260. Zbl0638.90056MR930427
  81. [81] F. Serifoglu and G. Ulusoy, A bicriteria two-machine permutation flowshop problem. Eur. J. Oper. Res. 107 (1998) 414-430. Zbl0943.90041
  82. [82] J. Shantikumar, Scheduling n jobs on one machine to minimize the maxium tardiness with minimum number tardy. Comput. Oper. Res. 10 (1983) 255-266. MR758165
  83. [83] J. Sidney, Optimal single-machine scheduling with earliness and tardiness penalties. Oper. Res. 25 (1977) 62-69. Zbl0383.90055MR443971
  84. [84] W. Smith, Various optimizers for single-stage production. Naval Res. Logist. Quarterly 3 (1956) 59-66. MR89109
  85. [85] R. Soland, Multicriteria optimization: A general characterization of efficient solutions. Decision Sci. 10 (1979) 27-38. 
  86. [86] R. Steuer, Multiple criteria optimization: Theory, computation and application. Wiley (1986). Zbl0663.90085MR836977
  87. [87] P. Sundararaghavan and M. Ahmed, Minimizing the sum of absolute lateness in single-machine and multimachine scheduling. Naval Res. Logist. Quarterly 31 (1984) 325-333. Zbl0544.90052
  88. [88] W. Szwarc, Single-machine scheduling to minimize absolute deviation of completion times from a common due date. Naval Res. Logist. 36 (1989) 663-673. Zbl0674.90049MR1016561
  89. [89] V. T’kindt and J.-C. Billaut, L’ordonnancement multicritère. Presses de l’Université de Tours (2000). 
  90. [90] V. T’kindt, J.-C. Billaut and H. Houngbossa, A multi-criteria heuristic to solve a 2-stage hybrid flowshop scheduling problem. Eur. J. Automation (JESA) 34 (2000) 1187-1200. 
  91. [91] V. T’kindt, J.-C. Billaut, S. Laurin and O. Meslet, Un algorithme optimal polynomial pour résoudre un problème d’ordonnancement bicritère à machines parallèles, in Conference on Automation-Computers Engineering-Image-Signal (AGIS’97). Angers, France (1997) 179-184. 
  92. [92] V. T’kindt, J.-C. Billaut and C. Proust, Solving a bicriteria scheduling problem on unrelated parallel machines occuring in the glass bottle industry. Eur. J. Oper. Res. 135 (2001) 42-49. Zbl1077.90532
  93. [93] V. T’kindt, P. Richard, C. Proust and J.-C. Billaut, Resolution of a 2-machine bicriteria flowshop scheduling problem, in Int. Conference on Methods and Applications of Multicriteria Decision Making (MAMDM’97). Mons, Belgium (1997) 139-143. 
  94. [94] M. VandenAkker, H. Hoogeveen and S. VandeVelde, in 6th International Workshop on Project Management and Scheduling (PMS’98). Istanbul, Turkey (1998). 
  95. [95] L. VanWassenhove and K. Baker, A bicriterion approach to time/cost trade-offs in sequencing. Eur. J. Oper. Res. 11 (1982) 48-54. Zbl0482.90043MR671799
  96. [96] L. VanWassenhove and L. Gelders, Four solution techniques for a general one machine scheduling problem: A comparative study. Eur. J. Oper. Res. 2 (1978) 281-290. Zbl0378.90044MR503705
  97. [97] L. VanWassenhove and L. Gelders, Solving a bicriterion scheduling problem. Eur. J. Oper. Res. 4 (1980) 42-48. Zbl0418.90054MR549373
  98. [98] R. Vickson, Choosing the job sequence and processing times to minimize total processing plus flow cost on a single machine. Oper. Res. 28 (1980) 115-167. Zbl0449.90054
  99. [99] R. Vickson, Two single machine sequencing problems involving controllable job processing times. IEEE Trans. 12 (1980) 158-162. MR623328
  100. [100] A. Vignier, J.-C. Billaut and C. Proust, Solving k -stage hybrid flowshop scheduling problems, in Multiconference on Computational Engineering in Systems Applications (CESA’96), Symposium on Discrete Events and Manufacturing Systems (IEEE-SMC/IMACS). Lille, France (1996) 250-258. Zbl0960.90042
  101. [101] A. Vignier, J.-C. Billaut and C. Proust, Les flowshop hybrides : état de l’art. RAIRO: Oper. Res. 33 (1999) 117-183. Zbl0960.90042
  102. [102] S. Webster, P. Job and A. Gupta, A genetic algorithm for scheduling job families on a single machine with arbitrary earliness/tardiness penalties and an unrestricted common due date. Internat. J. Production Res. 36 (1998) 2543-2551. Zbl0953.90527
  103. [103] A. Wierzbicki, The use of reference objectives in multiobjective optimization, edited by G. Fandel and T. Gal, Multiple criteria decision making, theory and application. Springer-Verlag (1990) 468-486. Zbl0435.90098MR572784
  104. [104] J. Wilson, Alternative formulations of a flow-shop scheduling problem. J. Oper. Res. Soc. 40 (1989) 395-399. Zbl0667.90050
  105. [105] S. Zegordi, K. Itoh and T. Enkawa, A knowledgeable simulated annealing scheme for the early/tardy flow shop scheduling problem. Internat. J. Production Res. 33 (1995) 1449-1466. Zbl0909.90185

NotesEmbed ?

top

You must be logged in to post comments.

To embed these notes on your page include the following JavaScript code on your page where you want the notes to appear.

Only the controls for the widget will be shown in your chosen language. Notes will be shown in their authored language.

Tells the widget how many notes to show per page. You can cycle through additional notes using the next and previous controls.

    
                

Note: Best practice suggests putting the JavaScript code just before the closing </body> tag.