ÿþ<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE>Research: Flexible Job Shop Problems </TITLE> <META http-equiv=Content-Type content="text/html; charset=iso-8859-1"> <STYLE> A:link { COLOR: #0066cc; TEXT-DECORATION: underline } A:visited { COLOR: #0066cc; TEXT-DECORATION: underline } A:hover { COLOR: red } #SubMenu { BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; LEFT: 243px; VISIBILITY: hidden; BORDER-LEFT: #999 1px solid; WIDTH: 180px; BORDER-BOTTOM: #999 1px solid; POSITION: absolute; TOP: 85px } A.list { FONT-SIZE: 7pt; COLOR: white; FONT-FAMILY: verdana; TEXT-DECORATION: none } A.list:visited { FONT-SIZE: 7pt; COLOR: white; FONT-FAMILY: verdana; TEXT-DECORATION: none } A.list:hover { COLOR: #ffcb10; TEXT-DECORATION: none } A.wr { FONT-WEIGHT: bold; FONT-SIZE: 7pt; COLOR: #68b4ff; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none } A.wr:visited { FONT-WEIGHT: bold; FONT-SIZE: 7pt; COLOR: #68b4ff; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: none } A.wr:hover { FONT-WEIGHT: bold; FONT-SIZE: 7pt; COLOR: white; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: underline } A.dropmenutitle { FONT-WEIGHT: bold; FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: Verdana; TEXT-DECORATION: none } A.dropmenutitle:visited { FONT-WEIGHT: bold; FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: Verdana; TEXT-DECORATION: none } A.dropmenutitle:hover { FONT-WEIGHT: bold; FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: Verdana; TEXT-DECORATION: none } A.dropmenu { FONT-WEIGHT: normal; FONT-SIZE: 7.5pt; COLOR: #0066cc; FONT-FAMILY: Verdana; TEXT-DECORATION: underline } A.dropmenu:visited { FONT-WEIGHT: normal; FONT-SIZE: 7.5pt; COLOR: #0066cc; FONT-FAMILY: Verdana; TEXT-DECORATION: underline } A.dropmenu:hover { FONT-WEIGHT: normal; FONT-SIZE: 7.5pt; COLOR: red; FONT-FAMILY: Verdana; TEXT-DECORATION: underline } BODY { MARGIN: 0px } .gt0 { BORDER-RIGHT: #6487db 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #6487db 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 100%; PADDING-BOTTOM: 2px; BORDER-LEFT: #6487db 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #6487db 1px solid } .gt1 { BORDER-RIGHT: #a2b7e9 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #a2b7e9 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 100%; BACKGROUND: #5b9be8; PADDING-BOTTOM: 2px; BORDER-LEFT: #a2b7e9 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #a2b7e9 1px solid } .gtsep { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 2px; FONT: 65% Verdana; COLOR: #a2b7e9; PADDING-TOP: 0px } #leftToolbar { PADDING-RIGHT: 0px; BORDER-TOP: #FFFFFF 0px solid; PADDING-LEFT: 0px; BACKGROUND: #FFFFFF; PADDING-BOTTOM: 2px; FONT: 70% Verdana; PADDING-TOP: 2px; BORDER-BOTTOM: #FFFFFF 0px solid } #leftToolbar TD { FONT-SIZE: 100% } #leftToolbar A { FONT: 70% Verdana; COLOR: black; TEXT-DECORATION: none } #SubMenuBlock { PADDING-RIGHT: 0px; BORDER-TOP: #999 0px solid; PADDING-LEFT: 0px; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 2px; FONT: 70% Verdana; PADDING-TOP: 2px; BORDER-BOTTOM: #999 0px solid } #SubMenuBlock TD { FONT-SIZE: 100% } #SubMenuBlock A { FONT: 70% Verdana; COLOR: black; TEXT-DECORATION: none } .flyoutLink1 { BORDER-RIGHT: #4786D2 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #4786D2 1px solid; PADDING-LEFT: 6px; FONT-SIZE: 70%; BACKGROUND: #B5D8FB; PADDING-BOTTOM: 2px; BORDER-LEFT: #4786D2 1px solid; CURSOR: hand; PADDING-TOP: 2px; BORDER-BOTTOM: #4786D2 1px solid; FONT-FAMILY: Verdana, Arial, Helvetica } .flyoutLink0 { BORDER-RIGHT: #FFFFFF 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #FFFFFF 1px solid; PADDING-LEFT: 6px; FONT-SIZE: 70%; BACKGROUND: #FFFFFF; PADDING-BOTTOM: 2px; BORDER-LEFT: #FFFFFF 1px solid; CURSOR: hand; PADDING-TOP: 2px; BORDER-BOTTOM: #B5D8FB 1px solid; FONT-FAMILY: Verdana, Arial, Helvetica } .flyoutLink2 { BORDER-RIGHT: #f1f1f1 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #f1f1f1 1px solid; PADDING-LEFT: 6px; FONT-SIZE: 70%; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 2px; BORDER-LEFT: #f1f1f1 1px solid; CURSOR: hand; PADDING-TOP: 2px; BORDER-BOTTOM: #f1f1f1 1px solid; FONT-FAMILY: Verdana, Arial, Helvetica } .flyoutLink4 { BORDER-RIGHT: #999 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #999 1px solid; PADDING-LEFT: 6px; FONT-SIZE: 70%; BACKGROUND: #ccc; PADDING-BOTTOM: 2px; BORDER-LEFT: #999 1px solid; CURSOR: hand; PADDING-TOP: 2px; BORDER-BOTTOM: #999 1px solid; FONT-FAMILY: Verdana, Arial, Helvetica } .flyoutHeading { PADDING-LEFT: 2px; FONT-WEIGHT: bold; FONT-SIZE: 10pt; PADDING-BOTTOM: 4px; CURSOR: default; PADDING-TOP: 2px; FONT-FAMILY: Verdana, Arial, Helvetica; BACKGROUND-COLOR: #B5D8FB } #localToolbar { PADDING-RIGHT: 0px; BORDER-TOP: #999 1px solid; PADDING-LEFT: 0px; FONT-SIZE: 100%; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; BORDER-BOTTOM: #999 1px solid } #localToolbar TD { FONT-SIZE: 100% } #localToolbar A { FONT: 70% Verdana; COLOR: black; TEXT-DECORATION: none } .lt0 { BORDER-RIGHT: #f1f1f1 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #f1f1f1 1px solid; PADDING-LEFT: 6px; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 0px; BORDER-LEFT: #f1f1f1 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #f1f1f1 1px solid } .lt1 { BORDER-RIGHT: #999 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #999 1px solid; PADDING-LEFT: 6px; BACKGROUND: #ccc; PADDING-BOTTOM: 0px; BORDER-LEFT: #999 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #999 1px solid } .ltsep { PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 0px; FONT: 70% Verdana; COLOR: #a9a9a9; PADDING-TOP: 0px } #homePageLink { PADDING-LEFT: 2px; WIDTH: 176px } #homePageLink TD { FONT-SIZE: 100% } #homePageLink A { BORDER-RIGHT: #f1f1f1 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #f1f1f1 1px solid; DISPLAY: block; PADDING-LEFT: 6px; BACKGROUND: #f1f1f1; PADDING-BOTTOM: 2px; MARGIN: 0px; BORDER-LEFT: #f1f1f1 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #f1f1f1 1px solid; WHITE-SPACE: nowrap } #homePageLink A:hover { BORDER-RIGHT: #999 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: #999 1px solid; DISPLAY: block; PADDING-LEFT: 6px; BACKGROUND: #ccc; PADDING-BOTTOM: 2px; MARGIN: 0px; BORDER-LEFT: #999 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: #999 1px solid } #footer { BORDER-TOP: #003499 1px solid; FONT: 70% Tahoma, Helvetica; POSITION: absolute } #footer TD { FONT-SIZE: 100% } #localFooter { PADDING-LEFT: 10px; MARGIN: 0px; PADDING-TOP: 8px } #globalFooter { PADDING-LEFT: 10px; PADDING-BOTTOM: 13px; MARGIN: 0px; PADDING-TOP: 10px } #footer A { FONT-WEIGHT: normal; BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: #03c; MARGIN-RIGHT: 2px } #footer A:visited { FONT-WEIGHT: normal; BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: #03c } #footer A:hover { FONT-WEIGHT: normal; BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: #f60 } #footer NOBR { COLOR: #a9a9a9; MARGIN-RIGHT: 5px } </STYLE> <SCRIPT language=javascript type=text/javascript> <!-- function mhHover(tbl, idx, cls) { var t = document.getElementById(tbl); if (t == null) return; var d = t.getElementsByTagName("TD"); if (d == null) return; if (d.length <= idx) return; d[idx].className = cls; } //--> </SCRIPT> <!------------------------------------- STYLESHEETS FONT PROPERTIES --> <LINK href="sources/stylesheet.css" rel=stylesheet> </HEAD> <BODY text=#000000 vLink=#003399 aLink=#003399 link=#003399 bgColor=#ffffff leftMargin=0 topMargin=0 MARGINHEIGHT="0" MARGINWIDTH="0"><!--Header Start--> <SPAN id=TBDownLevelDiv> <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0> <TBODY> <TR> <TD vAlign=top rowSpan=2><IMG alt="Ha Long Bay" height=60 src="sources/space.gif" width=1 border=0></TD> <TD width="100%"> <TABLE height=22 cellSpacing=0 cellPadding=0 width="100%" border=0> <TBODY> <TR> <TD id=msviRegionIdGraphic bgColor=#ffffff></TD> <TD id=msviRegionGradient1 style="FILTER: progid:DXImagetransform.Microsoft.Gradient(startColorStr='#FFFFFF', endColorStr='#B5D8FB', gradientType='1')" width="50%"></TD> <TD id=msviRegionGradient2 style="FILTER: progid:DXImagetransform.Microsoft.Gradient(startColorStr='#B5D8FB', endColorStr='#4786D2', gradientType='1')" width="50%"></TD></TR></TBODY></TABLE></TD> <TD id=msviGlobalToolbar dir=ltr style="PADDING-RIGHT: 10px" align=right bgColor=#4786d2 height=22> &nbsp; </TD></TR> <TR vAlign=top> <TD id=msviGlobalSearch style="FILTER: progid:DXImagetransform.Microsoft.Gradient(startColorStr='#FFFFFF', endColorStr='#9DCAFB', gradientType='1'); PADDING-TOP: 16px" align=right>&nbsp;</TD> <TD width="100%"> <TABLE height=38 cellSpacing=0 cellPadding=0 width="100%" border=0> <TBODY> <TR> <TD style="PADDING-TOP: 12px; BACKGROUND-COLOR: #9dcafb" align=right> &nbsp; </TD> <TD style="BACKGROUND-COLOR: #9dcafb" align=right width="100%"> &nbsp; </TD></TR></TBODY></TABLE> </TD></TR></TBODY></TABLE></SPAN><!--Header End--> <TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0> <TBODY> <TR> <TD style="BORDER-RIGHT: 1px solid" vAlign=top borderColor=#FFFFFF width=160> <TABLE class=bodytext cellSpacing=0 cellPadding=0 width=150 border=0> <TBODY> <TR> <TD> <TABLE cellSpacing=0 cellPadding=2 width=180 border=0> <TBODY> <TR> <TD> <DIV id=leftToolbar> <TABLE cellSpacing=0 cellPadding=0 width=176 border=0> <TBODY> <TR> <TD class=flyoutHeading style="FONT-SIZE: 70%">Welcome</TD></TR> <TR> <TD class=flyoutLink0 onmouseleave="mhHover('leftToolbar', 1, 'flyoutLink0')" onmouseenter="mhHover('leftToolbar', 1, 'flyoutLink1')"><A href="index.htm">Home</A></TD></TR> <TR> <TD class=flyoutLink0 onmouseleave="mhHover('leftToolbar', 2, 'flyoutLink0')" onmouseenter="mhHover('leftToolbar', 2, 'flyoutLink1')"><A href="research.htm">Research</A></TD></TR> <TR> <TD class=flyoutLink0 onmouseleave="mhHover('leftToolbar', 3, 'flyoutLink0')" onmouseenter="mhHover('leftToolbar', 3, 'flyoutLink1')"><A href="publications.htm">Publications</A></TD></TR> <TR> <TD class=flyoutLink0 onmouseleave="mhHover('leftToolbar', 4, 'flyoutLink0')" onmouseenter="mhHover('leftToolbar', 4, 'flyoutLink1')"><A href="resources.htm">Resources</A></TD></TR> <TR> <TD class=flyoutLink0 onmouseleave="mhHover('leftToolbar', 5, 'flyoutLink0')" onmouseenter="mhHover('leftToolbar', 5, 'flyoutLink1')"><A href="upcoming_conferences.htm">Upcoming Conferences</A></TD></TR> <TR> <TD class=flyoutLink0 onmouseleave="mhHover('leftToolbar', 6, 'flyoutLink0')" onmouseenter="mhHover('leftToolbar', 6, 'flyoutLink1')"><A href="favourite_links.htm">Favourite Links</A></TD></TR> <TR> <TD class=flyoutLink0 onmouseleave="mhHover('leftToolbar', 7, 'flyoutLink0')" onmouseenter="mhHover('leftToolbar', 7, 'flyoutLink1')"><A href="misc.htm">Misc</A></TD></TR> </TBODY></TABLE></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD> <TD width=15><IMG height=5 src="sources/spacer.gif" width=15></TD> <TD vAlign=top> <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0> <TBODY> <TR> <TD class=productheadersm><IMG height=10 src="sources/spacer.gif" width=1></TD></TR> <TR> <TD class=productheadersm>Research: Flexible Job Shop Problems</TD></TR> <!--======================================================= START OF TABLE =======--> <TR> <TD class=bodytext> <HR width="100%" SIZE=1> </TD></TR> <TR> <TD class="style3"><b><a href="#Definition">Problem Definition</a> | <a href="#Benchmarks">Benchmarks</a> | <a href="#Papers">Recent Papers</a></b></TD></TR> <TR> <TD>&nbsp;</TD></TR> <TR> <TD>&nbsp;</TD></TR> <TR> <TD class=requiremetssm><a name="Definition"></a>Problem Definition</TD></TR> <TR> <TD> <P class=bodytext> <p align="justify"> Many real-world scheduling problems involve simultaneous optimization of a set of conflicting multiple objectives. In particular, the scheduling task for manufacturing is concerned with assigning n jobs to m machines so as to minimize some conflicting objective functions. When considering multiple objectives, there may not exist a unique solution that is the best for all objectives (global minimum or maximum). Alternatively, a set of solutions that are superior to the rest of solutions in the search space are the targets to achieve. A popular model that has been well studied is the job-shop scheduling problem (JSP). It is one of the hardest scheduling problems to solve for optimality and is nondeterministic polynomial time (NP) hard. In the JSP, the route of every job is fixed and every operation of a job is allocated a unique machine for processing. However, the limitation of allocating only one job to one machine can lead to a bottleneck on themost busymachines on the shop floor. In practice, the machine environment is also more complex. These busy machines are duplicated to balance their overallworkload and to reduce the flowtime of the jobs. This variation is known as the flexible JSP (FJSP). It extends the definition of the JSP by allowing an operation to be processed without interruption on one of a set of predefined machines.</p> </P></TD></TR> <TR> <TD>&nbsp;</TD></TR> <TR> <TD>&nbsp;</TD></TR> <TR> <TD class=requiremetssm><a name="Benchmarks"></a>Benchmarks</TD></TR> <TR> <TD>&nbsp;</TD></TR> <TR> <TD>The following benchmark data has been collected from Kacem <i>et al.</i> (2002) and Xia and Wu (2005)<br><br></TD></TR> <TR> <TD> <P class=bodytext> <ol> <li> <p align="justify">Kacem <i>et al.</i> (2002) data set: download <a href="dataset/ka.zip">here</a>. </p> </p> </li> <li> <p align="justify">Hurink <i>et al.</i> (1994) data set: download <a href="dataset/la.zip">here</a>.</p> </li> </ol> </P></TD></TR> <TR> <TD>&nbsp;</TD></TR> <TR> <TD>&nbsp;</TD></TR> <TR> <TD class=requiremetssm><a name="Papers"></a>Recent Papers <TR> <TD>&nbsp;</TD></TR> <TR> <TD> <P class=bodytext> <ol> <li>Li-Ning Xing , Ying-Wu Chen , Ke-Wei Yang, Multi-objective flexible job shop schedule: Design and evaluation by simulation modeling, Applied Soft Computing, v.9 n.1, p.362-376, January, 2009.<br /> &nbsp;</li> <li>Nhu Binh HO and Joc Cing TAY, "Solving Multiple-Objective Flexible Job Shop Problems by Evolution and Local Search," IEEE Transactions in Systems, Man and Cybernetics, Part C: Application and Reviews, vol. 38(5), pp. 674-685, August 2008. [<a href="papers/2008IEEE_Ho_and_Tay.pdf">PDF</a>] [<a href="papers/MOEA-GLS.pdf">download Gantt Charts</a>]<br><br></li> <li>Joc Cing TAY and Nhu Binh HO, "Evolving Dispatching Rules for solving Multi-Objective Flexible Job-Shop Problems," Computers & Industrial Engineering, vol. 54 (3), pp. 453-473, April 2008.[<a href="papers/2007CIE_Tay_and_Ho.pdf">PDF</a>]<br><br> </li> <li>F. Pezzella , G. Morganti , G. Ciaschetti, A genetic algorithm for the Flexible Job-shop Scheduling Problem, Computers and Operations Research, v.35 n.10, p.3202-3212, October, 2008.<br><br></li> <li>Nhu Binh HO, Joc Cing TAY and Edmund M-K. LAI, "An Effective Architecture for Learning and Evolving Flexible Job-Shop Schedules," European Journal of Operations Research, vol. 179 (2), pp. 316-333, June 2007.[<a href="papers/2007EJOP_Ho_et_al.pdf">PDF</a>]<br><br> </li> <li>Jie Gao , Mitsuo Gen , Linyan Sun , Xiaohui Zhao, &quot;A hybrid of genetic algorithm and bottleneck shifting for multiobjective flexible job shop scheduling problems&quot;, Computers and Industrial Engineering, v.53 n.1, p.149-162, August, 2007 <br><br> </li> <li>W. Xia and Z. Wu, &#8220;An effective hybrid optimization approach for multiobjective flexible job-shop scheduling problems,&#8221; Comput. Ind. Eng., vol. 48, pp. 409&#8211;425, 2005.<br><br></li> <li> I. Kacem, S. Hammadi, and P. Borne, &#8220;Approach by localization and multi-objective evolutionary optimization for flexible job-shop scheduling problems,&#8221; IEEE Trans. Syst. Man Cybern. C, Appl. Rev., vol. 32, no. 1, pp. 1&#8211;13, Feb. 2002.<br><br> </li> <li>I. Kacem, S. Hammadi, and P. Borne, &#8220;Pareto-optimality approach for flexible job-shop scheduling problems: Hybridization of evolutionary algorithms and fuzzy logic,&#8221; Math. Comput. Simul., vol. 60, pp. 245&#8211;276, 2002.<br><br></li> <li> L. M. Gambardella, M. Mastrolilli, A. E. Rizzoli, and M. Zaffalon, "An optimization methodology for intermodal terminal management," Journal of Intelligent Manufacturing, vol. 12, pp. 521-534, 2001. <br> <br> </li> <li> M. Mastrolilli and L. M. Gambardella, "Effective Neighborhood Functions for the Flexible Job Shop Problem," Journal of Scheduling, vol. 3, pp. 3-20, 2000. pp. 3-20, 2000. <br><br><li> P. Fortemps, C. Ost, M. Pirlot, J. Teghem, and D. Tuyttens, "Using metaheuristics for solving a production scheduling problem in a chemical firm. A case study," International Journal of Production Economics, vol. 46-47, pp. 13-26, 1996. <br><br></li> <li> J. Hurink, B. Jurisch, andM. Thole,  Tabu search for the job-shop scheduling problem with multipurposemachines, Or Spektrum, vol. 15, pp. 205 215, 1994.<br><br> </li> </ol> </P></TD></TR> <TR> <TD>&nbsp;</TD></TR> <!--======================================================= END OF TABLE =======--> </TBODY></TABLE> </TD> <TD width=15><IMG height=5 alt="" src="sources/spacer.gif" width=15></TD> <TD style="BORDER-LEFT: #000000 1px solid" vAlign=top width=220></TD></TR></TBODY></TABLE> <!---------------------------------- FOOTER START --------> <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0> <TBODY> <TR> <TD style="PADDING-RIGHT: 0px; BORDER-TOP: #FFFFFF 1px solid; PADDING-LEFT: 0px; FILTER: progid:DXImagetransform.Microsoft.Gradient(startColorStr='#ffffff', endColorStr='#B5D8FB', gradientType='1'); PADDING-BOTTOM: 20px; PADDING-TOP: 20px"> <table width='100%' border='0' cellspacing='0' cellpadding='0'> <tr> <td style='padding-left:10;'> <span class='Copyright'> This page was last updated on 04 May 2009 <br/> </span> </td> </tr> <tr> <td style='padding-left:10;' valign=top> <span class='Copyright'> Visitors: <script type="text/javascript"> var sc_project = 4637742; var sc_invisible = 0; var sc_partition = 56; var sc_click_stat = 1; var sc_security = "9bd01078"; </script> <script type="text/javascript" src="http://www.statcounter.com/counter/counter.js"></script><noscript><div class="statcounter"><a title="myspace visitor tracker" href="http://www.statcounter.com/myspace/" target="_blank"><img class="statcounter" src="http://c.statcounter.com/4637742/0/9bd01078/0/" alt="myspace visitor tracker" ></a></div></noscript> <!-- End of StatCounter Code -->&nbsp;<a target="_blank" href="http://my.statcounter.com/project/standard/stats.php?project_id=4637742&amp;guest=1">View Stats</a> </span> </td> </tr> </table> </TD></TR></TBODY></TABLE> <!---------------------------------- FOOTER END --------> </BODY></HTML>