Dynamic Priority Rule Selection for Solving Multi-objective Job Shop Scheduling Problems

In this paper, a new approach has been suggested for solving the multi-objective job shop scheduling problem, in which, simple priority rules are used dynamically, according to the varied state of the scheduling environment. The rules assign priority to the jobs that waiting in queues based on their features and/or the scheduling environment. Since the real scheduling environments are generally dynamic, it is better to use different rules during the scheduling according to the state of the shop ﬂoor at each decision time. Based on this approach, a new algorithm is designed, which uses different rules over the scheduling time. This approach can be easily applied to solve the real scheduling problems of the manufacturing systems. The algorithm has been compared with some classic rules from the literature. The results show that the proposed approach is more effective than using a ﬁxed priority rule.


12
Dynamic Priority Rule Selection for Solving Multi-objective Job Shop Scheduling Problems rule selection is made based on two features, which are the length of the queue and the average processing time of waiting jobs, however, with simple modifications, different features can be added. The benchmarks have been taken from the literature.
Generally, optimization models for the most of the scheduling problems in the manufacturing systems are defined according to more than one objective. Hence several algorithms have been proposed in the literature for solving the multi-objective job shop scheduling problem (MO-JSSP). They can be categorized in 4 classes as (i) Scalar approaches, (ii) criterion based approaches, (iii) dominance-based approaches and (iv) indicator based approaches [24]. In this study, the defined objective function consists of the weighted sum of 2 functions, which can be considered as a basic form of the first approach. In the next sections, after defining the problem, the implementation steps are described, then the results are explained and compared. Conclusion and future works are the last parts of this article.

Problem Definition and Test Instances
In the problem, there is a set of n jobs (J = {J 1 , J 2 , ..., J n }), which are interdependent from each other and arrive the shop in time t n and each consists of n i sequence of operations as the technological sequence (O i1 , O i2 , ..., O ini ) that is planed to process on a subset of m machines (M = {M 1 , M 2 , ..., M m }) as M i1 , M i2 , ..., M ini [30]. The technological sequence is the route that the jobs proceed on it. In this problem, each operation can only be processed on one machine, accordingly, each job has only one route. So, unlike the FJSSP, this problem doesn't include the problem of assignment to the machines, and it can be considered as a sequencing problem. The other assumptions about the model are as (i) each job consists of a set of operations with predefined assignable machine and processing time, (iii) jobs are independent of each other, (iv) preemption and interruption during the operations' processing aren't allowed, (v) according to the resource constraint, each machine can process at most one operation at any time, (vi) each job has consecutive operations according to the precedence constraint, (vi) setup times of the machines are negligible and there aren't any maintenance and breakdown times, (vii) each machine can work independently from other machines with maximum performance, (viii) the machines are available at the beginning of the scheduling [6][8] [32]. The objective function of the problem (f ) is the weighted sum of the makespan (f 1 = max i (C ni,j )) and the mean flow time of the Some of the notations used to represent the jobs, machines and their features are summarized in Table 1.

Previous Studies
It is important to understand the space of the methods search on to find an effective solution. Actually, for an effective search, the algorithms should search in different classes of the schedules. As seen in Figure 1, schedules are classified as (i) feasible, (ii) semi-active, (iii) active, and (iv) non-delay schedules [28] [29]. A feasible schedule is a semi-active one if there isn't any job or operation that can begin to process earlier without changing the order of the operations on any of the machines. An active schedule cannot be changed to another schedule in which any operation starts earlier, even by changing the order of operations on the machines. It is possible to obtain more than one active schedule in a scheduling problem. A feasible schedule is called non-delay if no machine is kept idle while an operation is waiting for processing [18]. Optimization methods that search for the optimal solution by creating the semi-active and active schedules are generally complex. So, in real problems of the manufacturing systems, the non-delay schedule generation by PRs can be a good approach [26] [27]. Bierwirth has designed a heuristic that is applicable for both static and dynamic JSSPs with some modifications, which can be considered as a summary of the scheduling with PRs. In the JSSP, the technological order of a job, which defines the route that it must proceed, can be defined as Equation 2 [5].
where, φ i (k) = j, m i ≤ m, 1 ≤ k ≤ m i means that the j-th operation of job i is processed on the machine k. Based on this definition, a none-delay schedule can be achieved with Equation 3.
where, l is index of the job that processed before job i on machine k. The first part of the equation stands for the finish time of the next operation of job i, while the second part shows the finish of the previous operation on machine k. Similarly, in a shop wherein the scheduling is done using a PR, when a machine is ready, a job is selected from the queue using a rule. The start time of each job on the related machine is the maximum of its own enter time to the queue and the time when the machine is free. This process can be easily applied as it is not complicated. In this way, PRs are used for sequencing the jobs that are waiting in the queue. Therefore, numerous studies are about PRs in the literature, which are often suggested to apply in real-time manufacturing systems. But no one of the rules in the literature is known to be globally better than the others. Because their efficiency depends on the characteristics of the system and the objective functions [14]. Many researchers have proposed new methods for extracting robust rules or have attempted to design them for specific environments [4][10] [20] [25]. Kapanoglu and Alikalfa have proposed a GA-based learning algorithm for solving the dynamic JSSPs, which defines scheduling intervals, based on length of queues and the applies PRs for each of them [11]. Qiu and Lau have suggested a hybrid model, in which an artificial immune system (AIS) controls the dynamic selection of PRs for solving an online JSSP [19]. Shahzad and Mebarki have designed a data mining based method to discover PRs for solving the JSSP with maximum lateness objective function [21]. Mouelhi and Pierreval have trained a neural network to select PRs in a real-time scheduling problem [14]. Olafsson and Li have applied data mining techniques to find effective scheduling policies from a rule set. They also have proposed a 14 Dynamic Priority Rule Selection for Solving Multi-objective Job Shop Scheduling Problems two-phase learning method, that at first learns which part of the data correspond to best scheduling practices and then use this information in a decision tree to find new PRs [17]. Nie et al., have suggested a gene expression programming (GEP) based approach to generate PRs for solving a dynamic JSSP [15].
Kouiss et al. have proposed a multi-agent architecture for the dynamic scheduling problems, in which each agent represents a work center of a manufacturing system [12]. Hybrid methods based on the fuzzy precedence and decision-making models are also used for the dynamic scheduling problems. Subramaniam et al. have proposed an analytic hierarchy process (AHP) based dynamic scheduling method that selects a proper PR for each decision time according to the shop floor state [23]. In recent years, also the hyper-heuristics have been used frequently for applying the PRs dynamically [16].

The Proposed Algorithm
During the scheduling, when a machine is free, using a PR, one of the jobs waiting in the queue is selected and starts to process, and the other jobs wait until this process finishes. In this way, the waiting jobs are sequenced on the machines. In some study, the same rule is applied to all machines of the shop, while some others use a different rule for each machine. Another approach is to use different rules at each decision time, which is when a machine is empty, to select a job from the queue. In our approach, at first, it is necessary to divide the scheduling time into different intervals and define a PR for each of them. This scheduling policy is extracted using a simulation model combined with a GA. As seen in Figure 2, each chromosome, which is a scheduling policy, consists of two parts. The first part contains the thresholds used to generate the intervals based on length of the queue (QL) and also based on the normalized processing times of the jobs waiting in the queues (P ), which is calculated as Equation 4.
where,p, p max and p min are the average, maximum and minimum processing times of the waiting jobs in the queue, respectively. Based on the chromosome illustrated in Figure 2, based on QL, the queue of a machine is divided into 3 intervals as Equation 5.
In a similar way, as it is in Equation 6, the queue is divided into 3 intervals, according toP .
Universal Journal of Industrial and Business Management 6(1): 11-22, 2018 15 Thus, totally 3 × 3 = 9 intervals are formed and using the second part of the chromosome, which corresponds to the rules, a policy as Equation 7 is obtained.
As seen in Figure 3, the thresholds for QL are integers, while they are decimal forP . The classic rules used for the policy extraction are summarized in Table 3. So, in each population, there are policies as many as the population size. The simulation model solves all of 82 problems, which are explained in section 5 according to each chromosome. The objective function of each problem is calculated according to Equation 1 then the fitness value of the relevant chromosome is equal to the total objective function of all 82 problems. Once the fitness values of the chromosomes in the initial population have been determined, a new generation is created using the operators of the GA which are applied to both parts of the chromosomes those are the thresholds and the corresponding rules. As seen in Figure 4, each threshold stands for some rules, which must be taken into consideration during the next generation construction using the operators of the GA.  To apply the crossover, at first, a point is selected from the second part of the chromosome that contains the rules, which must be selected from the positions that correspond to the intervals that are generated according to the QL. For the chromosome depicted in Figure 3, these points are shown in Figure 5. Then as it is done in the single-point crossover, the rules are exchanged. But also the thresholds that correspond to them are also changed. To apply the mutation, a new value is assigned to each gene, with a possibility equal to the mutation rate. which causes to changes in both the first and second part the chromosome. The new population is also sent to the simulation where the fitness values of the chromosomes, i.e. the scheduling policies, are computed similarly to the process that is done for the initial population. This loop continues until the last iteration of the GA, which is the stop criterion. The extracted rule from the best chromosome of the last population is selected as the best scheduling policy.
The parameters of the designed GA are in Table 3. The intervals and their thresholds are generated based on the parameters that are summarized in Table 4. They have been chosen experimentally, based on the results of the simulation model. Uniform(1,5) 4 2 Uniform(1,3) 4 2 Uniform(1,5) 4 After 50 iterations, 4 scheduling policies as Equations 9, 10, 11 and 12 are generated.
Rule 1 : Rule 3 : Universal Journal of Industrial and Business Management 6(1): 11-22, 2018 19 The convergence of the GA for Rule 3 is shown in Figure 6, which proves that it has reached the stable condition. Similar states are valid for the other rules. The performance of the obtained scheduling policy has been compared with the FIFO, SPT and EDD rules. The results are summarized in Figure 7 and Table 5.  In a general view, it is clear that all of the designed rules are better than the compared classic rules according tof and f 2 . Rule 4 that has the best performance according to the defined objective function, divides the length of the queues into fewer intervals, however, it is designed using the bigger thresholds for QL than Rules 1 and 3. It also has the second-best performance according to f 1 . However SPT provides the best makespan, all of the extracted rules have also good results according to this objective function. Generally, FIFO gets good results according to the makespan objective function, but it has a poor performance, which is due to the structure of the problem. For this objective function, EDD has the worst results, while this rule has achieved a fair mean flow time. FIFO has the worst results according to this objective function. According tof , among the classic rules, SPT has achieved the best result, while FIFO is the worst one. Although all of the designed rules have obtained similar results for this objective function, the best first 3 rules are Rules 4, 2, and 3, respectively.

Conclusion and Future Works
PRs are practical and useful methods to generate non-delay solutions for solving real scheduling problems. The dynamic and composite rules can achieve good results because they use more than one attribute. During the scheduling, the state of the queues change, so the jobs should be sequenced on the machines according to different features in each decision-making time. Although, in general, PRs can achieve fair results in all scheduling problems, the structure of the problem often affects the results. Therefore, it is a better approach to design the rules according to the problem or the manufacturing environment. It is clear that the rules should be easy to use. Usually, the dynamic rules can be easily implemented and also most of them are more efficient than the static rules.
Sometimes using too many rules can decrease the efficiency. It is possible to make better scheduling by choosing only the effective features, which corresponds to use less PRs. Also, the number of intervals for each feature affects the results. Such that in some problems, fewer intervals can provide good results, while in some others it should be more. It can be defined based on the results of an initial simulation, although, the evolutionary methods such as the Genetic Programming (GP) may be more useful for this aim. Another important matter that must be considered is that it is necessary to design the PRs according to the objective function of the problem. As it is observed in this study, a rule can achieve different results according to the different objective functions.
In this study, based on this approach and using different experimental parameters for generating intervals, 4 PRs are extracted, which are defined as IF-THEN. The results show that all of them provide the best results for the defined multi-objective function. Also, they have good results according to the single-objective functions. The Rule-4 that has the best results according to the multi-objective function, is generated with fewer intervals for QL. However, its thresholds are created at a larger interval than the Rules 1 and 3. The PRs and the proposed approach can be also applied to similar scheduling problems in manufacturing systems.
In future work, we plan to design an agent-based scheduling algorithm for solving the dynamic JSSP with fuzzy processing times.