A combinatorial particle swarm optimization for solving multi-mode resource-constrained project scheduling problems

https://doi.org/10.1016/j.amc.2007.04.096Get rights and content

Abstract

The particle swarm optimization (PSO) has been widely used to solve continuous problems. The discrete problems have just begun to be also solved by the discrete PSO. However, the combinatorial problems remain a prohibitive area to the PSO mainly in case of integer values. In this paper, we propose a combinatorial PSO (CPSO) algorithm that we take up challenge to use in order to solve a multi-mode resource-constrained project scheduling problem (MRCPSP). The results that have been obtained using a standard set of instances, after extensive experiments, prove to be very competitive in terms of number of problems solved to optimality. By comparing average deviations and percentages of optima found, our CPSO algorithm outperforms the simulated annealing algorithm and it is close to the PSO algorithm.

Introduction

Resource-constrained project scheduling problems (RCPSP) involve assigning jobs or tasks to a resource or set of resources with limited capacity, in order to meet some predefined objective. Many different objectives are possible and they depend on the goals of the decision maker, but the most common of them is to find the minimum makespan, i.e. the minimum time to complete the entire project. Thereby, technological precedence constraints have to be observed as well as limitations of the renewable resources required to accomplish the activities. Once started, an activity may not be interrupted. Consequently, we have a more realistic model which is the resource-constrained project scheduling problem with multiple execution modes.

The multi-mode resource-constrained project scheduling problem (MRCPSP) is a NP-hard problem which has been widely studied in the literature. The activities of a project not only have to be scheduled in order to minimize the project makespan but also they are subject to precedence constraints and limited availability of the resources. Moreover, each activity can be performed in one out of several modes, which consists in a different combination of resource requirements and duration (Elmaghraby [1]).

Several different techniques have been proposed to solve this problem. However, as shown by Sprecher [2] and Sprecher and Drexl [3], exact methods are unable to find optimal solutions for projects with more than 20 activities and three modes per activity when they are highly resource-constrained. Heuristic methods have become the alternative, and the last generation of them, the metaheuristics, are being successfully applied to this problem. Hence, in practice, heuristic algorithms to generate near-optimal schedules for larger projects are of special interest.

Several heuristic procedures for solving the MRCPSP have been proposed in the literature: Drexl and Grünewald [4] suggested a regret-based biased random sampling approach. Slowinski et al. [5] described a single-pass approach, a multi-pass approach, and a simulated annealing algorithm. Kolisch and Drexl [6] presented a local search procedure.

Özdamar [7] proposed a genetic algorithm based on a priority rule encoding. Bouleimen and Lecocq [8] suggested a simulated annealing heuristic. Sprecher and Drexl [3] developed a branch-and-bound procedure which is, according to the results obtained by Hartmann and Drexl [9], the currently most powerful algorithm for exactly solving the MRCPSP. Sprecher and Drexl [3] suggested using it as a heuristic by imposing a time limit. Finally, Boctor [10], [11] presented heuristics for multi-mode problems without non-renewable resources.

PSO simulates the behaviours of bird flocking. Suppose the following scenario: a group of birds are randomly searching for food in an area. There is only one piece of food in the area being searched. All of birds do not know where the food is. But they know how far the food is in each iteration. So what is the best strategy to find the food? The effective one is to follow the bird that is nearest to the food.

PSO developers learned from this scenario and used it to solve the optimization problems. In PSO, each single solution is a “bird” in the search space. We call it “particle”. All the particles have fitness values that are evaluated by the fitness function to be optimized, and have velocities that direct the flying of the particles. The particles fly through the problem space by following the current optimum particles. A new application of PSO for solving combinatorial optimization problems has been developed, such as single machine total weighted tardiness problems by Tasgetiren et al. [12], permutation flowshop scheduling problem by Tasgetiren et al. [13] and Liao et al. [14]. Salman et al. [15] have already solved the task assignment problem by the discrete particle swarm optimization but they have just rounded off the values. Zhang et al. [16] provided an alternative methodology to solve the MRCPSP by utilizing the features of PSO. The results of this PSO algorithm will be used to validate our results.

In this paper, we take up a challenge to apply a new combinatorial particle swarm optimization (CPSO) algorithm to solve a large variety of combinatorial optimization problems, namely the multi-mode resource-constrained project scheduling problem using integer values.

The remainder of the paper is organized as follows. Section 2 describes the MRCPSP problem. Section 3 defines the classical PSO algorithm. Section 4 focuses on the proposed combinatorial PSO (CPSO). In Section 5, we adapt our combinatorial PSO to the MRCPSP problem. In Section 6, we describe how the local search optimization can optimize the sequences associated to particles. Experimental results and comparisons are reported in Section 7. Finally, Section 8 concludes the paper.

Section snippets

Problem description

In a multi-mode RCPSP (MRCPSP), given the estimated work content for an activity, a set of allowable execution modes can be specified for the activity execution. Each mode is characterized by a processing time and amount of a particular resource type for completing the activity. For example, one worker might finish a job in 10 h (mode 1), whereas two workers might finish the same activity in 5 h (mode 2). The product of the duration of the activity and the amount of the resource type needed is

PSO algorithm

PSO introduced by Kennedy and Eberhart [17] is one of the most recent and hopeful evolutionary metaheuristics, which is inspired from the swarming behaviour of animals and human social behaviour.

Scientists found that the synchrony of animal’s behaviour was through maintaining optimal distances between individual members and their neighbours. Thus, velocity plays the important role of adjusting each other for the optimal distance. Furthermore, scientists simulated the scenario in which birds

Proposed combinatorial PSO (CPSO)

In this paper, we propose an extension of PSO algorithm to solve the combinatorial optimization problem with integer values.

Combinatorial PSO essentially differs from the original (or continuous) PSO in some characteristics.

CPSO algorithm for solving MRCPSP

As we can see, the MRCPSP consists of two different sub-problems: the assignment of modes to tasks and then the scheduling of these tasks in order to minimize the makespan of the project.

The combinatorial PSO will deal with the first problem to generate an assignment of modes to activities which is called particle. A local search will optimize the sequences when a new assignment is made.

In this section, we take advantage of the CPSO to solve the MRCPSP. Clearly, the discrete particle needs to

Local search optimization

Starting from an arbitrary initial solution, this method seeks to obtain better solutions, by carrying out series of local modifications, which leads to a monotone decrease of the objective function. This procedure permits the scheduling of tasks in order to optimize the sequence associated to each particle. The initial sequence associated to each particle at time 0 is randomly generated. In fact, to each task j we assign the following probability pj:pj=succjjJsuccj,where succj is the number

Implementation and experimental results

The proposed CPSO algorithm for the MRCPSP problem was implemented in C++ programming language on Dell desktop PC with Intel Pentium 4 and 3.2 GHz processors.

In 2003, Bouleimen and Lecocq [8] and more recently, in 2006, Zhang et al. [16] have solved the MRCPSP with the simulated annealing algorithm and the PSO algorithm respectively, implemented on Pentium 100 MHz processors. To make a fair comparison with their results, we must compute our CPU time with respect to our processor capacity. Since

Conclusion

To conclude, we recall that, in this work, we investigated the multi-mode resource-constrained project scheduling problem. Since our problem is NP-Hard and composed of more than 20 tasks, we have adopted the particle swarm optimization (PSO) to solve it, our objective was the minimization of the makespan. For this purpose, we have proposed a combinatorial particle swarm optimization, that we have called CPSO. This procedure has been fruitful in the assignment of different modes to the

References (18)

There are more references available in the full text version of this article.

Cited by (286)

View all citing articles on Scopus
View full text