ACS is a kind of ant colony optimization (ACO) algorithms which were originally proposed by Colorni et al. (1991) as a meta-heuristic scheme to locate nearoptimal solutions. As reported by Dorigo and Stützle (2004), an ant system (Dorigo et al. 1992) being the most primitive ACO algorithms was applied in solving the travel salesmen problem. Then, several extensions of the ant system including the ACS, elitist ant system, maxmin ant system, and so on were inspired to improve its performance (Zhang et al. 2007). A comparison of various ACO algorithms have been conducted by Dorigo and Stützle (2004), which concludes that the performance of ACS is superior to the other ACO algorithms in terms of it convergence speed and processing time. By avoiding premature stagnation and improving the search speed, both the quality of solutions and the time required could be improved by using ACS.
In this paper, an automated ACS-based TCO model is introduced and its performance is compared with other modeling techniques. The paper first highlights the development environments being used for building the model. The components of the ACS-based TCO model along with their functions and operation are then introduced. Finally, the model is validated through a case study and the results of comparison are summarized.
2.Modelling environment
Before the ACS-based TCO model was developed, it is necessary to determine which programming language is the most suitable for building up the optimization model and user interface. The prime consideration was readiness of the programming language to interact with a dedicated scheduling tool and database package in a simple and direct manner. This is especially important if the model is to appeal to the planners and project managers who are not too familiarized with programming. In this research, Microsoft Project was chosen as the scheduling tool due to its widespread usage in the construction field. As for the package for data storage, Microsoft Excel was used because data can be exported to or imported from Microsoft Project for analysis easily.
Various development platforms such as FORTRAN, Visual Basic, Java, Visual C, and Visual Basic for Application (VBA) were compared. While all these programming languages are equally powerful and applicable, VBA offers the best integration and interaction with Microsoft Project and the database. Therefore, data in Microsoft Excel can be used by VBA for analysis while the results generated by VBA can be plugged to Microsoft Project so as to identify the critical path and compute the overall project duration without the needs for complicated coding. Consequently, VBA was selected as the language for developing the optimization model and the user interface.
3.The prototype model
The codes in VBA were compiled as a macro program and integrated with Microsoft Project, and a new tab known as “T/C Analysis” has been added to the menu bar in Microsoft Project. User can simply invoke the newly developed functions, i.e. “Data Input”, “Optimization”, and “Data Output” through the pull down menu in Microsoft Project. To start the analysis, user is required to enter the project data and those data as required for ACS modeling through the “Data Input” module. Acknowledging that it is possible that the time or cost may be fixed, user may choose amongst different optimization strategies to suit the actual need. Should the “Time-Cost Optimization” option be chosen, a multi-objective time-cost optimization will be conducted. Alternatively, the “Total Cost Minimization” or “Time Minimization” would result in the minimization of either the total cost (i.e. the sum of direct cost and indirect cost) or the shortest overall duration respectively. Finally, the results are made available to the user through “Data Output” for checking and confirmation.
3.1. Data input module
The input variables for the ACO-based TCO model include the following:
1.The logical sequence of the activities in the project, or in other words the network of the project.
2. An estimation of the values for the time and cost of each activity including the best-guess, minimum, and maximum time and cost. For the units for the time and cost, “days” and “$” are used. Other units can also be considered, but attention should be paid to the unit of indirect cost being based on the time and direct cost. For example, if “day” and “$” are the units for the time and direct cost, the indirect cost should be determined by “$/day”.
3. An estimation of the indirect cost which should be a fix value per day.
To illustrate how data is inputted into the proposed model, a simple discrete TCO problem as derived from Liu et al. (1995) is adopted. The project data consisting of seven activities (Table 1) is entered into Microsoft Project by the user. Along with the project data is up to five alternative time-cost options for each activity, and this information is inputted into Microsoft Excel for subsequent analysis. Apart from that, user is required to enter other data into model through the user interface (Fig. 1), and this information includes the indirect cost for the project, the number of iterations and the reward factor for the ACS algorithm. In this case example, the indirect cost is set as $1,500/day while the number of iterations and reward factor are given as 40 and 20 respectively.
Table 1. Details for the case example (Liu et al. 1995)
3.2. Optimization module
The ACS-based consists of four main phases, which could be described briefly as following.
Phase 1 – parameters initializing
During this phase, the parameters for ACS including the number of ants and the pheromone (0), evaporation rate, and other parameters shall be initialized.
Phase 2 – solution construction
The probability for ant k to select option j is established according to the selection rule as shown in Eq. 1:
where: pij(k,t) is the probability that option (i,j) is chosen by ant k for activity i at iteration t; ij(t) is the pheromone value of the option (i,j) being left by the ants in iteration t, indicating the attractiveness of the option (i,j) for ant k; ij represents a heuristic function which evaluates the utility of choosing option (i,j); and and are the weights of ij and ij, which were determined in Phase 1. Phase 3 – pheromone updating After one solution is generated, local updating is conducted on the options being visited as follows:
ij (t) = (1− )ij (t −1) + 0 , (2)
where 0 is the initial pheromone value for each option and is the evaporation rate.
When an entire iteration is finished, global updating would be performed to the iteration-best options (i.e. the options visited by the best ant with the least fitness value in the current iteration) following the following global updating rules:
ij (t) = (1− z)ij (t −1) + z ; (3) = R fbest-iter , (4)
where: z is the evaporation rate in the global-updating process; R is a constant representing the pheromone reward factor; and fbest-iter is the fitness value of the best ant in this iteration.
Phase 4 – algorithm stopping
Certain number of iterations would be adopted as the stopping criteria for the proposed model which can be determined by the user.
Readers are referred to Ng and Zhang (2008) for further details of the four phases mentioned above in particular the pheromone updating process.
Furthermore, as demonstrated by Ng and Zhang (2008), MAWA is an effective way to solve the multiobjective problems, such approach would be applied in the current model. Hence, the fitness function for the kth solution (in an ACS model, the fitness for the kth ant in the current iteration) can be represented as follows:
max max t t c c t max min c max min t t c c f (k) w z z (k) w z z (k) z z z z − + − + = + − + − + , (5)
where zt(k) and zc(k) are the time and cost value of ant k respectively; and is a positive random number between 0 and 1.
3.3. Output module
After the evaluation, the following information will be provided to the user through the data output module:
1.The optimum solution(s) of the optimization, which is/are indeed the most optimum value(s) for the total time and cost of a project. For the time-cost optimization, they would prefer to have a series of globally non-dominated solutions. However, when it comes to time and cost optimization, the shortest time and the minimal total construction cost respectively are the most important findings they would like to know.
2. The time and cost options being used for all the activities to generate each of the globally nondominated solution would be extremely useful, as planners can make use of the solutions to derive programs in the Microsoft Project platform.
A summary of all the parameters being entered will be shown to the users for checking when the “Parameter Summary” option in menu is selected. Should the user satisfy with the input data, they can view the results of optimization which include the Pareto solutions for the optimization as well as the evolution process of the time and cost according to the iteration when they select the “Result Box” option. Taking the results shown in Fig. 1 as an example, there are three globally non-dominated solutions as listed in the left-hand side of the text box (Fig. 1a). Besides, the iter-best solutions (i.e. the best solution in each iteration) are also listed (Fig. 1b) to reflect the convergence of solutions.
a)Solutions at Pareto front
b) The evolution process
Fig. 1. The results of optimization generated by the ACS-based TCO model
3.4. Revised program in project
Should the user wish to schedule the project according to any one of the globally non-dominated solutions as identified, he/she can simply select the number of the solutions in the right box and click the “Schedule It” button. For instance, when Pareto solution number 2 is selected (se