Abstract

This paper presents a shuffled frog leaping algorithm (SFLA) for the single-mode resource-constrained project scheduling problem where activities can be divided into equant units and interrupted during processing. Each activity consumes 0–3 types of resources which are renewable and temporarily not available due to resource vacations in each period. The presence of scarce resources and precedence relations between activities makes project scheduling a difficult and important task in project management. A recent popular metaheuristic shuffled frog leaping algorithm, which is enlightened by the predatory habit of frog group in a small pond, is adopted to investigate the project makespan improvement on Patterson benchmark sets which is composed of different small and medium size projects. Computational results demonstrate the effectiveness and efficiency of SFLA in reducing project makespan and minimizing activity splitting number within an average CPU runtime, 0.521 second. This paper exposes all the scheduling sequences for each project and shows that of the 23 best known solutions have been improved.

1. Introduction

Project scheduling problem (PSP), arising from a construction project of a bridge in 1950s, is a classical optimization problem. It is one of the most challenging problems in the field of scheduling and combinatorial optimization. Many real-world scheduling problems such as course scheduling, sports timetabling, railway and airline scheduling, software development, construction engineering problem, and maritime disaster rescue problem can be categorized as project scheduling problem [14]. As a generalization of job shop scheduling problem, PSP, especially with constrained renewable and nonrenewable resources, is known to be strongly NP-hard [5, 6]. PSP’s objective, which is single or multiple, can be characterized by makespan minimization, deadline satisfaction, total cost minimization, and so forth. Activities can be preemptive or not. Resources can be unconstrained, renewable, and nonrenewable. The project can be single or multiple with one or more executive modes.

For traditional PSP, critical path method (CPM) and program evaluation and review technique (PERT) were developed by assuming unlimited resources. However, in real-life circumstances, only a fixed amount of resources is available and the cost of acquiring additional resources is very high [7, 8]. Therefore the resource-constrained project scheduling problem (RCPSP), which is NP-hard, began to receive more and more attention afterwards. RCPSP belongs to the scheduling of activities of a project to minimize the total duration under the precedence relations and renewable resources (materials, machines, or manpower). Nowadays, even if there are many extensions and variations of RCPSP such as multiproject problem, multimode problem, and tardiness punishment problem, they can be easily handled by adding dummy activities (starting node and ending node) for multiproject problem or by slightly modifying those solving methods for traditional RCPSP [9].

In the early age, most researchers and practitioners used to utilize exact methods for solving the RCPSP. These methods include zero-one programming, dynamic programming, implicit enumeration, and cutting plane method. Since the RCPSP is NP-hard, most of the proposed exact methods can only handle problems with at most 60 activities and slight resource constraints [5].

Since the exact methods had some limitations, people invented heuristics to solve optimization problems for acceptable solutions [1012]. Yan et al. [13] proposed a heuristic algorithm and tested it with 21–50 activities problem. Golenko-Ginzburg and Gonik [14] adopted a heuristic for network project scheduling with random activity durations. Chtourou and Haouari [15] hired a two-stage-priority-rule-based algorithm for RCPSP. Vanhoucke [16] proposed a fast tracking method for RCPSP with preemptive activities. Xu et al. [17] developed an algorithm based on resource push-pull technology for multiproject RCPSP. Krüger and Scholl [18] programmed a heuristic for RCPSP with multiple projects. Kolisch [19] used efficient priority rules for RCPSP. Valls et al. [20] presented a critical activity reordering heuristic for RCPSP.

Compared with heuristics, metaheuristic could reach better solutions within acceptable runtime. Gonçalves et al. [9] proposed a genetic algorithm (GA) for scheduling problem with multiple projects. Mendes et al. [21] adopted a random key-based GA for the RCPSP. Zhang et al. [7] solved a 25-activity project with particle swarm optimization (PSO) and compared PSO with GA to prove its superiority without presenting the runtime. Pan et al. [22] studied Patterson sets-based RCPSP via a Tabu search (TS) algorithm. Yamashita et al. [23] adopted scatter search (SS) for project scheduling with resource availability cost and proved the effect of SS by 20- and 30-activity project. Mobini et al. [5] used an artificial immune algorithm for RCPSP. Agarwal et al. [6] proposed a neurogenetic algorithm for RCPSP. Lova et al. [24] solved multimode RCPSP with hybrid genetic algorithm. Kim et al. [25] employed a hybrid genetic algorithm for multiproject RCPSP. Chen et al. [26] used hybrid ant colony optimization (ACO) and SS for RCPSP. Ranjbar [27] solved the RCPSP with filter-and-fan approach. Deng et al. [28] presented a hybrid ACO for RCPSP considering preemptive assumption but they did not show the runtime for each case. Through mapping the solution space to quantum space, Huang [29] solved RCPSP without presenting the runtime. Peteghem and Vanhoucke [30] considered the preemptive multimode RCPSP with a genetic algorithm. Pan and Jiao [8] presented a multiagent social evolutionary algorithm for RCPSP. Ying et al. [31] designed a hybrid genetic algorithm for RCPSP with multiple projects. Montoya-Torres et al. [32] and Valls et al. [33] implemented different genetic algorithms for RCPSP. Bouleimen and Lecocq [34] and Elloumi and Fortemps [35] invented a simulated annealing and a hybrid rank-based evolutionary algorithm, respectively, for RCPSP with multiple modes. Al-Fawzan and Haouari [36] resorted to a tabu search for biobjective RCPSP.

Since it is of no significance to comment on all the papers related to the RCPSP, readers can refer to some survey papers for more details. Hartmann and Briskorn [37] fully summed up variants and extensions of the RCPSP. Fang and Wang [38] showed a survey paper to conclude the RCPSP in Chinese. Kolisch and Padman [39] finished a survey of deterministic project scheduling problems in 2001. Ballestín and Blanco [40] presented theoretical and practical fundamentals for RCPSP with multiple objectives. Herroelen and Leus [41] pointed out the research potentials for PSP under uncertainty. Wglarz et al. [42] surveyed PSP with finite or infinite number of activity processing modes.

This paper addresses the single project RCPSP with preemptive activities (RCPSP_PA). This problem is firstly proposed by Buddhakulsomsiri and Kim [43] in 2006 and thereafter Buddhakulsomsiri and Kim [44] designed a heuristic for it. Afterwards, GAs, ACO, and particle swarm optimization (PSO) were adopted as solving tools [28, 30, 45, 46]. To date, only several papers focused on preemptive-activity-based RCPSP. Shuffled frog leaping algorithm (SFLA), proposed by Eusuff and Lansey [47], is a population-based novel and effective metaheuristics computing method, which received increasing focuses from academic and engineering optimization fields in recent years. Since SFLA is a combination of memetic algorithm (MA) with strong local search (LS) ability and particle swarm optimization (PSO) with good global search (GS) capability, it is of strong optimum-searching power and easy to be implemented [4853]. We adopted SFLA as a solving tool and proved SFLA’s efficiency and effectiveness by 110-case Patterson set.

This paper is organized as follows. Section 2 is presenting the problem description. Section 3 shows some basic knowledge on SFLA. Section 4 is dedicated to SFLA for RCPSP. Section 5 presents the experimental computation, and Section 6 sums up the paper.

2. Problem Description

The RCPSP can be presented by an activity-on-node network. A project consists of activities numbered with and renewable resources numbered with . A constant amount of units of resource is available in each time unit. The duration of an activity is denoted by (without losing generality, it is an integer in this paper). We set , since in common sense two dummy activity nodes 0 and , which consume no resources, are added as start and end. The immediate precedence set of an activity is denoted by indicating that activity cannot be processed before all activities in are completed. is the immediate successor set of activity . is the set of those processed activities. indicates the set of those activities without precedence. is the finishing time of activity . is the consumption amount of activity on each resource. is the set of on-processing activities in a certain time unit .

A schedule is a feasible arrangement of activities (such as for a 8-activity project) under the resource and precedence constraints. The objective of the RCPSP is to find a feasible schedule that minimizes the project makespan. Mathematical model can be formulated as follows [19, 28]:

The object function minimizes the makespan of the project. The precedence relations of two activities () ( is an immediate predecessor of ) can not be destroyed as shown in constraint (2). Constraint (3) limits the resource consumption amount within each time unit.

3. Shuffled Frog Leaping Algorithm (SFLA)

SFLA is a recently popular metaheuristic based on the memetic evolution of a group of frogs when seeking for the location that has the maximum amount of available food. Proposed in 2003, SFLA is the combination of the merits of memetic algorithm (MA) and PSO. In SFLA, the population consists of a group of frogs (solutions) that is partitioned into subsets (memeplexes). Different memeplexes, each performs a local search, are considered as different cultures (memes) of frogs. Examples of memes are songs, ideas, catch phrases, clothes fashions, and ways of making pots or of building arches. Frogs in each memeplex experience a memetic evolution; that is, they conduct local exploration of solution space according to specific strategies which allow the transference of meme among local individuals. After a predefined number of memetic evolution steps, information is passed between memeplexes in a shuffling process. The local exploration and the shuffling process are carried out alternatively until the defined convergence criterion is satisfied [54].

The SFLA is described as follows: assume that the initial population is formed by randomly generated frogs. For -dimensional problems ( variables), a frog is represented as . Afterwards, the frogs are sorted in a descending order according to their fitness. Then, the entire population is divided into memeplexes, each containing frogs (i.e., ). In this process, the first frog goes to the first memeplex, the second frog goes to the second memeplex, frog goes to the th memeplex, frog goes back to the first memeplex, and so forth [53].

Within each memeplex, the frogs with the best and the worst fitness are denoted by and . The frog with the global best fitness is identified as . Here, a process similar to PSO is applied to improve (not all frogs) in each small group. The adjusting measure is as follows: where is a random number between 0 and 1. is the maximum change in a frog’s position. If a better solution is produced, it replaces the worst frog ; otherwise, the calculations in (4) and (5) are repeated by replacing with in (4). If no improvement is achieved under this situation, then a new solution is randomly generated to replace . Then the memeplex is reordered and renewed within local search times and thereafter all the memeplexes are shuffled together to exchange information and reallocated for next search process. The flowchart of SFLA can be given in Figure 1 [51].

4. SFLA for RCPSP with Preemptive Activities (RCPSP_PA_SFLA)

It is easy to tell that SFLA is an algorithm especially for continuous optimization problem. Since RCPSP is a discrete optimization problem, SFLA is adjusted by integrating crossover and interchange operations analogous to GA. The flowchart of RCPSP_PA_SFLA is shown in Figure 2.

4.1. Problem Encoding

Based on the precedence relationship, the problem is encoded as a scheduling sequence of activities, that is, is a feasible schedule for a 13-activity project with nonpreemptive activities with 3 resources (each is 6 units) as shown in Figure 3. In Figure 3(a), the numbers below an activity are resource consuming volumes and the number above an activity is the processing time.

However, for RCPSP with preemptive activities, activities are torn up into small pieces and arranged as early as possible to shorten the makespan and minimize the splitting times. For a network in Figure 3(a), an optimal schedule is with the corresponding Gantt chart shown in Figure 4. Comparing Figures 3(b) and 4, the makespan improvement is 2 time units.

4.2. Problem Decoding

With a feasible schedule, a Gantt chart can be constructed to calculate the makespan (objective function value). Activity , which is allowed to be splitted into at most parts, can be preempted at any integer time unit and restarted later on at no additional cost [45].

Suppose is the starting time of the th part of activity , and and are the earliest starting time and the latest finishing time. and are presenting the scheduled activity set and the no-immediate-predecessor activity set. Then the decoding procedure for a feasible schedule can be summarized in Algorithm 1.

Step  1. Initialize, set ( (including two dummy nodes), ), , ;
Step  2. If and go to Step  3; else Stop;
Step  3. Choose the th element in ;
Step  4. Set , if ; else ES(q(j)) = 0;
Step  5. Set and ;
Step  6. Set ;
Step  7. If then go to Step  6; else go to
  Step  8;
Step  8. , go to Step  2.

4.3. Feasible Schedule Generation

A feasible solution is generated mainly depending on the precedence relationship. The generation method is given out in Algorithm 2.

Step  1. Initialize, , clear ;
Step  2. If , go to Step  3, else Stop and output ;
Step  3. Construct , ;
Step  4. Choose randomly an activity from , ; go to Step  2.

4.4. Crossover Operation

The crossover operation is executed by combining the former part of a schedule with the latter part of another schedule to produce a new schedule according to a randomly selected position (Pos). To keep the newly generated schedule as a feasible one, those corresponding activities in to the former part of are eliminated and the rest of the activities, maintaining the original order, are stuck together as the latter part of . Figure 5 shows how a new schedule is generated by crossover with within a memeplex.

4.5. Repair Strategy

When an infeasible schedule is produced especially by interchange operation, a repair procedure is adopted to keep feasibility. The interchange operation is executed by choosing randomly two interchange positions ( and ) and then interchanging two activities’ position. After this execution, a repair mechanism is adopted as shown in Algorithm 3. Figure 6 presents a case-based description.

Step  1. Initialize, ;
Step  2. From = position 1 to , update and ;
Step  3. ;
Step  4. From to , if is not in , search from to until ;
Step  5. put in and from to put ;
Step  6. add to and update ;
Step  7. , if , Stop; else go to Step  4.

4.6. Interchange Operation

As stated in $4.5, interchange operation is a swap procedure of two activities in different positions of a schedule. The interchange operation can be depicted in Algorithm 4.

Step  1. Generate randomly two position and ;
Step  2. If:
    swapping two activities and without producing infeasible schedule, go to Step  3;
  Else:
    execute the Repair strategy.
Step  3. interchange two activities’ positions.

4.7. Stopping Criteria

The maximum iteration times are taken as the stopping rule in this paper.

5. Experimental Results

In this section, the performance of RCPSP_PA_SFLA described in the previous section is evaluated on a standard benchmark set—Patterson set. The set contains 110 cases with 5–49 nondummy activities and 1–3 renewable resources. All the optimal solutions (under nonpreemptive scenario) of Patterson set are known. Figure 7 shows 4 networks from Patterson set.

After a pretest, the population size is 100; the size of a memeplex is 10; the iteration times within a memeplex are 5; the maximum iteration times are 2000. For each case, 50 executions are performed to appraise the results.

The simulation work is conducted on a laptop with a dual 2.4 GHz CPU, 1 G RAM, and Window XP operating system. The algorithm is coded in C program language and compiled in MS.Visual C++ 6.0. The computational results are listed in Tables 15. Here, No. is the number of case and Opt. is the known optimum for nonpreemptive RCPSP. Best, average, and worst represent the best achieved solution, the average value of all 50 executions, and the worst achieved solution, respectively. P.R.B.S(%), A.Runtime(s), and B.A.Ps show percentage of optima reached by RCPSP_PA_SFLA, the average runtime for each case, and the best arrangement of activities differently. Those bolded numbers are solutions better than the optimum.

From the simulation work, we can conclude that SFLA, which achieved 23 improved solutions within an average runtime of 0.521 second, no less than 60 percent success rate and low deviation for 110 cases, is an efficient and effective choice for RCPSP with preemptive activities. The preemptive scenario can help shorten the total makespan of a project. Since no any special improving mechanisms are integrated into SFLA, the improvement space of this algorithm is still very big.

6. Conclusion

In this paper, we presented a shuffled frog leaping algorithm for preemptive project scheduling problems. Through an extensive test on the proposed algorithm with the well-known Paterson benchmark set, we can conclude that SFLA is among the best algorithms for project scheduling problems. With the preemptive assumption, the traditional project scheduling problems could be further improved. The future research could focus on taking into account the changeable resources and the integration with other optimization problems such as vehicle routing problem or supplier selection problem.

Acknowledgments

This research is supported by Natural Science Foundation of China (nos. 71301147, 71202140, 71302051, and 71301148), Humanities and Social Sciences Project of Ministry of Education of China (nos. 12YJCZH065 and 10YJC630009), Postdoctorial Foundation of China (nos. 2012M511620, 2011M501210, and 2012T50651), and the Science and Technology Project of Zhejiang Province (no. 2012C25078).