Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Alexandria Engineering Journal (2014) 53, 591–606 Alexandria University Alexandria Engineering Journal www.elsevier.com/locate/aej www.sciencedirect.com ORIGINAL ARTICLE Smart optimization for mega construction projects using artificial intelligence Remon Fayek Aziz a b a,* , Sherif Mohamed Hafez a, Yasser Ragab Abuel-Magd b Structural Engineering Department, Faculty of Engineering, Alexandria University, Egypt Mathematics and Physics Engineering Department, Faculty of Engineering, Alexandria University, Egypt Received 26 October 2013; revised 5 May 2014; accepted 14 May 2014 Available online 16 June 2014 KEYWORDS Construction management; Mega construction projects; Multi-objective tradeoff; Genetic algorithms Abstract During practicing the planning process, scheduling and controlling mega construction projects, there are varieties of procedures and methods that should be taken into consideration during project life cycle. Accordingly, it is important to consider the different modes that may be selected for an activity in the scheduling, for controlling mega construction projects. Critical Path Method ‘‘CPM’’ is useful for scheduling, controlling and improving mega construction projects; hence this paper presents the development of a model which incorporates the basic concepts of Critical Path Method ‘‘CPM’’ with a multi-objective Genetic Algorithm ‘‘GA’’ simultaneously. The main objective of this model is to suggest a practical support for compound horizontally and vertically mega construction planners who need to optimize resource utilization in order to minimize project duration and its cost with maximizing its quality simultaneously. Proposed software is named Smart Critical Path Method System, ‘‘SCPMS’’ which uses features of Critical Path Method ‘‘CPM’’ and multi-objective Genetic Algorithms ‘‘GAs’’. The main inputs and outputs of the proposed software are demonstrated and outlined; also the main subroutines and the inference wizards are detailed. The application of this research is focused on planning and scheduling mega construction projects that hold a good promise to: (1) Increase resource use efficiency; (2) Reduce construction total time; (3) Minimize construction total cost; and (4) Measure and improve construction total quality. In addition, the verification and validation of the proposed software are tested using a real case study. ª 2014 Production and hosting by Elsevier B.V. on behalf of Faculty of Engineering, Alexandria University. 1. Introduction * Corresponding author. Tel.: +20 12 2381 3937. E-mail address: remon.aziz@alexu.edu.eg (R.F. Aziz). Peer review under responsibility of Faculty of Engineering, Alexandria University. Production and hosting by Elsevier Techniques that are used for project scheduling will vary depending on project’s duration, size, complexity, personnel, and owner requirements. Ashley [1] divided the construction projects into two main groups. The first one is the projects with non-repetitive activities. The second group has multiple numbers of stages. Projects with non-repetitive activities are divided into two main groups. The first one is the bar chart 1110-0168 ª 2014 Production and hosting by Elsevier B.V. on behalf of Faculty of Engineering, Alexandria University. http://dx.doi.org/10.1016/j.aej.2014.05.003 592 that is one of the oldest methods used in construction planning and developed by Henry L. Gantt during the World War I; the second one is network-based methods which are two widely known network based techniques, namely, the Critical Path Method ‘‘CPM’’ and the program evaluation and review technique ‘‘PERT’’. Both methods were developed simultaneously and independently during the late 1950s. Selinger [2] divided the construction projects with repetitive activities into two categories: linear and non-linear projects. Linear projects are composed of number of typical stages with identical activities of the same duration that are repeated consecutively from one unit to the next. Several techniques were developed for projects with discrete units, such as floors, houses, and offices. The names used have included the following: (1) Line Of Balance, ‘‘LOB’’ according to O’Brien [3]; (2) construction planning techniques according to Peer [4]; (3) Vertical Production Method, ‘‘VPM’’ according to O’Brien [5]; (4) time space scheduling method according to Stradal and Cacha [6]; and (5) time-location matrix model according to Carr [7]. Several techniques were proposed for projects with continuous units as highways, pipelines, tunnels, bridges, etc. The progress is measured in terms of horizontal length. The names used have included the following: (1) Velocity Diagrams, ‘‘VD’’ according to Harris and McCaffer [8]; and (2) Linear Scheduling Method, ‘‘LSM’’ according to Chrzanowski and Johnston [9]. Line-Of-Balance ‘‘LOB’’ is one production scheduling and control technique, which tries to surpass the CPM difficulties for the mega construction scheduling. It is developed into manufacturing environment by the US Navy, originated at the time of World War II, according to Burke [10]. Activities that repeat from unit to unit create a very important need for a construction schedule that facilitates the uninterrupted flow of resources from one unit to the next. It establishes activity-stating times and determines the overall project duration. Hence, uninterrupted resource utilization becomes an extremely important issue, according to Hafez [11]. Hafez [12] developed a tool for time and resource scheduling for mega construction projects; this has been done in three stages. This model called modified repetitive project model ‘‘MRPM’’ depends on the integration between the principles of ‘‘LOB’’ method and Critical Path Method. Hafez [13] surveyed the different issues, which related to schedule repetitive construction process. It can be used in the development of a computerized scheduling system. The time-cost tradeoff ‘‘TCTO’’ problem has been studied since the 1960s and is considered as a particularly difficult combinatorial problem. All methods in time-cost tradeoff branch can be classified into the following categories: linear, integer, or dynamic programing, other methods approximate, heuristic or decomposition approaches, and lately algorithms to reduce the computational effort. Ahuja et al. [14] mentioned the relationships between time and cost as shown in the following steps: (1) Linear Relationship; (2) Multi-linear Relationship; (3) Discrete Function; and (4) Curvilinear Continuous Relationship. Hafez et al. [15] proposed a mathematical model for time-cost tradeoff based on the integration between the principles of LOB and CPM. The output of this model is to determine the crashed duration for each activity which is corresponding to minimum project total cost. Genetic Algorithms ‘‘GAs’’ are inspired by Darwin’s theory about evolution. The GA is a global search procedure that searches from one population of solutions to another, focusing on the area of the best solution. It was modeled with a set of solutions R.F. Aziz et al. (represented by chromosomes) called initial population, computation is performed through the creation of an initial population of individuals and modifying the characteristics of a population of solutions (individuals) over a large number of generations followed by the evaluation, a satisfactory solution is found. This process is designed to produce successive populations, i.e., the solutions from one population are taken and used to form a new population. This is motivated by a hope, that the new population will be better than the old one and so on through generations. A typical implementation of genetic algorithm is shown in Fig. 1. Basic outline of genetic algorithms as follows: (1) [Start] generate random population of n chromosomes (suitable solutions for the problem); (2) [Fitness] evaluate the fitness f(x) of each chromosome x in the population; (3) [New population] create a new population by repeating following steps until the new population is complete; (4) [Selection] select two parent chromosomes from a population according to their fitness (the better fitness, the bigger chance to be selected). The idea is to choose the better parents. Examples of well-known selection approaches are the following: (a) roulette wheel selection; (b) rank selection; (c) tournament selection; and (d) elitism; (5) [Crossover] allows promising solutions to share their success by swapping the arrangement of parents’ chromosomes genes to new offspring (children) with a crossover probability. If no crossover was performed, offspring is an exact copy of parents; (6) [Mutation] allows random changes in the local search space of a given solution, mutate new offspring at each locus (position in chromosome) with a mutation probability; (7) [Accepting] place new offspring in a new population; (8) [Replace] use new generated population for further run of algorithm; (9) [Test] if the end condition is satisfied, stop, and return the best solution in current population; and (10) [Loop] go to step no. 2. Goldberg [16]. Crossover between parent chromosomes is a common natural process and traditionally is given a rate that ranges from 0.1 to 1.0. In crossover, the exchange of parents’ information produces an offspring, as shown in Table 1. As opposed to crossover, mutation is a rare process that resembles a sudden change to an offspring. This can be done by randomly selecting Figure 1 A typical implementation of genetic algorithm. Optimization for mega construction projects Table 1 593 Main crossover operators. Single point crossover Two point crossover Uniform crossover Parent A: 11001010 Parent B: 01110011 Offspring A: 11001011 Offspring B: 01110010 Parent A: 11001010 Parent B: 01110011 Offspring A: 11110010 Offspring B: 01001011 Parent A: 11001010 Parent B: 01110011 Offspring A: 11101011 Offspring B: 01010010 one chromosome from the population and then arbitrarily changing some of its information. The benefit of mutation is that it randomly introduces new genetic material to the evolutionary process, perhaps thereby avoiding stagnation around local minima. A small mutation rate less than 0.1 is usually used, EL-Beltagi et al. [17]. 2. Literature review Babu and Suresh [18] proposed a new technique to study the tradeoff between time, cost and quality by using three interrelated linear programing models. Their approach is based on the linear relationship between project completion time, project cost and quality measure. Khang and Myint [19] applied the time-cost-quality tradeoff for construction project of cement factory. El-Rayes and Kandil [20] designed modified GA model, which transforms the traditional two-dimensional time-cost tradeoff analysis to an advanced three-dimensional time-cost-quality tradeoff analysis, this model was developed as a multi-objective genetic algorithm to provide the capability of quantifying and considering quality in construction optimization. Tareghian and Taheri [21] developed solution procedures to study the balance between time, cost and quality in the management of a project. They developed three interrelated integer programing models. A meta-heuristic solution procedure is proposed which is called electromagnetic scatter search to solve the discrete time, cost and quality tradeoff problems. It demonstrated the validity of the proposed solution procedure, and its applicability was tested on a randomly generated large and complex problem having 19,900 activities, Taheri and Tareghian [22]. Afshar et al. [23] developed a new meta-heuristic multi-colony ant algorithm was developed for the optimization of three objectives time-cost-quality as an optimization problems. Case study was analyzed to illustrate the capabilities of the present method for generating optimal/near optimal solutions. Rahimi and Iranmanesh [24] proposed a new Multi Objective Particle Swarm Optimization for a discrete project time, cost and quality tradeoff problems. Iranmanesh et al. [25] developed multi-objective for finding the Pareto optimal front of project time, cost and quality, whose activities belong to a ‘‘start to finish’’ activity relationship network (CPM) and they can be done in different possible modes which are non-continuous or discrete, and each mode has a different cost, time and quality. Abd El Razek et al. [26] presented the development of a multi-objective optimization model in order to search optimal resource utilization plans that minimize construction time and cost while maximizing its quality for construction projects with repetitive activities, then Abd El Razek et al. [27] developed multi-objective optimization software for repetitive construction projects which is named Automatic Multi-objective Typical Construction Resource Optimization System, ‘‘AMTCROS’’. Abd El Khalek et al. [28] developed the utilized steps to determine the best combination of minimum project financing. The proposed model considered financing; schedule and maximum net area which is called Project Financing and Schedule Integration using Genetic Algorithms, ‘‘PFSIGA’’ and presented the development of an optimization software in order to search the optimal solution for all activities in the project within contract duration that maximize cumulative net overdraft and minimize daily financing, and was developed in two main tasks. In the first task, software was formulated to incorporate and enable the optimization of financing of any large-scale project. In the second task, the software was formulated to enable available starting times for all activities in the project and select the suitable start time of each activity within the total float to get maximum cumulative net overdraft process. 3. Research objectives As a response to the construction problems previously discussed, the research seeks to confirm the following objectives that are used for the mega construction projects: (1) development of a model which incorporates the basic concepts of Critical Path Method ‘‘CPM’’ with a multi-objective Genetic Algorithm ‘‘GA’’ simultaneously; (2) development of proposed software which is named Smart Critical Path Method System, ‘‘SCPMS’’ using features of genetic algorithms; (3) developments of this research in planning, scheduling and controlling the mega construction projects that hold a strong promise to: (a) increase resource use efficiency; (b) reduce construction time; (c) minimize construction total cost (direct cost plus indirect cost); and (d) measure and improve the quality of future mega construction projects. 4. Employed techniques The model formulated proposed the following technique: (1) Activity On Node ‘‘AON’’ is used to simulate the main project as shown in Fig. 2; (2) Activity On Node ‘‘AON’’ is also used to simulate the sub-projects as shown in Fig. 3; (3) the activity (k), (where k = 1, 2, . . . , K) that in case of repetitive networks, LOB is used to simulate the repetitive activity schedule into sub-projects; (4) each activity (k), has a time buffer (TBk,kk), at each stage(s), (where s = 1, 2, . . . , S) between completion time of first activity (k) with start time of each following activity (kk) in the sub-project network as shown in Fig. 4; (5) any two sequential activities at sub-project may have a stage buffer (SBk,kk), of a specific number of stages at any unit time to meet practical and/or techno running purposes, this stage’s buffers have to be identified by the planner for these activities; (6) a discrete relationship between duration, cost, and quality of each activity (k) in the network of sub-projects; (7) transformation 594 R.F. Aziz et al. Subproject1 Subproject2 Subproject3 Star Subproject4 End Subproject(S) Subproject1 Subproject2 B B A D A C C Subproject4 Subproject3 B B A C E A E C D Figure 2 D F Sample of mega construction project. of traditional LOB to modified CPM must be done in proposed model; and (8) genetic algorithm tool is used to achieve the optimum results. 5. Decision variables For each construction activity in the project, the present model is designed to consider all relevant decision variables that may have an impact on project time, cost or quality. All relevant decision variables are represented in Fig. 5 from which one can classify the decision variables as follows: (1) Construction material and/or methods (m), which indicate the alternatives of different availability types of materials and/or construction methods that can be utilized for each activity, where the total number of these alternatives is equal to M; (2) Crew formation (f), which represents alternatives of feasible sizes and configurations for construction crews for each activity, where the total number of these alternatives is equal to F; (3) Crew overtime policy (p), which represents alternatives of available overtime hours and nighttime shifts for each activity, where the total number of these alternatives is equal to P; (4) Machinery efficiency (e), which represents alternatives of feasible site machines and efficiency for selected machines in construction site, where the total number of these alternatives is equal to E; (5) Contractor class (c), which represents alternatives of feasible site contractors and efficiency for selected contractor in construction site, which are classified into main levels (Excellent level – Very Good level – Good level – Intermediate level – Low level – Poor level – Bad level – Very Bad level), where the total number of these alternatives is equal to C; Optimization for mega construction projects 595 Subk FS SS Subkk Subk Subkk FF Subk Subk Subkk SF Subkk Available lag values between two sequential sub-projects. Figure 3 SS FS Dkn Dkkn Dkn Dkkn SF Dkn Figure 4 FF Dkkn Dkn Dkkn Available lag values between two sequential activities. and (6) Owner class (o), which represents alternatives of capability of owner in project financing, where the total number of these alternatives is equal to O. In order to control the complexity of the optimization model, the present model combines these five major decision variables into single alternative named resource utilization (n). Decision makers can create more alternatives, with named resource utilization (n) for each activity (k) and change from alternative to another considering permutations of alternatives by selecting one random option of each previous five main decision variables and grouped together in a single alternative, first creation of resource utilization takes n = 1, and so on with repeating the random selections considering permutations of options of each previous five main decision variables till reaching last creation of resource utilization takes n = N (see Table 2). Where (N) is the number of available resource utilization options for each activity into the studied project as shown in Fig. 5. The enumeration of all possible combinations of these available resource utilization options at the activity level can lead to a total of more project alternatives, which means large scale of feasible construction resource utilization plans at the project level (see Table 2). 6. Model implementation The proposed model was implemented in three major stages: (1) initialization that generates an initial set of (u) possible solutions for this resource utilization problem; (2) evaluation that calculates the time, cost, and quality of each generated solution; and (3) generation that seeks to improve the fitness of solutions over successive generations. See Fig. 6. 6.1. Initialization The main objective of this stage is to initialize the optimization procedure in the proposed model; it was implemented in the following steps: (1) Read project and GA parameters needed to initialize the search process. The project parameters include: (a) project size; (b) activity precedence information; and (c) available resource utilization options for each activity and their expected impact on the activity duration, cost and quality. The required GA parameters for this initialization stage include: (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. Number of generations (G) and population size (U) are identified based on selected string size in order to decrease the time and cost and 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 = 1–U) 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 mega projects. This initial set of possible solutions is then evolved in the following two stages in order to generate 596 R.F. Aziz et al. Figure 5 Utilization of resources alternative options. a set of optimal resource utilization options for each activity in mega project that establishes optimal tradeoffs between construction time, cost and quality. 6.2. Evaluation repetitive activities LOB with non-repetitive activities CPM for mega construction projects as shown in Eqs. (1)–(10); Zn1 ¼ Min Tnk ¼ S  The main purpose of this stage is to evaluate the time, cost, and quality 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 the following generations. This stage evaluates the three identified fitness functions for each solution using the following steps: (1) Calculate project duration (PDug) for solution (u) in generation (g), which consists of total duration of all activities on the critical path. In this model, project duration is estimated using newly developed algorithms for integrating the scheduling of k¼K X  n Tk þ ðFSk;kk n Þm ð1Þ k¼1 Dnk ¼ Qtnk  PRnk ðFSk;kk n Þm  TBnk;kk þ ð1  SÞ  Dnk ðFSk;kk n Þm  TBnk;kk þ ð1  SÞ  Dnkk ðFSk;kk n Þm  ðSBk;kk  SÞ  Dnk ðFSk;kk n Þm  ð1 þ SBk;kk  SÞ  Dnkk TBnk;kk ¼ SSk;kk  Dnk TBnk;kk ¼ FFk;kk  Dnkk TBnk;kk ¼ SFk;kk  ðDk n þ Dnkk Þ ð2Þ Dnk ð3Þ ð4Þ ð5Þ  Dnk ð6Þ ð7Þ ð8Þ ð9Þ ð10Þ Optimization for mega construction projects Table 2 597 Feasible alternatives of mega construction project. Feasible solutions for subproject (1) S1n Feasible solutions for subproject (2) S2n . . .. . .. . .. . .. . .. . .. S71 S61 S51 S41 S31 S21 S11 . . .. . .. . .. . .. . .. . .. S72 S62 S52 S42 S32 S22 S12 Feasible solutions for subproject (3) S3n Feasible solutions for subproject (4) S4n . . .. . .. . .. . .. . .. . .. S73 S63 S53 S43 S33 S23 S13 . . .. . .. . .. . .. . .. . .. S74 S64 S54 S44 S34 S24 S14 Feasible solutions for subproject (S) SnS . . .. . .. . .. . .. . .. . .. SS 7 SS6 SS 5 SS4 SS3 SS2 SS1 Feasible solutions for construction project PN S1n S2n S3n S4n . . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. P7 S71 S72 S73 S74 P6 S61 S62 S63 S64 P5 S51 S52 S53 S54 P4 S41 S42 S43 S44 P3 S31 S32 S33 S34 P2 S21 S22 S23 S24 P1 S11 S12 S13 S14 where Z1n = Total Project Duration in (days) using resource utilization (n), Tnk = Total durations in (days) at all stages of an activity (k) on the critical path at new CPM using resource utilization (n), (FSnk,kk)m = Modified finish to start at a new CPM between two sequential activities using resource utilization (n), S = Number of stages in the project, Dnk = Duration in (days) at one stage of an activity (k) using resource utilization (n), Qtnk = Quantity of an activity (k) at one stage using resource utilization (n), PRnk = Production rate of an activity (k) at one stage using resource utilization (n), Dnkk = Duration in (days) at one stage of a successor activity (kk) at LOB using resource utilization (n), SBk,kk = Stage buffer between the starts of two sequential activities (k) and (kk) at LOB, TBnk,kk = Time buffer in (days) between two sequential activities finish (k) and start (kk) at LOB using resource utilization (n), SSk,kk = Start to Start in (days) between two sequential activities (k) and (kk) at LOB, FFk,kk = Finish to Finish in (days) between two sequential activities (k) and (kk) at LOB, SFk,kk = Start to Finish in (days) between two sequential activities (k) and (kk) at LOB; (2) Estimate project cost (PuCg) for solution (u) in generation (g), which consists of material, crew and subcontractor costs as shown in Eq. (11). ( ) k¼K X ðMk n þ Dnk  Rn þ Bnk Þ þ ðIC  Zn1 Þ Zn2 ¼ Min S  k¼1 ð11Þ Z2n where = Total Project {Direct} + {Indirect} Cost in (EGP) using resource utilization (n), S = Number of stages in the project, Mnk = Material cost in (EGP) at one stage of an activity (k) using resource utilization (n), Dnk = Duration in (days) at one stage of an activity (k) using resource utilization (n), Rn = Daily cost rate in (EGP/Day) of an activity (k) using resource utilization (n), Bnk = Subcontractor lump sum cost in (EGP) at one stage of an activity (k) using resource utilization (n) if found, IC = Daily indirect cost rate in (EGP/ Day) throughout project life; and (3) Measure project quality (PuQg) for solution (u) in generation (g) as shown in Eq. (12). ( !) i¼I k¼K X X n n wtk;i  Qk;i wtk  Z3 ¼ Max ð12Þ k¼1 i¼1 where Z3n = Total Project Quality in (%) using resource utilization (n), wtk = Weight of an activity (k) compared to other activities in the project, wtk,i = Weight of quality indicator (i) compared to other indicators in the activity (k), Qnk,i = Performance of quality indicator (i) in (%) at activity (k) using resource utilization (n), Rwtk,i · Qnk,i = Activity quality performance per stage in (%) at activity (k) using resource utilization (n). 6.3. Generation The purpose of this stage 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 to that used in traditional GAs, Goldberg [16]. The purpose of generating this child population is to introduce a new set of solutions by rearranging and randomly changing parts of the solutions of the parent population. This child population can then be combined with the parent population to create an expanded set of possible solutions that forms the combined population (Ng) for generation (g). This combined population (Ng) is used to facilitate the comparison between the initial solutions in the parent population and those generated in the child population. The best solutions in this combined population regardless of their origin are retained and passed to the following generation as a parent population. At this stage the procedure is implemented in the following steps: (1) Calculate optimal rank for each solution (u = 1–U) in the parent population (Pg). First, this is done by ranking solutions in the population according to their highest quality 598 R.F. Aziz et al. Figure 6 ‘‘SCPMS’’ model implementation. and lowest cost and duration, this is called Pareto optimal domination of solutions, where a solution is identified as dominant if it is better than all other solutions in all considered optimization objectives simultaneously. Second, this step calculates the multi-objective fitness function of each solution as shown in Eqs. (13)–(17), which represents equivalent normalized fitness of each corresponding project time-cost-quality solution. The fitness values help the algorithm to spread the obtained solutions over a wider optimal front and select best range of optimal solutions; Z ¼ w1  ðNor: PD Þ þ w2  ðNor:PC Þ þ w3  ðNor:PQ Þ Nor: PD ¼ ðPD  PD Min Þ  ðPD Max  PD Min Þ ð13Þ ð14Þ Nor: PC ¼ ðPC  PC Min Þ  ðPC Max  PC Min Þ Nor:PQ ¼ ðPQ Min  PQ Þ  ðPQ Max  PQ Min Þ w1 þ w2 þ w3 ¼ 1:0 ð15Þ ð16Þ ð17Þ where Z = Multi-Objective Optimization Fitness Function, w1 = Weight of project duration focus, w2 = Weight of project cost focus, w3 = Weight of project quality focus, Nor. PD = Normalized project duration, Nor. PC = Normalized project cost, Nor. PQ = Normalized project quality, PD = Project duration in (Days), PC = Project cost in (EGP), PQ = Project quality in (%), PD Min = Minimum project duration in (Days), PD Max = Maximum project duration in (Days), PC Min = Minimum project total cost in (EGP), PC Max = Maximum project total cost in (EGP), PQ Min = Minimum project quality in (%), PQ Max = Maximum project quality in (%). This multi-objective optimization fitness function indicates the normalized value of any studied point which has (PD in Days, PC in EGP, PQ in%) in three dimensions domain with dummy standard reference point that has (PD = 0 Days, PC = 0 EGP, PQ = 100%) in the same three dimension domain. When this normalized value decreases, that means Optimization for mega construction projects the studied point is optimal or near optimal solution (Minimum Project Duration with Minimum Project Cost with Maximum Project Quality in the same time); (2) create a child population (Cg) using selection, crossover and mutation. The optimal rank and distance values calculated in pervious step are used in this step to generate the child population using the GA operations of selection, mutation, and crossover. The selection operation identifies the individuals that will go through the reproduction process, and gives a better chance to individuals with higher ranks. The crossover operation, on the other hand, crosses each pair of selected individuals at a randomly determined point and swaps the variables coded in the strings at this point, resulting in two new individuals. The mutation operation randomly changes the value of one of the variables in the string to induce innovation and to prevent premature convergence to local optima [16]. The generated child population is then analyzed using the earlier described steps of stage 2 in order to obtain the values of project cost, duration, and quality for each solution; (3) combine child population (Cg) and parent population (Pg) to form a new combined population (Ng) of size 2U. This combined population acts, a good solution of the initial parent population and good solutions are passed on to the following generation to avoid losing them; (4) calculate optimal rank and fitness function for each solution (s = 1–2U) of the newly created combined population (Ng). This step performs the same operations as step 1 of this stage on the new combined population (Ng); (5) sort the new combined population (Ng) using the sorting comparison rule. This sorting rule selects solutions with less fitness and pushing up these solutions at the top list of all solutions and saving them; and (6) keep top U solutions from the combined population (Ng) to form the parent population (Pg+1) of the next generation. This parent population is then returned to step 1 of this stage for generating a new child population. The second and third stages of the model repeats this iterative execution till completes the specified number of generations. 7. Smart Critical Path Method System, ‘‘SCPMS’’ Smart Critical Path Method System ‘‘SCPMS’’ software is designed by C++ programing code system to provide a number of new and unique capabilities, including: (1) ranking the obtained optimal plans according to a set of planner specified weights that represent the relative importance of time, cost, and quality in the analyzed project; (2) visualizing and viewing the generated optimal tradeoff between construction duration, cost, and quality according to planner ranking relative weights to facilitate the selection of an optimal plan that considers the specific project needs; and (3) providing seamless integration with available project management calculations to benefit from their practical project scheduling and control features. In order to provide the aforementioned capabilities of SCPMS software, the system is implemented as shown in Fig. 6 and developed in four main modules, as shown in Fig. 7: (1) database module to facilitate the storage and retrieval of construction scheduling, resource utilization, and optimal tradeoff data; (2) running module to provide a seamless integration of the project database with processing module and smart optimization model and responsible for all calculations runs; (3) processing module to do all calculations; and (4) user interface 599 module to facilitate the input of project data and the visualization of the three-dimensional time-cost-quality tradeoff generated by the system. 7.1. Database module The main purpose of this module is to develop a database that is capable of storing the necessary input data (e.g., project data details, project activities and available resource utilization options) and the produced output data (e.g., generated optimal tradeoff between construction duration, cost, and quality). It was composed of nine main tables that were designed to store the following information: (1) project data details table; (2) project holidays data table; (3) project exception data table; (4) project activities table; (5) successors relationships between activities table; (6) available resource utilization options for each activity table; (7) quality importance weight for each activity table; (8) optimal activities schedules and optimal resource utilization option for each activity table; and (9) optimal project time, cost and quality tradeoff. A schematic representation of these database tables and the relationships between them was shown using an entity dataflow diagram (see Fig. 8). The project data details table in this module is designed to store the IDs and descriptions of mega construction projects, number of sub-projects, project start date, and project weekends. It is linked to project activities table, project holidays data table, and project exception data table using a one to many relationships. The project holidays data table, which include project ID, holiday ID, holiday start date, holiday end date and repeated holidays. It is linked to the project data details table using a many to one relationship. The project exceptions data table, which include project ID, exception ID, exception start date, and exception end date, that is linked to the project data details table using a many to one relationship. The project activities table in this module is designed to store the descriptions and IDs of all project activities, which is linked to the activity importance weight table using a one to one relationship. The project activities table is also linked using a one to many relationships to: (1) successors activity table that stores the successors, lag time of each activity and stage buffers between sequential Activities; and (2) resource utilization table that stores the feasible resource utilization options for each activity (see Fig. 8). The activities table is also linked using a many to many relationships to the optimal activity schedules table that is designed to store the identified optimal schedule for each activity, including its: (1) optimal resource utilization option; (2) optimal duration, cost and quality; and (3) optimal first stage start time and last stage finish time. The optimal activity schedules table is also linked to the optimal project tradeoff table which stores the identified set of optimal tradeoff between project duration, cost, and quality as shown in Fig. 8. The main purpose of relationships linking the tables in the database module is to ensure the integrity of data stored in the database during the input and output stages. For case study, the relationship linking the activities table to the resource utilization table is specified to be a one to many relationships to ensure that each entered resource utilization option is assigned to unique activity in the project. On the other hand the data stored in each of the aforementioned project data details, activities data, activity importance weight, the resource utilization and activity successors tables, need to be populated 600 R.F. Aziz et al. Figure 7 Main modules of ‘‘SCPMS’’ system. by manual entry using the user interface input module in ‘‘SCPMS’’ software (see Fig. 7), while the two remaining tables of optimal activity schedules and project tradeoff are populated by the smart optimization model after performing its genetic algorithm computations using the user interface output module in ‘‘SCPMS’’ software, as shown in Fig. 7. The present database module is developed using the C++ programing code which is called Derby database management system to facilitate its integration with the remaining modules of ‘‘SCPMS’’ software using running and module processing module. 7.2. Running module Running can be classified as a programing code especially C++ coding system and its applications that were designed to allow, communicate and exchange different data from available modules. It was developed in ‘‘SCPMS’’ software to enable the integration of database module, user interface module, processing module and smart optimization model. To accomplish this, the running module was designed by C++ programing code as follows: (1) the C++ programing code driver; and (2) the Derby data base driver. First, the C++ programing code driver is utilized to perform two main steps: (1) export scheduling data from the project, activity, successors, and resource utilization tables in the database module to processing module; and (2) import the generated results from smart optimization model to the optimal activity schedules and optimal project tradeoff tables in the database module. Second, the derby driver is used in ‘‘SCPMS’’ software to perform two main steps: (1) export the existing project scheduling data from the ‘‘SCPMS’’ software input interface module to the activities and successors relationship table in the database module; (2) import the selected optimal scheduled data obtained by smart optimization model from the database module to ‘‘SCPMS’’ software output interface module to facilitate its visualization and storage. The main data were transferred using the two drivers in running module in ‘‘SCPMS’’ software by user interface modules. 7.3. Processing module Processing module can be classified as a programing code especially C++ coding system and its applications, that are designed to run all calculations into studied project by integration of the running module and the smart optimization model. To accomplish this, the processing module is designed Optimization for mega construction projects 601 Figure 8 ‘‘SCPMS’’ dataflow diagram. Figure 9 Case study network. to utilize the C++ programing code driver as follows: (1) calculate the scheduled data exported by running module from the project, activity, successors, and resource utilization tables in the database module to processing module; and (2) import the scheduled data of project, activity, successors, and resource utilization tables to smart optimization model. The main data transferred using the C++ programing code driver in process- ing module are scheduled data in a database module in ‘‘SCPMS’’ software by user interface module. 7.4. User interface module The user interface module was implemented by ‘‘SCPMS’’ software to facilitate the input construction planning data and the 602 Table 3 Available resource utilization options. Total duration (days) Total cost ($) Activity Quality indicator i = 1 weight/ Weight/activity (wk,i) Performance/ project (wtk) option (Qnk,i%) Quality indicator i = 2 Quality Indicator i = 3 Weight/activity (wk,i) Performance/ option (Qnk,i%) Weight/activity (wk,i) Performance/ option (Qnk,i%) 1 14 15 16 21 24 15 18 20 23 25 15 22 33 12 16 20 22 24 28 30 14 18 24 9 15 18 14 15 16 21 24 15 18 20 23 25 15 22 33 12 16 20 2400 2150 1900 1500 1200 3000 2400 1800 1500 1000 4500 4000 3200 45,000 35,000 30,000 20,000 17,500 15,000 10,000 40,000 32,000 18,000 30,000 24,000 22,000 220 215 200 208 120 300 240 180 150 100 450 400 320 450 350 300 0.03 0.50 0.30 0.20 0.05 0.40 0.08 0.70 0.11 0.50 0.10 0.60 0.11 0.50 0.10 0.30 0.01 1.00 0.01 0.50 0.01 0.60 0.02 0.70 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 1 2 3 4 5 1 2 3 1 2 3 1 2 3 4 1 2 3 1 2 3 1 2 3 4 5 1 2 3 4 5 1 2 3 1 2 3 100 90 86 75 63 98 87 81 77 60 100 80 62 99 74 59 100 93 77 61 95 76 59 97 70 61 95 83 75 68 61 100 97 81 71 63 94 79 63 96 72 61 0.40 0.15 0.35 0.20 0.25 0.30 0.00 0.50 0.40 0.30 96 89 77 72 60 94 94 92 72 66 97 82 60 95 71 63 97 89 71 64 95 74 62 99 73 62 NA 99 92 88 75 64 97 83 69 95 75 66 0.00 98 89 84 73 65 99 95 85 70 59 98 81 63 94 76 64 99 89 72 61 100 79 68 93 71 67 NA 0.00 NA 0.00 NA 0.00 NA 0.20 0.15 0.15 0.20 0.25 0.40 Total quality (%) 98.4 89.5 82.9 73.7 62.5 96.6 91.4 86.2 73.6 62.2 99.3 80.5 61.9 96.9 73.3 61.2 99.2 91.4 74.8 61.6 96.3 76.3 62.0 96.0 71.3 63.7 95.0 83.0 75.0 68.0 61.0 99.5 94.5 84.5 73.0 63.5 95.2 80.6 65.4 95.7 72.9 62.5 R.F. Aziz et al. Code Resource options Available resource utilization options. Total duration (days) Total cost ($) Quality indicator i = 1 Activity weight/ Weight/activity (wk,i) Performance/ project (wtk) option (Qnk,i%) Quality indicator i = 2 Quality Indicator i = 3 Weight/activity (wk,i) Performance/ option (Qnk,i%) Weight/activity (wk,i) Performance/ option (Qnk,i%) 12 22 24 28 30 14 18 24 9 15 18 16 20 22 24 28 30 14 18 24 9 15 18 2000 1750 1500 1000 4000 3200 1800 3000 2400 2200 3500 3000 2000 1750 1500 1000 4000 3200 1800 3000 2400 2200 0.03 0.50 0.35 0.15 0.07 0.40 0.06 0.80 0.07 0.03 0.70 0.30 0.06 0.70 0.05 0.30 13 14 15 16 17 18 1 2 3 4 1 2 3 1 2 3 1 1 2 3 4 5 1 2 3 1 2 3 99 89 70 62 99 73 60 100 79 63 100 97 89 81 72 67 98 73 62 98 75 63 0.40 0.10 0.30 0.30 0.20 0.45 98 85 71 61 96 71 62 95 82 67 98 96 85 79 73 60 97 75 65 99 77 66 0.20 0.10 0.00 0.40 0.10 0.25 95 87 79 63 97 76 63 98 81 66 NA 98 87 78 74 62 99 72 61 94 71 67 Total quality (%) 98.1 87.3 71.7 61.8 97.4 72.8 61.4 99.3 79.5 63.7 99.4 97.1 87.0 79.2 73.1 62.9 97.9 73.3 62.5 97.5 74.9 65.4 Optimization for mega construction projects Table 3 Code Resource options 603 R.F. Aziz et al. Run time (s) 08.485 16.703 25.331 19.265 38.444 57.695 81.529 91 66 99 74 98 90 95 PQ (%) PC ($) 148,220 100,090 171,100 105,470 167,320 109,320 145,370 104 168 141 114 104 114 107 PD (days) Run time (s) 09.210 18.112 NA 23.256 43.067 66.723 99.361 NA NA NA NA NA NA NA PQ (%) PC ($) 167,320 104,620 NA 106,670 167,320 104,620 144,470 PD (days) 104 124 NA 114 104 124 110 0.1 0.2 0.4 0.1 0.2 0.4 0.3 Mutation probability Crossover probability 1000 1000 1000 2000 2000 2000 1000 1 2 3 4 5 6 7 Generation size Comparison of models. Population size Output stage of proposed user interface module was designed to facilitate viewing and visualization of the generated optimal Table 4 7.4.2. Output stage Solutions Input stage was designed to facilitate input of data in ‘‘SCPMS’’ software. To accomplish this, a group of interactive GUI forms were developed to guide the planner in entering data by four main steps that were designed to: (1) allow adding, deleting and editing mega construction projects by group of buttons; (2) allow editing or inserting the data details of studied project, which includes ID, name, location, etc.; (3) allow adding, deleting and editing project activities; (4) allow editing or inserting the data details of the project activity, which includes ID, description, quantity, etc.; (5) allow editing or inserting activity resource details and utilization options; (6) allow adding, deleting and editing the relationships between project activities; (7) allow editing or inserting the data details of two sequential activities relationship; (8) allow adding, deleting and editing of project holidays; (9) allow editing or inserting the project holidays data details; (10) allow adding, deleting and editing of project exceptions by using group of buttons; (11) allow editing or inserting the data details of the project exceptions; and (12) allow entering genetic algorithm parameters. Final step of input stage at proposed user interface module was designed to facilitate the input of genetic algorithm parameters that are needed to initiate smart optimization model. Main parameters of genetic algorithm include: (1) population size; (2) generations number; (3) crossover type (simple, double, multiple); (4) crossover probability (0.00: 1.00); (5) mutation probability (0.00: 1.00); and (6) random number used to create first population of solutions. The smart optimization process is then invoked by clicking the optimization button in the project details form. After optimization process, the obtained results are then visualized and ranked at output stage of proposed module. 0.3 0.5 0.4 0.3 0.5 0.4 0.3 Proposed model Feng C. model 7.4.1. Input stage 100 200 300 100 200 300 1000 Remarks output of generated optimal schedules. The module was designed to implement necessary interface functions in two main stages: (1) an input stage that facilitates the input of project data details, project activities, activities relations, activities importance weights, available resource utilization options, and genetic algorithm parameters; and (2) an output stage that allows the user to rank and visualize the optimal project scheduling solutions and optimal activity resource utilization options obtained by smart optimization model. In each of previous two stages, the module was designed to enable a graphical interface with construction planners by using developed Graphical User Interface ‘‘GUI’’ forms in ‘‘SCPMS’’ software. The GUI forms are used to facilitate: (1) the initial project schedule creation; and (2) the generated optimal schedule presentation, analysis, and control. On the other hand, developed GUI forms were implemented in ‘‘SCPMS’’ software by using C++ programing code in order to facilitate the integration of other modules in ‘‘SCPMS’’ software. The interactions between the input and output stages in proposed module and others remaining modules in ‘‘SCPMS’’ software were illustrated using a standard dataflow diagram, as shown in Fig. 8. The following two sections describe the data flow between the construction planner and the different components of ‘‘SCPMS’’ software during the input and output stages, which are executed after the start of program as declared in ‘‘SCPMS’’ software welcome form. Min PD Min PC Max PQ Min PD + Min PC Min PD + Max PQ Min PC + Max PQ Min PD + Min PC + Max PQ 604 Optimization for mega construction projects 605 project time, cost, and quality tradeoff. To accomplish this, output stage was executed in five main steps that were designed to: (1) rank the generated optimal solutions by using a group of weights which specify the relative importance of time, cost, and quality to decision makers, and allow scrolling through ranked optimal solutions; (2) display obtained project timecost-quality tradeoff and allow scrolling them through generated solutions; (3) scheduling the selected main project solution and sub-projects; (4) scheduling related activities by plotting bar chart view; and (5) printing data details of optimized selected mega construction project solution. 8. Case study A project case study is analyzed in order to illustrate the use of the present smart optimization model and demonstrate its capabilities. The case study consists of 18 construction activities as shown in Fig. 9; each one has a number of possible resource utilization options that can be used to construct the activity as shown in Table 3. The case study was originally introduced by Feng et al. [29], to illustrate construction timecost tradeoff analysis, and therefore it did not include data on construction quality. In order to highlight the capabilities of proposed model, the data of the original case study are expanded to illustrate the impact of each resource utilization option on construction quality in addition to its time and cost as shown in Table 3. The estimated activity performance in time, cost, and quality indicators for each resource utilization option can be obtained by performing a statistical analysis of its historical performance in previous projects, assuming that these performance levels can be used to predict their future performance. This simple case study had an average of 3.4 resource utilization options to construct each of the 18 activities as shown in Fig. 9 and Table 3, which produces about 3 billion (i.e. 3.418) possible combinations for delivering the entire project. Each of these possible combinations leads to a unique impact on project performance toward time, cost, and quality, and the main challenge here is to search this large search space to find solutions that establish an optimal and delicate balance between construction time, cost and quality. The proposed optimization model was used to search this large space of possible solutions using the developed smart Figure 10 optimization model. The model was able to significantly reduce this large space by precluding dominated solutions in the successive generations of the evolutionary algorithm, using the Pareto optimality principles shown in Table 3. This led to the selection of 305 Pareto optimal solutions for this application case study. Each of these solutions identifies an optimal resource utilization option for each of the 18 construction activities, and accordingly it provides a unique and optimal tradeoff between project time, cost and quality. A sample of these solutions and their impact on project performance toward time, cost, and quality is shown in Table 4. The entire set of identified Pareto optimal solutions are represented graphically using a fitted 3-dimensional surface as shown in Fig. 10. The comparison showed that the efficiency of proposed model was higher than Feng et al. [29]. Furthermore, the comparison illustrated the effectiveness of taking short run time using the same processor, compared to the run time of the Feng et al. [29] model that has a fluctuating efficiency. This demonstrates that the present model is capable of robustly solving the time-cost tradeoff problem, while providing the added capability of considering and quantifying quality and visualizing tradeoff between project time, cost and quality for the analyzed case study (see Table 4). 9. Conclusion This paper presents the development of smart optimization model in order to support the balance between time, cost and quality simultaneously for mega construction projects. The model was designed to search for the optimal resource utilization plans that minimize construction time and cost while maximizing its quality, and also to make development in three main tasks. First task, the model is formulated to incorporate all major decision variables and to enable the optimization of the three major objectives in this resource utilization problem. Second task, the model is formulated to enable quantifying construction quality in the optimization process, and then the model is implemented as an advanced multi-objective evolutionary algorithm in third task. Smart Critical Path Method System, ‘‘SCPMS’’ was developed in four main tasks that led to the development of: (1) database module to store the project data details, project activities details, activities relations, Smart optimization surface. 606 activities resource utilization options and genetic algorithm parameters; (2) running module to provide calculations with a seamless integration of database module with user interface module, processing module and the smart optimization model; (3) processing module was designed to perform all calculations and was developed to enable the integration of the database module with smart optimization model; and (4) user interface module to facilitate the input of project data and genetic algorithm parameters, as well as the visualization and ranking of the obtained optimal solutions. An application case study was analyzed to illustrate the use of proposed model and demonstrate its capabilities in considering quality in the optimization process and in developing optimal tradeoff between construction time, cost and quality. These new proposed models should prove usefulness to decision makers, especially those who are involved in new types of contracts requiring high quality performance in mega construction projects. References [1] D.B. Ashley, Simulation of repetitive-unit construction, J. Constr. Div. ASCE 106 (2) (1980) 185–194. [2] S. Selinger, Construction planning for linear projects, J. Constr. Eng. Manage. ASCE 106 (2) (1980) 195–205. [3] J.J. O’Brien, Line of Balance, Scheduling Handbook, McGrawHill Book Co., Inc., New York, NY, 1969, pp. 246–255. [4] S. Peer, Network analysis and construction planning, J. Constr. Div. ASCE 100 (3) (1974) 203–210. [5] J.J. O’Brien, VPM scheduling for high-rise buildings, J. Constr. Div. ASCE 101 (4) (1975) 895–905. [6] O. Stradal, J. Cacha, Time space scheduling method, J. Constr. Div. ASCE 108 (3) (1982) 445–457. [7] R.I. Carr, Cost, schedule, and time variance and integration, J. Constr. Eng. Manage. ASCE 119 (2) (1993) 245–265. [8] F.C. Harris, R. McCaffer, Modern Construction Management, first ed., Crosby Lockwood Staples, London, U.K., 1977. [9] E.N. Chrzanowski, D.W. Johnston, Application of linear scheduling, J. Constr. Div. ASCE 112 (4) (1986) 476–491. [10] R. Burke, Project Management: Planning and Control, second ed., Wiley, West Sussex, UK, 1996. [11] S.M. Hafez, Practical limitations of line of balance in scheduling repetitive construction units, Alex. Eng. J. 43 (5) (2004) C653– C661. [12] S.M. Hafez, Resource Allocation and Smoothening for Repetitive Projects, M.Sc. Thesis, Structural Eng. Dept., Alex. Univ., Alex., Egypt, 1997a. [13] S.M. Hafez, Developing classical schedule technology, Alex. Eng. J. 44 (2) (2005) C267–C277. [14] H.N. Ahuja, S.P. Dozii, S.M. AbouRizk, Project Management Techniques in Planning and Controlling Construction Projects, second ed., John Wiley and Sons, New York, USA, 1994. [15] S.M. Hafez, I.E. Korish, M.H. Elwany, M.A. Barakat, Time cost tradeoff in repetitive projects, Alex. Eng. J. 36 (1) (1997) C39–C47. R.F. Aziz et al. [16] D.E. Goldberg, Genetic Algorithm in Search Optimization and Machine Learning, Addison-Wesley Reading, University of Alabama, USA, 1989. [17] E. EL-Beltagi, T. Hegazy, D. Grierson, Comparison between five evolutionary-based optimization algorithms, Adv. Eng. Inform. 19 (2005) 43–53. [18] G. Babu, N. Suresh, Project management with time, cost, and quality considerations, Euro. J. Oper. Res. 88 (1996) 320–327. [19] D.B. Khang, Y.M. Myint, Time, cost and quality tradeoff in project management: a case study, Int. J. Project Manage. 17 (4) (1999) 249–256. [20] K. El-Rayes, A. Kandil, Time-cost-quality tradeoff analysis for highway construction, J. Comput. Civ. Eng. ASCE 131 (4) (2005) 477–486. [21] H.R. Tareghian, S.H. Taheri, On the discrete time, cost, and quality tradeoff problem, Appl. Math. Comput. 181 (2006) 1305–1312. [22] S.H. Taheri, H.R. Tareghian, A solution procedure for the discrete time, cost and quality trade off problem using electromagnetic scatter search, Appl. Math. Comput. 182 (2007) 305–312. [23] a. Afshar, A. Kavek, O. Shoghli, Multi-objective optimization of time-cost-quality using multi-colony ant algorithm, Asian J. Civil Eng. (Build. Hous.) 8 (2) (2007) 113–124. [24] M. Rahimi, H. Iranmanesh, Multi objective particle swarm optimization for time, cost and quality tradeoff problem, World Appl. Sci. J. 4 (2) (2008) 270–276. [25] H. Iranmanesh, M. Skandari, M. Allahverdilloo, Finding pareto optimal front for the multi-mode time, cost quality tradeoff in project scheduling, Proc. World Acad. Sci. Eng. Technol. 30 (2008) 1307–6884. [26] R. Abdel-Razek, A. Diab, S. Hafez, R. Aziz, Simplified genetic algorithm for solving typical-repetitive construction projects with multi-mode of resources, in: International Conference on Innovation, Management and Technology, ‘‘ICIMT 2010’’, January 29th–31th, 2010, Pro. 61, No. 20, Cape Town, South Africa, 2010, pp. 140–148. [27] R. Abdel-Razek, A. Diab, S. Hafez, R. Aziz, Time-cost-quality tradeoff software by using simplified genetic algorithm for typical-repetitive construction projects, in: International Conference on Innovation, Management and Technology, ‘‘ICIMT 2010’’, January 29th–31th, 2010, Cape Town, South Africa, Pro. 61, No. 21, 2010, pp. 149–158. [28] H. Abdel-Khalek, S. Hafez, A. El-Lakany, Y. Abuel-Magd, Financing – scheduling optimization for construction projects by using genetic algorithms, in: International Conference on Innovation, Engineering Management and Technology, ‘‘ICIEMT 2011’’, November 14th–16th, 2011, Paris, France, Pro. 59, No. 36, 2011, pp. 289–297. [29] C. Feng, L. Liu, S.A. Burns, Using genetic algorithms to solve construction time-cost tradeoff problems, J. Comput. Civ. Eng. ASCE 11 (3) (1997) 184–189.