RULE BASED HEURISTIC APPROACH FOR MINIMIZING TOTAL FLOW TIME IN PERMUTATION FLOW SHOP SCHEDULING

Original scientific paper Production scheduling plays a vital role in the planning and operation of a manufacturing system. Better scheduling system has a significant impact on cost reduction and minimum work-in-process inventory. This work considers the problem of scheduling n/m/F/ΣCi using Decision Tree (DT) algorithm. Since this problem is known to be strongly NP-hard, this work proposes heuristic based methodology to solve it. The advantages of DT’s are that the dispatching rule is in the form of If-then else rules which are easily understandable by the shop floor people. The proposed approach is tested on benchmark problems available in the literature and compared. The proposed work is a complement to the traditional methods.


Introduction
In many manufacturing and assembly facilities each job has to undergo a series of operations.Often these operations have to be done on all jobs in the same order implying that the jobs have to follow the same route.The machines are assembled in series and the environment is known as flow shop.It is characterized by a unidirectional flow of work with a variety of jobs being processed sequentially.The goal is to find a sequence of jobs for minimizing makespan, total flow time, idle time etc.The majority of flow shop scheduling research were on minimizing makespan.In recent years, scheduling problems with minimizing total flow time draw more attention from the researcher's community.This is due to the fact that smaller the value of total flow time better the utilization of resources and cost reduction.In this context, today's manufacturing environment with minimizing total flow time gives great practical importance.For finding optimal values of minimizing total flow time having njobs consist of n! sequences.Garey et al. [1] showed that flow shop scheduling problems are NP-hard even for moderate sized problems.As the problem size increases, NP-hard of the flow shop problem necessitates the development of heuristics and meta-heuristics to get good solutions.In this work, decision tree based heuristic methodology is proposed to discover the sequence for minimizing total flow time criterion.

Literature review
There are many heuristics and meta-heuristics that have been proposed over the years for solving the flow shop scheduling problems with the objectives of minimizing makespan, total flow time, idle time etc., of jobs considered either separately or simultaneously.The optimal or good solutions of n-jobs, m-machines flow shop scheduling can be obtained via non-traditional methods like Genetic Algorithm, Ant-Colony Algorithm, Scatter Search Algorithm and Hybrid Algorithms.The non -traditional methods often provide fast solutions to traditional flow shop problems but they do not demonstrate repeatability or provide an explanation of a solution that is developed.Also these methods require considerable amount of time for development of coding.In particular, for complex systems it may be difficult in practice to account for all relevant aspects in an optimization model (or) to elicit all relevant scheduling rules directly from an expert.These limitations have encouraged researchers to develop efficient heuristics.For all practical purposes, it is often more appropriate to look for a heuristics that generates a near-optimal solution at relatively minor computational expenses.This leads to the development of many heuristics.The various heuristics for makespan criterion are proposed by Johnson [2], Palmer [3], Campbell [4], Gupta [5], Nawaz [6], Valdimir Modrak [7] and Mircea Ancau [8].For a total flow time criterion, Rajendran and Chaudhuri [9], Liu and Reeves [10] and Deepak Laha and Chakraborty [11] proposed various heuristics.Rajendran and Chaudhuri [9] proposed constructive heuristics based on the machine idle times and the job waiting times.Liu and Reeves [10] developed composite heuristics by appending jobs one by one using index function.The index function consists of weighted sum of total machine idle time and the artificial total flow time.Reeves [10] compared four versions of their composite heuristics with various existing heuristics and it was empirically shown that the composite heuristics are more efficient than the constructive heuristics.Deepak Laha and Chakraborty [11] proposed two composite heuristics H-1 and H-2 by hybridizing of (i) the constructive heuristics (ii) Simulated Annealing (SA) and (iii) the classic NEH algorithm for minimizing total flow time.In their algorithm, the jobs are sorted based on the ascending order of their total processing time on all machines and it is used as initial sequence for SA algorithm.The best solution generated by the SA is the initial sequence for heuristics H-1 and H-2 and it is improved by many iterations.The two composite heuristics produce better quality solutions than those produced by the composite heuristics of Liu and Reeves [10].Recently, Hwang et al. [12] introduced optimal schedule block and polynomial time dynamic programming algorithm to solve total completion time in two machine flow shop scheduling problem with fixed job seqence.Kaizhou Gao et al. [13] presented two heuristics based on standard deviation and composite heuristic to solve no-wait flow shop scheduling problem for minizing total flow time criterion.Ji-Bo Wang et al. [14] proposed several dominance properties and some lower bounds to speed up the elimination process of a branch-and bound algorithm for two machine flow shop scheduling environment to minimize the total weighted completion time of jobs with decreasing linear deterioration.From the literature, it is evident the heuristic method of solving general n-jobs and m-machines flow shop scheduling problem for minimizing total flow time criterion received less attention from research community.Hence the proposed approach employed the heuristic method for solving total flow time criterion.The following section presents an overview of the data mining and decision tree algorithm.

Data mining
Data mining and knowledge discovery are emerging areas of research and it is a statistical method to learn unknown and useful knowledge from databases.It is the process of discovering interesting knowledge, such as patterns, associations, anomalies and significant structures of databases.Kuisak [15] showed that the use of data mining techniques in manufacturing began in early 1990's and it has gradually received attention from production community.Some of the most widely used data mining algorithms are Decision tree, Regression tree, Clustering, Neural networks etc.The knowledge discovered is often expressed in the form of If-Then else rules which has the advantage of being high level and symbolic knowledge representation and contribution towards the comprehensibility of the knowledge.Harding et al. [16] outlined applications of data mining in various fields of manufacturing engineering.Xiaonan Li and Sigurdur Olafsson [17,18] presented decision tree based algorithm for discovering dispatching rule from production data for single machine scheduling.The authors have used Decision tree as a dispatching rule instead of famous rules such as Early Due Date [EDD] and Earliest Release Date [ERD].In their later work, authors presented two phase approach by combining decision tree algorithm and genetic algorithm for finding weighted lateness in the single machine scheduling problem.Hyun-Seon Choi et al. [19] presented decision tree based approach for reentrant hybrid flow shop problems with one or more parallel machines at each production stage.The case study was performed on Thin Film Transistor-Liquid Crystal Display (TFT-LCD) manufacturing line.The test results showed that the decision tree based approach is competitive to the simulation-based one with respect to various performance measures such as system throughput, mean flow time, mean tardiness and the number of tardy jobs.Atif Shahzad and Nasser Merbark [20] presented data mining based approach for job shop scheduling to discover set of rules capable of approximating the efficient solutions provided by the tabu search for minimizing the maximum lateness.In recent time, Shi Ling and Cheng Xue [21] proved that minimizing the total completion time is NP-hard in the strong sense through a reduction from the Numerical Matching with Target sums.The authors presented their algorithm for two -machine flow shop scheduling with a single server and equal server times.From the literature, most of the authors have used decision tree algorithm to discover the set of rules by analyzing efficient solutions from the meta-heuristics.These rules are used to duplicate the meta-heuristics algorithm to solve simillar problems.Only few authors used direct application of data mining algorithms to solve the scheduling problems.Hence the proposed approach uses direct application of data mining algorithm to solve total flow time for general n-jobs and m-machines flow shop scheduling problems.

Decision tree
Decision Tree (DT) is a supervised machine learning method for constructing prediction models from data.The advantages of DT's are that they are easy to use and efficient.The rules can be generated that are easy to interpret and understand.A decision tree algorithm constructs a tree T from a set of data with many attributes.Quinlan [22] developed algorithm for construction of decision tree called Iterative Dichotomiser 3 (ID3) and improved version is C4.5.The algorithm searches through the attributes of the instances and extracts the appropriate splitting attributes that separate the given examples.If the attribute perfectly classifies the data sets, then algorithm stops, otherwise it recursively operates on them (where the m = number of possible values of an attribute) partitioned subsets to get their best attribute.The algorithm picks the best attribute and never looks back to reconsider earlier choices.
This work is organized as follows.The section 3 describes the formulation of the flow shop problem.The section 4 elaborates decision tree based approach for discovering knowledge in flow shop scheduling.The computational experiments of proposed method are applied to benchmark problems discussed in Section 5 and Section 6 includes results and discussion.

Problem formulation
The flow shop sequencing problem generally consists of m-machines and n-jobs, each job consists of m operations and each operation requires a different machine.N-jobs are to be processed in the same sequence on m-machines.The processing time of job i on the machine j is given by The objective is to find the best sequence of jobs, which will give minimum total flow time.

Permutation flow shop representation
The permutation flow shop represents a typical case of the flow shop scheduling problem with a goal to determine the optimal schedule for n-jobs on mmachines.Let C (Ji, k) denote the completion time of job J i on machine k and let {J 1 , J 2 ,…, J n } denote a job permutation.The calculation of total flow time for n-jobs and m-machines flow shop problem is as follows: The standard notation for the flow shop problem is denoted by n/m/F/ΣC i , considering the total flow time as the objective function.1 shows the proposed framework.In production data module, data related to the number of jobs, numbers of machines and processing time of each job are to be entered.Decision Tree is concerned with learning some target concept.In particular, given the job-1 and job-2, which job should be scheduled first?As far as flow shop scheduling is concerned with the total flow time of job order 1-2 and 2-1 is calculated.The job order having minimum total flow time value is scheduled first.Likewise, job-1 is compared with remaining n−1 jobs to schedule whether job-1 is scheduled first or not.Given this target concept, a classification problem can be defined as a pairwise comparison of jobs.That gives job-1 and job-2 instances in the data set for the classification problem includes all of the production data for those two jobs along with a class attribute that indicates whether job-1 (or) job-2 is scheduled first.For set of n-jobs, the first job is compared with n−1 jobs, the second job is to be compared with remaining n−2 jobs and henceforth.The total number of instances for n-jobs are represented in Eq. (1).

𝑗𝑗=1
Thus the flat file for the data set is constructed.The engineering of this database plays a critical role for the usefulness of the knowledge discovered.Hence this approach involves creation of additional attributes such as total processing time of each job and processing time difference on each machine in the same job is constructed to improve the scheduling decision.After construction of additional attributes, the decision tree algorithm is applied.The construction of Decision Tree for numerical data is illustrated in Annexure-I.From decision tree, decision rules are generated.In order to get the initial sequence, job-1 is compared to remaining n−1 jobs based on rules and its priority is checked.Likewise all the jobs are compared to the remaining jobs and accuracy of each job was found.Based on the accuracy of jobs, three passes are generated.A job which satisfies 100 % accuracy is placed in pass-1, the one with the accuracy greater than 50 % will occupy pass-2 and the remaining jobs will occupy pass-3.By combining three passes, the initial dispatching sequence is obtained.To get more population, jobs are swapped within their passes and the best value is found.

Computational experiments
To compare the proposed decision tree algorithm bench mark data sets are taken from Taillard [23] for this study.Xiao Xu et al. [24] developed asynchronous genetic local search algorithm for total flow time minimization of flow shop scheduling and compared the results with various non-traditional methods.The asynchronous genetic algorithm gives best value of total flow time for Taillard [23] data sets.Deepak Laha [11] compared his composite heuristics H-1 and H-2 with Reeves [10] composite heuristics and Simulated Annealing Algorithm.In this study, 60 problems are taken for analysis.All the problems were tested with population size of 1000 and twenty independent trials have been made.The Decision tree based algorithm was coded in Java and run on Pentium IV, 3-GHz processor with 1 Mb Ram.The Percentage of Relative Deviation (PRD) is used to measure the algorithm quality.Data engineering plays major role in building more accurate interpretable models and providing factors that are most important in scheduling decisions.Specifically, the attributes that are recorded during production process may not be the attributes that are not useful for constructing a decision tree.In most of the cases, it could be done manually using intuitive process.Tab.2(a) shows the total number of instances generated for each data set and average value of tree size before and after data engineering.Tab.2(b) shows average value of accuracy of tree for various datasets.
Figs. 4 and 5 show the average value of size and accuracy of tree for 20 and 50 job problems before and after data engineering.The decision tree based heuristic approach was tested with 60 benchmark problems of Taillard [23].The results are compared with Simulated Annealing algorithm and other composite heuristics in literature.Tab. 1 shows the average value of PRD for all the 60 problems.The average value PRD of proposed work is 2,068, where as in SA it is 10,976.From this, it is evident that the proposed approach is better than the SA.Fig. 2 shows average value of PRD for 20 job problems (total number of problems -30).The average value of PRD proposed method is 1,071, whereas in Liu and Reeve's [10] approach it is 1,339.As compared to Liu and Reeve's approach, the proposed method gives good solutions.But, as the job size increases more than 20, the proposed method average PRD is slightly higher than the Reeve's composite approach.The composite heuristics H-1 and H-2 give a lower value as compared to Reeve's heuristics and proposed method.Reeve used index function to append the job one by one and both forward & backward pairwise exchange of jobs are used as local search in their algorithm.Laha's [11] approach consists of hybridizing of constructive heuristics, SA and NEH algorithm were done.The SA was run from 475° to 20° and then the best value was improved in several iterations.The decision tree based approach developed in this work is alike, with improved heuristics and it is a single-pass method that requires very few computations.The advantage of the proposed approach is that the rules are in the form of ifthen else rules that can be easily understandable by the shop floor people.To know the significance of additional attributes constructed for the tree, Tab. 2 shows the size and accuracy of tree before and after the addition of attributes.Fig. 4 shows average value of size of decision tree with and without considering additional attributes.The construction yields the decrease in size of the decision tree.For 20 job problems, the reduction in tree size is 25 % whereas for 50 job problem it is 49,39 %.Fig. 5 shows average value of accuracy of decision tree with and without considering additional attributes.For 20 job problems, construction of additional attributes yields an increase in accuracy 1,103 % higher than the basic attributes.For 50 job problems, construction of addtional attributes yields the reduction in accuracy of 2,554 % as compared to basic attributes.This indicates that the job size increases more than 20, there is a small reduction in accuracy with significant improvement in reduction of the tree size.Overall, the above attributes constructed for constructing tree give significant improvement in tree reduction with small change in the value of accuracy for large size problems.

Conclusions
A rule based heuristic approach is presented for flow shop scheduling that is a well-known combinatorial optimization problem.To compare the proposed work, 60 problems are analyzed for standard well-known bench mark problems and compared against simulated annealing algorithm and various composite heuristics.The expertimental results indicate that the proposed algorithm contributes significantly to the extremely challenging scheduling problem.Unlike existing heuristics available for flowshop, the prosed work is like rule (or) tree based structure in the form of IF-THEN else rules which are easily understandable by even semi-skilled workers.The advantages of DTs are easy to use and efficient.
In real time applications, more data and attributes are collected in a shop floor control system and tree constructed from these attributes will lead to better dispatching rules.Whereas, it is impossible to elicit all relevant aspects and knowledge of the scheduling to the other approaches.The proposed work can be extended in several directions.First, to construct the tree, other algorithms can be used.Second, to obtain optimal or near optimal solution, initial seed solution is taken from the proposed method and then any one of the meta-heuristics could be implemented.Third, as size of the job increases size of the decision tree also increases.The various instance selection methods could be implemented for reducing the tree size with good solution accuracy.Step: 2 (Flat file construction) The data set is converted into flat file as illustrated in the section 4.0.i.e., for the given job order, 1-2 and 2-1 total flow time is calculated which is shown in Tabs. 4 and 5 respectively.For the given job 1-2 the total flow time is 30, whereas in reverse case it is 24.Therefore in the given job 1-2, job-2 is scheduled first.Likewise, pairwise comparisons of remaining jobs have to be done and flat file has to be constructed.For five jobs, total number of instances is 10.The attributes J 1 P m1 , J 1 P m2 etc., are called predictor variable and the attribute, job-1 scheduled first is called class attribute.Where J i P mj represents job j i is processed into machine m j .In order to obtain more meaningful decision tree and hence dispatching rules, a better data file must be constructed before the decision tree induction.To illustrate the potential benefit of the approach, the following attributes are deliberately added that are believed to be helpful.i) TP 1 − total processing time of job-1 (J 1 P m1 + J 1 P m2 ) ii) TP 2 − total processing time of job-2 (J 2 P m1 + J 2 P m2 ) iii) P m1diff − processing time difference of J 1 P m1 − J 2 P m1 iv) P m2diff − processing time difference of J 1 P m2 − J 2 P m2 v) T diff = TP 1 − TP 2 Tab.6 shows the resulting flat file for the given problem.After constructing flat file for the given dataset, the decision tree algorithm is applied.i.e., for each attribute information gain has been calculated and the attribute that possesses maximum information gain is taken as a root node.

Step: 3 (Decision tree construction and rule evaluation)
The value of information gain or entropy, defined by Claude E. Shannon as Entropy (P 1 , P 2 ,…., = Overall info gain -combined info of J 1 P m1 = 0,9708 -0,5504 = 0,4204. For finding suitable attribute split value (processing time) of each predictor attribute, the attribute values are arranged in ascending order and information gain has been calculated for both upward and downward directions.The value which gives maximum information gain has been chosen as an attribute split value.In the above attribute, the processing unit 7 gives maximum information gain.A likewise information gain of all the attributes is calculated as shown in Tab. 7. 0,01997 T diff 0,41997 Among all the attributes, the attribute P m1diff possesses maximum information gain which has been selected as a root node.Fig. 6 shows the tree structure of attribute P m1diff .The decision rule derived from the above tree is as follows: If P m1diff < 1, job-1 scheduled first ----Rule (1) If P m1diff ≥ 1, job-2 scheduled first ----Rule (2) The left side branch of the root node (rule-1) correctly classifies instances 5, 7, 9 and 10.The right side of the root node (rule-2) correctly classifies remaining instances.As all the instances in the flat file are classified, the tree construction is stopped else it recursively operates until all the instances in the data set are classified.The 'Yes' in the leaf node implies that job-1 is dispatched first and vice versa.The size of the above tree is 3 and having 100 % accuracy.The decision tree or alternatively the corresponding rules can be used directly to dispatch jobs.In order to get initial sequence, the above rules are applied to the data set and accuracy of each job was found.Tab. 8 shows accuracy of each job of example problem.Based on the accuracy of the jobs, three phases are generated.Jobs which satisfy 100 % accuracy are placed in pass-1, if the accuracy is greater than 50 % they will occupy pass-2 and the remaining jobs will occupy pass-3.By combining three passes, dispatching sequence is obtained.Tab. 9 illustrates obtaining of initial sequence.To obtain the best solution, jobs are randomly swapped within their pass for a given population and different dispatching sequence has been obtained.In the above example, pass-1 has one job and pass-2&3 have two jobs.To evaluate algorithms, the problem was tested with a trial run of 10 times with population size of 20.The sequence 4-2-3-5-1 gives minimum total flow time of 73 units.In the above example, if a tree is constructed with basic attributes, then the final tree is shown in Fig. 7.

Figure 1
Figure 1 Proposed methodology 4 Proposed schema Fig.1shows the proposed framework.In production data module, data related to the number of jobs, numbers of machines and processing time of each job are to be entered.Decision Tree is concerned with learning some target concept.In particular, given the job-1 and job-2, which job should be scheduled first?As far as flow shop scheduling is concerned with the total flow time of job order 1-2 and 2-1 is calculated.The job order having minimum total flow time value is scheduled first.Likewise, job-1 is compared with remaining n−1 jobs to PRD = [C (Heu) −C (best) ] /(C (best) ×100), where C (Heu) represents total flow time obtained from various heuristics methods and C (best) represents best values of total flow time.The average values of PRD for various composite heuristics and SA are calculated and are reported in the Tab. 1.

Figure 2 Figure 3
Figure 2 Average value of PRD of various methods for 20 job problems

Figure 4
Figure 4 Average value of size of tree before and after data engineering

Figure 5
Figure 5 Average value of accuracy of tree before and after data engineering

1 (
Input the data set)Let us consider the 5 jobs × 2 machines flow shop problem.Tab. 3 shows the data set of 5 jobs and 2 machines problem.

Figure 6
Figure 6 Decision tree constructed from the attribute Pm1dif

Table 1
Comparison of average value of PRD for different heuristics (LR = Liu and Reeves heuristics, SA = Simulated Annealing algorithm, DL = Deepak Laha's composite heuristics H-1, H-2 and DT = proposed decision tree based approach)

Table 2 (
[23]ize of decision tree for the data sets proposed by Taillard[23]Sl.No.

Table 2 (
[23]ccuracy of decision tree for the data sets proposed by Taillard[23]

Table 4
Calculation of total flow time for Job 1 -2

Table 5
Calculation of total flow time for Job 2 -1

Table 6
Flat file for 5×2 flow shop problem

Table 7
Information gain of various attributes for the flat file

Table 8
Accuracy of jobs for the given 5×2 flow shop problem

Table 9
Framing of initial sequence