ANT COLONY OPTIMIZATION ALGORITHM FOR RESOURCE LEVELING PROBLEM OF CONSTRUCTION PROJECT Ying XIONG 1, Ya Ping KUANG 2 1. School of Economics and Management, Being Jiaotong Univ., Being, China. 2. College of Civil Engineering and Architecture, Zheiang Univ., Hangzhou, China. Abstract: Resource leveling is one of the most crucial aspects of construction proect planning. Early attempts to solve resource leveling problem of construction proect can be categorized into three areas: mathematical programming models, heuristic models and global search algorithms. The primary disadvantage of mathematical programming models is that they cannot solve large and complex networks effectively. Heuristic models provide good solutions but do not guarantee optimality. Therefore, some global search algorithms such as genetic algorithms and neural networks have been applied for this problem by many researchers. This paper introduces a hybrid model combining serial schedule generation scheme (SSGS) with ant colony optimization (ACO) algorithm to deal with the resource leveling problem of construction proect. This model uses SSGS to generate a feasible schedule and employs ant algorithm to search the optimal schedule from solution space. To verify the efficiency and performance of the proposed model, an example was conducted and the results were compared with that of the exhaustive enumeration. The results of the example show that the proposed model based on ACO algorithm can produce the global optimal solution by searching only a small fraction of the total search space. That means the proposed model in this paper is an attractive alternative to solving resource leveling problem of construction proect and is useful and beneficial for decision-making during the proect planning. Keywords: resource leveling; ant colony optimization (ACO); serial schedule generation scheme (SSGS); construction proect 1 Introduction Resource leveling is one of the most crucial aspects of construction proect planning. The obective of resource leveling problem is to minimize the peak demand and fluctuations in the pattern of resource usage. The peak demand and fluctuations of resource are undesirable for the contractor because they can cause the following problems (Stevens 1990; Martinez and Ioannou 1993; Son and Skibniewski 1999): It is expensive to hire and fire labor on a short-term basis to satisfy fluctuating resource requirements. Resources cannot be managed efficiently, if the schedule demands more output per day than possible with available resources. Existing methods for resource leveling problem can be categorized into three areas: mathematical programming models, heuristic models and global search algorithms. Little research has been done to solve the resource leveling problem using mathematical programming models (e.g. Bandelloni et al. 1994; Mattila and Abraham 1998), since the models are only suitable for small networks. Heuristic models are non-computer approaches that rely on the rules of thumb of decision-makers. Common heuristic models for resource leveling problem include minimum moment method (Harris 1978), packing method (Harris 1990), and local optimizer (Son and Skibniewski 1999). Although the heuristic models can handle very large proects, the solutions they provide still need improvement in the areas of efficiency and optimality. To overcome the weaknesses of both the mathematical programming models and heuristic models, some evolutionary methods characterized by global search capability have been introduced for resource leveling problem. For instance, Chan et al. (1996) proposed a model for allocating resources using genetic algorithms. Son and Skibniewski (1999) developed a multi-heuristic model called hybrid model combining the local optimizer with simulated annealing for resource leveling. Savin et al. (1996) used neural networks for resource leveling. In this paper, we propose a hybrid model incorporating serial schedule generation scheme (SSGS) with ant colony optimization (ACO) algorithm for resource leveling problem. The ACO algorithm was proposed as a global search algorithm for the solution of combinatorial optimization problems in the early nineties (Dorigo 384
et al., 1991; Dorigo, 1992; Dorigo et al., 1996). As its name suggests, ACO has been inspired by the real ant s foraging behavior. In ACO, several generations of artificial ants search for good solutions. Every ant of a generation builds a solution step by step going through several probabilistic decisions. In general, ants that find a good solution mark their paths through the decision space by putting some amount of pheromone on the edges of the path. The following ants of the next generations are attracted by the pheromone so that they search in the solution space near previous good solutions. In addition to the pheromone information, the ants will usually be guided by some problem-specific heuristic information for evaluating the possible decisions. 2 Description of Resource Leveling Problem Resource leveling problem is the optimization problem to scheduling the activities of a proect so that the fluctuation in day-to-day resource requirement is minimized while given precedence constrains between the activities are satisfied. Formally, J= {0, 1,, n+1} denotes the set of activities of a proect. We assume that a precedence relation is given between the activities. An activity list is a permutation of the activities such that every activity comes in the list before all activities that are its successors in the precedence relation. Every activity J has a duration d. The resource requirement per time unit when activity is scheduled is r. Let P be the set of direct predecessors of activity J. Activity 0 is the only start activity that has no predecessor and activity n+1 is the only end activity. Both the start activity and end activity have no resource requirement and have duration zero. A schedule for the proect is represented by the vector (s 0, s 1,, s n+1 ), where s is the start time of activity J. A schedule is feasible if it satisfies the following constrains: max( s + d ) " s " LF # d (1) k! P k k where LF is the latest finish time of activity. The left-hand side of inequation (1) means that activity J must not be started before all its predecessors are finished, and the right-hand side of inequation (1) means that the start time of activity J must not be later than (LF -d ) since the proect should be finished in the due date. The lower bound of start time for every activity is the earliest start time ES. So the start time s can be determined by the following equation: s = ES + i (2) where i is the time interval between the actual start time and the earliest start time of activity. Obviously, i should satisfy the following inequation: max( s + d ) " ES # i # LF " d " ES = TF (3) k! P k k where TF is the total float time of activity. The obective of resource leveling problem is to minimize the fluctuation in day-to-day resource requirement which can be defined as follows (Son and Skibniewski 1999): Z T ( ) 2 =! y t= 1 t (4) where T is the proect duration obtained from the critical path method (CPM) or given according to the construction contract; y t is the sum of resource requirements of the activities performed at time unit t. Let A = { s < t! s + d } be the set of activities which are being processed at day t, then y t is computed t according to Eq.(5). y = " r (5) t! At 3 Serial Schedule Generation Scheme (SSGS) We used serial schedule generation scheme (SSGS) for the generation of a schedule. SSGS is one of standard 385
heuristic methods for the resource leveling problem (cf. Son and Skibniewski 1999). The SSGS starts with a partial schedule that contains only the start activity 0 at time 0. Then, SSGS constructs the complete schedule in n stages, where at each stage one activity is added to the partial schedule constructed so far. In every stage g, one activity is selected from the set of available activities! ( g), i.e. activities that have not been scheduled so far and where each predecessor has already been scheduled. The SSGS can be supplied with an activity list, i.e. an ordered list of all activities. In this case, SSGS always choose the first activity in the list that is feasible. The start time of the activities must satisfy the inequation (1). The procedure of SSGS is shown as follows: Procedure SSGS! ( g) : all activities which can be started precedence-feasible in stage g. 1: for g = 0 to n+1 do 2: calculate the eligible set! ( g) 3: select one activity! ( g) 4: schedule at the start time s = ES + i, i![max( s + d ) " ES, TF ] k! P k k 5: end for In order to obtain an optimal solution, in each stage of procedure SSGS, the selected activity chooses the start time according to the probability derived from ACO algorithm. 4 ACO Algorithm The general idea of our ACO approach is to apply the ant algorithm for determining the start time of selected activity in stage g when used by SSGS. In every generation, each of m ants constructs one solution by selecting start time for all activities of the proect. For the selection of start time for selected activity in stage g, the ant uses heuristic information as well as pheromone information. The heuristic information, denoted by!, and the pheromone information, denoted by!, are indicators of how good it seems to perform activity at time unit ( ES + i) ( i = 0,1,, TF ). The heuristic information is generated by some problem-dependent heuristic and the pheromone information stems from former ants that have found good solutions. The main steps of ACO algorithm for resource leveling problem are described as follows. Step 1: Generate initial solutions. Initially, all artificial ants have a partial schedule that contains only the start activity 0 at time 0. Then the SSGS is used to randomly construct the complete schedule for every ant, which means randomly selecting start time of each activity for every ant which must satisfy the inequation (3). Step 2: Compute the obective value of resource leveling problem. Computing the obective value of resource leveling problem explored by each ant according to Eq. (4) and Eq. (5). Step 3: Establish the solution pool, and find out the best solution found so far. There are two main purposes of establishing the solution pool. The first is to reduce unnecessary repeated computation during running the algorithm. When a new solution is generated, first search the solution pool. If current solution is already existed in the solution pool, then output the corresponding obective value, otherwise calculate them according to Eq.(4)-(5). The second is to find out the best solution found so far which will be used to update the pheromone information. Step 4: Update the pheromone information. The best solution found so far is used to update the pheromone information. However, before that, some portion of pheromone is evaporated according to! = (1 # ") $! (6) where! is the evaporation rate. The parameter! is used to avoid unlimited accumulation of the pheromone information and it enables the algorithm to forget previously done bad decisions. Then, for every activity J, 386
some amount of pheromone is added to element! of the pheromone matrix, where ( ES + i) is the start time of activity of the best solution found so far. This is an elitist strategy that leads ants to search near the * best-found solution. The amount of pheromone added is Q / Z, where Z * is the obective function value of the best-found schedule; and Q is a constant, representing the amount of pheromone an ant put on the path after an exploitaion. So the pheromone information can be calculated according to *! = (1 # ") $! + Q / Z (7) Step 5: Compute the selection probability of start time for each activity. The activity determines the start time according to the probability as follows:! " ' [# ] [ $ ] if max( sk + dk ) & ES < i ( TF! " ) [# ] [ ] k P h $ % h p =, * (8) h% [max( sk + dk )& ES, TF ] ) k% P ) + 0 otherwise where а, β are control parameters that control the relative importance of the pheromone information and the heuristic information respectively. In our ACO algorithm, heuristic information is defined as the relative improvement of obective function value between the current schedule and initial schedule. The initial schedule S 0 is the schedule that all activities are scheduled at the earliest start time, i.e. S 0 = (0, ES 1,, ES n+1 ). The current schedule S is the schedule that only activity is scheduled at time unit (ES +i) while other activities are scheduled at the earliest start time. Therefore the improvement of obective function value ΔZ between S 0 and S is calculated as Eq. (9):! Z = Z( S ) " Z( S ) (9) 0 Considering the influence of negative value and the dimension of ΔZ, we define the heuristic information as follows: $ max( " Z ) # " Z i % if TF > 0! max( Z ) Z = &( " # " i % i %' 0 if TF = 0 (i = 0, 1,, TF ; = 0, 1,, n+1) (10) Step 6: Construct a schedule for every ant. In our ACO an artificial ant k chooses the start time for all activities to construct a schedule by applying the following probabilistic formula:! " ' arg max ((# h) ( $ ) ) + h if q q0 h% [max( sk + dk )& ES, TF ] i, * -! < = k% P. / 0 +1 (11) I otherwise where q is a value chosen randomly with uniformly probability in [0,1]; q0 (0 q0 1) is a parameter and I is a random variable selected according to the probability distribution derived from Eq. (8). In this selection mode, in fact two selections should be done. First generate a random number q uniformly distributed between 0 and 1, and comparing q with q 0 that is a predetermined parameter. If q<q 0, then the selection of i is done according to the first means, i.e. selecting the value of h that maximizing the value in the bracket of Eq. (11). On the contrary, if q q 0, then i is selected according to the probability distribution derived from Eq. (8). Step 7. Add the new solution from exploitation to the solution pool, and find out the best solution found so far. Repeat Step 4 to Step 7, till the end condition is satisfied. 387
5 Examples and Results To verify the accuracy of the algorithm, a 13-activity CPM network derived from Son and Skibniewski (1999) was fitted into the prototype model. Figure 1 shows the precedence relationship of the network and Table 1 shows the relevant activity information. In accordance with the above-mentioned steps, a computer program to implementing the searching for satisfactory solutions is designed. To reduce computation and fully make use of the convenience and performance of existing software, the writers used Microsoft Visual Basic Application for Excel as a tool to program. The network modeling, basic data input, and statistical analysis of results are implemented in Microsoft Excel, while the developed program aims to implement the ACO algorithm for resource leveling. Parameters of the algorithm were tuned by trial and error. For each set of parameters, 10 trials were done. The parameters were determined mainly based on the average obective value of optimal solutions found by the 10 trials, and secondly take the size of the solution pool into account. To explain the determination of the parameters, we use q 0, а and β as the example, for they have great influence on the results of the trials. Table 2 shows the test results of different values of q 0, meanwhile other parameters are set as follows: а = 1, β = 1, m = 40, Q = 10 5, iteration number = 30, ρ = 0.1. It is obvious that the performance of the algorithm is better when the value of q 0 is 0.7. Table 3 shows the test results of different combination of а and β, meanwhile other parameters are set as follows: m = 40 Q = 10 5 iteration number = 30 ρ = 0.1 q 0 = 0.7. Obviously, the performance of the algorithm is better when (а, β) = (0, 1) and (1, 1). However, although the algorithm can always obtain the best solution from the solution pool when (а, β) = (0, 1), it won t converge to the global optimum. Hence we recommend (а, β) = (1, 1) as the best combination of а and β. DU RES R Act. Name DUR: Duration RES: Requirement of resource Critical Path Act. Name: Activity Name 5 6 A 10 5 C 10 4 F 5 7 G 5 8 K 0 0 Start 10 3 B 5 4 D 10 0 H 10 8 L 5 9 M 5 5 I 5 6 E 10 6 J Figure 1 The network of example Table 1 Relevant activity information of example ACT DUR ES EF LS LF TF RES A 5 1 5 6 10 5 6 B 10 1 10 1 10 0 3 C 10 6 15 11 20 5 5 D 5 11 15 11 15 0 4 E 5 11 15 16 20 5 6 F 10 16 25 21 30 5 4 G 5 16 20 21 25 5 7 H 10 16 25 16 25 0 0 I 5 16 20 21 25 5 5 J 10 16 25 26 35 10 6 K 5 26 30 31 35 5 8 L 10 26 35 26 35 0 8 M 5 36 40 36 40 0 9 388
Table 2 Test results of different values of q 0 q 0 0 0.1 0.3 0.5 0.7 0.9 Average obective values of optimal solutions 6291 6328 6268 6252 6233 6249 Average size of the solution pool 774 819 682 506 299 135 Table 3 Test results of different combination of а and β (а, β) (1,0) (0,1) (1,1) (1,2) (2,1) Average obective values of optimal solutions 6269 6225 6233 6271 6276 Average size of the solution pool 417 427 299 246 217 Final parameters are set as follows: m = 40, Q = 10 5, ρ = 0.1, а = 1, β = 1, q 0 = 0.7, iteration number = 30. The bar chart of the initial schedule and the optimal schedule are shown in Figure 2 and Figure 3. The resource profile of the initial schedule and the optimal schedule are shown in Figure 4 and Figure 5. As it can be seen, compared with the resource profile of the initial schedule, the fluctuation in day-to-day resource requirement of the optimal schedule is improved distinctly. The optimal schedule obtained from the ACO algorithm is equal to that of the exhaustive enumeration. In addition, the average size of the solution pool is 299, which means the ACO algorithm can find the optimal schedule through searching 229 feasible schedules. In contrast, 98,784 feasible schedules should be tested to obtain the optimal schedules by the exhaustive enumeration. Figure 6 shows the means of Z for every iteration. It can be seen that a significant convergence occurs without much fluctuation. Days ACT DUR RES 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 A 5 6 B 10 3 C 10 5 D 5 4 E 5 6 F 10 4 G 5 7 H 10 0 I 5 5 J 10 6 K 5 8 L 10 8 M 5 9 Figure 2 Bar chart of initial schedule 6 Conclusion Resource leveling problem of construction proect is a large scale optimization problem. The existing techniques using heuristic and mathematical programming are not efficient or accurate enough for solving resource leveling problem of real-life construction proects. This paper has presented a model which can be used for resource leveling problem in construction management to improve the utilization of the resources related to the construction proect. This model uses the SSGS to generate a feasible schedule and employs ant algorithm to search the optimal schedule from solution space. To verify the efficiency and performance of the 389
proposed model, an example derived from Son and Skibniewski (1999) was conducted and the results were compared with that of the exhaustive enumeration. The results of the example show that the proposed model based on ACO algorithm can produce the global optimal solution by searching only a small fraction of the total search space. Days ACT DUR RES 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 A 5 6 B 10 3 C 10 5 D 5 4 E 5 6 F 10 4 G 5 7 H 10 0 I 5 5 J 10 6 K 5 8 L 10 8 M 5 9 Figure 3 Bar chart of the optimal schedule 25 20 Resource units 15 10 5 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 Pro ect days Figure 4 Resource profile of initial schedule 25 20 Resource units 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Pro ect days Figure 5 Resource profile of the optimal schedule 390
Mean of Z 7100 7000 6900 6800 6700 6600 6500 6400 6300 6200 6100 0 5 10 15 20 25 30 35 Number of iteration Figure 6 Relationship between mean of Z and iteration References Bandelloni, M., Tucci, M., and Rinaldi, R. (1994). Optimal resource leveling using non-serial dynamic programming, Eur. J. Operation Res., 78(2), 162 177. Chan, W., Chua, D. K. H., and Kannan, G. (1996). Construction resource scheduling with genetic algorithms, J. Constr. Engrg. and Mgmt., ASCE, 122(2), 125 132. Dorigo, M. (1992). Optimization, Learning and Natural Algorithms, Ph.D. thesis, Dipartimento di Elettronica, Politecnico di Milano, Italy. Dorigo, M., Maniezzo, V., and Colorni, A. (1991). Positive feedback as a search strategy, Tech.. rep. 91-016. Dipartimento di Elettronica, Politecnico di Milano, Italy Dorigo, M., Maniezzo, V., and Colorni, A. (1996). The ant system: Optimization by a colony of cooperating agents, IEEE Transactions on system, Man, and Cybernetics Part B, 26 (1), 29-41. Harris, R. B. (1990). Packing method for resource leveling (PACK), J. Constr. Engrg. and Mgmt., ASCE, 116(2), 331 350. Harris, R. B. (1978). Precedence and arrow networking techniques for construction, Wiley, New York. Martinez, J., and Ioannou, P. (1993). Resource leveling based on the modified minimum moment heuristic, Proc.,5th Int. Conf., Computing in Civ. And Bulid. Engrg., ASCE, Reston, Va.,287-294. Mattila, K. G., and Abraham, D. M. (1998). Resource leveling of linear schedules using integer linear programming, J. Constr. Engrg. and Mgmt., ASCE, 124(3), 232 244. Savin, D., Alkass, S., and Fazio, P. (1996). Construction resource leveling using neural networks, Can. J. Civ. Engrg., Ottawa, 23(4), 917 925. Son, J. and Skibniewski, M. J. (1999). Multiheuristic approach for resource leveling problem in construction engineering: hybrid approach, Journal of construction engineering and management, 125(1), 23-31. Stevens, J. D. (1990). Techniques for construction network scheduling. McGraw-Hill, New York. 391