Content uploaded by Vahid Faghihi
Author content
All content in this area was uploaded by Vahid Faghihi on Dec 25, 2018
Content may be subject to copyright.
1
Construction Scheduling Using Genetic Algorithm 1
Based on Building Information Model 2
3
Vahid Faghihi, Ph.D. (corresponding author) 4
Ph.D. Graduate, Zachry Dept. of Civil Engineering, Texas A&M Univ., College Station, TX 77843-3136. E-mail: 5
savafa@gmail.com, Phone: +1 (979) 422-1872 6
7
Kenneth F. Reinschmidt, Ph.D. 8
Professor of Civil Engineering and J. L. Frank/Marathon Ashland Petroleum LLC Chair in Engineering Project Management, 9
Zachry Dept. of Civil Engineering, Texas A&M Univ., College Station, TX 77843-3136. E-mail: kreinschmidt@civil.tamu.edu 10
11
Julian H. Kang, Ph.D. 12
Associate Professor, Dept. of Construction Science, Texas A&M Univ., 3137 TAMU, College Station, TX E-mail: 13
juliankang@tamu.edu 14
15
16
2
Abstract 17
The construction project schedule is one of the most important tools for project managers in the 18
Architecture, Engineering, and Construction (AEC) industry that makes them able to track and 19
manage the time, cost, and quality (a.k.a. Project Management Triangle) of projects. Developing 20
project schedules is almost always troublesome, since it is heavily dependent on project 21
planners’ knowledge of work packages, on-the-job-experience, planning capability and 22
oversight. Having a thorough understanding of the project geometries and their internal 23
interacting stability relations plays a significant role in generating practical construction 24
sequencing. On the other hand, the new concept of embedding all the project information into a 25
3-dimentional representation of a project (a.k.a. Building Information Model or BIM) has 26
recently drawn attention to the construction industry. 27
In this paper, the authors demonstrate a novel approach of retrieving enough information from 28
the BIM of a project and then develop construction sequencing for the installation of the project 29
elements. For this reason a computer application is developed that can automatically derive a 30
structurally (statically) stable construction sequence, using the concept of the Genetic Algorithm 31
(GA). The term “structurally stable sequencing” in this article refers to the sequencing order of 32
erection in which the structure remains statically stable locally and globally during the entire 33
installation process. To validate the proposed methodology, the authors designed 21 different 34
experiments and used the proposed method for generating stable construction schedules, which 35
all were successfully accomplished. Therefore, this methodology proposes a novel approach of 36
construction project application of the GA, as an Expert System tool. 37
3
Keywords 38
Construction Project Schedule, Building Information Model, Genetic Algorithm, Stability 39
Relations 40
Introduction 41
The development of project schedules is a critical part of all types of projects including 42
engineering, manufacturing, construction, and others. However, engineering education, whether 43
at the graduate or undergraduate level, typically provides little instruction on how to develop 44
good construction or fabrication schedules. Construction engineers and managers on projects 45
learn on the job how to visualize the sequence of activities that will lead to good, feasible 46
schedules, without formal training. By integrating project scheduling with virtual three-47
dimensional geometric modeling, students could learn through hands-on interaction with the 48
system how to generate more effective project networks and schedules. The literature review 49
performed by the authors (Faghihi, Reinschmidt, & Kang, Automation in Construction 50
Scheduling: a Review of the Literature, 2014) showed that other researchers were mainly 51
focusing on scheduling with respect to resource handling and usage. This research intends to 52
show how the geometric information of a project can be used directly to generate construction 53
sequence. This direct use of the geometric information and the list of all the components from 54
the BIM of the project can eliminate the potential occurrence of errors in transcription of the 3D 55
data. 56
The main purpose of this research is to create an environment for construction planners to have a 57
visually interactive communication between the planning process and 3D models of the project 58
at each increment of time. This environment uses an algorithm that simulates the natural 59
4
evolutionary process in a rule-based approach to reach a feasible project schedule. The natural 60
evolutionary process in this research considers the relationships and dependencies of the project 61
elements from the Matrix of Constructability Constraints (MoCC), presented by the authors 62
(Faghihi, Reinschmidt, & Kang, Mathematical Framework for Spatial Relationships of the 63
Project 3D Elements, 2014) and shown in Equation 1, and uses previous knowledge gained 64
through experience from similar works. The determination and calculation of the relationships 65
and dependencies of the project elements are handled through a well-developed mathematical 66
algorithm reading all the geometric information on the project elements from the 3D project file. 67
The necessary common knowledge and previous experience would help the initial phase of 68
developing the algorithm by defining sets of rules to express element dependences. The 69
geometry reading algorithm and common knowledge used in this paper is described briefly in the 70
“Reading the Geometry” section and detailed description is provided in another paper by authors 71
(Faghihi, Reinschmidt, & Kang, Mathematical Framework for Spatial Relationships of the 72
Project 3D Elements, 2014). Using this algorithm, a project planner can change the work strategy 73
using predefined parameters and the 3D model, as a visual representation of the entire project, to 74
see the effects of different strategies on the schedule. These work strategies can be, but not 75
limited to, determining crane locations, material unloading spots, installation direction priorities, 76
and finding workaround solutions. 77
The proposed algorithm can potentially extend to have a two-way interactive environment 78
between project geometric model (BIM) and its schedule. This environment can bring new 79
dimensions to the management team of the project in which changing the design of the 3D model 80
directly and immediately results in a new and updated project schedule. Also, when the project 81
schedule is manipulated, the extended algorithm can detect which parts or elements of the project 82
5
may not be constructible regarding the updates in the project schedule by highlighting them. The 83
extended version of this algorithm (Faghihi, Reinschmidt, & Kang, Extended Genetic Algorithm 84
for Optimized BIM-based Construction Scheduling, 2014) and the managerial usage of the entire 85
proposed algorithm (Faghihi, Reinschmidt, & Kang, Objective-driven and Pareto Front Analysis: 86
Optimizing Time, Cost, and Job-site Movements, 2014) is described in details in other research 87
papers. 88
Equation 1- Matrix of Constructability Constraints 89
𝑀𝑎𝑡𝑟𝑖𝑥 𝑜𝑓 𝐶𝑜𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝐶𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡𝑠 𝑀𝑜𝐶𝐶 𝐴𝐴…𝐴
𝐴
𝐴
⋮
𝐴𝑠, 𝑠, ⋯𝑠
,
𝑠, 𝑠, ⋯𝑠
,
⋮⋮⋱⋮
𝑠, 𝑠, ⋯𝑠
,
Where: 90
Ai:projecttasks(geometricelementsinthe3Dmodelortheactivitiestobe91
scheduled)92
sj,i:dependenciesbetweenelements(thatcouldbeeither0or1showingnot93
dependentordependentrespectively)94
Considering Graph Theory and definitions of the matrices, the MoCC is a Directed Adjacency 95
Matrix or a Directed Design Structure Matrix (Directed DSM). The Directed DSM is a matrix 96
representing the project network (Kanda, 2011) and has been in use since the 1960s (Steward, 97
1962). The spatial translation of 3D BIM to the MoCC and then to the project network is shown 98
in Figure 1. The Genetic Algorithm will later use this project network (or MoCC) to generate 99
construction schedule for the given 3D model. The novel approach of decoding the 3D model 100
stability rules in to a Directed DSM is briefly mentioned in this article and mainly described in 101
6
another article written by the authors (Faghihi, Reinschmidt, & Kang, Mathematical Framework 102
for Spatial Relationships of the Project 3D Elements, 2014). In the current article, a new 103
approach of generating and developing construction schedules using the Genetic Algorithm and 104
the MoCC is described, tested, and verified. In the mentioned figure, the matrix in the middle, 105
MoCC, is generated based on the spatial relations of the geometry elements in the 3D model 106
considering the previously mentioned common knowledge of stability. By having this matrix, as 107
a numerical representation of the stability relations in a BIM, the next step will be generating a 108
constructible and stable project schedule for that specific 3D model. To reach a set of fully stable 109
project schedules, the stability score can be assigned to each possible solution. This stability 110
score will be the percentage of the project elements that are scheduled for installation in a stable 111
order (i.e. obeying the constructability constrains calculated in MoCC). Then, the target score 112
will be 100% of the stability that should be reached. This approach brings the environment of 113
optimization methods where the stability score should be maximized. To accomplish that 114
outcome, one of the best methods is the Genetic Algorithm (GA), which has already been proven 115
to be useful in project management and in Expert Systems as an optimization tool. In addition, 116
since the proposed matrix consists of zeros and ones, representing stability relations, it is very 117
well suited for the GA fitness function. The entire methodology process is summarized in the 118
following schematic view (Figure 2). More about the process will be described later in this 119
paper. 120
7
𝑀𝑜𝐶𝐶
12345678
1:#143
2:#209
3:#239
4:#269
5:#375
6:#510
7:#623
8:#736 ⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎡
00000000
00000000
00000000
00000000
11000000
01010000
00110000
10100000
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎤
Figure 1- BIM to Project Network
121
122
Figure 2- Schematic view of the methodology
123
Start
#143
#209
#239
#269
#375
#736
#510
#623
Finish
Columns Beams
2:#209
3
:#2
39
8:#736
7:#
6
2
3
4:#269
1:#14
3
5
:#
3
7
5
6
:#
5
1
0
8
Reading the Geometry 124
In this paper, the 3D model input to the algorithm is in a standard text-based format, called 125
Industry Foundation Classes (IFC). IFC, as an open and neutral specification, is an object-based 126
file format. The data model of this neutral file format is developed by buildingSMART with the 127
main goal of facilitating interoperability between the AEC companies, as a commonly used file 128
format for BIM (buildingSMART, 2013). The IFC model specification is listed as an official 129
International Standard ISO 16739:2013 (International Organization for Standardization, 2013). 130
More definitions on how the reading and extraction algorithm is working will be described as 131
follows. 132
The current developed algorithm is supporting only the structural elements, columns 133
(IfcColumn) and beams (IfcBeam), from the IFC file format of the BIM of a project.. For the 134
simplification of the calculations, these two element types (beam and column) were assumed as 135
lines with a boundary box around them. An example of how the boundary box of beams or 136
columns are assumed is shown in Figure 3. By going through the IFC standard 137
(buildingSMART, 2011), defining the dimensions of all of these elements can be calculated and 138
simplified to just start point and end point of a line. 139
140
(a) (b) (c)
Figure 3- 3D Element Simplification 141
9
In this research, whenever two elements are intersecting within their boundary box regions, they 142
are assumed as physically connected. Locating these connections by performing calculation on 143
the data retrieved from IFC file and applying stability rules as shown in Table 1, the MoCC can 144
be generated (Faghihi, Reinschmidt, & Kang, Mathematical Framework for Spatial Relationships 145
of the Project 3D Elements, 2014). More description of the table can be found in the mentioned 146
article. 147
Table 1- Stability Prerequisites 148
Lower Level Same Level Upper Level
Column Column - -
Beam - Supporting Columns or Beams -
Wall Beams Adjacent Columns and Beams -
Slab Regional Beams - -
Roof Regional Beams - -
Door - Container Wall -
Window - Container Wall -
Genetic Algorithm 149
The Genetic Algorithm is an optimization tool that uses a heuristic search that mimics the natural 150
evolutionary process (Mitchell, 1996). Using a well-defined fitness function, as the objective 151
function or core metric, randomly generated initial genomes can evolve into optimized 152
solution(s) for a given problem, considering objectives that are mathematically defined by the 153
fitness function. The GA has become a practical optimization tool in construction-related fields 154
of research due to the inherent features and characteristics. These characteristics can be 155
summarized in having ability to perform multi-objective optimization, avoiding exhaustive 156
10
search, and ability to find (at least) near optimum solutions (Ward Systems Group, Inc., 2013), 157
which all are fitted with the problems in construction field. 158
Literature Review 159
Davis introduced the use of the Genetic Algorithm for optimizing job shop scheduling in the 160
1980’s (Davis, 1985). A few years later, Wall used this algorithm for resource constrained 161
scheduling as his dissertation topic (Wall, 1996). He optimized the sequencing of job shop tasks 162
by feeding the GA with more than 1,000 different types of scheduling problems ranging from 163
small job shops to project scheduling (10-300 activities, 3-10 resource types). Chan et al. 164
presented their work as scheduling of resource-constrained construction projects using GA 165
(Chan, Chua, & Kannan, 1996). In their paper, they showed how their proposed GA-Scheduler 166
can optimize the resource usage and do the resource leveling to come up with better project 167
schedules compared to the heuristic methods in regard to resource allocation. Gonçalves et al. 168
continued this work later by tackling resource-constrained multi-project scheduling (Gonçalves, 169
Mendesb, & Resendec, 2008). Murata et al. (1996) introduced their multi-objective GA to reach 170
Pareto fronts of flowshop scheduling and described how their GA was developed. 171
Using the Genetic Algorithm, as an Expert System tool, for solving and applying in optimizing 172
schedules has been a focusing point for researchers. Li, Gao, and Shao (2012) presented their 173
“active learning genetic algorithm based” (ALGA) model that simplified the optimization and 174
integration of scheduling and process planning. Chen et al. (2012) developed their own GA-175
based scheduling algorithm to do job shop scheduling with reentrant process and parallel 176
machines characteristics. In 2012, other researchers proposed their intelligent GA for optimizing 177
scheduling problem of truck distributions for different centers (Lee, Kim, & Joo, 2012). Later in 178
the same year, Kaveshgar, Huynh, and Rahimian (2012) improved the efficiency of the Genetic 179
11
Algorithm use for solving the Quay Crane Scheduling Problems (QCSP). Joo and Kim (2013) 180
used their developed GA to solve single-machine scheduling problem with multiple rate-181
modifying activities and time-dependent deterioration. Chang et al. (2014) used emergency and 182
immediate logistics scheduling problems to prove the usefulness of their developed Greedy-183
Search-based Multi-Objective Genetic Algorithm (GSMOGA) in such cases. 184
In solving construction project scheduling problem, Toklu (2002) used Genetic Algorithm for 185
both having and not having resource constraints. He used a model for defining the relationships 186
between the network activities (Start-to-Start or SS, Start-to-Finish or SF, Finish-to-Start or FS, 187
and Finish-to-Finish or FF). Toklu simplified the relationships by defining basic mathematical 188
equations; for instance he defined the Start-to-Start relation between task i and task j as 𝑇189 𝐿𝑇, where Lssij is the start-to-start time lag between task i and task j. As seen in the above-190
defined mathematical relation, there can be different relationship types between task i and task j, 191
but the defined mathematical relation still remains valid. Jaśkowski and Sobotka (2006) 192
described their Evolutionary Algorithm as a system having the inputs such as relationship 193
structure, available resources and resource requirements of each project task. With these inputs, 194
their system was able to find the shortest duration of performing the project (Jaśkowski & 195
Sobotka, 2006). 196
The researchers mentioned above have demonstrated the usefulness of the GA for construction 197
schedule optimization. Although they were mainly focusing on resource leveling and 198
assignment, none of them generated construction schedules using the GA. The main goal of all 199
the mentioned researchers was to find better optimization approaches for available project 200
schedules and not developing one. To develop a logical construction schedule, the stability rules 201
of the structure should be known. Having these rules stored to a well-known matrix (Directed 202
12
DSM), the GA can start generating the desired construction schedules using the rules in the 203
matrix. 204
The proposed algorithm in this research can be used to produce the construction schedule from 205
scratch and for this reason a fitness function is required. To fulfill this requirement, using the 206
derived stability matrix from the BIM of the project will help. The defined objective in this GA 207
optimization is maximizing the constructability of the project, which means that the GA would 208
try to find constructible project schedules for the given project 3D model. The constructability of 209
a project schedule herein is defined as having all the elements statically stable during and after 210
the installation process. For example, the installation of a beam is considered constructible and 211
stable only if the two end structural supports (columns or beams) have been installed earlier. 212
Below are the general descriptions of core Genetic Algorithm functions and their definitions in 213
this research. 214
Main GA Functions 215
The following sections describe how the important functions of the proposed Genetic Algorithm 216
are defined and working. There are less important functions running in the process to facilitate 217
the calculations and transferring of genomes form one population to another; however, they are 218
not mentioned in here. 219
GenomeCreation220
In this approach the genomes consist of lists of elements to be installed in each time-unit (e.g. 221
day, week, or month) throughout the total project duration. By this definition, a genome can be 222
shown in either of the following two ways. The Matrix of Genome (MoG), as shown in Equation 223
2, consists of n rows, each of which represents a single element from the 3D model, and k 224
13
columns, indicating total installation duration. The non-zero value of gi,j shows the installation 225
time j, for the element, i. For example, if g5,3=1, it means that element number 5 is scheduled to 226
be installed in the third time-unit (which could be either hour, day, or week based on user 227
definition). If all the rows of this matrix are put in a single row in a way that the first column of a 228
row gets placed after the last column of the previous row, then a single string of matrix values is 229
generated (as shown in Equation 3) and is ready to be used in a GA population. 230
Equation 2. Matrix of Genome (MoG) 231
𝑀𝑎𝑡𝑟𝑖𝑥 𝑜𝑓 𝐺𝑒𝑛𝑜𝑚𝑒 𝑀𝑜𝐺 𝐷𝐷…𝐷
𝐴
𝐴
⋮
𝐴𝑔, 𝑔, ⋯𝑔
,
𝑔, 𝑔, ⋯𝑔
,
⋮⋮⋱⋮
𝑔, 𝑔, ⋯𝑔
,
OR232
Equation 3. Genome 233
𝑔𝑒𝑛𝑜𝑚𝑒𝑔,,…,𝑔,,𝑔,,…,𝑔,,…,𝑔,,…,𝑔,
Where: 234
n:numberofprojecttasks(geometricelementsinthe3Dmodelorthenumber235
ofactivitiestobescheduled)236
k:totalprojecttime‐unit(e.g.days,weeks,ormonths)237
The length of the genome or the number of genes, gi,j, in the genome is calculated as follows: 238
Equation 4. Length of the genome 239 𝐿𝑒𝑛𝑔𝑡ℎ 𝑜𝑓 𝑡ℎ𝑒 𝑔𝑒𝑛𝑜𝑚𝑒𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑔𝑒𝑛𝑒𝑠 𝑛 𝑘
14
In a random genome generation, the total project duration would be chosen based on initial data 240
from the user. Then, a string of zeros and ones is generated, with the length calculated by 241
multiplying the total project duration and the number of elements (tasks) retrieved from the 3D 242
BIM file. Therefore the only limitation for this random genome would be as shown in Equation 243
5: 244
Equation 5. Genome creation logical requirements 245 𝑔,1 & 𝑔,0→∀ 𝑚𝑗1:𝑔,0
The above condition simply means that if an element has been installed before, it cannot be 246
reinstalled. The easiest way to create this genome is to spread out n number of ones in string of n 247
× k zeros, where n is the number of elements and k is the total number of time-units. With this 248
condition, an element could be installed in one or more time-units if and only if all the time-units 249
are sequential. To simplify the genome more, each element would be installed in only one time-250
unit and no more. Through this simplification, in each row of the genome matrix there would 251
only be a single 1 and all other values would be 0. This simplification means that each element 252
can be installed in one or less than one time-unit and the installation of an element cannot be 253
extended to more than one time-unit. The time-unit can be assumed as hour, day, or week based 254
one user preferences. As a realistic simplification, this assumption is mimicking real practices in 255
different assembly processes specifically in construction projects. The logic that lies behind this 256
simplification is the installation process for prefabricated elements. Prefabricated elements in 257
construction projects can be listed as precast concrete panels, beams, and columns, steel structure 258
elements, doors and windows, HVAC ducts and devices, pipelines, etc. These type of elements 259
are typically fabricated outside the project jobsite (e.g. factory) and the installation process is 260
performed by simply placing them in their specified locations, realistically assumed as instant 261
15
installation. The same simplification is also valid in other manufacturing processes such as 262
soldering electronic components on the circuit board and assembling body parts of a car or even 263
an aircraft. 264
The algorithm is programmed in a way that it schedules the model elements to be installed using 265
cumulative normal distribution, simulating the S-curve work load in real project completion 266
phase. 267
EliteMembers268
In the GA, it is desirable that the fitness function score does not decrease from one population to 269
the next when maximizing the objective. Thus, when generating a new population, some of the 270
better genomes are allowed to move from the current generation to the next generation, 271
unchanged. This method is known as elitist selection and those selected genomes are called elite 272
members of the old population. 273
As an example, looking at Table 6 and Table 7 from the Appendix, it is noticeable that the first 274
genome, which has the highest score, is moved to the next generation intact. In that example, the 275
elite rate is set to 20%, one genome out of entire 5 member population. 276
FitnessFunction277
The fitness function for the GA could have multiple variables to measure and in this case it is 278
considered as a multi-objective GA. However, in this step of the research only one objective is 279
defined: constructability of the project sequences. 280
The constructability objective is the most important objective for the construction sequences and 281
should be closely tracked and measured. Above all, a project schedule should be completely 282
constructible covering all the project components scheduled to be installed. The constructability 283
16
score, in the form of a percentage, is calculated based on the number of the elements that are 284
obeying the constraints defined in MoCC, divided by total number of the elements, as described 285
below. 286
To determine the constructability score, the Matrix of Constructability Constraints (MoCC) is 287
developed as the key factor, which has been shown in Equation 1. In this matrix, all the rules and 288
constraints related to the specific 3D BIM are defined element-by-element using the rationales 289
behind the geometry and their dependencies to each other. Having the MoG, mentioned in 290
Equation 2, a function can easily be defined to read the sequence of elements installed from the 291
genome and determines the elements that are scheduled to be installed in each time-unit. Then, 292
for each of those elements, all the constructability constraints (prerequisite elements) would be 293
retrieved from MoCC. Then again, each element from this list of constraints would be checked 294
against the MoG to see if it has been scheduled for installation before or not. In case all the 295
prerequisite elements (constructability constraints) are satisfied, the element would be considered 296
as constructible. By dividing the total number of constructible elements by the total number of 297
elements and multiplying by 100, the constructability percentage of the genome is calculated. 298
All the descriptions for the fitness function of this paper is summarized in the Figure 4. The final 299
calculated score is the basis for the genome (schedule) selection described in the next section. 300
17
301
Figure 4 - Fitness Function Flowchart 302
SelectionMethod303
Selection functions that are traditionally used in GA are categorized in the following three 304
groups: (Sivaraj & Ravichandran, 2011) 305
Proportionate Selection: in this method (better described as Roulette Wheel 306
selection), each genome will get a score assigned, fi, using the fitness function. Then, 307
the cumulative fitness of the entire population, Pfi, will be calculated. After that, the 308
probability of selection for each genome is calculated as 𝑝𝑠𝑒𝑙
. This fitness score 309
is then used to assign the probability of being selected to each individual genome. 310
Ranking Selection: In linear ranking selection (Baker, 1987), first the individual 311
genomes are ranked based on their fitness values. Those genomes that have higher 312
fitness values will be ranked higher and those with lower fitness values will have lower 313
ranks. Then, the genomes are selected based on a probability that is linearly relative to 314
the rank of the genomes in the population. 315
Start
Selectthefirst
elementsinthe
genome(e);
(elementNo=1)
Listallthestability
prer equisite
elementsfrom
MoCC
Foreachstability
prer equisites (pre)
t
e
>t
pre
Retrieve
installationtime
fromthegenome
(t
e
)
Retrieve
installationtime
fromthesame
genome(t
pre
)
Yes
More
prerequisite
elements?
Yes
Elementeis
sched uled
correctly(i++)
No
Selec tnext
element(e);
(elementNo++)
More
elementsin
genome?
Yes
No
Score=100?
Score=(i/
elementNo)*100
Genome
(schedule)is
completelystable
Genome
(schedule)isnot
stable
Yes
No
Finish
No
18
Tournament selection: it consists of running several “tournaments” between a few 316
individual genomes selected randomly from the population. The one with the best 317
fitness (the winner of each tournament) is then chosen for crossover. 318
For this research, the Fitness Proportionate Selection (FPS, a.k.a. roulette wheel method) 319
introduced by Holland (1992) is chosen to be the selection function to pick parent genomes for 320
crossover function. 321
The selection function uses the calculated constructability scores from the fitness function for the 322
FPS method. The value of genome score divided by total sum of all scores of a given population 323
is equal to the selection chance of that genome for the crossover function. The higher the score of 324
a genome is, the more chance is has to be selected as a parent in crossover function. 325
Crossover326
In the GA, two genomes are selected as parents from the previous generation, which has just 327
been created, and paired for breeding two new genomes as their children for populating the new 328
generation. As described before, the parent selection would be handled using the specified 329
Selection Function. In this section, the process of how to breed two new child genomes from the 330
parent genomes is described. The parent selecting and breeding process will continue until the 331
desired number of genomes in the new population (defined by the user and equal to the size of 332
previous population) is reached. 333
To do the crossover for this GA, after selection of the two parents, a random duration will be 334
selected from one of the parents and both parents would be split from that random point in time, 335
in equal proportion. Mathematically the cutting point for both parents would be calculated as 336
follows: 337
19
Equation 6. Calculating the parents’ cutting points (Crossover) 338 𝐶𝑢𝑡𝑡𝑖𝑛𝑔 𝑝𝑜𝑖𝑛𝑡 𝑜𝑓 𝑝𝑎𝑟𝑒𝑛𝑡 1 𝑟𝑎𝑛𝑑𝑜𝑚1, 𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝑜𝑓 𝑝𝑎𝑟𝑒𝑛𝑡 1 1
𝐶𝑢𝑡𝑡𝑖𝑛𝑔 𝑝𝑜𝑖𝑛𝑡 𝑜𝑓 𝑝𝑎𝑟𝑒𝑛𝑡 2
𝑖𝑛𝑡𝑒𝑔𝑒𝑟𝐶𝑢𝑡𝑡𝑖𝑛𝑔 𝑝𝑜𝑖𝑛𝑡 𝑜𝑓 𝑝𝑎𝑟𝑒𝑛𝑡 1
𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝑜𝑓 𝑝𝑎𝑟𝑒𝑛𝑡 1𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝑜𝑓 𝑝𝑎𝑟𝑒𝑛𝑡 2
The reason for this proportional cutting point is that, since both parents are schedule 339
representations of a single project, they would naturally have a similar pattern. This way of 340
cutting creates better children because each part of the two parents may carry similar 341
construction schedule information and pairing them up in this way results in more constructible 342
children. The efficiency of this approach has been tested and verified during this research, as the 343
growth in constructability score is sped up by doing the crossover in the mentioned way. 344
The concern here is that all the elements are supposed to be scheduled for installation in one and 345
only one time-unit. This assumption simply means that there should not be an element such that 346
all the values in its row in the MoG are zero and no element that has multiple values of 1. In 347
other words, there should be no row whose sum is not equal to 1, meaning that every element is 348
installed at one time. The Validation Function performs this validating process to ensure all the 349
genomes are satisfying this condition. More description of the Validation Function can be found 350
in “Genome Validation” section. 351
The following steps show how this crossover function is performed. Here two different genomes 352
have been defined. These two genomes represent two different installation sequences (in this 353
case) for a three-element structure with durations equal to 4 and 3 time-unit respectively for 354
genome 1 and genome 2. 355
20
𝐺𝑒𝑛𝑜𝑚𝑒 1 |0010⋮0100⋮0100
|
𝐺𝑒𝑛𝑜𝑚𝑒 2 |001⋮010⋮100
|
Figure 5- Sample genomes 356
As mentioned earlier, these genomes can be shown as the following two matrices shown in 357
Figure 6. The first genome (matrix) schedules no installation on the first time-unit. The first 358
element is sequenced for the third time-unit and the second element for the fourth time-unit and 359
the last element for the second time-unit. In the second genome (or matrix), the third element is 360
scheduled for the first time-unit and the second element for the second time-unit and the first 361
element for the last time-unit. 362
To perform the crossover function on these two genomes (matrices), as described above, a 363
random time-unit will be selected from the range defined in Equation 6. The duration range from 364
the MoG 1 for random number pick up is 1 to 3 time-unit. Assumption in this example is that the 365
randomly picked number is 3. Therefore the MoG 1 will have a cutting point between its third 366
and fourth time-unit. Using the second part of the same mentioned equation, the cutting point of 367
the MoG 2 will be cutting between the second and the third time-unit. These cutting points are 368
illustrated as red dotted lines in Figure 6. 369
𝑀𝑜𝐺 1 001⋮0
000⋮1
010⋮0
𝑀𝑜𝐺 2 00⋮1
01⋮0
10⋮0
Figure 6- Sample MoGs, showing cutting points as red dotted lines 370
21
The crossover function will attach the first part of the first MoG to the second part of the second 371
one and do the same for the remaining parts to generate to new matrices. The early matrices are 372
called parent matrices and the later ones are the child matrices. The result of the crossover 373
function on these two MoGs considering the calculated cutting points will be as the following. 374
𝑁𝑒𝑤 𝑀𝑜𝐺 1 0011
0000
0100
𝑁𝑒𝑤 𝑀𝑜𝐺 2 000
011
100
Figure 7- Child matrices after the crossover function on their parents 375
As seen in Figure 7, both genomes are invalid regarding the placement schedule of the elements. 376
This invalidity is due to both not scheduling an element for installation (element number 2 in 377
new MoG 1 and element number 1 in new MoG 2) and double installation time for another 378
element (element number 1 in new MoG 1 and element number 2 in new MoG 2). There is 379
another function named “validation function” that is responsible to make necessary changes in 380
genomes to make them valid. This function is described further in this paper. 381
Mutation382
As a part of the GA, there is a mutation function changing the genomes in some point randomly. 383
The random mutation helps the optimization to avoid being trapped in local minima. To do this 384
mutation, a random gene needs to be picked and inverted its value to mimic the mutation. After 385
doing this mutation, the genome needs to be validated also. The mentioned random mutation 386
could be mathematically shown as below: 387
22
Equation 7. Mutation logics 388 𝑟𝑎𝑛𝑑𝐸𝑟𝑎𝑛𝑑𝑜𝑚1, 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑠
𝑟𝑎𝑛𝑑𝑇𝑟𝑎𝑛𝑑𝑜𝑚1,𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑖𝑚𝑒 𝑢𝑛𝑖𝑡𝑠
𝑠𝑒𝑙𝑒𝑐𝑡𝑒𝑑 𝑔𝑒𝑛𝑒𝑔,
𝑔,0→𝑔, 1 ‖ 𝑔,1→𝑔,0
However, a better mutation function could be described in another way. Each schedule genome 389
has multiple project elements that are not scheduled for installation obeying the MoCC, if and 390
only if the constructability score is less than 100%. To define a better mutation function reaching 391
for the 100% score faster one way is to find out those MoCC violating elements and randomly 392
mutate their installation time to somewhere later than the current time. Since changing the 393
installation time of a violating element to a later time is not violating any predefined rules, 394
genome validation is not required anymore and the calculation speeds up. 395
A simple example of how the mutation function effects the genomes is shown below. For this 396
purpose, imagine that the matrix shown in Figure 8 is for a very simple structure consisting from 397
two columns supporting a beam. The columns are considered as the first and the second elements 398
defined in the following matrix and the beam is the third one. 399
𝑀𝑜𝐺 1000
0010
0100
Figure 8- MoG before mutation function 400
As shown in the Figure 8, one of the columns is scheduled to be installed in the first time-unit 401
and the other in the third. Since the beam is supported by the two columns, as assumed in this 402
23
example, it should be installed after all the structural supports are installed. Based on the MoG 403
shown in Figure 8, the beam is scheduled to be installed in the second time-unit, before 404
installation of the second column. Therefore, the constructability score of this genome is 66% 405
(two elements out of three are scheduled correctly regarding the structural stability of the model). 406
In case this genome is selected to be mutated in the GA process, the third element (the beam) 407
will be chosen for mutation. In the first step of the mutation process, the initial installation time 408
value will be set to zero. Then, the function will find the latest installation time of the structurally 409
supporting element, which in this example is the latest time for two columns, calculated as the 410
third time-unit. Therefore, the mutation process determines the range from the next time-unit, 4, 411
and the total duration of the schedule, which is again 4, and will pick a random number from that 412
range. In this simple example the random time-unit selected from the range will be 4. Thus, the 413
gene that should be mutated is the 4th time-unit of the 3rd element. The mutated MoG is shown in 414
Figure 9. 415
𝑀𝑜𝐺 1000
0010
0001
Figure 9- MoG after mutation function 416
Since the mutation function is not violating the structural stability rules, the validation of the 417
genome is not needed. 418
GenomeValidation419
As mentioned earlier in “Crossover” section of this paper, it is very likely that the newly 420
generated genomes after the crossover function are not valid project schedules. This invalidity 421
can be due to not scheduling at least one element for installation at all or schedule it more than 422
24
one time to be installed. Considering the Figure 7, both child MoGs are invalid, considering the 423
two above mentioned criteria. To resolve this problem, the “Validation Function” is added to the 424
methodology. The logical formulation of this function is shown in Equation 8. 425
Equation 8. Validation logics 426 ∀𝑖∈1,2,…,𝑛 ∃ 𝑗 1,2,…,𝑘: 𝑔,1
AND 427
∀𝑖∈1,2,…,𝑛 & 𝑗 1,2,…,𝑘 & 0 𝑐𝑘: 𝑔,1 & 𝑔,𝑔,0
OR 428
∀𝑖∈1,2,…,𝑛∶𝑔
1
Where: 429
gij:thevalueofelementiintime‐unitjinthegenome430
i:theelementnumber431
j:time‐unitstepnumber432
n:totalnumberofelements433
k:totalnumberoftime‐unitsteps434
c:anyrandomnumberbetweenzeroandk435
25
The validation function takes a look at the MoG and finds out which elements are not defined to 436
be installed or they have multiple installation times. For the first case it randomly schedules the 437
elements within the project duration and for the later it maintains the first installment and 438
removes the rest. Taking the new MoG 1 of the Figure 7 as an example, the validated version of 439
it will look like Figure 10. In this example, the second installation for the first element is 440
removed and randomly the second element is scheduled to be installed in the third time-unit. 441
𝑁𝑒𝑤 𝑀𝑜𝐺 1 0010
0010
0100
Figure 10- Validated MoG 442
CalculationTermination443
Similar to all the Genetic Algorithm applications, this proposed method will repeat all the 444
functions and steps mentioned above until all the population genomes (construction schedules) 445
reach the full score (100%) for their constructability objective. At that point, the calculation will 446
be terminated and the last population will be considered as the solutions to the scheduling 447
problem. A simple example of how this methodology can generate project schedules, using all of 448
the above mentioned functions, is available in the “Appendix” section. The example is the 449
project scheduling development for the model shown in Figure 1 using the proposed 450
methodology of the paper. 451
Research Validation 452
There are several different parameters and factors effecting the process of the proposed 453
algorithm in this research. To validate that this proposed algorithm is working in any cases and it 454
is a valid and usable methodology, different combinations of the values for the effecting 455
26
parameters should be investigated to check the soundness of the results. Hence, for validating 456
this proposed model, the “Experimental Validation and Design” is chosen and it fits well for this 457
research, considering different types of validations (Landry, Malouin, & Oral, 1983). The 458
parameters and their input ranges for doing this validation process is gathered through related 459
literatures and are described in next section. 460
Experimental Design 461
In an experiment, one or more process variables (or factors) should be changed intentionally so 462
that the effect of the changes on one or more response variables could be monitored. The design 463
of experiments (DOE) is an effective way in order to analyze the obtained data and produce valid 464
and objective conclusions (NIST ITL, 2012) with a minimum number of experiments. 465
The variables selected to be changed in this research are as follows: 466
Changing the Complexity of the input 3D BIM: 467
o Number of elements 468
o Connection types 469
Changing Genetic Algorithm parameters: 470
o Elite member percentage 471
o Mutation rate 472
o Number of genomes per population (population size) 473
o Construction duration range 474
For the 3D model inputs, three different models have been created to represent simple, moderate, 475
and complex BIMs. In this research, the authors are only focusing on structural models and 476
architectural elements, as well as piping, equipment, and HVAC, are not included in these 477
27
models. The level of complexity of the models is detected based on number of the structural 478
elements, size of the model, and connection types between structural elements. The screen shots 479
from three different BIM inputs to the method are shown in Figure 11. 480
The model (a) in Figure 11 is a simple structural model with 42 elements, 18 columns and 24 481
beams. The second model, (b), is a more complex model with 42 columns and 58 beams, 482
summing up to 100 elements. The last model is a generic turbine building structural model with 483
274 elements that consists of 102 columns and 172 beams (146 girders and 26 joists). The last 484
model is extracted from the models of typical turbine buildings used in the power-plant industry 485
and is considered as one of the complex steel structures in construction industry. As the detailed 486
descriptions of each 3D model input stated, these three 3D model input cover the complexity 487
range for 3D steel structure from a simple one (Figure 11, a) to a complex one (Figure 11, c). 488
Previous researches have shown optimum ranges for the GA population size, Mutation rates, and 489
Crossover rate (or Elite member rate). The researchers have shown different sizes for the GA 490
population as the optimum value of the parameter. The proposed population sized ranges from 491
(a) (b) (c)
Figure 11- Different 3D BIM input models
28
16 (Haupt, 2000) to 20~30 (Schaffer, Caruana, Eshelman, & Das, 1989; Grefenstette, 1986) and 492
sometime up to 50~100 genome (Obitko, 1998). Similar sensitivity analyses for mutation rate 493
has shown the range from 5% to 30% found the best optimum answers (Haupt, 2000). The 494
crossover rate is stated to be set as high as 85% to 90% (Obitko, 1998), which by the definition 495
of Elite member rate, the value for Elite member rate would be calculated as 10% to 15%. 496
Considering these values from other researchers, the authors in this paper selected a range from 497
20 to 100 genomes per population to cover almost all the mentioned populations sizes. Similarly, 498
the range from 5% to 20% for the Mutation rate and 5% to 30% for the Elite member rate are 499
selected as the parameters of the experimental design. The GA parameters changes are shown in 500
Table 2. 501
Table 2. Genetic Algorithm parameter change sets 502
To design the experiment to prove the benefits of the proposed methodology for developing 503
project schedules, the authors executed 21 different combinations of parameter changes. These 504
21 different cases used in this experiment consist of 3 model complexity changes as defined in 505
Figure 11 for each 7 GA parameter change sets shown in Table 2. All of the above changes in 506
parameters (both GA parameters and model changes) would result in 21 different runs of the 507
entire algorithm to validate its usefulness in almost any case. 508
GA Parameter Sets: 1st 2n
d
3r
d
4th 5th 6th 7th
Population size 30 20 50 30 20 50 100
Elite number 20% 10% 30% 20% 10% 30% 5%
Mutation rate 10% 5% 15% 5% 15% 10% 20%
Duration range 15±20% 10±20% 20±20% 10±10% 20±10% 15±10% 25±10%
29
The expected outcome for all of these different runs is to achieve multiple (the same number as 509
the population size) complete construction sequences that satisfy the constructability and 510
stability constraints of the model. These constructability constraints are calculated before in 511
MoCC, as mentioned earlier. If it can be shown that all the different designed experiments are 512
satisfying the objective of this research, it can be justified that the proposed algorithm is 513
applicable for automatic development of stable construction project scheduling. 514
Results 515
As defined in the last section, different sets of inputs have been created and imported to the 516
proposed algorithm to see how they could generate completely constructible project schedules. 517
As described earlier, the constructability objective is defined as, having the elements of the 518
project scheduled for the construction in a way that the local and global stability of the project 519
(model) is preserved. This stability of the elements and the model is controlled by the MoCC that 520
is calculated earlier. More details on how these different runs reach the objective of this research 521
is shown in Table 3 and Figure 12. The execution of this methodology was performed on regular 522
personal computer (CPU: Intel® Core™ 2 Due @ 316GHz, RAM: 8GB, OS: Windows® 7 523
Enterprise 64-bit). 524
Table 3- Completion results for different runs for the experimental design 525
Run Name ↓ 1st %100 score occurred
@ Ended @ Calculation duration
per generation (second)
Simple, 30G, 15T 82 100 0.05
Simple, 20G, 10T 535 559 0.04
Simple, 50G, 20T 75 99 0.10
Simple, 30G, 10T 98 121 0.04
Simple, 20G, 20T 276 306 0.04
30
The first label for the “Run Name” field in the Table 3 is as, Simple, Moderate, or Complex that 526
are defined earlier as input model complexity shown in Figure 11 representing models (a), (b), 527
and (c) respectively. In that field, the label G is showing the number of genomes in each 528
population for that specific run and the label T represents the mean of the initial duration range 529
as defined in Table 2. 530
Figure 12 shows the trend in which each of the designed experiments followed for maximizing 531
the objective. The goal of this research, as mentioned earlier, is to have stable and constructible 532
project schedules for any given 3D model. By maximizing the defined objective, constructability 533
score, the GA tends to incline to the highest score, 100%, in each population generation step. As 534
seen in the Figure 12, some of the designed experiments reach the complete score much faster 535
than the others. This difference in the pace of completing the calculations is due to several 536
Simple, 50G, 15T 67 97 0.08
Simple, 100G, 25T 36 64 0.26
Moderate, 30G, 15T 7,785 7,817 0.13
Moderate, 20G, 10T 49,932 50,050 0.07
Moderate, 50G, 20T 4,916 4,954 0.24
Moderate, 30G, 10T 8,217 8,281 0.10
Moderate, 20G, 20T 4,325 4,364 0.11
Moderate, 50G, 15T 4,888 4,915 0.23
Moderate, 100G, 25T 3,979 4,013 0.66
Complex, 30G, 15T 81,183 81,210 0.68
Complex, 20G, 10T 244,200 244,709 0.42
Complex, 50G, 20T 4,146 4,204 1.26
Complex, 30G, 10T 52,078 52,165 0.57
Complex, 20G, 20T 105,523 105,657 0.54
Complex, 50G, 15T 17,185 17,215 1.05
Complex, 100G, 25T 13,896 14,512 3.43
31
parameters. The two most important effecting parameters are: input 3D model complexity and 537
number of genomes in each population. The more complex the input 3D model is, the harder for 538
the algorithm to schedule the entire 3D model elements. Since the infinite number of model 539
elements is not possible, the calculation will always merge to the defined objective. However, 540
the calculation time increases by having more elements in the model. Also by increasing the 541
number of genomes in each generation, there will be better chances to have better crossovers and 542
mutations to reach the goal of the experiment. To show the trade-off between the different input 543
variables and the calculation duration of the proposed algorithm, a new metric is defined in this 544
research. This new metric is named NoG (the Number of Genes in each population) and is 545
calculated as shown in Equation 9. 546
Equation 9- Calculation of NoG (number of genes in population) 547 𝑁𝑜𝐺𝐴𝑣𝑒𝑟𝑎𝑔𝑒 𝑔𝑒𝑛𝑜𝑚𝑒 𝑙𝑒𝑛𝑔𝑡ℎ 𝑃𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛 𝑠𝑖𝑧𝑒
Where based on Equation 4: 548
𝐴𝑣𝑒𝑟𝑎𝑔𝑒 𝑔𝑒𝑛𝑜𝑚𝑒 𝑙𝑒𝑛𝑔𝑡ℎ𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 3𝐷 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑠 𝑀𝑒𝑎𝑛 𝑜𝑓 𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑑𝑢𝑎𝑟𝑡𝑖𝑜𝑛 𝑟𝑎𝑛𝑔𝑒
The correlation coefficient between the NoG of the 21 runs and their calculation duration per 549
generation, as shown in Table 3 is equal to +0.9, showing a high positive correlation between 550
these two variables. This correlation score clearly shows that by increasing the size of NoG, 551
either by increasing the 3D model element number, initial duration range, or population size, the 552
completion of calculation will take a longer time for each population. More correlation 553
coefficient calculations are shown in Table 4. 554
32
Table 4- Correlation coefficient table 555
Table 4 shows how the generation parameters are interacting with the calculation process. As 556
seen in that table, NoG has an extreme (>90%) positive impact on the generation calculation time 557
and minor (<40%) impact on the entire calculation of the runs. On the other hand, the number of 558
elements of the input 3D model has moderate (>40% & <90%) positive impact on the calculation 559
rounds and durations. Population size and average initial duration of the runs have very similar 560
impact on the calculation process. These two both have minor negative impact on calculation 561
rounds as well as total calculation time, beside slightly higher but positive impact on the each 562
generation calculation duration. 563
Furthermore, the calculation duration for each generation is increased almost on the same scale 564
of increase in NoG. The calculation duration is also increased around half the scale of increase in 565
either number of 3D model elements, population size, or average duration of the initial 566
population (as the user inputs). On the other hand, the number of total generation rounds to 567
complete the schedule generation process increased in half the scale of increase in number of 3D 568
model elements. Also it is decreased in the third scale of increase in either population size or 569
average initial duration. As can be seen in the Table 4, the increase or decrease in NoG would 570
not affect the total number of calculation rounds, but its increase would increase the total 571
Calculation Rounds
Calculation Duration
per Generation
Total Calculation
Duration
NoG -0.05 0.98 0.30
Number of Elements 0.58 0.62 0.76
Population size -0.32 0.55 -0.11
Mean of the Initial
Duration Range
-0.31 0.43 -0.11
33
calculation duration by the scale of 30%. The total project duration is increased by the factor of 572
76% of the scale of increase in number of 3D model elements. In the meantime, it decreased by 573
10% of the increase scale of the population size and average initial duration. 574
As a summary for Table 4, the calculated correlations show how the GA parameters can impact 575
the needed calculations for the desired outcome. These correlation values can be used for finding 576
the optimized values for the GA parameters in further researches. 577
578
Figure 12- Experimental design results
579
Figure 12 shows the outcome plot of all the 21 different experiments. As can be seen in both 580
regular and zoomed views, the experiments merged to the score of 100% as the objective of this 581
research. Some of these runs reach the final score much faster than the others, as described 582
34
earlier in this paper (see Table 4 and its descriptions). Generally, the similar pattern in all the 583
runs shows initial sharper increase in the constructability score that become gentler as the 584
elements are getting scheduled. 585
The developed tool for this methodology not only generates stable construction schedules for the 586
project, it also shows the 4-dimensional representation of the construction sequence, illustrating 587
the completion of the 3D model in the time spans. This type of outcome, besides showing how 588
the project is supposed to be built, can be used to evaluate the project schedule for stability and 589
constructability too. Figure 13 shows eight screen-shots of the generated 4D construction 590
sequence animation for one of the designed experiments (Moderate, 50G, 15T). 591
35
Figure 13- Screen-shot of a generated construction sequence (Moderate, 50G, 15T) 592
Conclusion and future work 593
The authors showed that the previous researches were focused on enhancing and optimizing the 594
project schedules that were already generated. In this research, the authors proposed an new 595
usage for the Genetic Algorithm for developing and generating construction schedules using the 596
geometric information of a project from its BIM. As shown in the methodology, the proposed 597
algorithm uses the geometrical information in a 3D model to understand stability rules and store 598
the information in a Directed DSM. Then these information is used as the basis for the GA 599
Fitness function to maximize the constructability of construction schedules (each defined as a 600
separate genome). Iterations in the GA calculation shows that even in deferent sets of input 601
parameters the results always merge to the maximum constructability score (100%) from 602
randomly generated schedules, proving that the methodology is working as expected. 603
As it has been shown in the result section, all the different inputs to the proposed algorithm 604
merged to reach completely constructible project schedules. Although the runs needed different 605
calculation times based on their inputs, the performed experimental design proved that this 606
method can produce 100% constructible schedules. As mentioned earlier in this paper, the main 607
objective was to retrieve construction project schedules from inherent geometry information 608
36
embedded in BIM of the project. This objective has been proved to be achievable through this 609
methodology. 610
Therefore, the main contribution of this research is to introduce and define all the needed 611
functions for the Genetic Algorithm so that it can develop and generate construction schedules 612
for a given BIM of a project. This paper proved the concept of using embedded geometrical 613
information from structural BIM to develop constructible sequence of element installations. 614
Later development of this research methodology can be useful to do the following list of tasks 615
for enhancing construction related processes (Faghihi, Reinschmidt, & Kang, Extended Genetic 616
Algorithm for Optimized BIM-based Construction Scheduling, 2014): 617
Scheduling Learning Tool (e.g. students can learn the impacts of element placement on 618
the schedule and vice versa) 619
Customized Schedule Template (i.e. planning expert can start improving the output of 620
this methodology as a basis for developing project schedule) 621
3D Pareto Front (i.e. using the fitness function scores from different objectives) 622
Workaround Solutions (e.g. revise the schedule in case of lacking material) 623
Material Ordering and Dumping (i.e. optimum time and unloading place for required 624
materials) 625
Built Sequence Policies (i.e. defining prioritized direction and ordering of element 626
installations) 627
Installation Starting Point (e.g. installation based on crane location or site entrance) 628
and more. 629
37
To make this methodology more useful for future projects and industrial and educational use, 630
different element types (such as walls, doors, windows, HVAC, pipeline, pumps, etc.) should be 631
added to the MoCC creation approach. Adding these new types of elements to the MoCC 632
creating algorithm will enable the application to handle oil and gas projects, which have inherent 633
difficulties to develop project network and schedule. In addition to extending the detection of 634
more element types, different objectives should be added to the constructability objective 635
mentioned in this paper. Other objectives could lead the outcome of the methodology (project 636
schedules) to be more optimized in cost, time, and even workability in the real job-site. Adding 637
all of these improvements to the proposed algorithm, enables it to produce semi-perfect project 638
schedules in terms of reducing construction duration, labor cost, and site mobilization and 639
workability of the construction processes. 640
After future extensions of the current work, the outcome can be tested to see the benefits of this 641
methodology of automatic project scheduling from the project BIM in an educational 642
environment. To do this evaluation, the previously proven tool of predicting future of the 643
projects in educational environment, called Project Management Prediction Market 644
(Damnjanovic, Faghihi, Scott, McTigue, & Reinschmidt, 2013), can be used alongside the 645
extended version of this proposed methodology. 646
Future work 647
This paper showed how GA can be used to not only optimize project schedules, but also develop 648
them from the scratch. Having this proof of concept, other researches can extend the usability of 649
this method in divers and different aspects. As direction for future research studies the following 650
list of works can be listed. 651
38
Modifying the 3D model reader module to detect other 3D elements and projects (not 652
only complete construction models, but other manufacturing 3D models such as cars, 653
circuit boards, etc.) to calculate the MoCC and then generate the assembly sequence for 654
any given 3D model. 655
The correlation coefficient values calculated in this article, while combining with other 656
results from more examples, can help designers of other Expert Systems to enhance the 657
structure of their model (for instance, parameters in the Artificial Neural Networks, such 658
as number of layers, number of neurons in each layer, the initial weights on each neuron, 659
the learning algorithm, etc.). 660
Performing several complex and extended examples to formulate effects of parameters 661
changes on the schedule structure. (e.g. impacts of 3D model complexity on the resulting 662
schedules and finding optimum number of genes, population size, and initial duration) 663
Extending the use of multi objective capability of the GA in a way that the resulting 664
schedules are not only constructible, but also optimized in assembly time, resource 665
needed and cost of assembly. 666
Developing an algorithm that can generate the common knowledge rules from the BIM of 667
the model rather than being hard coded in the algorithm. 668
Further development of MoCC in a way that it can contain a range from -1 to +1, 669
showing correlations of the dependency between elements. 670
References 671
Baker, J. E. (1987). Reducing Bias and Inefficiency in the Selection Algorithm. Proceedings of 672
the Second International Conference on Genetic Algorithms and their Application (pp. 673
39
14-21). Hillsdale, New Jersey: L. Erlbaum Associates. Retrieved 06 16, 2013, from 674
http://dl.acm.org/citation.cfm?id=42515 675
buildingSMART. (2011, November 17). IFC2x3 Final Documnetation. Retrieved August 20, 676
2013, from buildingSMART, International home of openBIM: http://www.buildingsmart-677
tech.org/ifc/IFC2x3/TC1/html/index.htm 678
buildingSMART. (2013). buildingSMART, International home of openBIM. Retrieved June 22, 679
2013, from http://www.buildingsmart-tech.org/ 680
Chan, W.-T., Chua, D. K., & Kannan, G. (1996). Construction Resource Scheduling with 681
Genetic Algorithms. Journal of Construction Engineering and Management, 122(2), 125-682
132. doi:10.1061/(ASCE)0733-9364(1996)122:2(125) 683
Damnjanovic, I., Faghihi, V., Scott, C., McTigue, E., & Reinschmidt, K. (2013, April). 684
Educational Prediction Markets: A Construction Project Management Case Study. 685
Journal of Professional Issues in Engineering Education and Practice, 139(2), 134-138. 686
doi:10.1061/(ASCE)EI.1943-5541.0000127 687
Davis, L. (1985). Job Shop Scheduling with Genetic Algorithms. In J. J. Grefenstette (Ed.), 688
International Conference on Genetic Algorithms and their Applications (pp. 136-140). 689
Pittsburgh: Lawrence Erlbaum Associates. 690
Faghihi, V., Reinschmidt, K. F., & Kang, J. (2014). Automation in Construction Scheduling: a 691
Review of the Literature. Journal of Computing in Civil Engineering, Under-review. 692
40
Faghihi, V., Reinschmidt, K. F., & Kang, J. (2014). Extended Genetic Algorithm for Optimized 693
BIM-based Construction Scheduling. Computer Aided Civil and Infrastructure 694
Engineering, Under-review, Wiley. 695
Faghihi, V., Reinschmidt, K. F., & Kang, J. (2014). Mathematical Framework for Spatial 696
Relationships of the Project 3D Elements. Automation in Construction, Under-review. 697
Faghihi, V., Reinschmidt, K. F., & Kang, J. (2014). Objective-driven and Pareto Front Analysis: 698
Optimizing Time, Cost, and Job-site Movements. Journal of Construction Engineering 699
and Management, Under-review. 700
Gonçalves, J., Mendesb, J., & Resendec, M. (2008, September 16). A genetic algorithm for the 701
resource constrained multi-project scheduling problem. European Journal of Operational 702
Research, 189(3), 1171-1190. doi:10.1016/j.ejor.2006.06.074 703
Grefenstette, J. (1986, January). Optimization of Control Parameters for Genetic Algorithms. 704
Systems, Man and Cybernetics, IEEE Transactions on, 16(1), 122-128. 705
doi:10.1109/TSMC.1986.289288 706
Haupt, R. L. (2000). Optimum population size and mutation rate for a simple real genetic 707
algorithm that optimizes array factors. Antennas and Propagation Society International 708
Symposium. 2, pp. 1034-1037. Salt Lake City, UT, USA: IEEE. 709
doi:10.1109/APS.2000.875398 710
Holland, J. H. (1992). Adaptation In Natural And Artificial Systems. (2nd, Ed.) MIT Press. 711
Retrieved June 23, 2013, from http://mitpress.mit.edu/books/adaptation-natural-and-712
artificial-systems 713
41
International Organization for Standardization. (2013, March 21). Industry Foundation Classes 714
(IFC) for data sharing in the construction and facility management industries. (1). 715
International Organization for Standardization. Retrieved June 22, 2013, from 716
http://www.iso.org 717
Jaśkowski, P., & Sobotka, A. (2006). Scheduling Construction Projects Using Evolutionary 718
Algorithm. Journal of Construction Engineering and Management, 132(8), 861-870. 719
doi:10.1061/(ASCE)0733-9364(2006)132:8(861) 720
Kanda, A. (2011). Matrix Multiplication Procedures for Adjacency Matrices. In A. Kanda, 721
Project Management - A Life Cycle Approach (pp. 75-77). PHI Learning Pvt. Ltd. 722
Retrieved June 23, 2013 723
Landry, M., Malouin, J.-L., & Oral, M. (1983, November). Model validation in operations 724
research. European Journal of Operational Research, 14(3), 207-220. doi:10.1016/0377-725
2217(83)90257-6 726
Mitchell, M. (1996). An Introduction to Genetic Algorithms. Cambridge, MA: MIT Press. 727
Murata, T., Ishibuchi, H., & Tanaka, H. (1996, September). Multi-objective genetic algorithm 728
and its applications to flowshop scheduling. Computers & Industrial Engineering, 30(4), 729
957-968. doi:10.1016/0360-8352(96)00045-9 730
NIST ITL. (2012). 5.1.1. What is experimental design? In NIST/SEMATECH e-Handbook of 731
Statistical Methods. National Institute of Standards and Technology, NIST. Retrieved 06 732
01, 2013, from http://www.itl.nist.gov/div898/handbook/pri/section1/pri11.htm 733
42
Obitko, M. (1998). XIII. Recommendations. Retrieved from Introduction to Genetic Algorithms: 734
http://www.obitko.com/tutorials/genetic-algorithms/recommendations.php 735
Schaffer, J. D., Caruana, R. A., Eshelman, L. J., & Das, R. (1989). A study of control parameters 736
affecting online performance of genetic algorithms for function optimization. 737
Proceedings of the Third International Conference on Genetic Algorithms (pp. 51-60). 738
San Francisco, CA, USA: Morgan Kaufmann Publishers Inc. Retrieved from 739
http://dl.acm.org/citation.cfm?id=93145 740
Sivaraj, R., & Ravichandran, T. (2011). A review of selection methods in genetic algorithm. 741
International Journal of Engineering Science and Technology (IJEST), 3(5), 3792-3797. 742
Retrieved June 23, 2013, from http://www.ijest.info/docs/IJEST11-03-05-190.pdf 743
Steward, D. V. (1962, October). On an Approach to Techniques for the Analysis of the Structure 744
of Large Systems of Equations. SIAM Review, 4(4), 321-342. Retrieved July 19, 2013, 745
from http://www.jstor.org/stable/2027903 746
Toklu, Y. C. (2002). Application of Genetic Algorithms to Construction Scheduling With or 747
Without Resource Constraints. Canadian Journal of Civil Engineering, 29(3), 421-429. 748
Wall, M. B. (1996). A Genetic Algorithm for Resource-Constrained Scheduling. MIT. 749
Ward Systems Group, Inc. (2013, March 19). Genetic Algorithms and What They Can Do For 750
You. Retrieved from Advanced Neural Network and Genetic Algorithm Software: 751
http://www.wardsystems.com/ga101.asp 752
753
43
Appendix 754
Simple Step-by-Step example 755
Considering the example in Figure 1, with five genomes per population, 20% of population as 756
elite members, 10% chance of mutation, and the tentative duration of 5±20% time-unit (i.e. 757
either 4, 5, or 6 time-units), the first population generated by the described GA is as shown in 758
Table 5. This table consists of two main columns: the left column containing the genome 759
number, constructability score, and schedule duration, and the right column containing the 760
genomes. Since there are eight elements in the model shown in Figure 1, the constructability 761
scores (in form of percentage of the number of elements that have been scheduled based on 762
MoCC) are either 0%, 12.5%, 25%, 37.5%, 50%, 62.5%, 75%, 87.5%, or 100%. 763
The genomes in the right column of the Table 5 are basically the Genome Matrix or MoG 764
(defined in Equation 2) that are shown in the form of Equation 3, but the rows of the matrix are 765
put consecutively one after the other. The dotted lines are the dividers between the rows of the 766
MoG. Because there are eight elements in the 3D model, all of the genomes have eight sections 767
that are divided from each other by the dotted line, as seen in Table 5. Then, each of these eight 768
sections in the genomes contains the same number of zeros and ones as the duration of the 769
genome. For example, the first four digits of the genome number 0 in the first population, as seen 770
in Table 5 (i.e. 0100) is the installation schedule for the first element of the 3D model, column 771
1:#143, as shown in Figure 1. These four digits define the installation of the element number 772
1:#143 to in the second time-unit as its second digit is 1 and the rest are 0s. 773
44
Table 5- Population Number 1 774
As mentioned before, the genomes in this paper can be represented as the MoG too. The MoG 775
for the first genome of the first population is shown in Figure 14. 776
𝑀𝑜𝐺 𝑜𝑓 𝐺𝑒𝑛𝑜𝑚𝑒 # 0
1234
1:#143
2:#209
3:#239
4:#264
5:#375
6:#510
7:#623
8:#736 ⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎡
0100
0100
0100
0001
0001
0010
0000
0000
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎤
Figure 14- MoG of Genome # 0 777
Given the genome in the form of the matrix, it can be easily interpreted and the scheduling of the 778
installments are much more understandable. As illustrated by Figure 14, elements number 1, 2 779
and 3 are scheduled to be installed in the second time-unit while the elements number 4 and 5 are 780
planned to be done in the fourth time-unit. Similarly, the element number 6 is scheduled for the 781
third time-unit, but the remaining two elements, 7 and 8, are not planned to be installed in this 782
sequencing order defined by this genome. 783
Clearly, the schedule in Figure 14 has four time-units as represented by four columns in its 784
matrix. The calculated constructability score for this genome (construction schedule of the 3D 785
model) as shown in Table 5 is 62.5%. This score means that 62.5% (5 elements out of 8) are 786
scheduled for installation correctly based on the constructability constraints detected from the 787
0:62.5%:4 01000100010000010001 001000000000
1:50%:6 010000000001000010000100000000 000000000000000000
2:37.5%:5 0010000010 010000000000000 000000000000000
3:12.5%:5 0000100000 000000000000000 000000000000000
4:0%:4 0000000000000000000000000000 0000
45
model as MoCC (see Figure 1). These five elements are columns 1:#143, 2:#209, 3:#239, and 788
4:#26 and the beam 5:#375. The first four columns do not have any installation constraints 789
detected in the MoCC and the only beam has columns 1 and 2 as its supporting constraints being 790
scheduled for installation as of fourth time-unit (columns are scheduled in the second time-unit 791
and the beam is scheduled in the fourth time-unit). 792
All five genomes in the first population were generated based on the random genome generation 793
function described in section “Genome Creation” Performing all the inherent Genetic Algorithm 794
functions (i.e. Elite selection, Crossover function, Mutation function, Selection function) 795
described in “Genetic Algorithm” section of this paper, the next populations will be generated as 796
shown in Table 6, Table 7, Table 8, Table 9, and Table 10, showing from second population to 797
the sixth respectively. 798
Table 6- Population Number 2 799
Table 7- Population Number 3 800
Table 8- Population Number 4 801
0:87.5%:5 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1
1:75%:4 10001000010000010001 001010000010
2:75%:4 00100100010000010001 000101000001
3:62.5%:4 01000100010000010001 001000000000
4:50%:5 0100001000010000010010000 001000100010000
0:87.5%:5 0100001000010000100000100 100000010000001
1:75%:4 10001000010000010001 000110000001
2:75%:5 0100001000010000100000001 100000010010000
3:62.5%:4 01000001010000010001 001010000010
4:62.5%:4 00101000001000010100 010001000001
0:87.5%:5 0100001000010000100000100100000010000001
46
Table 9- Population Number 5 802
Table 10- Population Number 6 803
As seen in Table 10, the first genome with the complete score of 100% for its constructability is 804
generated. After this achievement, the proposed algorithm will continue until all the genomes in 805
the population reach the complete 100% score for their constructability. The final population can 806
be seen in Table 11, as the 20th population in this simple run that all the genomes have reach the 807
100% score. The algorithm has now ended. 808
Table 11- Population Number 20 809
1:87.5%:5 0100001000010000100000100000010010010000
2:75%:5 0100001000010000100000001100000010010000
3:75%:5 0100001000010000100000001100000010001000
4:50%:5 1000000010001000100000010001000100001000
0:87.5%:5 0100001000010000100000100100000010000001
1:87.5%:5 0100001000010000100000100000010010010000
2:50%:4 00100100 001001000010010001001000
3:50%:4 10000010 010000010100001000100100
4:50%:5 1000000010 001000100000010001000100001000
0:100%:5 1000001000010000100000100000010010000100
1:87.5%:5 0100001000010000100000100 100000010000001
2:75%:6 001000000100010000001000001000100000000100 000010
3:62.5%:5 010000001000000100000100001000 000100000010100000
4:50%:5 00100000100010001000000100010001000 01000
0:100%:6 001000010000 010000010000000100000010000100000100
1:100%:6 100000010000 010000010000000100000010000100000100
2:100%:6 1000001000 010000100000100000010010000100
3:100%:5 1000001000 100000100000100000010010000100
4:100%:6 100000010000 010000010000000001000010001000001000
47
810