ANT COLONY OPTIMIZATION ALGORITHM FOR RESOURCE LEVELING PROBLEM OF CONSTRUCTION PROJECT



Similar documents
A GENETIC ALGORITHM FOR RESOURCE LEVELING OF CONSTRUCTION PROJECTS

ALGORITHM FOR DETERMINING CONTROLLING PATH CONSIDERING RESOURCE CONTINUITY

Software Project Planning and Resource Allocation Using Ant Colony Optimization with Uncertainty Handling

A genetic algorithm for resource allocation in construction projects

Resource Allocation for Repetitive Construction Schedules: An Ant Colony Optimization Approach

Project Planning and Scheduling

An Improved Ant Colony Optimization Algorithm for Software Project Planning and Scheduling

STUDY OF PROJECT SCHEDULING AND RESOURCE ALLOCATION USING ANT COLONY OPTIMIZATION 1

OPTIMIZATION MODEL OF EXTERNAL RESOURCE ALLOCATION FOR RESOURCE-CONSTRAINED PROJECT SCHEDULING PROBLEMS

An ant colony optimization for single-machine weighted tardiness scheduling with sequence-dependent setups

ME 407 Mechanical Engineering Design Spring 2016

Using Ant Colony Optimization for Infrastructure Maintenance Scheduling

Resources Management


Project management: a simulation-based optimization method for dynamic time-cost tradeoff decisions

A Proposed Scheme for Software Project Scheduling and Allocation with Event Based Scheduler using Ant Colony Optimization

On-line scheduling algorithm for real-time multiprocessor systems with ACO

A Multi-objective Scheduling Model for Solving the Resource-constrained Project Scheduling and Resource Leveling Problems. Jia Hu 1 and Ian Flood 2

Journal of Theoretical and Applied Information Technology 20 th July Vol.77. No JATIT & LLS. All rights reserved.

A SIMULATION MODEL FOR RESOURCE CONSTRAINED SCHEDULING OF MULTIPLE PROJECTS

The Project Scheduling and Decision Mechanism Based on the Multi-Resource Leveling

State-Based Probabilistic Scheduling Using STROBOSCOPE s CPM Add-On

Application of Critical Path Method scheduling to research plan and management of graduate students research project in engineering education

An ACO Approach to Solve a Variant of TSP

OPTIMIZATION OF RESOURCE ALLOCATION AND LEVELING USING GENETIC ALGORITHMS

Swarm Intelligence Algorithms Parameter Tuning

ACO Hypercube Framework for Solving a University Course Timetabling Problem

A RANDOMIZED LOAD BALANCING ALGORITHM IN GRID USING MAX MIN PSO ALGORITHM

An Improved ACO Algorithm for Multicast Routing

Scheduling Glossary Activity. A component of work performed during the course of a project.

Power Plant Maintenance Scheduling Using Ant Colony Optimization

Research on Task Planning Based on Activity Period in Manufacturing Grid

Network Calculations

THE ACO ALGORITHM FOR CONTAINER TRANSPORTATION NETWORK OF SEAPORTS

CISC 322 Software Architecture. Project Scheduling (PERT/CPM) Ahmed E. Hassan

Operational Research. Project Menagement Method by CPM/ PERT

International Journal of Emerging Technologies in Computational and Applied Sciences (IJETCAS)

Ant colony optimization techniques for the vehicle routing problem

Implementing Ant Colony Optimization for Test Case Selection and Prioritization

International Journal of Emerging Technology & Research

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET)

Project Time Management

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company

Obtaining Optimal Software Effort Estimation Data Using Feature Subset Selection

Production Scheduling for Dispatching Ready Mixed Concrete Trucks Using Bee Colony Optimization

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

Modified Ant Colony Optimization for Solving Traveling Salesman Problem

Cambridge International AS and A Level Computer Science

Study on Cloud Computing Resource Scheduling Strategy Based on the Ant Colony Optimization Algorithm

Biological inspired algorithm for Storage Area Networks (ACOSAN)

Project Scheduling: PERT/CPM

Research on the Performance Optimization of Hadoop in Big Data Environment

Network Planning and Analysis

Goals of the Unit. spm adolfo villafiorita - introduction to software project management

HYBRID ACO-IWD OPTIMIZATION ALGORITHM FOR MINIMIZING WEIGHTED FLOWTIME IN CLOUD-BASED PARAMETER SWEEP EXPERIMENTS

Wireless Sensor Networks Coverage Optimization based on Improved AFSA Algorithm

EA and ACO Algorithms Applied to Optimizing Location of Controllers in Wireless Networks

Scheduling. Anne Banks Pidduck Adapted from John Musser

Ant Colony Optimization (ACO)

The ACO Encoding. Alberto Moraglio, Fernando E. B. Otero, and Colin G. Johnson

STUDY ON APPLICATION OF GENETIC ALGORITHM IN CONSTRUCTION RESOURCE LEVELLING

THE LEAN-RESOURCES BASED CONSTRUCTION PROJECT PLANNING AND CONTROL SYSTEM

Review of Solving Software Project Scheduling Problem with Ant Colony Optimization

A novel ACO technique for Fast and Near Optimal Solutions for the Multi-dimensional Multi-choice Knapsack Problem

Solving Traveling Salesman Problem by Using Improved Ant Colony Optimization Algorithm

A DISTRIBUTED APPROACH TO ANT COLONY OPTIMIZATION

BMOA: Binary Magnetic Optimization Algorithm

Finding Liveness Errors with ACO

Chapter 11 Monte Carlo Simulation

MuACOsm A New Mutation-Based Ant Colony Optimization Algorithm for Learning Finite-State Machines

Research RESOURCE SCHEDULING OF CONSTRUCTION PROJECTS USING GENETIC ALGORITHM Devikamalam. J 1, Jane Helena. H 2. Address for Correspondence

ARTIFICIAL NEURAL NETWORKS FOR ADAPTIVE MANAGEMENT TRAFFIC LIGHT OBJECTS AT THE INTERSECTION

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi

ACO FOR OPTIMAL SENSOR LAYOUT

A Computer Application for Scheduling in MS Project

Construction Scheduling using Non Traditional Optimization.

A SURVEY ON WORKFLOW SCHEDULING IN CLOUD USING ANT COLONY OPTIMIZATION

A Survey on Load Balancing Techniques Using ACO Algorithm

8. Project Time Management

Optimal Planning with ACO

A. O. Odior Department of Production Engineering University of Benin, Edo State.

A Constraint Programming Application for Rotating Workforce Scheduling

Project Management Chapter 3

Project Scheduling. Introduction

Scheduling Resources and Costs

Clustering and scheduling maintenance tasks over time

Distributed Optimization by Ant Colonies

Collaborative Scheduling using the CPM Method

A Service Revenue-oriented Task Scheduling Model of Cloud Computing

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

MECH 896 Professional Development for MEng Students. Homework Discussion. Scheduling Overview. Winter 2015: Lecture #5 Project Time Management

Binary Ant Colony Evolutionary Algorithm

ONLINE SUPPLEMENTAL BAPPENDIX PROJECT SCHEDULES WITH PERT/CPM CHARTS

Transcription:

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