Abstract
In the field of construction management, project crashing is an approach to shortening the project duration by reducing the duration of several critical project activities to less than their normal activity duration. The goal of crashing is to shorten the project duration while minimizing the crashing cost. In this research, a novel method for construction project crashing is proposed. The method is named as novel improved differential evolution (NIDE). The proposed NIDE is developed by an integration of the differential evolution (DE) and a new probabilistic similaritybased selection operator (PSSO) that aims at improving the DE’s selection process. The PSSO has the role as a scheme for preserving the population diversity and fending off the premature convergence. The experimental result has demonstrated that the newly established NIDE can successfully escape from local optima and achieve a significantly better optimization performance.
1. Introduction
In the field of construction management, a construction project can be typically defined as a set of individual activities with their technical/managerial constraints. The nature of construction projects, which is characterized by constant changes in the environment, pressures to maintain schedules/costs with increasingly complex construction techniques, makes the task of project management a significant challenge [1]. Due to the complexity of construction projects, schedule management is proved to be very challenging [2]. Therefore, schedule overrun is not unusual in the construction field.
Moreover, there can be a great motivation for the construction contractor and the project owner to reduce the project time [3]. The reason is that as a project progresses, it consumes indirect costs, consisting of the cost of facilities, equipment, and machinery, interest on investment, utilities, labor, and the loss of skills and labor of the project team who are not working at their regular jobs [4]. There also may be severe financial penalties for not completing a project on time; many construction and government contracts have penalty clauses for exceeding the project completion date. In addition, the project owner may desire to reduce the completion time in order to put the facility into operation sooner.
In practice, to shorten the project schedule, the manager may accelerate some of the activities at an additional cost, that is, by allocating more or better resources, such as labor and equipment. Minimizing the sum of activity direct costs while meeting a specified deadline is of practical need and this has been known as the project crashing problem [5].
In the project crashing problem, the cost of an activity is generally expressed in forms of nonincreasing and bounded function of the duration. To simplify the problem, some previous works assumed that the activity timecost function is linear [4]. Recent researches relaxed the linearity assumption by allowing the activity timecost function to be of different forms: concave [6], convex [7], hybrid of concave and convex [5], and quadratic [8].
To better suit the realworld circumstance, the research interest has also been directed to solve the problem in which the activity cost function is not only continuous but also discrete [9]. Moreover, the timecost functions may consist of discontinuous pieces, that is, defined at several separated domains [5]. This situation happens when an activity can be performed by several methods, each of which leads to a different range of possible time and cost. For instance, an excavation task can be done by hand or by machine; while the former takes 10–15 days, the later may need only 3–5 days. Thus, the activity timecost function is expressed as two distinct regions, each of which defines the possible time and cost for a particular construction method. Since the problem becomes less restrictive, the solution complexity grows and conventional optimization techniques are unable to deliver satisfactory solutions. Needless to say, with the increasing complexity of real world project crashing problem, the demand for an advanced tool is on the rise among scholars from both the academic area and the industry.
Due to the problem complexity, applying evolutionary algorithms to tackle the project crashing problem can provide feasible alternatives. Evolutionary algorithms inspired by the natural evolution of species have been successfully applied to solve numerous challenging optimization problems in diverse fields [10–12]. Evolutionary algorithms are characterized by iterative progress used to guide the randomly initiated population to the final optimal solution. The advantage of evolutionary algorithms is its ability to find good solutions to complex problems in a relatively short time.
The differential evolution (DE) [13] is a populationbased stochastic search engine which is efficient and effective for global optimization in the continuous domain. It uses mutation, crossover, and selection operators at each generation to move its population toward the global optimum [14]. Superior performance of the DE over other algorithms has been verified in optimization problems that span many fields [15–21].
Notably, the DE’s ability to deal with complex optimization problem can be hindered because it employs a greedy criterion to make decision whether or not to accept a newly created individual [13]. Under this criterion, a new individual is allowed to survive if and only if it reduces the value of the cost function [22]. In other words, this scheme only takes into account the fitness of individual to determine its survival.
Although the greedy criterion facilitates the optimization process to converge fast, it harbors the risk of premature convergence. The reason is that the population diversity is deteriorated in parallel with the fast convergence. As a consequence, the population tends to be trapped in some local optimum. Obviously, this disadvantage hampers the algorithm to deal with complex objective functions.
Hence, this paper replaces the original selection operator of the DE by proposing a new selection scheme, namely, the probabilistic similaritybased selection operator (PSSO). In the PSSO, besides the fitness values, the similarity between individuals in the population is taken into account to determine their survivals. This scheme can help maintain population diversity and prevent premature convergence. In addition, to strike balance between the optimization performance and computational cost, the PSSO is activated with a certain probability. This probability is fairly large when the optimization commences and gradually reduces as the searching progress gets matured.
In this research, the PSSO is integrated into the DE algorithm to establish the novel improved differential evolution (NIDE) for solving the project crashing problem. The remaining part of this paper is organized as follows. In Section 2, the project crashing problem and the DE algorithm are reviewed. The overall picture of the NIDE, including the PSSO, is presented in Section 3. Section 4 describes applications to demonstrate the capacity of new approach. Finally, some conclusions are mentioned in the last section of this paper.
2. Literature Review
2.1. The Project Crashing Problem Formulation
The project crashing problem can be defined as minimizing the sum of activity direct costs while meeting a specified project deadline [4, 5, 7]. In the project crashing analysis, the objective function is set to minimize the project direct cost [23]. The project direct cost is the summation of all activities’ costs. Herein, the decision variables are the duration of all activities. The parameters of the problem are the activities’ relationships, the timecost functions, and the prespecified project duration.
The project crashing problem can be mathematically formulated as follows: Equation (2) is used to specify the precedence constraints between activity and all the activities in its successor set ; represents the duration for activity ; denotes the early start time for activity . Equation (3) computes the total project duration, which must not exceed the project deadline . Equation (4) guarantees that all the early start times and activity duration are nonnegative. Equation (5) expresses that the cost of an activity () is a function of its duration ().
2.2. Differential Evolution
The differential evolution (DE) is an evolutionary algorithm proposed by Price et al. and Storn and Price [13, 22], which is designed for real parameter optimization. The DE is based on the utilization of a novel crossovermutation operator, based on the linear combination of three different individuals and one subjecttoreplacement parent (or target vector) [24]. The crossovermutation operator yields a trial vector (or child vector) which will compete with its parent in the greedy selection operator. These two terms, trial vector and child vector, can be used interchangeably. This selection process is performed via selection between the parent and the corresponding offspring [25, 26].
The algorithm of the DE is depicted in Algorithm 1. In this figure, it is noted that represents the size of the population; is the th decision variable of the th individual in the population; is the current generation; denotes the number of decision variables. is a uniform random number lying between 0 and 1 and r_{i} is a randomly chosen index ranging from 1 to . Moreover, Cr denotes the crossover probability.

In the selection process, the trial vector is compared to the target vector (or the parent) using the greedy criterion [22]. Thus, if the trial vector can yield a lower objective function value than its parent, then the trial vector supersedes the target vector (see Figure 1). The selection operator is expressed as follows: where represents the parent vector at generation , denotes the trial vector at generation , and is the chosen individual which survives to the next generation .
The optimization process terminates when the stopping criterion is met. The user can set the type of this stopping condition. Commonly, maximum generation () or maximum number of function evaluations (NFE) can be used as the stopping condition. When the optimization process terminates, the final optimal solution is readily presented to the user.
3. Novel Improved Differential Evolution (NIDE) for Project Crashing Optimization
3.1. Probabilistic SimilarityBased Selection Operator (PSSO)
As mentioned earlier, the DE employs a selection operator based on greedy criterion. This means that, to decide the survivability of an individual, only its fitness value is taken into account. According to Storn and Price [22], this approach, besides its simplicity, has the advantage of fast convergence. This explains why the DE oftentimes overcomes other benchmarked algorithms in terms of convergence rate for a wide range of optimization problems [22, 27, 28].
Nevertheless, the capability of fast convergence is not the only desirable characteristic of an optimizer. Accuracy or, in other words, the solution quality is also of major concern. When dealing with difficult problems, which landscape may contain many local minima, the performance of the DE algorithm may deteriorate. It is because the greedy criterion selection operator reduces the population diversity significantly in order to achieve a fast rate of convergence. Thus, the algorithm is frequently subjected to premature convergence or becoming trapped in local minima [22].
In case of the DE algorithm, to avoid being trapped in a suboptimal solution, it is beneficial to compromise the convergence speed and put more stress on the exploration of the search space. In this case, this research proposes to replace the original selection operator in the DE by the PSSO. Being beneficial from the ideal of the crowding technique [29], the replacement policy in the PSSO involves a candidate solution (trial vector) competing for a place in the population with the most similar parent. Herein, the similarity can be measured by the Euclidean distance.
If a trial vector is better than its most similar parent, which is not necessarily the target vector, the parent is replaced; otherwise, the candidate solution is discarded (see Figure 2). Hence, besides fitness value, the PSSO considers the similarity of individuals quantified by distances among them. The algorithm basically prefers the competition among similar individuals and maintains the diversity of the population.
Moreover, to strike balance between optimization performance and computational cost, the PSSO is activated with a certain probability. This probability is very high at the beginning stage of the optimization process to facilitate the algorithm to explore the search space thoroughly. At the latter stage, it is beneficial to utilize the traditional greedy selection operator to exploit the currently found solutions.
When the algorithm needs to decide whether to accept a newly created trial vector, a random numberis generated within the range of (0, 1). If, the PSSO is activated; otherwise, the conventional greedy selection is performed. The threshold probability is set to be 1 at the first generation and it gradually decreases when the searching process reaches latter stages. The formula for calculatingis given in the following decaying function: where is the initial amount before decaying (); represents the decaying rate (); denotes the current generation ().
When the PSSO is performed, Euclidean distances from the trial vector to each of the parent vectors are calculated and sorted to identify the most similar parent vector (), which is corresponding to the closest distance. In the modified selection operator, the most similar parent vector () is not necessarily identical to the target vector. The trial vector and its corresponding compete with each other based on fitness value. The one that can reduce the cost function survives to the next generation. The selection operator is described as follows: wheredenotes the most similar parent and represents the trial vector.
3.2. The Proposed NIDE Algorithm
This section is dedicated to describing the newly developed NIDE optimization model in detail. The overall picture of the proposed model is depicted in Figure 3. The NIDE operates through 5 consecutive steps: (1) initialization of population, (2) mutation process, (3) crossover process, (4) probabilistic similaritybased selection operator, and (5) stopping condition verification.
(1) Initialization of Population. Before the searching process can commence, an initial population of NP feasible solutions is created by a uniform random generator; herein NP denotes the population size. A solution is represented as a vector with elements as follows: where is the number of decision variables of the problem at hand. The index denotes the th individual in the population. The following equation is used to generate a solution within the feasible domain: whereis the decision variable th of the solution th, rand denotes a uniformly distributed random number between 0 and 1, and LB and UB are the lower and upper bound of the decision variable th, respectively.
(2) Mutation Process. For each target vector, a mutant vector is created by three randomly chosen vectors in the current population. It is worth noticing that the magnitude of the mutation scale factor () influences the search step of mutation operator. This process is mathematically shown as follows: where , , and are three random indexes lying between 1 and NP. These three randomly chosen integers are also selected to be different from the index of the target vector. denotes the mutation scale factor, which controls the amplification of the differential variation betweenand .represents the newly created mutant vector.
(3) Crossover Process. The crossover operation is to diversify the current population by exchanging components of target vector and mutant vector. In this stage, a new vector, named as trial vector, is created. The trial vector is also called the child vector. Herein, the terms trial vector and child vector can be used interchangeably. The trial vector can be formed as follows: where is the trial vector, denotes the index of element for any vector, is a uniform random number lying between 0 and 1, Cr is the crossover probability, which is needed to be determined by the user, and is a randomly chosen index ranging from 1 to NP which guarantees that at least one parameter from the mutant vector () is copied to the trial vector (). In this step, the crossover probability (Cr) determines the contribution of the target vector and the mutant to the component of the trial vector.
(4) Probabilistic SimilarityBased Selection Operator. At this stage, the newly created trial vector is evaluated by the PSSO which is described in the previous section of the paper. If the trial vector is accepted, it will survive to the next generation; otherwise, the trial vector is discarded.
(5) Stopping Condition. The optimization process continues until the maximum generation is achieved. Once the optimization process terminates, the final optimal solution is ready for the user’s assessment.
4. Model Application
In this section, the capability of the NIDE is demonstrated through a project crashing optimization problem adopted from a previous work [5]. This case study is fairly complex because the timecost relation exists in a variety of forms: nonlinear, discrete, and piecewise discontinuous functions. The detail of project information, which includes activity’s ID, activity description, predecessor, timecost function, and type of function, is provided in Table 1. The required project crash time is 110 days.
To verify the performance of the proposed algorithm, three different algorithms are used for performance comparison: the Genetic Algorithm (GA) [30], the Particle Swarm Optimization (PSO) [5], the DE [13], and the Adaptive Differential Evolution with Optional External Archive (JADE) [31]. The PSO has been applied by Yang (2007) to solve the project crashing optimization [5]. The GA and DE methods are popular and commonly used evolutionary algorithms in the field of civil engineering. The JADE is a recently developed metaheuristic. Thus, comparing the performance of the NIDE and these benchmarking methods can point out the superior of the proposed approach.
The population size (NP) and the maximum number of generations () for each algorithm are set to be and 10000, respectively. Herein, the parameter denotes the number of decision variables of the optimization problem at hand. Moreover, as recommended by Price et al. [13], the tuning parameters and Cr of the DE and NIDE are fixed to be 0.5 and 0.8, respectively.
The experimental results are shown in Table 2 which shows the performance of each optimization algorithm (in terms of the project cost) at each threshold of . Observably, the proposed NIDE has achieved the most desirable project cost. The minimum total direct cost found by the NIDE is 63.75. Accordingly, the optimal duration of eight activities in the project is given as follows: [32, 25, 22, 33, 32, 25, 13, 4]. The JADE is the second best method with the project cost of 65.40. The DE is the third best method with the project cost of 70.50. The GA and PSO algorithms both attain the project cost of 85.5. As observed from the experiment, the GA and PSO got trapped in an inferior solution at early states of their evolutionary progress. Compared with the GA and the PSO, the JADE and DE algorithms have discovered better solutions, but they still get trapped in some local minima.
Moreover, it is noted that the NIDE can find a project crashing solution which is significantly improved compared to the outcome found by other benchmark algorithms. As seen from Table 2, the proposed method has also converged faster than other algorithms. The NIDE has located the best found solution within 5000 generations. Based on the experiment, the advantage of the PSSO is clearly exhibited. And the replacement of the PSSO over the conventional selection operator is shown to be helpful in boosting the optimization performance.
5. Conclusion
This study has proposed a novel optimization model, namely, NIDE, to tackle complex nature of the project crashing problem. To preserve the population diversity during the evolutionary process, the NIDE replaces the original selection in the DE by the PSSO—a new selection operator. The PSSO helps the optimization algorithm preserve the diversity during the evolutionary process and better compromise between exploration in the initial stage and exploitation in the latter stage of the searching process. By doing so, the possibility of being trapped in a suboptimal solution is diminished considerably.
The optimization result obtained from the experiment section has verified the capability of the newly established approach. This fact proves that the newly established NIDE can be a promising tool to help the project manager better deal with the project crashing problem. The future direction of this research may include applying the NIDE to solve other optimization problems and integrating a mechanism for tuning the model’s parameters adaptively.
Conflict of Interests
The author declares that he has no conflict of interests regarding to the publication of this paper.