# Engineering process model: Detection of cycles and determination of paths

Thesis (MScEng (Civil Engineering))--University of Stellenbosch, 2006.

Thesis

In order to plan the engineering work of large construction projects efficiently, a model of the engineering process is required. An engineering process can be modelled by sets of persons, tasks, datasets and tools, as well as the relationships between the elements of these sets. Tasks are more often than not dependent on other tasks in the engineering process. In large projects these dependencies are not easily recognised, and if tasks are not executed in the correct sequence, costly delays may occur. The homogeneous binary relation “has to be executed before” in the set of tasks can be used to determine the logical sequence of tasks algebraically. The relation can be described by a directed graph in the set of tasks, and the logical sequence of tasks can be determined by sorting the graph topologically, if the graph is acyclic. However, in an engineering process, this graph is not necessarily acyclic since certain tasks have to be executed in parallel, causing cycles in the graph. After generating the graph in the set of tasks, it is important to fuse all the cycles. This is achieved by finding the strongly connected components of the graph. The reduced graph, in which each strongly connected component is represented by a vertex, is a directed acyclic graph. The strongly connected components may be determined by different methods, including Kosaraju’s, Tarjan’s and Gabow’s methods. Considering the “has to be executed before” graph in the set of tasks, elementary paths through the graph, i.e. paths which do not contain any vertex more than once, are useful to investigate the influence of tasks on other tasks. For example, the longest elementary path of the graph is the logical critical path. The solution of such path problems in a network may be reduced to the solution of systems of equations using path algebras. The solution of the system of equations may be determined directly, i.e. through Gauss elimination, or iteratively, through Jacobi’s or Gauss-Seidel’s methods or the forward and back substitution method. The vertex sequence of an acyclic graph can be assigned in such a way that the coefficient matrix of the system of equations is reduced to staggered form, after which the solution is found by a simple back substitution. Since an engineering process has a start and an end, it is more acyclic than cyclic. Consequently we can usually reduce a substantial part of the coefficient matrix to staggered form. Using this technique, modifications of the solution methods mentioned above were implemented, and the efficiency of the technique is determined and compared between the various methods.