Dynamic search control-based particle swarm optimization for project scheduling problems

Many machinery manufacturings are categorized as multi-mode resource-constrained project scheduling problems which have attracted significant interest in recent years. It has been shown that such problems are non-deterministic polynomial-time-hard. Particle swarm optimization is one of the most commonly used metaheuristic. Multi-mode resource-constrained project scheduling problems comprise two sub-problems, namely, an activity operating priority and an activity operating mode sub-problems; hence, two particle swarm optimizations are used to solve these two sub-problems. In solving the activity priority sub-problem, a designed global guidance ratio is involved to control the particle’s search behavior. Restated, guiding a diversification search at the beginning stage and conducting an intensification search at latter stage are controlled by adjusting the global guidance ratio. The particle swarm optimization combined with the global guidance ratio mechanism is named global guidance ratio–particle swarm optimization herein. Meanwhile, a non-fixed global guidance ratio adjustment is also suggested to further enhance the search performance. Moreover, different communication topologies for balancing the convergence of using global and local topologies are also suggested in global guidance ratio–particle swarm optimization to further improve the search efficiency. The performance of the proposed global guidance ratio–particle swarm optimization scheme is evaluated by solving all the multi-mode resource-constrained project scheduling problem instances in Project Scheduling Problem Library. It is shown that the scheduling solutions are in good agreement with those presented in the literatures. Hence, the effectiveness of the proposed global guidance ratio–particle swarm optimization scheme is confirmed.


Introduction
Scheduling problems are common throughout the business, production, and management fields. Of the various scheduling problems faced by enterprises, multimode resource-constrained project scheduling problems (MRCPSPs) are one of the most common, for example, many machinery manufacturings are categorized as MRCPSPs. The aim in solving an MRCPSP is to determine the optimal activity sequence and operation mode which minimizes the makespan while simultaneously satisfying all the constraints imposed on the activity precedence and resource allocation decisions. In other words, MRCPSPs comprise two sub-problems, namely, an activity precedence problem and an activity operating mode problem. The activity precedence problem involves determining the sequence in which the activities should be performed so as to minimize the makespan, while the activity operating mode problem involves determining the mode in which each activity should be performed. MRCPSP differs from the classical resource-constrained project scheduling problem (RCPSP) in that each activity can be executed in one of several different modes, where each mode varies in terms of both the resources required to execute the activity and the time required for activity completion. An MRCPSP is subject to two limitations, namely, precedence and resource. Furthermore, the resources may be either reusable (i.e. available in limited quantities during each time period) or non-reusable (i.e. limited for the entire project duration). Many studies have shown that MRCPSPs are non-deterministic polynomial-time (NP)-hard 1 and are thus not easily solved within a short period of time, particularly when the problem involves a large number of activities and/or resources. Therefore, while exact methods are available for obtaining optimal solutions for small-scale problems, metaheuristic algorithms are required as the scale and complexity of the problem increase. The literature contains many metaheuristic algorithms suitable for solving MRCPSPs, including ant colony optimization, 2 scatter search algorithms, 3 genetic algorithms, 4 particle swarm optimization (PSO), 5,6 bee colony optimization, 7 simulated annealing, 8 and evolutionary algorithms. 9 PSO, inspired by the social behavior of birds flocking or fish schooling, has been applied to a wide variety of problems in recent years, including traveling salesman problems (TSPs), 10 vehicle routing problems (VRPs), 11,12 RCPSPs, 13 and so on. PSO has very few parameters to adjust and tends to be both faster and cheaper than other optimization methods. As a result, it provides an attractive approach for solving MRCPSPs. As described above, an MRCPSP comprises an activity precedence problem and an activity operating mode problem. In this study, both problems are solved using PSO. However, the activity precedence problem is solved using the standard or conventional PSO method, while the activity operating mode problem is solved using the discrete PSO method.
When seeking optimal solutions in a large solution space, a search strategy which starts from a wide-scope search and then tends toward a smaller-scope search is required. Intrinsically, a PSO particle movement strategy driven by global experience facilitates a wide-scope search and enables rapid convergence to the local optimal search space. In contrast, a movement strategy driven by the individual experiences of the particles is more conducive to a smaller-scope search, but results in slower convergence to the global optimal solution. To ensure that the conventional and standard PSO algorithms converge stably to the global (rather than local) optimal solution, this study uses six different linear or non-linear global guidance ratio (GGR) mechanisms, and four different communication topologies (global, lbest, random-link, and group 14 ), to achieve a trade-off between the individual experience of the particles and the global experience of the swarm when updating the particle velocity during the PSO solution procedure. For convenience, the PSO methods combined with these GGR mechanisms are referred to as GGR-PSO schemes herein. The performance of the proposed GGR-PSO scheme is evaluated by solving all the MRCPSP cases in the Project Scheduling Problem Library (PSPLIB). 15 It is shown that the scheduling solutions obtained for each case are in good agreement with the optimal (or best) outcomes presented in the literature.
The remainder of this article is organized as follows. Section ''MRCPSP'' describes the MRCPSP scheduling problem considered in this study. Section ''PSO'' introduces the PSO algorithms used to solve the two MRCPSP sub-problems. Section ''GGR-PSO'' presents the proposed GGR-PSO schemes. Section ''Experimental results'' presents and discusses the experimental results. Finally, section ''Conclusion'' provides some brief concluding remarks.

MRCPSP
An MRCPSP involves both an activity precedence decision and an activity operating mode decision. Notably, each activity has different operating modes, and each mode incurs different amounts of time and resources. The aim in solving an MRCPSP is thus to determine the activity sequence and resource allocation which allows the project to be completed within the shortest possible time subject to the imposed resource constraints. An MRCPSP can be more formally defined as follows: 1. An MRCPSP comprises n physical activities and two virtual activities marking the beginning and end of the project, respectively. 2. Some of the activities in an MRCPSP involve precedence. That is, some activities cannot be executed until other activities have first been completed. 3. Each activity in an MRCPSP can be executed in multiple modes, that is, Mode j = {M 1 , M 2 , ., M j }, where M j denotes the number of possible operating modes for activity j. 4. The resources in an MRCPSP include both renewable resources and non-renewable resources. Renewable resources are available in limited quantities during each time period, whereas non-renewable resources are limited over the duration of the project. Suppose that there are k numbers of types of resource available for a project. In other words, R = {R 1 , R 2 , ., R k } denotes the total set of reusable resources available and R k denotes the aggregate amount of k-type resource available. The supply of reusable resources within each time unit is fixed. Therefore, during each time unit, the total amount of reusable resources needed to execute all the scheduled activities may not exceed the fixed aggregate amount of resources available. Similarly, assume that q numbers of non-reusable resources are available for the project. Thus, N = {N 1 , N 2 , ., N q } denotes the total set of non-reusable resources available and N q denotes the aggregate amount of q-type resource available. Throughout the project, the amount of non-reusable resources is fixed. Hence, the total amount of non-reusable resources applied cannot exceed the total amount of non-reusable resources available throughout the project. 5. In an MRCPSP, the amount of reusable and non-reusable resources needed varies in accordance with the operating mode assigned to each activity. Suppose that the set of reusable resources required to complete all the activities is denoted as fr 1 j, M j , . . . , r k j, M j g, in which r k j, M j is the amount of k-type resource required for the M j operating mode of activity j. Similarly, suppose that the set of non-reusable resources required to complete all the activities is denoted as fn 1 j, M j , . . . , n q j, M j g, in which n q j, M j is the amount of q-type resource needed for the M j operating mode of activity j. Thus, satisfaction of the reusable resource constraint can be represented as Similarly, satisfaction of the non-reusable resource constraint can be represented as P j2act n q j, M j N q .
6. Any scheduling solution which satisfies both the activity precedence constraint and the resource (reusable and non-reusable) constraint is said to be feasible, whereas any solution which fails to satisfy one (or both) of the constraint(s) is said to be infeasible.

PSO
In the GGR-PSO scheme proposed in this study, the activity priority problem is solved using the conventional or standard PSO method, while the activity operating mode problem is solved using the discrete PSO method. The details of the three PSO schemes are provided in the following sections.

Conventional PSO
PSO was first introduced by Kennedy and Eberhart 16 in 1995. In the PSO solution procedure, the position of each particle represents a potential solution to the problem of interest, and the particles move progressively through the solution space searching for the ideal position (i.e. the optimal solution). As shown in equation (1), the particle velocity used to determine the particle position in each iteration is updated in accordance with both the local experience of the particle and the global experience of the swarm. Suppose that the swarm comprises N particles located in D-dimensional space. The position of particle where X ij denotes the vector of particle i at position j. Furthermore, the velocity of particle i is given by In equation (1), w is an inertia weight parameter used to govern the extent to which the original velocity V old of the particle determines the new velocity V new . Conventionally, w is assigned a value of 0.8. Moreover, c 1 and c 2 are the learning factors used to control the effects of the local experience and global experience on the new velocity, respectively. Finally, r 1 and r 2 are the random numbers with values in the range of 0-1 and are used to govern the motion of the particles toward the local best experience position and global best experience position, respectively, during the search process.

Standard PSO
The standard PSO method was proposed by Bratton and Kennedy 17 in 2007 and includes a new parameter known as the constriction factor (x) to balance the effects of global exploration and local exploitation on the search process. Compared to the inertia weight parameter used in the conventional PSO scheme, the constriction factor improves the stability of the search process in the solution space. Velocity updating is performed in accordance with Chen and Shen where x is typically assigned a value of 0.72984.

Discrete PSO
The discrete PSO method was proposed by Kennedy and Eberhart 18 in 1997 and has been successfully applied to many optimization-type problems. In discrete PSO, the particle velocity is updated as The position vector (X ij ), individual best experience position vector (L ij ), and global best experience position (G j ) are expressed as either 0 or 1. Since r 1 and r 2 are real numbers with values between 0 and 1, the particle velocity is also a real number. Consequently, equation (1) cannot be applied to update the particle position. Eberhart and Kennedy reasoned that particles with a higher velocity V ij have a greater chance of having a position vector X ij equal to 1, while particles with a lower velocity V ij have a greater chance of having a position vector X ij equal to 0. Hence, having updated the particle velocity using equation (4), the new particle position, X ij , is determined as ) is a sigmoid function with the form shown in equation (5) and g is a random number between 0 and 1 To prevent S(V ij new ) from lying too close to 0 or 1, a parameter V max is applied to limit the range of the updated particle velocity (see equation (3)). V max is typically assigned a value of 6.0, that is, V has a value between 26 and 6.

GGR-PSO
Two different communication topologies are commonly used to determine the global best experience position G j in equations (1) and (2), namely, a global topology and a local topology. For convenience, the value of G j obtained using the global topology approach is denoted as gbest in this study, while that obtained using the local topology approach is denoted as lbest. In general, gbest tends to cause the PSO search process to converge prematurely to a local optimal solution. In contrast, lbest tends to slow the rate at which the search process converges. Accordingly, Chen 6 proposed a rand-link topology approach based on a ring topology and some additional random links. More specifically, for particle i, the rand-link topology combines the lbest topology (determined by X i + 1 , X i , X i21 ) and several randomly selected particles. In addition, Chen and Wu 14 presented a group topology based on the lbest topology and an additional grouping concept. Notably, the randlink topology and group topology both combine the respective advantages of the gbest and lbest paradigms.
Intrinsically, the global best experience G j and local best experience L ij guide the movement of the particles globally and locally, respectively. Restated, each particle's movement is self-guided or uni-directed by the particle's own experience (L ij ) or the swarm experience (G j ). Therefore, G j and L ij represent the characteristics of intensification guidance (smaller-scope) and diversification guidance (wide-scope), respectively. Intuitively, an ideal solution search strategy is one which starts from a wide-scope search and then tends toward a smaller-scope search. Hence, this study proposes a velocity update mechanism, designated as the GGR mechanism, which constrains the PSO search behavior from a wide-scope search toward a smaller-scope search as the search procedure continues by dynamically adjusting the relative effects of the individual best experience L ij and global experience G j , respectively, when updating the particle velocity in every iteration. More specifically, in each iteration, the GGR value is correlated with the global best guidance probability and updated using a curve function with an output value in the range of 0-1. The updated value of the GGR is then compared with a random value (rand) in the range of 0-1. If rand is greater than GGR, the particle velocity V ij new is updated in accordance with the individual best experience position L ij . Conversely, if rand is less than or equal to GGR, the particle velocity is updated in accordance with the global best experience position G j . In other words, the velocity update processes in the conventional and standard PSO schemes are performed in accordance with equations (6) and (7), respectively. For both schemes, the particle position is then updated using equation (8) Under the proposed scheme, each particle has a GGR probability of moving toward the global best experience probability and a (1 2 GGR) probability of moving toward the local best experience probability. Hence, in the initial stage of the search process, the particle motion is governed mainly by the best experience of the individual particles, and thus many diverse candidate solutions for the optimization problem are obtained. However, as the search procedure continues, the particle motion is constrained increasingly by the global best experience of the swarm, and hence the particles tend to converge toward the most promising region of the solution space. Notably, the GGR mechanism is applied only in the activity operating priority problem (i.e. only in the conventional or standard PSO method), not in the activity operating mode problem (i.e. the discrete PSO method).
In this study, the GGR value in each iteration is determined using six different curves, namely, a linear increasing curve, two Sugeno increasing curves, an S-increasing curve, a dual S-increasing curve, and a sigmoid increasing curve. Note that the non-linear curves are chosen as the reverse of six existing decreasing curve functions, namely, the Sugeno function, 19 S-decreasing curve function, 20 dual S-decreasing curve, and sigmoid decreasing curve. 21 The related curve functions are given as follows where iter is the number of iterations and iter max is the maximum number of iterations. Figure 1 presents a flowchart of the proposed GGR-PSO solution procedure.

Experimental results
The MRCPSP cases in PSPLIB comprise 10-30 jobs (activities) (denoted by J10, J12, J14, J16, J18, J20, and J30, respectively), where each activity has three different usable execution modes. Furthermore, each case has many different instances. Tables 1 and 2 show the precedence constraints and resource constraints, respectively, for one instance of the J12 case. In both tables, jobs 0 and 13 are pseudo jobs indicating the start and end of the project, respectively. Figure 2 illustrates the scheduling solution obtained by the proposed GGR-PSO scheme. (Note that the arrows represent the precedence relationships, and the labels N/M/T within each node represent the job number (N), execution mode (M), and finish time (T), respectively.) The performance of the proposed GGR-PSO scheme was evaluated initially by solving all the instances of three MRCPSPs in the PSPLIB, namely, J10 (536 instances), J20 (554 instances), and J30 (552 instances). The performance of the GGR-PSO scheme was then compared with that of other state-of-the art algorithms in the literature for the remaining MRCPSPs in PSPLIB. In implementing the proposed scheme, the learning factors in the velocity update equations were specified as c 1 = c 2 = 2.0, and the upper bound on the particle velocity in the discrete PSO scheme was set as V max = 6.0. In every experiment, the aim was to produce 5000 feasible solutions for each instance in order   0  1  3  1  2  3  1  3  3  7  8  9  2  3  2  9  1 1  3  3  3  4  5  6  4  3  2  1 0  1 2  5  3  3  7  10  11  6  3  3  7  8  9  7  3  1  1 2  8  3  2  1 0  1 1  9  3  1  1 2  10  3  1  13  11  3  1  13  12  3  1  13  13 1 0 to enable a fair comparison to be made with the solutions obtained using the existing schemes in the literature. As shown in Table 3, two GGR-PSO variants were applied in solving each MRCPSP problem (Case 1 and Case 2). For both cases, the activity mode subproblem was solved using the discrete PSO method. However, in Case 1, the activity priority sub-problem was solved using the conventional PSO scheme, while in Case 2, the activity priority sub-problem was solved using the standard PSO scheme. For both cases, the conventional/standard PSO schemes were implemented using the gbest, lbest, rand-link topology, and group topology. Finally, for both Case 1 and Case 2, the solution procedure was performed both without the GGR velocity update mechanism and with the GGR update mechanism based on six different linear and non-linear curve functions, respectively. The performance of each PSO optimization scheme was evaluated initially in terms of the deviation (Dev.BKS) of the obtained solutions for each class of MRCPSP from the best known solution (BKS), as defined in equation (14), in which best i is the BKS (makespan) for instance number i of the related class. The performance was further evaluated in terms of the percentage of instances for which the solution obtained by the PSO scheme was equal to the optimal solution (makespan) given in PSPLIB (see equation (15)). The optimal makespan for J10 and J20 is reported in PSPLIB. However, for J30, optimal solutions are not yet available for all the instances. Thus, an additional comparison criterion ''Incr.CP (%)'' was derived with the form shown in equation (16), in which CP denotes the critical path (rather than optimal makespan) of the corresponding instance Figures 3-5 show the OPT results of the two PSO schemes (Case 1 and Case 2) when applied to the J10, J20, and J30 MRCPSPs, respectively. Note that symbols Non, L, Su_20.7, Su_10, S, DS, and sigmoid denote non-GGR, linear increasing curve, Sugeno increasing (s = 20.7) curve, Sugeno increasing (s = 10) curve, S-increasing curve, dual S-increasing curve, and sigmoid curve, respectively. Note also that in Figure 3, the performance of the two PSO schemes for the J30  Non-GGR/GGR curves (linear increasing curve/ Sugeno increasing (s = 20.7) curve/Sugeno increasing (s = 10) curve/S-increasing curve/dual S-increasing curve/sigmoid curve) x: 1 PSO: particle swarm optimization; GGR: global guidance ratio.
instances is evaluated by comparing the PSO solution with the ''best'' rather than ''optimal'' reported solution in the literature. In general, the results show that the use of the GGR mechanism yields a better OPT performance than that obtained when the GGR mechanism is not applied. Furthermore, among the six curve functions used to compute the GGR value, the sigmoid curve yields the poorest PSO solution. (It is noted, however, that the solutions are still better than those obtained when the GGR mechanism is not applied.)   Comparing the remaining curve functions, the L, Su_20.7, S, and DS curves yield a better solution performance than the Su_10 and Sigmoid curves. Finally, for the cases with fewer activities (i.e. J10 and J20), the lbest topology results in the best solution performance. However, for a greater number of activities (i.e. J30), the group topology results in an improved solution performance. Tables 4 and 5 summarize the average OPT results obtained for cases J10, J20, and J30 when using the conventional PSO and standard PSO schemes, respectively, with the four different communication topologies and six different GGR curve functions. For the standard PSO algorithm, the L or DS curves with the group topology result in the best overall performance of the various schemes over all the considered instances, that is, an average OPT value of 86.30%. However, the OPT performance obtained using the L curve is better than that obtained using the DS curve for all the other topologies. Thus, in comparing the performance of the proposed GGR-PSO scheme with that of other stateof-the art MRCPSP algorithms presented in the literature, the activity operating priority problem was solved using the group topology mechanism and the linear increasing GGR update curve.
Tables 6 and 7 compare the performance of the proposed GGR-PSO scheme (group topology and linear increasing curve) for cases J10-J20 and J30, respectively, with that of other methods presented in the literature. (Note that the activity operating priority problem was solved using the standard PSO method.) The performance is evaluated over 5000 feasible solutions for each instance. The search performance of the proposed scheme relative to that of the existing methods can be evaluated using the metric shown in equation (17). Table 8 indicates the corresponding results. In average, this study is able to obtain the largest optimal solutions. As shown, the search performance of the proposed scheme is around 8.7% better than that of the existing algorithms when evaluated over cases J10-J20, and 12.91% better when evaluated over cases J10-J30 Improvement(%) = Avg:OPT(this work) À Avg:OPT (algorithm) In evaluating the complexity of the proposed method, consider an MRCPSP instance consisting of N activities, where each activity has M possible execution modes. The solution space for the MRCPSP instance therefore contains M N 3 N! possible solutions. In other words, the computational complexity is O (M N 3 N!). When simulating a median scale MRCPSP instance such as J18 (N = 18, M = 3), the time required to perform an exhaustive search is equal to 2.5 3 10 24 3 10 28 s, that is, 2.9 3 10 11 days (assuming a solution time of 0.01 ms (10 28 s) for each solution). In other words, solving the MRCPSP problem is extremely time-consuming. However, in this study, the solution procedure for each instance is terminated once 5000 feasible schedules have been obtained. The central processing unit (CPU) time required to obtain 5000 schedules for a typical J18 instance is approximately 0.74 s. According to Table  6, the proposed scheme finds more than 90% of the optimal solutions for the J18 case in 410 s. In other words, the PSO metaheuristic algorithm proposed in this study greatly reduces the computational complexity compared to that of exhaustive methods.   Overall, the results presented in Tables 6-8 show that the proposed GGR-PSO scheme based on the global topology communication paradigm and a linear increasing GGR function provides a highly effective and competitive method for solving MRCPSPs.

Conclusion
This study has proposed a PSO-based scheme designated as GGR-PSO for solving MRCPSPs. In the proposed method, the activity priority sub-problem is solved using the conventional or standard PSO scheme, while the activity operating mode sub-problem is solved using the discrete PSO method. Notably, to enhance the efficiency in solving the activity priority sub-problem, an adaptive GGR parameter is used to weight the effects of the local experience of the particles and the global experience of the swarm on the updated particle velocity in each iteration round. Through the use of the GGR parameter, the particles explore a diverse range of candidate solutions in the earlier stages of the solution search procedure, but converge toward the globally optimal solution in the later stages. Consequently, the robustness of the search procedure is improved. The performance of the proposed GGR-PSO scheme has been evaluated for four different communication topologies (gbest, lbest, rand-link, and group) and six different GGR computation schemes (linear increasing curve, Sugeno increasing (s = 20.7) curve, Sugeno increasing (s = 10) curve, S-increasing curve, dual Sincreasing curve, and sigmoid curve). Moreover, the group topology used to determine the global experience to balance the convergence of global topology and local topology is also suggested. The experimental results have shown that the optimal performance of the proposed GGR-PSO scheme is obtained using a group topology and the linear increasing curve. The validity of the proposed scheme has been demonstrated by solving the MRCPSP cases presented in PSPLIB. It has been shown that the scheduling solutions obtained using the algorithm proposed by Chiang et al. 2 are in slightly better agreement with the optimal solutions (J10 and J20) and best solutions (J30) in PSPLIB than those obtained using the proposed GGR-PSO scheme. However, for all the cases, the solutions obtained using the GGR-PSO scheme deviate less significantly from the BKS. Thus, it is inferred that the proposed GGR-PSO method provides an effective and robust technique for solving MRCPSPs.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.