Abstract
This paper suggests a critical path search algorithm that can easily draw PERT/GANTT chart which manages and plans a project schedule. In order to evaluate a critical path that determines the project schedule, Critical Path Method (CPM) is generally utilized. However, CPM undergoes 5 stages to calculate the critical path for a network diagram that is previously designed according to correlative relationship and execution period of project execution activities. And it may not correctly evaluate $T_E$ (The Earliest Time), since it does not suggest the way how to determine the sequence of the nodes activities that calculate the $T_E$. Also, the sequence of the network diagram activities obtained from CPM cannot be visually represented, and hence Lucko suggested an algorithm which undergoes 9 stages. On the other hand, the suggested algorithm, first of all, decides the sequence in advance, by reallocating the nodes into levels after Breadth-First Search of the network diagram that is previously designed. Next, it randomly chooses nodes of each level and immediately determines the critical path only after calculation of $T_E$. Finally, it enables the representation of the execution sequence of the project activity to be seen precisely visual by means of a small movement of $T_E$ of the nodes that are not belonging to the critical path, on basis of the $T_E$ of the nodes which belong to the critical path. The suggested algorithm has been proved its applicability to 10 real project data. It is able to get the critical path from all the projects, and precisely and visually represented the execution sequence of the activities. Also, this has advantages of, firstly, reducing 5 stages of CPM into 1, simplifying Lucko's 9 stages into 2 stages that are used to clearly express the execution sequence of the activities, and directly converting the representation into PERT/GANTT chart.
본 논문은 프로젝트 일정을 계획하고 관리하는 PERT/GANTT 차트를 쉽게 그릴 수 있는 임계경로 탐색 알고리즘을 제안하였다. 프로젝트 일정을 결정하는 임계경로를 계산하기 위해 일반적으로 CPM (Critical Path Method)이 적용되고 있다. 그러나 CPM은 프로젝트 수행 활동들의 수행 기간과 상호 의존 관계에 따라 초기에 작성된 네트워크 다이어그램에 대해 임계경로를 계산하는데 5 단계를 수행하며, $T_E$ (The Earliest Time)을 계산하는 노드 (활동)들의 순서를 결정하는 방법을 제시하지 않아 특정 노드의 $T_E$를 정확히 계산하지 못할 수도 있다. 또한, CPM으로 얻은 네트워크 다이어그램의 활동들의 수행 순서가 시각적으로 명확히 표현할 수 없어 Lucko는 9 단계를 거치는 알고리즘을 제안하였다. 반면에, 제안된 알고리즘은 먼저, 초기에 작성된 네트워크 다이어그램에 대해 너비우선 탐색으로 노드들을 레벨로 재배치하여 수행 순서를 사전에 결정한다. 다음으로, 각 레벨에 속한 노드들을 임의로 선택하여 $T_E$를 계산하는 단계만을 거쳐 임계경로를 즉시 결정한다. 마지막으로, 각 레벨에서 임계경로에 속한 노드들의 $T_E$를 기준으로 임계경로에 속하지 않은 노드들의 $T_E$에 따라 약간의 이동으로 프로젝트 활동들의 수행 순서를 시각적으로 명확히 표현하도록 하였다. 제안된 알고리즘은 10개의 실제 프로젝트 데이터에 대해 적용성을 검증하였다. 제안된 알고리즘은 모든 프로젝트에서 임계경로를 구할 수 있었으며, 활동들의 수행 순서를 시각적으로 명확히 표현하였다. 또한, 제안된 알고리즘은 CPM의 5단계를 1단계로 단축시키는 장점과 더불어 활동들의 수행순서를 명확히 표현하기 위한 Lucko의 9 단계 수행 과정을 2단계로 간단히 하였으며, PERT/GANTT 차트로 즉시 전환시킬 수 있는 장점도 갖고 있다.