Computers & Operations Research 38 (2011) 98–104
Contents lists available at ScienceDirect
Computers & Operations Research journal homepage: www.elsevier.com/locate/caor
A two-machine flowshop problem with two agents Wen-Chiung Lee, Shiuan-Kang Chen, Cheng-Wei Chen, Chin-Chia Wu Department of Statistics, Feng Chia University, Taichung, Taiwan
a r t i c l e in f o
a b s t r a c t
Available online 14 April 2010
The multiple-agent scheduling problems have received increasing attention recently. However, most of the research focuses on deriving feasible/optimal solutions or examining the computational complexity of the intractable cases in a single machine. Often a number of operations have to be done on every job in many manufacturing and assembly facilities (Pinedo, 2002 [1]). In this paper, we consider a twomachine flowshop problem where the objective is to minimize the total completion time of the first agent with no tardy jobs for the second agent. We develop a branch-and-bound algorithm and simulated annealing heuristic algorithms to search for the optimal solution and near-optimal solutions for the problem, respectively. & 2010 Elsevier Ltd. All rights reserved.
Keywords: Scheduling Two-machine flowshop Two-agent Total completion time
1. Introduction In traditional scheduling problems, it is assumed that there is a common goal to pursue for all jobs. However, this assumption is impractical in some situations. For example, Agnetis et al. [2] pointed out that multiple agents compete on the usage of a common processing resource in different application environments and methodological fields, such as artificial intelligence, decision theory, operations research, etc. Curiel et al. [3] and Hamers et al. [4] claimed that in industrial management the multi-agent scheduling problem is formulated as a sequencing game, where the objective is to devise some mechanisms to encourage the agents to cooperate with a view to minimizing the overall cost. Kim et al. [5] also pointed out that in project scheduling the problem is concerned with negotiation to resolve conflicts whenever the agents find their own schedules unacceptable. Schultz et al. [6] further claimed that in telecommunication services the problem is to satisfy the service requirements of individual agents, who compete for the use of a commercial satellite to transfer voice, image and text files for their clients. Agnetis et al. [2] and Baker and Smith [7] were among the pioneers to introduce the concept of multi-agent into scheduling problems. Yuan et al. [8] further revised the two dynamic programming recursions in Baker and Smith [7] and derived a polynomial-time algorithm for the same problem. Cheng et al. [9] considered the feasibility model of multi-agent scheduling on a single machine where each agent’s objective function is to minimize the total weighted number of tardy jobs. They showed that the problem is strongly NP-complete in general. When the number of agents is fixed, they first showed that the problem can be solved in
Corresponding author.
E-mail address:
[email protected] (C.-C. Wu). 0305-0548/$ - see front matter & 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2010.04.002
pseudo-polynomial time for integral weights, and can be solved in polynomial time for unit weights; they then presented a fully polynomial-time approximation scheme for the problem. Ng et al. [10] considered a two-agent scheduling problem on a single machine, where the objective is to minimize the total completion time of the first agent with the restriction that the number of tardy jobs of the second agent cannot exceed a given number. They showed that the problem is NP-hard under high multiplicity encoding and can be solved in pseudo-polynomial time under binary encoding. Afterwards, Leung et al. [11] proved this problem is binary NP-hard without high multiplicity encoding. When the first agent’s objective is to minimize the total weighted completion time, they showed that the problem is strongly NP-hard even when the number of tardy jobs of the second agent is restricted to zero. Agnetis et al. [12] analyzed the scheduling problems when several agents, each owning a set of non-preemptive jobs, compete to perform their respective jobs on one shared processing resource. Each agent wants to minimize a certain cost function, which depends on the completion times of its jobs only. They analyzed the complexity for the different combinations of the cost functions of each agent leading to various problems. In particular, they investigated the problem of finding schedules whose cost for each agent does not exceed a given bound. Cheng et al. [13] considered multi-agent scheduling on a single machine where the objective functions of the agents are of the max-form. In addition, Liu and Tang [14] discussed the two-agent scheduling problems with linear deteriorating jobs on a single machine. They proposed some basic properties of two different scheduling problems to minimize the objective function for one agent with a constraint on the other agent’s objective function. Based on these properties, they presented the optimal algorithms with polynomial time for two different scheduling problems. Agnetis et al. [15] developed branch-andbound algorithms for several hard, single-machine scheduling problems with two competing agents. They used Lagrangian dual
W.-C. Lee et al. / Computers & Operations Research 38 (2011) 98–104
that can be solved in strongly polynomial time to have bounds for the branch-and-bound. Lee et al. [16] discussed a multi-agent scheduling problem on a single machine in which each agent is responsible for his own set of jobs and wishes to minimize the total weighted completion time of his own set of jobs. They reduced this NP-hard problem to a multi-objective short-path problem. They also provided an efficient approximation algorithm with a reasonably good worst-case ratio. Agnetis et al. [17] provided the complexity results of most of the multi-agent scheduling problems. Recently, Leung et al. [11] generalized the single machine problems proposed by Agnetis et al. [2] to the environment with multiple identical machines in parallel. In addition, they also considered the situations where the jobs may have different release dates and preemptions may or may not be allowed. On the other hand, a number of operations have to be done on every job in many manufacturing and assembling facilities. Often these operations have to be done on all jobs in the same order, implying that the jobs have to follow the same route [1]. However, multi-agent scheduling problems were seldom discussed in the flowshop environment. To the best of our knowledge, Agnetis et al. [2] were probably the only authors who investigated the two-agent scheduling problems on the two-machine flowshop environment. They considered the criterion that both agents wish to complete their jobs as soon as possible and showed that even in these simplest cases, the problems are NP-hard. In this paper, we study a two-agent scheduling problem on a two-machine flowshop where the objective is to minimize the total completion time of the first agent with the restriction that no tardy job is allowed for the second agent. As for the classical total completion time problem on the twomachine flowshop, Kohler and Steiglitz [18] suggested different heuristic algorithms to obtain approximate solutions. Later, Garey et al. [19] showed that the problem is NP-hard. Thereafter, researchers concentrated on developing exact or heuristic algorithms. Cadambi and Sathe [20] presented some dominance rules, but the computational results were not studied until Pan and Wu [21]. Wang et al. [22] proposed three heuristic algorithms to find near-optimal schedules and provided some dominance properties to further improve the efficiency of the branch-and-bound algorithm. They also compared the proposed heuristic algorithms and their respective lower bounds. Croce et al. [23] explored an exact and a heuristic method for this problem. They pointed out that the exact algorithm could handle problems up to 30 jobs and that the heuristic algorithm was very efficient for problems up to 100 jobs. Hoogeveen and Kawaguchi [24] derived several complexity and approximation results for some special cases of this problem. Croce et al. [25] further improved the lower bound based on Lagrangean relaxation. Lee and Wu [26] addressed the same problem with learning effects while Wu and Lee [27] tackled the problem under the assumption of linear deterioration. Sung and Kim [28] considered a two-stage multiple-machine assembly scheduling problem for minimizing the sum of completion times. Huo et al. [29] studied the total completion time problem in the two-machine flowshop with exact delay model. This paper is organized as follows: Problem formulation is described in the next section. A branch-and-bound algorithm incorporating several dominance properties and a lower bound is presented in Section 3. The proposed simulated annealing algorithms are described in Section 4. The computational experiment is provided in Section 5. Conclusions are presented in the last section.
2. Problem formulation A formal description of the problem is given as follows. There are n jobs ready to be processed. All jobs have to follow the same
99
route, i.e. they must be processed first on machine 1 and then machine 2. Each job belongs to either one of the two agents AG1 or AG2. For each job j, there is a processing time aj on machine 1, a processing time bj on machine 2, a due date dj, and an agent code Ij, where Ij ¼0 if j A AG1 or Ij ¼1 if j A AG2 . Under a schedule S, let Cj(S) be the completion time of job j, Tj ðSÞ ¼ maxf0,Cj ðSÞdj g be the tardiness of job j, and Uj(S)¼1 if Tj(S) 40 and zero otherwise. Using the conventional three fields notation, this problem is P P denoted by F2j j A AG2 Uj ¼ 0j j A AG1 Cj .
3. Branch-and-bound algorithm When the number of jobs of agent AG2 is zero, the problem under consideration reduces to the classical two-machine total completion time problem which is proved to be NP-hard in the strong sense by Garey et al. [19]. Meanwhile, to find a feasible schedule, or when the number of jobs in agent AG1 is zero, the problem under consideration reduces to F2jjLmax which was proved to be strongly NP-hard by Lenstra et al. [30]. Therefore, a branch-and-bound algorithm might be a good way to derive the optimal solution. In this section, we will provide several consecutive pairwise dominance properties to speed up the search process. 3.1. Dominance properties Assume that schedule S has two adjacent jobs i and j with job i immediately preceding job j, and a pairwise interchange of jobs i and j is performed to derive a new sequence S0 . That is, S ¼(p, i, j, 0 p0 ) and S ¼(p, j, i, p0 ), where p and p0 are partial sequences. Let t1 and t2 be the completion times of the last job in p on machines 1 and 2. Depending on whether jobs are from agents AG1 or AG2, we divide the situation into the following three cases: Case 1. Both jobs i and j are from agent AG1 in sequences S and S0 . To show that S dominates S0 , it suffices to show that Cj(S) Ci(S0 ) r0, and Ci(S)+ Cj(S)oCj(S0 )+ Ci(S0 ) in this case. Property 1.1. If t1 +ai Zt2, ai raj rbi and 2ai + bi o2aj + bj, then S dominates S0 . Proof. Since t1 + ai Zt2 and aj rbi, the completion times of jobs i and j in S are Ci ðSÞ ¼ t1 þ ai þ bi and Cj ðSÞ ¼ t1 þ ai þ bi þ bj : By definition, the completion time of jobs i and j in S0 are Cj ðS0 Þ ¼ maxft1 þ aj ,t2 g þ bj Zt1 þ aj þbj and Ci ðS0 Þ ¼ maxft1 þ aj þai ,t1 þaj þ bj ,t2 þ bj g þbi Zt1 þ aj þ bi þ bj : From ai raj, we have Cj ðSÞ r Ci ðS0 Þ: From 2ai + bi o2aj + bj, we have Ci ðSÞ þ Cj ðSÞ oCj ðS0 Þ þ Ci ðS0 Þ, Therefore, S dominates S0 . The proofs of Properties 1.2–3.5 are omitted since they are similar to that of Property 1.1 &.
100
Property 1.2. If dominates S0 .
W.-C. Lee et al. / Computers & Operations Research 38 (2011) 98–104
t1 + ai Zt2,
aj Zbi 4ai
and
bj Zai,
then
S
Property 1.3. If t1 þ maxfai ,aj g rt2 , t1 + ai + aj rt2 + bi and bi obj, then S dominates S0 . 0
Case 2. Both jobs i and j are from agent AG2 in sequences S and S . To show that S dominates S0 , it suffices to show that Ci(S) di r0, Cj(S) dj r0 and Cj(S) Ci(S0 )o0 in this case. Property 2.1. If t1 + ai Zt2, aj Zbi 4ai, t1 + ai + bi rdi and t1 + ai + aj + bj rdj, then S dominates S0 .
It is seen that the completion time for the (k+ 1)th job is C½k þ 1 ¼ maxft1 þ a½1 , t2 g þb½1 Zt1 þ að1Þ þbð1Þ , where symbol [j] denotes the jth position in a sequence. By induction, it is derived that the completion time for the (k +j)th job is C½k þ j Z t1 þ
j X
aðiÞ þ bð1Þ for 1 rj r nk:
ð1Þ
i¼1
Property 2.2. If t1 +ai Zt2, bi Zaj 4bj, t1 + ai + bi rdi and t1 + ai + bi + bj rdj, then S dominates S0 .
However, if the processing times on machine 2 are longer, this lower bound may not be tight. To overcome this situation, we need to take the processing times on machine 2 into consideration. The completion time for the (k+ 1)th job is
Property 2.3. If t1 + ai rt2, t1 + ai +aj Zt2 + bi, ai obi, t2 + bi rdi and t1 +ai +aj + bj rdj, then S dominates S0 .
C½k þ 1 ¼ maxft1 þ a½1 , t2 g þb½1 Z t2 þ bð1Þ :
Property 2.4. If t1 + ai rt2, t1 +ai +aj rt2 +bi, t2 + bi rdi, t1 + aj Zt2, ai 4bj, and t2 + bi +bj rdj, then S dominates S0 .
Similarly, it is derived that the completion time for the (k+j)th job is
Case 3. Job i is from agent AG1, but job j is from agent AG2 in sequences S and S0 . To show that S dominates S0 , it suffices to show that Cj(S) dj r0 and Cj(S) Ci(S0 )o0 in this case. Property 3.1. If t1 + ai Zt2, aj Zbi 4ai and t1 +ai +aj + bj rdj, then S dominates S0 . Property 3.2. If t1 + ai Zt2, bi Zaj 4bj and t1 + ai +aj +bj rdj, then S dominates S0 . Property 3.3. If t1 + ai Zt2, ai oaj rbi and t1 + ai + bi +bj rdj, then S dominates S0 . Property 3.4. If t1 + ai rt2 ot1 + aj, t1 + ai + aj rt2 + bi and t2 +bi + bj rdj, then S dominates S0 . Property 3.5. If t1 +ai rt2, t2 +bj ot1 + ai + aj rt2 + bi and t2 + bi + bj rdj, then S dominates S0 . To further facilitate the search process, we provide a proposition to determine the feasibility of a partial schedule. Assume that (p, pc) is a sequence of jobs where p is the scheduled part and pc is the unscheduled part. Moreover, let t1 and t2 be the completion times of the last job in p on machines 1 and 2. Proposition 1. If there is a job j A AG2 \ pc , and maxft1 þ aj ,t2 þ bj gdj 4 0, then sequence (p, pc) is not a feasible sequence.
C½k þ j Z t2 þ
bðiÞ for 1 r j r nk:
ð2Þ
i¼1
In order to make the lower bound tighter, we choose the maximum value from Eqs. (1) and (2) as the lower bound of C[k + j]. That is, C½k þ j ¼ maxft1 þ
j X
aðiÞ þ bð1Þ ,t2 þ
i¼1
j X
bðiÞ g:
i¼1
The remaining problem is how to assign the job completion times to agents AG1 and AG2. The principle is to assign the job completion times to agent AG2 as late as possible without violating the constraint that jobs from agent AG2 cannot be tardy. 1 1 1 In addition, we use the notation Cð1Þ r Cð2Þ r rCðn and 1Þ 2 2 2 Cð1Þ r Cð2Þ r rCðn2 Þ to denote the estimated completion of jobs from agents AG1 and AG2 when they are arranged in the nondecreasing order. The procedure assigns jobs in a backward manner starting from the job with the largest due date, and is given as follows: Algorithm 1. Step 1: Step 2: Step 3:
P P Set C½k þ j ¼ maxft1 þ ji ¼ 1 aðiÞ þ bð1Þ ,t2 þ ji ¼ 1 bðiÞ g for 1rj rn k. Set j ¼n k, i1 ¼n1, and i2 ¼n2. If i2 40 and C½k þ j r d2ði2 Þ , set Cði22 Þ ¼ C½k þ j and i2 ¼i2– 1. Otherwise, set Cði11 Þ ¼ C½k þ j and i1 ¼ i1–1. If i1 o0, 1 ¼ 1. set Cð1Þ
3.2. Lower bound Step 4: In this subsection, we will develop the lower bound for the branch-and-bound algorithm. It is assumed that PS is a partial schedule in which the order of the first k jobs is determined and there are (n k) jobs yet to be scheduled. Among the (n k) unscheduled jobs, there are n1 jobs from agent AG1 and n2 jobs from agent AG2 where n1 + n2 ¼n k. Without loss of generality, we assume that the job processing times of (n k) unscheduled jobs on machine 1 are a(1) ra(2) r?ra(n k) and the job processing times on machine 2 are b(1) rb(2) r?rb(n k) when they are arranged in the non-decreasing order. Note that a(i) and b(i) are not necessarily from the same job. In addition, we assume that the due dates of n2 jobs from agent AG2 are d2ð1Þ r d2ð2Þ r r d2ðn2 Þ . Moreover, let t1 and t2 be the completion times of the kth job on machines 1 and 2 in PS. The lower bound is derived as follows. First, we estimate the lower bound of the completion time of the (n k) unscheduled jobs. Second, we assign the estimated completion time to jobs from agents AG1 and AG2, respectively.
j X
Set j ¼j–1. If j 40, go to Step 3. Otherwise, stop.
Thus, the lower bound of the total completion time for the partial sequence PS can be calculated as LB1 ðPSÞ ¼
k X j¼1
C½j ðPSÞ½1I½j þ
n1 X
1 CðjÞ :
ð3Þ
j¼1
3.3. The details of the branch-and-bound algorithm The depth-first search is adopted in the branching procedure. This search strategy has the advantage that the computer only needs to store the lower bounds for at most n 1 active nodes throughout the branch procedure. This algorithm assigns jobs in a forward manner starting from the first position. In the searching tree, we choose a branch and systematically work down the tree
W.-C. Lee et al. / Computers & Operations Research 38 (2011) 98–104
until we either eliminate it by virtue of the dominance properties, the lower bounds or reach its final node, in which case this sequence either replace the initial incumbent solution or is eliminated. The steps of the branch-and-bound algorithm are described as follows: Step 1:
Step 2:
Step 3:
{Initialization} Perform the second heuristic algorithm (described in the next section) to obtain a sequence as the initial incumbent solution. {Branching} Utilize Proposition 1 to delete the infeasible nodes, then apply all the properties to eliminate the dominated partial sequences. {Bounding} Calculate the lower bound of the total completion time for the unfathomed partial sequences or the total completion time for the completed sequences. If the lower bound for the unfathomed partial sequence is greater than or equal to the incumbent solution, eliminate that node and all nodes beyond it in the branch. If the value of the completed sequence is less than the incumbent solution, replace it as the new solution. Otherwise, eliminate it.
(2) Neighborhood generation: Neighborhood generation plays an important role in the efficiency of the SA method. Three neighborhood generation methods were used in the preliminary trials. They are pairwise interchange (PI), extraction and forward-shifted reinsertion (EFSR), and extraction and backward-shifted reinsertion (EBSR) movements. It was observed that the PI movement yielded a better solution in the preliminary trials. Thus, it is used in later analysis. (3) Acceptance probability: If any job from agent AG2 is tardy in the created sequence, a new sequence is regenerated. When jobs from agent AG2 are not tardy in the new sequence, it is accepted if its value in the objective function is smaller than that of the original sequence; otherwise, it is accepted with some probability which decreases as the process evolves. The probability of acceptance is generated from an exponential distribution, PðacceptÞ ¼ expða DTCÞ, where a is the control parameter and DTC is the change in the objective function. In addition, the method of changing a at the kth iteration is obtained from Ben-Arieh and Maimon [32] and is given by
a¼ 4. Simulated annealing algorithm Simulated annealing (SA) algorithm, proposed by Kirkpatrick et al. [31], is among the most popular meta-heuristic methods that have been applied widely to solve many combinatorial optimization problems. This method has attained wide success in solving many optimization problems. This approach has the advantage of avoiding getting trapped in a local optimum. This is due to hill climbing moves, which are governed by a control parameter. In this section, we will utilize the SA approach to derive near-optimal solutions for the proposed problem. A brief description of the SA procedure is as follows. Given an initial sequence, a new sequence is created by a random neighborhood generation. The new sequence is accepted if the objective function of the new created sequence has a smaller value than that of the original sequence; otherwise, it is accepted with some probability that decreases as the process evolves. The temperature is initially set to a high level so that a neighborhood exchange happens frequently in early iterations. It is gradually lowered using a predetermined cooling schedule so that in later iterations it becomes more difficult to exchange unless a better solution is obtained. The final solution in the search process is an approximate solution. The most important implementation details of the SA algorithm include: (1) Initial sequence: In this problem, several initial sequences were proposed. In SA1, jobs from agent AG2 are first placed according to the earliest due dates (EDD) first rule, followed by jobs from agent AG1 according to the shortest processing time (SPT) first rule on the processing time on machine 1. The difference between SA1 and SA2 is that in SA2 jobs from AG1 are arranged in the SPT rule based on the processing time on machine 2, while the difference between SA1 and SA3 is that in SA3 jobs from AG1 are arranged in the SPT rule based on the sum of the job processing times on machines 1 and 2. The fourth simulated annealing method, denoted as SA4, is the best one among SA1, SA2, and SA3. That is, SA4 ¼ minfSA1 ,SA2 ,SA3 g. In addition, the branch-and-bound algorithm with a limited number of nodes explored can serve as a good heuristic in general. Thus, SA5 is set as the branch-and-bound algorithm with a maximum of 105 nodes.
101
k
b
where b is an experimental constant (e.g., b ¼10). If the total completion time increases as a result of a random pairwise interchange, the new sequence is accepted when P(accept)4r, where r is a uniform random number between 0 and 1. (4) Stopping condition: Our preliminary trials indicated that the quality of the schedule is quite stable after 600n iterations, where n is the number of jobs.
5. Computational results In order to evaluate the performance of the branch-and-bound algorithm and the proposed SA algorithms, a computational experiment was conducted in this section. All the algorithms were coded in Fortran 90 and run on Compaq Visual Fortran version 6.6 in a personal computer with 2.66 GHz 2 Duo CPU and 1.99 GB RAM on Windows XP. The experiment was designed according to Fisher’s framework [33]. For all the test instances, the job processing times on machines 1 and 2 were generated from uniform distributions over the integers between 1 and 100. That is, ai U(1,100) and bi U(1,100), where ai and bi are integers. The due dates were generated from another uniform distribution over the integers between T(1 t R/2) and T(1 t + R/2), where R is the due date range, t is the tardiness factor, and T is the summation of the processing times on machine 2 and the minimum processing time of all jobs on machine 1, which is an estimation of the last completion time over all jobs. The combination of (t, R) took the values of (0.25, 0.25), (0.25, 0.5), (0.25, 0.75), (0.5, 0.25), (0.5, 0.5), and (0.5, 0.75). In addition, the values of the proportion of jobs from agent AG2, r, were chosen independently of t and R at 0.25, 0.5 and 0.75 in the experiment. The computational experiment consisted of two parts. In the first part of the experiment, three job sizes (n ¼12, 16, and 20) were tested. As a consequence, 54 experimental situations were examined. A set of 100 instances were randomly generated for each situation. The same sets of instances were used to test the performance of the branch-and-bound and the simulated annealing algorithms. To ensure the feasibility of the test problem, jobs from agent AG2 are placed first based on the EDD rule, and it is regenerated if any job from AG2 is tardy. These tests were
102
W.-C. Lee et al. / Computers & Operations Research 38 (2011) 98–104
second. The results are presented in Tables 1–3. It is noted in Table 3 that the branch-and-bound algorithm is terminated if the number of nodes is over 108, which is approximately 1 h in terms of the execution time. The instances with number of nodes less than 108 are denoted as solvable instances (SI), which are also reported in Table 3. For the unsolvable cases, the gap between the upper bound and the lower bound of the node at termination of the branch-and-bound algorithm is also given as
designed to study the effects of the dominance rules and the lower bounds of the branch-and-bound algorithm, and the performance of the heuristic algorithms. For the branch-andbound algorithm, the mean and the standard deviation (SD) of the execution times (in seconds) as well as the mean and the standard deviation of the number of nodes were reported. For the heuristic algorithms, the mean and the standard deviation of the error percentages were noted. The error percentage of the solution produced by the heuristic algorithm is calculated as
ðUBLBÞ=LB 100%
ðVV Þ=V 100%
where UB is the total completion time of the best schedule at the moment of termination and LB is the lower bound of the total completion time of the terminated node. It is also noticed in Table 3 that the error percentages of the heuristics are only for the solvable instances.
where V is the total completion time of the solution generated by the heuristic method and Vn is the total completion time of the optimal schedule. The computational times of the heuristic algorithms were not recorded since they were finished within a Table 1 The performance of the algorithms with 12 jobs.
r
0.25
t
R
0.25
0.50
0.50
0.25
0.50
0.75
0.25
0.50
Branch-and-bound algorithm
Error percentage
Number of nodes
CPU time
SA1
Mean
Mean
SD
Mean
SD
Mean
SD
Mean
SD
Mean
SD
SD
SA2
SA3
SA4
0.25 0.50 0.75 0.25 0.50 0.75
4836 4260 3510 1134 1159 1276
6100 6038 4054 1204 1563 1544
0.0699 0.0644 0.0592 0.0163 0.0167 0.0188
0.0808 0.0806 0.0645 0.0181 0.0218 0.0225
0.2034 0.2528 0.3056 0.2718 0.3073 0.6303
0.3646 0.6196 0.7807 1.1749 0.9250 2.2650
0.1976 0.2245 0.3076 0.3519 0.2783 0.5240
0.3449 0.7126 0.5360 1.2527 0.9929 2.2021
0.2730 0.2352 0.2464 0.3615 0.3062 0.5299
0.5932 0.4662 0.5524 1.3147 1.0162 2.2034
0.0910 0.0529 0.0569 0.1407 0.0572 0.3743
0.2680 0.1338 0.1476 1.1397 0.1131 2.1746
0.25 0.50 0.75 0.25 0.50 0.75
4936 2311 2068 912 758 948
6113 2792 3299 1217 1465 2923
0.0571 0.0295 0.0289 0.0104 0.0087 0.0115
0.0667 0.0357 0.0434 0.0144 0.0170 0.0384
0.3536 0.5271 0.6437 1.6150 1.4440 1.3270
1.7782 1.6310 1.7596 4.6347 3.9379 4.2594
0.3957 0.3785 0.9301 1.0896 1.2828 1.2115
1.3772 1.4038 2.3672 3.7531 3.8663 4.1102
0.7328 0.5281 0.7853 1.5172 1.5440 1.0148
3.2130 2.6054 1.8977 4.6437 4.0996 3.9368
0.0522 0.2197 0.3551 0.8762 1.1404 0.8992
0.2762 1.2771 1.4470 3.6538 3.8487 3.9374
0.25 0.50 0.75 0.25 0.50 0.75
36,705 7141 3390 3886 1028 1741
86,216 11600 7478 5908 2083 8707
0.3188 0.0666 0.0379 0.0322 0.0095 0.0151
0.8129 0.1015 0.0712 0.0480 0.0162 0.0776
1.2203 1.9410 1.8165 0.0226 1.0792 0.3845
6.3463 8.1239 6.1237 0.0888 6.0215 2.0110
1.3066 2.3442 3.1993 0.0041 1.0594 0.1561
6.3610 8.9434 9.9535 0.0280 6.0157 0.5967
1.5254 1.5789 1.6664 0.0051 1.4878 0.3159
7.1871 7.9739 5.8885 0.0291 6.8683 1.6809
1.1363 0.8927 1.1924 0.0000 1.0258 0.1142
6.3471 6.5154 5.3288 0.0000 6.0187 0.5527
Table 2 The performance of the algorithms with 16 jobs.
r
0.25
t
0.25
0.50
0.50
0.25
0.50
0.75
0.25
0.50
R
Branch-and-bound algorithm
Error percentage
Number of nodes
CPU time
Mean
Mean
SD
SA2
SA1 SD
SA3
Mean
SD
Mean
SD
Mean
SA4 SD
Mean
SD
0.25 0.50 0.75 0.25 0.50 0.75
508,535 333,314 271,557 68,005 57,693 60,050
829,237 523,399 427,339 99,781 101,681 110,611
13.6435 9.6439 8.6762 1.5388 1.4155 1.5944
19.8855 13.9176 13.2422 2.1819 2.4269 2.9817
0.2794 0.2860 0.2422 0.2558 0.2938 0.7545
0.4436 0.3823 0.3643 0.4848 0.5222 2.2454
0.2544 0.2758 0.3175 0.4039 0.2906 0.7736
0.4382 0.4237 0.4974 0.6846 0.5755 2.2547
0.2553 0.3316 0.2971 0.3214 0.2874 0.6706
0.3915 0.5800 0.4590 0.4502 0.4852 2.2634
0.0921 0.1070 0.1089 0.0823 0.1035 0.5275
0.1913 0.2126 0.2729 0.1608 0.3528 2.2511
0.25 0.50 0.75 0.25 0.50 0.75
2022765 421060 176995 90891 62907 32814
3,586,404 816,801 400,572 101,528 135,254 86,829
39.0127 8.9419 4.2336 1.5644 1.1178 0.6259
67.2771 16.1748 8.5923 1.7519 2.4390 1.5917
0.6797 0.7110 0.6319 0.7476 1.0161 1.4746
2.3650 2.0453 1.7449 2.2602 2.5045 3.4363
0.5525 0.6159 0.5735 0.8582 0.7148 1.4049
2.1083 1.8197 1.3068 2.3468 2.2532 3.5302
0.5386 0.6552 0.6835 0.8982 0.3733 1.5267
2.0228 1.6281 1.5111 2.4613 1.2605 3.7483
0.2378 0.2095 0.1741 0.5427 0.1636 0.9949
1.5539 0.6277 0.4912 2.0157 0.9463 3.3527
0.25 0.50 0.75 0.25 0.50 0.75
27,437,993 5,435,561 1,134,016 1,050,803 250,429 120,673
47,604,768 14,804,317 3,611,057 2,179,058 785,918 370,837
390.9812 80.9335 19.4039 14.1752 3.5042 1.6389
702.1256 216.4883 59.6393 30.2095 11.2495 4.9583
0.6643 1.3707 2.4019 0.1843 0.2705 2.8223
3.4670 6.1384 9.4556 1.4014 1.9662 7.5334
0.9689 2.4700 2.3991 0.1912 0.2765 2.3329
4.4522 8.9493 6.6284 1.4009 1.9623 6.6181
1.0481 1.3815 3.3479 0.1712 0.4077 2.5187
4.4481 5.8815 12.0281 1.3871 2.2306 7.0582
0.5346 0.4402 0.7763 0.1573 0.2199 1.7482
3.4037 3.4931 3.8372 1.3881 1.9482 5.9829
W.-C. Lee et al. / Computers & Operations Research 38 (2011) 98–104
103
Table 3 The performance of the algorithms with 20 jobs.
r
0.25
t
0.25
0.50
0.50
0.25
0.50
0.75
0.25
0.50
R
Branch-and-bound algorithm
Error percentages SI
GAP
SA2
SA1
SA3
SA4
Number of nodes
CPU time
Mean
SD
Mean
SD
0.25 0.50 0.75 0.25 0.50 0.75
15,147,354 16,764,912 12,543,926 4,459,033 3,193,825 3,103,970
22,629,274 22,697,575 16,973,006 8,261,455 7,949,034 8,308,477
794.5277 876.0767 705.0543 162.0443 128.0409 142.0025
1161.3116 1162.8286 977.8512 301.3049 314.8659 380.7158
83 92 92 99 100 99
1.4683 2.0581 3.1899 6.8745 – 0.1704
0.3862 0.3465 0.3316 0.3427 0.3624 0.6164
0.6305 0.4847 0.4154 0.5673 0.5676 1.6649
0.4276 0.2421 0.2960 0.3444 0.4366 0.5838
0.7056 0.3195 0.3744 0.5285 0.7577 1.6953
0.3481 0.3207 0.3078 0.3050 0.4033 0.4849
0.5623 0.4197 0.3723 0.5119 0.7288 1.6056
0.1378 0.1223 0.0874 0.1339 0.1712 0.3291
0.2284 0.2035 0.1195 0.3403 0.4471 1.5746
0.25 0.50 0.75 0.25 0.50 0.75
15,249,262 9,592,442 9,604,990 9,362,089 1,596,500 1,434,193
25,386,663 14,713,009 16,617,155 15,398,951 4,623,042 5,448,222
515.0021 396.0308 419.5032 251.8706 46.1329 40.0719
867.5091 582.4030 684.2520 385.9460 135.4215 145.4605
51 81 92 99 100 100
4.7502 3.4288 1.3849 0.3655 – –
1.2073 1.2489 0.7361 0.3819 1.0567 0.7606
3.0709 2.8249 2.0760 1.1139 2.7332 1.7878
1.0589 0.8589 0.5577 0.3828 0.7414 0.6164
2.8792 2.1644 1.7263 1.1176 1.7306 1.5688
1.2031 1.0528 0.8553 0.1935 0.5605 0.7345
3.2965 2.5576 2.2167 0.4397 1.3748 1.7253
0.4251 0.6479 0.3175 0.0705 0.3102 0.2918
1.8987 2.0649 1.6231 0.2769 1.0950 1.3424
0.25 0.50 0.75 0.25 0.50 0.75
4,408,548 12,907,312 12,894,136 24,720,209 10,587,374 3,610,684
8,972,723 23,416,949 21,844,813 27,551,933 17,902,429 13,065,725
103.1285 353.9087 432.9124 538.9584 234.2009 81.4799
208.9917 646.9931 746.4810 598.4027 395.1046 282.3912
13 46 79 36 84 97
5.8579 9.1302 11.2930 2.0870 5.6381 11.8101
0.4187 8.0618 3.5865 0.0334 0.6154 1.3917
1.0304 15.0213 10.1779 0.1810 2.7412 3.9902
1.8288 5.2498 1.8826 0.0334 0.4340 1.6738
6.0499 11.5743 5.0614 0.1810 2.1760 4.0765
0.4274 7.9353 2.4900 0.0322 0.4418 2.0635
1.0363 15.2259 7.1908 0.1811 2.3255 4.9789
0.0640 3.7806 1.0024 0.0322 0.3508 0.9368
0.1779 10.5201 4.2667 0.1811 2.1267 3.2247
Mean
For the branch-and-bound algorithm, it is seen from Tables 1–3 that the number of nodes and the execution time of the branch-and-bound algorithm increase as the proportion of jobs from agent AG2 increases and the other two parameters r and t are fixed. This is because the problem approaches the strongly NP-hard problem F2jjLmax as r increases, and the dominance rules and the bounds are less effective. On the other hand, it is also observed that the number of nodes increases as the tardiness factor t or the range factor R decreases when the other parameters remains the same. The main reason is that it yields larger due dates in those cases and the properties are less powerful. Among these three factors, it is noted that r is the most influential one, followed by t, and R is the least. Moreover, the number of nodes increases exponentially as the number of jobs increases, which is typical of an NP-hard problem. When n ¼20, it is observed from Table 3 that there are only three cases in which the branch-and-bound algorithm can solve all the problems optimally within 108 nodes. The branch-and-bound algorithm has the worst performance when (r,t, R)¼(0.75,0.25,0.25) with only 13 solvable instances out of 100. As the performance of the proposed simulated annealing algorithms, it is observed that their performances are good in terms of the mean error percentages. In addition, their performances are not affected as the values of r, t, or R vary. The overall mean error percentages of the algorithms were 0.84%, 0.87%, 0.87%, and 0.40%, respectively, when n¼ 16. It is noticed that the combination of the first three heuristics bring down the mean error percentage by more than 50%. Thus, the combined algorithm SA4 is recommended. In the second part of the experiment, the proposed heuristic algorithms were tested with four different numbers of jobs: n ¼40, 60, 80 and 100 to further analyze the performance of the proposed heuristic algorithms for large job-sized problems. The mean execution time and the mean relative deviance percentage were reported for each heuristic. The relative deviance percentage (RDP) is calculated as ðSAi SA Þ=SA 100% where SAi is the value of the objective function generated by the ith heuristic, and SA ¼ minfSAi ,i ¼ 1, . . . ,5g is the smallest value
SD
Mean
SD
Mean
SD
Mean
SD
Table 4 The performance of the SA algorithms for large-job-size problems.
r
0.25
t
0.25
0.5
0.50
0.25
0.5
0.75
0.25
0.5
R
Relative deviance percentage SA1
SA2
SA3
SA4
SA5
0.25 0.50 0.75 0.25 0.50 0.75
0.2118 0.1765 0.1566 0.2216 0.1615 0.1493
0.2115 0.1772 0.1458 0.1955 0.1817 0.1497
0.2012 0.1649 0.1500 0.2103 0.1638 0.1419
0.0308 0.0236 0.0180 0.0321 0.0269 0.0214
0.1942 0.1707 0.1827 0.2211 0.1677 0.1542
0.25 0.50 0.75 0.25 0.50 0.75
0.5000 0.5190 0.4273 0.5147 0.4242 0.3798
0.5711 0.5193 0.3556 0.3924 0.4373 0.4076
0.4283 0.5021 0.4794 0.5488 0.4243 0.3061
0.0887 0.0948 0.0495 0.0551 0.0453 0.0598
0.4444 0.4236 0.5052 0.4792 0.4699 0.3979
0.25 0.50 0.75 0.50 0.75
1.3143 1.4763 1.1557 0.4554 1.0219
1.1021 1.4383 1.4841 0.4515 0.9313
1.2176 1.2691 1.4833 0.5241 1.0085
0.1156 0.2761 0.1422 0.0728 0.0960
1.3305 1.2094 1.4745 0.4224 1.1877
of the objective function obtained from the heuristics. The results are reported in Tables 4 and 5. It is seen that there is no clear dominance relation between the performance of the heuristics since the relative deviance percentages are all greater than 0. It is also observed that there are no effects on the performance of the heuristics as the values of r, t, or R change. In addition, there is no significant difference between the performances of the first three simulated annealing algorithms. The fifth algorithm which uses the branch-and-bound algorithm with a limited number of nodes as the initial solution has a similar performance as the first three. On the other hand, the fourth heuristic, which combines the best solution of the first three, has the best performance. For instance, the overall relative deviance percentages of the five algorithms are 0.50%, 0.52%, 0.54%, 0.09% and 0.54%, respectively, while their execution times are 1.16, 1.15, 1.15, 3.46, and 211.15 s when n¼100. Thus, it is recommended to use the fourth algorithm since it reduces the RDP significantly, and it is finished within 5 s.
104
W.-C. Lee et al. / Computers & Operations Research 38 (2011) 98–104
Table 5 The performance of the SA algorithms for large-job-size problems. n
40
r
0.25 0.50 0.75
60
0.25 0.50 0.75
80
0.25 0.50 0.75
100
0.25 0.50 0.75
t
CPU time SA1
SA2
SA3
SA4
SA5
0.25 0.5 0.25 0.5 0.25 0.5
0.1236 0.1867 0.1385 0.2466 0.1313 0.2995
0.1231 0.1866 0.1388 0.2471 0.1313 0.3005
0.1225 0.1852 0.1362 0.2460 0.1302 0.2971
0.3693 0.5585 0.4135 0.7397 0.3928 0.8970
22.1162 21.3048 20.5527 16.9757 17.4559 13.4614
0.25 0.5 0.25 0.5 0.25 0.5
0.2953 0.4673 0.3114 0.5998 0.2782 0.7607
0.2762 0.4370 0.2935 0.5652 0.2644 0.7161
0.2741 0.4354 0.2917 0.5592 0.2615 0.7055
0.8455 1.3396 0.8966 1.7242 0.8041 2.1822
61.8159 61.5177 61.2380 49.2463 53.2180 38.0585
0.25 0.5 0.25 0.5 0.25 0.5
0.5035 0.8236 0.5179 1.0370 0.4437 1.2706
0.5063 0.8274 0.5242 1.0432 0.4503 1.2900
0.4997 0.8174 0.5168 1.0395 0.4397 1.2513
1.5094 2.4685 1.5589 3.1197 1.3337 3.8119
127.6447 125.9268 128.7281 104.3273 114.5306 80.6228
0.25 0.5 0.25 0.5 0.25 0.5
0.7915 1.3407 0.8005 1.6243 0.6694 1.9856
0.7849 1.3293 0.7955 1.6255 0.6706 1.9930
0.7873 1.3344 0.7943 1.6185 0.6624 1.9640
2.3637 4.0044 2.3903 4.8684 2.0024 5.9425
226.9093 234.4499 233.4234 186.7778 218.0961 145.2736
6. Conclusion In this paper, a two-machine flowshop problem with two agents was studied. The objective is to minimize the total completion time of the first agent with the constraint that no tardy jobs are allowed for the second agent. A branch-and-bound algorithm incorporating several dominances and a lower bound was designed to search for the optimal solution. A simulated annealing algorithm was also proposed to derive a near-optimal solution. Our computational results indicated that the branchand-bound algorithm can solve most of the instances up to 20 jobs in a reasonable amount of time. In addition, the performance of SA is robust against the initial schedule. Moreover, SA requires short time and different initial schedules produce solutions with different quality levels. Thus, to try different initial schedules is promising as seen from the performance of the combined SA algorithm, SA4.
Acknowledgements The authors are grateful to the editor and the referees, whose constructive comments have led to a substantial improvement in the presentation of the paper. References [1] Pinedo ML. Scheduling theory: algorithms and system, 2nd ed. New Jersey: Prentice-Hall; 2002. [2] Agnetis A, Mirchandani PB, Pacciarelli D, Pacifici A. Scheduling problems with two competing agents. Operations Research 2004;52:229–42. [3] Curiel I, Pederzoli G, Tijs S. Sequencing games. European Journal of Operational Research 1989;40:344–51.
[4] Hamers H, Borm P, Tijs S. On games corresponding to sequencing situations with ready times. Mathematical Programming 1995;69:471–83. [5] Kim K, Paulson BC, Petrie CJ, Lesser VR. Compensatory negotiation for agentbased schedule coordination. CIFE working paper #55, Stanford University, Stanford, CA, 1999. [6] Schultz D, OH SH, Grecas CF, Albani M, Sanchez J, Arbib C, et al. A QoS concept for packet oriented SUMTS services. In: Proceedings of the 1st Mobile Summit, Thessaloniki, Greece, 2002. [7] Baker KR, Smith JC. A multiple-criterion model for machine scheduling. Journal of Scheduling 2003;6:7–16. [8] Yuan JJ, Shang WP, Feng Q. A note on the scheduling with two families of jobs. Journal of Scheduling 2005;8:537–42. [9] Cheng TCE, Ng CT, Yuan JJ. Multi-agent scheduling on a single machine to minimize total weighted number of tardy jobs. Theoretical Computer Science 2006;362:273–81. [10] Ng CT, Cheng TCE, Yuan JJ. A note on the complexity of the problem of twoagent scheduling on a single machine. Journal of Combinatorial Optimization 2006;12:387–94. [11] Leung JYT, Pinedo M, Wan GH. Competitive two agents scheduling and its applications. Operations Research, 2009, in press, doi:10.1287/ opre.1090.0744. [12] Agnetis A, Pacciarelli D, Pacifici A. Multi-agent single machine scheduling. Annals of Operations Research 2007;150:3–15. [13] Cheng TCE, Ng CT, Yuan JJ. Multi-agent scheduling on a single machine with max-form criteria. European Journal of Operational Research 2008;188: 603–9. [14] Liu P, Tang L. Two-agent scheduling with linear deteriorating jobs on a single machine. Lecture Notes in Computer Science 2008;5092:642–50. [15] Agnetis A, Pascale G, Pacciarelli D. A Lagrangian approach to single-machine scheduling problems with two competing agents. Journal of Scheduling 2009;12:401–15. [16] Lee KB, Choi BC, Leung JYT, Pinedo ML. Approximation algorithms for multiagent scheduling to minimize total weighted completion time. Information Processing Letters 2009;109:913–7. [17] Agnetis A, Pacciarelli D, Pacifici A. Combinatorial models for multi-agent scheduling problems, multiprocessor scheduling, theory and applications. Vienna, Austria: I-Tech Education and Publishing; 2007. [18] Kohler WH, Steiglitz K. Exact, approximate, and guaranteed accuracy algorithms for the flow-shop scheduling problem n/2/F/F . Journal of Association for Computing Machinery 1975;22:106–14. [19] Garey MR, Johnson DS, Sethi R. The complexity of flowshop and job shop scheduling. Mathematical Operations Research 1976;1(2):117–29. [20] Cadambi BV, Sathe YS. Two-machine flowshop scheduling to minimise mean flow time. Opsearch 1993;30:35–41. [21] Pan CH, Wu CC. An asymptotic two-phase algorithm to minimize total flow time for a two-machine flowshop. International Journal of System Science 1996;27:925–30. [22] Wang C, Chu C, Proth JM. Efficient heuristic and optimal approaches for n/2/F/ P Ci scheduling problems. International Journal of Production Economics 1996;44:225–37. [23] Croce FD, Narayan V, Tadei R. The two-machine total completion time flow shop problem. European Journal of Operational Research 1996;90:227–37. [24] Hoogeveen JA, Kawaguchi T. Minimizing total completion time in a twomachine flowshop: analysis of special cases. Mathematics of Operations Research 1996;24:887–910. [25] Croce FD, Ghirardi M, Tadei R. An improved branch-and-bound algorithm for the two machine total completion time flow shop problem. European Journal of Operational Research 2002;139:293–301. [26] Lee WC, Wu CC. Minimizing total completion time in a two-machine flowshop with a learning effect. International Journal of Production Economics 2004;88:85–93. [27] Wu CC, Lee WC. Two-machine flowshop scheduling to minimize mean flow time under linear deterioration. International Journal of Production Economics 2006;103:572–84. [28] Sung CS, Kim HA. A two-stage multiple-machine assembly scheduling problem for minimizing sum of completion times. International Journal of Production Economics 2008;113:1038–48. [29] Huo Y, Li H, Zhao H. Minimizing total completion time in two-machine flow shop with exact delays. Computers and Operations Research 2009;36: 2018–30. [30] Lenstra JK, Rinnooy Kan AHG, Brucker P. Complexity of machine scheduling problems, studies in integer programming. Annals of Discrete Mathematics 1977;1:343–62. [31] Kirkpatrick S, Gelatt C, Vecchi M. Optimization by simulated annealing. Science 1983;220/4598:671–80. [32] Ben-Arieh D, Maimon O. Annealing method for PCB assembly scheduling on two sequential machines. International Journal of Computer Integrated Manufacturing 1992;5:361–7. [33] Fisher ML. A dual algorithm for the one-machine scheduling problem. Mathematical Programming 1976;11:229–51.