Next Article in Journal
Applications of Structural Nabla Derivatives on Time Scales to Dynamic Equations
Previous Article in Journal
Implementation of a Parallel Algorithm to Simulate the Type I Error Probability
Previous Article in Special Issue
Polynomial-Time Verification of Decentralized Fault Pattern Diagnosability for Discrete-Event Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Set Covering Approach to Design Maximally Permissive Supervisors for Flexible Manufacturing Systems

1
Institute of Systems Engineering, Macau University of Science and Technology, Taipa, Macau 999078, China
2
Waytous Inc., Shenzhen 518131, China
*
Author to whom correspondence should be addressed.
Mathematics 2024, 12(11), 1687; https://doi.org/10.3390/math12111687
Submission received: 17 April 2024 / Revised: 13 May 2024 / Accepted: 22 May 2024 / Published: 29 May 2024
(This article belongs to the Special Issue Systems Engineering, Control, and Automation, 2nd Edition)

Abstract

:
The supervisory control of Petri nets aims to enforce the undesired behavior as unreachable by designing a set of control places. This work presents a set cover approach to design maximally permissive supervisors. For each first-met bad marking, an integer linear programming problem is developed to obtain a control place to prohibit it. An objective function is formulated to make the maximal number of first-met bad markings forbidden. Then, we develop a set covering approach to minimize the number of selected control places. The proposed approach can guarantee the maximal permissiveness of the obtained supervisor and provide a trade-off between structural complexity and computational cost. Several examples are considered to validate the proposed method.

1. Introduction

Discrete event systems (DESs) are a class of systems whose state evolution is driven by the occurrence of events. Flexible manufacturing systems (FMSs) are a typical kind of DESs that can process various kinds of jobs with limited system resources. However, if the allocation of the system resources by different processes is not well handled, it is possible to have a deadlock problem [1,2,3,4,5,6,7,8,9,10]. Deadlocks in an FMS always make a system blocked such that the productivity is degraded. Hence, plenty of work has been carried out to handle deadlock problems in FMSs [11,12,13,14,15,16,17,18,19,20].
Petri nets are a significant tool to model, analyze, and control FMSs [21,22,23,24,25,26]. Based on a reachability graph analysis, it is possible to compute all states of an FMS [27]. Then, a Petri net supervisor is proposed to control the system by preventing it from deadlock states. For different control policies, three criteria are always considered to evaluate their performance: behavioral permissiveness, computational cost, and structural complexity. By a given control specification, the markings of a Petri net that represent the states of a system are classified into two collections: legal and illegal ones, where the legal ones represent the desired behavior and illegal ones indicate the ones that should be forbidden. If a designed supervisor can keep all legal markings of a Petri net model in the final net model, it is considered to be maximally permissive or optimal. This work focuses on the design of behaviorally optimal supervisors, as well as improves the structural complexity and computational costs.
Based on Petri nets, a number of researchers and engineers have performed a host of efforts to design maximally permissive supervisors. By the theory of regions, Uzam [28] provides a maximally permissive supervisor for FMSs. Ghaffari et al. [29] develop an integer linear programming problem (ILPP) to design a maximally permissive control place to disable a transition at its particular marking. Then, the controlled system cannot run out of the desired marking space. However, both methods need to solve ILPPs with too many constraints for sizable systems since there is one constraint for each legal marking. In order to avoid the solving of ILPPs, Uzam and Zhou [30,31] develop a straightforward technique to derive optimal or suboptimal Petri net supervisors. They consider a reachability graph as two partitions: a live zone and a deadlock zone. The live (dead) zone includes all the legal (illegal) markings. Then, they propose the definition of first-met bad markings (FBMs). An FBM M indicates that: (1) M is an illegal marking; and (2) there exists legal markings and a transition such that M is immediately reached from the legal marking by the transition. Then, they design a control place to make an FBM unreachable by restricting the number of tokens in a subset of places. Once the designed supervisor precludes all FBMs, the system finds it impossible to reach any markings in the deadlock zone. Unfortunately, it cannot ensure the maximal permissiveness of the obtained supervisor.
In order to make improvement on the behavioral permissiveness and computational burden for the computation of Petri net supervisors for FMSs, Chen et al. [32] consider deriving a control place to prohibit an FBM and make all legal markings reachable by formulating constraints in an ILPP. Meanwhile, by only considering the operation places, the reachability condition of two legal markings and the forbidding condition of two FBMs are well studied to extraordinarily decrease the number of involved legal markings and FBMs. In the following work [33,34], the objective function of ILPPs is well designed to minimize the structure of the obtained supervisor, that is to say, select the fewest control places. However, the developed ILPPs have too many constraints and variables since all control places are figured out by solving only one ILPP.
In order to trade off the computational cost and structural complexity, Chen et al. [35] work on the computation of maximally permissive supervisors by developing an iterative approach. At each iteration, they formulate an ILPP to compute a control place. All legal markings are ensured to be reachable by the well-constructed constraints in the ILPP. Meanwhile, the number of prohibited FBMs is maximized by an objective function. The main advantage is that the formulated ILPP has fewer constraints and variables but its disadvantage is that the obtained supervisor may not be structurally minimal.
This paper tries to proposes a good trade-off between computational cost and structural complexity. By using a set covering approach, we develop an ILPP to select the fewest control places, aiming to derive a behaviorally optimal and structurally simple supervisor. With the comparison of the work in [33], we do not need to solve ILPPs with too many constraints and variables. By considering the study in [35], our approach can obtain a smaller number of control places and even the minimal number of control places.
The remainder of the paper has the following contents. Section 2 contributes a set covering approach to select a minimal number of maximally permissive control places and an illustrative example to explain the proposed technique. We also consider a widely used example from the literature to make a comparison in Section 3. Finally, we make conclusions in Section 4. Appendix A outlines Petri nets, reachability analysis, a control place design for linear constraints, and a vector covering approach.

2. A Set Covering Approach to Design a Maximally Permissive Supervisor

This section proposes a set covering approach to synthesize a maximally permissive supervisor by minimizing the number of selected control places. As a result, the obtained supervisor is of a simple structure.

2.1. Synthesis of a Maximally Permissive Supervisor

By designing a control place, an FBM of a Petri net model can be prevented by enforcing a linear constraint on the reachable markings. This section outlines the approach in [35] to demonstrate the synthesis of a control place for an FBM.
Let M be the FBM of a net model and p s be the control place for the enforcement of a linear constraint ( L , β ) , as shown in Equation (A7). Marking M can be forbidden if L and β  satisfy
β = i N A l i · M ( p i ) 1
Equation (1) indicates that M does not meet the linear constraint ( L , β ) . In this case, once ( L , β ) is enforced on the net model, M cannot be reached anymore.
Optimal control should not exclude any legal marking in the controlled net model. Therefore, all legal markings should satisfy the linear constraint ( L , β ) , as shown below:
i N A l i · M l ( p i ) β , M l M L
By considering Corollary A2, only the reachability of the markings in the minimal covering set M L of legal markings is sufficient for optimal control. Hence, Equation (2) is modified to be
i N A l i · M l ( p i ) β , M l M L
We often call Equation (3) the reachability condition. By Equation (1), Equation (3) becomes
i N A l i · ( M l ( p i ) M ( p i ) ) 1 , M l M L
Equation (4) is used to determine the linear constraint ( L , β ) . Then, we formulate a control place to enforce ( L , β ) . As a result, the designed control place can forbid M but no legal markings, which indicates that the designed control place is maximally permissive. By Corollary A1, if all FBMs in the minimal covered set M F of FBMs are forbidden, then no FBM can be reached. However, the supervisor structure may be too complex if we derive a control place for each FBM in M F . Hence, we show how to design a behaviorally optimal supervisor, but the number of control places in it is much smaller than that of FBMs in M F .
A control place can generally prohibit more than one FBM. Hence, the work in [35] proposes to formulate a control place to forbid as many FBMs as possible. We briefly outline it as follows.
Let p s j be a control place to prohibit an FBM M j M F by enforcing a linear constraint ( L j , β j ) :
i N A l j , i · μ i β j
with
β j = i N A l j , i · M j ( p i ) 1
For any FBM M f M F ( f j ) , it is forbidden by p s j if it satisfies the following constraint:
N A l i · M f ( p i ) β j + 1
By substituting Equation (6) into Equation (7), we have
N A l i · M f ( p i ) i N A l j , i · M j ( p i ) 1 + 1
By reformulating Equation (8), we have
N A l i · ( M f ( p i ) M j ( p i ) ) 0
For each FBM M f M F , we use a binary variable x j , f { 0 , 1 } to indicate whether it is forbidden by p s j . Specifically, x j , f = 1 means that M f is forbidden by p s j and x j , f = 0 indicates that M f is not forbidden by p s j . Then, we have
N A l i · ( M f ( p i ) M j ( p i ) ) Q · ( 1 x j , f ) , M f M F and f j
where Q is a big enough constant. Then, we formulate an objective function to maximize the number of forbidden FBMs as follows:
m a x x j = M f M F , f j x j , f
By combining Equations (10) and (11), we have an ILPP to determine a control place to forbid as many FBMs as possible, which is denoted as the maximal number of forbidden FBMs problem (MNFFP( M j )).
MNFFP( M j ):
m a x x j = M f M F , f j x j , f subject to i N A l j , i · ( M l ( p i ) M j ( p i ) ) 1 , M l M L
N A l i · ( M f ( p i ) M j ( p i ) ) Q · ( 1 x j , f ) , M f M F , f j l j , i { 0 , 1 , 2 , } , i N A x j , f { 0 , 1 } , M f M F and f j
Theorem 1.
Let l j , i ( i N A ) be an optimal solution of MNFFP( M j ). Then, the linear constraint ( L , β ) with L = [ l j , 1 , l j , 2 , , l j , | P A | ] T and β = i N A l j , i · M j ( p i ) 1 can forbid M j but no legal markings.
Proof. 
By β = i N A l j , i · M j ( p i ) 1 , M j is forbidden by the linear constraint ( L , β ) since it does not satisfy the constraint. By Equation (12), no legal marking in M L is unreachable since all legal markings in M L satisfy the linear constraint ( L , β ) . By Corollary A2, all legal markings are reachable. Finally, the conclusion holds.    □
MNFFP( M j ) can be used to compute a control place to prohibit the maximal number of FBMs. Then, an iterative algorithm is applied to design an optimal supervisor with a simple structure [35]. However, the number of control places is not minimized. Hence, we develop a set covering problem to reduce the number of control places.

2.2. A Set Covering Approach to Simplify a Supervisor Structure

By MNFFP( M j ), we can design a control place to maximize the number of prohibited FBMs. However, it is not necessary to add all the control places obtained by MNFFP( M j ). In the following, we provide a set covering approach to select the minimum number of control places to suppress all the FBMs. Let l j , i ’s ( i N A ) and β j be the optimal solution of MNFFP( M j ). Then, a control place p s j is designed by solution l j , i ’s ( i N A ) and β j . Let n F be the number of elements in M F , i.e., n F = | M F | . Then, the relationship between an FBM M k M F and p s j can be represented by an n F × n F matrix A, where
A j k = 1 if i N A l j , i · M k ( p i ) β j + 1 0 otherwise
In Equation (14), A j k indicates the element in the jth row and kth column of A. Specifically, A j k = 1 means that an FBM M k is suppressed by p s j , and A j k = 0 indicates that M j is not suppressed by p s j . For minimizing the number of selected control places, we present a binary variable ζ j for each control place p s j . The variable ζ j is used to represent whether a control place p s j is selected or not. Specially, ζ j = 1 indicates that p s j is selected and ζ j = 0 shows that p s j should be removed.
For each FBM M k M F , it must be prohibited by at least one selected control place. Hence, we have
j = 1 n F A j , k · ζ j 1
According to Equation (15), it means that there exists j { 1 , 2 , , n F } such that A j , k · ζ j = 1 . The fact A j , k · ζ j = 1 means that A j , k = 1 and ζ j = 1 , that is to say, M k is forbidden by a selected control place p s j . In summary, Equation (15) can ensure that at least one control place is selected to suppress an FBM M k . Then, an objective function is given to select the fewest control places, as shown below:
m i n ζ = j = 1 n F ζ j
By combining Equations (15) and (16), an ILPP is created to minimize the number of control places to prohibit all FBMs, which is denoted as the set covering problem of control places (SEPCP).
SEPCP:
m i n ζ = j = 1 n F ζ j subject to j = 1 n F A j , k · ζ j 1 , k { 1 , 2 , , n F } ζ j { 0 , 1 } , j { 1 , 2 , , n F }
Theorem 2.
SEPCP can select the minimal number of control places to forbid all FBMs in M F .
Proof. 
For an FBM M k , Equation (17) can ensure that there exists j { 1 , 2 , , n F } such that A j , k · ζ j = 1 , which means that A j , k = 1 and ζ j = 1 . By A j , k = 1 , M k is prohibited by a control place p s j . According to ζ j = 1 , p s j is selected. In summary, at least one selected control place forbids M k . By considering all FBMs in M F , Equation (17) ensures that each FBM is forbidden by at least one selected control place. Finally, the objective function can minimize the number of control places to be selected.    □

2.3. Synthesis of a Maximally Permissive Supervisor

This section proposes an algorithm to obtain a maximally permissive supervisor by applying MNFFP( M j ) and SEPCP.
Algorithm 1 first generates a reachability graph of a Petri net model. Then, the legal markings and FBMs to be considered are reduced by the vector covering approach. An ILPP, namely, MNFFP( M j ), is formulated to design a control place for each FBM in the minimal covered set. Then, a set covering approach is applied to select the fewest control places by solving an ILPP, i.e., SEPCP. Finally, a maximally permissive supervisor with a simple structure is obtained.
Theorem 3.
Algorithm 1 obtains a maximally permissive supervisor for a Petri net model of an FMS if MNFFP( M j ) has an optimal solution for all M j M F .
Algorithm 1: Design of an optimal supervisor.
    Input: Petri net model ( N , M 0 ) of an FMS with N = ( P 0 P A P R , T, F, W ) .
    Output: A maximally permissive controlled Petri net system ( N 1 , M 1 ) .
    1. M L = { M | M R ( N , M 0 ) M 0 R ( N , M ) } and M F = { M | M M L ¯ ( M M L ) ( t T ) M [ t M } .
    2. Compute M FBM and M L for ( N , M 0 ) .
    3. V M : = . /* V M denotes the set of control places to be computed.*/
    4. foreach  M j M FBM  do
            Formulate MNFFP( M j ).
            if solve(MNFFP( M j ))=false do
                 Exit. //* The approach fails to find a maximally permissive supervisor. *//
            else
                 ( l j , i ( i N A ) , β j )=solve(MNFFP( M j ))
                 Compute p s j for ( l j , i ( i N A ) , β j ) by Equations (A5) and (A6).
            end if
        end foreach
    5. Let n F = | M F | and compute A by Equation (14).
    6. ζ j   ( j { 1 , 2 , , n F } ) = s o l v e ( S E P C P ) .
    7. foreach  ζ j = 1   ( j { 1 , 2 , , n F } )  do
            V M : = V M { p s j } .
        end foreach
    8. ( N 1 , M 1 ) = V M ( N , M 0 ) //*Add all control places in V M to ( N , M 0 ) . *//
    9. Output ( N 1 , M 1 ) .
    10. End.
Proof. 
If MNFFP( M j ) has an optimal solution for all M j M F , then each obtained control place p s j is maximally permissive according to Theorem 1. With Theorem 2, SEPCP can minimize the number of control places to prohibit all FBMs in M F . By Corollary A1, all FBMs are prohibited. As a result, the controlled system is live since it can never reach any illegal markings. In summary, the conclusion holds. □
Next, we discuss the computational complexity of the proposed approach. The proposed method requires the generation of the reachability graph of a Petri net model and solve ILPPs. ILPPs are NP-hard, which means that the computational complexity of the proposed method is NP-hard in theory. In this sense, the related studies in [33,34,35] suffer from the same computational complexity since they all need to generate the reachability graph of a Petri net model and solve ILPPs. However, from the viewpoint of computational cost, we can perform the comparison with the numbers of constraints and variables in the formulated ILPPs. Compared with the work in [33,34], the proposed method is much more efficient since the proposed ILPP has many fewer constraints and variables. Compared with the work in [35], the proposed approach has a very similar computational cost since the ILPPs have a similar numbers of constraints and variables. On the other hand, from the viewpoint of the structural complexity, the proposed work can find a structurally simpler supervisor to the study in [35]. Furthermore, the experimental results show that the proposed method can always obtain the structurally minimal supervisor, as obtained by the work in [33,34].

2.4. An Illustrative Example

In this section, a widely used example in the literature is provided to illustrate the proposed method. An FMS is shown in Figure 1a. It consists of two robots R1-2, each of which can hold one part at a time; four machines M1-4, each of which can process one part at a time; two loading buffers I1-2; and two unloading buffers O1-2. Two part types are considered in the system: P1 and P2. The production sequences are shown in Figure 1b.
The Petri net model of Figure 1 is shown in Figure 2. It has been well-studied in [28,32,33,35,36,37,38]. The net model has 282 reachable markings, 205 and 54 of which are legal markings and FBMs, respectively. By using the vector covering approach, the numbers of legal markings and FBMs to be considered are reduced to be 26 and 8, respectively. Then, we can formulate an ILPP MNFFP( M j ) for each FBM M j M F . The obtained constraints ( L j , β j ) ’s by MNFFP( M j ) are presented in Table 1, where the first column j is the index of an FBM M j , the second column indicates FBM M j , and the last column provides the obtained linear constraint ( L j , β j ) .
With the solution of MNFFP( M j ), we can design a control place p s j to enforce ( L j , β j ) ( j { 1 , 2 , , 8 } ) . Then, we can decide the relationship between p s j and M k M F , which is represented by matrix A, as shown in Table 2.
Next, we can formulate an ILPP, SEPCP, to select the fewest control places from the obtained eight. SEPCP is presented below:
SEPCP:
m a i n ζ = ζ 1 + ζ 2 + ζ 3 + ζ 4 + ζ 5 + ζ 6 + ζ 7 + ζ 8 subject to ζ 1 + ζ 2 + ζ 6 + ζ 7 + ζ 8 1 ζ 2 + ζ 3 + ζ 4 + ζ 5 + ζ 6 + ζ 7 1 ζ 3 + ζ 4 + ζ 5 ζ 1 + ζ 2 + ζ 6 + ζ 7 + ζ 8 1 ζ j { 0 , 1 } , j { 1 , 2 , , 8 }
Note that we have already removed the redundant constraints from SEPCP since the constraints (represented as Equation (17)) for the three markings M 3 ,   M 4 ,   M 5 are the same, and the constraints for M 6 ,   M 7 ,   M 8 are the same. By solving SEPCP, we derive an optimal solution with ζ 2 = 1 , ζ 5 = 1 , and ζ j = 0 ( j { 1 , 3 , 4 , 6 , 7 , 8 } ) . Hence, we only need to select two control places p s 2 and p s 5 to forbid all FBMs. Specifically, from Table 1, it can be seen that p s 2 and p s 5 are used to enforce the linear constraints 4 μ 2 + 8 μ 3 + 4 μ 4 + 5 μ 5 + μ 9 + μ 10 + 8 μ 11 + 7 μ 12 14 and μ 2 + 2 μ 3 + μ 4 + 2 μ 5 + 2 μ 6 + 3 μ 9 + 3 μ 10 9 , respectively. As a result, for p s 2 , we have p s 2 = { 3 t 5 , 5 t 6 , t 12 , 7 t 13 } , p s 2 = { 4 t 1 , 4 t 2 , t 4 , t 9 , 7 t 11 } , and M 0 ( p s 2 ) = 14 . For p s 5 , we have p s 5 = { t 1 , t 2 , t 4 , 3 t 9 } , p s 5 = { 2 t 7 , 3 t 11 } , and M 0 ( p s 5 ) = 9 . By adding p s 2 and p s 5 to the original net model, the obtained net model is live with all 205 legal markings. That is to say, the original net model is optimally controlled by the two obtained control places.
The net model has been widely studied in the literature. We compare the performance of some classical policies for this example in Table 3. Note that we only choose some maximally permissive control policies to perform the comparison. The supervisor obtained by the proposed approach has the same number of control places as that obtained in [33], which is the smallest one among all control policies in this table. However, the ILPP proposed in [33] has 328 constraints and 152 variables. However, in this work, MNFFP( M j ) has only 33 constraints and 18 variables, and SEPCP has 4 constraints and 8 variables. Hence, the proposed approach can remarkably improve the efficiency of the one in [33] but also leads to the minimum number of control places.

3. Experimental Results

In this section, the proposed approach is applied to a more complex example. An FMS is shown in Figure 3a. It consists of three robots R1-3, each of which can hold one part at a time; four machines M1-4, each of which can process two parts at a time; three loading buffers I1-3; and three unloading buffers O1-3. Three part types are considered in the system: P1, P2, and P3. The production sequences are shown in Figure 3b.
The Petri net model of Figure 3 is shown in Figure 4, which has been widely studied [21,30,32,33,35,36,39,40]. The net model has 26 places and 20 transitions. The places has the following set partitions: P 0 = { p 1 , p 5 , p 14 } , P A = { p 2 p 4 , p 6 p 13 , p 15 p 19 } , and P R = { p 20 p 26 } . The net model has 26,750 reachable markings; the numbers of legal markings and FBMs are 21,581 and 4211, respectively. By using the marking reduction approach, the numbers of legal markings and FBMs are reduced to be 393 and 34, respectively. Then, we can formulate an ILPP MNFFP( M j ) for each FBM M j M F . MNFFP( M j ) is solved by an ILPP solver Lingo [41] in a computer with the Windows operating system with an Intel CPU Core 2.7 GHz and 8 GB memory. The obtained constraints ( L j , β j ) ’s by MNFFP( M j ) are presented in Table A1, where the first column shows the index of FBM M j , the second indicates M j , the third provides the CPU time for MNFFP( M j ), and the last presents the obtained constraints ( L j , β j ) .
With the solution of MNFFP( M j ), we can design a control place p s j to enforce ( L j , β j ) ( j { 1 , 2 , , 8 } ) . Then, we can decide the relationship between p s j and M k M F , which is represented by matrix A, as shown in Table A2 and Table A3.
Next, we can formulate an ILPP, SEPCP, to select the fewest control places from the obtained 34. SEPCP is presented below:
SEPCP:
m i n j = 1 34 ζ j subject to ζ 1 + ζ 29 + ζ 30 + ζ 32 1 ζ 1 + ζ 2 + ζ 3 + ζ 4 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 13 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 26 + ζ 28 + ζ 29 + ζ 30 + ζ 31 + ζ 34 1 ζ 1 + ζ 2 + ζ 3 + ζ 4 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 13 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 18 + ζ 19 + ζ 20 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 26 + ζ 28 + ζ 29 + ζ 30 + ζ 31 + ζ 34 1 ζ 4 1 ζ 2 + ζ 3 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 13 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 21 + ζ 22 + ζ 24 + ζ 26 + ζ 31 + ζ 33 + ζ 34 1 ζ 2 + ζ 3 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 18 + ζ 19 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 25 + ζ 27 + ζ 28 + ζ 33 + ζ 34 1 ζ 2 + ζ 3 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 18 + ζ 19 + ζ 20 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 28 + ζ 33 + ζ 34 1 ζ 2 + ζ 3 + ζ 4 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 13 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 21 + ζ 22 + ζ 24 + ζ 26 + ζ 31 + ζ 34 1 ζ 2 + ζ 3 + ζ 4 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 18 + ζ 19 + ζ 20 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 28 + ζ 34 1 ζ 2 + ζ 3 + ζ 4 + ζ 5 + ζ 6 + ζ 9 + ζ 10 + ζ 12 + ζ 15 + ζ 16 + ζ 17 + ζ 18 + ζ 19 + ζ 20 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 25 + ζ 27 + ζ 28 + ζ 34 1 ζ 2 + ζ 3 + ζ 4 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 13 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 18 + ζ 19 + ζ 20 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 27 + ζ 28 + ζ 34 1 ζ 2 + ζ 3 + ζ 4 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 18 + ζ 19 + ζ 20 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 25 + ζ 27 + ζ 28 + ζ 34 1 ζ 4 + ζ 5 + ζ 6 + ζ 15 + ζ 18 + ζ 19 + ζ 20 + ζ 23 + ζ 26 + ζ 28 1 ζ 1 + ζ 4 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 13 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 18 + ζ 19 + ζ 20 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 28 + ζ 29 + ζ 30 + ζ 31 + ζ 32 + ζ 34 1 ζ 2 + ζ 3 + ζ 5 + ζ 6 + ζ 9 + ζ 10 + ζ 12 + ζ 15 + ζ 16 + ζ 17 + ζ 18 + ζ 19 + ζ 20 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 25 + ζ 27 + ζ 28 + ζ 33 + ζ 34 1 ζ 1 + ζ 18 + ζ 20 + ζ 23 + ζ 25 + ζ 27 + ζ 28 + ζ 29 + ζ 30 + ζ 32 1 ζ 1 + ζ 18 + ζ 19 + ζ 20 + ζ 23 + ζ 28 + ζ 29 + ζ 30 + ζ 32 1 ζ 2 + ζ 3 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 13 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 18 + ζ 19 + ζ 20 + ζ 21 + ζ 22 + ζ 23 + ζ 24 + ζ 28 + ζ 33 + ζ 34 1 ζ 2 + ζ 3 + ζ 4 + ζ 5 + ζ 6 + ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 13 + ζ 14 + ζ 15 + ζ 16 + ζ 17 + ζ 21 + ζ 22 + ζ 24 + ζ 33 + ζ 34 1 ζ 25 + ζ 27 1 ζ 26 + ζ 31 1 ζ 1 + ζ 18 + ζ 19 + ζ 20 + ζ 25 + ζ 27 + ζ 28 + ζ 29 + ζ 30 + ζ 32 1 ζ 32 1 ζ 33 1 ζ 7 + ζ 8 + ζ 9 + ζ 10 + ζ 11 + ζ 12 + ζ 13 + ζ 14 + ζ 16 + ζ 17 + ζ 21 + ζ 22 + ζ 24 + ζ 31 + ζ 33 + ζ 34 1 ζ j { 0 , 1 } , j { 1 , 2 , , 34 }
Note that we have already removes the redundant constraints from SEPCP since the constraints (represented as Equation (17)) for markings in sets { M 1 ,   M 29 ,   M 30 } , { M 5 ,   M 6 ,   M 21 ,   M 22 } , { M 9 ,   M 10 } , { M 19 ,   M 23 } , and { M 25 ,   M 27 } , { M 26 ,   M 31 } are, respectively, the same. As a result, SEPCP has only 25 constraints and 34 variables. Then, we obtain an optimal solution with ζ 4 = 1 , ζ 27 = 1 , ζ 31 = 1 , ζ 32 = 1 , ζ 33 = 1 , and ζ j = 0 ( j { 1 3 , 5 26 , 28 29 , 34 } ) . Hence, we only need to select five control places p s 4 , p s 27 , p s 31 , p s 32 , and p s 33 to control the net model. Specifically, from Table A1, it can be seen that the five control places are used to implement the five linear constraints: 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 97 μ 12 + 47 μ 13 + 50 μ 15 + 97 μ 16 + μ 17 + 2 μ 18 290 , 11 μ 2 + 11 μ 3 + 11 μ 8 + 3 μ 9 + μ 11 + 2 μ 13 + 3 μ 15 + 3 μ 16 32 , 21 μ 6 + 21 μ 7 + 2 μ 8 + 2 μ 9 + 21 μ 11 + 5 μ 13 + 5 μ 15 + 5 μ 16 + 19 μ 17 + 20 μ 18 121 , 5 μ 2 + 4 μ 3 + μ 6 + μ 7 + 5 μ 8 + 5 μ 9 + 125 μ 11 + 14 μ 12 + 14 μ 13 + 28 μ 15 + 42 μ 16 + 84 μ 17 333 , and 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 97 μ 13 + 97 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 290 , respectively. As a result, we present the preset ( p s j ), postset ( p s j ), and initial marking ( M 0 ( p s j ) ) for the selected control place p s j ( j { 4 , 27 , 31 , 32 , 33 } ) in Table 4. The five control places can make the net model live with all 21,581 legal markings. That is to say, the original net model is optimally controlled by the five obtained control places.
The net model has been widely studied in the literature. Table 5 compares the proposed method with some classical policies by this example. Note that only the last five control polices are behaviorally maximally permissive. The supervisor obtained by the proposed approach has the same number of control places as that proposed in [33], which is the smallest one among all control policies in this table. However, the ILPP proposed in [33] has 15,640 constraints and 1700 variables, which is solved in approximately 44 h, while, in this work, MNFFP( M j ) has only 392 constraints and 49 variables, and SEPCP has 26 constraints and 34 variables. All 35 ILPPs can be solved in 116 s in total. Hence, we conclude that the proposed approach can remarkably improve the efficiency of the one in [33] but also find the minimal number of control places.

4. Conclusions

This paper presents a deadlock resolution method in Petri nets by using a set covering approach. First, for each FBM of a given Petri net, an ILPP is proposed to derive a control place to prohibit the maximal number of FBMs. Then, we use a set covering approach to obtain the fewest control places to forbid all FBMs. By applying the proposed approach to some well-studied examples, the results verify that it can lead to the minimal number of control places. Compared to the work in [33], the proposed one can remarkably reduce the computation time for solving ILPPs but keep the structural minimality of the obtained supervisor. The main bottleneck is that it is required to compute the reachability graph, which is not efficient for large-sized systems. In the future, we will try to avoid the complete enumeration of reachable markings. It is possible to find all the FBMs of a Petri net model by structural analysis, such as the resource requirement graphs proposed in [42]. On the other hand, some efficient approaches are also possible to use to analyze large-sized systems, such as the computation of reachability graphs by binary decision diagrams, parallel algorithms, and graphic processing unit (GPU) computing.

Author Contributions

Software, Y.L. and Y.C.; validation, Y.L., Y.C. and R.Z.; formal analysis, Y.L. and R.Z.; investigation, R.Z.; data curation, Y.L.; writing—original draft preparation, Y.L.; writing—review and editing, Y.C. and R.Z.; supervision, Y.C.; project administration, Y.C. and R.Z.; funding acquisition, Y.C. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the International S&T Cooperation Projects in Huangpu District under Grant 2022GH08: Research on Industrial Internet Cloud-Edge-End Intelligent Collaborative Technology and Application; in part by the Zhuhai Industry-University-Research Project with Hongkong and Macao under Grant ZH22017002210014PWC; in part by the Science and Technology Development Fund, MSAR, under Grants 0029/2022/AGJ and 0029/2023/RIA1; and in part by the Program of Guangdong under Grant 2023A0505020003.

Data Availability Statement

Data are contained within the article.

Acknowledgments

The authors sincerely appreciate the editor and anonymous referees for their careful reading and helpful comments to improve this paper.

Conflicts of Interest

Author Rui Zhou was employed by the company Waytous Inc. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

Appendix A. Preliminaries

This appendix recalls the basics of Petri nets [43], the design of control places for linear constraints [44], the analysis of reachability graphs, and the vector covering approach [32].

Appendix A.1. Petri Nets

Let N denote the set of non-negative integers and N + the set of positive integers. The formal definitions of Petri nets are stated as follows.
A generalized Petri net (structure) is a four-tuple N = ( P , T, F, W ) where P (T) is named as a set of places (transitions). Generally, we have P , T , and P T = . F ( P × T ) ( T × P ) defines the arcs with arrows between places and transitions. Note that there are no arcs from places to places or from transitions to transitions. An arc can be labeled by and integer, which is defined as a function W : ( P × T ) ( T × P ) N . Specifically, we have W ( x , y ) = 0 if ( x , y ) F , and W ( x , y ) > 0 if ( x , y ) F , where x , y P T .
The state of a place is denoted by the tokens in it. The distribution of tokens in all places is called a marking in Petri net N. A marking is usually denoted by a | P | -dimensional vector M o T , where M ( p ) indicates the number of tokens in place p. ( N , M 0 ) is called a net system or marked net, and M 0 is called an initial marking of N. For an expedient description, a marking M can be denoted by p P M ( p ) p . For example, a marking ( 3 , 0 , 2 , 0 , 0 , 0 ) T in a net model with six places is briefly represented by 3 p 1 + 2 p 3 .
Let x be a place or a transition, i.e., x P T . The preset (postset) of x is defined as x = { y P T | ( y , x ) F } ( x = { y P T | ( x , y ) F } ). Note that the preset (postset) of a set X P T can be accordingly defined as X = x X x ( X = x X x ). Meanwhile, we have x = y x y and x = y x y .
A transition t T is enabled at a marking M if p t , M ( p ) W ( p , t ) , which is denoted as M [ t . The firing of an enabled transition t at M turns out to be a marking M with p P , M ( p ) = M ( p ) W ( p , t ) + W ( t , p ) , which is denoted by M [ t M . M is said to be an immediately reachable marking from M. A marking M is reachable from M if there exists a sequence of transitions σ = t 0 t 1 t n and markings M 1 , M 2 , , and M n such that M [ t 0 M 1 [ t 1 M 2 M n [ t n M holds. Notation R ( N , M ) is always used to represent the set of all reachable markings of M in N.
For a Petri net system ( N , M 0 ) , all its behavior can be reflected by a reachability graph that is a directed graph with a three-tuple G ( N , M 0 ) = ( R ( N , M 0 ) , F , L ) , where R ( N , M 0 ) denotes the set of nodes in G ( N , M 0 ) ; F R ( N , M 0 ) R ( N , M 0 ) is called a flow relation, shown by directed arcs from nodes to nodes, and ( M , M ) F if M [ t M ; L : R ( N , M 0 ) R ( N , M 0 ) T defines a label on an arc: L ( M , M ) = t if M [ t M .
A transition t T is live at a marking M if M R ( N , M ) , M R ( N , M ) , M [ t . A net system ( N , M 0 ) is live if t T , t is live at M 0 . A marking M is called a deadlock if t T , M [ t .
A P-vector is a column vector I : P Z indexed by P. P-vector I is called a P-invariant (place invariant, PI for short) if I  0 and I T [ N ] = 0 T .

Appendix A.2. Analysis of Reachability Graph

In [30], Uzam and Zhou propose a partition of a reachability graph G ( N , M 0 ) to be a deadlock-zone (DZ) and a live-zone (LZ) [30]. The DZ represents a subgraph of G ( N , M 0 ) , which includes all the nodes of deadlocks and the ones that inevitably lead to deadlocks. The LZ consists of all the nodes of the legal markings. In the sense of deadlock control, the set of legal markings M L includes all the reachable markings that can lead to the initial marking M 0 . Generally, M L is defined as
M L = { M | M R ( N , M 0 ) M 0 R ( N , M ) }
Note that the definition of legal markings can be easily extended to be the desired markings that satisfy the given control specifications. Then, the set M L ¯ of illegal markings is defined as M L ¯ = R ( N , M 0 ) M L . In this sense, a supervisor is said to be maximally permissive (or behaviorally optimal) if it only excludes the illegal markings but not the legal markings.
In [30,31], Uzam and Zhou first define a special class of markings, i.e., FBMs. Let M F represent the set of FBMs. Then, we have M F = { M | M M L ¯ ( M M L ) ( t T ) M [ t M } . According to the definition, FBMs represent the border markings of the DZ. As a result, once no FBM is reachable, all illegal markings are obviously unreachable.

Appendix A.3. Design of Control Places for Linear Constraints

Let [ N ] be the incidence matrix. Suppose that a net system ( N , M 0 ) has n places and m transitions. An n × m matrix [ N ] and an n × 1 vector [ N s ] denote the incidence matrix of ( N , M 0 ) and the incidence vector of a control place p s , respectively. Next, we briefly outline the computation of a control place to enforce a linear constraint [44,45].
Definition A1.
A linear constraint is a pair ( L , β ) where L Z n and β N define a set of admissible markings:
M ( L , β ) = { M N n L T · M β }
Let l i and μ i be the ith component of L and the number of tokens in place p i , respectively. Then, a linear constraint ( L , β ) can be shown as
i = 1 n l i · μ i β
In order to transform Equation (A3) into an equality, we introduce a nonnegative slack variable μ s to represent the number of markings in a control place (or a monitor) p s , as shown below
i = 1 n l i · μ i + μ s = β
It can be seen that Equation (A4) in fact determines a PI. According to the PI equation I T [ N ] = 0 T , [ N s ] can be figured out as follows:
[ N s ] = i = 1 n l i · [ N ] ( p i , · )
where [ N ] ( p i , · ) is a row vector: [ N ] ( p i , · ) = ( [ N ] ( p i , t 1 ) , [ N ] ( p i , t 2 ) , , [ N ] ( p i , t m ) ) .
Equation (A4) should be true at any reachable marking. Hence, at the initial marking M 0 of a net, we can decide the initial marking M 0 ( p s ) of the control place:
M 0 ( p s ) = β i = 1 n l i · [ N ] ( p i , · )
For a given net system, a set of linear constraints can be applied by a set of control places.

Appendix A.4. Vector Covering Approach for FMSs

For optimal control purposes, we should consider making all legal markings but no FBM reachable. Generally, the number of legal markings increases quickly with respect to the scale of a system. This section briefly reviews a marking reduction technique in [32] for FMSs. The reduction approach only selects a small number of legal markings and FBMs for the optimal control purpose. As a result, the efficiency of the proposed method is remarkably improved.
From the viewpoint of modeling an FMS, we consider the places in an FMS-oriented net model as three sets: P = P 0 P A P R , where P 0 , P A , and P R are called the sets of idle, activity (operation), and resource places, respectively [21,46,47,48]. By following the study in [30,31], we only take the operation places into account to design a marking constraint. Let N A = { i | p i P A } denote the index set of operation places. Then, Equation (A2) is modified as
i N A l i · μ i β
Similarly, Equation (A6) is modified as
M 0 ( p s ) = β i N A l i · [ N ] ( p i , · )
If we focus on only operation places, there is no need to consider all the legal markings and FBMs. The following results refer to the work in [32].
Definition A2.
Let M and M be two markings in R ( N , M 0 ) . M A-covers M if all p P A , M ( p ) M ( p ) , which is denoted as M A M .
In fact, M A-covers M is also equivalently denoted as M A M , i.e., M is A-covered by M.
Theorem A1.
Let M and M be two markings in R ( N , M 0 ) with M A M . If M is forbidden by a PI, M is forbidden.
According to Theorem A1, the reachability of M indicates that a marking M A-covered by M is also reachable. Therefore, it is not necessary to analyze all reachable markings to derive a maximally permissive supervisor.
Definition A3.
A subset of FBMs is said to be a minimal covered set of FBMs if the following two conditions hold:
(1) 
M M F , M M F : M A M ;
(2) 
M M F , M M F : M A M and M M .
Corollary A1.
If all markings in M F are forbidden by PIs, all FBMs are forbidden.
Definition A4.
A subset of legal markings is said to be a minimal covering set of legal markings if the following two conditions are satisfied:
(1) 
M M L , M M L : M A M ;
(2) 
M M L , M M L : M A M and M M .
Corollary A2.
If no markings in M L are forbidden by PIs, all the legal markings in M L are reachable.
According to Corollaries A1 and A2, if a supervisor can prohibit all the markings in M F but none in M L , it is maximally permissive. In this sense, only sets M F and M L are sufficient to design behaviorally optimal supervisors. In practice, M L and M F are greatly smaller than M L and M F , respectively. As a result, the vector covering approach can improve the efficiency of computing supervisors.

Appendix A.5. Tables for the Example in Section 3

Table A1. The linear constraints obtained by MNFFP( M j ).
Table A1. The linear constraints obtained by MNFFP( M j ).
j M j τ (S) ( L j , β j )
1 2 p 11 + 2 p 16 2 8 μ 2 + 8 μ 3 + 2 μ 6 + 2 μ 7 + 9 μ 8 + 9 μ 9 + 75 μ 11 + 25 μ 12 + 25 μ 13 + 50 μ 15 + 75 μ 16 + μ 17 + μ 18 299
2 p 6 + 2 p 7 + p 8 + p 9 + p 11 + p 15 + 2 p 16 + p 18 4 6 μ 2 + 6 μ 3 + μ 6 + μ 7 + 7 μ 8 + 7 μ 9 + μ 11 + 19 μ 12 + 20 μ 13 + 20 μ 15 + 20 μ 16 + μ 18 78
3 p 6 + 2 p 7 + 2 p 9 + p 11 + p 15 + 2 p 16 + p 18 4 μ 2 + 2 μ 3 + μ 4 + 2 μ 5 + 2 μ 6 + 3 μ 9 + 3 μ 10 9
4 p 12 + 2 p 16 2 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 97 μ 12 + 47 μ 13 + 50 μ 15 + 97 μ 16 + μ 17 + 2 μ 18 290
5 p 6 + 2 p 7 + p 8 + p 9 + p 11 + p 13 + p 15 + p 16 + p 18 1 12 μ 2 + 12 μ 3 + 2 μ 6 + 2 μ 7 + 14 μ 8 + 14 μ 9 + 2 μ 11 + 38 μ 12 + 38 μ 13 + 39 μ 15 + 39 μ 16 + 2 μ 18 153
6 p 6 + 2 p 7 + 2 p 9 + p 11 + p 13 + p 15 + p 16 + p 18 5 12 μ 2 + 12 μ 3 + 2 μ 6 + 2 μ 7 + 14 μ 8 + 14 μ 9 + 2 μ 11 + 38 μ 12 + 38 μ 13 + 39 μ 15 + 39 μ 16 + 2 μ 18 153
7 p 3 + p 8 + p 9 + p 13 + p 15 + p 16 8 13 μ 2 + 13 μ 3 + 3 μ 6 + 3 μ 7 + 15 μ 8 + 15 μ 9 + 3 μ 11 + 43 μ 12 + 46 μ 13 + 46 μ 15 + 46 μ 16 + μ 17 + 2 μ 18 180
8 p 2 + 2 p 9 + p 13 + p 15 + p 16 5 13 μ 2 + 13 μ 3 + 3 μ 6 + 3 μ 7 + 15 μ 8 + 15 μ 9 + 3 μ 11 + 43 μ 12 + 46 μ 13 + 46 μ 15 + 46 μ 16 + μ 17 + 2 μ 18 180
9 p 6 + 2 p 7 + p 8 + p 9 + p 15 + 2 p 16 + 2 p 18 3 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 50 μ 13 + 50 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 196
10 p 6 + 2 p 7 + 2 p 9 + p 15 + 2 p 16 + 2 p 18 4 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 50 μ 13 + 50 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 196
11 p 2 + 2 p 9 + p 15 + 2 p 16 5 13 μ 2 + 13 μ 3 + 3 μ 6 + 3 μ 7 + 15 μ 8 + 15 μ 9 + 3 μ 11 + 43 μ 12 + 46 μ 13 + 46 μ 15 + 46 μ 16 + μ 17 + 2 μ 18 180
12 p 2 + p 3 + p 9 + p 15 + 2 p 16 2 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 50 μ 13 + 50 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 196
13 p 8 + 2 p 9 + p 15 + 2 p 16 5 3 μ 6 + 3 μ 7 + 13 μ 8 + 13 μ 9 + 3 μ 11 + 39 μ 12 + 42 μ 13 + 42 μ 15 + 42 μ 16 + μ 17 + 2 μ 18 164
14 p 3 + p 8 + p 9 + p 15 + 2 p 16 8 13 μ 2 + 13 μ 3 + 3 μ 6 + 3 μ 7 + 15 μ 8 + 15 μ 9 + 3 μ 11 + 43 μ 12 + 46 μ 13 + 46 μ 15 + 46 μ 16 + μ 17 + 2 μ 18 180
15 p 6 + 2 p 7 + 2 p 9 + p 11 + p 12 + p 15 + p 16 + p 18 2 27 μ 2 + 27 μ 3 + 5 μ 6 + 5 μ 7 + 31 μ 8 + 31 μ 9 + 5 μ 11 + 85 μ 12 + 86 μ 13 + 88 μ 15 + 88 μ 16 + μ 17 + 4 μ 18 346
16 p 6 + 2 p 7 + 2 p 9 + p 11 + p 15 + 2 p 16 + p 17 2 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 50 μ 13 + 50 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 196
17 p 2 + p 3 + 2 p 9 + p 13 + p 15 + p 16 3 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 50 μ 13 + 50 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 196
18 p 3 + p 8 + p 9 + 2 p 11 + p 15 + p 16 4 26 μ 2 + 26 μ 3 + 2 μ 6 + 2 μ 7 + 26 μ 8 + 27 μ 9 + 9 μ 11 + 27 μ 12 + 18 μ 13 + 27 μ 15 + 27 μ 16 + μ 17 + μ 18 150
19 p 8 + 2 p 9 + 2 p 11 + p 15 + p 16 7 27 μ 2 + 27 μ 3 + 2 μ 6 + 2 μ 7 + 26 μ 8 + 28 μ 9 + 9 μ 11 + 28 μ 12 + 19 μ 13 + 28 μ 15 + 28 μ 16 + μ 17 + μ 18 155
20 p 8 + 2 p 9 + p 13 + p 15 + p 16 4 28 μ 2 + 28 μ 3 + 2 μ 6 + 2 μ 7 + 27 μ 8 + 29 μ 9 + 10 μ 11 + 29 μ 12 + 19 μ 13 + 29 μ 15 + 29 μ 16 + μ 17 + μ 18 161
21 p 6 + 2 p 7 + p 8 + p 9 + p 13 + p 15 + p 16 + 2 p 18 3 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 50 μ 13 + 50 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 196
22 p 6 + 2 p 7 + p 9 + p 13 + p 15 + p 16 + 2 p 18 7 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 50 μ 13 + 50 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 196
23 p 2 + 2 p 9 + 2 p 11 + p 15 + p 16 3 26 μ 2 + 26 μ 3 + 2 μ 6 + 2 μ 7 + 27 μ 8 + 27 μ 9 + 9 μ 11 + 28 μ 12 + 19 μ 13 + 28 μ 15 + 28 μ 16 + μ 17 + μ 18 153
24 p 12 + p 13 + p 15 + p 16 3 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 50 μ 13 + 50 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 196
25 p 2 + 2 p 3 1 11 μ 2 + 11 μ 3 + 11 μ 8 + 3 μ 9 + μ 11 + 2 μ 13 + 3 μ 15 + 3 μ 16 32
26 p 6 + 2 p 7 + p 11 + p 17 + p 18 2 17 μ 6 + 17 μ 7 + 2 μ 8 + 2 μ 9 + 17 μ 11 + 3 μ 12 + 3 μ 13 + 4 μ 15 + 4 μ 16 + 15 μ 17 + 17 μ 18 99
27 2 p 3 + p 8 1 11 μ 2 + 11 μ 3 + 11 μ 8 + 3 μ 9 + μ 11 + 2 μ 13 + 3 μ 15 + 3 μ 16 32
28 p 2 + p 3 + p 9 + 2 p 11 + p 15 + p 16 3 28 μ 2 + 28 μ 3 + 2 μ 6 + 2 μ 7 + 29 μ 8 + 29 μ 9 + 10 μ 11 + 30 μ 12 + 20 μ 13 + 30 μ 15 + 30 μ 16 + μ 17 + μ 18 164
29 2 p 11 + p 13 + p 15 + p 16 2 8 μ 2 + 8 μ 3 + 2 μ 6 + 2 μ 7 + 9 μ 8 + 9 μ 9 + 75 μ 11 + 25 μ 12 + 25 μ 13 + 50 μ 15 + 75 μ 16 + μ 17 + μ 18 299
30 2 p 11 + p 12 + p 15 + p 16 3 8 μ 2 + 8 μ 3 + 2 μ 6 + 2 μ 7 + 9 μ 8 + 9 μ 9 + 75 μ 11 + 25 μ 12 + 25 μ 13 + 50 μ 15 + 75 μ 16 + μ 17 + μ 18 299
31 p 6 + 2 p 7 + p 17 + 2 p 18 1 21 μ 6 + 21 μ 7 + 2 μ 8 + 2 μ 9 + 21 μ 11 + 5 μ 13 + 5 μ 15 + 5 μ 16 + 19 μ 17 + 20 μ 18 121
32 2 p 11 + p 17 2 5 μ 2 + 4 μ 3 + μ 6 + μ 7 + 5 μ 8 + 5 μ 9 + 125 μ 11 + 14 μ 12 + 14 μ 13 + 28 μ 15 + 42 μ 16 + 84 μ 17 333
33 2 p 13 + p 15 2 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 97 μ 13 + 97 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 290
34 p 6 + 2 p 7 + 2 p 9 + p 11 + p 13 + p 15 + p 16 + p 17 3 15 μ 2 + 15 μ 3 + 3 μ 6 + 3 μ 7 + 17 μ 8 + 17 μ 9 + 3 μ 11 + 47 μ 12 + 50 μ 13 + 50 μ 15 + 50 μ 16 + μ 17 + 2 μ 18 196
Table A2. Matrix A for the net shown in Figure 4.
Table A2. Matrix A for the net shown in Figure 4.
p s j M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 M 9 M 10 M 11 M 12 M 13 M 14 M 15 M 16 M 17
p s 1 11100000000000010
p s 2 01101111111111001
p s 3 01101111111111001
p s 4 01110000111111110
p s 5 01101111111111101
p s 6 01101111111111101
p s 7 01101111111011010
p s 8 01101111111011010
p s 9 01101111111111011
p s 10 01101111111111011
p s 11 01101111111011010
p s 12 01101111111111011
p s 13 01101100110010010
p s 14 01101111111011010
p s 15 01101111111111111
p s 16 01101111111111011
p s 17 01101111111111011
p s 18 00100011001111111
p s 19 00100011001111111
p s 20 00100001001111111
p s 21 01101111111111011
p s 22 01101111111111011
p s 23 01100011001111111
p s 24 01101111111111011
p s 25 00000010000101001
p s 26 01101100110000100
p s 27 00000010000101001
p s 28 01100011001111111
p s 29 11100000000000010
p s 30 11100000000000010
p s 31 01101100110000010
p s 32 10000000000000010
p s 33 00001111000000001
p s 34 01101111111111011
Table A3. Matrix A for the net shown in Figure 4.
Table A3. Matrix A for the net shown in Figure 4.
p s j M 18 M 19 M 20 M 21 M 22 M 23 M 24 M 25 M 26 M 27 M 28 M 29 M 30 M 31 M 32 M 33 M 34
p s 1 11000100001110000
p s 2 00111010000000000
p s 3 00111010000000000
p s 4 00000010000000000
p s 5 00111010000000000
p s 6 00111010000000000
p s 7 00111010000000001
p s 8 00111010000000001
p s 9 00111010000000001
p s 10 00111010000000001
p s 11 00111010000000001
p s 12 00111010000000001
p s 13 00111010000000001
p s 14 00111010000000001
p s 15 00111010000000000
p s 16 00111010000000001
p s 17 00111010000000001
p s 18 11100100001000000
p s 19 01100100001000000
p s 20 11100100001000000
p s 21 00111010000000001
p s 22 00111010000000001
p s 23 11100100000000000
p s 24 00111010000000001
p s 25 10000001011000000
p s 26 00011000100001000
p s 27 10000001011000000
p s 28 11100100001000000
p s 29 11000100001110000
p s 30 11000100001110000
p s 31 00011000100001001
p s 32 11000100001110100
p s 33 00111010000000011
p s 34 00111010000000001

References

  1. Giua, A.; Seatzu, C.; Basile, F. Observer-based state-feedback control of timed Petri nets with deadlock recovery. IEEE Trans. Autom. Control 2004, 49, 17–29. [Google Scholar] [CrossRef]
  2. Huang, Y.S.; Jeng, M.D.; Xie, X.L.; Chung, D.H. Siphon-based deadlock prevention for flexible manufacturing systems. IEEE Trans. Syst. Man Cybern. Part A 2006, 36, 1248–1256. [Google Scholar] [CrossRef]
  3. Jeng, M.D.; Xie, X.L. Deadlock detection and prevention of automated manufacturing systems using Petri nets and siphons. In Deadlock Resolution in Computer-Integrated Systems; Zhou, M.C., Fanti, M.P., Eds.; Marcel-Dekker Inc.: New York, NY, USA, 2005; pp. 233–281. [Google Scholar]
  4. Kumaran, T.K.; Chang, W.; Cho, H.; Wysk, A. A structured approach to deadlock detection, avoidance and resolution in flexible manufacturing systems. Int. J. Prod. 1994, 32, 2361–2379. [Google Scholar] [CrossRef]
  5. Tricas, F.; Garcia-Valles, F.; Colom, J.M.; Ezpeleta, J. A Petri net structure-based deadlock prevention solution for sequential resource allocation systems. In Proceedings of the IEEE Transactions Conference on Robotics and Automation, Barcelona, Spain, 18–22 April 2005; pp. 271–277. [Google Scholar]
  6. Wei, Y.; Ning, H.; An, Y.; Wu, N.; Zhao, X. Design of Safety Petri Net Controllers for Deadlock Prevention at a Class of Road Intersections. IEEE Trans. Intell. Transp. Syst. 2023, 24, 14453–14466. [Google Scholar] [CrossRef]
  7. Wu, N.Q.; Zhou, M.C. Deadlock resolution in automated manufacturing systems with robots. IEEE Trans. Autom. Sci. Eng. 2007, 4, 474–480. [Google Scholar] [CrossRef]
  8. Wu, N.Q.; Zhou, M.C. System Modeling and Control with Resource-Oriented Petri Nets; CRC Press: New York, NY, USA, 2010. [Google Scholar]
  9. Yu, Z.H.; Duan, X.D.; Cong, X.Y.; Li, X.N.; Zheng, L. Detection of Actuator Enablement Attacks by Petri Nets in Supervisory Control Systems. Mathematics 2023, 11, 943. [Google Scholar] [CrossRef]
  10. Zhu, H.M.; Liu, G.Y.; Yu, Z.H.; Li, Z.W. Detectability in Discrete Event Systems Using Unbounded Petri Nets. Mathematics 2023, 11, 3862. [Google Scholar] [CrossRef]
  11. Banaszak, Z.; Krogh, B.H. Deadlock avoidance in flexible manufacturing systems with concurrently competing process flows. IEEE Trans. Robot. Autom. 1990, 6, 724–734. [Google Scholar] [CrossRef]
  12. Dotoli, M.; Fanti, M.P. Deadlock detection and avoidance strategies for automated storage and retrieval systems. IEEE Trans. Syst. Man Cybern. Part C Appl. Rev. 2007, 37, 541–552. [Google Scholar] [CrossRef]
  13. Ezpeleta, J.; Tricas, F.; Garcia-Valles, F.; Colom, J.M. A banker’s solution for deadlock avoidance in FMS with flexible routing and multiresource states. IEEE Trans. Robot. Autom. 2002, 18, 621–625. [Google Scholar] [CrossRef]
  14. Ezpeleta, J.; Recalde, L. A deadlock avoidance approach for non-sequential resource allocation systems. IEEE Trans. Syst. Man Cybern. Part A 2004, 34, 93–101. [Google Scholar] [CrossRef]
  15. Fanti, M.P.; Zhou, M.C. Deadlock control methods in automated manufacturing systems. IEEE Trans. Syst. Man Cybern. Part A 2004, 34, 5–22. [Google Scholar] [CrossRef]
  16. Huang, Y.S.; Pan, Y.L.; Su, P.J. Transition-based deadlock detection and recovery policy for FMSs using graph technique. ACM Transit. Embed. Comput. Syst. 2013, 12, 1–13. [Google Scholar] [CrossRef]
  17. Liu, D.; Li, Z.W.; Zhou, M.C. Liveness of an extended S3PR. Automatica 2010, 46, 1008–1018. [Google Scholar] [CrossRef]
  18. Passos, L.M.S.; Julia, S. Deadlock-freeness acenarios detection in web service composition. In Proceedings of the 2015 12th International Conference on Information Technology—New Generations (ITNG), Las Vegas, NV, USA, 13–15 April 2015; pp. 780–783. [Google Scholar]
  19. Piroddi, L.; Cordone, R.; Fumagalli, I. Combined siphon and marking generation for deadlock prevention in Petri nets. IEEE Trans. Syst. Man Cybern. Part A 2009, 39, 650–661. [Google Scholar] [CrossRef]
  20. Xing, K.Y.; Zhou, M.C.; Wang, F.; Liu, H.X.; Tian, F. Resource-transition circuits and siphons for deadlock control of automated manufacturing systems. IEEE Trans. Syst. Man Cybern. Part A 2011, 41, 74–84. [Google Scholar] [CrossRef]
  21. Ezpeleta, J.; Colom, J.M.; Martinez, J.A. Petri net based deadlock prevention policy for flexible manufacturing systems. IEEE Trans. Robot. Autom. 1995, 11, 173–184. [Google Scholar] [CrossRef]
  22. Iordache, M.V.; Antsaklis, P.J. A structural approach to the enforcement of language and disjunctive constraints. In Proceedings of the American Control Conference, Portland, OR, USA, 8–10 June 2005; pp. 3920–3925. [Google Scholar]
  23. Iordache, M.V.; Antsaklis, P.J. Petri net supervisors for disjunctive constraints. In Proceedings of the American Control Conference, New York, NY, USA, 9–13 July 2007; pp. 4951–4956. [Google Scholar]
  24. Lautenbach, K.; Ridder, H. The Linear Algebra of Deadlock Avoidance—A PETRI Net Approach; No. 25–1996, Technical Report; Institute of Software Technology, University of Koblenz-Landau: Koblenz, Germany, 1996. [Google Scholar]
  25. Li, Z.W.; Zhou, M.C. Clarifications on the definitions of elementary siphons of Petri nets. IEEE Trans. Syst. Man Cybern. Part A 2006, 36, 1227–1229. [Google Scholar] [CrossRef]
  26. Li, Z.W.; Zhou, M.C. Deadlock Resolution in Automated Manufacturing Systems: A Novel Petri Net Approach; Springer: London, UK, 2009. [Google Scholar]
  27. Du, Y.; Gu, N. Accelerating reachability analysis on Petri net for mutual exclusion-based deadlock detection. In Proceedings of the Third International Symposium on Computing and Networking (CANDAR), Sapporo, Japan, 8–11 December 2015; pp. 75–81. [Google Scholar]
  28. Uzam, M. An optimal deadlock prevention policy for flexible manufacturing systems using Petri net models with resources and the theory of regions. Int. J. Adv. Technol. 2002, 19, 192–208. [Google Scholar] [CrossRef]
  29. Ghaffari, A.; Rezg, N.; Xie, X.L. Design of a live and maximally permissive Petri net controller using the theory of regions. IEEE Trans. Robot. Autom. 2003, 19, 137–142. [Google Scholar] [CrossRef]
  30. Uzam, M.; Zhou, M.C. An improved iterative synthesis method for liveness enforcing supervisors of flexible manufacturing systems. Int. J. Prod. Res. 2006, 44, 1987–2030. [Google Scholar] [CrossRef]
  31. Uzam, M.; Zhou, M.C. An iterative synthesis approach to Petri net based deadlock prevention policy for flexible manufacturing systems. IEEE Trans. Syst. Man Cybern. Part A 2007, 37, 362–371. [Google Scholar] [CrossRef]
  32. Chen, Y.F.; Li, Z.W.; Khalgui, M.; Mosbahi, O. Design of a maximally permissive liveness-enforcing Petri net supervisor for flexible manufacturing systems. IEEE Trans. Autom. Sci. Eng. 2011, 8, 374–393. [Google Scholar] [CrossRef]
  33. Chen, Y.F.; Li, Z.W. Design of a maximally permissive liveness-enforcing supervisor with a compressed supervisory structure for flexible manufacturing systems. Automatica 2011, 47, 1028–1034. [Google Scholar] [CrossRef]
  34. Chen, Y.F.; Li, Z.W. On structural minimality of optimal supervisors for flexible manufacturing systems. Automatica 2012, 48, 2647–2656. [Google Scholar] [CrossRef]
  35. Chen, Y.F.; Li, Z.W.; Zhou, M.C. Behaviorally optimal and structurally simple liveness-enforcing supervisors of flexible manufacturing systems. IEEE Trans. Syst. Man Cybern. Part A 2012, 42, 615–629. [Google Scholar] [CrossRef]
  36. Piroddi, L.; Cordone, R.; Fumagalli, I. Selective siphon control for deadlock prevention in Petri nets. IEEE Trans. Syst. Man Cybern. Part A 2008, 38, 1337–1348. [Google Scholar] [CrossRef]
  37. Chen, Y.F.; Li, Z.W.; Barkaoui, K.; Uzam, M. New Petri net structure and its application to optimal supervisory control: Interval inhibitor arcs. IEEE Trans. Syst. Cybern. Syst. 2014, 44, 1384–1400. [Google Scholar] [CrossRef]
  38. Li, Z.W.; Zhou, M.C.; Jeng, M.D. A maximally permissive deadlock prevention policy for FMS based on Petri net siphon control and the theory of regions. IEEE Trans. Autom. Eng. 2008, 5, 182–188. [Google Scholar]
  39. Huang, Y.S.; Jeng, M.D.; Xie, X.L.; Chung, S.L. Deadlock prevention based on petri nets and siphons. Int. Prod. Res. 2001, 39, 283–305. [Google Scholar] [CrossRef]
  40. Li, Z.W.; Zhou, M.C. Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems. IEEE Trans. Syst. Man Cybern. Part A 2004, 34, 38–51. [Google Scholar]
  41. Lingo. Premier Optimization Modeling Tools. Available online: http://www.lingo.com (accessed on 16 April 2024).
  42. Lu, Y.; Chen, Y.F.; Li, Z.W.; Wu, N.Q. An efficient method of deadlock detection and recovery for flexible manufacturing systems by resource flow graphs. IEEE Trans. Autom. Sci. Eng. 2022, 19, 1707–1718. [Google Scholar] [CrossRef]
  43. Murata, T. Petri nets: Properties, analysis and application. Proc. IEEE 1989, 77, 541–580. [Google Scholar] [CrossRef]
  44. Yamalidou, K.; Moody, J.; Lemmon, M.; Antsaklis, P. Feedback control of Petri nets based on place invariants. Automatica 1996, 32, 15–28. [Google Scholar] [CrossRef]
  45. Iordache, M.V.; Antsaklis, P.J. Supervision based on place invariants: A survey. Discrete Event Dyn. Syst. 2006, 16, 451–492. [Google Scholar] [CrossRef]
  46. Park, J.; Reveliotis, S.A. Deadlock avoidance in sequential resource allocation systems with multiple resource acquisitions and flexible routings. IEEE Trans. Autom. Control 2001, 46, 1572–1583. [Google Scholar] [CrossRef]
  47. Tricas, F.; Martinez, J. An extension of the liveness theory for concurrent sequential processes competing for shared resources. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics, Vancouver, BC, Canada, 22–25 October 1995; pp. 3035–3040. [Google Scholar]
  48. Zhou, M.C.; DiCesare, F. Parallel and sequential mutual exclusions for Petri net modeling of manufacturing systems with shared resources. IEEE Trans. Robot. Autom. 1991, 7, 515–527. [Google Scholar] [CrossRef]
Figure 1. (a) An FMS example and (b) its production sequences.
Figure 1. (a) An FMS example and (b) its production sequences.
Mathematics 12 01687 g001
Figure 2. Petri net model of an FMS.
Figure 2. Petri net model of an FMS.
Mathematics 12 01687 g002
Figure 3. (a) An FMS example and (b) its production sequences.
Figure 3. (a) An FMS example and (b) its production sequences.
Mathematics 12 01687 g003
Figure 4. Petri net model of an FMS.
Figure 4. Petri net model of an FMS.
Mathematics 12 01687 g004
Table 1. The linear constraints obtained by MNFFP( M j ).
Table 1. The linear constraints obtained by MNFFP( M j ).
j M j ( L j , β j )
1 p 2 + p 3 + p 4 μ 2 + 2 μ 3 + μ 4 + 2 μ 11 + 2 μ 12 3
2 p 3 + p 5 + p 9 + p 10 4 μ 2 + 8 μ 3 + 4 μ 4 + 5 μ 5 + μ 9 + μ 10 + 8 μ 11 + 7 μ 12 14
3 p 3 + p 6 + p 9 + p 10 μ 2 + 2 μ 3 + μ 4 + 2 μ 5 + 2 μ 6 + 3 μ 9 + 3 μ 10 9
4 p 5 + p 6 + p 9 + p 10 μ 2 + 2 μ 3 + μ 4 + 2 μ 5 + 2 μ 6 + 3 μ 9 + 3 μ 10 9
5 p 2 + p 4 + p 6 + p 9 + p 10 μ 2 + 2 μ 3 + μ 4 + 2 μ 5 + 2 μ 6 + 3 μ 9 + 3 μ 10 9
6 p 11 + p 12 4 μ 2 + 8 μ 3 + 4 μ 4 + 5 μ 5 + μ 9 + μ 10 + 8 μ 11 + 7 μ 12 14
7 p 2 + p 4 + p 12 4 μ 2 + 8 μ 3 + 4 μ 4 + 5 μ 5 + μ 9 + μ 10 + 8 μ 11 + 7 μ 12 14
8 p 3 + p 11 μ 2 + 2 μ 3 + μ 4 + 2 μ 11 + 2 μ 12 3
Table 2. Matrix A for the net shown in Figure 2.
Table 2. Matrix A for the net shown in Figure 2.
p s j M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8
p s 1 10000111
p s 2 11000111
p s 3 01111000
p s 4 01111000
p s 5 01111000
p s 6 11000111
p s 7 11000111
p s 8 10000111
Table 3. Performance comparison for the Petri net in Figure 2.
Table 3. Performance comparison for the Petri net in Figure 2.
Parameters [38][36][32][33]Alg. 1 in [37]Alg. 2 in [37]This Work
No. monitors9582522
No. states205205205205205205205
Table 4. The selected control places for the net in Figure 4.
Table 4. The selected control places for the net in Figure 4.
p s j p s j p s j M 0 ( p s j )
p s 4 17 t 5 , 50 t 9 , 47 t 10 , 15 t 13 , 96 t 17 , 2 t 19 3 t 1 , 14 t 3 , 94 t 8 , 15 t 11 , 50 t 15 , 47 t 16 , t 18 290
p s 27 8 t 4 , 3 t 5 , t 8 , 11 t 13 , 2 t 10 , 3 t 17 11 t 3 , t 7 , 2 t 9 , 11 t 11 , 3 t 15 32
p s 31 19 t 3 , 2 t 5 , 21 t 8 , 5 t 10 , 20 t 19 21 t 1 , 5 t 9 , 5 t 15 , 14 t 17 , t 18 121
p s 32 5 t 5 , 111 t 8 , 14 t 10 , t 12 , 4 t 13 , 84 t 18 t 1 , 4 t 3 , 124 t 7 , 5 t 11 , 28 t 15 , 14 t 16 , 42 t 17 333
p s 33 17 t 5 , 97 t 10 , 15 t 13 , 47 t 16 , 49 t 17 , 2 t 19 3 t 1 , 14 t 3 , 44 t 8 , 50 t 9 , 15 t 11 , 97 t 15 , t 18 290
Table 5. Performance comparison of some deadlock control policies.
Table 5. Performance comparison of some deadlock control policies.
Parameters[21][40][39][30][36][32][33][35]This Work
No. monitors18616191317565
No. states6287628712656215622158121581215812158121581
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Li, Y.; Chen, Y.; Zhou, R. A Set Covering Approach to Design Maximally Permissive Supervisors for Flexible Manufacturing Systems. Mathematics 2024, 12, 1687. https://doi.org/10.3390/math12111687

AMA Style

Li Y, Chen Y, Zhou R. A Set Covering Approach to Design Maximally Permissive Supervisors for Flexible Manufacturing Systems. Mathematics. 2024; 12(11):1687. https://doi.org/10.3390/math12111687

Chicago/Turabian Style

Li, Yongyao, Yufeng Chen, and Rui Zhou. 2024. "A Set Covering Approach to Design Maximally Permissive Supervisors for Flexible Manufacturing Systems" Mathematics 12, no. 11: 1687. https://doi.org/10.3390/math12111687

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop