A PSO and a Tabu search heuristics for the ... - Semantic Scholar

4 downloads 4556 Views 269KB Size Report
problem of the two-stage distributed database application ... The two-stage assembly scheduling problem has many applications in industry. Potts et al.
Computers & Operations Research 33 (2006) 1056 – 1080 www.elsevier.com/locate/cor

A PSO and a Tabu search heuristics for the assembly scheduling problem of the two-stage distributed database application Ali Allahverdia,∗ , Fawaz S. Al-Anzib a Department of Industrial and Management Systems Engineering, Kuwait University, P.O. Box 5969, Safat, Kuwait b Department of Computer Engineering, Kuwait University, P.O. Box 5969, Safat, Kuwait

Abstract The assembly flowshop scheduling problem has been addressed recently in the literature. There are many problems that can be modeled as assembly flowshop scheduling problems including queries scheduling on distributed database systems and computer manufacturing. The problem has been addressed with respect to either makespan or total completion time criterion in the literature. In this paper, we address the problem with respect to a due date-based performance measure, i.e., maximum lateness. We formulate the problem and obtain a dominance relation. Moreover, we propose three heuristics for the problem: particle swarm optimization (PSO), Tabu search, and EDD. PSO has been used in the areas of function optimization, artificial neural network training, and fuzzy system control in the literature. In this paper, we show how it can be used for scheduling problems. We have conducted extensive computational experiments to compare the three heuristics along with a random solution. The computational analysis indicates that Tabu outperforms the others for the case when the due dates range is relatively wide. It also indicates that the PSO significantly outperforms the others for difficult problems, i.e., tight due dates. Moreover, for difficult problems, the developed dominance relation helps reduce error by 65%. 䉷 2004 Elsevier Ltd. All rights reserved. Keywords: Assembly flowshop; Distributed database system; Scheduling; Maximum lateness; Particle swarm optimization; Tabu search; Heuristic

∗ Corresponding author. Fax: 965 481 6137.

E-mail addresses: [email protected] (A. Allahverdi), [email protected] (F.S. Al-Anzi). 0305-0548/$ - see front matter 䉷 2004 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2004.09.002

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

1057

1. Introduction In an assembly flowshop scheduling problem there are n jobs where each job has m + 1 operations and there are m + 1 different machines to perform each of these operations. Each machine can process only one job at a time. For each job, the first m operations are conducted at the first stage in parallel and a final operation in the second stage. Each of m operations at the first stage is performed by a different machine and the last operation at the second stage may start only after all m operations at the first stage are completed. The two-stage assembly scheduling problem has many applications in industry. Potts et al. [19] described an application in personal computer manufacturing where central processing units, hard disks, monitors, keyboards, etc. are manufactured at the first stage, and all the required components are assembled to customer specification at a packaging station (the second stage). Lee et al. [17] described another application in a fire engine assembly plant. The body and chassis of fire engines are produced in parallel in two different departments. When the body and chassis are completed and the engine has been delivered (purchased from outside), they are fed to an assembly line where the fire engine is assembled. There are many other problems that can be modeled as an assembly flowshop scheduling problem, including queries scheduling on distributed database systems. In recent years, there has been a rapid trend toward the distribution of computer systems over multiple sites that are interconnected via a communication network [12]. This new architecture has raised many new challenges and problems in the field of database systems. For example, it is common with current technology to develop forms or reports that require tens of embedded queries that retrieve information from different sites on the networks [6]. The processing of such a report is only considered done when all its embedded queries are successfully executed. Sometimes the reading of the report is done online. Hence, the queries that happen to be in the beginning of the report need to be executed first while the rest of the queries can follow according to their position in report pages [4,5,7]. This problem can be viewed as a scheduling problem of queries on a distributed database system environment. In a two-stage distributed database system, there are n queries to be processed. Each query requires m partial data populations to be processed at the first stage. There are m first-stage servers assigned to forward a specific partial data population of a distributed set of data on the network. These servers are independent of each other. When all of the partial data populations are processed at the first stage, a main server at the second stage, namely the backend server, assembles the data population and does a final processing to produce the final result of the query (see Fig. 1). Each server can process only one query at any time. For the particular given application of two-stage distributed database systems, synchronization of queries is essential for the system to produce the required reports. Every query (job) has a maximum delay time (due date) that needs to be met relative to the time that was released to the system. Therefore, an important performance measure of the distributed database systems is related to the completion of all queries before their due dates, if possible. Hence, a relevant objective function is to minimize maximum postponement of completion times of all queries beyond their due dates. This objective function is known as minimization of maximum lateness in scheduling literature. Lee et al. [17] and Potts et al. [19] addressed the assembly flowshop scheduling problem with respect to makespan minimization and both proved that the problem with this objective function is NP-hard in the strong sense for m = 2. Lee et al. [17] discussed a few polynomially solvable cases and presented a branch and bound algorithm. Moreover, they proposed three heuristics and analyzed their error bounds. Potts et al. [19] showed that the search for an optimal solution may be restricted to permutation schedules. They also showed that any arbitrary permutation schedule has a worst-case ratio bound of two, and presented a

1058

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Job #1

Data

Machine #1 (Server #1)

Job #2

Job #n

Machine #2 (Server #2)

Machine #m (Server #m) Data

Data Distributed/Backend Database Communication

Jobs assembled

Data

Data

Data Assembly Machine (Backend Database Server)

Fig. 1. A two-stage assembly (distributed database) architecture.

heuristic with a worst-case ratio bound of 2−1/m. Hariri and Potts [14] also addressed the same problem, developed a lower bound and established several dominance relations. They also presented a branch and bound algorithm incorporating the lower bound and dominance relations. Another branch and bound algorithm was proposed by Haouari and Daouas [13]. Sun et al. [22] also considered the same problem with the same makespan objective function and proposed heuristics to solve the problem. Koulamas and Kyparisis [16] generalized the two-stage problem to the three-stage assembly scheduling problem. They proposed several heuristics and analyzed the worst-case ratio bounds of the proposed heuristics for the makespan problem. Tozkapan et al. [23] considered the two-stage assembly scheduling problem but with the total weighted completion (flowtime) performance measure. They showed that permutation schedules are dominant for the problem with this performance measure. They developed a lower bound and a dominance relation, and utilized the bound and dominance relation in a branch and bound algorithm. They also proposed two heuristics to find an upper bound for their branch and bound algorithm. Al-Anzi and Allahverdi [3] also considered the problem with respect to the total completion time criterion. They proposed an algorithm

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

1059

and showed that the algorithm is optimal under certain conditions. They also proposed a Tabu search and a simulated annealing heuristic for the problem. Moreover, they proposed a new Tabu search heuristic and showed by computational analysis that the proposed new Tabu search heuristic is more efficient. In this paper, we consider the two-stage flowshop scheduling problem with respect to maximum lateness performance measure. Formulation of the problem along with a dominance relation is given in the next section. In Section 3, we propose three heuristics, and the comparison of these heuristics is performed in Section 4. Finally, concluding remarks are made in Section 5. 2. Formulation and a dominance relation We assume that n jobs are simultaneously available at time zero and that preemption is not allowed, i.e., any started operation has to be completed without interruptions. Each job consists of a set of m + 1 operations. The first m operations are completed at stage one in parallel while the last operation is performed at stage two. Let ti,j : operation time of job i on machine j (at stage one), i = 1, . . . , n, j = 1, . . . , m, t[i,j ] : operation time of the job in position i on machine j (at stage one), pi : operation time of job i on assembly machine (at stage two), p[i] : operation time of the job in position i on assembly machine (at stage two), di : due date of job i, d[i] : due date of the job in position i of a given sequence, C[i] : completion time of the job in position i of a given sequence, L[i] : lateness of the job in position i of a given sequence. Note that job k is complete once all of its operations tk,j (j =1, . . . , m) and pk are completed where the operation pk may start only after all operations tk,j (j = 1, . . . , m) have been completed. Tozkapan et al. [23] showed that permutation schedules are dominant with respect to the total flowtime (completion time) criterion. In fact, the proof they provided is sufficient to show that permutation schedules are dominant with respect to any regular performance measure, one of which is maximum lateness. Therefore, we restrict our search for the optimal solution to permutation schedules. In other words, the sequence of jobs on all of the machines, including the assembly machine, is the same. The completion time of the job in position j of a given sequence can be computed as     j     C[j ] = max max t[i,k] , C[j −1] + p[j ] , k=1,...,m    i=1

where C[0] = 0. Let j = max

 j 

k=1,...,m 

i=1

(1)

t[i,k]

  



j −1 

p[i]

(2)

i=1

and j = max{1 , 2 , . . . , j }.

(3)

1060

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Then it can be shown that C[j ] =

j 

p[i] + j

i=1

and, consequently, L[j ] =

j 

p[i] + j − d[j ] .

(4)

i=1

Hence, Lmax = max {L[i] }. i=1,...,n

(5)

Dominance relations are common in the scheduling literature. The following four lemmas are used in the proof of the dominance relation given in Theorem 1. This dominance relation is used in the heuristics to be proposed. The usefulness of the dominance relation is evaluated in the computational analysis section. Lemma 1. Assume that F (k) is an arbitrary function value for k = 1, . . . , m where F (k) might have a different value for each k. Then, maxk=1,...,m {F (k) + tw,k }  maxk=1,...,m {F (k) + tq,k } if tq,k  tw,k for k = 1, . . . , m. Proof. For each k and any given F (k) value, F (k) + tq,k  F (k) + tw,k since for each k, tq,k  tw,k . Since this relationship is true for each term, it must be true for the maximum of the terms.  Lemma 2. Assume that F (k) is an arbitrary function value for k = 1, . . . , m where F (k) might have a different value for each k. Then, maxk=1,...,m {F (k) + tw,k } − pw  maxk=1,...,m {F (k)} if mink=1,...,m {tw,k }  pw . Proof. For any given k and any given F (k) value, F (k) + tw,k − pw  F (k) since mink=1,...,m {tw,k }  pw . Since this relationship is true for each term, it must be true for the maximum of the terms.  Consider two job sequences 1 and 2 such that 1 has job i in an arbitrary position  and job j in position  + 1. The sequence 2 is exactly the same as 1 except that job j is in position  and job i is in position  + 1, i.e., the jobs in positions  and  + 1 are interchanged. Lemma 3. L[r] (2 ) = L[r] (1 ) for r = 1, . . . ,  − 1. Proof. Since both sequences 1 and 2 have the same job in positions 1, . . . ,  − 1, L[r] (2 ) = L[r] (1 ) for r = 1, . . . ,  − 1.  Lemma 4. L[r] (2 )  L[r] (1 ) for r =  + 2, . . . , n if max{ (2 ), +1 (2 )}  max{ (1 ), +1 (1 )}. Proof. Both sequences 1 and 2 have the same job in all positions except positions  and  +1. Therefore, it follows from Eq. (2) that r (2 ) = r (1 ) for r = 1, . . . ,  − 1,  + 2, . . . , n. Then, by Eqs. (3) and (4), L[r] (2 )  L[r] (1 ) if max{ (2 ), +1 (2 )}  max{ (1 ), +1 (1 )}. 

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

1061

Theorem 1. Consider a two-stage assembly flowshop scheduling problem and assume that two adjacent jobs i and j satisfy the following three conditions: (i) dj  di , (ii) pj  pi , and either (iiia) tj,k  ti,k for k = 1, . . . , m or (iiib) mink=1,...,m {ti,k }  pi . Then, there exists an optimal solution that minimizes Lmax in which job j precedes job i. Proof. Consider the two sequences 1 and 2 specified earlier. From Eq. (2),   j −1 j −1     (1 ) = max t[r,k] + ti,k − p[r] ,  k=1,...,m  r=1

 (2 ) = max

 j −1 

k=1,...,m 

r=1

t[r,k] + tj,k

r=1

+1 (1 ) = max

 j −1 

k=1,...,m 

+1 (2) = max

  



j −1 

  

t[r,k] + tj,k + ti,k

r=1

p[r] ,

(7)

r=1

t[r,k] + ti,k + tj,k

r=1

 j −1 

k=1,...,m 

(6)

  



j −1 

p[r] − pi ,

(8)

p[r] − pj .

(9)

r=1



j −1  r=1

It follows from Eqs. (8) and (9) that +1 (2 ) +1 (1 )

(10)

since by hypothesis pj  pi . Now, by Eqs. (6) and (7) and Lemma 1,  (2 )  (1 )

(11)

if tj,k  ti,k for k = 1, . . . , m. And by Eqs. (7) and (8) and Lemma 2,  (2 ) +1 (1 )

(12)

if mink=1,...,m {ti,k }  pi . Therefore,  (2 )  max{ (1 ), +1 (1 )}

(13)

if either (11) or (12) holds. Moreover, max{ (2 ), +1 (2 )}  max{ (1 ), +1 (1 )}

(14)

when Eqs. (10) and either (12) or (13) hold. Now by Eq. (4), we have the following for the two sequences: L[] (1 ) =

−1 

r=1

p[r] + pi + max{−1 (1 ),  (1 )} − di ,

(15)

1062

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

L[] (2 ) =

−1 

p[r] + pj + max{−1 (2 ),  (2 )} − dj ,

(16)

r=1

L[+1] (1 ) =

−1 

p[r] + pi + pj + max{−1 (1 ),  (1 ), +1 (1 )} − dj ,

(17)

p[r] + pj + pi + max{−1 (2 ),  (2 ), +1 (2 )} − di .

(18)

r=1

L[+1] (2 ) =

−1 

r=1

It should be noted from the above four equations that  (r ) = max{−1 (r ),  (r )}

and +1 (r ) = max{−1 (r ),  (r ), +1 (r )}

for r = 1 and 2. This follows by the definition of r from Eq. (3). From Eqs. (13), (16) and (17), L[] (2 )  L[+1] (1 )

(19)

and from Eqs. (14), (17) and (18) and the hypothesis of dj  di L[+1] (2 )  L[+1] (1 ).

(20)

Therefore, from Eqs. (19) and (20) max{L[] (2 ), L[+1] (2 )}  max{L[] (1 ), L[+1] (1 )}.

(21)

Then, it follows from Eqs. (14) and (21), and Lemmas 3 and 4 that Lmax (2 )  Lmax (1 ).



3. Heuristics The two-stage assembly scheduling problem with the objective function of Lmax is addressed for the first time in this paper. Therefore, no heuristics exist for the problem with Lmax objective function. We, in this paper, propose three heuristics for the problem; earliest due date (EDD), particle swarm optimization (PSO), and Tabu search. EDD is a simple ordering of the jobs based on their due dates. A description of PSO and Tabu search heuristics is given next. 3.1. Particle swarm optimization PSO is a population-based stochastic optimization technique developed by Eberhart and Kennedy [9], that was inspired by social behavior of bird flocking or fish schooling. PSO shares many similarities with

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

1063

evolutionary computation techniques such as Genetic Algorithms (GA) [10]. Applications, parameter selection, and a modified version of PSO have been considered, respectively, by Eberhart and Shi [11] and Shi and Eberhart [20,21]. In PSO, the system is initialized with a population of random solutions and searches for optima by updating generations. However, unlike GA, PSO has no evolution operators such as crossover and mutation. In PSO, the potential solutions, called particles, fly through the problem space by following the current optimum particles. Compared to GA, the advantages of PSO are that it is easy to implement and there are fewer parameters to adjust. PSO has been successfully applied in many areas: function optimization, artificial neural network training, fuzzy system control, and other areas where GA can be applied. PSO simulates the behaviors 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 the 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. PSO is initialized with a group of random particles (solutions) and then searches for optima by updating generations. In every iteration, each particle is updated by following two “best” values. The first one is the best solution (fitness) it has achieved so far (the fitness value is also stored). This value is called pbest. Another “best” value that is tracked by the particle swarm optimizer is the best value, obtained so far by all particles in the population. This best value is a global best and called gbest. After finding the two best values, the particle updates its velocity and positions with the following two equations: V = V + c1 ∗ RAND ∗ (pbest − present) + c2 ∗ RAND ∗ (gbest − present),

(22)

present = present + V .

(23)

V is the particle velocity, present is the current particle (solution), and pbest and gbest are defined as stated before. RAND is a random number between (0,1). The variables c1 , c2 are learning factors. The pseudo-code of the procedure is as follows: Practical Swarm Optimization (PSO) Begin Initialize one particle to be EDD and the rest of TP-1 particles randomly Do For each particle of TP particles Calculate fitness value If the fitness value is better than the best fitness value (pbest) in history set current value as the new pbest End

1064

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Choose the particle with the best fitness value of all the particles as the gbest For each particle Calculate particle velocity, V, according Eq. (22) Update particle position, present, according Eq. (23) End While maximum iterations, Imax , is not reached End Particles’ velocities on each dimension are clamped to a maximum velocity Vmax . If the sum of accelerations would cause the velocity on that dimension to exceed Vmax , which is a parameter specified by the user, then the velocity on that dimension is limited to Vmax . 3.1.1. Adapting PSO to our problem For the scheduling problem we are considering in this paper, we are to select the sequence that will yield the smallest (optimal) Lmax value. A sequence is an arbitrary order of all the jobs to be processed. In this problem, particles are actually exploring sequences in all possible sequence space. A sequence can be considered a particle position in that search space. Hence, the variables present, pbest, and gbest are sequences. To illustrate the concepts of adopting PSO to our problem (in general, for any scheduling problem), we will be using the example of scheduling five jobs. Let us assume that at some point of time there is a particle in PSO that has the following variables: present = [2, 3, 4, 1, 5], pbest = [3, 5, 2, 1, 4], gbest = [2, 3, 5, 1, 4]. The general framework of the PSO algorithm remains the same. To be able to apply the PSO algorithm, it is important to be able to use Eqs. (22) and (23) with this new concept of particle positions in the search space. Recall that the main purpose of Eqs. (22) and (23) in the original PSO is to define speeds in which a particle (sequence) at position present is advancing towards the positions gbest and pbest. For our problem, we rewrite Eqs. (22) and (23) as follows: d1 = the difference between pbest and present,

(24)

d2 = the difference between gbest and present,

(25)

advance present towards pbest with speed V1 = c1 ∗ RAND ∗ d1 ,

(26)

advance present towards gbest with speed V2 = c2 ∗ RAND ∗ d2 .

(27)

We define c1 , c2 , d1 , d2 , and RAND to be scalar numbers in the range (0,1). In our algorithm, we have c1 and c2 fixed to the value 0.5 and RAND is a random number. The differences between sequences in Eqs. (24) and (25) are measured by d1 and d2 , respectively. The value d1 defines the fraction of jobs that are different from pbest and present sequences. In the example we used above, d1 would be 4/5 = 0.8. On the other hand, d2 defines the fraction of jobs that are different from gbest and present sequences. In the example we used above, d2 would be 2/5 = 0.4. In Eq. (26), advancing a particle (sequence) from position present to position pbest with speed V1 = c1 ∗ RAND ∗ d1 is defined as follows. Scan the two sequences present and pbest for all jobs in positions j = 1, . . . , n. If the job at position j in present is different for the job in the same position j in sequence

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

1065

pbest then, make the job in present the same as the one in pbest with probability V1 . For the example we used above, if we compare jobs in position 1 in the two sequences present and pbest, they are 2 and 3, respectively. Assuming that we calculate V1 = 0.75, then we pick a random number x in the range (0,1). If x is less than or equal to V1 , then we make the job at position 1 at present sequence to be 3 (of course this will force the change of job at position 2 at present sequence to be 2 to preserve a valid sequence of jobs). This will yield the new sequence [3,2,4,1,5]. Eq. (27) is treated similarly but by advancing present towards gbest with speed V2 . The velocities V1 and V2 are limited and clamped to Vmax = 0.95. Note that in our algorithm, the maximum number of iterations, Imax , is set to the value 100n and the total number, TP, of particles is set to n list. 3.2. Tabu search heuristic (Tabu) The main idea behind a Tabu search heuristic is to have a large number of iterations where in every iteration of the heuristic there is a single random pair exchange in the sequence. The heuristic is only allowed to make an exchange if this exchange improves the objective function and the exchange is not repeating a previous exchange that happened in the previous h iterations which has improved the objective function. The recent h exchanges are kept in a list for checking. This list is called the tabu list. This technique has been proven to be very useful for escaping isolation phenomenas as well as escaping local optimas during the course of search for a global optima. The following is an algorithmic description of the heuristic. Tabu Search Heuristic (Tabu) Begin Initialize Tabu list with maximum size of h Select EDD to be the current sequence Repeat Ti times Begin Let L1 = value of the objective function with current sequence Pick two random positions j and k If (j,k) is not in the Tabu list then Begin Swap jobs in the positions of j and k Let L2 = value of the objective function after the swap If L2 < L1 then Begin Add (j,k) to front of Tabu If Tabu maximum list size is exceeded, then delete the item at the end of the list Otherwise Reverse and reject swap End If End If End Repeat End Heuristic

1066

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

For the proposed Tabu search heuristic, setting the parameters is essential in achieving a good performance. After some experimentations, the parameters for the tabu search heuristic are set as follows: the total number of iterations, Ti , is set to 35 000, and the Tabu list size, h, is set to four. 4. Heuristic comparison The EDD, PSO, and Tabu heuristics were implemented in C on a Sun Sparc 20, and evaluated with respect to average error, standard deviation of the error, and the percentage of times yielding the best solution. In order to evaluate the usefulness of the dominance relation proposed in Theorem 1, the dominance relation is applied to the sequences that are obtained from PSO and Tabu heuristics. The resulting sequences are denoted by PSO+DR and Tabu+DR, where DR stands for Dominance Relation. We also included a random sequence for comparison purposes since no previous heuristic exists. The processing times were randomly generated from a uniform distribution (1, 100) on all m + 1 machines at the first and second stages. In the scheduling literature, most researchers have used this distribution in their experimentation, (e.g., [1,2,18,24]). The reason for using a uniform distribution with a wide range is that the variance of this distribution is relatively large and if a heuristic performs well with such a distribution, there is a good chance that it will perform well with other distributions. Problem data are generated for different numbers of jobs (queries) for the range of 20–90 in increments of 10. The number of machines (servers) at the first stage is randomly generated from a uniform discrete distribution in the range of 2–10. We compare the performance of the heuristics using three measures: average percentage error (Error), standard deviation (Std), and the percentage of the best solution (POB). The percentage error is defined as 100 ∗ (Lmax (heuristic) − Lmax (best))/(Lmax (worst) − Lmax (best)). Fifty replicates are generated for each number of jobs, where for each replicate the number of machines at the first stage is randomly generated from the specified uniform distribution between 2 and 10. The job due dates have been randomly generated in the range of [CP(1 − T − R/2), CP(1 − T + R/2)], where CP denotes the time at which all the jobs are completed. The parameter T denotes the tardiness factor while R stands for relative range of due dates. This is the standard method used in the scheduling literature to generate due dates for computational experiments [8,15]. For the single-machine problem, CP denotes the sum of processing times for all jobs. For the multiple-machine problem, however, a lower bound for the makespan is usually used as a CP value. The following CP value is used:  n

n   CP = max max t[r,k] + min{pi }, p[r] , k=1,...,m

r=1

i

r=1

which is a lower bound on makespan which follows from inequality (23). The values of T and R are usually taken to be between 0 and 1 in the literature. Due to a large number of parameters, 0.2, 0.5, and 0.8 are chosen as values of T and R, which results in nine combinations. The computational results are summarized in Tables 1–8 for different problem sizes. The random sequence error was always 100, and therefore is not included in the tables, and will not be discussed in the rest of the analysis. The tables indicate that all the three heuristics perform much better than the random sequence since the error of the worst heuristic, EDD, is less than eight for all instances compared with 100 for the random sequence.

T

0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

R

EDD

PSO

PSO+DR

Tabu

Tabu+DR

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8

7.4574 2.8908 2.7243 6.9297 3.4271 1.8912 8.5970 3.8218 3.7349

10.6445 3.2877 4.0626 10.9021 4.6744 3.0746 17.6837 4.8883 5.0980

50.0 36.7 50.0 50.0 40.0 50.0 43.3 43.3 30.0

0.0794 0.0458 0.3965 0.0159 0.0662 0.0898 0.2794 0.0104 0.1110

0.4347 0.2506 1.8384 0.0869 0.3627 0.4920 1.5306 0.0567 0.4314

96.7 96.7 90.0 96.7 96.7 96.7 96.7 96.7 90.0

0.0794 0.0458 0.3876 0.0000 0.0000 0.0898 0.0000 0.0104 0.1110

0.4347 0.2506 1.8397 0.0000 0.0000 0.4920 0.0000 0.0567 0.4314

96.7 96.7 93.3 100.0 100.0 96.7 100.0 96.7 90.0

5.0359 1.4469 0.8517 2.5318 1.9544 0.4350 3.2486 1.9882 1.4250

9.6984 2.5226 2.0824 7.6160 3.0403 1.6486 6.5787 3.5421 3.1564

66.7 56.7 73.3 76.7 56.7 83.3 70.0 66.7 63.3

5.0359 1.4469 0.8428 2.5318 1.9544 0.4350 3.1602 1.9882 1.4250

9.6984 2.5226 2.0856 7.6160 3.0403 1.6486 6.5573 3.5421 3.1564

66.7 56.7 76.7 76.7 56.7 83.3 70.0 66.7 63.3

Overall avg.

4.6082

7.1462

43.7

0.1216

0.6093

95.2

0.0804

0.3895

96.7

2.1019

4.4317

68.1

2.0911

4.4297

68.52

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Table 1 Computational results (n = 20)

1067

1068

T

0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

R

EDD

PSO

PSO+DR

Tabu

Tabu+DR

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8

5.3258 2.7396 2.4702 7.7308 2.8184 2.3532 9.7227 3.5063 1.5787

5.9047 2.9452 3.5612 9.0966 4.3232 3.2808 17.1890 4.8502 2.3126

46.7 26.7 43.3 30.0 50.0 46.7 30.0 36.7 40.0

0.0000 0.2455 0.6589 0.0000 0.2796 0.5875 0.0000 0.2684 0.9251

0.0000 0.7696 2.0943 0.0000 0.7344 1.6225 0.0000 0.9688 2.1174

100.0 90.0 76.7 100.0 80.0 83.3 100.0 86.7 73.3

0.0000 0.1812 0.6430 0.0000 0.2606 0.5875 0.0000 0.2307 0.6700

0.0000 0.7016 2.0962 0.0000 0.7068 1.6225 0.0000 0.9561 1.6605

100.0 93.3 80.0 100.0 80.0 83.3 100.0 90.0 76.7

2.3188 0.6879 0.5891 4.4877 0.2532 0.5818 5.6900 1.2113 0.4397

4.5201 1.6734 1.6538 8.4129 1.3870 1.6415 12.6657 3.7735 1.2687

73.3 70.0 83.3 50.0 96.7 73.3 53.3 70.0 80.0

2.3188 0.6879 0.5125 4.4877 0.2532 0.5818 5.2351 1.1387 0.3890

4.5201 1.6734 1.5900 8.4129 1.3870 1.6415 12.6620 3.7818 1.1942

73.3 70.0 83.3 50.0 96.7 73.3 56.7 76.7 80.0

Overall avg.

4.2495

5.9404

38.9

0.3294

0.9230

87.8

0.2859

0.8604

89.3

1.8066

4.1107

72.2

1.7339

4.0959

73.3

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Table 2 Computational results (n = 30)

T

0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

R

EDD

PSO

PSO+DR

Tabu

Tabu+DR

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8

5.7723 2.0643 1.5557 7.0854 3.2555 1.3707 5.1407 3.6704 1.2289

5.1067 3.0594 1.7039 7.0667 4.4627 1.6253 6.7811 4.6583 3.1985

20.0 43.3 33.3 23.3 43.3 33.3 50.0 36.7 56.7

0.0000 0.3118 1.0213 0.0000 0.0868 0.7583 0.2392 0.2266 0.9469

0.0000 1.0490 1.3754 0.0000 0.4089 1.2179 1.3099 0.7546 3.1188

100.0 83.3 50.0 100.0 93.3 53.3 96.7 80.0 66.7

0.0000 0.1333 0.6971 0.0000 0.0740 0.7493 0.0000 0.1378 0.8389

0.0000 0.4573 1.0805 0.0000 0.4052 1.2134 0.0000 0.5278 2.6642

100.0 90.0 56.7 100.0 96.7 53.3 100.0 90.0 73.3

2.3876 0.5841 0.3249 4.4717 0.7731 0.0829 1.9357 0.9767 0.0944

3.6834 1.6717 0.9264 6.9026 1.4628 0.2855 4.5330 1.7880 0.3209

56.7 80.0 80.0 50.0 66.7 90.0 73.3 63.3 83.3

2.3876 0.5841 0.3124 4.0575 0.7494 0.0544 1.8300 0.9767 0.0755

3.6834 1.6717 0.9124 6.6257 1.4087 0.2455 4.2672 1.7880 0.3169

56.7 80.0 80.0 50.0 66.7 93.3 73.3 63.3 90.0

Overall avg.

3.4604

4.1847

37.8

0.3990

1.0261

80.4

0.2923

0.7054

84.4

1.2923

2.3971

71.5

1.2253

2.3244

72.6

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Table 3 Computational Results (n = 40)

1069

1070

T

0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

R

EDD

PSO

PSO+DR

Tabu

Tabu+DR

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8

5.5200 4.0160 1.2066 4.4020 3.1388 1.5681 3.9048 1.7734 1.4184

6.6193 4.5169 2.1223 4.5768 3.5942 1.6232 4.4270 2.2820 1.7565

26.7 30.0 33.3 30.0 33.3 36.7 36.7 53.3 36.7

0.0316 1.3726 0.9872 0.0000 0.8170 1.0455 0.2411 0.5813 1.3666

0.1302 2.3436 1.6217 0.0000 2.4926 1.5170 1.3206 1.4304 1.7752

93.3 53.3 40.0 100.0 80.0 53.3 96.7 80.0 40.0

0.0221 1.1952 0.8513 0.0000 0.3385 0.9894 0.2411 0.4792 1.2168

0.1211 2.2816 1.3899 0.0000 0.8893 1.4523 1.3206 1.3570 1.7550

96.7 63.3 43.3 100.0 83.3 56.7 96.7 83.3 43.3

2.4339 0.6157 0.0137 1.7938 0.6289 0.3186 1.6698 0.5780 0.0000

3.8818 1.5425 0.0536 2.6746 1.3491 1.0126 3.0432 1.2997 0.0000

53.3 76.7 93.3 56.7 70.0 86.7 63.3 80.0 100.0

2.4339 0.5265 0.0054 1.7938 0.5935 0.2286 1.5613 0.4788 0.0000

3.8818 1.4959 0.0295 2.6746 1.3193 0.8860 3.0427 1.2216 0.0000

53.3 80.0 96.7 56.7 70.0 93.3 66.7 83.3 100.0

Overall avg.

2.9942

3.5020

35.2

0.7159

1.4035

70.7

0.5926

1.1741

74.1

0.8947

1.6508

75.6

0.8469

1.6168

77.8

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Table 4 Computational results (n = 50)

T

0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

R

EDD

PSO

PSO+DR

Tabu

Tabu+DR

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8

4.4109 1.7578 1.7839 4.9446 3.1127 1.0963 4.7162 2.3052 0.7937

4.4124 2.7145 1.9103 5.9604 3.9281 1.7451 4.6652 2.6595 1.4647

26.7 40.0 23.3 36.7 40.0 43.3 26.7 33.3 56.7

0.1117 0.7683 1.7410 0.0000 1.5977 1.0782 0.1512 1.2011 0.5249

0.5431 1.6823 1.9065 0.0000 2.4128 1.7552 0.8282 1.7578 0.8807

93.3 66.7 23.3 100.0 56.7 50.0 96.7 50.0 56.7

0.0988 0.6251 1.6268 0.0000 1.1329 1.0675 0.0000 0.8961 0.4450

0.5410 1.3995 1.9147 0.0000 2.0854 1.7471 0.0000 1.4642 0.8451

96.7 73.3 23.3 100.0 70.0 50.0 100.0 56.7 63.3

1.8129 0.5584 0.0000 2.2994 0.6892 0.0000 2.7448 0.3912 0.1045

2.7718 1.4875 0.0000 3.7985 2.0201 0.0000 4.2414 1.1118 0.5019

56.7 76.7 100.0 53.3 70.0 100.0 46.7 80.0 90.0

1.8027 0.5584 0.0000 2.2994 0.6593 0.0000 2.7267 0.3583 0.0915

2.7677 1.4875 0.0000 3.7985 2.0277 0.0000 4.2499 1.1124 0.5012

56.7 76.7 100.0 53.3 80.0 100.0 46.7 86.7 96.7

Overall avg.

2.7690

3.2734

36.3

0.7971

1.3074

65.9

0.6547

1.1108

70.4

0.9556

1.7703

74.8

0.9440

1.7717

77.4

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Table 5 Computational results (n = 60)

1071

1072

T

0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

R

EDD

PSO

PSO+DR

Tabu

Tabu+DR

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8

4.6598 2.4949 1.4420 4.4287 2.5764 1.7402 4.8500 1.9592 2.3611

5.3747 3.5236 2.1848 4.4831 3.6479 2.5376 3.7029 2.2439 2.7532

30.0 36.7 36.7 30.0 30.0 33.3 13.3 36.7 16.7

0.0305 1.5010 1.4009 0.0000 1.1567 1.5987 0.1037 1.2531 1.8234

0.1673 2.3647 2.1207 0.0000 1.7147 2.5376 0.4661 1.9380 2.7714

96.7 46.7 36.7 100.0 56.7 33.3 93.3 46.7 16.7

0.0000 1.2220 1.2270 0.0000 0.7233 1.4325 0.0912 0.8670 1.6321

0.0000 2.1864 2.0502 0.0000 1.1626 2.4384 0.3999 1.6538 2.6596

100.0 56.7 36.7 100.0 63.3 40.0 93.3 56.7 23.3

2.0126 0.0649 0.0128 1.8158 0.2645 0.0059 1.4272 0.1898 0.0072

2.9848 0.2472 0.0638 2.8999 0.9497 0.0261 2.4396 0.6239 0.0322

43.3 93.3 93.3 53.3 86.7 93.3 63.3 86.7 93.3

2.0126 0.0000 0.0000 1.8158 0.2645 0.0000 1.4272 0.1898 0.0011

2.9848 0.0000 0.0000 2.8999 0.9497 0.0000 2.4396 0.6239 0.0063

43.3 100.0 100.0 53.3 86.7 100.0 63.3 86.7 96.7

Overall avg.

2.9458

3.3835

29.3

0.9853

1.5645

58.5

0.7995

1.3945

63.3

0.6445

1.1408

78.5

0.6346

1.1005

81.1

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Table 6 Computational results (n = 70)

T

0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

R

EDD

PSO

PSO+DR

Tabu

Tabu+DR

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8

4.2667 1.4797 1.5474 4.0702 2.0190 1.0539 5.1380 2.1402 1.0094

4.7753 2.3158 1.6101 3.7857 2.5929 1.5712 4.5907 2.3765 1.0233

33.3 46.7 30.0 13.3 30.0 43.3 23.3 30.0 40.0

0.0527 1.1261 1.4231 0.3712 1.4185 1.0539 0.4301 1.5101 1.0094

0.2888 2.0184 1.5935 1.2210 2.0938 1.5712 2.2480 2.0444 1.0233

96.7 56.7 30.0 83.3 43.3 43.3 93.3 33.3 40.0

0.0527 1.0067 1.3211 0.0337 1.2020 0.9975 0.0000 1.2932 0.9612

0.2888 2.0002 1.5868 0.1848 1.9591 1.4916 0.0000 1.9838 0.9902

96.7 56.7 30.0 96.7 53.3 43.3 100.0 46.7 40.0

0.7631 0.0609 0.0333 1.2828 0.0786 0.0013 2.5805 0.1561 0.0193

2.0419 0.2936 0.1483 2.2437 0.2477 0.0071 3.7253 0.7374 0.0987

76.7 93.3 93.3 63.3 86.7 96.7 46.7 90.0 93.3

0.6966 0.0609 0.0000 1.1541 0.0714 0.0000 2.5402 0.1345 0.0000

1.7747 0.2936 0.0000 2.0890 0.2467 0.0000 3.7471 0.7365 0.0000

76.7 93.3 100.0 66.7 90.0 100.0 50.0 96.7 100.0

Overall avg.

2.5249

2.7379

32.2

0.9328

1.5669

57.8

0.7631

1.1650

62.6

0.5529

1.0604

82.2

0.5175

0.9875

85.9

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Table 7 Computational Results (n = 80)

1073

1074

T

0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

R

EDD

PSO

PSO+DR

Tabu

Tabu+DR

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

Error

Std

POB

0.2 0.5 0.8 0.2 0.5 0.8 0.2 0.5 0.8

3.3428 2.0142 1.9932 4.2134 1.6543 1.7312 4.2341 1.6987 1.7332

3.9081 2.4217 1.7587 4.1602 1.6587 1.7587 3.2157 1.7825 1.6683

20.0 30.0 23.3 23.3 43.3 23.3 6.7 36.7 13.3

0.0000 1.6119 1.4854 0.1879 1.1632 1.5672 0.2580 1.1326 1.4231

0.0000 2.4201 1.7641 0.8235 1.5243 1.7587 0.8060 1.5325 1.6683

100.0 36.7 23.3 93.3 43.3 23.3 83.3 40.0 13.3

0.0000 1.4968 1.3952 0.1879 0.9153 1.4352 0.1084 1.0113 1.2435

0.0000 2.1811 1.7283 0.8235 1.1575 1.4744 0.5936 1.5334 1.4756

100.0 46.7 23.3 93.3 46.7 23.3 96.7 46.7 13.3

1.1016 0.0793 0.0056 1.4267 0.0282 0.0174 1.5042 0.0555 0.0046

1.5726 0.3600 0.0229 2.8719 0.1470 0.0635 2.1535 0.2582 0.0250

46.7 90.0 93.3 60.0 93.3 86.7 53.3 93.3 96.7

1.0323 0.0729 0.0000 1.3547 0.0000 0.0000 1.3803 0.0555 0.0000

1.5738 0.3561 0.0000 2.7965 0.0000 0.0000 2.0746 0.2582 0.0000

50.0 90.0 100.0 60.0 100.0 100.0 53.3 93.3 100.0

Overall avg.

2.5128

2.4814

24.4

0.9810

1.3664

50.7

0.8660

1.2186

54.4

0.4692

0.8305

79.3

0.4329

0.7844

83.0

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

Table 8 Computational results (n = 90)

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080 EDD

PSO

1075

Tabu

7 6

Error

5 4 3 2 1 0 T=0.2, T=0.2, T=0.2, T=0.5, T=0.5, T=0.5, T=0.8, T=0.8, T=0.8, R=0.2 R=0.5 R=0.8 R=0.2 R=0.5 R=0.8 R=0.2 R=0.5 R=0.8

Fig. 2. Error comparison.

EDD

9

PSO

Tabu

8 7

Std

6 5 4 3 2 1 0 T=0.2, T=0.2, T=0.2, T=0.5, T=0.5, T=0.5, T=0.8, T=0.8, T=0.8, R=0.2 R=0.5 R=0.8 R=0.2 R=0.5 R=0.8 R=0.2 R=0.5 R=0.8

Fig. 3. Std comparison.

120

EDD

PSO

Tabu

100

POB

80 60 40 20 0 T=0.2, T=0.2, T=0.2, T=0.5, T=0.5, T=0.5, T=0.8, T=0.8, T=0.8, R=0.2 R=0.5 R=0.8 R=0.2 R=0.5 R=0.8 R=0.2 R=0.5 R=0.8

Fig. 4. POB comparison.

PSO and Tabu outperform EDD as can be seen from Tables 1–8. The results are summarized in Figs. 2–4 for Error, Std, and POB based on the nine combinations of T and R values. The values in the figures are the averages over all the problem sizes, i.e., over all n. The figures also indicate that PSO and Tabu significantly outperform EDD. Moreover, the performances of all the three heuristics are not,

1076

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080 9

EDD

PSO

Tabu

8 7 Error

6 5 4 3 2 1 0 20

30

40

50 60 Number of jobs

70

80

90

Fig. 5. Heuristic comparison for difficult problems (R = 0.2).

4

EDD

PSO

Tabu

3.5 3 Error

2.5 2 1.5 1 0.5 0 20

30

40

50 60 70 Number of jobs

80

90

Fig. 6. Heuristic comparison (R = 0.5).

3

EDD

PSO

Tabu

2.5

Error

2 1.5 1 0.5 0 20

30

40

50 60 70 Number of jobs

80

90

Fig. 7. Heuristic comparison (R = 0.8).

in general, affected by the choice of T since for T = 0.2, T = 0.5, and T = 0.8, performances of the heuristics show almost the same pattern. Figs. 5–7 indicate the Error performance of the three heuristics for the three different values of R. It should be noted that the larger the value of R, the wider the spread of due dates among the jobs. In this

Error

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0

EDD

20

30

40

PSO

1077

Tabu

50 60 70 Number of jobs

80

90

Fig. 8. Heuristic comparison for different problem sizes.

0.3001

PSO

PSO+DR

0.2501

Error

0.2001 0.1501 0.1001 0.0501 0.0001 20

30

40

50 60 70 Number of jobs

80

90

Fig. 9. Effect of DR on PSO (R = 0.2).

case, the problem becomes relatively easy to solve because of large due dates. On the other hand, the problem becomes difficult to solve for smaller values of R since in this case due dates are smaller. It is clear from Fig. 5 that PSO performs significantly better for difficult problems regardless of the number of jobs. However, when R is increased to 0.5 and 0.8 (i.e., a wider spread of due dates) Tabu performs better. Moreover, the performance of Tabu gets better as the number of jobs increases. The results for other performance measures of Std and POB are similar to those of Figs. 5–7. Therefore, PSO is the best heuristic for difficult problems regardless of the size of the problem. Moreover, it is the best heuristic for a small number of jobs regardless of the R value. On the other hand, Tabu is the best heuristic for large-sized problems and a larger (wider range of due dates) value of the R. Fig. 8 shows an overall error comparison of PSO and Tabu regardless of R or T value with respect to problem size. The figure shows, in general, that for small problems (up to 60 jobs) PSO is the best. On the other hand, Tabu is the best for larger-sized problems. The performance of the developed dominance relation (DR) is also investigated. It is clear from Tables 1–8 that DR helps in reducing the error for both heuristics of PSO and Tabu. Overall DR helps in reducing the error by 17.5% for PSO, and by 3% for Tabu. For the case of R = 0.2, DR helps in reducing the error by 65% (Fig. 9). For Tabu heuristic, the DR’s help in reducing the error seems to be the same for all R values. However, as the number of jobs increases, DR seems to be reducing the error significantly (Fig. 10).

1078

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080 Tabu+DR

Tabu

1

Error

0.1 0.01 0.001 0.0001 20

30

40

50

60

70

80

90

Number of jobs

Fig. 10. Effect of DR on Tabu (R = 0.8). Table 9 CPU times (in s) n

EDD

PSO

Tabu

20 30 40 50 60 70 80 90

0.00 0.02 0.06 0.14 0.27 0.56 0.86 1.33

1.71 7.44 19.46 44.12 81.27 155.52 235.74 356.17

1.52 5.08 10.43 20.26 31.98 55.93 74.72 102.21

The CPU times of the heuristics are given in Table 9 in terms of seconds. It shows that the CPU time of PSO is the highest, but even for the extreme case of n = 90, it is less than 6 min. It is clear from the table that Tabu is the best for larger-sized problems since its CPU time is less than that of PSO while its error is also less than that of PSO for R values of 0.5 and 0.8. 5. Conclusion The two-stage assembly flowshop scheduling problem is addressed. There are many real-life problems that can be modeled as an assembly flowshop problem. A particular application of this problem is the scheduling problem of queries on a two-stage distributed database system. The objective is to schedule the queries on the servers so that the maximum lateness of all n queries is minimized. A dominance relation is developed for the problem. Moreover, three heuristics are proposed; EDD, PSO, and Tabu. It is shown by computational analysis that PSO is the best when n is small regardless of R and T values. Moreover, PSO is shown to be the best for tight due dates (difficult problems) regardless of T and n values. On the other hand, for loose due dates, it is shown that Tabu performs as the best for large R and n values. It is also shown that the developed dominance relation helps in reducing the error significantly for difficult problems by about 65%.

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

1079

To the best of our knowledge, the PSO heuristic is applied to scheduling problems for the first time in this paper. Since the PSO heuristic performs very well for difficult problems, it should be applied to other scheduling problems. Acknowledgements This research was supported by Kuwait University Research Administration project number EE 01/01. References [1] Al-Anzi FS, Allahverdi A. The relation between three-tired client-server internet database and two-machine flowshop. International Journal of Parallel and Distributed Systems and Networks 2001;4:94–101. [2] Allahverdi A, Al-Anzi FS. Using two-machine flowshop with maximum lateness objective to model multimedia data objects scheduling problem for WWW applications. Computers and Operations Research 2002;29:971–94. [3] Al-Anzi FS, Allahverdi A. A new tabu search heuristic for distributed database problem modeled as a two-stage assembly scheduling problem 2004 submitted. [4] Apers P, Heuner A, Yao S. Optimization Algorithms for Distributed Queries. IEEE Transactions on Software Engineering 1983;9:57–68. [5] Bodorick P, Riordon J, Pyra J. Deciding on Correct Distributed Query Processing. IEEE Transactions of Knowledge Data Engineering 1992;4:253–65. [6] Ceri S, Pelagatti G. Distributed Databases: principles and systems. New York: McGraw-Hill; 1984. [7] Ceri S, Pelagatti G. Correctness of Query Execution Strategies in Distributed Databases. ACM Transactions of Database Systems 1984;8:577–607. [8] Dileepan P, Sen T. Job lateness in a two-machine flowshop with setup times separated. Computers and Operations Research 1991;18:549–56. [9] Eberhart RC, Kennedy J. A new optimizer using particle swarm theory. Proceedings of the sixth international symposium on micro machine and human science. IEEE service center. Piscataway, NJ, Nagoya, Japan. 1995. p. 39–43. [10] Eberhart RC, Shi Y. Comparison between genetic algorithms and particle swarm optimization. Porto VW.Saravanan N.Waagen D.Eiben AE., editors. Evolutionary programming VII, Lecture Notes in Computer Science, vol. 1447. Berlin: Springer; 1998. p. 611–6. [11] Eberhart RC, ShiY. Particle swarm optimization: developments, applications and resources. Proc. congress on evolutionary computation 2001 IEEE service center, Piscataway, NJ, Seoul, Korea. 2001. pp 81–6. [12] Elmasri R, Navathe B. Fundamentals of database systems. 3rd ed., New York: Addison-Wesley; 1999. [13] Haouari M, Daouas T. Optimal scheduling of the 3-machine assembly-type flow shop. RAIRO Recherche Operationnelle 1999;33:439–45. [14] Hariri AMA, Potts CN. A branch and bound algorithm for the two-stage assembly scheduling problem. European Journal of Operational Research 1997;103:547–56. [15] Kim YD. A new branch and bound algorithm for minimizing mean tardiness in two-machine flowshops. Computers and Operations Research 1993;20:391–401. [16] Koulamas C, Kyparisis GJ. The three-stage assembly flowshop scheduling problem. Computers and Operations Research 2001;28:687–704. [17] Lee CY, Cheng TCE, Lin BMT. Minimizing the makespan in the 3-machine assembly-type flowshop scheduling problem. Management Science 1993;39:616–25. [18] Pan CH, Chen JS. Scheduling alternative operations in two-machine flow-shops. Journal of the Operational Research Society 1997;48:533–40. [19] Potts CN, Sevast’janov SV, Strusevich VA, Van Wassenhove LN, Zwaneveld CM. The two-stage assembly scheduling problem: complexity and approximation. Operations Research 1995;43:346–55. [20] Shi Y, Eberhart RC. Parameter selection in particle swarm optimization. In: Evolutionary Programming VII: Proceedings of EP 98. New York: Springer-Verlag; 1998. p. 591–600.

1080

A. Allahverdi, F.S. Al-Anzi / Computers & Operations Research 33 (2006) 1056 – 1080

[21] Shi Y, Eberhart RC. A modified particle swarm optimizer. In: Proceedings of the IEEE International Conference on Evolutionary Computation. Piscataway, NJ: IEEE Press; 1998. p. 69–73. [22] Sun X, Morizawa K, Nagasawa H. Powerful heuristics to minimize makespan in fixed, 3-machine assembly-type flowshop scheduling. European Journal of Operational Research 2003;146:498–516. [23] Tozkapan A, Kirca O, Chung CS. A branch and bound algorithm to minimize the total weighted flowtime for the two-stage assembly scheduling problem. Computers and Operations Research 2003;30:309–20. [24] Wang MY, Sethi SP, Van De Velde SL. Minimizing makespan in a class of reentrant shops. Operations Research 1997;45: 702–12. Ali Allahverdi is a Professor in the Department of Industrial and Management Systems Engineering of Kuwait University. He received his B.S. in Petroleum Engineering from Istanbul Technical University and his M.Sc. and Ph.D. in Industrial Engineering, from Rensselaer Polytechnic Institute, New York, USA. He worked for two years at Marmara University, Istanbul, Turkey, before joining Kuwait University in 1995. He received Distinguished Researcher Award in 2003. This award was in recognition of excellent performance and outstanding achievement in research for the previous ten years. Moreover, he received Research Performance Award from Kuwait University in 2004 which was in recognition of exceptional results of outstanding significance and demonstrated research output of a conducted project, which was given to the best project conducted at Kuwait University from the years 2000 to 2003. He also received Del and Ruth Karger Dissertation Prize from the Department of Decision Sciences and Engineering Systems, Rensselaer Polytechnic Institute, Troy, New York in recognition of outstanding academic achievement and promise for a successful career in 1993. He has published about 50 papers in well known international journals including Computers and Operations Research, Naval Research Logistics, European Journal of Operational Research, Journal of the Operational Research Society, International Transactions in Operational Research, OMEGA The International Journal of Management Science, and International Journal of Production Research. He has also attended and presented papers at about 30 international conferences. Fawaz S. Al-Anzi is an Associate Professor in Computer Engineering Department at Kuwait University. He holds a BS degree in electrical engineering from Kuwait University, and MS and PhD degrees in Computer Science from Rensselaer Polytechnic Institute, USA. His current research interests are in multimedia object scheduling, engineering databases, knowledge management and data mining. He has published over 20 papers well known international journals including Computers and Operations Research, International Journal of Computers, European Journal of Operational Research, Complexity International, Journal of Mathematical Modelling and Algorithms, International Journal of Computers and Applications, International Journal of Parallel and Distributed Systems and Networks, Computers and Humanities.