USING SIMULATION FOR IMPROVING THE PERFORMANCE OF A MANUFACTURING SYSTEM THROUGH DYNAMIC WORKFORCE SCHEDULING

Size: px
Start display at page:

Download "USING SIMULATION FOR IMPROVING THE PERFORMANCE OF A MANUFACTURING SYSTEM THROUGH DYNAMIC WORKFORCE SCHEDULING"

Transcription

1 The Pennsylvania State University The Graduate School College of Engineering USING SIMULATION FOR IMPROVING THE PERFORMANCE OF A MANUFACTURING SYSTEM THROUGH DYNAMIC WORKFORCE SCHEDULING A Thesis in Industrial Engineering by Pragya Bhargava 2012 Pragya Bhargava Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science December 2012

2 ii The thesis of Pragya Bhargava was reviewed and approved by the following: David A. Nembhard Associate Professor of Industrial and Manufacturing Engineering Thesis Advisor M. Jeya Chandra Professor in Charge of Academic Programs & Graduate Program Coordinator Industrial and Manufacturing Engineering Paul Griffin Peter and Angela Dal Pezzo Department Head Chair Head of the Harold and Inge Marcus Department of Industrial and Manufacturing Engineering

3 iii ABSTRACT A skilled workforce is one of the expensive resources for organizations and is now extensively worked upon from savings point of view. It poses as a challenge to utilize workforce available in an optimal way. This study aims in evaluating the best scheduling technique for workers in terms of increase in their utilization and overall productivity of system. In other words it proposes a framework which assimilates worker efficiencies, simulation and job shop scheduling technique for dynamic workforce scheduling in a manufacturing environment. Research focuses on evaluating best job-shop scheduling technique along with workforce scheduling. This type of scheduling is extremely useful in a dynamic manufacturing environment where there is lot of complexities involved in terms of resources available. A simulation model is constructed using MATLAB to determine an optimal solution for the problem. Assignment of tasks is based on MWR (Most Work Remaining) rule where tasks with more number of jobs and which consume more time for completion are given priority. Some exceptions were considered while applying this rule. Based on MWR rule two cases were considered for assigning tasks to workers: when most efficient worker is assigned task first and when slowest worker is assigned task first. Second algorithm considers slowest worker as a bottleneck and aims in evaluating efficiency of algorithm when bottleneck activity is given preference. Results obtained show that the overall productivity is a bit more in the former case (when most efficient worker is assigned task first) when compared with latter case (when slowest worker is assigned task first). However worker utilization is more in the latter case. Reason being that slow worker will consume more time in doing same task when compared to other workers for same task. Based on results obtained we can say that depending upon number of units to be produced and worker availability both methods can be employed for improving performance of the overall manufacturing system. In cases where extra time is required for machine maintenance, workforce training, quality procedures it is recommended to use the most efficient worker first. This will also provide opportunity to other operators to learn about other tasks and eventually improve their performance. After comparing gantt charts for each week we can say that best algorithm to be used is first one where we assign most efficient worker first. Result generated could be used for further improvement of the system in terms of determining to which extent cross training should be provided, distributing workload evenly among all workers, identifying complex jobs, etc.

4 iv TABLE OF CONTENTS List of Figures... v List of Tables... vi Acknowledgements... viii Chapter 1 INTRODUCTION... 1 Chapter 2 LITERATURE REVIEW... 4 Chapter 3 MODEL DESCRIPTION Data Description Data Analysis Methodology Chapter 4 RESULTS Preliminary Results Experimental Results Chapter 5 CONCLUSION REFERENCES APPENDIX Data for Analysis Codes Main code for algorithm Code for job assignment based on priority rule with exception Code for reading data from excel file Code for scheduling tasks based on cycle time Code for storing final simulation results Results after running final simulation... 64

5 v LIST OF FIGURES Figure 3-1 Snapshot of raw data Figure 3-2 Snapshot of raw data Figure 5-1 Gantt chart for Algorithm1(week1) Figure 5-2 Gantt chart for Algorithm2(week1) Figure 5-3 Gantt chart for Algorithm1(week2) Figure 5-4 Gantt chart for Algorithm2(week2) Figure 5-5 Gantt chart for Algorithm1(week3) Figure 5-6 Gantt chart for Algorithm2(week3) Figure 5-7 Gantt chart for Algorithm1(week4) Figure 5-8 Gantt chart for Algorithm2(week4)... 28

6 vi LIST OF TABLES Table 2-1 Simulation Results... 7 Table 3-1 Comparison of operator efficiency and number of different tasks Table 4-1 Results for first Algorithm Table 4-2 Results for second Algorithm Table 7-1 Data for week Table 7-2. Data for week 1(Efficiencies of operator for each task) Table 7-3 Data for week 1(Efficiencies of operator for each task) Table 7-4. Data for week 1(Efficiencies of operator for each task) Table 7-5. Data for week Table 7-6. Data for week 2(Efficiencies of operator for each task) Table 7-7. Data for week 2(Efficiencies of operator for each task) Table 7-8. Data for week 2(Efficiencies of operator for each task) Table 7-9. Data for week Table Data for week 3(Efficiencies of operator for each task) Table Data for week 3(Efficiencies of operator for each task) Table Data for week 3(Efficiencies of operator for each task) Table Data for week Table Data for week 4(Efficiencies of operator for each task) Table Data for week 4(Efficiencies of operator for each task) Table Data for week 4(Efficiencies of operator for each task) Table 7-17.Result for Algorithm 1 (week1) Table 7-18.Result for Algorithm 1 (week2) Table 7-19.Result for Algorithm 1 (week3) Table 7-20.Result for Algorithm 1 (week4)

7 vii Table 7-21.Result for Algorithm 2 (week1) Table 7-22.Result for Algorithm 2 (week2) Table 7-23.Result for Algorithm 2 (week3) Table 7-24.Result for Algorithm 2 (week4)

8 viii ACKNOWLEDGEMENTS I would like to thank my advisor Dr.David Nembhard for his continuous support and guidance throughout my research work. Without his input and guidance I would have not been able to complete my research. I would like to thank Dr. M. Jeya Chandra for devoting his time in evaluating my thesis. I would also like thank Mr.Jacob and Mr.Amit for providing me data that was useful in testing out algorithm and carrying out simulation. I would also like to thank my friends and family members for their support and help.

9 Chapter 1 INTRODUCTION Workforce can be regarded as one of the most expensive and valuable asset for any company especially for a manufacturing firm, where there are lot of complexities involved in terms of product mix, due dates, assembly operations, machinery and other equipments required. Therefore, it becomes quiet challenging to figure out the best scheduling technique for a manufacturing company. Generally in a real manufacturing system, it is necessary to work out job shop and workforce scheduling together as both of them are closely related to each other. Also items to be produced are scheduled first so as to meet customer s demand on time. After the schedule for the products is decided, scheduling of other resources like machines, tooling, workers, etc is needed to be done. For efficient workforce scheduling, we need to focus on factors such as operator efficiency, product requirement, allocation of work, etc. Therefore, scheduling is an important aspect of the total process out of which workforce scheduling can be regarded as one of the most important factor contributing towards the increased productivity. If we consider a scenario from a manufacturing plant and a group of certain workers, which are trained over various tasks, we observe that in practice each worker can t perform the same task by using the same skill and effort, each worker will have different skill set which makes her/him more efficient for some tasks over other. Work by Scott M.Shafer, David A.Nembhard, Mustafa V.Uzumeri considers learning rate and forgetting rate for workforce scheduling[11]. It depends on various factors which can also be referred to as performance factors. There are many challenges that are posed in developing the models which can be used in real environment for different variety and task complexities associated with each product line. This is because of the fact that the model becomes more complicated when amount of cross training to be provided, worker deployment policies to be employed are also taken into consideration and it will surely

10 2 represent a real work environment with the tradeoffs between worker flexibility and production. If the task is more complex it will have more steps and will consume more time towards completion as compared to other tasks. In other words we can say that if complexity of the task increases then restrictions or flexibility available decreases. This increases the complexity in constructing the right model that will aim in maximizing the assembly line performance. The extent to which cross training needs to be provided is a very important factor in evaluating the performance of the assembly line. Layout of the assembly line can also determine various aspects related to measurement of performance of the assembly line. In the case of parallel line, if the product produced is same, then job shuffling will not have much effect, but in the case of serial line, job shuffling is very important, as the output of one station is dependent on the output from another station. In serial line, if we want to maximize the output we need to make sure that the last station is the bottleneck, as this won t affect the other stations output. There are many other factors which we have shown in the result section, that need to be considered for increasing the efficiency of the line through employing different strategies for workforce flexibility. Apart from scheduling, it is quiet important that right quantity of output is produced. If the quantity is more, cash gets trapped in form of inventory, whereas if the quantity produced is less, then it will result in backlogs and loss of customer s goodwill. Therefore, producing the desired quantity by utilizing all available resources optimally is an appropriate method. There are many job shop scheduling or sequencing techniques which aims to solve this problem. Some of them are Earliest Due Date (EDD), Shortest processing time (SPT), First Come First Serve (FCFS), Longest Processing Time (LPT), Most Work Remaining, etc. EDD schedules jobs according to their due dates, SPT gives priority to jobs that have shortest processing time, FCFS will give preference to first job in queue, LPT gives priority to jobs with largest processing time. MWR prioritizes the jobs in descending order according to their most total processing time which in this study is calculated by multiplying the total units to be produced by time taken to produce a unit. Criteria for defining MWR may differ on the number of

11 3 jobs, machines, time, etc. As here we have multiple jobs with varied quantities, highest priority is given to the job with largest production quantity and processing time. There might be cases in which quantity is high as compared to processing time but they are on high priority as compared to the job with highest processing time and low production quantity. In some cases it might be vice-versa. Studies that have considered MWR have used it as overall processing time remaining to be done on a machine or for a particular job. There are several research papers that have shown that MWR is most of the time most effective method for scheduling [1],[2],[3]. For a large organization with diverse and multi-skilled workforce, a good approach for workforce scheduling can help in improving productivity effectively. In this study empirical data has been used and an algorithm has been developed to meet the required demand by making use of resources efficiently through scheduling. It also increases the product and workforce efficiencies. Access to empirical data (production hours, production quantity, expected quantity, operator efficiency, operator utilization, etc.) provides a complete view about the information regarding workforce, enabling us to schedule the available resources to meet the expected demand. This will ensure that the right worker with right skills has been assigned the right task at the right time to meet the expected demand. Results are compared with the present assignment structure for analyzing improvement.

12 4 Chapter 2 LITERATURE REVIEW There have been significant contributions in the area of workforce scheduling. Many papers have tried to solve the issue of workforce scheduling through heuristics and other different kind of algorithms under various environments and constraints. Workforce scheduling problem usually has time, shifts and cost constraints. Different objective functions have been defined for workforce scheduling like reducing labor costs, employing minimum staff, minimizing the number of required workers, increasing productivity, etc. Gonzalo Mejía and Carlos Montoya (2010) tried to address the problem of resource allocation and scheduling by using Petri Nets and heuristic search. A Petri Net model defines the preliminary schedule by making use of simple dispatching rules like Most work remaining (MWR), Largest processing time (LPT), Shortest Processing time (SPT) which aims in providing initial optimal solution, with all tasks being completed within stipulated time by making use of available resources. The method which uses minimum number of resources to satisfy the requirement is selected. Results showed that 75%, 10% and 20% were the best efficiencies obtained with MWR, LPT and SPT respectively for most of the shop instances. Next step is implementing The Resource Assignment and Scheduling algorithm (RAAS) in which number of resources is decreased iteratively until it violates the time constraint for a shift. An important assumption in the study was that shift length was more or less equal to the total work time for all tasks. The methodology developed in this study was inspired by one of the car seat cover manufacturing company, but in reality it was not implemented owing unavailability of data. This study give us the optimal scheduling solution for cases where resources are used optimally under precedence constraints but do not consider operator skills while task assignment. Alain Billionnet in his paper Integer programming to schedule a hierarchical workforce with variable demands (1999) used integer programming for scheduling problem. The main objective was to find an optimal schedule where a lower qualified worker can be

13 5 replaced by a highly qualified worker but opposite cannot happen. Workers were divided into different categories or types based on their hierarchy. Work constraints like n days off in a week was considered while formulation. For solving the problem, modeling language MLP and the LP-IP solver XA were used. The model was tested on 48 random problems with 2 to 5 worker types and 2 to 4 days-off range. In the results they have shown that the optimal value of the continuous relaxation was less than 2%. This proved that the integer programming was the right approach for the problem. The disadvantage of using this technique is that integer programming formulation requires a lot of computational time and thus need to be handled carefully. Similarly Rangarajan Narasimhan (1997) presented an optimal algorithm for single shift scheduling of hierarchical workforce in his paper. An algorithm was designed to achieve the required demand through minimum workforce. The algorithm was mathematical and simple with main objective being assignment of employees who work during successive weekend with adjacent pair of off days. This algorithm could not be applied to multiple shifts and different demand pattern scenario. Rudy Hung (1994) also considered the scheduling problem for hierarchical workforce. Their objective was to obtain optimal solution with least labor cost. This paper used branch and bound method to obtain optimal labor mix. Rudy studied a 3-day, 4-day and 5-day work week labor requirements for hierarchical workforce model. The model presented by Serap Ulusam Seckiner, Hadi Gokcen, Mustafa Kurt in their paper (2007) is based on Alain Billionnet model. The main difference is that in Alain Billionnet model workers can be assigned only to a single shift while in this model workers can be assigned to alternative shifts. Main objective of the paper was to save worker costs by using compressed workweeks. Branch and Bound algorithm was used to find the optimal solution. Results obtained were compared with Alain Billionnet model and it showed that the integer programming solution for this paper yield lower cost when compared with Alain Billionnet model. In Alain Billionnet model workers of each type, worked for the same duration in a week. However in this paper only worker requirements was considered, which provides flexibility in meeting those requirements through alternative shifts resulting in lower cost compared to Alain Billionnet model.

14 6 Gary and John in their paper (2006) divided employees in to various groups depending upon their productivity to form workforce schedules. The model they proposed was designed for pure services environment. Traditionally problems for pure services environment was formed as a general set covering problem with labor cost minimization as the objective. In this paper main objective was to attain cost efficient schedule and ensuring right availability of employees in each period. However the main constraint being that each group of workers with different productivity levels will have minimum percentage of certain type of employees. Queuing model was used for determining minimum number of employees in each group to attain required service level. The model was tested with linear equations but it displayed inaccurate results. The real problem of workforce scheduling with different productivity levels is non-linear in nature. Heuristic approach like simulated annealing which was used earlier for solving tour scheduling problem were used for solving problem followed by lookup table approach. Different groups with various productivity levels, hourly labor cost, employee types, days off were considered resulting in different 3240 test environments. Results showed that average savings and productivity of employees were related which means if a certain group is more productive then other group, average savings of former group will be equivalent to productivity levels. There are some papers which deal with determining most optimal job shop scheduling technique through algorithms. Chrisitan Bierwirth, Herbert Kopfer, Dirk C. Mattfeld and Ivo Rixen (1995) used genetic algorithm for dynamic job shop problem. They carried out their research in two steps, first developing a genetic algorithm for job shop scheduling and then improving algorithm further through simulations. They considered a set of machines and jobs, where each job consists of a series of operation which can be performed only on dedicated machines. One of the other main criteria along with these assumptions was that the release time of each job should be known in advance. It compares priority based algorithms with genetic algorithm. Genetic algorithm in their research is referred as PGA. In manufacturing environment there are many nondeterministic situations that arise like machine breakdown, etc. Therefore a decomposition technique described by Narayan Raman, Ram V. Rachamadugu and

15 7 F.Brian Talbot (1989) which basically decomposes non deterministic problem into a sequence of deterministic problems was used to improve present algorithm. This algorithm was tested on single 100 jobs and 5 machines using release times which were uniformly distributed over interval of 0 to For testin,g considering non deterministic environment, 100 jobs were considered. It was observed that results obtained from PGA were closed to FIFO (First In First Out) simulation. Table shown below provides comparison between priority base rules and genetic algorithm. refers to the mean flow time of job in system. It can be clearly seen that combination of genetic algorithm and decomposition is best combination. Priority rules consider only one machine at a time but genetic algorithms consider entire manufacturing system for scheduling jobs. Table 2-1 Simulation Results Heuristic (best) (mean) sec. MWR (most work remaining) FIFO (first in first out) SPT(shortest processing time) PGA (genuine) PGA+IS(initial seeding) PGA+ TD(temporal decomposition) Performance of priority rules may differ for different manufacturing environments. This paper considers problem of only job shop scheduling. But combination of workforce scheduling makes it more complex. In a real manufacturing environment there might be various constraints which need to be considered while defining a preliminary schedule. Workforce scheduling is not only important in manufacturing industry but in other areas like restaurants, hotel, retail, software industries, etc. L.-E. Drezet and J.-C. Billaut presented a project scheduling problem (2008) considering employee as resources and their activity as time-dependent activities. They considered employee skills and other legal constraints like maximum and minimum hours of work while assigning projects. The main objective was to assign

16 8 projects in such a way that maximal lateness is minimized. A linear programming formulation was initially given for the problem which was solved by using greedy algorithm. It can be seen that how every paper mentioned above have aimed in solving workforce scheduling problem based on various constraints. This study also tries to solve the same problem by using a job shop scheduling technique combined with operator efficiencies to obtain an optimal solution.

17 9 Chapter 3 MODEL DESCRIPTION 3.1.Data Description Data used in the analysis was obtained from Fairfield Manufacturing Inc. located in Lafayette, Indiana. Fairfield has collaboration with Oerlikon and therefore it is also referred as Oerlikon Fairfield. It is one of the leading manufacturer of transmission gears and drive products like torque hub. They also provide solutions regarding design, manufacturing and product support [12]. Fairfield has manufacturing plants in other parts of the world like China, India. This data is taken from their plant in India. There they produce parts for gear assembly as well as individual gear parts for other purposes. Therefore each task in the analysis is a part that will either be used in an assembly or as an individual. Each part has to undergo through various processes to become a finish part. This data consists of records from a single department therefore a part will undergo a single process or operation only for this department. Data consists of records for 29 operators and 86 tasks for a period of one month with other details like operator name, machine name, task being done, production date, shift details, part description, operation, production quantity, production hours, expected quantity, operator efficiency, scrap quantity, operator utilization and other minor details. Detailed data has non-essential information, therefore data which was used after analysis for running final simulation is provided in appendix 7.1 for each 4 weeks. First table for each week gives quantity that need to be produced each week along with average processing time. Other tables give information regarding processing time of each operator for every task. Figure 1 and 2 gives a snapshot of the raw data.

18 10 Figure 3-1 Snapshot of raw data Figure 3-2 Snapshot of raw data Notations in the raw data are explained below : Production hrs: Time when operator is physically present to do a task. Production qty: Actual quantity produced by an operator. Expected qty: According to master schedule it is quantity that should be produced for a specific defined period. Operator Efficiency: It is measured as production hours by total production hours available. For example if operator worked for 7 hours vs total 8 hours available then operator efficiency will be 87.5%.

19 11 Scrap qty: Quantity that does not meet quality standard is either rejected or may be reworked later. Rw qty: Quantity that is lying in queue to be worked upon. SET : It refers to time required in setting up machine or in short it is set-up time. N/L: It is time lost when worker needs to wait until raw material arrives and is idle during this time. N/O: It is time lost when job is waiting in queue and there is no worker available to attend it. N/T: It is time lost when operator has to wait or remain idle until new tools was are made available to carry out the operation. N/P: It is time lost when both operator and machine has to remain idle during power failure. B/D: It is time lost when both operator and machine has to remain idle until equipment starts functioning properly. TOL: It is time required in changing the tool either for a new one or different one for each operation. MIS: It is loss of time due to any minor incident. SUL: It is loss of time during dry run of equipment to attain its desired momentum. RSL: It is loss of time when equipment works at lower efficiency then it usually works. Sometimes feed rates or part parameters are changed on machine to meet quality of part. SC: It is time lost when defective pieces are produced. RW: It is time lost when reworking over defective pieces. PM: It is time lost during preventive maintenance. NPL: It is time lost when machine is not planned for production. CLE: It is time lost during cleaning of equipment. OMC: It is time lost due to operator movement. LOL: It is time lost because machines are situated distance apart. LOG: It is time lost due to material/product movement.

20 12 MAL: It is time required for inspection during tool change. HNA: It refers to time lost devoted for a certain operation which was to be assigned to another task. 3.2.Data Analysis Most important part to carry out initial research was to extract out important information that will be used for generating results and later on for comparison. As explained in section before there were many variables present in raw data. Therefore, first step was to eliminate variables which were not important. When we examined data carefully it was observed that variables like Scrap qty, Rw qty, SET, N/L, etc had value as zero, blank or very small. Therefore these variables were eliminated from further research work. Now the left over variables like Operator Name, Production Date, Machine Name, Shift, Part Name, Operation, Production Hours, Production Qty, Expected Qty, Operator Efficiency and Operator Utilization were used for generating results. Statistical analysis was carried out to identify correlation between variables but no correlation was observed. In some cases there is a possibility that if an operator is doing more number of tasks his efficiency will be less. But no such observation came out to be true as shown in graph below. In graph x-axis corresponds to operator number, red bars refer to total count of tasks that an operator performs and blue bars refer to operator efficiency. It is clearly visible from graph that there is no correlation between total number of tasks done and operator efficiency.

21 13 Table 3-1 Comparison of operator efficiency and number of different tasks O1 O3 O5 O7 O9 O11 O13 O15 O17 O19 O21 O23 O25 O27 O29 Some initial calculation was required for applying algorithm mentioned in the next section. Our first aim was to define worker efficiency which in this case is completion time. If an operator consumes less time to do a task when compared to other operators, he can be regarded as most efficient worker for that particular task. This will be defined by production hours and total quantity produced during that time. Production hours as described earlier refers to time when operator is performing the task or in other words we can say that it is time required by an operator to produce required quantity. Now a worker will be handling multiple jobs/tasks in a single day and therefore for example if production hour is mentioned as 7 for both jobs in raw data, we need to find completion time by that operator for each task. If for both the tasks, same production hour is mentioned, then production hours for each task will be production hours divided by task. For example let there be 2 tasks with production hour as 7 for an operator on a single given day then we can say that actual production hour per task is 3.5 hours which is obtained by dividing production hours (7 in this case) by total tasks (2 for this case). But there are situations where operator is performing multiple tasks on a single day and has production hours as 3 for first task and 7 for another task. In this case we need to find out the maximum value of production hour for a single day by that particular operator. For the example mentioned above it is 7 (7 is greater than 3). After that we need to find the

22 14 proportion of time devoted to each job with reference to maximum production time and equate it to maximum production time which will give us a linear equation. If we solve this linear equation we will get actual time consumption for each task. For this example equation will be 0.428x + x = 7 which gives x = 4.9 Therefore task with production hour 7 is consuming 4.9 hours and other task is consuming 2.1 hours (obtained by multiplying by 4.9). This calculation was carried out in MS-excel for each task to generate actual consumption time. Another important term is Production quantities, which are basically actual quantities produced by operator during actual consumption time calculated above. Therefore after this, efficiency for each operator was calculated as defined above. Data was divided week wise and resultant data is shown in appendix as Table 5-1, Table 7-2, Table 7-3 and Table 7-4 for week 1 and thereafter from week 2 to week 4. Based on assumptions mentioned in the next section data was further filtered out. 3.3.Methodology Deployment of the workforce among the company plays an important role in determining its overall effectiveness. Our main objective of carrying out this research is to increase productivity and worker utilization by using simulation through dynamic workforce scheduling. First step of the study was to carry out data analysis with raw data to identify significant variables which has already been explained in previous section. Data provided consisted of monthly records which was further classified on weekly basis to get a more clear picture. Main variables that were considered for analysis were operator number, task number, production hours, production quantity, expected quantity. Based on these variables efficiency of each worker for each task was calculated as defined above. More efficient worker means that he will be able to do task at a much faster pace as compared to other workers or in other words we can say that he will consume less time to complete that task when compared with other workers. Similarly average processing time was calculated for each task based on total time taken by number of units produced during

23 15 that period. Workers efficiency and processing time were important variables in determining the strength of algorithm developed. Second step was implementing job-shop scheduling technique for which highest priority job was selected. Job priority was based on unit obtained by multiplying average processing time for a task by expected quantity and then arranging it in descending order. This technique is called MWR and it gives priority to jobs with large processing times and high production quantity. Data was taken from a manufacturing company and their main aim is to produce quantities that have been decided based on demand forecast and is updated in master production schedule. One objective of our algorithm is to produce quantities mentioned in master production schedule which is best satisfied by using MWR rule. Thus by selecting MWR we will be able to meet the demand requirement more closely than any other job-shop scheduling technique. Certain assumptions were considered while carrying out simulation for finding out optimal schedule which are: Company operators on a single shift. Schedule takes all production hours in a single week together as a whole period for determining final schedule. Maintenance activities are done separately and do not count into production hours per week. Quality of jobs produced is high with minimal rejections. Walking time between jobs was not considered. Machines and other tools are always available when a task has to be scheduled. Company operates for 6 days a week and working hours for each operator excluding break is 8 hours which makes cycle time for each week as 2880 minutes. Tasks were assigned to workers based on MWR and their efficiency in performing that particular task with some exceptions which are mentioned below: If there is a task which can be performed only by an operator then that task has highest priority. If an operator can perform only that particular task then that task is assigned first and given highest priority.

24 16 Tasks with above mentioned exceptions were given higher priority and were assigned first followed by tasks arranged according to MWR rule. Two different algorithms were used for generating results. In first algorithm, most efficient worker is assigned task first, while in second, least efficient worker is assigned task first. Algorithm for task assignment is mentioned below and in this if during assignment multiple workers are available it will select most efficient worker. Algorithm consists of following steps: Read data from excel file and store it in a matrix called Plant data [7.2.3]. Tasks with exceptions are selected first and corresponding worker is assigned to it. Assignment of tasks is based on priority rule defined above [7.2.3.Line selects workers with one job and job with one worker]. After assigning task according to above step algorithm will move to tasks where multiple operators will be able to perform task. In this case most efficient worker is assigned task otherwise proceed to last second step [7.2.3.Line 37-40]. When the highest priority task is assigned, results get stored in an array with operator number, task number, start time and end time details [7.2.3.Line 128 of stores all the information using the function in 7.2.4]. If the next task in the task schedule list cannot be performed because operators who can perform that task are currently doing some other tasks then next task in the list is scheduled and the previous task becomes next task in the list. This process is similar to bubble sort algorithm [9] [7.2.3.Line 63-73]. Whenever a task is assigned it is checked for cycle time. If the total time required to complete the task exceeds cycle time then go to next step else proceed with the assignment of next task in the list [7.2.3.Line 90-99]. Quantities remaining for that task are stored in a different array called remaining quantity and quantities that are produced within cycle time are updated and stored in the result array as Qty Produced [7.2.3.Line and line 107 where line 107 store remaining quantities]. For remaining quantity most efficient available worker is selected to finish the task. End time for such tasks becomes start time when it is assigned to most efficient available worker [7.2.3.Line 30-35].

25 17 If for a task the operator who is most efficient in performing the task is not available, next available efficient operator is assigned to that task [7.2.3.Line search for free and efficient worker depending on fast or slow worker assignment]. Above steps are repeated until all tasks are assigned [7.2.3.Line breaks from programs until no more tasks are available or cannot be assigned, it store remaining parameters in a 'Balance' variable]. Other algorithm consists of following steps Read data from excel file and store it in a matrix called Plant data [7.2.3]. Tasks with exceptions are selected first and corresponding worker is assigned to it. Assignment of tasks is based on priority rule defined above [7.2.3.Line selects workers with one job and job with one worker]. After assigning task according to above step algorithm will move to tasks where multiple operators will be able to perform task. In this case task is assigned to bottleneck operator or in other words least efficient worker (consumes highest time for completion of a task when compared to other operators) [7.2.3.Line 37-40]. When the highest priority task is assigned, results get stored in an array with operator number, task number, start time and end time details [7.2.3.Line 128 of stores all the information using the function in 7.2.4]. If the next task in the task schedule list cannot be performed because operators who can perform that task are currently doing some other tasks then next task in the list is scheduled and the previous task becomes next task in the list. This process is similar to bubble sort algorithm [9] [7.2.3.Line 63-73]. Whenever a task is assigned it is checked for cycle time. If the total time required to complete the task exceeds cycle time then go to next step else proceed with the assignment of next task in the list [7.2.3.Line 90-99]. Quantities remaining for that task are stored in a different array called remaining quantity and quantities that are produced within cycle time are updated and stored

26 18 in the result array as Qty Produced [7.2.3.Line and line 107 where line 107 store remaining quantities]. For remaining quantity least efficient available worker is selected to finish the task. End time for such tasks becomes start time when it is assigned to least efficient available worker [7.2.3.Line 30-35]. If for a task operator who is least efficient in performing the task is not available, next least efficient available operator is assigned to that task [7.2.3.Line search for free and efficient worker depending on fast or slow worker assignment]. Above steps are repeated until all tasks are assigned [7.2.3.Line breaks from programs until no more tasks are available or cannot be assigned, it store remaining parameters in a 'Balance' variable]. If we compare above two algorithms we will see that only difference between them is that while assigning task instead of considering most efficient worker in first algorithm, least efficient worker is selected for second algorithm. A simulation is developed in MATLAB to test both the algorithm. Results generated in MATLAB are exported to excel for further analysis which is discussed in next section.

27 Chapter 4 RESULTS 4.1.Preliminary Results As the main objective of carrying out this research is to improve overall productivity of system, therefore first target was to maximize production. For maximizing production we need to produce more quantities which are more close to expected quantity than production quantity (given in empirical data from company). Therefore before implementing any job shop scheduling priority was given to tasks which have more number of quantities to produce. This means if there are multiple tasks to be done then highest priority will be given to tasks with highest expected quantity in present schedule. After prioritizing task based on quantities workers were scheduled according to their efficiencies. Results generated by employing this method did not show significant improvement when compared to present model and hence was rejected. As the problem was decomposed into weeks to perform simulation improvement was not observed for all weeks. For some workers utilization percentage was high and for some it was quiet low as zero. Now after analyzing results it was observed that however there was a slight increase in productivity but there were lot of tasks with smaller quantities that were not performed at all and also some operators were idle during whole production period. Mainly operators with higher efficiencies were performing tasks and slow workers were idle in this method. Now a technique was needed that will eliminate above mentioned problem and will also improve productivity to a larger extent. In a manufacturing company if a task has more operations or if it consumes more time for completion when compared with other tasks it is considered to be more complex task. Therefore if we assign complex tasks first there is a possibility that it will improve the present structure. To test this, a job shop scheduling technique called LPT (Largest Processing time) was implemented which gives priority to

28 20 jobs with largest processing time per unit. This means that if a task consumes more time for completion it will be assigned first. Results generated through this were not justified when compared with their present schedule. After analyzing result it was observed that there were quiet a lot number of tasks that remain unassigned. These tasks were the one which consumes less time for completion. Therefore it was clear that if we use a technique that will consider both quantities and processing time, it will definitely improve the results generated. This lead to search for other job shop scheduling techniques that can be applied to present system. After referring literature for it, MWR was considered because results showed that it has got higher efficiency in different manufacturing environment when compared to other job-shop scheduling techniques and other that this scheduling gave more importance to tasks with both highest quantity and largest processing time remaining which was our target. Initially algorithm designed for workforce scheduling did not prioritize the exceptions where a single operator is capable of performing only a particular task and other where a task can be performed only by a single operator. Therefore when results were analyzed it was observed that there were few operators and tasks that were not assigned at all for cases discussed above. Implementation of these exceptions further improved results. Another important aspect considered while scheduling was cycle time. An operator can perform tasks till end of his shift but if there are more quantities that need to be produced for that task, then increasing productivity further for remaining quantities by assigning them needs to be considered. For this a new element was added into algorithm where if a worker is not able to complete task within cycle time, remaining task will be completed by next available worker and so on until task is completed or cycle time for operators that can perform that task is reached. Results generated by implementing this extra element were better than previous results. Thus reason behind non assignment was found out and improved algorithm gave highest priority to tasks with above mentioned exceptions which improved allocation of resources and results as discussed in next section. Initial results generated through final updated algorithm defined in above section consisted of five fields mainly task number, quantity produced, operator number, start

29 time and end time. They are shown in Appendix from table 7-17 to table 7-24 for both algorithms and for each week Experimental Results Results generated by both algorithms were analyzed and compared with the initial empirical data provided. First data was analyzed on monthly basis and it was observed that it was difficult to simulate that much data together and the results generated were a bit difficult to analyze. Therefore, data was divided on weekly basis and then simulation was run for 4 weeks together which increased CPU time and enhanced results also. Algorithm was tested for 4 weeks data with 29 operators and total 86 tasks. After having close observation of results it was found that there are cases where all operators would not be working in each period and that each task was not performed each week. For example consider results for week 1 and week 3 of algorithm 1 where we will observe that three operators were not performing any task which is similar to information provided in empirical data. Thus algorithm used same amount of resources which were present in initial data, only difference was arrangement of resources. Simulation was carried out in MATLAB and the data was transformed from excel format to MATLAB readable format. Therefore a separate code was run to read data from excel initially [7.2.3]. Main code for generating result shown as Code 1 [7.2.1] in appendix calls function for obtaining task priority [7.2.2], scheduling tasks with reference to cycle time [7.2.4] and doing reassignment based on it and finally storing results [7.2.5]. If we refer to algorithm in section 3 we will know when these functions are called. Results generated were compared with respect to two variables. First variable is overall productivity and other variable is operator utilization. Overall productivity is defined as quantity that is produced by making use of available resources versus expected quantity. In empirical data or in data provided by the company we will see that in most of the cases production quantity was less than expected quantity which resulted in lots of backlog. Therefore we can say that our result generated improved overall productivity and will produce quantities that are more close to expected quantity. Other variable was operator

30 utilization which is calculated by dividing production hours for operator by the production hours available per day. When we compare results for both algorithms we will see that for first algorithm where most efficient worker is assigned task first, overall productivity saw an increment of 15% while operator utilization increased by 14%. For other algorithm where least efficient worker is assigned task first, overall productivity increased by 12% and operator utilization by 26%. Increase in percentage of variables (Quantity and Utilization) are measured with respect to the initial data. For example in table shown below quantity before refers to quantity that was produced before implementation of algorithm and quantity after refers to quantity after implementation of algorithm. Table 4-1 gives summary of results for first algorithm where most efficient or fastest worker was assigned task first while Table 4-2 gives summary of results for second algorithm where least efficient or slowest worker was assigned task first. Detailed gantt charts for both algorithms and for each week is discussed in next section. Table 4-1 Results for first Algorithm Week No. Qty before Qty after Increase Utilization before Utilization after Increase Week Week Week Week Average Table 4-2 Results for second Algorithm Week No. Qty before Qty after Increase Utilization before Utilization after Increase Week Week Week Week Average If we compare the results from both the algorithms we will see that overall productivity is almost same for both the algorithms may be a bit higher for algorithm 1 but worker utilization is more for the second algorithm. Worker utilization is measured in terms of

31 23 the production hours for which an operator performs task. Therefore if slowest worker is assigned task first it will consume more time in completing that task as compared with other workers. This results in higher worker utilization. However in the first algorithm less time is consumed in performing the tasks as most efficient worker is doing that task resulting in lower worker utilization. As both algorithms shows overall improvement when compared to present system, implementation of any one algorithm will be useful in determining the overall effect on system. But in practical we want to produce more quantities for increasing our overall productivity rather than focusing more on workforce utilization because workforce can have a certain threshold but task is done on machine and machine threshold can be increased to a certain extent. Detailed analysis of result is discussed in next section which will give different scenarios where one algorithm will perform better than another in what respect.

32 Chapter 5 CONCLUSION From results we got it can be concluded that both the algorithms can be applied to dynamic working environment. However if there is a need to provide training to operators we recommend use of first algorithm as it will provide some extra hours to operators for their development. It will also provide opportunity to slow workers to enhance their skill set. But if we use second algorithm it may increase efficiencies of slow operators for tasks they perform in long run because learning will be more initially. But if we compare completion times for both algorithms we will observe that for first algorithm completion time is less in most cases when compared to cycle time however for second algorithm completion time is usually same as cycle time. Therefore overall productivity is bound to be lower in second algorithm when compared with first algorithm. Another reason for suggesting use of first algorithm is that in most cases because increasing productivity will be more important than operator utilization because there are quiet lot of factors involved when we want to improve operator utilization which are not considered in this study. But if there are some areas which require highly skilled workforce and operators in that area are paid more when compared to other operators then use of second algorithm might be more beneficial. Results generated could also be used for further improvement as they provide clear picture of operators workload. So in case if a worker is overloaded other operators can be trained in that particular job for balanced workload throughout the system. Some cases were observed in the study where a single operator has to perform multiple tasks because other operators do not have the skills to do that task. This study was useful in identifying such tasks. Gantt charts below further supports this explanation. Each chart has been divided into two parts for ease in understanding as shown below. Figures 5-1 and 5-2 provides comparison between algorithm 1 and 2 for week 1. Similarly other graphs from Figure 5-3 to 5-8 gives comparison between two algorithm for each week.

Duration of online examination will be of 1 Hour 20 minutes (80 minutes).

Duration of online examination will be of 1 Hour 20 minutes (80 minutes). Program Name: SC Subject: Production and Operations Management Assessment Name: POM - Exam Weightage: 70 Total Marks: 70 Duration: 80 mins Online Examination: Online examination is a Computer based examination.

More information

Systems Optimization and Analysis Optimization Project. Labor Planning for a Manufacturing Line

Systems Optimization and Analysis Optimization Project. Labor Planning for a Manufacturing Line 15.066 Systems Optimization and Analysis Optimization Project Labor Planning for a Manufacturing Line Team 1 The Tek Team Lane Ballard Christine Cheung Justin Ging Omur Kaya David Jackson Alyson Naughton

More information

Recoverable Robustness in Scheduling Problems

Recoverable Robustness in Scheduling Problems Master Thesis Computing Science Recoverable Robustness in Scheduling Problems Author: J.M.J. Stoef (3470997) J.M.J.Stoef@uu.nl Supervisors: dr. J.A. Hoogeveen J.A.Hoogeveen@uu.nl dr. ir. J.M. van den Akker

More information

Application 1 - People Allocation in Line Balancing

Application 1 - People Allocation in Line Balancing Chapter 9 Workforce Planning Introduction to Lecture This chapter presents some applications of Operations Research models in workforce planning. Work force planning would be more of a generic application

More information

Program Name: PGDBA Production and Operations Management Assessment Name: POM - Exam Weightage: 70 Total Marks: 70

Program Name: PGDBA Production and Operations Management Assessment Name: POM - Exam Weightage: 70 Total Marks: 70 Program Name: PGDBA Subject: Production and Operations Management Assessment Name: POM - Exam Weightage: 70 Total Marks: 70 Duration: 60 mins Instructions (Start of Assessment): Marks: 70 Time: 60 Minutes

More information

A Study of Time Representation in a Class of Short Term Scheduling Problems

A Study of Time Representation in a Class of Short Term Scheduling Problems A Study of Time Representation in a Class of Short Term Scheduling Problems by Saman Lagzi A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master

More information

CHAPTER 11 Integer Programming, Goal Programming, and Nonlinear Programming

CHAPTER 11 Integer Programming, Goal Programming, and Nonlinear Programming Integer Programming, Goal Programming, and Nonlinear Programming CHAPTER 11 253 CHAPTER 11 Integer Programming, Goal Programming, and Nonlinear Programming TRUE/FALSE 11.1 If conditions require that all

More information

SYMBIOSIS CENTRE FOR DISTANCE LEARNING (SCDL) Subject: production and operations management

SYMBIOSIS CENTRE FOR DISTANCE LEARNING (SCDL) Subject: production and operations management Sample Questions: Section I: Subjective Questions 1. What are the inputs required to plan a master production schedule? 2. What are the different operations schedule types based on time and applications?

More information

MACHINE DEDICATION UNDER PRODUCT AND PROCESS DIVERSITY. Darius Rohan. IBM Microelectonics Division East Fishkill, NY 12533, U.S.A.

MACHINE DEDICATION UNDER PRODUCT AND PROCESS DIVERSITY. Darius Rohan. IBM Microelectonics Division East Fishkill, NY 12533, U.S.A. Proceedings of the 1999 Winter Simulation Conference P. A. Farrington, H. B. Nembhard, D. T. Sturrock, and G. W. Evans, eds. MACHINE DEDICATION UNDER PRODUCT AND PROCESS DIVERSITY Darius Rohan IBM Microelectonics

More information

Demand Forecasting. for. Microsoft Dynamics 365 for Operations. User Guide. Release 7.1. April 2018

Demand Forecasting. for. Microsoft Dynamics 365 for Operations. User Guide. Release 7.1. April 2018 Demand Forecasting for Microsoft Dynamics 365 for Operations User Guide Release 7.1 April 2018 2018 Farsight Solutions Limited All Rights Reserved. Portions copyright Business Forecast Systems, Inc. This

More information

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE MULTIPLE CHOICE QUESTIONS DECISION SCIENCE 1. Decision Science approach is a. Multi-disciplinary b. Scientific c. Intuitive 2. For analyzing a problem, decision-makers should study a. Its qualitative aspects

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University } 2017/11/15 Midterm } 2017/11/22 Final Project Announcement 2 1. Introduction 2.

More information

Design of Cellular Manufacturing Systems for Dynamic and Uncertain Production Requirements with Presence of Routing Flexibility

Design of Cellular Manufacturing Systems for Dynamic and Uncertain Production Requirements with Presence of Routing Flexibility Design of Cellular Manufacturing Systems for Dynamic and Uncertain Production Requirements with Presence of Routing Flexibility Anan Mungwattana Dissertation submitted to the Faculty of the Virginia Polytechnic

More information

CHAPTER 16: SCHEDULING

CHAPTER 16: SCHEDULING CHAPTER 16: SCHEDULING Solutions: 1. Job A B C A B C 1 5 8 6 row 1 0 3 1 Worker 2 6 7 9 reduction 2 0 1 3 3 4 5 3 3 1 2 0 column reduction A B C 1 0 2 1 Optimum: 2 0 0 3 Worker 1, Job A 3 1 1 0 2 B 3 C

More information

Multi-Objective Scheduling Using Rule Based Approach

Multi-Objective Scheduling Using Rule Based Approach Multi-Objective Scheduling Using Rule Based Approach Mohammad Komaki, Shaya Sheikh, Behnam Malakooti Case Western Reserve University Systems Engineering Email: komakighorban@gmail.com Abstract Scheduling

More information

Algorithms: COMP3121/3821/9101/9801

Algorithms: COMP3121/3821/9101/9801 NEW SOUTH WALES Algorithms: COMP3121/3821/9101/9801 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales TOPIC 4: THE GREEDY METHOD COMP3121/3821/9101/9801 1 / 23 The

More information

SEXTANT & SEXTANT PE frequently asked questions

SEXTANT & SEXTANT PE frequently asked questions SEXTANT & SEXTANT PE frequently asked questions What is SEXTANT? SEXTANT is a software application that helps Financial Executives and Estimators determine their costing and budgeting standards also known

More information

Dynamic Call Center Routing Policies Using Call Waiting and Agent Idle Times Online Supplement

Dynamic Call Center Routing Policies Using Call Waiting and Agent Idle Times Online Supplement Submitted to imanufacturing & Service Operations Management manuscript MSOM-11-370.R3 Dynamic Call Center Routing Policies Using Call Waiting and Agent Idle Times Online Supplement (Authors names blinded

More information

MODELING (Integer Programming Examples)

MODELING (Integer Programming Examples) MODELING (Integer Programming Eamples) IE 400 Principles of Engineering Management Integer Programming: Set 5 Integer Programming: So far, we have considered problems under the following assumptions:

More information

Queuing Analysis. Chapter Copyright 2010 Pearson Education, Inc. Publishing as Prentice Hall

Queuing Analysis. Chapter Copyright 2010 Pearson Education, Inc. Publishing as Prentice Hall Queuing Analysis Chapter 13 13-1 Chapter Topics Elements of Waiting Line Analysis The Single-Server Waiting Line System Undefined and Constant Service Times Finite Queue Length Finite Calling Problem The

More information

Solutions to COMP9334 Week 8 Sample Problems

Solutions to COMP9334 Week 8 Sample Problems Solutions to COMP9334 Week 8 Sample Problems Problem 1: Customers arrive at a grocery store s checkout counter according to a Poisson process with rate 1 per minute. Each customer carries a number of items

More information

An Optimization Approach to the Preventive Maintenance Planning Process

An Optimization Approach to the Preventive Maintenance Planning Process Modern Applied Science; Vol. 11, No. 9; 2017 ISSN 1913-1844 E-ISSN 1913-1852 Published by Canadian Center of Science and Education An Optimization Approach to the Preventive Maintenance Planning Process

More information

RCPSP Single Machine Problems

RCPSP Single Machine Problems DM204 Spring 2011 Scheduling, Timetabling and Routing Lecture 3 Single Machine Problems Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Resource

More information

Module 5: CPU Scheduling

Module 5: CPU Scheduling Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 5.1 Basic Concepts Maximum CPU utilization obtained

More information

5/15/18. Operations Research: An Introduction Hamdy A. Taha. Copyright 2011, 2007 by Pearson Education, Inc. All rights reserved.

5/15/18. Operations Research: An Introduction Hamdy A. Taha. Copyright 2011, 2007 by Pearson Education, Inc. All rights reserved. The objective of queuing analysis is to offer a reasonably satisfactory service to waiting customers. Unlike the other tools of OR, queuing theory is not an optimization technique. Rather, it determines

More information

A STAFFING ALGORITHM FOR CALL CENTERS WITH SKILL-BASED ROUTING: SUPPLEMENTARY MATERIAL

A STAFFING ALGORITHM FOR CALL CENTERS WITH SKILL-BASED ROUTING: SUPPLEMENTARY MATERIAL A STAFFING ALGORITHM FOR CALL CENTERS WITH SKILL-BASED ROUTING: SUPPLEMENTARY MATERIAL by Rodney B. Wallace IBM and The George Washington University rodney.wallace@us.ibm.com Ward Whitt Columbia University

More information

A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling

A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling Department of Mathematics, Linköping University Jessika Boberg LiTH-MAT-EX 2017/18 SE Credits: Level:

More information

M E R C E R W I N WA L K T H R O U G H

M E R C E R W I N WA L K T H R O U G H H E A L T H W E A L T H C A R E E R WA L K T H R O U G H C L I E N T S O L U T I O N S T E A M T A B L E O F C O N T E N T 1. Login to the Tool 2 2. Published reports... 7 3. Select Results Criteria...

More information

Single Machine Problems Polynomial Cases

Single Machine Problems Polynomial Cases DM204, 2011 SCHEDULING, TIMETABLING AND ROUTING Lecture 2 Single Machine Problems Polynomial Cases Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline

More information

MODELING AND ANALYSIS OF SPLIT AND MERGE PRODUCTION SYSTEMS

MODELING AND ANALYSIS OF SPLIT AND MERGE PRODUCTION SYSTEMS University of Kentucky UKnowledge University of Kentucky Master's Theses Graduate School 008 MODELING AND ANALYSIS OF SPLIT AND MERGE PRODUCTION SYSTEMS Yang Liu University of Kentucky, yang.liu@uky.edu

More information

Algorithms and Complexity theory

Algorithms and Complexity theory Algorithms and Complexity theory Thibaut Barthelemy Some slides kindly provided by Fabien Tricoire University of Vienna WS 2014 Outline 1 Algorithms Overview How to write an algorithm 2 Complexity theory

More information

Dynamic Scheduling with Genetic Programming

Dynamic Scheduling with Genetic Programming Dynamic Scheduling with Genetic Programming Domago Jakobović, Leo Budin domago.akobovic@fer.hr Faculty of electrical engineering and computing University of Zagreb Introduction most scheduling problems

More information

Simulation of Process Scheduling Algorithms

Simulation of Process Scheduling Algorithms Simulation of Process Scheduling Algorithms Project Report Instructor: Dr. Raimund Ege Submitted by: Sonal Sood Pramod Barthwal Index 1. Introduction 2. Proposal 3. Background 3.1 What is a Process 4.

More information

CSE 380 Computer Operating Systems

CSE 380 Computer Operating Systems CSE 380 Computer Operating Systems Instructor: Insup Lee & Dianna Xu University of Pennsylvania, Fall 2003 Lecture Note 3: CPU Scheduling 1 CPU SCHEDULING q How can OS schedule the allocation of CPU cycles

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 6.1 Basic Concepts Maximum CPU utilization obtained

More information

SOME RESOURCE ALLOCATION PROBLEMS

SOME RESOURCE ALLOCATION PROBLEMS SOME RESOURCE ALLOCATION PROBLEMS A Dissertation Presented to the Faculty of the Graduate School of Cornell University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy

More information

Maximizing throughput in zero-buffer tandem lines with dedicated and flexible servers

Maximizing throughput in zero-buffer tandem lines with dedicated and flexible servers Maximizing throughput in zero-buffer tandem lines with dedicated and flexible servers Mohammad H. Yarmand and Douglas G. Down Department of Computing and Software, McMaster University, Hamilton, ON, L8S

More information

Graphical and Computer Methods

Graphical and Computer Methods Chapter 7 Linear Programming Models: Graphical and Computer Methods Quantitative Analysis for Management, Tenth Edition, by Render, Stair, and Hanna 2008 Prentice-Hall, Inc. Introduction Many management

More information

Minimizing the weighted completion time on a single machine with periodic maintenance

Minimizing the weighted completion time on a single machine with periodic maintenance Minimizing the weighted completion time on a single machine with periodic maintenance KRIM Hanane University of Valenciennes and Hainaut-Cambrésis LAMIH UMR CNRS 8201 1st year Phd Student February 12,

More information

CPU scheduling. CPU Scheduling

CPU scheduling. CPU Scheduling EECS 3221 Operating System Fundamentals No.4 CPU scheduling Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University CPU Scheduling CPU scheduling is the basis of multiprogramming

More information

Food Safety Management System

Food Safety Management System Introduction The company has planned, established, documented and implemented a food safety management system for the site, in order to continually improve its effectiveness in accordance with legislation,

More information

CPU SCHEDULING RONG ZHENG

CPU SCHEDULING RONG ZHENG CPU SCHEDULING RONG ZHENG OVERVIEW Why scheduling? Non-preemptive vs Preemptive policies FCFS, SJF, Round robin, multilevel queues with feedback, guaranteed scheduling 2 SHORT-TERM, MID-TERM, LONG- TERM

More information

Discrete Event and Process Oriented Simulation (2)

Discrete Event and Process Oriented Simulation (2) B. Maddah ENMG 622 Simulation 11/04/08 Discrete Event and Process Oriented Simulation (2) Discrete event hand simulation of an (s, S) periodic review inventory system Consider a retailer who sells a commodity

More information

Single-part-type, multiple stage systems

Single-part-type, multiple stage systems MIT 2.853/2.854 Introduction to Manufacturing Systems Single-part-type, multiple stage systems Stanley B. Gershwin Laboratory for Manufacturing and Productivity Massachusetts Institute of Technology Single-stage,

More information

...(iii), x 2 Example 7: Geetha Perfume Company produces both perfumes and body spray from two flower extracts F 1. The following data is provided:

...(iii), x 2 Example 7: Geetha Perfume Company produces both perfumes and body spray from two flower extracts F 1. The following data is provided: The LP formulation is Linear Programming: Graphical Method Maximize, Z = 2x + 7x 2 Subject to constraints, 2x + x 2 200...(i) x 75...(ii) x 2 00...(iii) where x, x 2 ³ 0 Example 7: Geetha Perfume Company

More information

Advanced Forecast. For MAX TM. Users Manual

Advanced Forecast. For MAX TM. Users Manual Advanced Forecast For MAX TM Users Manual www.maxtoolkit.com Revised: June 24, 2014 Contents Purpose:... 3 Installation... 3 Requirements:... 3 Installer:... 3 Setup: spreadsheet... 4 Setup: External Forecast

More information

Programmers A B C D Solution:

Programmers A B C D Solution: P a g e Q: A firm has normally distributed forecast of usage with MAD=0 units. It desires a service level, which limits the stock, out to one order cycle per year. Determine Standard Deviation (SD), if

More information

The Transportation Problem

The Transportation Problem CHAPTER 12 The Transportation Problem Basic Concepts 1. Transportation Problem: BASIC CONCEPTS AND FORMULA This type of problem deals with optimization of transportation cost in a distribution scenario

More information

Scheduling jobs on two uniform parallel machines to minimize the makespan

Scheduling jobs on two uniform parallel machines to minimize the makespan UNLV Theses, Dissertations, Professional Papers, and Capstones 5-1-2013 Scheduling jobs on two uniform parallel machines to minimize the makespan Sandhya Kodimala University of Nevada, Las Vegas, kodimalasandhya@gmail.com

More information

A Semiconductor Wafer

A Semiconductor Wafer M O T I V A T I O N Semi Conductor Wafer Fabs A Semiconductor Wafer Clean Oxidation PhotoLithography Photoresist Strip Ion Implantation or metal deosition Fabrication of a single oxide layer Etching MS&E324,

More information

Exercises Solutions. Automation IEA, LTH. Chapter 2 Manufacturing and process systems. Chapter 5 Discrete manufacturing problems

Exercises Solutions. Automation IEA, LTH. Chapter 2 Manufacturing and process systems. Chapter 5 Discrete manufacturing problems Exercises Solutions Note, that we have not formulated the answers for all the review questions. You will find the answers for many questions by reading and reflecting about the text in the book. Chapter

More information

Sub-Optimal Scheduling of a Flexible Batch Manufacturing System using an Integer Programming Solution

Sub-Optimal Scheduling of a Flexible Batch Manufacturing System using an Integer Programming Solution Sub-Optimal Scheduling of a Flexible Batch Manufacturing System using an Integer Programming Solution W. Weyerman, D. West, S. Warnick Information Dynamics and Intelligent Systems Group Department of Computer

More information

ANALYSIS OF AUTOMATED FLOW LINE & LINE BALANCING

ANALYSIS OF AUTOMATED FLOW LINE & LINE BALANCING UNIT 3: ANALYSIS OF AUTOMATED FLOW LINE & LINE BALANCING General Terminology & Analysis: There are two problem areas in analysis of automated flow lines which must be addressed: 1. Process Technology 2.

More information

Optimization Methods in Management Science

Optimization Methods in Management Science Problem Set Rules: Optimization Methods in Management Science MIT 15.053, Spring 2013 Problem Set 1 (Second Group of Students) Students with first letter of surnames G Z Due: February 12, 2013 1. Each

More information

Dynamic Call Center Routing Policies Using Call Waiting and Agent Idle Times Online Supplement

Dynamic Call Center Routing Policies Using Call Waiting and Agent Idle Times Online Supplement Dynamic Call Center Routing Policies Using Call Waiting and Agent Idle Times Online Supplement Wyean Chan DIRO, Université de Montréal, C.P. 6128, Succ. Centre-Ville, Montréal (Québec), H3C 3J7, CANADA,

More information

Scheduling Lecture 1: Scheduling on One Machine

Scheduling Lecture 1: Scheduling on One Machine Scheduling Lecture 1: Scheduling on One Machine Loris Marchal October 16, 2012 1 Generalities 1.1 Definition of scheduling allocation of limited resources to activities over time activities: tasks in computer

More information

Integer Programming Part II

Integer Programming Part II Be the first in your neighborhood to master this delightful little algorithm. Integer Programming Part II The Branch and Bound Algorithm learn about fathoming, bounding, branching, pruning, and much more!

More information

ACHIEVING OPTIMAL DESIGN OF THE PRODUCTION LINE WITH OBTAINABLE RESOURCE CAPACITY. Miao-Sheng CHEN. Chun-Hsiung LAN

ACHIEVING OPTIMAL DESIGN OF THE PRODUCTION LINE WITH OBTAINABLE RESOURCE CAPACITY. Miao-Sheng CHEN. Chun-Hsiung LAN Yugoslav Journal of Operations Research 12 (2002), Number 2, 203-214 ACHIEVING OPTIMAL DESIGN OF THE PRODUCTION LINE WITH OBTAINABLE RESOURCE CAPACITY Miao-Sheng CHEN Graduate Institute of Management Nanhua

More information

Ways to study a system System

Ways to study a system System Simulation What is simulation? Simple synonym: imitation We are interested in studying a system Instead of experimenting with the system itself we experiment with a model of the system Ways to study a

More information

Optimum Workforce Scheduling Under the (14, 21) Days-Off Timetable

Optimum Workforce Scheduling Under the (14, 21) Days-Off Timetable JOURNAL OF APPLIED MATHEMATICS AND DECISION SCIENCES, 6(3), 191 199 Copyright c 00, Lawrence Erlbaum Associates, Inc. Optimum Workforce Scheduling Under the (14, 1) Days-Off Timetable HESHAM K. ALFARES

More information

Manufacturing System Flow Analysis

Manufacturing System Flow Analysis Manufacturing System Flow Analysis Ronald G. Askin Systems & Industrial Engineering The University of Arizona Tucson, AZ 85721 ron@sie.arizona.edu October 12, 2005 How Many IEs Does It Take to Change a

More information

Contents Economic dispatch of thermal units

Contents Economic dispatch of thermal units Contents 2 Economic dispatch of thermal units 2 2.1 Introduction................................... 2 2.2 Economic dispatch problem (neglecting transmission losses)......... 3 2.2.1 Fuel cost characteristics........................

More information

Optimum Workforce Scheduling Under the (14, 21) Days-Off Timetable

Optimum Workforce Scheduling Under the (14, 21) Days-Off Timetable JOURNAL OF APPLIED MATHEMATICS AND DECISION SCIENCES, 6(3), 191 199 Copyright c 00, Lawrence Erlbaum Associates, Inc. Optimum Workforce Scheduling Under the (14, 1) Days-Off Timetable HESHAM K. ALFARES

More information

ORI 390Q Models and Analysis of Manufacturing Systems First Exam, fall 1994

ORI 390Q Models and Analysis of Manufacturing Systems First Exam, fall 1994 ORI 90Q Models and Analysis of Manufacturing Systems First Exam, fall 1994 (time, defect rate) (12,0.05) 5 6 V A (16,0.07) (15,0.07) (5,0) M 1 1 2 M1 M2 O A (10,0.1) 7 8 V B (8,0.2) M4 2 4 M5 The figure

More information

Deterministic Models: Preliminaries

Deterministic Models: Preliminaries Chapter 2 Deterministic Models: Preliminaries 2.1 Framework and Notation......................... 13 2.2 Examples... 20 2.3 Classes of Schedules... 21 2.4 Complexity Hierarchy... 25 Over the last fifty

More information

Automation in Complex Systems MIE090

Automation in Complex Systems MIE090 Automation in Complex Systems MIE090 Exam Monday May 29, 2017 You may bring the course book and the reprints (defined in the course requirements), but not the solution to problems or your own solutions

More information

RISK ORIENTED STOCHASTIC ASSEMBLY LINE BALANCING. A Thesis by. Prakhash Udayakumar. Bachelor of Engineering, Anna University, India, 2007

RISK ORIENTED STOCHASTIC ASSEMBLY LINE BALANCING. A Thesis by. Prakhash Udayakumar. Bachelor of Engineering, Anna University, India, 2007 RISK ORIENTED STOCHASTIC ASSEMBLY LINE BALANCING A Thesis by Prakhash Udayakumar Bachelor of Engineering, Anna University, India, 2007 Submitted to the Department of Industrial and Manufacturing Engineering

More information

HYBRID FLOW-SHOP WITH ADJUSTMENT

HYBRID FLOW-SHOP WITH ADJUSTMENT K Y BERNETIKA VOLUM E 47 ( 2011), NUMBER 1, P AGES 50 59 HYBRID FLOW-SHOP WITH ADJUSTMENT Jan Pelikán The subject of this paper is a flow-shop based on a case study aimed at the optimisation of ordering

More information

CPU Scheduling Exercises

CPU Scheduling Exercises CPU Scheduling Exercises NOTE: All time in these exercises are in msec. Processes P 1, P 2, P 3 arrive at the same time, but enter the job queue in the order presented in the table. Time quantum = 3 msec

More information

Network Analysis of Fuzzy Bi-serial and Parallel Servers with a Multistage Flow Shop Model

Network Analysis of Fuzzy Bi-serial and Parallel Servers with a Multistage Flow Shop Model 2st International Congress on Modelling and Simulation, Gold Coast, Australia, 29 Nov to 4 Dec 205 wwwmssanzorgau/modsim205 Network Analysis of Fuzzy Bi-serial and Parallel Servers with a Multistage Flow

More information

Industrial Processes I Manufacturing Economics

Industrial Processes I Manufacturing Economics Industrial Processes I Manufacturing Economics Equipment Cost Rate (Example 1) A production machine is purchased for an initial cost plus installation of $500,000. Its anticipated life = 7 yrs. The machine

More information

Season Finale: Which one is better?

Season Finale: Which one is better? CS4310.01 Introduction to Operating System Spring 2016 Dr. Zhizhang Shen Season Finale: Which one is better? 1 Background In this lab, we will study, and compare, two processor scheduling policies via

More information

An Improved Bound for Minimizing the Total Weighted Completion Time of Coflows in Datacenters

An Improved Bound for Minimizing the Total Weighted Completion Time of Coflows in Datacenters IEEE/ACM TRANSACTIONS ON NETWORKING An Improved Bound for Minimizing the Total Weighted Completion Time of Coflows in Datacenters Mehrnoosh Shafiee, Student Member, IEEE, and Javad Ghaderi, Member, IEEE

More information

Energy-efficient Mapping of Big Data Workflows under Deadline Constraints

Energy-efficient Mapping of Big Data Workflows under Deadline Constraints Energy-efficient Mapping of Big Data Workflows under Deadline Constraints Presenter: Tong Shu Authors: Tong Shu and Prof. Chase Q. Wu Big Data Center Department of Computer Science New Jersey Institute

More information

Planning and Scheduling of batch processes. Prof. Cesar de Prada ISA-UVA

Planning and Scheduling of batch processes. Prof. Cesar de Prada ISA-UVA Planning and Scheduling of batch processes Prof. Cesar de Prada ISA-UVA prada@autom.uva.es Outline Batch processes and batch plants Basic concepts of scheduling How to formulate scheduling problems Solution

More information

Single Machine Models

Single Machine Models Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 8 Single Machine Models 1. Dispatching Rules 2. Single Machine Models Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Dispatching

More information

School of Business. Blank Page

School of Business. Blank Page Maxima and Minima 9 This unit is designed to introduce the learners to the basic concepts associated with Optimization. The readers will learn about different types of functions that are closely related

More information

Improvising Round Robin Process Scheduling through Dynamic Time Quantum Estimation

Improvising Round Robin Process Scheduling through Dynamic Time Quantum Estimation Improvising Round Robin Process Scheduling through Dynamic Time Quantum Estimation Mr. Nischaykumar Hegde 1, Mr. Pramod Kumar P M 2 Department of Computer Science, Vivekananda College of Engineering &

More information

Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for. Interfering Job Sets. Ketan Khowala

Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for. Interfering Job Sets. Ketan Khowala Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for Interfering Job Sets by Ketan Khowala A Dissertation Presented in Partial Fulfillment of the Requirements for the Degree Doctor

More information

PREPARED BY: INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

PREPARED BY: INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad - 500 043 PREPARED BY: A. SOMAIAH, ASST. PROFESSOR T. VANAJA, ASST. PROFESSOR DEPT. OF MECHANICAL ENGINEERING 1 Syllabus UNIT-I Development

More information

Lecture - 02 Rules for Pinch Design Method (PEM) - Part 02

Lecture - 02 Rules for Pinch Design Method (PEM) - Part 02 Process Integration Prof. Bikash Mohanty Department of Chemical Engineering Indian Institute of Technology, Roorkee Module - 05 Pinch Design Method for HEN synthesis Lecture - 02 Rules for Pinch Design

More information

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling Scheduling I Today Introduction to scheduling Classical algorithms Next Time Advanced topics on scheduling Scheduling out there You are the manager of a supermarket (ok, things don t always turn out the

More information

Algorithm Design Strategies V

Algorithm Design Strategies V Algorithm Design Strategies V Joaquim Madeira Version 0.0 October 2016 U. Aveiro, October 2016 1 Overview The 0-1 Knapsack Problem Revisited The Fractional Knapsack Problem Greedy Algorithms Example Coin

More information

MSA 640 Homework #2 Due September 17, points total / 20 points per question Show all work leading to your answers

MSA 640 Homework #2 Due September 17, points total / 20 points per question Show all work leading to your answers Name MSA 640 Homework #2 Due September 17, 2010 100 points total / 20 points per question Show all work leading to your answers 1. The annual demand for a particular type of valve is 3,500 units. The cost

More information

CS 370. FCFS, SJF and Round Robin. Yashwanth Virupaksha and Abhishek Yeluri

CS 370. FCFS, SJF and Round Robin. Yashwanth Virupaksha and Abhishek Yeluri CS 370 FCFS, SJF and Round Robin Yashwanth Virupaksha and Abhishek Yeluri Homework-4 Review Write a C program to demonstrate the following scheduling algorithms First Come First Serve. (20 pts) Shortest

More information

Appendix: Simple Methods for Shift Scheduling in Multi-Skill Call Centers

Appendix: Simple Methods for Shift Scheduling in Multi-Skill Call Centers Appendix: Simple Methods for Shift Scheduling in Multi-Skill Call Centers Sandjai Bhulai, Ger Koole & Auke Pot Vrije Universiteit, De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands Supplementary Material

More information

Exact Mixed Integer Programming for Integrated Scheduling and Process Planning in Flexible Environment

Exact Mixed Integer Programming for Integrated Scheduling and Process Planning in Flexible Environment Journal of Optimization in Industrial Engineering 15 (2014) 47-53 Exact ixed Integer Programming for Integrated Scheduling and Process Planning in Flexible Environment ohammad Saidi mehrabad a, Saeed Zarghami

More information

Simulation. Where real stuff starts

Simulation. Where real stuff starts 1 Simulation Where real stuff starts ToC 1. What is a simulation? 2. Accuracy of output 3. Random Number Generators 4. How to sample 5. Monte Carlo 6. Bootstrap 2 1. What is a simulation? 3 What is a simulation?

More information

Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Workforce Scheduling. 1. Workforce Scheduling.

Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Workforce Scheduling. 1. Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 17 Workforce Scheduling 2. Crew Scheduling and Roering Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Workforce Scheduling

More information

Sample questions for COMP-424 final exam

Sample questions for COMP-424 final exam Sample questions for COMP-44 final exam Doina Precup These are examples of questions from past exams. They are provided without solutions. However, Doina and the TAs would be happy to answer questions

More information

An Effective Chromosome Representation for Evolving Flexible Job Shop Schedules

An Effective Chromosome Representation for Evolving Flexible Job Shop Schedules An Effective Chromosome Representation for Evolving Flexible Job Shop Schedules Joc Cing Tay and Djoko Wibowo Intelligent Systems Lab Nanyang Technological University asjctay@ntuedusg Abstract As the Flexible

More information

Industrial Engineering Prof. Inderdeep Singh Department of Mechanical & Industrial Engineering Indian Institute of Technology, Roorkee

Industrial Engineering Prof. Inderdeep Singh Department of Mechanical & Industrial Engineering Indian Institute of Technology, Roorkee Industrial Engineering Prof. Inderdeep Singh Department of Mechanical & Industrial Engineering Indian Institute of Technology, Roorkee Module - 04 Lecture - 05 Sales Forecasting - II A very warm welcome

More information

Computer Science, Informatik 4 Communication and Distributed Systems. Simulation. Discrete-Event System Simulation. Dr.

Computer Science, Informatik 4 Communication and Distributed Systems. Simulation. Discrete-Event System Simulation. Dr. Simulation Discrete-Event System Simulation Chapter 9 Verification and Validation of Simulation Models Purpose & Overview The goal of the validation process is: To produce a model that represents true

More information

Critical Chain Project Management

Critical Chain Project Management Critical Chain Project Management Delivering a high performance result in the engineering design phase of a large capital project, using BIM for the first time Inner Harbour debottlenecking project Nelson

More information

Coordinated Replenishments at a Single Stocking Point

Coordinated Replenishments at a Single Stocking Point Chapter 11 Coordinated Replenishments at a Single Stocking Point 11.1 Advantages and Disadvantages of Coordination Advantages of Coordination 1. Savings on unit purchase costs.. Savings on unit transportation

More information

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling Scheduling I Today! Introduction to scheduling! Classical algorithms Next Time! Advanced topics on scheduling Scheduling out there! You are the manager of a supermarket (ok, things don t always turn out

More information

Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors

Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors Technical Report No. 2009-7 Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors RISAT MAHMUD PATHAN JAN JONSSON Department of Computer Science and Engineering CHALMERS UNIVERSITY

More information

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts. TDDI4 Concurrent Programming, Operating Systems, and Real-time Operating Systems CPU Scheduling Overview: CPU Scheduling CPU bursts and I/O bursts Scheduling Criteria Scheduling Algorithms Multiprocessor

More information

Statistical Process Control

Statistical Process Control Chapter 3 Statistical Process Control 3.1 Introduction Operations managers are responsible for developing and maintaining the production processes that deliver quality products and services. Once the production

More information

A 2-Approximation Algorithm for Scheduling Parallel and Time-Sensitive Applications to Maximize Total Accrued Utility Value

A 2-Approximation Algorithm for Scheduling Parallel and Time-Sensitive Applications to Maximize Total Accrued Utility Value A -Approximation Algorithm for Scheduling Parallel and Time-Sensitive Applications to Maximize Total Accrued Utility Value Shuhui Li, Miao Song, Peng-Jun Wan, Shangping Ren Department of Engineering Mechanics,

More information