Schedula Anima: Dynamic Visualization of Gantt Charts and Resource Usage Graphs in Project Scheduling. (2025)

Author(s): Alexander Maravas (corresponding author) [*]; John-Paris Pantouvakis (corresponding author) [*]

1. Introduction

Project scheduling is one of the most essential tasks in construction and project management. To a great extent, the well-established scheduling algorithms of the critical path method (CPM) [1,2,3] and the program evaluation and review technique (PERT) [4,5] currently dominate industrial practice today. Additionally, there have been significant developments in applying fuzzy set theory to scheduling problems after the initial work of Prade [6] and Chanas and Kamburowski [7], who presented a fuzzy version of PERT.

In all scheduling methods, bar charts are essential tools for viewing and understanding the results of scheduling algorithms. The Gantt chart, named after Henry Gantt (1861–1919), is a bar chart that illustrates a project schedule [8,9,10]. Gantt charts are not solution techniques, but they facilitate communications between the analyst and user and provide a powerful method for implementing interactive approaches to scheduling. They have found a role in giving a readily valuable interface, allowing users to define problems and better understand and accept solutions [11]. After their introduction, there have been a few developments over the ages. In addition to activity duration, Gantt charts also show activity dependency relationships, current project status, and float. Also, a different color is used to highlight critical activities. However, in their analysis of Gantt charts, Geraldi and Lechter [12] concluded that there is room for developing other visualization tools. Most importantly, examining a Gantt chart as a single snapshot limits our ability to understand the dynamic nature of the schedule and visualize how activity float is consumed throughout a project or how resources are utilized.

In seeking the etymology of the word ‘schedule’, we see that it derives from the Late Latin schedula, ‘strip of paper’, diminutive of Latin scheda, scida ‘one of the strips forming a papyrus sheet’, and from Greek skhide ‘splinter’, from the stem of skhizein ‘to cleave, split’ [13]. Additionally, ‘animation’ derives from the word ‘anima’, meaning ‘life’, ‘breath’, or ‘soul’. Hence, ‘Schedula Anima’ is schedule animation software seeking to increase our perception and enhance the visualization of project schedules. The animation process is based on creating incremental frames of Gantt charts and resource utilization graphs. As papyrus was formed from many strips of the papyrus plant, in today’s era of digitalization, the computer screen will show many instances of activity bars and usage graphs.

First, we examine how computer animation can improve the depiction of schedules and resource usage graphs through dynamic visualization. Second, by identifying limitations in professional scheduling software, we seek to improve resource utilization and the management of delays in projects. We employ animation to introduce a renewed perspective to project scheduling.

2. Literature Review

We start by reviewing trends in the animation of algorithms. Then, we examine the challenges of the resource-constrained project scheduling problem, resource leveling, and resource smoothing. Finally, we examine the limitations of professional scheduling software.

2.1. Algorithm Animation

There are several emerging applications of computer animation of algorithms, either for practical applications or education. ‘VisuAlgo’ is a web-based algorithm visualization tool with detailed animation steps [14]. ‘AAnim’ is an animation tool that creates a high-quality video illustrative of the data structure evolution of an algorithm [15]. ‘Galant’ is a tool that allows instructors to create compelling algorithm animations for student exploration and helps researchers explore novel graph algorithms and heuristics [16]. Liang created animations using HTML5, CSS, and JavaScript to visualize how sorting algorithms work [17]. Additionally, Liang created animations to demonstrate graph algorithms, such as depth-first search, breadth-first search, shortest paths, connected components, finding bipartite sets, Hamiltonian path, minimum spanning trees, shortest paths, and traveling salesman problems [18]. Finally, Vegh [19] investigated how interactive card animations helped students understand algorithms.

Animation can add value to discrete-event simulation by helping verify, validate, and accredit simulation analyses. This is particularly true in construction, where typical decision-makers are experts in their domain but are not generally proficient in simulation [20]. Osorio-Sandoval et al. [21] demonstrated how building information modeling can facilitate the development of a construction simulation model that considers constraints related to resource allocation and task interdependencies. Sami Ur Rehman et al. [22] found that immersive technology improved students’ learning and understanding of construction drawings and scheduling. The digital world brings numerous advantages regarding information management, processing, and visualization [23].

2.2. Resource-Constrained Project Scheduling Problem, Resource Leveling, and Smoothing

While the CPM method can be implemented without resources, this is unrealistic. The resource-constrained project scheduling problem (RCPSP) aims to determine activity dates subject to resource constraints. The activity finish time window is defined by its early and late finishes [24,25]. The search space can be denoted as the Cartesian product of all activity time windows during the procedure to find optimal solutions for the problem. The RCPSP and its variants remain among the most challenging operational research problems. Heuristic and metaheuristic approaches have been proposed to find near-optimum solutions for the RCPSP in a reasonable computational time and overcome the combinatorial explosion phenomenon [26]. Kolisch proposed such heuristics based on priority rules [27]. Similar heuristics have been used in fuzzy project scheduling [28,29]. Baradan et al. [30] presented a metaheuristic algorithm to solve the stochastic RCPSP based on a scatter search algorithm. Martin et al. applied a discrete-event heuristic in the RCPSP [31]. Overall, research on the RCPSP has positively impacted construction projects [32].

Resource leveling is a special case of the RCPSP and is the process of resolving resource utilization issues to complete a project under resource limit constraints [33]. It is applied whenever resource limits are essential, and the project end date may be increased. Resource smoothing is the process that improves resource loading by rescheduling some activities. The goal is to have smooth resource usage without many fluctuations. The total float of activities is used without affecting the critical path. It is applied when the time constraint is more important and the project end date cannot be increased. A comparison of resource leveling and smoothing is presented in Table 1.

The Burgess and Killebrew [34] algorithm is the most important method for resource smoothing. Initially, activities are sorted based on their early start. A resource-loading diagram is created based on the early dates. The resource-loading diagram smoothness SM[sub.1] is calculated as the sum of the squares of the resource usage r at every period i.(1)SM[sub.1]=?[sub.i=0][sup.n]r[sub.i][sup.2]

Starting from the last activity in the network, each activity is iteratively progressed forward one unit of time, and the respective resource utilization diagram is created. The process is repeated for the activity predecessors. All the resource usage diagrams created are compared, and the optimization objective is to minimize the smoothness value. Essentially, the algorithm backtracks the network activities while seeking optimal smoothness.

Other popular objectives in resource smoothing are the minimization of the squared changes of the resource requests from period to period or the minimization of the absolute changes of resource requests between periods [35].(2)SM[sub.2]=?[sub.i=0][sup.n]ri+1-ri[sup.2](3)SM[sub.3]=?[sub.i=0][sup.n]|r[sub.i+1]-r[sub.i]|

2.3. Limitations of Professional Scheduling Software

The architecture, engineering, and construction (AEC) industry is vital in infrastructure development [36]. Practitioners in the AEC industry rely on commercial software to schedule project tasks. Digital scheduling and planning tools affect project duration and delays [37]. In the AEC industry, Oracle Primavera P6 Professional is a project, program, and portfolio management tool for planning, managing, and executing projects [38]. It can handle large and small projects in the construction, manufacturing, energy, aerospace, and information technology industries. Microsoft Project is a project management software developed by Microsoft [39,40]. It assists project managers in scheduling, resource allocation, and managing budgets. ProjectLibre is an open-source project management tool considered to be an alternative to Microsoft Project [41].

Significant limitations exist in depicting and interpreting bar charts and resource utilization graphs by existing software tools. More precisely, these are:

Static view: The depiction of bar charts and resource graphs is static and not dynamic. Resource allocation graphs are based on either the early or late dates. However, many other instances between these dates are ignored. As the schedule is usually updated monthly, we do not see instances of it on intermediate dates. In a monthly update of a 2-year project, we would only examine 24 out of the possible 365 × 2 = 730 instances.

Schedule evolution—delay analysis: It is impossible to simulate delays and the possible evolution of the schedule.

Ripple effect: Lucko et al. [42] defined the ‘ripple effect’, as the phenomenon that an individual activity delay can spread, accumulate, and quantifiably impact the project finish. Hence, local activity delays can impact the performance of the global timeline of a network schedule. Free float consumption is not seen concurrently with the successors of the activity in the network, and ripple effects are ignored. Hence, a realistic delay analysis is not performed.

Rescheduling prioritization: Float is not studied relative to the activity duration. Activities with equal float values but dissimilar durations may impact the schedule differently. Also, float bars usually assist in viewing the position of the late finish but not the late start. Since there is no metric to compare late and early dates, the possible gaps or overlaps between them must be identified to assist in prioritizing rescheduling.

Resource usage search space visualization and resource usage float: Although the search space for resource utilization optimization is extensive, bar charts and resource loading graphs do not help in visualizing this space. Managers do not have a tool to explore the multiple permutations of the activities in the schedule and corresponding resource distributions. Whereas activity float is well defined in the time domain, there is no equivalent metric in resource usage to indicate the possible expansion/movement of the resource diagram from early to late values.

Resource smoothing: Quantitative resource smoothing tools are required for practitioners. These can assist in examining how rescheduling activities lead to improved resource utilization.

Project communication: The efficient management of construction projects depends partly on effective communication among participants. Information management and communication processes constitute a determinant factor for the efficiency of human cooperation [43]. Developing e-engineering in the global economy requires new collaborative project-planning tools [44]. In many cases, schedules are distributed by printed or electronic ‘pdf’ files which do not help with effective communication. Even in collaborative project management software, multimedia is not employed to enrich the content of project schedules.

Education: Animation tools are not used in academic or professional training on scheduling concepts.

The research objective of Schedula Anima software is to transcend the limitations of project scheduling software. We seek to attain a dynamic view of Gantt charts, simulate schedule evolution and activity delays, quantify the ripple effect, prioritize rescheduling, visualize the resource usage search space, perform resource smoothing, enhance project communication with multimedia, and improve educational tools. We aim to improve our perception and insight through the dynamic visualization of the schedule and resource usage between early and late dates.

3. Methodology

We start by explaining why set theory is important in our methodology. We present basic CPM calculations. We explain how we simulate the evolution of the schedule. Then, we introduce concepts regarding activity float and provide a new metric for resource float. Finally, we demonstrate how to create a resource consumption profile and perform resource smoothing.

3.1. The Use of Set Theory in Scheduling

The capability of set theory to represent almost any mathematical concept is why it is regarded as one of the most important achievements of mathematics and why it is finding many applications in engineering [45]. In this paper, we use set theory to model concepts in CPM and resource usage. We define duration intervals as sets containing all feasible implementation values between early and late dates. Consequently, we view CPM as an algorithm that transforms these intervals. Criticality represents invariance, while float is a measure of variance. Similarly, we see resource usage as a set derived from different schedules. We examine variance and invariance progressively at time increments and the two extremes of early and late dates. We record the total area covered by the shifting duration interval and resource usage. We define new metrics to visualize overlaps and gaps between activities and resource utilization at different time frames by applying basic set operations such as union, intersection, set difference, and symmetric difference.

3.2. Basic Critical Path Method Calculations

We use the activity-on-node (AoN) convention and assume an activity network with tasks that have crisp durations. The activities constituting the project are identified by a set V={A[sub.0],…,A[sub.n+1]}, where A[sub.0] represents the start and A[sub.n+1] the end. The non-dummy set of activities is defined as A={A[sub.1],…,A[sub.n]}. Durations are represented by a vector d, where d[sub.i] is the duration of activity A[sub.i], with the special values d[sub.0]=d[sub.n+1]=0. Precedence relations are given by Ed (edge), a set of pairs such that (A[sub.i],A[sub.j])?Ed means that activity A[sub.i] precedes activity A[sub.j]. We can determine the sets P (predecessors) and S (successors) from the precedence relations of each activity. Thus, we define a precedence activity-on-node graph G

where the nodes correspond to activities and the arcs correspond to precedence relationships with |V|=n+2, |Ed|=m, and |A|=n. We also assume that G is acyclic [46]. There are q-types of renewable resources. R[sub.i] is the total amount of resources required for the activity i, whereas r[sub.i] is the amount needed during every period of its duration. The upper capacity of every resource in the network is denoted as R[sub.m].

The first activity’s early start is equal to zero (ES[sub.start]=0). The forward pass calculates the early start and finish dates [1,2,3].(4)ES=max[sub.p?P]EF[sub.p](5)EF[sub.i]=ES[sub.i]+d[sub.i] where p is the preceding activity, P is the set of preceding activities, ES is the early start, EF is the early finish, and d[sub.i] is the duration of activity i.

The backward pass determines late dates, activity criticality, and float. The project completion time is determined by the finish date of the last/latest activity (T=EF[sub.end]).

Hence, the last activity is critical; its late dates equal its early ones: LF[sub.end]=EF[sub.end] and LS[sub.end]=ES[sub.end]. The late dates are:(6)LF=min[sub.s?S]LS[sub.s](7)LS[sub.i]=LF[sub.i]-d[sub.i] where T is the project completion time, LS is the late start time, and LF is the late finish time. The total float TF is the value that allows shifting the early dates by specific planning units while satisfying precedence constraints and the completion time. It is:(8)TF[sub.i]=LS[sub.i]-ES[sub.i]=LF[sub.i]-EF[sub.i]

The free float FF is part of the total float that can be consumed without affecting the float of the successor activities. It is calculated by the equation:(9)FF[sub.i]=min[sub.s?S]?(ES[sub.S])-EF[sub.i] where s is the succeeding activity and S is the set of successors. The interfering float INTF is part of the total float affecting the float of the successor activities. It is:(10)INTF[sub.i]=TF[sub.i]-FF[sub.i]

Activity network logic alone is not representative of all project situations. Activities may be implemented according to specific dates rather than those determined by other activities. As such, constraints are assigned to activities to model the dependence on particular dates. Oracle Primavera P6 Professional software [38] has nine types of such constraints, namely start on, start on or after, start on or before, finish on, finish on or after, finish on or before, mandatory start, mandatory finish, and as late as possible.

3.3. Schedule Evolution—Progress and Delay Analysis

3.3.1. Activity and Schedule Instantiation

We define an interval (set) containing all feasible implementation dates between the start and finish dates. This allows us to apply set operations to gain insight into the schedule with new metrics. We start by defining the early (E) and late (L) duration intervals as the intervals bounded by the early and late dates, respectively.(11)E=[ES,EF](12)L=[LS,LF]

An activity instance is a specific realization of the potential dates that the activity can attain between the limits of the early and late dates. While activity dates can assume several possible instances between E and L, creating an instance of an activity is defined as activity instantiation. This helps simulate the evolution of the schedule and study the possible delays in noncritical activities. It is like a worst-case scenario in which all activities will take on their maximum likely delay.

In project scheduling, the data date is defined as the date the schedule has been updated. The purpose of the update is to record the actual start and finish of activities. We define a time sweep delay analysis as incrementally moving the data date from ts=0 to ts=T by one time unit to determine the activity duration instances. A time sweep delay analysis simulates the incremental instantiation of all activities. At ts=0, network activities have their early values. At ts=1, we move the data date by one unit. If the activity is critical, then it remains unchanged. If the activity is noncritical, it moves by one time period and starts pushing its successors. At ts=2, we consume additional float, and so on. All activities are systematically “pushed” to their late dates, consuming their float’s maximum value. The instantiation process is concluded at the project completion time T.

As the data date moves, there are two possibilities: (a) critical or noncritical activities remain fixed in their position, and the movement of the data date indicates pure progress, and (b) noncritical activities are gradually shifted/pushed from early to late dates once the data date reaches their start or as they are pushed by their predecessors, hence, signifying delays. When a noncritical activity with a free float value of zero is pushed, it will immediately start pushing its successors. In such cases, it can be considered as driving activity. Hence, a time sweep achieves activity instantiation and simulates schedule evolution.

An activity with a float of TF has TF+1 instances. The first instance of the activity is E, and the last is L. All instances of critical activities are identical. Overall, the instance interval I of an activity at a specific time is defined by the start IS and finish IF at a specific period as:(13)I=[IS,IF]

Schedule instantiation is the procedure of gradually applying all the possible float to all noncritical activities subject to the appropriate activity logic. It is a snapshot of all activity instances. The schedule instance matrix SINS is the set of instances of all activities for all values of the time sweep.(14)SINS=[I[sub.A1][sup.0]…I[sub.A1][sup.ts]...I[sub.A1][sup.T]…I[sub.A2][sup.0]…I[sub.A2][sup.ts]…I[sub.A2][sup.T]…I[sub.An][sup.0]…I[sub.An][sup.ts]…I[sub.An][sup.T]]

Every column of SINS shows the evolution of the time schedule in the time sweep. At a specific time ts, the instances of all activities are a single column of SINS:(15)SINS[sup.*,ts]=[I[sub.A1][sup.ts]…I[sub.A2][sup.ts]...I[sub.An][sup.ts]]

For an activity A[sub.i], the set of instances for all periods from t = 0 to t = T is a row of SINS:(16)SINS[sup.Ai,*]=[I[sub.Ai][sup.0]…I[sub.Ai][sup.ts]…I[sub.Ai][sup.T]]

Instantiation starts at ts>ES. At a given time ts, we may only have a partial instantiation of the scheduled activities. We expect a driving activity to be fully instantiated when ts=LS. At time T, all planned activities will have been fully instantiated.

We note that SINS is a matrix whose entries are intervals. Such matrices are termed interval matrices and are gaining popularity in problem solving [47,48,49]. On the contrary, SINS¯ and SINS¯ are simple matrices with only early and late dates, respectively.

3.3.2. Shifting Noncritical Activities

Activity instances at different positions of the data date can be calculated through analytic equations or a computer program. In the first case, for a given time ts, we can calculate the instance interval of a driving noncritical activity A[sub.k] as follows:(17)I[sub.k][sup.ts]=[IS[sub.k],IF[sub.k]]={[ES[sub.k],EF[sub.k]]0=ts=ES[ts,ts+d[sub.k]]ES<ts<LS[LS[sub.k],LF[sub.k]]LS=ts=T

After that, the instance interval of succeeding activities A[sub.s] is calculated as follows:(18)I[sub.s][sup.ts]=[IS[sub.s],IF[sub.s]]={[ES[sub.s],EF[sub.s]]ifIF[sub.k]<ES[sub.s][maxIF[sub.k],IS[sub.s]+d[sub.s]]ifES[sub.s]=max?(IF[sub.k])<LS[sub.s][LS[sub.s],LF[sub.s]]ifIF[sub.k]=LS[sub.s]

When an activity has multiple predecessors, we consider the maximum IF[sub.k] of these. Critical activities remain unaffected during the time sweep.

For an extensive network, we use a computer program. The time sweep begins from the first activity. Once a noncritical activity is pushed by the data date, a set of conditions is required to understand how the succeeding activities will be affected. We distinguish activities into those touched by the data date at time ts (driving activity) and those that are not. Pushing the network from the beginning poses more computational complexity than pulling activities from the end.

Table 2 describes the conditions for pushing noncritical driving activities. These activities are pushed while the data date is between their early and late start. The start of the created instance (IS) cannot move beyond the late start of the activity. The start of the activity instance is limited by the time sweep (ts) value.

Table 3 describes the conditions for pushing the successors of driving noncritical activities. We ensure that the successors are noncritical to avoid pushing critical activities. We start pushing if the finish of the instance of the driving activity (k) is greater than the start of the instance of its successor (s). We continue pushing while the finish of the activity instance of the successor is less than its late finish.

3.3.3. Calculating the Resource Usage Distribution

The instantiation of the schedule activities causes respective changes in the resource distribution. We recall that R[sub.i] is the total amount of resources required for activity i, whereas r[sub.i] is the amount needed during every period of its duration.(19)r[sub.i]=R[sub.i]/d[sub.i]

Starting from SINS, we allocate r[sub.i] in a resource distribution (RD) matrix if the time is within the activity instance interval I at a specific time sweep.(20)0…ts…T/RD=A1A2Anri ri ri ri ri ri ri ri ri

Because the resource is shared amongst the activities, we record the summarized distribution (SD) for the resource allocation of all activities for a time sweep at every period ts.(21)0…ts…TSD[sup.ts,*]=[?i=onr[sub.i]…?[sub.i=0][sup.n]r[sub.i]…?i=0nr[sub.i]]

We examine the summarized distribution for each value of the data date (time sweep) from 0 to T. Essentially, a matrix with dimensions of (T+1)×(T+1) is formed. The horizontal values indicate the resource distribution in every period. The vertical values indicate how the distribution changes as we increase the value of the data date in the time sweep. The summarized distribution SD[sup.0,*] corresponds to the early dates, whereas the distribution SD[sup.T,*] corresponds to the late dates.(22)0 … ts … T/SD=0tsT?i=0nri ?i=0nri ?i=0nri ?i=1nri ?i=0nri ?i=onri ?i=0nri ?i=0nri ?i=0nri

Project smoothness is a simple function of every resource distribution.(23)SM=[SM[sup.0]SM[sup.ts]…SM[sup.T]]

3.4. An Alternative View of Float in Rescheduling Prioritization

3.4.1. The Metrics of Air and Ice in Activity Duration and Resource Usage

As activity float is independent of duration, activities with equal float values but dissimilar durations impact schedules differently. We define a metric dependent on duration to evaluate the ease of rescheduling by considering the early and late dates. The concept of ‘ice’ will identify an overlap, while ‘air’ is a gap between them. In noncritical activities (E?L), ‘ice’ is defined by the intersection of early and late duration intervals.(24)ice=EnL

We define the activity zone Z as the interval containing all the possible activity values between the early start and late finish. Its width (w[sub.z]) depends on duration and float.(25)Z=[minE,maxL](26)w[sub.Z]=d[sub.i]+TF[sub.i]

When E and L are disjoint, meaning that EnL=Ø, the activity ‘air’ is the interval from the early finish to the late start. The activity ‘air’ is defined as the set difference of early (E) and late (L) duration intervals with the activity zone Z:(27)air=Z\E\L

Ice and air can be calculated by the EF and LS of each activity, as follows:(28){ice=(LS,EF),ifEF>LSair=(EF,LS),ifEF<LS

Ice and air are metrics of an activity’s total float compared to its duration. Recalling Equations (5), (7) and (8), the width of the ice and air intervals is:(29){w[sub.ice,i]=EF[sub.i]-LS[sub.i]=ES[sub.i]+d[sub.i]-LS[sub.i]=d[sub.i]-TF[sub.i],ifEF>LSw[sub.air,i]=LS[sub.i]-EF[sub.i]=LS[sub.i]-ES[sub.i]-d[sub.i]=TF[sub.i]-d[sub.i],ifEF<LS

When EF=LS, we can consider a transient state of “water” between air and ice. The choice of these terms is inspired by the three states of water: solid, liquid, and gas. The CPM algorithm transforms duration intervals from a rigid to a volatile state, which we measure with float.

The graphical representation of air and ice in a Gantt chart is illustrated in Figure 1a. For activity A, ?[sub.A]=[0,5], L[sub.A]=[3,8], and TF[sub.A]=3. Hence, ice[sub.A]=(3,5) and w[sub.ice,A]=5-3=2. For activity B, ?[sub.B]=[0,5], L[sub.B]=[8,13], and TF[sub.B]=8. Hence, air[sub.B]=(5,8) and w[sub.air,B]=8-5=3. From Equation (29) we see that ice and air are dependent on duration. Whenever there is a high amount of ice in an activity, its early and late dates are very similar. The activity duration is represented by the blue and cyan or the green and cyan. Also, the blue or green intervals are each equal to the activity float. However, there is air whenever the early and late dates do not overlap. The activity duration is represented by the blue or the green. The blue and yellow or green and yellow intervals equal the float.

A resource usage graph represents a set of ordered pairs (time, usage) showing the relationship between the time domain and the resource usage. We define the early and late duration resource usage sets, which derive from each individual activity’s early and late dates, respectively, as E[sup.R] and L[sup.R]. The resource usage set from an instance is I[sup.R]. The schedule resource distribution is SD[sup.0,*] for the early dates and SD[sup.T,*] for the late dates.

It follows that ice in the resource graph is defined as the region:(30)Ice[sup.R]=E[sup.R]nL[sup.R]=SD[sup.0,*]nSD[sup.T,*]

We define the activity resource usage zone Z[sup.R] as all possible activity resource usage profiles in a progressive sweep between the early and late dates. We define the project resource usage zone PZ[sup.R] as all possible schedule resource usage profiles in a progressive sweep between the early and late dates. Air in the resource graph is defined as the region:(31)Air[sup.R]=PZ[sup.R]\E[sup.R]\L[sup.R]=PZ[sup.R]\SD[sup.0,*]\SD[sup.T,*]

The area a single activity occupies in the resource graph is calculated as follows:(32)A[sub.ZR]=w[sub.z]·r[sub.i]=(d[sub.i]+TF[sub.i])·ri

Regarding activities, ice and air in the resource graph can be measured as an area.(33){AiceiR=w[sub.ice,i]·r[sub.i]Aair[sub.i][sup.R]=w[sub.air,i]·r[sub.i]

Figure 1b illustrates the graphical representation of air and ice in a resource-loading graph for two activities that require two units/day of a resource. In activity A, resource loading between 3 and 5 is common for the early and late dates. Ice indicates that the time frame of resource allocation is similar in both cases. We can calculate the area of the graph by multiplying duration and resource usage, Aice[sub.A][sup.R]=2·2=4. In activity B, there is air between periods 5 and 8. Consequently, the resource distribution of the late dates occurs at distinctly different times from the early dates, and therefore, Aair[sub.B][sup.R]=3·2=6. Also, the area is A[sub.ZAR]=(5+3)·2=16 and A[sub.ZBR]=(5+8)·2=26.

These new concepts assist in assessing the ease of rescheduling activities. Ice measures the “stiffness” of a noncritical activity, while air measures “flaccidity”. In activities with large ice values, there is a significant overlap of the early and late dates, meaning that we do not have many degrees of freedom in the time slot in which the activity will be implemented. The early and late resource distributions for activities with ice are very similar. In activities with large air values, the late dates are entirely different from the early dates, meaning there is a high degree of flexibility regarding rescheduling.

3.4.2. Color Coding

The configuration of the view of Gantt chart bars is a standard functionality in scheduling software. Oracle P6 allows the selection of a progress color, a bar color, and a progress style in Gantt charts. Also, critical activities are shown in a different color [38]. A color coding scheme is applied to plot activities in the Gantt chart and resource usage graphs. Red denotes the critical activities and their resource usage. Blue and green represent the early and late dates, respectively. Cyan represents ice. In the Gantt chart, it represents the overlaying of early dates over late dates (green over blue). In the resource graph, it indicates the overlapping of resource usage between early and late dates. In an RGB (red–green–blue) additive coloring scheme, we note that cyan is made by mixing equal amounts of blue and green. Hence, the mathematical intersection is analogous to the blending of colors. In viewing a graph with ice, one must see the blue and cyan to determine early dates/resource usage. Similarly, both green and cyan determine late dates. Yellow denotes the gap between early and late dates, hence the concept of air. In the resource graph, yellow indicates possible resource usage between the early and late dates.

In the Gantt chart, a ‘celeste’ (light blue) background delineates the feasible boundaries of the activity zone (Z) and project resource usage zone (PZ[sup.R]). Early and late dates, air, and ice are denoted within these limits, whereas everything outside this space has the background color. Similarly, the resource usage graph is within the limits of the boundary. White is used to show the space that will be filled during the animation by the late values. Overall, the RGB values for the colors are red (255, 0, 0), green (0, 255, 0), blue (0, 0, 255), cyan (0, 255, 255), yellow (255, 255, 0), and celeste (178, 255, 255).

3.4.3. Resource Usage Float in the Project Resource Usage Zone

Whereas the concept of float is well-established in the Gantt schedule, we do not have a similar metric for the resource usage graph. The resource usage search space is vast and challenging to delineate because there are many permutations of activity dates. We observe that, during every iteration of the time sweep, the activity bars and resource usage shift toward the end of the project. Hence, we aim to visualize this dynamic movement of activities and resource usage. We wish to track all feasible resource usage graphs and estimate the total area covered as they are shifted during a time sweep to visualize the search space and calculate the available resource usage float.

The project resource usage zone PZ[sup.R] is the area of all possible resource usage profiles from all activities in a progressive time sweep between the early and late dates. Ideally, if we could enumerate all schedule permutations, we could graph the project resource zone of all permutations PZ[sup.R,perm]. Because this is extremely difficult, two possible ways exist to approximate it. In the first approach, theoretically, the maximum area from all activities that the resource graph can occupy is:(34)PZ[sup.R,max]=?i=1nZ[sub.Ai][sup.R]

This formula overestimates the resource usage area because some regions cannot be attained due to the activities’ precedence constraints. In another approach, we try to monitor the area covered by SD[sup.ts,*] in the time sweep. The shape of the resource graph changes at every time interval. If we keep a record of all these shapes, at the end of the time sweep, we can delineate the total area covered by the resource usage, reflecting different schedule instances. We define the total project resource zone PZ[sup.R,total] as the union of all resource usage graphs from ts=0 to T in a specific time sweep. This new metric combines all resource usage graphs from early to late dates. It provides insight into the total area covered by the time sweep. It is calculated as:(35)PZ[sup.R,total]=?ts=0TSD[sup.ts,*]=SD[sup.0,*]?SD[sup.ts,*]…?SD[sup.T,*]

Additionally, we define the common project resource zone PZ[sup.R,com] as the intersection of all resource usage graphs from ts=0 to T in a specific time sweep. This metric finds the part of the resource usage that remains unchanged throughout the time sweep. It will identify the resource usage from critical activities and the common ones amongst the early and late dates. It is calculated as:(36)PZ[sup.R,com]=?ts=oTSD[sup.ts,*]=SD[sup.0,*]nSD[sup.ts,*]…nSD[sup.T,*]

Overall, we expect that:(37)PZ[sup.R,com]?PZ[sup.R,total]?PZ[sup.R,perm]?PZ[sup.R,max]

In this new approach, it is beneficial to recall how Venn diagrams assist us in illustrating the logical relations between sets. In our case, we view SD[sup.ts,*] as a polygon that changes shape. At different time intervals, we examine its evolution by comparing two sets as in a Venn diagram. Hence, air and ice in the resource graph can be plotted dynamically as the time sweep progresses by comparing SD[sup.ts,*] to SD[sup.0,*] (early dates).

In the Gantt chart, we focus on times. In the resource graph, we focus on the area. The resource usage graph shifts to the right as we move from early to late dates. Effectively, the area that is covered dilates, and its size is a measure of our risk exposure. The resource graph contains sub-areas related to critical activities, early dates, late dates, ice, and air. The resource usage float RF depends on the time sweep and is defined as the difference between the project resource usage zone and the early dates’ resource usage:(38)RF=PZ[sup.R,total]\E[sup.R]=PZ[sup.R,total]\SD[sup.0,*]

There are three ways to plot dynamic resource usage. First, we can plot SD[sup.ts,*] by itself. Second, we can plot the intersection of SD[sup.0,*] with SD[sup.ts,*]. Finally, we can plot the intersection of SD[sup.0,*] with SD[sup.ts,*], along with the air/ice in the resource graph.

To illustrate the concepts above, consider a simple schedule of three activities, d[sub.A]=1, E[sub.A]=(0,1), L[sub.A]=(2,3), d[sub.B]=2, E[sub.B]=(0,2), L[sub.B]=(1,3), d[sub.C]=3, and E[sub.C]=L[sub.C]=(0,3), with r[sub.A]=2, r[sub.B]=3, r[sub.C]=3 units/day. The total resource usage is 17 units. As we perform a time sweep in this schedule, Figure 2 shows the respective resource usage diagram for different steps of the time sweep. We distinguish the resource usage from the noncritical activities (A, B) and the critical activity C. Initially, in E[sup.R]=SD[sup.0,*] (early), nine units are critical (red), and eight units are noncritical (blue). As we initialize the time-sweep at t = 0, the early noncritical dates (ice) overlap with the first instance and are plotted in cyan. At t = 1, the usage plot is shifted to the right. Here, we plot the late dates in green and the intersection of early and instance dates in cyan. The early dates that do not intersect with the instance remain in blue. At t = 2, SD[sup.ts,*] has shifted further to the right. The yellow denotes the air in the schedule or a region where the resource usage diagram has passed. At t = 3, there are no more changes to the usage graph. Finally, LR=SD[sup.T,*] shows the late dates by themselves. Overall, A[sub.PZR][sup.total]=24 and A[sub.PZR][sup.com]= 12 (9 units from the critical activities and 3 from ice—cyan). The resource usage float for this time sweep is equivalent to RF=24-17=7.

3.4.4. Constrained and Multiple Time Sweeps

In our base-case time sweep, we presented a worst-case scenario in which all activities were delayed to their late dates. However, constrained time sweeps of the schedule are possible. These can be created by applying constraints on the start and finish of selected activities, as described at the end of Section 3.2. These constraints limit the amount of float an activity can consume. Essentially, they reduce the activity zone Z of all the possible activity values between the early start and late finish. Thus, we will need the constrained date interval C to monitor each activity’s constrained start and finish.(39)C=[CS,CF]

A 50% time sweep could simulate what would happen if all activities were delayed to half their possible float. Constraints may also be applied to a selection of activities. Understandably, applying constraints will lead to different permutations of the dates and other resource usage profiles. A simulation with constraints reflects a managerial decision to limit the slippage of noncritical activities. It would help determine which noncritical activities are more important for protecting the float.

Another option is to apply a sequence of alternative time sweeps. We can run multiple sequential time sweeps of 0%, 10%, … and 90% delay to track how these incremental constraints affect the schedule. After s time sweeps, we will have created a resource distribution data structure with dimensions of s×(T+1)×(T+1). It is possible to expand our definitions of float, early, and late dates to this three-dimensional set.

3.5. Float Consumption and Resource Smoothing

Traditionally, we look at the float of individual activities and do not monitor the total project’s float consumption. However, whenever an activity with a free float of zero consumes float, there are immediate consequences for the float of the succeeding activities. We define the project’s total float PTF as the sum of the total float of all activities. A float consumption profile depicts the PTF consumption relative to the progression of the time sweep. Initially, the profile starts at the maximum PTF value. A single float unit is consumed as a noncritical activity is shifted. At the beginning of the profile, the consumption rate is at its highest, and as we progress through the time iteration, the float units of succeeding activities are also consumed. When we do not encounter delays, the time sweep proceeds without float consumption, indicating progress.

We observe that, for each noncritical activity, activity ice is depleted as the float is consumed or air is gradually formed. For each activity, at time ts, we define the total value of the change of ice and air as ?[sub.ice][sup.ts] and ?[sub.air][sup.ts], respectively.(40)?[sub.ice][sup.ts]=w[sub.ice][sup.t=0]-w[sub.ice][sup.t=ts]=?i=1nd[sub.nCR]-w[sub.ice][sup.t=T](41)?[sub.air][sup.ts]=w[sub.air][sup.t=T]-w[sub.air][sup.t=0]=w[sub.air][sup.t=ts] where d[sub.nCR] is the duration of noncritical activities.

For each noncritical activity, the total float equals the amount of ice depleted and the air created. Hence, we introduce the fundamental float–ice–air balance equation:(42)PTF=?i=inTF[sub.i]=?[sub.ice]+?[sub.air]

At every value of the time sweep ts, the activity-remaining float ReTF is a function of the activity instance finish or start.(43)ReTF=LF-IF=LS-IS

The remaining project’s total float RePTF sums the ReTF of all activities.

As was shown in Equations (1)–(3), resource smoothness is usually achieved by minimizing a defined metric. Equation (1) focuses on the actual usage, whereas (2) and (3) focus on variation between adjacent periods. Considering that usage is a function of both time and resource demand, we investigate whether monitoring smoothness at the duration level is possible. We observe that the schedule attains a steady state that implies resource smoothness whenever there are periods when the float is not being consumed, or its consumption rate is steady. Therefore, we suggest an alternative method to examine smoothness by seeking the period in which the rate of change of RePTF is zero or constant. Essentially, we seek time periods of pure progress without delays. Hence,(44)SM[sub.4]=max?(time)that{?RePTF=0or?RePTF=constant

The logical principle is that resource usage is smooth when there is no float consumption, the float is being depleted steadily, or there is pure progress without delays.

4. Animation

4.1. Schedule Animation Sequences

We propose creating three schedule animation sequences to improve and accelerate our perception of project Gantt charts. We gradually increment the data date to create images to visualize consecutive schedule instances. In the first animation, we view the steps of the CPM algorithm and introduce the concepts of ice and air. In the second, we perform a time sweep to view the float consumption in the schedule. The third animation examines how a time sweep affects resource usage diagrams.

The critical path method animation (Algorithm 1) shows the animation sequence of the forward and backward passes of the CPM algorithm. Initially, the forward pass shows the gradual calculation of all the early dates from the first activity to the last activity. The backward pass shows how criticality is determined and float is consumed from the last activity to the first activity. Hence, all the frames of the Gantt chart, which correspond to gradual steps of the algorithm, are incrementally saved to a GIF (graphics interchange format) file. There is a time delay of a fraction of a second between frames. We note that, in this animation, float consumption is not shown relative to the successors of each activity. Finally, ice is plotted in cyan and air in yellow to see how ice is depleted and air is formed.

Algorithm 1: Critical Path Method animation sequence

The activity time sweep animation (Algorithm 2) shows the instantiation of all activity dates and float consumption in all noncritical activities. We loop over time to visualize activity float from the project’s beginning to end. It is evident how the data date moves in a ‘sweeping’ manner, and every time it reaches a noncritical activity, it pushes it and its successors. A time delay is set between consecutive frames. The user can see the animation with activity relationships and without ice and air.

Algorithm 2: Activity Time Sweep

The resource usage time sweep animation (Algorithm 3) shows a stacked bar chart of resource usage. We loop over time to visualize the change in resource usage. As noncritical activities attain intermediate values between the early and late dates, their resource usage changes accordingly. The resource distribution SD can be monitored distinctly for critical and noncritical activities. A time delay is set between consecutive frames. The user can also see the animation with resource-loading bars without ice and air.

Algorithm 3: Resource Usage Time Sweep

4.2. Schedula Anima—Software

As shown in Figure 3, the calculations and animations were implemented in the ‘Schedula Anima’ software application that was created using MATLAB R2024b. Initially, the network activity data (durations, precedence relationships, resource requirements) are input directly into the application. Alternatively, activity network data from other scheduling software can be exported into a text or “CSV” file and imported into the application. The core module performs the CPM algorithm and calculates the early and late dates. After that, the application applies a time sweep delay analysis and records the scheduled instances, their corresponding resource distributions, and smoothness indexes. The animations are separate functions that can be run independently. The three illustrative algorithms plot the dates while performing the calculations. It is possible to perform the calculations without plotting and store the output in a data set that can be plotted later.

‘Schedula Anima’ animations can be viewed on the computer screen. The Gantt chart frames corresponding to the algorithm’s gradual steps can be exported by incrementally saving to a GIF picture format file using the MATLAB ‘imwrite’ function. The GIF file can be viewed with any picture viewer. Other online GIF viewers, like GIF VIEWER by Biyee SciTech, allow the animation to be paused and enable the possibility of viewing frames separately. It is possible to view the GIF file as many images showing each animation step. Adobe Photoshop allows animation frames to be viewed as separate layers.

Alternatively, a video file of the animation in MP4 (MPEG-Part 14) format can be created using the MATLAB ‘writeVideo’ function or by simply converting the GIF file to MP4 format. In most media players, the video file can be paused wherever necessary. It is at the user’s discretion to add music or commentary/narration to the final video file, thus giving the schedule a more customized identity. A video editor like Microsoft Clipchamp can add extra features to the video, such as annotations or artificial intelligence (AI)-generated text-to-speech commentary.

5. Illustrative Example

5.1. CPM and Resource Usage Graphs

5.1.1. Applying CPM

Let us assume that there is an activity network with activities that have durations and precedence relationships, as depicted in Table 4. The data in the example were collected from the 670 km Egnatia Motorway in Greece, which constitutes part of the core Trans-European Transport Network according to Regulation (EU) 2024/1679. In particular, a 240 m tunnel S1 and an adjacent 250 m road section are presented in a simplified schedule. Every activity requires a total amount of R[sub.i] for a shared labor resource (worker on an 8 h shift). In the AoN representation of the network, as presented in Figure 4, we can see the distinct activity sub-path B-E-G-I corresponding to the tunnel. The results of applying the CPM algorithm are depicted in Table 5. Activities E and I have ice, whereas C and F have air. Figure 5a shows the activity bar chart with the activity precedence relationships. Figure 5b shows the early and late dates with air and ice: the critical activities are in red, the early dates are in blue, and the late dates are in green. The intersection of the early and late dates is depicted in cyan. Air is graphed with yellow. We studied a single resource in this example because we focused on usage. However, the methodology can include multiple resources, especially when we want to monitor cost and not just resource usage.

5.1.2. Alternative Activity Rescheduling Prioritization

We usually determine the priority of rescheduling activities based on float. However, ice and air can provide an alternative prioritization criterion. Consider two activities with equal amounts of float and unequal durations. The activity with the larger duration has more ice or less air than the other and is more difficult to reschedule. It has fewer degrees of freedom in mobilizing resources during execution.

Noncritical activities can be split into three categories: those having air, ice, or neither (water). Table 6 compares rescheduling prioritization based on float, with one based on ice and air. On the left, we see activities ranked entirely on float. On the right, even though tunnel activities B, E, G, and I have the same total float, using ice/air indicates that activity E (primary support) is more constrained than the others in this sub-path. It is more difficult to reschedule because of its long duration (90) and the significant value of ice (60). Also, activity I (electromechanical) is more inflexible than B (tunnel portals) and G (tunnel lining) because of its ice value. Finally, activities F and C are easier to reschedule because of their high air value. A rescheduling scale is created from high ice to high air.

5.1.3. Quantifying the Ripple Effect of Activity Delays

In another approach, we seek to quantify the importance of individual activities regarding the ripple effect. We want to rank activities based on how their delays affect the float of their successors. In Figure 4, we see each activity’s float and successors. During the delay simulation, we observe the ripple effect and track which activities drive the others. First, activity B drives activities E, G, and I. We attribute their float consumption to it. Then, since activities B and C drive activity F for 30 days, we can share this float between them. Then, activity C drives activity F by itself for 40 days. Finally, the data date drives activity F for the last 20 days. To quantify the significance of every activity regarding the total float consumption of 280 days (Table 5), we note:

B: TF[sub.B]+TF[sub.E]+TF[sub.G]+TF[sub.I]+1/230=30+30+30+30+15=135

C: TF[sub.C]+TF[sub.E]+TF[sub.G]+TF[sub.I]+1/230=70+15+40=125, and

F: 20

During the time sweep, we monitor the driving activities. The float consumption of the successors is attributed to their driving activities. Essentially, any delay in activity B or C significantly impacts its successors. Hence, limiting the delays of activities B and C has multiple advantages. Slippage in these activities is unrecoverable, creating ripple effects.

5.1.4. The Five Sub-Regions in the Gantt Chart and Resource Usage

Figure 6 shows the resource loading for the early (blue) and late dates (green). The resource usage plotted in red corresponds to the critical activities and remains unchanged. We observe how the resource usage shifts to the right as the activity float is consumed.

Figure 7 shows the resource usage for the early and late dates with air and ice. The graph superimposes/overlays the late-date resource usage over the one from the early dates. Ice (cyan) denotes resource usage, which is common for early and late dates. Air (yellow) represents possible resource usage at intermediate profiles from the early to the late dates. More specifically, the total resource usage is 850 units, 400 units are used for critical activities, and 450 are for noncritical activities. The overlapping area (ice) of early and late dates is 260 units, denoted with cyan. Hence, the resource usage (in blue) of the early dates that do not overlap with late dates is 450 - 260 = 190 units. Similarly, the resource usage of the late dates (green) that do not overlap with the early dates is 190 units. Finally, there are two small regions of air (yellow) with 30 + 20 = 50 units. These areas denote the space that the instances of resource usage occupy in their transition from early to late values. The project manager has no control over 400 + 260 = 660 units of the total resource usage of 850 units. The area of the total project resource usage zone is A[sub.PZR][sup.total]=1090. The area of the common project resource usage zone is A[sub.PZR][sup.com]=650. The resource usage float is RF=PZ[sup.R]\SD[sup.0,*]=1090-850=240, showing the feasible usage dilation over time.

As seen in Table 7, the schedule and resource usage graph has five sub-regions/areas. The red area remains unchanged in the time sweep because the critical activities do not have float. The cyan area (ice) is gradually reduced and denotes the area where the early and late dates overlap. In resource usage, the blue area shows E[sup.R]\L[sup.R]=SD[sup.0,*]\SD[sup.T,*] and is representative of the most optimistic scenario. The green area shows L[sup.R]\E[sup.R]=SD[sup.T,*]\SD[sup.0,*] and represents the pessimistic scenario. Green and blue represent the symmetric difference between the early and late dates E[sup.R]?L[sup.R]=SD[sup.0,*]?SD[sup.T,*]. The yellow area (air) shows possible resource usage between the early and late dates. The most important result from this graph is that the resource usage in the red and cyan regions is fixed and out of the project manager’s control. Only the transition from the early (optimistic) to the late (pessimistic) dates with the available air can be controlled. Effectively, the colors map the project risks.

5.2. Resource Smoothing

Understanding the dynamic nature of the schedule is critical to achieving optimal resource smoothing. With the time sweep, we have kept resource usage records at every iteration. Hence, we can compare the resource usage graphs with the appropriate metrics to find the smoothest resource usage profile. Figure 8 shows the value of the resource-smoothing index SM[sub.2] from the early to late dates while doing a time sweep. Through experimentation, SM[sub.2] gave better results than SM[sub.1] and similar ones to SM[sub.3].

The smoothing index attains its lowest values between 60 and 159. There are also two brief dips at 79 and 89. During this period, all of the individual floats of activities B, E, G, I, and C are consumed. Only part of the float from activity F is consumed. To attain this smoothness value, the project manager would have to start B, E, G, I, and C at their late dates and intentionally delay the start of F up to 70 days out of the 90 days of its float.

5.3. Float and Resource Usage Float Consumption Profile

The values of ice and air for the noncritical activities at t=T are shown in Table 5. We also see that PTF=280. Additionally, we verify that:?[sub.ice]=ice[sub.t=0]-ice[sub.t=T]=?[sub.i=1][sup.n]d[sub.nCR]-ice[sub.t=T]=290-70=220?[sub.air]=air[sub.t=T]-air[sub.t=0]=60-0=60PTF=?[sub.ice]+?[sub.air]=220+60=280

Figure 9a depicts the float consumption profile. The project’s total float (PTF) starts at 280 and gradually moves to 0. Ice is reduced from the original value of 290 to 70. Air is created from the starting value of 0 to 60. As expected, ice depletion precedes air formation. Notably, by time 180, all of the project float had been consumed. When activity G reaches its late start (180), it is automatically calculated that activity I will also start at its late start (210), thus consuming all of its available float. Effectively, we predict the consumption of float 30 days before the beginning of the activity.

In Figure 9b, we notice variations in the rate of float consumption in three regions: (a) time 30–59 (six units per day), where all six noncritical activities are all moving concurrently; (b) time 60–99 (two units per day), where activities C and F are being shifted, and (c) time 160–179, where only activity F is being pushed (one unit per day). The variability in the float consumption rate occurs because every delay in the activities early in the network also consumes float from the successors of the activity that are further down in the network. Hence, float consumption rates decline as the time sweep proceeds because we move further down the noncritical paths. We note that the dotted line shows the rate of float consumption, whereas the cyan line shows the rate of ice depletion, and the yellow line shows the rate of air creation.

The observation that the float in activities earlier in the network is more critical can lead to formulating a float protection strategy. For instance, the float consumption of activity E affects activities G and I, whereas activity G affects only I. Similarly, activity B affects E, G, and I. Hence, it is advisable to focus on protecting the float of B and E.

Figure 10 depicts the resource usage float consumption profile. The resource usage float (RF) starts at 240 and gradually moves to 0. Ice is reduced from the original value of 450 to 260. Air is created from the starting value of 0 to 50. As in Figure 8, by time 180, all the project resource usage float has been consumed. Notably, the early (blue) and late (green) increase at the same rate from 0 to 180. This confirms that blue and green represent the symmetric difference between the early and late dates SD[sup.0,*]?SD[sup.T,*].

At this point, we want to compare the findings of the smoothness index (Figure 8) with the float consumption profile (Figure 9a), float consumption rate (Figure 9b), and the resource usage float consumption profile (Figure 10). First, we see a period between 100 and 159, during which no float consumption occurs. Then, we see in Figure 9b a period between 60 and 69 where ice is depleted at two units/day and air is not formed, a period between 70–89 where ice is depleted at one unit/day and air is formed at one unit per day, a period between 90–99 where ice is constant, and air is formed at two units per day. As a result, the float consumption between times 60 and 99 has a constant rate of two units per day. Figure 10 shows a similar pattern; the float consumption is steady between 100 and 159. In both activity float and resource usage float consumption profiles, this period coincides with the lowest values of the smoothness index. There is a notable correlation between resource smoothing and float consumption. Hence, we confirm that the foundation of smoothness lies in the underlying stability of float consumption. When the data date moves without shifting activities, the values of Equations (1)–(3) are minimized.

5.4. Schedule Animation

We employ schedule animation to enhance our perception of the schedule. Key issues that need to be addressed are (a) the visualization of float consumption, ice depletion, and air formation and (b) the examination of schedule instances between the early and late dates and their corresponding resource-loading diagrams.

The first animation aims to understand the steps of the CPM algorithm and the concepts of air and ice (Animation S1). The animated GIF file shows the animation sequence of the forward and backward passes of the CPM algorithm. In the forward pass, we see the early dates from the first activity to the last activity. In the backward pass, we start from the last activity to the first activity. Critical activities are marked as red. The early dates are incremented by one until they achieve their maximum late values. It is easy to see activities with ice (cyan) or air (yellow). There is a time delay of 1 s when moving between activities and 0.1 s for each day of float consumption. Overall, the total animation lasts 45 s and includes 298 frames.

For the following animations, we conduct a time sweep. The data date is incrementally increased by a value of one. In contrast to commercial scheduling software that shows the early and late dates, we can now examine all intermediate positions.

Animations S2 and S3 implement Algorithm 2. Animation S2 graphs activity precedence relationships in the Gantt chart. Nothing happens when the data date exceeds the first critical activity. However, when it reaches the first noncritical activity, it starts pushing it and all of its successors. Eventually, at t = 180, all of the activities are pushed to their maximum values, so after day 180, there is effectively no project float. Animation S3 shows how ice is gradually depleted, and air is formed. We observe that the float of activity F is consumed in two stages: first, when it is pushed by activity C, and second, when it is moved by the data date. The animations illustrate the ripple effect very clearly. They have a time delay of 2 s for the first frame and 0.1 s for each day of the time sweep. The animation lasts 30 s and includes 281 frames.

In Animation S4 (Algorithm 3), we see the value of the time sweep in the lower right corner. The resource usage derived from the critical activities is in red and remains constant throughout the time sweep. At first, the resource usage from the early noncritical activities is depicted in blue. Then, the resource usage (in green) is gradually pushed from the left to the right side. As activities gradually attain their late values, their resource usage occurs later. There is a time delay of 2 s for the first frame and 0.1 s for each day of the time sweep. The animation lasts 30 s and includes 281 frames.

Animation S5 is a slight variation of S4, plotting ice and air dynamically at every iteration. As the late dates move to the right, cyan (ice) denotes the intersection of the early dates with the latest instance. Additionally, the air is plotted in yellow. The last frame of the animation is identical to Figure 7. Here, blue and green indicate the early or late dates that are not common to each other. We also clarify that air in the resource graph stems from the interaction of all activities, contrary to the Gantt chart, where it is plotted separately for every activity. As such, the presence or absence of air in the Gantt chart differs from that in the resource graph. At the beginning of the animation, this area, corresponding to the resource usage float, is plotted in white. As the animation proceeds, this area is gradually filled, simulating the consumption of the resource usage float. Finally, we note that the selection of the bar width changes the plotting of the stacked bar chart. A value of one creates a more solid plot, whereas a value of less than one shows thinner bars.

5.5. Exporting Animations GIF and MP4 File Formats

We can export animations from ‘Schedule Anima’ in GIF or MP4 format. The five GIF animations may be viewed in any picture viewer. A video file may be made in MATLAB, or the GIF files may be converted to MP4 files using video editing software. In Animation S6 we combine Animations S3 and S5 into a video using Microsoft Clipchamp, which can be paused wherever necessary. The video is created in 1080p Full HD resolution with a 30 frames/second frame rate.

In the video, we add indicative commentary with annotations and an artificial intelligence text-to-speech converter. In particular, the comments are:

Comment 1: optimal smoothing (ts=60to159);

Comment 2: all float consumed (ts=180).

Each comment has a text component and a variable, which are derived from the algorithms. Once the text is created, an AI text-to-speech tool adds the comments to the appropriate position in the animation. Practically, the comments can be about all aspects of scheduling, i.e., criticality, resource conflicts, float, ice/air, and resource smoothing.

Researchers have just begun to evaluate the role of audio/visual (voice, pictures, and videos) data in construction applications [50]. Having this in mind, for demonstrative purposes, we have added music to our video from the third movement of ‘Summer’ from The Four Seasons by Vivaldi, with John Harrison playing the violin and Robert Turizziani conducting the Wichita State University Chamber Players [51]. Since every project is unique, project managers may opt to accompany the animation of their schedule with music. The use of audio, with music and human or computer-generated commentary, may enhance the viewer’s immersion in the content of the video.

5.6. Time Sweeps with Activity Constraints

Section 3.4.4 describes the possibility of applying alternative time sweeps. Applying the “finish on or before” constraint on all activities on half of the available float changes the late dates. The “start on or after” constraint on all activities on half of the available float changes the early dates. Table 8 shows how the constraints create the constrained early and late dates from the original ones. We limit the range of the attainable float.

This simulation reflects a managerial decision to limit the execution period of noncritical activities. In one case, there is confidence that activities can be completed by consuming less than half of their available float. Conversely, there are pessimistic expectations that more float will be required and that the execution date will be towards the late dates. Animation S7 compares the animations for these two scenarios. It is evident how the “finish on or before” keeps scheduled activities toward their early start, whereas the “start on or after” shifts activities toward their late start. As expected, the resource distributions are very different from each other. In the “finish on or before”, RF=PZ[sup.R,total]\SD[sup.0,*]=970-850=120. In the “start on or after”, RF=PZ[sup.R,total]\SD[sup.0,*]=1000-850=150. There is also computer-generated commentary in the video.

6. Group Theory in Scheduling

6.1. Group Theory

After studying the schedule animations, we see that every time sweep creates a collection of schedule instances, which are permutations of the activities of the graph G. The motion of the data date in the time sweep generates these permutations. In some cases, the data date creates delays by shifting activities. In others, there is progress without delays. We also discover patterns and categories in the schedule and resource usage graph comprising five sub-areas that represent project risks (Section 5.1.4).

Since our schedule permutations are objects (elements) of a set, we seek to inquire as to if this set is also a group. In abstract algebra, group theory studies algebraic structures known as groups. A group, G, consists of a set of objects and a binary operator, *, on those objects, satisfying four axioms. Group theory has important applications in (a) encryption algorithms and secure communications, (b) particle physics and quantum mechanics, and (c) crystallographic groups that describe the symmetry of crystal structures in chemistry. Moreover, group theory is very useful in problems with permutations and combinations. Hence, even the solutions to the Rubik’s cube can be represented by group theory.

Using the tools of group theory will allow us to find new solutions to scheduling with resource constraints, the difficulty of which arises from the vast number of activity permutations. Applying more advanced concepts and techniques from group theory may open new horizons in decision-making in project management.

6.2. The Four Axioms in the Activity Permutation Group

We recall that a group, G, consists of a set of objects and a binary operator, *, on those objects, satisfying the following four axioms: closure, associativity, identity element, and inverse element. More specifically, the four axioms that need to be satisfied are:

* The operation * is closed. For group elements h and g in G, h*g is also in G;

* The operation * is associative for elements f, g, and h, (f*g)*h=f*(g*h);

* There is an identity element e, such that e*g=g*e=g;

* All elements in G have an inverse g[sup.-1] relative to *, so g*g[sup.-1]=g[sup.-1]*g=.

There are many types of groups, such as groups of numbers and symmetry groups of geometric objects. The Rubik’s cube group shows the structure of the Rubik’s cube puzzle [52,53,54,55,56,57,58], as the group elements are all the different moves of the cube. Drawing inspiration, we prove that the permutations of the scheduled activities in a time sweep are a group.

In the case of scheduling, the objects (elements) of group G are all the feasible permutations of activity durations as expressed by intervals. We use the same notation for the group formed from the graph G. The binary operator * is the movement of activities as the data date shifts by a single time unit during the time sweep. The activities are incrementally shifted from the early to late dates, forming many instances represented by Gantt charts. The transformation is a function that calculates the scheduled time intervals of time ts based on the previous period, SINS[sup.ts,*]=f(SINS[sup.ts-1,*]). Additionally, the resource distribution changes at every period, as it is derived from every schedule permutation.

There are four types of outcomes on activities during the transformation: activity progress, activity delay from the data date, activity delay from a predecessor, and no effect. The group is formed by all the feasible permutations of the activities between their early and late dates. The group operation can be defined as follows. If M[sub.1] and M[sub.2] are two moves, M[sub.1]*M[sub.2] is the move where one first does M[sub.1] and then M[sub.2]. We will show that the objects of the group satisfy the four axioms.

The group is closed under * since for the moves M[sub.1] and M[sub.2], M[sub.1]*M[sub.2] is also a move. All permutations of the activity durations are between the lower and upper limits set by the early and late dates, respectively.

We can show that (M[sub.1]*M[sub.2])*M[sub.3]=M[sub.1]*(M[sub.2]*M[sub.3]) for any three moves. Equivalently, this is like stating that the same three moves will put the schedule in the same instance. The order of the moves is essential. However, the outcome is independent of their grouping. In all cases, the final configuration will be the same. The time sweep is associative as long as the order is conserved. Two moves followed by another is equivalent to a first move and then the other two.

If e is the ‘null’ move, meaning it does not change the Gantt chart, then M*e means “first do M, then do nothing”. Hence, M*e=M. The identity element is a transformation that leaves the dates unchanged. This occurs when there is pure progress without delays in the time sweep.

If M is a move, we can reverse the outcome of the move by M[sup.-1]. The move M*M[sup.-1] means “first do M and then undo the steps of M”. Hence, M*M[sup.-1]=e and M[sup.-1] is the inverse of M. Every activity shifted to the right can be shifted back to the left. This is equivalent to moving the data date backward and placing the activities in their original position. The transformation function is a bijection. Hence, all elements have inverses.

The basic time sweep forms the group G[sub.ts]. The application of constraints creates other groups, i.e., G[sub.fob] is the group formed by the “finish on or before” constraints, as shown in the example. Schedule animation is a tool for viewing these groups.

7. Discussion

7.1. Enhancing Schedule Perception and Attaining Research Objectives

7.1.1. Dynamic Instead of Static View

Schedula Anima has succeeded in facilitating the dynamic visualization of bar charts and resource usage. The animations capture the true dynamic nature of projects. We monitor the changes in the Gantt chart and the resource usage between the early and late dates, which are two extreme situations. The rapid overview of the schedule broadens and enhances our perception since we do not rely on a static view.

7.1.2. Schedule Evolution—Ripple Effect and Delay Analysis

Delay analysis is performed by simulating the evolution of the schedule between the early and late dates. A delay in an activity is immediately propagated to its successors. Hence, the consumption of activity float is monitored concurrently with the float consumption of its successors in the network. The float consumption profile helps identify and quantify the ripple effects of delays.

The ripple effect reveals that delays in activities earlier in the schedule have more significant effects than later ones. For example, delays in earthworks, archaeological excavations, final design, and geotechnical investigations consume crucial float from the construction activities. A float management strategy can be formulated by comparing the cost versus the benefits of protecting the float of activities early in the project. Hence, emphasis must be placed on controlling these activities in large projects.

7.1.3. Rescheduling Prioritization

Float is now studied relative to the activity duration. The newly introduced concepts of air and ice provide measures of the rigidness or flaccidity of the schedule by indicating how similar late dates are to early dates. In noncritical activities, the possible gaps or overlaps between the early and late dates are identified. In the presence of ice, the late dates overlap with the early dates, so the resource distribution is similar. The schedule is more flaccid in the presence of air. During the animation, we can track how ice is depleted and how air is formed as the float is consumed, while colors make it easy to visualize periods of air and ice. Also, using a background color assists in understanding the boundaries of the activities in time and the resources in the usage graph. This form of prioritizing activities assists in activity rescheduling. Overall, the Gantt chart and resource usage are depicted in five distinct areas/groups representing different project risks.

7.1.4. Resource Usage Search Space Visualization and Resource Usage Float

When examining several permutations of schedule activities, we also plot their corresponding resource usage graphs. The search space is visualized by tracking the areas these distinct graphs cover. This visualization allows us to define a resource float metric and understand resource usage variation between the early and late dates.

7.1.5. A New Approach to Resource Smoothing

Whereas resource usage graphs usually consider the early or late dates, the time sweep enables a search amongst many usage profiles. The resource-smoothing index helps examine resource continuity in the many peaks and dips of resource usage. By reviewing a large search space, we come to conclusions about the schedule instance with the optimal resource-smoothing profile, often at an intermediate position between the early and late dates. In practice, some activities must be rescheduled to achieve optimal smoothness.

Our approach to resource smoothing differs from that of Burgess and Killebrew [34], which starts from the end of the network and works its way back to the first activities. In doing so, the delays of the last activities are independent of the delays of earlier activities, and hence, the ripple effect is not simulated. With the time sweep, we push activities from the beginning rather than pulling the last activities, attaining a more realistic simulation of delays. Also, Schedula Anima has uncovered a notable correlation between resource smoothing and activity float consumption. The lowest values of the smoothness index are encountered when we have steady or zero float consumption—as the data date moves, activities shift at a steady rate or not at all. Since resource smoothness depends on the float consumption’s stability, it can be tracked independently of the smoothness index.

7.1.6. Project Communication

Projects have many project team members spread out in distant locations. Schedule animation provides a new means of communicating the schedule to team members. A project control unit may create an animation with commentaries by experienced planners or artificial intelligence. As such, less specialized staff in the scheduling may acquire insights into the project. The animation may be communicated within the organization via a web application, e-mail, intranet, or YouTube.

7.1.7. Education and Professional Training

Schedule animation may be helpful in education and professional training. The animation of the CPM algorithm provides a very intuitive presentation of how the algorithm performs and the nature of activity criticality and float. As the Gantt chart has advantages over the precedence diagram network, schedule animation will help demonstrate the CPM algorithm’s benefits and limitations. Animations regarding activity relationships, float, float consumption, smoothing, and resource usage may be highly beneficial.

7.2. Future Research

7.2.1. Software Development and Roll Out

Providing a tool for practitioners related to the daily management of projects will accelerate the application of the concepts and algorithms presented. Hence, we envisage creating add-on software that incorporates animation algorithms into commercial software or incorporating the functionality of animation into existing scheduling software.

One of the most important aspects of the software is an advanced graphical user interface (GUI) that allows for the viewing of large activity networks. Usually, a user can work with around 30–40 activities at a time. Hence, the ability to filter parts of the schedule according to the work breakdown structure is essential. It is also envisaged that the user can pause the animation or go to any desirable time and look at a static view. Regarding multiple resources, project cash flows can be created by multiplying resource usage with the unit costs. However, resource smoothing is performed on a single resource. Thus, when examining multiple resources, the manager may face conflicting decisions. Overall, software development and roll out are exciting research topics.

7.2.2. Artificial Intelligence Commentary in Scheduling

Organizations are constantly evolving by integrating artificial intelligence (AI) to manage their projects while innovating and automating specific tasks and processes for a smoother transition of projects [59]. We demonstrated how audio commentary with text-to-speech conversion or annotations can be incorporated into the animation to communicate insights to team members. A challenge is using AI to generate commentary regarding the schedule based on pre-defined rules regarding float, air/ice, resource usage, smoothing, and the work breakdown structure. This will be helpful for large projects.

7.2.3. Creating New Heuristics for the RCPSP

We propose two new heuristics following classical priority rules (heuristics), such as the latest finish time, minimum float, most successors, and greatest positional weight. First, a metric for rescheduling prioritization may be formed based on the values of ice and air. Essentially, a scale based on ice and air ranks activities based on their rescheduling ease from the most rigid to the most flexible (Section 5.1.2). Second, a heuristic regarding the importance of activities regarding the ripple effect could reflect how activities affect the float consumption of their successors (Section 5.1.3). Additional research is necessary to test these heuristics in resource allocation optimization. The project scheduling problem library (PSPLIB) [60] may be used to this end.

7.2.4. Optimization with Interval Matrices

In Section 3.3, we defined the schedule instance vector SINS (the set of instances of all activities in the time sweep) as an interval matrix. Beyond this paper, it will be interesting to formulate scheduling optimization problems with interval matrices. Software code has to be written to perform interval matrix operations, as demonstrated by Sit [61].

7.2.5. Group Theory in Graphs

By using schedule animation to examine the permutations of activities in a graph, we discovered that they form a group. The symmetry of an object has to do with keeping its shape and position unchanged when we apply a transformation to it [62]. Hence, the transformations of the schedule we have discovered are symmetries. This new approach may open new possibilities for studying the combinatorial explosion encountered in resource-constrained scheduling problems.

8. Conclusions

‘Schedula Anima’ is a development in visualizing schedules. In an era of digitalization, we enhance our perception of project schedules. By creating animations that simulate the schedule evolution, we find that the float consumption profile quantifies the ripple effects of activity delays—we see how individual activities impact project completion. We show how the concepts of ice and air model schedule rigidness and flaccidity and assist in rescheduling prioritization. We present a method for monitoring resource usage float, and delineating the search space for a specific time sweep. As resource smoothing is evaluated, a correlation between smoothness and float consumption is discovered. As activity duration and resource utilization are modeled by sets, logical operations on these sets define five sub-regions in the schedule and the resource usage graph that represent different risks. Additionally, animation may improve communication in project teams, and be beneficial in education and professional training. Finally, it is discovered that the permutations of activities in the simulation form a group.

Construction project managers are faced with difficult decisions and multiple and sometimes conflicting objectives. The research findings are part of a framework that may improve resource utilization and the management of delays in projects. In the dynamic project environment, managers must constantly prioritize how they respond to resource constraints. Resource smoothing can assist in achieving continuous and uninterrupted resource utilization. Sometimes, they must protect float consumption or, in other cases, allow delays without consequences. The simulation helps anticipate delays and predict outcomes.

In terms of future research, we highlight the software development, the use of artificial intelligence in scheduling, the possible use of two new heuristics, optimization based on interval matrices, and the application of group theory in resource-constrained scheduling problems.

Schedule animation may impact scheduling in project management by providing a new perspective. Animation software transcends the limitations of commercial scheduling software but does not replace it. It expands, accelerates, and enhances our perception of the Gantt chart and resource utilization.

Author Contributions

Conceptualization, A.M. and J.-P.P.; methodology, A.M. and J.-P.P.; software, A.M.; validation, A.M. and J.-P.P.; formal analysis, A.M.; data curation, A.M. and J.-P.P.; writing—original draft preparation, A.M. and J.-P.P.; writing—review and editing, A.M. and J.-P.P.; visualization, A.M. All authors have read and agreed to the published version of the manuscript.

Data Availability Statement

The original contributions presented in the study are included in the article/Supplementary Material, further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Supplementary Materials

The following supporting information can be downloaded at https://www.mdpi.com/article/10.3390/buildings15030393/s1: Animation S1: CPM animation sequence (Algorithm 1); Animation S2: Activity Time Sweep with activity relationships (Algorithm 2-without ice/air); Animation S3: Activity Time Sweep with ice and air (Algorithm 2-without activity relationships); Animation S4: Resource Usage Time Sweep without ice/air (Algorithm 3); Animation S5: Resource Usage Time Sweep with ice/air (Algorithm 3); Animation S6: Video with activity time sweep and resource usage; Animation S7: Video with alternative time sweeps with activity constraints.

References

1. J.E. Kelley; M.R. Walker Critical-Path Planning and Scheduling.,pp. 160-173.

2. J.E. Kelley Critical-Path Planning and Scheduling: Mathematical Basis., 1961, 9,pp. 296-320. DOI: https://doi.org/10.1287/opre.9.3.296.

3. J.W. Fondahl, 2nd ed. edition; Department of Civil Engineering, Stanford University: Stanford, CA, USA, 1962,

4. Special Projects Office, Special Projects Office: Washington, DC, USA, 1958,

5. D.G. Malcolm; J.H. Roseboom; C.E. Clark; W. Fazar Application of a Technique for Research and Development Program Evaluation., 1959, 7,pp. 646-669. DOI: https://doi.org/10.1287/opre.7.5.646.

6. H. Prade Using Fuzzy Set Theory in a Scheduling Problem: A Case Study., 1979, 2,pp. 153-165. DOI: https://doi.org/10.1016/0165-0114(79)90022-8.

7. S. Chanas; J. Kamburowski The Use of Fuzzy Variables in Pert., 1981, 5,pp. 11-19. DOI: https://doi.org/10.1016/0165-0114(81)90030-0.

8. H.L. Gantt A Graphical Daily Balance in Manufacture., 1903, 24,pp. 1322-1336. DOI: https://doi.org/10.1115/1.4060667.

9. H.L. Gantt, 2nd ed. edition; The Engineering Magazine Co.: New York, NY, USA, 1916,

10. W. Clark, Ronald Press: New York, NY, USA, 1922,

11. J.M. Wilson Gantt Charts: A Centenary Appreciation., 2003, 149,pp. 430-437. DOI: https://doi.org/10.1016/S0377-2217(02)00769-5.

12. J. Geraldi; T. Lechter Gantt Charts Revisited., 2012, 5,pp. 578-594. DOI: https://doi.org/10.1108/17538371211268889.

13. Online Etymology Dictionary.. Available online: https://www.etymonline.com/word/schedule <date-in-citation content-type="access-date" iso-8601-date="2024-12-20">(accessed on 20 December 2024)</date-in-citation>.

14. S. Halim VisuAlgo—Visualising Data Structures and Algorithms Through Animation., 2015, 9,pp. 243-245. DOI: https://doi.org/10.15388/ioi.2015.20.

15. Z.J. Liu; T. Sun AAnim.,p. 1287.

16. M.F. Stallmann Algorithm Animation with Galant., 2017, 37,pp. 8-14. DOI: https://doi.org/10.1109/MCG.2017.2.

17. Y.D. Liang Teaching and Learning Sorting Algorithms Using Animation.,pp. 1755-1759.

18. Y.D. Liang Teaching and Learning Graph Algorithms Using Animation., 2018, 9,pp. 23-29. DOI: https://doi.org/10.22369/issn.2153-4136/9/2/3.

19. L. VÉGH; V. STOFFOVÁ Algorithm Animations for Teaching and Learning the Main Ideas of Basic Sortings., 2017, 16,pp. 121-140. DOI: https://doi.org/10.15388/infedu.2017.07.

20. V.R. Kamat Logical Product Models for Automated Scripting of Process-Level Construction Animations., 2008, 39,pp. 233-241. DOI: https://doi.org/10.1016/j.advengsoft.2007.01.025.

21. C.A. Osorio-Sandoval; W. Tizani; E. Pereira; J. Ninic; C. Koch Framework for BIM-Based Simulation of Construction Operations Implemented in a Game Engine., 2022, 12, 1199. DOI: https://doi.org/10.3390/buildings12081199.

22. M. Sami Ur Rehman; N. Abouelkhier; M.T. Shafiq Exploring the Effectiveness of Immersive Virtual Reality for Project Scheduling in Construction Education., 2023, 13, 1123. DOI: https://doi.org/10.3390/buildings13051123.

23. K.E. Bemmami; P. David Managing the Use of Simulation in Systems Engineering: An Industrial State of Practice and a Prioritization Method., 2021, 131,p. 103486. DOI: https://doi.org/10.1016/j.compind.2021.103486.

24. Z. Liu; L. Yang; R. Deng; J. Tian An Effective Approach with Feasible Space Decomposition to Solve Resource-Constrained Project Scheduling Problems., 2017, 75,pp. 1-9. DOI: https://doi.org/10.1016/j.autcon.2016.11.012.

25. Z. Liu; Z. Hua; L. Yang; R. Deng Search Space Decomposition for Resource-Constrained Project Scheduling., 2022, 134,p. 104040. DOI: https://doi.org/10.1016/j.autcon.2021.104040.

26. G. Koulinas; L. Kotsikas; K. Anagnostopoulos A Particle Swarm Optimization Based Hyper-Heuristic Algorithm for the Classic Resource Constrained Project Scheduling Problem., 2014, 277,pp. 680-693. DOI: https://doi.org/10.1016/j.ins.2014.02.155.

27. R. Kolisch Efficient Priority Rules for the Resource-constrained Project Scheduling Problem., 1996, 14,pp. 179-192. DOI: https://doi.org/10.1016/0272-6963(95)00032-1.

28. D. Castro-Lacouture; G.A. Süer; J. Gonzalez-Joaqui; J.K. Yates Construction Project Scheduling with Time, Cost, and Material Restrictions Using Fuzzy Mathematical Models and Critical Path Method., 2009, 135,pp. 1096-1104. DOI: https://doi.org/10.1061/(ASCE)0733-9364(2009)135:10(1096).

29. M. Hapke; R. Slowinski Fuzzy Priority Heuristics for Project Scheduling., 1996, 83,pp. 291-299. DOI: https://doi.org/10.1016/0165-0114(95)00338-X.

30. S. Baradaran; S.M.T. Fatemi Ghomi; M. Mobini; S.S. Hashemin A Hybrid Scatter Search Approach for Resource-Constrained Project Scheduling Problem in PERT-Type Networks., 2010, 41,pp. 966-975. DOI: https://doi.org/10.1016/j.advengsoft.2010.05.010.

31. X.A. Martin; R. Herrero; A.A. Juan; J. Panadero An Agile Adaptive Biased-Randomized Discrete-Event Heuristic for the Resource-Constrained Project Scheduling Problem., 2024, 12, 1873. DOI: https://doi.org/10.3390/math12121873.

32. H. Ding; C. Zhuang; J. Liu Extensions of the Resource-Constrained Project Scheduling Problem., 2023, 153,p. 104958. DOI: https://doi.org/10.1016/j.autcon.2023.104958.

33. Project Management Institute, 7th ed. edition; Project Management Institute: Newtown Square, PA, USA, 2021,

34. A.R. Burgess; J.B. Killebrew Variation in Activity Level on a Cyclic Arrow Diagram., 1962, 13,pp. 76-83.

35. S. Hartmann; D. Briskorn An Updated Survey of Variants and Extensions of the Resource-Constrained Project Scheduling Problem., 2022, 297,pp. 1-14. DOI: https://doi.org/10.1016/j.ejor.2021.05.004.

36. S. Chen; Y. Zeng; A. Majdi; A.A. Salameh; T. Alkhalifah; F. Alturise; H.E. Ali Potential Features of Building Information Modelling for Application of Project Management Knowledge Areas as Advances Modeling Tools., 2023, 176,p. 103372. DOI: https://doi.org/10.1016/j.advengsoft.2022.103372.

37. S.M.E. Sepasgozar; R. Karimi; S. Shirowzhan; M. Mojtahedi; S. Ebrahimzadeh; D. McCarthy Delay Causes and Emerging Digital Tools: A Novel Model of Delay Analysis, Including Integrated Project Delivery and PMBOK., 2019, 9, 191. DOI: https://doi.org/10.3390/buildings9090191.

38. Oracle, 22nd ed. edition; Oracle: Austin, TX, USA, 2022,

39. S. Shirodkar, Packt Publishing: Birmingham, UK, 2020, ISBN: 978-1838988722.

40. C.M. Lewis, 1st ed. edition; Microsoft Press: Redmond, WA, USA, 2022, ISBN: 978-0137565054.

41. L.A. Bucki, 1x1 Media: Leicester, NC, USA, 2017, ISBN: 978-1938162138.

42. G. Lucko; Y. Su; R.C. Thompson Theoretical Quantification of Ripple Effect of Delays in Network Schedules via Activity Cruciality., 2021, 129,p. 103789. DOI: https://doi.org/10.1016/j.autcon.2021.103789.

43. A.P. Chassiakos; S.P. Sakellaropoulos A Web-Based System for Managing Construction Information., 2008, 39,pp. 865-876. DOI: https://doi.org/10.1016/j.advengsoft.2008.05.006.

44. Z. Ren; C.J. Anumba; T.M. Hassan; G. Augenbroe; M. Mangini Collaborative Project Planning: A Case Study of Seismic Risk Analysis Using an e-Engineering Hub., 2006, 57,pp. 218-230. DOI: https://doi.org/10.1016/j.compind.2005.12.002.

45. A. Kaveh Set Theoretical Teaching-Learning-Based OptimizationSet Theoretical Teaching-Learning-Based Optimization Algorithm BT., Springer International Publishing: Cham, Germany, 2021,pp. 691-731. ISBN: 978-3-030-59392-6.

46. C. Artigues; S. Demassey; E. Neron Resource-Constrained Project Scheduling., Wiley-ISTE: London, UK, 2008, ISBN: 978-1-848-21034-9.

47. E. Rubei On Rank Range of Interval Matrices., 2019, 561,pp. 81-97. DOI: https://doi.org/10.1016/j.laa.2018.09.018.

48. R.E. Moore; R.B. Kearfott; M.J. Cloud, SIAM: Philadelphia, PA, USA, 2009,

49. S. Hema Surya; T. Nirmala; K. Ganesan Interval Linear Algebra—A New Perspective., 2023, 35,p. 102502. DOI: https://doi.org/10.1016/j.jksus.2022.102502.

50. O. Abudayyeh Audio/Visual Information in Construction Project Control., 1997, 28,pp. 97-101. DOI: https://doi.org/10.1016/S0965-9978(96)00046-4.

51. J. Harrison Summer Movement 3 Presto—The Four Seasons (Vivaldi).. Available online: https://freemusicarchive.org/music/John_Harrison_with_the_Wichita_State_University_Chamber_Players/The_Four_Seasons_Vivaldi <date-in-citation content-type="access-date" iso-8601-date="2024-12-12">(accessed on 12 December 2024)</date-in-citation>.

52. J. Chen Group Theory and the Rubik’s Cube—Harvard.. Available online: https://people.math.harvard.edu/~jjchen/docs/Group%20Theory%20and%20the%20Rubik's%20Cube.pdf <date-in-citation content-type="access-date" iso-8601-date="2024-12-20">(accessed on 20 December 2024)</date-in-citation>.

53. MIT Massachusetts Institute of Technology The Mathematics of the Rubik’s Cube.. Available online: https://web.mit.edu/sp.268/www/rubik.pdf <date-in-citation content-type="access-date" iso-8601-date="2024-12-20">(accessed on 20 December 2024)</date-in-citation>.

54. L. Daniels, Lakehead University: Thunder Bay, ON, Canada, 2014,

55. T. Sun Commutators in the Rubik’s Cube Group., 2024, 131,pp. 3-19. DOI: https://doi.org/10.1080/00029890.2023.2263158.

56. J. Yu; W. Li The Rubik’s Cubes in Group Theory., 2023, 5,pp. 275-281. DOI: https://doi.org/10.54254/2753-8818/5/20230454.

57. Wolfram MathWorld Rubik’s Group.. Available online: https://mathworld.wolfram.com/RubiksGroup.html <date-in-citation content-type="access-date" iso-8601-date="2024-12-11">(accessed on 11 December 2024)</date-in-citation>.

58. H. Zassenhaus Rubik’s Cube: A Toy, a Galois Tool, Group Theory for Everybody., 1982, 114,pp. 629-637. DOI: https://doi.org/10.1016/0378-4371(82)90362-4.

59. Y. Sheoraj; R.K. Sungkur Using AI to Develop a Framework to Prevent Employees from Missing Project Deadlines in Software Projects—Case Study of a Global Human Capital Management (HCM) Software Company., 2022, 170,p. 103143. DOI: https://doi.org/10.1016/j.advengsoft.2022.103143.

60. R. Kolisch; A. Sprecher PSPLIB—A Project Scheduling Problem Library., 1997, 96,pp. 205-216. DOI: https://doi.org/10.1016/S0377-2217(96)00170-1.

61. A. Sit Eigen Values of Interval Matrix., 2019, 1,pp. 6-11. DOI: https://doi.org/10.15864/AJAMC.142.

62. E. Frenkel, Basic Books: New York, NY, USA, 2013, ISBN: 978-0465050741.

Figures and Tables

Figure 1: (a) Air and ice in a Gantt chart. (b) Air and ice in resource usage graph. Blue: early, green: late, cyan: ice, and yellow: air. [Please download the PDF to view the image]

Figure 2: Dynamic resource usage. [Please download the PDF to view the image]

Figure 3: Schedula Anima software application. [Please download the PDF to view the image]

Figure 4: AoN precedence diagram. [Please download the PDF to view the image]

Figure 5: Early and late dates: (a) with activity relationships and (b) with ice and air. [Please download the PDF to view the image]

Figure 6: Resource usage: red for critical activities, blue for early dates, and green for late dates. [Please download the PDF to view the image]

Figure 7: Resource usage with air (yellow) and ice (cyan). Blue: early, green: late, and red: critical. [Please download the PDF to view the image]

Figure 8: Resource-smoothing index SM[sub.2] profile. [Please download the PDF to view the image]

Figure 9: (a) Float consumption profile. (b) Float consumption rate. [Please download the PDF to view the image]

Figure 10: Resource usage float consumption. [Please download the PDF to view the image]

Table 1: Resource leveling vs. resource smoothing.

Resource LevelingResource Smoothing

Resource limits are the primary constraint.

The project end date is the primary constraint.

The end date may be increased.

The end date cannot be increased.

It is applied to activities on the critical path.

Applied only to activities not on the critical path.Makes the best use of activity float and resource distribution.Activities move within their float limits.

The critical path can change or increase.

The critical path remains the same.

It is usually done before smoothing.

Smoothing may be applied separately or after leveling.

Table 2: Conditions for pushing driving noncritical activities (TF?0).

DescriptionCondition

Pushing while the data date is within the activity early and late start.

ES=ts<LS

Push while activity start instance does not move beyond activity late start.

IS<LS

The start of the activity instance is limited by the current data date.

IS=ts

Table 3: Conditions for pushing the successors of driving noncritical activities.

DescriptionCondition

The successor is not critical.

T F[sub.s]?0

Push if the finish instance of the driving activity IF[sub.k] is greater than the start of the instance of its successor IS[sub.s].

I F[sub.k]>I S[sub.s]

Push while the activity finish instance of the successor is less than its late finish.

I F[sub.s]=L F[sub.s]

Table 4: Project activity network data.

Act.DescriptionPred.Succ.Duration (Days)Resource(R[sub.i])

A

Utility relocation

B, C, D

30

60

B

Tunnel Portals

A

E, F

30

60

C

Culverts

A

F, H

60

120

D

Earthworks

A

H

130

130

E

Primary Support

B

G

90

90

F

Retaining walls

B, C

J, K

40

80

G

Tunnel lining

E

I

30

60

H

Pavement

C, D

J

60

120

I

Electromechanical

G

K

40

40

J

Asphalt

F, H

K

30

30

K

Signage

F, I, J

30

60

Total 850

Table 5: Activity network early and late dates.

Act.ESEFLSLFTFFFIFw[sub.i c e]w[sub.a i r]

A *

30

30

-

-

B

30

60

60

90

30

30

C

30

90

100

160

70

70

10

D *

30

160

30

160

-

-

E

60

150

90

180

30

30

60

F

90

130

180

220

90

90

50

G

150

180

180

210

30

30

H *

160

220

160

220

-

-

I

180

220

210

250

30

30

10

J *

220

250

220

250

-

-

K *

250

280

250

280

-

-

280

120

160

70

60

(*) critical activity.

Table 6: Comparing rescheduling prioritization on float vs. ice/air.

Ranking on FloatReschedulingRanking on Ice/AirCategoryRescheduling
ActivityTotal FloatAct.DurationIceAir

B

30

Difficult

E

90

60

Ice (rigid)

Difficult

E

30

Difficult

I

40

10

Ice (rigid)

Difficult

G

30

Difficult

B

30

Neither

Medium

I

30

Difficult

G

30

Neither

Medium

C

70

Medium

C

60

10

Air (flaccid)

Easy

F

90

Easy

F

40

50

Air (flaccid)

Easy

Table 7: Interpretation of colors in Gantt charts and resource usage graphs.

Color/TypeGantt ChartResource LoadingMeaning

red/critical

constant

constant

Fixed

cyan/ice

intersection of early and late dates

common usage between early and late

Constrained

blue/early

early dates (not intersecting late)

early usage (not intersecting with late)

Optimistic

green/late

late dates (not intersecting early)

late usage (not intersecting with early)

Pessimistic

yellow/air

gap between early finish and late start

possible usage between early and late

Flexible

Table 8: Constrained early and late dates for alternative time sweeps (float at 50%).

Original DatesFinish on or BeforeStart on or After
Act.ESEFLSLFCESCEFCLSCLFCESCEFCLSCLF

B

30

60

60

90

30

60

45

75

45

75

60

90

C

30

90

100

160

30

90

65

125

65

125

100

160

E

60

150

90

180

60

150

75

165

75

165

90

180

F

90

130

180

220

90

130

135

175

135

175

180

220

G

150

180

180

210

150

180

165

195

165

195

180

210

I

180

220

210

250

180

220

195

235

195

235

210

250

Author Affiliation(s):

Centre for Construction Innovation, Laboratory of Construction Equipment and Project Management, Department of Structural Engineering, School of Civil Engineering, Zografou Campus, National Technical University of Athens, 9 Heroon Polytechneiou Str., 15780 Athens, Greece

Author Note(s):

[*] Correspondence: amaravas@mail.ntua.gr (A.M.); jpp@central.ntua.gr (J.-P.P.)

DOI: 10.3390/buildings15030393

COPYRIGHT 2025 MDPI AG
No portion of this article can be reproduced without the express written permission from the copyright holder.

Copyright 2025 Gale, Cengage Learning. All rights reserved.


Schedula Anima: Dynamic Visualization of Gantt Charts and Resource Usage Graphs in Project Scheduling. (2025)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Tish Haag

Last Updated:

Views: 6285

Rating: 4.7 / 5 (47 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Tish Haag

Birthday: 1999-11-18

Address: 30256 Tara Expressway, Kutchburgh, VT 92892-0078

Phone: +4215847628708

Job: Internal Consulting Engineer

Hobby: Roller skating, Roller skating, Kayaking, Flying, Graffiti, Ghost hunting, scrapbook

Introduction: My name is Tish Haag, I am a excited, delightful, curious, beautiful, agreeable, enchanting, fancy person who loves writing and wants to share my knowledge and understanding with you.