Abstract
Keywords
Introduction
Scheduling is a resource allocation process over a period of time to perform a set of tasks. 1 Flexible flow-shop and job-shop scheduling (FSP and FJS, respectively) are one of the most important problems in the area of production scheduling, and these are all well-known non-deterministic polynomial-time (NP)-hard. 2 In the study of these scheduling problems, it is usually assumed that the capacity of buffers for storing jobs is unlimited, and hence, when a machine has finished processing a job, the job can leave immediately, and the machine can start processing other jobs, that is to say, there is no blockage. However, in practical automated manufacturing systems (AMSs),3–5 machines, buffers, robots, and other resources that can hold jobs are always limited. The finiteness of all these resources makes the system not only have the blockage problem but also encounter the so-called deadlock.6–21 The deadlock situation occurs when a set of jobs are in “circular waiting,” that is, each job in the set waits for a resource held by another job in the same set. 9 For such an AMS, the required resource allocation or scheduling strategy can not only prevent the system from falling into deadlock but also optimize the system performance.7,12,13,22–26 Therefore, it is more important to develop such a scheduling strategy.
In order to solve the problem of optimization scheduling for AMSs with limited resources, deadlock control strategies should be established in advance. 22 This is much of the reason that the deadlock problem of AMSs has been studied extensively. Since Petri nets (PNs) can clearly describe the characteristics of AMSs such as resource sharing, conflict, concurrency, and deadlock,14–18 they are widely used to model the dynamic evolution of AMSs. Based on PNs, various deadlock control strategies or controllers for AMSs have been proposed, mainly including two kinds: deadlock avoidance and deadlock prevention. Of these, the former are online control policies that use feedback information on the current resource allocation status and future process resource requirements to keep the system away from deadlock states,13,14 while latter are offline and guarantee that necessary conditions for circular waiting or deadlock cannot be satisfied at any time of the AMS dynamic.20–24
The joint consideration of scheduling and deadlock control of AMSs leads to more complex and difficult combinatorial optimization problems. Classical scheduling methods for flexible flow-shop and FJS cannot be directly used to solve such problems, while it is a great challenge to extend and modify them for deadlock-prone AMSs. Therefore, there are few researches on AMS scheduling. Ramaswamy and Joshi 7 established a mathematical programming model of the scheduling problem for AMS with no route flexibility, and a Lagrangian relaxation heuristic was used to search for the optimized average flow time. Gomes et al. 8 investigated the scheduling problem of flexible job-shop with groups of parallel homogeneous machines and limited intermediate buffers, and developed the integer linear programming model of the scheduling problem to meet the just-in-time due dates. By solving this integer linear programming, an optimal schedule can be obtained if it is feasible. Brucker et al. 10 and Heitmann 11 investigated job-shop scheduling problems with limited buffer constraints by classifying buffers into machine-dependent output and input buffers, and part-dependent buffers. Fahmy et al.12,13 presented an insertion heuristic based on Latin rectangles. This heuristic is capable to take into account limited buffer capacities and to avoid deadlocks, and hence, can obtain a feasible schedule.
In Xing et al., 25 a genetic scheduling algorithm for AMSs is developed directly using a predesigned controller to minimize the makespan. Based on the deadlock search algorithm, 20 a one-step look-ahead method is developed to avoid deadlocks by amending those infeasible individuals to feasible ones. A feasible individual can be decoded directly to a schedule. This approach is improved in Han et al. 26 using different kinds of crossover and mutation operations in genetic algorithm. Computational results show the good improvement in performance. At the same time, based on the one-step look-ahead method presented in Xing et al., 20 several kinds of heuristic and intelligence optimization scheduling algorithms are established.27,28 Baruwa et al. 29 proposed a heuristic scheduling algorithm based on timed-colored PNs. During the exploration, deadlock states are marked and the paths to those states are terminated to prevent the system from encountering them.
All above research on scheduling problems of AMSs has been concentrated on single objective alone. However, several objectives must be considered simultaneously in the real-world production situation and these objectives often conflict with each other. Previous research on multi-objective scheduling mainly focused on flexible flow-shop and FJS,30–39 while for deadlock-prone AMSs, it hardly involved. Kacem et al. 30 developed an effective evolutionary algorithm to solve multi-objective scheduling problems for flexible job-shops. An effective hybrid tabu search algorithm for solving multi-objective flexible job-shop scheduling problems was introduced by Li et al. 31 A Pareto-based particle swarm optimization and local search approach to multi-objective scheduling problems of flexible job-shops was proposed by Moslehi and Mahnam. 32 Rahmati et al. 33 proposed two evolutionary algorithms to solve the flexible job-shop scheduling problems with three objectives. To solve multi-objective flexible job-shop scheduling problem, a hybrid discrete particle swarm optimization algorithm with simulated annealing algorithm and Pareto-based grouping discrete harmony search algorithm were proposed by Shao et al. 34 and Gao et al. 35 For solving the multi-objective flexible job-shop scheduling problem with limited resource constraints, a hybrid discrete firefly algorithm is presented in Karthikeyan et al., 36 where limited resource constraints are used to balance between the resource limitation and machine flexibility. While for different multi-objective flow-shop scheduling problems, many methods are proposed, such as estimation of distribution algorithm, 37 multi-phase covering Pareto-optimal front method, 38 and multi-phase approach. 39
For a multi-objective optimization problem, there is often no single optimal solution, but rather a set of optimal solutions, called as Pareto-optimal solutions. They are optimal in the wider sense that no other solutions in the search space are superior to them when all objectives are considered. A number of evolutionary algorithms have been used to deal with multi-objective optimization problems.40,41 They generate widely different Pareto-optimal solutions by combination of parent and offspring populations and using various diversity-preserving mechanisms, and have the ability to find multiple Pareto-optimal solutions in one single run. The non-dominated sorting genetic algorithm II (NSGAII) 42 is one of such evolutionary algorithms that is modified from non-dominated sorting genetic algorithms (NSGA) in Srinivas and Deb 40 and Deb 41 and hence better than NSGA.
This article considers the multi-objective scheduling problems for deadlock-prone AMSs. A Pareto genetic algorithm (PGA) is proposed based on the PN models of AMSs. In the proposed PGA, a candidate schedule is first represented as an individual. Due to the constraint of limited resource capacity, these individuals in a population may be infeasible, that is, they cannot be directly decoded into feasible schedules or feasible firing sequences of transitions in PN model, and hence, it is necessary to check the feasibility of new individuals generated in initialization and genetic operators and modify infeasible individuals into feasible ones. In this article, deadlock control policies are used directly to check the feasibility of individuals and modify them if necessary, and the Pareto dominance and crowding distance in Shao et al. 37 are used to update solutions in the sense of multi-objective optimization, while a new elitist strategy in order to avoid premature convergence is proposed.
A set of simulation examples is used to show the feasibility and effectiveness of the proposed method. At the same time, the proposed algorithm is compared with NSGAII. Note that the basic NSGAII in Deb et al. 42 is aimed at continuous optimization problems and cannot be directly used to solve our scheduling problems. In order to solve our combinatorial optimization problem, the basic NSGAII is modified first. In the modified NSGAII (MNSGAII), the mechanism of evolution and elitist strategy in the basic NSGAII is adopted directly, while a deadlock prevention policy is embedded to ensure individual feasibility. Hence, MNSGAII is actually another new algorithm for solving the multi-objective scheduling problem of deadlock-prone AMSs. The simulation results show that PGA and MNSGAII are feasible for solving the multi-objective scheduling problem considered, and PGA has better performance.
The remaining contents are organized as follows. In section “Modeling of AMSs and deadlock controller based on PNs,” PN scheduling modeling of AMS and its deadlock control policy are briefly reviewed. In section “Multi-objective deadlock-free genetic scheduling algorithm for AMSs,” the PGA is proposed. Section “Simulation results and comparisons” presents the results of the simulation computation and comparison. Section “Conclusion” concludes this article.
Modeling of AMSs and deadlock controller based on PNs
This section introduces the AMSs considered, and their PN scheduling models, and then the deadlock control policy used in this article.
PN scheduling models of AMSs
An ordinary PN is a four-tuple
For place
Transition
The AMS considered in this article consists of
A job can have multiple predefined sequences of operations and can be completed by processing all operations of such one sequence in order. The processing of an operation requires a unit resource and appropriate time. At the same moment, each unit resource can process at most one job, and a job can only be processed on one unit resource. We assume that the resources for processing two adjacent operations in the same sequence are different, and all jobs and resources are available at the beginning. For job
Following the PN modeling methods proposed in Ezpeleta et al. 21 and Xing et al., 25 this article develops a PN model for AMS, called PN for Scheduling (PNS). The PNS of a simple flexible manufacturing system (FMS) is depicted in Figure 1.

The PNS of a simple FMS.
In the PNS of an AMS, there are two classes of places, operation and resource places. A token in an operation place represents a job whose operation is being performed, while a token in a resource place represents that a unit resource is available. Resource type
A processing route or an operation sequence of a job is modeled by a path of transitions and operation places in PNS. For example, a predefined operation sequence of job
Two types of virtual places in PNS are used to model two classes of infinite buffers storing unprocessed and finished jobs, respectively. For example, in PNS shown in Figure 1,
In addition, the processing time of an operation of a job is represented by time delay associated with the corresponding operation place, say
At the beginning, all jobs are unprocessed and the resources are idle and available. Then, the initial marking
Example 1
Consider an AMS consisting of five machines
Deadlock controllers for PNS
Since all resources are finite, the considered AMS may enter deadlock state if not be properly constrained or controlled. A lot of research has been done on deadlock problem in AMSs and many deadlock prevention policies or controllers for AMSs have been proposed. All these policies can be directly used to avoid deadlock in stochastic Petri nets (SPNs). For details of the deadlock control, please refer to previous studies.12–20
Multi-objective deadlock-free genetic scheduling algorithm for AMSs
Multi-objective optimization problem
In mathematical terms, a multi-objective optimization problem can be formulated as
where
Pareto dominance: let
Pareto-optimal solution: a feasible solution
Formulation of scheduling problem
Suppose that there are
For a feasible schedule π, let
1. Makespan (
2. Mean of earliness and tardiness (ϖ): it is the average of the earliness or tardiness of all jobs relative to their own due dates, denoted as
3. Mean completion time (Δ): it is defined as Δ = Σ
In this article, we consider the above three scheduling objectives—
Multi-objective scheduling algorithm
In order to obtain a feasible sequence of firing transitions to optimize multiple objectives, this article proposes a PGA based on PNS. In AMSs, a job may have multiple processing routes, and a scheduling should arrange not only a processing route for each job but also the start processing time of each operation. Hence, in the proposed PGA, an individual consists of two sections, route, and operation sections. The former sets up a processing route for each job, while the latter provides a sequence of operations of all jobs. As long as this operation sequence can be executed according to the given routes, this individual can be decoded directly into a feasible schedule, which is a feasible sequence of transitions without leading to deadlocks, and hence it is called as a feasible individual. Note that not all individuals are feasible because deadlocks may occur. With the help of the SPN model and its deadlock controller, the feasibility of each individual is checked and unfeasible individual is repaired to feasible one. The main components of the proposed PGA can be described in detail as follows:
1. Encoding and decoding: the encoding scheme in this work is based on the job permutation with repetition. A job permutation with repetition is a permutation of jobs, and each job may appear many times. Similar to Xing et al.,
25
an individual can be written as two sections π
In individual π = (
Example 2
Reconsider the PNS shown in Figure 1. Now suppose that there are five jobs to be processed, three type-
In the above decoding procedure, resource and deadlock control constraints are not considered. As a result, although
2. Individual feasibility check and amendment: in this article, individual feasibility check and amendment is based on SPN and the used deadlock controller. When an individual is checked as infeasible, it is amended. The check and amendment are carried out in the same recursive procedure, and the details as shown in Algorithm IFCA.
Let (
Since the controlled PNS is live, there exists at least one transition enabled at any reachable marking
Algorithm IFCA:
Input: An individual π≡ (
Output: A feasible schedule α(π).
Generate π = (
Let
For (
For (
If (
Set α(π) ≡
Set
break;
} //end If()
If (
Find a transition
Reset
} //end If()
} //end For(
} //end For(
Output α(π);
The individual feasibility checks and amendment in Algorithm IFCA are based on the controlled net, that is to say, the deadlock controller is designed beforehand. For a given individual, the number of transitions in α(π),
When the algorithm is finished, a new feasible individual is obtained, and its corresponding sequence of transitions α(π) leads the PNS from
3. Non-dominated sort and crowding distance: for a multi-objective optimization problem, generally, there is no single solution that is the best with respect to all objectives. Alternatively, there usually exists a set of non-dominated solutions or Pareto-optimal solutions, for which no improvement in any objective is possible without sacrificing at least one of the other objectives.
For a given population
In the basic GA, the fitness function is used to guide simulations toward optimal solutions and the chromosome generation of the population. In this article, the individual fitness function is based on non-dominated fronts, and the fitness values of individuals in the same front are set to the same, and hence, for all individuals in
Once the non-dominated sorting is completed, the crowding distance for individuals in front
4. Genetic operations: once the individuals are sorted based on non-domination and with crowding distance assigned, every individual π
This means that for two individuals with different ranks, we prefer one with the lower rank, and one with the larger crowding distance for two individuals in the same front.
In this work, the tournament selection method is used in genetic operations. Two individuals are randomly chosen from the current population, and the better one is selected by the crowded-comparison operator as a parent individual for crossover. Repeat the process to select another parent individual.
Once the individuals for reproduction have been selected, the crossover and mutation genetic operators are applied to produce the offspring. The crossover operator applies to pairs of individuals, while the mutation operator applies to single individual. The goal of the former is to obtain better individuals by exchanging information in parent individuals. In this article, crossover is only done in the second section of individuals and Generalization of Order Crossover (GOX) is used. In the following, an example is used to describe its procedure. Reconsider the PNS in Example 1 and let π1 and π2 be two parent individuals:
π1 = (
π2 = (
π2 is used as the donator of a crossover string. First, the crossover string is randomly chosen from the operation section of π2. Second, all genes in π1 that occur in the crossover string with the same operations are marked and then deleted. Finally, the crossover string is implanted into π1 in the same position as it is in π2.
Suppose that the length of crossover string in π2 is 5, and the first gene of crossover string corresponds to

Illustration of GOX.
In order to increase the diversity of the population, the mutation operator further operates on a parent individual, generating a new offspring. Since an individual π = (
5. Elitist strategy: in the elitist strategy of the basic NSGAII, elite individuals in offspring and parent populations are effectively retained to the next population, and hence avoid optimal solutions from being lost in the evolutionary process. This evolutionary process may make all individuals in the first few non-dominant fronts of the population as elites, and may cause early convergence or convergence to local optima. For this reason, a new elitist strategy is proposed by improving one in the basic NSGAII in this article.
In our proposed elitist strategy, the offspring population is first combined with its parent population, forming a new combined population. Then, the combined population is sorted based on non-domination. According to the following rules, determine whether an individual is retained to the next generation:
For the individuals with the same objective function value in front
Let α(π1) and α(π2) be the transition sequences of two individuals π1 and π2 in front
According to the above two rules, select individuals from
Input
Output
While (|
{
}
while (
{
Sort (
Select the first (
If |
}
Output
6. Procedure of PGA.
Based on the above discussion, the presented algorithm, Algorithm PGA, can be stated as follows.
Algorithm PGA
According to this procedure, the genetic operators are based on non-domination sort of the population and the crowding distances of individuals. By applying these operators, new individuals are generated, and then their feasibility is checked, and infeasible ones are repaired to feasible ones. As a result, each individual can be decoded directly into a feasible schedule. In addition, parent and offspring populations are combined, and then generate a new population by the elitist strategy designed, and the population performance is improved in the process of evolution.
Simulation results and comparisons
This section evaluates the performance of the proposed algorithm, PGA, through simulation examples under the following common criteria, and comparison with the MNSGAII.
Evaluation metrics
Pareto-based multi-objective optimization algorithms are devoted to finding a set of non-dominated solutions. Hence, the performance metrics are different from single-objective optimization. In general, the quality of non-dominant solution sets is mostly measured by the following well-known indicators used in Behnamian et al. 38 and Karimi et al.: 39
The number of Pareto solutions with different objective function values,
MID (mean ideal distance): the closeness between the Pareto solutions and ideal point (often referred to original point for the minimization of non-negative functions). Then,
SNS (spread of non-dominated solutions): as a diversity measure,
Experimental setup
To test the performances of the proposed PGA for multi-objective deadlock-free scheduling of AMSs, we use a set of simulation examples constructed from a well-known AMS, but with different numbers of jobs to be processed. The optimization objectives are
Based on the criteria introduced in the last section, we evaluate the performances of PGA and compare PGA with NSGAII through the set of simulation examples. Note that the basic NSGAII does not contain any deadlock prevention strategy, it is impossible to obtain a feasible solution directly by using it. In this article, the basic NSGAII is first modified by introducing proper deadlock policies, called as the MNSGAII, so that it can output feasible solutions. Also, the rule (A) for eliminating the same individuals is adopted in MNSGAII.
The PN model of AMS used in simulation is shown in Figure 3. This AMS includes four machines

PNS of an AMS.
Let χ
Sixteen instances are divided into four groups to run under different resource capacities. The instances included in each group and the resource capacity utilized by each group are as follows, and the algorithms PGA and MNSGAII are run 10 times independently for each instance:
In01, In05, In09, In13:
In02, In06, In10, In14:
In03, In07, In11, In15:
In04, In08, In12, In16:
Results and comparisons
1. Two-objective optimization: we test the performance of PGA and MNSGAII for scheduling AMS with two objectives, that is,
The Pareto-optimal fronts from a run of PGA and MNSGAII on each instance and CPU time,
Pareto fronts obtained by PGA and MNSGAII on In01–In16 and CPU time.
MNSGAII: modified NSGAII; NSGA: non-dominated sorting genetic algorithm; PGA: Pareto genetic algorithm.
Table 3 shows the average value of each index of two algorithms under 10 independent runs of 16 instances. From the table, we can observe that there exist some differences between PGA and MNSGAII on the statistical performance metrics. First, the average number of different non-dominated solutions under MNSGAII is relatively low, for most or many runs, only one Pareto solution is obtained. PGA can obtain more non-dominated solutions than MNSGAII for each instance. This is because MNSGAII does not eliminate individuals with high similarity according to rule (B), although individuals with the same objective values have been eliminated according to rule (A). Note that in the simulation, we found that if the rules (A) and (B) are not used, most individuals in the population would be the same after 200 generations. That is, the population matures very prematurely.
Metric comparison with two objectives.
MID: mean ideal distance; SNS: spread of non-dominated solutions; NSGA: non-dominated sorting genetic algorithm; PGA: Pareto genetic algorithm.
The indicators
2. Three-objective optimization: for AMS scheduling problem with three objectives, that is,
Pareto fronts of three-objective scheduling problem on In01–In16 and CPU time.
NSGA: non-dominated sorting genetic algorithm; PGA: Pareto genetic algorithm.
Metric comparison with three objectives.
MID: mean ideal distance; SNS: spread of non-dominated solutions; NSGA: non-dominated sorting genetic algorithm; PGA: Pareto genetic algorithm.
Conclusion
This article proposes a PGA for solving the multi-objective scheduling problem of deadlock-prone AMSs with limited resource capacity. A candidate schedule, that is, a sequence of transitions in PN model of AMS, is represented as an individual consisting of route selection and operation sequence. To handle the fitness assignment and solution update in the sense of multi-objective optimization, Pareto dominance and crowding distance in NSGAII are adopted. By introducing new elitist strategy and local search, premature convergence of the population is improved. The feasibility of individuals can be checked based on the PN model of AMS and its deadlock controller, and infeasible individuals can be repaired to feasible ones. Consequently, deadlock is prevented from occurring under the constraint of limited resource capacity, and a deadlock-free schedule is obtained by decoding a feasible individual. Simulation results and comparisons with the MNSGAII in terms of well-known performance metrics show the effectiveness and efficiency of the proposed PGA. The future work is to improve the performance of PGA by considering local search methods and to apply the proposed PGA to solve other AMS scheduling problems with setup and/or uncertain processing time.
