An Approach to Develop a Dynamic Job Shop Scheduling by Fuzzy Rule Based System and Comparative Study with the Traditional Priority Rules

: This paper aims at developing a dynamic job shop scheduling by establishing fuzzy rule based system and comparing its effectiveness with the traditional priority rules. In order to understand the priorities of different jobs in a job shop, the paper investigates all the contributing criteria of different parameters. Since the traditional priority rules only emphasis on a single parameter at a time, the authors propose a method of obtaining a schedule which incorporates all the desired contribution criteria of the parameters used. This method includes establishing a Fuzzy priority rule. Fuzzy is an appropriate model when uncertainty and irregularities are present. It also allows modeling of a significant number of alternatives across different parameters considered in a job shop. Hence, a dynamic job shop schedule can be developed using the established fuzzy priority rule. This research is based on an example of jobs arriving in a regular semi-automated job shop, not a fully automated or software based job shop. The practical implications of this paper is to identify the proper parameters and evaluate their contribution criteria on the required conditions so that managers can determine the proper scheduling and sequence of the jobs to be machined in the job shop. This study provides a deterministic method for local managers to assess the effects of job shop scheduling and sequence of jobs.


Introduction
Scheduling is the proper allocation of resources over a time horizon to perform a collection of tasks in a proper sequence. The practical scheduling problem arises as the situations and parameters vary. The scheduling problem can be stated as follows: N jobs to be processed by M machines, given different parameters to be considered along with its contributing criteria in such a way that the given objectives are optimized.
In developing countries like Bangladesh, the local manufacturers do not consider the basics of scheduling and sequencing. After getting an order, they start the processing right away regardless to the ways of scheduling and sequencing i.e., they do not think through that which sequence should be followed and whether the contributing criteria of each parameter has been taken into consideration. As a result, they are suffered by the loss of time and money.
In this study, a brief study has been made on the above mentioned inconvenience. The solution to this inconvenience may be the use of dispatching or priority rules. But traditional priority rules consider only one parameter at a time e.g., SPT considers the sequencing of jobs according to the increasing processing time of the jobs. But in a dynamic job shop, all the parameters are to be considered along with its fraction of importance each time. Hence combination of these traditional rules or a new rule capable of considering all the parameters is to be established.
As some of the decisions regarding the parameters and their contributing criteria to the conditions and systems seem to be imperfectly known due to their imprecise and subjective nature, decision making becomes complex and inconsistent. Hence, fuzzy concept has been used.
To establish a dynamic job shop schedule considering the contribution criteria of different parameters, Fuzzy approach has been used to establish a new Fuzzy Priority rule. In this study, a case study has been done taking a raw data from a local job shop and then calculating the FPR and comparing its effectiveness with the traditional dispatching rules.

Literature Review
Fuzzy logic begins with the concept of a fuzzy set. A fuzzy set is a set without a crisp, clearly defined boundary. It contains elements with a partial degree of membership. To understand a fuzzy set, first take into account the definition of classical set. A classical set is the container that fully includes or fully excludes any given element. For example, the set of days of the week unquestionably includes Monday, Thursday and Saturday. It just as unquestionably excludes butter, liberty and dorsal fins and so on. This type of set is called a classical set because it has been around for a long time. It was Aristotle who first formulated the Law of the Excluded Middle, which says X must either be in set A or in set not-A. Another version of this law is: Of any subject, one thing must be either asserted or denied.
Fuzzy logic has two different meanings. In a narrow sense, fuzzy logic is a logical system, which is an extension of multivalued logic. However, in a wider sense Fuzzy Logic (FL) is almost synonymous with the theory of fuzzy sets, a theory which relates to classes of objects with unsharp boundaries in which membership is a matter of degree. Practically in all manufacturing systems, decisions parameters of a system are not accurately known because of the fact that the information has imprecise and subjective nature which makes decision making complicated, uncertain and sophisticated. Fuzzy logic is an analysis method purposefully developed to incorporate uncertainty into a decision model (Zadeh, 1965). There are key benefits to applying fuzzy tools. Fuzzy tools provide a simplified platform where the development and analysis of models require reduced development time than other approaches. As a result, fuzzy tools are easy to implement and modify. Nevertheless, despite their ''user-friendly' outlet, fuzzy tools have shown to perform just as or better than other soft approaches to decision making under uncertainties (Azadegan et al., 2011). These characteristics have made fuzzy logic and tools associated with its use to become quite popular in tackling manufacturing related challenges.
Fuzzy set theory is able to cope with the imprecision and uncertainty which is inherent in human judgments and decision making processes by the use of linguistic terms or variables and degrees of membership. A Linguistic Variable, the equivalent of mathematical variable, can take words or sentences as values. For instance, a linguistic variable X with label Speed, can assume values like 'Very fast', 'Fast', 'Slow', or 'Very slow'. Fuzzy set can classify elements into a continuous set using the concept of Membership Functions (MF) and degree of membership (µ) to represent the gradual changes from 0 to 1. So in fuzzy logic, the truth of any statement becomes a matter of degree. Some widely used MFs are Gaussian, Generalized bell shaped, Gaussian curves, Polynomial curves, Trapezoidal, Triangular and Sigmoid MFs. The trapezoidal, triangular MFs which are the most widely used in literature have been adopted for this study from the point of view of simplicity, convenience and speed (Oladokun and Okesiji, 2012).
Many priority rules have been proposed and studied by researchers using simulation (Pierreval and Mebarki, 1997). To solve statistic and deterministic scheduling problems a lot of analytical and optimization algorithms have been developed (Baker, 1984). If the problems are small, it is possible to generate optimal schedules using a branch or a bound approach (Brucker et al., 1993). For larger problems, special solution strategies based on priority rules have to be used to ensure execution times of a few minutes (Peres, 1995;Adams et al., 1988;Subramaniam et al., 2000).
There are several priority rules but there is no particular rule that is better than the others in terms of all the parameters to be considered. Their efficiency depends on the contribution criteria of each parameter and their operating conditions. Although a priority rule can turn out to serve better result on given contribution criterion, it may also result poorly on another criterion. For instance, rules based on processing times can be efficient at reducing the time in job shop, but may not consider the due dates requirements to be met (Pierreval and Mebarki, 1997).
In order cope up with these inconvenience, lots of approaches have been presented. Among them, steadystate simulations have been used to compare several priority rules applied to the resources, in various operating conditions and shop-floor configurations. Moreover, statistical methods have been used to obtain decision rules, which will be used to select the suitable priority rule. Some examples of such methods are: Clustering methods (Chu and Portmann, 1991) and machine learning (Pierreval and Mebarki, 1997). These techniques facilitate the choice of the priority rule that will be applied to each work center, when the actual system is in a steady state mode.

Methodology
Basically, fuzzy logic is a multi-valued logic which allows intermediate values to be defined between traditional evaluations like true/false, yes/no, black/white, etc. Notions like warm or pretty cold can be designed and formulated mathematically and algorithmically. In this way an approach is made to apply a more human-like way of thinking in the programming of computers. Fuzzy logic addresses the imprecise input and output variables by defining fuzzy numbers and fuzzy sets expressed in linguistic variables (e.g., low, medium and high) (http://en.wikipedia.org/wiki/Fuzzy_control_system).
Fuzzy rule-based approach is based on verbally formulated rules combined with and considering the contribution criteria throughout the parameter space. Numerical interpolation can be used to handle complex non-linear relationships (http://en.wikipedia.org/wiki/Fuzzy_rule).
In a broader sense, an FRBS is a Rule-Based System in which Fuzzy Logic can be used as a tool to represent different forms of techniques and knowledge about the problem solving, as well as for modeling the relationships and the interactions existing between its variables (http://en.wikipedia.org/wiki/Fuzzy_logic).
The implementation of the proposed methodology involves going through seven main stages, as described in Fig. 1. As it can be seen within the algorithm, the first step in the proposal of the parameters which often may have more or less elements as per given conditions. It follows then to determine the normalized and generalized function of the data with respect to the selected parameters. Stage 3 consists of determining the fuzzy rules according to the contribution criteria of each parameter. In stage 4 takes place the application and simulation of the algorithm in MATLAB 2013a. Here the rules are first set in order and then either the normalized or generalized functions are put to obtain specific outcome. Hence a sequence of jobs is obtained. In the phase 5 takes place calculation of the average flow, average tardiness and average number of jobs at work center according to the obtained sequence. Phase 6 implies calculation of the average flow, average tardiness and average number of jobs at work center according to the traditional rules taken into account i.e., in this case SPT, EDT, LBS and LAR. In the last stage, takes place measuring the effectiveness of fuzzy priority rule by comparing them with those of the traditional rules.

Proposal of the Parameters
The proposed method assigns priorities to the part types taking four parameters into account. In this case, a condition has been assumed where batch size, due time, processing time and arrival rate are taken as the input parameters as shown in Fig. 2. The reasons for selecting these parameters are as follows: The generated output is a percentage of priority in relation with all the parameters taken into account basing on a specific contribution criteria of the parameters.
Considering these four parameters, Table 1 depicts the input data parameters to be considered along with its contributing criteria in such a way that the given objectives are optimized. As arrival rate presented in previous table follows Poisson distribution, Table 2 gives the revised arrival rate.

Determination of the Normalized and Generalized Function
Normalized Function Normalized contribution function of each parameter of part type is defined as the ratio of the difference of the particular value and its minimum value to the difference of the maximum and minimum value. Each data is converted in terms of normalized functions and presented in Table 3.

Generalized Function
Generalized function refers to the value of each part taken for each parameter and plotted within the range of minimum and maximum respective values in MATLAB 2013a.

Determination of the Fuzzy Rules for a Given Condition of Contribution Criteria
In this case, four parameters have been considered. All the four input variables are associated with identical linguistic values: Low (L), medium (M) and high (H). The output to be generated should be a priority percentage such as 10, 20, 30, 40, 50, 60, 70, 80 and 90%. There are 3×3×3×3 = 81 rules for the system. The membership functions for normalized batch size, normalized due time, normalized processing time and normalized arrival rate are similar as shown in Fig. 3 (Bilkay et al., 2004).    2  12  3  3538  30  2  12  4  3538  32  2  12  5  3538  35  3  15  1  2787  25  4  3  15  2  2787  28  3  15  3  2787  24  3  15  4  2787  32  4  17  1  1693  30  5  4  17  2  1693  22  4  17  3  1693  16  4  17  4  1693  18  4  17  5  1693  32  5  18  1  3865  15  3  5  18  2  3865  26  5  18  3  3865  18  6  13  1  1709  22  6  13  2  1709  27  6  13  3  1709  18  6  13  4  1709  21  7  18  1  2385  32  4  7  18  2  2385  14  7  18  3  2385  19  7  18  4  2385  22  7  18  5  2385  25  8  17  1  1801  30  5  8  17  2  1801  40  9  12  1  1709  35  5  10  20  1  2756  38  2  10  20  2  2756  40  10  20  3  2756  30  10  20  4  2756  26 Since four parameters each with three associates are used, all 81 combinations are obtained by the following JAVA programming language.   In this study, the contribution criteria considered for the parameters are: Basing on these priorities, the set rules for fuzzy decision system are as follows: • If batch size is LOW AND arrival rate is LOW AND due time is LOW AND processing time is LOW THEN decision is 0.9 • If batch size is LOW AND arrival rate is LOW AND due time is MEDIUM AND processing time is MEDIUM THEN decision is 0.65 • If batch size is LOW AND arrival rate is HIGH AND due time is MEDIUM AND processing time is LOW THEN decision is 0.65 • If batch size is HIGH AND arrival rate is MEDIUM AND due time is LOW AND processing time is MEDIUM THEN decision is 0.55 • If batch size is HIGH AND arrival rate is HIGH AND due time is HIGH AND processing time is HIGH THEN decision is 0.1

Implementation of the Rules and Obtaining the Results from MATLAB
For Normalized Function, Fig. 4

Plotting the Normalized and Generalized Values of the Data in MATLAB For Normalized Functions
In the view form of the rules, the normalized functions of the parameters of each part type are plotted as shown by Fig. 6 and 7. Then the output shows the priority percentage in the form of result. As stated earlier, normalized functions may show some inconveniences such as showing same priority for two or more part types. Hence generalized function has been taken into account and the outcome, after plotting all part types, has been depicted in Table 4.

Calculation the Average Flow, Average Tardiness and Average Number of Jobs Fuzzy Rule Based System
The obtained sequence of Table 4 go through further calculations. That is, the average flow, average tardiness and average number of jobs at work centers are calculated basing on the data in Table 5.

Traditional Priority Rules
This set of calculation is to be done basing on the traditional priority rules. In this case, the rules considered are: Calculation for LBS Table 6 shows the raw data for LBS estimation: Calculation for SAR Table 7 shows the raw data for SAR estimation:  Table 8 shows the raw data for EDT estimation: Calculation for SPT Table 9 shows the raw data for SPT estimation:

Compare the Results Obtained from Fuzzy Priority Rule from those of the Traditional Rules
In this section, a comparative study has been done between the data obtained in section 3.1.5 and section 3.1.5. For doing so, the contribution criteria of each parameter viz. batch size-50%, arrival rate-25%, due time-75%, processing time-50% came into use. The values obtained from each property LBS are multiplied by 0.5, those obtained from SAR are multiplied by 0.25, those obtained from EDT are multiplied by 0.75 and those obtained from SPT are multiplied by 0.5. These are then added and divided by the total weight age:

Results
Proper scheduling and sequencing of jobs should be performed for all job shops in order to minimize the loss of time and money. Based on the data in terms of different parameters along with their contribution criteria, several rules have been established. By the analytical aid of MATLAB, output priority percentage of different part types have been obtained.
Beside fuzzy calculations, all the combinations of parameters with respect to the given conditions have been illustrated graphically MATLAB. Even the surface view of different parameters with respect to each other has been shown where Fig. 8 and 9 suggest two combinations.
Finally, the obtained comparison between Fuzzy priority rule and combined traditional priority rule along the horizons (i.e., average flow time, average tardiness and average number of jobs at work center) is shown graphically using MATLAB in Fig. 10 and numerically in Table 10.

Discussion
Human behavior is all about finding easier and shortest way of doing work. In developing countries like Bangladesh, this sense of behavior has not yet developed by far means especially in the manufacturing and scheduling region. After getting an order, they start the processing right away regardless to the consideration of the importance of different criteria. In this case, job shop priority or dispatching rules may play the role as a savior. These traditional priority rules consider only one parameter or criteria at a time i.e., in this case traditional priority rules will consider any of the LBS, SAR, SPT or EDT. So in this study, a rule-based fuzzy priority system i.e., Fuzzy Priority Rules (FPR) has been introduced and the contribution criteria of each parameter has been incorporated. For different percentage of each parameter importance, every element of the 81 rules needs to be assigned with their proper values. By doing so, an output is obtained as shown in Table 1 for first sample run. This output formulates a sequence of jobs and according to this sequence, the average flow time, average tardiness and average number of jobs at work center have been determined.  Then the average flow time, average tardiness and average number of jobs of those traditional rules have been determined and each of the particular rule is measured against their respective contribution criteria to incorporate to a combined form for the satisfaction of the conditions. The obtained data from FRBS and traditional priority rules have been compared along several constraints where it is observed that Fuzzy Priority Rule proves to be more efficient than the traditional priority rules taking every possible demands and concerns into account. In this study, the relations between different parameters in terms of their parametric and surface structure have also been shown. Finally, a graph has been shown which illustrates the comparative study between Fuzzy Rulebased system and traditional priority rule.

Conclusion
Fuzzy set theory allows the complexity of real life issues to be included within the confines and rigors of the mathematical model. The proposed approach is used to solve the problems related to scheduling and sequencing of jobs in a job shop in order to reduce average flow time, average tardiness and average number of jobs at work center. The proposed methodology can be successfully applied for the purposes of pursuing a course of action in terms of developing a dynamic job shop through proper scheduling and sequencing of jobs. Here, the contribution criteria of each parameter has a greater or lesser influence on the output as taken by the user. In this study, the contribution criteria have been assumed but the method, of utilizing any set of contribution as one can demand, has been shown.