December 2, 2009 14:12 WSPC/APJOR
00238.tex
Asia-Pacific Journal of Operational Research Vol. 26, No. 5 (2009) 637–653 c World Scientific Publishing Co. & Operational Research Society of Singapore
RELIABILITY CENTERED MULTI OBJECTIVE HYBRID FLOW SHOP SCHEDULING
TAHMINA FERDOUSI LIPI∗ , MD. AHSAN AKHTAR HASIN and MD. NOOR-E-ALAM Department of Industrial & Production Engineering Bangladesh University of Engineering & Technology (BUET) Dhaka 1000, Bangladesh ∗
[email protected] Received 3 May 2007 Accepted 24 October 2008 Real world scheduling problems are complex in nature. They require satisfying multiple objectives. To get a realistic schedule, consideration of machine reliability and availability is very important to allocate job in machine. This research aims to develop two fuzzy inference systems (FIS) for hybrid flow shop problem. First FIS is used to get priority of each job considering multiple objectives of processing time, due date and cost over time. Second FIS is used to get machine reliability and availability based priority using the information of mean time to failure (MTTF) & mean time to repair (MTTR) of each individual machine at each stage. To distribute the workload depending on their reliability and availability based priority of each machine, maximum utilization target is determined. An algorithm has been developed for grouping, sequencing & allocating the jobs to the machines at every stage in such a way that total percentage of over utilization will minimum. Based on this algorithm, a computing tool has been developed and, explained with a three stage hybrid flow shop scheduling problem. Keywords: Hybrid flow shop; fuzzy inference systems (FIS); reliability; availability.
1. Introduction Flow shop problems concern about sequencing of a given number of jobs through a series of machines in the exact same order on all machines with the aim to satisfy a set of constraints as much as possible, and optimize a set of objectives. The commonly studied objectives include: make span, mean flow time, tardiness etc. Among those objectives, the make span, defined as the time when the last job completes on the last machine. A large number of deterministic scheduling algorithms have been proposed in last decades to deal with flow shop scheduling problems with various objectives and constraints. However, it is often difficult to apply those algorithms to real-life flow shop problems. Because, in practice processing time of job could be ∗ Corresponding
author. 637
December 2, 2009 14:12 WSPC/APJOR
638
T. F. Lipi et al.
uncertain due to incomplete knowledge or lack of proper information. Fuzzy sets and logic can be used to tackle uncertainties inherent in actual flow shop scheduling problems. It is highly required to consider the reliability and availability of each machine before making schedule. Because in a shop floor no machine may have same reliability and availability pattern due to their age and different maintenance action has been taken place on them. Without considering the health condition of machine, scheduled work may not be possible to realize due to uncertain breakdown. Therefore, reliability centered scheduling is getting more importance to ensure the implementation of proposed schedule. 2. Literature Review To get an efficient schedule, several criteria must be taken into consideration. May be some or all of these criteria are conflicting, perhaps incommensurable and set by more than one decision-maker. Among these criteria there are for example: processing time, critical ratio, earliest due date, utilization of resources. Traditionally, it has been tackled as single objective optimization problem after combining these multiple criteria into a single scalar value. On the other hand, inherent inconsistency and uncertainty of reliability pattern of the machine in a particular stage makes the scheduling process complicated. This imposes a pressure upon the researcher to implement an appropriate and realistic scheduling framework. Fuzzy logic, which was introduced by Zadeh (1965), has been applied to various industrial problems including production systems. Recently, there has been significant attention given to model scheduling problems within a fuzzy framework. Grabot and Geneste (1994) proposed a way to use fuzzy logic in order to build aggregated rules for the satisfactions of several criteria. Subramaniam et al. (2000) proposed a fuzzy scheduler that used the prevailing conditions in the job shop to select dynamically the appropriate dispatching rule from several candidate rules. Chan et al. (2002) described a framework for evaluation of combined scheduling rules that has been developed using fuzzy multi criteria decision making techniques. Watanabe et al. (2005) proposed modified genetic algorithm with search area adaptation for solving the Job shop scheduling problem (JSP). Chang and Lo (2001) descried an integrated approach to model job shop scheduling problems, along with a genetic algorithm and tabu search. Anilkumar and Tanprasert (2006) developed design and implementation of a neural network based job priority assigner system for a job scheduling environment. Lee and Shaw (2000) proposed neural network based hybrid genetic algorithms to solve scheduling problem. Chu et al. (1998) proposed a heuristic algorithm, which gradually improves a given schedule by reversing the order in which some tasks are performed on machines. Kacem et al. (2002) proposed a Pareto approach based on the hybridization of fuzzy logic (FL) and evolutionary algorithms (EAs) to solve flexible job shop scheduling problem (FJSP). Mansouri (2006) proposed a multi objective simulated annealing (MOSA) solution approach to a bi criteria sequencing problem. Gupta et al. (2002) developed and
00238.tex
December 2, 2009 14:12 WSPC/APJOR
Reliability Centered Multi Objective Hybrid Flow Shop Scheduling
00238.tex
639
compared different local search heuristics for two stage flow shop problem with make span minimization. Ishibuchi et al. (1994) formulated a fuzzy flow shop scheduling problem where, due date of each job is given as a fuzzy set. Petroni and Rizzi (2002) presented a fuzzy logic based tool intended to rank flow shop dispatching rules under multiple performance criteria. Tsujimura et al. (1993) showed that fuzzy set theory can be useful in modeling and solving flow shop scheduling problem with uncertain processing time. Above works do not consider reliability centered uncertainty based multi objective hybrid flow shop problem. Therefore, this research aims to generate an efficient scheduling algorithm, which can consider multi objectives for hybrid flow scheduling and incorporate influence of machine reliability and availability. 3. Problem Definition Hybrid flow shop consists of multiple stages and each stage has more than one identical machine. Machines are identical in a sense that, for a given stage, a job requires same time to be processed on each machine. However, the reliability and availability characteristics i.e., mean time to failure (MTTF) and mean time to repair (MTTR) are different for each machine in a stage. Therefore, though these machines in an individual stage are identical in terms of processing time, their priority will be different due to their different values of mean time to failure (MTTF) and mean time to repair (MTTR). Each job has to be processed in each stage. Priority of the jobs are appraised by the value of its processing time, due date and cost over time (COVERT) etc. Therefore, it is required to develop a method to determine priority of job and machine in each stage and way for grouping, sequencing and allocating the jobs to the machines at each stage in such a way that total percentage of over utilization will minimum and consequently the top priority jobs will be processed on the top priority machines. 4. Proposed Method As an initial step of this research, it is required to identify multi objective scheduling parameters (processing time, due date, cost over time), machine reliability and availability affected variables (MTTR, MTTF) and construct their appropriate membership functions and fuzzy rules. Using these membership functions and fuzzy rules, first fuzzy inference system (FIS) is developed to identify priority of each job and second fuzzy inference system (FIS) to identify priority of each machine for each individual stage of hybrid flow shop using MATLAB Fuzzy Logic Toolbox. To process the top priority job in top priority machine and minimize the make span, an algorithm is developed for grouping, sequencing and allocating the jobs to the machines at each stage using the priority (achieved from two FIS) in such a way that total percentage of over utilization will minimum. Proposed method is summarized in the framework shown in Fig. 1.
December 2, 2009 14:12 WSPC/APJOR
640
00238.tex
T. F. Lipi et al.
Information of MTTF & MTTR
FIS for machine Priority
Machine
Priority Ranking
Priority
Normalized Priority Target Utilization Total Processing Time in a stage
M11 M21 M12 M22 M13 Grouping and Sequencing Algorithm
Information about the Job
FIS for Job Priority
Job Priority in each stage
Fig. 1. Reliability centered multi objective scheduling frame work.
5. Grouping and Sequencing Algorithm After getting the priority of each job and machine, target utilization is calculated according to the following procedure to ensure the realization of proposed schedule: Job priority is determined based on their priority value. The job, which has the highest priority value, has ranked top, the second highest priority job has ranked second and so on. Similarly, machines priorities are determined based on their MTTF and MTTR values. Using these priority values and processing time of each job, target utilization is calculated with following equation: Suppose in a particular stage, machine has Priority Ri ; i = 1, 2, . . . , n Ri Normalized Priority (for machine i) NR i = n i=1 Ri Target Utilization (for machine i) Ti = NR i × TPT where TPT = Total Processing Time.
December 2, 2009 14:12 WSPC/APJOR
Reliability Centered Multi Objective Hybrid Flow Shop Scheduling
00238.tex
641
5.1. Grouping Main principle of this grouping algorithm is to allocate top priority job in top priority machine. So first, assign the top priority job to the highest priority machine until it satisfies target utilization. When it does not satisfy target utilization, this job goes to the second highest priority machine and assign the rest of the job until it satisfies target utilization of the second highest priority machine. If it does not satisfy in first assignment, percentage of over utilization is calculated for that assignment for second machine (U2%). Percentage of over utilization for first machine (U1%) is also calculated. This Job is assigned to the machine in which, percentage of over utilization is minimum and rest of the jobs are assigned until it satisfies the target utilization of the second highest priority machine. If it does not satisfy other than first assignment, the job goes to the third highest priority machine & assign the rest of the job until it satisfies the target utilization of the third highest priority machine. If it does not satisfy in first assignment, percentage of over utilization is calculated for that assignment and also the percentage of over utilization is calculated if it is assigned to the second highest priority machine with previous assignment. The job is assigned to the machine in which percentage of over utilization is minimum and rests of the jobs are assigned until it satisfies the target utilization of the third highest priority machine. If it does not satisfy other than first assignment, this job goes to the fourth highest priority machine and the rest of the jobs are assigned until it satisfies the target utilization of the fourth highest priority machine. According to above method, grouping is performed for all stages. After that, a regrouping operation is performed starting from the lowest priority machine, which has over utilized allocation. In a group the job that has the highest priority, is sent to the next higher priority machine and the over utilization is calculated. The job is assigned to that machine, which has minimum over utilization. From lowest priority machine to highest priority machine, similar checking is performed for the all over utilized machine.
5.2. Sequencing Sequencing is determined based on priority of the job. The highest priority job in a group goes first then the second, then third and so on. But except the first stage sequencing, other sequencing may need to be modified in order to minimize make span without hampering the main principle of groping and sequencing i.e., the higher priority job does not need to wait for the job which has less priority. It is modified in such a way that if the arrival time of the higher priority job is greater than the completion time of the less priority job in that stage of the same group, then the less priority job is selected first for processing.
December 2, 2009 14:12 WSPC/APJOR
642
00238.tex
T. F. Lipi et al.
Find the priority for each job & machine using FIS
Calculate target utilization for each machine
Assign the top priority job to the highest priority machine
Satisfy target in m/c1
Yes
No Assign that job to the second highest priority machine
Yes Satisfy target in m/c-2
Assign the jobs to the third highest priority machine
Repeat the steps as before
Regrouping the jobs by comparing the over utilization
No
Is it 1st assignment?
Yes Yes %U1>%U2
No Re sequencing the jobs if possible
Assign that job to the highest priority machine
Fig. 2. Grouping and sequencing algorithm.
December 2, 2009 14:12 WSPC/APJOR
00238.tex
Reliability Centered Multi Objective Hybrid Flow Shop Scheduling
643
6. Case Study The developed algorithm for reliability centered multi objective hybrid flow shop scheduling has been coded in C programming language integrated with MATLAB fuzzy logic tool box to put the System into practice. MATLAB fuzzy logic tool box is used to prioritize job and machine in an individual stage to full fill the multi objective criteria. Using these priorities of job and machine, our developed algorithm generates reliability centered schedule. For the clarification of proposed method and analyzing the performance of the developed algorithm, a case study is presented here, which involves three stages hybrid flow shop scheduling (Fig. 3). In first stage, there are three lathe machines, in second stage two milling machine and in last stage 2 drilling machines. To get the entire job done, every job has to process first in any one of the lathe machines in first stage, then any one of the milling machines in second stage and lastly any one of the drill machine in third stage. While the machines in a particular stage have identical processing times, but their MTTF and MTTR are different, which are calculated based on their failure and repair characteristics. Five jobs are considered here having following 3 different processing times in 3 stages. They have different due date and cost over time (COVERT) which are determined by the customer requirements. 6.1. FIS for job priority determination To get multi objective schedule, fuzzy priority is calculated by developing a fuzzy inference system using MATLAB fuzzy logic toolbox. Three input variables: processing time, due date, cost over time are used in this FIS. The output of this M11
M21
M31
M12 M22
M13
M32
Fig. 3. 3 stage hybrid flow shop.
Table 1. Information of jobs in stage 1, stage 2 and stage 3. Job name
Processing time (stage 1)
Processing time (stage 2)
Processing time (stage 3)
Due date
Covert
A B C D E
15 20 12 10 3
12 10 9 15 4
10 15 20 9 3
25 20 21 15 5
95 80 25 70 100
Total processing time
60
50
57
—
—
December 2, 2009 14:12 WSPC/APJOR
644
T. F. Lipi et al.
FIS is priority value of job. These input and output values should be expressed as a membership function to develop this FIS. In this research, Gaussian membership function is chosen for the processing time and triangular membership function is chosen for other variables. Three membership functions for inputs and five membership functions for output are used because the more the number of membership function, the more the number of rules needed. Figures 4–8 show FIS for job priority determination and its related membership function.
Fig. 4. FIS for job priority calculation.
Fig. 5. Membership function for processing time.
00238.tex
December 2, 2009 14:12 WSPC/APJOR
Reliability Centered Multi Objective Hybrid Flow Shop Scheduling
Fig. 6. Membership function for due date.
Fig. 7. Membership function for COVERT.
Fig. 8. Membership function for priority of job.
00238.tex
645
December 2, 2009 14:12 WSPC/APJOR
646
T. F. Lipi et al.
Among all parameters, processing time has close relation to average flow time, WIP inventory and capacity Utilization. In case there is more than one job to be processed, it is preferred to process the job first which have lowest processing time to reduce the average flow time, WIP inventory level and increase capacity utilization. Other important parameter is due date which is considered significantly to complete the job by its due date and thus tardiness can be minimized. Cost over time (COVERT) is also incorporated to prioritize the job because expected per unit delay cost is different and it significantly affects the production cost. Taking all these above information in mind, following 9 rules are constructed in the fuzzy inference system to determine the priority of job at each stage. Among them, top 3 rules have weight 0.5 and rest of the 6 rules has weight 1 because Due date and Cost Over Time (COVERT) are considered more important than the processing time. If (processing time is low) then (priority is high) If (processing time is medium) then (priority is medium) If (processing time is high) then (priority is low)
Fig. 9. Job priority calculation using FIS.
00238.tex
December 2, 2009 14:12 WSPC/APJOR
00238.tex
Reliability Centered Multi Objective Hybrid Flow Shop Scheduling
647
Table 2. Priority of job in stage 1, stage 2 and stage 3. Job name A B C D E
If If If If If If
Priority (stage 1)
Priority (stage 2)
Priority (stage 3)
0.486 0.465 0.446 0.608 0.726
0.474 0.507 0.446 0.509 0.721
0.497 0.5 0.424 0.612 0.726
(Due date is low) then (priority is very high) (Due date is medium) then (priority is medium) (Due date is high) then (priority is very low) (COVERT is low) then (priority is low) (COVERT is medium) then (priority is high) (COVERT is high) then (priority is very high)
Based on this priority calculation, top priority job in stage 1 is E, then D, then B, then A and lowest priority Job is C. 6.2. FIS for machine priority determination In hybrid flow shop scheduling, machine priority is very important because highly reliable and available machine should get higher priority to allocate top priority job. Reliability is a broad term that focuses on the ability of a product to perform its intended function. Reliability can be defined as the probability that an item will continue to perform its intended function without failure for a specified period of time under stated conditions. To determine the priority of the each machine in each stage, second fuzzy inference system is developed. It takes mean time to failure (MTTF) and mean time to repair (MTTR) as input and returns machine priority as an output. Mean time to failure (MTTF) is a measure of expected time where the machine will fail. On the other hand, mean time to repair (MTTR) is also important parameter, which affects the reliability and availability most. If a machine requires more time to repair then its priority will low and vice versa. In the following FIS, triangular membership function is chosen for all input and output variables and five membership functions for inputs and five membership functions for output are used. All these are determined by the expert knowledge of scheduling. Figures 10–13 show FIS and its membership functions, which are used to calculate priority of machine. Following 10 rules are used in second fuzzy inference system to determine priority of each machine in each stage (each of them has equal rule weight 1): If (MTTF is very low) then (machine priority is very low) If (MTTF is low) then (machine priority is low) If (MTTF is medium) then (machine priority is medium)
December 2, 2009 14:12 WSPC/APJOR
648
T. F. Lipi et al.
Fig. 10. FIS for machine priority calculation.
Fig. 11. Membership function for MTTF.
If If If If If If If
(MTTF is high) then (machine priority is high) (MTTF is very high) then (machine priority is very high) (MTTR is very low) then (machine priority is very high) (MTTR is low) then (machine priority is high) (MTTR is medium) then (machine priority is medium) (MTTR is high) then (machine priority is low) (MTTR is very high) then (machine priority is very low)
00238.tex
December 2, 2009 14:12 WSPC/APJOR
Reliability Centered Multi Objective Hybrid Flow Shop Scheduling
00238.tex
649
Fig. 12. Membership function for MTTR.
Fig. 13. Membership function for priority of machine.
6.3. Final schedule Following table summarizes the final schedule obtained from our developed algorithm. Sequencing is done based on the priority of each job in a group. Suppose in stage 1, in machine 1, job E should be processed first, then D and then A. But resequencing algorithm may alter the sequencing based on arrival time of the highest priority job in a group. Here for stage 2, in machine 2, according to resequencing algorithm, job C should be processed first instead of job A having higher priority. Because the arrival time of job A (28 minute) in Stage 2 is greater than the completion time of job C (21 minute) in stage 2. This resequencing algorithm is used to minimize make span without hampering the priority restoration. Simultaneously a regrouping algorithm is used in stage 3 to minimize over utilization.
December 2, 2009 14:12 WSPC/APJOR
650
00238.tex
T. F. Lipi et al.
Fig. 14. Machine priority calculation using FIS.
Table 3. Information and priority of machines in stage 1. M/c no. 1 2 3
MTTF (minute)
MTTR (minute)
Priority
Normalized priority
Target utilization
900 500 300
30 60 90
0.726 0.407 0.274
0.51599147 0.28926795 0.19474058
30.959 17.356 11.684
1
60
Total
Table 4. Information and priority of machines in stage 2. M/c no. 1 2 Total
MTTF (minute)
MTTR (minute)
Priority
Normalized priority
Target utilization
695 500
20 55
0.691 0.442
0.6098853 0.3901147
30.494 19.506
1
50
December 2, 2009 14:12 WSPC/APJOR
00238.tex
Reliability Centered Multi Objective Hybrid Flow Shop Scheduling
651
Table 5. Information and priority of machines in stage 3. M/c no. 1 2
MTTF (minute)
MTTR (minute)
Priority
Normalized priority
Target utilization
605 500
30 50
0.636 0.50
0.5606732 0.4393268
31.958 25.042
1
57
Total
Table 6. Final schedule. Machine No. (sequenced as priority)
Stage 1 (Lathe machine)
1 2 3 Total Make Span
E, D, A B C
Stage 2 (Milling machine)
Stage 3 (Drilling machine)
Without re-sequencing
With re-sequencing
Without re-grouping
With re-grouping
E, D, B A, C
E, D, B C, A
E, D, B A, C U% = 20%
E, D, B, A C U% = 16%
69
63
7. Conclusion Instead of choosing a job randomly, this research proposed to use fuzzy inference system (FIS) to determine priority of a job based on their processing time, due date, cost over time (COVERT) which are most of the time fuzzy in nature. This is an alternative way, to incorporate influence of processing time, cost over time and earliest due date during hybrid flow shop scheduling. To realize the integration between maintenance and production planning, machines are prioritized by another fuzzy inference system based on their reliability. Because, if we do not consider reliability of a machine, proposed schedule may not be a realistic one due to unforeseen shutdown of machine. Compare to other scheduling methods, it provides us more efficient schedule because; it considers health condition of the machine to set the priority of the machine and their workload. In addition to that, it calculates the priority for each job using fuzzy logic based on the multi objectives set by the customers to achieve customer satisfaction. For a large automated hybrid flow shop industry, this method is able to generate computer aided production schedule. Future aim of this research is to perform a sensitivity analysis by changing the values of mean time to failure (MTTF) and mean time to repair (MTTR) of each machine to see how it affects the overall make span. An algorithm can be developed for automatic selection of more sensitive machine, for which, if reliability and availability are increased by deploying more maintenance work, make span will decrease significantly.
December 2, 2009 14:12 WSPC/APJOR
652
T. F. Lipi et al.
References Anilkumar, KG and T Tanprasert (2006). Neural network based priority assignment for job scheduler. Australian Journal of Technology, 9(3), 181–186. Chan, FTS, HK Chan and A Kazeroon (2002). A fuzzy multi-criteria decision-making technique for evaluation of scheduling rules. The International Journal of Advanced Manufacturing Technology, 20(2), 103–113. Chang, PT and YT Lo (2001). Modeling of job-shop scheduling with multiple quantitative and qualitative objectives and a GA/TS mixture approach. International Journal of Computer Integrated Manufacturing, 14(4), 367–384. Chu, C, JM Proth and AC Wang (1998). Im proving job-shop schedules through critical pair wise exchanges. International Journal of Production Research, 36(3), 683–694. Grabot, B and L Geneste (1994). Dispatching rules in scheduling: a fuzzy approach. International Journal of Production Research, 32(4), 903–915. Gupta, JND, K Hennig and F Werner (2002). Local search heuristics for two-stage flow shop problems with secondary criterion. Computers & Operations Research, 29, 123–149. Ishibuchi, H, N Yamamoto, S Misaki and H Tanaka (1994). Local search algorithms for flow shop scheduling with fuzzy due-dates. International Journal of Production Economics, 33, 53–66. Kacem, I, S Hammadi and P Borne (2002). Pareto-optimality approach for flexible jobshop scheduling problems: hybridization of evolutionary algorithms and fuzzy logic. Mathematics and Computers in Simulation, 60, 145–422. Lee, I and MJ Shaw (2000). A neural-net approach to real time flow-shop sequencing. Computers & Industrial Engineering, 38, 125–147. Mansouri, SA (2006). A simulated annealing approach to a bi-criteria sequencing problem in a two-stage supply chain. Computers and Industrial Engineering, 50, 105–119. Petroni, A and A Rizzi (2002). A fuzzy logic based methodology to rank shop floor dispatching rules. International Journal of Production Economics, 76, 99–108. Subramaniam, V, T Ramesh, GK Lee, YS Wong and GS Hong (2000). Job shop scheduling with dynamic fuzzy selection of dispatching rules. International Journal of Advanced Manufacturing Technology, 16(10), 759–764. Tsujimura, Y, SH Park, IS Chang and M Gen (1993). An effective method for solving flow shop scheduling problems with fuzzy processing times. Computers & Industrial Engineering, 25, 239–242. Watanabe, M, K Ida, and M Gen (2005). A genetic algorithm with modified crossover operator and search area adaptation for the job shop scheduling problem. Computers and Industrial Engineering, 48(4), 743–752. Zadeh, LA (1965). Fuzzy sets. Information and Control, 8, 338–353.
Tahmina Ferdousi Lipi an Assistant Professor of Industrial and Production Engineering Department at Bangladesh University of Engineering & Technology (BUET), Dhaka, Bangladesh. She received her B.Sc. (Engg.) and M.Sc. (Engg.) both in Industrial and Production Engineering from BUET, Dhaka in 2004 and 2007, respectively. Her teaching and research interests are Reliability Centered Intelligent Scheduling, Optimization and Condition Based Maintenance Decision Making.
00238.tex
December 2, 2009 14:12 WSPC/APJOR
Reliability Centered Multi Objective Hybrid Flow Shop Scheduling
00238.tex
653
Md. Ahsan Akhtar Hasin obtained his B.Sc. Engg. in Electrical and Electronic Engineering from BUET, Dhaka, Bangladesh, M.Sc. Engg. and Ph.D. from Industrial Systems Engineering, AIT, Bangkok, Thailand. He has 18 years of teaching and research experience in Bangladesh, Thailand and Vietnam. He has in his credit a large number of international journal publications. He has also authored several books and chapters in books, published from the USA and other countries. Md. Noor-E-Alam is an Assistant Professor of Industrial and Production Engineering Department at Bangladesh University of Engineering & Technology (BUET), Dhaka, Bangladesh. He received his B.Sc. (Engg.) and M.Sc. (Engg.) both in Industrial and Production Engineering from BUET, Dhaka in 2004 and 2006, respectively. His teaching and research interests fall into Applied Operations Research and Application of Artificial Intelligent tools in Business and Engineering Decision Making.