A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science. Kush Mathur.

Size: px
Start display at page:

Download "A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science. Kush Mathur."

Transcription

1 Mathematical Models and Genetic Algorithm Approaches to Simultaneously Perform Workforce Overtime Capacity Planning and Schedule Cells A thesis presented to the faculty of the Russ College of Engineering and Technology of Ohio University In partial fulfillment of the requirements for the degree Master of Science Kush Mathur December Kush Mathur. All Rights Reserved.

2 2 This thesis titled Mathematical Models and Genetic Algorithm Approaches to Simultaneously Perform Workforce Overtime Capacity Planning and Schedule Cells by KUSH MATHUR has been approved for the Department of Industrial and Systems Engineering and the Russ College of Engineering and Technology by Gürsel A. Süer Professor of Industrial and Systems Engineering Dennis Irwin Dean, Russ College of Engineering and Technology

3 3 ABSTRACT MATHUR, KUSH, M.S., December 2012, Industrial and Systems Engineering Mathematical Models and Genetic Algorithm Approaches to Simultaneously Perform Workforce Overtime Capacity Planning and Schedule Cells Director of Thesis: Gürsel A. Süer The problem studied in this thesis was observed in an actual textile company. The problem is more complex than usual scheduling problems in that we compute overtime requirements and make scheduling decisions simultaneously. Since having tardy jobs is not desirable, overtime work is allowed to minimize the number tardy jobs or total tardiness. Two different problems are considered; Problem1, to maximize the total profits by delivering jobs on or before time. The tardy jobs in this case are considered as lost sales. Problem2, to minimize the total tardiness and overtime costs. In this case tardy jobs are delivered with associated tardiness penalty costs. In problem1, various mathematical models are presented reflecting different overtime workforce hiring practices. To solve the same problem for one particular hiring policy, a Genetic Algorithm (GA) approach is also discussed. GA includes some newly proposed mutation operators, dynamic and twin. The proposed twin mutation strategy produced the best results in all problem sizes. Mathematical Model 2 was the best mathematical model with respect to both profit and execution time. This model considered partial overtime periods and also allowed different overtime periods on cells. In problem2, a mathematical model is presented to solve this complex problem. Experimentation has been carried out using three different problem

4 types with five instances each based on the data collected from the company. For most problems, the mathematical model gave results in seconds. 4

5 5 ACKNOWLEDGMENTS I would like to express my gratitude to my advisor, Dr. Gürsel A. Süer, whose expert knowledge, subject understanding and patience, added considerably towards my graduate studies experience. I appreciate his continuous support and motivation during my research. I would like to thank the other members of my committee, Dr. Dušan N. Šormaz, Dr. Tao Yuan and Dr. Faizul Huq for the assistance they provided at all levels of my research. I would also like to thank my father (Dr. Mahra Mathur), mother (Sunita Mathur), brother (Yash Mathur) and my best fri (Siddharth Modi) for the support they provided me through my entire life and for having unconditional love, support and strong belief on me.

6 6 TABLE OF CONTENTS Page ABSTRACT... 3 ACKNOWLEDGMENTS... 5 LIST OF TABLES... 9 LIST OF FIGURES CHAPTER 1: INTRODUCTION Group Technology Scheduling Function Cellular Manufacturing System Capacity Planning in CMS Overtime Decision Making Solution Approaches Optimizing Approaches Heuristics Meta-Heuristics Hybrid Approaches Computer Programming Language MATLAB Mathematical Modeling Genetic Algorithms Objective of the Thesis Justification of the Thesis CHAPTER 2: LITERATURE REVIEW CHAPTER 3: DEFINITION OF PROBLEMS STUDIED Problem 1: To Maximize Total Profits Problem 2: To Minimize Total Tardiness and Overtime Costs CHAPTER 4: THE PROPOSED METHODOLOGY Proposed Methodology for Problem Integer Programming Formulation or Mathematical Modeling... 33

7 4.1.2 Genetic Algorithm Proposed Methodology for Problem Integer Programming Formulation or Mathematical Modeling CHAPTER 5: A NUMERICAL ILLUSTRATION Numerical Illustration of Problem Solution by Mathematical Model Solution by Mathematical Model Solution by Mathematical Model Solution by Mathematical Model Solution by developed GA application Numerical Illustration of Problem Solution by Mathematical Model CHAPTER 6: EXPERIMENTATION RESULTS Experimentation Results of Problem Results of Mathematical Model Results of Mathematical Model Results of Mathematical Model Results of Mathematical Model Comparison of Mathematical Models Mathematical Model 3 VS GA for Problem Preliminary comparison of Mathematical Model 3 and proposed GA application Statistical Analysis of GA approaches More experimentation with GA Experimentation Results of Problem CHAPTER 7: CONCLUSIONS REFERENCES APPENDIX A: DATA APPENDIX B: MATHEMATICAL MODEL 1 FOR PROBLEM

8 APPENDIX C: MATHEMATICAL MODEL 2 FOR PROBLEM APPENDIX D: MATHEMATICAL MODEL 3 FOR PROBLEM APPENDIX E: MATHEMATICAL MODEL 3 WITH TIME LIMIT FOR PROBLEM APPENDIX F: MATHEMATICAL MODEL 4 FOR PROBLEM APPENDIX G: MATHEMATICAL MODEL FOR PROBLEM APPENDIX H: GENETIC ALGORITHM 1 AND 2 MATLAB CODE FOR PROBLEM APPENDIX I: GENETIC ALGORITHM 3 AND 4 MATLAB CODE FOR PROBLEM

9 9 LIST OF TABLES Page Table job 2-cell example Table 2. Early/Tardy jobs computation for without-overtime option Table 3. Early/Tardy jobs computation with overtime work option Table 4. Overtime decision Table 5. Characteristics of Mathematical models over Overtime decision variables Table 6. Sequence of jobs assigned to each cell for model Table 7. Overtime decisions for model Table 8. Detailed computations for model 1 solution Table 9. Sequence of jobs assigned to each cell for model Table 10. Overtime decisions for model Table 11. Detailed computations for model 2 solution Table 12. Sequence of jobs assigned to each cell for model Table 13. Overtime decisions for model Table 14. Detailed computations for model 3 solution Table 15. Sequence of jobs assigned to each cell for model Table 16. Overtime decisions for model Table 17. Detailed computations for model 4 solution Table 18. Overtime decision Table 19. Early/Tardy jobs computation Table job 1-cell example Table 21. Detailed computations for Mathematical Model solution Table 22. Mathematical Model 1 results Table 23. Mathematical Model 2 results Table 24. Mathematical Model 3 results Table 25. Mathematical Model 4 results Table 26. Performance comparison between Mathematical Models Table 27. Deviation in objective function value Table 28. Performance evaluation of GA 1 and GA 2 strategies for problems 1 and Table 29. Performance evaluation of GA 3 and GA 4 strategies for problems 1 and Table 30. Statistical Analysis results Table 31. Performance evaluation of GA 4 strategy for problems 3, 4, 5, 6, 7 and Table 32. Mathematical Model results of Problem

10 10 LIST OF FIGURES Page Figure 1. Traditional Planning Process Figure 2. Proposed Planning Process Figure 3. Gantt chart without-overtime work option in problem Figure 4. Gantt chart with overtime-work option in problem Figure 5. An example chromosome representation Figure 6. Crossover strategies (i) & (ii) Figure 7. Mutation strategies (i) & (ii) Figure 8. Gantt chart for model 1 solution Figure 9. Gantt chart for model 2 solution Figure 10. Gantt chart for model 3 solution Figure 11. Gantt chart for model 4 solution Figure 12. An example chromosome Figure 13. Gantt chart for the GA example case Figure 14. Gantt chart for Mathematical Model solution... 65

11 11 CHAPTER 1: INTRODUCTION This chapter describes Group Technology, Scheduling Function, Cellular Manufacturing System (CMS), Capacity Planning in CMS, Overtime Decision Making, Solution Approaches, Computer Programming Language, Mathematical Modeling, Genetic Algorithms (GA), Thesis objective, and Justification. 1.1 Group Technology Group Technology (GT) is a manufacturing philosophy which exploits the similarities among the manufacturing parts to improve the performance of manufacturing system by reducing the material handling cost, throughput time, and work-in-process inventory. The most similar products are grouped and processed together on manufacturing cells. The grouped products are treated as a product family. 1.2 Scheduling Function Scheduling is one of the main and complicated tasks performed in a manufacturing system. As the number of products and number of cells grows, the possible arrangements grow exponentially. Therefore, most scheduling problems are classified as NP-hard (Non-deterministic polynomial time hard) problems (Hoogeveen, Lenstra and Veltman, 1996) [1]. Scheduling is done to determine the sequence of products, their start times and completion times on resources such as machines and cells. 1.3 Cellular Manufacturing System According to Askin and Standridge, 1993) [2], CMS can be specified as an application of GT to the manufacturing system design. It promises high productivity of low or moderate demand products with high or moderate variety of products. CMS

12 12 consists of manufacturing cell(s) with dissimilar machines needed to produce part family/families. For each part family, required machines are arranged together to form a machine cell or a manufacturing cell and most family members can be manufactured within the cell. This kind of layout design problem is referred to as the cellular manufacturing problem. Generally, the products grouped together form a product family. CMS provides tremous benefits for the manufacturing system including lower setup times, smaller lot sizes, reduced lead time, work-in-process inventory, space requirements, material handling and setup, smaller flow time, improved visibility and quality, and simplified scheduling (Suresh and Kay, 1998) [3]. CMS also simplifies planning and control of various tasks floating on the shop floor. Cells are ideally equipped with all of the machines needed to produce a product or product family, and it may have flow-shop (uni-directional flow) or job-shop (multidirectional flow) configuration. The two main aspects in CMS with respect to products assignment to the cell category are Cell Loading, and Cell Scheduling. Cell Loading is a decision making activity for planning the production in CMS with multiple manufacturing cells. The products are assigned to manufacturing cells based on the demands of products, their due dates, process times, and the production capacity of the manufacturing cells (Süer, Saiz, Dagli and Gonzalez, 1995, Süer, Saiz and Gonzalez, 1999) [4, 5]. Cell Scheduling, on the other hand, is a decision making activity for sequencing the products in each cell in CMS. It also includes start time, and completion time of the products in the cell. After having the information about the completion time of all the

13 13 products, one can compute the tardiness or earliness of each product based on their due dates. The problem studied was inspired from an actual textile company. Many textile companies also use cells to enjoy the benefits the cells have to offer. Machines used in cells in the textile industry are usually limited to different types of sewing machines such as overlock machines, stitch machines, and automatic flat lock sewing machines. It is easy to re-configure cells in the textile industry once products with different requirements are produced as machines and work benches are easier to move around. 1.4 Capacity Planning in CMS Capacity planning, as the name suggests, is the planning to determine the production capacity needed in a manufacturing firm. However, capacity requirements changes as the demand varies. In CMS, capacity can be varied by changing the number of cells, number of machines, number of regular workers, number of s, and also by allowing overtime work. Generally, capacity planning is done before scheduling and remains fixed during scheduling. However, if the analyst determines that scheduling results are not satisfactory, then capacity levels are modified and scheduling is performed again (as shown in Figure 1). Süer, Arikan and Babayiğit, 2008, 2009 [6, 7], have done some work where they address both capacity planning and scheduling simultaneously. There capacity planning includes determining the number of cells to open. In this thesis, both capacity planning and scheduling are also addressed simultaneously. The difference is that, in this study, the capacity planning includes overtime decisions (as shown in Figure 2).

14 14 Production Planning Capacity Planning Modify Capacity Levels Scheduling NO Satisfactory YES Done Figure 1. Traditional Planning Process

15 15 Production Planning Capacity Planning (Overtime Decisions) Scheduling Figure 2. Proposed Planning Process 1.5 Overtime Decision Making The decision making on overtime is about when and where there is a need for overtime to adjust the overall capacity in order to achieve the desired outcome. When refers to the day and overtime is needed. Where informs us about the particular manufacturing cell that requires the overtime. Overtimes are of two types: week (Saturday and Sunday) overtime and weekday overtime. This distinction is important in that their costs usually vary. Week overtimes are usually more expensive than weekday overtimes because of the change in hourly workforce rate (US Department of Labor, 2012) [8]. Therefore, each overtime decision comes with a cost associated with it. Overtime is directly proportional to the capacity of the system. It is important to mention that if overtime is needed week after week, this may be an indicator that the organization needs to re-assess capacity requirements and adjust regular capacity levels.

16 Solution Approaches There are different solution approaches available to solve complex problems. These approaches can be categorized as: Optimizing Approaches, Heuristics, Meta- Heuristics, and Hybrid Approaches Optimizing Approaches The optimizing approaches guarantee the optimal solution, but they usually take a substantial amount of computation time because they have to search for the optimal solution in large search space. Most of the scheduling problems fall into NP-hard category (Hoogeveen, et al., 1996) [1]. This means that solution space grows exponentially with an increase in the number of jobs and machines. Some of the optimization approaches use the branch and bound technique. This technique works in such a way that it will not explore the branches of a node if the node branches will not influence the final result of the problem. Other optimization approaches include Linear Programming, Integer Programming, Mixed Integer Programming, Nonlinear Programming, Stochastic Programming and Dynamic Programming. In this thesis, Mixed Integer Linear Programming Models have been used for obtaining the optimal solutions Heuristics The heuristic approaches are known for finding fast solutions to complex problems. They do not guarantee the optimal solution, but they are able to find nearoptimal or even optimal solutions. The heuristic approaches are mostly problem specific because they work on very basic and simple strategies particular to the specified problem, and they produce a fast and good solution to the particular problem. Any attempt to

17 17 generalize the heuristic approach to solve more cases would make it too complicated to produce fast results Meta-Heuristics The Meta-Heuristic approaches are also known for finding fast solutions. They also do not guarantee the optimal solution, but they are able to find near-optimal or optimal solutions, similar to heuristic approaches. The Meta-Heuristic approaches, however, provide general purpose solutions, contrary to the heuristic approaches. Therefore, they can be applied to many different problems with minor modifications. GA, Tabu Search (TS), Simulated Annealing (SA), Ant colony optimization, etc. are some of the powerful and well-known Meta-Heuristics approaches. In this thesis, GA is used to solve one of the scheduling problems Hybrid Approaches Hybrid Approaches becoming popular very fast. These kinds of approaches deal with both optimizing and/or different Meta-Heuristic approaches to reach to the final solution. There are many different ways one can integrate different Meta-Heuristic approaches with local optimizers, or integrate different Meta-Heuristic approaches among themselves to make it a Hybrid approach. For example, Tabu Search and GA in series and/or parallel can be used to reach a near-optimal solution even faster. The output of Tabu Search can act as input to GA after some runs, and this will further help the GA search to get to the near-optimal or even optimal solution faster. In Hybrid approaches, the big problems can be divided into small problems, and local optimization can be performed for each small part. This might not guarantee the overall optimal solution, but

18 18 it can act like a good heuristic that produce near-optimal solution in less computational time. 1.7 Computer Programming Language MATLAB 7.12 MATLAB is one of the popular and widely used software tools. MATLAB has been developed by MathWorks, Inc. In this thesis, GA software application has been coded by using MATLAB 7.12 array programming language. MATLAB is very rich in vectors and matrices functionalities. The developed application allows user-defined parameter values such as number of cells, number of products, cost and duration of weekday and week overtime, revenue from each product, due date of each product, and processing time of each product. The developed application works to maximize profit. The developed application is flexible enough to specify different values and strategies for parameters of GA operations. These GA operations are discussed briefly in later sections. 1.8 Mathematical Modeling Mathematical Models consist of an objective function, variables and constraints. They find the optimal solution based on the objective function by satisfying all the given constraints. In this thesis, Mathematical Models are developed and executed by using IBM ILOG OPL 6.3 software tool. Since Mathematical Models are slow and often run out of memory in big problems, there is a need to develop fast procedures such as GA. The objectives of all the Mathematical Models developed in this study are either to maximize profit or to minimize costs based on the problem tackled. Mathematical

19 19 Models are also used for comparison with the developed GA software application mainly to evaluate the performance of GA application. 1.9 Genetic Algorithms GA is a well-known Meta-Heuristic search that mimics the process of natural evolution science. A collection of genes is called chromosome. In GA, a chromosome represents a complete valid solution of the problem. It may not be optimal, but it must be a valid solution to the problem. The idea of GA is to make a pool of possibly different and valid solutions and allow them to compete among each other on the basis of their fitness function (objective function) value. The better the solution, the higher the value of fitness function of a chromosome for a maximization type problem. GA can be divided into four steps: 1) Initial population, 2) Crossover, 3) Mutation, and 4) Selection. Step one is to make a pool of valid solutions randomly equivalent to desired population size. Step two is to select partners and allow them to perform crossover to produce new offspring. Step three is to mutate some genes of the offspring chromosome to give them some uniqueness of their own. The final step is to select the best fit chromosome from the pool of parents and offspring chromosomes and allow them to advance to the next generation. These steps are repeated up to the desired numbers of generations and at the the best fit chromosome is selected (solution of the problem). This Meta-Heuristic technique is very powerful and computationally fast. Though it does not guarantee the optimal solution, it can find a near-optimal solution even for big and complex problems in a short computational time. There are many different strategies on crossover, mutation

20 20 and selection operators in GA. Later in the proposed methodology, a new strategy for mutation is developed and discussed in detail Objective of the Thesis The problem discussed in this thesis was inspired from an actual textile company. The problem is more complex than usual scheduling problems in that we compute overtime requirements and make scheduling decisions simultaneously. Since having late (or tardy) jobs is not desirable, overtime is allowed to; Problem 1) maximize the profits generated by on-time delivered products, and Problem 2) minimize the total tardiness penalty costs where tardiness is allowed but a penalty is applied. However, overtime also costs to the company and therefore there is a need to balance overtime and tardiness costs. Four mathematical models are presented to solve problem 1 and one mathematical model to solve problem 2. Different mathematical models for problem 1 reflect different overtime workforce hiring policies practiced by the industries. A GA approach is proposed to solve one of the mathematical models. A comparison between GA and Mathematical Model is done. GA includes some newly proposed mutation operators, dynamic and twin. Experimentation has been carried out using different problem sizes with five data instances each based on the data collected from the above mentioned company Justification of the Thesis The uniqueness of the problem studied in this thesis is that we require computing workforce overtime requirements and making scheduling decisions simultaneously to

21 21 maximize profit generated from delivered products and to minimize total tardiness and overtime costs. The review of the literature shows that this problem has not been addressed before. Therefore, it was taken as the research topic in this thesis. It is obvious that by increasing the capacity of the system by allowing overtime work, more products will be completed before their due dates and hence revenue will increase and tardiness penalty costs will decrease. On the other hand, overtime will bring additional costs as well. The thesis attempts to find the optimal amount of overtime work that will 1) maximize profit to be obtained from on-time delivery of products for problem 1, and 2) minimize total products tardiness penalty and overtime related costs for problem 2.

22 22 CHAPTER 2: LITERATURE REVIEW Several researchers focused on cell loading problem. Among them, Süer, Saiz, Dagli and Gonzalez, 1995 [4] developed several simple cell loading rules for connected and indepent cells, respectively. They have tested the performance of these rules against four different performance measures, namely number of tardy jobs, maximum tardiness, total tardiness and utilization. A total of 48 rule combinations were compared and no single combination dominated the others. It was also observed that n T, T max and TT behaved similarly. In a later study, Süer, Saiz and Gonzalez, 1999 [5] analyzed the same problem for indepent cells case and found similar results. Süer, Vazquez and Cortes, 2005 [9] developed a hybrid approach of Genetic Algorithms (GA) and local optimizer to minimize number of tardy jobs in a multi-cell environment. In the same study, they have used three different GA approaches; basic GA approach, hybrid GA with local optimizers and finally GA with learning feature. Hybrid GA outperformed basic GA, however, GA with learning improved solutions only marginally. Süer, Arikan and Babayiğit, 2008, 2009 [6, 7] studied cell loading subject to manpower restrictions and developed fuzzy mathematical models to minimize number of tardy jobs and total manpower levels. They have used various fuzzy operators and identified fuzzy operators that can find non-dominated solutions. In their work, number of cells and crew size for each cell were identified in addition to product sequencing decisions. There are a number of works reported where both cell loading and product sequencing tasks are carried out. Süer and Dagli, 2005 [10] and Süer, Cosner and Patten, 2009 [11] discussed models to minimize makespan, machine requirements and manpower

23 23 transfers. These works first assigned products to cells to minimize makespan and then resequenced the products to minimize manpower requirements. Yarimoglu, 2009 [12] developed a mathematical model and a genetic algorithm to minimize manpower shortages in cells with synchronized material flow. Synchronized material flow allowed material transfers between stages at regular intervals (e.g., 4 hour in his case). Some other researchers studied the sequencing of families in a single cell or machine. Nakamura, Yoshida and Hitomi, 1978 [13] considered sequence-indepent group setup in his work and his objective was to minimize total tardiness. Hitomi and Ham, 1976 [14] also considered sequence-indepent setup times for a single machine scheduling problem. Ham, Hitomi, Nakamura and Yoshida, 1979 [15] worked on minimizing total flow time keeping minimum number of tardy jobs by developing a branch-and-bound algorithm for the optimal group and job sequence. Pan and Wu, 1998 [16] focuses on minimizing mean flow time of jobs subject to due date satisfaction in a single machine scheduling problem. The jobs were categorized into groups without family splitting. Gupta and Chantaravarapan, 2008 [17] worked on minimizing total tardiness with no family splitting allowed by considering group technology philosophy in single machine scheduling problem. In the problem, individual due dates and indepent family setup times are considered. Süer and Mese, 2011 [18] studied the same problem but allowed family splitting as it would be beneficial in many cases. Few researchers focused on the area of workforce overtime capacities problems and scheduling. Hanssmann and Hess, 1960 [19] presented a linear programming formulation to solve production and employment scheduling problem. The authors

24 24 converted the quadratic nature of cost functions into a linear cost function formulation using a real number property. The complexity was handled conveniently by an IBM 650 computer. Authors also discussed about demand uncertainty and introduced the uncertainty into the model. Holloway and Nelson, 1974 [20] wrote a classical paper where the trade-off curves relating overtime and total tardiness was shown. In this paper, author proposed a multi-pass heuristic scheduling procedure called HSP, which was designed to minimize the maximum tardiness value by generating different schedules iteratively. HSP was widely used to generate a schedule which has minimum value of maximum tardiness; and to generate another schedule which has minimum total overtime required to deliver all jobs on or before due time. A crude and refined linear approximation curves are generated by the authors to depict the trade-off between overtime and total tardiness in different schedules. Authors also discussed a variation into problem by allowing a dynamic job shop scheduling. In my research study, this paper plays an important role by defining the trade-off relationship between an overtime and total tardiness. This paper gave me an idea to exploit the unique relationship of overtime and job tardiness in a manufacturing environment. Yura, 1994 [21] addressed a unique scheduling problem which tries to satisfy the worker s preferences under due-date constraints. In the paper, author discussed two scheduling models. First model is to satisfy worker s day-off preferences without overtime. Second model is to minimize the total overtime done by the worker to deliver all the jobs on or before due dates by satisfying workers day-off preferences.

25 25 A number of researchers focused on shoe manufacturing industry and reported various results. These works heavily focused on scheduling jobs on the Rotary Injection Molding Machines. Süer. Santos and Vazquez, 1999 [22] worked on minimizing makespan by developing a three-phase Heuristic Procedure. Süer, Subramanian and Huang, 2009 [23] further discussed scheduling and cell loading problem and proposed mathematical models and some heuristic procedures to solve the problem. The objective was to minimize makespan and unlimited availability of the molds was assumed. Later, Huang, Süer and Urs, 2011 [24] introduced the limited mold availability into the problem for the same objective. Some of the researcher focuses on the areas of total tardiness and cell loading. Du and Leung, 1990 [25] focused on minimizing Total Tardiness on a single machine. Their research proved that the problem is NP-hard. Alidee and Rosa, 1997 [26] solve total tardiness problem for big problems by developing heuristic algorithms. They have considered both weighted and un-weighted versions of the problem in their study. Kanet and Li, 2004 [27] worked on minimizing tardiness and proposed another weighted approach. A number of researchers studied complex parallel machine scheduling problem. Among those researches, Bilge et al., 2002 [28] proposed a Tabu Search (TS) procedure to solve the problem where each job has its own arrival times, non-identical due dates and sequence-depent setups. Hu, 2006 [29] developed heuristics for both job scheduling and worker assignment to solve Total Tardiness with worker assignment for parallel machine problem. Aktürk and Wilson, 1998 [30] worked on minimizing the variable production cost and proposed a cell loading hierarchical approach. Süer and Bera, 1998

26 26 [31] studied a labor intensive cells and analyzed the cell loading and cell size determination simultaneously. In this study various mathematical models are developed. Kamat, 2007 [32] developed a math model to load cells and identify cell sizes to minimize total tardiness. The most important feature of the scheduling problem studied in this study is that both overtime decisions and detailed scheduling tasks including cell loading and product sequencing are performed simultaneously. Even though there were previous works that considered capacity and scheduling decisions simultaneously (see Süer, Arikan and Babayiğit, 2008, 2009 [6, 7]), literature review reveals that there has been couple of works that considers both overtime and scheduling decisions simultaneously (Süer, Mathur and Ji, 2011 [33]; Mathur and Süer, 2012 [34]). Süer, Mathur and Ji, 2011 [33] proposed a mathematical model and GA approach to load cells and make overtime decisions in the case when tardy jobs are assumed as lost sales. In their study, due date equations are modified to allow for overtime work. Mathur and Süer, 2012 [34] proposed a mathematical model to minimize the total tardiness penalty and overtime costs by simultaneously making decision on scheduling of products and overtime. In the paper, authors delivered the tardy products but incurred a tardiness penalty cost. The model requires that tardiness of each job is identified and the model also considers overtime costs.

27 27 CHAPTER 3: DEFINITION OF PROBLEMS STUDIED The problems studied in this research were inspired from an actual textile company. In every planning period (week) there are n jobs to complete using m number of identical cells. Manufacturing cells are popular in the manufacturing world. The benefits of cellular manufacturing are lower setup times, smaller lot sizes, lower work-inprocess inventory and less space, reduced material handling, and shorter flowtime, simpler work flow (Suresh and Kay, 1998 [3]). Cellular Manufacturing also simplifies planning and control of various tasks floating on the shop floor. Cells are ideally equipped with all of the machines needed to produce a product or product family (indepent) and usually follow uni-directional flow (flowshop). Many textile companies also use cells to enjoy the benefits the cells have to offer. Machines used in cells in textile industry are usually limited to different types of sewing machines such as overlock machines, stitch machines, automatic flat lock sewing machines. In this study, each cell can perform eight operations. The operations performed are briefly discussed in this paragraph. The first operation is cutting and the next three operations require sewing machines. The operations that follow are finishing, ironing, cleaning and packing. Operations 2 and 4 each were performed on two identical machines as they were the slowest operations. It is easy to re-configure cells in the textile industry once products with different requirements are produced as machines and work benches are easier to move around. In this research, it is assumed that each job has its own individual due date. The modeling gets complicated in that we need to decide additional capacity requirements at

28 28 the same time we make scheduling decisions. Two problems are targeted in this study related to above mentioned scenario. The Gantt charts drawn will give the schedule for products in each cell. The number above each product shows the completion times of the products in each cell. If the product has been shown more than once in any cell, it means that the product starts and finishes on different days and/or to indicate the time break during the processing of the product due to closing of an in-between overtime. The blue color shaded bar shows the unused capacity, the grey color bar shows the closed overtime s, and the light red color bar shows if exist the partially closed overtime s. 3.1 Problem 1: To Maximize Total Profits Any job that cannot be completed by its due date becomes tardy and is assumed lost sales. Having tardy jobs is not desirable as this adversely affects relationships with customers and thus reputation of the firm in the long term. As a result, we allow overtime to minimize the number of tardy jobs. Overtime decisions are made for s on a daily basis. Overtime can be done during the weeks (Saturday and Sunday) as well as weekdays. Week overtime is done prior to upcoming week. It is also assumed that week overtime cost is higher than weekday overtime cost. The overall objective is to maximize profits. Tardy jobs are avoided as long as profit to be made is higher than the corresponding production/overtime costs. There are limitations on weekday and week overtime capacities. In this problem, the week overtime duration considered is 8 hours, the weekday overtime duration considered is 3 hours, and the number of s considered is 2. The week overtime s are back to back whereas the weekday

29 29 overtime s are before the corresponding regular s. Models can easily be modified to accommodate 1. However, if the company wants to adopt a 3- policy, then weekday overtime option has to be eliminated and overtime can only be done during weeks. Lot splitting is not allowed in this study. Four different Mathematical Models are proposed based on the current overtime workforce handling practices followed by the industries. Later, their performance is compared. A GA application is also developed and discussed later in detail in Chapter 4 on one fixed overtime workforce handling practice. Finally, the performance of GA is compared with the respective Mathematical Model. A numerical example is described in Figures 3 and 4 to illustrate the problem studied. A 10-job and 2-cell example is used for this purpose shown in Table 1. Figure 3 shows the Gantt chart without overtime work option and Table 2 shows the Early/Tardy jobs computation for without overtime option and it can be seen that Job 10 is tardy due to lack of enough capacity. Whereas, by performing Overtime on Tuesday 1 on Cell 1 (seen in Figure 4 and Table 4), Job 10 can be saved. Figure 4, Table 3 and Table 4 show the Gantt chart, the Early/Tardy jobs computation and the overtime decision making in the case when overtime work option is available, respectively. Table job 2-cell example

30 30 Cell 1 Cell 2 Monday Tuesday Wednesday Thursday 1st Reg. 2nd Reg. 1st Reg. 2nd Reg. 1st Reg. 2nd Reg. 1st Reg. 2nd Reg st Reg. Friday 2nd Reg. Figure 3. Gantt chart without-overtime work option in problem 1 Table 2. Early/Tardy jobs computation for without-overtime option Jobs Processing time Due time Completion Time (C i ) Sales Price (s i ) in $ Early/Tardy Early Early Early Early Early Early Early Early Early Tardy

31 Cell 1 1st OT Saturday Sunday Monday Tuesday Wednesday 2nd OT 1st OT 2nd OT 1st OT 1st Reg. 2nd OT 2nd Reg. 1st OT 1st Reg nd OT 2nd Reg. 1st OT 1st Reg. 2nd OT 2nd Reg. 1st OT 1st Reg. Thursday 2nd OT 2nd Reg. 1st OT 1st Reg. Friday 2nd OT 2nd Reg. Cell Figure 4. Gantt chart with overtime-work option in problem 1 Jobs Due Day Table 3. Early/Tardy jobs computation with overtime work option Due Processing time Due time D i * Completion Time (C i ) Sales Price (s i ) in $ Early/Tardy 1 Monday Early 2 Monday Early 3 Monday Early 4 Monday Early 5 Tuesday Early 6 Tuesday Early 7 Tuesday Early 8 Tuesday Early 9 Tuesday Early 10 Tuesday Early

32 Table 4. Overtime decision 3.2 Problem 2: To Minimize Total Tardiness and Overtime Costs Any job that cannot be completed by its due time becomes tardy and deping on the tardiness, a tardiness penalty cost is incurred. Having tardiness in jobs is not desirable as this seriously affects the company s reputation. As a result, we allow overtime to minimize the total tardiness penalty cost. However, working overtime also costs a firm. Overall objective is to minimize the total cost of tardiness penalty cost and overtime cost. Tardiness is avoided as long as the saved cost is higher than the corresponding overtime cost. In this problem, the weekday overtime duration is 3 hours, the weekday regular duration is 8 hours, and only one is considered. The weekday overtime takes place before the corresponding regular. Lot splitting is not allowed in this study. In this thesis, a mathematical model is proposed to solve this problem.

33 33 CHAPTER 4: THE PROPOSED METHODOLOGY This chapter introduces and discusses the proposed methodologies developed in this study. As a solution technique, an optimizing approach is used to solve both of the problems. A Meta-Heuristic procedure is also developed to solve Problem 1 and its performance is compared with the optimization approach in the study. 4.1 Proposed Methodology for Problem 1 Four different Mathematical Models are proposed based on the current overtime workforce handling policies then their performance is compared. A GA application is also developed and discussed in this chapter for one of the policies. The performance of GA is compared with the respective Mathematical Model as well Integer Programming Formulation or Mathematical Modeling Maxwell, 1970 [35] developed a mathematical model to minimize number of tardy jobs on a single machine. Later, Süer, Pico and Santiago, 1997 [36] exted this model for parallel machine scheduling. In a later study, Süer, Arikan and Babayiğit, 2008, 2009 [6, 7] adapted this model to cell loading problem where jobs are assigned to cells and number of cells and manpower levels for each cell are identified simultaneously. Süer, Mathur and Ji, 2011 [33] exted these models where due date equations are modified to allow for overtime decisions. In the models proposed in this research, the due dates of jobs are modified in a similar way to meet different working conditions. This modification allows us to consider overtime decisions along with cell loading and scheduling. The main logic behind this formulation is that the due time for a job is exted (increased) by the total overtime hours planned before this job is due.

34 34 Assume that a job is due Wednesday noon. Assuming only one work, then the due time for this job is calculated as 20 hours (8 hours available on Monday, 8 hours available on Tuesday and 4 hours available on Wednesday). Assume that mathematical model proposes to do overtime both on Monday and Tuesday, 3 hours each day. Then the due time of this job becomes 26 hours (=20+3+3). The proposed mathematical models accommodate this possibility in the formulation. The objective is to maximize profit. All of the jobs should be ordered by the Earliest Due Date (EDD) before model is run (d [1] d [2] d [3] d [n] ). Similarly p [i] is the processing time of the job in the i th order. It is also assumed that week overtime work is done prior to planning week. In this section, four different integer programming formulations are introduced. Each one of them is based on the observation on overtime workforce handling practices followed by the industries. Indices: i j t q job index cell index day index index Parameters: n m p [i] d [i] number of jobs number of identical cells processing time of job in i th order (in hours) due time of job in i th order (in hours)

35 35 [i] day [i] s [i] cwd cwe day i otwd otwe in which i th job is due day in which i th job is due sales price of job in i th order weekday overtime cost per week overtime cost per due day of job i deping on due time length of weekday overtime (3 hours) length of week overtime (8 hours) Mathematical Model 1 The unique feature about this model is that it allows different weekday and week overtime decisions with respect to different cells and also workers are paid for the complete period of overtime slot even if they finish the work early in the overtime period. The model is capable of determining the schedule of jobs on each cell as well as handling the capacity of each cell by making overtime decisions. The objective is to maximize the net profit as shown in equation (1). This is computed by subtracting all week and weekday overtime costs from the sales revenue of the products finished by their due time. Weekday overtime can be done on any of the five working days and week overtime can be done on Saturday and/or Sunday. The first set of constraints (equation 2) enforce that early jobs are completed before their due times (original or exted). The second set of constraints (equation 3) guarantees that a job can assigned to at most one cell.

36 36 Decision Variables: x [i]j ot tjq 1 if i th job is assigned to cell j, 0 otherwise 1 if there is overtime on day t in q of cell j, 0 otherwise Objective Function: Maximize z = cwd * cwe* (1) Subject to: d [k] + otwd * + otwe * (2) k = 1, 2 n, j = 1, 2 m 1 i = 1, 2 n (3) x [i]j, ot tjq ϵ (0, 1) Mathematical Model 2 Model 2 is similar to Model 1 in that it allows different weekday and week overtime work with respect to different cells. However, the difference between two models comes from the practice that overtime workforces can be hired and paid for the fraction of the overtime slot in this Model. In this model, overtime decision variable is modified as given below. ot tjq fraction of overtime to do on day t in q of cell j, between 0 and Mathematical Model 3 The model has been first proposed by Süer, Mathur and Ji, 2011 [33]. The unique feature about this model is that a uniform overtime strategy is applied, i.e., all of the cells get to do the same overtime whenever an overtime decision is made. This may be

37 37 important in some companies where all the workers are given the same opportunity to do overtime and gain additional income. Overtime workforces are hired and paid for the complete period of overtime slot on all cells. In this case, overtime decision variable is simplified as shown below. ot tq 1 if there is overtime on day t in q, 0 otherwise The objective is to maximize the net profit as shown in equation (4). The first set of constraints (equation 5) enforce that early jobs are completed before their due times (original or exted). The second set of constraints (equation 6) guarantees that a job can assigned to at most one cell. Objective Function: Maximize z = cwd*m* cwe*m* (4) Subject to: d [k] + otwd * + otwe * (5) k = 1, 2 n, j = 1, 2 m 1 i = 1, 2 n (6) x [i]j, ot tq ϵ (0, 1) Mathematical Model 4 Model 4 is similar to Model 3 in that all of the cells get to do the same overtime whenever an overtime decision is made. However, the difference between two models is that overtime workforces can be hired and paid for the fraction of the overtime slot in Model 4. In this case, overtime decision variable is modified as shown below.

38 38 ot tq fraction of overtime to do on day t in q between 0 and 1 The main features of four mathematical models are summarized in Table 5. Table 5. Characteristics of Mathematical models over Overtime decision variables Genetic Algorithm A GA is developed for solving the problem, considering all the assumptions and overtime work policies stated in Mathematical Model 3. Later in Chapter 6, the performance of the developed GA is compared with the Mathematical Model 3. The only small difference between Mathematical Model 3 and developed GA application is that if there is only one weekday overtime needed, it can happen on a day or before it is needed in Mathematical Model 3 but in the corresponding developed GA application, it will happen always on Monday 1. But this will not change the overall objective because the cost and duration of weekday overtime is same irrespective of the day or it is being performed. But if we decide to include earliness penalty than this feature of

39 39 GA has to be improved, to be compatible with the corresponding Mathematical Model (MM3). In the developed GA, each chromosome consists of n+3 genes. The first n genes contain information about job and the cell that job is assigned to. Therefore, a twoelement gene (X,Y) notation is used where X indicates the job (X) and Y shows the cell that job X is assigned to. The positions n+1 and n+2 show the weekday overtime decisions and the last position represents the week overtime. The initial population consists of (s) chromosomes. The probability that a job can be assigned to the first position is the same for all jobs. As the first job is determined and assigned, it is excluded from the list and (n-1) jobs remain to be assigned. The possibility that any of the remaining jobs will be assigned to the second position is equal for all remaining jobs and the assignment process continues until all jobs are assigned. This approach guarantees that every job is included in the sequence. The probability that a job can be assigned to any cell is equal. On the other hand, the gene in position n+1 takes an integer value uniformly distributed between [0, 5]; the gene in position n+2 takes a randomly determined value of 1 or 2; and the gene in the last position takes an integer value uniformly distributed between [0, 4]. For example, Figure 5 illustrates that we have five jobs and two cells in this problem. The jobs 2, 4 and 3 are assigned to cell 1 and the remaining jobs are assigned to cell 2. The sequence of jobs in cell 1 is Job2, Job4 and Job3. Similarly, the sequence of jobs in the second cell is Job5 and Job1. The sixth gene indicates that there will be overtime during the first three days of the week (i.e., Monday, Tuesday and Wednesday). The seventh gene shows that the weekday overtime will cover

40 40 two s on Monday, two s on Tuesday and only the first on Wednesday. Finally, the last gene shows that there will be week overtime both on Saturday and Sunday on both s. The fitness function is the same as the function given in equation 1. Figure 5. An example chromosome representation Crossover Operator Strategies In this study, two different crossover strategies are used to perform the crossover operation. In each strategy, two different crossover strategies are used to perform the crossover operation on different segments of chromosome (Job-Cell segment and Overtime segment) Order crossover for job-cell segment and single cut crossover for overtime segment For job-cell segment, a substring is selected from one parent at random and protochild is produced by copying the substring into the corresponding positions. The missing genes are copied from the other parent in the same order they appear in the other parent. For overtime segment, generate a RN# and determine the cut-point randomly and swap the genes after the cut-point as shown in Figure 6(i).

41 Position-Based crossover for job-cell segment and single cut crossover for overtime segment For job-cell segment, a set of positions from one parent are selected at random and a proto-child is produced by copying the values on these positions into the corresponding positions of the proto-child. The missing genes are selected from the other parent in the same order they appear in the other parent. The number of random positions selected is equal to (# of Jobs)/2 for even # of Jobs and (# of Jobs - 1)/2 for odd # of Jobs. For overtime segment, generate RN # and determine the cut-point randomly and swap the genes after the cut-point as shown in Figure 6(ii). Figure 6. Crossover strategies (i) & (ii)

42 Mutation Operator Strategies In this study, two different mutation strategies are used to perform mutation operation. In each strategy, three different kinds of mutation operations are performed in Job-Cell segment, on cells in Job-Cell segment and on Overtime segment. We also proposed a new mutation strategy in this study i.e. Twin Mutation strategy is discussed in Section Reciprocal Exchange Mutation for job-cell segment, Yes/No Dynamic Mutation on cells in job-cell segment and Yes/No Random Mutation for overtime segment For job gene, two RN#s are generated to select two positions and values in these positions are swapped. For cell gene, RN#s are generated to see if any of the cell genes will go through mutation. If YES, the cell which has the least number of jobs (say, cell i) is identified. If cell i is equal to the mutated cell, keep it unchanged; if not, the mutated cell is changed to cell i. After the mutation, the number of jobs in each cell is calculated. If NO, mutation is not performed. For overtime gene, RN#s are generated to see if any of the genes will go through mutation, If YES, it is changed into any other number than the original number. If NO, it remains unchanged Reciprocal Exchange Mutation for job-cell segment, Yes/No Dynamic Mutation on cells in job-cell segment and Twin Mutation (i.e. +1 and -1 ) for overtime segment After all the procedures mentioned in mutation strategy (i), we generate Twin overtime mutated offspring, +1 for weekday overtime genes (i.e. genes n+1 and n+2)

43 43 and -1 for week overtime gene (i.e. gene n+3) from Random overtime mutated offspring. The main reason for this is that total overtime cost is minimized as long as reduced capacity does not adversely affect jobs completion times (weekday overtime cost is lower than week overtime cost). After that, we compare the fitness values of Twin +1, Twin -1 and Random strategies and select the largest one as the final offspring in this generation. If the current weekday overtime gene representation is 5-2, this won t be changed. If the week overtime gene representation is 0, this won t be changed. These mutation strategies are illustrated in Figure 7. In this study, the top s chromosomes from the pool of all parents and all offspring advance to the next generation. Figure 7. Mutation strategies (i) & (ii)

44 Selection Strategies In this study, we select the top best ranked chromosomes for the next generation population from all of parent and offspring chromosomes. There are many different strategies for the selection. For example, Roulette Wheel Selection which means that based on the reproduction probabilities, the chromosomes are selected from the pool of parents and offspring chromosomes. According to some other strategies, only offspring advances to the next generation, etc. 4.2 Proposed Methodology for Problem 2 An Integer Programming Formulation is proposed to solve this problem Integer Programming Formulation or Mathematical Modeling In the proposed mathematical model, the due dates of jobs are modified in a similar way to meet different working conditions. This modification allows us to consider overtime decisions along with cell loading and scheduling. The main logic behind this formulation is that the due time for a job is exted (increased) by the total overtime hours planned before this job is due. Assume that a job is due Tuesday noon. Assuming only one work, then the due time for this job is calculated as 12 hours (8 hours available on Monday and 4 hours available on Tuesday). Assume that mathematical model proposes to do overtime both on Monday and Tuesday, 3 hours each day. Then the due time of this job becomes 18 hours (=12+3+3). The proposed mathematical model accommodates this possibility in the formulation. The objective is to minimize total cost. In this section, integer programming formulations is introduced.

45 45 Parameters: n m p i d i ct cwd otwd M number of jobs number of identical cells processing time of job i (in hours) due time of job i (in hours) unit tardiness penalty cost unit weekday overtime cost length of weekday overtime (3 hours) large positive number Decision Variables: 1 if job i is assigned to position j in cell k, 0 otherwise 1 if there is overtime on day d in cell k, 0 otherwise Tardiness value of job at position j in cell k Completion Time of job at position j in cell k 1 if there is overtime for the job in position j on day d in cell k, 0 otherwise Variable takes the values of 0 or 1 in the if-then constraint Variable takes the values of 0 or 1 in the if-then constraint Variable takes the values of 0 or 1 in the if-then constraint Mathematical Model The model has been first proposed by Mathur and Süer, 2012 [34]. The unique feature about this model is that it allows different weekday overtime decisions with respect to different cells and also workers are paid for the complete period of overtime

46 46 slot even if they finish the work early in the overtime period. The model is capable of determining the schedule of jobs on each cell as well as handling the capacity of each cell by making overtime decisions. The objective is to minimize the total cost incurred due to total job tardiness penalties plus total overtime cost as shown in equation 1. Weekday overtime can be done on any of the five working days. It is assumed that there is only one regular each day and the duration of the regular is 8 hours. The duration of overtime work is assumed to be 3 hours. Objective Function: Minimize (7) Subject to: i = 1,2,,n (8) j = 1,2,,n (9) k = 1,2,,m k = 1,2,,m (10) j = 2,3,,n (11) k = 1,2,,m j = 1,2,,n (12) k = 1,2,,m j = 1,2,,n (13) k = 1,2,,m j = 1,2,,n (14)

47 47 k = 1,2,,m j = 1,2,,n (15) k = 1,2,,m j = 1,2,,n (16) k = 1,2,,m k = 2,3,4,5 (17) j = 1,2,,n c = 1,2,,m d = 1,2,3,4,5 (18) j = 1,2,,n-1 k = 1,2,,m d = 1,2,3,4,5 (19) k = 0,1,2,,n-2 c = 1,2,,m d = 1,2,3,4,5 (20) k = 1,2,,m d = 1,2,3,4,5 (21) k = 1,2,,m The objective function (equation 7) is to minimize the total tardiness penalty cost and overtime cost. Equation 8 enforces that each job is assigned to only one slot in one of the cells. Equation 9 guarantees that at most one job can be assigned to each position in

48 48 each cell. Equations 10 and 11 compute the completion time of a job (if assigned). Equation 12 computes the tardiness of a job considering its completion time and due date (original or exted by overtime duration). Equations 13, 14, 15, 16 and 17 decide overtimes by using completion times, duration of regular and duration of overtime periods done in earlier days. The constant shows the duration of regular in each day in a cumulative fashion, i.e. 8 hours. This implies that if a job s completion time is less than plus Monday overtime hours if assigned (means a job is completed on Monday), the overtime work that will be done in later days will not affect this particular job and therefore corresponding overtime decision variable for this job will take a value of 0. Equations 18 and 19 show if-then constraints that enforces corresponding overtime decision variables to take a value of 1 for all later day jobs. This is repeated for each cell. Equations 20 and 21 show if-then constraints that enforces each day overtime decision to take value of 1 if at least one job needs overtime on that particular day. This is repeated for every job in each cell.

49 49 CHAPTER 5: A NUMERICAL ILLUSTRATION An example case is illustrated in this section. All of the Mathematical Models are solved using IBM ILOG OPL 6.3 optimization tool and the GA application is developed and solved using MATLAB 7.12 (R2011a). 5.1 Numerical Illustration of Problem 1 A 20-job and 2-cell problem is solved by all four mathematical models. In each mathematical model illustration, three tables and one figure are given. The first table shows the sequence of jobs assigned to each cell; the second table shows the corresponding overtime decisions for the problem; the third table shows the original due day, due and due time; revenue generated from each job, processing times, detailed computations of completion times and revised due dates (d i *) based on overtime decisions; and the Gantt chart is given in the corresponding figure. It is important to note that the week overtime starts before the week starts. For example, to complete a job before the set due date (say on Monday evening), overtime can be performed on Saturday and/or Sunday s Solution by Mathematical Model 1 This model assigned 18 out of 20 jobs to cells. Jobs 8 and 14 are not assigned to any cell (hence tardy and in this study lost customer orders). The jobs assigned to each cell are summarized in Table 6. Table 7 shows when and on what cell we need to do overtime during the week. Table 8 shows the details of all computations. For example Job 1 in Table 8 is due Monday, 1, and original due time is 5.79 hours and it has been assigned to cell 1. Since we allow overtime on Sunday 1 for eight hours on cell 1, the

50 50 due date is taken as (d 1 *=) hours (=5.79+8). Similar adjustment are made for all jobs, i.e. jobs original due dates are modified (increased) by considering the overtimes scheduled before their due date. On cell 1, Monday 1 is of regular eight hours whereas on cell 2, Monday 1 is of 11 hours (including overtime). On both of the cells, Monday 2 are 11 hours (including overtimes); Tuesday 1 and 2 are 11 (including overtimes) and eight hours respectively; and the remaining weekdays are all regular eight hours. Whereas on the weeks, only cell 1 needs eight hours of overtime only on Sunday 1 as shown in Table 7 and Figure 8. Table 6. Sequence of jobs assigned to each cell for model 1 Cells Jobs C1 1, 3, 4, 6, 9, 10, 11, 12, 16, 19 C2 2, 5, 7, 13, 15, 17, 18, 20 Table 7. Overtime decisions for model 1

51 Cell 1 1st OT Saturday Sunday Monday 2nd OT 1st OT 2nd OT 1st OT 1st Reg. 2nd OT 2nd Reg. 1st OT 1st Reg. Tuesday 2nd OT 2nd Reg. 1st OT Wednesday Thursday Friday 1st Reg. 2nd OT 2nd Reg. 1st OT 1st Reg. 2nd OT 2nd Reg st OT 1st Reg. 2nd OT 2nd Reg. Cell Figure 8. Gantt chart for model 1 solution

52 Table 8. Detailed computations for model 1 solution Solution by Mathematical Model 2 This model also assigned 18 out of 20 jobs to cells as shown in Table 9. On both cells, Monday s are 11 hours (including overtimes); Tuesday 1 and 2 are 11 (including overtimes) and 8 hours, respectively; and the remaining weekdays except for Friday 1 are all regular eight hours. On cell 1, Friday 1 is of 8.39 hours (=8+0.13*3) whereas on cell 2 it is of 8.02 hours (= *3) including overtimes. On the weeks, overtimes are required on Sunday 1 of 3 hours (=0.375*8) on cell 1 and on Saturday 1 of 1.12 hours (=0.14*8) on cell 2 as shown in Table 10. In this case, the due date for job 1 (d 1 *=) is computed as hours since we allow partial

53 53 overtime on Sunday 1 for three hours (=0.375*8) and also allow three hour overtime on 1 on Monday on cell 1 (= ). Table 11 shows the details of all computations and the corresponding Gantt chart is given in Figure 9. Table 9. Sequence of jobs assigned to each cell for model 2 Cells Jobs C1 1, 2, 6, 7, 12, 15, 17, 19 C2 3, 4, 5, 9, 10, 11, 13, 16, 18, 20 Table 10. Overtime decisions for model 2

54 Cell 1 Cell 2 Saturday Sunday Monday Tuesday Wednesday 1st 2nd 1st 2nd 1st 2nd 1st OT 2nd OT 1st OT 2nd OT 1st Reg. 2nd Reg. 1st Reg. 2nd Reg. 1st Reg. OT OT OT OT OT OT nd Reg. 1st OT 1st Reg. Thursday 2nd OT 2nd Reg. 1st OT 1st Reg. Friday 2nd OT 2nd Reg. Figure 9. Gantt chart for model 2 solution

55 Table 11. Detailed computations for model 2 solution Solution by Mathematical Model 3 This model resulted in three tardy jobs. The sequence of jobs assigned to cells is given in Table 12. Overtime decisions are summarized in Table 13. On both the cells, Monday as well as Tuesday 1 and 2 are of 11 hours (including overtimes) and eight hours respectively; and the remaining days are all regular eight hours. On the other hand, no overtime work is scheduled for weeks. In this model, the due date for job 1 (d 1 *=) is taken as 8.79 hours (=5.79+3) as we allow three-hour overtime on Monday 1 on both cells. The detailed computations are summarized in Table 14 and the corresponding Gantt chart is given in Figure 10.

56 56 Table 12. Sequence of jobs assigned to each cell for model 3 Cells Jobs C1 2, 5, 9, 10, 11, 12, 16, 19 C2 1, 4, 6, 7, 13, 15, 17, 18, 20 Table 13. Overtime decisions for model 3 Day Saturday Sunday Monday Tuesday Wednesday Thursday Friday

57 Cell 1 1st OT Saturday Sunday Monday Tuesday Wednesday 2nd OT 1st OT 2nd OT 1st OT 1st Reg. 2 2nd OT 2nd Reg. 1st OT 1st Reg. 2nd OT 2nd Reg. 1st OT 1st Reg. 2nd OT 2nd Reg. 1st OT 1st Reg. Thursday 2nd OT 2nd Reg st OT 1st Reg. Friday 2nd OT 2nd Reg. Cell Figure 10. Gantt chart for model 3 solution

58 Table 14. Detailed computations for model 3 solution Solution by Mathematical Model 4 This model also led to 18 jobs being completed before their due dates. The sequence of jobs assigned to cells is given in Table 15. Overtime decisions are summarized in Table 16. In Table 17, for example Job 1, is due Monday, 1, and original due time is 5.79 hours. Since we allow partial overtime of 2.21 hours (= *8) on Saturday 1 and also allow three hour overtime on Monday 1 on both the cells, the due date is taken as (d 1 *=) 11 hours (= ). Similar adjustment are made for all jobs, i.e. jobs original due dates are modified (increased) by considering the overtimes scheduled before their due date. On both the cells, Monday

59 59 1 and 2 are 11 hours (including overtimes) each; Tuesday 1 and 2 are 11 hours (including overtimes) and regular of eight hours, respectively; Thursday 1 and 2 are regular eight hours and 8.09 hours (=8+0.03*3) (including overtime) respectively and the remaining days are all regular eight hours. Whereas on the week on both the cells, overtime is required only on Saturday 1 of 2.21 hours (= *8) as shown in Figure 11. Table 15. Sequence of jobs assigned to each cell for model 4 Cells Jobs C1 2, 4, 5, 9, 10, 11, 13, 16, 18, 20 C2 1, 3, 6, 7, 12, 15, 17, 19 Table 16. Overtime decisions for model 4 Day Saturday Sunday Monday Tuesday Wednesday Thursday Friday

60 Cell 1 Cell 2 Saturday Sunday Monday Tuesday Wednesday 1st 2nd 1st 2nd 1st 2nd 1st OT 2nd OT 1st OT 2nd OT 1st Reg. 2nd Reg. 1st Reg. 2nd Reg. 1st Reg. OT OT OT OT OT OT nd Reg. 1st OT 1st Reg. Thursday 2nd OT 2nd Reg. 1st OT 1st Reg. Friday 2nd OT 2nd Reg. Figure 11. Gantt chart for model 4 solution

61 Table 17. Detailed computations for model 4 solution Solution by developed GA application An example case is illustrated in this section. Figure 12 shows a chromosome for 10-job 3-cell problem. Table 18 shows the corresponding overtime decisions for the same chromosome. The Gantt chart is given in Figure 13. Table 19 shows the original due day, due and due time; processing times, detailed computations of completion times and revised due dates (d i *) based on overtime decisions. In Table 19, for example Job 1 is due Monday, 2, and original due time is 11. Since we allow overtime on Sunday for 8 hours and also allow 3-hour overtime for both s on Monday, the due date is taken as (d 1 *=) 25 (= ). Similar adjustments are made for all jobs, i.e. jobs original due

62 62 dates are modified (increased) by considering the overtimes scheduled before their due date. Both Monday and Tuesday s are 11 hours (including overtimes) and the remaining days are all 8 hours as shown in Figure 13. Jobs & Cells segment Overtime segment (5,1) (1,3) (4,3) (6,1) (9,3) (3,2) (2,2) (8,2) (10,3) (7,1) Figure 12. An example chromosome Table 18. Overtime decision Day Saturday Sunday Monday Tuesday Wednesday Thursday Friday Table 19. Early/Tardy jobs computation

63 Cell 1 Saturday Sunday Monday Tuesday Wednesday 1st 2nd 1st 2nd 1st 2nd 1st OT 2nd OT 1st OT 2nd OT 1st Reg. 2nd Reg. 1st Reg. 2nd Reg. 1st Reg. OT OT OT OT OT OT nd Reg. 1st OT 1st Reg. Thursday 2nd OT 2nd Reg. 1st OT 1st Reg. Friday 2nd OT 2nd Reg. Cell Cell Figure 13. Gantt chart for the GA example case

64 5.2 Numerical Illustration of Problem 2 An example case is illustrated in this section. A 10-job and 1-cell problem is solved by the proposed mathematical model (data shown in Table 20). Table 21 shows the original due times of jobs; processing times, detailed computations of completion times, revised due dates (d i *) based on overtime decisions and amount of Tardiness of each job. The Gantt chart is given in Figure 14. Table job 1-cell example Jobs Processing time Due time Solution by Mathematical Model Jobs 8 and 9 are tardy with tardiness amount of 1 hour and 2 hours, respectively (hence a tardiness penalty is incurred). In Table 21, Job 1 is due Monday (since the original due time is 6 hours which is less than 8 hours of regular operation) and it has been assigned to position 1 on the cell. Since we allow overtime on Monday before the regular for three hours on the cell, the due date is taken as (d 1 *=) 9 hours (=6+3). Similar adjustment are made for all jobs, i.e. jobs original due dates are modified (increased) by considering the overtimes scheduled before their due date. On the cell, Monday, Tuesday, Wednesday and Thursday s are of 11 hours (including overtime) whereas, Friday is of regular eight hours as shown in Figure 14. Unit tardiness penalty cost is taken as $160, and each 3-hour weekday overtime cost is taken as $450.

65 65 Monday Tuesday Wednesday Thursday Friday OT OT Reg. OT Reg. OT Reg. OT Reg. Reg. Cell Figure 14. Gantt chart for Mathematical Model solution Table 21. Detailed computations for Mathematical Model solution Jobs Processing time (in hour) Due time (d i ) (in hour) Completion Time (c i ) (in hour) Modified Due time (d i *) (in hour) Amount of Tardiness Max[0,(c i -d i *)] (in hour) = = = = = = = = = =50 0 In table 21, it can be observed that jobs 8 and 9 are tardy. But still Friday overtime is not performed to save Job 9 (as seen in figure 14). This is because performing overtime will cost $450 (one 3-hour weekday overtime cost) to save job 9 but the revenue will increase by only $320 (=2*$160). Therefore, overtime is not performed on Friday and job 9 remains tardy by 2 unit times.

66 66 CHAPTER 6: EXPERIMENTATION RESULTS In this section, experimentation results are discussed. All of the Mathematical Models are developed and experimented in IBM ILOG OPL 6.3 optimization tool. Genetic Algorithms are developed and experimented in MATLAB 7.12 (R2011a). Different problem sizes are considered for the experimentation. Five different instances of data (means different processing times, due dates and sales prices) are chosen for each problem size. This is done to observe the effect of different data on the same size problem (means having the same number of products and same number of cells). The data generated is inspired from the Textile Company where the problem was observed. Each product undergoes eight different operations. The upper and lower range of processing times for each operation was identified based on the sample data provided by the company. The processing times were generated randomly from this interval for the corresponding operation in each data set. Processing times for operations 1, 2, 3, 4, 5, 6, 7 and 8 follow uniform distributions UD(2, 4), UD(1,2.5), UD(1, 3.5), UD(1, 2), UD(1, 2), UD(1, 2), UD(1, 2), and UD(0.2, 2), respectively. The batch size of each product follows uniform distribution UD(50, 250). The production rate for each product is identified based on the bottleneck machine. The processing time (hr) for a job is computed dividing its batch size with its production rate. The due time of each job is generated by using equation 22. Due days of products are calculated on the basis of due time (considering one week as a period). (22)

67 Experimentation Results of Problem 1 Eight problems were formed with 20, 30, 40, 50, 60, 70, 80 and 90 jobs/products; and 2, 2, 2, 2, 2, 4, 4 and 5 cells, respectively (problems 1, 2, 3, 4, 5, 6, 7 and 8, respectively). The hourly labor rates for regular time, weekday overtime and week overtime are taken as $10, $15, and $20, respectively. The week overtime is limited to 8 hours per whereas weekday overtime is restricted to 3 hours per. The sales price of each job is assigned by using equation 23. (23) Results of Mathematical Model 1 The results of Mathematical Model 1 are shown in Table 22. The results show that mathematical model produced tardy jobs in spite of the fact that overtime was done both during the weekdays and week for some instances in some problems (instances 1 and 2 in problem 1; instances 1, 3 and 4 in problem 4; and instances 1, 2, 3 and 4 in problem 5). In problems 2, 7, 8 and instances 1, 1, 1 respectively, week overtime was not done even though there was a tardy job in the system. Doing overtime would cost more than the profit to be obtained from making this tardy job early in these problem instances. In problem 1 instances 3, 4, and 5; in problem 3 instance 1; and in problem 4 instances 2 and 5, tardy job(s) were avoided by doing overtime both weekdays and weeks. In problem 2 instances 3 and 4; in problem 3 instance 5; in problem 6 instances 1, 2, 4, and 5; and in problem 7 instance 4, weekday overtime was sufficient to avoid tardy jobs. Finally, only in problem 2 instances 2 and 5, tardy job(s) were avoided without doing any weekday or week overtime. This implied that the regular capacity

68 68 was sufficient to handle all the jobs/products and therefore no overtime was required in those instances of problem 2. There were also some instances in problems 3, 5, 6, 7 and 8 where Mathematical Model 1 run out of memory after running for relatively large computation time. It can also be observed that Mathematical Model 1 gave result for most of the problems in less than a second or in few minutes, except for instance 2 of problem 4 and instance 1 of problem 5 where it took 23 minutes 17 seconds and 56 minutes 58 seconds, respectively.

69 69 Table 22. Mathematical Model 1 results Mathematical Model 1 Problem # # of Jobs # of Cells Instance # nt Doing weekday overtime (Y/N) Doing week overtime (Y/N) Objective Function value Computation Time # of decision variables # of constraints Y Y s Y Y < 1 s Y Y < 1 s 4 0 Y Y < 1 s Y Y < 1 s 1 1 Y N m 8 s 2 0 N N < 1 s Y N < 1 s Y N < 1 s 5 0 N N < 1 s 1 0 Y Y < 1 s 2 OUT OF MEMORY 22 h 46 m 47 s 2 3 OUT OF MEMORY 5 h 34 m 39 s OUT OF MEMORY 4 h 25 m 3 s 5 0 Y N < 1 s 1 2 Y Y s 2 0 Y Y m 17 s Y Y < 1 s Y Y s 5 0 Y Y < 1 s 1 6 Y Y m 58 s 2 5 Y Y s Y Y s Y Y s 5 OUT OF MEMORY 24 h 6 m 34 s 1 0 Y N < 1 s 2 0 Y N s 4 3 OUT OF MEMORY 23 hr 13 m 14 s Y N s 5 0 Y N s 1 1 Y N m 54 s 2 OUT OF MEMORY 19 h 9 m 14 s 4 3 OUT OF MEMORY 23 h 13 m 23 s Y N s 5 OUT OF MEMORY 98 h 1 m 30 s 1 1 Y N m 19 s 2 OUT OF MEMORY 25 h 20 m 35 s 5 3 OUT OF MEMORY 101 h 44 m 9 s OUT OF MEMORY 27 h 31 m 10 s 5 OUT OF MEMORY 101 h 30 m 15 s

70 Results of Mathematical Model 2 The results of Mathematical Model 2 are summarized in Table 23. There were tardy jobs in problem 1 instance 1; problem 2 instance 1; and all of the instances of problem 5, even though overtime was done both during the weekdays and week. In problem 1 instances 2, 3, 4 and 5; problem 3 instances 1, 3 and 4; all the instances of problem 4; and instances 2 and 3 of problem 7, tardy job(s) were avoided by doing overtime both weekdays and week. In problem 2 instances 3 and 4; problem 3 instances 2 and 5; problem 7 instances 1, 4 and 5; and all of the instances of problems 6 and 8, weekday overtime was sufficient to avoid tardy jobs. Finally, only in problem 2 instances 2 and 5, tardy job(s) were avoided without doing any weekday or week overtime. Mathematical Model 2 was very efficient and did not run out of memory in any problem. It can also be observed that Mathematical Model 2 gave result for all the problems in less than a second or in few minutes without any exception.

71 71 Table 23. Mathematical Model 2 results Mathematical Model 2 Problem # # of Jobs # of Cells Instance # nt Doing weekday overtime (Y/N) Doing week overtime (Y/N) Objective Function value Computation Time # of # of decision constraints variables Y Y < 1 s Y Y < 1 s Y Y < 1 s Y Y < 1 s Y Y < 1 s 1 1 Y Y < 1 s 2 0 N N < 1 s Y N < 1 s Y N < 1 s 5 0 N N < 1 s 1 0 Y Y < 1 s 2 0 Y N < 1 s Y Y < 1 s Y Y < 1 s 5 0 Y N < 1 s 1 0 Y Y < 1 s 2 0 Y Y < 1 s Y Y < 1 s Y Y < 1 s 5 0 Y Y < 1 s 1 6 Y Y s 2 5 Y Y < 1 s Y Y s Y Y < 1 s 5 9 Y Y s 1 0 Y N < 1 s 2 0 Y N < 1 s Y N < 1 s Y N s 5 0 Y N s 1 0 Y N s 2 0 Y Y m 49 s Y Y s Y N s 5 0 Y N s 1 0 Y N s 2 0 Y N s Y N s Y N s 5 0 Y N s

72 Results of Mathematical Model 3 The results of Mathematical Model 3 are given in Table 24. In problem 1 instance 2; problem 4 instances 1 and 2; and problem 5 instances 1, 2 and 4, there were tardy jobs even though overtime was done both during the weekdays and week. In problem 1 instance 1; problem 2 instance 1; and problem 3 instance 2, week overtime was not done even though there were tardy jobs in the system. In problem 1 instances 3, 4, and 5; problem 3 instance 1; and in problem 4 instance 4, tardy job(s) were avoided by doing overtime both weekdays and weeks. In problem 2 instances 3 and 4; problem 3 instance 5; problem 6 instances 1 and 5; problem 7 instance 4; and problem 8 instances 1 and 3, weekday overtime was sufficient to avoid tardy jobs. Finally, only in problem 2 instances 2 and 5, tardy job(s) were avoided without doing any weekday or week overtime. Some instances of problems 3, 4, 5, 6, 7 and 8 could not be solved due to memory restrictions. It can also be observed that Mathematical Model 3 gave result for most of the problems in few minutes, except for instance 5 of problem 6 and instance 1 of problem 5 where it took 1 hour 30 minutes 58 seconds and 2 hours 3 minutes 31 seconds, respectively.

73 73 Table 24. Mathematical Model 3 results Mathematical Model 3 Problem # # of Jobs # of Cells Instance # nt Doing weekday overtime (Y/N) Doing week overtime (Y/N) Objective Function value Computation Time # of decision variables # of constraints Y N < 1 s Y Y < 1 s Y Y < 1 s Y Y < 1 s Y Y < 1 s 1 1 Y N m 24 s 2 0 N N < 1 s Y N < 1 s Y N < 1 s 5 0 N N < 1 s 1 0 Y Y < 1 s 2 1 Y N < 1 s OUT OF MEMORY 21 m 3 s OUT OF MEMORY 26 m 15 s 5 0 Y N < 1 s 1 1 Y Y < 1 s 2 2 Y Y s OUT OF MEMORY 3 h 12 m 55 s Y Y < 1 s 5 OUT OF MEMORY 28 h 49 m 24 s 1 6 Y Y h 3 m 31 s 2 5 Y Y s OUT OF MEMORY 19 h 35 m 56 s Y Y s 5 OUT OF MEMORY 46 h 15 m 32 s 1 0 Y N < 1 s 2 OUT OF MEMORY 52 h 10 m 47 s OUT OF MEMORY 52 h 32 m 18 s OUT OF MEMORY 50 h 15 m 3 s 5 0 Y N h 30 m 58 s 1 OUT OF MEMORY 8 h 29 m 15 s 2 OUT OF MEMORY 6 h 18 m 40 s OUT OF MEMORY 33 h 22 m 17 s Y N < 1 s 5 OUT OF MEMORY 53 h 16 m 33 s 1 0 Y N < 1 s 2 OUT OF MEMORY 52 h 25 m 30 s Y N s OUT OF MEMORY 53 h 38 m 36 s 5 OUT OF MEMORY 78 h 10 m 56 s

74 Results of Mathematical Model 4 The results of Mathematical Model 4 are shown in Table 25. The results show that mathematical model produced tardy jobs in spite of the fact that overtime was done both during the weekdays and week for some instances in some problems (instance 1 problem 1; instance 1 problem 2; and in problem 5 instances 1, 3, 4, and 5). In problem 1 instances 2, 3, 4, and 5; problem 3 instances 1, 3 and 4; all of the instances in problem 4; and in problem 7 instances 1, 2, 3 and 5, tardy job(s) were avoided by doing overtime both weekdays and weeks. In problem 2 instances 3 and 4; problem 3 instances 2 and 5; all of the instances in problems 6 and 8; and problem 7 instance 4, weekday overtime was sufficient to avoid tardy jobs. Finally, only in problem 2 instances 2 and 5, tardy job(s) were avoided without doing any weekday or week overtime. Only instance 2 of problem 5 could not be solved due to memory restrictions. It can also be observed that Mathematical Model 4 gave result for almost all of the problems in few minutes, except for instance 5 of problem 8 and instance 2 of problem 7 where it took 31 minutes 3 seconds and 1 hour 13 minutes 45 seconds, respectively.

75 75 Table 25. Mathematical Model 4 results Mathematical Model 4 Problem # # of Jobs # of Cells Instance # nt Doing weekday overtime (Y/N) Doing week overtime (Y/N) Objective Function value Computation Time # of decision variables # of constraints Y Y < 1 s Y Y < 1 s Y Y < 1 s Y Y < 1 s Y Y < 1 s 1 1 Y Y < 1 s 2 0 N N < 1 s Y N < 1 s Y N < 1 s 5 0 N N < 1 s 1 0 Y Y < 1 s 2 0 Y N < 1 s Y Y < 1 s Y Y < 1 s 5 0 Y N < 1 s 1 0 Y Y < 1 s 2 0 Y Y < 1 s Y Y < 1 s Y Y < 1 s 5 0 Y Y < 1 s 1 6 Y Y m 41 s 2 OUT OF MEMORY 75 h 29 m 30 s Y Y s Y Y s 5 9 Y Y m 49 s 1 0 Y N m 27 s 2 0 Y N m 26 s Y N s Y N s 5 0 Y N m 4 s 1 0 Y Y s 2 0 Y Y h 13 m 45 s Y Y s Y N s 5 0 Y Y m 19 s 1 0 Y N m 36 s 2 0 Y N m 5 s Y N m Y N m 37 s 5 0 Y N m 3 s

76 Comparison of Mathematical Models In this section, the results of four mathematical models are compared. The highest profit for all the problems was obtained with mathematical model 2 (MM2). MM4 found the second highest profit in all of the problems tested except for the problem 1 instances 2, 3, 4 and 5; problem 2 instances 1, 2 and 5; problem 4 instance 1; problem 5 instance 3; and problem 8 instance 3 where it tied with MM2 and except for instance 2 in problem 5 where MM4 run out of memory. On the other hand, MM1 got the third highest profit values except for instances 2 and 5 in problem 2 where it mimics the performance of MM2. MM3 performance was little worse than MM1 but for most of the problems they both performed at par with each other. Based on the results, the preference of models can be listed as 1) MM2, 2) MM4, 3) MM1, and 4) MM3. It is also important to note that the difference between the best and worst profit values in the problems tested here is less than 1.08% in all the problems except for the instances 1, 4 and 5 in problem 1 where it is 1.62%, 1.43% and 2.28% respectively. The results of four mathematical models and deviation in objective function value are summarized in Table 26 and Table 27, respectively. In Table 24, the yellow color shade shows the best outcome in each instance of every problem. In Table 27, the light red color shade shows the maximum deviation in each problem. The empty cell with a hyphen shows that MM3 did not gave the results. Therefore, deviation cannot be calculated. Looking at the results in Table 27, it can be observed that the performance of all the Mathematical Models are not very different in terms of the generated profit values, although they all work on different workforce overtime handling policies.

77 77 Table 26. Performance comparison between Mathematical Models Problem # Mathematical Model 1 Mathematical Model 2 Mathematical Model 3 Mathematical Model 4 # of # of Objective Function Objective Objective Objective Jobs Cells nt nt nt nt value Function value Function value Function value OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY OUT OF MEMORY

78 78 Table 27. Deviation in objective function value Problem # # of Jobs # of Cells Deviation between highest (MM2) and lowest (MM3) objective function value % 1.07% 1.07% 1.43% 2.28% 0.54% % 1.02% % 0.73% % 0.80% 0.81% % % 0.04% % % % % % % - -

79 Mathematical Model 3 VS GA for Problem1 In this section, a performance comparison between different GA strategies are discussed and compared to mathematical model 3 results. Later, a best GA strategy is chosen based on statistical analysis and an exhaustive comparison and experimentation is performed between best GA strategy and mathematical model Preliminary comparison of Mathematical Model 3 and proposed GA application In this section, proposed GA experimentation results are discussed. Five replications are performed on each instance of each problem. An exhaustive experimentation was performed on problems 1 and 2 by conducting experimentation on all of the four developed GA strategies. The yellow color shade shows the optimal solution and the light red color shade shows the best solution generated by the GA. All of the GA s performance was compared with each other and with the Mathematical Model 3 results. The results are listed in Table 28 and Table 29. As shown in the same tables, GA4 outperformed GA2 by generating more optimal or near-optimal solutions and was also slightly better than GA1 and GA3 as well. This observation is also backed up by statistical analysis shown in the next section.

80 Table 28. Performance evaluation of GA 1 and GA 2 strategies for problems 1 and 2 Problem # # of Jobs Mathematical # of Population Model 3 Cells Size Solution # of Generations Crossover Probability Mutation Probability GA 1 Solution: Crossover Strategy (i), Mutation Strategy (i) Best Value Min. Deviation Average Value Average Deviation Average Time GA 2 Solution: Crossover Strategy (ii), Mutation Strategy (i) Best Value Min. Average Deviation Value Average Deviation Average Time % % 7.1 min % % 9.5 min % 12.6 min % % 12.4 min % 10.2 min % 6.5 min % 10.2 min % % 10 min min min % % 23.7 min % % 25.2 min % % 24.9 min % % 16.3 min % % 17.1 min % % 14.9 min % 31.6 min % % 28.8 min min % % 20 min Table 29. Performance evaluation of GA 3 and GA 4 strategies for problems 1 and 2 Problem # # of Jobs # of Cells Mathematical Model 3 Solution Population Size # of Generations Crossover Probability Mutation Probability GA 3 Solution: Crossover Strategy (i), Mutation Strategy (ii) Best Value Min. Deviation Average Value Average Deviation Average Time GA 4 Solution: Crossover Strategy (ii), Mutation Strategy (ii) Best Value Min. Average Deviation Value Average Deviation % % 15.6 min % % 21.6 min % 28.3 min % 27.3 min % 11.5 min min % 17.5 min min min min % % 35.2 min % % 51.4 min % % 26.2 min % % 37.4 min % % 26.9 min % % 38.3 min % 48 min % 39.7 min min % 54.4 min Average Time

81 6.2.2 Statistical Analysis of GA approaches In previous section, a large amount of experiment results are presented, this further aroused a need to compare the results obtained from different methodologies by performing statistical analysis. The statistical analysis is divided into two parts. First, comparing four proposed GA approaches proposed to solve Problem1 by performing ANOVA hypothesis testing with 95% confidence interval. In ANOVA, the Null Hypothesis (H 0 ) is µ 1 =µ 2 =µ 3 =µ 4, whereas the Alternative Hypothesis (H 1 ) is all µ s are not equal. Here, µ 1, µ 2, µ 3 and µ 4 are the mean of five replications result of GA1, GA2, GA3 and GA4 respectively. If we fail to reject H 0, (i.e. P-value critical value α) choose the GA which has highest mean value (since this is a maximization problem). If reject Null hypothesis H 0 (i.e. P-value < α), perform pair-wise comparison using Fisher test analysis to determine significantly similar or different GA s. Choose the GA having highest mean value as tie breaker. Second, once we determine the best GA out of four in part1, perform 1-sample t-test with 95% confidence interval to compare the best GA with the Mathematical Model output. In 1-sample t-test, the Null Hypothesis (H 0 ) is µ best =math-model-output, whereas the Alternative Hypothesis (H 1 ) is µ best <Math-model-output. If we fail to reject H 0 (i.e. P- value α) means mathematical model and GA outputs are not significantly different. If reject Null hypothesis H 0 (i.e. P-value < α) means mathematical model output and GA result are significantly different.

82 82 problem# Instance# Table 30. Statistical Analysis results GA's comparison: ANOVA test 95% conf. int. [significantly different Y/N] Fisher test analysis Best GA (based on highest mean value) 1 1 N - GA4 1 2 N - GA4 1 3 Y 1 4 Y GA1=GA2, GA3=GA4 GA1=GA2, GA3=GA4 1 5 N - GA4 2 1 N - GA3 2 2 N - GA4 2 3 Y 2 4 Y GA1=GA3, GA1=GA4, GA2=GA4, GA3=GA4 GA1=GA3, GA1=GA4, GA2=GA3, GA3=GA4 Equal performance top GAs GA1, GA2, GA3, GA4 GA1, GA2, GA3, GA4 MM-Best GA comparison: 1-sample t-test 95% conf. int. [significantly different Y/N] GA4 GA3, GA4 N GA4 GA3, GA4 N GA1, GA2, GA3, GA4 GA1, GA2, GA3, GA4 GA1, GA2, GA3, GA4 GA2 GA2, GA4 Y GA1 GA1, GA3, GA4 N 2 5 Y GA1=GA3 GA3 GA1, GA3 N Y Y N Y Y As observed from table 30, both GA3 and GA4 outperform other GA s performance-wise. GA4 is selected to perform more experimentation on later problems because it dominates over GA3 based on mean value on five replications. Equal performance top GAs are selected based on the Fisher test analysis and highest mean value GA result. For example, in instance 3 of problem1, GA4 is the best GA based on highest mean value but according to Fisher test analysis GA3 and GA4 are statistically not different. Therefore, both GA3 and GA4 are selected as the top performance GAs in

83 83 that problem instance. For instances 1, 2 and 5 in problem1 and instances 1 and 2 in problem2, all of the four GA s are not significantly different. In instances 3, 4 and 5 in problem1 and instances 4 and 5 in problem2, mathematical model result and the best GA output are not significantly different More experimentation with GA4 GA4 was chosen as the best GA to conduct comparison with the Mathematical Model 3 for rest of the remaining problems as shown in Table 31. As shown in Tables 28, 29 and 31, GA s found the optimal solution in some of the instances in 20 products and 30 products categories and GA4 produced quite satisfactory results in the remaining problems. It is important to note that Twin mutation strategies led to the better results in GA approaches. It can also observe that as the problem size increases (with increase in number of products or number of cells) the deviation from optimal also increases. Two minutes best so far Mathematical Model 3 solution for out of memory problems are evaluated from IBM ILOG OPL 6.3 and compared with GA4 results. Two minutes best so far GA4 result for out of memory problems are also evaluated. All the results are presented in Table 31. Comparison between two minutes best so far results of Mathematical Model 3 and GA4 shows that in all the problems Mathematical Model 3 outperform GA4. Although, when compared two minutes best so far result of Mathematical Model 3 with the best value of GA4, the deviation turns out to be low.

84 Problem # # of Jobs # of Cells Mathematical Model 3 Solution Table 31. Performance evaluation of GA 4 strategy for problems 3, 4, 5, 6, 7 and 8 Mathematical Model 3 Solution (Best so far in 2mins) Population Size # of Generations Crossover Probability Mutation Probability GA 4 Solution: Crossover Strategy (ii), Mutation Strategy (ii) % % 1 hr 36 min % % 1 hr 54 min - - OUT OF MEMORY % % 1 hr 53 min % OUT OF MEMORY % % 1 hr 5 min % % % 55.6 min % % 2 hr 51 min % % 1 hr 46 min - - OUT OF MEMORY % % 3 hr 11 min % % % 1 hr 57 min - - OUT OF MEMORY % % 2 hr 15 min % % % 3 hr 54 min % % 5 hr 12 min - - OUT OF MEMORY % % 5 hr 6 min % % % 4 hr 7 min - - OUT OF MEMORY % % 3 hr 43 min % % % 7 hr 12 min - - OUT OF MEMORY % % 8 hr 15 min % OUT OF MEMORY % % 8 hr 12 min % OUT OF MEMORY % % 8 hr 54 min % % % 8 hr 24 min - - OUT OF MEMORY % % 11 hr 2 min % OUT OF MEMORY % % 11 hr 55 min % OUT OF MEMORY % % 12 hr 14 min % % % 10 hr 42 min - - OUT OF MEMORY % % 12 hr 22 min % % % 18 hr 15 min - - OUT OF MEMORY % % 18 hr 22 min % % % 16 hr 10 min - - OUT OF MEMORY % % 17 hr 55 min % OUT OF MEMORY % % 18 hr 2 min % Best Value Min. Deviation Average Value Average Deviation Average Time by GA4 Best so far in 2mins Deviation (Best so far)

85 6.3 Experimentation Results of Problem 2 In this section, experimentation results are discussed. Three problems were formed with 20, 30 and 40 jobs; and 1, 2 and 2 cells, respectively (problems 1, 2 and 3 respectively). The unit tardiness penalty costs are calculated by using equation 24. The hourly labor rates for regular time and weekday overtime are taken as $10, and $15, respectively. (24) The experimentation results of Mathematical Model are shown in Table 32. The results show that mathematical model produced tardy jobs in spite of the fact that overtime was done during the weekdays for some instances in some problems (instance 1, 2 and 3 in problem 1; and instance 1 in problem 3). In problem 1 instances 4 and 5; problem 2 instances 1, 3 and 4; and problem 3 instance 3, overtime was not done even though there was a tardy job in the system. Doing overtime would cost more than the cost saved from decreasing the total tardiness in these problems instances. In problem 2 instances 2 and 5, all the jobs were delivered on or before their due time without doing any overtime. This implied that the regular capacity was sufficient to handle all the jobs/products and therefore no overtime was required in those instances of problem 2. There were instances 2, 4 and 5 in problems 3 where Mathematical Model ran out of memory. It can also be observed that Mathematical Model gave result for most of the problems in few minutes, except for instance 1 of problem 3 and instance 3 of problem 2 where it took 31 minutes 29 seconds and 2 hours 1 minute 54 seconds respectively.

86 However, after 40-Job and 2-Cell problem, the problem size became too big for the Mathematical Model to solve. 86 Table 32. Mathematical Model results of Problem2 Problem # # of Jobs # of Cells Revenue (in $) MATHEMATICAL MODEL RESULTS Total Tardiness Cost (in $) Total Overtime Cost (in $) Computation Time # of decision variables # of constraints < 1 sec < 1 sec < 1 sec sec sec sec sec hr 1 min 54 sec min 19 sec sec min 29 sec OUT OF MEMORY sec OUT OF MEMORY OUT OF MEMORY

87 87 CHAPTER 7: CONCLUSIONS In this study, two problems are solved. The problems have been inspired from a textile company. Data used in the experimentation has been generated based on the collected sample real data from the same company. An optimization approach is used to solve both the problems. A meta-heuristic called Genetic Algorithm is also developed to solve problem 1. Later, its performance is being compared with the optimization approach. The proposed models in both problems determine overtime requirements, assign jobs to cells and also determine the sequence of jobs simultaneously in each cell. The result of mathematical models gives us a weekly complete schedule with the overtime decisions on each day and on each cell. Moreover, it tells us the load on cells and also the schedule of jobs on each cell. In problem 1, the objective of mathematical models is to maximize the profit to be obtained from the completion of products on time. In the models, tardy jobs are considered to be the lost sales. These mathematical models represent different overtime workforce handling practices followed by industries. The selection of an appropriate mathematical model obviously deps on practices of different companies. However, if there is a chance to select among these models, then Mathematical Model 2 would be the best choice as it outperformed all other mathematical models in all of the problems tested. Mathematical Model 2 allows partial overtime periods. It also allows different overtime periods on different cells. This flexibility in the problem formulation led to the best results. Mathematical model 4 tied the results in some instances of problems 1, 2, 4, 5 and 8 and got the second best results in the rest of the problems. Mathematical Model 4

88 88 allows partial overtime periods but same overtime periods on all of the cells. Indeed, the gap between the best and worst results when all models were considered was smaller than 2.28%. The experimentation also showed that mathematical models could solve large problems relatively fast. Especially Mathematical Model 2 took less than 36 seconds to find the optimal solution in all of the problems tested except for instance 2 of problem 7 where it took 12 minutes 49 seconds which is still very fast compared to the size of problem it was solving. This may be another factor that would make Mathematical Model 2 a desirable one in addition to the fact that it found the highest profits among all models. We could solve problems up to 90 jobs and 5 cells per period. The number of jobs mentioned in the textile company had to handle on a weekly basis roughly varied jobs. As a result, these models can be used to make these decisions in similar industrial settings. There were some instances in some problems where Mathematical Models except for Mathematical Model 2 could not solved the problem due to memory restrictions but on those instances of problems GA found the solution. Although, a two minutes best so far solution is obtained from the Mathematical model 3 and compared with GA4 performances. It was observed that Mathematical Model 3 outperformed GA4 results. However, it is also observed that the two minutes best so far results of Mathematical Model 3 remains the same even if the model runs for hours. This observation indicates that there is a possibility that two minutes best so far results from mathematical model 3 might be the optimal results. GA found optimal solution in 20-job and 30-job categories

89 89 and produced quite satisfactory results in the remaining problems. GA4 produced the best results. It is important to note that Twin mutation strategies led to the better results in GA approach. In problem 2, the objective of mathematical model is to minimize the total cost incurred due to total tardiness penalty and the overtimes. In the model, tardy jobs are delivered to the customers but with the associated tardiness penalty costs. The experimentation also showed that mathematical model could solve up to 30-Job problem per week-long planning period relatively fast when there are 2 cells. The number of jobs the textile company had to handle on a weekly basis was about 30 jobs. As a result, the proposed model can be used to make these decisions in similar industrial settings. Some of the future work includes addition of setup times to the model. Allowing lot splitting is another option. Introducing minimum limit on overtime constraint in the future models. In this study we assumed that cells were identical. It is also possible to consider cell size alternatives. Genetic Algorithm approach to solve problem2 can also be considered in future study. One last note about the topic is that if a company uses overtime regularly, it may be worthwhile to adjust capacity levels (increase) to avoid additional overtime costs.

90 90 REFERENCES [1] Hoogeveen J.A., Lenstra J.K. and Veltman B. (1996). Preemptive scheduling in a two-stage multiprocessor flow shop is NP-hard, European Journal of Operational Research, 89(1) [2] Askin, R. M. and Standridge, C. R. (1993). Modeling and analysis of manufacturing systems. New York: Wiley. [3] Suresh N. C. and Kay J. M. (1998). Group technology and cellular manufacturing: A state-of-the-art synthesis of research and practice, Boston: Kluwer Academic. [4] Süer G. A., Saiz M., Dagli C. and Gonzalez W. (1995). Manufacturing cell loading rules and algorithms for connected cells, Manufacturing Research and Technology Journal [5] Süer G.A., Saiz M. and Gonzalez W. (1999). Evaluation of manufacturing cell loading rules for indepent cells, International Journal of Production Research 37(15) [6] Süer G. A., Arikan F. and Babayiğit C. (2008). Bi-objective cell loading problem with non-zero setup times with fuzzy aspiration levels in labour intensive manufacturing cells, International Journal of Production Research 46(2) [7] Süer G. A., Arikan F. and Babayiğit C. (2009). Effects of different fuzzy operators on fuzzy bi-objective cell loading problem in labor-intensive manufacturing cells, Computers & Industrial Engineering 56(2) [8] US Department of Labor, Wages: Overtime pay. (2012). Retrieved from

91 91 [9] Süer G. A., Vazquez R. and Cortes M. (2005) A hybrid approach of genetic algorithms and local optimizers in cell loading, Computers and Industrial Engineering 48(3) [10] Süer G. A. and Dagli C. (2005). Intra-cell manpower transfers and cell loading in labor-intensive manufacturing cells, Computers & Industrial Engineering 48(3) [11] Süer G. A., Cosner J. and Patten A. (2009). Models for cell loading and product sequencing in labor-intensive cells, Computers & Industrial Engineering 56(1) [12] Yarimoglu F. (2009). Cell Loading and Product Sequencing Subject to Manpower Restrictions in Synchronized Manufacturing Cells, Ohio University, [13] Nakamura N., Yoshida T. and Hitomi K. (1978). Group production scheduling for minimum total tardiness Part(I), A IIE Transactions, 10(2) [14] Hitomi K. and Ham I. (1976). Operations scheduling for group technology applications, CIRP Annals, 25(1) [15] Ham I., Hitomi K., Nakamura N. and Yoshida T. (1979). Optimal group scheduling and machining-speed decision under due-date constraints, Transactions of the ASME Journal of Engineering for Industry, 101(5) [16] Pan J. C. H. and Wu C. C. (1998). Single machine group scheduling to minimize mean flow time subject to due date constraints, Production Planning and Control

92 92 [17] Gupta J. N. D. and Chantaravarapan S. (2008). Single machine group scheduling with family setups to minimize total tardiness, International Journal of Production Research 46(6) [18] Süer G. A. and Mese E. M. (2011). Cell loading and family scheduling for jobs with individual due dates, In Operations Management Research and Cellular Manufacturing, Innovative Methods and Approaches, ed. Modrak and Pandian, IGI Global [19] Hanssmann, F. and Hess, S. W. (1960). A linear programming approach to production and employment scheduling. Management Technology Journal, 1(1), Retrieved from [20] Holloway, C. A. and Nelson, R. T. (1974). Job shop scheduling with due dates and overtime capability. Management Science Journal, 21(1), Retrieved from [21] Yura, K. (1994). Production scheduling to satisfy worker s preferences for days off and overtime under due-date constraints. International Journal of Production Economics, 33, Publisher Elsevier. [22] Süer G. A., Santos J. and Vazquez R. (1999b). Scheduling rotary injection molding machines, In Proceedings of the Second Asia-Pacific Conference on Industrial Engineering [23] Süer G. A., Subramanian A. and Huang J. (2009). Heuristic procedures and mathematical models for cell loading and scheduling in a shoe manufacturing company, Computers & Industrial Engineering 56(2)

93 93 [24] Huang J., Süer G. A. and Urs B. R. S. (2011). Genetic Algorithm for Rotary Machine Scheduling with Depent Processing Times, Journal of Intelligent Manufacturing [25] Du, J. and Leung, J. (1990). Minimizing Total Tardiness on one machine is NP-hard. Mathematics of Operation Research, 15(3) [26] Alidaee, B. and Rosa, D. (1997). Scheduling parallel machines to minimize total weighted and unweighted tardiness. Computers & Operations Research, 24(8) [27] Kanet, J. and Li X. (2004). A weighted modified due date rule for sequencing to minimize weighted tardiness, Journal of Scheduling, [28] Bilge U, Kirac, F, Kurtulan M. and Pekgun P. (2002). A tabu search algorithm for parallel machine total tardiness problem, Computers and Operations Research, [29] Hu, P. (2006). Further study of minimizing total tardiness for the worker assignment scheduling problem in the identical parallel machine models. International Journal of Advanced Manufacturing Technology, [30] Akturk, M.S. and Wilson, G.R. (1998). A hierarchical model for the cell loading problem of cellular manufacturing systems. International Journal of Production Research, 36(7) [31] Süer, G.A. and Bera, I.S. (1998). Multi period cell loading and cell size determination, Computers and Industrial Engineering, 35(1-2) [32] Kamat, K. U. (2007). Minimizing total tardiness and crew size in labour intensive cells using mathematical models, M.S. thesis, Ohio University, June.

94 94 [33] Süer, G. A., Mathur, K. and Ji, Y. (2011). Math modeling and GA approaches to simultaneously allocate capacity and schedule cells to maximize profits, Proceedings of 41 st International Conference on Computers & Industrial Engineering, [34] Mathur K. and Süer G. A. (2012). A mathematical model to minimize total tardiness and workforce overtime costs in cellular manufacturing, Proceedings of 42 nd International Conference on Computers & Industrial Engineering, [35] Maxwell W. L. (1970). On Sequencing N Jobs On One Machine To Minimize The Number Of Late Jobs, Management Science, 16(5) [36] Süer G. A., Pico F. and Santiago A. (1997). Identical machine scheduling to minimize the number of tardy jobs when lot-splitting is allowed, Computers & Industrial Engineering 33(1-2)

95 95 APPENDIX A: DATA Product M1 (in min) M2 (in min) M3 (in min) M4 (in min) M5 (in min) M6 Packing (in min) (in min) Production Cleaning Bottleneck Rate (in min) (min/piece) (Pieces/hr) Batch size ( Pieces) Processing Time (in hr) Revenue (in $) Due Date (10 jobs) Due Date (20 jobs) Due Date (30 jobs) Due Date (40 jobs) Due Date (50 jobs) Due Date (60 jobs) Due Date (70 jobs) Due Date (80 jobs) Due Date Due Date (100 (90 jobs) jobs)

96 96 OPEN FORM APPENDIX B: MATHEMATICAL MODEL 1 FOR PROBLEM1 Job P i d i s i # of cells = 2 dvar int+ x11 in 0..1; dvar int+ x12 in 0..1; dvar int+ x21 in 0..1; dvar int+ x22 in 0..1; dvar int+ x31 in 0..1; dvar int+ x32 in 0..1; dvar int+ x41 in 0..1; dvar int+ x42 in 0..1; dvar int+ x51 in 0..1; dvar int+ x52 in 0..1; dvar int+ ot111 in 0..1; dvar int+ ot112 in 0..1; dvar int+ ot121 in 0..1; dvar int+ ot122 in 0..1; dvar int+ ot211 in 0..1; dvar int+ ot212 in 0..1; dvar int+ ot221 in 0..1; dvar int+ ot222 in 0..1; dvar int+ ot311 in 0..1; dvar int+ ot312 in 0..1; dvar int+ ot321 in 0..1; dvar int+ ot322 in 0..1; dvar int+ ot411 in 0..1; dvar int+ ot412 in 0..1; dvar int+ ot421 in 0..1; dvar int+ ot422 in 0..1; dvar int+ ot511 in 0..1; dvar int+ ot512 in 0..1; dvar int+ ot521 in 0..1; dvar int+ ot522 in 0..1;

97 97 dvar int+ ot611 in 0..1; dvar int+ ot612 in 0..1; dvar int+ ot621 in 0..1; dvar int+ ot622 in 0..1; dvar int+ ot711 in 0..1; dvar int+ ot712 in 0..1; dvar int+ ot721 in 0..1; dvar int+ ot722 in 0..1; maximize (1809*x *x12+760*x21+760*x *x *x *x *x *x *x52)-1600*(ot611+ot612+ot621+ot622+ot711+ot712+ot721+ot722)- 450*(ot111+ot112+ot121+ot122+ot211+ot212+ot221+ot222+ot311+ot312+ot321+ot322 +ot411+ot412+ot421+ot422+ot511+ot512+ot521+ot522); subject to { 3*x11 <= 4+3*(ot611+ot612+ot711+ot712)+3*(ot111); 3*x11+5*x21 <= 6+3*(ot611+ot612+ot711+ot712)+3*(ot111+ot112); 3*x11+5*x21+12*x31 <= 13+3*(ot611+ot612+ot711+ot712)+3*(ot111); 3*x11+5*x21+12*x31+22*x41 <= 19+3*(ot611+ot612+ot711+ot712)+3*(ot111+ot112); 3*x11+5*x21+12*x31+22*x41+28*x51 <= 20+3*(ot611+ot612+ot711+ot712)+3*(ot111+ot112+ot211+ot212); 3*x12 <= 4+3*(ot621+ot622+ot721+ot722)+3*(ot121); 3*x12+5*x22 <= 6+3*(ot621+ot622+ot721+ot722)+3*(ot121+ot122); 3*x12+5*x22+12*x32 <= 13+3*(ot621+ot622+ot721+ot722)+3*(ot121); 3*x12+5*x22+12*x32+22*x42 <= 19+3*(ot621+ot622+ot721+ot722)+3*(ot121+ot122); 3*x12+5*x22+12*x32+22*x42+28*x52 <= 20+3*(ot621+ot622+ot721+ot722)+3*(ot121+ot122+ot221+ot222); } x11+x12 <= 1; x21+x22 <= 1; x31+x32 <= 1; x41+x42 <= 1; x51+x52 <= 1;

98 98 CLOSED FORM Data: nparts=30; nmachines=2; P=[5.59,2.64,3.01,3.14,3.43,8.53,4.71,4.91,3.48,5.62,1.98,2.48,4.35,5.14,5.33,6.49, 2.39,3.45,3.58,4.02,3.63,4.82,5.26,6.40,3.15,7.81,6.55,6.92,4.56,6.02]; D=[10.24,11.93,16.95,17.08,17.37,22.47,27.94,28.14, 31.36,33.50,34.51,35.01,36.87,37.67,37.86,39.02, 44.21,45.26,45.39,45.84,50.09,51.28,61.02,62.15, 63.55,63.57,66.95,67.32,69.60,71.06]; JobsDay=[1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,5,5,5,5]; JobsDue=[2,2,1,1,1,1,2,2,2,1,1,1,1,1,1,1, 2,2,2,2,1,1,2,2,2,2,1,1,1,1]; Revenue=[ ,732.57,890.80,892.96, , , , , , ,550.38,690.04, , , , , ,956.72,981.31, ,975.85, , , , , , , , , ];

99 APPENDIX C: MATHEMATICAL MODEL 2 FOR PROBLEM1 99

100 APPENDIX D: MATHEMATICAL MODEL 3 FOR PROBLEM1 100

101 101 APPENDIX E: MATHEMATICAL MODEL 3 WITH TIME LIMIT FOR PROBLEM1

102 APPENDIX F: MATHEMATICAL MODEL 4 FOR PROBLEM1 102

103 103 OPEN FORM APPENDIX G: MATHEMATICAL MODEL FOR PROBLEM2 Job P i d i # of cell = 1 dvar int+ x11 in 0..1; dvar int+ x12 in 0..1; dvar int+ x13 in 0..1; dvar int+ x14 in 0..1; dvar int+ x21 in 0..1; dvar int+ x22 in 0..1; dvar int+ x23 in 0..1; dvar int+ x24 in 0..1; dvar int+ x31 in 0..1; dvar int+ x32 in 0..1; dvar int+ x33 in 0..1; dvar int+ x34 in 0..1; dvar int+ x41 in 0..1; dvar int+ x42 in 0..1; dvar int+ x43 in 0..1; dvar int+ x44 in 0..1; dvar int+ T1 in 0..maxint; dvar int+ T2 in 0..maxint; dvar int+ T3 in 0..maxint; dvar int+ T4 in 0..maxint; dvar int+ c1 in 0..maxint; dvar int+ c2 in 0..maxint; dvar int+ c3 in 0..maxint; dvar int+ c4 in 0..maxint; dvar int+ y11 in 0..1;

104 104 dvar int+ y12 in 0..1; dvar int+ y13 in 0..1; dvar int+ y14 in 0..1; dvar int+ y15 in 0..1; dvar int+ y21 in 0..1; dvar int+ y22 in 0..1; dvar int+ y23 in 0..1; dvar int+ y24 in 0..1; dvar int+ y25 in 0..1; dvar int+ y31 in 0..1; dvar int+ y32 in 0..1; dvar int+ y33 in 0..1; dvar int+ y34 in 0..1; dvar int+ y35 in 0..1; dvar int+ y41 in 0..1; dvar int+ y42 in 0..1; dvar int+ y43 in 0..1; dvar int+ y44 in 0..1; dvar int+ y45 in 0..1; dvar int+ otm in 0..1; dvar int+ ott in 0..1; dvar int+ otw in 0..1; dvar int+ otth in 0..1; dvar int+ otf in 0..1; dvar int+ a1 in 0..1; dvar int+ a2 in 0..1; dvar int+ a3 in 0..1; dvar int+ a4 in 0..1; dvar int+ a5 in 0..1; dvar int+ z12 in 0..1; dvar int+ z13 in 0..1; dvar int+ z14 in 0..1; dvar int+ z15 in 0..1; dvar int+ z22 in 0..1; dvar int+ z23 in 0..1; dvar int+ z24 in 0..1; dvar int+ z25 in 0..1;

105 105 dvar int+ z32 in 0..1; dvar int+ z33 in 0..1; dvar int+ z34 in 0..1; dvar int+ z35 in 0..1; dvar int+ z42 in 0..1; dvar int+ z43 in 0..1; dvar int+ z44 in 0..1; dvar int+ z45 in 0..1; dvar int+ w11 in 0..1; dvar int+ w12 in 0..1; dvar int+ w13 in 0..1; dvar int+ w14 in 0..1; dvar int+ w15 in 0..1; dvar int+ w21 in 0..1; dvar int+ w22 in 0..1; dvar int+ w23 in 0..1; dvar int+ w24 in 0..1; dvar int+ w25 in 0..1; dvar int+ w31 in 0..1; dvar int+ w32 in 0..1; dvar int+ w33 in 0..1; dvar int+ w34 in 0..1; dvar int+ w35 in 0..1; minimize 160*(T1+T2+T3+T4)+450*(otM+otT+otW+otTh+otF); subject to { x11+x12+x13+x14==1; x21+x22+x23+x24==1; x31+x32+x33+x34==1; x41+x42+x43+x44==1; x11+x21+x31+x41==1; x12+x22+x32+x42==1; x13+x23+x33+x43==1; x14+x24+x34+x44==1;

106 106 c1==8*x11+12*x21+8*x31+6*x41; c2==c1+8*x12+12*x22+8*x32+6*x42; c3==c2+8*x13+12*x23+8*x33+6*x43; c4==c3+8*x14+12*x24+8*x34+6*x44; c1-(10*x11+15*x21+16*x31+18*x41+3*(y11+y12+y13+y14+y15))<=t1; c2-(10*x12+15*x22+16*x32+18*x42+3*(y21+y22+y23+y24+y25))<=t2; c3-(10*x13+15*x23+16*x33+18*x43+3*(y31+y32+y33+y34+y35))<=t3; c4-(10*x14+15*x24+16*x34+18*x44+3*(y41+y42+y43+y44+y45))<=t4; *otM-c1<=50*(1-z12); y12+y13+y14+y15<=50*z12; *(otM+otT)-c1<=50*(1-z13); y13+y14+y15<=50*z13; *(otM+otT+otW)-c1<=50*(1-z14); y14+y15<=50*z14; *(otM+otT+otW+otTh)-c1<=50*(1-z15); y15<=50*z15; *otM-c2<=50*(1-z22); y22+y23+y24+y25<=50*z22; *(otM+otT)-c2<=50*(1-z23); y23+y24+y25<=50*z23; *(otM+otT+otW)-c2<=50*(1-z24); y24+y25<=50*z24; *(otM+otT+otW+otTh)-c2<=50*(1-z25); y25<=50*z25; *otM-c3<=50*(1-z32); y32+y33+y34+y35<=50*z32; *(otM+otT)-c3<=50*(1-z33); y33+y34+y35<=50*z33; *(otM+otT+otW)-c3<=50*(1-z34); y34+y35<=50*z34;

107 *(otM+otT+otW+otTh)-c3<=50*(1-z35); y35<=50*z35; *otM-c4<=50*(1-z42); y42+y43+y44+y45<=50*z42; *(otM+otT)-c4<=50*(1-z43); y43+y44+y45<=50*z43; *(otM+otT+otW)-c4<=50*(1-z44); y44+y45<=50*z44; *(otM+otT+otW+otTh)-c4<=50*(1-z45); y45<=50*z45; y11<=50*(1-w11); 3-y21-y31-y41<=50*w11; y12<=50*(1-w12); 3-y22-y32-y42<=50*w12; y13<=50*(1-w13); 3-y23-y33-y43<=50*w13; y14<=50*(1-w14); 3-y24-y34-y44<=50*w14; y15<=50*(1-w15); 3-y25-y35-y45<=50*w15; y21<=50*(1-w21); 2-y31-y41<=50*w21; y22<=50*(1-w22); 2-y32-y42<=50*w22; y23<=50*(1-w23); 2-y33-y43<=50*w23; y24<=50*(1-w24); 2-y34-y44<=50*w24;

108 108 y25<=50*(1-w25); 2-y35-y45<=50*w25; y31<=50*(1-w31); 1-y41<=50*w31; y32<=50*(1-w32); 1-y42<=50*w32; y33<=50*(1-w33); 1-y43<=50*w33; y34<=50*(1-w34); 1-y44<=50*w34; y35<=50*(1-w35); 1-y45<=50*w35; 1-otM<=50*a1; (y11+y21+y31+y41)<=50*(1-a1); 1-otT<=50*a2; (y12+y22+y32+y42)<=50*(1-a2); 1-otW<=50*a3; (y13+y23+y33+y43)<=50*(1-a3); 1-otTh<=50*a4; (y14+y24+y34+y44)<=50*(1-a4); 1-otF<=50*a5; (y15+y25+y35+y45)<=50*(1-a5); }

109 109 CLOSED FORM /********************************************* * OPL 6.3 Model * Author: km * Creation Date: Apr 11, 2012 at 7:33:35 PM *********************************************/ int nparts =...; int ncells =...; range Parts = 1..nParts; range Cells = 1..nCells; float P[Parts] =...; float D[Parts] =...; float TardinessPenalty=...; dvar int+ x[parts][parts][cells] in 0..1; dvar float+ T[Parts][Cells] in 0..maxint; dvar float+ C[Parts][Cells] in 0..maxint; dvar int+ y[parts][1..5][cells] in 0..1; dvar int+ ot[1..5][cells] in 0..1; dvar int+ a[1..5][cells] in 0..1; dvar int+ z[parts][2..5][cells] in 0..1; dvar int+ w[1..nparts-1][1..5][cells] in 0..1; minimize TardinessPenalty*(sum(i in Parts)sum(j in Cells)(T[i][j])) + 450*(sum(i in 1..5)sum(j in Cells)(ot[i][j])); subject to { forall (i in Parts) { sum(j in Parts)sum(k in Cells) x[i][j][k]==1; } forall (k in Cells) { forall (j in Parts) { sum(i in Parts) x[i][j][k] <= 1; } } forall (k in Cells)

110 110 { C[1][k]==sum(i in Parts)(P[i]*x[i][1][k]); } forall (k in Cells) { forall (j in 2..nParts) { C[j][k]==C[j-1][k]+sum(i in Parts)(P[i]*x[i][j][k]); } } forall (k in Cells) { forall (j in Parts) { C[j][k]-(sum(i in Parts)(D[i]*x[i][j][k])+3*sum(d in 1..5)(y[j][d][k])) <= T[j][k]; } } forall (k in Cells) { forall (j in Parts) { *ot[1][k]-C[j][k] <= 999*(1-z[j][2][k]); } } forall (k in Cells) { forall (j in Parts) { *(ot[1][k]+ot[2][k])-C[j][k] <= 999*(1-z[j][3][k]); } } forall (k in Cells) { forall (j in Parts) { *(ot[1][k]+ot[2][k]+ot[3][k])-C[j][k] <= 999*(1- z[j][4][k]); } }

111 111 forall (k in Cells) { forall (j in Parts) { *(ot[1][k]+ot[2][k]+ot[3][k]+ot[4][k])-C[j][k] <= 999*(1-z[j][5][k]); } } forall (c in Cells) { forall (j in Parts) { forall (k in 2..5) { sum(d in k..5)(y[j][d][c]) <= 999*z[j][k][c]; } } } forall (k in Cells) { forall (j in 1..nParts-1) { forall (d in 1..5) { y[j][d][k] <= 999*(1-w[j][d][k]); } } } forall (c in Cells) { forall (k in 0..nParts-2) { forall (d in 1..5) { (nparts-1)-k-sum(j in 2+k..nParts)(y[j][d][c]) <= 999*w[k+1][d][c]; } } }

112 112 forall (k in Cells) { forall (d in 1..5) { 1-ot[d][k] <= 999*a[d][k]; } } } forall (k in Cells) { forall (d in 1..5) { sum(j in Parts)(y[j][d][k]) <= 999*(1-a[d][k]); } } Data: nparts=30; ncells=2; P=[ ]; D=[ ]; TardinessPenalty=160;

113 113 APPENDIX H: GENETIC ALGORITHM 1 and 2 MATLAB CODE FOR PROBLEM 1 clearvars ptime duedate jobsday Jobs chrome chrr dcellular completiontime totalduedate fitnessfunction reproprob bestchromeeachgen bestfitnessvaluegen chromepair chromecrossover chromemutation fitnessfunctionselection chromeselection; wdcost=450; wecost=1600; wddurationovertime=3; wedurationovertime=8; njobs=input('enter total number of jobs = ' ); validateattributes(njobs, {'numeric'}, {'integer'}); ncells=input('enter total number of cells = ' ); validateattributes(ncells, {'numeric'}, {'integer'}); pop=input('enter Population Size = ' ); validateattributes(pop, {'numeric'}, {'integer'}); gen=input('enter # of Generations = ' ); validateattributes(gen, {'numeric'}, {'integer'}); pc=input('enter crossover probability (between 0 & 1)= '); validateattributes(pc, {'double'}, {'>', 0, '<', 1}); pm=input('enter mutation probability (between 0 & 1)= '); validateattributes(pm, {'double'}, {'>', 0, '<', 1}); flag=1; while(flag==1) strcrossover=input('choose Order Crossover "od" or Position-based Crossover "ps"= ','s'); switch lower(strcrossover) case {'od'} disp('you choose Order Crossover'); flag=0; break; case {'ps'} disp('you choose Position-based Crossover'); flag=0; break; otherwise disp('enter from the given choice'); fid = -1; msg = ''; while fid < 0 disp(msg); filename = input('enter name of Data file to open: ', 's'); [fid,msg] = fopen(filename); A=fscanf(fid,'%f')';

114 114 fclose(fid); for i = 1:nJobs ptime(i)=a(i); validateattributes(ptime, {'numeric'}, {'finite'}); j=1; for i = njobs+1:2*njobs duedate(j)=a(i); validateattributes(duedate, {'numeric'}, {'finite'}); j=j+1; j=1; for i = 2*nJobs+1:3*nJobs jobsday(j)=a(i); validateattributes(jobsday, {'numeric'}, {'>', 0, '<', 8, 'integer'}); j=j+1; j=1; for i = 3*nJobs+1:4*nJobs jobs(j)=a(i); validateattributes(jobs, {'numeric'}, {'>', 0, '<', 3, 'integer'}); j=j+1; j=1; for i = 4*nJobs+1:5*nJobs earlyjobprofit(j)=a(i); validateattributes(earlyjobprofit, {'numeric'}, {'finite'}); j=j+1; tic; for j = 1:pop chrr=randsample(njobs,njobs); for i = njobs+1: 2*nJobs chrr(i)=randsample(ncells,1); chrr(2*njobs+1)=randi([0 5],1,1); chrr(2*njobs+2)=randi([1 2],1,1); chrr(2*njobs+3)=randi([0 4],1,1); chrome{j}=chrr'; for generation = 1:gen

115 clearvars dcellular chromecrossover chromemutation chromeselection; for p = 1:pop k=zeros(1,ncells); for j = 1:nJobs for i = 1:nCells if(chrome{p}(j+njobs)==i) dcellular{p}{i}(1+k(i))=chrome{p}(j); k(i)=k(i)+1; 115 for p = 1:pop for i = 1:length(dCellular{p}) z=0; for j = 1:length(dCellular{p}{i}) completiontime{p}(dcellular{p}{i}(j))=ptime(dcellular{p}{i}(j))+z; z=completiontime{p}(dcellular{p}{i}(j)); for p =1:pop for j = 1:nJobs z=0; if(chrome{p}(2*njobs+1) > jobsday(j)) if(mod(jobs(j),2)==1) z=2*jobsday(j)-1; else z=2*jobsday(j); if(chrome{p}(2*njobs+1) == jobsday(j)) if(chrome{p}(2*njobs+2) >= jobs(j)) if(mod(jobs(j),2)==1) z=2*jobsday(j)-1; else z=2*jobsday(j); else z=2*jobsday(j)-1; if(chrome{p}(2*njobs+1) < jobsday(j)) if(chrome{p}(2*njobs+1)==0) z=0; else if(mod(chrome{p}(2*njobs+2),2)==1)

116 116 z=2*chrome{p}(2*njobs+1)-1; else z=2*chrome{p}(2*njobs+1); zwd=z; zwe=chrome{p}(2*njobs+3); totalduedate{p}(j)=duedate(j)+wddurationovertime*zwd+wedurationovertime *zwe; for p = 1:pop totalearlyjobrevenue=0; wdovertime=0; weovertime=0; for j = 1:nJobs if(totalduedate{p}(j)>= completiontime{p}(j)) totalearlyjobrevenue = totalearlyjobrevenue+earlyjobprofit(j); weovertime=chrome{p}(2*njobs+3); if(chrome{p}(2*njobs+1)==0) wdovertime=0; else if(mod(chrome{p}(2*njobs+2),2)==1) wdovertime=2*chrome{p}(2*njobs+1)-1; else wdovertime=2*chrome{p}(2*njobs+1); fitnessfunction(p)=totalearlyjobrevenue - wdcost*ncells*wdovertime - wecost*ncells*weovertime; [f,i]=max(fitnessfunction); bestchromeeachgen{generation}=chrome{i}; bestfitnessvaluegen(generation)=f; for p = 1:pop reproprob(p)=fitnessfunction(p)/sum(fitnessfunction); cumulativeprob=cumsum(reproprob); for i = 1:pop q=rand;

117 117 for j = 1:pop-1 if(j==1) if(q <= cumulativeprob(j)) chromepair{i}=chrome{j}; break; if(q > cumulativeprob(j) && q <= cumulativeprob(j+1)) chromepair{i}=chrome{j+1}; break; for j = 1:2:pop-mod(pop,2) q=rand; if(q > pc) chromecrossover{j}=chromepair{j}; chromecrossover{j+1}=chromepair{j+1}; else if(strcmp('ps',lower(strcrossover))==1) if(mod(njobs,2)==0) x = njobs/2; else x = (njobs-1)/2; a=sort(randsample(njobs,x)); o = randi([1 2],1,1); for i = 0:1 for w = 1:x chromecrossover{j+i}(a(w))=chromepair{j+i}(a(w)); chromecrossover{j+i}(a(w)+njobs)=chromepair{j+i}(a(w)+njobs); for w = 1:nJobs flag=zeros(1,njobs); for ww = 1:nJobs if(chromepair{j+1- i}(w)==chromecrossover{j+i}(ww)) flag(w)=-1; break; if(flag(w)==0) for put = 1:nJobs if(chromecrossover{j+i}(put)==0) chromecrossover{j+i}(put)=chromepair{j+1-i}(w); chromecrossover{j+i}(put+njobs)=chromepair{j+1-i}(w+njobs); break;

118 118 for w = 2*nJobs+1:2*nJobs+o chromecrossover{j+i}(w)=chromepair{j+i}(w); for w = 2*nJobs+o+1:2*nJobs+3 chromecrossover{j+i}(w)=chromepair{j+1-i}(w); else a=sort(randsample(njobs,2)); o = randi([1 2],1,1); for i = 0:1 for w = a(1):a(2) chromecrossover{j+i}(w)=chromepair{j+i}(w); chromecrossover{j+i}(w+njobs)=chromepair{j+i}(w+njobs); for w = 1:nJobs flag=zeros(1,njobs); for ww = 1:nJobs if(chromepair{j+1- i}(w)==chromecrossover{j+i}(ww)) flag(w)=-1; break; if(flag(w)==0) for put = 1:nJobs if(chromecrossover{j+i}(put)==0) chromecrossover{j+i}(put)=chromepair{j+1-i}(w); chromecrossover{j+i}(put+njobs)=chromepair{j+1-i}(w+njobs); break; for w = 2*nJobs+1:2*nJobs+o chromecrossover{j+i}(w)=chromepair{j+i}(w); for w = 2*nJobs+o+1:2*nJobs+3 chromecrossover{j+i}(w)=chromepair{j+1-i}(w);

119 119 if(mod(pop,2)==1) chromecrossover{pop}=chromepair{pop}; for j = 1:pop q=rand; if(q > pm) chromemutation{j}=chromecrossover{j}; else a=sort(randsample(njobs,2)); for i = 1:nJobs if(i==a(1) i==a(2)) if(i==a(1)) chromemutation{j}(i)=chromecrossover{j}(a(2)); chromemutation{j}(i+njobs)=chromecrossover{j}(a(2)+njobs); else chromemutation{j}(i)=chromecrossover{j}(a(1)); chromemutation{j}(i+njobs)=chromecrossover{j}(a(1)+njobs); else chromemutation{j}(i)=chromecrossover{j}(i); chromemutation{j}(i+njobs)=chromecrossover{j}(i+njobs); clearvars B; k=zeros(1,ncells); for c = njobs+1:2*njobs B(chromeMutation{j}(c))=k(chromeMutation{j}(c))+1; k(chromemutation{j}(c))=k(chromemutation{j}(c))+1; for c = njobs+1:2*njobs q=rand; if(q <= pm) [t,tt]=min(b); if(tt ~= chromemutation{j}(c)) B(chromeMutation{j}(c))=B(chromeMutation{j}(c))-1; chromemutation{j}(c)=tt; B(tt)=B(tt)+1;

120 120 for i = 2*nJobs+1:2*nJobs+3 q=rand; if(q>pm) chromemutation{j}(i)=chromecrossover{j}(i); else if(i==2*njobs+1) a=randi([0 5],1,1); for ww = 1:100 if(chromecrossover{j}(i)==a) a=randi([0 5],1,1); else chromemutation{j}(i)=a; break; continue; if(i==2*njobs+2) if(chromecrossover{j}(i)==1) chromemutation{j}(i)=2; else chromemutation{j}(i)=1; continue; if(i==2*njobs+3) a=randi([0 4],1,1); for ww = 1:100 if(chromecrossover{j}(i)==a) a=randi([0 4],1,1); else chromemutation{j}(i)=a; break; continue; clearvars dcellular; for p = 1:pop k=zeros(1,ncells); for j = 1:nJobs for i = 1:nCells if(chromemutation{p}(j+njobs)==i)

121 121 dcellular{p}{i}(1+k(i))=chromemutation{p}(j); k(i)=k(i)+1; for p = 1:pop for i = 1:length(dCellular{p}) z=0; for j = 1:length(dCellular{p}{i}) completiontime{p}(dcellular{p}{i}(j))=ptime(dcellular{p}{i}(j))+z; z=completiontime{p}(dcellular{p}{i}(j)); for p =1:pop for j = 1:nJobs z=0; if(chromemutation{p}(2*njobs+1) > jobsday(j)) if(mod(jobs(j),2)==1) z=2*jobsday(j)-1; else z=2*jobsday(j); if(chromemutation{p}(2*njobs+1) == jobsday(j)) if(chromemutation{p}(2*njobs+2) >= jobs(j)) if(mod(jobs(j),2)==1) z=2*jobsday(j)-1; else z=2*jobsday(j); else z=2*jobsday(j)-1; if(chromemutation{p}(2*njobs+1) < jobsday(j)) if(chromemutation{p}(2*njobs+1)==0) z=0; else if(mod(chromemutation{p}(2*njobs+2),2)==1) z=2*chromemutation{p}(2*njobs+1)-1; else z=2*chromemutation{p}(2*njobs+1); zwd=z;

122 122 zwe=chromemutation{p}(2*njobs+3); totalduedate{p}(j)=duedate(j)+wddurationovertime*zwd+wedurationovertime *zwe; for p = 1:pop totalearlyjobrevenue=0; wdovertime=0; weovertime=0; for j = 1:nJobs if(totalduedate{p}(j)>= completiontime{p}(j)) totalearlyjobrevenue = totalearlyjobrevenue+earlyjobprofit(j); weovertime=chromemutation{p}(2*njobs+3); if(chromemutation{p}(2*njobs+1)==0) wdovertime=0; else if(mod(chromemutation{p}(2*njobs+2),2)==1) wdovertime=2*chromemutation{p}(2*njobs+1)-1; else wdovertime=2*chromemutation{p}(2*njobs+1); fitnessfunctionselection(pop+p)=totalearlyjobrevenue - wdcost*ncells*wdovertime - wecost*ncells*weovertime; for p = 1:pop fitnessfunctionselection(p)=fitnessfunction(p); for p = 1:pop chromeselection{p}=chrome{p}; chromeselection{pop+p}=chromemutation{p}; for i = 1:pop [fff,rr]=max(fitnessfunctionselection); chrome{i}=chromeselection{rr}; fitnessfunctionselection(rr)=-99;

123 123 display(sprintf('****best Chromosome in generation %d****',generation)); display(bestchromeeachgen{generation}); display(sprintf('****best fitness value in generation %d****',generation)); display(bestfitnessvaluegen(generation)); [f,i]=max(bestfitnessvaluegen); toc; display(sprintf('****best Fitness Function Value from all the generation = %d****',f)); display(sprintf('****best Chromosome representation from all the generations (found in Generation # %d) = ****',i)); display(bestchromeeachgen{i}); Data: In above data file, the data entered is in the order of processing time, due date, jobs due day, jobs due, jobs revenue.

124 124 APPENDIX I: GENETIC ALGORITHM 3 and 4 MATLAB CODE FOR PROBLEM 1 clearvars ptime duedate jobsday Jobs chrome chrr dcellular completiontime totalduedate fitnessfunction reproprob bestchromeeachgen bestfitnessvaluegen chromepair chromecrossover chromemutation chromemuselot fitnessfunctionselection chromeselection; wdcost=450; wecost=1600; wddurationovertime=3; wedurationovertime=8; njobs=input('enter total number of jobs = ' ); validateattributes(njobs, {'numeric'}, {'integer'}); ncells=input('enter total number of cells = ' ); validateattributes(ncells, {'numeric'}, {'integer'}); pop=input('enter Population Size = ' ); validateattributes(pop, {'numeric'}, {'integer'}); gen=input('enter # of Generations = ' ); validateattributes(gen, {'numeric'}, {'integer'}); pc=input('enter crossover probability (between 0 & 1)= '); validateattributes(pc, {'double'}, {'>', 0, '<', 1}); pm=input('enter mutation probability (between 0 & 1)= '); validateattributes(pm, {'double'}, {'>', 0, '<', 1}); flag=1; while(flag==1) strcrossover=input('choose Order Crossover "od" or Position-based Crossover "ps"= ','s'); switch lower(strcrossover) case {'od'} disp('you choose Order Crossover'); flag=0; break; case {'ps'} disp('you choose Position-based Crossover'); flag=0; break; otherwise disp('enter from the given choice'); fid = -1; msg = ''; while fid < 0 disp(msg); filename = input('enter name of Data file to open: ', 's'); [fid,msg] = fopen(filename); A=fscanf(fid,'%f')';

125 125 fclose(fid); for i = 1:nJobs ptime(i)=a(i); validateattributes(ptime, {'numeric'}, {'finite'}); j=1; for i = njobs+1:2*njobs duedate(j)=a(i); validateattributes(duedate, {'numeric'}, {'finite'}); j=j+1; j=1; for i = 2*nJobs+1:3*nJobs jobsday(j)=a(i); validateattributes(jobsday, {'numeric'}, {'>', 0, '<', 8, 'integer'}); j=j+1; j=1; for i = 3*nJobs+1:4*nJobs jobs(j)=a(i); validateattributes(jobs, {'numeric'}, {'>', 0, '<', 3, 'integer'}); j=j+1; j=1; for i = 4*nJobs+1:5*nJobs earlyjobprofit(j)=a(i); validateattributes(earlyjobprofit, {'numeric'}, {'finite'}); j=j+1; tic; for j = 1:pop chrr=randsample(njobs,njobs); for i = njobs+1: 2*nJobs chrr(i)=randsample(ncells,1); chrr(2*njobs+1)=randi([0 5],1,1); chrr(2*njobs+2)=randi([1 2],1,1); chrr(2*njobs+3)=randi([0 4],1,1); chrome{j}=chrr';

126 126 for generation = 1:gen clearvars dcellular chromecrossover chromemutation chromemuselot chromeselection; for p = 1:pop k=zeros(1,ncells); for j = 1:nJobs for i = 1:nCells if(chrome{p}(j+njobs)==i) dcellular{p}{i}(1+k(i))=chrome{p}(j); k(i)=k(i)+1; for p = 1:pop for i = 1:length(dCellular{p}) z=0; for j = 1:length(dCellular{p}{i}) completiontime{p}(dcellular{p}{i}(j))=ptime(dcellular{p}{i}(j))+z; z=completiontime{p}(dcellular{p}{i}(j)); for p =1:pop for j = 1:nJobs z=0; if(chrome{p}(2*njobs+1) > jobsday(j)) if(mod(jobs(j),2)==1) z=2*jobsday(j)-1; else z=2*jobsday(j); if(chrome{p}(2*njobs+1) == jobsday(j)) if(chrome{p}(2*njobs+2) >= jobs(j)) if(mod(jobs(j),2)==1) z=2*jobsday(j)-1; else z=2*jobsday(j); else z=2*jobsday(j)-1; if(chrome{p}(2*njobs+1) < jobsday(j))

127 127 if(chrome{p}(2*njobs+1)==0) z=0; else if(mod(chrome{p}(2*njobs+2),2)==1) z=2*chrome{p}(2*njobs+1)-1; else z=2*chrome{p}(2*njobs+1); zwd=z; zwe=chrome{p}(2*njobs+3); totalduedate{p}(j)=duedate(j)+wddurationovertime*zwd+wedurationovertime *zwe; for p = 1:pop totalearlyjobrevenue=0; wdovertime=0; weovertime=0; for j = 1:nJobs if(totalduedate{p}(j)>= completiontime{p}(j)) totalearlyjobrevenue = totalearlyjobrevenue+earlyjobprofit(j); weovertime=chrome{p}(2*njobs+3); if(chrome{p}(2*njobs+1)==0) wdovertime=0; else if(mod(chrome{p}(2*njobs+2),2)==1) wdovertime=2*chrome{p}(2*njobs+1)-1; else wdovertime=2*chrome{p}(2*njobs+1); fitnessfunction(p)=totalearlyjobrevenue - wdcost*ncells*wdovertime - wecost*ncells*weovertime; [f,i]=max(fitnessfunction); bestchromeeachgen{generation}=chrome{i}; bestfitnessvaluegen(generation)=f;

128 128 for p = 1:pop reproprob(p)=fitnessfunction(p)/sum(fitnessfunction); cumulativeprob=cumsum(reproprob); for i = 1:pop q=rand; for j = 1:pop-1 if(j==1) if(q <= cumulativeprob(j)) chromepair{i}=chrome{j}; break; if(q > cumulativeprob(j) && q <= cumulativeprob(j+1)) chromepair{i}=chrome{j+1}; break; for j = 1:2:pop-mod(pop,2) q=rand; if(q > pc) chromecrossover{j}=chromepair{j}; chromecrossover{j+1}=chromepair{j+1}; else if(strcmp('ps',lower(strcrossover))==1) if(mod(njobs,2)==0) x = njobs/2; else x = (njobs-1)/2; a=sort(randsample(njobs,x)); o = randi([1 2],1,1); for i = 0:1 for w = 1:x chromecrossover{j+i}(a(w))=chromepair{j+i}(a(w)); chromecrossover{j+i}(a(w)+njobs)=chromepair{j+i}(a(w)+njobs); for w = 1:nJobs flag=zeros(1,njobs); for ww = 1:nJobs if(chromepair{j+1- i}(w)==chromecrossover{j+i}(ww)) flag(w)=-1; break;

129 129 if(flag(w)==0) for put = 1:nJobs if(chromecrossover{j+i}(put)==0) chromecrossover{j+i}(put)=chromepair{j+1-i}(w); chromecrossover{j+i}(put+njobs)=chromepair{j+1-i}(w+njobs); break; for w = 2*nJobs+1:2*nJobs+o chromecrossover{j+i}(w)=chromepair{j+i}(w); for w = 2*nJobs+o+1:2*nJobs+3 chromecrossover{j+i}(w)=chromepair{j+1-i}(w); else a=sort(randsample(njobs,2)); o = randi([1 2],1,1); for i = 0:1 for w = a(1):a(2) chromecrossover{j+i}(w)=chromepair{j+i}(w); chromecrossover{j+i}(w+njobs)=chromepair{j+i}(w+njobs); for w = 1:nJobs flag=zeros(1,njobs); for ww = 1:nJobs if(chromepair{j+1- i}(w)==chromecrossover{j+i}(ww)) flag(w)=-1; break; if(flag(w)==0) for put = 1:nJobs if(chromecrossover{j+i}(put)==0) chromecrossover{j+i}(put)=chromepair{j+1-i}(w); chromecrossover{j+i}(put+njobs)=chromepair{j+1-i}(w+njobs); break;

130 130 for w = 2*nJobs+1:2*nJobs+o chromecrossover{j+i}(w)=chromepair{j+i}(w); for w = 2*nJobs+o+1:2*nJobs+3 chromecrossover{j+i}(w)=chromepair{j+1-i}(w); if(mod(pop,2)==1) chromecrossover{pop}=chromepair{pop}; for j = 1:pop q=rand; if(q > pm) chromemutation{j}=chromecrossover{j}; else a=sort(randsample(njobs,2)); for i = 1:nJobs if(i==a(1) i==a(2)) if(i==a(1)) chromemutation{j}(i)=chromecrossover{j}(a(2)); chromemutation{j}(i+njobs)=chromecrossover{j}(a(2)+njobs); else chromemutation{j}(i)=chromecrossover{j}(a(1)); chromemutation{j}(i+njobs)=chromecrossover{j}(a(1)+njobs); else chromemutation{j}(i)=chromecrossover{j}(i); chromemutation{j}(i+njobs)=chromecrossover{j}(i+njobs); clearvars B; k=zeros(1,ncells); for c = njobs+1:2*njobs B(chromeMutation{j}(c))=k(chromeMutation{j}(c))+1; k(chromemutation{j}(c))=k(chromemutation{j}(c))+1; for c = njobs+1:2*njobs q=rand; if(q <= pm) [t,tt]=min(b);

131 131 if(tt ~= chromemutation{j}(c)) B(chromeMutation{j}(c))=B(chromeMutation{j}(c))-1; chromemutation{j}(c)=tt; B(tt)=B(tt)+1; for i = 2*nJobs+1:2*nJobs+3 q=rand; if(q>pm) chromemutation{j}(i)=chromecrossover{j}(i); else if(i==2*njobs+1) a=randi([0 5],1,1); for ww = 1:100 if(chromecrossover{j}(i)==a) a=randi([0 5],1,1); else chromemutation{j}(i)=a; break; continue; if(i==2*njobs+2) if(chromecrossover{j}(i)==1) chromemutation{j}(i)=2; else chromemutation{j}(i)=1; continue; if(i==2*njobs+3) a=randi([0 4],1,1); for ww = 1:100 if(chromecrossover{j}(i)==a) a=randi([0 4],1,1); else chromemutation{j}(i)=a; break; continue; clearvars chromemuselot; chromemuselot{1}=chromemutation{j}; if(chromemutation{j}(2*njobs+1)==5 && chromemutation{j}(2*njobs+2)==2) chromemuselot{2}=chromemutation{j};

132 132 else for o = 1:2*nJobs chromemuselot{2}(o)=chromemutation{j}(o); if(chromemutation{j}(2*njobs+1)==0) chromemuselot{2}(2*njobs+1)=1; chromemuselot{2}(2*njobs+2)=1; chromemuselot{2}(2*njobs+3)=chromemutation{j}(2*njobs+3); else if(chromemutation{j}(2*njobs+2)==1) chromemuselot{2}(2*njobs+1)=chromemutation{j}(2*njobs+1); chromemuselot{2}(2*njobs+2)=2; chromemuselot{2}(2*njobs+3)=chromemutation{j}(2*njobs+3); else chromemuselot{2}(2*njobs+1)=chromemutation{j}(2*njobs+1)+1; chromemuselot{2}(2*njobs+2)=1; chromemuselot{2}(2*njobs+3)=chromemutation{j}(2*njobs+3); if(chromemutation{j}(2*njobs+3)==0) chromemuselot{3}=chromemutation{j}; else for o = 1:2*nJobs+2 chromemuselot{3}(o)=chromemutation{j}(o); chromemuselot{3}(2*njobs+3)=chromemutation{j}(2*njobs+3)-1; clearvars dcellular; for p = 1:3 k=zeros(1,ncells); for jj = 1:nJobs for i = 1:nCells if(chromemuselot{p}(jj+njobs)==i) dcellular{p}{i}(1+k(i))=chromemuselot{p}(jj); k(i)=k(i)+1; for p = 1:3 for i = 1:length(dCellular{p})

133 133 z=0; for jj = 1:length(dCellular{p}{i}) completiontime{p}(dcellular{p}{i}(jj))=ptime(dcellular{p}{i}(jj))+z; z=completiontime{p}(dcellular{p}{i}(jj)); for p =1:3 for jj = 1:nJobs z=0; if(chromemuselot{p}(2*njobs+1) > jobsday(jj)) if(mod(jobs(jj),2)==1) z=2*jobsday(jj)-1; else z=2*jobsday(jj); if(chromemuselot{p}(2*njobs+1) == jobsday(jj)) if(chromemuselot{p}(2*njobs+2) >= jobs(jj)) if(mod(jobs(jj),2)==1) z=2*jobsday(jj)-1; else z=2*jobsday(jj); else z=2*jobsday(jj)-1; if(chromemuselot{p}(2*njobs+1) < jobsday(jj)) if(chromemuselot{p}(2*njobs+1)==0) z=0; else if(mod(chromemuselot{p}(2*njobs+2),2)==1) z=2*chromemuselot{p}(2*njobs+1)-1; else z=2*chromemuselot{p}(2*njobs+1); zwd=z; zwe=chromemuselot{p}(2*njobs+3); totalduedate{p}(jj)=duedate(jj)+wddurationovertime*zwd+wedurationoverti me*zwe; for p = 1:3 totalearlyjobrevenue=0; wdovertime=0; weovertime=0;

134 134 for jj = 1:nJobs if(totalduedate{p}(jj)>= completiontime{p}(jj)) totalearlyjobrevenue = totalearlyjobrevenue+earlyjobprofit(jj); weovertime=chromemuselot{p}(2*njobs+3); if(chromemuselot{p}(2*njobs+1)==0) wdovertime=0; else if(mod(chromemuselot{p}(2*njobs+2),2)==1) wdovertime=2*chromemuselot{p}(2*njobs+1)-1; else wdovertime=2*chromemuselot{p}(2*njobs+1); fitnessfunctionmuot(p)=totalearlyjobrevenue - wdcost*ncells*wdovertime - wecost*ncells*weovertime; [fff,rr]=max(fitnessfunctionmuot); chromemutation{j}=chromemuselot{rr}; clearvars dcellular; for p = 1:pop k=zeros(1,ncells); for j = 1:nJobs for i = 1:nCells if(chromemutation{p}(j+njobs)==i) dcellular{p}{i}(1+k(i))=chromemutation{p}(j); k(i)=k(i)+1; for p = 1:pop for i = 1:length(dCellular{p}) z=0; for j = 1:length(dCellular{p}{i}) completiontime{p}(dcellular{p}{i}(j))=ptime(dcellular{p}{i}(j))+z; z=completiontime{p}(dcellular{p}{i}(j));

135 135 for p =1:pop for j = 1:nJobs z=0; if(chromemutation{p}(2*njobs+1) > jobsday(j)) if(mod(jobs(j),2)==1) z=2*jobsday(j)-1; else z=2*jobsday(j); if(chromemutation{p}(2*njobs+1) == jobsday(j)) if(chromemutation{p}(2*njobs+2) >= jobs(j)) if(mod(jobs(j),2)==1) z=2*jobsday(j)-1; else z=2*jobsday(j); else z=2*jobsday(j)-1; if(chromemutation{p}(2*njobs+1) < jobsday(j)) if(chromemutation{p}(2*njobs+1)==0) z=0; else if(mod(chromemutation{p}(2*njobs+2),2)==1) z=2*chromemutation{p}(2*njobs+1)-1; else z=2*chromemutation{p}(2*njobs+1); zwd=z; zwe=chromemutation{p}(2*njobs+3); totalduedate{p}(j)=duedate(j)+wddurationovertime*zwd+wedurationovertime *zwe; for p = 1:pop totalearlyjobrevenue=0; wdovertime=0; weovertime=0; for j = 1:nJobs if(totalduedate{p}(j)>= completiontime{p}(j))

136 136 totalearlyjobrevenue = totalearlyjobrevenue+earlyjobprofit(j); weovertime=chromemutation{p}(2*njobs+3); if(chromemutation{p}(2*njobs+1)==0) wdovertime=0; else if(mod(chromemutation{p}(2*njobs+2),2)==1) wdovertime=2*chromemutation{p}(2*njobs+1)-1; else wdovertime=2*chromemutation{p}(2*njobs+1); fitnessfunctionselection(pop+p)=totalearlyjobrevenue - wdcost*ncells*wdovertime - wecost*ncells*weovertime; for p = 1:pop fitnessfunctionselection(p)=fitnessfunction(p); for p = 1:pop chromeselection{p}=chrome{p}; chromeselection{pop+p}=chromemutation{p}; for i = 1:pop [fff,rr]=max(fitnessfunctionselection); chrome{i}=chromeselection{rr}; fitnessfunctionselection(rr)=-99; display(sprintf('****best Chromosome in generation %d****',generation)); display(bestchromeeachgen{generation}); display(sprintf('****best fitness value in generation %d****',generation)); display(bestfitnessvaluegen(generation)); [f,i]=max(bestfitnessvaluegen); toc;

137 137 display(sprintf('****best Fitness Function Value from all the generation = %d****',f)); display(sprintf('****best Chromosome representation from all the generations (found in Generation # %d) = ****',i)); display(bestchromeeachgen{i}); Data: In above data file, the data entered is in the order of processing time, due date, jobs due day, jobs due, jobs revenue.

138 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Thesis and Dissertation Services!

Mathematical Models to Simultaneously Determine Overtime Requirements and Schedule Cells

Mathematical Models to Simultaneously Determine Overtime Requirements and Schedule Cells Engineering, 2015, 7, 58-72 Published Online February 2015 in SciRes. http://www.scirp.org/journal/eng http://dx.doi.org/10.4236/eng.2015.72006 Mathematical Models to Simultaneously Determine Overtime

More information

Multi-Period Cell Loading in Cellular Manufacturing Systems

Multi-Period Cell Loading in Cellular Manufacturing Systems Proceedings of the 202 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 202 Multi-Period Cell Loading in Cellular Manufacturing Systems Gökhan Eğilmez

More information

Stochastic Single Machine Family Scheduling To Minimize the Number of Risky Jobs

Stochastic Single Machine Family Scheduling To Minimize the Number of Risky Jobs Stochastic Single Machine Family Scheduling To Minimize the Number of Risky Jobs Gökhan Eğilmez Ͼ, Gürsel A. Süer Industrial and Systems Engineering Department Russ College of Engineering and Technology

More information

Minimizing Makespan for Machine Scheduling and Worker Assignment Problem in Identical Parallel Machine Models Using GA

Minimizing Makespan for Machine Scheduling and Worker Assignment Problem in Identical Parallel Machine Models Using GA , June 30 - July 2, 2010, London, U.K. Minimizing Makespan for Machine Scheduling and Worker Assignment Problem in Identical Parallel Machine Models Using GA Imran Ali Chaudhry, Sultan Mahmood and Riaz

More information

A New Fuzzy Modeling Approach for Joint Manufacturing Scheduling and Shipping Decisions

A New Fuzzy Modeling Approach for Joint Manufacturing Scheduling and Shipping Decisions A New Fuzzy Modeling Approach for Joint Manufacturing Scheduling and Shipping Decisions Can Celikbilek* (cc340609@ohio.edu), Sadegh Mirshekarian and Gursel A. Suer, PhD Department of Industrial & Systems

More information

Follow this and additional works at:

Follow this and additional works at: University of New Haven Digital Commons @ New Haven Mechanical and Industrial Engineering Faculty Publications Mechanical and Industrial Engineering 2016 Group Scheduling in a Cellular Manufacturing Shop

More information

LOADING AND SEQUENCING JOBS WITH A FASTEST MACHINE AMONG OTHERS

LOADING AND SEQUENCING JOBS WITH A FASTEST MACHINE AMONG OTHERS Advances in Production Engineering & Management 4 (2009) 3, 127-138 ISSN 1854-6250 Scientific paper LOADING AND SEQUENCING JOBS WITH A FASTEST MACHINE AMONG OTHERS Ahmad, I. * & Al-aney, K.I.M. ** *Department

More information

Evolutionary Computation for Minimizing Makespan on Identical Machines with Mold Constraints

Evolutionary Computation for Minimizing Makespan on Identical Machines with Mold Constraints Evolutionary Computation for Minimizing Makespan on Identical Machines with Mold Constraints Tzung-Pei Hong 1, 2, Pei-Chen Sun 3, and Sheng-Shin Jou 3 1 Department of Computer Science and Information Engineering

More information

An Evolutionary Solution to a Multi-objective Scheduling Problem

An Evolutionary Solution to a Multi-objective Scheduling Problem , June 30 - July 2,, London, U.K. An Evolutionary Solution to a Multi-objective Scheduling Problem Sumeyye Samur, Serol Bulkan Abstract Multi-objective problems have been attractive for most researchers

More information

Contents PREFACE 1 INTRODUCTION The Role of Scheduling The Scheduling Function in an Enterprise Outline of the Book 6

Contents PREFACE 1 INTRODUCTION The Role of Scheduling The Scheduling Function in an Enterprise Outline of the Book 6 Integre Technical Publishing Co., Inc. Pinedo July 9, 2001 4:31 p.m. front page v PREFACE xi 1 INTRODUCTION 1 1.1 The Role of Scheduling 1 1.2 The Scheduling Function in an Enterprise 4 1.3 Outline of

More information

Analysis and Modelling of Flexible Manufacturing System

Analysis and Modelling of Flexible Manufacturing System Analysis and Modelling of Flexible Manufacturing System Swetapadma Mishra 1, Biswabihari Rath 2, Aravind Tripathy 3 1,2,3Gandhi Institute For Technology,Bhubaneswar, Odisha, India --------------------------------------------------------------------***----------------------------------------------------------------------

More information

A HYBRID GENETIC ALGORITHM FOR JOB SHOP SCHEUDULING

A HYBRID GENETIC ALGORITHM FOR JOB SHOP SCHEUDULING A HYBRID GENETIC ALGORITHM FOR JOB SHOP SCHEUDULING PROF. SARVADE KISHORI D. Computer Science and Engineering,SVERI S College Of Engineering Pandharpur,Pandharpur,India KALSHETTY Y.R. Assistant Professor

More information

Metaheuristics. Approximate. Metaheuristics used for. Math programming LP, IP, NLP, DP. Heuristics

Metaheuristics. Approximate. Metaheuristics used for. Math programming LP, IP, NLP, DP. Heuristics Metaheuristics Meta Greek word for upper level methods Heuristics Greek word heuriskein art of discovering new strategies to solve problems. Exact and Approximate methods Exact Math programming LP, IP,

More information

General-purpose SPWA with the Class-type Skill by Genetic Algorithm

General-purpose SPWA with the Class-type Skill by Genetic Algorithm General-purpose SPWA with the Class-type Skill by Genetic Algorithm Daiki Takano Graduate School of Engineering, Maebashi Institute of Technology Email: futsal_ido_me_jp@yahoo.co.jp Kenichi Ida Graduate

More information

PARALLEL LINE AND MACHINE JOB SCHEDULING USING GENETIC ALGORITHM

PARALLEL LINE AND MACHINE JOB SCHEDULING USING GENETIC ALGORITHM PARALLEL LINE AND MACHINE JOB SCHEDULING USING GENETIC ALGORITHM Dr.V.Selvi Assistant Professor, Department of Computer Science Mother Teresa women s University Kodaikanal. Tamilnadu,India. Abstract -

More information

CHAPTER 4 PROPOSED HYBRID INTELLIGENT APPROCH FOR MULTIPROCESSOR SCHEDULING

CHAPTER 4 PROPOSED HYBRID INTELLIGENT APPROCH FOR MULTIPROCESSOR SCHEDULING 79 CHAPTER 4 PROPOSED HYBRID INTELLIGENT APPROCH FOR MULTIPROCESSOR SCHEDULING The present chapter proposes a hybrid intelligent approach (IPSO-AIS) using Improved Particle Swarm Optimization (IPSO) with

More information

Structured System Analysis Methodology for Developing a Production Planning Model

Structured System Analysis Methodology for Developing a Production Planning Model Structured System Analysis Methodology for Developing a Production Planning Model Mootaz M. Ghazy, Khaled S. El-Kilany, and M. Nashaat Fors Abstract Aggregate Production Planning (APP) is a medium term

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION 1.1 MANUFACTURING SYSTEM Manufacturing, a branch of industry, is the application of tools and processes for the transformation of raw materials into finished products. The manufacturing

More information

GENETIC ALGORITHMS. Narra Priyanka. K.Naga Sowjanya. Vasavi College of Engineering. Ibrahimbahg,Hyderabad.

GENETIC ALGORITHMS. Narra Priyanka. K.Naga Sowjanya. Vasavi College of Engineering. Ibrahimbahg,Hyderabad. GENETIC ALGORITHMS Narra Priyanka K.Naga Sowjanya Vasavi College of Engineering. Ibrahimbahg,Hyderabad mynameissowji@yahoo.com priyankanarra@yahoo.com Abstract Genetic algorithms are a part of evolutionary

More information

Integration of Process Planning and Job Shop Scheduling Using Genetic Algorithm

Integration of Process Planning and Job Shop Scheduling Using Genetic Algorithm Proceedings of the 6th WSEAS International Conference on Simulation, Modelling and Optimization, Lisbon, Portugal, September 22-24, 2006 1 Integration of Process Planning and Job Shop Scheduling Using

More information

Automatic Design of Scheduling Policies for Dynamic Multi-objective Job Shop Scheduling via Cooperative Coevolution Genetic Programming

Automatic Design of Scheduling Policies for Dynamic Multi-objective Job Shop Scheduling via Cooperative Coevolution Genetic Programming Automatic Design of Scheduling Policies for Dynamic Multi-objective Job Shop Scheduling via Cooperative Coevolution Genetic Programming Su Nguyen 1, Mengjie Zhang 1, Mark Johnston 2, Kay Chen Tan 3 1 Victoria

More information

Evolutionary Algorithms

Evolutionary Algorithms Evolutionary Algorithms Evolutionary Algorithms What is Evolutionary Algorithms (EAs)? Evolutionary algorithms are iterative and stochastic search methods that mimic the natural biological evolution and/or

More information

CHAPTER 3 RESEARCH METHODOLOGY

CHAPTER 3 RESEARCH METHODOLOGY 72 CHAPTER 3 RESEARCH METHODOLOGY Inventory management is considered to be an important field in Supply chain management. Once the efficient and effective management of inventory is carried out throughout

More information

Generational and steady state genetic algorithms for generator maintenance scheduling problems

Generational and steady state genetic algorithms for generator maintenance scheduling problems Generational and steady state genetic algorithms for generator maintenance scheduling problems Item Type Conference paper Authors Dahal, Keshav P.; McDonald, J.R. Citation Dahal, K. P. and McDonald, J.

More information

JOB SHOP SCHEDULING TO MINIMIZE WORK-IN-PROCESS, EARLINESS AND TARDINESS COSTS ZHU ZHECHENG A THESIS SUBMITTED FOR THE DEGREE OF DOCTOR OF PHILOSOPHY

JOB SHOP SCHEDULING TO MINIMIZE WORK-IN-PROCESS, EARLINESS AND TARDINESS COSTS ZHU ZHECHENG A THESIS SUBMITTED FOR THE DEGREE OF DOCTOR OF PHILOSOPHY JOB SHOP SCHEDULING TO MINIMIZE WORK-IN-PROCESS, EARLINESS AND TARDINESS COSTS ZHU ZHECHENG A THESIS SUBMITTED FOR THE DEGREE OF DOCTOR OF PHILOSOPHY DEPARTMENT OF INDUSTRIAL AND SYSTEMS ENGINEERING NATIONAL

More information

Part 1: Motivation, Basic Concepts, Algorithms

Part 1: Motivation, Basic Concepts, Algorithms Part 1: Motivation, Basic Concepts, Algorithms 1 Review of Biological Evolution Evolution is a long time scale process that changes a population of an organism by generating better offspring through reproduction.

More information

Multi-Plant Multi-Product Aggregate Production Planning Using Genetic Algorithm

Multi-Plant Multi-Product Aggregate Production Planning Using Genetic Algorithm Multi-Plant Multi-Product Aggregate Production Planning Using Genetic Algorithm Fahron Dakka, Muhammad Aswin, Bambang Siswojo Abstract Aggregate production planning (APP) is a mid-term planning tool used

More information

INTERNATIONAL JOURNAL OF APPLIED ENGINEERING RESEARCH, DINDIGUL Volume 2, No 3, 2011

INTERNATIONAL JOURNAL OF APPLIED ENGINEERING RESEARCH, DINDIGUL Volume 2, No 3, 2011 Minimization of Total Weighted Tardiness and Makespan for SDST Flow Shop Scheduling using Genetic Algorithm Kumar A. 1 *, Dhingra A. K. 1 1Department of Mechanical Engineering, University Institute of

More information

Job shop scheduling for meeting due dates and minimizing overtime using genetic algorithm incorporating new priority rules

Job shop scheduling for meeting due dates and minimizing overtime using genetic algorithm incorporating new priority rules Bulletin of the JSME Journal of Advanced Mechanical Design, Systems, and Manufacturing Vol.8, No.5, 214 Job shop scheduling for meeting due dates and minimizing overtime using genetic algorithm incorporating

More information

RISK BASED WORKER ALLOCATION AND LINE BALANCING. A Thesis by. Sathya Madhan Solaimuthu Pachaimuthu

RISK BASED WORKER ALLOCATION AND LINE BALANCING. A Thesis by. Sathya Madhan Solaimuthu Pachaimuthu RIS BASED WORER ALLOCATION AND LINE BALANCING A Thesis by Sathya Madhan Solaimuthu Pachaimuthu Bachelor of Engineering, Anna University, India, 2008 Submitted to the Department of Industrial and Manufacturing

More information

Genetic Algorithm for Flexible Job Shop Scheduling Problem - a Case Study

Genetic Algorithm for Flexible Job Shop Scheduling Problem - a Case Study Genetic Algorithm for Flexible Job Shop Scheduling Problem - a Case Study Gabriela Guevara, Ana I. Pereira,, Adriano Ferreira, José Barbosa and Paulo Leitão, Polytechnic Institute of Bragança, Campus Sta

More information

Flowshop Scheduling Problem for 10-Jobs, 10-Machines By Heuristics Models Using Makespan Criterion

Flowshop Scheduling Problem for 10-Jobs, 10-Machines By Heuristics Models Using Makespan Criterion Flowshop Scheduling Problem for 10-Jobs, 10-Machines By Heuristics Models Using Makespan Criterion Ajay Kumar Agarwal Assistant Professor, Mechanical Engineering Department RIMT, Chidana, Sonipat, Haryana,

More information

ISE480 Sequencing and Scheduling

ISE480 Sequencing and Scheduling ISE480 Sequencing and Scheduling INTRODUCTION ISE480 Sequencing and Scheduling 2012 2013 Spring term What is Scheduling About? Planning (deciding what to do) and scheduling (setting an order and time for

More information

Optimisation and Operations Research

Optimisation and Operations Research Optimisation and Operations Research Lecture 17: Genetic Algorithms and Evolutionary Computing Matthew Roughan http://www.maths.adelaide.edu.au/matthew.roughan/ Lecture_notes/OORII/

More information

Hybrid search method for integrated scheduling problem of container-handling systems

Hybrid search method for integrated scheduling problem of container-handling systems Hybrid search method for integrated scheduling problem of container-handling systems Feifei Cui School of Computer Science and Engineering, Southeast University, Nanjing, P. R. China Jatinder N. D. Gupta

More information

Sequencing and Scheduling of Jobs and Tools in a Flexible Manufacturing System using Jaya Algorithm

Sequencing and Scheduling of Jobs and Tools in a Flexible Manufacturing System using Jaya Algorithm Sequencing and Scheduling of Jobs and Tools in a Flexible Manufacturing System using Jaya Algorithm Modapothula Chaithanya 1, N Siva Rami Reddy 2, P Ravindranatha Reddy, 1 PG Student, Dept of Mechanical,

More information

Optimizing Dynamic Flexible Job Shop Scheduling Problem Based on Genetic Algorithm

Optimizing Dynamic Flexible Job Shop Scheduling Problem Based on Genetic Algorithm International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347 5161 2017 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Research Article Optimizing

More information

TIMETABLING EXPERIMENTS USING GENETIC ALGORITHMS. Liviu Lalescu, Costin Badica

TIMETABLING EXPERIMENTS USING GENETIC ALGORITHMS. Liviu Lalescu, Costin Badica TIMETABLING EXPERIMENTS USING GENETIC ALGORITHMS Liviu Lalescu, Costin Badica University of Craiova, Faculty of Control, Computers and Electronics Software Engineering Department, str.tehnicii, 5, Craiova,

More information

SCHEDULING IN MANUFACTURING SYSTEMS

SCHEDULING IN MANUFACTURING SYSTEMS In process planning, the major issue is how to utilize the manufacturing system s resources to produce a part: how to operate the different manufacturing processes. In scheduling. The issue is when and

More information

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture - 24 Sequencing and Scheduling - Assumptions, Objectives and Shop

More information

A Simulation-based Multi-level Redundancy Allocation for a Multi-level System

A Simulation-based Multi-level Redundancy Allocation for a Multi-level System International Journal of Performability Engineering Vol., No. 4, July 205, pp. 357-367. RAMS Consultants Printed in India A Simulation-based Multi-level Redundancy Allocation for a Multi-level System YOUNG

More information

A Sequencing Heuristic to Minimize Weighted Flowtime in the Open Shop

A Sequencing Heuristic to Minimize Weighted Flowtime in the Open Shop A Sequencing Heuristic to Minimize Weighted Flowtime in the Open Shop Eric A. Siy Department of Industrial Engineering email : eric.siy@dlsu.edu.ph Abstract: The open shop is a job shop with no precedence

More information

The Metaphor. Individuals living in that environment Individual s degree of adaptation to its surrounding environment

The Metaphor. Individuals living in that environment Individual s degree of adaptation to its surrounding environment Genetic Algorithms Sesi 14 Optimization Techniques Mathematical Programming Network Analysis Branch & Bound Simulated Annealing Tabu Search Classes of Search Techniques Calculus Base Techniqes Fibonacci

More information

Designing an Effective Scheduling Scheme Considering Multi-level BOM in Hybrid Job Shop

Designing an Effective Scheduling Scheme Considering Multi-level BOM in Hybrid Job Shop Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 Designing an Effective Scheduling Scheme Considering Multi-level BOM

More information

International Journal of Engineering, Business and Enterprise Applications (IJEBEA)

International Journal of Engineering, Business and Enterprise Applications (IJEBEA) International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise

More information

Simulation approaches for optimization in business and service systems

Simulation approaches for optimization in business and service systems Simulation approaches for optimization in business and service systems Imed Kacem kacem@univ-metz.fr Professor - Université Paul Verlaine Metz http://kacem.imed.perso.neuf.fr/site/ FUBUTEC 2, Future Business

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION 1.1 FACILITY LAYOUT DESIGN Layout design is nothing but the systematic arrangement of physical facilities such as production machines, equipments, tools, furniture etc. A plant

More information

Multi-objective Evolutionary Optimization of Cloud Service Provider Selection Problems

Multi-objective Evolutionary Optimization of Cloud Service Provider Selection Problems Multi-objective Evolutionary Optimization of Cloud Service Provider Selection Problems Cheng-Yuan Lin Dept of Computer Science and Information Engineering Chung-Hua University Hsin-Chu, Taiwan m09902021@chu.edu.tw

More information

A HYBRID ALGORITHM TO MINIMIZE THE NUMBER OF TARDY JOBS IN SINGLE MACHINE SCHEDULING

A HYBRID ALGORITHM TO MINIMIZE THE NUMBER OF TARDY JOBS IN SINGLE MACHINE SCHEDULING DAAAM INTERNATIONAL SCIENTIFIC BOOK 2010 pp. 549-558 CHAPTER 48 A HYBRID ALGORITHM TO MINIMIZE THE NUMBER OF TARDY JOBS IN SINGLE MACHINE SCHEDULING BANCILA, D.; BUZATU, C. & FOTA, A. Abstract: Starting

More information

INTEGRATED PROCESS PLANNING AND SCHEDULING WITH SETUP TIME CONSIDERATION BY ANT COLONY OPTIMIZATION

INTEGRATED PROCESS PLANNING AND SCHEDULING WITH SETUP TIME CONSIDERATION BY ANT COLONY OPTIMIZATION Proceedings of the 1st International Conference on Computers & Industrial Engineering INTEGRATED PROCESS PLANNING AND SCHEDULING WITH SETUP TIME CONSIDERATION BY ANT COLONY OPTIMIZATION S.Y. Wan, T.N.

More information

IMPROVING THE SCHEDULING ALGORITHM OF LIMIS PLANNER

IMPROVING THE SCHEDULING ALGORITHM OF LIMIS PLANNER IMPROVING THE SCHEDULING ALGORITHM OF LIMIS PLANNER MASTER THESIS INDUSTRIAL ENGINEERING AND MANAGEMENT Student: First Supervisor : Second Supervisor: Roel Kikkert s0141178 Industrial Engineering and Management

More information

Learning Objectives. Scheduling. Learning Objectives

Learning Objectives. Scheduling. Learning Objectives Scheduling 16 Learning Objectives Explain what scheduling involves and the importance of good scheduling. Discuss scheduling needs in high-volume and intermediate-volume systems. Discuss scheduling needs

More information

Introduction to Artificial Intelligence. Prof. Inkyu Moon Dept. of Robotics Engineering, DGIST

Introduction to Artificial Intelligence. Prof. Inkyu Moon Dept. of Robotics Engineering, DGIST Introduction to Artificial Intelligence Prof. Inkyu Moon Dept. of Robotics Engineering, DGIST Chapter 9 Evolutionary Computation Introduction Intelligence can be defined as the capability of a system to

More information

Simultaneous Perspective-Based Mixed-Model Assembly Line Balancing Problem

Simultaneous Perspective-Based Mixed-Model Assembly Line Balancing Problem Tamkang Journal of Science and Engineering, Vol. 13, No. 3, pp. 327 336 (2010) 327 Simultaneous Perspective-Based Mixed-Model Assembly Line Balancing Problem Horng-Jinh Chang 1 and Tung-Meng Chang 1,2

More information

A Genetic Algorithm for Order Picking in Automated Storage and Retrieval Systems with Multiple Stock Locations

A Genetic Algorithm for Order Picking in Automated Storage and Retrieval Systems with Multiple Stock Locations IEMS Vol. 4, No. 2, pp. 36-44, December 25. A Genetic Algorithm for Order Picing in Automated Storage and Retrieval Systems with Multiple Stoc Locations Yaghoub Khojasteh Ghamari Graduate School of Systems

More information

A Genetic Algorithm Applying Single Point Crossover and Uniform Mutation to Minimize Uncertainty in Production Cost

A Genetic Algorithm Applying Single Point Crossover and Uniform Mutation to Minimize Uncertainty in Production Cost World Applied Sciences Journal 23 (8): 1013-1017, 2013 ISSN 1818-4952 IDOSI Publications, 2013 DOI: 10.5829/idosi.wasj.2013.23.08.956 A Genetic Algorithm Applying Single Point Crossover and Uniform Mutation

More information

Product Scheduling in a Multi-Product Colour Processing Facility - Case Study at TN Textiles (Pvt) Ltd

Product Scheduling in a Multi-Product Colour Processing Facility - Case Study at TN Textiles (Pvt) Ltd Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 Product Scheduling in a Multi-Product Colour Processing Facility -

More information

Determining the Effectiveness of Specialized Bank Tellers

Determining the Effectiveness of Specialized Bank Tellers Proceedings of the 2009 Industrial Engineering Research Conference I. Dhillon, D. Hamilton, and B. Rumao, eds. Determining the Effectiveness of Specialized Bank Tellers Inder S. Dhillon, David C. Hamilton,

More information

OPERATING SYSTEMS. Systems and Models. CS 3502 Spring Chapter 03

OPERATING SYSTEMS. Systems and Models. CS 3502 Spring Chapter 03 OPERATING SYSTEMS CS 3502 Spring 2018 Systems and Models Chapter 03 Systems and Models A system is the part of the real world under study. It is composed of a set of entities interacting among themselves

More information

2. Genetic Algorithms - An Overview

2. Genetic Algorithms - An Overview 2. Genetic Algorithms - An Overview 2.1 GA Terminology Genetic Algorithms (GAs), which are adaptive methods used to solve search and optimization problems, are based on the genetic processes of biological

More information

COMBINED-OBJECTIVE OPTIMIZATION IN IDENTICAL PARALLEL MACHINE SCHEDULING PROBLEM USING PSO

COMBINED-OBJECTIVE OPTIMIZATION IN IDENTICAL PARALLEL MACHINE SCHEDULING PROBLEM USING PSO COMBINED-OBJECTIVE OPTIMIZATION IN IDENTICAL PARALLEL MACHINE SCHEDULING PROBLEM USING PSO Bathrinath S. 1, Saravanasankar S. 1 and Ponnambalam SG. 2 1 Department of Mechanical Engineering, Kalasalingam

More information

Strips Manufacturing. A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science.

Strips Manufacturing. A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science. Comparison of Alternative Global Supply Chain Design Approaches for Blood Sugar Strips Manufacturing A thesis presented to the faculty of the Russ College of Engineering and Technology of Ohio University

More information

EFFECT OF CROSS OVER OPERATOR IN GENETIC ALGORITHMS ON ANTICIPATORY SCHEDULING

EFFECT OF CROSS OVER OPERATOR IN GENETIC ALGORITHMS ON ANTICIPATORY SCHEDULING 24th International Symposium on on Automation & Robotics in in Construction (ISARC 2007) Construction Automation Group, I.I.T. Madras EFFECT OF CROSS OVER OPERATOR IN GENETIC ALGORITHMS ON ANTICIPATORY

More information

L R m. Bibliographic Information. Copyright Information. Contact Information

L R m. Bibliographic Information. Copyright Information. Contact Information L R m Laboratory for Responsible Manufacturing Bibliographic Information Ilgin, M. A. and Gupta, S. M., "The Effect of Disassembly Process on Spare Parts Inventory Management in Post Product Life Cycle",

More information

A BI-OBJECTIVE MODELING FOR A CELLULAR MANUFACTURING SYSTEM DESIGN USING FUZZY GOAL PROGRAMMING UNDER UNCERTAINTY

A BI-OBJECTIVE MODELING FOR A CELLULAR MANUFACTURING SYSTEM DESIGN USING FUZZY GOAL PROGRAMMING UNDER UNCERTAINTY Indian Journal of Fundamental and Applied Life Sciences ISSN: 645 (Online) An Open Access, Online International Journal Available at www.cibtech.org/sp.ed/jls/05/0/jls.htm 05 Vol. 5 (S), pp. 89-90/Ansari

More information

Artificial Intelligence Computational Techniques to Optimize a Multi Objective Oriented Distribution Operations

Artificial Intelligence Computational Techniques to Optimize a Multi Objective Oriented Distribution Operations Proceedings of the 2010 International Conference on Industrial Engineering and Operations Management Dhaa, Bangladesh, January 9 10, 2010 Artificial Intelligence Computational Techniques to Optimize a

More information

Reducibility of Some Multi Criteria Scheduling Problems to Bicriteria Scheduling Problems.

Reducibility of Some Multi Criteria Scheduling Problems to Bicriteria Scheduling Problems. Proceedings of the 2014 International Conference on Industrial Engineering and Operations Management Bali, Indonesia, January 7 9, 2014 Reducibility of Some Multi Criteria Scheduling Problems to Bicriteria

More information

Comparison of a Job-Shop Scheduler using Genetic Algorithms with a SLACK based Scheduler

Comparison of a Job-Shop Scheduler using Genetic Algorithms with a SLACK based Scheduler 1 Comparison of a Job-Shop Scheduler using Genetic Algorithms with a SLACK based Scheduler Nishant Deshpande Department of Computer Science Stanford, CA 9305 nishantd@cs.stanford.edu (650) 28 5159 June

More information

MINIMIZING MEAN COMPLETION TIME IN FLOWSHOPS WITH RANDOM PROCESSING TIMES

MINIMIZING MEAN COMPLETION TIME IN FLOWSHOPS WITH RANDOM PROCESSING TIMES 8 th International Conference of Modeling and Simulation - MOSIM 0 - May 0-, 00 - Hammamet - Tunisia Evaluation and optimization of innovative production systems of goods and services MINIMIZING MEAN COMPLETION

More information

AN ALGORITHM TO SOLVE THE ASSOCIATIVE PARALLEL MACHINE SCHEDULING PROBLEM

AN ALGORITHM TO SOLVE THE ASSOCIATIVE PARALLEL MACHINE SCHEDULING PROBLEM University of Kentucky UKnowledge University of Kentucky Master's Theses Graduate School 2009 AN ALGORITHM TO SOLVE THE ASSOCIATIVE PARALLEL MACHINE SCHEDULING PROBLEM Mohannad Abdelrahman Shuaib University

More information

PLANNING OF ORDER PICKING PROCESSES USING SIMULATION AND A GENETIC ALGORITHM IN MULTI-CRITERIA SCHEDULING OPTIMIZATION

PLANNING OF ORDER PICKING PROCESSES USING SIMULATION AND A GENETIC ALGORITHM IN MULTI-CRITERIA SCHEDULING OPTIMIZATION PLANNING OF ORDER PICKING PROCESSES USING SIMULATION AND A GENETIC ALGORITHM IN MULTI-CRITERIA SCHEDULING OPTIMIZATION Balázs Molnár Budapest University of Technology and Economics Department of Transportation

More information

An Effective Genetic Algorithm for Large-Scale Traveling Salesman Problems

An Effective Genetic Algorithm for Large-Scale Traveling Salesman Problems An Effective Genetic Algorithm for Large-Scale Traveling Salesman Problems Son Duy Dao, Kazem Abhary, and Romeo Marian Abstract Traveling salesman problem (TSP) is an important optimization problem in

More information

Procedia - Social and Behavioral Sciences 189 ( 2015 ) XVIII Annual International Conference of the Society of Operations Management (SOM-14)

Procedia - Social and Behavioral Sciences 189 ( 2015 ) XVIII Annual International Conference of the Society of Operations Management (SOM-14) Available online at www.sciencedirect.com ScienceDirect Procedia - Social and ehavioral Sciences 189 ( 2015 ) 184 192 XVIII Annual International Conference of the Society of Operations Management (SOM-14)

More information

Use of Genetic Algorithms in Discrete Optimalization Problems

Use of Genetic Algorithms in Discrete Optimalization Problems Use of Genetic Algorithms in Discrete Optimalization Problems Alena Rybičková supervisor: Ing. Denisa Mocková PhD Faculty of Transportation Sciences Main goals: design of genetic algorithm for vehicle

More information

College of information technology Department of software

College of information technology Department of software University of Babylon Undergraduate: third class College of information technology Department of software Subj.: Application of AI lecture notes/2011-2012 ***************************************************************************

More information

This is a refereed journal and all articles are professionally screened and reviewed

This is a refereed journal and all articles are professionally screened and reviewed Advances in Environmental Biology, 6(4): 1400-1411, 2012 ISSN 1995-0756 1400 This is a refereed journal and all articles are professionally screened and reviewed ORIGINAL ARTICLE Joint Production and Economic

More information

SCHEDULING AND CONTROLLING PRODUCTION ACTIVITIES

SCHEDULING AND CONTROLLING PRODUCTION ACTIVITIES SCHEDULING AND CONTROLLING PRODUCTION ACTIVITIES Al-Naimi Assistant Professor Industrial Engineering Branch Department of Production Engineering and Metallurgy University of Technology Baghdad - Iraq dr.mahmoudalnaimi@uotechnology.edu.iq

More information

Backup Strategy for Failures in Robotic U-Shaped Assembly Line Systems

Backup Strategy for Failures in Robotic U-Shaped Assembly Line Systems University of Rhode Island DigitalCommons@URI Open Access Master's Theses 2016 Backup Strategy for Failures in Robotic U-Shaped Assembly Line Systems Alexander Gebel University of Rhode Island, alexander_gebel@my.uri.edu

More information

Optimal Design of Laminated Composite Plates by Using Advanced Genetic Algorithm

Optimal Design of Laminated Composite Plates by Using Advanced Genetic Algorithm International Refereed Journal of Engineering and Science (IRJES) ISSN (Online) 2319-183X, (Print) 2319-1821 Volume 3, Issue 5(May 2014), PP.77-86 Optimal Design of Laminated Composite Plates by Using

More information

Single Machine Scheduling with Interfering Job Sets

Single Machine Scheduling with Interfering Job Sets Multidisciplinary International Conference on Scheduling : Theory and Applications (MISTA 009) 0- August 009, Dublin, Ireland MISTA 009 Single Machine Scheduling with Interfering Job Sets Ketan Khowala,

More information

A Multi-Period MPS Optimization Using Linear Programming and Genetic Algorithm with Capacity Constraint

A Multi-Period MPS Optimization Using Linear Programming and Genetic Algorithm with Capacity Constraint IOSR Journal of Engineering (IOSRJEN) ISSN (e): 2250-3021, ISSN (p): 2278-8719 Vol. 08, Issue 01 (January. 2018), V1 PP 85-93 www.iosrjen.org A Multi-Period MPS Optimization Using Linear Programming and

More information

Designing a New Particle Swarm Optimization for Make-with-Buy Inventory Model

Designing a New Particle Swarm Optimization for Make-with-Buy Inventory Model Proceedings of the 14 International Conference on Industrial Engineering and Operations Management Bali, Indonesia, January 7 9, 14 Designing a New Particle Swarm Optimization for Make-with-Buy Inventory

More information

Modeling and optimization of ATM cash replenishment

Modeling and optimization of ATM cash replenishment Modeling and optimization of ATM cash replenishment PETER KURDEL, JOLANA SEBESTYÉNOVÁ Institute of Informatics Slovak Academy of Sciences Bratislava SLOVAKIA peter.kurdel@savba.sk, sebestyenova@savba.sk

More information

Mass Customized Large Scale Production System with Learning Curve Consideration

Mass Customized Large Scale Production System with Learning Curve Consideration Mass Customized Large Scale Production System with Learning Curve Consideration KuoWei Chen and Richard Lee Storch Industrial & Systems Engineering, University of Washington, Seattle, U.S.A {kwc206,rlstorch}@uw.edu

More information

On the real final exam on Dec. 13, 2006, you will receive a printed copy of the questions with a cover page showing your last name and campus

On the real final exam on Dec. 13, 2006, you will receive a printed copy of the questions with a cover page showing your last name and campus On the real final exam on Dec. 13, 2006, you will receive a printed copy of the questions with a cover page showing your last name and campus computing ID. You will also be able to access the questions

More information

Workload balancing in identical parallel machine scheduling using a mathematical programming method

Workload balancing in identical parallel machine scheduling using a mathematical programming method International Journal of Computational Intelligence Systems, Vol. 7, Supplement 1 (2014), 58-67 Workload balancing in identical parallel machine scheduling using a mathematical programming method Yassine

More information

CEng 713 Evolutionary Computation, Lecture Notes

CEng 713 Evolutionary Computation, Lecture Notes CEng 713 Evolutionary Computation, Lecture Notes Introduction to Evolutionary Computation Evolutionary Computation Elements of Evolution: Reproduction Random variation Competition Selection of contending

More information

[Sharma* et al., 5(6): June, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116

[Sharma* et al., 5(6): June, 2016] ISSN: IC Value: 3.00 Impact Factor: 4.116 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY AN APPROACH TO GENERATE TEST CASES AUTOMATICALLY USING GENETIC ALGORITHM Deepika Sharma*, Dr. Sanjay Tyagi * Research Scholar,

More information

DEVELOPMENT OF MULTI-OBJECTIVE SIMULATION-BASED GENETIC ALGORITHM FOR SUPPLY CHAIN CYCLIC PLANNING AND OPTIMISATION

DEVELOPMENT OF MULTI-OBJECTIVE SIMULATION-BASED GENETIC ALGORITHM FOR SUPPLY CHAIN CYCLIC PLANNING AND OPTIMISATION From the SelectedWorks of Liana Napalkova May, 2008 DEVELOPMENT OF MULTI-OBJECTIVE SIMULATION-BASED GENETIC ALGORITHM FOR SUPPLY CHAIN CYCLIC PLANNING AND OPTIMISATION Galina Merkuryeva Liana Napalkova

More information

Industrial & Sys Eng - INSY

Industrial & Sys Eng - INSY Industrial & Sys Eng - INSY 1 Industrial & Sys Eng - INSY Courses INSY 3010 PROGRAMMING AND DATABASE APPLICATIONS FOR ISE (3) LEC. 3. Pr. COMP 1200. Programming and database applications for ISE students.

More information

Genetic'Algorithms'::' ::'Algoritmi'Genetici'1

Genetic'Algorithms'::' ::'Algoritmi'Genetici'1 Genetic'Algorithms'::' ::'Algoritmi'Genetici'1 Prof. Mario Pavone Department of Mathematics and Computer Sciecne University of Catania v.le A. Doria 6 95125 Catania, Italy mpavone@dmi.unict.it http://www.dmi.unict.it/mpavone/

More information

CHAPTER 2 LITERATURE SURVEY

CHAPTER 2 LITERATURE SURVEY 13 CHAPTER 2 LITERATURE SURVEY 2.1 INTRODUCTION The importance given to the supply chain management over the past two decades can be understood from the surge in the number of publications in that area.

More information

1. For s, a, initialize Q ( s,

1. For s, a, initialize Q ( s, Proceedings of the 2006 Winter Simulation Conference L. F. Perrone, F. P. Wieland, J. Liu, B. G. Lawson, D. M. Nicol, and R. M. Fujimoto, eds. A REINFORCEMENT LEARNING ALGORITHM TO MINIMIZE THE MEAN TARDINESS

More information

Job Shop Scheduling With Alternate Process Plan by Using Genetic Algorithm

Job Shop Scheduling With Alternate Process Plan by Using Genetic Algorithm International Journal of Research in Advent Technology, Vol.3, No.9, September 2015 Available online at www.ijrat.org Job Shop Scheduling With Alternate Process Plan by Using Genetic Algorithm Randhir

More information

DIPLOMARBEIT. Capacitated Lot Sizing and Scheduling An alternative approach for the parallel machine case.

DIPLOMARBEIT. Capacitated Lot Sizing and Scheduling An alternative approach for the parallel machine case. DIPLOMARBEIT Capacitated Lot Sizing and Scheduling An alternative approach for the parallel machine case. Verfasserin Kathrin Gorgosilits 0002659 Angestrebter akademischer Grad Magistra der Sozial- und

More information

Utilizing Optimization Techniques to Enhance Cost and Schedule Risk Analysis

Utilizing Optimization Techniques to Enhance Cost and Schedule Risk Analysis 1 Utilizing Optimization Techniques to Enhance Cost and Schedule Risk Analysis Colin Smith, Brandon Herzog SCEA 2012 2 Table of Contents Introduction to Optimization Optimization and Uncertainty Analysis

More information

Signature redacted. Signature redacted Thesis Supervisor JUN LIBRARIES. Strategic Delivery Route Scheduling for Small Geographic Areas

Signature redacted. Signature redacted Thesis Supervisor JUN LIBRARIES. Strategic Delivery Route Scheduling for Small Geographic Areas Strategic Delivery Route Scheduling for Small Geographic Areas by David Gilchrist Submitted to the Department of Mechanical Engineering in Partial Fulfillment of the Requirements for the Degree of MASSACHUSETT

More information

Genetic Algorithms and Sensitivity Analysis in Production Planning Optimization

Genetic Algorithms and Sensitivity Analysis in Production Planning Optimization Genetic Algorithms and Sensitivity Analysis in Production Planning Optimization CECÍLIA REIS 1,2, LEONARDO PAIVA 2, JORGE MOUTINHO 2, VIRIATO M. MARQUES 1,3 1 GECAD Knowledge Engineering and Decision Support

More information

A GENETIC ALGORITHM APPROACH FOR OPTIMIZING CHEMICAL TOWERS CONSTRUCTION PROJECT SCHEDULING WITH DYNAMIC RESOURCES CONSTRAINTS

A GENETIC ALGORITHM APPROACH FOR OPTIMIZING CHEMICAL TOWERS CONSTRUCTION PROJECT SCHEDULING WITH DYNAMIC RESOURCES CONSTRAINTS International Journal of Industrial Engineering, 17(2), 128-141, 2010. A GENETIC ALGORITHM APPROACH FOR OPTIMIZING CHEMICAL TOWERS CONSTRUCTION PROJECT SCHEDULING WITH DYNAMIC RESOURCES CONSTRAINTS Chun-Wei

More information

Program Evaluation and Review Technique (PERT)

Program Evaluation and Review Technique (PERT) Program Evaluation and Review Technique (PERT) PERT Bar charts and CPM networks assume all activity durations are constant or deterministic. The assumption of constant durations may not be realistic because

More information