OPTIMIZATION ALGORITHMS APPLIED
TO LARGE PETRI NETS
by
AHMED TAREK, B.Sc.E.E.E., M.E.
A DISSERTATION
IN
COMPUTER SCIENCE
Submitted to the Graduate Faculty
of Texas Tech University in Partial Fulfillment of the Requirements for
the Degree of
DOCTOR OF PHILOSOPHY
Approved
Accepted
Interim Dean of the Graduate School
A u ^ s t , 2001
ACKNOWLEDGEMENTS
I would like to convey my heartfelt gratitude to all the people of Texas Tech
University who helped me with this dissertation. I especially wish to thank all of my
committee members.
This dissertation would not have been possible without the expert guidance of my
advisor Dr. Lopez-Benitez. As the chairperson of the committee, he took special care
while I was preparing this dissertation. Not only was he readily available for me, but
he always read and responded to the drafts of each chapter of my work more carefully
than I could have hoped. He also advised and guided me from time to time.
Other people I want to thank are: my other committee members. Dr. W illiam M.
Marcy, Dr. Daniel E. Cooke, and Dr. Larry D. Pyeatt have been cordial and friendly
with me. They provided a unique combination of support, professional expertise and
experience for this dissertation. I want to especially thank Dr. Larry D. Pyeatt for
his helpful suggestions.
People at the Graduate School of Texas Tech University took enough care while
this dissertation was undergoing its preparation. Mrs. Barbi Dickensheet took her
time to carefully review the entire dissertation, and Mrs. Peggy Edmonson helped
me a lot by providing her experienced suggestions.
I wish to thank my family from the core of my heart in coming out with this
dissertation. A special word of thanks goes to my wife Rubina Khan for her patience
and understanding. My children Ahmed Farhan and Ahmed Alveed specially missed
their father while I was conducting this work.
TABLE OF CONTENTS
ACKNOWLEDGEMENTS ii
ABSTRACT viii
LIST OF TABLES x
LIST OF FIGURES xi
1 INTRODUCTION AND MOTIVATION 1
1.1 Introduction 1
1.2 Motivation 2
1.3 Research Methodology 4
1.4 Organization of the Dissertation 12
2 NOTATION AND DEFINITIONS 14
2.1 Elementary Notations 14
2.2 Useful Definitions 17
2.3 Reachability Problem with Known u and d 21
2.4 Critical Siphons and Critical Transitions 23
2.5 Token-Free PNs 27
3 PRELIMINARY WORK 29
3.1 Preliminary Work on Single Step LP 30
3.2 Previous Work on DP 32
3.3 Preliminary Work on DP-Based LP Method 32
3.4 Previous Work on Pontryagin's Minimum Principle-Based LP Method 36
iii
4 STRUCTURAL AND BEHAVIORAL PROPERTIES 43
4.1 On Siphons and Traps 43
4.2 Liveness Properties 53
5 A SINGLE-STEP LINEAR PROGRAMMING-BASED METHOD . . 57
5.1 From the Basic Reachability Equation to the Single-Step LP Method 57
5.2 Computational Mechanism 58
5.3 Spurious Firing Count Vectors 62
5.4 Time Complexity 63
5.5 Computation Time 63
5.6 Computational Aspects 65
6 THE LP METHOD BASED ON THE OPTIMALITY PRINCIPLE . 67
6.1 The Optimality Principle and LFSs in PNs 67
6.2 Description of the OP-Based LP Method 68
6.3 The Objective Function 71
6.4 Optimal LFS in Ordinary Petri Nets Containing Self-loops 74
6.5 Computation in PNs Having Cycles 78
6.6 Unimodularity 80
7 A DYNAMIC PROGRAMMING METHOD 84
7.1 Basic DP Formulation 84
7.2 The DP Algorithm 86
7.3 Computational Performance 89
7.4 Computational Characteristics 91
iv
7.5 Complexity Analysis 92
7.6 Optimal Control Related Properties 92
8 A LP METHOD BASED ON DYNAMIC PROGRAMMING 95
8.1 Results on Reversed Nets 95
8.2 A Computational Algorithm for DP 104
8.3 Modified Reachability Problem on the Reversed Net 106
8.4 Formulation of the DP-Based LP Method 107
8.5 -Analytical Results 108
8.6 Time Complexity I l l
8.7 Use of the Upper Bounded Revised Simplex Method 112
8.8 An Analysis of Geometrical Properties 115
8.9 Numerical Examples . . 115
8.10 Observations 117
9 A FORWARD RECURSIVE DP-BASED LP METHOD 118
9.1 Basic Principle 118
9.2 Deduction 119
9.3 -Advantages 120
9.4 Time Complexity 121
9.5 Computation Time 121
9.6 Example 122
9.7 Unimodularity 122
10 THE PONTRYAGIN'S MINIMUM PRINCIPLE-BASED LP METHOD 127
V
10.1 Introducrion 127
10.2 Discrete Time Pontryagin's Minimum Principle 128
10.3 State Equation 130
10.4 Derivation 130
10.5 Statement of the Pontryagin's Minimum Principle 136
10.6 Convexity Properties of the Computational Solutions 137
10.7 LP Relaxation 138
10.8 Computations in Unrestricted Petri Nets 140
10.9 Advantage 142
lO.lOz-Directional Convexity 142
10.11-A. Geometric Approach to the z-directional Convexity 145
10.12An Analysis of the Heuristic Procedure 150
lO.lSExamples 151
10.14Optimal Control-Based Analysis 156
10.15Computational Characteristics 163
10.16An Analysis of the Objective Function 164
11 ANALYSIS AND APPLICATIONS 168
11.1 Analysis of Computation Time 168
11.2 An -Application 174
11.3 Comparisons Among Three Different LP Methods 178
12 CONCLUSIONS 180
12.1 Future Research Directions 182
vi
BIBLIOGRAPHY 184
Vll
ABSTRACT
Petri nets (PNs) are important modeling tools for many practical control prob
lems which include concurrent, asynchronous systems. Analysis of reachability is
important in connection to the characterization of PN models and many important
properties of P-Ns are related to it. Very little work has been reported which combines
optimization theory with PNs, Computation of legal firing sequences (LFSs) to de
cide the reachability using well-established optimization techniques is the main focus
of this dissertation. The fundamental problem of deciding the reachability with a pre-
specified firing count vector u and the total firing instances d = YjiLi Ui is considered.
Related computational issues are also considered.
Different optimization techniques are investigated. Some of these techniques ap
pear to be extremely elegant. .A set of problems related to the reachability analysis in
PNs are identified. Starting with the basic reachability equations, the straightforward
Single step LP method which uses only one iteration of linear programming (LP) is
derived. .Another important method is based on the Optimality Principle (OP) which
is combined with LP to derive the OP-based LP method. With considerable problem
sizes, the combinatorial state-space-explosion-problem remains as a major computa
tional barrier for a LP method which computes a LFS in one step. From elementary
net equations, the dynamic programming (DP) algorithm to compute LFSs of PNs
is derived. To avoid the state-space-explosion-problem, the reversed net N~^ of an
original PN TV has been used and the basic DP algorithm is modified to compute on
the reversed net. The original problem is subdivided into d recursive parts and each
part is solved using LP This is the principle of the DP-based LP method. To im
prove computation time, a forward recursive DP-based LP method is derived. Firing
of the sink transition in a critical siphon is a major problem for the DP-based LP
method, since it deadlocks a computational process. To avoid this, an approxima-
viii
tion algorithm which involves Pontryagin's Minimum Principle(PMP)-based LP for a
known firing count vector u and the total firing instance d'xs introduced and discussed.
The method computes on an original PN A . A heuristic algorithm which supports
the computation of the PMP-based LP method is derived. This heuristic algorithm
suppresses firing of the sink transition of a potential critical siphon. The complete
method avoids potential critical transitions and computes complex problems.
-Analysis of complexity is important for the computer implementation of a com
putational method. Therefore, time and space complexities are considered in order
to compute LFSs of PNs. Time complexity becomes about d~^ times to that of a
single step LP method if a complete problem is subdivided into d subproblems. This
technique is adopted with the FDP-based LP method, the DP-based LP method and
the PMP-based LP method with known u and d. Computation time curves for the
Single step LP, the DP-based LP and the PMP-based LP methods with a prespeci-
fied u and d which use the Revised Simplex DLPRS subroutine are obtained. Certain
subclasses of PNs have well-defined reachability criteria. Computation time curves
for these subclasses of PNs are obtained using a two-phase simplex subroutine.
Some application issues are considered in this dissertation. The identified prob
lems are addressed. Future research directions are outlined.
IX
LIST OF TABLES
2.1 Reachable states for the given problem 25
8.1 Incidence matrix a and u for the problem of Figure 8.2 116
8.2 Reachable states and the corresponding firing transitions 117
11.1 Improvements in computation time for using firing count subnets. . . 172
11.2 Roles of places and transitions in the complete controller model. . . . 177
11.3 Locus of the reachable states 178
11.4 Comparisons among three different LP methods 179
LIST OF FIGURES
2.1 PN A^witha;(0) = [0,2,l,0,2]'anda;(rf) = [0,3,0,0,0f 23
2.2 A given PN iN,x{0)) 26
2.3 A given PN A with x{d) 28
3.1 An example PN for computing a LFS using the PMP-based LP method. 42
4.1 Three most common types of siphons 44
4.2 Three types of traps occurring frequently during computations 46
4.3 Structure of siphons and traps in GPNs 47
5.1 -A simplified geometrical entity generated in a 3-dimensional space. . . 61
5.2 -A PN used with the Single-Step LP method 65
5.3 -An ordinary PN A wfth a;(0) 66
6.1 A PN (A^,a;(0)) having cycles 79
6.2 A PN iV to verify Theorem 6.6.2 82
7.1 Flow-chart of the DP algorithm 88
7.2 DP algorithm applied to a PN. (a)(A'', a;(0)), (b) the states traversed. 89
7.3 The markings traversed by the DP algorithm for the net in Figure 2.3. 90
7.4 A BCF net 90
7.5 A PN to verify controllability 93
8.1 A PN iV and its reversed subnet.(a)(A^,a;(0)), (b)(A''-\a;„((i)) 103
8.2 An unrestricted PN with reversed subnet.(a)(A/',a;(0)), (b)(A/'-\a:„(d)). 115
9.1 A GPN {N,xiO)) 123
9.2 A PN N with a totally unimodular constraint matrix A 124
xi
10.1 A Free-Choice PN N with x{0) 144
10.2 A GPN N with reachable markings which do not satisfy convexity. . 146
10.3 -A figure for the geometric interpretation of DTPMP 148
10.4 An asymmetric confusion at a;(0) 152
10.5 A GPN with a symmetric confusion at x(0) 153
10.6 A GPN used with the complete PMP-based LP method 154
10.7 A second example 155
10.8 A given PN and its reversed net(a)(Ar,x(0)), (b)(iV-Sx(d)) 162
11.1 Computation time curves for the DLPRS subroutine 169
11.2 Computation time curves for the two-phase simplex subroutine. . . . 170
11.3 -A PN for computation time assessment 171
11.4 An initial state of the automatic controller model 174
11.5 Reversed net of the controller model with an interlock, / = P13. . . 175
xu
CHAPTER 1
LNTRODUCTION AND MOTIVATION
1.1 Introduction
Petri nets (PNs) are a graphical and mathematical modeling tool for the formal
modeling and validation of systems. PNs are applicable to many discrete event dy
namic systems (DEDS) that are characterized as being concurrent, asynchronous,
distributed, parallel, and/or nondeterministic. The reliability of PNs has been ver
ified in practice [63]. Reachability and liveness are two of the most fundamental
problems concerning PNs. The basic reachability problem of PNs involves justify
ing for a given initial marking x(0) and a final marking x(d) of the PN model of a
certain discrete event system whether the firing vector sequence {u(k):k=l, 2 , . . . , rf}
from x(0) to x{d) exists or not. If it exists, then compute such sequence {u(k)} in
a straight forward manner. This is a binary decision problem which can be solved
with a YES/NO answer. The firing vector at the kth firing, k = 1,2,.. .,d satisfies
the equation 2^_;^M(A;) = u, where d = YliLi'^^i- The vector u is referred to as the
firing count vector having m elements (some of which may be zero but not all). The
integer d denotes the total number of firings in the complete firing vector sequence.
Computations of legal firing sequences (LFSs) for deciding the reachability of PNs
are important in connection to the modeling of practical control problems and also
for the analysis of concurrent, asynchronous systems. Optimization techniques based
on linear programming (LP) for computing LFSs of PNs are considered. Dynamic
programming (DP) is the only direct method for sequential optimizations. DP-based
algorithms for computing LFSs of PNs are also discussed. Since the analysis based
on complexity is equally important for computer-based implementation of the algo-
rithms, therefore time and space complexity are also considered for finding LFSs of
PNs. The time complexity is about d~^ times to that of a method dealing with the
problem as a whole by subdividing the large, complete problem into d sub-problem
stages.
Even though the reachability tree constitutes one of the preliminary methods for
deciding the reachability of PNs, it cannot be used for solving the reachability of
PNs with a prespecified firing count vector u and a total time d. This is due to
the loss of information which results from using the to symbol in the tree structure.
Therefore, other methods based on linear algebraic techniques are investigated in this
dissertation.
PNs are bipartite directed graphs; therefore, many of the graph theoretic proper
ties play major roles in the analyses of PNs. Almost all of the properties like safeness,
liveness, boundedness, etc., can be obtained from the set of reachable markings. Also
for the optimum control of Discrete Event Dynamic Systems (DEDS), PNs are used
as effective graphical and mathematical modeling tools.
1.2 Motivation
The decidability of reachability has not been addressed since 1981 [47]. Once again,
the reachability tree and the coverability tree remain as the only useful methods for
verifying the reachability of unrestricted PNs [51]. However, for certain sub-classes
of PNs, the necessary and sufficient conditions for simple, useful reachability criteria
have been reported in [27]. A necessary condition for the reachability from a;(0) to
x{d) in unrestricted PNs is that the difference x(d) - x{0)=au should have at least
one non-negative integer solution vector (as the firing count vector u should always
be a non-negative integer). For the reachability problem with prespecified u and d,
each element of the set {u(k)} is an m x 1 firing vector having only one element equal
to one and the rest of the elements equal to zero. Therefore, this is an all-integer-
programming-problem having fixed initial and end states as well as a total number of
firings d. For most real case applications, computation of an optimal LFS is impor
tant. In an LFS, there is no spurious firing vector. A computed optimal LFS satisfies
the minimum transfer of tokens control objective. Therefore, the PN reachability
problem with an objective of computing an optimal LFS can be formulated as an
optimization problem with the objective function determining the transfer of tokens
control. Then it is possible to use standard optimization algorithms for solving the
reachability of PNs. Very little work is reported that combines optimization theory
and PNs until now. Visualizing the large potential of applications for computations
of optimal LFS of PNs has motivated the initiation of this research. Different re
searchers and theoreticians were consulted from time-to-time during different phases
of the algorithm developments.
Methods of analysis for PNs can be classified into three groups: (1) the coverabihty
or the reachability tree method, (2) the matrix-equation approach, and (3) reduction
or decomposition techniques [51]. Even though the reachability and coverabihty tree
remain as effective methods for computing optimal LFSs of PNs, it cannot be used
for unbounded PNs due to the presence of the pseudo-infinity symbol co [15]. The
use of the reachability tree is too limited due to the state-space-explosion for large
problems [51], Reduction or decomposition techniques are too theoretical and lack
practical applicability [51], This limits the use of decomposition techniques. The
matrix-equation approach comes out to be the most useful and reliable technique due
to its mathematical rigor, rigidity and wide applicability [51]. This is a quite different
technique for analyzing PNs based on matrix linear algebra [51]. The advantage
of the matrix-equation techniques over the reachability-tree or the coverability-tree
technique is the existence of simple linear-algebraic equations that aid in determining
PN properties.
1.3 Research Methodology
PNs are useful in modeling concurrent/parallel systems. But their applications
are too slow due to lack of sufficient computational tools and techniques capable of
dealing with large PNs and problems. Reachability analysis is a fundamental base
for analyzing the properties of PNs.
The existing methods for reachability analysis like the reachability tree and the
coverability tree methods are exhaustive enumeration techniques and are limited to
small PNs due to the state-space explosion problem. There is no general useful
method except the reachability tree to find a LFS even for a bounded PN.
A difficult problem regarding the PN reachability analysis with a prespecified u
and d is that the judgment and removal of the spurious (false) solution values for the
firing vectors in the LFS. .Also, there is a shortage of effective computational schemes
for computing LFSs of PNs employing useful, simple and straightforward techniques.
Complex algorithms are rather difficult to implement and analyze.
PNs are effectively used to model optimal control systems. But there are not
enough PN-based computational techniques for computing the optimal control vector
sequences (in the corresponding PN models these are optimal LFSs) for optimal
control problems. Self-loops and cycles in PN models are related to closed-loops or
feedbacks [35] in the corresponding control systems. It is hard to find computational
methods capable of computing ordinary PNs with self-loops and GPNs having cycles.
Computations in unrestricted PNs having arc weights greater than one poses another
difficulty in finding LFSs of PNs. To address the computation of this type of PNs,
relatively stronger and more powerful techniques are required.
Computational deadlocks are a major concern for existing computational tools
and techniques which do not use exhaustive enumeration. Deadlock detection and
avoidance is a problem associated with the current computational tools and tech
niques. That is why computational deadlocks have drawn significant interest among
the researchers in the PN community. It is important to characterize computational
deadlocks for the analysis of PNs. For modeling systems with PNs, conflict for re
sources is a common event. Effective and efficient methods are required for avoiding
computational deadlocks and also to resolve the conflict for resources during compu
tations.
Concurrent sv-stems consist of components that can operate concurrently and com
municate with one another. But these are rather complex and difficult to design.
Hence, effective tools and techniques are required in order to verify and validate the
design of concurrent systems. PNs are a formal and graphical modeling tool for
concurrent system design verification and validation. But one problem associated
with the modeling of a concurrent system using PNs is that the number of reachable
states for the analysis becomes enormous. This extremely large number of reachable
states results in a combinatorial state-space-explosion problem. This is due to the all
possible reachable states arising from the possible interactions between the different
concurrent parts of a complete system. Therefore, effective computational methods
are required in order to analyze reasonable sized PN models of the concurrent com
ponents of a system.
The method proposed by Fujii and Sekiguchi [18] to analyze PNs using LP has one
major drawback, which is the number of specification constraints. Also the number
of unknown variables increases whenever there is an increase in the length of the legal
firing sequence d.
Computational experience reveals that not all computational techniques/methods
are supported by each and every powerful scientific compiler. For example, Fortran 77
and COBOL compilers do not support recursions. Therefore, techniques and methods
5
are required for the generalized implementation of a computational algorithm. This
enhances the applicability of the computational techniques.
As pointed out previously, reasonable sized PNs can be analysed with a method
described in [IS]. But in practice, effective computational methods are required in
order to compute large PNs and problems. As the problem size increases, the com
plexity due to processing and analysis also increases. This complexity is associated
with the computational ability of the algorithm to compute large problems, the com
putation time required by the algorithm, the time complexity and the memory space
requirements for implementing the algorithm, etc. Time complexity and memory
space requirements are two major issues of the computational algorithms. There
fore, computational methods are required in order to compute large problems with
reasonable computation time, time complexity and memory space requirements.
For computing optimal firing vectors to find optimal LFSs, directional convexity
plays a significant role. For this sort of computations, the optimal state trajectory
needs to be computed. Therefore, computational characteristics of these problems
differ significantly from those of the regular modeUng problems. To design sound
computational methods for the solution of optimal control problems, the computa
tional characteristics of these problems need to be identified.
Computations of LFSs having x{d) as the state-of-rest [10] may find additional dif
ficulties during a computational process. ControUabihty [10] is an important concept
related to this issue. Effective techniques are required for establishing the controlla
bility in PNs.
In summary, this dissertation addresses the following set of problems encountered
in dealing with PN representations:
1. Finding out suitable techniques for the polynomial time computations of LFSs.
This includes computing unbounded and unrestricted PNs and eliminating spu-
rious firing vectors from the computation of a LFS. Straightforward design of a
computational method is always desired.
2. Identifying suitable methods for computing PN models of optimal control prob
lems. This also covers computing ordinary PNs having self-loops and GPNs
having cycles. Identifying the difficulties related to the computation of optimal
state trajectories for optimal control problems poses another significant prob
lem. Analyzing the difficulties and also justifying the computability for estab
lishing the controllability and also the observability of a given PN reachability
problem are also important.
3. Deadlock detection and characterization in the computational process and iden
tifying suitable methods in order to avoid deadlocks. Framing of a formal and
mathematical approach for analysing deadlocks and forming theoretical foun
dations for the computational deadlock detection and analysis.
4. Reducing the total number of constraints and also the number of total variables
to reasonable values for a computational process. This will cover broad issues
like addressing the combinatorial state-space-explosion problems [51].
5. Identifying the approaches necessary for large problems and finding out the re
lated computational difficulties. The generalization of a computational method
is also important.
6. Computation of a LFS with reasonable computation time, time complexity and
memory space requirements.
The PN models considered in this dissertation addresses problem types which
broadly covers the following:
1. Safety-critical system design such as the design of an automatic railroad crossing
system,
2. Design of concurrent real-time systems,
3. Flexible Manufacturing Systems (FMS),
4. Manufacturing system design and analysis,
5. Control Systems.
Both structural and behavioral properties of traps and siphons are important in
connection to the reachability analysis of GPNs. Therefore, prior to the deduction and
analysis of a computational algorithm, the properties and characteristics of siphons
and traps are investigated. This forms an elementary part of this dissertation.
Liveness is an important property for deciding the reachability of PNs. Many
important applications are directly related to this property. A sound analysis of
liveness properties of GPNs has been done. A background discussion of liveness
properties of GPNs is an introductory part of this dissertation.
Finding LFSs in PNs with a prespecified u and d is an optimization problem with
minimizing the total transfer of tokens control objective. Mathematical program
ming techniques are powerful computational methods. The optimization problem of
computing a LFS for the PN reachability with a prespecified u and d can be framed
as an all-integer-programming-problem and can be solved using LP-relaxation. This
approach overcomes the difficulties associated with the reachability tree and the cov
erability tree methods which are based on exhaustive enumeration techniques.
An LP-based method like the Simplex method behaves approximately linearly for
small problem sizes [9]. A mathematical programming approach like the one which is
based on LP eliminates spurious firing vectors from the computation of a LFS. Such
an implementation is straightforward [70].
The Optimality Principle (OP) forms a basis of DP. OP may effectively be used
for computing optimal control problems. The OP-based LP method computes all the
firing vectors in a LFS in just a single LP step and overcomes the computational dif
ficulties associated with self-loops and cycles in a PN model. This method overcomes
the computational difficulties associated with potential critical siphons and critical
transitions. OP-based LP overcomes the problems related to self-loops and cycles in
PNs.
In order to reduce the number of constraints and the number of unknown variables
to reasonable values for the purpose of computations, one possibility is to break down
the given problem. The complete reachability problem with a prespecified u and d
has been broken down into a multi-stage decision problem and each stage is solved
using DP. Iterative schemes are supported by almost all of the powerful compilers.
Therefore, an iterative version of the DP algorithm is implemented.
For modeling concurrent systems using PNs, the number of reachable states for
the analysis may become enormous. Hence, using the DP approach alone, there is a
chance of combinatorial state-space explosion for relatively large problems. A solution
to this problem is to combine two different optimization methods in order to have a
more powerful and versatile computational technique. One approach is to combine
DP with LP in order to have a DP-based LP method. Another technique is to use
the reversed net A ~ of an originally given PN A'' for the computations. This scheme
potentially strengthens the computation of a LFS and aids in avoiding the potential
critical transitions on the originally given net A''. Backward directional computational
technique of DP is used with the reversed net by splitting the complete problem into
a multi-stage decision problem and each stage has been solved using an application of
LP. This gives rise to the DP-based LP method combining three different techniques:
1. Use of the Reversed net A''"^ of an originally given net A'',
2. using DP,
3. using LP.
Such a combined method is more powerful compared to the use of a single method
alone. The method has been successfully applied for solving the reachability in unre
stricted PNs. The method discussed in [44] does not address application issues. Also
it needs further clarification and analysis. These incomplete works on the DP-based
LP method are completed in this dissertation.
Splitting up an originally given problem into a multi-stage decision problem defi
nitely reduces the number of variables to be solved. It also reduces the total number of
specification constraints at each of the computational steps. Thus, this technique re
duces the computation time, time complexity and also the memory space requirements
needed for a computation. Hence, large problems are solvable using this technique.
There are two forms of DP techniques. One is a forward iterative DP technique
and the other is a backward iterative DP technique. The computation time of an
algorithm is a major concern in developing a method. The forward iteration of DP
can conveniently be used for computing LFSs by subdividing the problem into a
multi-stage decision problem. This implementation is more powerful since LP is used
to compute a legal firing vector at each stage of the multi-stage decision problem to be
solved by the forward directional DP method. This straightforward implementation
enhances the computational process and decreases the computation time.
To compute optimal LFSs, the Discrete Time Pontryagin's Minimum Principle
(DTPMP) is proposed to effectively compute discrete optimal control problems. The
reachability problem with prespecified u and d is formulated as a two-point-boundary-
10
value-problem (TPBVP) and the Hamiltonian function which needs to be minimized
is deduced. This takes additional complexity in designing a method based on DTPMP
and needs ^-directional convexity. A technique like LP is used for computing a legal
firing vector at each stage of the computations after the reachability problem has been
reformulated as a multi-stage decision problem for using with the DTPMP. With this
scheme an extra algorithm to avoid the firing of critical transitions is required. This
is a heuristic approach to make the computational process self-sufficient, automatic,
and user interaction independent. The issues pertaining to the computation of adjoint
coefficients for the DTPMP turned it into an approximation algorithm instead of
an exact algorithm. -An approximation algorithm provides a near optimal solution
instead of an optimal solution which is good enough for most real case applications. In
optimal control problems like those associated with a Flexible Manufacturing System
(FMS) or Manufacturing Systems, sometimes near optimal solution to a sequencing
problem is good enough to serve practical purposes. For a problem of this type, a
relatively large PN needs to be considered. Therefore, PMP-based LP method is a
good approach for these problems.
Necessary computational methods are developed to address the problems identi
fied. Methods are developed to approach the identified problems according to strate
gies outlined in this section. None of these methods is capable of addressing all of the
identified problems. But based upon the characteristics of each method developed,
it potentially addresses some of these problems. This dissertation discusses these
methods and also related results in a unified framework. Also the related analysis is
provided.
11
1.4 Organization of the Dissertation
Chapter 2 consists of preliminary discussions which include elementary notations,
basic definitions, the characterization of reachability criteria and the analysis of
siphons and traps. It also discusses the basic reachability problem with prespec
ified u and d. It contains some analysis related to the reachability problem with
known u and d. The importance of the problem is also discussed.
In Chapter 3, some preliminary work is presented. It discusses single-step LP,
DP-I-LP (DP-based LP in this dissertation) and PMP-I-LP (Pontryagin's Minimum
Principle-based LP in this dissertation) methods in connection to previous publica
tions [44, 45, 46].
Chapter 4 discusses important computational properties of siphons and traps. The
results discussed are important in connection to the algorithms developed and also for
computational deadlock detection and analysis. This chapter also considers safeness
and liveness properties of PNs from a computational standpoint.
Chapter 5 analyses the Single-Step LP method. Some related results for the com
putations are presented. A computational mechanism of the single-step LP method
is illustrated.
In Chapter 6, the Optimality Principle (OP)-based LP method is presented. The
difficulties associated with self-loops and cycles in PN models are addressed and
solutions are discussed. Controllability and Observability in connection to the OP-
based LP method are also discussed.
Chapter 7 discusses the DP algorithm for computing LFSs of PNs. The method
to avoid computational deadlocks using dynamic programming (DP) is described.
Also the solution for reducing the number of constraints and also the number of
unknown variables to reasonable values using DP is detailed. Not all computational
techniques/methods are supported by each and every powerful scientific compiler.
12
This chapter also deals with this problem.
Chapter 8 introduces reversed nets and discusses the DP-based LP method. The
technique to combine two different optimization methods is presented. The compu
tational advantages in using reversed nets are described. This chapter also addresses
unrestricted PNs having arc weights greater than one, which poses another difficulty
in finding LFSs of PNs. To this type of PNs, relatively stronger and more powerful
techniques are required. One problem associated with the modeling of a concurrent
system using PNs is that the number of reachable states becomes enormous. This
chapter deals with these problems.
Chapter 9 is based on the FDP-based LP method. The properties of unimodularity
to compute a LFS of PNs are also considered. The FDP-based LP algorithm to
address large problems is introduced in this chapter. This chapter also discusses the
complexity associated with this algorithm.
Chapter 10 presents the Discrete Time Pontryagin's Minimum Principle (DTPMP)
for both states and the final time fixed problem. The goal of this chapter is to give
a general overview of the LP relaxation of Pontryagin's Minimum Principle (PMP)
with appropriate examples, to show the advantages behind adopting the relaxed PMP-
based LP method and the need for the z-directional convexity. Optimal control-based
analysis is provided. Characterization of computational deadlocks for the analysis of
PNs is detailed. This chapter also addresses deadlock detection and avoidance in
PN models, which is a problem associated with the current computational tools and
techniques.
Chapter 11 discusses computation time consumed by the methods. A comparison
among the computational methods is presented. A brief summary based on the
characteristics of the methods is outlined in this chapter.
Chapter 12 summarizes the research and suggests future research topics. Also this
chapter explains window-based PN tool developments for future research.
13
CHAPTER 2
NOTATION AND DEFINITIONS
2.1 Elementary Notations
The following terms and notation will be used throughout the dissertation.
1. N = {P,T,a^,a'): The structure of PNs.
2. P: {pi,P2, • • • ,Pn} is a finite set of places.
3. T: {ti,t2, • • •, tm} is a finite set of transitions.
4. a'^: (n X m) incidence matrix with arcs from transitions to places. In other
words, a"*" is the matrix of the output arcs.
5. a": (n X m) incidence matrix with arcs from places to transitions. Therefore
a~ is the matrix of the input arcs.
6. [N, x{0)): PNs having an n x 1 initial marking a;(0).
7. R{x{0)): The set of states reachable from a;(0).
8. x{k): The n x 1 state or the marking vector after the fcth firing.
9. u{j): The m x 1 firing vector at the j th firing which is non-negative.
10. x{d) = Xd- The n x 1 state vector at the dth firing which is known.
11. d: The total number of firings assumed to be known.
12. Bnxi- An n X 1 column vector each entry of which is 1. In general, it is denoted
bye.
14
13. a = a"*" — a : The nx m incidence matrix.
14. u: An m X 1 firing count vector each element of which is the total firing count
of the corresponding transition in the complete firing sequence a.
15. Imxm- An mx m Identity matrix.
16. Omxn- An m X n matrix each of whose entries is a zero. This is called an m x n
zero matrix.
17. 'P: The set of input transitions of places P.
18. P': The set of output transitions of places P.
19. Au = {Pu,Ty,,a'^,a~): The structure of a firing count subnet.
20. Py,: The set of places in a firing count subnet, and in general | Pu |< | P |.
21. Tu'. The set of transitions in a firing count subnet, and | T„ |< | T |.
22. a j : The | P« | x | T^ | incidence matrix with arcs from transitions to places.
23. a~: The | Pu | x | Tn | incidence matrix with arcs from places to transitions.
24. au = a^ - a~: The | P^ | x | T^ | incidence matrix.
25. Xuij)- Marking vector at the j th firing of the firing count subnet.
Note that P[jT y^ (f) and Pf]T = (j), where (f) stands for the empty set.
The following rules govern the firing of transitions:
1. A transition is enabled, if and only if each of its input places contain at least as
many tokens as the weights associated to the corresponding input arcs. Math
ematically, this is expressed as:
x{k-l)>a-u{k), k = l,2,...,d (2.1)
15
2. An enabled transition may or, may not fire.
3. When an enabled transition fires:
• The number of tokens equal to the weights of the input arcs (given by
a~u{k), k = 1,2,.. .,d) from each of the input places is removed; and
• The number of tokens equal to the weights of the output arcs (this is
a'^u{k), k = 1,2,.. .,d) is deposited into each of its output places.
Let {ie(A:)}, / = 1,2,... ,y be a set of enabled transitions at the k-th firing. If
4(A;) = A, *A = {PeJ, i = 1,2,. ..,r. Denote by w{p'-g.) the token content of the set
of places p'g., i = 1,2,..., r. But A' = {p[}, j = 1,2,...,v. Also w{p^^.) = token
content of the places Pg., j = 1,2,... ,v. The objective is to select a transition t^
from the set {t[{k)}, where / = 1, 2 , . . . , y with an optimum number of tokens given
by:
(w{pl.) - w(plj) = [Er=i([ay] X [uj{k)])], where ; = 1,2,..., m (2.2)
Here, u{k) is the firing vector at the kth. firing instance whose only one element is
one and the rest of the elements are zero. The total number of transitions is m and
n is the total number of places in the PN.
Considering the m x 1 firing vector u{k) and the n x 1 marking or the state vector
x{k) at the A;th firing, the changes of states are mathematically defined using the
following state equation:
x{k) = x{k -1)+ au{k), k = l,2,...,d (2.3)
At each firing instance k, only one transition is allowed to fire. This is expressed by
the following equation: m
J2ui{k) = l, k=l,2,...,d (2.4)
16
If the optimal firing vector sequence {u{k) : k = l,2,...,d} from the initial state
(marking) a;(0) to the final state (marking) x{d) exists, then the following equations
are obtained using equation (2.3).
x{d) = x{0) + au, (2.5)
u = Y:i^{k) (2.6)
2.2 Useful Definitions
The following are useful definitions used throughout this work.
2.2.1 Legal Firing Sequence
The sequence of firing vectors a = {u{k)}, which transforms a given initial marking
or state x(0) to a given destination marking or state x{d), such that each of the
transitions in that sequence a can fire sequentially in the order of a starting from
x(0) and the total firing number a{t) of each transition t in a becomes equal to Ut,
then the sequence of firing vectors a is called a Legal Firing Sequence in the PN
terminology. Also a firing vector sequence a is called a firing sequence for short.
2.2.2 Optimal Legal Firing Sequence (OLFS)
An optimal legal firing sequence is a legal firing sequence (LFS) {u{k)}, k =
0,1,2,.. .,{d - 1) which corresponds to the optimal state trajectory x{k), for k =
0,1,2,...,d.
2.2.3 Firing Count Subnet
The firing count subnet is defined on {N,x{0)) with x{d) and u as follows [51]:
the firing count subnet Nu of a given PN N is obtained by removing the transitions
17
(2.8)
and arcs connecting those transitions corresponding to the zero elements of the firing
count vector u.
2.2.4 Linear Programming (LP)
-A linear programming problem has the following standard form:
Minimize y + CiXi -\- c^x^. H V CnXn- (2.7)
subject to : anXi + 0 2X2 H h ai„a;„ -H Xn+i = k, (a)
a n d Xi,X2,---,Xn+m>0. (b )
y, Uij, Cj and hi are constants,
with i = 1,2,- •• ,Tn and j = 1,2,- • • n.
The above form of LP problem is called the canonical form [36]. The set of constraints
in equation 2.8(a) can be arranged in a standard matrix form.
-A LP problem is said to be in normal form if it has only equality constraints of
the form (2.8)(a) and nonnegativity constraints of the form (2.8)(b) [58].
A LP problem is said to be in restricted normal form if each equality constraint
of the form (2.8) (a) has at least one variable that has a positive coefficient and that
appears uniquely in that one constraint only [58].
2.2.5 Siphon
A siphon is a subset of places in a PN that as soon as it becomes token-free, it re
mains token-free from the next firing instance and satisfies the following property [51]:
<j) C 'P C P\
Here, P is the partial set of non-empty places in a siphon and 4> is an empty set
of places. The total token count in any siphon either remains constant or decreases
18
during a computational process. The latter is due to the sink transition (a transition
without any output place) effect. Therefore, once a siphon becomes token-free, it
remains token-free from the next firing instance or marking. A siphon does not
contain any source transition (a transition having no input place).
2.2.6 Trap
-A trap is a subset of places in a PN which, once gets marked, remains marked from
the following firing instance. A trap is defined mathematically as [51]:
(j) C P* C 'P.
The total number of tokens in a trap either remains constant or increases during the
computations. The increase in the total token count is due to the source transition
effect. Once a trap becomes marked, it remains marked or holds tokens from the
next marking or the next firing instance (A; -I-1). This is a very important property
regarding traps. From its definition, a trap does not contain any sink transition (a
transition with no output place).
A Basic Siphon (Trap) is a siphon (trap) which cannot be represented as a union
of other siphons (traps) [51].
A Minimal Siphon (Trap) is a siphon (trap) which does not contain any other
siphon(trap) as its exact subset [51].
2.2.7 Deadlock
Deadlock occurs in a discrete event dynamic system (DEDS) with nonsynchronized
parallel actions [76]. If a system reaches a deadlock, then some parallel actions wait
for some other actions (for the release of a resource), and the system cannot proceed
any further. In PN terminology, a deadlock occurs when a transition or a set of
transitions cannot fire. A deadlock may not occur in a PN which contains siphons.
19
2.2.8 Reversed Net
The reversed net structure N-^ [51] of a net structure N = {P,T,a+,a-) is the
unmarked net obtained by reversing the direction of each arc in A .
2.2.9 Place Invariance
-A P-invariant is a set of weights associated with the corresponding places so that
the weighted sum of tokens on these places is constant for all markings reachable from
an initial marking [76]. These places are said to be covered by a P-invariant, denoted
bv' ]| Pi II . This property of the set of places || Pi \\ is known as place invariance. A
vector Ip with n columns, one row and with only non-negative integer elements is a
P-invariant to a given PN N if:
IpXa = 0, (2.9)
where a is the incidence matrix of the PN N and n is the total number of places.
2.2.10 Transition Invariance
-A T-invariant is a vector representing the firing counts of the corresponding tran
sitions that belong to a LFS transforming a marking x(0) back to x(0) [76]. A
T-invariant indicates all the transitions that comprise the LFS transforming x(0)
back to x(0), and the number of times these transitions appear in this LFS. It does
not specify the order of transition firings. Properties of a T-invariant are known as
transition invariance. Let a be the nxm incidence matrix of a PN N having n places
and m transitions. If It is a m x 1 vector which is a T-invariant to the PN A'', then
the following relationship holds:
axlt = 0. (2.10)
20
2.2,11 Ordinary Petri Nets
In an ordinary PN [56], each arc weight is one. This means if w(p,t) is the weight
of the arc from any place p to a transition t, then w(p,t) = 1.
Proposition 2.2.1
-All closed loops in an ordinary PN No are of even arc weight.
Proof: From the basic definition of closed-loops in a PN A'', a closed-loop starts from
some place Pdc and finally returns back to p^c- Consider a closed-loop 4 - If there is
a total of Udc places and nidc transitions, then there should be an arc of weight one
from Pdc to the next transition and also an arc of weight one from that transition to
the next place in the loop and so on. From the final transition in the loop, there must
be an arc of weight one back to the place pdc- Hence, the next condition generally
holds for any closed-loop in a GPN:
ride = rUdc- (2.11)
Thus, the total number of the arcs in a closed-loop dc={ndc+mdc)=2ndc- This number
2ndc is always even for any integer value of Udc- The minimum possible value of n c
is one, which is the case for a self-loop.
Q.E.D.
2.3 Reachability Problem with Known u and d
For the reachability problem under consideration, u and d are prespecified. This is
an all-integer-programming problem. With mathematical rigor, the basic problem is
to find the optimum firing sequence {u*{k)} to minimize the quantity:
d d
J=J2 ^'<k) = E e*{ ( - 1) + au{k)}, (2.12) fc=l k=l
21
subject to (a) x{k) = x{k - 1) + au(k),
(b) x{k-l)>a-u(k),
(c) T,T=iUi{k) = l, u{k) = [ui{k)],
(d) Ei=iuik) = u, \ (2.13)
(e) x{0),x{d) and d are fixed,
(f) a;(0),2;(/c) > 0 ; integers,
(g) u>Q, u{k) > 0; integers,
where e* means the transpose of e.
Equation 2.13(a) specifies the basic movement of tokens in the given PN A''. The
incidence matrix a=a+ - a~ and x{k) - x{k - l)-l-(a''' - a~)u{k) means firing a
transition corresponding to the firing vector u(k) on x{k - 1), a marking x(k) is
reached by removing tokens a~u{k) from x{k — 1) and adding tokens a'^u{k) to it.
Equation 2.13(b) describes the enabling condition of a transition, corresponding to
the firing vector u{k). For a transition to be enabled on x[k — 1), x{k — 1) must
contain at least as many tokens as a~u{k) or greater, where u{k) is the firing vector
corresponding to the enabled transition under consideration. Equation 2.13(c) states
that the m x 1 firing vector u{k) has the summation of all its elements equal to one.
Equation 2.13(d) states that the sum of all firing vectors u(k) for k = l,2,...,d
should be equal to the firing count vector u. Equation 2.13(e) states that the initial
marking x{0), the final marking x{d) and the total number of firings d are predefined
and fixed. Equation 2.13(f) states that the initial marking x{0) and the marking x{k)
at the A;th firing, k = 1,2,... ,dshould be non-negative integers. Therefore, equation
2.13(c) automatically implies that only one element of the non-negative firing vector
u(k) could be unity at each firing instance k and the remaining (m — 1) elements of
u{k) should be zero.
22
Considering the objective funcrion (2.12) and the set of constraints (2.13), clearly
the objective function is in a linearly additive form. Also the net state equation
is linear which may be effectively used to derive any further form of the objective
function. Thus, the objective function is always linear. The set of constraints on the
objective function are all linear for a prespecified firing count vector. Therefore, the
PN reachability problem of finding the LFS is in linear form and is an LP problem.
Hence, any feasible LP technique could be used for finding LFSs of PNs with known
u and d. The two-phase simplex subroutine [58] and the revised simplex package
routine DLPRS from IMSL, Inc. [34] have been successfully used for it.
2.4 Critical Siphons and Critical Transitions
The concepts related to the critical siphons and critical transitions are introduced
and analyzed [44]. The analysis forms a foundation for identifying computational
deadlocks and provides effective guidelines for designing algorithms that overcome
the problems associated with a computational deadlock. To illustrate the concept of
critical siphons and critical transition, consider the PN of Figure 2.1.
^ ,. P*
Figure 2.1: PN A with x{0) = [0,2,1,0,2]' and x{d) = [0,3,0,0,0]*.
23
For this PN, a;(0) = [0,2,1,0,2]*, x{d) = [0,3,0,0,0]* with u = [1,3,4,1,2]*.
-A possible LFS for this problem is, a = {ti,t3,t4,t5,t5,ts,t2,t3,t2,t3,t2). Table 2.1
shows the computation.
For j = l in Table 2.1, if t2 is selected, then clearly the problem which has been
given becomes unreachable (12 is the sink transition of the siphon Ps = {pi,P3,P4}
on the marking). If t^ is selected then the net is reachable (but for this given value
of •u=[1,3,4,1,2]' and d = 11, if 4 is allowed to fire then ultimately realizing the
firing count vector u = [0,1,1,1,2]*, the final marking a;(d)=[0, 3,0,0,0]* is reached
but the effective firing count vector u = (u — u) = [1,2,3,0,0]* becomes unrealizable
and the system is deadlocked. Transition t^ is the sink transition of the siphon
{P1)P3JP2} in this case with j = 1). On the other hand, if t2 or, ts is selected at
j = 3 and afterwards if 2 or, is is selected depending on the priority, then each of the
nets become unreachable at ; = 8 (transition 2 is the sink transition of the siphon
Ps = {Pl,P3,P4})-
Therefore, from this example, it is possible to have an idea about the concepts
pertaining to critical siphons and critical transitions. Considering that for a given
reachability problem of finding one optimal LFS cr, there exists an enabled transition
tp ^ Ts n{'Ps r\ Ps) ' ' ith Up{k) > 0 in a siphon Ns- Suppose that there is another
enabled transition tc e Ts\'Ps with Hdk) > 0 in Ns on x{k) e R{x{0)) at the k-th.
firing. Now, if at least one transition tp € Tg flCPs fl Ps) "^ith Up{q) > 0 cannot fire
at some marking x{q) e R{x{k)), k -\-1 < q < d, due to the firing of tc G Ts\'Ps at
the kth firing, then Ns will be called a critical siphon at x{k) e R{x(0)) for the given
reachability problem. The transition tc will be called a critical transition.
24
Table 2.1: Reachable states for the given problem.
Here x{0) = [03000]* and x{d) = [02102]*.
j [Au{d-j + l)f {t} [x{d-j)f
1
2
3
4
5
6
7
8
9
10
11
[1,3,4,1,2]
[0,3,4,1,2]
[0,3,3,1,2]
[0,3,3,0,2]
[0,3,3,0,1]
[0,3,3,0,0]
[0,3,2,0,0]
[0,2,2,0,0]
[0,2,1,0,0]
[0,1,1,0,0]
[0,1,0,0,0]
{ti,t2,U} [6,0,0,0,2]
{t_3} [4,0,1,0,2]
{ 2, 3, 4} [4,0,0,2,2]
{t3,t,} [5,0,0,1,1]
{t3,t5} [6,0,0,0,0]
{ta} [4,0,1,0,0]
{t_2,t3} [4,1,0,0,0]
{tj} [2,1,1,0,0]
0_2,t3} [2,2,0,0,0]
{t_3} [0,2,1,0,0]
{t_2} [0,3,0,0,0]
A marking x(k) is said to be critical at the kth firing, if there exists at least one
critical transition tc at x{k) with 0 < k < d. In other words, a marking Xc{k) is said
to be critical at the kth firing provided that there exists at least one critical transition
tc on that marking.
For the example considered, Ps = {pi,P3,p4} is a critical siphon on x(0) at
firing k = 1. Now Ts = {ti,t2,t3,t^,t5}. Also 'Ps = Oi,t3,t4,t5} and P's =
01,^2,^3,^4,^5}. But t2 E Ts\'Ps with ^ 2(0) = 3. Therefore, TsHCPsHPs) =
25
{ti,t3,ti,tc,}. Now ti e Tsf]{'Psf)Ps) and ti cannot fire at A; = 2 on x{l) due to
the firing of 2 at x(0). Hence, Ps = {pi,P3,P4} is a crirical siphon at x(0) and x{0)
is a critical marking. Transition <2 is a critical transition at firing k = 1.
Let Tc be the set of all critical transitions and Ts be the set of all sink transitions
of the critical siphons for deciding any given reachability problem with a prespecified
u and d. Then the next relationship holds.
Ts C Tc. (2.14)
Figure 2.2: A given PN (A^,a;(0)).
To illustrate consider the net in Figure 2.2. The PN in Figure 2.2 represents
transitive conflicts at a;(0) for computing a LFS with x(0) — [1,1,0,0]*, x(d) =
[0,0,0,0]* and a firing count vector u = [1,1,1,1,1]*. Transitions ti , 2 and ts are
enabled at x(0). These transitions are in a transitive conflict at x{0). Transition ts
is the sink transition of the siphons {^1,^3}, {pi,p4} and {P2}. If 3 fires at x{0),
all three siphons will become token-free from x{l) and the computation is sure to
be deadlocked. Transition 3 is the sink transition of the potential critical siphons
{PiiP3}i {Pi,P4} and {P2} on x{0). Thus, 3 is a potential critical transition on
x{0). Hence, concepts pertaining to the critical siphons and critical transitions are
directly related to the concept pertaining to transitive conflict at some marking of
26
a PN reachabilit}' problem. This relationship is of prime importance in designing a
computational algorithm for overcoming the difficulties mentioned.
Clearly the PN in Figure 2.1 contains a number of siphons and some of the arc
weights are greater than one, which is the case for an unrestricted PN. This sort of
PN needs a relatively stronger computational method.
In the previous research work, PNs are considered in such a way that sufficient
conclusions about these nets can be made and also their relevant properties can be
extracted. Initial markings considered with an example net play significant roles in
deciding the reachability with a prespecified u and d. Behavioral properties of a
PN means reachability, liveness and boundedness etc. Behavioral properties of PNs
depend to a large extent on the initial marking. For example, reconsider Figure 2.2.
for a given initial marking x(0)=[l, 1, 0,0]*, the PN exhibits transitive conflict at a:(0),
but if x(0) were [3,1, 0,0]*, the net would have been live at x{0).
2.5 Token-Free PNs
-A PN which does not have tokens (no resource) at a specific marking is known as
a token-free PN at that marking. Token-free PNs at the final marking x{d) play a
significant role in modefling control systems. For example, consider the PN in Figure
2.3. The net may be considered in connection to the computations for establishing
Controllability [10]. The net of Figure 2.3 contains both a sink and a source transition
[51].
27
Figure 2.3: A given PN A with x{d).
28
CHAPTER 3
PRELIMINARY WORK
A PN reachabihty problem is decidable [51]. However, it has exponential time
and space complexity. The reachability and the liveness problems are the two most
fundamental problems in PNs and solutions have not been attempted for a long
period of time. These problems had been addressed in [47]. However, the reachability
tree remains as the only useful method for verifying the reachability of unbounded
PNs. For certain sub-classes of PNs, necessary and suflScient conditions for simple,
useful reachability criteria have already been obtained [27]. A necessary condition
for unrestricted PNs to become reachable is that the state equation for the difference
between x{d) and x(0) should have non-negative integer results (the firing count
vector u should always be non-negative). Hence, the reachability problem with the
given u = [ui], i = 1,2,3,- •• ,m (where each component Ui denotes the total number
of firings of the z-th transition ti in the sequence) means computing the LFS {u{k)}
which satisfies the equations d
J2 u{k) = u k=l
and
d = ^Ui. j = i
But at each firing instance k, only one of the enabled transitions is allowed to fire. At
this point, this is an all- integer-programming-problem having fixed lower and upper
bounds. This problem has been solved using LP techniques with a polynomial time
algorithm described in [18]. A major drawback in this algorithm is that the number
of constraints and the number of unknown variables increase whenever there is an
29
increase in the length of the LFS d. In order to reduce the number of variables and
the constraints, a new method has been proposed in [19]. The method can compute
a LFS of the PN reachability problem provided the net is not too large. But this has
been achieved at the expense of increased complexity and extra processing stages.
3.1 Preliminary Work on Single Step LP
The following definition is important in connection to the Single step LP method.
Definition 3.1.1
Basis Matrix: Let -A be a n x m constraint matrix of a LP problem in the standard
form. If /„ is an n X n unity matrix, then any nonsingular (n, n)-submatrix B of the
matrix [.4 /„] is called a basis matrix. The index / with a suffix n, /„ denotes an
(n X n) unity matrix. The columns of B form a basis of the space RP-. 0
In order to reduce complexity and to design a straight forward computational
method, a LP-based method is proposed and implemented [70]. The method is out
lined in the following. For k = 1,2,.. .,d, find the optimum firing sequence {u*{k)}
such that
J* = min[e\dx{0)) + e*a(u(cf)) + e^a{2u{d - 1)) + . . .
+e*a(du(i)) + Er=i y} + E?=i y] - e ZU n = i 4], (3.1)
30
subject to
*m X m •* m x r
Oly,n »(
O i xm C^lxm
On>
Onxm On>
^m X m J m X m Om X 1 • • • Omxn
O i x m O i x m / i x l . . . O l x n
O l x m O i x m O i x l . . . O l x n
^ m x l O i x m ••• i ' l x l O l x n
~ 1 O n x m O n x l . •• Inx-n.
—0. Onxm Onxl ••• InXn
On On> Onxn
OmXn
O i x n
O l x n
O l x n
OnXn
Onxn
'tnxn
-u{d)
u(d- 1)
«(1)
y'
y'
s^
s"
=
-u
A XI
/ i x i
x{0)
x(0)
_ ^(0) J
(3.2)
Consider the net in Figure 2.2, the initial marking is x(0) = [1,1,0,0]*, the destination
or the final marking is x[d) = [0, 0, 0, 0]* and a firing count vector is u = [1,1,1,1,1]*
with d = 5. On x(0), ti, t2 and ts are enabled. Firing ts, the total transfer of tokens
= (0 — 2)=—2, whereas the same for firing ti = (1 — 1) = 0 and for firing t2 = (1 — 1)
= 0. Therefore, firing ts at x{0), the total transfer of tokens is a minimum. But ts is
the sink transition of the critical siphons {pi,P3}, {pi,Pi} and {^2} at x{0). Single
step LP avoids the firing of ts at x[0) and the LFS obtained is a = (ti,t4, t2,i5,ts)
implying that the computation avoids the firing of ts at x(2). At x{2), both t2 and
ts are enabled with ts as the sink transition of the critical siphons {pi,P4} and {^2}-
The number of unknown variables for the LP method is (m -{• d -\- n x d -\- m x d).
The total number of constraints=(m -\- d-\-nx d). Let Y = (m + d-tnxd + mx
d) -\- (m -\- d + n X d)={2m -^ 2d -\- 2n x d + m x d) . Now, the time complexity
is of 0{hY) with h is a, constant of proportionality. .Assuming LP is a polynomial
time algorithm of order 4 of the size of the problem, then the time complexity of the
Single LP method is OihY)cx Y\ Therefore, Y^ = [2(m H- d + n x of) + m x d] ~
[2(m + n + 1) X d]^ ~ 16d^(n + m + 1)1
31
This method needs further analysis and appropriate examples and applications
need to be investigated.
3.2 Previous Work on DP
DP is a powerful computational technique for sequential optimization. A DP algo
rithm which uses the depth-first-search (dfs) for computing LFSs of PNs is proposed
in [44]. The method uses a recursive technique and relies on the following equation.
(the derivation is not shown here)
r{x{k-l),k) = „(^;^^{J(x(A;-l),t/(fc),fc)
+J*{x{k),k + 1)}, (3.3)
where J*(x{d),{d-\-l)) = 0 and k = 1,2,.. .,d.
The following characteristics are important in connection to the DP method:
•The computation starts at x{d) and proceeds in the backward direction.
•It computes all e*rr(A;) together with the reachable states x{k - 1) for which the ob
jective function value is J{x{k -l),k) at the kth firing instance, fc = d, (d - 1 ) , • • •, 1.
•The method computes all reachable states in its search space. For example, re
consider the net in Figure 2.3. An initial marking is x(0) = [0,0,0,0,0,0,0]* and
a final marking is x{d) = [2,0,0,1,0,0,0]* together with a firing count vector, u =
[0,0,1,1,1,1,1, 0]* and d = 5. An optimal LFS from the initial to the destination
marking has been computed to he a = {t^,t-j,t4,t3,t^) by the DP algorithm.
3.3 Preliminary Work on DP-Based LP Method
In order to apply DP for large, reasonably sized PNs, the reachabihty problem with
a prespecified u and d is organized as a d part process. The original form of DP based
on the optimization principle of Richard Bellman has been used in [44] where it is
32
referred to as the DP-I-LP method. The DP-l-LP method is based on the following
characteristics:
•The method computes on the reversed net N~^ of an originally given PN N.
•The DP-I-LP starts computing at x{d).
•It uses d LP steps.
•Can compute reasonably large problems.
•The incidence matrix of the reversed net N~'^ of a given PN N is given by - a =
a~ — a'^, where the incidence matrix of N = (P, T,a'^,a~) is a = a'^ — a~. Therefore,
Ar-i = (P , r , a - , a+ ) .
The method is stated next (the derivation is not shown):
For A; = 1,2, • • •, d, find the optimum firing sequence {u*{k)} such that, k = ( d - j + l)
and for 7 = 1,2,... ,d
J * ( a ; ( d - j ) , d - j + l)
= f, ""!" , , , [ - e * W d - j + l ) - a n ( d - j + l)} u{d — J + 1) € c/
+r{x(d - J + 1), d - i + 2) + £y,'(d - j + 1)
+y^(d-j + l)-sJ2si{d-j + l)], (3.4) i=l
subject to:
33
^mxm Imxm OmxX Omxn
^mxl Oixm hxl Olxn
^ Onxm OnxX Inxn
u{d - j + 1)
vHd-j + i)
V\d-j + l)
s(d -j + 1)
Au{d -j-\-l)
hxl
x{d)-aY:ff,u*{d-j-^l)
(3.5)
where for j = 2,3, • • •, d,
A u ( d - j + 1) = Au{d-j + 2)-u*(d-j + 2)
x(d - j + 1) = x{d - j + 2) - au*{d -j + 2)
and for j = 1 Au(d) = •u,x(d)and d are fixed. } (3-6)
Note that J*{x(d), d -f 1) = 0, and
x{0) = x{l) — au{l) is also fixed.
The initial value of the objective function J*(x(d—j), d—j-Hl) which is J*(x(d), d-l-
1) is 0 right at the beginning. Once values of the global optimal firing vector u*{d —
j + 1), artificial variables y^{d—j + l), j/^(d—j + l), and the slack variables s(d—j-l-1)
have been decided from the solution of LP at some iteration j , the objective function
J*(x(d — j),d — j + 1) is also computed which becomes a constant for the following
iteration. The normalized set of constraints is of the form, Ax = b. In this set of
constraints, the column matrix ((m + n -\- 1) x 1 matrix) b is updated after each
iteration. The first m elements of the vector b (i.e., from 62-i-m upto bm+n+i) is the
marking x(d) — oZ)j=i u'{d — j + 1). Therefore, after each iteration, these elements
of vector b except bm+i are recomputed. Thus, the basic DP technique is included in
34
the LP formulations. That is why the method is called DP-fLP method in [44].
-A set of characteristics of the DP-I-LP method has been described in the introduc
tory part of section 3.3. This description is based on the computational characteristics
of the method. But some of the characteristics outlined in the following describe the
significance of each and every term used in the DP-based LP method.
1. The global optimal firing vector u*(d-j-I-1) has been solved in the form of integer
solutions by using LP.
2. The number of the unknown variables for the DP+LP method is (2m -f n -|-1) and
the number of constraint equations are (m -I- n -I-1).
3. There is absolutely no non-linearity in the formulations which obey the precondi
tions of the LP formulations.
4. The fourth term y^(d — j + l) on the right-hand side of the objective function must
be zero for all values of j . And the third term's y^{d — j + 1) is non-zero in general,
but if j = d, then y^{d — j + 1) must be zero. These facts have effectively been used
in each iteration of the DP-f LP method.
5. The fifth term on the right-hand side of the objective function is to select the
basic variables for all slack variables. Also e is a very small quantity which is always
positive.
6. If j = d then Au(l) = u(l) and if j = d then x{d — j)=x{d — j + 1) — au{d — j + 1)
must be x(0). These conditions are important for applying the method.
7. The optimal locus of the states {x*(A;)} for A; = 0 , 1 , . . . , d can be found easily, by
substituting the sequence of the optimal firing vectors {u*(d—j+l)} for j = 1,2,..., d
in the equation of states for PNs.
8. The computation starts from the final marking x(d) and proceeds, it may enter
into the deadlock by reaching a practically unreachable marking (dead marking). The
proposed DP algorithm uses the optimization principle on the backward direction for
35
the computations. Therefore, the algorithm selects that particular enabled transition
as the firing transition t, from the set of the enabled transitions {t^} at the kth firing
for which the transfer of tokens is maximum in terms of the reversed net N~^. But
there may be multiple t^s in the set {t^} for which the total transfer of tokens are
exactly the same and at a maximum. In that case, the algorithm usually picks up the
first such enabled transition from the set as the firing transition and it is probable
that the computation is deadlocked instead of reaching the initial marking x(0).
-Applying DP-based LP, the number of unknown variables becomes about | of
that using LP directly [18]. The method to overcome the memory problem due to DP
using DP-based LP is discussed in [44]. Note that a problem size not only depends
on the total number of places n and the total number of transitions m but also on d,
the length of the LFS. Therefore, the size of a problem may be large for a longer d
even if the size of the PN is small.
3.4 Previous Work on Pontryagin's Minimum Principle-Based LP Method
In order to avoid the firing of sink transition of a critical siphon as with the DP-
based LP method, a new method based on the Minimum Principle of Pontryagin
(PMP) has been discussed in [46]. The Hamiltonian function H to be described later,
is related to the PN reachability problem with prespecified u and d. Discrete Time
Pontryagin's Minimum Principle (DTPMP) is derived based on the following set of
assumptions:
Condition (1): The matrices fx{x{k), u{k)) are non-singular for alU = 0 , 1 , . . . , (d-1).
Condition (2): The set w(x{k))= {{l{x{k),u{k)), f(x{k),u{k)y) : u(k) G U} is closed
and 2-directionally convex for every x{k). Here the superscript t denotes transpose.
Condition (3): The matrices f^(x{k),u{k)) are ^-directional matrices for all time
A;=0 , l , . . . , (d -1 ) .
36
With proper selection of the adjoint coefficient values, the method can avoid fir
ings of the sink transitions of critical siphons. Salient points regarding this method
are:
•It is particularly suitable for optimal control problems.
•Sometimes, the method is also referred to as the Prediction method, since it can pre
dict computational deadlocks ahead. Due to this special property of the PMP-l-LP
method, a heuristic algorithm has been designed to automatically avoid the firing of
the sink transition of a critical siphon.
•DTPMP states that an optimal firing vector must minimize the Hamiltonian func
tion H [35].
•The objective function J, the Hamiltonian function and the adjoint equations are
given in the following (the derivations are not shown):
J =J:tlKxik),u{k)) =EtJoei,,{x(k) + au(k)}. (3.7)
From the basic objective of PN reachability problems with known u and d,
lix(k),u(k)) = ei^^{x{k) + au{k)}.
H{X{k + l),x{k), u{k)) = {X{k + 1)* + A„e*„ J{x(/c) + au{k)}. (3-8)
X{ky = \{k + l)' + Xoeixi,
A(d) = XoCnxX-
(3.9)
37
•The following are the necessary equations for the PMP-I-LP method.
x{k + 1) = f{x{k), u{k)) {system equation), (3.10)
x(0) = Xo {initial state condition), (3.11)
Xi{d) = Xdi, z = 1,2,..., n {terminal state conditions), (3.12)
X{ky = X{k + l)'f.{x{k), u{k)) + XoUx{k), u{k))
{adjoint equation), (3.13)
Xi{d) = Xoi)^{x{d))\, i = l,2,...,n
{adjoint final condition), (3.14)
For all k, k = 0,1,2,... ,{d-1), and u{k) e U,
H{X{k + l),x{k),u{k)) < H{X{k + l),x{k), v{k)),
or, H{X{k + l),x{k),u{k)) (minimum condition), (3.15)
where H is the Hamiltonian function,
H{X{k + l),x{k),u{k)) = X{k + lYf{x{k),u{k))
+Xol{x{k),u{k)). (3.16)
In the standard LP form, an optimal LFS {u{k)} corresponding to k=0,1, •• •, (d—1)
is computed like the following, where e is a positive and small quantity.
, ,T!! TM^(^ + 1) + Vnxi}*{a;(A;) + au{k)} U[K) € U
m n
+j:ylik) + y'i^)-'E'^ik)], (3.17) 2=1 i = l
38
subject to:
^mxm Imxm Gmx\ Omxn
^mxX Oixm hxl Olxn
^ '^nxm Gnxl Inxn
u{k)
y'{k)
y'{k)
s{k)
Au{k)
hxl
m + aE'zlu{j)
(3.18)
Au{0) = u,
Au{k) = Au{k-l)-u{k-l). (3.19)
(3.20) A(A;) = X{k + l) + Xoenxi,
A(d) - AoC„xi. J
In the LP formulations, x(0) is the initial marking and x(d) is the destination
marking. The element AQ is a constant and is equal to 1.
3.4.1 Salient Points of PMP-based LP Method
The salient points regarding the PMP-based LP method which is referred to as the
PMP-hLP method in [46] follows:
1. The PMP-based LP method is an approximation algorithm in the sense that the
computation of a LFS is based on the assumption that close fractional solution
values are approximated to the nearest integer values and the solution computed
is not always optimal. This means that sometimes near optimal solution values
are obtained.
2. The first term {X{k + l)Y{x{k) + au{k)} of equation (3.17) is meant for the
minimization of moving tokens at the kth firing with a weight of A (A; -I-1). The
39
Hamiltonian H appears in the objective function of LP for minimization at each
firing instance k, since it is necessary for the minimum principle of Pontryagin
that the Hamiltonian be minimized at each firing instance.
3. The problem has been solved using DP and the objective function is given by a
recursive formulation mentioned at each firing instance k without A(A; -I-1). In
fact, the adjoint coefficients X{k + 1) carry out the corresponding functionality
for this method.
4. Finding a LFS using this method means computing an optimal firing sequence
{u{k)] corresponding to the optimal LFS a which is an all integer LP problem.
This is a relaxed problem, since the directional convexity under conditions 1, 2
and 3 are considered for global optimality.
5. The relaxed problem is identical to the original problem except that the z-
directional convexity is needed for global optimality.
6. Time complexity at a sub-problem stage using the PMP-based LP is polynomial.
The time complexity of the simplex algorithm is polynomial, whereas it behaves
linearly in practice [9]. If a complete problem consisting of d sub-problem stages
is solved, then it is solvable with semi-polynomial-time-complexity.
7. Since the method ensures that the state path {x{k)} and the control path
{u{k)], k = 0 , 1 , . . . , (d — 1) is linear, it is guaranteed that the chosen firing
vector is feasible.
8. The importance of Pontryagin's discrete time minimum principle in connection
to the PMP-based LP method is that it enables one to handle variational prob
lems with constraints of boundedness in the firing vectors, where the classical
calculus of variation no longer apphes. Here, the principle is extended for the
40
reachability problem with known u and d where the state variables are subjected
to inequality constraint also.
9. The method shows good computational performance in GPNs containing sym
metric confusions at x(0) [51].
10. The convexity assumptions which are based on the 2-directional convexity are
used with the method to ensure uniqueness of the minimizing firing vectors.
11. ^-directional convexity has been introduced to extend the applicability of the
results, specifically, results on the optimal control of discrete time event sys
tems having a basic discrete time characteristics. These are systems described
by difference equations, such as the PMP-l-LP method applied to the decision
problem of finding one LFS of PNs. Regular convexity assumptions are always
justified in case of a system of difference equations approximating a system of
differential equations or for a system described by differential equations. These
assumptions are not always justified in case of a system of difference equations
describing a control process which is basically discrete.
Example 3.4.1
As an example, consider the PN in Figure 3.1.
•For the net in Figure 3.1, x(0) = [0,0,0,0,1,0,1,0,0]* = x(d).
Also u = [1,1,1, 2,2,1,1,1,1,1,1,1]* and d = 14.
•A computed LFS for the example net is,
cr = {til, ho, ti2, ii, h, t&,tQ, ts, t4, ts, ti, t4, ts, te).
•The computed A(d) value is
A*(d)=[20.0, 1.0, 25.0, 1.0, -7.0, 1.0, 1.0, 1.0, 1.0].
41
Figure 3.1: An example PN for computing a LFS using the PMP-based LP method.
•This is an example of T-invariance since. Ax = x(d) — x(0) = 0 (the initial and the
final markings are the same even though there are transition firings in the net). This
Ax includes other T-invariants as sub-problems within itself
42
CHAPTER 4
STRUCTURAL AND BEHAVIORAL PROPERTIES
Structural and behavioral characterization is important in connection to deadlock
detection and analysis in PN models. Algorithms are developed based on structural
and behavioural properties of PNs which can avoid computational deadlocks in PN
models of systems.
4.1 On Siphons and Traps
Siphons and traps play major roles in computing optimal LFSs in PN models of
concurrent systems. During computations of LFSs in PNs, the following are the types
of siphons frequently encountered.
4.1.1 Closed-Loop Siphon
Closed-loop siphons are commonly encountered during computations. For closed-
loop siphons, all places in the siphon belong to a closed-loop. Figure 4.1(a) is an
example of a closed-loop siphon. The set of places {pi,P2,P3,P4,P5} constitutes
a siphon with te as a sink transition. Since, '{pi,P2,Pz,P4,P5} = Os, ^1, 2, is, ^4}
and {pi,P2,P3,P4,P5V = {h,t6,t2,t3,t4,t5}. Therefore, (f> C •{pi,P2,P3,P4,P5} Q
{Pi,P2,P3,P4,P5}* and the set of places {pi,P2,P3,P4,P5} satisfies the definition of a
siphon. A\sopi,ti,p2,t2,P3,t3,P4,t4,P5,'t5,Pi form a closcd-path in the slphou. Hence
{Pi,P2,P3,P4,P5} is a closed-loop siphon.
43
(a) Closed-loop Siphon.
0^ (b) AcycUc Siphon.
(c) Semicyclic Siphon.
Figure 4.1: Three most common types of siphons.
4.1.2 Acychc Siphon
Consider the set of places {pi}. The set of transitions *{pi} = (j), {pi}* — {ti}.
Therefore, <j) C *{pi} C {pi}* and {pi} is a siphon. Similarly, {pi,P2}, {pi,P2,P3},
{Pi,P2,P3,P4} and {pi,P2,Pz,P4,Pb} are siphons. All these are examples of acyclic
siphons. For these siphons, the reachability criteria is well-defined and well-known.
Figure 4.1(b) is an example of acyclic siphons.
44
4.1.3 Semi-Cyclic Siphon
For semi-cyclic siphons, all places do not belong to a closed-loop. Some places are
within a closed-loop and some are not. Consider the net in Figure 4.1(c). The set of
places {p4,P3,P2,Pi} constitutes a siphon, since •{p4,P3,P2,Pi} = {t4,t2,ti,t3} and
{P4,P3,P2,Pi}* = {U,h,t2,t5,ti}. Therefore, ^ C •{p4,P3,P2,Pi} C {p4,P3,P2,Pi}*.
Hence {p4,P3,p2,Pi} is a semi-cyclic siphon.
The following are the three most commonly encountered traps during computa
tions:
4.1.4 Closed-Loop Traps
Closed-loop traps are the most frequently encountered traps during computations.
Consider the trap in Figure 4.2(a). The set of places {pi,P2,P3,P4,P5} forms a closed-
loop trap. Since *{Pi,P2,P3,P4,P5} = {t6,h,'t2,'t3,U,'t5} and {pi,P2,P3,P4,P5}' =
{ti,t2,t3,t4,ts}. Therefore, (f) C {pi,P2,P3,P4,P5}* Q '{Pi,P2,P3,P4,P5}- Hence, the
set of places {pi,P2,P3,P4,P5} forms a trap and pi,ti,p2,t2,P3,t3,P4,i4,P5,*5,Pi is a
closed-loop.
4.1.5 -Acyclic Trap
A trap may be acyclic. Consider the trap in Figure 4.2(b). For the set of places
{Pi,P2,P3,P4,P5}, the set of input transitions is •{pi,P2,P3,P4,P5} ={h,h,t3,t4,'t5},
the set of output transitions is {pi,P2,P3,P4,P5}*={i2,i3,i4,*5}. Therefore , (j) C
{Pi,P2,P3,P4,P5}* Q '{PUP2,P3,PA,P5}- Hcnce, {pi,P2,P3,P4,P5} is an acyclic trap.
45
(a) Closed-loop Trap.
0-( )—Q-Ri ft a
(b) Acyclic Trap.
(c) Semicyclic Trap.
Figure 4.2: Three types of traps occurring frequently during computations.
4.1.6 Semi-Cyclic Trap
In a semi-cyclic trap, all places do not belong to a closed-loop. Sometimes this
sort of traps appear during computations. Consider Figure 4.2(c), the set of places
{Pi, P2, P3, P4} forms a trap, since •{pi,p2,P3,P4 } = {h,h,t3,U,h,t6} ^T^d {pi,p2,P3,P4}'
={t2,t3,t4,t5}- Therefore (j) C {pi,P2,P3,P4}* ^ '{Pi,P2,P3,P4} and the set of places
{Pi,P2,P3,P4} forms a trap. But only the set of places {ps,P4} belongs to a closed-
loop. Therefore, Figure 4.2 (c) is an example of semi-cyclic trap. All the siphons and
traps considered in this discussion are structural siphons and structural traps.
46
Figure 4.3: Structure of siphons and traps in GPNs.
Figure 4.3 shows a typical structure of siphons and traps in PNs. Consider the
structure of a siphon with a given firing count vector u. It is possible to consider
only the firing count subnet {Nu,Xu{0)) and hence the initial marking is of prime
importance which emphasizes the marking of the siphon at the A; = 0 firing instance.
Let Ns = {Ps, Ts, a^, as) be a siphon with pi G Ps and i = 1,2,.. .,v. For Ns to be
a siphon at the A;th firing, if t, e 'pj for some Pj € Ps, then t, G p', where pi € Ps-
The number of firings Xg{k) corresponding to the transition t, in the effective firing
count vector u{k) is not zero, i.e., Xq{k) 7 0 as ^ C *Ps C P | . For Ns to be a siphon,
there must be at least one Xi{k) such that Xi{k) > 0 with pi G Ps and i = 1,2,.. .,v
at the A;th firing. Now if t G p ' for some Pz G Ps and t ^ 'Pi, i = 1,2,... ,v, then
the number of firings Xz{k) > 0 as (f> C 'Ps C Pg. If the siphon Ns is such that
the number of total tokens within Ns at the ^;th firing = Ei=i"i = ' z = w{pz,tz)
47
= the weight of the arc from p^ to t^, then the only token in the siphon exists at Pz
and at the A;th firing. At this firing instance, if tz fires, it results in a Ns which is
token-free starting at the (A; -t- l)th firing provided some number of firings Xi{l) > 0,
1 < i < V with (A; -I- 1) < / < ( d - 1 ) . Then the computation is deadlocked at
a later firing instance y with (A; -I- 1) < y < d. But if n^ > w{pz,tz), then the
difference of tokens [n^ - w{p,,t,)] is a positive integer and the siphon Ns may or
may not be critical at the A;th firing. For a general PN, the weight w{pz,tz) = 1
and the token difference is [n^ — 1]. To avoid deadlock at a later firing instance y,
{nz - 1) > w{pz,tz) with a t" G 'Pz for Pz G Ps and tz G p* with pz G Ps, where
X:{1) > 0 with (A;-fl) < Z < (d— 1). An elementary siphon is a single place with only
one sink transition. Next consider the firing of transitions Ts QTs, such that tj ^Ts.
Therefore, tj G *Pj with pj G Ps and tj E Pj', pj G Ps and j = 1,2,... ,e. From this
a property is derived about a siphon Ns that a single token at some place p G Ps is
necessary, even though not sufficient for firing all the tj G Ts with j = 1,2,..., e.
On the other hand, once a trap is marked at some firing instance A;, it never
looses tokens completely starting from the next firing instance. Thus, traps have the
property of trapping tokens.
The following results form a theoretical foundation for finding a LFS from a given
initial marking x(0) to a destination marking x(d) with a given firing count vector u.
Lemma 4.1.1
The siphon Ns = {Ps,Ts,a's,as) in a GPN N should contain at least one token
to fire transitions tj G Ts which are members of the set of transitions of the siphon
A''5 for J = 1,2,..., s. This is just a necessary condition but not sufficient.
Proof: First consider the initial part of Lemma 4.1.1. The siphon Ns cannot contain
any source transition, since 4> C *Ps C P^. Therefore, the siphon Ns cannot have
any supplier of tokens. If all the places of Ns are token-free at the initial marking
48
x(0), then starting from the A; = 0th firing, there are no tokens and no supply of
tokens to any of the places of Ps at any time A;, A; = 0 , 1 , . . . , d. Therefore, tj G Ts for
;' = 1,2,..., s which are members of the effective firing count vector j | u{k) \\ cannot
fire forever starting from the beginning at firing A; = 0. This means that ultimately
the computations are deadlocked at some firing instance q, with 0 < q < d. Therefore,
to realize a LFS corresponding to the firing count vector w in a GPN, there should be
at least one token present in any place of a siphon starting from the firing instance
A; = 0.
On the other hand, this is just a necessary condition, but not sufficient. Because,
some transitions tj G Ts fori = 1,2, ...,g might have incoming arcs from places
which are not members of the siphon under consideration. In that case, if some
of these nonmember places are token-free at the time when the transitions ti G Ts
for i = 1,2,... ,^ should fire in the legal firing sequence, then some of these later
transitions ti G T5 for z = 1, 2 , . . . ,^ would be deadlocked and the firing sequence a
which is legal on x(0) with respect to u is far from realization.
Q.E.D.
Example 4.1.1
Consider the net in Figure 4.3, if there is a token at the place p4 of the siphon
{Pi,P5,P4,P3,P2}, and no token in the net elsewhere, then only ts fires at x(0) and
ultimately t4 cannot fire due to the absence of token at pe. Hence, for a given firing
count vector u = [1,1,1,1,1,0,0,0,0,0,0,0]*, the computations are sure to be dead
locked, even though the siphon {pi,P5,P4,P3,P2} contains a token. Therefore, Lemma
4.1.1 imposes only a necessary condition but it is not sufficient.
49
Lemma 4.1.2
Given a trap NT = (Pr,Tr,aj;,o^) in a GPN A , which is token-free at the initial
marking x(0) but is marked at the terminal marking x(d) with a prespecified firing
count vector u and the total firing instances d, then the trap NT has at least one source
transition, whose firing is absolutely necessary prior to the firing of any transition tc
such that tc G TT Cli'Pr f) P-r) in order to realize the firing of Ty.
Proof: Since a given trap NT should be within the firing count subnet (Nu, 3: (0)) for
a prespecified u and d, therefore, for all t , i = 1,2,..., r, if ti G TT, then ti GJj u ||.
-As the trap is unmarked at x(0), therefore, any place Pj G PT is token-free at x(0).
As any pi €'ti with t/ G TT must have at least one token to enable t/, therefore none
of the transitions tc G TT []{'PT f) PT) are enabled. Source transitions supply tokens
within the trap NT by firing. As for a source transition tx to the trap NT, t^ G *Px
for some Px G PT and tx ^ pj for any Px e PT- A place Px and a place Px may be the
same or different but both have to be within the trap NT- Hence firing tx at least
once provides a token to a place px G PT- As only GPNs are under considerations,
this is absolutely necessary for firing any transition tc G TT [){'PT f) PT) within the
trap PT at a later firing instance q with (A; -I-1) < g < (d - 1).
Q.E.D.
Lemma 4.1.3
.An effective siphon NST = (Psr ,TsT,4r ,%T) ' which is also a trap on {N,x{0)),
is marked at x(0) and is a place-invariant.
Proof Since, NST is a siphon and if a siphon is token-free at some marking, then
it remains token-free for the successive markings. As NST is an effective siphon at
x(0), it must be marked at x(0). Therefore, NST contains at least one token. Hence,
'PsT Q PsT^ i-e-' th^ set of input places is a proper subset of the set of output places.
From the given assumptions, NST is also a trap at x(0). Therefore, P^T ^ 'PST,
50
consequently *PST = PST i-e., the set of input places = the set of output places.
If (aJr) is the output incidence matrix and (a^^)* is the input incidence matrix,
then (a^r)* x PST = 'PST and (ai-^)* x PST = P'ST which provides (ojj.)* x PST =
{^STY X PST- Therefore, (aj^^-a^^p)* x P^^ = Omxi- Here, O^xi is a (m x 1) column
vector with each element equal to 0. Hence, a^sT x PST = Omxi- Thus, NST satisfies
the definition of place-invariant.
Q.E.D.
Lemma 4.1.4
For finding a LFS a, each siphon within the firing count subnet (A „, x„(0)) of the
given PN (A'',x(0)) are all effective and should be marked at x(0), and all traps of
(A'u,Xu(d)) should be marked at x(d).
Proof: Firing of elements of a given firing count vector u must be realized in order
to find a LFS a, which is legal on x(0) with respect to u. But an unmarked siphon
remains unmarked from the successive marking. And transitions that are members
of the unmarked siphon are deadlocked. Thus, no effective siphon within the firing
count subnet {Nu,Xu{0)) may remain token-free at x(0). For computations using a
Reversed net (A''~'^,x(d)), the backward directional computation starts at x(d) and
all traps within the firing count subnet {Nu,Xu{d)) are siphons on {N~^,x{d)). There
does not exist a token-free siphon on the Reversed subnet {N~'^,Xu{d)) for finding
one LFS a. A trap does not contain a sink transition but can only contain source
transitions. Therefore, if a trap is unmarked at x(d), it was unmarked at x(0), since
no token-supplying source transition possibly has fired in this case. This means firing
of any ti e TT for i = 1,2,..., v is impossible, where TT is a set of transitions for the
trap under consideration. Therefore, token-free traps in {N,x{d)) is impossible.
Q.E.D.
51
Example 4.1.2
Consider Figure 4.3 once again. Let x(0) = [0,0,0,1,0,0,0,0,0,0,0]* and u =
[1,1,1,1,1,0,0,0,0,0,0,0]*. Since {pi,p2,p3,p4,p5,p6} = {pi,p2,p3,p4,p5}U{p6} and
one of the basic siphons {pe} within the firing count subnet {N^,Xu{0)) are un
marked at x(0), a LFS corresponding to u is impossible, even though the siphons
{Pi.P2,P3,P4,P5} and {pi,P2,P3,P4,P5,P6} are marked at x(0).
Consider now a final marking x(d) = [0,0,0,0,0,0,0,0,1,0,0]* with a prespecified
firing count vector u = [0,0,0,0,0,1,1,0,0,0,0,0]*. The traps {p7,p8,p9} and {p7,p9}
are marked at x(d), but {p7,P8,P9} = {P7,P9}U{P8} and one of the basic traps {ps}
within the firing count subnet (A'u,x„(d)) is unmarked at x(d). Therefore, with the
given firing count vector u and a final marking x(d), there is no initial marking x(0)
for which the net is reachable from x(0) to x(d).
Lemma 4.1.5
In a given PN N, any minimal siphon is a basic siphon, but the opposite of this
statement is not always true.
Proof: Consider one minimal siphon Ajvf and the corresponding basic siphon NB-
From the basic definition, a siphon is a minimal siphon if other siphons are not its
partial set [51]. A siphon is called a basic siphon, if the siphon cannot be expressed
as the set union of other siphons. Since NM is a minimal siphon and NB is the
corresponding basic siphon, the next relationship holds:
NM C NB (4.1)
But
NB % NM (4.2)
The above is a straightforward equation from the definition of NM- Hence, the result
follows immediately.
Q.E.D.
52
4.2 Liveness Properties
Definition 4.2.1
Liveness of PNs: A PN {N,x{0)) is said to be live [51] (or equivalently x(0) is said
to be a live marking for A ) if, no matter what marking has been reached from x(0),
it is possible to ultimately fire any transition of the net by progressing through some
further firing sequence. -A five PN always guarantees a deadlock-free operation, no
matter what firing sequence is chosen. This property of PNs is known as liveness.
There are different levels of liveness for the reachability problems:
Level 0 live (dead):
A transition t in a PN (A'',x(0)) is said to be Level 0 live (LO-live) or a dead
transition if t can never be fired in any firing sequence in L(x(0)). Here, L{x{0))
denotes the set of all possible firing sequences from x(0) in a given PN (A'',x(0)).
The PN {N,x{0)) is said to be a Level 0 live or a dead PN if each and every
transition in it is dead.
Level 1 live (potentially firable):
If a transition t in a given PN (A ,3;(0)) can be fired at least once in some firing
sequence in L{x{0)), then it is said to be a Level 1 live (Ll-live) or potentially
firable transition. The PN {N,x{0)) is Level 1 five if each and every transition
in it is Level 1 live.
Level 2 live:
If a transition t in a given PN (iV,x(0)) can be fired at least k times in some
firing sequence in L{x{0)), where k is any positive integer, then t is said to be
a Level 2 live (L2-Iive) transition. {N,x{0)) is Level 2 live, if every transition in
it is Level 2 live.
53
Level 3 live:
If a transition t in a PN (A ,a;(0)) appears infinitely, often in some firing sequence
in L{x{0)), then it is said to be a Level 3 live (L3-live) transition. The PN A
with the initial marking (A , x(0)) is Level 3 live if each and every transition in
it is Level 3 live.
Level 4 five (live):
If a transition t in a PN {N,x{0)) is Level 1 live for every marking x{j) in the
reachability set of (A , x(0)), then t is said to Level 4 live (L4-hve) or simply live.
Here, j is zero or a positive integer. In other other words, a live transition t can
potentially fire in any firing sequence reachable from any marking x{j), which is
potentially reachable from x(0). A PN {N, x(0)) is said to be Level 4 live or live,
if each and every transition in it is Level 4 live. Therefore, the computations in
a live PN is never deadlocked due to the presence of live transitions in it. <C>
Liveness properties of PNs are closely related to resource issues in a net model. A
general notation to represent Uveness is Lk, where A; = 0,1, 2,3,4. L4-liveness implies
L3-liveness and L3-liveness implies L2-liveness. L2-liveness also implies Ll-liveness.
But Ll-liveness does not imply LO-liveness. Therefore, a L4-live PN is L3-live, L2-live
and Ll-live but not LO-live. A transition is said to be strictly LA;-live, if it is LA;-live
but not L(A; + l)-live. A; = 1,2,3.
Lemma 4.2.1
In a given PN A'' with a firing count vector u = [ui] with each Ui, i = 1,2,.. .,m
denoting the total number of firings of a transition tj, an initial marking x(0) and a
final marking x(d), there is a LFS a, provided that (A'',x(0)) and {N~'^,x{d)) are at
least level 1 live under x(0) and x(d), respectively.
Proof If (A'',x(0)) and (A''"\x(d)) are Level 0 live under x(0) and x(d) respectively,
then the computations are deadlocked under the original or the reversed PN right
54
from the beginning, and the firing sequence o which is legal on x(0) with respect to
u can not be realized.
Q.E.D.
A close analysis of Lemma 4.1.1, gives the next result.
Lemma 4.2.2
For a given PN A', a firing count vector u = \uf\ with each component Ui, % =
1,2,..., m denoting total number of firings of the i-th transition ti, an initial marking
x(0) and a final marking x(d), the final marking x(d) is reachable from x(0) provided
that the following conditions are satisfied.
1. The firing count subnet with x(0) (A''„,x„(0)) has no token-free basic siphons,
and
2. The firing count subnet with x(d) (A'u,x„(d)) has no token-free basic traps.
Proof:
1. From the basic definition, a basic siphon [51] is a siphon which cannot be ex
pressed as the set union of other siphons. If this is the case, then every possible
siphons are marked at x(0) within the firing count subnet {Nu, x^iO)) and there
is no token-free effective siphon in the firing count subnet. The result follows
applying the first part of Lemma 4.2.1 directly.
2. From the elementary definition, a basic trap is a trap which cannot be expressed
as the set union of other traps. If this condition prevails within the firing count
subnet on x(d), then the condition imposed by the latter part of Lemma 4.2.1
applies directly and the result follows from there.
Q.E.D.
55
Lemma 4.2.3
For finding a LFS a which is legal on x(0) with respect to u, the firing count subnet
(N„,Xu(0)) is not live at x(0) provided that there is a critical siphon at x(A;) within
the firing count subnet A/u for 0 < A; < (d - 1). But there does not exist a critical
siphon at x(A;) not necessarily implies that (Nu,x„(0)) is always Level 4 live at x(0).
Proof: From the basic definition of a critical siphon, if there is a critical siphon at
some marking x{k) within the firing count subnet A „, where 0 < A; < (d - 1), then
the sink transition t, of a critical siphon and some other transition tj, G|| u{k) \\, must
be enabled at x(A;), where || u{k) \\ are non-zero elements of u at the A;th firing. If the
sink transition tg is allowed to fire at x(A;), clearly the computations are deadlocked
at a later firing instance j , {k + 1) < j < {d- 1). Hence, (A4, Xu(0)) can not be level
4 live at x(0).
On the other hand, if {Nu,Xu{0)) is not level 4 live at x(0) does not imply that
there is at least one critical siphon at some marking x(A;), with 0 < A; < (d — 1).
-All siphons within the initial firing count subnet (A/u,x„(0)) are effective and not
necessarily critical at x(A;). For instance, with a prespecified x(0),x(d) and u for an
Acyclic PN, the net is not generally live for the given problem and AcycUc PNs never
contain a critical siphon. Hence, there does not exist a critical siphon at x(A;) not
necessarily implies that {Ny,,Xy,{0)) is always level 4 live at x(0).
Q.E.D.
56
CHAPTER 5
A SINGLE-STEP LINEAR PROGRAMMING-BASED METHOD
5.1 From the Basic Reachability Equation to the Single-Step LP Method
Mathematical programming techniques are powerful techniques of optimization. If
the PN reachability problem can be formulated as a LP problem which computes
all the firing vectors in one LP step, it is possible to avoid spurious firing vectors.
Off-course, for such a formulation, the total transfer of tokens as a control objective
needs to be minimized. This is the basis of single-step LP method.
Finding LFSs of PNs is an all-integer-programming problem. But with the single-
step LP method, the firing vectors are allowed to have real numbers (even though
these are always integer quantities). Soving the reachability problem in this way is
called LP-relaxation. With LP-relaxation, it is not always guaranteed that integer
optimal results will be obtained.
The basic objective in finding a firing sequence a legal on x(0) with respect to u
is to minimize the quantity,
J = f : 4 , i x ( A ; ) . (5.1) fc=i
where e„xi is a n x 1 row vector having each element equal to 1 and e j i is the
transpose of Cnxi- Equation 6.1 can be expressed in terms of the initial marking x(0)
and the firing vectors u{k) for A; = 1,2,..., d using equation 2.13(a) as follows:
J = [e*(dx(0)) + e'a{u{d)) + e'a{2u{d -1)) + ... + e'a{du{l))\. (5.2)
Introducing artificial variables and slacks in the LP formulations, the general LP
form of equations (3.1) and (3.2) result.
57
.All variables considered in the LP formulations must be non-negative. Other
notation and symbols are consistent with those in equations (2.12) and (2.13). The
total number NV of unknown variables is calculated as NV = {m + d+ (m + n) x d)
and the total number MV of the constraint equations is given as MV = {m+d+nxd),
where m = the total number of transitions and n = the total number of the places
in the PN. -Also d is the length of the optimal LFS. Note particularly that prior to
appl3'ing the two-phase simplex method, the LP formulations must be converted to
the restricted normal form and the dimension of the matrix A used for the Simplex
tableau should be at least {MV + 2) x (NV + 2) [58].
The LP formulation by equations (3.1) and (3.2) are particularly suited for the two-
phase simplex subroutine [58], but if the revised simplex package routine DLPRS [34]
is used, a simpler form of the Single-Step LP method without any slacks or artificials
variables is possible. This simpler form has only mxd variables with (m -f- d -I- n x d)
constraints.
5.2 Computational Mechanism
The following definitions are required in connection to the computational mecha
nism of the Single-Step LP method.
Definition 5.2.1
Convex Set: A subset S of i?" is called convex [36] if for any two different points
a and b in S the line segment joining a and b Ues in S. That is, S is convex if,
whenever a and be S, so does c = ra + (1 - r)6, /or 0 < r < 1. Here P" denotes
the n-dimensional euclidean space. v
58
Definition 5.2.2
Convex Combination of Points: A point x G P" is a convex combination of the
points [36] Xi,X2,..., Xr in P" if there exist real numbers Ci, C2,..., c . which satisfy
T
E c i = l, (5.3) i=l
Ci > 0, 1 < i < r, (5.4)
can provide T
x = Yl'^i^i- (5.5) 1=1
Definition 5.2.3
Closed Convex Set: A closed convex set is a convex set which includes its bound
aries [29]. For example, a circle and its interior is a closed convex set. The interior
of a circle is a convex set, but is not closed. ^
Definition 5.2.4
Extreme Point of a Convex Set: A point y in a convex set S is called an extreme
point of S if it is not an interior point of any line segment in S [36]. That is,
y is an extreme point of S if there are no distinct points a and 6 in 5 such that
y = Ta+{l-T)b,0<T<l. 0
The following results appear in [36] and can be used to analyze and interpret the
computational results based on the Single-Step LP based method.
Theorem 5.2.1
The intersection of a finite collection of convex sets is convex.
Theorem 5.2.2
Let A be an n x m matrix, and let 6 be a vector in P". The set of solutions to the
system of linear equations Ax = b, if it is not empty, is a convex set.
59
Theorem 5.2.3
The set of all convex combinations of a finite set of points in P" is a convex set.
Theorem 5.2.4
Let 5 be a convex set in P'^. A point y in 5 is an extreme point of S if and only if y
is not a convex combination of other points of S.
Theorem 5.2.5
Extreme Point Theorem: Let S be the set of feasible solutions to a general LP
problem.
1. If 5 is nonempty and bounded, then an optimal solution to the problem exists
and occurs at an extreme point.
2. If 5 is nonempty and not bounded and if an optimal solution to the problem
exists, then an optimal solution occurs at an extreme point.
3. If an optimal solution to the problem does not exist, then either S is empty or
S is unbounded.
Theorem 5.2.6
A LP problem in the standard form has a finite number of basic feasible solutions.
Theorem 5.2.7
For a LP problem in standard form, every basic feasible solution is an extreme point,
and, conversely, every extreme point is a basic feasible solution.
Theorem 5.2.8
Let S be the set of feasible solutions to a standard LP problem and let S be the set of
feasible solutions to the associated canonical LP problem. Then every extreme point
of S yields an extreme point of S when slack variables are added. Conversely, every
extreme point of S, when truncated, yields an extreme point of S.
60
Theorem 5.2.9
The convex set S of all feasible solutions to a LP problem in standard form has a
finite number of extreme points.
Single-step LP is a straightforward relaxed LP computational method. Extreme
points of convex polyhedrons are of interest as candidates for optimal solutions to
LP problems. There is a simplex in NV dimensions where A''^ = total number of
variables having a total of {NV+1) extreme points. Finding LFSs using single step LP
is one of the all-integer-programming-problems, and it is not guaranteed that integer
optimal results are alwav's obtained. But the necessary and sufficient conditions to
get an integer optimal result are known. Decision variables are allowed to be real
quantities and each of them is permitted to vary within the range 0 ~ 1. Therefore,
sometimes pseudo-solutions are obtained, which have fractional solution values and
are close to their actual solution values. It is a common practice to adjust such
solution values to their actual values.
Reasons behind obtaining pseudo-solutions are explained next.
s
Figure 5.1: A simplified geometrical entity generated in a 3-dimensional space.
61
Figure 5.1 presents the e.xtreme feasible solution points for a LP problem with three
variables. If solution vectors are bounded to take on discrete integer values, the
solurions are only obtainable at extreme points B, C, H, I, K, L, E or F. The objective
function can only take a minimum value at one of these corner points of the three
dimensional cube BCIHLKEF. On the other hand, if each element of the solution
vector is considered to vary within the range 0 ~ 1, then the objective function can
take minimum values at one of the extreme points A, G, M, H, B, X, V, L, F, W, S,
E, K, T, Q, D, J, R, C, I, 0, P, N, U. It may be the case that the objective function is
a minimum for a certain problem at an extreme point A which is close to the point B
where all its corresponding elements are integers. Then, the elements corresponding
to -A will be of very close values to the elements corresponding to the point B.
5.3 Spurious Firing Count Vectors
-Any given firing count vector Usp which contains integers, unfirable firing vectors or
for which the given reachability problem is not decidable, is known as spurious firing
count vector. If a given predefined firing count vector u^p contains a fractional or a
negative element, it will be called a spurious firing count vector. A spurious firing
count vector causes computations getting into deadlock.
Lemma 5.3.1
Let a firing count vector u-[ui], Ui,i = 1,2,.. .,m denote total firing numbers of
ti. If x(0) is the initial marking and x(d) a final marking, there is a LFS a which is
legal on x(0) with respect to u provided that {N,x{0)) and (A/-\x(d)) are at least
level-1 live under x(0) and x(d), respectively (refer to definition 4.2.1).
Proof: If (A ,2;(0)) and {N-\x{d)) are level-0 live under x(0) and x(d), respectively,
then the computations are deadlocked under the original or the reversed net right
from the beginning. Therefore, the firing sequence a which is legal on x(0) with
62
respect to u becomes far from realizations.
Q.E.D.
5.4 Time Complexity
Recall from section 5.1 that the number of unknown variables NV = {m + d +
nx d + m X d) and the number of constraints MV = {m + d + n x d). Let F =
NV + MV = {m + d + nxd + mx d) + {m + d + nxd)-{2m + 2d + 2nxd + mx d).
Therefore, the time complexity of Single-Step LP is 0{hY), where h is a. constant
of proportionality. If the order of LP is 4, then the time complexity of the Single
step LP method is 0{hY)oc Y^. Therefore, Y^ = [2(m + d -I- n x d) + m x d]^ ~
[2{m + n + l)xdY^ 16d^(n + m + 1)\
5.5 Computation Time
An analysis for the two-phase simplex method is carried out in the following. In
this case, there is only one iteration of LP and the total size of the matrix A is
(Tn4-d- | -nxd)x(Tn-j-d-t-nxd-fmxd). If the consumed time is denoted by tojvE,
then
toNE ex {m + d + n X d) x {m + d + n x d + m x d). (5.6)
Introducing the constant of proportionality, the above equation is,
toNE = c[{m + d + nxd)x (m + d + nxd + mx d)]. (5.7)
Therefore, time per u{k), tuk is given by,
tuk = ^-^ = c(^ + l + n){m + d + nxd + mxd). (5.8) d d
For smaller PNs m ^ d, the above equation can be approximated by:
tuk^c{l + l + n){m + d + nd + md). (5.9)
63
For a constant n, let c = c(2 -f n). Therefore,
tuk ~ c[m + d{l + n + m)] '^cm + d{c + nc + mc). (5.10)
For a particular net, cm and (c-I- nc-I- mc) are constants and these will depend
only on the values of d. Therefore, under ideal conditions, time per u{k) is directly
proportional to the total number of firings d.
Let E be the total number of arcs in a given PN A''. The total number of con
straints MV = (m -I- d -1- n X d). The total number of variables NV = (m-l-d-i-nxd4-
mxd). The size of the matrix A, | A j= (m-f d-t-nxd) x (m-t-d-Fnxd-f mxd) . Let
g be the fraction or part of the incidence matrix a which is non-zero. The number of
non-zero elements in the incidence matrix a is, \ E \= g x n x m (for a general PN).
Therefore, the size of the PN = (^ x n x m H- n -I- m). The ratio of the size of the PN
to I -4 1=, qxnxm+n+m ' {m+d+nxd){m+d+nxd+mxd) '
Consider now the Single-Step LP which uses the revised simplex package routine
DLPRS. In this case, there is only one iteration of LP and the total size of the matrices
.4i and -42 is [(m + d) x md + nd x md]. If this time is denoted by tip, then
tip oc [(m -i- d) X md + ndx md]. (5-11)
Introducing the proportionality constant c,
*z,p = c[(m-l-d) X md-f-nd X md], (5.12)
If time per u{k) is T^p, then
TLP = -if = c[{m + d) X m + nmd] = d{cm + cnm) + err?. (5.13) d
For a particular PN, the parameters {cm + cnm) and cm"^ are constants and Tip
will depend only on the value of d. Under these conditions, time per u{k) is directly
proportional to the total number of firings d.
64
For using the revised simplex DLPRS routine, the total size of the matrix | ^ | is
Ai -H .42=(m -F d-t- n X d) X m X d. Let 5 be the part of the incidence matrix a, which
is non-zero (ratio of non-zero elements to total number of elements). Therefore, the
number of non-zero elements in the incidence matrix a, | E |= p x n x m (for a GPN).
Hence, net size = g xnm + n + m. The ratio of net size to (Ai -I- Ao)= ,1^^^'^'^^^ .
Figure 5.2: A PN used with the Single-Step LP method.
5.6 Computational Aspects
Consider the net in Figure 5.2, with initial marking is x(0) = [1,0,0, 0,1]*, a final
marking is x(d) = [1,0,0,0,1]* with u = [1,1,1,1,1]* and d = 5. This is an example
of transition invariance. An optimal LFS obtained using the Single-Step LP method
is (7 = (ti,t2,t3,t4,t5) which is legal on x(0) with respect to u. Closed-loop siphons
{Pi,P2} and {p4,P5} never become token-free in the sequence, since there is no sink
transition. The only potential deadlock in the computation is obtained by firing the
sink transition ts of the siphon {ps,P4} at A; = 3 on x(2). This has been successfully
avoided through the computations.
Consider an ordinary PN containing self-loops as in Figure 6.3. In order to find a
LFS from x(0) = [1,0,1, 0]* to x(d) = [0,1,0,0]* with au = [l, 1,1,1,1]* and d = 5.
65
=0-
Figure 5.3: An ordinary PN N with x(0).
-A LFS a exists from x(0) to x(d) and is obtained as a = (t4,t5,ti,t2,t3). If ts
is allowed to fire at A; = 1, then the problem becomes unreachable. Transition ts is
the sink transition of the siphon {pi,P2,P3,P4}. On the other hand, if transition ti is
allowed to fire either at instance A; = 1 or at A; = 2, the problem becomes unreachable.
Transition ti is the sink transition of the siphon {pi}.
66
CHAPTER 6
THE LP METHOD BASED ON THE OPTIMALITY PRINCIPLE
6.1 The Optimality Principle and LFSs in PNs
The Optimality Principle (OP) concept appears in the literature with a variety of
forms and formulations. The following is a formal definition of OP.
Definition 6.1.1
Optimality Principle(OP): -An optimal policy (defined later in connection to PNs) has
the property that whatever the initial state and initial decision are, the remaining
decisions must constitute an optimal policy with regard to the state resulting from
the first decision [35]. The property of an optimal policy is known as the Optimality
Principle. 0
In modeling with PNs, the initial marking x(0) corresponds to the initial state
and the initial firing vector u{0) is the initial decision. The objective is to find an
optimal LFS cr which is legal on x(0) with respect to the firing count vector u. LP
formulations, where the objective function is independent of the initial state x(0) and
the initial firing vector u{Q) are derived.
The term optimal control in connection to the LFSs of PNs means that discrete
event dynamic systems are controlled such that the minimum transfer of tokens as a
control objective in the corresponding PN models is satisfied. The time integral of
a function of the final state and the firing vectors are minimized, firing vectors are
restricted to a specified closed and bounded region.
67
6.2 Description of the OP-Based LP Method
The total transfer of tokens in a given PN is expressed by,
d
J = Y.^'<J)- (6-1) 3 = 1
With the optimality constraints:
r = mm[e^,ix(l) 4- e^xi^(2) + . . . + el^^x{d)]. (6.2)
Hence,
J* = min[e^{x{d) - au{d - 1) - au{d - 2) - . . . - au{l)}
4-e*{x(d) - au{d - 1) - . . . - au{2)} + ... + e*{x(d) - au{d - 1)} + e*x(d)]. (6.3)
Equation (6.3) can be rewritten as:
r = min[e'{dx{d)} - e^a{{d - l)u{d - 1)} - e'a{{d - 2)u{d - 2)}
-e'a{{d - 3)u{d - 3)} - . . . - e*a{u(l)} - Oixm{u{0)}]. (6.4)
Now the marking vector x(d — 1) at A: = (d — 1) satisfies x(d — 1) > a~u{d — 1),
which provides x(d) — au(d—l) > a~u(d—1). Therefore, x(d) > ati(d—l)-l-a~'u(d—1)
which derives into x(d) > (a"*" — a~ + a~)u{d — 1). Finally,
a + u ( d - l ) <x(d). (6.5)
Also x(d - 2) > a~u{d - 2) provides x(d) - au{d - 1) - au{d - 2) > a'u{d - 2). The
simplified form is:
o u ( d - l ) + a + u ( d - 2 ) <x(d) . (6.6)
Proceeding this way, the following set of equations is obtained which defines the set
of constraints for the OP-based LP method.
au{d -1)+ au{d -2) + a'^u{d - 3) < x(d)
68
au{d-l) + au{d-2) + ... + a-^u{0) < x{d). (6.7)
Introducing slacks and artificial variables and arranging in the standard LP form, an
optimal LFS {u*{k)}, k ^ 0,1,2,... ,{d-l) on an originally given net A is computed
as follows. If J* denotes the optimal objective function value, then:
J* = min[e*(dx(d)) - e'a{{d - l)u{d - 1)} - e'a{{d - 2)u{d - 2)} - . . .
-e*a{u(l)} + E£: y] + EU y] " ^ HU ^U ^^ (6-8)
subject to:
/ ' • TnXm -'^. xm
O l x m
Oixm e{^.^
'^IXm
^TriXm ^mXTn Omxi
O l x m O l x m hxl
Olxm Olxm Olxl
Olxm Olxm e J x m O l x m ••• O i x n
0- Onxm ' • • Onxm Onxm Onxl
"• 2 + . - • Onxm Onxm Onxl
^rnxn
Olxn •
Olxn •
Olxn •
*nXn
Ojixn
Omxn \
•• O l x n
•• O l x n
• O l x n
Onxn
Onxn
\
/u(d-l)\
u(d - 2)
"(0)
y'
y^
s i
=
/ U V
A x l
^ i x l
hxl
x{d)
x{d)
(6.9)
Onxm Onxl •• Onxn •• Inxn J \ S^ J \ x{d) J
In the standard LP form for the OP-based LP method, the initial marking x(0)
and also the initial firing vector u{0) is absent from the objective function. A simpli
fied implementation of the OP-based LP method without using slacks and artificial
variables having only mxd variables and {m + d + n x d) constraints is possible,
provided that the revised simplex subroutine DLPRS is used instead of the two-phase
simplex subroutine.
Note that the initial marking x(0) and the initial firing vector u{0) are absent
from the objective function. The artificial variables y], i — 1, 2 , . . . , m and y|, k =
1,2,... ,d are used with the equality constraints, whereas the slack variables s^, k =
1,2,... ,d; j = 1,2,... ,n are used with the inequaUty constraints.
69
Lemma 6.2.1
The OP-based LP method computes an OLFS {u*{j)} for ; = 0,1,2, • • •, (d - 1)
in the reversed order of the original firing sequence.
Proof: Each firing vector u{k) for A: = 0,1,2,-• •, (d - 1) should be a member of
the set U of firing vectors. Also note that the initial decision u{0) is totally absent
from the objective function. Also marking x(0) is completely absent from the set of
constraint equations. Hence, no initial state condition is used and only the terminal
state conditions are available. The solution vector determined with only one iteration
of LP is [u{d - 1)*, u{d - 2)*, • • •, u(0)*]* which is obtained in the reversed order of
computations of the optimal firing sequence {u*{j)} for j = 0,1,2, • • •, (d - 1).
Q.E.D.
Lemma 6.2.2
The OP-based LP method starts computing at x(d) on the original net A'" and
proceeds in the backward direction.
Proof: The LP formulation is derived by considering all the basic reachability equa
tions on the original PN N and a'^u{k — 1) < x{k) for A; = 2 , 3 , . . . , d has been derived
from the equation x(A; — 1) > a~u{k — 1). Now, the condition x(d) > a'^u{d — 1) also
takes care off the non-empty place condition at x(d — 1). After firing the transition
enabled in marking x(d— 1), the token distribution vector is given by a'^u{d-1). The
vector a+«(d—1) considers token-free conditions at the marking x(d—1), since x(d—1)
can never contain negative elements, i.e., the condition x(d) > a'^u{d—l) is enough to
determine which transitions are enabled at x(d). Proceeding this way, the same rea
soning holds for selecting u{k — 1) at each firing instance A;, with A; = 1, 2, • • •, (d — 1).
Also the initial state x(0) is completely absent from the formulation. Q.E.D.
70
Lemma 6.2.3
The OP-based LP method finds one OLFS a, which is legal on x(0), provided the
network is not too large.
Proof: The method chooses u{d - 1) as the firing transition at A; = (d - 1) for which
a possible firing vector u{d - 2) exists at A; = (d - 2) such that e^a{{d - l)u{d - 1)}
is a maximum. It selects the firing transition as u(d - 2) for which there exists one
u{d - 3) at the firing instance A; = (d - 3) and e^a{{d - 2)u{d - 2)} is a maximum.
Proceeding this way, it selects up to u(l). Since,
(d-1)
n(0) = ( u - Y. «(^))' (6-10) k=l
therefore, ii(0) depends completely on the right-hand side of equation 6.10. Once
YXZI '^(k) has been determined, u{0) is automatically fixed. Therefore, for (small)
reachabihty problems, the OP-based LP method finds one OLFS, a={u*{k)} for
A; = 0,1,2, • • •, (d — 1), provided there is one. For relatively large problems, a state-
space-explosion results, Q.E.D.
A simplified formulation and implementation of the method having only mxd
variables and (m-l-d+n x d) constraints are possible provided that the revised simplex
subroutine DLPRS [34] is used instead of the two-phase simplex subroutine [58].
6.3 The Objective Function
In the final objective function, the initial firing vector u{0) and the initial marking
x(0) are totally absent. This is a characteristic feature of the OP-based LP method.
Therefore, the objective function needs to be analyzed thoroughly. Since the optimal
objective function value J* is given by
J* = min[e\dx{d) - e*a{{d - l)u{d - 1)} - e*a{{d - 2)u{d - 2)}
-e'a{{d - 3)u{d - 3)} e'a{u{l)} - OixmMO)}]. (6.11)
71
e*{dx(d)} is fixed and constant, since d and x(d) are completely defined at the begin
ning of the computations. Therefore,
r = e*{(dx(d))} + min[-e'a{{d - l)u{d - 1)} - e'a{{d - 2)u{d - 2)}
-e'a{{d - 3)u{d - 3)} e'a{u{l)} - Oixm{u{0)}]. (6.12)
The above equation can be written as,
J* = e*{(dx(d))} + max[e'a{{d - l)u{d - 1)} + e*a{(d - 2)u{d - 2)}
+e'a{{d - 3)u{d - 3)} + • • • -t- e'a{u{l)} + Oixm{u{0)}]. (6.13)
Let J = J* - e*{dx(d)}. Therefore, the final objective function is given as follows:
J = max[e^a{{d - l)ii(d - 1)} -I- e^a{{d - 2)u{d - 2)}
+e'a{{d - 3)u{d - 3)} + • • • + e'a{u{l)} + Oixm{u{0)}]. (6.14)
and since:
x(l) =x(0) + a?x(0); (6.15)
the sequence of firing vectors {u{k)}, k = 1,2,3,- ••, (d—1) must constitute an optimal
firing sequence of length (d — 1) starting at x(l) as evidenced by equation 6.14.
Corollary 6.3.1
If the optimal LFS {u*{k)} for k = i,i + l, i+2, • • •, (d— 1) is an optimal solution to
the PN reachability problem with a prespecified u and d, then the sequence {u*{j)}
for jf = i + l,i + 2,- • • ,{d — 1) must constitute an optimal solution to the modified
problem induced by {x{i),u*{i)). Here, u*{0) is the initial decision and u*{d— 1) is
the final decision.
Proof: The method of induction is used to prove the corollary. Let i = (d — 1), and
r = {d — i). Therefore, A; = (d — 1) is the only choice and «*(d — 1) is an optimal
solution. Next take i = (d—2), therefore A; = (d—2), (d—1). Since by the postulation,
72
u*{d - 2) is an optimal firing vector and also {u*{d - 2),u*{d - 1)} constitutes an
optimal solution to the problem, therefore u*{d-l) must be an optimal firing vector.
Hence, the corollary is true for i = {d - 1) and i = {d-2). But r = {d-i), hence
the corollary is also true for r = {d - (d - 1)) = 1 and r = (d - (d - 2)) = 2. If the
corollary is true for r = 1, then it is true for r = 2. As it is true for r = 2, therefore it
must be true for r = 3. Proceeding this way, it is possible to show that the corollary
is true for r = d.
Since r = d, therefore, d = (d - i) or i = 0. Hence, if {u*{k)} for k -
0,1,2, • • •, (d - 1) is an optimal solution to the given problem, then the sequence
{u*{j)}, j = 1, 2, •. •, (d - 1) must constitute an optimal solution to the modified
problem induced by (x(0), u*{0)). Q.E.D.
6.3.1 Set of Constraint Equations
The firing count vector u = Y1\.SQ u{k) is predefined and this information has been
used in the set of constraints for the LP formulation in finding an optimal LFS. At each
firing instance A: with 0 < A; < (d—1), only one transition element of the effective firing
count vector ii(k)=[u -YA=Q ^(0] is allowed to fire on the corresponding marking
x(A;). This fact is inserted in the set of constraints using Yl^i Ui{k) = 1.
The number of tokens at each place should be at least equal to the weight of the
outgoing arcs (if they exist) from the input places of the enabled transitions at any
firing instance k, where 0 < A; < (d — 1). This fact is used in the set of constraints
by inserting the relationship a~u{k) < x{k) for 0 < A; < (d - 1). It is used in the
normalized form using the state equation x{j) = x{j — l)+au{j—1) for 1 < j < (d—1),
which provides,
a-u{k)<x{k + l)-au{k), k = 0,1,2,-•• ,{d-1). (6.16)
73
Likewise,
a-u{k) < x{k + 3)- au{k + 2) - au{k + 1)- au{k). (6.17)
Proceeding this way,
a-u{k) < x(d) - a{u{d - 1)+u{d-2) + u{d-3) +• - - + u{k)}. (6.18)
Therefore,
a-u{k) + a{u{d - 1) + u{d - 2) + u{d - 3) + • • • + u{k)} < x{d). (6.19)
Hence, the general form of the above equation is
(d-1)
[a-u{k) + a ^ u{j)] < x(d), 0 < A; < (d - 1). (6.20) j=k
6.4 Optimal LFS in Ordinary Petri Nets Containing Self-loops
One advantage of the OP-based LP method is that ordinary PNs containing self-
loops can be treated equally well like the general PNs for the computations, in order
to find an optimal LFS while deciding the reachability in PNs. This is addressed
as one of the identified problems in the dissertation proposal. But the DP-based
techniques [44] do not have this computational advantage. The following definitions
are important in connection to the computational results to be discussed next.
Consider now the ordinary PN in Figure 6.3 containing self-loops for finding one
OLFS using the OP-based LP method from x(0) = [1,0,1,0]* to x(d) = [0,1,0,0]*
with u = [1,1,1,1,1]* and d = 5. For this case, m = 5 and n = 4. Therefore, to
apply OP-based LP, there will be (5 x 5 -I- 5 -I- 5 -f 4 x 5) = (35 H- 20) = 55 variables
(including slacks and artificial variables) and a total of (5 -f 5 -F 5 x 4)=30 constraint
equations. This is evident from equations (6.7). From equations (6.7):
/Sx5t'(4) + hx5u{3) + hxoU{2) + I5X5U{1) + I5x5u{0) + y'= u (6.21)
74
Since u = [1,1,1,1,1]*, therefore,
ui{4) + ui{3) + ui{2) + ui{l) + ui{0) + yl =
U2(4) + U2(3) + U2{2) + U2{1) + U2{0) + yl =
U3(4) + U3(3) + U3{2) + U3{1) + U3{0) + y^ =
Ui{4) + U4{3) + U4{2) + U4{1) + U4{0) + yl =
us(4) + U5{3) + U5{2) + U5(l) + U5{0) + yl =
ui{4) + U2(4) + lis (4) + Ui{4) + lis (4) + yf =
ui{3) + U2{3) + Us (3) + U4(3) + Us (3) + yj =
ui{2) + U2{2) + us(2) + U4(2) + U5(2) + yj =
Ui{l) + U2{1) + Us(l) + U4(l) + U5(l) + yj =
ui{0) + U2{0) + us(0) + U4(0) + us(0) + yl =
(6.22)
(6.23)
(6.24)
(6.25)
(6.26)
(6.27)
(6.28)
(6.29)
(6.30)
(6.31)
However, from equation (6.9),
4x5 X [ui(4),U2(4),Us(4),U4(4),'a5(4)]* + s i = x(5)
From the net in Figure 5.3,
a =
-1 0 0 0 (1 - 1 )
1 ( 1 - 1 ) 0 0 0
0 1 - 1 - 1 0
0 0 0 1 - 1
(6.32)
a+ is easily obtainable from a. Now,
Us (4) + sl = 0,
^i(4) + U2(4) + s^ = l ,
(6.33)
(6.34)
75
ti2(4) + sj = 0, (6.35)
U4(4) + 4 = 0. (6.36)
Similarly,
-ui(4) + U5(3)-Fs? = 0, (6.37)
ui(4) + ui(3)+U2(3) + s = l, (6.38)
,2(4) - U3(4) - U4(4) + U2(3) + sl = 0, (6.39)
U4(4) - U5(4) + U4{3) + s = 0, (6.40)
-Ui(4)-Ui(3) + U5(2) + s? = 0, (6.41)
ui(4) + ui(3) + ui(2) + U2(2) +sl = l, (6.42)
U2(4) - Us(4) - U4(4) + U2(3) - Us(3) - U4(3) -f U2(2) -f s = 0, (6.43)
U4 (4) - Us (4) -f- U4 (3) - Us (3) + U4 (2) -f si = 0, (6.44)
-ui(4) - ui(3) - ui(2) + us(l) + s\ = 0, (6.45)
ui(4) + ui(3) + ui(2) + ui(l) + U2(l) + st = l, (6.46)
U2(4) - Us (4) - U4(4) + U2(3) - Us(3) - U4(3)
+U2(2) - U3(2) - U4(2) + U2(l) + s\ = 0, (6.47)
U4(4) - U5(4) + U4(3) - U5(3) + U4(2) - U5(2) + U4(l) + s\ = 0, (6.48)
-ui(4) - ui(3) - ui(2) - ui(l) + U5(0) + s? = 0, (6.49)
ui(4) + ui(3) + ui(2) + ui(l) + ui(0) + U2(0) + s| = 1, (6.50)
U2(4) - U3(4) - U4(4) + U2{3) - us(3) - U4(3) + U2(2)
-U3(2) - U4(2) + U2{1) - us(l) - U4{1) + U2{0) + s = 0, (6.51)
U4(4) - us(4) + U4(3) - us(3) + U4(2) - U5(2)
+U4(1) - U5(l) + U4(0) + s\ = 0. (6.52)
Equations (6.22)-(6.31) and (6.33)-(6.52) are the set of constraint equations. The
76
solution obtained is, Ui(4) = U2(4) = U4(4) = 0, U3(4) = 1, U5(4) = 0, ui(3) =
^ 3(3) = U4(3) = U5(3) = 0, U2(3) = 1, ui(2) = 1, U2(2) = us(2) = U4(2) = us(2) = 0,
Ui(l) = U2(l) = U3{1) = U4(l) = 0, U5(l) = 1, Ui(0) = U2(0) = U3(0) = Us(0) = 0,
U4(0) = 1, yl = yl = yl = y] = yl = Q, y^ = yl = y | = y| = j / | = 0, s\ = 0, si = 1,
si = 0,s\ = 0, si = 0,sl = 0, si = 0, si = 0,5? = 0,sl = 0, sf = 0, 5| = 0, sj = 0,
si = 0, s | = 0, st = 0, sf = 1, s | = 0, si = 0, 5 = 0. Therefore, u(4) = [0,0,1,0,0]*,
u(3) = [0,1,0,0,0]*, u(2) = [1,0,0,0,0]*, u(l) = [0,0,0,0,1]* and u(0) = [0,0,0,1,0]*
and CT = (t4,t5,ti,t2,t3). The computed objective function value is
J* = mm[e*(5 x x(5)) - e*a{4 x u(4)} - e*a{3 x u(3)}
-e*a{2 X u(2)} - e*a{u(l)} + E y/ + E ?/? - ^ E E ^Pi- (6-53) 2=1 j i = l j=l i=l
With an e value of 0.000001,
j ; = 5 - (-4) - ( 3 ) - 0 - ( - l ) + 0 + 0 - 2 e = 9 - 3 + l - 0.000002 = 6.999999 « 7.00.
(6.54)
Agaiui
j ; = mm[e*^4x(l) + e*^4x(2) + e*^4x(3) + el^4x(4) + e*^4x(5)]. (6.55)
For this example, x(l) = [1,0,0,1]*, x(2) = [1,0,0,0]*, x(3) = [0,1,0,0]*, x(4) =
[0,1,1, 0]* and x(5) = [0,1,0,0]*. Hence,
j ; = (2 + 1 + 1 + 2 + 1) = 7 = j ; . (6.56)
The OP-based LP method computes an optimal LFS, a = (t4,ts,ti,t2,t3) which
is legal on x(0) with respect to u.
Note that the self-loop {pi} and also {pi,P2,P3,P4} are siphons whereas {p2} is
a trap on the original PN N. In Figure 5.3, ti, ts and t4 are enabled at x(0). If ti
is allowed to fire at x(0), ts will never be enabled in the sequence. Transition ti is
77
the sink transition of the siphon {pi} at x(0). Similarly, ts is the sink transition of
the siphon {pi,P2,P3,P4} (if 13 is allowed to fire at x(0), ts will never be able to fire).
Clearly, if ti fires at x(0), the total transfer of tokens = (1 - 1)=0. Similarly, if t4
fires at x(0), the total transfer of tokens = (1 - 1)=0. The index of ti is smaller
than that of t4. Therefore, the OP-based LP method avoids the firing of the sink
transition ti at x(0). Both ti and ts are enabled at x(l)=[l,0,0,1]*. If ti is allowed
to fire at x(l), ts can never fire in the sequence. Transition tj is the sink transition
of the siphon {pi} at x(l)=[l,0,0,1]*, In other words, ti is a sink transition of a
siphon at x(l) and firing ti leads to a computational deadlock at a later marking.
Thus, the sink transition of a siphon plays a major role in the computational deadlock
characterization associated with the analysis of PNs.
In Figure 5.3, {pi} is a minimal siphon which is also a basic siphon and {P2} is a
minimal trap as well as a basic trap. This means that if a self-loop is a siphon, then
it is a minimal and a basic siphon. If a self-loop is a trap, then it is a minimal and a
basic trap.
OP-based LP is a method capable of computing all firing vectors in just a single
step. This avoids the computational deadlocks due to the firing of a sink transition
in a siphon.
6.5 Computation in PNs Having Cycles
Figure 6.1 shows a cyclic PN. Let a~-, afj, and aij denote, respectively, the number
of tokens removed, added and changed in place Pi when transition tj fires once.
Transition tj is enabled and fires at x(A;), A; = 0,1,2, • • •, (d - 1) iff
a~<Xi(A;), i = 1,2, . . . , n and i = 1,2,..., m. (6.57)
A mapping function / is defined such that,
fij) = 1, iff[xi{k)-a^>0 (6.58)
78
" r y i f o )
Figure 6.1: A PN {N,x{0)) having cycles.
fU) = 0, iff [Xi{k) - a:-j] < 0. (6.59)
Clearly, iff f{j) — 1, then transition tj is enabled. In Figure 6.1, the initial
marking is x(0) = [1,1,1,0,0]*. For t4, the input places are p2, ps. Hence, [2 2(0) -0^4]
= [1 - 1]=0, [x3(0) - aj4]=[l - 1]=0 and /(4) = 1. Therefore, transition t4 is enabled
at x(0). For ti, the input places are pi and ps, z = 1 with j = 1 and 2 = 5 with
j = 1. Hence, [xi(0) - ari]=[l-l]=0, [xs(0) - a^i]=[0-l]=-l and / ( I ) = 0, which
means that ti is disabled at x(0). Consider now transition ts, the input place is
P4, and X4(0)=0. The difference between the number of tokens at place p4 and the
weight of the arc from P4 to the transition ts is [x4(0)-a^5] = [0-1] = -1 and /(5) =
0. Therefore, ts is disabled at x(0). Similarly, f{2) = /(3)=1 and transitions t2 and
ts are also enabled at x(0). The final marking x(d)=[l, 0,0,0, 0]* with a firing count
vector u = [1,1,1,1,1]*. The length of the LFS is d = 5. An optimal LFS which has
been computed using the OP-based LP is a = (t4,ti,t2,t3,ts).
Because of the OP-based objective function formulation, the computational pro
cess inhibits the firing of t2 and ts at A; = 0 on marking x(0) = [1,1,1,0,0]* (as a
LP method always tends to optimize the objective function). If transition t2 fires at
x(0), then x(l) = [1,0,2,0,0]*, and the effective firing count vector u = [1,0,1,1,1]*.
79
If transition ts fires at x(l), then x(2) = [1,0,1,1,0]* and u = [1,0,0,1,1]* and tg
becomes enabled at x(2). If transition ts fires at x(2), then x(3) = [2,0,1,0,0]*,
u = [1,0,0,1,0]* and the computation gets into deadlock. Transition t2 is the sink
transition of the siphon {p2,P5} at x(0). If ts fires at x(0), then x(l) = [1,1,0,1,0]* and
the effective firing count vector u is [1,1,0,1,1]* with the superfix t denotes the trans
pose. Both t2 and ts are enabled at x(l). If transition t2 fires, then x(2) = [1,0,1,1,0]*
and u = [1.0,0,1,1]*. If ts is allowed to fire next at x(2), then x(3) = [2,0,1,0,0]*,
u = [1,0,0,1,0]* and the computation is deadlocked. Transition ts is the sink transi
tion of the siphon {p2, ps, Ps} at x(0). Similarly, it can be shown that each and every
other computation gets into deadlock except for the OLFS a = (t4,ti,t2,t3,t5).
In this example, d = (1 + 1 + 1 + 1 + 1) = 5. All firing vectors u(A;)'s for A; =
0,1,2,3,4 are determined in one single iteration of LP. The computed firing vectors
are u(4) = [0,0,0,0,1]*, u(3) = [0,0,1,0,0]*, u(2) = [0,1,0,0,0]*, u(l) = [1,0,0,0,0]*
and u(0) = [0,0, 0,1,0]*, respectively. The incidence matrix a of the PN in Figure 6.1
is shown as follows: / \
- 1 0 0 0 1
1 - 1 0 - 1 0
0 1 - 1 - 1 0 0 0 1 0 -1
v / - 1 0 0 1 0
Therefore, the optimal objective function J* = mm[l — 0 — 0 — 2 — 1] = —2 shows
that two tokens are absorbed during the computations of the OLFS a.
6.6 Unimodularity
Due to its special structure, the OP-based LP method has integer optimal solutions.
The notion of unimodularity and its properties play a crucial role. Next the definitions
80
of unimodularity and total unimodularity are provided.
Definition 6.6.1
Unimodularity: A matrix 'A' of rank r is said to be unimodular if all entries of A are
integers, and the determinant of every square submatrix of A of order r is either 0,-1
o r + 1 . 0
Definition 6.6.2
Total Unimodularity: A matrix A is called totally unimodular if the determinant of
every square submatrix of A is either 0, —1 or +1. Any totally unimodular matrix
contains 0 and ±1 entries only. 0
Some of the results discussed next appear in [66].
Theorem 6.6.1
The constraint matrix A (the leftmost matrix) in equation (6.9) is totally unimod
ular.
Proof The proof is straight forward from the structure of A. The matrix A contains
entries with only / , O and e. Also / is a unity matrix and each of its diagonal elements
is a 1 and the rest of the entries are 0. Now O is a zero matrix and each of its entries
is a 0. Also e is a vector each of whose entries is a 1. Therefore, each entry of the
matrix A is a 1 or a 0. Hence, by definition the matrix A is unimodular. Therefore,
the determinant of each square submatrix of A can only be 0, +1, or —1 and makes
A a totally unimodular matrix. Q.E.D.
Equation (6.9) is of the form AX = b. The constraint matrix A and also the
incidence matrix a inside A in equation (6.9) are totally unimodular. Since the PN
reachability problem has a precondition that vector X be always integer and since the
marking vector and the firing count vector can only contain integer entries, therefore
81
these are also integer vectors. This implies that finding an OLFS to decide the PN
reachability is an all-integer-programming-problem.
.A sufficient condition for the total unimodularity of the incidence matrix a is given in
the following theorem.
Theorem 6.6.2
-Any (-1,0,+1) incidence matrix o is totally unimodular if
• Each column of a contains not more than two nonzero entries, and
• The rows of a can be partitioned into two subsets such that:
1. If a column of a contains two entries with the same sign, then the corre
sponding rows belong to different subsets, and,
2. If a column of a contains two entries with opposite signs, then the corre
sponding rows belong to the same subset.
This theorem does not state a necessary condition.
0-
Figure 6.2: A PN A/ to verify Theorem 6.6.2.
82
Example 6.6.1
The incidence matrix a for the PN in Figure 6.2 is given in the following:
/ \ - 1 - 1 0
a =
V 0 1 1 /
The net in Figure 6.2, where m = 3 and n = 3 satisfies the first condition in theorem
6.6.2. For the second condition, the rows of a are subdivided into subsets. Now
rsl={pi,p2,P3} and rs2 = (f>, where (f) denotes an empty set. Theorem 6.6.2 provides
an important structural property of PNs.
-A close look at the constraint matrix A in the OP-based LP method reveals
that, except for the entries in matrix a, the rest of the entries contain only positive
elements, either elements in I or the unity matrices, or elements in 0 or zero matrices
or elements in a" or elements in e vectors. Therefore, it is enough if only the matrix a
is considered for unimodularity in order to obtain the properties relating to structures
of PNs. The OP-based LP method discussed in this chapter is also a straightforward
computational method.
83
CHAPTER 7
A DYNAMIC PROGRAMMING METHOD
In order to keep down the number of constraints and the number of unknown
variables to reasonable values, a given problem can be broken down into smaller
problems. .A Dynamic Programming (DP) method is based on this basic principle.
It uses multiple steps (d steps) for finding LFSs of PNs, in contrast to the Single
step LP or the OP-based LP method which use only one LP step. The DP method
is the only general approach to sequential optimization under uncertainty. A formal
definition of DP follows.
Definition 7.0.3
Dynamic Programming: In fact, dynamic programming is a kind of transforma
tion [55]. It takes a sequential or a multi stage decision process containing many
interdependent variables and converts it into a series of single-stage problems, each
containing only a few variables. 0
The concept of DP as originally introduced by Richard Bellman is used in this
chapter to divide the optimization problem into d-part problems.
7.1 Basic DP Formulation
The basic reachability problem of PNs with a prespecified u and d is subdivided
into d parts with A; = 1,2,..., d for solving under smaller number of constraints.
To find LFSs, it is necessary to recursively formulate the objective function of
equation (2.12). The computation starts at x(d). If U denotes the set of firing vectors
which satisfies the set of constraint equations (2.13), then each element of U is called
84
an admissible vector. At each firing instance k, there may be multiple enabfing firing
vectors which are members of U. The objective function J in equation (2.19) is a
function of A; = 1, the initial state x(0), and a LFS or, in other words, J is also a
function of the admissible firing vector sequence {u(l),u(2), . . . ,u(d)} (multiple of
which may exist). Denoting a LFS {u(l),u(2),.. .,u(d)} by u[l,d] then,
u[i,d]eu. (7.1)
Rewriting the objective function J in equation (2.12) as J(x(0),u[l,d], 1), then J is
a function of x(0) at A; = 1, since a firing vector u(A;) G t/ is determined by x(0) at
A; = 1. Writing J as J(x(0), 1), the objective function is given by,
J(x(0), 1) = (u[l, d] G U){J{x{0), u[l, d], 1)}. (7.2)
In general, within the range 1 < A; < d, if x(A; — 1) is the initial state, then the
objective function is given by,
J(x(A; - 1), A;) = (u[A;, d] G U){J{x{k - l),u{k, d\, k)}. (7.3)
-Assume that there is an intermediate firing instance j such that k < j < d. If
j represents an initial firing instance with x{j — 1) as the initial state, then the
corresponding objective function will be given by J{x{j — l),j) and the computations
of J(x(A; — 1), u[k,j — 1], k) are completely independent of u[j, d]. Therefore, equation
(7.3) can be written as,
J(x(;c-1),A;) = (u[A;,j-l]GC/){J(x(A;-l),u[A;,i-l],A;)}
+{u[j,d] G U){J{x{j - l),u[j,d],;)}
= (u[A;,; - 1] G U){J{x{k - l),u[A;,i - 1], A;)
+J{x{j-l),j)}.
85
In terms of j = (k + 1), and writing u[A;, A;] = u(A;) (Since u[A;, A;] is the only firing
vector u(A;) in the LFS), ,7(x(A- - 1), A;) in equarion (7.4) becomes:
J{x{k-l),k) ={u{k)eU){J{x{k-l),u{k),k) -^J{x{k),k + 1)},
where J{x{d), (d + 1)) = 0 and A; = d, (d - 1) , . . . , 1.
(7.5)
The recursive formulation in equation (7.5) is the basis of the optimization principle
for the backward directional computations of DP techniques. The basic DP algorithm
rests on equation (7.5).
7.2 The DP Algorithm
There is a precise mathematical correspondence between recursions used within pro
grams and simple loops which could replace those recursive structures. It is always
possible to replace a recursive structure within a program by simple looping con
structs [26]. But this requires new elementary instructions within the program codes
and substantial changes within the algorithm. The latter has the advantage of being
simple whereas in general, the recursive subroutines are more powerful than their
iterative counterparts. Recursive subroutines have one major drawback in that some
of the powerful compilers do not support recursions. Whereas iterative constructs
can easily be implemented by most of the compilers. Stacks are always associated
with the implementation of recursive constructs. If the problem size is bigger than
the system can support, there is always a possibility of stack overflow and the system
might run short of memory. With a recursive implementation, there is a possibility
of stack overflow. With a DP-based algorithm using iterative constructs, there is a
possibility of combinatorial explosions with large problems [26] which is also true for
the DP algorithm which follows. The following is an iterative DP algorithm for PNs
which uses a breadth-first-search (bfs) technique.
86
Step 1
At the firing instance A; = d, the objective function J{x{d),d+ 1) = 0 and x(d)
is prespecified. Find all u{d) satisfying {u{d) G U){J{x{d - l),u(d),d)} = e*x(d)
having the initial state x(d - 1). Generally, for the states at A; = (d - 1), store
all the objective function values J{x{d - l),d) in memory as the functions of the
corresponding markings x(d - 1).
Step 2
-At the firing instance A: = (d - 1), substitute J{x{d - 1), d) in step 1 into equation
(7.5) and find all u{d - 1) satisfying J{x{d - 2),d - 1) = {u{d - 1) G U){J{x{d -
2), u(d - 1), d - 1) + J{x{d - 1), d)} with the initial state x(d - 2). Store in memory
the numerical values of J{x{d — 2), d — 1).
Step 3
Repeat step 2 for A; = (d - 2 ) , . . . , j + 1. At the firing instance k=j, substitute
'^(^(i) , i+l) of ( i+ l ) th firing into equation (7.5) and find all u{j) satisfying equation
(7.5) with the initial states x{j — 1). Store the numerical values J{x{j — l),j) and
the corresponding states x{j — 1) in memory.
Step 4
Further repeat step 2 for A; = (j — l),{j — 2),..., 3. At the firing A; = 2, substitute
J(x(2), 3) at the 3rd firing into equation (7.5) and find all u(2) satisfying J(x(l), 2) =
(u(2) G U){J{x{l), u{2), 2) + J{x{2), 3)} with the inirial state x(l). Keep in memory
the numerical values of J(x(l), 2) and the states x(l).
Step 5
-At the firing A; = 1, substitute J(x(l),2) at A; = 2 into equation (7.5) and deter
mine all u(l) which satisfy J{x{0), 1) = (u(l) G U){J{x{0),u{l), 1) + J(x(l), 2)} with
the fixed initial state x(0). The DP algorithm terminates here.
In this algorithm, the states x ( d - 1), x ( d - 2 ) , . . . , x(l) are unknown initial states
87
START
At k=d, J(x(d),d+1)=0 and x(d) is known. Find all u(d) to satisfy J(x(d-l),d) = e -xCd).
YES
Store all J(x(d-I),d) in memory as the functions of the corresponding x(d-l)s.
k = (d-l)
Find all J(x(k-I),k) and store in memory as the functions of x(k-l)s.
k = (k-l)
Substitute J(x(k),k+1) of the (k+l)th firing into equation (7.5) and find all u(k) to satisfy equation (7.5) with initial states x(k-1) Srorfl ,T(x(k-l),k) in meimnry
At k=l, determine all u(l) for J(x(0),l) with fixed x(0).
-»- STOP
Figure 7.1: Flow-chart of the DP algorithm.
88
at A; = d, (d - 1 ) , . . . , 2. All feasible initial states at A: = d, ( d - 1 ) , . . . , 2 are stored in
memory, requiring a huge amount of memory space for the computation of multiple
LFSs. Figure 7.1 shows a schemetic diagram of this algorithm.
7.3 Computational Performance
For a token-free terminal state condition, the algorithm can not compute one LFS.
With reasonable problem sizes, the DP algorithm is capable of finding multiple LFSs.
The computation considers combinations of transitions at different firing instances A;,
A; = 1,2,..., d and it is an enumerative type of algorithm.
The number of places has less effect on the algorithm's computational efficiency
compared to the number of transitions in a given PN with a reasonable length of the
firing count vector d.
The DP algorithm can compute reasonable sized ordinary PNs and can find LFSs
in ordinary PNs containing self-loops. An example is considered next:
+ [1.0. II '
I [0. 1. 11' [
I [1.0.1) I—^—-j I I . 0.01' 1—'• - j [0.1.01' r
(b)
(a)
Figure 7.2: DP algorithm applied to a PN. (a)(A'',x(0)), (b) the states traversed.
For the PN in Figure 7.2(a), the initial marking is x(0)=[l, 0,1]*, the final marking
is x(d) = [0,1,1]* with u = [1,1,1]* and d = 3. A LFS exists from x(0) to x(d) for
the given u, which is computed as (t3,ti,t2) as is evident from Figure 7.2(b).
89
A second example for the PN in Figure 2.3; let x(0) = [0,0,0,0,0,0,0]*, x(d) =
[2,0,0,1,0,0,0]* together with a firing count vector u = [0,0,1,1,1,1,1,0]* and d = 5.
The optimal LFS from the initial to the destination marking is cr = (te, ty, t4, ts, ts).
xlO) 1 ;—I '6 J 10.0.0,0,0.0,1]' I [0.0.0.0.0,0.01' 1^ '•' '"•"•"•"•"• '
objectives I objec[ive=0
[1.0,0.0,3.0, i T "
I 11,0.0.0,2.0.01' p ^ 6
[1.0.0.0,1,0,01'
(1.0.0,0,2,0.11'
.6^,..-^[l,0.0,0.1,0.n'l " '^'''^"'^
\ II.0.0,0,0.0.rr~
x(<i)
objective=3
[1.0,0,0.0,0.0]'I
Figure 7.3: The markings traversed by the DP algorithm for the net in Figure 2.3.
Figure 7.4: A BCF net.
The DP algorithm searches through every reachable marking in its search space,
therefore multiple LFS searching is possible. Consider the Backward-Conflict-Free
(BCF) PN [51] in Figure 7.4.
90
For the BCF net in Figure 7.4, x(0) = [1,1,0,1,0]*, x(d) = [0,0,0,1,0]*, u =
[1,1,1,1]* with d = 4. There are two LFSs which are computed by the algorithm.
These are ai = (t4,t3,ti,t2) and (72 = (ts, t4, tj, t2). Both of these are legal on x(0)
with respect to u.
7,4 Computational Characteristics
The algorithm traverses all reachable markings at each flring instance k. If a prob
lem is decidable, the reachable markings corresponding to a LFS are always stored
in memory. Therefore, the concept of the sink transition of a critical siphon does not
hold for this algorithm. The computation traverses all possible reachable states at the
A;th firing from a corresponding successor marking at the (A; + l)th firing. Therefore,
only reachable markings exist in the search space. The firing of a critical transition
at the A;th instance deadlocks a computational process at a later firing instance j
such that k < j < d, where d is the total number of firings in a LFS. Only reach
able markings corresponding to a LFS are selected by the DP algorithm from the set
of all reachable states. Hence, the concept of a critical transition does not hold in
connection to the DP algorithm.
The algorithm considers combinations of possible enabled transitions from the
firing count vector in order to compute LFSs of PNs. Thus, there is possibility of
a combinatorial explosion for relatively large problems, which comes out as a major
drawback. The DP is an enumerative type algorithm because it checks all possible
states during the computations, even though it considers combinations of transitions
rather than permutations of transitions. Hence, the algorithm derives reachable states
from previous states to find LFSs.
91
7.5 Complexity Analysis
The algorithm has a computational complexity of 0(dm^"), which is not polyno-
mially bounded. This is shown next.
-At the final marking x(d), m computations are carried out and for the rest of the
stages, rr? comparisons are carried out at each stage for a total of Ctotox comparisons;
therefore:
Ctotai = m + (d - l)m^ (7.6)
If the state vector x(A;) for A; = 0,1,2, • • •, d is n-dimensional, then the total number
of comparisons are
Ctotai = m'' + {d- l)m2". (7.7)
Therefore, the algorithm has a computational complexity of 0{dm^"'). Only firable
transitions from the given firing count vector u are considered at each firing instance
A;, where A; = d, (d — 1), • • •, 1.
For example, if m = 5, n = 5 and d = 5, then the maximum number of compar
isons are,
Ct<,to/ = m" + ( d - l ) m 2 "
= 5 + (5 - 1) X 5 °
= 39,065,625.
7.6 Optimal Control Related Properties
7.6.1 Controllability
The DP algorithm cannot decide controllability. Controllability implies that there
exists a firing sequence {u(A;)} for A; = 1,2,3, • • •, d which takes the initial state x(0)
to a final state x(d), where x(d) is a state of equilibrium. The final marking x(d)
is said to be a state of equilibrium [10] provided that x{d)=Onxi, where Onxi is
92
an (n x 1) column vector having each of its entries equal to zero i.e., it describes a
token-free terminal state condition. Since, x(d)=x(0) + au, then
0 = x(0) + au. (7.8)
The above equation provides
a u = - x ( 0 ) . (7.9)
Since x(0) > 0, then
(a+ - a-)u < 0. (7.10)
The condition for controllability in a PN is given by,
a'^u < a~u. (7.11)
Equation (7.11) literally means that there should be an absorption of the total number
of tokens present in the PN or the total number of tokens in the net should remain
unchanged once the final marking x(d) is reached from x(0) for a given firing count
vector u.
Figure 7.5: A PN to verify controllabiUty.
Example 7.6.1
Consider the net in Figure 7.5. Here ts is a sink transition and tj is a source
transition. With a firing count vector, u = [1,2,1,1]* and d = 1 + 2 + 1 + 1 = 5,
x(d)=[0,0]* is reachable from a;(0)=[0,0]* with a LFS, a = (ti, t2, t4, ts, ts). Therefore
x(0) = [0,0]* is controllable.
93
7.6.2 Observability
The observability property provides the ability to establish the initial state x(0)
assuming that the final state x(d) is given [10]. The DP algorithm does not follow
the observability property for a PN reachability problem. On the other hand, if
x(d) = Onxl = [0,0,0, • •-,0]* is reachable from the initially given state x(0), then
x(0) is said to be controllable [10].
94
CHAPTER 8
A LP METHOD BASED ON DYNAMIC PROGRAMMING
While analyzing concurrent systems using PNs, the number of reachable states may
become enormous. There is a possibility of the combinatorial state-space-explosion if
a DP method is used for the analysis of large problems. A solution to this problem is
to combine two different optimization methods to have a more powerful and versatile
computational technique. The basic DP technique is combined with LP for the DP-
based LP method. The reversed net A''"^ of an original PN A is used for computing a
LFS, This scheme strengthens the computation of a LFS and aids in avoiding potential
critical transitions on the original PN N. A backward directional computational
technique of DP has been used with the reversed net by splitting the complete problem
into a multi-stage decision problem and each stage is solved using one application of
LP. This provides a method that combines three different techniques:
1. Use of the reversed net A''"^ of an original PN A'',
2. use of DP,
3. use of LP.
This is the basis of the DP-based LP method. The DP-based LP method discussed
in [44] where it has been called the DP+LP method needs further clarification and
analysis.
8.1 Results on Reversed Nets
Definition 8.1.1
Reversed Net: The reversed net structure A''"^ [51] of a net structure A'' = (P, T, a'^,a~)
is the unmarked net obtained by reversing the direction of each arc in N. 0
95
Properties of reversed nets are closely related to the DP-based LP method. Some
results relating to reversed nets are introduced in the following.
Lemma 8.1.1
The incidence matrix of the Reversed net A^-i of a given PN A is expressed by
the relationship -a = a' - a+, where the incidence matrix of N = {P,T,a+,a-) is
a = a-^ - a'. Therefore, the structure of the reversed net of an original PN N is
N-' = {P,T,a-,a+).
Lemma 8.1.2
In a PN N with an inirial marking x(0) which is denoted by {N,x{0)), if x(d) G
i?(x(0)), i.e., x(d) is a member of the set of reachable markings R{x{0)) from x(0),
then on the reversed net with a final marking x(d) which is denoted by {N-\x{d)),
x(0) G R{x{d)) and vice versa. The notation R{x{d)) is the set of reachable states
from x(d) on (A^-^,x(d)).
Proof:
1. From the state equation, the final marking x(d) = x(0) + au for x(d) G R{x{0))
on {N,x{0)). Then the non-negative integer firing count vector u satisfies, u =
ELi^ik).
2. The state equation gives, —au = x(0) — x(d), which is,
x(0) = x(d) + {-a)u (8.1)
Equation (8.1) is the state equation for a reversed PN A~- having the initial marking
x(d), the final marking x(0) and an incidence matrix —a.
3. The firing count vector u in the state equation: x(0) = x(d) + {—a)u must
be realized for the firing sequence a, therefore, the firing count vector sequence
u = Efc=i u{k) fires in the reversed order of the computations. This implies that
on {N~'^,x{d)), x(0) G R{x{d)). This proves the first part of Lemma 8.1.2.
96
4. The proof of the second part which is for the backward direction is obtained by
starting from step 3, if one goes to step 2, and finally from step 2, if one goes to step
1.
Q.E.D.
Theorem 8.1.1
The minimum transfer of tokens at the A;th firing on the original PN A'' is the same as
the maximum transfer of tokens at the A;th firing on its reversed net N~'^. Expressed
mathematically; „(5°j;[e*{x(A;-1)+au(A:)}] = „(™^^{e*x(^)} on (A^,x(^-1)) is the
same as: „S"^^[e*{x(A:) - au(A;)}] = „(' )\ {e*x(A: - 1)} on {N-\x{k)).
Proof:
1. The firing vector u(A;) which satisfies ^^^^^[e^x{k)] on {N,x{k - 1)) is an optimal
firing vector u*{k).
2. Step 1 indicates that the firing vector u(A;) having the largest difference between
x(A; — 1) = [xi(A; — 1)] with the total number of tokens E"=i^i(^ — 1) and x(A;) =
[xi(A;)] having the total number of tokens Z)"=i2;i(A;) is selected (also u(A;) satisfies
x(A; — 1) > a~u(A;) for enabled transitions).
3. -Assume t is the transition which satisfies step 2 and the optimal firing vector
u*(A;) = Cr {e-r is a vector with the r-th element = 1 and the rest of the elements
0). Then for the columns of the matrices a"*" and a~ corresponding to the transitions
satisfying the enabling conditions, the difference between the summation of the r-th
column elements of a"*" and a~ is minimum.
4. Consider the reversed net with x(A;) which is denoted as {N~^,x{k)), where x(A;)
is the same marking as in step 1. Since x(A;) = x(A; — 1) + au{k), therefore, x(A; —
1) = x(A;) + (—a)u(A;). On the reversed net, the incidence matrix is —a = a~ —
a"*" On (A^~- ,x(A;)), the transition tr which corresponds to a vector e should be
97
selected such that the enabling condition x(A;) > a+u(A;) on (A/'~\x(A;)) is satisfied
and the difference between the summation of the r-th column elements of a"*" and
a~ is minimum. This means that the difference between the summation of the r-th
column elements of a~ and a"*" is a maximum for tr.
5. Since x(A; - 1) -x(A;) = (-a)u(A;), therefore step 5 implies selecting that transition
tr as u(A;) which provides a maximum difference between EiLi Xi{k - 1) of x(A; - 1)
and '£,'i=iXi{k) of x{k) on {N~'^,x{k)). Expressing this mathematically,
u(k)^uf'*^'^^^) " °"(^^^^ = u(^^G U^''^^^ " ^^^ ''^ ( ^ ~ ' ' ^ W ) (8-2)
6. Note however that if starting from step 5, one proceeds up to step 1 in opposite
sequence with {N,x{k - 1)), then the same results as those for {N~'^,x{k)) from step
1 up to step 5 are obtained.
Q.E.D.
Theorem 8.1.2
A structural siphon on the given PN TV is a structural trap on the reversed net A''"^
and vice versa.
Proof On the reversed net N~^, all arc directions are reversed. From the basic
definition of structural siphons, for a siphon Ps,
<t>Q'PsQ P's, (8.3)
with 'Ps = set of input transitions to Ps and FJ = set of output transitions to Ps-
On the reversed net N~^, only the arc directions are reversed but the places are
left intact. Therefore, input transitions and output transitions of Ps become output
transitions and input transitions, respectively, whereas the set of places remains same.
Let us denote the set of places in Ps on the reversed net A''"- as Ps. Therefore,
'Ps = P | (8.4)
98
and
P's = *Ps- (8.5)
Substituting in 8.3,
- C PJ c -Ps. (8.6)
From the definition of traps, equation (8.6) shows that Ps is a structural trap.
Next consider a structural trap PT in A'' and denote the set of places in PT on
N~^ as PT. From the definition of a structural trap,
(pCP^C -PT (8.7)
Clearly,
'PT = PT (8.8)
PT = 'PT (8.9)
Using 8.8 and 8.9 in 8.7,
(PQ'PTC P^ (8.10)
Therefore, PT satisfies the definition of a structural siphon.
Q.E.D.
Theorem 8.1.3
The sink transitions of the critical siphons for a PN A'' on particular markings for
the reachability problem with known values of u and d are the one and only critical
transitions possible.
Proof First, it is shown that the sink transitions ts of a critical siphon with known u
and d are critical transitions on the specific markings. Any siphon NE is an effective
siphon for a known u and d. Since for the reachability problem with a known u and d,
it is enough to consider only the firing count subnet Nu = {Pu,Tu, a'^, a') defined by
99
the nonzero elements of u, || u ||. At any firing instance k, only || u(A;) || is considered.
Now for A £;, if PE denotes the set of places in the siphon, ^ C 'PE C PJ, then A'' ; is
a siphon with transitions 'PE common to both the set of input and output transitions
of NE- If a transition tg is such that tg G 'PE, then tg is common to both the set of
input and output transitions of the siphon. From the definition of a sink transition
ts of a siphon NE, ts G TE\'PE, therefore ts is not within the set of input transitions
'PE of the siphon NE and it can only be an output transition of NE- Since NE is a
siphon and tg is a sink transition of NE, therefore, there is at least one transition tg
such that 'ts C 'te or, 'te C 'tg- If ts is allowed to fire, it removes w{pE,ts) tokens
from all the input places PE G 'ts of ts and ultimately tg cannot fire. If ts is allowed
to fire on the particular markings one or, some of the transitions which are members
of II u II are deadlocked and cannot fire. Therefore, ts can be a critical transition for
known values of u and d.
Next, it is shown that there can be no other critical transitions. Since for the
siphon NE, (P^'PE Q PE, therefore the transitions 'PE are always common to both
the set of input and output transitions of NE- But tg G T^ n ( ' P E n P^), therefore
transitions tg's are completely within the closed loop of A - The following step shows
that a transition tg can not be a critical transition. Let a transition tg G TEri{'PEC^PE)
be a critical transition. Therefore, firing tg on x(A;) G R{x{0)) at the A;th firing will
disable a transition t with the number of firings of tg in the effective firing count
vector u denoted by Ug(A;), where Ug(A;) > 0 and tg G TE n {'PE nPE)- But tg is in the
set of input transitions to NE- Therefore, some or all of the output places of tg, tg*
are completely within the set of places of A ^ which are also input places to another
transition say tg G TEn{'PEnP^). Hence, if tg fires then it helps tg to be enabled and
if other conditions remain perfect, tg should be able to fire. Proceeding this way t
should be able to fire at some firing instance g. A; < g < ( d - 1). Therefore, tg cannot
100
be a critical transition. Thus, no tg G Tg; n {'PE n PJ) can be a critical transition,
since their firing help keep tokens remaining either completely or, partially within
the set of places forming A £;. This result is strictly true for general PNs for which
•w{pE,ts)=l.
Q.E.D.
Definition 8.1.2
-An effective firing count vector is the total firing vectors of a firing count vector u
remaining at the A;th firing after completing the firings of some enabled transitions at
some previous firing instances of k in the LFS. 0
Definition 8.1.3
Effective Siphon: If the effective firing count vector u is non-zero, then a siphon
A'g = (Pe,re,a^, aj) is said to be effective, provided that at least one transition
t G Tg corresponds to u. 0
Theorem 8.1.4
If (A , x(0)) with x(d) is x(d) G P(x(0)) under the existence of a firing count vector
u, then an effective siphon on A'' is always marked at x(0).
Proof If an effective siphon is not marked on x(0), it remains empty at each successive
marking. Denote the effective siphon by ND and the set of transitions in ND by
TD. NOW if the effective siphon ND is not marked at x(0), then a transition t e TD
corresponding to a non-zero element of the firing count vector u never fires and {u(A;)}
which corresponds to u is far from the realization. This means (iV, x(0)) with a final
marking x(d) is x(d) ^ R{x{0)) under the existence of u. Thus, an effective siphon
cannot be token-free at x(0).
Q.E.D.
101
Theorem 8.1.5
If (A'', x(0)) with a final marking x(d) G P(x(0)) under the existence of u, then a
potential critical transition at x(A; - 1) G P(x(0)) does not have a priority for firing
at the (A; — l)th firing instance.
Proof: If the sink transition tg G Tp of a potential critical siphon Nu has the topmost
priority on x(A; — 1), then on x{k), the following two conditions hold:
• If ND is token-free then the proof of Theorem 8.1.5 follows from the proof of
Theorem 8.1.4.
• If ND has tokens, then the following statement holds. At the firing instance
under consideration, at least one transition tp G To on a circuit of ND cannot
fire at some marking x{q), where x{q) G R{x{k — 1)) and x{q) is reachable from
x(A;). The marking x(A;) is based on the firing of the transition t, G TD on
x(A; — 1). From the properties of a siphon, tp G TD never fires from the marking
following x{q) and it is impossible to realize {u(A;)} which corresponds to u.
This implies that there does not exist a LFS which starts on x(0) and ends at
x(d). This completes the proof
Q.E.D.
To apply the DP-based LP method, the reversed net A/"" of a given PN N is used
with computations starting at x{d). Therefore, Theorem 8.1.5 must be modified as
follows.
Lemma 8.1.3
If {N~'^,x{d)) with an initial marking x(0) and x(0) G R{x{d)) under u, then the
sink transition of a possible critical siphon on x(A;) G R{x{d)) does not have priority
for firing at the A;th firing instance. A; = 1, 2 , . . . , d.
102
Proof: The proof is straightforward from Lemma 8.1.2, Theorem 8.1.1, Theorem 8.1.5
and using the fact that with a reversed net A''"^ the computation of a LFS a proceeds
in the opposite direction starting at x(d). Q.E.D.
Example 8.1.1
The simplest critical siphon is a place connected to a transition (critical transition).
It is possible to have more than one sink transitions of siphons on the same marking
as potential critical transitions.
The example in Figure 8.1 shows the smallest critical siphon possible in a given
PN to compute a LFS using the DP-based LP method. Figure 8.1(a) shows x(0) =
[0,0,0,0,0]*, and Figure 8.1(b) shows x(d) = [1,0,1,0,0]* obtained with u = [0,1,1,1,1,1]*
The PN in Figure 8.1(b) is the reversed subnet with a final marking: (A''~\x„(d)).
(a) (b)
Figure 8.1: A PN A and its reversed subnet.(a)(A^,x(0)), {h){N-^,Xu{d)).
103
Using the DP-based LP method, a LFS is obtained as a = (t6,t5,ts,t2,t4). At
A; = d, if ts is allowed to fire on N~^, then the given problem becomes unreachable,
since ts is a critical transition at x(d). Transition ts is the sink transition of a smallest
critical siphon {pi} on the marking. Also ts is a sink transition of the critical siphon
(the closed-loop critical siphon) {p2,P3} on the same marking. This example justifies
the existence of may be more than one potential critical siphons on the same marking.
8.2 A Computational Algorithm for DP
From the formulation (3.3), the optimal objective function J* is given by,
J*(x(A;-l),A;) = ^-;^^[e*{x(A;)} + J*(x(A;),/: + 1)],
= ^^^eui^'{x{k-l) + au{k)} + J*{x{k),k + l)], (8.11)
J*(x(d),d+1) = 0, A; = l ,2 , . . . ,d .
-As x(0) and x(d) are fixed, equation (8.11) involves computing the LFS u{d),u{d-
1) , . . . , u(l) in the opposite order as well as computing x ( d - l ) , x ( d - 2 ) , . . . , x(0) with
the initial state x(d) on (A/~Sx(d)). Using the results of Theorem 8.1.1 in equation
(8.11), the following equation is obvious,
r{x{k-l),k) = ^;;^^^[-e'{x{k)-au{k)} + J*{x{k),k + l)], [8.12]
J*{x{d),d + 1) = 0, where k = l,2,...,d.
The backward directional computational algorithm of DP uses the reversed net N~'^
for computations. Therefore, it is necessary to assume that Theorem 8.1.5 holds for
each of the following steps.
104
Step 1
-At firing A; = d, find u*{d) satisfying the equation.
mm r{x{d - l),d) = ^^^^ ^ ^(-e*{x(d) - au{d)}),
J*{x{d),d + 1) = 0 and x(d) is fixed. (8.13)
Step 2
-At A; = d - 1, substitute J*(x(d - 1), d) which is the decided value at Step 1 into
equarion (8.13), and determine x ( d - l ) = x{d)-au*{d). Find u*(d-1) satisfying the
relationship: J* (x(d - 2), d - 1 ) = ^^^^-J^^ [-e*{x(d - 1 ) - au(d - 1 ) } + J*[x{d -1), d]].
Steps
At A; = j , substitute J*{x{j),j +1) that is the decided value at the {j + l)th firing
into equation (8.13) and x{j) = x{j + 1) - au*{j + 1) is determined. Next find u*{j)
which satisfies equation (8.13).
Step 4
At A; = 2, substitute J*[x(2),3] which is the decided value at the k = 3rd firing
for equation (8.13) and x(2) = x(3) - au*(3) is determined. Find u*(2) satisfying:
J*(x(l), 2) = ^^l^[-e*{x(2) - au(2)} + J*(x(2), 3).
Step 5
At A; = 1, substitute J*(x(l), 2) which is the decided value of Step 4 for equation
(8.13) and x(l) = x(2) — au*(2) is determined. Find u*(l) satisfying the relationship:
J*(x(0),l) = ^-jl^[-e'{x{l)-au{l)} + J*[x{l),2]].
Step 6
If x(0) = x(l) — au*(l), in other words, if u*(l) in Step 5 is equal to u*(l) satisfy
ing: J*(x(0),l) = ^^^^^u[e*{x(0)+au(l)}+J*(x(l), 2)], then the algorithm terminates.
105
The above computational algorithm decides both an initial state x(A;) at the A;th
firing and an optimum objective function 7*(x(A;), A; + 1) compared to the algorithm
for DP techniques. Therefore, it is not required to keep the numerical values of the
quantity J*(x(A;), A; +1) inside memory, since the computational algorithm for DP on
PNs is completely iterative and uses the current value of J*(x(A;), A; + 1) for the next
iterati^•e step. This reduces the memory space requirements. Hence, the modified DP
consumes smaller amount of memory.
The modified DP algorithm uses an objective function as defined by the equation
(8.12) on {N~^,x{d)) under Theorem 8.1.5. Introducing the new reversed firing in
stances for j = 1,2,..., d and keeping the variables corresponding to the A;th firing,
the modified version of the PN reachability problem is obtained.
8.3 Modified Reachability Problem on the Reversed Net
For j = 1,2,..., d, find the optimum firing sequence {u*{d - j + 1)} such that,
J * ( x ( d - ; ) , d - i + l)
= u^d-f:^)eu[-^'{<d-j + l)-au{d-j
+l)} + J*{x{d-j + l),d-j + 2)], (8.14)
subject to :
106
(8.15)
x{d - j) = x(d - ;' + 1)
- a u ( d - j + l), (a)
x{d-j + l)>a+u{d-j + l), (b)
ET=iUi{d-j + l) = l, (c)
j:UMd-j + l) = u, (d)
x(0),x(d), and d are fixed, (e)
x(0), x(A;) > 0 are integer vectors, (f)
u > 0 , u ( A ; ) > 0 a r e integer vectors, (g)
Specifically, J*(x(0),l) = ^-'^^[_e*{x(l) - au(l)}
+J*(x(l),2)]
= ^-^^^[e'{x{0)+au{l)}
+J*(x(l),2)],
J*(x(d),d+ 1) = 0, and eq. (8.15(c)) fulfills the condition of Theorem 8.1.4.
8.4 Formulation of the DP-Based LP Method
The optimization problem for each subprocess at the jth firing instance has been
formulated using LP. The marking x(d — j + 1) in (8.15(b)) is transformed into the
following by using equation (8.15(a)):
a+u{d-;• + ! ) < x(d) - aZll] u{d-k + 1). (8.16)
For any value of j where j = 1,2,..., d, the righthand side of the above equation is
known. Introducing slack variables s{d — j + 1) = [si{d — j + l)],i = 1,2,.. .,n, into
equation (8.16), equation (8.17) is obtained:
a+u{d-j + l) + s{d -j + l)= x(d) - aZiZlu{d-k + 1). (8.17)
107
Note that the state equation is taken into account in equation (8.17). Moreover,
introducing artificial variables y^(d- ; + l) and y^ = ^Z^ ^ y^{d-j + l), y^{d-j + l) =
[yRd - j + 1)], i = 1,2,..., m into equations (8.15(c)) and (8.15(d)), the DP-based
LP formulation in equations (3.4) and (3.5) is obtained from the modified form of the
DP method on the reversed net.
8.5 Analytical Results
In LP, it is not guaranteed that integer optimal results are always obtained. But the
necessary and sufficient conditions to obtain the integer optimal results are assumed
to be known. Using the LP relaxation, the reachability problem with a prespecified
u and d, which is an all-integer-programming-problem is solved with real variables
using the DP-based LP method. The analyses in this section provide the theoretical
foundation for computing integer firing vectors using the DP-based LP method.
Theorem 8.5.1
Assume LP is constrained by Ax = 6, x > 0. Matrix A is an integer matrix having
linearly independent rows and b is an integer vector. Then the next three conditions
are equivalent to one another.
(1) The determinant of every basis P of A is either +1 or - 1 .
(2) The extreme points of the convex polytope C which are defined by Ax = 6, x > 0
are all integer vectors for an integer vector 6.
(3) The inverse matrix B~^ is an integer matrix.
Corollary 8.5.1
Consider the convex polytope C defined by Ax < 6, x > 0, then the next three
conditions are equivalent.
(I) A is totally unimodular.
108
(2) The extreme points of C are all integer vectors for an integer vector b.
(3) Every nonsingular matrix of A has an integer inverse.
Moreover if any one of the matrices A, A\ -A, \A, A], [A, I] is totally unimodular,
then any other matrix formed by the combination of these matrices are also totally
unimodular. The next properties are obvious from the formulation of the DP-based
LP method. If the matrix of constraint coefficients A in equation (3.5) is strictly in
canonical form (which is defined in Theorem 8.5.2), then it enhances the initial basis
selection process for a LP technique used with the DP-based LP method.
Theorem 8.5.2
The matrix of constraint coefficients A in the DP-based LP formulation in equation
(3.5) is strictly in canonical form.
Proof: (1) -A matrix of constraint coefficients A is in canonical form if there exists
a unity matrix of order (m + 1 + n) among the first (m + 1 + n) rows of matrix A
(since the matrix A has a total number of (m + 1 + n) rows or there are (m + 1 + n)
constraints in equation (3.5)).
(2) Among the first m rows, there is a unity matrix of order m from the (m + l)th
column up to the 2mth column. Another unity matrix of order 1 is found in the
(m + l)th row and the (2m + l)th column. Finally, a unity matrix of order n is found
from the (m + 2)th row up to the (m + 1 + n)th row and (2m + 2)th column up to
the (2m + 1 + n)th column.
(3) Combining the three unity matrices as stated in step (2), there is a complete
unity matrix of order (m + 1 + n) among the first (m + 1 + n) rows of the constraint
matrix A which is from the (m + l)th column up to the (2m + 1 + n)th column. Thus,
following the definition as stated in step 1, the matrix A is strictly in canonical form.
Q.E.D.
109
Theorem 8.5.3
The optimal firing vector u*(d - ; + 1) in the subprocess k = j of the DP-based
LP formulations is obtained as a globally optimal integer solution using LP, k =
l ,2 , . , . , d .
Proof:
(1) The submatrix .4i = [Imxm CmxiY is totally unimodular and the concatenation
[-4i /(m-t-i)x(m+i)] is also totally unimodular. Hence, the columns and rows correspond
ing to the slack variables can be eliminated. Let Pi be the basis of [Ai I{m+i)x{m+i)],
then detPi = 1 using conditions 1 and 3 of Corollary 8.5.1.
(2) The n columns corresponding to the slack variables can be selected as the basis
B for the coefficient matrix A in equation (3.5). For this matrix A, starting from
the (2m + 2)th coefficient column up to the (2m + n + l)th coefficient column, each
column contains only one non-zero slack variable coefficient which is 1 and the rest of
the elements are zero. A selection of these columns for the basic variables enhances
the LP computations. Therefore, more than (m + 2) variables are not selected as the
basic variables between the first coefficient column up to the (2m + l)th coefficient
column of the matrix A in equation (3.5) by using step 1. Then starting from the
(2m + 2)th column up to the (2m + n + l)th column are selected and this is [M*, A''*]*,
where M is an (m+1) square matrix and N is an nx (m+1) integer matrix. Therefore,
the basis B for the coefficient matrix of equation (3.5) can be written as:
P = M = Pi (8.18) M 0(^rn+l)xn
N Inxn
Therefore, detP = detM = detPi
(3) If the results of step 2 are used in step 3, then detP = 1 (this result is also
obtained directly from the structure of the coefficient matrix of equation (3.5)).
(4) If step 3 of this proof is used in Theorem 8.5.1, then Theorem 8.5.3 is true. Q.E.D.
110
8.6 Time Complexity
With the DP-based LP method, the original problem of finding a LFS has been
subdivided into d sub-problems and each sub-problem is optimized. The Single step
LP method can be used directly to solve the problem of finding a LFS. In this case,
the total number of unknown variables is m x d + m + d + n x d and the total
number of the constraints is (m + d + n x d). Let Ll = (m x d + m + d + n x d +
m + d + n X d)a; 2d(n + m + 1) and h is a. proportionality constant. Therefore, the
time complexity is 16c[d(n + m + 1)]^ and the order of complexity is 0{hLi).
For the DP-based LP method, let L2 = (n + 1 + m + n + 2m +1) = (2n + 3m + 2).
Therefore, the order of the complexity is 0{hL2). Under this method, d LP iterations
are applied. Each iteration in turn is of 0{hL2).
Assuming that the time complexity of LP is of polynomial order 4 to the size of
the problem, therefore 0{hL2)oc {2n + 3m + 2)^ Hence, 0{hL2)=c{2n + 3m + 2)^.
Let ip denote the ratio between the time complexity of the DP-based LP method and
that of the single step LP method, then
/ _ dxc{2n+3m+2)* ^ ~ 16c[d{n+m+l)]'^
^ dxc2 ' ' (n+m-H)^ - 16cd4(n-Km-H)4
~ A. — d"
~ d-3.
The ratio ip is only valid for a two-phase simplex subroutine. If the revised simplex
subroutine DLPRS is used, the ratio •)/; can be similarly reduced to approximately
16d-3.
The longer is the length of the LFS d, the more advantageous is to apply the
DP-based LP method.
I l l
8.7 Use of the Upper Bounded Revised Simplex Method
The basic steps to implement the DP-based LP method using the upper bounded
revised simplex subroutine employing the product form of inverse are outlined.
Step 1: Initializations
(1) Suppose that the matrix A of the constraint coefficients is expressed in terms of
a set of vectors {ui,U2,..., Um}- Therefore, A={ui, U2,..., Um}- Choose P^,. as the
set of basic variables corresponding to a unity matrix of order m as a submatrix of
the matrix A. If the unity matrix is denoted by I and the inverse matrix of P„^ is
denoted by B~^, then P~^ is given by, B~^ = By.^ = J=the unity matrix.
(2) Next denote Ny^ as the set of non-basic variables={xi,X2,... ,Xn}.
(3) The pricing vector which corresponds to the basic variables in the objective func
tion is given by, CB={0, 0 ,0 , . . . , 0).
(4) The basic variable vector is given by Xg — B~^b.
Step 2: Finding the Entering Variable
(1) For each Xj G Ny^, compute the difference {zj - Cj) = {c^pB-'^Nj - Cj). Denote by
dj the reduced cost for each nonbasic column, then dj = {zj — Cj).
(2) Denote by d, (z, - Cq), then d, = min{{zi - d) : Xj G A''„,} and Xj = 0, together
with dq < 0.
(3) Let dg = {z^ - Cg) = max{{z~^ - cj) : X3 G Ny^}, together with x- = U-, where
?7-=the upper bound of Xj and d, > 0.
(4) If no dg or, d exists within the error tolerance, then stop; otherwise choose g or g
corresponding to the reduced cost dg or dg of largest magnitude in step 2(2) and step
2(3).
If no dg or, dg exists within the error tolerance TOLD J, then the optimal solution
has been obtained. Otherwise go to the step 2(5).
(5) The index q or q corresponding to the reduced cost d, or d of largest magnitude
112
chosen in step 2(4) is the entering variable. Denote it by s. Therefore x is the
entering nonbasic variable.
Step 3: Finding the Leaving Variable
(1) -As the entering variable increases from 0 or decreases from u^, the values of the
basic variables also change. There are two different cases to be considered.
Case 1: The variable x^ reaches its upper or lower bound without any basic variable
violating its upper or lower bound.
Case 2: Some basic variable reaches one of its bounds before Xj does.
(2) If Xs is decreasing from its upper bound, u^, then a possible new value of Xg
is Xs = 9 = max{ls, 61,62}- Since, this is to be considered for the upper bounded
revised simplex method, therefore Xj for this case should be modified to x = ^ =
max{0,61,62}. The notation Is stands for the lower bound of Xs.
(a) If ^ = Is, then there is no change in the basis. The new values of the basic
variables are: Xi = x^ + a^Us, i = 1,2,... ,m.
(b) If 6 = 61 = -^!fn{us + ^ 4 ^ } is attained for i = ri, then x , leaves the basis.
(c) If 6 = 62 = —^ni'iJ's + ^ } is attained for i = r2, then x z leaves the basis.
For both (6) and (c), the new values of the basic variables are computed as follows:
Xi = x% + a~{us-Xs). (8.20)
(3) If Xs is currently equal to Is and increasing, then Xs-6 = min{us, 61,62}-
(a) If ^ = Us, then there is no change of basis and
Xi = x'p - o^Us- (8.21)
(6) If 6 = 61 = ^ > o l ^ achieved for i = ri , then the variable Xn leaves the basis.
(c) If 6 = 62 = —\ ^"^11"' , which is obtained for z = r2, then the variable Xr^ leaves
the basis. The new values of the basic variables are computed as follows:
Xi = x'e - a^Xs, iy^ri or r2, which one leaves the basis (8.22)
113
Xi = Xs, if i = ri or r2, which one leaves the basis (8.23)
Step 4: Updating and generating the Primal and the Dual Solutions
(1) Update the basis inverse B-\ A'B, P , , , Ny^ and cg to get P;gi„XB„,„, P„,„^^,
'^^vrn,,, and CB„,„ where the suffix "new" denotes an updated element.
(2) Return to step 2.
(3) If the computations are complete as will be indicated by step 2(5), then output the
primal solution as X={xj : j G n}. Also output the dual solution as M = c^B'''- =
{w, : Wi G DVAR and i = l,2,...,m} together with DVAR=the set of solutions for
the dual problem.
8.7.1 Comments
The following comments apply in connection to the DP-based LP method,
(a) The DP-based LP method can be implemented using an upper bounded revised
simplex method which uses the product form of inverse. This is an efficient compu
tational scheme for finding LFSs of PNs. The Simplex method effectively takes care
of large problems without occupying huge memory space, even though the computa
tional efforts are not significantly less than that of the two-phase simplex method.
(6) The LP method is applicable in the next standard form:
Maximize z = c*x
Subject to Ax = b (8-24)
I < X < u
For the DP-based LP method, /j = 0 for i = 1,2,..., n. Before using a LP subroutine,
the minimization problem must be converted into a maximization problem by negat
ing each cost coefficient Cj where j = 1,2,..., n. Also the objective function value
114
which is returned by the LP subroutine must be negated to get the actual, minimum
objective function value.
8.8 An Analysis of Geometrical Properties
Both the characteristics of DP and LP are predominant in the DP-based LP
method. The concept of the envelope of a convex polyhedron, which is called a
convex polytope, plays a major role. The DP-based LP method gives an absolute
minimum when there are other relative minimas existing. Hence, convexity is not as
important in the theory of DP as it is in other theories of optimization as long as
the computational solution is concerned. A couple of examples are considered later
in order to support this.
8.9 Numerical Examples
First an unrestricted PN with a firing count subnet is considered. In this example,
n = 5 and m = 7.
(a) (b)
Figure 8.2: An unrestricted PN with reversed subnet.(a)(A^,x(0)), (b)(A^^ \xu{d)).
Figure 8.2(b) shows a reversed subnet of a given PN N with x„(d). The place
Ps does not appear in Xu{d), since p3 does not affect the token fiow mechanism in
computing a LFS and it does not belong to the connected firing count subnet.
115
Table 8.1: Incidence matrix a and u for the problem of Figure 8.2.
a =
1 0 0 0 0 1 - 1
- 1 1 0 0 0 0 - 2
- 1 1 0 0 0 0
0 0 - 1 1 - 2 0
0 0 0 0 1 - 1 0
u = [0,0,0,2,1,1,1]*,
d = 5.
Table 8.2 shows Au(d - j + 1) corresponding to j = 1 ~ 5 (a firing count of the
transitions in the reversed net at the j th firing) and enabled transitions at the j th
firing. This table also shows a transition which is selected using the objective function
(this transition is underlined) and the state or marking after firing the underlined
transition.
A LFS obtained using the DP-based LP method is a = (t4, t4, ts, te, ty). The same
sequence is computed using either a simplex subroutine or the DLPRS revised simplex
package routine.
1. For j = 1 in Table 8.2, if t4 is selected, then the problem becomes unreachable.
Transition t4 is a sink transition of the critical siphon Pp = {pi,P4,P5} on x(d). This
is true because if t4 is selected at the beginning then tr and ultimately te and ts
cannot fire.
2. A reachable problem for the given PN A has x(0)=[0,0,0,0,0]*, x(d) = [0,0,0,3,0]*
obtained with u = [0,2,2,4,1,1,1]* and d = 11. A LFS which is computed using the
DP-based LP method with the DLPRS package routine is (t4, t4, t4, t4, ts, ts, t2, ts, te, t2,
tj). A LFS computed using the two-phase simplex subroutine is (t4, t4, t4, t4, ts, ts, t2, t2,
^ 5 , ^ 6 , ^ 7 ) .
116
Table 8.2: Reachable states and the corresponding firing transitions.
Here x(0) = [02000]* and x(d) = [00030]*.
j [ A u ( d - j + l)]* {t} [x{d-j)Y
1 [0002111] {t4,tj} [12000]
2 [0002110] {t_6} [02001]
3 [0002100] {t_s} [02020]
4 [0002000] {ti} [02010]
5 [0001000] {t4} [02000]
8.10 Observations
-Note that:
(a) If the DP algorithm is not modified, it cannot be used with LP to produce the
DP-based LP method.
(b) Theorem 8.1.1 is fundamental to the DP-based LP method discussed in this chap
ter.
(c) The method is useful for reducing the size of a given problem. Therefore, effec
tively, firing count subnets can be considered by removing the transitions and arcs
connecting the transitions corresponding to the zero elements of the firing count vec
tor u.
117
CHAPTER 9
A FORWARD RECURSIVE DP-BASED LP METHOD
Computation time taken by an algorithm for solving the PN reachability problem
is a major concern in developing a method. Forward iterative DP can be used for
computing LFSs of PNs. This requires subdivision of a given problem into a multi
stage decision problem. This form of a DP implementation computes on an original
PN N. -A method which is based on the forward iterative DP becomes more powerful
if a LP is used to compute a legal firing vector at each stage of a multi-stage decision
problem. This is a straightforward implementation based on DP which decreases the
computation time needed by the algorithm.
9.1 Basic Principle
The FDP-based LP method is based on the recursive formulation of the objective
function for the forward direction of computations. It is introduced in this section.
The DP algorithm cannot compute large problems due to an inherent combinatorial
explosion. The FDP-based LP method can compute reasonably large PNs for large
problem sizes. The greatest advantages of the method result from its associated time
complexity and memory space requirements.
This is basically an improved DP-based LP method using forward directional
recursions on the original PN A starting at x(0) instead of starting at x(d) on the
reversed net N~'^ [44]. If the method is used with live general PNs, the computation
time per u(A;) is usually less than that of the DP-based LP method. Here, liveness
implies that for a given initial state x(0), the given firing count vector u is not
spurious and there is always at least one firable transition which is a member of the
118
effective firing count vector ii at each of the reachable states. A member of ij during
the computation means that the transition has not fired yet and should fire at the
present state or at any of the succeeding states. Note that a live PN {N,x{0)) with
a given firing count vector u is also live at {N-\x{d)). Live PNs are strategically
significant in the reachability analysis.
The method uses d LP steps on an originally given PN, thus reducing the com
putational hazards. The objective function can be formulated easily with little ma
nipulations of the basic objective function.
9.2 Deduction
The next equation can be obtained from equation (2.12):
J = X^ e*{x(A;)} = e*x(l) + e*x(2) + . . . + e*x(d). (9.1) it=i
If JQ = 0.0, then the objective function value at any firing instance A;, 1 < A; < d
is expressed as
j ; = J*_^ + e*x(A;), A; = 1, 2, • • •, d. (9.2)
Considering the set of constraints as expressed by equation (2.13) for formulating
the method, the problem is to find an optimal LFS {u*(A;)},A; = 1,2, • • •, d so that,
T* mm u(k) G U
[e*{x(A;-l) + au(A;)}
+JUi + Y.yKk)+y''{k)'eY.Si{k) 1=1 1=1
(9.3)
subject to:
j I-m,xm. •tm.xm ^mxl '-^mxn\
^mxl ^Ixm . 'Ixl ^Ixn
\ a ^nxm C/nxl -^nxn '
X
I u{k) \
y\k)
y\k)
\ s{k) J
119
Au(A;)
.'^Ixl
Vx(0) + aE-=i^^*(j)/
(9.4)
For A; = 2,3, • • •, d.
Au(A;) = Au(A; - 1) - u*(A; - 1)
x(A; - 1) = x(A; - 2) + au*(A; - 1)
and for A; = 1, Au(l) = u, x(0) and d are fixed. [ (9.5)
Note that J o = 0 , a n d
x{d) = x(d - 1) + au{d) is also fixed.
Here, the objective function is deduced based on the basic principle of DP for
forward directed recursion.
9.3 Advantages
The following are the advantages of the FDP-based LP method.
• This is a straightforward recursive method for finding a LFS of PNs using d itera
tive steps with reasonable computation time per u(A;). The method is good enough
for large PNs as well as for large problems. The longer is the LFS, more are the
advantages in using this method.
• This is a forward-recursive version of the DP method using d LP steps. Reported
in [44], FDP-based LP has the same time complexity as that of the DP-based LP
method, which is just 16d~^ times that of the LP method introduced in [18].
• TCC, TC, NDC and FCF PNs are subclasses of PNs [51]. A PN in which the set
of places in every directed circuit contains a trap is called a TCC net. A net in which
the set of places in every directed circuit is a trap is called a trap-circuit net or TC
net. For a forward-confiict-free net (FCF net), each place has at most one outgoing
arc. In a nondecreasing-circuit net, the token content in any directed circuit is never
decreased by any transition firing. The method can compute TCC, TC, NDC and
FCF PNs. For these subclasses of PNs, the DP-based LP method occasionally en-
120
counters critical transitions on the reversed net [44].
• The method always computes a LFS from x(0) to x(d), provided that the critical
transitions do not fire [51].
9.4 Time Complexity
Recalling section 8.6, it can be shown in an exactly similar way that the FDP-
based LP method has a time complexity which is just 16d~^ times that of the LP
method introduced in [18]. The FDP-based LP method has a semi-polynomial-time-
complexity.
The ratio of the number of variables of the FDP-based LP method at each LP
step and that of the method described in [18] is, r = ^ g f g g = ( i + j ^ ^ , ) ^
( | + ^ ) ^ 2 d - ^
The ratio of the number of constraints of the FDP-based LP method at each LP
step and that of the method described in [18] is, ^ = J ^ ^ t S ) ! ^ ( S S l & ^ 1^ d-\
9.5 Computation Time
Size of the matrix A is (n + m + l)(n + 2m + l). Therefore, time per single iteration
toPLP is,
tDPLP = c{n + m+l){n + 2m + l). (9.6)
Time per u(A;), TDPLP is,
TDPLP = tDPLP = c(n + m + 1) (n + 2m + 1) = Constant. (9.7)
Therefore, time per u(A;) is a constant under ideal conditions. Other factors involved
in computation time are ignored.
I A 1= ( m + n + l ) ( 2 m + n + l ) . The net size = | P | + | T | + | P \=n+m+gxnm
(for a GPN). The ratio of the netsize to | A | is 77 = (^^m-fli("2+l-^i•) •
121
Ratio of the total number of constraints between the single step LP and that of
the FDP-based LP method is,
id-l)
« = - ( I T i T ^ - (9.8) ^ m ' m>
If a Revised Simplex DLPRS routine is used, the ratio of the number of variables
between the single step LP and that of the FDP-based LP method is,
If a two-phase simplex subroutine is used, the ratio of the number of variables
between the single step LP and that of the FDP-based LP method is,
{m + d + nd + md) . , (d - 1 ) , , ,
-> = (n + 2m^i) = [" - ( ^ W i ) i - ("•"J ^ ' ^m m'
9.6 Example
Consider the PN N in Figure 9.1 with an initial marking x(0) = [1,0,0,0,0,1,1]*,
a final marking x(d) = [1,1,0,0,1,0,0]* obtained with u = [2,2,1,2,2,1,4]* and
d = 14. Traps {pi,P2,P4,P6} and {pi,Ps,P5,P7} are marked at x(0). This also implies
that the minimal and the basic traps [51] are marked at x(0), which is a sufficient
condition for liveness. A LFS is computed using the FDP-based LP method as,
a"=(t7, t2, te, t4, ty, t2, t4, ti, ts, ty, t3,ti, ts, ty). The Reviscd Simplex package routine
DLPRS [34] is used for the computations. The same obtained with a two-phase
Simplex subroutine [58] is (t7,t2,t4,t6,t7,t2,t4,ti,ts,t7,ts,ti,ts,t7).
9.7 Unimodularity
Finding a LFS a, which is legal on x(0) with respect to u is an all-integer-programming-
problem. Recalling section 6.6, the definitions 6.6.1 and 6.6.2 are important in con
nection to the discussion which follows in this section. The properties of Unimodu
larity [33] play a vital role in deciding the reachability. The FDP-based LP method
122
Figure 9.1: A GPN (A^,x(0)).
has solutions to its obvious LP formulations which are automatically integer valued:
the extreme vertices of convex polyhedral constraint sets are known to have integer
components, given integer data. This useful property emanates due to the very spe
cial structure of totally unimodular constraint matrices: a subdeterminant can only
take one of the possible values from 0, +1 and -1.
Under satisfaction of the condition of total unimodularity, it is possible to predict
that the linear program for finding a LFS of PNs will necessarily have integer valued
solution. There have been considerable efforts to characterize the set of unimodular
matrices in a manner which would allow easy identification; but for general problem
cases, this effort has failed [55]. Classes of such matrices are identified: GPNs are
more amenable to such matrices, whereas unrestricted PNs with arc weights greater
than unity have less chance of making the matrix A totally unimodular. An example
of the totally unimodular constraint matrix A follows:
123
Figure 9.2: APN N with a totally unimodular constraint matrix A.
Consider the net in Figure 9.2. The incidence matrix a is,
- 1 0 1
a = 1 -1 0
0 1 - 1
From a, the input arc incidence matrix a~ is.
/ \ 1 0 0
a = 0 1 0
0 0 1
The constraint matrix A for the FDP-based LP method is,
/ \ . 3x3 . 3x3 Osxl Osx3
A eix3 Oix3 hxl Oix3
L .^3x3 C>3x3 C>3xl .^3x3 ,
A unity matrix Imxm is always totally unimodular having any subdeterminant
value equal to unity. Therefore, all of the Jsxs unity submatrices are totally unimod-
124
ular. An eix3 submatrix can only have hxi square submatrices with subdeterminant
values equal to unity. An Osxs submatrix is totally unimodular having the subde
terminant values equal to 0. Also Osxi or Oixs submatrices are totally unimodular
having the subdeterminant values equal to O(zero). The product of two totally uni
modular matrices is again a totally unimodular matrix, since, 0 x 1 = 0, O x - l = 0,
l x - l = - l , - l x - l = l and 1 x 1 = 1. Therefore, the constraint matrix A for the
net in Figure 9.2 is totally unimodular. From this example, an important observation
follows. Whether the constraint matrix A of the FDP-based LP method is totally
unimodular or not depends completely on whether the incidence matrix a~ is totally
unimodular or not.
The next results on the properties of unimodularity and total unimodularity are
important in connection to the FDP-based LP method.
Theorem 9.7.1
If the incidence matrix a~ is totally unimodular, the matrix A of constraint coeffi
cients in equation (9.4) for the FDP-based LP method is also totally unimodular.
Proof:
• Clearly the unity submatrices Imxm and Inxn are totally unimodular. 7ixi has the
subdeterminant value equal to 1. Any zero submatrix is totally unimodular having
the subdeterminants equal to 0. The vector e^^i is totally unimodular having the
subdeterminant values equal to unity.
• -As 0 X 1 = 0, 0 X - 1 = 0, 1 X - 1 = - 1 , - 1 X - 1 = 1 and 1 x 1 = 1, therefore if
a~ is totally unimodular, the result follows immediately.
• If a~ is not totally unimodular, then as a" is a submatrix of A, the result follows
directly.
• Next consider the case where the constraint matrix A is totally unimodular but
the incidence matrix a~ is not. If the matrix a~ is not totally unimodular, then
125
there is some square submatrix of a~ whose subdeterminant value is neither ±1 nor
0. But any square submatrix of a~ is also a square submatrix of A, since a~ is a
submatrix of A. Since the matrix A is totally unimodular, from the definition of total
unimodularity, this is impossible. Hence, this case is not feasible. Q.E.D.
126
CHAPTER 10
THE PONTRYAGIN'S MINIMUM PRINCIPLE-BASED LP METHOD
The difficulties associated with control systems are common to practical system
modeling issues. These difficulties give rise to optimal control problems relating to
the dynamics of a system. Some of these are discrete in nature and the rest are
continuous problems. Discrete Time Pontryagin's Minimum Principle (DTPMP) was
introduced for optimal control problems which are basically discrete in nature. There
fore, for computing optimal control vector sequences, DTPMP can effectively be used
for the computations. This requires that the reachability problem with a prespeci
fied u and d be formulated as a two-point-boundary-value-problem (TPBVP) and the
Hamiltonian function which needs to be minimized be properly formulated. In design
ing a computational method which is based on the DTPMP was particularly complex
and require additional supporting techniques. A technique like LP can conveniently
be used for computing a legal firing vector at each stage of the computation. This is
possible if the reachability problem is reformulated as a multi-stage decision problem
to apply the DTPMP. A heuristic algorithm for avoiding the firing of potential criti
cal transitions is needed if the desired algorithm is an approximation algorithm. To
make the computational process self-sufficient, automatic and user interaction inde
pendent, the heuristic algorithm supports computation of the Pontryagin's Minimum
Principle(PMP)-based LP method.
10.1 Introduction
For the reachability problems considered in this dissertation, only one enabled tran
sition is allowed to fire at each firing k. Therefore, this is an all-integer-programming-
127
problem having fixed initial and final states as well as a fixed length of the LFS d. The
semi-polynomial-time-complexity algorithm of the PMP-based LP is discussed in this
chapter. With OP-based LP, the total number of constraints and the total number of
unknown variables increase whenever there is an increase in the length of the firing
vector sequence d. However, for the PMP-based LP method, the given optimization
problem is subdivided into d subproblems and the total number of constraints become
about 2 to that using only one LP step. Similarly, for the PMP-based LP method,
the total number of variables become ^ to that using only one LP.
Fundamental concepts of optimal control theory are combined with the LP tech
nique and PN theory to deduce the PMP-based LP method. The PMP-based LP
method can effectively be used to compute LFSs in PN models of practical control
systems with a prespecified u and d.
To evaluate the performance of a system model quantitatively, the designer selects
a performance measure. An Optimal Control is defined as one that minimizes (or
maximizes) this performance measure. For a PN model, the performance measure is
the objective function J for the reachability analysis. For using the PMP with the
reachability analysis, the objective function is defined as follows:
(d-1)
J = iP{x{d))+ Yl l{x{k),u{k)). (10.1) k=0
In the above formulation, -0 and / are scalar functions.
10,2 Discrete Time Pontryagin's Minimum Principle
Pontryagin's discrete time minimum principle (DTPMP) [35] states that an optimal
control must minimize the Hamiltonian function H [35]. The Hamiltonian function
related to the reachability analysis with a prespecified u and d is described in an in
depth manner latter in this chapter.
128
Mathematically, this implies that if u*(A;) is an optimal firing vector which causes
the objective function J to have a relative minima at a particular firing k, k =
0,1, 2 , . . . , (d - 1), then the following condition holds true:
J(u(A:)) - J{u*{k)) = AJ(u*(A;), 5u{k)) > 0. (10.2)
In equation (10.2), u(A;) = u*(A;) + Su{k). From the Taylor series expansion, the
increment in J{u{k)) can be expressed as:
AJ(u*(/c), 5u{k)) = 5J{u*{k), Su{k)) + higher - order terms. (10.3)
10.2.1 Comments
The following comments apply to DTPMP.
1. There is a certain degree of uncertainty in deciding an optimal firing vector. It may
not be possible to know in advance whether an optimal control exists. This implies
that it may not always be possible to find a control which is
(a) admissible, and
(b) causes the system to follow an admissible trajectory.
2. Even if an optimal control exists, it may not be unique. A non-unique optimal
controls may complicate the computational procedure.
3. The optimal firing vector u*(A;) causes the objective function to be minimized.
This minimization involves:
(d-1) (d-1)
r = ^(x*(d)) + Y Kx*{k),u*{k)) < ^(x(d)) + Y l{x{k),u{k)Y (10.4) fc=0 fc=0
All firing vectors u(A;), u(A;) G U, make x(A;) G X, where X is the set of admissible
states and U is the set of admissible firing vectors. The above inequality states that
an optimal control and its trajectory cause the objective function to have a value
smaller than or equal to the objective function value for any other admissible control
129
and trajectory. The goal is always to find the absolute or global minima of the
objective function J, not simply the local minima.
10.3 State Equation
For a discrete time system, the state equation can be written as,
x{k + 1) - x(A;) = /(x(A;), u(A;), A;), A; = 0,1,2, . . . , (d - 1), (10.5)
where / is a function in x{k),u{k) and k. Then rewriting equarion (10.5), equation
(10.6) results:
x(A; + 1) = x(A;) + /(x(A;), u{k),k) = f{x{k), u{k)). (10.6)
10.4 Derivation
-A discrete time optimal control problem is a two-point-boundary-value-problem
having the fixed boundaries x(0) and d. The discrete time optimal control problem
with terminal constraints and a fixed terminal time d is formulated by equations
(10.7) through (10.11). It is assumed that the state x(A;) at firing A; is n-dimensional
and the firing vector u(A;) at firing A; is m-dimensional. The function / has n dif
ferent components that behave in a manner which results in the system described
by equation (10.7). An initial condition for equation (10.7) is defined by equation
(10.8) and the former equation yields a unique solution, provided that the control is
specified. The set of admissible firing vectors U is an important component of the
optimal control problem. A set of equations which form a basis for the derivation of
DTPMP follows.
x(A; + l) = /(x(A;),u(A;)). (10.7)
130
There is a (fixed) initial condition which is defined on an Euclidian real space P".
This initial condition is:
2 (0) = ^0- (10.8)
-A set of allowable firing vectors which are defined on an Euclidian real space P'"
satisfies:
u(A;) eUCR^. (10.9)
-A set of terminal state constraints are given by,
Xi{d) =Xdi, i = l,2,---,n. (10.10)
-An objective function which is to be minimized is stated as follows.
d-1
J = V(x(d)) + Y l{x{k),u{k)). (10.11) k=Q
The terminal constraints defined by equation (10.10) take a form of specification for
the final values of state variables. The number of variables is n (the dimension of
the state). In equation (10.11), both tp and I are scalar real-valued functions of their
respective arguments. The term 'ip{x{d)) is the contribution of the specified final
state to the objective function. The summation term represents a contribution that
accumulates over firings of transitions. A specific problem may have either V' or I
equal to zero but not both.
This interpretation of the optimal control problem defined by equations (10.7) ~
(10.11) is straightforward and important because of the reasons which follow. The
control function u(A;) is unknown at A; = 0,1,2, • • •, (d — 1) (d is specified). Once this
control function is specified, it determines, using equation (10.7) and equation (10.8),
a unique state trajectory x(A;), A; = 0,1, • • •, (d— 1), d. This trajectory and the control
function determine a value of J according to equation (10.11). The optimal control
problem is to find the control function u(A;), A; = 0,1, • • •, (d — 1), which satisfy the
constraint equations (10.9) and (10.10), providing the smallest possible value of J.
131
To characterize an optimal control, u(A;) is allowed to change in arbitrarily small
amounts and requires that it does not increase the objective function value. Since
a change in u(A;) also changes x(A;), it is rather difficult to carry out this plan and
directly determine the net influence on the value of the objective function.
The Hamiltonian function H is defined as,
H{X{k + l),x{k),u{k)) = A*(A: + l)/(x(A;),u(A;)) + /(x(A;),u(A;)). (10.12)
Here, A(A; +1) is an {n x 1) vector which is known as the adjoint vector. Each element
of A (A; + 1) is known as an adjoint element.
From the definition of the Hamiltonian, the following is true:
/(x(A;), u(A;)) = H{X{k + l),x{k), u{k)) - A*(A; + l)/(x(A;), u(A;)).
That is,
/(x(A;), u(A;)) = P(A(A; + l),x(A;), u(A;)) - A*(A; + l)x(A; + 1). (10.13)
In terms of the Hamiltonian, the objective function takes the following form,
d-1
J = xlj{x{d)) + Y{H{Hk + l),x{k),u{k)) - A*(A; + l)x{k + 1)}. (10.14) fc=0
Assume that a control function u(A;), satisfying the constraint u(A;) e U is spec
ified. This determines a corresponding state trajectory x(A;). Considering a small
change in the control function to a new function v{k) G U. This change is small in
the sense that the absolute value of the difference is small for each component of the
control. This implies that
\ui{k) - v^{k)\ < e (10.15)
for each i. In equation (10.15), e is a very small quantity. This new control leads to
a new trajectory, which can be written as x(A;) + Sx{k). Denote the new value of the
objective function which results due to the new control by J = J + A J. Therefore,
the change in the terminal value of the state is 5x{d). The new terminal state is
132
actually x(d) + 5x{d), since the terminal firing d is fixed but the terminal state x(d)
is not fixed. Denote the new terminal state as x(d) + Ax(d), then Ax(d)= Sx{d).
From the above preliminaries, AJ follows.
A J =J-J
= {tlix{d) + Ax{d))-'tP{x{d))}
+ Efzl[H{X{k + l),x{k) + 6x{k),v{k))
-X{k + lY{x{k + 1) + 5x{k + 1)} - H{X{k + l),x{k),u{k))
+A*(A; + l)x(A; + l)]. (10.16)
The first term, ij){x{d) + Ax(d)) on the right-hand side of eq. (10.16) is now
considered using the Taylor series expansion. Then
i){x{d) + Ax(d))
= ^{<d)) + [ ^ ^ ^ ^ ] [ < ^ ) + ^<d) - ^(^)]
= ^(x(d)) + i)x{x{d))5x{d) {since Ax{d) = 5x{d)). (10.17)
Therefore,
A J =J-J
= {tP{x{d)) + tPx{x{d))Sx{d) - tp{x{d))}
+ Ef=l[H{X{k + l),x{k) + 5x{k),v{k))
-A*(A; + l){x(A; + 1) + 5x{k + 1) - x(A; + 1)}
-P'(A(A; + l),x(A;),u(A;))].
133
Finally,
A J =J-J
= {^(x(d)) + V',(x(d))Ax(d) - ^(x(d))}
+ Y:tl[H{X{k + l),x{k) + 6x{k),v{k))
-X\k + l){5x{k + l)}
-H{X{k + l),x{k),u{k))].
From the Taylor series expansion,
P-(A(A; + 1), x(A:) + 6x{k), v{k)) = P(A(A; + 1), x(A;), ;(A;))
+Hx{X{k + l),x{k), v{k))Sx{k) + terms of higher order
{s.nce mMk^l)Mk).v(k)) ^ H4Xik+lUW,vm)- (10.18)
Neglecting the higher order terms,
A J = {t^,(x(d))5x(d)} + Efr/[{Px(A(A; + l),x(A;),i;(A;))
-A*(A;)}5x(A;) - A*(d)5x(d) + A*(0)(5x(0)
+{P(A(A; + l),x{k),v{k)) - H{X{k + 1), x{k), u{k))}].
Note that 5x{0) = 0, because a change in the control function does not change the
initial state. Thus, the term A*(0)(5x(0) on the right hand side of the above expression
is 0. The vector A(A;) is the adjoint vector which is selected as a solution to the adjoint
difference equation. Then
A*(A;) = Hx{X{k + l),x{k),v{k)). (10.19)
For the problems under consideration, the final state x(d) is specified and fixed.
Then Ax(d) = 5x{d) = 0.
Finally, the expression for AJ becomes,
A J = xi[P(A(A; + l),x(A;),^;(A;)) - P(A(A; + l),x(A;),u(A;))]. (10.20) fc=0
134
The vectors A(A; + 1), x(A;) and u(A;) are known and are independent of v{k).
Equation (10.20) gives a simple way to calculate the consequence of a change to a
new control function v{k). This can be used to deduce the conditions for global
optimality by introducing a more general concept of Directional Convexity.
For continuous-time systems, the actual change in control function can be large
over a very short interval of time. The change in the state trajectory due to control
function changes is small for all times because the state depends on the integral of
control function [24, 25, 29, 30, 31].
The interval in a discrete event system is finite and fixed. If a change from u(A;)
to v{k) in the control function at firing k is not small, the change 5x{q) of the state
trajectory at firing q, q > (k + l) is not guaranteed to be small. Therefore, in discrete
event systems, an optimal solution derived from calculus of variations under condition
of I Ui(A;) — Vi{k) |< e may be local. Some conditions must be imposed on the system
behavior to have a global optimal solution in discrete time systems. The concept of
directional convexity is important for deriving DTPMP.
Definition 10.4.1
z-directional convexity: The following requirement is known as the z-directional con
vexity [31].
ra + {l-T)b + Pz G y{k,x{k)),
witha,b G y{k,x{k)),
andr G [0,1], /3 > 0, (10.21)
also y{k, x{k)) = {f{x{k), u{k)) : u(A;) G U and x{k) G P"} ,
where U is the set of firing vectors,
z is a nonzero vector.
135
The following are the required assumptions for deriving DTPMP.
Condition (1):
The matrices fx{x{k), u{k)) are non-singular for all A;, A; = 0 , 1 , . . . , (d - 1).
Condition(2):
The set u;(x(A-))= {{l{x{k), u{k)), f{x{k),u{k))*) : u{k) G U} is closed and ^-directionally
convex for every x(A;). Here the superscript t denotes transpose.
Condition(3):
The matrices fx{x{k), u{k)) are ^-directional matrices for all A;, A; = 0 , 1 , . . . , (d - 1).
DTPMP is derived with directional convexity. This directional convexity is weaker
than convexity and considerably extends its applicability. Though convexity has
appeared to be basic in the development of optimal control theory, it is only the
weaker property of directional convexity which is required for much development [24,
25, 29, 30, 31].
-A summarization of a complete set of conditions for global optimality of optimal
control problems follows. In the original problem, it is necessary to obtain u(A;),x(A;),
and d which satisfy equation (10.7). An initial condition given by equation (10.8)
and the constraints which are expressed by equations (10.9) and (10.10) are required
in minimizing the objective function expressed by equation (10.11).
10.5 Statement of the Pontryagin's Minimum Principle
Recall section 3.4. Assume x(A;) (A; = 0 , 1 , . . . , d) and u(A;)G U {k = 0,1,.. .,d-l)
to be an optimal solution to a given problem with a fixed terminal firing d. Then
there is an adjoint trajectory A(A;), A;=0,1,..., d, and a constant Ao > 0 such that
u{k),x{k),X{k) and AQ under conditions(l), (2), and (3) satisfy equations (3.10)
through (3.16).
For a PN reachability problem, f{x{k),u{k)) = x(A;) + au(A;).
136
The objective function J, the Hamiltonian function H and the adjoint equations
are given by equations (3.7), (3.8) and (3.9). The set R = w{x{k)) follows:
w{x{k)) = {[e^^i{x(A:) + au(A;)}, {x(A;) + au(A;)}*]|u(A;) G U}. (10.22)
Here, u(A;) > 0. The constant A(0) should be computed for minimizing the total
number of moving tokens. After each iteration, a new A(A; + 1) should be computed
which is based upon A(A; + 1) = A(A;) - Aoe^xi-
10.6 Convexity Properties of the Computational Solutions
-A subset U of R^ is convex if and only if for all pairs of points u{i) and u{j) in
U, any convex combination, u{l)=aiu{i) + a2u{j) is also in U. Here, i, j and I are
integer indices for the points in the set U. Also, ai > 0 and a2 > 0. But E L I ^i = 1
is a restriction on the values of ai and 0!2. In general, a convex combination of points
u(l), u(2) , . . . , u{d) from a convex set is another point u{q) in the convex set which
satisfies:
u{q) = Q;IU(1) + a2u{2) + ... + adu{d), (10.23)
where d
Y(^i = ^- (10.24) 2 = 1
For a given convex set U, a convex combination of any number of points in U is also
inU.
The computed optimal firing vectors u*(A;), A; = 0,1,2, . . . , (d — 1) form the ex
treme points of a convex polyhedron in m-dimensional Euclidean space R^. These
firing vectors are extreme feasible solutions. Therefore, the set of control vectors U
does not satisfy convexity and the relaxed z-directional convexity requirement be
comes necessary. A set of firing vectors U form a convex polytope C, which is the
envelope of the corresponding convex polyhedron.
137
10.7 LP Relaxation
Since finding LFSs of PNs is an all-integer-programming-problem, a relaxed LP
technique can be used. A relaxed LP method can be combined with the PMP by
subdividing a complete problem into d small problems, where d = 2]S:i ^i is the
length of the LFS. The PMP-based LP method can be used to find a firing vector at
each subproblem stage. Therefore, it is possible to compute LFSs of PNs by applying
the relaxed PMP-based LP method to a given reachability problem.
To apply the PMP to a given problem, the basic objective in finding LFSs of PNs
is to minimize the Hamiltonian function H at each firing A;, A; = 0 , 1 , . . . , (d — 1). A
LFS for a PN reachability problem can be computed by the PMP-based LP method
as described in equarions (3.17), (3.18), (3.19) and (3.20). In the PMP-based LP
method, the term £" is a very small positive quantity, AQ = 1 for a nondegenerate case
with the DLPRS subroutine and XQ = ^ where 1^ is a non-zero, positive quantity
for a two-phase simplex subroutine. The term AQ = 0 for a degenerate case.
-A heuristic procedure to avoid critical transitions: The heuristic procedure which
follows is strictly limited to GPNs.
1. First determine each and every marked place containing exactly one token. Denote
this set as PM = {Pm} for m = 1,2,..., u.
2. Find all transitions tjm G T which are at the output of each of the places pm
and which are members of the effective firing count vector u{k), i.e., tjm G u(A;) with
A; = 0 , 1 , . . . , (d - 1). Denote this set as Tout- Hence Tout = {tjm} for j = 1,2,..., r
and m = 1,2,... ,u.
3. Trace all paths (mark as visited) from each of the nodes tjm G Tout for j = 1,2,..., r
and a certain p„ G PM at each firing A; with A: = 0 , 1 , . . . , (d - 1) to its originating
marked place Pm at step 1. If no paths are traced (or visited), go back to step 1 for
a new Pm G PM-
138
4. Trace (label as visited) the set of places {pji} for i = 1,2,..., 5 and for each
transition tjm G Tout where j = 1,2,... ,r on the existing paths to its originating
marked place Pm. at step 1 during the tracing (labelling) process. This tracing is done
such that no place { Pji } within the path currently under labelling for z = 1,2,..., s
has input transitions tj^ where x = 1,2,.. .,h. These input transitions are members
of the effective firing count vector u(A;) at firing A;, 0 < A; < (d— 1). These transitions
are not on the current path under labelling. This is done to avoid traps. Also trace
(label as visited) the set of transitions Tjm on the paths starting from the transition
tj to a place pm-
5. Continue step 3 for a particular place pm G PM for each tjm G u(A;) and tjm G Tout
where j = 1,2,..., r . If the set {pji} has at least one marked place such that tjm G
u(A;) and tjm G Tout with j = 1,2,..., r and for that particular place pm € PM, then
no critical transition or critical siphon exists around this particular place Pm PM-
6. Otherwise, denote the set of transitions {tg^} C {tjm}, c = 1,2,.. .,w for which
the set of marked places within the set {pji}, z = 1,2,..., s are empty as Tc-
7. If there exists at least one path in step 3, from some originating marked place
Pm in step 3 to some transition tg which is a member of Tc, then find the set of
transitions Tz = {tmz} with z = l,2,...,x connected to the place Pm- This place Pm
for a particular m needs to be enabled at firing k such that tg 0 Tz and firing of tg
makes Pm token-free at firing (A; + 1) with {tmz} Q {{tjm} \ tc} where j = 1,2,..., r.
8. Each transition tcrit G Tz is a suspected critical transition at firing A; and at x(A;).
It is possible to avoid deadlocks for most of the computations by suppressing each
of these critical transitions tcrit e Tz- If this heuristic procedure is used with the
PMP-based LP method, it may be possible to avoid critical transitions.
139
10.8 Computations in Unrestricted Petri Nets
An example is considered to show the computation which uses the PMP-based LP
method in unrestricted PNs,
Example 10.8.1
Integer optimal firing vectors u(A;), A; = 0,1, 2 , . . . , (d - 1) are not always obtained
by applying the relaxed PMP-based LP method to a given problem. The following
example refers to Figure 2.1.
1. Consider the reachability problem for x(0)=[0,3,0,0,0]*, x(d) = [0,2,1,0,2]* ob
tained with u = [1,3,4,1,2]*. The total number of firings d is finite, fixed and is
equal to 11. Each interval is also fixed and it is 1. For A; = 0,1,2, . . . , 10, u(A;)s are
only defined by integer elements. A LFS a is defined by the number of finite points
corresponding to the firing vectors u{k). A; = 0,1,2, . . . , 10. But the convex hull of a
finite number of points in some space is a convex polyhedron [21]. Hence, o is defined
by the extreme points of a convex polyhedron in a m-dimensional space corresponding
to the firing vectors of the sequence {u(A;)}, A; = 0 , 1 , . . . , (d — 1).
2. From step 1, the set u;(A;)={au(A;) : u(A;) G [/, A; = 0,1,2, . . . , (d - 1)} is also finite
and fixed and the members of u;(A;) are defined by the extreme points of a convex
polyhedron. Each element of u;(A;) is an (n x 1) column vector at each firing A; where
0 < A; < (d - 1) with all integer elements and it is an extreme point of a convex
polyhedron in a n-dimensional space.
3. The adjoint coefficients A*(d) = [0.0,1.0,1.0,1.0,1.0] is a set of computed elements
for the adjoint trajectory.
4. Under these constraints, finding a LFS a implies that the PMP-based LP method
can be used with a two-point boundary value problem.
5. The computation which uses a revised simplex DLPRS routine starts at x(0) with t2
firing first for three times. Then ts fires with u(3)=[0,0,1,0,0]* and x(4)=[2,0,2,0,0]*.
140
But u(4)=[0.33, 0.00, 0.67, 0.00, 0.00]* with x(5)=[1.3333, 0.66667,1.66667,0,0]*. Here
i:Li^^i(4) = 1. Also u(5)=[0.22,0.00,0.78,0.00,0.00]*, with x(6)=[1.5556,l.1111,1.nil,
0.0,0.0]* and so on. During the computation of u(4) and u(5), the computation is never
deadlocked.
6. -A firing vector u(A;) also represents the corresponding firing transition tp(A;) in a
LFS a at firing k, where A; = 0 , 1 , . . . , (d - 1 ) . Then at each firing k, only one element
of u(A;) is 1 and the rest of the elements are 0. Therefore, u(4) and u(5) in step 5 are
meaningless and one of the necessary and sufficient conditions for the existence of an
integer optimal solution is violated.
7. This violation could be avoided, if a branch and bound technique as has been
introduced originally by Land and Doig [2] is used at each stage of the original
computations. This combined strategy is effective when a fractional firing vector
is encountered at some stage of the computations. Using the Land-Doig procedure,
a computed LFS is crj!i:=(t2,t2,t2,t3,t3,ts,ti,ts,ts,t5,t4).
8. For this particular problem, use of a branch and bound technique to a fractional
solution of the relaxed PMP-based LP method yields the desired integer firing vector.
This is not true for any relaxed LP problem. There are other integer programming
techniques. Some of the most efficient ones are the Branch and Exclude method of
enumeration and the Partition algorithm.
9. For computations with a two-phase simplex subroutine, the scenario is differ
ent. With a computed A*(d)=[-0.110000,0.890000,0.890000,0.890000,0.890000]* and
Ao = 0.0099999998, the firing vectors at the A; = 0,1,2 are [0,1,0,0,0]*, [0,0,1,0,0]* and
[0,0,0,0,1]*, respectively. But at A; = 3, the solution vector breaks down into fractional
components and from A; = 4, the computational process gets into a deadlock.
141
10.9 Advantage
To avoid unnecessary searching with the PMP-based LP method, only extreme
feasible solution points are checked. The constraints are satisfied on the variables to
be determined. The method computes an optimal firing vector at each iteration with
a properly calculated A*(d). This optimal firing vector is computed as an extreme
feasible solution point. This reduces the computational burdens.
10.10 z-Directional Convexity
Linear algebraic concepts are fundamental to the formulation of the PMP-based
LP method for computer implementation. A brief analysis on the convexity and
the 2-directional convexity is presented here. Basic terms and notations which are
used here appear in the commonly available texts on linear algebra. Some important
definitions in connection to the analysis follows.
Definition 10.10.1
z-directionally convex set: If z is a nonzero vector, then a set 5 is said to be z-
directionally convex [31] provided that for each a, 6 G S, each r G [0,1], there is a
factor /5 with /S > 0 such that
ra + (1 - T)b + ^zeS. (10.25)
Definition 10.10.2
z-directional matrix: A matrix M is said to be a z-directional matrix [31] if for each
and every z-directionally convex set S, the set
Q = {Mx: xeS} (10.26)
is also z-directionally convex. 0
142
Assume T stands for the transformation of a function from P"" to P" which
takes any m-vector to the corresponding n-vector. The notation P"" denotes an m-
dimensional Euclidean space and any n-dimensional Euclidean space is denoted as
P". For example, the objective function in the PMP-based LP method represents a
transformation from P" to P, as
T([x(A;) + au{k)]) = r([x(A;)]) + T{{au{k)])
= {A*(/c + 1) + A* }{x(A;)} + {A*(A; + 1) + A*}{au(A;)}
= A*(fc) X {x(A;) + au(A;)} = A(A;) x x(A; + 1).
The vector A*(A;) x {x(A;) + au(A;)}=A(A;) x x(A; + 1), where A(A;) x x(A; + 1) is a
transformed vector in a P-dimensional Euclidean space. Here, A(A;)= A*(A;) is a
standard matrix for the transformation. Suppose that T is a transformation from a
P'^-dimensional space y{k) to a P" dimensional space w{k), which transforms each
element of a set y{k) to an n-vector au(A;). Each element of the set y{k) is an m-
vector u(A;) and an n-vector ou(A;) is an element of the set u;(A;). Therefore, T{u{k)) =
au(A;) = Au(A;). Then A = a is a standard matrix of the transformation. Since a
is an nx m incidence matrix, and if j P |=| T |= n, then a is a linear operator of
the vector space P'-^', provided that the n x n determinant of the matrix a is non-
singular. A transformation from a vector space y{k) to a vector space u;(A;) is a linear
transformation and a is a standard matrix of the linear transformation. If m = n,
then the transformation T is invertible. The notation P in this case represents an
inverse transformation from a set w{k) to a set y{k). Hence,
P(au(A;)) = u(A;). (10.27)
However, a'^ x au{k) = u{k) and R{au{k)) = a"^ x au(A;) with B=a-'^ is a standard
matrix of transformations. Therefore, the product AB = aa~'^ = Inxn is a unity
143
matrix and the incidence matrix a bears the properties of an invertible matrix, pro
vided that the rank of the matrix a is n. If n ^ m, then the inverse of the matrix a
does not exist and the matrix T is not invertible. Even if m = n, a transformation
T with a standard matrix a may be invertible, but it may not be injective or one
to one. For different u(A;)s in a set y{k) where 0 < A; < (d — 1), the matrix a may
contain identical column vectors corresponding to the firable transitions. However,
u(A;)s corresponding to these transitions are not identical even though au(A;)s are
identical. For example, consider the Free-Choice PN in Figure 10.1 with an initial
marking x(0)=[3,0]* and a final marking x(d) = [0,3]* obtained with u = [1,1,1]*. It
is required to find a LFS a from x(0) to x(d). A possible LFS which uses a vector
notation is {[1,0,0]*, [0,1,0]*, [0,0,1]*}. Clearly, u(0) y^ u(l) ^ u(2). The incidence
matrix a is:
a = - 1 - 1 - 1
1 1 1
The vector au(0) = au(l) = au(2). Hence, the transformation is not injective.
However, for each element in a set y{k) = {u{k)}, k = 0,1,.. .,{d-1), there is
a corresponding element in the set w{k) = {au(A;)}, A; = 0 , 1 , . . . , (d - 1) and the
transformation (linear operator) T is surjective.
Figure 10.1: A Free-Choice PN N with x(0).
144
Consider Figure 10.1. Assume that the transition ts is absent from Figure 10.1.
Then x(0) = [2,0]*, x(d) = [0,2]* obtained with u = [1,1]* and d = 2. A LFS from
x(0) to x(d) is to be computed. The incidence matrix a is
- 1 - 1
1 1
-A LFS a = {[L0]*,[0,1]*} exists for which the corresponding transformarion T to
a set u;(A;) = {au{k)} is not injective. Also the determinant of the 2 x 2 incidence
matrix a is D^ = ( -1 + 1) = 0, but the rank of the incidence matrix a is not 2. Hence,
the transformation T and the incidence matrix a are not invertible. Therefore, the
injectiveness and the surjectiveness govern the properties of an Invertible Transfor
mation from y{k) to w{k). This means that the transformation T with a standard
matrix a is not a linear operator for | P |=| T j.
10.11 A Geometric Approach to the z-directional Convexity
The concept of the z-directional convexity is introduced to extend the applicability
of the results on the optimal control of discrete time event systems. These systems
are described by difference equations such as the PMP-based LP method applied to
the reachability problem. Regular convexity assumptions are always justified in case
of a system of difference equations approximating a system of differential equations
or for a system described by differential equations. These assumptions are not always
justified in case of a system of difference equations describing a control process which
is basically discrete. For finding a LFS <j which uses the PMP-based LP method in a
system which is basically discrete (PNs are used to model discrete time event systems),
the length of a LFS d is finite and fixed and each interval is exactly 1. Therefore,
(7 bears the properties of a set instead of a continuous function and it is necessary
145
to consider extra convexity conditions imposed by the z-directional convexity to the
data for the reachability problem.
Consider Figure 10.2. A relaxed problem with x(0)=[0,1,1,0]*, x(d)=[0,0,0,1]*
obtained with a firing count vector u=[l, 1,1,1,0]* in a given PN N is considered. It
is demonstrated now that the set of reachable markings does not satisfy convexity
but satisfies the z-directional convexity with a nonzero z-vector.
Figure 10.2: A GPN A'' with reachable markings which do not satisfy convexity.
1. First the state equation as stated in chapter 2 provides
x(A; + l)=x(A;) + au(A;), (10.28)
from which the corresponding difference equation is:
x{k + l)-x{k) = au{k). (10.29)
2. The set w{k) = {au(A;) : u(A;) eU, k = 0,1,..., {d-1)} is important in connection
to DTPMP for finding a LFS a which uses the PMP-based LP method. The incidence
matrix a is
- 1 0 1 0 1
a =
1 - 1 - 1 0 0
0 1 - 1 - 1 0
0 0 0 1 - 1
146
The set u;(A;) is {[1, -1 , -1 ,0]* , [-1,1,0,0]*, [0, -1,1,0]*, [0,0, -1,1]* }.
3. Consider an instance for verifying the convexity requirements.
[-1,1,0,0] = r][l, - 1 , - 1 , 0 ] + (l-,7)[0, -1,1,0] , with T] G [0,1]. But there does not ex
ist an rj with 77 G [0,1] which satisfies this instance. A verification with the other pos
sible combinations show that the set u;(A;) does not satisfy the convexity requirements.
Therefore, the assumptions that the set u;(A;)={au(A;) : u(A;) e U, k = 0,1,.. .,d-l}
is closed, convex and bounded are violated [29]. Computation of a LFS a is an all-
integer-programming-problem and the set of reachable markings for the corresponding
problem does not satisfy convexity.
4. Consider an instance to verify the z-directional convexity,
[-1,1, 0,0] = 77[1, - 1 , -1,0] + (1 - T])[0, -1,1,0] + Pz, where r] G [0,1], /5 > 0 and
z is a vector [zi,Z2,zs,Z4]. This instance of the z-directional convexity is satisfied
with ^ = 2 and 77 = I for a z-vector [- | , 1,0,0]*. Similarly, it can be shown that
there always exists a non-zero z-vector for any possible instance from a set u;(A;) for
verifying the z-directional convexity.
5. Each element of u;(A;) forms an extreme point of a convex polyhedron in (n + 1)-
dimensional space (here, n = 4 for the given example) and the set u;(A;) is closed and
bounded. Note that the boundedness property as was originally introduced in [29]
holds only for a GPN with each arc weight equal to 1. In this case, an incidence
matrix a can only contain -1, 0 or +1 and each element of the firing vector u(A;) is
either a 0 or a 1. For unrestricted PNs, there are no restrictions on the elements of
an incidence matrix a and this boundedness property no longer holds. For a GPN,
an incidence matrix a (the input incidence matrix a~ or the output incidence matrix
a" of a appear in a constraint matrix A) usually satisfies the properties of total uni
modularity which is no longer true for an unrestricted PN.
147
• [ 0 , 0 , 1 , 0 ] '
'AHGEHT HYPERPLANES
2 ) « I 0 , 1 , 0 , 0 ] '
Corresponds t o a f r a c t i o n a l marking vector
)= [1 ,0 ,0 ,0 ] '
Outward Honnal t o the Tangent Hyperplane (The Direction of X(l) vector)
Figure 10.3: -A figure for the geometric interpretation of DTPMP.
A tangent hyperplane implies a hyperplane which is tangent to the outward di
rected normals. This is clear from Figure 10.3. Consider the PN in Figure 10.2.
Figure 10.3 is a state trajectory diagram for the reachability problem correspond
ing to the PN in Figure 10.2. Each state x(A;), A; = 0,1,2, . . . , d corresponds to a
point in an n-dimensional space (P" dimensional EucUdean space). An application
of au(A;) where A; = 0 , 1 , . . . , (d — 1) takes the state x(A;) to a state x(A; + 1) along the
state trajectory. A direct application of au to a given initial marking x(0) takes the
state directly from a point corresponding to x(0) to a state corresponding to x(d) as
evidenced by Figure 10.3.
There exists a supporting hyperplane at each boundary point of a convex polyhe
dron which separates it from the rest or the z-shadow of the set [31]. If a reachable
marking is fractional at firing A;, then it corresponds to a fractional firing vector and
is inside a convex polyhedron (Figure 10.3). No supporting hyperplane could possibly
exist at this point which corresponds to a fractional firing vector and which separates
this point from the rest of the set. Thus, DTPMP does not hold for these fractional
markings. For each of the supporting hyperplanes, all points lie on one side of it. The
following result is true.
148
Theorem 10.11.1
If there exists a supporting hyperplane at some point in a convex polyhedron, then
it must be an extreme vertex.
Proof: Prom the definition of a supporting hyperplane [21], all points of a convex
polyhedron must be in one of the two closed half-spaces. There are two types of
points in a convex polyhedron. A point either must be an extreme point or a point
inside. -A proof by case studies is adopted here. Assume P to be a point at which a
supporting hyperplane exists.
Case 1: If P is a point inside the convex polyhedron, then a supporting hyperplane
at P divides all points into two different sets each lying in one of the two closed
half-spaces. This contradicts the definition of a supporting hyperplane. Thus, the
point P cannot be an interior point of a convex polyhedron.
Case 2: If P is an extreme point of a convex polyhedron, then the entire convex
polyhedron lies on one side of the supporting hyperplane. This side is one of the
two closed half-spaces generated by the supporting hyperplane at P. Therefore, by
definition P is an extreme vertex of a convex polyhedron.
Q.E.D.
Lemma 10.11.1
Suppose that (A;) = {x(A;)} where A; = 0 , 1 , . . . , d be a set of integer markings on
a trajectory which is z-directionally convex. Then there is a supporting hyperplane
at each point in the n-dimensional Euclidean space P" which corresponds to an
attainable integer marking x(A;), A; = 0 , 1 , . . . , d.
Proof From the assumption, (A;) = {x{k)} where A; = 0 , 1 , . . . , d is a set of reachable
markings which represents the token count in a given PN A at firing A;. Then Xi(A;) >
0 for i = l , 2 , . . . , n ,A; = 0 , l , . . . , d and the set (A;) = {x(A;)} is bounded from
below. Also a z-directionally convex set satisfies the convexity for ^ = 0. A proof by
149
contradiction is adopted here. First consider an element of the set (A;) and denote
it as x(j), where 0 < j < d. Assume that at x(j) there does not exist a supporting
hyperplane. It is possible to express x(j) as a convex combination of two other
elements of the set ^(A;), A; = 0 , 1 , . . . d at which supporting hyperplanes exist. In that
case, x(j) divides the elements of (A;) into two sets, one on each side of the hyperplane
passing through x(j). This is impossible, because x(j) is a reachable marking on the
optimal trajectory and should be an extreme point of a convex polyhedron for a given
problem.
Consider now an element x{l) with 0 < i! < d in a set g{k) having a supporting
hyperplane but which is not a reachable marking. Since x{l) is not a reachable
marking, it is not on the optimum trajectory from x(0) to x(d). Therefore, it is
inside a convex polyhedron defined by the elements of the set (A;). A supporting
hyperplane at x{l) subdivides the elements of (A;) into two sets each one on one
side of the hyperplane. This subdivision is impossible according to the definition
of a supporting hyperplane. Therefore, the marking x{l) must lie on the optimal
trajectory and thus is a reachable marking. Hence, x{l) is an extreme point of a
convex polyhedron defining the elements of (A;), A; = 0 , 1 , . . . , d.
Q.E.D.
10.12 An Analysis of the Heuristic Procedure
The heuristic procedure in section 10.7 can be used with the PMP-based LP method
for the two-phase simplex subroutine or the DLPRS routine for detecting and avoiding
potential critical transitions. For the LP subroutines, a technique to avoid the firing
of a potential critical transition differs. If a two-phase simplex method is used with
the PMP-based LP method, then a procedure for suppressing the firing of a potential
critical transition follows. Here, the goal is to maximize the objective function z=c^x
150
with c*, which is a transpose of the cost-coefficients, c. If a potential critical transition
is detected, the corresponding element in the cost-vector is given a very high negative
value. From the objective function formulation, this transition will never be selected
as a firing transition due to a very high and negative cost-coefficient. Only one
transition is allowed to fire at any firing instance. Thus, making the corresponding
cost-coefficient highly negative will not affect the objective function, because this
critical transition element in the firing vector u(A;), k = 0 , 1 , . . . , (d — 1) is zero.
Hence, the element which corresponds to a potential critical transition in a solution
vector -Y contributes nothing to the objective function. This method of avoiding a
potential critical transition works perfectly.
However, if the revised simplex DLPRS package routine is used with the PMP-
based LP method, then a technique to suppress the firing of a potential critical
transition follows. If the transition tc G T5 is a critical transition at a particular
marking, then an upper bound of Uc(A;) corresponding to the c component emxi,c of
the vector 6^x1 is suppressed to zero.
10.13 Examples
The following examples show results of the numerical computations using the PMP-
based LP method.
Example 10.13.1
The PMP-based LP method avoids the firing of a sink transition in a siphon for a
given PN N which arises due to an asymmetric confusion [51]. Consider the PN in
Figure 10.4.
151
Figure 10.4: An asymmetric confusion at x(0).
An initial marking is x(0)=[0,1,1,1,0]*, a final marking is x(d) = [0,0,0,1,0]* ob
tained with u = [1,1,1,1]* and d = 4. In using a two-phase simplex subroutine, a LFS
computed with the PMP-based LP method is (t2, t4, ti, ts) for a A*(d)=[-0.175,-0.025,-
0.025,-0.025,-0.175] and XQ = ^ = 0.025. At x(0)=[0,1,1,1,0]*, both transitions ti
and t2 are enabled. Transition ti is a sink transition of the siphons {p2} and {ps,Ps}.
For this problem, the Single step LP method or the OP-based LP method can com
pute a LFS.
Example 10.13.2
The PMP-based LP method shows good computational performance in a GPN
containing symmetric confusions at x(0), where the Single step LP method cannot
compute. From the net in Figure 10.5, x(0) = [1,1,0,0]*, x(d) = [0,0,0,0]* obtained
with u = [1,1,1,1,1]* and d = 5. A computed LFS is a = (ts,t5,t2,t4,ti) for the
adjoint elements, A*(d)=[-0.15,-0.03999,-0.0500,-0.0700] and AQ = ^=0.0099999998.
Both transitions ti and t2 are enabled at x(0). Transition t2 is a sink transition of
the siphon {p2,P4} and transition ti is a sink transition of the siphon {pi,ps}. The
computation avoids the firing of ti and t2 at x(0). This example shows that there
152
might be more than one potential critical siphons with more than one potential critical
transitions on the same marking.
PI ft
Figure 10.5: A GPN with a symmetric confusion at x(0).
Computational experience with the PMP-based LP method shows that the firing
of the sink transition of a critical siphon is a major reason for a computational dead
lock. This problem is handled to a large extent by the heuristic algorithm in section
10.7 to avoid a potential critical transition in a GPN.
Recall section 2.4. The concepts of a critical siphon and the sink transition of a
critical siphon are important for the PMP-based LP method.
Example 10.13.3
Consider the PN in Figure 10.6. An initial marking is x(0) = [2,0,1,0,0,0,0,0]*,
a final marking is x(d) = [2,0,1,0, 0,0,0,0]* obtained with u = [2,2,2,2,2,2,2,2,2]*
and d = 18. The PMP-based LP method with a heuristic algorithm for avoiding the
potential critical transitions computes a LFS in the given PN, but the DP-based LP
method gets into a deadlock. By using a two-phase simplex subroutine with the PMP-
based LP method, A*(d)=[0.0099999998,0.0099999998,0.0099999998,0.029999999,0.029
999999, 0.0099999998,-0.0099999998,-0.079999998] and AQ = ^^ = 0.0099999998. A
mputed LFS is {tj, t2, tj, ts, t2, ts, t4, tg, t4, ts, tg, tj, tg, tg, ti, tg, ts, te). Using a revised CO
153
simplex DLPRS routine with the PMP-based LP method, a LFS is obtained which is
[t?, t2, tr, ts, t2, ts, t4, ts, t4, ts, tg, ti, tg, tg, ti, te, ts, te) with A*(d)=[1.0,1.0,1.0,3.0,3.0,1.0,
-1.0,-8.0] and AQ = 1.0. Transition tg is the sink transition of a critical siphon which
is avoided at x(9) = [0,0,1,1,0,0,1,0]* during the computations. A critical siphon
at A; = 9 is {p4,Ps,P8}. If ts is avoided at A; = 9, the computations are deadlocked at
k = 10 on x(10)=[0,0,1,0,0,0, 2,0]*.
P- t3 P)
— { y -
Figure 10.6: A GPN used with the complete PMP-based LP method.
Consider another problem with the same PN but with a different initial marking
x(0) = [2,0,1,0,0,0,0,0]*, a final marking x(d) = [1,0,1,0,0,0,0,0]* obtained with
u = [1,2,2,2,2,2,2,1,1]* and d = 15. A LFS computed using the two-phase simplex
subroutine is (t7,t2,t7,t3,t2,ts,t4,tg,t4,t5,t9,ti,t6,t5,te) for a A*(d) = [0.039999999,
0.039999999,0.039999999,0.059999999,0.059999999,0.039999999,0.020000000,-0.0500
00001] and Ao= 0.0099999998. A LFS for using the revised simplex DLPRS routine
is {tr, t2, tr, ts, t2, ts, t4, tg, t4, ts, tg, ti,te, ts, te) for a A*(d)=[1.0,1.0,1.0,3.0,3.0,1.0,-2.0,
-8.0] and Ao=l. A LFS computed using a two-phase simplex subroutine and that
computed using a revised simplex DLPRS routine are identical for both problems.
154
Example 10.13.4
Consider the PN in Figure 10.7.
Figure 10.7: A second example.
For the given PN, x(0) = [3,0,0,0,0,0,0,0,0]*, x(d) = [1,1,0,0,0,0,0,0,0]*
obtained with u = [3,3,3,3,2,1,1,1,0,1,2]*. For the two-phase simplex subrou
tine, a computed A*(d) is [0.0099999998,0.0099999998,-0.2400000000,-0.0200000000,
0.0099999998, 0.0099999998,0.0099999998, 0.0099999998, 0.0099999998] and AQ =
w 0.0099999998. A LFS a is computed by the PMP-based LP method as (ti, ti, t2, tg.
t4, ts, ti, ts, t4, ts, t2, t4, til, tn , te, *2, tr, ts, tg, tio). If the heuristic algorithm for avoid
ing potential critical transitions is not used with the PMP-based LP method, then
a critical siphon {pi,P2,P3} exists on x(2) = [1,0,0,2,0,0,0,0,0]* with ti as the
sink transition. If ti is allowed to fire on x(2), the computation is deadlocked on
x(3) = [0,0,0,3,0,0,0,0,0]*. The DP-based LP method cannot compute a LFS
for this problem. A LFS obtained using the revised simplex DLPRS routine is
(ti, ti, t2, ts, t4, ts, ti, ts, t4, ts, te, t2, tn, tr, ts, tg, t4, tn , tio, ta) for A*(d)=[1.0,1.0,-24.0,-
2.0,1.0,1.0,1.0,1.0,1.0] and AQ = 1. If the heuristic method were not used, then a
critical siphon {pi,P2,P3} exists on x(2) = [1,0,0,2,0,0,0,0,0]* with ti as the sink
155
transition. If fi is allowed to fire on x(2), the computation is deadlocked at A; = 3 on
x(3) = [0,0,0,3,0,0,0,0,0]*.
10.14 Optimal Control-Based Analysis
Consider a relaxed LP problem for finding a LFS of the PN reachability problem
with a prespecified firing count vector u and a predefined total firings d. The initial
marking x(d) is totally specified. Hence, il){x{d)) = 0. The firing count vector u is
specified and d = YiiLi ^i is also given and there is no need for a minimum firing
control. Therefore, only a firing count subnet needs to be considered both for the
analyses and the computations. Each element of u(A;) is an integer and is either 0
or 1. The (m x 1) vector y^{k) = Au{k) - u(A;) and each element of y^{k) is an
integer where A; = 0 ,1 ,2 , . . . , (d - 1). The artificial variable y^{k) is always 0. The
slack variables at firing k are s{k) = x(A;) - a-u{k). The vector x(A;) is a marking
at firing k and it represents the number of tokens in each place at firing k. Each
element of u(A;) is an integer and each element of the input incidence matrix a~ is
also an integer. Therefore, the solution vector to be decided at each firing A; where
A; = 0 , 1 , . . . , (d - 1) can have only integer elements. Therefore, this is an all-integer-
programming-problem.
The variable vector to be decided at firing A;, 0 < A; < (d - 1) contains a firing
vector u(A;), the artificial variable vectors y^{k) and y'^{k) and a slack vector s{k). The
Single step LP and the Optimality Principle-based LP methods are now considered.
The m X d solution vector which is {u{dY, u{d - 1)*,..., u(l)*] for each of these Single
step LP and the Optimality Principle-based LP methods can contain only 0 or 1.
The artificial variables and slacks are integers. Thus, computing a LFS using these
methods is a 0/1 integer programming problem.
From the optimal control related properties of the PMP-based LP method with a
156
known u and d, the following result is obtained.
Lemma 10.14.1
An optimal LFS {u(A;)}, A; = 0 , 1 , , . . , (d-1) satisfies the necessary condition for an
optimal control sequence. This necessary condition implies satisfaction of an extreme
control for an OLFS a. But the converse of this statement is not always true.
Proof: The extreme points of a convex polyhedron at each firing A;, A; = 0 , 1 , . . . , (d-1)
are the only valid candidates for optimal firing vectors at that firing k. Therefore, an
optimal LFS {u(A;)} where A; = 0 ,1 ,2 , . . . , (d — 1) satisfies the extreme control [16]
which is the necessary condition for an optimal control sequence. On the other hand,
if there exists a potential critical transition tc on some marking x(A;), then the cor
responding firing vector will also be an extreme point of a convex polyhedron at
that firing A;. If u' (A;) is the firing vector corresponding to the critical transition tc
at firing A;, the computation is sure to be deadlocked at some latter firing q where
{k + 1) < q < {d- 1). Therefore, the converse is not always true. Hence, the PMP
provides a necessary condition for optimality since the firing vector u(A;) is at the
boundary. An extreme firing vector may exist which is a locally optimal firing vec
tor. This is true for a firing vector corresponding to a critical transition tc- Hence,
the existence of an extreme firing vector u(A;) does not necessarily imply a globally
optimal firing vector u*(A;) in finding an OLFS a.
Q.E.D.
An important computational result follows.
Theorem 10.14.1
If the final marking x(d) is reachable from an initial marking x(0) on a given PN
N, then x(0) is reachable from x(d) on its reversed net N~'^ and vice versa.
157
Proof From the definition of a reversed net A''"^ of a given PN A'', if a is an incidence
matrix of A'', then - a is the incidence matrix ofN'^. Assume x(d) is reachable from
x(0) for a set of firing vectors {u{k)}, k = 0,l,2,...,{d-l) on N. Clearly,
x{k + 1) = x(A;) + au(A;), Ac = 0,1,2, . . . , (d - 1). (10.30)
Rearranging and writing down the set of equations (10.30) in opposite order,
x(A;) = x(A; + 1) + (-a)u(A;), A; = (d - 1), (d - 2 ) , . . . , 0. (10.31)
But —a is the incidence matrix of the reversed net N~'^. Then the marking x(d - 1)
is reachable from x(d) on N~^. Similarly, x(d — 2) is reachable from x(d — 1) on the
reversed net A^~^ Proceeding this way, x(d — 3) is reachable from x(d — 2) on A "
and so on. Therefore, the marking x(0) on A''"^ is reachable from x(d).
Consider now the opposite case. If x(0) is reachable from x(d) on N~'^, then the
equation (10.31) holds. Denote (—a) as a. Then the equation (10.31) can be written
as,
x(A; + 1) = x(A;) + (-a)u(A;), A; = 0,1,2, . . . , (d - 1). (10.32)
The matrix a is an incidence matrix of the reversed net N~'^. Then, the matrix —a is
an incidence matrix of the original PN A . Hence, x(d) is reachable from x(0) on N.
Q.E.D.
Lemma 10.14.2
Consider a PN A'' for a firing count vector u=[ui] with each component Ui, i =
1,2,..., m denoting the total number of firings of the transition tj. If the initial
marking is x(0) and a final or destination marking is x(d), then x(d) is reachable
from x(0) provided that:
1. The marked PN {N,x{0)) has no token-free siphon at x(0) and
2. The marked PN {N,x{d)) has no token-free trap at x(d).
158
Proof:
1. Since an initially token-free siphon remains token-free from the successive mark
ings, therefore, the token-free siphons at x(0) remains token-free from the following
marking. If there are no token-free siphons at x(0), then x(d) is reachable from x(0)
provided that the sink transition of a potential critical siphon does not fire at any
intermediate marking x(A;), A; = 1,2,..., (d — 1).
2. If the final marking x(d) is reachable from an initial marking x(0) on a given PN A",
then x(0) is reachable from x(d) on its reversed net N~^. Siphons of a given PN N are
traps on its reversed net N~^ and traps of A are siphons on its reversed net N~'^ [51].
Consider a computational technique which uses the reversed net A/~^ of a given PN
-Y with x(d) as an initial marking. This computational technique has all token-free
traps on (A',x(d)) as token-free siphons on (A^~\x(d)). Therefore, if {N,x{d)) con
tains no token-free traps, then there are no token-free siphons on {N~'^,x{d)). If no
sink transition of a potential critical siphon fires at A;=d, (d - 1 ) , . . . , 2, then x(0) is
reachable from x(d) on (A^-^x(d)). Hence, x(d) is reachable from x(0) in a given PN
{N,x{0)).
Q.E.D.
A lemma which needs to be satisfied for x(d) G R{x{0)) follows.
Lemma 10.14.3
Consider a given PN N with an initial marking x(0) and a final marking x(d). The
marking x(d) satisfies x(d) G R{x{0)), where P(x(0)) denotes the set of reachable
marking from x(0), if the following conditions are met.
(a) The firing count vector u satisfies au = Ax = (x(d) - a;(0)),
(b) on {Nu,Xu{0)) and {Nu,Xu{d)), the following two conditions are being satisfied:
1. The firing count subnet {Nu,Xu{0)) has no token-free siphons.
2. The firing count subnet (A/'„,x„(d)) has no token-free traps.
159
Proof A necessary condition for marking reachability with a prespecified u and d is
au = Au = (x(d) - x(0)). At each firing A;, only the firing count subnet (A^„,x„(A;))
with an effective firing count vector u = u-ZtZlu{k) is taken into account. Then at
firing k only the nonzero elements || u(A;) || of the effective firing count vector u are
considered. If the initial firing count subnet (A „, x„(0)) at A; = 0 is taken into account,
then by Lemma 10.14.2, using basic definitions of marking reachability with a firing
count vector and a firing count subnet, the proof of {b){l) in Lemma 10.14.3 follows.
Precondition (6)(1) in Lemma 10.14.3 is a sufficient condition for marking reachability
with a firing count vector u. Token-free traps on {Nu,Xu{d)) are token-free siphons
on {N-^,Xu{d)). If the proof of Lemma 10.14.2(2) is used with definitions of marking
reachability with a firing count vector and a firing count subnet, then the proof of the
precondition 6(2) in Lemma 10.14.3 follows. Lemma 10.14.3 6(2) is another sufficient
condition for marking reachability with a firing count vector.
Q.E.D.
Lemma 10.14.4
In a given PN A with an initial marking x(0) and a destination marking x(d),
eliminate every maximal token-free siphons in (A'', x{0)) and maximal token-free traps
in {N, x(d)) so that x(d) is reachable from x(0). A sink transition of a potential critical
siphon should not fire at an intermediate marking x(A;), A; = 1,2,..., (d — 1).
Proof: From the definition of a maximal siphon (trap), a siphon (trap) is maximal if it
contains all other siphons (traps) as its subsets. If every maximal token-free siphons
in (A'', x(0)) are eliminated, then other token-free siphons must be its subsets and
eventually those are marked. Similarly, if every maximal token-free traps in {N,x{d))
are eliminated, every other token-free traps in {N, x{d)) are its subsets and ultimately
those token-free traps are marked. Therefore, the requirements of Lemma 10.14.2 are
met and the final marking x(d) is reachable from an initial marking x(0). This is
160
true provided that the sink transition of a potential critical siphon does not fire at an
intermediate marking x(A;), A; = 1, 2 , . . . , (d - 1).
Q.E.D.
An important result to apply the PMP-based LP method follows.
Lemma 10.14.5
-Assume that for a prespecified firing count vector u, there are no maximal token-
free siphons in a subnet defined by || u(A;) || at x(A;) for each firing A;,l < A; < ( d - 1).
Then there is a LFS from an initial marking x(0) to a final marking x(d) for that
prespecified u.
Proof For marking reachability with a firing count vector, only the nonzero elements
in an effective firing count vector denoted as || u(A;) || are considered at each firing
k. Hence, the subnet defined by u(A;) = u - Efc=o "^{k) is considered at each firing A;,
0 < A; < ( d - 1). Therefore, no dead transition appears in the subnet which is defined
by u(A;) = u - X)^~Ju(A;). Assume that an enabled transition is selected at firing A;,
k = 0 , . . . , (d — 2) such that there is a token-free maximal siphon at firing I in the
subnet to be considered, where 1 < ^ < (d— 1). Then this token-free maximal siphon
at firing / will remain token-free from the succeeding firing instance. Transitions
which are the members of this token-free maximal siphon and also the members of
II u{l) II will never be able to fire. Therefore, the computational process gets into
a deadlock. Hence, the satisfaction of this Lemma 10.14.5 is a sufficient condition.
Q.E.D.
161
Example 10.14.1
(b)
Figure 10.8: A given PN and its reversed net(a)(A^,x(0)), (b)(A^-^x(d)).
Consider the PN in Figure 10.8(a) and its reversed net in Figure 10.8(b). A given
initial marking is x(0)=[l, 0,0,1,0,1,2]* and a final marking is x(d)=[l, 0,0,1,2,1,0]*
obtained with a firing count vector u=[l, 1,1,0,0,0,1,1,0,1]* and d = 6. The set
of places {pi,P3}, {pi,P2,P3}, {P6,P7} are siphons on (A'', x(0)) which are traps on
{N~^,x{d)). All siphons are marked at x(0) and all traps are marked at x(d). This
involves that there is no token-free siphon on (A'', x(0)) and there is no token-free trap
on {N,x{d)). Therefore, Lemma 10.14.2 is satisfied.
162
The vector au=[0,0,0,0, 2,0, -2]*=Ax=x(d) - x(0). Hence, the first condition in
Lemma 10.14.3 is satisfied. The structural siphons of A„ are {p6,pr}, {PbPa} and
{Px,P2,P3} which are also structural traps onN~^. As evidenced by Xu{0), the subnet
(N„,x„(0)) has no token-free siphons. From marking x„(d), the subnet (A^„,x„(d))
has no token-free traps. This involves that the rest of Lemma 10.14.3 is satisfied.
-A firing count subnet {Nu,Xu{0)) is not connected. Then the given problem is even
reachable with a token-free condition of {P4}. But p4 is marked both at x(0) and
x(d), which implies fulfillment of the preconditions stated in Lemma 10.14.3.
A LFS (Tu = (ti, t2, ts, tio, ty, tg) is obtained with a precalculated A„(d) = [1.0,1.0,1.0,
1.0,35.0,1.0].
On (-Y,x(0)), the maximal siphons are {pi,P2,P3} and {p6,P7} which are also the
maximal traps on {N, x(d)). Since all these are marked at x(0), no maximal siphon is
eliminated. Hence, the first condition in Lemma 10.14.4 is satisfied. Also the maximal
traps are marked at x(d) and there is no need to eliminate any maximal token-free
trap. This involves that the second condition of Lemma 10.14.4 is satisfied.
10.15 Computational Characteristics
The convexity assumptions based on the z-directional convexity are imposed on the
data for the reachability problems to be used by the PMP-based LP method. This is
done to ensure uniqueness of minimizing firing vectors.
On the other hand, the PMP does not circumvent the computational difficulties of
a two-point boundary-value problem (TPBVP). In using the PMP-based LP method,
it provides a considerable insight into the form of an optimal control function so that
it is possible to solve the problem indirectly. An important results follows.
163
Lemma 10.15.1
The basic objective in computing a LFS a is the minimum transfer of tokens with
respect to an original PN A''.
Proof: -A LFS a can be computed either by using an original PN A'' or its reversed
net A' "^ The objective in using an original PN A' is always for a minimum transfer
of tokens at each firing instance A;. Hence, this case is true. For the computation
using the reversed net A''"^ of A , the objective is to select that particular transition
enabled at a firing A; for which the transfer of tokens is at a maximum. This involves
selecting that enabled transition tg at the firing j for which the summation of the
q-th column elements of the incidence matrix a = c'*' — a~ of the PN A'' is minimum
(for A/~\ the incidence matrix is d = a~ - a" = - a ) . But this is a count for the
transfer of tokens in A'" at firing j . This proves the case for the computations using a
reversed net.
Q.E.D.
10.16 An Analysis of the Objective Function
Use of the PMP implies minimizing the Hamiltonian at each firing A;. The objective
function of the PMP is given as follows:
J = "^Y mk),u{k)) = Y <xiHk) + au{k)}. (10.33) k=0 k=Q
The Hamiltonian Function is:
P(A(A: + 1), x(A;), u(A;)) = (A*(A; + 1) + Xoei^,}{x{k) + au{k)}. (10.34)
Here,
Xt{k) = A*(A; + 1) + Aoe >,i, (a)
A(d) = AoCnxi. (b)
164
(10.35)
Also,
i:to^u{k) = u. (10.36)
A form which is analogous to the Optimality Principle is derived as follows by a
cumulative consideration of all Hamiltonians for k = 0 , 1 , . . . , (d — 1). Denote this
summation as Jc. Then
Jc = Etto' {A*(A; + 1) + Aoe^,i}{x(A;) + au(A:)}. (10.37)
Here, AQ is a fixed quantity. Hence,
Jc = {A*(l) + Aoei,i}{x(0)+au(0)}
+{A*(2) + AoeJ,,i}{x(l) + au(l)} + . . . (10-38)
+{A*(d) + AoeLi}{^(^ - 1) + <^<d - 1)}.
By equation (10.35(a)), equation (10.38) can be written as:
Jc = {A*(2) + Aoe^ i + AoeLi}{x(d)-au + au(0)}
+{A*(3) + AoeJ,,! + AoeJ,,i}{x(d) + au(l) - a E t l < k ) } + ... (10-39)
+{A*(d) + Aoe^,J{x(d)}.
Rearranging, equation (10.39) can be written as:
Jc = {X\d)+dxXoei^,}{x{d)-aEt\<k)}
+{A*(d) + (d - l)Aoe* ,i}{x(d) - a Etzl u{k)} + ... (10-40)
+{A*(d) + Aoe;,,i}{x(d)}.
Then
Jc = x(d)[A*(d) + . . . + A*(d) + e J , ^ i {d+(d - l ) + . . . + l}]
-a[{A*(d) E t l u{k) + A*(d) Etl u{k) + . . . + A*(d) E t d - i ^(^)}]-(10.41)
165
(10.42)
The final form for Jc is,
Jc = dA*(d)x(d) + ^ e * ,ix(d)
-a[A*(d){(d - l)u(d - 1) + (d - 2)u(d - 2) + . . . + 1 X u(l)}]
-e\^^^a[u{d - l){d + (d - 1) + . . . + 2}
+u{d - 2){d + (d - 1) + . . . + 3} + . . . + du(l)].
The form in equation (10.42) can be organized as follows:
Jc = dA*(d)x(d) + ^ e * , i x ( d )
-a[>^\d)Y.tXku{k)] (10.43)
-[<xiaY.Ud-k+iATtJin{k))].
In the final form of the expression for Jc in equation (10.43), the initial marking
x(0) and the initial firing vector u(0) are completely absent. Equation (10.43) is
obtained as the final form of the objective function with adjoint coefficients for the
PMP. This objective function also obeys the OP. Therefore, there is an inherent
connection between the PMP and the OP [14]. In fact, all these analyses show that
the application of the PMP to the computation of an optimal control sequence is
directly related to the OP. A complete consideration of all iterative steps of the PMP
over the Hamiltonians gives a form of changed objective function value in the standard
form of OP to find LFSs of PNs in a single application of LP.
Throughout the analysis in this section, an attempt is made to show that the
PMP is closely related to the OP. Considering the d parted PMP-based LP method
as a whole, it is possible to arrive at a form for the objective function which obeys
and retains the standard characteristics of the OP Here, only the objective function
of the PMP-based LP method is considered in a cumulative fashion. The equations
appearing in the set of constraints are the basic reachability equations and do not
166
possess any special characteristics to be treated separately. The PMP is closely related
to the OP [14] and the OP forms a basis for the DP techniques. Therefore, the PMP
has a close relationship with DP from an optimal control viewpoint.
167
CHAPTER 11
ANALYSIS AND APPLICATIONS
In this chapter a computational analysis is presented. This computational analysis
is important for selecting a particular method for an application. Also the analysis
shows that adopting an efficient LP routine and exploiting parallelism, reasonable
sized PNs are computable. This has been done using an ncube 2E Supercomputer by
showing that the curves for the DP-based LP and the PMP-based LP methods are
almost linear for reasonable problem sizes. Also an application is discussed.
11.1 Analysis of Computation Time
Figure 11.1 shows the computation time curves for the Single-Step LP, the DP-
based LP and the PMP-based LP methods. Assume that the time complexity of LP is
of polynomial order 4 to the size of the problem. Therefore, the time complexity of the
DP-based LP and the PMP-based LP method is d"^ times to the time complexity of
the Single step LP method. Both the DP-based LP and the PMP-based LP methods
are semi-polynomial-time-complexity algorithms.
168
u •o c 0 u a -H
•H
E c
(U UIT
JJ
c o JJ <1!
3 Q.
e 0 u
550
500
450
400
350
300
250
200
150
100
50
0
Revised Simplex Computation Time Curves 1
ingle step LP" "DP-based LP" "PMP-based LP"
16 20 22 24 26 Firing count subnet sizes
28 30
Figure 11.1: Computation time curves for the DLPRS subroutine.
In Figure 11.1, the average time per u(A;) is used for the curves. Then, the mea
sured time is independent of d for both the DP-based LP and the PMP-based LP
methods and it is possible to consider large values of d. Since only one transition fires
at a firing instance therefore, the average time to compute u(A;) is obtained. High
values of d are avoided to get an average accurate time measurements with the Single
step LP method. To obtain a point on the curve, five to six different PNs with the
same firing count subnet sizes are considered and an average computation time is
measured. Thus, the curves represent a general computation time pattern. Time per
u(A;) increases rapidly with increasing firing count subnet sizes for the Single step LP
method. This increase in time per u(A;) is less for the PMP-based LP or the DP-
based LP method. The curves obtained show that LP behaves linearly for reasonable
problem sizes [9]. But the slopes of the straight line parts obtained with the Single
169
step LP method are very different. The slopes of the straight lines obtained with the
DP-based LP and the PMP-based LP methods are almost same.
3000 Two-Phase Simplex Computation Time Curves
m •O c o u
I O o
2500 -
2000
1500
1000
500
Single step LP-S" "DP-based LP-S" "PMP-based LP-S"
10 10 50 60 70 Firing count subnet sizes
80 90 100
Figure 11.2: Computation time curves for the two-phase simplex subroutine.
Computation times are measured on a single node of an ncube 2E Supercomputer
system. For obtaining points on the curves, the potential critical transitions are
suppressed. Only firing count subnets are considered to obtain the graph. Table
11.1 compares computation time taken by the Single-Step LP, the DP-based LP and
the PMP-based LP methods in the original PNs with computation time in the firing
count subnets.
In using the firing count subnets instead of the original PNs, improvement in
computation time taken is more for the Single-Step LP method compared to the
other LP methods. Considering only the firing count subnets reduce the size of the
PNs and the computation time.
170
In Figure 11.2, the computation time for the Single-Step LP method is much higher
than the computation time for the DP-based LP and the PMP-based LP methods.
Computation time is much dependent on the dimensions of the constraint matrix A
which involves dependency on m=the total number of constraints and also on n=the
total number of variables.
Figure 11.3 shows a PN as an example.
Figure 11.3: A PN for computation time assessment.
For the Single-Step LP method, m = 15, n = 24, Xu{0) = [2,0,0]* and x„(d) =
[0,0,2]* obtained with u = [1,1,1]* and d = 3. If m and n are used as specified with
the Single-Step LP method, computation time per u(A;) (average) is 35.5 milliseconds.
If m=20 and n = 24, an average computation time per u(A;) is 43.7 milliseconds.
Considering m = 15 and n = 30, computation time per u(A;) is 40.96 milliseconds.
For m = 20 and n = 30, computation time per u(A;) is 51.9 milliseconds. This shows
the dependency of computation time per u(A;) on the numerical values of m and n.
The total number of constraints in the Single-Step LP method is m=(| P^ | xd+ |
Tu I +d), where d is the length of the LFS, | P« | = total number of places and | Tu | =
total number of transitions in the firing count subnet. The total number of variables
n=( | P„ I xd+ I r„ I xd+ I r„ I +d). Both for the DP-based LP and the PMP-based
LP methods, the total number of constraints, m=(| Pu | + | T^ | +1) and the total
number of variables n = (| Pu | +2 | T^ | +1).
171
Table 11.1: Improvements in computation time for using firing count subnets.
Method
Single-Step LP
DP-based LP
PMP-based LP
Single-Step LP
DP-based LP
PMP-based LP
Original PN Size
31
31
31
14
14
14
Comp. Time
135.1680
62.8053
76.4586
124.6354
38.0343
39.2046
Subnet size
16
16
16
11
11
11
Comp. Time
49.1520
32.7680
32.7680
102.4000
32.7680
35.6937
In Figure 11.3, | r„ | = 3, | P„ | = 3 and d = 3. Then, the total number of
constraints m = 15 and the total number of variables n = 24. Either for the DP-
based LP or the PMP-based LP method, m is 7 and n is 10, which are smaller than
those values for the Single step LP method.
The number of pivoting steps for the simplex method goes up as the total number
of variables and the total number of constraints in the problem go up.
A minimum length firing sequence in the firing count subnet with initial marking
x„(0) is considered. It is assumed that the token distribution on an initial marking
is such that each transition in the firing count subnet fires exactly once and x„(d) is
reachable from Xu(0). This assumption increases the accuracy of time measurement,
because the computation time depends on the structure of a PN. Average time per
u(A;) is plotted against the firing count subnet size. This strategy keeps the computa
tion time curves independent of d and provides an average computation time pattern.
With the PMP-based LP method AQ = -j^, where W is a non-zero, positive quan
tity. The computation time for the DP-based LP method is least among the three.
The PMP-based LP method takes slightly higher computation time compared to the
172
DP-based LP method for the same problem due to the extra manipulations required
with adjoint coefficients. It is possible to use the DP-based LP and the PMP-based
LP methods for much larger PNs as evidenced by the computation time curves. The
curves in Figure 11.2 are obtained for firing count subnet sizes ranging from 16 to
100 by using subclasses of PNs. These PNs include (1) Siphon Circuit (SC) nets,
(2) Nonincreasing Circuit (NIC) nets, (3) Backward Conflict-free (BCF) PNs, (4)
Marked Graphs (MGs), and (5) Acyclic PNs (APNs). These subclasses of PNs have
well-defined reachability criteria. The DP-based LP and the PMP-based LP methods
which use a two-phase simplex subroutine can compute large PNs. An implementa
tion which uses a two-phase simplex subroutine, the computation time remains as a
major constraint. Computation time increases nonlinearly with the increase in firing
count subnet size.
The computational results show that the DLPRS is faster than the two-phase
simplex subroutine. The DLPRS is particularly suited for the Vertex ncube Su
percomputer system and should only be used in a vertex ncube Supercomputing
environment. This implies that exploiting parallelism with a bounded variable re
vised simplex method improves computation time and enables to compute large PNs.
There are unrestricted PNs which can never be computed using a two-phase simplex
subroutine. However, the DLPRS efficiently computes these unrestricted PNs. This
implies that the DLPRS is computationally more efficient compared to the two-phase
simplex subroutine. Using a two-phase simplex subroutine, PNs with firing count
subnet sizes as large as Nu = 100 with | P„ |= 25 and | T^ |= 25 are computed with
the DP-based LP and the PMP-based LP methods.
173
11.2 An Application
Different models which use graph theoretic tools in relation to the railway networks
are studied before. Here, the PN model of a railway traffic controller is discussed.
Many real world control problems which deal with the discrete event systems can
be formulated as the reachability problem in PNs. Fortunately, the complete set of
the reachable states is not always necessary to find errors or for showing that there
is no error in a system design. For designing controllers with PNs, it is required to
build a model so that the model contains only the appropriate amount of details. The
developed model should be live and bounded, otherwise the system will turn into an
uncontrollable one. Consider now the design of an automatic controller for a railroad
crossing system. This automatic controller for a railroad crossing system appears
in [42]. The operating principle of a simple Railroad Traffic Controller is important
for the analysis of the design.
Figure 11.4: An initial state of the automatic controller model.
174
Present day railroad crossings are computer controlled. Some controlling de
vices are hardware based and some are software controlled. It is possible to de
sign and analyze the controller of an automatic railroad crossing system using PNs.
For a correct and safe operation of the system, the operational sequence of differ
ent components can be analyzed using the reachability in the PN model. Figure
11.4 shows the initial state of a basic controller model. In a basic controller sys
tem, the initial state is x(0) = [1,0,0,0,0,1,0,0,0,0,1,0]* and the final state is
x(d) = [0,0,0,1,0,1,0,0,0,0,1,0]*.
p.
Figure 11.5: Reversed net of the controller model with an interlock, I = pis.
In the PN model, places pi, P2, Ps and P4 represent different positions of the railroad
vehicle or train. In this basic controller model, an interlock I is absent and hence,
the place pis does not appear. At the final state no transition is enabled. Therefore,
the next-state function is undefined for all transitions and the execution halts. The
next-state function defines the state of the PN for the next firing [42]. Each place
175
represents one of the possible elements for the controller. Each transition represents
an event in the complete controller system which is described in Table 11.2.
If the DP-based LP method is used with the basic controller model, a computed
LFS a is (ti,t4,t2,t3,t5,t7,t6) obtained with u = [1,1,1,1,1,1,1]* and d = 7. The
PN model for the controller is a condition-event net system and the computed LFS
passes through risky states. Therefore, the designed system does not ensure safety.
In Figure 11.5, the reversed net N~^ of the complete controller model N is shown.
-Adding a sensor pis to the basic controller model ensures safety. The sensor senses
whether the railroad crossing gate is down after firing transition tr. Once tr fires, pis
contains a token and then sends the corresponding information to the Signal, which
is done by firing transition f2.
Also firing transition t2 allows a train to enter the crossing safely. This is done by
clearing the signal down in a real system. A computed LFS in the complete model
using the DP-based LP method is (ti,t4,t7,t2,t3,t5,t6).
The LFS (ti,t4,t7, t2,t3,t5,t6) is safe and does not pass through a risky state.
Sometimes the sensor pis is known as an Interlock. The additional cost of adding an
extra component as an interlock I = pis is balanced against the assurance of safety.
The place pis does not disturb the reachabihty of the system or the appropriate
control sequence. However, a sensor pis assures safety.
In Table 11.3, the locus of the states as obtained from the computation on the
reversed net of the complete controller model is described . Note that all reachable
states which appear in Table 11.3 are safe.
176
Table 11.2: Roles of places and transitions in the complete controller model.
place or transition
Pi
P2
P3
P4
Ps
P6
P7
P8
P9
PlO
Pu
Pl2
Pl3
t l
t2
ts
t4
ts
te
t7
represents
the train is approaching
the train is before the crossing
the train is within the crossing
the train has past the crossing
transducer
a component of the controlling device
a component of the controlling device
a component of the controlling device
a component of the controlling device
a component of the controlling device
railroad crossing gate up
railroad crossing gate down
interlock
fires when the train is just before the crossing
fires to clear the signal down
fires when the train has past the crossing
fires to enable the transducer
fires before the train has past the crossing
fires to open the gate
fires to close the gate
177
Table 11.3: Locus of the reachable states.
Here, x(0) = [1000010000100]* and x(d) = [0001010000100]'.
j
1
2
3
4
5
6
7
[Au(d-j + l)]*
[1111111]
[1111101]
[1111001]
[1101001]
[1001001]
[1001000]
[1000000]
{t}
{te}
{ts}
{tj}
{t_2}
{tj}
{t_^}
(111
W - j)Y
[0001010001010]
[0001001100010]
[0010001000010]
[0100001000011]
[0100001010100]
[0100110000100]
[1000010000100]
11.3 Comparisons .Among Three Different LP Methods
In Table 11.4, comparisons among (a) the Single step LP method, (b) the DP-based
LP method, and (c) the PMP-based LP method with known u and d are listed. Here,
n = the total number of places, m = the total number of transitions and d = the
length of the firing count vector.
178
Table 11.4: Comparisons among three different LP methods.
Standpoint
computes on
objective
time Complexity
matrix A
number of
iterations
number of
unknown
variables
and
constraints
applicability
Single step LP
original net
{N,x{0))
minimizing the
total transfer
of tokens
polynomial
size:
(n+(l + m) X d
+{n + m) X d)x
{{n + m) xd)
sparse
only one
variables:
(n + m) X d
constraints:
n + (1 + m ) X d
•^{n + m) X d
GPNs.
DP-based LP
reversed net
{N-\x{d))
maximizing the
total transfer
of tokens
semi-polynomial
size:
((1 + n + m)x
(1 +n + 2m))
regular matrix
d=TT=ini
variables:
(l+n+2m)
constraints:
(1+n+m)
unrestricted PNs.
PMP-based LP
given net
{N,x{0))
minimizing the
weighted objective
function
semi-polynomial
size:
((1 + n + m)x
(l + n + 2m))
regular matrix
d=T.T=iUi
variables:
(l+n+2m)
constraints:
(1+n+m)
large GPNs.
179
CHAPTER 12
CONCLUSIONS
In this dissertation, the solution methodologies for a set of identified problems
which are related to the PN reachability with prespecified u and d are discussed.
Single step LP method which bears classical properties of LP for computing an
optimal LFS {u{j)}, j = 1,2,..., d in one LP step is discussed. The method which is
based on the Optimality Principle (OP) executes in one LP step. The computation
of OP is independent of x(0) and u(0) as evidenced by the formulation. OP has
an optimal policy and whatever the initial state and the initial decision are, the
remaining decisions must make an optimal policy with respect to the state resulting
from the first decision. OP lies at the heart of Dynamic Programming (DP), since
DP relies on OP. DP is the only sequential method for optimization. Properties of
total unimodularity play a vital role in finding a LFS using this method.
The DP algorithm searches possible combinations of the reachable markings for
enabled transitions at different firing instances starting at x(d) with a backward
directional computation. For large, complex problems with many combinations of
markings, there is always a possibility of a combinatorial explosion. This combinato
rial explosion may result in the failure of the computation to converge to the correct
initial marking to produce a LFS a. The computational process traverses through all
vertices of a convex polytope to generate every possible marking. At the end of the
process, there are optimal solutions not to just one initial marking but all possible ini
tial markings. Hence, there exists a closed-loop control law with a pure DP technique.
From the geometric standpoint, a classical method treats a curve as a locus of points
(convex polyhedron), whereas DP considers a curve to be an envelope of tangents
180
(convex polytope). Therefore, the classical theories of LP and DP are dual to each
other, a fact which is only valid for the deterministic processes. This involves that
combining a LP with a DP approach, the two approaches jointly are more powerful
and versatile than the use of a single method. This is true both from an analytical and
a computational stand point which are carried out with the DP-based LP method.
Same facts hold for the FDP-based LP method. The FDP-based LP method bears
both the characteristics of LP and DP in its analytic and computational behavior. A
DP-based method never computes well in ordinary PNs containing self-loops except
for few, simple ceises.
DTPMP is an indirect method to find LFSs of PNs which lies at the heart of the
optimal control theory. Many optimal control problems may be approached using
the PMP. Computing a LFS a which is legal on x(0) with respect to u is a two-
point-boundary-value-problem (TPBVP) defined by x(0) and d. The Hamiltonian
function H does not always circumvent the computational difficulties associated with
the two-point-boundary-value-problems even with a modern high-speed supercom
puter system. However, H does provide a considerable insight into the form of the
problem so that the problem may be solved indirectly.
Recall section 2.2. The constraint matrix A in the set of constraint equations
Ax = b for a method which uses a two-phase simplex subroutine is always in a
canonical normal form. The constraint matrix A always contains an M x M unity
matrix IMXM as a sub-matrix of it. This also involves that the phase 2 of the simplex
subroutine can begin directly. Here, M is the total number of constraints in the set
of constraint equations Ax = b.
Also from section 2.2, the reversed net A " of a given PN N is used for the
DP-based LP method. Computation of the DP-based LP method starts at x(d)
and proceeds in the opposite direction of an actual LFS. During the computation.
181
if at some stage A; with 1 < A; < d, there is no enabled transition which brings the
computation to the next lower stage at (A; - 1), then the computation is deadlocked.
Hence, for this method a critical siphon is considered on the reversed net N~^ instead
of an original PN A''. Refer to Chapter 8 for details.
The reachability problem of PNs with prespecified u and d is considered all the
way in this dissertation. Then, it is always possible to consider problems in the
firing count subnets and eliminate those variables and constraints corresponding to
the transitions with null occurrence in the firing count vector u. This reduces the
computation time requirements and the memory space consumptions in general.
12.1 Future Research Directions
PNs are frequently used to model manufacturing systems. The size of a PN model
is in general the major constraint in modeling manufacturing systems. It is some
times possible to decompose the net model into modules of limited size, to analyze
these modules, and to finally integrate them in a way which allows us to derive the
properties of the whole system based upon the properties of the modules.
Nowadays, window-based PN tools are quite popular among practitioners. How
ever, computational tools for the analysis of reachability in PNs are quite rare in
practice. The LP methods discussed in this dissertation form a foundation of the
window based application tool development for the analysis of reachability. A future
research will be to develop PA based tools with the LP computational algorithms.
The next important work constitutes analyzing the tools completely for the future
level commercial tool developments. These tools can conveniently be constructed in
a language like C or in any other Object Oriented Programming Language like Java
or, C++.
There is an increased volume of work on model based analysis of concurrent, real-
182
time programs. Reachability analysis in PN is important for verifying the dynamic
properties of concurrent, real-time programs. In each serious project, after having
finished the system design, at least the specifications of critical components should
be validated with strict means. Reachability analysis of PNs is increasingly being
used for validation. The computational methods discussed in this dissertation can be
used for this validation.
Reachability describes the correct and/or faulty behavior of a system to be diag
nosed which is called the Model-based Diagnosis. An example is given in Chapter
11 where the reachabihty has been used to show the improper dynamic behavior of
a Rail-road Crossing System and an improvement over the existing design is also
suggested. Therefore, the future research is oriented towards a systematic way for
detecting errors in sophisticated concurrent and distributed systems.
183
BIBLIOGRAPHY
[1] Agerwala, T., "Putting Petri Nets to work," IEEE Transaction on Computers, pp. 85-94, Vol. C-28, No. 12, December, 1979.
[2] Balinski, M.L., "Integer Programming: Methods, Uses, Computation," Management Science, Vol. 12, No. 3, November, 1965.
[3] Bellman, R., "On the theory of dynamic programming," Proceedings of the National Academy of Sciences, 38, 716-719, 1952.
[4] Bellman, R., Introduction to the Mathematical Theory of Control Processes, Volume 2: Nonlinear Processes, Academic Press Inc., New York.
[5] Bellmaii, R., "Some Applications of the Theory of Dynamic Programming—A Review," Journal of the Operations Research Society of America, vol. 2,no. 3, August, 1954.
[6] Bertsekas, D.P., Dynamic Programming: Deterministic and Stochastic Models, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1987.
[7] Best, E., "Structure Theory of Petri nets: the Free Choice Hiatus," Advanced Course on Petri Nets, Bad Honnef 8.-19., September, Germany, 1986.
[8] Bellman, R., Kalaba, R., Dynamic Programming and Modern Control Theory, Harcourt Brace Jovanovich, Publishers, Academic Press, Inc., New York, 1965.
[9] Colom, J.M., Silva, M., "Improving The Linearly Based Characterization Of P /T Nets," pp. 113-145, Lecture Notes in Computer Science (LNCS), Springer Verlag, Berlin, Germany, 1991.
[10] Csaki, F., Translated by Szoke, P., Translation revised by Balkay, B., Modern Control Theories, Nonlinear, Optimal and Adaptive Systems, Akademiai Kiado, Budapest, Hungary, 1972.
[11] Dantzig, G.B., Linear Programming and Extensions, Princeton University Press, Princeton, New Jersey, 1963.
[12] Darst, R.B., Introduction To Linear Programming, Applications and Extensions, Mercel Dekker, Inc., New York, 1990.
[13] Datta, A., Ghosh, S., "Synthesis of a Class of Deadlock-Free Petri Nets," Journal of the Association for Computing Machinery, Vol. 31, No. 3, July 1984, pp. 486-506.
[14] Desoer, C.A., "Pontriagin's Maximum Principle and the Principle of Optimality," J. Franklin Institute, Vol. 271, pp. 361-367, 1961.
[15] Desrochers, A.-A., Al-Jaar, R.Y., Applications of Petri Nets in Manufacturing Systems Modeling, Control, and Performance Analysis, IEEE Press, IEEE Control Systems, Piscataway, New Jersey, 1995.
184
[16] Elgerd, O.L, Control Systems Theory, International Student Edition, McGraw-Hill and KOgakusha Co. Ltd, McGraw-Hill, Inc., New York, 1967.
[17] Ficken, F.A., The Simplex Method of Linear Programming, Holt, Rinehart and Winston, New York, 1961.
[18] Fujii, Y., Sekiguchi, T.," A Method for finding the firing sequences of Petri nets with hnear programming techniques," Technical Report of lEICE, Vol. 94, No. 332, CAS94-67, CST94-27 (1994-11).
[19] Fujii, Y., Sekiguchi, T., "A New Method for Finding Firing Sequences for the Reachability Problem of Petri Nets by Using a Linear Programming Technique," Proceedings of the 1994 IEEE International Symposium on Industrial Electronics, pp. 242-246, 1994.
[20] Fujii, Y., Sekiguchi, T., "A method for finding firing sequences for the reachability problem of Petri nets with mathematical programming technique," Transactions oflEE, Japan, Vol. 116-C, No. 2, pp. 289-295, 1996 (in Japanese).
[21] Gass, S.I., Linear Programming, Methods and Applications, Third Edition, McGraw-Hill Book Company, Kogakusha Company Ltd., Tokyo, Japan, 1985.
[22] Gligor, V.D., Shattuck, S.H., "On Deadlock Detection in Distributed Systems," IEEE Transactions On Software Engineering, Vol. SE-6, NO. 5, September, 1980.
[23] Halkin, H., "Optimal control for systems described by difference equations," Advances in Control Systems: Theory and Applications, pp.173-196, C. T. Leon-des, Ed., Academic Press, New York, 1964.
[24] Halkin, H., " A maximum principle of the Pontriagin type for systems described by nonlinear difference equations," Journal of SIAM on Control, Vol. 4, No. 1, pp. 90-111, 1966.
[25] Halkin, H., "On the Necessary Condition for Optimal Control of Nonlinear Systems", Technical Report No. 116, Department of Mathematics, Stanford University, 1963.
[26] Harrel, D., Algorithmics-The Spirit of Computing, Addison-Wesley Publishing Company, Reading, MA, 1987.
[27] Hiraishi, K., Ichikawa, A., "Initial markings at which firing count vector has firable sequences in Petri net," the 2nd National Net Theory Workshop of lEICE of Japan, pp. 33-40, 1987.
[28] Hocking, L.M., Optimal Control: An Introduction to the Theory with Applications, Oxford Applied Mathematics And Computing Science Series, Clarendon Press, Oxford, London, 1991.
[29] Holtzman, J.M., "Convexity and the Maximum Principle for Discrete Systems," IEEE Transactions On Automatic Control, Vol. AC-11, No. 1, January, 1966.
[30] Holtzman, J.M., "On the maximum principle for nonlinear discrete-time systems," Short Paper, IEEE Transactions on Automatic Control, Vol. AC-11, NO. 1, January, pp. 273 - 274, 1966.
185
[31] Holtzman, J.M., Halkin, H., "Directional convexity and the maximum principle for discrete systems," J. SIAM on Control, vol.4, No.2, pp.263-275, 1966.
[32] Ho, Y.C, "Dynamics of Discrete Event Systems," Scanning the Issue, Proceedings of the IEEE, January, 1989.
[33] Hu, T.C, Integer Programming and Network Flows, Addison-Wesley Publishing Company, Reading, MA, 1969.
[34] IMSL, Inc., User's Manual: FORTRAN subroutines for mathematical applications, MATH/LIBRARY'^^'', Version 2.0, MALB-USM-UNBND-EN9109-2.0, September 1991.
[35] Kirk, D.E., Optimal Control Theory, An Introduction, Robert W. Newcomb, editor, Prentice-Hall Networks Series, Prentice-Hall Inc., Englewood Cliffs, New Jersey, 1970.
[36] Kolman, B., Beck, R.E., Elementary Linear Programming with Applications, Second Edition, Computer Science and Scientific Computing, Academic Press, New York, 1995, 1980.
[37] Korfhage, R.R., Discrete Computational Structures, Second Edition, Academic Press, Inc., New York, 1984.
[38] Lasdon, L.S., Optimization Theory for Large Systems, The Macmillan Company, CoUier-Macmillan Limited, London.
[39] Lee, R.C.K., "Optimal Estimation, Identification and Control," Research Monograph No. 28, The M.I.T. Press, Cambridge, Massachusetts, 1964.
[40] Lee, D.I., Kumagai, S., Kodama, S., "Reachability Theorem for a class of Live and Safe Free Choice Nets," Paper, Special Issue on Petri Nets and Discrete Event Systems, lEICE Transactions, Vol. E74, No. 10, October 1991.
[41] Leondes, C.T., Editor, Advances In Control Systems, Theory And Applications, Volume 1, Academic Press, New York, 1964.
[42] Leveson, N.G., Stolzy, J.L., "Safety Analysis Using Petri Nets," IEEE Transactions on Software Engineering, Vol. SE-13, No. 3, March, 1987.
[43] Lindemann, C , Performance Modelling with Deterministic and Stochastic Petri Nets, John Wiley And Sons, New York, 1998.
[44] Matsumoto, T., Tarek, A., "A method for deciding the reachability of Petri nets by means of dynamic programming included linear programming," Technical Report oflEICE, Vol. 95, No. 46, pp. 1-8 (CST95-1)(1995-05).
[45] Matsumoto, T., Tarek, A., "Finding Legal Firing Sequence of Petri Nets by Means of Dynamic Programming Included Linear Programming Method," Proceedings of the 35th IEEE Conference on Decision and Control, pp. 4459-4468, Kobe, Japan (1996-12).
[46] Matsumoto, T., Tarek, A., "Finding Legal Firing Sequence in Basic Reachability Problems of Petri Nets by Minimum Principle of Pontryagin", Proceedings of the 10th Karuizawa Workshop on Circuits and Systems, Karuizawa, Nagano, Japan (1997-04).
186
[47] Mayer, E.W., "An Algorithm for the General Petri Net Reachability Problem," the 13th Annual ACM Symposium Conference Proceedings on Theory of Computing, pp. 238-246 (1981) or, SIAM Journal of Computing, Vol. 13, no. 3, pp. 441-460, August 1984.
[48] McCausland, I., Introduction to Optimal Control, John Wiley & Sons, Inc., 1969, Reprinted by Robert E. Krieger Publishing Company, Huntington, New York, 1977. B f J, 6 ,
[49] Moody, J.O., Antsaklis, P.J., Supervisory Control of Discrete Event Systems Using Petri Nets, Kluwer Academic Publishers, Boston, Massachusetts, 1998.
[50] Murata, T., Circuit Theoretic Analysis and Synthesis of Marked Graphs, IEEE Transactions on Circuits and Systems, Vol. CAS-24, No. 7, July, 1977.
[51] Murata, T., "Petri Nets: Properties, Analysis and Applications," Proceedings of the IEEE, 77(4), 1989.
[52] Munro, J.I., Ramirez, R.J., "Reducing Space Requirements for Shortest Path Problems," Operations Research, Vol. 30, No. 5, September-October 1982, Operations Research Society of America (ORSA), 1982.
[53] Murtagh,B..A., Advanced Linear Programming: Computation and Practice, McGraw-Hill International Book Company, New York.
[54] Murtv. K.G., Linear and combinatorial programming, John Wiley & Sons, New York," 1976.
[55] Nemhauser, G.L., Introduction to Dynamic Programming, John Wiley & Sons, Inc., New York, 1966.
[56] Peterson, J.L., Petri Net Theory and the Modeling of System, Prentice Hall, Englewood Cliffs, New Jersey, 1981.
[57] Pontryagin, L.S., Bottyanskii, V.G., Gamkrelidge, R.V., Mishchenko, E.F., The Mathematical Theory of Optimal Processes, Authorized Translation from the Russian, Translator: Trirogoff, K.N., Editor: Neustadt, L.W., Interscience Pub-Ushers, a division of John Wiley &: Sons, Inc., New York, 1962, Third Printing, September, 1965.
[58] Press, W.H., Teukolsky, S.A., Vetteriing, W.T., Flannery, B.P., Numerical Recipes in FORTRAN: The Art of Scientific Computing, Second Edition, Cambridge University Press, London, 1986, 1992, Computer Programs and procedures. Numerical Recipes Software, 1986, 1992.
[59] Proth, J.M., Xie, X., Petn A ets - A Tool for Design and Management of Manufacturing Systems, John Wiley &: Sons, New York, 1996.
[60] Ralston, A., Editor, Meek, C.L., Assistant Editor, Encyclopedia of Computer Science, First Edition, Petrocelli/Charter, New York, 1976.
[61] Ramamoorthy, C.V., Ho, G.S., "Performance Evaluation Of Asynchronous Concurrent Systems Using Petri Nets," IEEE Transactions On Software Engineering, Vol. SE-6, No. 5, September 1980, pp. 440-449, New Jersey.
187
[62] Reisig, W., Petri Nets, Springer-Veriag, Berlin, Germany, 1982.
^ ^ iQ^S^' ^ • ' ^ ^^^^^^ ^" P^i^ Net Design, Springer-Veriag, Beriin, Germany,
[64] Saaty, T.L., Mathematical Models of Operations Research, McGraw-Hill Book Company, Inc., Kogakusha Company, Ltd., Tokyo, 1959.
[65] Sedgewick, R., Algorithms in C++, Addison-Wesley Publishing Company, Reading, MA, 1991. & F J
[66] Sierksma, G., Linear and Integer Programming Theory and Practice, Mercel Dekker, Inc., New York, 1996.
[67] Sneyd, H.C., "Integer and Mixed Programming: theory and applications," Mathematics in Science and Engineering, 137.
[68] Sniedovich, M., Dynamic Programming, Pure and Applied Mathematics, A series of Monographs and Textbooks, Mercel Dekker, Inc., New York, 1992.
[69] Spouge, J.L., "Speeding Up Dynamic Programming Algorithms for Finding Optimal Lattice Paths," SIAM J. of Applied Mathematics, Vol. 49, No. 5, pp. 1552-1566, October, 1989.
[70] Tarek, -A., Matsumoto, T., "Solving Large Scale Petri Net Reachability Problems by Linear Programming Methods," Proceedings of 1996 International Symposium on Nonlinear Theory and its Applications, pp. 453-456, Kochi, Japan (1996-10).
[71] Tarek, A., Lopez-Benitez, N., "A Dynamic Programming-Based Method to Search Optimal Legal Firing Sequences of Petri Nets," in preparation.
[72] Tarek, -A., Lopez-Benitez, N., "An Effective Method for the Dynamic Search of Legal Firing Sequences of Large Petri Nets," accepted in the joint meeting of SCI 2001 and ISAS 2001, Oriando, Florida.
[73] Tarek, A., Lopez-Benitez, N., "Optimal Legal Firing Sequence of Petri Nets Using Linear Programming," Submitted to the Kluwer Journal.
[74] Tsuji, K., Murata, T., "Necessary and Sufficient Condition for Reachability of Extended Marked Graphs," Technical Report of lEICE, pp.109-116, CAS94-70, CST94-30, (1994-11).
[75] Tsuji, K., Murata, T., "On Reachability Conditions for Unrestricted Petri Nets," Proceedings of the 1993 International Symposium on Circuits and Systems, Volume 4 of 4, Networks, Systems and Applications, pp. 2713-2716.
[76] Zhou, M., Venkatesh, K., Modeling, Simulation, And Control of Flexible Manufacturing Systems, A Petri Net Approach, World Scientific, Series in Intelligent Control and Intelligent Automation, Vol. 6, World Scientific Publishing Co. Pte. Ltd., River Edge, New Jersey, 1999.
188