Critical path analysis programming method without network diagram

Project scheduling is an important task in project management which monitors the project duration, resource utilization and affects the benefit of project for all kinds of project such as construction, IT, renewable energy, product design and manufacturing etc. Among many methods for project management, critical path method (CPM) is one of the better-known planning and control techniques in project scheduling. In this study, CPM-based computerized program was developed together with modeling of step by step calculations of parameters of interest such as earliest starts and finishes, slack and float times of project activities resulting in determination of critical path for the project. One advantage of computer implementation of CPM using MATLAB in this study is that unlike conventional method, it eliminates necessity to conventionally draw network diagram to perform critical path analysis.

widely used to assist managers, and these two techniques give considerable benefit to decision makers. These two methods are also the first major computerized project management decision support systems (DSS) [21,22,23,24,25]. PERT and CPM were outgrowths of the new discipline of project management, in which PERT, developed in the late 1950's, was first initiated by the US Navy to plan and control the Polaris missile program to have shortest possible completion time, and the first attempt for CPM was in DuPont company in 1956 [11,14,15,16,17,18].
In this study, computer program for determining critical path based on CPM is developed. CPM provides parameters of activities including earliest starting time, latest starting time, earliest finish time, latest finish time, maximum available time and slack time [2,8,9]. Since CPM and PERT are traditional methods, they have some disadvantages such as the need to draw network diagram to determine the minimum project duration. To overcome these, several models such as vertical method, linear scheduling method and time scheduling method have been introduced for scheduling of construction projects [18,19]. CPM and PERT techniques can also be blended with fuzzy logic and earned value technique [20]. One of the main differences in CPM and PERT is a probabilistic model with uncertainty in activity duration, but CPM is a deterministic model. The most important benefit of the CPM deterministic assumption may be facilitating the use of optimization models for trading off time and cost [24] and for sequencing [21,26,27]. In agricultural projects, network models also have been used as planning and project controlling techniques [2,6,7]. This study focuses on the development of computer program which can find critical path for the project without the need to draw network diagram by using MATLAB program.

II.
Methodology and Terms CPM mainly includes forward pass and backward pass calculation to get parameters of activities including earliest, latest time and flexibility of path. Earliest start and earliest finish time for each activity within the network are usually first computed by forward pass and latest finish and start time are by backward pass [2]. To perform this, it generally needs to have network diagrams to show logical relationships between activities usually represented by arrow and node formats. In this study, calculation methods based on CPM are based and programming approach without network diagram to be followed is presented in detailed calculations.
Here is an example project in design and producing component to consider logical sequence of activities: finishing component development (A), design marketing programme (B), design production system (C), selecting advertising media (D), initial production run (E) and releasing component to market (F). In these six activities, it is relevant that activity A should be the first step which is the earliest starting activity. Activity A is the predecessor activity for B and C. B is the follower activity of D. E should be after C and F should be before D and E.
Duration of each activity is known or estimated, and project duration is unknow to be solved for and it has to cover all these activities. Interested parameters are the critical path and its duration, minimum or longest duration to complete the entire project, and knowledge of these will help to check the actual progress against the scheduled duration of the project. The activities in critical path are critical activities, and if there is any delay in its start, further delay will result in project completion time. So, these are in critical conditions. Some activities can be delayed for some time without causing any delay in completion the entire project. These activities are called non-critical activities. The allowed interval of delay time is known from earliest and latest time of start and end for each activity. Therefore, these parameters of information are useful for project management in (1) avoiding any delay in critical activities or tasks to prevent delay in project completion, and (2) shifting start time for any cause in some non-critical activities without affecting entire project completion time. This sample sequence of activities will be determined by using CPM by logically sequencing them in MATLAB script in order to automatically execute and display the result based on the activity sequence and normal time of each activity.

III. Calculation Steps Procedure
The following procedure is applied to determine the critical path: 1. Normal time consumed by each task or activity involved in a project are estimated or assigned.
2. Follower activities for each activity are listed based on the logical sequence of problem or project.
3. All paths including respective activities to complete the project are listed based on the data from step (2). 4. Earliest finish time for each activity is calculated.
5. Earliest start time is acquired by earliest finish time and normal time of each activity.
6. Latest finish time for each activity is calculated. 7. Latest start time is achieved by latest finish time and normal time of each activity.
8. Total float is calculated and critical path is decided.

IV. Detailed Procedure for Each Step
Six activities A to J in sample problem are logically arranged as follows: A < D,E ; B,D < F ; C < G ; B,G < H ; F,G < I where, the sign < means "precedes".

IV.I
Step 1: Assigning Normal Time Normal time for each activity (A to J) is a known parameter based on the experience of performing task before, in actual. Here, normal time (in days) is assigned as follows in Table 1.

IV.II
Step 2: Logical Sequence of Activities Logical sequence is now arranged as in Table 2 based on the data given in this example.

IV.III Step 3: All Paths to Complete Project
Firstly, it needs to find the activities of initial start which are not listed in the followers by the aid of result in step (2). In this case, activities A, B, C and J are not included in the followers list, so they are initial starters. Some starters alone may be one of the paths which means that some of them do not have followers and become paths involved itself alone. Activities which do not have followers are E, H, I and J. So, among initial starters (A, B, C and J), J becomes first end path containing only one activity itself. Then, other three starters remain to be continued. For starter

A, it forms instant two groups of path A-D and A-E (D and E are followers of A). For first group of A-D path, activity F which is a follower of last activity D, transforms one new path A-D-F. Then, for A-D-F path, F has follower I which gives A-D-F-I path. For A-D-F-I path, last activity I has no follower so it becomes second end path A-D-F-I.
Then for second group of path AE, E has no follower activity, so it terminates and becomes third end path. Like for starter A, B and C are traced by logical sequence. Finally, after all starter activities, all paths to be performed to complete entire project are achieved. These results are shown in Table 3.

IV.IV Step 4: Earliest Finish Time (EFj)
Earliest finish time is the time for an activity which should be finished as the earliest. Earliest finish time for each activity is calculated based on forward calculation. For each activity, the paths containing specific activity are extracted. Then, sum of normal time for the activities from start to till specific activity (including itself) is calculated for each extracted path. Then, maximum sum of normal time for extracted activities becomes earliest finish time EF for specific activity j.
As  Table 4.

IV.V Step 5: Earliest Start Time (ESj)
Earliest start time is the time for an activity which should be started as the earliest. The earliest start time for each activity is just the difference between EFj and normal time of specific activity j.

IV.VI Step 6: Latest Finish Time (LFj)
Latest finish time is the time for an activity which should be finished as the latest. Latest finish time calculation for each activity is based on backward calculation. Firstly, maximum path duration from step 3 is determined. 67 days will be maximum path duration for this project.
Then, for each activity, the paths contained specific activity are extracted like in EFj calculation. Unlike this, starting from activity beyond specific activity to the last activity of each path, sum of normal time of these activities is calculated for each path. Among them, maximum sum time is differenced from maximum path duration. This difference becomes the latest finish time LFj for specific activity j and activity A, as an example, is processed in Table 5.

IV.VII Step 7: Latest Start Time (LSj)
Latest start time is the time for an activity which should be started as the latest. The latest start time for each activity is just the difference between LFj and normal time of specific activity j.

IV.VIII Step 8: Total Float (TF�) and Critical Path
Total float of an activity expresses the amount of time by which an activity can be delayed without delay in completing the project. It is the difference between latest start time (ESj) and earliest start time (ESj ) or between Latest finish time (LFj) and Earliest finish time (EFj) for specific activity j.

V.
Programming By MATLAB All the steps shown in above are programmed using MATLAB in order to automatically get the results depending upon the change in input of logical sequence and normal duration of activities.

Results
The results in Table and Excel   In Figure 1, it can be seen that A-D-F-I is the critical path and the result is also validated by the conventional method with network diagram. Delay of any activity in this critical path will cause further delay in project completion time. In addition, free float and independent float for each activity can also be computed by considering its influence on delay time of another activity of sequence. Both free and independent float are the portion of total float and represent the time in which an activity can be manipulated without affecting the float of subsequent activities and can be delayed for start without affecting floats of the preceding activities respectively. Figure 2 shows the results in Excel sheet and also includes all paths to complete the project together with each path duration. There are total 7 paths and activity sequence for each path is also presented in the result. Out of all paths, critical path A-D-F-I has the longest path duration of 67 weeks.

Conclusion
Project scheduling and control is a key factor in successful project management. If delayed or exceeded the deadline of the project, there will have negative financial consequence and will degrade the benefits of the project. The results obtained by CPM will assist the user in an effective manner realizing the relationships between the activities in the project and having the idea on the progress along the project duration. The delay in any activity on the critical path will delay overall project duration. The possible delayed time for other activities will also be obtained from the results by CPM. In this study, MATLABbased computer program was developed to determine what task or job or activity should be delayed or not and when they should be started as the earliest, latest and should be finished as the earliest, latest. It was also suggested to use the developed program to perform critical path analysis without needing to draw diagram of network. For this purpose, step-by-step procedures for calculation were also presented. Future research should also focus on generating network diagram and presenting critical path with graphical presentation such as MATLAB GUI. This would further highlight the significance of this proposed method in realizing its application in managing projects and finding possible flexibility particularly construction, manufacturing and renewable energy implementation projects.