首页    期刊浏览 2024年11月30日 星期六
登录注册

文章基本信息

  • 标题:Development of software package based on the mathematical graph theory for more efficient project management.
  • 作者:Majstorovic, Vlado ; Rakic, Kresimir ; Glavas, Marijana Bandic
  • 期刊名称:Annals of DAAAM & Proceedings
  • 印刷版ISSN:1726-9679
  • 出版年度:2009
  • 期号:January
  • 语种:English
  • 出版社:DAAAM International Vienna
  • 摘要:In terms of the increasing division of labor and specialization, planning and management projects becoming more complex. Coordination of the participants in performing the business task is of great importance and decisive impact on the efficiency of its execution. Integrated observing of execution of business project provides significantly better planning of implementation process and increases the efficiency of managing these projects. Network planning methods have the advantage compared to other methods which have complete look at the process of business project realization, because they provide a clear enough view of realization of the entire work, unambiguous view of logical course of mutual dependence of parts and processes, more precisely and more accurately determine parts of the project deadlines and the project as a whole as well as they determine the most burdened path from time aspect (Andrijic, 1982).
  • 关键词:Graph theory;Industrial project management;Product development;Project management;Software

Development of software package based on the mathematical graph theory for more efficient project management.


Majstorovic, Vlado ; Rakic, Kresimir ; Glavas, Marijana Bandic 等


1. INTRODUCTION

In terms of the increasing division of labor and specialization, planning and management projects becoming more complex. Coordination of the participants in performing the business task is of great importance and decisive impact on the efficiency of its execution. Integrated observing of execution of business project provides significantly better planning of implementation process and increases the efficiency of managing these projects. Network planning methods have the advantage compared to other methods which have complete look at the process of business project realization, because they provide a clear enough view of realization of the entire work, unambiguous view of logical course of mutual dependence of parts and processes, more precisely and more accurately determine parts of the project deadlines and the project as a whole as well as they determine the most burdened path from time aspect (Andrijic, 1982).

Recognizing the need for continued specialized software solutions for computer-aided project management, we are going to create an comprehensive software package that will enable us faster and more efficient operation in the future. Despite the existence of similar software packages, we decided for this step because of the need for concrete customizing software solutions to real problems that we encounter every day.

2. MAIN IDEA

Noticing a strong correlation between the concepts of network planning and concepts of mathematical graph theory, along with a detailed study of the many algorithms used in graph theory, we concluded that the mentioned algorithms can very effectively used to solve specific problems encountered in project management.

The basis of network planning is the network diagram that consists of activities, or parts of projects, which can be considered as separate entities from the feasibility and economic point of view, and events, or moments of time where one or more activities begin or end. Each activity, as well as the entire project, has a initial event and final event. An activity which initial event is i, and final event is j we will mark as [A.sub.ij] (Majstorovic, 2001). Each network diagram must meet the following requirements:

* there is only one initial and one final event of the project;

* there is at least one path from the initial to the final event of the project;

* for each event there is at least one path to the final event of the project;

* the existence of cycles is not allowed.

In terms of graph theory, graph vertices represent the events, and its edges represent project activities. Due to the lack of multiple arcs and loops, the network diagram is a strict, directed graph D (Veljan, 2001). Therefore, in our analysis, we can apply all the known algorithms from mathematical graph theory that will help us in solving our tasks.

To illustrate the usability of these algorithms in this paper we describe the application of well-known Floyd-Warshall algorithm for finding the critical path (CPM--Critical Path Method) in project time analysis. In this analysis, each activity is associated with a numeric value that represents its duration. From the standpoint of graph theory, these numerical values can be interpreted as a weight value of edges, so in this case, the network diagram is an strict weighted directed graph D, which is very suitable for performing the aforementioned Floyd-Warshall's algorithm

3. MODIFIED FLOYD-WARSHALL ALGORITHM

Original Floyd-Warshall algorithm compares all possible paths through the strict weighted directed graph D between each pair of vertices (Cormen et al., 2001). If we assume that a strict weighted directed graph has no negative cycles, and network diagram for time analysis is just such a graph, Floyd-Warshall algorithm finds the shortest path between each pair of vertices in a single passage.

Considering that the longest path between initial and final vertex of network diagram, as well as paths between all pairs of internal vertices (due to possible multiple critical paths between any pairs of nodes), is crucial for determination of critical path, we will modify the Floyd-Warshall algorithm to find the longest paths between vertices instead of the shortest ones. First we will describe modified Floyd-Warshall algorithm for finding critical paths in the network diagram.

Let D be strict weighted directed graph and let [V.sub.D] = {[v.sub.1], [v.sub.2], ..., [v.sub.n]} be set of n vertices of graph D, insome order. We will define an recursive function LongestPath(i, j, k):

LongestPath(i, j, k) = Maximal(LongestPath(i, j, k-1), LongestPath(i, k, k-1) + LongestPath(k, j, k-1)); LongestPath(i, j, 0) = ArcWeight(i, j);

for which we claim that, as a result, returns the longest possible path starting at the vi and ending at the [v.sub.j], using only the vertices [v.sub.1], ..., [v.sub.k] as an intermediate points along the path.

The basis of the algorithm is an adjacency matrix W(D) of weighted directed graph D, which gives us the value of the function ArcWeight(i, j) for all vertices pairs ([v.sub.i], [v.sub.j]). Algorithm for finding the longest path between each pair of peaks is carried out in n steps.

The proof of correctness of the basics of Floyd-Warshallovog algorithm, that is the above recursive formula LongestPath(i, j, k), is carried out with an mathematical induction, according to the cardinal number k of vertices set {[v.sub.i], [v.sub.2], [v.sub.k]} e VD, which are used as an intermediate points along the path.

Basis: For k = 0 set of vertices that we use as an intermediate points along the path is an empty set. Thus, the longest path beginning at the [v.sub.i] and ending at the [v.sub.j], which does not contain any vertex as an intermediate point, is either equal to the weight of arc starting at the [v.sub.i] and ending at the [v.sub.j], if this arc exists, or it is not defined (i.e. has value [infinity]) if there is no such arc. Those are the exact values that we can find in adjacency matrix W(D), or, in other words, the return values of function ArcWeight(i, j). This proves induction basis.

Assumption: We assume that the recursive function LongestPath (i, j, k) returns the longest possible path starting at the vi and ending at the vj, using only vertices [v.sub.i], ..., [v.sub.k] as an intermediate points along the path.

Inductive step: Let us prove the claim for k+1. Therefore, we are looking for the longest possible path starting at the v' and ending at the [v.sub.j], using only the vertices from the set {[v.sub.1], [v.sub.2], ..., [v.sub.k], [v.sub.k+i]} as an intermediate points along the path. There are two candidates for this path: it's either the path which uses only the vertices from the set {[v.sub.1], [v.sub.2], ..., [v.sub.k]} and [v.sub.k+i] is not used, or there is an longer path that goes from [v.sub.1] to [v.sub.k+i], and further from [v.sub.k+i] to [v.sub.j]. We know that the longest possible path from [v.sub.i] to [v.sub.j] that uses only vertices [v.sub.i], ..., [v.sub.k] is determined by function LongestPath(i, j, k). It is also obvious that, if there is a longer path from [v.sub.i] to [v.sub.j] through the vertex [v.sub.k+i], then its length is the sum of the longest paths from [v.sub.i] to [v.sub.k+1] and from [v.sub.k+1] to [v.sub.j] (using only the set of vertices {[v.sub.1], [v.sub.2], [v.sub.k]}). Therefore:

LongestPath(i, j, k+1) = Maximal(LongestPath(i, j, k), LongestPath(i, k+1, k) + LongtestPath(k+1, j, k));

which proves the inductive step.

Since both the basis and the inductive step have been proved, it has now been proved by mathematical induction that our formula holds for all natural n. Q.E.D.

4. IMPLEMENTATION EXAMPLE

Functioning of the Floyd-Warshallov algorithm for finding critical times in the project time analysis we will show using the following network diagram.

[FIGURE 1 OMITTED]

The final results of modified Floyd-Warshall algorithm are the longest paths between each pair of vertices of strict weighted directed graph D. In the terminology of network planning these numerical values represent the earliest beginnings of the project activities.

The next step is to determine the latest beginnings of project activities. For this purpose, we observe the network diagram starting from the final event and all the activities in the reverse direction, which is achieved by transforming the adjacency matrix.

[FIGURE 2 OMITTED]

We get the values of the latest beginnings by detracting the results of Floyd-Warshall algorithm from the value of the earliest start of the final event. Final results will be as the following figure:

[FIGURE 3 OMITTED]

Critical project activities are those activities in which have the same earliest and latest start (Heldman & Cram, 2004). In our example, those activities are [A.sub.13], [A.sub.36], [A.sub.67] and [A.sub.78] (marked with thicker arrows), and they form a critical path in time analysis of observed project.

5. CONCLUSION

The presented problem is a simple example of finding unique critical path in project time analysis. Used the modified Floyd-Warshall algorithm also allows the determination of multiple critical paths, due to the fact that it determines the longest paths between each pair of vertices, not only between the initial and final vertex. Once we determine the critical project activities, we can determine all the critical paths in a way that for every internal vertex of critical path (excluding initial and final vertex), verify the existence of an alternative critical paths from the initial vertex to the observed one, which does not pass all previously tested internal vertices of critical path.

This way of finding the critical path will be a basis of software package, which we plan to develop. In this direction we face our further work.

6. REFERENCE

Andrijic, S. (1982). Matematicke metode programiranja u organizacijama udruzenog rada (Mathematical Methods of Programming in Organizations of Associated Labor) Svjetlost, ISBN, Sarajevo

Cormen, T.H.; Leiserson, C.E.; Rivest R.L. & Stein C. (2001). Introduction to Algorithms, 2nd Edition, The MIT Press, ISBN 0-262-03293-7, Cambridge

Heldman, W. & Cram, L. (2004). IT Project +, Sybex, ISBN 07821-4318-0, San Francisco-London

Majstorovic, V. (2001). Production and Project Management, DAAAM, ISBN 3-901 509-23-2, Mostar-Wien

Veljan, D. (2001). Kombinatorna i diskretna matematika (Combinatorial and Discrete Mathematics), Algoritam, ISBN 953-6450-74-7, Zagreb
联系我们|关于我们|网站声明
国家哲学社会科学文献中心版权所有