Using Bees Algorithm to Solve the Resource Constrained Project ...

4 downloads 5962 Views 213KB Size Report
The same need led to the introduction of concepts such as project, project control and resource constrained project scheduling. In the field of operations ...
Using Bees Algorithm to Solve the Resource Constrained Project Scheduling Problem in PSPLIB Amir Sadeghi1,*, Abolfazl Kalanaki2, Azadeh Noktehdan3, Azamdokht Safi Samghabadi1,**, and Farnaz Barzinpour 4,*** 1

Dept. of Industrial Engineering, Tehran Payame Noor University, Tehran, Iran 2 Faculty of Management, University Of Tehran, Tehran, Iran 3 Dept. of Industrial Engineering, Amirkabir University of Technology, Tehran, Iran 4 Dept. of Industrial Engineering, Iran University of Science and Technology, Tehran, Iran [email protected]

Abstract. Today, trade globalization caused optimum use of resources to become a vital factor for surviving in the global arena. The same need led to the introduction of concepts such as project, project control and resource constrained project scheduling. In the field of operations research and project management, project scheduling with resource constraints is of great importance. Most of the contributions made to this field can be attributed to two main factors. First, based on different conditions for objective function, characteristics of activities, resources and priority rules, the form of the problem tends to vary too much. Second, this kind of problem is of Np-Hard nature for which researchers are always trying to find new solutions. In this paper, Bees Algorithm is proposed as an approach to solve this kind of problem. Results obtained from deploying this algorithm are compared to those of other algorithms, and it is shown that Bees algorithm is a suitable one to solve RCPSP. Keywords: Bees Algorithm, Project Scheduling, Resource Constraint, RCPSP.

1 Introduction As an Np-Hard problem, project scheduling with resource constraints is an important area of interest for researchers in the field of operations research and project management [1]. In such problems, every project includes a number of activities. And related to these are a number of resources, each defined to have a limited capacity to serve in every period of time. Depending on the Decision Maker’s goals, a variety of objectives could be set, while “finding minimum makespan” is the most common. Exact methods available for solving this problem mainly consist of a large number of variables and constraints. Therefore their efficiency dramatically decreases as the dimensions of practical problems increases. Two groups of methods for solving this *

Corresponding author. Assistant Professor .Ph.D, Payame Noor University, Iran. *** Assistant Professor .Ph.D, University of Science and Technology, Iran. **

Q. Zhou (Ed.): ICTMF 2011, CCIS 164, pp. 486–494, 2011. © Springer-Verlag Berlin Heidelberg 2011

Using Bees Algorithm to Solve the Resource Constrained Project Scheduling Problem

487

problem can be identified: 1) methods in which activities are organized based on some priority rules, and then selected each time. The main weakness of these methods is their lack of demonstrating a general rule for organizing activities. However, desirability of solution is related to network of project activities. In other words, if there exists an optimal solution for a given rule in a specific problem, then its success may not last forever. 2)Metaheuristic methods that start from several solutions. Many heuristic or priority-rule based approaches have been proposed for this problem [2, 3].In multi-priority rule methods a different priority rule is used at each iteration [4.5]. Sampling methods are used by Drexl [5], Schirmer [6]. Genetic algorithms have been applied in Leon and Rama- moorthy [7], Hartmann [8], Alcaraz and Maroto [9], Valls et al. [10].Bouleimen and Lecocq [11] have applied simulated annealing. Tabu search based metaheuristics are proposed by Pinson et al. [12], Nonobe and Ibaraki [13] proposed an ant-colony approach to the RCPSP. Colak et al. [14] proposed a neural-network based technique. For instance, we can point to Stoylar and Kotchetov [15] which a tabu search with variable neighborhood is formed to solve this problem Lecocq and Bouleiem [16] used simulated annealing algorithm and Debleses et al [17] used scatter search. Genetic algorithm is also used by Alcaraz et al and Hartmann [8, 18]. In this paper we propose Bees algorithm (BA) to tackle the RCPSP with makespan minimization as the objective function. When applied to other combinatorial problems, BA has shown inspiring results so far, [19] and since RCPSP is an important problem, we employ the idea of this algorithm and incorporate it in a metaheuristic framework and then applying it to such problems. The main prospected contribution of our work is proposing a new algorithm with [new] operators integrated into it which lead us to develop an appropriate metaheuristic algorithm to solve RCPSP.The rest of this paper is organized as follows: The Bees algorithm is described in Section 2. The RCPSP is explained in Section 3 and the proposed algorithm is described in Section 4. Computational experiments are presented in Section 5. Section 6 includes the overall conclusions.

2 Bees Algorithm Bees are social insects that are capable of solving complex problems. The best evidence for this argument is the process of producing nectar which is an advanced organized process. Rather than finding a new flower, every bee prefers to follow the path in which a pervious bee associated to the same hive has already traveled [20]. Lucic and Teodorovic [21] were the first persons to use simple and basic method for solving combination problems. They introduce bees system (BS) and use it for known issue of Traveling Salesman Problem (TSP). The Bees Algorithm is based on algorithm of quest that was developed in 2005 [19]. This algorithm is an optimization algorithm inspired by the natural foraging behavior of honey bees to find the optimal solution. In early version of this algorithm, it did a kind of local search that was combined with random search and so it could be used for combined optimization where we want to optimize several variables or perform functional optimization. In order to exploit food resources, a colony of bees

488

A. Sadeghi et al.

can spread in different directions. Floral parts with plenty of nectar and pollen may be selected. It is visited by plenty of bees. The less the nectar of a land part, the fewer the number of bees attracted to it will be. The foraging process begins in a colony by scout bees being sent to search for promising flower patches. Scout bees move randomly from one patch to another. During the harvesting season, a colony continues its exploration, keeping a percentage of the population as scout bees. When they return to the hive, those scout bees that found a patch which is rated above a certain quality threshold deposit their nectar or pollen and go to the "dance floor" to perform a dance known as the "waggle dance". This mysterious dance is essential for colony communication, and contains three pieces of information regarding a flower patch: the direction in which it will be found, its distance from the hive and its quality rating. This information helps the colony to send its bees to flower patches precisely, without using guides or maps. Each individual's knowledge of the outside environment is gleaned solely from the waggle dance. After waggle dancing on the dance floor, the dancer goes back to the flower patch with follower bees that were waiting inside the hive. More follower bees are sent to more promising patches. This allows the colony to gather food quickly and efficiently. While harvesting from a patch, the bees monitor its food level. This is necessary to decide upon the next waggle dance when they return to the hive. If the patch is still good enough as a food source, then it will be advertised in the waggle dance and more bees will be recruited to that source [19].The algorithm requires a number of parameters to be set, namely: m = number of sites selected out of n visited sites e = number of best sites out of m selected sites nep = number of bees recruited for best e sites m-e = number of bees recruited for the other

n = number of scout bees nsp = selected sites ngh = initial size of patches

In step 1, the algorithm starts with n scout bees randomly distributed in the search space. The fitness of the sites visited by the scout bees are evaluated in step 2. The algorithm includes site and its neighborhood and stopping criterion. The algorithm starts with the n scout bees being placed randomly in the search space. The fitnesses of the sites visited by the scout bees are evaluated in step 2. In step 4, bees that have the highest fitnesses are chosen as "selected bees" and sites visited by them are chosen for neighborhood search. Then, in steps 5 and 6, the algorithm conducts searches in the neighborhood of the selected sites, assigning more bees to search near to the best e sites. Alternatively, the fitness values are used to determine the probability of the bees being selected. Searches in the neighborhood of the best e sites which represent more promising solutions are made more detailed by recruiting more bees to follow them than the other selected bees. Together with scouting, this differential recruitment is a key operation of the Bees Algorithm. However, in step 6, for each patch only the bee with the highest fitness will be selected to form the next bee population. In nature, there is no such a restriction. This restriction is introduced here to reduce the number of points to be explored. In step 7, the remaining bees in the population are assigned randomly around the search space

Using Bees Algorithm to Solve the Resource Constrained Project Scheduling Problem

489

scouting for new potential solutions. These steps are repeated until a stopping criterion is met. At the end of each iteration, the colony will have two parts to its new population - representatives from each selected patch and other scout bees assigned to conduct random searches [19].

3 The Resource Constrained Project Scheduling (RCPSP) Suppose that a project is defined based on AON network as G (V, E) where V is a collection of whole nodes that represent activities. E is the arc set that specifies priority rule as FS (finish to start). N is the number of activities in the project, I = (1,…,N) is the collection of all activities, and Π is the collection of all defined permutations on I. Every permutation of π ε Π is defined as an array of N vectors; π(1), π(2), ...., π(N). The 1st and Nth activities are dummy start and end activities of the project with zero duration. The activities should be non preemptive in basic model of RCPSP. Duration, time of start and time of end of each activity are denoted by d i (1

Suggest Documents