Resource leveling scheduling by an ant colony-based model
The objective function includes two objectives:
Is to determine the minimal duration for a construction project, that is, it is better if the project completion time is shorter. Minimize ‘T’ where T is the set of the maximum finish time of all activities in the project.
The second objective is defined to minimize deviation of resource usage amount. There are some resource leveling indexes (Elazouni and Metwally 2007; Leu et al. 2000). In this research, objective 2 implemented the minimum moment algorithm to make the daily resource consumption (rtj) as smooth as possible. Also, objective 2 uses an amplification factor, which is the difference between the daily resource consumption (rtj) and the resource consumption of the last day r(t-1)j. This difference is used to select the optimal daily resource consumption and enable it to reach the optimum use of resources. In the paper, also, considering the multi-type resource allocation problem, the weight of every kind of resource is generally added wherein the weighted value Wj represents its importance. For example, whether a resource type is important or not could depend on its unit price. The higher the unit price of this resource type, the more important is this resource type.
where rtj is the consumption of type j at time t in the project, Wj is the weight of the resource j, n is the number of optimal project duration on the condition of the resource constraints, and m is the number of total type resource project days (Pan et al. 2008).
A compound of project cost index and resource leveling index makes the total objective:
is the importance level of the project time index, IL
is the importance level of the resource leveling index, T is the project time, σ is the resource leveling index, Tbasis is the basis amount of the project time index, and σbasis is the basis amount of the resource leveling index.
Ant colony optimization system
Ant colony optimization (ACO) is a metaheuristic technique for hard discrete optimization problems that was first proposed in the early 1990s. In ACO, blind insects like ants can manage to establish the shortest route paths from their colony to feeding sources and back. When searching for food, ants initially explore the area surrounding their nest in a random manner. As soon as an ant finds a food source, it evaluates the quantity and quality of the food and carries some of the found food to the nest. During the return trip, the ant deposits a chemical pheromone trail on the ground. The quantity of pheromone deposited, which may depend on the quantity and quality of the food, will guide other ants to the food source (Blum and Dorigo 2004; Gambardella et al. 1997). While an isolated ant moves essentially at random, an ant encountering a previously laid trail can detect it and decide with high probability to follow it, thus reinforcing the trail with its own pheromone. The collective behavior that emerges is a form of autocatalytic behavior where the more ants follow a trail, the more attractive that trail becomes for being followed. The process is characterized by a positive feedback loop, where the probability with which an ant chooses a path increases with the number of ants that previously chose the same path. Also, pheromone concentration vanishes with time, and then, the less-used path will be much lower in pheromone concentration. The indirect communication between the ants via the pheromone trails allows them to find the shortest paths between their nest and food sources (Bonabeau et al. 1999).
ACO will have some major differences with a real (natural) one:
(1.) Artificial ants will have some memory.
(2.) They will not be completely blind.
(3.) They will live in an environment where time is discrete.
The idea is that if, at a given point, an ant has to choose among different paths, it does this based on two main components:
(1.) Pheromone trails that were heavily chosen by preceding ants (that is, those with a high trail level) are chosen with higher probability. Furthermore, high trail levels (pheromone values) are synonymous with short paths.
(2.) Heuristic, which is visibility, is defined as the inverse of the distance, and so, closer nodes have a higher chance of being next.
Two parameters (α and β) are introduced to control the relative weight of pheromone trail intensity and visibility. At run-time, ACO algorithms try to update the pheromone values in such a way that the probability to generate high-quality solutions increases over time. The pheromone values are updated using previously generated solutions. The reinforcement of solution components depending on the solution quality is an important ingredient of ACO algorithms. It implicitly assumes that good solutions consist of good solution components. To learn which components contribute to good solutions can help to assemble them into better solutions (Dorigo et al. 1996).
The basic ACO algorithm involves the following: ants choose the trail with the largest concentration of pheromone τ with a certain probability p. The shorter path will have more pheromone concentration. For a whole colony following this behavior, the shortest path will be much higher in pheromone concentration than the other paths. Then, the probability of choosing any other paths will be very small. Also, the less-used path will be much lower in pheromone concentration due to pheromone volatility with time. Let an ant k reside in a node i at time t. Assume that one of the possible trails for its next step is (i, j) connecting node i to node j. Then, the probability of choosing node j as the next node is given by
where the pheromone trail update is given by τ (i, j) (t + 1) = (1 − v)* τ (i, j) (t) + v* δ (k, i, j).
ν Ïµ (0, 1) is the evaporation coefficient. δ(k, i, j) is the pheromone released by the ant k on the trail (i, j).
where Q is a positive constant, and L is the total path time. Γ is a tabu list, which contains all the trails that the ant has already passed and must not be chosen again; this acts as the memory of the ant. η(i, j) is the visibility function, which is usually selected as the inverse of the distance for i to j, i.e.,
Where γ is the visibility parameter, α and β express the relative weight between the importance of τ and η (Abdallah 2009).
Proposed ACO technique for solving resource leveling scheduling
The ant selects an execution mode (from available execution modes) for each activity and establishes a route from the initial activity until the last. A schedule is established based on the route and as-soon-as-possible scheduling approach. A route that has optimal objective function with respect to all other routes is the best route. Figure 1 demonstrates the execution mode selection and route establishment by ants.
In the algorithm proposed here, each feasible solution is demonstrated by the mode string. The mode string ms can be regarded as a vector. There are as many parts in the vector as there are activities. The situation that an activity aj performed in mode m can be represented by Ms(j) = m, where 1 ≤ j ≤ N and 1 ≤ m ≤ M
, respectively. Figure 2 demonstrates a feasible solution determined by ant 1. In this figure, the third number of the mode string is 1, indicating that the execution mode of activity 3 is 1.
In the proposed algorithm, the visibility function η(i, j), which is usually selected as the inverse of the distance from i to j, is proposed here to be proportional to the (1) inverse of the cost, (2) inverse of the cost multiplied by the duration, (3) inverse of the duration, (4) duration, and (5) inverse of the number of required resource per day. So, some models for different visibility functions are established.
For the first run, each ant is given a random guide to the execution modes for each activity. In other words, the ants choose one of the available execution modes for each activity. They put their pheromone trace on their path. A tabu list, which contains all the execution modes that the ant has already selected, is made. The tabu list acts as the memory of the ant. The pheromone level is also updated. For other runs, ants choose one of the available execution modes for each activity guided by the pheromone trail and visibility level, putting its pheromone trace on this path. The pheromone level is also updated. The mentioned procedure is repeated, until certain stopping criterion is met (e.g., a fixed number of iterations).
A simple project is used to demonstrate the proposed model. The data of each activity and the relationship between activities are shown in Table 1. Resource cost rates are 20 and 15 units per day.
We use procedure with ACO-related input data as follows: number of ants = 50 and iteration number = 1,000. The proposed algorithms were implemented in MATLAB language. The running time using Intel (R) Pentium D, 3 GHz, 160 MB RAM is approximately 60 s.
In the previous researches, the effects of some parameters, including ν, α, and β, have been analyzed. In this research, in addition to afore-stated parameters, the impact of different definitions of visibility function is analyzed. The normalized different definitions of visibility function for different execution modes of activities are presented in Tables 2, 3, 4, 5 and 6.
The values of w
are fixed to 0.5. The values of Tbasis and σbasis are equal to the project time and resource leveling index of the project schedule in which the first execution mode is selected for each activity.
With each parameter and visibility function combination, 100 runs of experiments on the project example are performed so that the stochastic characteristic in ACO can be reflected. Results from the runs are shown in Table 7. The results of model running based on different values of ν, α and β and different definitions of visibility function are presented in Table 7.
In each cell of Table 7, the first number is the total objective function. The second number is the iteration number in which the ants select a route as the best, in other words, model result does not change after the mentioned iteration number. The third number is the project time of the solution, and the fourth number is the resource leveling index of the solution. The best solutions that have minimum total objective function are in bold.
Comparing different combinations that have different parameters values and definitions for visibility function, it is found that a big α and small β lead to better solutions because using extremely big α and small β encourages the ants to follow the preceding ants' pheromones. Using small α and big β encourages the ants to choose the next node as having the largest trail time. This is clear from Equation 3. In this case, the ants are not heavily attracted to the pheromones of preceding ants. This may lead to inaccurate identification of the best solution.
More than that, using high evaporation coefficient leads the ants to make all paths randomly, and the ant does not influence the succeeding ones, and evaporation coefficient leads to fast convergence to the preceding path and may lead to immature convergence due to the lack of exploration of other paths. However, results of the project show that changing the evaporation coefficients causes little difference in the ACO performance. It can be concluded that the initial adoption of the ants are good solutions.
As it can be seen in Table 7, the first definition for visibility function gets good result with respect to all other definitions. Project time and resource leveling index optimization are the objectives. In addition, the first definition is an inverse of cost, and cost is a function of activity time and number of required resource per day. Thus, the first definition produces the best results.
Another consideration that is dependent on the model results is the rapidity of getting result. As it can be seen in Table 7, the combinations which get good result get the result more rapidly. As a conclusion of the mentioned fact, the amounts of ν, α, β and the definition for visibility function affect the quality and rapidity of getting result.