Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

A project is informally defined as a unique undertaking, composed of a set of precedence related tasks that have to be executed using diverse and mostly limited company resources. Project scheduling consists of deciding when tasks should be started and finished, and how many resources should be allocated to them.

For more than two decades the industry has been going through an intense period of introspection as a result of its poor performance and low productivity. In the 1990s numerous reports recommended actions that need to be undertaken to address the industry’s prevailing problems [1]. Since the commencement of the global finical crisis in 2008, construction industries worldwide have been subjected to significant reductions in private and public sector investment. Hitherto, issues associated with poor project performance and productivity remains a pervasive problem [2]. In Australia, the Queensland Department of Main Roads reported that 10 % of projects with a contract value greater than AU$1 m experienced an overrun of over 10 % [3]. Blake Waldron found that less than 48 % of Australian infrastructure projects surveyed were delivered on time, on budget and to the required quality [4]. A survey exploring the completion of construction projects in Saudi Arabia showed that 76 % of project contractors experienced delays of 10–30 % of the projected duration [5].

To improve the productivity and reduce the delay, various efforts have been applied to improve scheduling in construction projects. The earliest work on this issue dates back to 1950s. In the late of 1950s, the critical path method (CPM) was developed as a result of the increasing complexity of construction projects. Since then, CPM has been regarded as one of basic project scheduling and control tools for supporting project managers to ensure project completion on time and on budget. In the Critical Path Method, each activity is listed, linked to another activity, and assigned durations. Interdependency of an activity is added as either predecessors or successors to another activity. Moreover, the duration of the activities are entered. Based on the dependency and duration of the activities, the longest path is defined as the most critical path. In CPM, resource limitation is not considered and an activity can always start as long as all its predecessors are completed. This, however, is not practical, as resources are not unlimited and the availability of resources would affect resource allocation and project scheduling. On the other hand, CPM does not allow interruption of an activity or overlap between two connected activities, which is also unpractical [6]. In practice, an activity could be temporarily interrupted due to short-term transfer (e.g., one or two days) of resource(s) to a more important or urgent activity. Slight overlap between two connected activities might happen to repetitive construction projects, such as road pavement projects, etc. Furthermore, based on resource availability, the duration of an activity might vary, which results in various execution modes [6]. To overcome CPM major limitations, several techniques and optimizations have been proposed in project management and scheduling literature and usually can be classified in four categories: resource-constrained scheduling [7], time cost trade-off, resource levelling and resource allocation.

For the predefined durations and demands on each of the given renewable resources, the objective of resource-constrained project scheduling is to determine the sequence of project activities and to allocate available resources to project activities in an attempt to optimize a given objective function such as minimizing project makespan. The objective of time-cost trade off analysis is to find a time/cost tradeoff curve showing the relationship between activity duration and cost. The objective of resource levelling is to smooth day-to-day resource demand. The objective of resource allocation is to allocate limited resources to activities so as to optimize a certain goal such as cost minimization. In the past decades, there are many optimization-based methods developed to solve these classes of project scheduling problems. Although many survey papers available in this area [810], there are still many significant advances not included. The aim of this paper is two-fold. On one hand, it services as a tutorial for both practical engineers and beginners in this area. On the other hand, it will offer a comprehensive survey of the optimization methods developed in the recent results.

2 Variants of Project Scheduling Problems

2.1 Resource-Constrained Project Scheduling (RCPS)

To formulate a project scheduling as an optimization problem, we first need to model a project in mathematics. In general, there are two ways to represent the project topology, i.e., activity-on-arc (AOA) network and activity-on-node (AON) network. Since almost all the available literatures on project scheduling are based on AON network representation, we here only introduce AON network.

Consider a project with \(J\) activities which are labelled as \(j=1,{\cdots }, J\). Let the activity \(0\) represent by convention the start of the schedule and the activity \(J+1\) represent the end of the schedule. Denote \(V=\{0,1,{\cdots }, J,J+1\}\). The precedence relations are represented by a set \(E\) of index pairs such that \((i,j)\in E\) means that the execution of the activity \(i\) must precede that of the activity \(j\). Then, the AON network is a grapy \(G=(V,E)\). Let \(R=\{1,{\cdots },I \}\) be the set of the renewable resources. The availability of the resource \(i\) is \(B_i,i=1,{\cdots },I\) and their durations are \(p_i, i=1,{\cdots }, I, \) respectively. Since the activities \(0\) and \(J+1\) are dummy activities, define \(b_{0i}=0\) and \(b_{j+1,i}=0\) for all \(i\in R\). A standard resource-constrained project scheduling can be stated as: choose a schedule such that the makespan is minimized while the resource constraints are satisfied. In general, there are two different methods to formulate it as an optimization problem: discrete time formulation (DTF) and continuous time formulation (CTF).

In discrete time formulations, the time horizon \(T\) is partitioned into \(T\) time slots \([t-1,t]\), \(t=1,{\cdots }, T\). Then, the time-indexed variables \(x_{jt}\) is introduced to indicate whether the \(j\) activity starts at time \(t \), i.e.,

$$\begin{aligned} x_{jt} = \left\{ \begin{array}{ll} 1 &{} \text {if the activity}\; \text {j}\; \text {starts at time}\;\text {t} \\ 0 &{} \text {otherwise} \\ \end{array} \right. \end{aligned}$$

The RCSP can now be formulated as the following optimization problem

$$\begin{aligned} \min&\sum _{t=0}^T tx_{J+1,t}, \end{aligned}$$
(1)
$$\begin{aligned} \text {s.t.}&\sum _{t=0}^T x_{jt} = 1, \forall j\in {V}, \end{aligned}$$
(2)
$$\begin{aligned}&\sum _{t=0}^T tx_{jt} - \sum _{t=0}^T tx_{it} \ge p_i, \forall (i,j)\in E, \end{aligned}$$
(3)
$$\begin{aligned}&\sum _{j=1}^J b_{jk} \sum _{\tau = \max \{0,t-p_i +1 \}}^t x_{j\tau } \le B_k, t=1,{\cdots }, T, k=1,{\cdots }, I, \end{aligned}$$
(4)
$$\begin{aligned}&x_{jt} \in \left\{ 0,1 \right\} , \forall j\in A \text { and } t\in \{0,1,{\cdots }, T\} . \end{aligned}$$
(5)

In the above optimization problem, (2) and (5) impose non-preemption of the project activities, (3) is simple translation of precedence relations and (4) is the resource constraints. This technique has been extended to solve the multi-mode resource constrained project scheduling in which the variables \(x_{jt}\) has one more subscript to indicate which mode is used. More details for the multi-mode case can be referred to [11, 12]. It is clear that the optimization problem defined by (15) is an integer optimization problem in which the only variables are \(x_{jt}\).

Different from DTF, CTF involves three types of decision variables: (i) the starting time continuous variables \(S_i\) for each activity \(i\in V\), (ii) Sequential binary variables \(x_{ij}, (i,j)\in V\times V\) to indicate whether the activity \(j\) starts before the activity \(i\) or not, (iii) Continuous flow variables \(f_{ijk}\) which are the quantities of resource \(k\) that is transferred from the activity \(i\) to the activity \(j\), \((i,j,k)\in V\times V\times R\). Then, a standard optimization problem for the RCPS based on continuous time formulations can be posed as:

$$\begin{aligned} \min&S_{J+1} \end{aligned}$$
(6)
$$\begin{aligned} \text {s.t.}&x_{ij} + x_{ji} \le 1, \forall i,j\in V, i<j, \end{aligned}$$
(7)
$$\begin{aligned}&x_{ij} +x_{jh} - x_{ih} \le 1, \forall i,j,h\in V, \end{aligned}$$
(8)
$$\begin{aligned}&S_j -S_i \ge -M_{ij} + (p_i+M_{ij})x_{ij}, \forall i,j \in V, \end{aligned}$$
(9)
$$\begin{aligned}&f_{ijk}\le \min \{b_{ik},b_{jk}\} x_{ij}, \forall i,j\in V, k\in R, \end{aligned}$$
(10)
$$\begin{aligned}&\sum _{j=0}^{J+1}f_{ijk} =b_{ik}, \forall i\in V, k\in R, \end{aligned}$$
(11)
$$\begin{aligned}&\sum _{i=0}^{J+1}f_{ijk} =b_{jk}, \forall j\in V, k\in R, \end{aligned}$$
(12)
$$\begin{aligned}&f_{J+1,0,k} = B_k, \forall k\in R, \end{aligned}$$
(13)
$$\begin{aligned}&x_{ij} \in {0,1}, S_i \ge 0, f_{ijk} \ge 0, \forall i,j \in V, k\in R, \end{aligned}$$
(14)

where \(M_{ij} = ES_i -LS_j\), \(ES_i\) is the date before the activity \(i\) will not start and \(LS_i\) is the date before which it should start.

The constraint (7) states that for two distinct activities, either \(i\) precedes \(j\), or \(j\) precedes \(j\) or \(i\) and \(j \) are processed in parallel. The constraint (7) together with (8) ensures that no cycles can occur in the sequencing decisions. The constraint (9) links the variables \(S_i\) and \(x_{ij}\). The constraint (10) lines the variables \(f_{ijk}\) with the variables \(x_{ij}\). The constraints (11)–(13) are resource flow conservation constraints. In [13], this technique has been extended to solve resource-constrained project scheduling with scarce resources and generalized precedence relations. In [14], the facility layout problem concept is introduced to formulate a project scheduling as an optimization problem which is highly similar to CTF.

2.2 Time-Cost Trade-Off

In scheduling of construction projects, the project duration can be compressed (crashed) by expediting some of its activities in several ways including: increasing crew size above the normal level, working overtime, or using alternative construction methods. The objective of time-cost trade-off problem is to identify the set (or sets) of time-cost alternatives that will provide the optimal schedule. The time-cost relationship of a project activity can be either continuous or discrete. Accordingly the time-cost trade-off problem (TCTP) can be categorized as continuous time-cost trade-off problem (CTCTP) and discrete time-cost trade-off problem (DTCTP). In the literature, almost all studies on this topic are concentrated on DTCTP [15] since the activity is discrete. So here we only review the discrete DTCTP.

Up to now, three versions of the DTCTP have been studied in the literatures: the deadline problem (DTCTP-D), the budget problem (DTCTP-B) and the efficiency problem (DTCTP-E). In DTCTP-D, given a set of time/cost pairs (modes) and a project deadline, each activity is assigned to one of the possible modes in such a way that the total cost is minimized. Conversely, the budget problem minimizes the project duration while not exceeding a given budget. On the other hand, DTCTP-E is the problem of constructing efficient time/cost solutions over the set of feasible project durations [16]. To formulate them as optimization problems, let AON network be \(G=(V,E)\), \(\theta \) be a specific path of \(G\) and \(\varTheta \) be the set of all possible pathes of \(G\). For each \(\theta \in \varTheta \), denote \(t(\theta )\) and \(c(\theta )\) as the makespan and cost, respectively. For the given deadline \(d\) and budget \(b\), DTCTP-D can be posed as the following optimization problem:

$$\begin{aligned} \min _{\theta \in \varTheta } \{c(\theta ): t(\theta )\le d \}. \end{aligned}$$
(15)

Similarly, DTCTP-B can be posed as

$$\begin{aligned} \min _{\theta \in \varTheta } \{t(\theta ): c(\theta )\le b \}. \end{aligned}$$
(16)

Different from (15) and (16) which are single-objective optimization problems, DTCTP-E is a multi-objective optimization problem which can be stated as:

$$\begin{aligned} \min _{\theta \in \varTheta } \{t(\theta ), c(\theta )\}. \end{aligned}$$
(17)

To solve the optimization problems (15), (16) and (17), we need to transform the feasible set \(\varTheta \) from a graph to analytical expressions. This task can be achieved by applying the techniques DTF and CTF introduced for RCSP to formulate (15), (16) and (17) as either integer optimization problems or mixed-integer optimization problems. To meet the requirements of real-life scheduling problems, the above TCTPs have been further extended. For example, in [15], time-switch constraints, work continuity constraints, and net present value optimization are included. In [17], TCTP including generalized precedence relationship constraints between project activities, project duration constraints, logical constraints and a budget constraint is formulated as a mixed integer nonlinear optimization problem. In [18], DTCTP with multi-mode case is studied.

2.3 Resource Levelling

Resource levelling arises whenever it is expedient to reduce the fluctuations in patterns of resource utilizations over time, while maintaining compliance with a prescribed project completion time. In particular, in cases where even slight variations in resource needs represent financial burden or heightened risks of accidents, a resource levelling approach helps to schedule the project activities such that the resource utilization will be as smooth as possible over the entire planning horizon.

For a given AON network \(G=(V,E)\), a standard resource levelling problem can be posed as the following optimization problem [19]:

$$\begin{aligned} \min&\sum _{t=1}^T (u_t - \bar{u}_t)^2, \end{aligned}$$
(18)
$$\begin{aligned} \text {s.t.}&f_i \le f_j -d_i, \forall (i,j)\in E,\end{aligned}$$
(19)
$$\begin{aligned}&\sum _{i\in V} u_{it} \le U. \end{aligned}$$
(20)

Here the objective function (18) expresses the minimization of the sum of the squared deviations of the resource requirements around the average resource requirement for each time period. In [20], the cost (18) is generalized in integral form including both continuous- and discrete-time case.

2.4 Resource Allocation

Resource allocation is to distribute the limited resources to various projects reasonably so as to optimize a certain objective. According to the nature of the distributed resources, it can be categorized as discrete resource allocation and continuous resource allocation. In the construction industry, most of the materials are discrete. So here we only survey the discrete resource allocation.

A standard discrete allocation problem can be formulated as [21, 22]:

$$\begin{aligned} \max&\sum _{i=1}^N\sum _{j=0}^M e_{ij}X_{ij},\end{aligned}$$
(21)
$$\begin{aligned} \min&\sum _{i=1}^N\sum _{j=0}^M c_{ij}X_{ij}, \end{aligned}$$
(22)
$$\begin{aligned} \text {s.t.}&\sum _{i=1}^N\sum _{j=0}^M jX_{ij} \le M, \end{aligned}$$
(23)
$$\begin{aligned}&\sum _{j=0}^M X_{ij} =1, \forall i\in \{1,{\cdots },N\}, \end{aligned}$$
(24)
$$\begin{aligned}&X_{i,j}\in \{0,1\}, \forall i,j. \end{aligned}$$
(25)

Here the objective function (21) is to maximize the total efficiencies for all the jobs, and the objective function (22) is to minimize the total costs for all the workers. Constraint (23) ensures that the workers cannot be assigned more than the total numbers of workers. Constraint (24) ensures that each job \(i\) can be assigned to workers only once.

In [23], the above problem is extended to the time-independent and multi-modal case. In [24], the nonlinear resource allocation is studied which is formulated as a nonlinear integer optimization problem. More variants on the resource allocation can refer to [25].

2.5 Integrated Models

The integrated models is to consider more than one category above. For example, in [26], a multi-mode resource-constrained discrete time-cost trade off problem is studied. The objective is either to minimize the cost subject to constraints including precedence relationship or to minimize project duration subject to budget constraints. In [18], a multi-mode resource constrained discrete time-cost-resource is considered in which resource allocation and levelling problem are taken into account simultaneously. This problem is formulated as a multi-objective optimization problem in which three objectives: minimum duration, minimum cost and minimum resources moment deviation on the project makespan, are included.

3 Optimization Methods Solving Project Scheduling Problems

In the past several decades, numerous methods are developed to solve the project scheduling problem including the exact and heuristic or meta-heuristic approaches.

3.1 Exact Methods

The exact procedures in the literature for the project scheduling are the branch and bound algorithms [13, 2729]. This kind of methods heavily relies on the lower bound computation. In the literature, two classes of lower bounds are well known: constructive and destructive lower bounds. The first class is computed through relaxation methods [13], such as the Lagrangian relaxation. The second class is obtained by means of iterated binary search based routine [30]. In the recent, this class of methods has been further extended to solve variants of project scheduling problems.

In [13], a project scheduling problem with generalized precedence relationships, resource constraints and makespan minimization objective is studied. This problem is first formulated as a mixed integer optimization problem. Then, the formulated optimization problem is solved by branch and bound. During the branching process, a lower bound based on Lagrangian relaxation is adopted to prune the tree of the corresponding AON network.

In [27], a resource-constrained project scheduling problem to minimize the total weighted resource tardiness penalty cost is studied in which the renewable resources cannot be used before the ready date, but are permitted to be used after their due dates by paying the associated penalty cost. Then, a depth-first branch and bound algorithm is applied to solve it in which the lower bound is adopted from the concept of constructing partial schedules [31]. This method has been further extended to solve the resource-constrained project scheduling problem with minimizing the weighted late work criterion [28].

In [29], an alternative-technologies project scheduling problem is studied in which the expected net present value is maximized. This problem is first formulated as a nonlinear integer optimization problem and then solved by a branch and bound algorithm. The bounding strategy is destructive which is based on three dominance rules to fathom unvalued nodes. The first and the second dominance rules prevent duplication of schedules while the third one fathoms low quality schedules.

In [32], a branch and bound algorithm is introduced to solve a resource levelling problem in a machine environment. The upper bound is obtained by a heuristic approach in which exhaustive neighborhood search is used with tabu list control while the lower bound is computed through the Lagrangian relaxation. In [13], a branch and bound algorithm is introduced to solve resource levelling problems and overload problems which are formulated as nonlinear mixed integer optimization problems. To achieve fast computation, linearizing the corresponding objective functions and improving the quality of the resulting formulations are discussed. Then, the available branch and bound algorithms for linear integer programming is applied.

3.2 Meta-Heuristic Methods

Although the exact methods can always find a global optimal schedule for the given objectives, they are deficient to deal with large scale problems [33]. Instead of searching the global optimal solutions, the researchers and practitioners have tried to design efficient methods with the goal of producing optimal or near optimal solutions. Then, meta-heuristic optimization methods come into play. Meta-heuristics are general purpose high level search frameworks that can be applied to any optimization problem with the use of appropriate local problem dependent solution procedures. Examples of meta-heuristics include simulated annealing (SA), ant colony optimization (ACO), evolutionary algorithm (EA), genetic algorithm (GA), particle swarm optimization (PSO), shuffled frog-leaping (SFL) and bee algorithm (BA). There are a wide variety of meta-heuristics and a number of properties along which to classify them. One of the fundamental classification of the meta-heuristic is Single-Solution Based Meta-heuristics and Population-Based Meta-heuristics. Single-solution based meta-heuristics are included tabu search and simulated annealing in which only one solution is maintained at each cycle of the algorithm. The aim of these methods is to find a new solution with better quality from the current solution iteratively. Population-based meta-heuristics are included genetic algorithm, ant colony optimization, and particle swarm optimization in which a set of solutions are maintained at each cycle of the algorithm. These approaches solve the RCPSP by employing an initial population of individuals each of which representing a candidate schedule for the project. Then, they evolve the initial population by successively applying a set of operators on the old solutions to transform them in to new solutions [34].

Regardless of the metaheuristic chosen for a study, there are common issues that need to be addressed [8]: solution representation, generation of initial solution(s), evaluation function, generation of neighborhood solutions, handling constraint violations and stopping criteria. In the following, we will review the latest meta-heuristic optimization methods in project scheduling.

3.2.1 Single-Solution Based Meta-Heuristics

In [35], a simulated annealing algorithm is developed for the resource-constrained project scheduling problems with single and multi-mode versions. There the solution is represented by activity list in which a precedence-feasible solution is represented by an ordered list of activities. Each activity in the list appears in a position after all its predecessors. The generation of neighbor is based on a cyclical shift of all the activities between the old and new positions for a randomly selected activity from the current feasible list. The stopping criterion is chosen as the process time. This method has been further extended to solve the multi-mode resource-constrained project scheduling problems with discounted cash flows in [36] in which four payment models have been examined: lump-sum payment at the completion of the project, payments at activities’ completion times, payments at equal time intervals and progress payments. A Tabu search method is also developed to solve it in [36] and compared with SA. The numerical results show that each method may outperform the other one for different models. In [37], the Tabu search method is further extended to solve a project scheduling problem with the multi-mode and schedule-dependent setup times where a schedule-dependent setup time is defined as a setup time dependent on the assignment of resources to activities over time, when resources are, e.g., placed in different locations. In [38], a simulated annealing method is employed to solve the resource-constrained project scheduling problem with a due date for each activity in which the objective is chosen to minimize the net present value of the earliness-tardiness penalty costs and the neighborhood solutions are generated in a similar way in [35, 36]. In [39, 40], the simulated and Tabu search are introduced to solve the multi-mode capital-constrained project payment scheduling problem, where the objective is to assign activity modes and payments so as to maximize the net present value (NPV) of the contractor under the constraint of capital availability. In [41], experimental evaluations of five variants of simulated algorithms for time-cost trade off project scheduling problems are studied in which they have in common the way to construct the new solutions, the initial temperature and the cooling schedule, whereas with differ cycle size, the number of iterations in each cycle, and the stopping criterion. The best identified variant generated local optima there very close to point estimate of the global optimum but with the slowest time satisfactory efficiency.

3.2.2 Population-Based Meta-Heuristics

Comparing with the single-solution based meta-heuristic methods, population-based meta-heuristics are more popular in solving the project scheduling problems. The most studied population-based methods are related to Evolutionary Computation (EC) and Swarm Intelligence (SI).

Montoya-Torres et al. [42] developed a genetic algorithm to solve resource constrained project scheduling problems. The notable advantage of this algorithm is that the chromosomes is represented by a multi-array object-oriented model. The numerical simulations show that this algorithm outperforms some other genetic algorithms for the project with \(60\) activities. Hartmann [11] developed a genetic algorithm for the case with multiple execution modes for each activity and makespan minimization as objective. The scheduling problem is formulated as an optimization problem based on the representation of the project as an acyclic AON network. The genetic encoding is based on a precedence feasible list of activities and a mode assignment. The novelty of this genetic algorithm is that a local search based on the definition of a multi-mode left shift is employed to improve the schedules found by the basic genetic algorithm. In stead of local search method introduced in [11], a magnet-based crossover operator that can preserve up to two contiguous parts from the receiver and one contiguous part from the donator genotype is employed in [43]. Numerical simulations of four sets of project scheduling problems with \(30\), \(60\), \(90\), and \(120\) activities are compared with some other genetic algorithms in literature. Peteghem and Vanhoucke [44] developed a genetic algorithm to the preemptive multi-mode resource constrained project scheduling which allows activities to be preempted at any time instance and restarted later on at no additional cost. The consideration of preemption is very effective to improve the optimal project makespan in the presence of resource vacations and temporary resource unavailability and that the makespan improvement is dependent on the parameters that impact resource utilization [45]. Long and Ohsato [46] developed a genetic algorithm for scheduling repetitive construction projects with several objectives such as the project duration, the project cost, or both of them. The method deals with constraints of precedence relationships between activities, and constraints of resource work continuity. Ghoddousi et al. [18] employed an elitist non-dominated sorting genetic algorithm in [47] to solve multi-mode resource-constrained project scheduling problem (MRCPSP) while considering discrete time-cost trade-off problem (DTCTP) and also resource allocation and resource levelling problem simultaneously which is formulated as a multi-objective integer optimization problem.

Lorenzoni et al. [48] studied a scheduling problem of attending ships within agreed time limits at a port under the condition of the first come first served order. This problem is formulated as a mathematical model of a multi-mode resource-constrained scheduling problem and then is solved by a differential evolution algorithm which has been further discussed in [49]. Zamni [50] proposed a evolution algorithm to solve time-cost trade off of multi-mode resource constrained project scheduling problems in which activities are subject to finish-start precedence constraints under renewable limited resources. In optimizing time-cost performance, the procedure treats the cost as a non-renewable resource whose limit can affect the duration of the project and balances cost versus time through the notion of priority-rank.

Wang and Fang [51] proposed an estimation of distribution algorithm to solve the multi-mode resource-constrained project scheduling problem. The individuals are encoded based on the activity-mode list and decoded by the multi-mode serial schedule generation scheme. To improve the searching quality, a multi-mode forward backward iteration and a multi-mode permutation based local search method are incorporated to enhance the exploitation ability. Different from a univariate probabilistic model in [51, 52] employed ensemble probabilistic models by combining the univariate probabilistic model with the bi-variate probabilistic model which learns different population characteristics in the estimation of distribution algorithm. Wang et al. [53] proposed a Pareto-based estimation of distribution algorithm to solve the multi-objective flexible job-shop problem in which the fitness evaluation based on Pareto optimality was employed and a probability model was built with the Pareto superior individuals for estimating the probability distribution of the solution space. To avoid premature convergence and enhance local exploitation, the population was divided into two sub-populations at certain generations according to a splitting criterion, and different operators were designed for the two sub-populations to generate the promising neighbor individuals. To enhance the exploitation ability, a local search strategy based on critical path was introduced. The Taguchi method was used to investigated the influence of parameters.

Mahdi Mobini et al. [54] developed an enhanced scatter search algorithm for the resource constrained project scheduling problem. The activity list representation method was used as the encoding scheme. Activity lists in the initial population were decoded to the solutions using both serial and parallel schedule generation scheme. The two-point crossover, the path relinking, and the permutation-based operator were used to generate new solutions from existing solutions in the reference set. Mario [55] introduced the scatter search algorithm to solve the single-mode resource-constrained project scheduling problem with discounted cash flows based on the two assumptions: renewable resources with a constant availability and no activity preemption, and all activity cash flows occurred at predefined time points during execution of the corresponding activity.

The first literature to introduce ant colony optimization algorithm (ACO) to RCPS is [56]. A single ant corresponds to one application of the serial SGS. The eligible activity to be scheduled next is selected using a weighted evaluation of the latest start time priority rule and pheromones which representing the learning effect of previous ants. The additional features include separate ants for forward and backward scheduling, the changing rate of pheromone evaporation over the ant generations, and the restricted influence of the elitist solution by forgetting it at regular intervals. ACO has been further extended to solve the RCPS with multi-modes in [57] in which both renewable and nonrenewable resources are considered. To guide the solution search consisting both activity sequencing and mode selection, two levels of pheromones are introduced: one is to probabilistically select an activity \(j\) at the place \(i\) in the activity-list, and the other is to probabilistically select the execution mode for this activity. Yin and Wang [24] developed an ACO to solve nonlinear resource allocation problem. Adaptive resource bounds which were dynamically calculated to reduce the search space were incorporated to ensure all resource constraints were simultaneously satisfied. Its convergence was analyzed using node transition entropy to validate that the quality solution obtained was due to the consensus knowledge possessed by the whole ant colony instead of by the wandering of a lucky ant. A modified ACO was proposed to solve a multi-objective resource allocation problem in [58]. The modifications included a special heuristic information, pheromone updating rule, and selection probability equation. Xiong and Kuang [59] proposed an ACO to solve the time-cost trade-off problems in which the modified adaptive weight approach developed in [60] was adopted to guide the solution to the Pareto-front. Mokhtari et al. [61] developed an ACO for stochastic DTCTP which was aimed to improve the project completion probability by a predefined deadline on program evaluation and review technique networks. In [61], the activities were subjected to a discrete cost function and assumed to be normally distributed. Then, the model was formulated as a nonlinear mathematical 0-1 programming problem, where the mean and variance of the activity durations were decision variables and the objective function was to maximize the project completion probability.

Chen et al. [62] developed an improved particle swam optimization (PSO) approach to solve RCSP. During the implementation of PSO, delay local search and bidirectional scheduling were introduced. The delay local search enabled some activities delayed and altering the decided start processing time, and being capable of escaping from local minimum. The bidirectional scheduling rule which combined forward and backward scheduling to expand the searching area in the solution space for obtaining potential optimal solution. The critical path was applied to speed up convergence of the algorithm in which the critical path was used to determine the heuristic value which played a key role in the state transition rule. To enhance the efficiency and effectiveness of PSO, the justification technique in [63] was incorporated in PSO in [64] which was called as justification particle swarm optimization (JPSO). In addition to the justification technique in [64], two other designed mechanisms were integrated. One was the mapping technique for enhancing the exploitation efficiency of justification, and the other was the adjusting ratio of communication topology of PSO for trade-off between exploration and exploitation. PSO to solve RCSP was further improved in [65] by integrating a double justification skill and a move operator for the particles, in association with rank-priority-based representation, greedy random search, and serial scheduling scheme, to execute the intelligent updating process of the swarms to search for better solutions. The computational experiments validated the significant improvements over the other PSO-based algorithms through testing the benchmarks with \(30\), \(60\) and \(120\) activities. Zhang and Li [66] applied PSO to solve TCTP. Numerical simulations for TCTP with \(18\) activities have been conducted and compared with some other heuristic methods.

Fang and Wang [67] developed an effective shuffled frog-leaping algorithm (SFLA) for the multi-mode resource-constrained project scheduling problem. In the SFLA, the virtual frogs were encoded as the extended multi-mode activity list and decoded by the multi-mode serial schedule generation scheme. Initially, the mode assignment lists of the population were generated randomly, and the activity lists of the population were generated by the regret-based sampling method and the latest finish time priority rule. Then, virtual frogs were partitioned into several memeplexes that evolved simultaneously by performing the simplified two-point crossover. The combined local search including permutation-based local search and forwardCbackward improvement was further performed in each memeplex to enhance the exploitation ability. Virtual frogs were periodically shuffled and reorganized into new memeplexes to maintain the diversity of each memeplex. This method has been further adapted to solve RCPS with the multi-modes in [12]. Ashuri and Tavakolan [68] proposed a Shuffled-Frog Leaping model to solve complex Time-Cost-Resource optimization problems in construction project planning which was formulated as a multi-objective optimization problem in which total project duration, total project cost, and total variation of resource allocation were minimized simultaneously.

Bee algorithms for resource constrained project scheduling problem was investigated in [34]. Three variants of bee algorithms methods were developed: bee algorithm (BA), artificial bee colony (ABC), and bee swarm optimization (BSO). The parallel-SGS and serial-SGS were introduced to construct active schedules. The different variants made use of different types of bees to provide appropriate level of exploration over search space while maintaining exploitation of good solutions. A constraint handling method was introduced to resolve the infeasible solutions in which the activity which violated the constraints was replaced by the next activity with smaller priority. Huang and Lin [69] proposed a bee colony optimization algorithm to solve open shop scheduling problems. To shorten the time-cost for obtaining a possible bad solution, an idle-time-based filtering scheme was introduced based on the processes of the Forward Pass of bee’s foraging behaviors. During the course of bee colony foraging, the idle-time of partial scheduling was regarded as the reciprocal of profitability. When the profitability of a partial foraging route of a bee was smaller than the average profitability accepted by the colony, this scheduler would automatically stop searching the foraging trip of this particular bee.

4 Conclusion

This paper has surveyed the optimization modelling and solution techniques for the project scheduling problems. We first presented five mathematical models to formulate a project scheduling problems as optimization problems. Then, the solution algorithms, including exact algorithms and meta-heuristic algorithms are surveyed in which we mainly focus on the latest three years publications in archival journals since the survey of previous results are available in other survey papers.

It is well-known that the project scheduling problems are NP hard. Most of results on the exact methods published in the recent years are to extend the branch-and-bound methods to solve new variants of project scheduling problems rather than algorithms development. Furthermore, the efficiency of the exact methods is heavily dependent on the bounding strategy which is problem-specific. Different project scheduling problems should adopt different bounding strategies. Despite all efforts applied to solve the instances of the library, up to now only the group with \(30\) activities has been reported completely solved to optimality. How to develop new exact efficient algorithms to solve large-scaled project scheduling problems are still waiting for study.

Comparing with the exact methods, the meta-heuristic methods seem more promising. In fact, if the problems that cannot be easily solved by conventional exact methods, meta-heuristic methods are good choices in the optimization field. Each meta-heuristic method has its own tunable parameters. The performances of the meta-heuristic methods are heavily dependent on the choice of these parameters. However, there is still lack of a unified framework to tune them. Thus, almost all the meta-heuristic methods are problem-specific which reduce their applicability.