Optimization of Resource Leveling Problem under Multiple Objective Criteria Using a Symbiotic Organisms Search

Scheduling and resource management is crucial in any construction project. Bad scheduling and resource management can cause delays or cost overruns. Optimization in solving resource leveling is necessary to avoid those problems. A total of nine objective criteria are used to solve resource leveling. Each of them has the same objective, which is to reduce the fluctuation of resource demand of the project. This study compares the performance of symbiotic organisms search (SOS) and particle swarm optimization (PSO) in solving resource leveling problems using separate objective functions in order to find which one produces a better solution. Those nine objective functions generate differing resource demand diagrams since each of them minimizes differing parameters. The results show that SOS produced a better solution in eight of the nine objective functions that are used, and only one objective function produced the same objective value in both SOS and PSO. Further finding reveals that one objective function is better in solving resource leveling than the others.


Introduction
In any construction project, proper scheduling is a necessity for success. Several methods have been used in scheduling, such as the program evaluation and review technique (PERT), the critical path method (CPM), and Gantt charts [1]. Since 1950, CPM and PERT have been the most popular methods for planning and controlling schedules of largescale construction projects [2]. In spite of the fact that CPM is commonly used, it still has many shortcomings. CPM assumes that the available resources are unlimited, which may lead to fluctuation of resource demand. It is impractical and expensive to hire and fire construction workers in the short term in order to meet the fluctuating resource requirements [3], hence this condition may lead to a cost overrun. Therefore, resources should be managed and allocated efficiently to prevent project delay or cost overrun.
Resource leveling is a method of allocating resources in order to reduce the fluctuation of resource demand. This can be done by shifting the start times of non-critical activities within the available float, such that the project duration remains unchanged [1].
One of the earliest resource leveling methods was developed by Burgess and Killebrew [4], in which the sum of the squares of the resource usage was minimized in order to have a smooth rectangleshaped resource histogram. Wagner et al. [5] proposed several objective criteria for resource leveling, including minimization of the sum of absolute deviations in resource usage for a determined time interval, and minimizing the maximum resource usage for a determined time interval. Later, Hossein Hashemi Doulabi et al. [6], Easa Said [7], and Leu et al. [2] proposed a new objective criterion for resource leveling which is minimization of the sum of the absolute deviations between resource usage for a determined time interval.
At first, mathematical approaches were used to solve resource leveling problems. However, these approaches become impractical when solving large-scale construction projects. Later, heuristics methods were used [8,9], but they still do not produce optimal results [10]. The shortcomings of both mathematical and heuristic methods encouraged many researchers to study metaheuristic approaches in order to find more reliable optimization alternatives in solving resource leveling problems.
Many studies have used some type of metaheuristic method as an alternative to resource leveling, such as genetic algorithm (GA) [2,6], ant colony organization (ACO) [11], particle swarm optimization (PSO) [12], and differential evolution (DE) [10]. However, these methods each have their own drawbacks; one of them is much relying on parameter tuning too much. If the parameter setting is not optimized, more computational time is required to find the optimal solution of the problem. Furthermore, the solutions produced by these metaheuristic algorithms might converge to a local optima region.
The past years have seen an increased use of the symbiotic organisms search (SOS) when solving multiple optimization problems in various research fields [13][14][15][16][17][18]. The searching operators of SOS take inspiration from the phenomenon of organisms' interaction in nature. Unlike most population-based metaheuristic algorithms, SOS does not require any specific parameter tuning since it only uses common parameters, such as population size and iteration numbers, to operate. SOS has three nature-inspired optimization routines to iteratively obtain optimal solutions, which are the mutualism phase, the commensalism phase, and the parasitism phase. Although SOS has been proven to surpass the performance of GA, DE, and PSO in some problems [13], its performance in soling other problems, such as resource leveling, needs to be tested further.
This research investigates the performance of the SOS optimization method in solving the resource leveling problem under multiple objective criteria. A CPM network resource diagram from a construction project is adopted as a case study of this resource problem. A total of nine objective criteria collected from previous studies are used to analyze the consistency of SOS optimization performance under multiple scenarios. These objective functions have the same main purpose, which is to create an even flow of resource demands without changing the project's duration. For comparison purposes, PSO is used as a benchmark for SOS.

Metaheuristic Algorithms Application on Solving Resource Leveling Problem
Because of its complexity, resource leveling is now considered one of the major issues in construction [19]. Researchers have used mathematical and heuristic methods for dealing with resource leveling [7][8][9] but it is not practical when solving the more complex problems that people face in real life. Latterly, metaheuristic methods have been used to solve resource leveling, yet improvement is still needed to produce a better solution and solve more complex problems. This research investigates the application of SOS alongside PSO in solving the resource leveling problem. These two methods are briefly introduced in the following section.

Particle Swarm Optimization
In 1995, Kennedy and Eberhart developed a swarmintelligence based algorithm, so-called PSO [20]. It simulates the animal social behavior displayed when flocking to a desired place. PSO can be applied to continuous multi-dimensional functions [20]. A particle is used to represent a solution, where the initial particles are generated randomly. This algorithm is started with initial locations of random particles, which are updated using the velocity vector formulated in Equation (1). Later, each particle moves to a new location using Equation (2).
where W is the inertia weight parameter, Vi is the velocity vector of particle i, c1 is the cognitive factor, pbesti is the personal local best location of i-th particle, Xi is the location of particle i, c2 is the social factor, gbest is the location of global best among all swarms of particles, and t is the number of iterations. At the end of the process, the best solution is represented by the global best particle. The pseudocode of PSO is shown in Figure 1. Evaluate the fitness of each particle 5: Update personal and global fitness and location 6: Update velocity and location of particle 7: End for 8: End for

Symbiotic Organisms Search
In 2014, Cheng and Prayogo developed SOS as a new and promising metaheuristic algorithm [13]. This algorithm takes its inspiration from symbiosis interactions of living organisms in nature. The three phases used in SOS, the mutualism phase, the commensalism phase, and the parasitism phase, are described as follows: During the mutualism phase, organism Xi interacts with Xj through Equation (3) and Equation (4).
where, Xi is the i-th organism in the ecosystem, and Xj is the j-th organism in the ecosystem where Xi  Xj. Xbest represent the best organism in the ecosystem. If the objective value of Xinew is better than Xi, Xi will be replaced by Xinew, as with Xj and Xjnew.
During the commensalism phase, organism Xi interacts with Xj through Equation (5).
where, Xi is the i-th organism in the ecosystem, and Xj is the j-th organism in the ecosystem where Xi  Xj. Xbest represent the best organism in the eco-system. If the objective value of Xinew is better than Xi, Xi will be replaced by Xinew.
During the parasitism phase, parasite_vector is created by duplicating organism Xi, and parasite_vector is randomly modified to mark parasite_vector off from Xi. Then, Xj is selected randomly from the ecosystem. If the objective value of parasite_vector is better than Xj, Xj will be replaced by the para-site_vector. Otherwise, Xj remains in the ecosystem and the parasite_vector dies.
The three phases of SOS are repeated until the maximum numbers of iteration or termination criteria are met. The pseudo-code of SOS is shown in Figure 2. Interact with random organism within mutualism phase 5: Interact with random organism within commensalism phase 6: Interact with random organism within parasitism phase 7: Memorize the best organism 8: End for 9: End for

Mathematical Optimization Model
Resource leveling is a commonly known scheduling method to minimize resource demand fluctuation by shifting non-critical activities start times within their float. The main objective of resource leveling is to smoothen the resource demand diagram by creating a uniform resource flow without changing the project duration. Resource leveling focuses on decreasing the deviation between peak resource demands and daily resource demands, which is the objective function (Z) of resource leveling.
where Ri is the resource demand on day i, ESx is the early start time of activity x, STx is the start time of activity x, LSx is the late start time of activity x, and m is the total number of activities.
The literature review on resource leveling indicated that nine objective functions have been used to solve resource leveling [1] as shown in Table 1. where T is the project duration, i is the determined time interval (day, week, etc), Ri is the resource demand on i, Rdevi is deviation of the resource demand on i and i+1, Rinci is the increase of resource demand on i and i+1, Arr is the average of resource demand during the project duration. In this study, a decision variable is represented by early start time of each activity. A resource demands' diagram can be calculated in accordance to the decision variable. Using the information of resource demand per duration, the objective value can be obtained by calculating the objective function shown in Equation (1) and Table 1 while satisfying the three constraints shown in Equations (7)-(9).

Optimization Results
This section shows the performance of SOS and PSO in solving the resource leveling problem and the comparison between nine objective functions. Between these two algorithms, the population size and the maximum number of iterations are set equal for a fair comparison. The optimization result is achieved through 30 simulation runs to evaluate the consistency and accuracy of the algorithms as shown in Table 4 and Figure 5 respectively. The best objective value founded in the last iteration of each run will be collected. Furthermore, the best, worst, average, and standard deviation values were calculated based from the 30 objective values obtained from simulation runs. Observing from Table 4, the performance of SOS is better than PSO. In eight out of nine different objective functions used, the average fitness and the standard deviation of SOS is significantly better than PSO. However, SOS and PSO obtained equal objective value using objective function number six with a 12.11 average of objective value, and 0.00 standard deviation. Figure 4 shows that in some objective functions, SOS achieves its optimal solution earlier than PSO, such as on objective functions 3, 4, 5, 7, and 9, while PSO achieves its optimal solution earlier on objective functions 1, 2, and 8. Although PSO is able to achieve its optimal solution earlier on some functions, the final objective value of the solution is not better than SOS. Hence, it can be stated that SOS is better than PSO in solving the resource leveling problem. After leveling, resource diagrams using the SOS and PSO are shown in Figures 6 and  7.

Results and Discussions
Since SOS is proven to be better than PSO in providing an optimal solution for the resource leveling problem, the comparison of the objective function will use the results of each objective function given by the SOS algorithm. The initial objective values (before leveling objective values) were calculated using the earliest start time of the activities, and will be used to calculate the improvement of the solution provided by the SOS algorithm. Objective values are calculated using the start time of the activities, which is determined after resource leveling has been done by the SOS algorithm. Table 5 presents the after-leveling objective value of each objective function.
In order to determine the objective functions which give the most improvement, each result from the leveling of nine objective functions needs to be calculated using other objective functions. As seen in Table 5, some of the objective values are improved after resource leveling, but others are decreased. The results of objective function 3, when leveled using any objective function are improved (all of the after leveling results are below 468.23), where the highest improvement comes from using objective function 3, which is as expected, as well as using objective functions 4 and 9. The same thing does not happen with the result of objective function 5: the objective value is not improved when calculated using objective functions 3 and 4, while it improves when calculated using other objective functions. Therefore, in order to determine the objective functions that deliver a solution with the most improvement on all objective functions, the cumulative improvement of each objective function was calculated.
As seen in Table 6, each objective function produces a unique improvement over the starting level objective value. Objective function 8 produced the most improvement over the starting level objective value which is 86.20%, followed by objective function 2 with a 73.33% improvement. Objective functions 1, 5, and 9 gained by 67.07%, 46.15%, and 43.71% respectively. Not only did it produce the most improvement, objective function 8 (minimization of the sum of the square of the deviations in resource usage) also had the best average of improvement (58.14%)-slightly above objective function 2 at 44.89%. Objective functions 1, 9, and 7 follow with average percentage of improvements 42.34%, 33.37%, and 23.93% respectively. Objective function 6 has the lowest average improvement with only 6.27%.

Conclusion
The objective of this research is to investigate the performance of the SOS in solving the resource leveling problem from a CPM network resource diagram.. The nine objective functions were optimized using SOS and other optimization method, PSO, as a comparison. Those nine objective functions generate differing resource demand diagrams since each of them minimizes differing parameters. The SOS algorithm surpasses PSO algorithm in solving the resource leveling problem. SOS provide a better objective value in eight of nine objective functions that are used, and only one objective function produced the same objective value in both SOS and PSO.
In order to find the best objective functions, the average improvement of each was calculated. Objective function 8 (minimization of the sum of the square of the deviations in resource usage) had the best cumulative improvement, followed by objective function 2 and objective function 1 with an average improvement of 41.97%, 41.84%, and 41.74% respectively. However, it is possible that each case may generate its own unique results. Combining those nine objective functions and adding weighting coefficients by considering the cumulative improvement in order to provide a better resource leveling objective function would be a potential improvement for this study. Furthermore, addressing the uncertainty of resource demand and availability can become a substantial future research agenda for resource leveling development.