A study on the performance of differential search algorithm for single mode resource constrained project scheduling problem

Article history: Received March 29, 2015 Received in revised format: May 12, 2015 Accepted May 12, 2015 Available online May 18 2015 Differential Search (DS) algorithm is a new meta-heuristic for solving real-valued numerical optimization. This paper introduces a new method based on DS for solving Resource Constrained Project Scheduling Problem (RCPSP). The RCPSP is aimed to schedule a set of activities at minimal duration subject to precedence constraints and the limited availability of resources. The proposed method is applied to PSPLIB case studies and its performance is evaluated in comparison with some of state of art methods. Experimental results show that the proposed method is effective. Also, it is among the best algorithms for solving RCPSP. Growing Science Ltd. All rights reserved. 5 © 201


Introduction
The resource constrained project scheduling problem (RCPSP) is an important problem in project management, manufacturing and resource optimization.The RCPSP occurs frequently in high scale projects management such as software development, construction of power plants, industrial projects, etc. (Hartmann & Kolisch, 2000;Kolisch & Hartmann, 2006).RCPSP can be separated in different classes such as single mode RCPSP and multi-mode RCPSP with non-regular objective functions, stochastic RCPSP, bin-packing-related RCPSP problems, and multi resource constrained project scheduling problem.A comprehensive study on different types of RCPSP has been presented by Yang et al. (2001).In single mode RCPSP, a project consisting of a set of activities with fixed durations and resource requirements is considered (Zeighami et al., 2013).In multi-mode RCPSP, each activity can be executed under different durations with renewable and non-renewable resources (Coelho & Vanhoucke, 2011).In stochastic RCPSP, activity durations are not deterministic because during the project implementation there may be a series of random factors affecting the duration of activities (Zheng et al., 2014).In RCPSP with non-regular objective functions, the goal is to minimize the activities' costs (Neumann & Zimmermann, 1999).In bin-packing-related RCPSP problems, the resource capacity represents the bin size, while a task's resource consumption requirement represents an item size (Kumar, 2014).In multi-resource-constrained project scheduling problems, a job may require a set of operations, or a set of successive resources (Kumar, 2014).
In this work, the basic single mode RCPSP is considered.This type of RCPSP is a difficult problem to solve.Limitation of resources and precedence constraint makes it difficult.The RCPSP consists of executing a group of activities limited by constraints.Processing every activity requires predefined amount of resources.Every project has its own precedence constraints, which means that each activity can be processed when all its predecessors are finished.Otherwise, an activity cannot start before the completion of all of its predecessors.In general, the purpose of project schedules is to minimize its completion time or makespan ( +1 ), subject to precedence and resource constraints (Kolisch & Hartmann, 2006).In recent years, different types of algorithms (e.g.exact, heuristics, and metaheuristics) have been proposed to solve single-mode RCPSP.A comprehensive survey on project scheduling under resource constraint has been presented in (Orji & Wei, 2013).Like other NP-hard problems, exact methods are no efficient in solving large-sized RCPSP problems.The exact methods are suitable for small-sized RCPSP problems.
To solve large-sized RCPSP, alternative methods are required and the meta-heuristic methods can be used (Hartmann & Kolisch, 2000;Kolisch & Hartmann, 2006;Kolisch & Hartmann, 1999;Kolisch & Padman, 2001).These methods have the ability to generate near-optimal solutions even for large-sized RCPSP problems.It is possible to categorize these methods in two classes.The first class includes methods that keep one solution during each iteration.For example tabu search (Baar et al., 1998) and simulated annealing (Bouleimen & Lecocq, 2003) set in this class.These methods start by single solution and try to improve the solution, iteration by iteration until the termination condition is met.The second class includes methods that keep a set of solution during each iteration and try to solve the problem with a population of individuals.In recent years, many population and swarm based optimization algorithms have been presented in literature that can be used to solve RCPSP.Most of representative methods in this field are based on genetic algorithms, particle swarm optimization and bee algorithms.Genetic algorithms have been used to solve RCPSP (Hartmann, 1998;Hartmann, 2002;Mendes et al., 2009;Ranjbar et al., 2008).These methods showed the efficiency in solving single mode RCPSP.A magnet based crossover operator was used by Zamani (2013) to improve the performance of genetic algorithm in solving RCPSP.Different variants of particle swarm optimization have been used to solve RCPSP (Jarboui et al., 2008;Luo et al. 2006;Zhang et al., 2008).Recently, a particle swarm optimization (PSO) based hyper-heuristic algorithm for solving RCPSP has been presented by Koulinas et al. (2014).The hyper-heuristic is aimed to work as an upper-level algorithm that controls several low-level heuristics which operates to the solution space.The multiple justification particle swarm optimization (MJPSO) using stacking justification for further improvement has been presented by Fahmy et al. (2014).A hybrid particle swarm optimization procedure to solve the preemptive RCPSP in which a maximum of one interruption per activity is allowed has been presented by Shou et al. (2015).A pseudo PSO (P-PSO) has been introduced by Nasiri (2012) to cope with the complexity of scheduling problem.In P-PSO, particles use the path relinking procedure to fly toward local and global best positions.The improved PSO presented by Jia and Seo (2013) uses particle swarm and employs a double justification and an operator for particle movement along with rank-priority-based representation, greedy random search, and serial scheduling scheme.
Three variants of bee algorithms called Bees Algorithm (BA), Artificial Bee Colony (ABC), and Bee Swarm Optimization (BSO) have been used to solve RCPSP (Ziarati et al., 2011;Akbari et al., 2012).Also, the facility layout problem (FLP) concept and integration with the permutation-based artificial bee colony (PABC) algorithm has been used by Jia and Seo (2013) for RCPSP.Beyond the methods considered in above paragraphs, other meta-heuristic methods have been used to solve RCPSP.An Activity-List based Nested Partitions (ANLP) algorithm for solving RCPSP was presented by Xiao et al. (2014).This method partitions the feasible solution space which is formulated by activity-lists into sub-regions by the nested partitions approach.Ant colony optimization (Merkle et al., 2002) is another swarm-based optimization algorithm used to solve RCPSP.Firefly algorithm is known as another meta-heuristic methods which has been used by Sanaei et al. (2013) for scheduling problems.Generally, different types of meta-heuristics have been used to solve this type of RCPSP.DS is one of the most recently introduced meta-heuristics by Pinar Civicioglu (2012) to solve optimization problems.DS is based on simulation of Brownian-like random-walk movement used by an organism to migrate.The DS has been designed based on the superorganism migration.Using the migration aliving being such as superorganism can find food, protection, in new fertile position.Amount of fertility can be used to inspire an algorithm from the behaviors of superorganism migration.It seems that DS has the ability to solve complex engineering problems.This work is aimed to study the performance of DS algorithm in solving RCPSP problems.
The remaining of this paper is organized as follows: the problem formulation is given in Section 2. In Section 3, the basic concepts of DS algorithm is presented.Section 4 presents the details of the proposed method for solving RCPSP problems.The experimental results are given in Section 5. Finally, section 6 concludes this work.

Problem formulation
The single mode resource constrained project scheduling is a type of constrained optimization problems that can be defined as follows: Assume that we have a project  which is shown as a directed acyclic Graph  = (, ) where  represents a set of activities of the project which are represented by nodes and  shows the precedence relationships among the activities which are represented by edges of the graph.As an example, a project with nine activities is shown in Fig. 1.We assume that the project has  + 1 activities and  renewable resource type  = { 1 ,  2 , … ,   } where   is the finite capacity of resource type . = { 0 ,  1 ,  2 , … ,  +1 } is a set of  + 1 activities. 0 and  +1 are dummy activities (e.g.activities  0 and  10 in Figure 1).They specify start and end of the project.When all activities are processed, the project is completed.Each activity   has fixed duration   . = { 0 ,  1 ,  2 , … ,  +1 } is a set of durations.For dummy activities  0 and  +1 , duration is zero ( 0 =  +1 = 0).Each activity   requires   units of resource   during each period of its execution (Kolisch & Hartmann, 1999).The time and resource requirements of each activity in Figure 1 is given in Table 1.Here, we assume that each activity needs only one resource  1 with 7 instances.

Fig. 1. A project with nine activities
Dummy activities do not require any resources ( 0 =  +1, = 0 where  ∈ {1,2,3, … , }).Precedence between activities (edges in Graph) are represented by .Set of pairs such as �  ,   � ∈  means that activity   precedes activity   .  is finished before   is started.Considering the precedence limitation, we assume that  = { 0 ,  1 , … ,  +1 } is a feasible schedule where   is the start time of activity   .The objective is to find an ordering of the activities that minimizes the makespan of the schedule  +1 under resource and precedence constraints.The problem can be modeled as: The resource limitation constraint is describe as: where () = { ∈ |  ≤  ≤   +   } and  is the specified time.Set  presents all the activities in time  that can be processed.These activities were started but they were not finished.Precedence limitation can be described as: According to this equation, if   precedes activity   then   starts when   is completely executed.
For given example, the minimum makespan is 11.

Table 1
The time and resource requirements of activities in Fig. 1 Activity

Differential Search Algorithm
Differential Search Algorithm is a new and effective evolutionary algorithm which was inspired by migration of superorganisms utilizing the concept of Brownian-like random-walk motion (Civicioglu, 2012).In DS algorithm, it is assumed that random solution of the population is matching to the artificial-superorganism migration to optimum solution of the problem.During the movement, artificial-superorganism examines whether some randomly selected area are desirable and it is a fertile area.If the selected area during the migration is temporarily a good choice to stop over, the members of the artificial-superorganism decide to stay at this area.They repeatedly continue their movement from this area to find more suitable areas.Pseudo-code of DS algorithm is given in Appendix A. In this Pseudo-code,  represents number of organisms in the superorganism and  is the size of the respective problem.Artificial-organisms are shown by   =  , ( ∈ {1,2,3, … }   ∈ {1,2,3, … }) and artificial-superorganism is shown by   = [  ] ( ∈ {1,2,3, … , }).An artificial-superorganism contains  artificial-organisms as its elements.Artificial-organisms have members where each member is shown by  , ( ∈ {1,2,3, … , }) and each  , is initially defined by: Randomly selected individuals of the artificial-organisms move in the direction of the targets of  = [ _ℎ() ] in order to find stopover sites._ℎ is a function that randomly changes the order of the numbers of the members in the set of  = {1,2,3, . . ., }.Considering the DS Pseudo-code, scale variable (which is defined as )) controls the size of the change occurred in the positions of the members of the artificial-organisms.   that is a gamma random number generator and standard random function together make scale value.This is made that an artificial-superorganism direction is changed in the habitat.Members of the artificial-organisms take part in stopover site search by a random search.Lines 8-29 from the DS Pseudo-code show this matter.Stopover site is generated using the following equation: In Lines 31-33, the stopover site is controlled to remain in determined search space range.In DS algorithm, the stopover site found by the search process is evaluated and if the new discovered stopover site of an artificial-organism has better quality than the current sources of that artificial-organism, it goes to that stopover site.While the artificial-organisms of a superorganism change site, that respective superorganism continues its movement in the direction of the global optimum.

DS algorithm for RCPSP
This section presents the proposed DS algorithm for solving RCPSP problem in details.Considering the performance of the DS in optimization problems, it seems that the method could be effective to solve RCPSP problems.The flowchart of the proposed method is presented in Fig. 2.
According to Fig. 2, DS for the RCPSP has four phases: 1) Input, 2) Initialization, 3) Update, 4) Terminate.The Input phase receives triples (, , ) as input and transfer them to the initialization phase.The second phase places the organisms on the search space randomly using Eq. ( 4).In Initialization and Update phases, each artificial organism represents a schedule for the RCPSP problem.
If the problem has  activities, the artificialorganism will migrate in the search space with  dimensions.A position is represented as a priority list  � ⃗ ( 1 ,  2 , … ,   ) where each element of this list fixedly represents an activity and its corresponding value shows the priority of that activity (Akbari et al., 2012).Based on this representation, the position vector   = ( 1 ,  2 , … ,   ) of artificial organism i represents the priority values of N activities.The lower and upper bounds of each priority value are set at 0 and 1, respectively.The priority values smaller than 0 are set to 0 and the priority values larger than 1 are set to 1 (Ziarati et al., 2011).
The third phase receives the initial solutions as input and iteratively updates these solution until the termination condition is met.The solutions are based on the behavior of superorganism and its members.The member of an artificial-superorganism controls its migration by considering the amount of fertility of targets.Members of superorganism migrate to more fertile locations by considering the fertile intensity that associated with that location.

Fig. 2. Flowchart of the proposed method
Naturally, the fertile locations represent better solutions.The method needs to evaluate the fitness of the solutions proposed by each of the artificial organism.To evaluate the fitness, amount of fertility of area should be determined.For this purpose, the method needs to generate the schedule from the priority list.The stopover site is considered as the makespan of the schedule which is presented by an artificialorganism.Hence, we need to use a schedule generation scheme (SGS) such as Serial-SGS or Parallel-SGS (Kolisch, 1996).In this work both of the SGS methods are considered.For this purpose, a random number in range of [0,1] is generated in order to select the SGS which is used by the algorithm Next, the positions of the artificial organisms are updated using the migration pattern of the standard DS and a permutation method.The proposed method uses the permutation-based representation which was first introduced by Hong et al. (2005).After calculating the new position of the artificial organism , the permutation process is used by the algorithm to permute this new solution.Each of the artificial organisms  represents feasible activity lists and their corresponding priority lists.The priority list of the artificial organisms  is updated and a new priority list will be obtained.After that a random list is generated (Ziarati et al., 2011).Then, each priority value of the artificial organism  is compared with its corresponding value in the random vector.If the random value is smaller than its corresponding priority value, then the corresponding activity will be swapped with its neighbor.After swapping the priority values and their corresponding activities, the obtained activity list is examined against the constraints according to Eq. ( 1) and Eq. ( 2).If the constraints satisfaction is violated, the infeasible activity list is resolved to the feasible one.After moving to the new position, the fertile intensity of the new artificial organism is evaluated.If the better fertile site is obtained, the position of the artificial organism is updated.This comparison is accomplished for each artificial organisms.After the comparison, the artificial organisms are ranked based on the amount of fertility of their stopover site and the best solution found is updated.The fourth phase terminates the search process after the maximum number of generation  is reached.It should be noted that the input parmeter  is set in such a way that the maximum number of schedules defined in the experiment are produced.After termination, the best schedule (i.e. the schedule with minimum makespan) which is found by DS algorithm is returned as output.It seems that the proposed method is capable to solve RCPSP problem efficiently.The specifications of sample project described in Fig. 1 and Table 1 is given to the DS algorithm.The proposed algorithm has the ability to solve this problem successfully.The obtained result by DS algorithm is given in Fig. 3.As it can be seen, the minimum makespan for this project is given by DS methods under resource and precedence constraints in Table 1 and Fig. 1.

Experiments
This section presents the performance of the proposed DS method on the single mode test cases in PSPLIB library (Project Scheduling Problem Library) in terms of success rate and the deviation from the optimal solution.The performance of the proposed method is considered under the following configurations.Two types of experiments are conducted: the first experiments study the effect of SGS and the second experiments show the comparative performance.
The population size (N) is set at 30.Different number of schedules are used here as the termination condition of the DS method.The numbers of schedules are set at 1000, 5000, and 50000 to evaluate the effect of SGS and 1000, and 5000 for the comparison study.The success rates of the DS method are obtained over the j30, j60, and j120 case studies from the PSPLIB.Similarly, for the comparison study, j30, j60, and j120 are used.For both of the experiments, the average results of 10 independent runs are reported.
cases "-" sign is used to show the unavailability of the results.The results show that the proposed method obtains the first rank after 1000 schedule generations and obtains the fourth rank after 5000 schedule generation.DS method has the best success rates after 1000 and 5000 schedules.It seems that the proposed method has competitive performance and produce comparable results in comparison with the other methods.
The performance of the proposed DS method over the j60 case study after 1000 and 5000 schedule generation is given in Table 5. Due to the larger number of activities in this case study, the proposed method and the other ones have more difficulty to solve.The success rates decrease compared to J30 case study as well as the algorithms have more deviation.The second rank is obtained by the proposed DS method after 1000 schedule generation.However, the proposed method surpass the other methods after 5000 schedule generation.The investigated method has more difficulty in solving j120 case study and their performance decrease drastically.Table 6 shows the results obtained over the j120 case study.
The results show that the DS algorithm had good and competitive performance compared with other methods.The first and the second rank is obtained by the proposed method after 1000 and 5000 schedule generation, respectively.The best success rates after 1000 and 5000 schedules are obtained by DS algorithm.

Conclusion and future works
In recent years, different types of meta-heuristics have been presented by researchers to cope with complex problems.Differential Search Algorithm which is one of the most recently introduced methods of this type which was originally proposed for solving real-valued numerical optimization problems.In this work a new method based on DS for solving resource-constrained project scheduling problem was proposed.The proposed method gives a set of initial schedules and tries to improve them using the migration behavior of the superorganism.For this purpose, the DS method is adapted to obtain an arrangement of the activities which results the best schedule.The comparative study of the well-known PSPLIB benchmarks showed that the proposed DS algorithm had the ability to produce competitive results compared to the other metaheuristic methods.In addition, the proposed DS method has high efficiency in solving RCPSP problems.It seems that this method has high potential to incorporate different types of heuristics, local search, and constraint handling approaches, etc. in order to improve its performances.Also, hybridization of the DS method with other heuristic or meta-heuristics may provide a way to improve their efficiency.
schedule.If the random number is larger than 0.5, the Parallel-SGS is selected else the Serial-SGS is selected.The Serial-Parallel SGS provides the ability for DS algorithm to use advantage of both scheme.The Serial-Parallel SGS module in Fig.2performs this task.

Fig. 3 .
Fig. 3.The scheduling obtained by DS algorithm for sample given in Fig. 1

Table 5
Average deviation and success rates over J60

Table 5
Average deviation and success rates over J120