Model implementation
The proposed model is implemented in three major phases: (1)
Initialization phase that generates an initial set of (u) possible
solutions; (2) Fitness evaluation phase that calculates the
Import Optimal Trade off and Resource
Utilization from Multi-Objective
Optimization Model
Export the Needed Project Data to the
Running Module
Interface Module“GUI”
Input Phase
Input Project
Data Details
Input Resource
Utilization Options
Input GA
Parameters
Output Phase
Rank Optimal
Project Solutions
Visualize Fourdimensional Trade-off
Connecting Module
Database Module
Derby Data Base Driver
Resource
Utilization
Data
Activities
Relations
Data
Activities
Data
Optimal Activities
Schedules Data
Optimal Project
Trade-off Data
Running Module
Phase 1: Initialization
Phase 2: Fitness Function Evaluation
Phase 3: Population Generation
Import the Selected Optimal
Scheduled Data that Obtained
by Multi-Objective
Export Project Data form Interface
Module to Database Module
Input Activities
and Relations
Optimal Project
Schedule
Project
Data
Java Code Driver
Read Project Data and GA Parameters
Generate Random Solutions (u =1 to U) for Parent
Population P1 of First Generation (g =1)
Calculate PD; PP; PM and PN
for Solution u in Generation g
Solution u =1
Last Solution u
Next Solution u = u + 1
No
Child Population Cg
Calculate Optimal Rank and Fitness
Function for Each Solution (u = 1 to U)
of the Parent Population Pg
Create a Child Population CgUsing
Selection, Crossover and Mutation
Combine Child Population Cgand Parent
Population Pgto Form a New Combined
Population Ng
of Size 2U
No
Calculate Optimal Rank and Multi-
objective Fitness Function for Each
Solution (u = 1 to 2U) of the Combined
Yes
Yes
Sort New Combined Population Ng
Keep Top U Solutions to Form Next
Generation’s Parent Population Pg+1
Last Generation g
Next Generation g = g +1
Ye s No
Figure 4 OSS main modules.
378 R.F. Aziz
project (duration, price, maximum working capital, and net
present value) of each generated solution; and (3) Population
generation phase that seeks to improve the fitness of solutions
over successive generations, (seeFig. 4).
6.1. Phase 1: Initialization
The main objective of this phase is to initialize the optimization procedure in the present model. This phase is implemented in the following two major steps: (1) Read project
and GA parameters needed to initialize the search process.
The project parameters include the following: (a) project size;
(b) activity precedence information; and (c) available resource
utilization options for each activity. The required GA parameters for this initialization phase include the following: (a)
string size; (b) number of generations; (c) population size; (d)
mutation rate; and (e) crossover rate. The string size is determined by the model, considering the total number of construction activities (K) included in the analyzed project. The number
of generations (G) and population size (U) are identified based
on the selected string size in order to improve the quality of the
solution. Similarly, the mutation rate and crossover rate are
determined considering the population size and the method
of selection employed by the algorithm, respectively; and (2)
Generate random solutions (u=1toU) for parent population
P1 of the first generation (g= 1). These solutions represent an
initial set of resource utilization options that can be used to
construct each and every activity in the project. This initial
set of possible solutions is then evolved in the following two
phases in order to generate a set of optimal resource utilization
options for each activity in the project that establishes an optimal trade-off among project duration, price, maximum working capital, and net present value.
6.2. Phase 2: Fitness functions evaluation
The main purpose of this phase is to evaluate the project duration, price, maximum working capital, and net present value of
each possible solution (u) in generation (g) in order to determine the fitness of the solution. This fitness determines the likelihood of survival and reproduction of each solution in
following generations. As such, this phase evaluates the four
identified fitness functions for each solution according to Aziz
[23] using the following four steps: (1) Calculate project duration; (2) Calculate bid price; (3) Calculate project maximum
working capital; and (4) Calculate project net present value.
6.3. Phase 3: Population generation
The purpose of this phase is to create three types of population
in each of the considered generations: (a) parent; (b) child; and
(c) combined. For each generation (g), a parent population
(Pg) is used to generate a child population (Cg) in a similar
manner that used in traditional GAs,[24]. The purpose of generating this child population is to introduce