3.3.1. Schedule optimization application process
This study introduces an innovative BIM system and methodology that actively address construction schedule overlaps by analyzing the risks associated with these overlaps and mitigating the level of overlap specifically for high-risk activities. The study develops optimization algorithms that suit a project's specific characteristics, which can propose an optimal schedule alternative. When high-risk activities are performed in adjacent areas, there can be a decline in work operation performance and an accumulation of resources. Therefore, minimizing schedule overlaps can improve schedule planning without changing the initial construction duration. The research presents a step-by-step process for minimizing schedule overlapping.
The process illustrated in Figure 3.21 is carried out in the following steps:
1. The risk analysis results for overlapping activities are recorded.
2. The activity schedule is evaluated, including early start (ES), early finish (EF), late start (LS), late finish (LF), and total float (TF). The early schedule table for each activity is examined.
3. Overlapping activities are analyzed (SOR - Schedule Overlapping Analysis).
4. Activities are generated, taking into consideration factors such as the overall construction duration, schedule relationships, and total float (TF).
5. Genetic algorithm (GA) operators (selection, crossover, mutation, replacement) are computed.
6. An optimized solution is created by computing schedule overlapping ratios and fitness functions.
7. A 4-D simulation is conducted to visualize the final optimized schedule.
8. A tradeoff is made between the total duration of overlapping activities and the cost associated with the risk, represented as the Pareto front.
Risk analysis phase Using
fuzzy theory Schedule optimization using Genetic Algorithm
Target selection for schedule optimization
Generation initial population
1st Population X1 X2 X3 X4 Xn
1 2 3 4 N
Activity Number
2nd Population X1 X2 X3 X4 Xn A B C D E F
Schedule optimization using Genetic Algorithm
0 0 1 1 0 0
(1)
0 1 1 1 0 0
(2)
0 0 0 1 0 0
(3)
0 0 1 0 0 0
(4)
POPULATION
Fitness?
NO
0 0 1 1 0 0
(1)
0 1 1 1 0 0
(2)
0 0 0 1 0 0
(3)
0 0 1 0 0 0
(4)
0 0 1 1 0 0
(1)
0 0 0 1 0 0
(2)
0 0 1 0 0 0
(3)
0 0 1 1 0 0
(4) SELECTION
0 0 1 1 0 0
(1)
0 1 1 1 0 0
(2)
0 0 0 1 0 0
(3)
0 0 1 0 0 0
(4)
0 0 0 1 0 0
0 0 1 1 0 0
0 0 1 1 0 0
0 0 1 0 0 0
CROSSOVER
MUTATION
0 0 0 1 0 0
0 0 0 1 0 0
0 0 1 1 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
0 0 1 1 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 1 0 0 0
0 0 1 1 0 0
0 0 1 0 0 0
(1) (2) (3)
(4)
REPLACEMENT
Fitness?
YES
0 0 1 1 1 0
0 0 1 0 0 0
0 1 1 0 0 0
1 0 1 0 0 0
(1) (2) (3) (4)
REPLACEMENT NO
YES
A B C D E F
Planned Schedule Optimized Schedule
UPDATE
Optimized Time-cost
Figure 3.21: A process of schedule optimization using GA to optimize overlapping schedule and time cost
To minimize the occurrences of overlapping activities, a particular analysis needs to be conducted while adhering to specific limitations. The duration of overlapping should be decreased for each activity within a specific total float (TF) period, maintaining relationships with preceding activities and keeping the original project duration unchanged.
Addressing individual overlapping activities is futile, as a project typically has numerous occurrences of overlapping activities. Consequently, all such activities should be adjusted within the TF period by shifting them back and forth in day units to determine an ideal schedule that reduces overlapping to the minimum level.
The methodology employed in this study focuses on identifying optimal schedule solutions by iteratively implementing a set of procedures based on the number of overlapping activities. To achieve this objective, a GA methodology is utilized. The primary aim of the GA is to minimize schedule overlap problems rather than enhancing the performance of the existing GA process or introducing new GA logic. In this approach,
each project activity is represented as a chromosome in each generation, and the movable days for each overlapping activity within the time frame are treated as genes. Once an initial solution is generated, the overall level of overlapping in the project is assessed during each generation. If the solution satisfies the fitness function, the GA process is concluded.
However, if the solution does not meet the desired criteria, the GA process continues for a predetermined number of generations until a stop condition is reached. By following this iterative process, it becomes possible to attain an optimal solution that minimizes the occurrence of overlapping activities. As a result, an optimized schedule can be generated, ensuring a reduction in overlapping without altering the initial duration of the project.
3.3.2. Function and constraints utilized in the optimization of the project’s schedule
To perform the GA analysis, an objective function must be defined to determine the optimal solution for each generation. In this research, the objective function is designed to minimize the level of overlapping in a project by finding the best set of movable days for overlapping activities within the given total float (TF) for each generation. The objective is to minimize the sum of schedule overlapping ratios for all overlapping activities, as calculated in Equation (17):
(𝑥)𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑒 = ∑𝑁𝑖=1𝑆𝑂𝑅𝑖 (17)
Where 𝑓(𝑥) is the summation of SOR for each activity; 𝑆𝑂𝑅𝑖 is the schedule overlapping ratios of ith activity; N is the total number of project activity.
The number of days that can be moved within the TF for an overlapping activity does not have an impact on the overall project duration. To find an optimal solution, a real number solution is used, which involves generating a random number (𝑥𝑖) of movable days within the range of the TF for each activity. However, the following limitations will be applied:
0 ≤ 𝑥𝑖 ≤ 𝑇𝐹𝑖 (18)
Where 𝑥𝑖 is the movable duration of ith activity; 𝑇𝐹𝑖 is the total float of ith activity.
The 𝑥𝑖 previously mentioned depend on the number of days of precedent activities’ TF and moving days of the activity schedule. Therefore, the maximum number of movable days for each activity is constrained by its TF. The GA process aims to minimize the schedule overlapping ratio by finding the best population that satisfies this constraint. However, this
objective function does not take into account the quantity of resources needed or the proximity of the activities.
3.3.3. The process of generating an initial solution for the GA algorithms
In this research, an enhanced encoding approach is implemented to represent integer values as movable dates, leveraging the characteristics of schedule values. This improved real encoding technique enables the use of randomly generated real numbers as chromosomes within the population of solutions, eliminating the need for a binary signaling process. By employing the critical path method (CPM) analysis and utilizing the planned schedule data, the chromosome carrying the Total Float (TF) value is estimated.
The length of the array for each population of solutions is determined by the total number of activities (N). However, for critical path activities, the corresponding array space does not generate a random integer value. This configuration is designed to establish constraints on the movement of days based on the critical path's characteristics. An initial population is created by repeatedly generating random integers of TF values according to the number of activities.
In order to satisfy specific constraints, the solutions generated must fall within the total duration of the project. This study limits the possible solutions within each activity’s TF, and proposes an equation for precedence relation value (= 𝑃𝑖) related to each activity’s precedence relation. The precedence relation value (= 𝑃𝑖) represents the number of movable days within the TF for each activity. As illustrated in Figure 2.15, for an activity B with preceding activities, the solution generation range is 0 ≤ 𝑥𝐵 ≤ 𝑇𝐹𝐵, whereas for an activity B that follows a preceding activity, the solution generation range is 𝑇𝐹𝑏 minus the number of days the preceding activity can be moved.
0 ≤ (𝑥𝑖~𝑅𝑎𝑛𝑑𝑜𝑚) ≤ 𝑇𝐹𝑖 − 𝑃𝑖∗ (19)
𝑃𝑖 = 𝑥𝑖+ 𝑃𝑖∗ (20)
Where 𝑥𝑖 is the randomly generated integer value; 𝑇𝐹𝑖 is the total float of the i activity; 𝑃𝑖 is the precedence relation value of the i activity; (with the latest finish date).
When a base activity has multiple preceding activities, the number of days that all previous activities take to complete should be considered to set the range for generating the solution for the base activity. The preceding activity with the highest priority, as determined by the 𝑃𝑖 value, should be chosen. To make this choice, the finish dates of all
preceding activities should be calculated, and the activity with the latest finish date should be treated as the preceding activity for the base activity.
A B C D E F
Start date
TF of Activity B
TF of Activity D
TF of Activity E
End date Legend:
Critical activity
Activity A
TF(A) = 0, x(A) = 0, P(A) = 0 Activity B
x(B) TF(B) - P(A) x(B)
TF= TF(B), x(B), P(B) = x(B) Activity D
P(B)
TF= TF(D), x(D), P(D) = x(D)+P(B) x(B)
x(D) TF(D) - P(B) x(B)
Figure 3.22: TF-based solution generation method utilizing activity relationships
3.3.4. Establishing the fitness function
The fitness function is used to assess how well an activity fits into an optimal solution whenever new solutions are created using GA operations. An optimal schedule refers to a schedule that minimizes the total sum of overlapping ratios of all activities. The fitness value is calculated by dividing the sum of all overlapping ratios in the initial schedule by the sum of all overlapping ratios in the corresponding population, as depicted in the equation (21).
𝐹𝑖𝑡𝑛𝑒𝑠𝑠𝑘 = ∑ 𝑆𝑂𝑅𝑘
𝑁𝑖=1
∑𝑁𝑖=1𝑆𝑂𝑅𝑇𝑂
(21)
Where 𝑆𝑂𝑅𝑇𝑂 represents the overlapping ratio of each activity in initial schedule;
𝑆𝑂𝑅𝑘 represents the overlapping ratio of each activity in kth population; 𝑁 is the numbers of activity. The genetic algorithm (GA) operations, including selection, crossover, and mutation, are performed based on the fitness values to search for an optimal schedule that minimizes the level of activity overlapping. These processes involve selecting the fittest individuals, combining their genetic information through crossover, and introducing random changes through mutation to explore potential solutions that reduce overlapping.
3.3.5. Analysis of Genetic Algorithm operation
The initial population of solutions represents the number of movable days for overlapping activities within the TF, which is computed in the first generation. After calculating the fitness of each solution, dominant solutions that significantly reduce the
overlapping level are identified. These dominant solutions are more likely to be selected during the selection operation process, which is governed by the selection pressure. The selection pressure is the difference in fitness between dominant and recessive solutions, and the proper selection method is chosen based on the level of the corresponding selection pressure. In this study, the default selection method in MATLAB, stochastic uniform selection, is used.
The GA selects dominant populations through the selection process, which are further evolved through the crossover process. The crossover process combines genes of two parent solutions with high fitness to create a new offspring solution. In this study, the multipoint crossover method, which is an advanced version of the one-point crossover method, was used. After the crossover process is completed, the mutation operation is executed. The ‘crossoverFraction’ parameter in MATLAB specifies the percentage of genes that are exchanged between the two parent solutions. In this study, a Gaussian mutation was applied. Gaussian mutation is a type of mutation operator used in GA to introduce small, random changes to the genes of an individual in the population.
The population parameters that undergo the crossover and mutation operations do not account for certain characteristics like TF, activity relationships, and the overall project duration. Therefore, it is necessary to verify these parameters against the aforementioned attributes and correct any erroneous solutions. To accomplish this, the repair and replacement operation is utilized in this study. This involves generating a set of potential solutions that consider the relevant attributes, and subsequently checking the parameters that were altered during the crossover and mutation operations.
After the replacement and repair operations, the optimization process for a particular generation concludes in the optimization algorithm. This process is repeated until the user-defined completion conditions and the number of generations are met. The selection, crossover, and mutation processes are repeated for each generation. The solution with the lowest schedule overlapping becomes the most dominant solution. The project manager can use this solution as the final project schedule.
3.3.6. Tradeoff between the total cost of risk and the total overlapping duration The total overlapping duration measures the absolute amount of time that activities overlap. It provides an understanding of how much concurrent work is taking
place, which can help managers allocate resources effectively and identify potential schedule conflicts. Firstly, with every pairwise activity if they are existing of overlapping, the formula below will calculate the number of overlapping durations:
𝑂𝑣𝑒𝑟𝑙𝑎𝑝𝐷𝑢𝑟𝑎𝑡𝑖𝑜𝑛(𝑖, 𝑗) = max (0, min(𝐸𝐹𝑖, 𝐸𝐹𝑗 − max(𝐸𝑆𝑖, 𝐸𝑆𝑗)) (22) The total risk cost quantifies the financial risk associated with overlapping activities. By calculating the sum of the risk cost for each overlapping pair of activities, it provides an assessment of the overall financial exposure due to overlaps in the project schedule. This enables project managers to prioritize risk mitigation strategies and make informed decisions about resource allocation. Each activity will have a specific value of cost due to the risk evaluation in part 3.2 of this thesis and the formula to calculate the risk value of each pairwise activity as follow:
𝑻𝒐𝒕𝒂𝒍 𝑹𝒊𝒔𝒌 𝑪𝒐𝒔𝒕 = 𝑶𝒗𝒆𝒓𝒍𝒂𝒑𝑫𝒖𝒓𝒂𝒕𝒊𝒐𝒏(𝒊, 𝒋) × (𝑹𝑴𝒊 + 𝑹𝑴𝒋) (23) Where:
i is represent for base activity and j is represent for the following activity.
𝑅𝑀𝑖(𝑗) is the risk cost of activity i or j.
3.3.7. Pareto Front
Once the optimization process finished, all optimum solutions will be plotted to generate the pareto front. Pareto front serves all solution that are non-dominated each other, in term of the objective function value. Deriving the pareto front is important, as it will help the user to evaluate directly compare the pros and cons among all possible solution [16]. From this, the decision maker could see all of the optimum solution being traded among all objective function. In this study, it will generate the tradeoff between total cost of risk and total overlapping duration.