Artificial Bee colony for resource constrained project scheduling problem

Article history: Received 15 April 2010 Received in revised form 19 July 2010 Accepted 20 July 2010 Available online 20 July 2010 Solving resource constrained project scheduling problem (RCPSP) has important role in the context of project scheduling. Considering a single objective RCPSP, the goal is to find a schedule that minimizes the makespan. This is NP-hard problem (Blazewicz et al., 1983) and one may use meta-heuristics to obtain a global optimum solution or at least a near-optimal one. Recently, various meta-heuristics such as ACO, PSO, GA, SA etc have been applied on RCPSP. Bee algorithms are among most recently introduced meta-heuristics. This study aims at adapting artificial bee colony as an alternative and efficient optimization strategy for solving RCPSP and investigating its performance on the RCPSP. To evaluate the artificial bee colony, its performance is investigated against other meta-heuristics for solving case studies in the PSPLIB library. Simulation results show that the artificial bee colony presents an efficient way for solving resource constrained project scheduling problem. © 2010 Growing Science Ltd.  All rights reserved.


Introduction
Resource constrained project scheduling is known as an important problem in project scheduling.The RCPSP is an optimization problem which tries to find the optimum ordering of the activities to achieve some predefined objectives.It is possible to have many different objectives such as makespan, robustness, etc which are depended on some predefined goals (Abbasi et al., 2006).The makespan minimization, which is referred to as finding the minimum time to complete the entire project, is the most common objective in RCPSP.Also, RCPSP has several varieties so-called singlemode RCPSP (Ranjbar, 2008), multi-mode RCPSP (Damak et al., 2009), RCPSP with non-regular objective functions (Neumann et al., 2003), stochastic RCPSP (Rabbani et al., 2007;Ashtiani et al., 2009), Bin-packing related RCPSP (Fekete & Schepers, 1998), and multi-RCPSP (Krüger & Scholl, 2009).These varieties of RCPSP along with different possible objectives provide a wide area of research.Hence, scheduling resource constrained project has been the subject of extensive researches in the recent years.
In this work, we focus on solving single-mode RCPSP with makespan minimization objective.A large variety of methods ranging from exact to meta-heuristic have been proposed for single-mode RCPSP.We refer to the survey about the solution techniques provided by Hartman and Briskorn (2010).The proposed methods can be classified as exact, heuristics and meta-heuristics.Exact methods are the first class of RCPSP solvers.Several exact methods have been proposed by authors to solve the RCPSP.The methods proposed by Stork and Uetz (2005), Sprecher (2000), and Mingozzi et al. (1998) are among the most representative exact methods.Although exact methods provide efficiency to solve small-sized instances of the RCPSP, they may not able to solve large-size instances of the RCPSP in a reasonable computational time.Therefore, we need to use heuristics or meta-heuristics when solving large problem instances.These approaches provide optimal or near optimal solutions for the problem at hand.The second class of RCPSP solvers is designed based on heuristics.The methods presented by Tormos and Lova (2001), Kolisch (1996), and Boctor (1990) are examples of the heuristic approaches.The methods of this class start with an empty schedule (i.e.none of the activities has been scheduled).After that, the empty schedule is filled by selecting a subset of activities in each step and assigning the earliest possible starting times to these activities by considering the priority rules and scheduling scheme.This process is continued until all the activities have been considered.
In scheduling process, the activities are selected based on their ranks, and the priority rules are used for ranking the activities.Meta-heuristics are used to design the third class of RCPSP solvers.Several meta-heuristic methods such as Tabu-Search (TS) (Tomas & Salhi, 1998), Simulated Annealing (SA) (Boctor, 1996;Bouleimen & Lecocq, 1993), Genetic Algorithm (GA) (Valls et al., 2008;Mendes et al., 2009), Scatter Search (Mobini et al., 2009), Electromagnetism (EM) (Debels & Vanhoucke, 2004), Immune Algorithm (IA) (Mobini et al. , 2010), Filter and Fan (FF) (Ranjbar, 2008), and Particle Swarm Optimization (PSO) (Chen et al., 2010;Zhang et al., 2005;Zhang et al., 2006) have been proposed by authors.The meta-heuristics approaches can be divided in two main sub-classes.The first sub-class containing approaches such as tabu search and simulated annealing maintain only one solution at each cycle of the algorithm.These methods try to find a new solution with better quality from the current solution iteratively.The second sub-class of meta-heuristics containing population based approaches such as genetic algorithm, ant colony optimization, particle swarm optimization, etc, maintain a set of solutions at each cycle of the algorithm.These approaches solve the RCPSP by employing an initial population of individuals each of which represents a candidate schedule for the project.Then, they evolve the initial population by successively applying a set of operators on the old solutions to transform them in to the new solutions.Some other approaches for resolving RCPSP problem are designed as a hybrid among different approaches.These methods try to exploit the advantages of two or more methods in order to design an algorithm with better performance.ANGEL (Tseng & Chen, 2006), ACOSS (Chen et al., 2010), Neurogenetic (Agrawal et al., 2010), Scatter Search-FBI (Debles et al., 2006), and Hybrid-GA (Valls et al., 2008) are among most representative hybrid methods presented in literature.Usually in hybrid algorithms, better performance is obtained by improving the balance between exploration and exploitation through combination of the potentials of different approaches.Hence, one can use hybridization as a way to avoid stagnation and premature convergence which are known as the main deficiencies of meta-heuristic approaches.TS, SA, GA, ACO, PSO, SS, EM, IA, FF, and hybrid methods are among the most popular meta-heuristic approaches applied on RCPSP.Previous studies showed that these methods were successful and more efficiency has been obtained by applying them on RCPSP.Methods such as artificial bee colony (Karaboga & Basturk, 2007) and bee swarm optimization (Akbari et al., 2010) which are inspired from intelligent behavior of honey bees are among newly introduced meta-heuristic approaches which have been successfully applied on optimization problems.It seems that they may be useful for solving RCPSP.In this work, we use artificial bee colony (ABC) and present a method to solve a single-mode RCPSP.The proposed method tries to minimize the makespan of a single-mode RCPSP using meta-heuristics inspired from collective behavior of honey bees.It starts by a set of initial schedules and tries to improve them cycle by cycle until the termination condition is met.Each cycle represents an asynchronous process that involves four steps.These steps are used to transform the old schedules into the new schedules with shorter makespans.This paper is organized as follows.Section 2 presents the foundations of the bee algorithms by describing self-organizing and collective behaviors of honey bees in nature.Section 3 explains the formulation of the RCPSP.In Section 4, we explain the steps of artificial bee colony and its application for solving single-mode RCPSP.Section 5 illustrates the numerical examples and reports the comparison results.Finally, Section 6 concludes this work and represents some future research directions.

Bees in the Nature
The collective behaviors of honey bees provide them with the ability to perform complex tasks as reported by Teodorovic and Dell Orco (2007), Teodorovic et al. (2006), Pham et al. (2008), and Akbari et al. (2010), using relatively simple rules of individual bees' behaviors.Collecting, processing, and advertising of nectars are examples of intelligent behaviors of honey bees (Teodorovic et al., 2006).These behaviors help a colony in finding the flower patches in the environment.Information about flower patches provided by the employed bees is shared among other bees when they return to the hive.The employed bees share their information using waggle dance on the dance floor.The provided information by employed foragers is shared with a probability proportional to the profitability of the food source.So, the onlooker bees which are waiting in the hive can employ a probabilistic approach to choose an employed bee among numerous dancers and adjust their search trajectories toward the most profitable sources.The onlooker bees choose more profitable food sources with greater probabilities.Hence, more profitable food sources attract more onlooker bees.After choosing the food source by the onlooker bee, she flies to find the food source.When she finds the food source, the onlooker bee switches its type to the employed bee.The employed bee memorizes the location of food source and then starts exploiting it.Then she takes a part of nectar from the food source, it returns to the hive and saves the nectar in a food area in the hive.After saving the food, the bee enters to the decision making process and selects one of the following three options.A bee may select one of these options to switch its type based on different information such as quality of food source, its distance from the hive, its direction, and ease of extracting the food source.1) If the nectar amount is decreased to a low level or it is exhausted, she abandons the food source and switches its type as scout.Scout bees fly spontaneously around the hive and search for new food sources without any knowledge about the environment.2) If there are still sufficient amount of nectar in the food source, it can continue to forage without recruiting the nestmates.3) She can perform waggle dance to inform the nestmates about the same food source.After that she recruits the nestmates before returning to the food source.The waggle dance mechanism and the search behavior of honey bees were used by Karaboga and Bastruk (2007) to design an optimization algorithm called artificial Bee colony (ABC).It seems that ABC has competitive performance compared to other meta-heuristics such as ACO, PSO, GA, etc as reported by Karaboga and Bastruk (2007), Karaboga andAkay (2009), Alatas B. (2010) and Pan et al. (2010).Hence, this work aims at adapting ABC algorithm as a newly developed metaheuristic to resolve the resource constrained project scheduling problem.

Formulation of the RCPSP
Considering the limited capacity of the resources, the main concern in the resource constrained project scheduling problem is to assign jobs or activities to a set of resources in order to meet some predefined objectives.Although, many different objectives are possible, but minimizing the makespan is commonly considered in most of the RCPSPs.This work aims at designing an approach for minimizing the makespan in a single mode scheduling problem.In a single mode RCPSP, each project has a single execution mode in which both the activity duration and its requirements for a set of resources are assumed to be fixed.The single-mode resource constrained project scheduling is defined as follows: assume that we have a project that involves 1 + n activities where each activity has to be processed in order to complete the project.The project can be modeled as a directed graph ) represent the 'project start' and the 'project end', respectively.As mentioned earlier the arcs in the graph specify the precedence constraint.If an arc ( ) j i, appears in the graph, it means that the activity j cannot be started before its immediate predecessor activity i has been finished.Besides, an activity requires resources with limited capacities to be performed.An activity may be scheduled if both of the constraints (i.e.precedence constraint and resource limitation constraint) are satisfied.
where each resource type k has a limited capacity of k R at any point of the time.During running of the project, each activity j a requires k j r , units of resource type k during every time instant of its non-preemptable duration j d .For the 'project start' and 'project end' activities we have . The objective of the RCPSP is to find an ordering of the activities (see Fig. 1 (b)) that minimizes the makespan of the schedule 1 + n F subject to the following constraints: where j F is the finishing time of activity j a , j P is a set of preceding activities (or predecessors of activity j a ), ( ) describe the constraints of decision variables.The equation (1) enforces the precedence constraints between activities, and equation (2) enforces the resource limitation constraint.

Artificial Bee Colony and Its Application for RCPSP
This section presents the detailed description of the artificial bee colony algorithm to solve RCPSP.Fig. 2 presents the ABC algorithm in pseudocode.ABC algorithm uses the priority-based representation (Zhang et al., 2006) for its individuals.Each bee represents a position in the search space.If the project has n activities, the bees will fly in the search space with n dimensions.A position is a candidate for a priority list where each of its elements fixedly represents an activity and its corresponding value shows the priority of that activity.Hence, the position vector i x r of each bee i is used to represent the priority values of a schedule i with n activities.Each element d of the position vector i x r is located between 0 and 1 (i.e. ).Hence, each element with a value larger than 1 or smaller than 0 is set to 1 or 0, respectively.The ABC employs a population of different types of bees to find the schedule with minimum makespan.The type of a bee is defined based on the behavior she uses to find the food sources.A bee waiting on the dance area for making decision to choose a food source is called onlooker bee; the bee which goes to the food source already visited by herself just before is named as employed bee, and the bee which flies spontaneously in the search space is called scout bee.The ABC uses the following steps to find a schedule with minimum makespan:

Algorithm
Step 1 (Initialization): ABC receives a set of parameters as inputs: population size (Population size), number of scouts (Scouts), Max_Trial, and project (Prj).Max_Trial is the parameter used to identify the food sources that should be abandoned.At initialization step, the number of food sources (FoodNumber) will be set to half of Population size, and the population is equally subdivided as employed bees and onlookers.Next food sources will be initialized randomly.Trial is the parameter used to be incremented when a food source is not optimized in two consecutive cycles, and Prj is the project to be scheduled.
Step 2 (Bee evaluation): At the start of each cycle, all the food sources need to be evaluated.To evaluate the fitness of a food source, we need to generate the schedule from the priority list.Hence, we need to use a schedule generation scheme (SGS).We use serial-SGS that constructs active schedules (Kolisch & Hartmann, 1999).The serial-SGS is an activity oriented scheme that generates a schedule in n stages from the priority list.Serial SGS uses two disjoint activity sets at each stage and schedules it at the earliest precedence and resources feasible time.Next, the set of eligible activities and the resource profiles of partial schedule are updated.
Step 3 (Position updating): After all the bees are evaluated, each employed bee i selects another employed bee as its own neighbor.After that, a parameter will be selected randomly.Each food source will be optimized through following equation,

(
) where i represents the food sources which is going to be optimized, is a randomly chosen index.Although k is determined randomly, it has to be different from i.The random number id r is selected in range of [-1, 1].Parameter 1 ω controls the production of neighbor food sources around x id and represents the comparison of two food positions visually by a bee.As can be seen from equation (3), as the difference between the parameters of the x id and x kd decreases, the perturbation on the position x id is decreased, too.Thus, as the search process approaches the optimum solution in the search space, the step length is adaptively reduced.If a parameter value produced by this operation exceeds its predetermined limit, the parameter can be set to an acceptable value.After the employed bees explore the new areas of the food sources, they come into the hive and share the nectar information of the sources with the onlooker bees waiting on the dance area.Sharing the information in the hive, an onlooker bee only needed to employ a decision making process to select one of the food sources advertised by the employed bees.For this purpose, the probability for each food source k advertised by the corresponding employed bee will be calculated as follows, ( ) ( ) where is the probability of the food source proposed by the employed bee k which is proportional to the quality of the food source.The quality depends on the makespan of the schedule proposed by the food source k and calculated using following equation, ( ) where m makespan is the value of the makespan proposed by the food source m.After calculating the probabilities, each onlooker bee employs the roulette wheel to choose a food source advertised by the employed bee k based on its probability.By selecting a food source, the onlooker bee updates its position using the following equation if the newly discovered food source proposes a schedule with smaller makespan than the old one,

(
) where parameter 2 ω controls the importance of the social knowledge provided by the employed bees.Under this probabilistic approach, the food sources with better schedules attract more onlooker bees.At each cycle of the algorithm, the positions are evaluated and if a food source cannot be improved after a predetermined number of iterations (called Max_Trial), then the corresponding food source is abandoned.The Max_Trial parameter is determined manually.In this work, the value of Max_Trial is set to 5. The abandoned food source is replaced with the new one founded by the scouts.A scout produces a new position randomly and replaces the abandoned food source if the new food source has better nectar.Assume that the abandoned source is i x and , then the scout discovers a new food source to be replaced with i x .This operation can be defined as follows, where id r is selected in the range of [0,1] randomly.After each candidate source position ij v is produced and evaluated by the artificial bee, its performance is compared with that of its old one.If the new food source proposes a schedule with smaller makespan than the old one, it is replaced with the new one in the memory.Otherwise, the old one is retained in the memory.
Step 4 (Termination): By termination of the ABC algorithm, the schedule with minimum makespan obtained by the population is returned as the output.

Computational Experiments
This section presents the experiments conducted to investigate the performance of ABC and the other algorithms on RCPSP datasets in PSPLIB.We have used several problem instances which are successfully solved by an algorithm as a measure for performance comparison.This measure differs from the other measure so-called average deviation from the optimal solution used in literature for performance comparison.Hence, we need to implement the investigated meta-heuristic approaches.
To investigate the performance of our ABC-based algorithm 1 , we implement some of the most representative meta-heuristics for solving RCPSP problems in java: ant colony optimization (ACO) (Chen et al., (2006)), genetic algorithm (GA) (Hartmann, 1998), standard particle swarm optimization (PSO) (Zhang et al., 2005), PSO+ (Chen et al., 2010), OOP-GA (Montoya-Torres et al., 2010), GAPS (Mendes et al., 2009), ANGEL (Tseng & Chen, 2006), and ACOSS (Chen et al., 2010), Neurogenetic (Agrawal et al., 2010).The experiments were executed on a Core 2 Duo 1.66 GH Pentium.We have used well-known scheduling case studies from PSPLIB to evaluate performance of the algorithms.PSPLIB involves three case studies j30, j60, and j90 that consist of 480 problem instances with four resource types and 30, 60, and 90 activities, respectively.Also PSPLIB involve j120 case study that 1 The source code of ABC-based algorithm may be obtained by e-mailing to rakbari@cse.shirazu.ac.ir consists of 600 problem instances with four resource types and 120 activities.We have tested ten approaches under the following configurations.

Experimental Settings
In our experiments, each algorithm is configured under parameters values which result the best performance.In this section we specify these suitable parameter values.For the proposed ABC-based algorithm, parameters such as coefficients 1 ω and 2 ω , population size, number of iterations, and Max_Trial influence the performance of this algorithm.To determine the suitable parameter values, we conduct two experiments to study the effects of the ABC parameters while solving problem instances of the j30, j60, j90, and j120 case studies.Our empirical studies have shown that Max_Trial has not significant effect on the performance of our algorithm.Hence, we exclude it from our analysis.In the first experiment, the performance of the proposed algorithm is studied under different values of the coefficients 1 ω and 2 ω .These parameters vary from 0.6 to 1.4 with the step size of 0.2.
The population size and the iteration number are set to 100 and 50, respectively.Fig. 3 shows the effect of coefficients 1 ω and 2 ω on the performance of our algorithm.The vertical axis shows the number of problem instances which are successfully solved by our algorithm, and the horizontal axis shows the coefficient 2 ω .The results show that these two parameters have the positive effect on the performance of the algorithm.The best results are obtained for 8 .0 1 = ω and 2 . 1 2 = ω . Our empirical study have shown that the quality of the algorithm decreases when both the parameters are set to values larger than 1.4.Also, the quality of the algorithm decreases when 1 ω has a small value and 2 ω has a large vale.Hence, we recommend using the proposed algorithm under following configuration: We have conducted the second experiment to observe if the performance of our algorithm under fixed number of schedules is affected by the number of iterations or population size.Here, both the values of the population size and the number of iterations are varied from 10 to 250 subject to the following constraint: the number of produced schedules is fixed at 2500.The population size varies in steps of 10, and for each of them the corresponding number of iterations computed as . The first experiment shows that the best results are obtained for , hence we use these values.Table 1 shows the effect of population size and the number of iterations on the performance of our algorithm.The results show that the quality of our algorithm is relatively affected by these two parameters.The percentage of problem instances successfully solved by our algorithm varies in range of [78.13%, 78.75%], [66.20%, 67.29%], [64.80%, 65.42%], and [17.67%, 18.50%] for j30, j60, j90, and j120 case studies, respectively.The success rate implies that although one can obtain better result by fine tuning the number of iteration and size of the population, the rate of improvement is not significant under fixed number of schedules.Hence we can say that the proposed algorithm provides stability in solving RCPSP under fixed number of schedules.As a result, the parameters of the ABC algorithm are set as follows: For the ABC algorithm, the population is equally subdivided into the employed and onlooker bees and one individual is selected as scout bee.The parameter 1 ω and 2 ω are respectively set to 0.8 and 1.2.The value of Max_Trial is set to 5 manually.The population size is set at 100, and each case study was tested 15 trials.Other algorithms' parameters are set as follows: The parameters of ACO algorithm are set as: , and . For genetic algorithm, the mutation probability is set to 0.4, and two-point crossover is used.
For particle swarm optimization, the maximum and minimum values of inertia weight (i.e.max  The PSO+ is tested under the following configuration: the inertia weight w and the learning factors 1 c and 2 c are set to 0.7, and the parameters 0 q and ' q are set to 0.05 and 0.95, respectively.Two- point crossover is used for OOP-GA, and the crossover and the mutation probabilities are set to 0.7, and 0.1, respectively.For the GAPS, the following parameters are considered: the crossover probability is set to 0.7, the top 15% from the previous population chromosomes are copied to the next generation, and the bottom 20% of the population chromosomes are replaced with randomly generated chromosomes.The ACOSS method is tested based on the following control parameters: decay factor ρ is set to 0.02, the control parameters α , β are set to 1 and 2.5, respectively, and the pheromone trail limits are selected as the way reported by Chen et al. (2010).For the Neurogenetic method, the learning rate is set to 0.05, the weights are initialized at 1, two-point crossover is used for its GA part and mutation probability is set to 0.5.The number of interleaving is set to 5, the proportion of GA is taken as 90%, and the number of GA solutions to feed NN is used as four.For the ANGEL method, the parameters Loop_limit and Generation_limit are set to 3 and 5, respectively.Other parameters are set as: We have used two stopping criteria in our experiments.An algorithm stops if the founded solution is equal to the lower bound which the critical path calculated without resource constraints or if a predetermined number of maximum of iterations are reached.In our experiments, the results are obtained for 10, 50, and 500 iterations.

Comparative Study
The following experiments were conducted to see how many cases of PSPLIB library can be solved by the proposed algorithm.We say that a case study is solved if the algorithm finds optimal solution or lower bound solution for that case study.Tables 2-5 present the experimental results for the j30, j60, j90, and j120 case studies.Each cell of a table indicates the percentage of the problem instances which are successfully solved by an algorithm.Table 2 presents the results of our approach and the other meta-heuristics approaches for j30 case study after predetermined number of iterations.For this case study, the results show that ACOSS has better performance than other approaches.The ANGEL, Neurogentic, and ABC provide competitive results to ACOSS approach.The ABC approach obtains the third rank on j30 case study after 10, 50, and 500 iterations.Table 3 summarizes the results of our approach and the other meta-heuristics approaches for j60 cases study after predetermined number of iterations.The best results for the problem instances of this case study are found by ABC algorithm.From the results we can see that the performance of the algorithms decreases as the number of activities increases.Table 4 demonstrates the experimental results of all 480 instances for j90 cases study with 90 activities after 10, 50, and 500 iterations.The PSO+ approach surpass other algorithms for 10 and 50 iterations.The second rank was obtained by ABC approach for 10 and 50 iterations.However, similar to j60 case study, ABC approach outperforms other algorithms after 500 iterations.The last case study with 120 activities is the most difficult case study to solve.Table 5 summarizes the results of our approach and the other meta-heuristics approaches for this case study after predetermined number of iterations.The results show that the approaches have the least performance on this case study compared to other ones.The ABC approach provides schedules with better qualities for j120 case study.In our experiments, we used 2040 problem instances from four categories of case studies.To view the overall performance of the proposed algorithm, its ability in solving all the problem instances is considered.Fig. 4 presents the average percentage of the problem instances which are successfully solved by the algorithms after 10, 50, and 500 iterations.From the results, it can be seen that the proposed algorithm surpasses the PSO+, ANGEL, ACOSS, and Neurogenetic algorithms and successfully outperforms the other ones.
One property of the figure is that as the number of iterations increases the gap between performance of the proposed algorithm and the other ones increases too.In general, we can see that ABC algorithm provides an efficient way for solving RCPSP problems.The overall performance shows that ABC outperforms other meta-heuristics investigated in this paper.This happens due to the ability of ABC algorithm in providing better diversity throughout the execution of the algorithm.Providing appropriate level of diversity helps the algorithm to alleviate the deficiencies of meta-heuristic algorithm such as stagnation and premature convergence and consequently provide the ability to explore further regions of the search space to find better solutions.

Conclusions
In this paper we have considered the performance of the artificial bee colony meta-heuristic on resolving the single-mode resource constrained project scheduling problem.The ABC-based metaheuristic starts with a set of initial schedules and tries to improve them cycle by cycle by applying four-step strategy as described in the paper.We have evaluated the performance of ABC strategy on PSPLIB case studies against other meta-heuristics.Our experimental results prove that ABC provides an efficient way for solving RCPSP.Moreover, the better performance can be obtained using ABC strategy for large-sized case studies.The competitive results obtained by the ABC-based metaheuristic on solving RCPSP may encourage one to study alternatives for improving the performance of ABC-based approach as a newly emerged meta-heuristics.
. 1 (a)) where the nodes in the graph correspond to activities and the arcs specify precedence relationships.The graph represents a set

Fig. 1 .
Fig.1.An example for resource constrained project scheduling problem.The project comprising 6 activities that needs to be scheduled subject to 1 = K renewable resource type with a capacity of 4 units.(a) presents the precedence graph of the activities, and (b) presents the corresponding optimal schedule of the activities . The linear inertia weight is used here where the inertia weight linearly decreases from max w to min w throughout iterations.The particles are positioned randomly in range of [0,1] at initial time, and the initial velocity of each particle is set to 0. The acceleration coefficients 1 c and 2 c are set to 0.85.
Abbasi, B., with ro 146-1 Agarwal, A projec Akbari, R., numer Numer Ashtiani, B resour Journa Alatas B.(2 with A Blazewicz constr Boctor, F. schedu Boctor, F. constr 2335-Bouleimen, constr Opera Chen, R. M schem Applic Chen, R. M preced 297.Chen, R. M schem Applic Chen, W., S resour Damak, N., resour -2659 Debels, D., Constr Debels, D. /Electr Resear Fekete, S. P Notes Karaboga, D optimi 471. ABC (Population size, Scouts, Max_Trial, Prj) _______________________________________________________________________________ Evaluate new food source using serial-SGS If the new food source presents a schedule with smaller makespan Update the position If the food source has not been improved 1 ω Evaluate new food source using serial-SGS If the new food source presents a schedule with smaller makespan Update the position If the food source has not been improvedIncrement its Trial by 1 End For (Send Onlooker Bees) Calculate probabilities for each food source using equation (5) For i = 1 to FoodNumber Select a parameter d randomly Select Neighbor k from food sources based on equation (5) : the set of scheduled activities and the set s E of eligible activities (i.e.all activities for which all predecessors are scheduled).In each stage, serial-SGS select one eligible activity s E j ∈

Table 1
The effect of population size and number of iterations on the performance of the proposed ABC