USFDC Home  USF Electronic Theses and Dissertations   RSS 
Material Information
Subjects
Notes
Record Information

Full Text 
xml version 1.0 encoding UTF8 standalone no
record xmlns http:www.loc.govMARC21slim xmlns:xsi http:www.w3.org2001XMLSchemainstance xsi:schemaLocation http:www.loc.govstandardsmarcxmlschemaMARC21slim.xsd leader nam Ka controlfield tag 001 001447476 003 fts 006 med 007 cr mnuuuuuu 008 040114s2003 flua sbm s0000 eng d datafield ind1 8 ind2 024 subfield code a E14SFE0000216 035 (OCoLC)54089545 9 AJN3921 b SE SFE0000216 040 FHM c FHM 090 T56 1 100 Yeleswarapu, Radhika M. 0 245 Scheduling of 2operation jobs on a single machine to minimize the number of tardy jobs h [electronic resource] / by Radhika M. Yeleswarapu. 260 [Tampa, Fla.] : University of South Florida, 2003. 502 Thesis (M.S.I.E.)University of South Florida, 2003. 504 Includes bibliographical references. 516 Text (Electronic thesis) in PDF format. 538 System requirements: World Wide Web browser and PDF reader. Mode of access: World Wide Web. 500 Title from PDF of title page. Document formatted into pages; contains 80 pages. 520 ABSTRACT: This study focuses on the study of a unique but commonly occurring manufacturing problem of scheduling of customized jobs consisting of two operations on a single multipurpose machine with the performance objective of minimizing the number of tardy jobs (jobs that are not completed by their due dates). Each customized job to be complete needs one unique operation and one common operation performed on it. We considered a static case in this work. The objective of minimizing the number of tardy jobs is considered where all jobs have equal weights and the maximum tardiness has no effect on the performance. This problem is proved in literature as NPhard and hence practically very difficult to obtain optimal solution within reasonable computational time. Till date only a pseudopolynomial algorithm is given to solve this problem with no concrete computational experiments designed to prove the efficiency and working of the algorithm for different problem instances. We propose a heuristic algorithm based on the MooreHodgson's algorithm combining with other procedures and optimal schedule properties from the literature to solve this problem. In literature, MooreHodgson's algorithm is an efficient heuristic algorithm that minimizes the number of tardy jobs for the classical single machine oneoperation problems. The performance of the heuristic is evaluated through extensive computational experiments for large real size data. The obtained results are compared to the solutions obtained by implementing the optimal pseudopolynomial algorithm and the performance of the heuristic is tested on large data sets. The test data for the computational experiments are generated randomly using MATLAB 6.1. Future directions of research and development on the problem to improve the obtained solution by the heuristic algorithm are given. 590 Adviser: Weng, Michael X. 653 scheduling. moorehodgson's algorithm. optimal schedule. static problem. order of complexity. 690 Dissertations, Academic z USF x Industrial Engineering Masters. 773 t USF Electronic Theses and Dissertations. 4 856 u http://digital.lib.usf.edu/?e14.216 PAGE 1 Scheduling Of 2 Operation Jobs On A Single Machine To Minimize The Number Of Tardy Jobs by Radhika M. Yeleswarapu A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Industrial Engineering Departm ent of Industrial and Management Systems Engineering College of Engineering University of South Florida Major Professor: Michael X. Weng Ph.D. Tapas K. Das, Ph.D. Grisselle Centeno, Ph.D. Date of Approval: November 14, 2003 Keywords: M achine s cheduling, Moore hodgsons algorithm, Optimal schedule, Static problem, Order of complexity Copyright 2003, Radhika M. Yeleswarapu PAGE 2 Dedication To my parents Mr.Lakshmana Rao garu and Mrs.Lalitha Kumari garu. PAGE 3 Acknowledgments I would like take this opportu nity to express my sincere gratitude to all those who helped me in achieving this goal. I owe my gratitude to my advisor, Dr. Michael X. Weng for his thoughtful insights, patience and guidance that has helped and simplified the task of research and complet ion of this thesis. He was even ready to come to school on weekends for discussions on my work. Special thanks are due to Dr. Tapas K. Das and Dr.Grisselle Centeno for their assistance and expertise as my thesis committee members and regards to Dr. Goodin g. I thank everyone at JPMORGAN CHASE for their support during my internship there, especially Don, Miriam, Richard, Sharon, and Adam without whose help I couldnt have managed to balance both full time job and this dissertation work for the past 2 semeste rs. I owe my gratitude and thanks to Shiva, Architha, Uma, Ravi, Ravinder and Mayur who were ready to help me at all times. I also thank my roommates Indira, Shailaja and all my friends Rajsekhar, Kiran, Srikanth, Raju, Ravi, V ijayalakshmi, Sridhar, Sashi dhar, Gayathri for their unwavering support while I pursued the goal of completing this thesis and also for their encouragement and help at various stages of my masters, without which it would have been impossible for me to stay away from my family and be what I am today. I cannot forget all my friends back home in India for their support. I cannot find words to express my indebtedness to my parents, sister, brother, brother in law, for their love, support and inspiration at every step of my success and fa ilure, without which none of this would have been possible. PAGE 4 i Table of Contents List of Tables ii i List of Figures v Abstract vi CHAPTER 1 INTRODUCTION 1 1.1 Foreword 1 1.2 Machine S cheduling 3 1.3 Levels of Sched uling 5 1.4 Scheduling Environments 6 1.5 Characteristics of a Good Schedule 7 1.6 Types of Scheduling Problems 8 1.6.1 Single Machine 8 1.6.2 Parallel Ma chines 9 1.6.3 Flow Shop 9 1.6.4 Job Shop 9 1.6.5 Static 9 1.6 .6 Dynamic 10 1.7 Terminologies 10 1.7.1 Job 10 1.7.2 Machine 10 1.7.3 Processing time 10 1.7.4 Completion time 10 1.7.5 Due date 10 1.7.6 Lateness 10 1.7.7 Tardiness 10 1.7.8 Preemption 11 1.7.9 Setup 11 1.7.10 Batch 11 1.7.10.1 Batch Availability 11 1.7.10.2 Item Availability 11 1.8 Solution Methodologies 1 1 1.8.1 Dispatching Rules 12 1.8.2 Random List 12 1.8.3 Longest Processing Time (LPT) 12 1.8.4 Shortest Proce ssing Time (SPT) 1 2 1.8.5 Earliest Due Date (EDD) 13 1.8.6 Dynamic Programming Approach 1 3 PAGE 5 ii 1.8.7 Branch and Bound Approach 14 1.8.8 Simulation Techniques 14 1.8.9 Neighborhood Search Techniques 1 4 1.8.10 Meta heuristic Search Methods 15 1.8.10.1 Tabu Search 15 1.8.10.2 Genetic Algorithm Approach 1 5 1.8.10.3 Simulated Annealing 16 1.8.11 Moore Hodgsons Algorithm 16 1.9 Three fie ld ( g b a / / ) Notation 17 1.10 Significance of the Problem 17 1.11 Notation 18 1.12 Organization of the Thesis 18 CHAPTER 2 LITERATURE REVIEW 20 2.1 Past Work on Similar Prob lems 20 2.2 A Pseudo polynomial Algorithm 2 5 2.3 Moore Hodgsons Algorithm 2 7 2.3.1 Theorem 2.3.1 2 7 CHAPTER 3 PROBLEM STATEMENT AN D METHODOLOGY 30 3.1 Statemen t of the Prob lem 30 3.2 Assumptions 31 3.3 Objective Function 31 3.4 Complexity of the Problem 31 3.5 Properties of Optimal Schedule 32 3.5.1 Property 1 32 3.5.2 Property 2 33 3.5.3 Property 3 33 3.5.4 Property 4 34 3.6 Methodology 3 4 3.6.1 Heuristic Algorithm for 1 / (c i u i )/ U i 3 6 3.7 An Example 3 9 CHAPTER 4 COMPUTATIONA L EXPERIMENTS AND RESULTS 42 4.1 Data Generation 42 4.2 Experimental Set tings 43 4.3 Software Implementation 43 4.4 Analysis and Discussion of the Computational Results 44 CHAPTER 5 CONCLUSIONS AND FUTURE RESEARCH 66 5.1 Summary 66 5.2 Conclusions 67 5.3 Suggestions for Future Research 67 REFERENCES 69 PAGE 6 iii List of Tables Table 1.1. Classification of Schedulin g Levels 5 Table 1.2. Scheduling Environments 6 Table 2.1. Similar Problems and their Complexity Stu died in Literature 23 Table 3.1. Processing Times and Due Dates of Jobs to be scheduled 39 Table 3.2. Pro cessing Times and Due Dates of Jobs in EDD order 40 Table 4.1. N T by Optimal Algorithm, p u and p c U [1, 10] 45 Table 4.2. N T by Optimal Algorithm, p u and p c U [11, 20] 46 Table 4.3. N T by Optimal Algorithm, p u and p c U [1, 20] 47 Table 4.4. N T by Proposed Heuristic Algorithm, p u and p c U [1, 10] 50 Table 4.5. N T by Proposed Heur istic Algorithm, p u and p c U [11, 20] 51 Table 4.6. N T by Proposed Heuristic Algorithm, p u and p c U [1, 20] 52 Table 4.7. N T by Proposed Heuristic Algorithm for Large Problems, p u and p c U [1, 10] 54 Table 4.8. N T by Proposed Heuristic Algorithm for Large Problems, p u and p c U [11, 20] 55 Table 4.9. N T by Proposed Heuristic Algorit hm for Large Problems, p u and p c U [1, 20] 56 Table 4.10. Performance of Heuristic Versus Optimal, p u and p c U [1, 10] 57 Table 4.11. Performance of Heuristic Versus Optimal, p u and p c U [1 1, 2 0] 58 Table 4.12. Performance of Heuristic Versus Optimal, p u and p c U [1, 20] 59 PAGE 7 iv Table 4.13. CPU Run Time in Seconds fo r Optimal Algorithm 61 PAGE 8 v List of Fig ures Figure 3.1. Case 1. When the Previous Batch is of U type 40 Figure 3.2. Case 2. When the Previous B atch is of C type 40 Figure 3.3. Case 3. When the previous batch is C type, we n eed to start a new batch 41 Figure 4.1. Optimal N T Versus Due Date Settings for p u p c U[1,10] 45 Figure 4.2. Optimal NT Versus Due date Settings for p u p c U[11,20] 46 Figure 4.3. Optimal N T Versus Due date settings for pu, pc U[1,20] 47 Figure 4.4. Heuristic N T Versus Due Date Settings for pu, pc U[1,10] 50 Figure 4.5. Heuristic N T Versus Due Date Settings for p u p c U[11,20] 51 Figure 4.6. Heuristic N T Versus Due Date Settings for pu, pc U[1,20] 52 Figure 4.7. CPU time (in seconds) Versus the Due Date Settings, p u and p c U[1,10] 62 Figure 4.8. CPU time (in seconds) Versus the Due Date Settings p u and p c U [11,20] 63 Figure 4.9. CPU time (in seconds) Versus the Due Date Settings, p u and p c U[ 1,20] 63 Figure 4.10. CPU time (in seconds) Versus n for p u p c U[1,10] 64 Figure 4.11. CPU time (in seconds) Versus n for p u p c U[11,20] 64 Figure 4.12. CPU time (in seconds) Versus n for p u p c U[1,20] 65 PAGE 9 vi S cheduling of 2 operation Jobs on a Single Machine to Minimize the Number of Tardy Jobs Radhika M. Yeleswarapu ABSTRACT This study focuses on the study of a unique but commonly occurring manufacturing problem of scheduling of customized jobs consisting of two operations on a single multi purpose machine with the performance objective of minimizing the number of tardy jobs (jobs that are not completed by their due dates). Each cus tomized job to be complete needs one unique operation and one common operation performed on it. We considered a static case in this work. The objective of minimizing the number of tardy jobs is considered where all jobs have equal weights and the maximum t ardiness has no effect on the performance. This problem is proved in literature as NP hard and hence practically very difficult to obtain optimal solution within reasonable computational time. Till date only a pseudo polynomial algorithm is given to solve this problem with no concrete computational experiments designed to prove the efficiency and working of the algorithm for different problem instances. We propose a heuristic algorithm based on the Moore Hodgsons algorithm combining with other procedures and optimal schedule properties from the literature to solve this problem. In literature, Moore Hodgsons algorithm is an efficient heuristic PAGE 10 vii algorithm that minimizes the number of tardy jobs for the classical single machine one operation problems. The pe rformance of the heuristic is evaluated through extensive computational experiments for large real size data. The obtained results are compared to the solutions obtained by implementing the optimal pseudo polynomial algorithm and the performance of the heu ristic is tested on large data sets. The test data for the computational experiments are generated randomly using MATLAB 6.1. Future directions of research and development on the problem to improve the obtained solution by the heuristic algorithm are given PAGE 11 1 CHAPTER 1 INTRODUCTION 1.1 Foreword In today's complex manufacturing setting, with multi component and multiple lines of products, each requiring many different steps and machines for completion, the decision maker for the plant must find a way to al locate the limited resources to produce products in the most efficient way possible. The decision maker needs to design a production schedule that promotes on time delivery, and minimizes objectives such as cost and total flow time. Since the 1980s, manufa cturers used Just In Time (JIT), Total Quality Management (TQM), and other programs to improve efficiency of manufacturing processes. Effective utilization of the resources is crucial in optimizing the manufacturers cost, a good scheduling helps to do so. Hence, scheduling has assumed a great importance in the manufacturing environment. In the last decade there has been significant interest in scheduling practices that involve an element of batching by which there is an increase in efficiency as it may be c heaper and faster to process jobs in batches than individually. There has also been an increased research into minimizing the performance measures such as the maximum tardiness and number of tardy jobs, both are useful to measure the effectiveness of the manager to serve a customer, the former is to minimize the lateness of the most late job and the later objective is applicable when the penalty for a tardy job is the same no matter how late the job is. Research in scheduling theory has PAGE 12 2 evolved over the pa st forty years and has been the subject of much significant literature which uses techniques ranging from unrefined dispatching rules to highly sophisticate parallel branch and bound algorithms and bottleneck based heuristics. A diverse spectrum of researc hers ranging from management scientists to production practitioners contributed to its development. However with the advent of new methodologies, such as neural networks and evolutionary computation, researchers from fields such as biology, genetics and ne urophysiology (Colorni 1996) have also become regular contributors to scheduling theory emphasizing the multidisciplinary nature of this field. Scheduling problems involve solving for the optimal schedule under various objectives, different machine environ ments and characteristics of the jobs. Usually, the choice of schedule has a significant impact on system performance. There is a great demand for customized products these days. Today a customer is able to demand a product with his own choice of feature s incorporated into it. There may be many common components in these products and they may differ only by a very few unique components. The unique components customize the job in accordance with the customers particular requirements. A production engineer may often encounter this type of manufacturing problem of scheduling jobs with both common and product dependent components, all processed at a single facility. Scheduling the fabrication of such jobs on a single machine with due date constraints under it em availability is dealt with the objective to minimize the number of tardy jobs, where each job requires one standard operation and one specific operation. The standard operations require same setup for all the jobs. The common operation on all the jobs r equires same setup time, the unique operation has a unique and specific setup that is different for different jobs and hence is PAGE 13 3 included in their processing time. The same setup for all the common components leads to the idea of batching the common compone nts. Hence this is a different kind of a scheduling problem, involving both batching as well as sequencing decisions. This problem is a NP hard problem, meaning it is not likely to be solved optimally in polynomial time. An extensive literature search is d one on batching and sequencing on a single machine and certain properties of the optimal schedule are presented. Based on these properties and the famous Moore Hodgsons Algorithm for minimizing the number of tardy jobs, we propose a heuristic algorithm to solve this problem. The results obtained are compared with those obtained by the pseudo polynomial algorithms given in the literature. In this chapter introduction of machine scheduling problem, characteristics of a good schedule, types of scheduling prob lems and solution methodologies used to solve them are briefly discussed. The notation used and significance of the current problem dealt in this thesis is also given. 1.2 M achine Scheduling Everyone uses scheduling in the day to day life unknowingly. A s tudent may look at the objective of completion of his class work with the constraints of assignment due dates and exams. A professor schedules his classes so as to complete all the topics before the last date of instruction in a given order. A manager plan s a schedule of operations before a project deadline against which he has to work. A manufacturer has to schedule activities in such a way as to meet the shipping dates committed to customer and also to use the available resources in an efficient manner. S equencing and scheduling are forms PAGE 14 4 of decision making which play a crucial role in both manufacturing for production scheduling and work force management for service industries. Application areas for scheduling are food, snack industries, automotive indust ry etc. and in service industries like workforce planning in crew scheduling, call center capacity planning, in reservation and yield management systems. Scheduling concerns the allocation of limited resources to tasks over time (Baker 1974). It is a decis ion making process that has a goal of optimization of one or more objectives subject to decision making restrictions. Ideally the objective function should consist of all costs in the system that depends on the scheduling decisions. However such costs are difficult to measure or identify completely. Hence important cost related measures of system performance like machine idle time, job flow time, job waiting time or job lateness can be substituted for total cost and are frequently used criteria. Three type s of decis ion making goals are prevalent, efficient utilization of resources, rapid response to demands and close conformance to prescribed deadlines. Scheduling problems are subject to two kinds of common feasibility constraints that limit on the capacity of available resources, technological restrictions on the order in which tasks can be performed. Hence scheduling deals with decision on which resource is allocated to which task and when each task is performed. The vital elements in scheduling models are resources and tasks. They describe the type and amount of resource available, typically characterized by the qualitative and quantitative capabilities of each resource. An individual task is described in terms of its resource requirement, its duration of processing, the time at which it may be started and PAGE 15 5 the time at which it is due. In addition there may sometimes exist technological constraints (precedence restrictions). 1.3 Levels of Scheduling In scheduling, though we model only the decision of what to be released into the shop next and when, there are many more decisions that have to be taken at various stages of manufacturing. A job shop can be considered as a set of resources depending on the current level of abstraction. These decisions are taken st ep by step at an appropriate time and repeated several times, leading to the classification of manufacturing problems at several levels. Most of such schemes have four or five levels. One of such schemes with five levels is presented in table 1.1 Thomas E. Morton and David W. Pentico (1993). Table 1.1. Classification of Scheduling Levels Level Problem Class Examples of problems Planning Horizon 1 Long range planning Plant expansion, plant layout, plant design 2 5 years 2 Middle range planning Product ion smoothing, logistics 1 2 years 3 Short range planning Requirements plans, shop bidding, due date setting 3 6 months 4 Scheduling Job shop routing assembly line balancing, process batch sizing 2 6 weeks 5 Reactive scheduling/ control Hot jobs down machines, late material 1 3 days PAGE 16 6 1.4 S cheduling Environments There are many types of scheduling environments that range from small, complex, one of a kind custom job shops to high speed, low product variety transfer lines, from discrete par ts manufacturing to continuous process flows. The table 1.2 provides a summary of these environments. Table 1.2. Scheduling Environments Type Scheduling environment Characteristics 1 Classical job shop Discrete complex flow, unique jobs, no multi use part s. 2 Open job shop Discrete, Complex flow, repetitive jobs and multi use parts. 3 Batch shop Discrete or Continuous, less complex flow, many repetitive and multi use parts, grouping and lotting important. 4 Flow shop Discrete or continuous, linear flow, jobs all highly similar, grouping and lotting important. 5 Batch/ Flow shop First half, large continuous batch process; second half a typical flow shop. 6 Manufacturing Cell Discrete, automated grouped open job shop or batch shop 7 Assembly shop Assemb ly version of open job shop or batch shop 8 Assembly line High volume, low variety transfer line of assembly shop 9 Transfer line Very high volume, low variety linear production facility with automated operations. 10 Flexible transfer line Modern versio ns of cell, transfer lines intended to bring some of the advantages of large scale production to job shop items. PAGE 17 7 1.5 Characteristics of a Good Schedule In scheduling problems, finding a good objective to minimize or maximize can be difficult and it may b e crucial step for several reasons. Firstly, important objectives like customer satisfaction for quality or promptness are difficult to quantify and do not appear among the accounting numbers, these enhance the quality of service. A shop usually deals with three types of objectives, such as Maximize shop throughput over some time period, satisfy customer desires for quality and promptness and minimize current out of pocket costs. A schedule that is developed considering one of the above three objective fun ctions can be considered a good schedule. Several approaches can be considered to achieve one or more of these objectives 1. To solve problems with one objective at a time; 2. To solve for trade of curves between objectives; and 3. To combine objectives b y assigning costs to customer desires and lack of utilization. Scheduling can be difficult from both a technical and implementation point of view. There are three characteristics which cause scheduling to be extremely difficult to automate. 1. Its combinat orial complexity (scheduling is an NP hard problem); 2. The conflicting nature of the requirements of a "good" schedule; 3. The uncertainty of execution caused by the stochastic and dynamic nature of most scheduling environments. The most prominent feature of scheduling problems is their combinatorial explosiveness. Most combinatorial optimization problems, except a few very simplistic PAGE 18 8 ones are in the NP class, and are therefore difficult to solve. A second difficulty with scheduling involves assessing the value of a scheduling decision within a specific domain. Often it is unclear how one decision will influence the global satisfaction of organizational goals such as machine utilization, due date satisfaction or work in progress (WIP) levels. The need to op timize both the quantitative as well as qualitative objectives such as minimization of costs along with customer satisfaction with quality or promptness makes the problem more complex. Thirdly, unforeseen events like machine breakdown, power failure, and personnel absences in a machine shop may invalidate a schedule. An effective schedule should be able to adapt to these environmental and executional uncertainties. Hence it is very complex problem far from being completely solved to optimality in most of the cases. In fact, it is computationally impossible to check for optimality for most scheduling problems! 1.6 T ypes of Scheduling Problems Scheduling problems can be classified in terms of number machines, flow discipline, job availability (in case of b atching), and so on. 1.6.1 Single Machine The single machine environment is very simple and basic job shop problem consisting of a single processor and n jobs. Each job has one operation to be performed. It provides a basis for heuristics for more complic ated machine environments. Complicated machine environments are often decomposed into single machine sub problems. Polynomial time or heuristic algorithms are already found for most of the single machine cases. For single machine problems it has been prove d that SPT is optimal for finding the minimum total completion time, weighted completion time, PAGE 19 9 average flow time and EDD gave better schedules for performance measures like maximum lateness, number of tardy jobs, total tardiness and other due date related objectives. In the single machine environment with ready time set at 0, MST maximizes the minimum lateness. 1.6.2 Parallel Machines Multiple machines are available to process jobs. The machines can be identical, of different speeds, or specialized to on ly processing specific jobs. Each job has a single task. 1.6.3 Flow Shop In the general flow shop model, there are a series of machines numbered 1, 2, 3 m. Each job has exactly m tasks. The first task of every job is done on machine 1, second task on machine 2 and so on. Every job goes through all m machines in a unidirectional order. However, the processing time each task spends on a machine varies depending on the job that the task belongs to. In cases where not every job has m tasks, the process ing times of the tasks that don't exist are zero. The precedence constraint in this model requires that for each job, task i 1 on machine i 1 must be completed before the i th task can begin on machine i. 1.6.4 Job Shop In the general job shop model, the re are a set of machines indexed by k, jobs indexed by i, and tasks indexed by j. Each task on a machine is indicated by a set of three indices. i, the job that the task belongs to, j, the number of the task itself, and k, the machine that this particular task needs to use. The flow of the tasks in a job does not have to be unidirectional. Each job may also use a machine more than once. 1.6.5 Static In this problem, the activities are known in advance and the constraints are fixed. It assumes all job ar rivals at time zero (i.e., all the raw material for all the jobs is PAGE 20 10 available at the beginning) and the resources are always available without any breakdowns throughout the production process. 1.6.6 Dynamic This problem is more realistic and difficult to solve as compared to the static case. Every scheduling problem is subject to unexpected events. The job arrivals are not static and can be released into the system randomly. The resources may be unavailable due to unforeseen breakdowns at anytime. In thes e cases, a new solution is needed in a preferably short time taking these events into account and as close as possible to the current solution. 1.7 Terminologies 1.7.1 Job A job can be made up of any number of tasks. It is easy to think of a job as maki ng a product, and each task as an activity that contributes to making that product, such as a painting task, assembling task and so on. 1.7.2 Machine A machine is available to execute jobs and tasks. Different machine environments exist, such as single m achine and parallel machines. 1.7.3 Processing time Length of time required for processing a job or a task. 1.7.4 Completion time Time at which processing of a job is finished. 1.7.5 Due date The latest time by which a job should be completed so that it is not late. 1.7.6 Lateness It is a measure of how late a job is completed. The difference between completion time and the due date of a job give the lateness. L i =C i D i where C i is the completion of job i and D i is the due date of job i. 1.7.7 Tard iness The tardiness of job i, T i is defined as T i = Max (0, C i D i ). PAGE 21 11 1.7.8 Preemption Preemption (or job splitting) is allowed during the processing of a job, if the processing of the job can be interrupted at any time (preempt) and resumed at a later ti me, even on a different machine. The amount of processing already done on the preempted job is not lost. 1.7.9 Setup Many practical scheduling problems involve intermediate delays between processing of successive jobs or between operations of same job. It may reflect the need to change of tools or to clean a machine. This is the unproductive time on the machine but is necessary when there is a switch from one family type to another. 1.7.10 Batch In some manufacturing environments, its more efficient to pr ocess a subset of jobs (called a batch of jobs) simultaneously. This can reduce setup if there is one, or speedup the processing of jobs. By the way in which the jobs belonging to a batch are released after processing, there are two types of availability s chemes. 1.7.10.1 Batch Availability A job becomes available only after the whole batch to which it belongs has been processed. 1.7.10.2 Item Availability A job becomes available immediately after it has been processed and not when all the jobs of the bat ch to which it belongs are completed. The completion times of any job belonging to a batch except the last job of the batch are less for item availability as compared to batch availability. 1.8 Solution Methodologies A variety of techniques are used f or determining solutions to scheduling problems. Dynamic programming, network methods, heuristic solution approaches, dispatching rules and simulation techniques are used depending on the complexity of the PAGE 22 12 problem, nature of the model, and the choice of th e criterion. Hence scheduling deals both with the study of models as well as the methodologies used to solve the problem. Dispatching (or priority) rules and heuristic search techniques do not guarantee finding an optimal solution, but aim at finding reaso nably good solutions in a relatively short time, while the dynamic programming or branch and bound techniques search a large solution space and hence take a long time to find a solution. 1.8.1 Dispatching Rules The jobs are arranged in a list according t o some rule. The next job on the list is then assigned to the first available machine. The following are some of the common rules. 1.8.2 Random List This list is made according to a random permutation. 1.8 .3 Longest Processing Time (LPT The longest pr ocessing time rule orders the jobs in the order of decreasing processing times. Whenever a machine is freed, the longest job ready at the time will begin processing. This algorithm is a heuristic used for finding the minimum makespan of a schedule with parallel machines. It schedules the longest jobs first so that no one large job will "stick out" at the end of the schedule and dramatically lengthen the completion time of the last job. 1.8.4 Shortest Processing Time (SPT) The shortest processing time rule orders the jobs in the order of increasing processing times. Whenever a machine is freed, the shortest job ready at the time will begin processing. This algorithm is optimal for finding the minimum total completion time and weighted completion time If there is a single machine. In the single machine environment with ready time at 0 for all jobs, this algorithm is also optimal in minimizing the mean flow time, minimizing the mean number of jobs in the system, minimizing the mean waiting time of the jobs from the PAGE 23 13 time of arrival to the start of processing, minimizing the maximum waiting time and the mean lateness. 1.8.5 Earliest Due Date (EDD) In the single machine environment with ready time set at 0 for all jobs, the earliest due date rule orders the sequence of jobs to be done from the job with the earliest due date to the job with the latest due date. Let D i denote the due date of the i th job in the ordered sequence. EDD sequences jobs such that the following inequality holds, D 1 D 2 D n EDD finds the optimal schedule when one wants to minimize the maximum lateness, or to minimize the maximum tardiness. 1.8.6 Dynamic Programming Approach It is basically a complete enumera tion scheme that minimizes the amount of computation to be done by dividing the problem into a series of sub problems. It solves these sub problems until it finds the solution of the original problem. It determines the optimal solution of the sub problem a long with its contribution to the objective function and tries to improve the solution by a number of iterations. Boundary conditions, a recursive relation and an optimal value function characterize it. It is a reasonable approach to find an optimum sequen ce for problems where efficient optimizing procedures have not been developed. It is typical in many general purpose procedures for combinatorial optimization. Though the effort required to solve the problem grows exponentially with the problem size, it is more efficient than complete enumeration as computational demands for the latter increases as a factorial of the problem size. It is often described as implicit enumeration as it considers certain sequences only indirectly, without actually evaluating the m. In scheduling, the forward dynamic programming and backward dynamic programming approaches can be used. PAGE 24 14 1.8.7 Branch and Bound Approach It is a general purpose strategy for curtailed enumeration. As the name implies, it branches i.e., a large problem i s partitioned into two or more sub problems and each of these small problems are solved to obtain best solutions by calculating a lower / upper bound on the optimal solution of a given sub problem. Many branches of sub problems are eliminated by dominance properties and a list of unsolved sub problems that have been encountered are sufficient to determine an optimal solution. 1.8.8 Simulation Techniques Simulation can represent realistic systems for study of various scenarios that might occur over a time period at a modest cost. The structure of the shop, activities, jobs and constraints can be animated on a computer. Given appropriate input data and simple dispatching rules at decision points, computer could extrapolate a given schedule into the future. I t provides a natural approach for interfacing with human expertise. However, the disadvantage is that the results obtained are not even approximately optimal and also it is difficult to determine how good these schedules are and how to improve them for bet ter solutions. Simulation is the base for more advanced methods like Artificial Intelligence and Decision Support Systems with added accurate decision making procedures. 1.8.9 Neighborhood Search Techniques It is a general purpose heuristic technique tha t may be used for quite complicated problems where solution itself is very complex. It consists of a starting solution called original seed and all solutions close to the original solution (the neighborhood of the seed). A selection criterion is used to f ind a new seed and this is terminated by a termination criterion. A much improved solution is obtained at the end of the search. PAGE 25 15 1.8.10 Meta heuristic Search Methods 1.8.10.1 Tabu Search The basic concept of Tabu Search is described in Glover (1986). It i s a deterministic heuristic approach for solving combinatorial optimization problems. It is an adaptive procedure that can be superimposed on many other methods to prevent them from being trapped at locally optimal solutions. It is a neighborhood search wi th a list of recent search positions. The essential feature of tabu search is the systematic use of memory. It keeps track of both the local information and also the exploration process. The method starts with an initial current solution, which could be fe asible, non feasible or even a partial solution. Using some local changes (called moves) from the current solution, a list of candidate solutions are generated (called candidate list). To avoid cycling in the algorithm a tabu list is maintained to keep tra ck of a set of solutions that are forbidden. The role of the memory will be to restrict the choice to some subset of neighborhood by forbidding moves to some neighbor solutions. 1.8.10.2 Genetic Algorithm Approach John Holland formally introduced genetic algorithms in the United States in the 1970s; Genetic algorithm derives its behavior from a metaphor of the processes of evolution in nature. This is done by the creation of a population of individuals represented by chromosomes, in essence a set of charac ter strings that are analogous to the base 4 chromosomes that we see in DNA. The individuals in the population then go through a process of evolution. Genetic algorithms are used for solving multidimensional optimization problems in which the character st ring of the chromosome can be used to encode the values for the different parameters being optimized. In particular, genetic algorithms work very well on mixed (continuous PAGE 26 16 and discrete), combinatorial problems. They are less susceptible to getting 'stuck' at local optima than gradient search methods. But they tend to be computationally expensive. 1.8.10.3 Simulated Annealing As its name implies, the Simulated Annealing (SA) exploits an analogy between the way in which a metal cools and freezes into a minim um energy crystalline structure (the annealing process) and the search for a minimum in a more general system. The current state of the thermodynamic system is analogous to the current solution to the combinatorial problem, the energy equation for the ther modynamic system is analogous to at the objective function, and ground state is analogous to the global minimum. The major difficulty (art) in implementation of the algorithm is that there is no obvious analogy for the temperature, T with respect to a free parameter in the combinatorial problem. Furthermore, avoidance of entrainment in local minima (quenching) is dependent on the "annealing schedule", the choice of initial temperature, number of iterations performed at each temperature, and the temperature decrement at each step of cooling. Simulated annealing has been used in various combinatorial optimization problems and has been particularly successful in circuit design problems. The major advantage over other methods is the ability to avoid becoming tr apped at local minima. 1.8.11 Moore Hodgsons Algorithm Moore Hodgsons Algorithm is an efficient and popular algorithm to minimize the number of tardy jobs in the single machine environment with ready times equal to zero. It is proved to be working well for the classical single machine problem. In this research we tried to see if it can be applied for our problem and it is proved to be working for our unique case of single machine PAGE 27 17 scheduling problem with same objective function to minimize the tardy jobs. It is described further in detail in the next chapter. 1.9 Three field ( g b a / / ) Notation This notation is given in Lawler et al (1993). It is popularly used to denote the scheduling problems. It consists of three fields. The first field stands for the machine environment, second specifies the problem characteristics and third field describes the objective function. Our problem of scheduling of 2 operation jobs (Unique u i Common c i ) on a single machine to minimize the number of late jobs is denoted by 1/ (u i c i ) / S U i, from here in this thesis. 1.10 Notation Used in this Thesis J ={1, 2, .. n}, job set to be processed O u, i unique component of job i, 1<= i <= n O c, i common component of job i, 1<= i <= n P u, i processing time o f component O u, i, 1<= i <= n P c, i processing time of component O c, i, 1<= i <= n D i due date of job i, 1<= i <= n CT i completion time of job i, 1<= i <= n T i tardiness of job i, 1<= i <= n, T i = max {C i D i 0) U i status flag of job i, 1<= i <= n; U i = 1, if job i is tardy = 0, otherwise. s batch setup time for common components J E set of early jobs, J E = at the beginning PAGE 28 18 J L set of tardy jobs, J L = at the beginning S E schedule of the early jobs, S E = at the beginning S L schedule of the tardy jobs, S L = at the beginning T completion times of all the operations at a given instant. N T Number of tardy jobs Batch type a Batch type is determined by the type of last operation performed on the last j ob in a particular batch. Batch type is 1, if the c operation is done last or Batch type is assigned 2, if u operation is done last. Batch Size j the number of jobs scheduled in a batch to which job j belongs to. 1.11 Significance of the Problem Unlike al l the fabrication and assembly models considered in literature, the problem considered in this research deals with scheduling n jobs on single machine, each job to be completed requires two operations to be completed on it. The two operations, one common a nd one unique can be performed on the same machine in any order. The problem of minimizing the number of tardy jobs for the 2 operation job scheduling on single machine is proved to be NP hard and is only solvable in pseudo polynomial running time till no w in literature by Gerodimos et al (2000), Gerodimos (2001) and Lin (2002). 1.12 Organization of the Thesis The first chapter briefly describes the scheduling problems, their significance in the manufacturing industry and also introduces the present prob lem dealt with in this thesis. The second chapter discusses the real life problem situations and methods PAGE 29 19 previously used to solve similar scheduling problems in the literature. The third chapter describes the problem statement and heuristic algorithm propo sed by us to solve the problem. In the next chapter, computational experiments are performed on randomly generated real size data and the solutions obtained are compared with those obtained by the dynamic programming algorithm given in the literature in Ge rodimos (2001). Conclusion and directions of future research are given in the following chapter. PAGE 30 20 CHAPTER 2 LITERATURE REVIEW 2.1 Past Works on Similar Problems The problem of batching and sequencing of two component jobs on a single machine might ori ginate at any production environment with a multi purpose machine that can perform two or more operations. Many applications of this type of problem appear in literature. Lin (2002) considered a fabrication machine, a bottleneck facility in the production process that can perform two different operations. Manufacturing challenges at a food factory inspired Gerodimos, Glass and Potts (2000) and (2001). The efficient production of the base ingredients to ensure an uninterrupted blending of end products is opt imized. The 2 component case is most appropriate for the food manufacturing problem as it is learned from the actual statistics that most food items have two main base ingredients and then unique ingredients are blended at a later stage. An instance of a f ertilizer production facility is also given in Gerodimos et al (2000). All fertilizers contain some quantity of the same base ingredient, while the other ingredients are specific to individual fertilizers. In Coffman et al (1989), a machine inserting compo nents into circuit boards that are assembled into kits is studied. In Vickson and Magazine (1993) refer to the kind of problem come across in substrate production plus the populating of the substrates in computer assembly and in automobile engine fabricati on. PAGE 31 21 The batching of jobs is common to save setup time for jobs requiring same setup or if there is a machine that can process several jobs at same time. Extensive research has been done on sequencing families of jobs into batches by Yavuz (1999), Potts and Kovalyov (2000). Yavuz(1999) considered batching and lot sizing which often increase the customer service and decrease the throughput time. Batching is the decision of scheduling similar jobs contiguously and lot sizing is the decision of when and how to split identical items into sub lots. In a family scheduling problem, jobs are divided into families according to their similarity, so that no setup is required for jobs belonging to the same family. A set up cost is incurred at the beginning of the schedul e and between the switching of family processing. According to Potts and Kovalyov Magazine and Santos (1985), the problem of batching is considered for single machine and is shown that batching decisions may have a dramatic impact on the manufacturing le ad time of items to be processed. Large batches reduce the number of setups and hence increase the machine utilization but they may delay the processing of jobs belonging to a different family. Mohammad and Emmons (1996) studied the problem of scheduling o f families of jobs with sequence independent setup times in group technology assumption and proved that minimizing the number of tardy jobs is NP hard. Many applications similar to our problem are studied in literature. In Baker (1988), Aneja and Singh (19 90), Coffman, Nozari and Yannakakis(1988), Sung and Park (1993), Cheng and Wang (1999), a two stage assembly shop with one fabrication machine that can process both common and unique components and then assembled at a subsequent assembly stage with the ob jective to minimize the mean flow time or completion time is studied. In all the above cases except Cheng and Wang (1999), only the single fabrication machine that is the bottleneck PAGE 32 22 facility is considered. Only Cheng and Wang (1999) considered the two sta ge case of both fabrication and assembly with an objective to minimize the makespan under both item and batch availability considerations. In the single machine cases, the completion of the second component of the job is considered as the job completion ti me. A branch and bound algorithm is given by Sung and Park (1993), where the jobs are first sequenced by SPT and then the B & B algorithm is applied. Most of the other solutions for this problem are given by an algorithm, which combines a sequencing proc edure and a dynamic programming procedure. The objective of mean completion time, which is equivalent to minimizing the average work in process inventory is studied in detail by Baker (1988) and Coffman, Nojari and Yannakakis (1988). They are the first peo ple to research and consider this kind of two component, single machine problem, both considered the objective of mean completion time under batch availability. Aneja and Singh (1990) extended Bakers two component model (one unique and one common) to N co mponents (one unique and several common components) for the same objective. Vickson et al (1993) considered the case of item availability unlike Bakers batch availability and they showed that this assumption makes the problem more complex and could devis e a dynamic programming only for a special case of all common components having same processing times. Moreover, since timeliness of the product delivery is also important next to the cost (measured by WIP inventory), due date constraints are introduced. Hence new performance objectives such as minimizing of the total tardiness, the maximum tardiness, and number of tardy jobs also investigated recently for this problem. The due date related objectives are studied by Gerodimos et al (1999) for the case of n multi operation jobs on PAGE 33 23 single machine. Lin (2002), Gerodimos, Glass, Potts (2000) analyzed for the due date related objectives of T max and SU i The problem description, assumption regarding the availability of completed jobs and complexity of various pro blems previously studied in literature is given in table 2.1, given in the next page. Table 2.1. Similar Problems and their Complexity Studied in Literature Proposed in literature by Problem setting and machine environment Technique used Order of complexi ty of the solution Baker et al (1988) FSP /(U i C i )/mean completion time under batch availability, also for agreeability case of processing times of common components All the jobs are arranged in SPT order, and then a dynamic programming algorithm is give n. O (n 3 log n) Coffman et al (1988) Automated manufacturing system/ with 2 sub assemblies/ the total time (makespan) 2 theorems on optimal schedule structure are given and improved optimization algorithms are given O( n ) Aneja et al (1990) 1 / ( 1 u i m c i, ) / minimize mean completion time, where m >= 2 an extended algorithm to Bakers algorithm is given O(mn 2 ) Sung et al (1993) 1 / (common, product dependent components) / mean flow time A branch and bound solution, a dynamic progra mming algorithm is also given O(n 2 ) Cheng et al (1999) F2 / (u i c i, a i ) /minimize makespan, both fabrication as well as assembly stage are considered under both item and batch availability (IA, BA) Sequenced by Johnsons rule and then a dynamic programm ing algorithm is given. For identical common component case O (n 4 ) Special case O (n 3 ) 1 / (u i c i, ) / T max under batch availability Dynamic programming algorithm O (n 2 ) Gerodimos et al (2000) 1 / (u i c i, ) / U i under batc h availability Pseudo polynomial time algorithm, and solvable for special case O(n 2 d max ) time special case in O(n 4 log n) PAGE 34 24 Table 2.1. continued Proposed in literature by Problem setting and machine environment Technique used Order of complexity of the sol ution Gerodimos et al (2001) 1 / (j (1) j (2) ) / Cj ( agreeability) FSP / (j (1) j (2) )/ L max, FSP / (j (1) j (2) )/ U i under item availability SPT and then by DP EDD and then by DP Pseudo polynomial time Solvabl e for special case p j ) 1 ( = constant O(n log n) O(n 2 ) O(n 2 D max ) in O(n 5 log n log P) where P is the sum of processing times of specific operations. Gerodimos, Glass, Potts (2000), (2001) studied the two objectives to minimize the maximu m Tardiness, minimize the number of tardy jobs under batch availability, item availability assumptions respectively. They gave in their papers, a polynomial time dynamic programming algorithm for T max and a pseudo polynomial algorithm for the later. In (20 01) they solved by introducing a generic dynamic programming scheme that builds an optimal schedule by alternately inserting blocks of operations of the two distinct types based on certain optimal schedule properties. Their approach lead to efficient algor ithms for sum of completion times with agreeable processing times, maximum lateness problems and for a special case of the number of tardy jobs (same processing time of all common operations). They also compared the results with those of the batch availabi lity case and proved that item availability case is equally simple as the batch availability case. Lin (2001) considered the item availability assumption for the same objectives to minimize T max and number of tardy jobs and proposed a polynomial time algor ithm for the former and pseudo polynomial time algorithm for the latter. PAGE 35 25 There is no polynomial time algorithm given for the objective of number of tardy jobs for this type of a problem until now. Therefore, we considered this objective under item availab ility assumption, which is proved by Gerodimos, Glass, Potts (2001) and Lin (2001) as an NP hard case and solvable only in pseudo polynomial running time. 2.2 Pseudo polynomial Algorithm A dynamic programming algorithm for minimizing the number of late j obs, which has pseudo polynomial running time is proposed in Gerodimos, Glass, Potts (2001) based on certain properties of the optimal schedule. Firstly the jobs are re indexed according to the EDD rule so that D 1 D 2 . . D n then an optimal schedule is built using a forward dynamic program with job insertion. At each step, the two operations of an early job are inserted either at an appropriate position into the last batch or appended in to a new batch at the end of the given partial schedule. An initial partial schedule of early jobs is said to be of type b if it ends with a block of type b for b = 1, 2. The late jobs are not included in the schedule since the order in which they appea r is immaterial. In this algorithm, the number of jobs considered for inclusion into the partial schedule, a stage variable k and state variables (u, e, b) where u is the number of late jobs, e is the minimum earliness of the jobs in the last block of earl y jobs and b denotes that the partial schedule is of type b for b = 1,2. b = 1, if the schedule ends with a common operation and 2, if it ends with a unique operation. The earliness value is included so as to check the feasibility of some of the insertions in order to generate all potentially optimal schedules. PAGE 36 26 F k (u, e, b) denote the minimum completion time of the last early job in partial schedules of early jobs in stage k corresponding to state (u, e, b). F k (u, e, b) = if no su ch schedule exists. g (k, u, e, b) denote the maximum earliness of job k when the partial schedule corresponding to state (u, e, b) at stage k 1 is extended by inserting the two operations of k in the last two appropriate batches so that no setup is gene rated. g (k, u, e, b) = D k (F k 1 (u, e, b) + p k ) 1 ( + p k ) 2 ( ) F k (u, e, b) denote the make span of the best schedule in stage k and state (u, e, b), whose earliness is at least e. F k (u, e, b) = min {F k (u, e, b)} According to the property of the optimal schedule which states that the optimal schedule starts with a unique operation. Hence the initial condition is F 0 (0, 0, 2) = 0, with all other values including F 0 (0, 0, 1) set to infinity. The forward recurs ion for the dynamic program with job insertion is given by for k = 1, . n, u = 0, . k, e = 0, . D k and b = 1, 2 where b = 3 b The minimum number of late jobs is given by u* = min { u  min { min { F n (u, e, 1), F n (u, e, 2)}}< } The time requirement of this algorithm is O (n 2 d max ). Indexing of the jobs in EDD rule requires O (n log n) time. In the dynamic program there are O (n D max ) states for each of + + + + + + + + + s b p p b u F p p b p e u F p p b p e u F b e u F k k k k k b k k k k b k k k ) 2 ( ) 0 ( ) , ( ) , ( ) , 1 ( ) 2 ( ) 1 ( 1 ) 2 ( ) 1 ( ) ( 1 ) 2 ( ) 1 ( ) ( 1 1 if g(k, u, e+ b p b k ) ( ) > e if g(k, u, e+ b p b k ) ( ) = e if g(k, u, 0, b) (2 b)s = e F k (u, e, b) = min n d e 0 k d e e PAGE 37 27 the n stage s, where the largest due date, D max is the upper bound on the earliness e that can occur that can occur in a feasible state. 2.3 Moore Hodgsons Algorithm Moore (1968) proposed an O (n log n) algorithm that is proved to produce optimal schedules with the maximum number of late jobs for 1 / u i / SU i case, where on time jobs are added to the schedule in the increasing order of their due dates and when the inclusion of a job j results in it being completed late, this job is tried to be included into the schedule by discarding an already scheduled job with the longest processing time. EDD (earliest due date first) rule has proved to be giving an optimal solution to due date related objectives like T max and number of late jobs. Hence, in most of the literature on due date related problems, the first step is to sequence the jobs in EDD order. Let E denote the set of early jobs and L denote the set of late jobs. Initially, all jobs are in set E and set L is empty. Step 1: Order all jobs in the set E using EDD rule. Step 2: If no jobs in E are late ; E must be optimal and go to Step 4. Otherwise, find the first late job in E. Let this first late job be the k th job in set E. Step 3: Out of the first k jobs, find the longest job. Remove this job from E and put it in L. Return to Step 2. Step 4: F orm an optimal sequence by taking the current sequence of jobs in E and appending rejected jobs in set L in any order. PAGE 38 28 Theorem 2.3.1 Moore Hodgsons Algorithm constructs the set E of early jobs in an optimal schedule for the problem 1// j U (Brucker (2001)) Proof. We denote a schedule by P = (E, L), where E is the set of early jobs and L is the set of late jobs. Let j be the first job that in step 3 of the algorithm is deleted from set E. We first prove that there exists an optimal sc hedule P = (E, L) with j L and k is the job, which is added to the set E in the preceding step. Then P j = k i 1 max = p i Further more, when scheduling the partial sequence 1, 2, . ., j 1 j+1, . k no job is late and P k P j We replace j by k and reorder jobs according to non decreasing due dates. Now consider an optimal schedule P = (E, L) with j E. There exists a sequence, P : P (1), . ., P (m), . ., P (r), P (r + 1), . P (n) Where D ) 1 ( P . . D ) ( r P (2.3.1.1) L = { P (r + 1), . P (n)} (2.3.1.2) { P (1) . . P (m)} {1, . .k} (2.3.1.3) { P (m+1) . . P (r)} {k+1, . . n} (2.3.1.4) j { P (1) . . P (m)} (2.3.1.5) Since D 1 D 2 . . D n there always exists m such that (2.3.1.3) and (2.3.1.4) are satisfied. Furthermore, (2.3.1.5) holds because j E {1, . . k}. Since { P (1) . .., P (m)} E, no job in { P (1) . . P (m)} is late. On the other hand, there is a late job in {1, . . k} in any schedule. Thus { P (1) . . P (m)} {1, PAGE 39 29 . . k}, which implies that we have a job h ( 1 h k) with h { P (1) . . P (m)}. We delete job j from { P (1) . . P (m)} and replace it by h. If we order all jobs in { P (1) . . P (m)} U {h} \ {j} according to non dec reasing due dates, all jobs are on time because {1, . . k} \ {j]} has this property. If we add the jobs P (m+1), . . P (r) to the set { P (1), . . P (m)} U {h} \ {j} and sort all jobs according to EDD order, all jobs are on time because P h P j implies = P = P + m i i h j m i i P P P P 1 ) ( 1 ) ( Thus we get an optimal schedule P = (E, L) with j L. By induction the theorem can be proved on the number of n jobs. The algorithm is correct if n = 1. Assume the algorithm is correct for all the problems with n 1 jobs. Let P = (E, L) be the schedule constructed by the algorithm and let P = (E, L), an optimal schedule with j L, then by optimality, we have  E   E. If the algorithm is applied to the set of jobs {1, . .. j, j+1, . n} we get an optimal schedule of the form (E, L \ {j}). Because (E, L \ {j}) is feasibl e for the reduced problem, we have  E E. Thus E = E and P is optimal. In this chapter we have looked into some of the most important work done in the area of scheduling with a particular emphasis on the problem of scheduli ng 2 component model on single machine with different objective functions. The next chapter will present the problem description and solution methodologies used. PAGE 40 30 CHAPTER 3 PROBLEM STATEMENT AN D METHODOLOGY In the last chapter we discussed the research d one on 2 component scheduling problems, the solution methodologies applied and the complexity of those algorithms. In this chapter, the present research problem and our proposed methodology to solve it will be presented. 3.1 Statement of the Problem The pr oblem in the present research is, scheduling of n jobs that are available at time zero on a single machine to minimize the number of tardy jobs. Each job is associated with a due date and consists of two operations, a standard (common) operation (O c, j ), and a specific (unique) operation (O u, j ). A standard operation is common and requires a constant setup for all jobs but the specific operation is job dependent and requires a unique setup for every job. Hence the common operations may be grouped into bat ches for processing and a constant setup is incurred when each batch is formed whereas the specific operations are performed individually. The two operations can be performed on a job in either order. The machine can perform at most one operation at a tim e and no preemption is allowed. The jobs from the batches are released under item availability and the completion time of a job is when the last of the two operations is completed on it. A job is said to be tardy when its completion time is greater than th e due PAGE 41 31 date associated with it. Our scheduling problem involves both batching as well as sequencing decisions. 3.2 Assumptions 1. The machine is always available throughout the production process (without any breakdowns and is not stopped for maintenance). 2. A s the setup for the specific operation is unique to every job, the setup time for each job is included in its processing time (P u, j ). 3. No preemption is allowed while performing any of the operations. 4. The two operations are performed in any order. 5. The tardy jobs are all processed after the early and on time jobs and increase in the max tardiness value due to this is ignored. 3.3 Objective Function The objective function that is been considered for the present problem is to minimize the number of tardy jobs. Minimize SU i for i = 1, 2, ..n Where U i = 1, if job i is tardy 0, otherwise 3.4 Complexity of the Problem The 1 / (u i c i )/ U i, is proved to be a NP hard problem and an optimal solution to this problem can be found only in pseudo polynomial time in Gerodimos (2001), Lin (2002). We devise a heuristic algorithm for the above problem by the method of insertion PAGE 42 32 of single or blocks of unique and common operations into the initial schedule to obtain near optimal solutions with a very lo w standard deviation and the algorithm which can be used to obtain solutions for large n values and due dates in a very short time compared 3.5 Properties of Optimal Schedule In order to eliminate some of the possible schedules and restrict our attention to schedules of a particular type, the optimal schedule for the given problem is proved to be satisfying the following batching and sequencing properties. These properties and proofs are given by Gerodimos, Glass and Potts (2001), Lin (2002). 3.5.1 Prope rty 1 For the 1 / (c i u i )/ U i there is an optimal schedule in which the two operations of the non tardy jobs are sequenced in consecutive batches. ( given in Gerodimos, Glass and Potts (2001)) Proof. Assume that u i is the non final operation of the i th job scheduled already in the l th unique batch B l and final operation of the job i c i is not scheduled in the B l th common batch but is scheduled in a later batch, this will complete the job at a later time. Since the job i is said to be completed only after the completion of the final operation. Though the non final operation is performed well ahead, it has to wait for a long time for the final operation, hence it is desired to perform the non final operation as late as possible, so th at it is finished just before its final operation. Though this will not increase the completion time of this job but might decrease the completion times of other jobs. The latest the non final operation may be delayed is in the previous batch to the final operation batch. Hence the two operations should be scheduled in consecutive batches. PAGE 43 33 Property 2 For the 1 / (c i u i )/ U i there is an optimal schedule in which any two non final operations of the non tardy jobs are processed in the same order as their complementary final operations (Gerodimos, Glass and Potts (2001)). Proof. Assume an optimal schedule, in which i, j are two jobs not satisfying the above property ie., if O u,i precedes O u,j and O c,j precedes O c,i the 4 operations could be performed in any of these 6 configurations (a) [ O u, i O u, j O c, j O c, i ] (d) [O u, i O c, j O c, i O u, j ] (b) [O c, j O c, i O u, i O u, j ] (e) [O c, j O u, i O c, i O u, j ] (c) [O c, j O u, i O u, j O c, i ] (f)[O u, i O c, j O u, j O c, i ] For (a), (e), (f) the transfer of O u,i immediately after O u, j and for the other 3 cases the transfer of O c, j immediately after O c, i will not increase the tardiness but sometimes decrease the completion time of some of the jobs, hence an optimal schedul e will have the unique operations performed in the same order as the common operations and vise versa, i.e., if O u,i precedes O u, j in an unique batch then O c, i precedes O c, j in a common batch. Property 3 For the 1 / (c i u i )/ U i t here is an optimal schedule in which the non tardy jobs are sequenced in EDD order (Lin 2002). Proof. Assume that in the optimal schedule job j precedes job i even if due date j > due date i i.e., job j is completed before job i if the two operations of j ob j are performed just PAGE 44 34 after the job i operations. The tardiness of any other jobs is not affected but the total tardiness is decreased if the lesser due date job is scheduled prior. Property 4 For the 1 / (c i u i )/ U i there is an o ptimal schedule in which there are alternate batches of unique and common operations of the non tardy jobs, satisfying the condition that no batch of common operation with the possible exception of the last, contains a single operation and all other common operation batches start with a final operation and end with a non final operation (Gerodimos, Glass and Potts (2001)). Proof. Considering that the optimal schedule satisfies properties 1 and 2, suppose that the schedule contains a batch of common operati ons of jobs i,., k where i <= k assume that i is a non final operation and all the operations in this batch are non final, the unique operation of this job which is scheduled immediately after this batch is removed from its current location and is insert ed immediately before this batch., we observe that by this transformation there is no delay in any of the other jobs completion time. But the i th job is completed faster than before, as the common operation becomes its final operation. 3.6 Methodology T he given jobs are sequenced to the set of on time jobs in increasing order of due dates (property 3). The first early job is scheduled with its u component first followed by setup and then its c component. The next job may be decided to be an early job (if a job can be completed on or before its due date) or a late job (if it cannot be completed before its due date). PAGE 45 35 A job is added to the early job set, if two of its operations can be inserted into the same batch such that the jobs already scheduled along w ith the current job are all on time. If insertion of operations into the current batch is not possible, a new batch is started. If insertion of operations is not possible and starting a new batch makes the current job late, then the largest among the previ ously scheduled jobs and the current job is thrown into the late job set. If the current job is thrown into the late job set, the next job with the least due date is considered for insertion in to the last scheduled batch. If any of the previously schedule d early jobs is thrown, we try to insert the current job. While throwing an already scheduled early job, the setup is also removed along with the processing times of both the operations if it belongs to a one job batch. The operations of the next job may b e inserted depending on the type of the previously scheduled batch. There may be 2 types of previously scheduled batches 1) Unique operation is the non final operation of the last job scheduled, Batch type = 1. 2) Common operation is the non final operation of the last job scheduled, Batch type = 2. The following scenarios could occur. The next job in the job sequence may be 1) Inserted into the same batch with its u component scheduled first when its previous Batch type = 1. 2) Inserted into the same batch with its c component scheduled first when the previous Batch type = 1. 3) Inserted into the same batch with its c component scheduled first when the previous Batch type = 2. PAGE 46 36 4) Start a new batch of type =1. 5) Thrown into the late jobs set, as it cannot be scheduled as earl y job. 6) Inserted into the schedule after discarding a previously scheduled early job that has a longest processing time than the current job (Moore Hodgson algorithm). Some of these scenarios are mutually exclusive. They also will occur only under certain c onditions. The steps of the algorithm direct the flow according to these conditions and give the number of early and late jobs and also the schedule of the early jobs and all the late jobs can be arbitrarily scheduled at the end of the early job schedule. 3.6.1 Steps of the Heuristic Algorithm for 1 / (c i u i )/ U i STEP 1: J = {1, 2, 3,..n}, J EDD = f J E = f J L = f Schedule = f N t =0, N e =0. STEP 2: Let j* denote the job that satisfies D j* = min (D j ) where j J Add j* to J EDD Delete j* from J; go to STEP 3. STEP 3: Let j* denote a job that is j* =min{j / P uj + s + P cj D j } Where j J EDD If no such j* exists, N t = n, STOP Otherwise Schedule job j* as the first job Add all jobs j < j* to set J L add j* to J E Delete jobs 1 to j* from J EDD go to STEP 4. STEP 4: Schedule the u component of the job, followed by setup, then the c comp onent Update J E Schedule and N e according to the scheduled job Assign Batch type = 1 Record T = P uj + s + P cj Increment j* and go to STEP 5. STEP 5: If T + P u, j* + P c, j* D j* then go to STEP 6 otherwise go to STEP 11. PAGE 47 37 STEP 6: If the previously scheduled batch is of type 1 i.e., if Batch type = 1 (with the u component scheduled first) go to STEP 7; otherwise go to STEP 8. STEP 7: If T + P u j* + P c j* D j* && C j + P u j* D j j J EDD Add j* to J E Update the Schedule by inserting the new u component before the setup of the last batch and c component at the end of the batch. Otherwise If T + P u j* + Pc, j* D j* and C j + P c j* D j not satisfied j J EDD Add j* to J E Update the Schedule by inserting the new c component after the last c component and u component scheduled at the last. Update N e STEP 8: If Batch type = 1 and If T + P u j* + P c j* D j && C j + P c j* D j j J EDD ; Add j* to J E Update the Schedule by inserting the c component after t he last scheduled c component and insert the u component at the end of the schedule Otherwise, go to STEP 10. STEP 9: If T + s +P u j* + P c j* D j* a new batch with its u component scheduled first is started Increment Batch Number and Go to Step 4 to schedule the job in a new batch Otherwise go to STEP 11 STEP 10: Find j** such that P u j** + P u j** = Max {P u j + P c j} for j J E If P u, j** + P u, j** P u j* + P c, j* Delete j** from J E Decrease CT by P u, j** + P u, j** if Batch Size j** >1 and decrease by P u, j** + P u, j** + s, if Batch Size j** =1 Go to STEP 5 to schedule the current job in the early schedule. Otherwise add j* to J L ; and go to STEP 5. S TEP 11: If j* = n, Stop otherwise increment j* and go to step 5. STEP 12: Arrange the operations of all the late jobs in one batch at the end of the early jobs schedule. PAGE 48 38 In words the algorithm is described as below. 1) Setup the initial conditions. 2) Find t he job with the minimum due date. 3) Find the first early job by checking if the first job can be processed before its due date, if yes go to step 4, otherwise check if the next job can be scheduled as an early job. 4) The first early job is scheduled with its u component scheduled first followed by setup and then the c component (Batch type = 1) 5) The next job is checked if it can be i) Inserted at an appropriate location into the same batch without making any of already scheduled jobs tardy. Insertion may be made w ith a) Its u component scheduled first (Batch type = 1) b) Its c component scheduled first (Batch type = 2) ii) Start a new batch (Batch type = 1) and insert the operations into it and then Go To Step 5. iii) If the current job cannot be scheduled as an early job, fin d the longest processing time job among the already scheduled early jobs and the current job. Throw this longest processing time job into the late jobs queue. The u, c component and also the setup of this job are thrown out of the schedule accordingly if i t is a single job batch Go to step 4 and insert the current job if a job from the scheduled early jobs is thrown Otherwise if the current job is found to be with the largest processing time, it is thrown PAGE 49 39 into the late jobs queue with out disturbing the ex isting early job schedule and the next job in the J EDD is considered for insertion. 6) Depending on the previous Batch type the scheduling decision is taken accordingly. 7) The control goes to 4 to 6 till the end of the job list J EDD and then goes to step 8. 8) All the late jobs are arbitrarily scheduled at the end of the already scheduled early jobs. Once the early jobs schedule, late job schedule and the respective completion times. Decision might be made depending on the tardiness penalties to either a) Process the m as late jobs in the same shop b) Install a second multi purpose machine and schedule these jobs on it c) Outsource the late jobs to a vendor 3.7 A n E xample The working of the algorithm is shown using an example problem consisting of 8 jobs and setup for comm on components S = 2 STEP 1: Given information about the jobs to be scheduled. Table 3.1. Processing Times and Due Dates of Jobs to be scheduled Job i 1 2 3 4 5 6 7 8 P u, i 1 3 1 2 4 2 5 2 P c, i 2 3 4 1 2 4 2 4 D i 11 12 11 19 31 30 37 35 STEP 2 Arrange them in EDD order therefore PAGE 50 40 Table 3.2. Processing Times and Due Dates of Jobs in EDD order Job i 1 2 3 4 5 6 7 8 P u, i 1 1 3 2 2 4 2 5 P c, i 2 4 3 1 4 2 4 2 D i 11 11 12 19 30 31 35 37 STEP 3: Schedule the first early job, since P u, 1 + P c, 1 + S = 1 + 2 + 2 = 5 <= 11, hence job 1 is the first early job that can be scheduled. STEP 4: Schedule = {U1, S, C1}, J E = 1, T = 5, CT 1 = 5, Batch type = 1 Figure 3.1. Case 1. When the Previous Batch is of U type 1 3 5 no.of tardy jobs =0, and p oint of insertion for the next job is between U1 and S. we will try to insert u component of Job 2 (1, 4, 11) at the point of insertion. STEP 5: since T + P u, 2 + P c, 2 D 2 and the previous Batch type is 1. And T + P u, 2 + P c, 2 D 2 ( 5 + 1 + 4 11) and also CT 1 + P u, 2 D 1 (5 + 1 11) U2 can be inserted after U1. Figure 3.2. Case 2. When the Previous Batch is of C type 1 2 4 6 10 Schedule = {U1, U2, S, C1, C2}, J E = 2, T = 10, CT 1 = 6, CT 2 = 10, Batch type = 1 U1 C1 S U1 U2 S C1 C2 PAGE 51 41 for the next job (job 3) since T + P u, 3 +P c, 3 D 3 go to STEP 10 job 3 has the largest processing time among job 1, 2, 3. job 3 is thrown into the late job list. Schedule = {U1, U2, S, C1, C2}, J E = {1, 2}, J L = {3}, no.of tardy jobs =1 Now job 4 is considered for insertion. T + P u, 4 D 4 (10+ 2 19) but U4 cannot be inserted before the setup in the same batch as jobs 1 and 2 become late. We insert C4 at the end and then followed by U4. Figure 3.3. Case 3. When the previous batch is C type, we need to start a n ew batch 1 2 4 6 10 11 13 T herefore schedule = {U1, U2, S, C1, C2, C4, U4}, J E = {1, 2, 4}, J L = {3}, no. tardy jobs = 1, Batch type = 2 and point of insertion of the next operation is after C4. Similarly the schedule of 8 jobs by applying this algorithm is given by Schedule = {U1, U2, S, C1, C2, C4, C5, C6, U4, U5, U6, U7, U8, S, C7, C8, C3}, J E = {1, 2, 4, 5, 6, 7, 8}, J L = {3}, no of tardy jobs = 1. U1 S C1 U2 C2 C4 U4 PAGE 52 42 CHAPTER 4 CO MPUTATIONAL EXPERIMENTS AND RESULTS In the last chapter the proposed heuristic solution approach to solve the problem and the available pseudo polynomial optimal algorithm given in Gerodimos, Glass, and Potts (2001) are presented and discussed in detail. In this chapter the computational experiments performed to test the effectiveness of the heuristic algorithm in obtaining good, near optimal solutions compared the optimal solutions are presented. The complete experimental setup and analysis of the results obtained are discussed in this chapter. 4.1 Data Generation Generating due dates is complicated than generating processing times. This is because of the two factors mean and variance that contribute to the positioning of due dates. Most data generation methods generate the processing times independently from a uniform integer distribution because it is a high variance distribution and also produces sufficient variability in the data. So the problems can be tested for many possible scenarios allowing alg orithms to be tested under unfavorable conditions. Hence in this work the processing times were drawn from three uniform integer distributions, the corresponding due dates were drawn from uniform distribution whose ranges are computed as a function of the sum of the respective processing times. This is similar to method used by Szwarc and Mukhopadhyay (1995). PAGE 53 43 4.2 Experimental Settings The heuristic algorithm is tested for seven different sizes of n = 20, 40, 60, 80, 100, 150 and 200 jobs. The optimal algo rithm is tested only for n = 20, 40, 60 and 80 jobs because of its long CPU times. The processing times of the unique and common components of each job are drawn independently from uniform distributions U [1, 10], U [10,20], U [1, 20] and generated using M ATLAB 6.1. The due dates are generated from a uniform distribution of [aP, bP], where P = ?p ui + ?p ci This leads to a tardiness factor of T = 1 (a + b)/2 and a due date range of (b a)P. We use eight sets of a ~ b values = 0.2 ~0.3, 0.3~0.6, 0.4 ~0.9, 0.2 ~0.8, 0.1~1.1, 0.2~1.3, 0.1~1.7, and 0.3~2.1, so that we test t he performance of the algorithms on a variety of due date settings (both tight and loose settings). The test data due dates are randomly generated using the uniform random number generator X+(Y X)* rand (1), where X = aP, Y = bP for corresponding sets of p rocessing times. Three setup times of s = 5, 10, 15 are considered. For each combination of n, a, b, p u p c and s, 20 replications are run. This leads to 7*3*8*20*3 = 10,080 problem instances. The number of tardy jobs and the CPU time of the optimal and he uristic algorithms are recorded. 4.3 Software Implementation Both the heuristic and the optimal algorithms are coded in C programming language by linked lists (to use dynamic memory allocation) for better efficiency and run time. The codes are run on a P entium 4 CPU 2.66 GHz, 520MB RAM computer in UNIX environment. The number of tardy jobs in the schedules and the CPU run time taken to obtain it using the optimal and heuristic algorithms are obtained. PAGE 54 44 4.4. Analysis and Discussion of the Computational Results This section presents the results of the computational experiments performed and observed effects of the various factors considered to test the performance and effectiveness of the heuristic algorithm and the optimal algorithm. Both algorithms were teste d on same data sets of processing times and due dates. However, optimal schedules are obtained only for n 80, due to the long CPU times needed for finding optimal schedules. The computational results for different combinations of da ta are presented in Tables 4.1. ~ 4.13. PAGE 55 45 Table 4.1. N T by Optimal Algorithm, p u and p c U [1, 10] Figure 4.1. Optimal N T Versus Due Date Settings for p u p c U[1,10] Optimal N T versus Duedate settings for Pu, Pc belongs to U[1,10] 0.00 5.00 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 a~b Due Date Settings Number of late jobs NT s=5, n=20 s=10, n=20 s=15, n=20 s=5, n=40 s=10, n=40 s=15, n=40 s=5, n=60 s=10, n=60 s=15, n=60 s=5, n=80 s=10, n=80 s=15, n=80 n =20 n =40 n =60 n =80 n n PAGE 56 46 Table 4.2. N T by Optimal Algorithm, p u and p c U [11, 20] Figure 4.2. Optimal NT Versus Due date Settings for p u p c U[11,20] Optimal N T Versus Due date Settings for Pu, Pc belongs to U[11,20] 0.00 5.00 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 a~b Due Date Settings Number of late jobs NT s=5, n=20 s=10, n=20 s=15, n=20 s=5, n=40 s=10, n=40 s=15, n=40 s=5, n=60 s=10, n=60 s=15, n=60 s=5, n=80 s=10, n=80 s=15, n=80 n =20 n =40 n =80 n =60 PAGE 57 47 Table 4.3. N T by Optimal Algo rithm, p u and p c U [1, 20] Figure 4.3. Optimal N T Versus Due date settings for pu, pc U[1,20] Optimal NT Versus Due date settings for Pu, Pc belongs to U[1,20] 0.00 10.00 20.00 30.00 40.00 50.00 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 a~b Due Date Settings Number of late jobs NT s=5, n=20 s=10, n=20 s=15, n=20 s=5, n=40 s=10, n=40 s=15, n=40 s=5, n=60 s=10, n=60 s=15, n=60 s=5, n=80 s=10, n=80 s=15, n=80 n =20 n =40 n =60 n =80 n =60 PAGE 58 48 Tables 4.1~ 4.3 present the number of tardy jobs (N T ) in an optimal schedule ob tained by the optimal algorithm of Gerodimos, Glass and Potts (2001). Table 4.1 gives the results when the processing times for the unique and common operations follow the uniform distribution [1,10]. Tables 4.2. and 4.3. give the results when the processi ng times for the unique and common operations are drawn from the uniform distributions U[11,20 and U[1,20], respectively. From Table 4.1, we see that the due date settings of a~b = 0.2~1.3, 0.1~1.7 and 0.3~2.1 lead to zero tardy jobs i.e., all the jobs ca n be processed on time. W e observe that the percentage of tardy jobs is 56 60%, 25% 30%, 20 26% and 10 20% for due date settings a~b = 0.2~0.3, 0.3~0.6, 0.2 ~0.8 and 0.4 ~0.9 respectively. We a decrease in tardy jobs from 0.2~0.3 to 0.4~0.9 and hence can say that due date setting 0.2~0.3 is tight compared to 0.4~0.9. For a~b = 0.1~1.1 and there are mean tardy jobs of 0.05 for n = 20 and less than 4 for n = 40, 60, 80. The number of tardy jobs increase by roughly one job with increase in the setup time fro m 5 to 10 or from 10 to 5, for all combinations of tight settings a~b, n. Figure 4.1 represents the plot of Number of Tardy jobs obtained for each of the due date setting. We observe a decrease in number of tardy jobs from due date settings a~b = 0.2~0.3 t o 0.4~0.9. There is an increase from 0.4~0.9 to 0.2~0.8, then again there is a decrease from 0.2~0.8 to 0.2~1.3, reaches zero at 0.2~1.3 and remains zero for rest two due date settings. The increase and decrease in the N T show the increase and decrease in the tightness factor of the due date settings. The closer lines for a particular n and the three different setup times show that the setup times have no significant impact on the number of tardy jobs. This trend of the obtained N T is presented in Figure 4 .1. PAGE 59 49 In Table 4.2., the percentage of tardy jobs for due date settings a~b = 0.1~1.1, 0.2~1.3, 0.1~1.7 and 0.3~2.1 are equal to zero for most cases except for n = 60 and 80 and a~b = 0.1~1.1 where we observed 2 to 5 tardy jobs. For a~b due date settings of 0.2~0.3, 0.3~0.6, 0.4~0.9 and 0.2~0.8, the percentage of tardy jobs is 57 62%, 30 40%, 14 25% and 18 27% respectively. The percentage of tardy jobs increased by roughly 2 5% when the processing times distribution changes from U[1,10] to U[11, 20]. This inc rease could be due to the longer processing times when the processing times are drawn from U[11, 20]. As for the results given in Table 4.1., the number of tardy jobs increases by less than 1 with an increase in setup times from 5 to 10 or from 10 to 15. T he trend of the obtained N T is presented in Figure 4.2. In Table 4.3. we observe the percentage of tardy jobs for due date settings a~b = 0.1~1.1, 0.2~1.3, 0.1~1.7 and 0.3~2.1 and 48 52 %, 25 33%, 10 20%, 8 10% of tardy jobs for 0.2~0.3, 0.3~0.6, 0.4~0.9 a nd 0.2~0.8 respectively. The increase in setup time increased the number of tardy jobs by roughly 1 job. The trend of the obtained N T is presented in Figure 4.3. We observe in all the three cases that there is an increase of number of tardy jobs by no more than 1 with increase in s. This may be due to the setup times considered 5, 10, 15 were small compared to the processing times. We observed that N T increases almost linearly as n increases. This means the percentage of tardy jobs is constant as n increase s. We observe almost equal number of tardy jobs for processing times drawn from U[1,10] and U[1,20] and an increase in tardy jobs when the processing times are drawn from U[11,20]. We can also conclude that the first 4 a~b due date settings are tight setti ngs and the rest are loose. PAGE 60 50 Table 4.4. N T by Proposed Heuristic Algorithm, p u and p c U [1, 10] Figure 4.4. Heuristic N T Versus Due Date Settings for pu, pc U[1,10] Heuristic NT Versus Due Date Settings for Pu, Pc belongs to U[1,10] 0.00 10.00 20.00 30.00 40.00 50.00 60.00 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 a~b Due Date Settings Number of Tardy jobs NT s=5, n=20 s=10, n=20 s=15, n=20 s=5, n=40 s=10, n=40 s=15, n=40 s=5, n=60 s=10, n=60 s=15, n=60 s=5, n=80 s=10, n=80 s=15, n=80 PAGE 61 51 Table 4.5. N T by Proposed Heuristic Algorithm, p u and p c U [11, 20] Figure 4.5. Heuristic N T Versus Due Date Settings for p u p c U[11,20] Heuristic NT Versus Due Date Settings for Pu, Pc belongs to U[11,20] 0.00 10.00 20.00 30.00 40.00 50.00 60.00 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 a~b Due Date Settings Number of Tardy jobs NT s=5, n=20 s=10, n=20 s=15, n=20 s=5, n=40 s=10, n=40 s=15, n=40 s=5, n=60 s=10, n=60 s=15, n=60 s=5, n=80 s=10, n=80 s=15, n=80 PAGE 62 52 Table 4.6. N T by Prop osed Heuristic Algorithm, p u and p c U [1, 20] Figure 4.6. Heuristic N T Versus Due Date Settings for pu, pc U[1,20] Heuristic NT Versus Due Date Settings for Pu, Pc U[1,20] 0.00 10.00 20.00 30.00 40.00 50.00 60.00 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 a~b Due Date Settings Number of Tardy jobs NT s=5, n=20 s=10, n=20 s=15, n=20 s=5, n=40 s=10, n=40 s=15, n=40 s=5, n=60 s=10, n=60 s=15, n=60 s=5, n=80 s=10, n=80 s=15, n=80 PAGE 63 53 Tables 4.4.~4.6. present the number of tardy jobs in the sch edule obtained by the proposed heuristic algorithm. Table 4.4 gives the number of tardy jobs when the processing times for the unique and common operations follow the uniform distribution [1,10]. Tables 4.5 and 4.6 give the results when the processing time s for the unique and common operations are drawn from the uniform distributions U[11,20] and U[1,20] respectively. In Table 4.4., the percentage of tardy jobs is almost equal to zero for the due date settings of 0.2~1.3, 0.1~1.7 and 0.3~2.1. The percentag e of tardy jobs is 63 65%, 28 30%, 24 29%, and 14 18% for due date settings a~b = 0.2~0.3, 0.3~0.6, 0.2 ~0.8 and 0.4 ~0.9 respectively. An average of 1 to 4 jobs for the a~b = 0.1~1.1 case are observed for n = 20, 40, 60, 80. In Table 4.5., the percentage of tardy jobs is almost zero for the 0.2~1.3, 0.1~1.7 and 0.3~2.1 and 60 68%, 38 45%, 28 33% and 20 24% for the due date settings of a~b = 0.2~0.3, 0.3~0.6, 0.4~0.9 and 0.2~0.8 respectively. An average of 1 to 5 jobs is observed for the a~b = 0.1~1.1 cas e for n = 20, 40, 60, 80. In Table 4.6. the percentage of tardy jobs is almost 0% for the 0.2~1.3, 0.1~1.7 and 0.3~2.1 and 63 66%, 37 45%, 25 33%, 15 20% of tardy jobs for the 0.2~1.3, 0.1~1.7 and 0.3~2.1 for all combinations of s and n. But we observe a constant number of 1 4 tardy jobs irrespective of the number of jobs to be processed for the a~b = 01~1.1 case for n = 20, 40, 60, 80. Comparing the Tables 4.1.~4.3. and 4.4.~4.6. we observe that h euristic gives approximately 1 to 9 more number of tardy jobs than the optimal algorithm for different combinations of a~b, s, n. The exact error (%) of the heuristic in finding the optimal PAGE 64 54 solution is tabulated in detail in Tables 4.10., 4.11. and 4.12 for different processing time distributions. We will discu ss about this later in the chapter. Table 4.7. N T by Proposed Heuristic Algorithm for Large Problems, p u and p c U [1, 10] PAGE 65 55 Table 4.8. N T by Proposed Heuristic Algorithm for Large Problems, p u and p c U [11 20] PAGE 66 56 Table 4.9. N T by Proposed Heuristic Algorithm for Large Problems, p u and p c U [1, 20] Since the run time for the heuristic is much smaller compared to optimal algorithm, we tested the heuristic algorithm only for la rger n problems (i.e. for n = 100, 150, 200) for the same combinations of a~b, s, the minimum, mean, maximum and standard deviation are calculated for the 20 replications for each case and tabulated in Tables 4.7., 4.8., 4.9. with the processing times dr awn from U[1,10], U11,20], U[1,20] PAGE 67 57 respectively. The N T obtained from each of these combinations follows the similar trend to that of heuristic solutions in tables 4.4.~ 4.6. Table 4.10. Performance of Heuristic Versus Optimal, p u and p c U [1, 10] PAGE 68 58 Table 4.11. Performance of Heuristic Versus Optimal, p u and p c U [11, 20] PAGE 69 59 Table 4.12. Performance of Heuristic Versus Optimal, p u and p c U [1, 20] Tables 4.10.~ 4.12. present t he performance of the heuristic algorithm compared to the optimal algorithm in obtaining the minimum number of Tardy jobs. In these tables the error (%) by value is the percentage difference by which the heuristic solution is more than the optimal solution It is calculated by the formula (Heuristic N T optimal N T ) / optimal N T 100. Mean N T values tabulated in 4.1.~4.3. for optimal solutions and 4.4~4.6. for heuristic solutions are used for this calculation. The number of optimal results by heuristic gi ves the number of times out of the 20 replications run for each combination of a~b, s, n that the heuristic obta ins an optimal solution. Tables 4.10. PAGE 70 60 presents that the error by value is less than 15% for a~b of 0.2~0.3 and 0.3~0.6 for any value of n = 20, 40, 60, 80. For a~b of 0.4~0.9 and 0.2~0.8 the performance of the heuristic improves from n= 20 to n =80. For the a~b combinations of 1~1.1, 02~1.3, 0.1~1.7 and 0.3~2.1, even though the heuristic solution for a few cases is an integer number, the optimal N T is almost always zero. Hence the error (%) by value is not calculated. But it can be observed that for these cases, the heuristic finds optimal solutions a significant number of times roughly more than 10 out of 20 replications performed). It is also seen that for those replications where the heuristic could not find optimal results, the error is less than 5%. We see similar trends in performance of the proposed heuristic in the Tables 4.11. and 4.12. The error of the heuristic algorithm in finding th e optimal solution is in the range of 3% and 46% in Table 4.10. when the processing times are drawn from U[1,10]. The error is in the range of 3% and 80% when the processing times are drawn from U[11,20]. The error is in the range of 5% and 61% when the p rocessing times are drawn from U[1,20]. PAGE 71 61 Table 4.13. CPU Run Time in Seconds for Optimal Algorithm Table 4.13. shows the CPU time taken to run the optimal algorithm for different combinations of n, s, a, b and processing times drawn fro m U[1,10], U[11,20], U[1,20]. PAGE 72 62 We find a exponential increase in the CPU time both with increase in n and increase in the maximum due date ( i.e. more loose due date setting, more time the optimal algorithm takes to obtain solution).More the b value in a~b, more is the CPU run time as the maximum due date is more. This is clearly seen when there is an increase in run time for 0.4~0.9 case and a decrease for 0.2~0.8 case. This is clearly seen in the figures Figure 4.1.~ 4.6. Figures 4.7.~4.9. show the increa se and decrease of the run time depending on the increase of the number of jobs to be processed, when the processing times are drawn from U[1,10], U [11,20], U[1,20]. They show a steady increase in CPU time taken to get the optimal solution. Figure 4.7. CPU time (in seconds) Versus the Due Date Settings for p u p c U[1,10] CPU Time vs due date settings for Pu, Pc belongs to U[1,10] 0.00 50.00 100.00 150.00 200.00 250.00 300.00 350.00 400.00 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 a~b due date settings CPU Run Time (in seconds) n =20 n =40 n =60 n =80 PAGE 73 63 Figure 4.8. CPU time (in seconds) Versus the Due Date Settings for p u p c U[11,20] CPU Time vs due date settings for Pu, Pc belongs to U[11,20] 0.00 100.00 200.00 300.00 400.00 500.00 600.00 700.00 800.00 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 a~b due date settings CPU Run Time (in seconds) n =20 n =40 n =60 n =80 Figure 4.9. CPU time (in seconds) Versus the Due Date Settings for p u p c U[1,20] CPU Time vs due date settings for Pu, Pc belongs to U[1,20] 0.00 100.00 200.00 300.00 400.00 500.00 600.00 700.00 800.00 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 a~b due date settings CPU Run Time (in seconds) n =20 n =40 n =60 n =80 Figures 4.10.~4.12. show the increase and decrease of the run time depending on the increase of the number of jobs to be processed, when the p rocessing times are drawn PAGE 74 64 from U[1,10], U [11,20], U[1,20]. We can see an increase in run time with the increse in number of jobs to be processed Figure 4.10. CPU time (in seconds) Versus n for p u p c U[1,10] CPU Run Time vs n for Pu, Pc belongs to U[1,10] 0.00 50.00 100.00 150.00 200.00 250.00 300.00 350.00 400.00 20 40 60 80 n, number of jobs to be processed CPU Run Time (in Seconds) 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 Figure 4.11. CPU t ime (in seconds) Versus n for p u p c U[11,20] CPU Run Time vs n for Pu, Pc belongs to U[11,20] 0.00 100.00 200.00 300.00 400.00 500.00 600.00 700.00 800.00 20 40 60 80 n, number of jobs to be processed CPU Run Time (in Seconds) 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 PAGE 75 65 Figure 4.12. CPU time (in seconds) Versus n for p u p c U[1,20] CPU Run Time vs n for Pu, Pc belongs to U[1,20] 0.00 100.00 200.00 300.00 400.00 500.00 600.00 700.00 800.00 20 40 60 80 n, number of jobs to be processed CPU Run Time (in Seconds) 0.2~0.3 0.3~0.6 0.4~0.9 0.2~0.8 0.1~1.1 0.2~1.3 0.1~1.7 0.3~2.1 A minimum run time of 2.4 seconds for n = 20, a~b setting of 0.2~0.3, processing times draw n from U[1,10] and a maximum run time of 721 seconds for n = 80, a~b setting of 0.3~2.1 and processing times drawn from U[11,20] is observed. The run time for the heuristic does not vary much and is very less compared to optimal algorithm run time. The run time for getting a solution by heuristic algorithm is very small, increases very little with increase in maximum due date and CPU time. It is observed that the CPU run time for heuristic ranged from 0.015 to 0.062 seconds for different problem cases, this is much less when compared to the runtime of the optimal algorithm. Also the heuristic algorithm found significant number of optimal and near optimal solutions for the tested problem instances with a very low error. The computational experiments in thi s chapter prove that the proposed heuristic is faster, finds near optimal solutions for most of the cases. The conclusions and future directions of research for this work and possible extensions in this problem field are discussed in detail in the next cha pter. PAGE 76 66 CHAPTER 5 CONCLUSION AND FUTURE RESEARCH In chapter 4 the experimental setup and Results obtained are presented. This is the concluding chapter, summary and directions for future research are given here. 5.1 Summary In this thesis, we addr essed a unique but very common decision making situation in most of todays customization world, a single machine scheduling problem considering item availability with the performance objective of minimizing the number of Tardy jobs. Each of the jobs is cu stomized through the unique operation and the common operation is common to all the jobs. The problem is proved to be NP hard problem, and only pseudo polynomial algorithms are proposed to solve this problem. We developed a heuristic algorithm to solve the problem for various scenarios, implemented the optimal pseudo polynomial algorithm given in A.E Gerodimos, C.A.Glass, C.N.Potts (2001), compared the results for both the algorithms and proved that the heuristic algorithm gives very near optimal solutions at a much lesser speed as compared to the dynamic programming approach. Moreover the pseudo polynomial algorithm with a complexity of O(n 2 d max ), the run time depends on the maximum job due date and the number of jobs to be processed. The results show t hat the run time increases exponentially with n and d max where as the heuristic algorithm is run in a consistently low run time and to schedule any number of PAGE 77 67 jobs. As we know the significance of heuristic algorithms is that their practical implementations achieve a significant speedup compared to traditional optimal algorithms for a large class of ``everyday'' problems. 5.2 Conclusions For the 2 operation job scheduling problem to minimize the number of Tardy jobs and the developed heuristic approach, the foll owing conclusions can be made 1) The heuristic algorithm gives a faster and near optimal solution for the S U i Case 2) The dynamic programming approach though gives optimal solution, it is very slow and runtime increases exponentially with max due date and number of jobs. 5.3 Suggestions for Future Research The 2 operation job scheduling problem discussed in this thesis is in its initial research stages and we considered a static case with a performance objective of minimizing the number of Tardy jobs. Till today the re is no concrete work in this field, several dynamic programming approaches are proposed but none of them implemented on problem. As customization is the key feature of any product today, we need more study and research in this area, so that we can provid e benchmarks for both manufacturing as well as service industry problems. It would be interesting if the solution obtained by the developed heuristic in this thesis is improved to more near optimal solution by using meta heuristic approaches like Tabu sea rch, Simulated annealing or Genetic algorithm techniques. As we know that PAGE 78 68 efficient, simple and faster heuristic approaches are always welcome by the users for everyday problems rather than the optimal, complicated, slow dynamic algorithms. The algorithm may also be extended from the Static single machine case to 2 machine or n machine dynamic job shop problem with each job consisting of n customized unique operations and m common operations with same or different setups for the same objective of minimizi ng the number of Tardy jobs, other objectives like Total completion time, Tardiness and Earliness of the jobs can also be considered. PAGE 79 69 REFERENCES Bertrand M.T.Lin (2002), Fabrication scheduling on a single machine with due date constraints, European Jo urnal of Operational Research 136 p 95 105. A.E Gerodimos, C.A.Glass, C.N.Potts (2001), Scheduling of customized jobs on a single machine under item availability, IIE Transactions 33 p975 984. A.E.Gerodimos, C.A.Glass, C.N.Potts (2000), Scheduling the pr oduction of two component jobs on a single machine, European Journal of Operational Research 120, p 250 259. K.R.Baker (1988), Scheduling the production of components at a common facility, IIE Transactions 20 p 32 35. A.E Gerodimos, C.A.Glass, C.N.Potts (1999), T. Tautenhahn, Scheduling multi operation jobs on a single machine, Annals of Operations Research 92 p 87 105. R.G. Vickson and M.J. Magazine (1993), Batching and sequencing of components at a single facility, IIE Transactions v 25 p 65 70. Y.P. Aneja, N. Singh (1990), Scheduling production of common components at a single facility, IIE Transactions 22 p 234 237. T.C. Edwin cheng, Guoquing Wang (1999), Scheduling the fabrication and assembly of components in a two machine flowshop, IIE Transact ions 31 p 135 143. Edward G. Coffman, Ardavan Nozari, Mihalis Yannakakis (1989), Optimal Scheduling of products with two subassemblies on a single machine, Operations Research V 37 p 426 436. Z. L. Chen (1997), Scheduling with batch setup times and ear liness tardiness penalties, European Journal of Operations Research 96 p 518 537. C. S. Sung, C.K. Park (1993), Scheduling of products with common and product dependent components manufactured at a single facility. Journal of Operational Research Soci ety 44 p 773 784. Michael Pinedo, Scheduling theory, algorithms and systems, Prentice hall Englewood cliffs, NJ 07632. PAGE 80 70 Kenneth R. Baker (2001), Introduction to sequencing and scheduling, Wiley(1974) NY Peter Brucker (2001), Scheduling algorithms Be rlin, New York Springer Coffman, E.G.; Jr., Yannakakis, M., Magazine and M.J. Santos, C (1990). Batch sizing and job sequencing on a single machine, Annals of Operations Research V 26 p 135 147. E. L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shm oys (1993), Sequencing and Scheduling: Algorithms and complexity, in S.C. Graves, A.H.G. Rinnooy, P.H. Zipkin (Eds), in: Logistics of Production and Inventory, North Holland, Amsterdam p 445 522. Santose, C, Magazine, M (1985), Batching in single ope ration manufacturing systems, Operation research Letters p 99 103. Thomas E. Morton and David W. Pentico, Heuristic scheduling systems: with applications to production systems and project management, New York: Wiley c1993. Nicholas G. Hall and Marc E. Posner. Generating Experimental Data for Machine Scheduling Problems. Operations Research 49, n 6 p892 899 (2001). Colorni, M. Dorigo, F. Maffioli, V. Maniezzo, G. Righini and M. Trubian. Heuristics from Nature for Hard Combinatorial Optimization Proble ms International Transactions in Operational Research, V 3, Issue 1, p1 21 (1996). Szwarc, W., and Mukhopadhyay, S.K. (1995) Optimal timing schedules in earliness tardiness single machine sequencing. Naval Research Logistics. 42. p1109 1114. 