Part III. Particle swarm optimization for hybrid flow-shop scheduling with multiprocessor tasks
3. Proposed PSO algorithm
In this section, we propose a PSO algorithm for the Fk Pm( 1,...,Pmk) | size |ij Cmax problem. Before presenting the algorithm, we introduce the PSO metaheuristic.
3.1 Background of PSO
PSO, inspired by the motion of a flock of birds searching for food, is developed by
Kennedy and Eberhart (1995) for optimization of continuous nonlinear functions. To find the optimal solution, each bird called particle adjusts its searching direction according to two factors, its own best previous experience (pbest) and the best experience of all other members (gbest). Shi and Eberhart (1998) named the former the cognition part and the latter the social part.
Mathematically, assume that the search space is D-dimensional and the population consists of N particles. Let p Xit =( ,xit1 xit2,...,xiDt ) , xidt ∈ , be particle i with D R dimensional space at iteration t. A position X has a rate of position change called velocity, it denoted as Vit =(v vit1, it2,...,viDt ), vidt ∈R. Let Pit = (pit1,pit2,...,piDt ) be the best solution that particle i has obtained until iteration t (called pbest), and Pgt =(ptg1,pgt2,...,ptgD) be the best solution obtained from P in the population at iteration t (called gbest). To search for it the optimal solution, each particle adjusts its velocity according to the cognition part and the social part as follows: random numbers uniformly distributed in U(0,1) , and w is the inertia weight. Equation (1) specifies that the velocity of a particle is determined by the previous velocity of the particle, the cognition part, and the social part. Each particle moves to a new position according to the following equation:
1
t t t
id id id
x+ =x +v (2)
The outline of a PSO algorithm is given as follows:
Step 1. (Initialization) Randomly generate initial particles.
Step 2. (Fitness) Evaluate the fitness of each particle in the population.
Step 3. (Update) Calculate the velocity of each particle by equation (1).
Step 4. (Construction) For each particle, move to the next position according to equation (2).
Step 5. (Termination) Stop the algorithm if a specified stopping criterion is satisfied; return to Step 2 otherwise.
3.2. Proposed PSO algorithm
We now develop a PSO algorithm for Fk Pm( 1,...,Pmk) | size |ij Cmax. The algorithm includes several features, such as encoding the particle as a vector of absolute position values, employing the best velocity equation and neighborhood topology from among several different alternatives, and incorporating a suitable local search scheme. Details are elaborated in what follows.
3.2.1. Encoding of particles
The proposed algorithm designs an “absolute position value” representation for the particle. We define particle i at iteration t as Xit =( ,x xit1 it2,...,xint ), xijt ∈I, where xijt represents the absolute position of job j for particle i. Thus, each particle i consists of a stream of integers implying a processing sequence πit.
3.2.2. Fitness of particles
We use the list scheduling (LS) algorithm presented by Oğuz and Ercan (2005) to obtain
the fitness value of a particle. For a given particle (sequence), the LS algorithm constructs the schedule by starting each job as soon as possible at each stage. As in Example 1 (see Section 2), jobs are assigned to the first stage according to sequence π =(1234567). At the second stage, jobs are processed as soon as possible based on the job completion times from the first stage. Clearly, the algorithm creates a semi-active schedule for a given sequence. Details of the LS algorithm can be found in Oğuz and Ercan (2005).
3.2.3 Update of velocity
For the scheduling problem, we define the velocity of particle i at iteration t as
1 2
( , ,..., ), ,
t t t t t
i i i in ij
V = v v v v ∈R where vijt is the movement for job j of particle i from the current position value to the next one at iteration t. The velocity updating step is to adjust the searching direction of particle. To guide the search out of local minima, different velocity equations and neighborhood topologies have been proposed in the literature. In this research, we examine several promising velocity equations and neighborhood topologies for the scheduling problem. Three of such velocity equations are described as follows.
(1) Standard formula (SF)
Equation (1) in Section 3.1 is a standard formula used in PSO. For the
1 max local neighborhood at iteration t, and other parameters are the same as in equation (1).
(2) Passive congregation (PC)
He et al. (2004) additionally introduce a social behavior of passive congregation to the velocity equation. The particle’s new velocity is updated by
1 is the passive congregation coefficient, and r is a random number uniformly distributed in 3 U(0,1) . He et al. (2004) indicate that each particle in an aggregation has a multitude of potential information from other particles that may minimize the chance of missed detection and incorrect interpretations. Such information should be added in the velocity calculation.
(3) Interrelated weights (IW)
Ho et al. (2005) point out that SF has difficulties in striking a balance between exploration and exploitation. They propose the following formula:
1 particle adjusts its velocity according to equation (1), and the weighting factors (c r and 1 1
c r ) between cognition part and social part are independently and randomly generated. Ho et 2 2
al. (2005) claim that weighting factors are not completely independent; as in human decision-making, if one prefers the personal experience (cognition part), the social experience (social part) will be ignored. Accordingly, Ho et al. (2005) use only one random number r 1 to control the two parts. Similarly, another random parameter r is introduced to balance the 2
global and local searches. To increase diversification, a parameter s is used to perturb the 3 inertia of particle.
Three selected neighborhood topologies are described as follows.
(1) gbest model
In a global best (gbest) model, the best solution Pgt is obtained from P in the entire it population (Eberhart and Kenned, 1995).
(2) lbest model
In a local best (lbest) model, the best solution Pgt is obtained from P in its local it neighborhood rather than in the entire population (Eberhart and Kennedy, 1995). As an illustration of neighborhood size ns 2= , Pgt is found by Pit−1, ,P Pit it+1. As pointed out by Eberhart and Kennedy (1995), the lbest model may offer more ability to jump from local minima.
(3) Time-delay model
Xiang et al. (2006) think that the stagnation of PSO is caused by the over-speed diffusion of newly found gbest, and hence they apply the concept of time-delay to gbest diffusion. Once a new gbest is discovered, it spreads over all other particles with certain time-delay. They propose four time-delay schemes. In a preliminary experiment with our scheduling problem, the results show that the following scheme performs best: If a random number is greater than 0.5, then the gbest of particle i is updated to the latest gbest; otherwise, the gbest of particle i is kept unchanged. It is worth noting that this best time-delay scheme is different from the best scheme in Xiang et al. (2006) because the addressed problems are different.
For all the above velocity calculations, a constant Vmax is used to limit the range of vijt. If vijt is smaller than −Vmax, then set vijt = −Vmax; if vijt is greater than +V , then set max
max.
t
vij = +V Also, we always use the absolute position values of X , it P , and it Pgt in the calculations. The following example illustrates how the new velocity is calculated by one of the equations.
3.2.4 Construction of particle
To construct a new particle, we define Xi*t =( ,xi*1t xi*2t,...,x*int), xij*t∈R, where x*tij represents the actual position for particle i of job j. The particle moves to the next position according to
xij* 1t+ =xij*t+vijt (6) The obtained actual position values need to be converted to a sequence. Based on the smallest
position value (SPV) rule presented by Bean (1994) and Tasgetiren et al. (2004b), the sequence can be yielded by a non-decreasing order of actual position values. It is noted that the new actual position values have to be recorded for the calculation of equation (6) at the next iteration. The following example illustrates the construction of particle by the SPV rule.
3.2.5 Local search scheme
In this section, we attempt to incorporate a local search scheme into the proposed PSO.
The local search scheme adopted in the algorithm is the reduced variable neighborhood search (RVNS; Mladenović and Hansen 1997, Hansen and Mladenović 2001). RVNS is the reduced
version of variable neighborhood search (VNS) that differs from most local search heuristics in that it uses two or more neighborhoods, instead of one, in its structure. It is based on the principle of systematic change of neighborhood during the search. Here, we select the insertion (IS) and interchange (IT) as the neighborhoods used in RVNS. IS contains all the schedules obtained by removing a job at the ith position and inserting it in the jth position (i≠ j). IT contains all the schedules obtained by swapping two jobs in the ith and jth positions (i≠ j). In the proposed PSO algorithm, RVNS is applied to the best one after each particle has completed a feasible solution and is carried out once for every fixed number of iterations. The basic idea of the incorporation is using the mechanism of PSO to lead the solution to a good region, and then improving it by RVNS.
4. Computational results
In this section, we first examine nine combinations of PSO with three velocity equations and three neighborhood topologies and choose the best combination to be used in the algorithm. Then, the developed PSO algorithm is compared with the existing algorithms for the same problem. Except for the large-size problems, the PSO without local search is selected for testing. All the PSO and GA algorithms were coded in Visual C++ and run on a Pentium IV 3.4 GHz PC.
The computational experiments were conducted on the benchmark problems given by Şerifoğlu and Ulusoy (2004). There are five different numbers of jobs (n=5, 10, 20, 50, 100) with four different numbers of stages (k=2, 5, 8, 10), where the processing time t and the ij number of machines required sizeij were drawn from uniform distributions U(1,100) and
U(1, )m , respectively. For each combination, 10 instances were generated for each of two i problem types, Type-A and Type-B. In Type-A problems the number of machines m at i stage i was drawn from a discrete uniform distribution U(1,5) , whereas in Type-B problems
m was fixed at 5. There are 400 instances in all, which can be downloaded from i
http://web.ntust.edu.tw/~ie/ index.html.
4.1 Evaluation of different PSO variants
To evaluate the three velocity equations and three neighborhood topologies, computational experiments were conducted on Type-A problems with 20 jobs. We solved all the 40 instances, each of which was tested for 10 trials. To determine suitable parameter settings, the following ranges of parameter values were tested (Shi and Eberhart 1998, Kennedy et al. 2001, He et al. 2004): Np =(20, 200), c1=(0.5, 4.0), c2 =(0.5, 4.0),
3 (0.5, 4.0),
c = w=(0.8,1.2), Vmax =(3, 20), ns (2,= Np/ 2). The initial populations were created randomly, the initial velocities are set to be zero, and the maximum number of iterations MaxIter 5 n= × . Based on the experimental results, the best settings of parameters are as follows: Np =200, c1=c2 =c3 =2, w=1, Vmax =4, ns 20.=
The percentage deviation (PD) in makespan is used as the performance measure, i.e., ( max )
PD 100
CA LB LB
= − ×
where CmaxA represents the makespan value generated by the respective algorithm A and LB represents the lower bound provided by Şerifoğlu and Ulusoy (2004). For each instance, the average PD (APD) of 10 trials is computed. A trial is stopped before the specified
Table 2. Comparison of different PSO variants for medium-size problems.
SF PC IW
gbest lbest time-delay gbest lbest time-delay gbest lbest time-delay
n k× Avg N CT Avg N CT Avg N CT Avg N CT Avg N CT Avg N CT Avg N CT Avg N CT Avg N CT 20×2 6.29 2 0.16 5.60 6 0.18 5.66 3 0.17 6.10 3 0.18 6.06 3 0.19 5.82 2 0.18 5.88 2 0.17 5.57 8 0.19 5.56 7 0.17 20×5 8.08 1 0.29 6.86 3 0.31 6.97 4 0.28 7.70 2 0.30 6.92 4 0.33 6.98 2 0.30 7.26 2 0.29 6.58 8 0.31 6.71 6 0.31 20×8 7.98 0 0.58 6.77 0 0.60 6.75 2 0.58 7.45 0 0.59 7.55 0 0.62 7.12 0 0.60 7.25 0 0.58 6.57 7 0.61 6.77 1 0.59 20×10 11.06 0 0.70 9.56 1 0.73 9.48 3 0.70 10.27 0 0.73 10.07 0 0.74 9.92 0 0.73 10.38 0 0.70 9.33 1 0.73 9.32 4 0.71 Mean 8.35 0.75 0.46 7.20 2.5 0.48 7.22 3 0.46 7.88 1.25 0.48 7.65 1.75 0.49 7.46 1 0.48 7.69 1 0.46 7.01 6 0.49 7.09 4.5 0.47
Table 3. Comparison of different PSO variants for large-size problems.
IW
lbest time-delay n k× Avg N CT Avg N CT 50×2 4.08 10 1.96 4.22 3 1.88 50×5 2.39 8 4.13 2.65 5 3.74 100×2 4.69 9 8.71 4.93 4 8.67 100×5 4.97 8 19.38 5.12 2 18.56 Mean 4.03 8.75 8.55 4.23 3.5 8.21
maximum number of iterations if the best objective function value equals LB. The results are given in Table 2, which gives the mean APD (Avg), number of times that the associated algorithm produces the best APD (N), and mean computation time (CT) in seconds.
It is observed from Table 2 that the PSO models with IW and lbest/time-delay yield solutions of superior quality, as against other solutions of PSO variants. The model with IW and lbest performs slightly better than the one with IW and time-delay. As a further comparison, additional tests were conducted on large-size problems. From Table 3, it is observed that the model with IW and lbest performs better, and thereby it is selected as the proposed algorithm.
4.2 Comparison with existing algorithms
To evaluate the PSO algorithm, experiments were conducted to make a comparison with two existing GA algorithms and an ACS algorithm based on the benchmark problem provided by Şerifoğlu and Ulusoy (2004). The three metaheuristic algorithms are the best-performing ones for the Fk Pm( 1,...,Pmk) | size |ij Cmax problem in the literature.
For small- and medium-size problems (n=5, 10, 20), there are 240 problem instances, each of which is tested for five trials. A trial is stopped before the specified maximum number of iterations if the best objective function value equals LB (same as in Şerifoğlu and Ulusoy 2004). A preliminary experiment shows that the same values of PSO parameters as in Section 4.1 are also suitable here. For each instance, the best PD (Best ) is obtained from the five PD trials. The results for both Types A and B problems are presented in Table 4, which give the mean Best (Best) and mean computation time (CT) in seconds for all the algorithms. The PD compared algorithms include GAŞU (Şerifoğlu and Ulusoy 2004), GAOE (Oğuz and Ercan 2005), ACS (Yin and Lin 2006), and PSO (proposed PSO without local search). Because GAOE was originally tested on different benchmark problems, we recoded GAOE in Visual C++ and provided its results on the same benchmark problem.
According to Table 4, we can observe that GAŞU is more efficient and effective than GAOE for small- and medium-size problems, taking into account of different computer environments. It is also observed that PSO outperforms all the other algorithms, even that ACS employs additional local search. It is worth mentioning that some ACS solution values are better than PSO for n=5,10. In fact, these values must be incorrect because the solutions of PSO for these small-size problem instances have been verified to be optimal by total enumeration.
Table 4. Comparison with other algorithms for small- and medium-size problems.
GAŞU GAOE ACS PSO
n k× Best CT* Best CT*** Best CT** Best CT***
Type-A Problems
5×2 9.26 0.50 9.26 0.27 9.35 0.26 9.26 0.01
5×5 25.71 0.82 25.71 0.52 24.67 0.44 25.71 0.02 5×8 26.30 1.00 26.30 0.68 25.77 0.57 26.30 0.03 5×10 24.14 1.16 24.14 0.82 24.32 0.68 24.14 0.04 10×2 2.88 0.46 2.88 0.29 2.91 0.53 2.88 0.05 10×5 10.45 1.12 10.45 1.17 10.28 1.26 10.45 0.09 10×8 19.01 1.76 19.73 2.13 18.51 2.25 19.01 0.14 10×10 13.68 2.08 14.42 2.35 13.46 2.70 13.68 0.16 20×2 5.46 1.20 5.72 1.01 5.63 2.71 5.40 0.19 20×5 6.17 1.80 6.50 2.43 6.19 4.71 6.04 0.31 20×8 5.89 3.60 6.82 5.05 5.93 9.51 5.76 0.60 20×10 8.79 4.26 9.45 5.37 8.20 11.73 8.23 0.73 Type-B Problems
5×2 24.89 0.62 24.89 0.34 24.58 0.28 24.89 0.02 5×5 40.20 0.92 40.20 0.59 38.42 0.43 40.20 0.03 5×8 32.42 1.20 32.42 0.88 29.62 0.58 32.42 0.04 5×10 34.56 1.42 34.56 1.03 33.41 0.67 34.56 0.05 10×2 12.75 0.88 12.75 0.57 13.19 0.91 12.75 0.06 10×5 19.58 1.58 19.58 1.25 18.93 1.59 19.58 0.12 10×8 33.92 2.20 34.88 2.07 33.57 2.33 33.92 0.19 10×10 30.75 2.64 31.89 3.00 30.34 2.83 30.75 0.23 20×2 6.17 1.50 6.26 1.25 5.99 3.03 6.05 0.25 20×5 12.62 3.04 14.21 3.20 12.87 6.37 12.33 0.54 20×8 25.20 4.58 26.94 6.18 25.17 9.95 24.98 0.84 20×10 30.22 5.60 33.42 6.71 30.97 12.17 30.11 1.02
* The mean computation time (in seconds) run on a Pentium III 1000 MHz PC presented by Şerifoğlu and Ulusoy (2004).
** The mean computation time (in seconds) run on a Pentium IV 1.5 GHz PC presented by Ying and Lin (2006).
*** The mean computation time (in seconds) run on a Pentium IV 3.4 GHz PC.
For large-size problems (n=50, 100), there are 160 problem instances, each of which is also tested for five trials. Both versions of the algorithms with and without local search will be evaluated. We first compare all the algorithms without local search. Some PSO parameter values are fine tuned as follows: Np =120, ns 50,= MaxIter 15 n= × . Table 5 summarizes the comparative results for both Types A and B problems. To have a fair comparison, we
Table 5. Performance of different algorithms without local search for large-size problems.
GAŞU GAOE PSO
n k× Best Avg Best Avg Best Avg CT
Type-A Problems
50×2 2.70 3.22 2.88 2.65 3.25 4.13 1.98
50×5 2.29 2.75 2.14 2.75 1.89 2.36 3.96
50×8 4.69 5.18 4.71 5.55 3.60 4.42 8.91
50×10 3.65 4.38 3.65 4.66 2.91 3.59 10.52 100×2 2.18 2.51 2.49 3.00 3.86 4.81 8.61 100×5 3.96 4.21 4.32 4.96 4.53 5.02 19.53 100×8 2.31 2.66 2.57 3.33 2.25 2.74 32.89 100×10 1.61 1.89 1.75 2.63 1.50 1.89 50.92 Type-B Problems
50×2 6.56 7.38 6.84 7.78 7.65 8.94 3.15 50×5 15.83 17.68 15.78 17.91 13.76 15.71 6.98 50×8 22.38 24.87 23.76 25.69 20.40 22.28 10.79 50×10 26.72 28.48 27.37 29.47 24.42 26.05 13.21 100×2 7.50 8.01 7.99 9.17 12.16 13.60 14.01 100×5 14.60 15.69 16.06 17.55 17.01 18.49 30.73 100×8 19.60 20.98 21.67 23.16 20.89 22.76 48.45 100×10 27.24 28.98 29.45 31.30 27.29 28.75 59.57
recoded GAŞU and GAOE in C++ and allowed their numbers of iterations to increase so as to achieve the same computation time as PSO. It is observed that GAŞU is still better than GAOE. Also, we observe that PSO performs best for 50×5, 50×8, and 50×10 problems while GAŞU
is the best for most 100-job problems.
Finally, we compare all the algorithms with their own designed local search schemes, i.e., ACS, GAŞU-2opt and PSO. Some PSO parameters are fine tuned for the incorporation of local search as follows: Np =100, c1 =c2 =2, w=1,Vmax = ns 50,4, = MaxIter 10= ×n. Also, the local search RVNS in PSO is applied to the best particle once for every 20 iterations, and it is implemented 7×n times within a search. The comparative results for both Types A and B problems are given in Table 6, which demonstrates that the PSO yields solutions of superior quality, as against the GAŞU-2opt and ACS solutions. In addition, the PSO requires much less computation time than the ACS.
5. Conclusions
The main contribution of this research is to provide a powerful metaheuristic, a PSO algorithm, for the scheduling of multiprocessor tasks in a multistage hybrid flow-shop with makespan minimization. The results have demonstrated that the PSO algorithm outperforms all the other metaheuristic algorithms such as GA and ACS for the problem. Specifically, we
Table 6. Performance of different algorithms with local search for large-size problems.
ACO GAŞU-LS PSO
n k× Best CT* Best Avg CT** Best Avg CT**
Type-A Problems
50×2 2.47 14.03 2.63 3.17 2.00 2.30 2.57 1.27 50×5 2.33 34.14 1.98 2.51 5.13 1.44 1.77 3.07 50×8 4.43 70.93 4.18 4.83 8.78 2.91 3.61 6.64 50×10 3.61 96.35 3.59 4.43 11.32 2.53 3.08 8.01 100×2 1.98 75.53 1.88 2.26 9.01 1.62 1.75 8.84 100×5 2.83 200.06 3.33 3.81 24.27 2.80 3.05 11.94 100×8 1.96 416.04 2.05 2.44 37.42 1.53 1.70 28.47 100×10 1.31 510.02 1.46 1.74 52.90 0.98 1.19 48.98 Type-B Problems
50×2 5.89 20.71 6.28 7.17 3.11 5.69 6.02 2.35 50×5 14.70 49.38 14.52 16.75 7.55 12.47 13.47 5.57 50×8 19.85 99.48 22.53 24.92 10.23 19.41 21.18 8.81 50×10 25.70 101.57 26.50 28.61 13.12 23.31 25.11 10.89 100×2 6.98 111.50 7.08 7.81 13.52 6.56 6.91 11.56 100×5 11.56 283.06 13.31 15.36 42.17 11.49 12.05 27.60 100×8 16.02 443.93 18.93 20.76 59.37 15.93 16.72 45.49 100×10 21.25 667.21 26.55 28.44 66.48 20.93 22.83 56.00
* The mean computation time run on a Pentium IV 1.5 GHz PC presented by Ying and Lin (2006)
** The mean computation time run on a Pentium IV 3.4 GHz PC.
have developed a new encoding scheme, which adopts an absolute position value representation, to deal with the scheduling problem. Next, we have implemented three velocity equations and three neighborhood topologies into the PSO algorithm. These variants of PSO are first applied to the scheduling problem. The comparative results could provide a guideline as to determining the best variant of PSO for the problem as well as other scheduling problems. Finally, we have provided an effective incorporation of local search into PSO.
In this research, we have successfully developed a PSO algorithm for the addressed scheduling problem. Future research may investigate the applications of PSO to other scheduling problems or design other versions of PSO to further pursue the best performance of PSO.
References
Allahverdi, A. and Al-Anzi, F.S., A PSO and a Tabu search heuristics for the assembly scheduling problem of the two-stage distributed database application. Computers and Operations Research, 2006, 33, 1056-1080.
Bean, J.C., Genetics and random keys for sequencing and optimization. ORSA Journal on Computing, 1994, 6, 154-160.
Błażewicz, J., Ecker, K.H., Pesch, E., Schmidt, G. and Weglarz, J., Scheduling Computer and Manufacturing Processes, 2nd Ed., 2001 (Springer-Verlag: Berlin).
Chen, J. and Lee, C.Y., General multiprocessor task scheduling. Naval Research Logistics, 1999, 46, 57-74.
Drozdowski, M., Scheduling multiprocessor tasks- an overview. European Journal of Operational Research, 1996, 94, 215-230.
Eberhart, R.C. and Kennedy, J., A new optimizer using particle swarm theory. in Proceedings of the Sixth International Symposium on Micromachine and Human Science, 1995, pp.
39-43.
Eberhart, R.C. and Shi, Y., Comparing inertia weights and constriction factors in particle swarm optimization. in Proceedings of Congress on Evolutionary Computing, 2000, pp.
84-88.
Guan, Y., Xiao, W.Q., Cheung, R.K. and Li, C.L., A multiprocessor task scheduling model for berth allocation: heuristic and worst-case analysis. Operations Research Letters, 2002, 30, 343-350.
Guinet, A., Solomon, M.M., Kedia, P.K. and Dussauchoy, A., A computational study of heuristics for two-stage flexible flowshop. International Journal of Production Research, 1996, 34, 1399-1415.
Gupta, J.N.D., Two stage, hybrid flowshop scheduling problem. Journal of the Operational Research Society, 1988, 39, 359-364.
Gupta, J.N.D. and Tunc, E.A., Schedules for a two-stage hybrid flowshop with parallel machines at the second stage. International Journal of Production Research, 1991, 29, 1489-1502.
Hansen, P. and Mladenović, N., Variable neighborhood search for the p-Median. Location Science, 1997, 5, 207-226.
Hansen, P. and Mladenović, N., Variable neighborhood search: principles and applications.
European Journal of Operational Research, 2001, 130, 449-467.
Haouari, H. and M’Hallah, R., Heuristic algorithms for the two-stage hybrid flowshop problem. Operations Research Letters, 1997, 21, 43-53.
He, S., Wu, Q.H., Wen, J.Y., Saunders, J.R. and Paton, R.C., A particle swarm optimizer with passive congregation. BioSystems, 2004, 78, 135-147.
Ho, S.L., Yang, S., Ni, G., Lo, E.W.C. and Wong, H.C., A particle swarm optimization-based method for multiobjective design optimizations. IEEE Transactions on Magnetics, 2005, 41, 1756-1759.
Kennedy, J. and Eberhart, R.C., Particle swarm optimization. in Proceedings of IEEE International Conference on Neural Networks, 1995, pp. 1942-1948.
Kennedy, J. and Eberhart, R.C., A discrete binary version of the particle swarm algorithm. in Proceedings of the World Multiconference on Systemics, Cybernetics and Informatics, 1997, pp. 4104-4109.
Kennedy, J., Eberhart, R.C. and Shi, Y., Swarm Intelligence, 2001 (Morgan Kaufmann: CA).
Krawczyk, H. and Kubale, M., An approximation algorithm for diagnostic test scheduling in multicomputer systems. IEEE Transaction on Computers, 1985, 34, 869-872.
Lee, C.Y., Lei, L. and Pinedo, M., Current trends in deterministic scheduling. Annals of Operations Research, 1997, 70, 1-41.
Liao, C.J., Tseng, C.T. and Luarn, P., A discrete version of particle swarm optimization for flowshop scheduling problems. Computers and Operations Research, 2007, 34,
3099-3111.
Lin, H.T. and Liao, C.J., A case study in a two-stage hybrid flow shop with setup time and dedicated machines. International Journal of Production Economics, 2003, 86, 133-143.
Linn, R. and Zhang, W., Hybrid flow shop scheduling: A survey. Computers and Industrial Engineering, 1999, 37, 57-61.
Mladenović, N. and Hansen, P., Variable neighborhood search. Computers and Operations Research, 1997, 24, 1097-1100.
Oğuz, C. and Ercan, M.F., Scheduling multiprocessor tasks in a two-stage flow-shop
Oğuz, C. and Ercan, M.F., Scheduling multiprocessor tasks in a two-stage flow-shop