Applying Petri Nets on Project Management

Project management methodologies have been the most utilized management tools in today’s industry and the Critical Path Method considers the logical dependencies between related activities that may have to share common resources. This method has then been expanded to allow for the identification of resource-constrained activities and the size of those resources. They are usually called activity-based resource assignments and leveling. However, once the number of resources increases, it becomes more and more difficult to draw the corresponding graph/network and explore the resource-constrained critical path. Therefore, in order to solve a multiple-resource-constrained project, the Petri Nets theory is introduced for modeling those resource sharing processes. Because Petri nets is commonly used for modeling the dynamic behavior of discrete systems, it is intended in this research to apply Petri net theory in modeling and analyzing complicated projects with multiple resource constraints. Furthermore, analysis on the size of each resource for performance enhancement can then be done by changing the numbers of tokens in each of the resource places that were added for resource constraints. Cost analysis has to be reconsidered since the additions of resources constraints will alter the original schedule of each activities and increase the duration of the project. Activity crashing may have to be done that shifts more resources towards required activity and results in decreased project duration.


Introduction
Critical Path Method (CPM) and Program Evaluation and Review Technique (PERT) are the two most commonly used tools which can be used with all kinds of projects, including manufacturing, construction, software development, research projects, product development, engineering, and plant maintenance, among others. Any project with interdependent activities can apply these methods of mathematical analysis. The original CPM considered only logical dependencies between related activities that may have to share common resources. The method has then been expanded to allow for the identification of resource-constrained activities and the size of those resources.
In Kelley and Walker [1], a large engineering project involves almost all the engineering and craft skills as well as the functions represented by research, development, design, procurement, construction, vendors, fabricators and the customer.
Peterson [2], [3] and Murata [4] has developed properties, concepts, and techniques of Petri nets for a search of natural, simple, and powerful methods in describing and analyzing the flow of information and control in systems, particularly systems that may exhibit asynchronous and concurrent activities. A.G. Colombo and A. Saiz de Bustamante [5] have defined Timed PN (TPN) as a marked PN in which a set of specifications are provided and a set of rules are defined such that to each legal execution sequence, a timed execution sequence can be univocally associated. Because the number of different schedules grows very quickly with the number of machines as well as the length of the schedule, colored Petri nets were proposed by Zuberek [6] as a uniform representation of entire classes of schedules. Kumar and Ganesh [7] have presented oversights that may be due to the inadequacy of the traditional models to represent these factors effectively.
In the context of research by Chetty and Reddy [8], the benefits of PNs were presented. Chang-Pin Lin and MuDer Jeng [9] have developed unique methodology in performing integration at today's manufacturing environment by creating a common, modular, flexible, and integrated object model that unifies an advanced object-oriented architecture concept and heterogeneous manufacturing application development in an open and multi-supplier manufacturing environment. [10,11] Time management in Pedro and Silva [12] is a critical component of workflow-based process. Important aspects of time management include: the planning for the workflow process execution on time, estimating workflow execution duration, avoiding deadline violations, and satisfying all time constraints specified. Latif Salum [13] presented Timed PNs to model event duration that improves the current analysis techniques and overcomes these difficulties. Ismail, Rashid and Hilo [14] have indicated that a traditional CPM schedule is not realistic since it assumes 250 Applying Petri Nets on Project Management unlimited resources, some of which are highly limited in practice.
An enhanced project management methodology has been developed in order to handle multiple limited resources which have become more and more important in complicated large projects. The existing and newly developed analysis tools for Petri net can be applied to achieve this goal by converting CPM network to its corresponding Petri net model in which the resource constraints could be added into the project model. However, the addition of resource constraints will increase the project duration, it is then necessary to apply cost analysis by increasing the number of each resource type and by crashing the duration of each activity. Analysis on the size of each resource for performance enhancement can be done by increasing the numbers of tokens in each of the resource places being added for resource constraints. Corresponding cost analysis should be done to determine the most cost effective resource. Activity crash may have to be determined that is achieved by shifting more resources towards the completion of that activity, resulting in decreased time spent and often a reduced quality of work, as the premium is set on speed.

Critical Path Method and Petri Nets
The essential technique for using CPM is to construct a model of the project that includes the following: 1. A list of all activities required to complete the project, 2. The duration that each activity will take to completion, and 3. The precedence relationships between all activities.
Using these values, CPM calculates the longest path of planned activities to the end of the project, and the earliest and latest that each activity can start and finish without making the project longer. This process determines which activities are "critical" (i.e., on the longest path) and which have "total float" (i.e., can be delayed without making the project longer).
Petri net theory consists of a graphical tool for modeling systems dynamic behavioral and a set of mathematical theorems to analyze their behavioral and structural properties.
M o is a set of token values defined on P and is called the initial marking.
Definition 2: A Petri net graph contains three basic entities: Circles represent places (conditions), Bars represent transitions (events), and Arcs represent input and output incidence functions. A place represents one and only one proposition and a transition represents a transformation function. Marking is represented by Tokens which are shown as dots in places.
Definition 3: Petri net transition firing rule is defined as follows: Transition t j is enabled and ready to be fired if: (2) An enabled transition can be fired according to the occurrence of the actual event on the transition.
The mathematical formulation of transforming an initial marking M o into a new marking M by firing a set of enabled transitions is shown as in Eq. 2, where y is a transition firing vector. Timed Petri Net (TPN) is a time extension of the classical Petri net model that allows for explicit treatment of real-time, which is associated usually with the transition in the net and represents the time intervals to be used in order to fire the respective transition. They can also be used to obtain production rates, throughput, average delays, critical resource utilization, reliability measures, and so on when the time variables are random.

Conversion between Petri net and CPM Network
The conversion rules to transform CPM network into Petri net as shown in Fig. 1 which include: 1. Burst node which creates several transitions, one for the burst purpose from one place into multiple places, and the others represent the underlying activities; 2. Merge node which also creates several transitions, one for the merge purpose from multiple places into one place, and the others represent the underlying activities.

Addition of Resource Constraints
Petri nets incorporate Resource constraints for the designated project by adding resource places into the graph of CPM. The number of each resource type can then be represented by the number of tokens in each of the resource places. The duration of each activity is presented by the time consumption for the transition which is converted from the activity in the corresponding CPM. The resource sharing is represented by the connected arcs from and to the resource place with the transitions that share the same resource.

Methodology and Case Study
The main objective of research is to develop a methodology in order to extend the traditional project management tool for multiple resource constrained projects that are the quite common in today's project analysis, especially in the areas of construction management, manufacturing process planning, and etc. Steps in the proposed methodology is presented as follows.
Step 1.Apply traditional CPM methodology to draw the project network, compute all the basic timely factors, including ES, EF, LS, LF, TF, and find the critical path of the project network with all the critical activities.
Step 2.In order to consider multiple resource constraints in managing the project, the CPM network will firstly be converted into corresponding Petri net by the rules of conversion. Furthermore, the resulting Petri net has to be verified by applying structural analysis algorithm and the computation of make span in Timed Petri net.
Step 3.Next, the required resource constraints should be added into the Petri net which will then create one conflict in the net for each resource constraint. Repeat this step for each of the resource constraint.
Step 4. In order to find the actual critical path of the project, it is then necessary to convert the Petri net model back to the CPM model with the considerations of sequence for conflict activities. Once converted, the CPM network can be reanalyzed to discover the actual critical path and the associated critical activities.
Step 5. Finally, in order to carry out necessary reductions on the project make span, the process to crash critical activity one by one based on their limited crashing time has to be done. Cost analysis for activity crashing will be executed to obtain the possible crashing time and its corresponding crashing cost for the project management, and the results will be quite different from the traditional CPM cost analysis without considerations of resource constraints.
For the demonstration purpose, one simple case was used to present the feasibility of the proposed methodology and the importance of the results for decision making. The project being shown as in Fig. 2 is a case for implementing a Robot/Conveyor system which involve 7 (A, B, C, D, E, F, G) primary activities and the required precedence relationships between them. In additions, 2 types of limited resources are introduced to represent the possible sharing of required resource among activities as listed in Table I.  First, the traditional CPM that does not consider resource sharing is applied and the Early Start(ES), Early Finish(EF), Late Start (LS), Late Finish(LF), Total Float(TF) times are computed through forward and backward processes. The cirtical path can then be determined to be B-D-G with critical activities of zero TF.
Existing method for resource sharing was then applied for single resource constraint. It shows the move of schedule due to the resource sharing among activities C, D, and E that increases the total project duration from 11 days for none resource constraint to 12 days for single resource constraint.
In order to consider multiple resource constraints in managing the project, the CPM network will firstly be converted into corresponding Petri net by the rules of conversion. Furthermore, the resulting Petri net has to be verified by applying structural analysis algorithm and the computation of make span in Timed Petri net. Burst node will create several transitions, one for the burst purpose from one place into multiple places, and the others represent the underlying activities. Merge node will also creates several transitions, one for the merge purpose from multiple places into one place, and the others represent the underlying activities. The converted Petri net from the CPM in Fig. 2 is shown as in Fig. 3(A).  The use of Fig. 3(B) after the conversion increases Resource constraint graph for the example, this example of connecting three Transition Resource constraint were Transition3, Transition6, Transition8, in the absence of restrictions under what conditions there are many paths to go. A path Transition3 → Transition8 → Transition6 were obtained for the shortest project duration.
Studies in this sample case consider only one unit for each resource type, therefore the activities sharing the same resource have to be executed sequentially instead of in parallel. In additions, the resource sizes for each resource type should be increased to find their effects on the project duration and the cost effectiveness in the increasing number of resources. Accordingly, the number of each resource can not be higher than the number of activities (transitions) sharing this type of resource, otherwise, it becomes no resource constraint. In order to show the changes by increasing the number of each resource type, the reachable markings of the Petri net model is listed in Table 2 by the executing time.  In order to justify the effectiveness of increasing numbers of token in each resource type, it is necessary to carry out cost analysis. The expected benefit for the sample project is 1 million with no resource constraint. By increasing the number of resource constraints, the benefit will decrease accordingly as shown in Table 3. The cost for one type one resource is 50 thousands and for type two resource is 80 thousands. The cost is 15 thousands for each day which was delayed. The considerations of cost include inventory, raw material, equipment maintenance and etc. The best combination of resource numbers between resource type one and two is 1/2 which will provide the highest benefit for the project management.

Conclusion
A new project management methodology based on Critical Path Method and Petri net theory was developed in order to handle multiple limited resources which have become more and more important in complicated large projects. Conversion rules between CPM and Petri net were developed to create the Petri net model for the additions of resource constraints into the project model. Petri net structural properties verification analysis can then be applied to verify the correctness of the network model. Once the Petri net model was built, the reachability analysis can be carried out to obtain the optimal resource sharing sequence which will achieve the shortest project duration with the existing limited resources. Furthermore, analysis on the numbers of each resource types for performance enhancement can be done by increasing the numbers of tokens in each of the resource places being added for resource constraints. Corresponding cost analysis should be done to determine the most cost effective resource. The critical path for the project by considering the resource constraints can then be found by converting the Petri net model back to CPM network with additional precedence activities and apply the necessary reduction rules. The modified CPM network can then be used to find the right critical path and critical activities which require more attentions for project management. Results through the case study show the feasibility of the proposed methodology and the value of the Petri net analysis algorithm. Multiple resource constrained project can then be analyzed more effectively and correctly for best project management. Future work can be focused on the cost analysis between resource numbering and activity crashing which will provide the project manager a more effective alternative to shorten the project duration.