An investigation on a two-agent single-machine scheduling problem with unequal release dates

An investigation on a two-agent single-machine scheduling problem with unequal release dates

Computers & Operations Research 39 (2012) 3062–3073 Contents lists available at SciVerse ScienceDirect Computers & Operations Research journal homep...

284KB Sizes 18 Downloads 80 Views

Computers & Operations Research 39 (2012) 3062–3073

Contents lists available at SciVerse ScienceDirect

Computers & Operations Research journal homepage: www.elsevier.com/locate/caor

An investigation on a two-agent single-machine scheduling problem with unequal release dates Yunqiang Yin a,b, Wen-Hsiang Wu c,n, Shuenn-Ren Cheng d, Chin-Chia Wu e a

State Key Laboratory Breeding Base of Nuclear Resources and Environment, East China Institute of Technology, Nanchang 330013, China College of Sciences, East China Institute of Technology, Fuzhou, Jiangxi 344000, China c Department of Healthcare Management, Yuanpei University, Hsinchu, Taiwan d Graduate Institute of Business Administration, Cheng Shiu University, Kaohsiung County, Taiwan e Department of Statistics, Feng Chia University, Taichung, Taiwan b

a r t i c l e i n f o

a b s t r a c t

Available online 22 March 2012

This paper addresses a two-agent scheduling problem on a single machine with arbitrary release dates, where the objective is to minimize the tardiness of one agent, while keeping the lateness of the other agent below or at a fixed level Q. A mixed integer programming model is first presented for its optimal solution, admittedly not to be practical or useful in the most cases, but theoretically interesting since it models the problem. Thus, as an alternative, a branch-and-bound algorithm incorporating with several dominance properties and a lower bound is provided to derive the optimal solution and a marriage in honey-bees optimization algorithm (MBO) is developed to derive the near-optimal solutions for the problem. Computational results are also presented to evaluate the performance of the proposed algorithms. & 2012 Elsevier Ltd. All rights reserved.

Keywords: Single-machine Two-agent Tardiness Lateness Release dates

1. Introduction This paper considers a two-agent scheduling problem where two sets JA and JB of jobs (belonging to agents A and B, respectively) have to be processed on one machine. Agent A has to schedule the nA jobs of JA and agent B has to schedule the nB jobs of JB. Let X A fA,Bg. The jobs of agent X are called X-jobs. The processing time, due-date and release date of job JXj in the set JX are denoted by pXj, dXj and rXj, respectively, where j A f1; 2, . . . ,nX g. The job processing times, due-dates and release dates are assumed to be positive integers. Let S indicate a feasible schedule of the n ¼ nA þ nB jobs, i.e., a feasible assignment of starting times to the jobs of both agents. The completion time of job JXj will be denoted as C Xj ðSÞ, and the lateness and tardiness of job JXj is given X X by LXj ðSÞ ¼ C Xj ðSÞdj and T Xj ðSÞ ¼ maxfC Xj ðSÞdj ,0g, respectively. X X X X X We shall write Cj , Lj and Tj for C j ðSÞ, Lj ðSÞ and T Xj ðSÞ, respectively, whenever this does not generate confusion. It is desired to minimize the tardiness of agent A, subject to an upper bound on the lateness of the agent B. Adopting the three-field notation scheme a9b9gA : gB introduced by Agnetis et al. [4], we denote the P problem by 19r j 9 T Aj : LBmax r Q , where Q Z0.

n Corresponding author at: Department of Healthcare Management, Yuanpei University, Hsinchu, Taiwan. E-mail address: [email protected] (W.-H. Wu).

0305-0548/$ - see front matter & 2012 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.cor.2012.03.012

Both total tardiness and lateness performance measures have significant impact on a schedule’s cost. The total tardiness problem and lateness problem with release dates on a single machine have been shown to be NP-hard in the strong sense by Rinnooy Kan [39] and Lenstra et al. [30], respectively. Hence, most of the research aims at providing a near-optimal solution in a short time. There has been relatively little research reported on the lateness problem. For the total tardiness objective, a lot of research has been carried out on the problem with equal release P dates 1J T j . Powerful dominance rules were introduced by P Emmons [17]. Most of the exact methods for solving 1J T j strongly rely on Emmons’ dominance rules. Potts and Van Wassenhove [37], Chang et al. [11] and Szwarc et al. [40] developed branch-and-bound methods using the Emmons rules coupled with the decomposition rule of Lawler [25] together with some other elimination rules. There are less results on the problem with arbitrary release dates. Chu and Portmann [14] introduced a sufficient condition for local optimality which allows them to build a dominant subset of schedules. Chu [15] also proposed a branch-and-bound method using some efficient dominance rules. Baptiste et al. [8] presented a branch-and-bound to minimize the total tardiness with arbitrary release dates. They introduced new lower bound and generalized some well-known dominance properties. Su and Chen [41] addressed the problem of minimizing total tardiness on a single machine with unequal release dates. They developed a branch-and-bound algorithm and heuristic procedures to solve the problem. The computational

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

experiment results revealed that the branch-and-bound algorithm is efficient in solving hard problems and easy problems. An excellent survey of scheduling problems with total tardiness is presented in Koulamas [23]. Scheduling with multiple agents has already received considerable attention in the literature. Baker and Smith [7] and Agnetis et al. [4] were among the pioneers that introduced multi-agent concept into scheduling problems. They presented a class of scheduling problems, where two agents compete on the use of a common processor. Each of the agents has a set of jobs, which have to be processed on the same machine without preemption. Each of the agents wants to minimize a measure which depends on the completion time of its own jobs. The problem is how to create schedules that perform well with respect to the objectives of both agents. Baker and Smith [7] focused on minimizing a linear combination of the objectives of the two agents. Agnetis et al. [4] addressed the complexity of several two-agent singlemachine problems in which one agent computes the best solution for it, given that the other agent will not accept schedules of cost greater than a certain value. They studied the constrained optimization problem and the Pareto-optimization problem on a single machine and the shop environment. For various combinations of the two agents’ cost functions the problem of generating nondominated schedules was addressed. Agnetis et al. [5] further analyzed the complexity of some multi-agent scheduling problems on a single machine and proposed solution algorithms. They provided new results for two types of problems. Agnetis et al. [6] developed branch-and-bound algorithms for several NP-hard two-agent scheduling problems. Cheng et al. [12] 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 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. Cheng et al. [13] considered multi-agent scheduling on a single machine where the objective functions of the agents are of the max-form. For the feasibility model, they showed that the problem can be solved in polynomial-time even when the jobs are subject to precedence restrictions. For the minimality model, they showed that the problem is strongly NP-hard in general, but can be solved in pseudo-polynomial time when the number of agents is a given constant. They then identified some special cases of the minimality model that can be solved in polynomial-time. Ng et al. [35] 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. 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 be zero. Leung et al. [31] considered a scheduling environment with m (m Z1) identical machines in parallel and two agents. They generalized some results and solve one of the problems that had remained open. Furthermore, we enlarged the framework for the two-agent scheduling problem by including the total tardiness objective, allowing for preemptions, and considering jobs with different release dates; they considered also identical machines in parallel. Lee et al. [28] focused on minimizing the total weighted completion time, and introduced fully polynomial-time approximation schemes and an efficient approximation algorithm with a

3063

reasonable worst case bound. Lee et al. [26,27] considered a two-machine flowshop setting with two-agents and they proposed a branch-and-bound algorithm and a simulated annealing heuristic to search for the optimal solution and near-optimal solutions, respectively. Liu et al. [32,33] provided polynomialtime solutions for single-machine problems with deteriorating jobs. Wan et al. [42] considered several two-agent scheduling problems with controllable job processing times, where agents A and B have to share either a single machine or two identical machines in parallel while processing their jobs. Mor and Mosheiov [34] considered the scheduling problems with two competing agents to minimize the minmax and minsum earliness measures. Specifically, they focused on minimizing maximum earliness cost or total (weighted) earliness cost of one agent, subject to an upper bound on the maximum earliness cost of the other agent. They introduced a polynomial-time solution for the minmax problem, and proved NP-hardness for the weighted minsum case. Though the multiple-agent scheduling problems have received increasing attention recently, however, research on multi-agent scheduling with ready times is relatively unexplored. Motivated by this observation, this paper addresses a single-machine scheduling problem with co-existing two-agent and ready times, where the goal is to find an optimal schedule to minimize the tardiness of the first agent with the restriction that the lateness is allowed an upper bound for the second agent. The aim is to present a mixed integer programming model and an efficient branch-and-bound method to solve the problem, respectively. The rest of the paper is organized as follows. In Section 2, we discuss the computational complexity of the considered problem. In Section 3, we present a mixed integer programming model to solve the problem. In Section 4, some dominance properties and a lower bound are developed to enhance the search efficiency for the optimal solution, followed by descriptions of marriage in honey-bees optimization algorithm (MBO) and the branch-andbound algorithm. The results of a computational experiment are provided in Section 5. Some conclusions are given in the last section.

2. Computational complexity P In this section, we show that the problem 19r j 9 T Aj : LBmax rQ is unary NP-hard via a reduction from 3-Partition even though A dj ¼ 0 for all j A f1; 2, . . . ,nA g. 3-Partition: Given a set of 3n positive integers fa1 ,a2 , . . . ,a3n g and a positive integer b such that b=4 oaj o b=2, j ¼ 1; 2, . . . ,3n, P3n are there n pairwise disjoint three-element subsets i ¼ 1 ai ¼ nb, P Si such that j A Si aj ¼ b for i ¼ 1; 2, . . . ,n? P Theorem 2.1. Problem 19r j 9 C Aj : LBmax rQ is unary NP-hard. P Proof. We reduce the 3-Partition to the problem 19rj 9 A B C j : Lmax r Q . Given an instance of 3-Partition, we can construct an P instance of the problem 19rj 9 C Aj : LBmax r Q as follows: nA ¼ 3n, pAj ¼ aj , A

j ¼ 1; 2, . . . ,3n,

dj ¼ 0,

j ¼ 1; 2, . . . ,3n,

r Aj ¼ 0,

j ¼ 1; 2, . . . ,3n,

nB ¼ n1, 2

pBj ¼ b ,

j ¼ 1; 2, . . . ,n1,

3064

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

B

2

j ¼ 1; 2, . . . ,n1,

2

2

dj ¼ jðbþ b Þ,

r Bj ¼ jðb þ b Þb ,

j ¼ 1; 2, . . . ,n1, 2

Q1 ¼

3nðn1Þðb þb Þ þ 4nb , 2

Q 2 ¼ 0: Now, we will show that there exists a feasible solution to P 3-Partition if and only if the problem 19rj 9 C Aj : LBmax r Q has a feasible solution. Given a feasible solution to 3-Partition and we prove that P problem 19r j 9 C Aj : LBmax rQ has a feasible solution. Assume that the A-jobs are partitioned into n subsets of three jobs each, with the sum of processing times in each subset being equal to b (corresponding to the items in the solution of 3-Partition). Consider the following schedule S: first schedule the B-jobs to 2 2 2 be processed during the intervals ½jðbþ b Þb ,jðbþ b Þ, j ¼ 1; 2, . . . ,n1, then schedule the subsets Si of the A-jobs, 2 j ¼ 1; 2, . . . ,n, during the equal-length intervals ½ðj1Þðb þb Þ, 2 2 jðb þ b Þb  in SPT order, respectively. Hence, the lateness value P of all the B-job is zero, implying that LBmax r Q 2 . Since j A Si aj ¼ b, i ¼ 1; 2, . . . ,n and the subsets Si of the A-jobs are scheduled in SPT order, we have X

C Aj o

j A S1

X

b 2b þ þ b ¼ 2b, 3 3 2

C Aj o3ðb þb Þ þ

j A S2

X

2

C Aj o6ðb þb Þ þ

j A S3

^ X

b 2b 2 þ þb ¼ 3ðb þb Þ þ 2b, 3 3 b 2b 2 þ þb ¼ 6ðb þb Þ þ 2b, 3 3

2

C Aj o3ðn1Þðb þ b Þ þ

j A S4

b 2b 2 þ þ b ¼ 3ðn1Þðb þ b Þ þ 2b, 3 3

thus, we have X A 2 2 2 C j o 3ðbþ b Þ þ 6ðb þ b Þ þ    þ3ðn1Þðb þ b Þ þ 2nb 2

¼

3nðn1Þðb þ b Þ þ2nb ¼ Q 1 : 2

Therefore, schedule S is feasible for the problem P 1J JX A JA [JB wXj ðEXj þ T Xj Þ rQ 1 : EBmax r Q 2 . j Conversely, given a feasible solution S to the problem P 19r j 9 C Aj : LBmax r Q , we prove that the 3-Partition is solvable. First, we claim that in schedule S the B-jobs are scheduled in the increasing order of their due-dates. Assume that this is not the case. Then, there exists a B-job, say JBj, which is scheduled in B 2 position j þ1 or later. The due-date of job JBj is dj ¼ jðb þb Þ. Its earliest completion time (assuming that it is scheduled in position 2 j þ 1, and no A-jobs are scheduled before it) is C Bj ¼ ðj þ 1Þb . For B B sufficiently large b, dj is strictly smaller than Cj , implying a positive lateness, i.e., an infeasible schedule. Now for any B-job JBj with 2 2 2 r Bj ¼ jðb þ b Þb can be completed no later than jðb þ b Þ since B B Lmax rQ 2 ¼ 0. Thus the B-job Jj must be scheduled in the intervals 2 2 2 ½jðbþ b Þb ,jðb þ b Þ. It follows that the A-job subsets Sj, j ¼ 1, . . . ,n, 2 2 2 must be processed during the intervals ½ðj1Þðb þ b Þ,jðbþ b Þb , j ¼ 1; 2, . . . ,n1. Denote the processing time of job set Si by P P ðiÞ ¼ j A Si aj . It follows that PðiÞ rb, for all i ¼ 1, . . . ,n, and then ðiÞ P ¼ b and every set Si has exactly three element by b=4 oaj o b=2, j ¼ 1; 2, . . . ,3n. Therefore, set S provides a feasible solution to 3-Partition. &

P Theorem 2.1 implies that problem 19r j 9 T Aj : LBmax r Q is unary NP-hard. However, if the release dates of all jobs are 0, i.e., r Xj ¼ 0 for j A f1; 2, . . . ,nX g, where X A fA,Bg, then the problem P P B pJ Þ þ can be solved in pseudo-polynomial time Oðn4A ð pAj þ nB log nB Þ (see [31]).

3. A mixed integer programming model for P 19rj 9 T Aj : LBmax r Q Mathematical programming formulation is a natural method of solving machine scheduling problems. In this section, we P develop a mixed integer programming model for 19rj 9 T Aj : B A Lmax r Q . In what follows, we assume that the jobs in J [ JB are numbered from J1 to Jn, where n ¼ nA þ nB , such that 8 < J Aj if 1 rj r nA , Jj ¼ : J Bjn if nA þ1 r j r n: A P Then problem 19r j 9 T Aj : LBmax r Q can be formulated as follows using a mixed integer programming model as follows. Notations: M si ri Ci Ti xij

a very large positive number the earliest starting time of job Ji the release date of job Ji the completion time of job Ji the tardiness of job Ji 1 if job Ji is scheduled before job Jj and 0 otherwise

Objective function :

min

nA X

Tj

j¼1

Subjective to : r i r si

si þ pi ¼ C i

ði ¼ 1, . . . ,nÞ,

ði ¼ 1, . . . ,nÞ,

ð1Þ ð2Þ

C i di r T i

ði ¼ 1, . . . ,nA Þ,

ð3Þ

C i di r Q

ði ¼ nA þ 1, . . . ,nÞ,

ð4Þ

C i r sj þ Mð1xij Þ C j r si þ Mxij

ð1 ri o j rnÞ,

si Z 0,C i Z 0,T j Z 0 xij A f0; 1g

ð1 ri o j rnÞ,

ð5Þ ð6Þ

ði ¼ 1, . . . ,n; j ¼ 1, . . . ,nA Þ,

ð1 r io j r nÞ,

ð7Þ

Constraint set (1) defines the completion time of the jobs. Constraint set (2) ensures that each job must be scheduled after its release date. Constraint set (3) defines the tardiness of A-jobs. Constraint set (4) meets the constraint LBmax r Q . Constraint sets (5) and (6) impose the requirement that only one job may be processed at any time. Either C i r sj or C j r si will hold. By incorporating binary variable xij and a very large positive number M, constraints (5) and (6) together guarantee that one of these two constraints must hold but the other does not apply. Constraint set (7) specifies the non-negativity of si, Ci, and Ti, and establishes the binary restrictions for xij. This mixed integer programming model may be very difficult to solve with the increase of the number of the jobs. Nevertheless, it is a valid formulation for solving the problem optimally if an appropriate, powerful mathematical programming software is available, albeit practical for very small problems only. Despite this, there is still the need to find optimal or near optimal solutions for these problems.

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

4. A branch-and-bound algorithm for 19r j 9

P

T Aj : LBmax r Q

Though there are little efficient algorithms for the NP-hard scheduling problems, in practice, it is still necessary to develop schedules for such problems in a fast and effective manner. In this section, we will apply the branch-and-bound technique to search for an optimal solution and develop a marriage in honey-bees optimization algorithm (MBO) to derive the near-optimal soluP tions for the problem 19rj 9 T Aj : LBmax rQ . In order to speed up the search process, we will establish some dominance rules in this following subsection. 4.1. Dominance rules A dominance rule is a constraint that can be added to the initial problem without changing the value of the optimum, i.e., there is at least one optimal solution of the problem for which the dominance holds. Dominance rules can be of prime interest since they can be used to reduce the search space. Assume that schedule S has two adjacent jobs JXh and JYl with JXh immediately preceding JYl , where X,Y A fA,Bg. Now, we create from S a new schedule S0 by swapping jobs JXh and JYl and leaving the other jobs unchanged in schedule S. In addition, it is assumed that the starting time to process JXh in S is t. The following properties can be easily derived. Property 4.1. If J Xh ,JYl A JA and one of the following conditions holds:

3065

C Al ðSÞ ¼ maxfr Ah ,tg þpAh þ pAl , C Al ðS0 Þ ¼ maxfr Al ,tg þ pAl and C Ah ðS0 Þ ¼ maxfr Al ,tg þ pAl þ pAh , A

and so C Ah ðSÞ o C Al ðSÞ oC Ah ðS0 Þ and T Ah ðS0 Þ ¼ maxfC Ah ðS0 Þdh ,0g 40 A since maxfr Ah ,tg omaxfr Al ,tg and maxfr Al ,tg þ pAh þ pAl 4dh . We consider the following cases. A A (a) maxfdh ,maxfr Ah ,tg þ pAh g rmaxfdl ,maxfr Al ,tg þ pAl g. We further split the proof into two cases. A A A A Case1: dl Zmaxfr Al ,tg þ pAl . Then dl Z dh and dl Z maxfr Ah ,tg þ pAh . A A A 0 A A 0 Thus, we have T h ðS Þ ¼ C h ðS Þdh 4 maxfC l ðSÞdl ,0g ¼ T Al ðSÞ and A A A 0 A A 0 A T h ðS Þ ¼ C h ðS Þdh 4maxfC h ðSÞdh ,0g ¼ T h ðSÞ. On the other hand, A

A

A

C Ah ðS0 Þdh ðC Al ðSÞdl ÞðC Ah ðSÞdh Þ A

¼ maxfr Al ,tgmaxfr Ah ,tg þ dl ðmaxfr Ah ,tg þpAh Þ 40: It follows that T Ah ðSÞ þ T Al ðSÞ oT Al ðS0 Þ þ T Ah ðS0 Þ. A A Case2: dl omaxfr Al ,tg þ pAl . Then maxfr Al ,tg þ pAl Z dh , maxfr Al ,tg þ A A A 0 A 0 A A A pl Z maxfr h ,tg þ ph and T l ðS Þ ¼ maxfC l ðS Þdl ,0g ¼ C Al ðS0 Þdl 40. On the other hand, A

A

A

A

ðC Al ðS0 Þdl Þ þ ðC Ah ðS0 Þdh ÞðC Al ðSÞdl ÞðC Ah ðSÞdh Þ ¼ 2ðmaxfr Al ,tgmaxfr Ah ,tgÞ 40: It follows that T Ah ðSÞ þ T Al ðSÞ oT Al ðS0 Þ þ T Ah ðS0 Þ.

(1) maxfr Ah ,tg þ pAh rr Al ; A (2) maxfr Ah ,tg o maxfr Al ,tg omaxfr Ah ,tg þ pAh , maxfr Al ,tg þpAh þ pAl 4dh and one of the following conditions holds: A A (a) maxfdh ,maxfr Ah ,tg þ pAh g r maxfdl ,maxfr Al ,tg þ pAl g; A A A A (b) 0 o dh dl rmaxfr l ,tgmaxfr h ,tg and pAh rpAl ; A (c) maxfr Ah ,tg þpAh þ pAl rdl ; A A A (3) maxfr h ,tg ¼ maxfr l ,tg, maxfr Al ,tg þpAh þ pAl 4dh , and one of the following conditions holds: A A (a) maxfdh ,maxfr Ah ,tg þ pAh g o maxfdl ,maxfr Al ,tg þ pAl g; A A A A (b) maxfrh ,tg þph þ pl rdl ; then S dominates S0 . Proof. Assume that JXh ,JYl A JA . The completion times of jobs JAh and JAl in S and S0 are C Ah ðSÞ ¼ maxfr Ah ,tg þ pAh , C Al ðSÞ ¼ maxfmaxfr Ah ,tg þpAh ,r Al g þ pAl , C Al ðS0 Þ ¼ maxfr Al ,tg þ pAl and C Ah ðS0 Þ ¼ maxfmaxfr Al ,tg þ pAl ,r Ah g þpAh : To show that S dominates S0 , it suffices to show that C Al ðSÞ rC Ah ðS0 Þ and T Ah ðSÞ þT Al ðSÞ r T Al ðS0 Þ þT Ah ðS0 Þ. (1) If maxfr Ah ,tg þ pAh rr Al , then C Ah ðSÞ ¼ maxfr Ah ,tg þ pAh o rAl þ pAl ¼ C Al ðSÞ ¼ C Al ðS0 Þ o C Ah ðS0 Þ, implying that C Al ðSÞ oC Ah ðS0 Þ and T Ah ðSÞ þ T Al ðSÞ r T Al ðS0 Þ þ T Ah ðS0 Þ, as required. (2) If maxfr Ah ,tg o maxfr Al ,tg omaxfr Ah ,tg þ pAh , then C Ah ðSÞ ¼ maxfr Ah ,tg þ pAh ,

A

A

(b) 0 odh dl r maxfr Al ,tgmaxfr Ah ,tg and pAh rpAl . Then it folA A lows from pAh rpAl and dh 4 dl that A

A

A

A

ðC Al ðS0 Þdl ÞðC Ah ðSÞdh Þ ¼ maxfr Al ,tg þ pAl maxfrAh ,tgpAh þ ðdh dl Þ4 0: A

A

Hence T Al ðS0 Þ 4T Ah ðSÞ. On the other hand, dh dl r maxfr Al ,tg maxfr Ah ,tg gives that A

A

A

A

ðC Ah ðS0 Þdh ÞðC Al ðSÞdl Þ ¼ maxfr Al ,tgmaxfr Ah ,tgðdh dl Þ o0 and so T Ah ðS0 Þ oT Al ðSÞ. Therefore, T Ah ðSÞ þT Al ðSÞ oT Al ðS0 Þ þ T Ah ðS0 Þ. A

A

(c) maxfr Ah ,tg þpAh þ pAl rdl . It follows that C Al ðSÞ rdl , and so A A ¼ maxfC Al ðSÞdl ,0g ¼ 0. On the other hand, T Ah ðS0 Þ ¼ C Ah ðS0 Þ dh 4 A A A A 0 A 0 A 0 A A maxfC h ðSÞdh ,0g ¼ T h ðSÞ, hence T l ðS Þ þ T h ðS Þ Z T h ðS Þ4 T h ðSÞ þ T l ðSÞ. Summing the above arguments, in any case, we have T Ah ðSÞ þ T Al ðSÞ oT Al ðS0 Þ þ T Ah ðS0 Þ, as required. T Al ðSÞ

(3) The proof is similar to that of (2) and omitted.

&

Property 4.2. If JXh ,JYl A J B , maxft,r Bh g þpBh dBh r Q o maxfmaxft,r Bl g þ B B pBl ,r Bh g þ pBh dh and maxfmaxft,r Bh g þ pBh ,r Bl g þpBl dl rQ , then S dom0 inates S . Proof. Assume that JXh ,JYl A JB . The given conditions imply that LBh ðSÞ r Q oLBh ðS0 Þ and LBl ðSÞ r Q . It follows that S0 is not a feasible schedule, as required. & Property 4.3. If JXh A JA ,JYl A JB , maxfr Ah ,tg rmaxfr Al ,tg, maxfr Al ,tg þ A B pAh þ pAl 4 dh , maxfmaxft,r Ah g þ pAh ,r Bl g þ pBl dl r Q , then S domi0 nates S . Proof. Assume that J Xh A J A ,J Yl A J B . The given conditions imply that A A C Bl ðSÞ rC Ah ðS0 Þ, and T Ah ðS0 Þ ¼ C Ah ðS0 Þdh 4 maxfC Ah ðSÞdh ,0g ¼ T Ah ðSÞ, as required. & B

Property 4.4. If JXh A J B ,JYl A J A and maxft,r Bh g þ pBh dh rQ omaxf B maxft,r Al g þpAl ,r Bh g þ pBh dh , then S dominates S0 .

3066

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

Proof. Assume that J Xh A JB ,J Yl A J A . The given conditions imply that LBh ðSÞ rQ oLBh ðS0 Þ. It follows that S0 is not a feasible schedule, as required. & Next, we will present two propositions to determine the feasibility of a partial sequence. Let ðp, p0 Þ be a sequence of jobs where p is the scheduled part with k jobs and p0 is the unscheduled part. Moreover, let C ½k be the completion time of the last job in p. Proposition 4.5. If there is a B-job JBh in p0 such that B maxfC ½k ,r Bh g þ pBh dh 4 Q , then sequence ðp, p0 Þ is not a feasible solution. Proposition 4.6. If all the unscheduled jobs belong to JA and there exists an A-job JAh such that maxfr Ah ,C ½k g þ pAh r rAj for all job J Aj A p0 \fJ Ah g, then job JAh may be assigned in (kþ1)th position. 4.2. A lower bound The efficiency of the branch-and-bound algorithm largely depends on the lower bound of the partial sequence. A lower P bound on the optimal value of the problem 19rj 9 T Aj : LBmax rQ is obtained by scheduling the A-jobs first and then scheduling the B-jobs in any order. For scheduling the A-jobs, we adopt the method proposed by Baptiste et al. [8] where preemption is relaxed as follows. From now on, assume that the A-jobs are sorted in the nondecreasing order of due dates. When a job becomes available or when a job is completed at t, we consider D ¼ fJ Aj 9r Aj r t,ðpAj Þ0 4 0g the set of jobs available but not completed at t (ðpAj Þ0 denotes the remaining processing time of JAj at time t). Let JAh be the job with the shortest remaining processing time, and A A let JAl be the job with the smallest due date. If dh ¼ dl , i.e., JAh has the smallest due date, it is optimal to schedule job JAh until it is completed or a new A-job is available. If it is not the case, we exchange its due date with the one of JAl . In this new problem, JAh has now the smallest due date and the smallest remaining processing time, and then it is optimal to schedule it until it is completed or a new A-job is available. We increase t and we iterate until all jobs are completed. 4.3. Marriage in honey-bees At the beginning of the branch-and-bound algorithm, we apply a heuristic procedure to compute an upper bound for the objective value of the problem. If the lower bound of a subproblem is greater than or equal to the upper bound, then this subproblem cannot yield a better solution, and hence we need not continue to branch from the corresponding node in the search tree. To stop the branching process in many nodes of the search tree, the upper bound should be as small as possible. In this section, Marriage in Honey-bees optimization algorithm (MBO), which is one of the well-known metaheuristics, is presented for providing an upper bound for the objective value of the problem. Our proposed bee algorithm is inspired by the works done by Chan and Tiwari [10], Karaboga and Akay [20], and Karaboga and Basturk [21]. Karaboga and Akay [20] evaluated the performance of artificial bee colony algorithm compared with those of GA, PSO, DE and ES optimization algorithms. From the results obtained in their work, they also concluded that the performance of artificial bee colony algorithm is better than or similar to that of these algorithms although it uses less control parameters and it can be efficiently used for solving multimodal and multidimensional optimization problems. Karaboga and Basturk [21] claimed in simulation results that artificial bee colony algorithm performs better than the mentioned algorithms (e.g. differential evolution, particle swarm optimization, evolutionary algorithm) and can be efficiently employed to solve the multimodal

engineering problems with high dimensionality. Chan and Tiwari [10] pointed out that as it is known genetic algorithms have good global search ability, however they lack the local search ability. On the other hand with Bee System probability of falling into a local optimum is low because of the combination of local and global search since the aim of the algorithm is to improve the local search ability of genetic algorithm without degrading the global search ability. In the experimental studies Bee System is compared with the conventional genetic algorithm and it is found that Bee System shows better performance than the conventional genetic algorithm especially for highly complex multivariate functions. The method has also been successfully applied to tackle many computationally intractable problems (e.g., [36,1–3,9,24]). In nature, a bee colony is made up of one or more queens, drones (male bees), workers and broods. The queens are the principal reproductive individuals of the colony. Only they can lay fertilized eggs. The drones are in charge of fertilizing the new queen. The workers have to take care of broods. The broods are made up of fertilized eggs and unfertilized eggs. Each queen carries out one in her life a mating-flight. During her life, the queen will mate the drones that followed it [24]. MBO simulates the evolution of honey-bees starting with a single queen without a family to the emergence of one or more queens with a family. These features consist of division of labor, commutation on the individual and group level, and cooperative behavior. In the following, we will define artificial bees and use the way to solve our problem. The components of MBO can be described in the following. Step 1: Describe a queen: In this study a queen can be described as a sequence of the jobs. Three queens are generated. In order to guarantee that the selected queen is a feasible solution, we propose the use of three initial sequences as three queens. Generate the first initial sequence by arranging the jobs of the second agent in the EDD order, followed by arranging the jobs of the first agent in the EDD order. Meanwhile, generate the second initial sequence by arranging the jobs of the second agent in the EDD order, followed by arranging the jobs of the first agent in the SPT order. Moreover, generate the third initial sequence by arranging the jobs of the second agent in the EDD order, followed by arranging in a nondecreasing order of the sum of processing time and its corresponding ready time for the jobs belonging to the first agent. Step 2: Fitness function: Compute out the objective function of each queen and use them to determine the probability of each queen to be selected. Meanwhile, a mating-flight starts with a dance performed by the queens who then start a mating flight during which the drones follow the queens and mate with them in the air. Thus, 20 drones are generated randomly in our study. Their objective function and probability of selecting for each drone are also determined, respectively. Step 3: Generating spermatheca: In each mating, sperm reaches the spermatheca and accumulates there to form the genetic pool of colony. In our preliminary test, the number of spermatheca is fixed at 40. Each queen has the same initial speed and energy, i.e., step ¼ ð0:5  energyÞ=m, where m denotes the number of spermatheca. In our test, it is taken as 40. The probability of a drone mating with a queen is given by probðQ ,DÞ ¼ expðD=speedÞ, where probðQ ,DÞ denotes the probability of adding the sperm of D to the spermatheca of queen Q; D presents the difference between the fitness of queen Q and drone D, and speed is the speed of the queen Q. A mate is met when probðQ ,DÞ is larger than q, where q is a random number between 0 and 1. Then add its sperm to the queen’s spermatheca. After each transition in the space, the queen’s speed and energy are reduced according to the equations speedðkþ 1Þ ¼ n  speedðkÞ

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

and energyðkþ 1Þ ¼ energyðkÞstep, where 0 o n o 1, and after our trials, n is taken to be 0.99, and step denotes the amount of energy reduction after each transition. The queen returns back to her nest when the energy is with threshold from zero or when her spermatheca is full. Step 4: Crossover process: Choose a queen and a drone to mate from the list of her spermatheca by the roulette wheel method, respectively. A brood is generated according to the linear

3067

order crossover. Moreover, the shift mutation way was used for the new born brood and its rate Pm was set at 10% and 20% based on preliminary trials. A total of 60 broods are generated. In addition, the objective function of a new brood is also output. Step 5: Improvement mechanism: Then a randomly selected heuristic is used to improve the genotype of each queen, therefore preserving the assumption that a queen is a good bee. Choose one of three workers by the roulette wheel method to improve the broods, and update workers’ fitness as the probability to choose

Table 1 Performance of the branch-and-bound and MBO algorithms (n¼ 12).

k

0.25

s

0.25

R

0.25

0.50

0.75

0.50

0.25

0.50

0.75

0.50

0.25

0.25

0.50

0.75

0.50

0.25

0.50

0.75

0.75

0.25

0.25

0.50

0.75

0.50

0.25

0.50

0.75

a

0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75

Error percentages o 1

Valid sample size

100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100

Branch-and-bound algorithm

Error percentages

CPU time

Number of nodes

MBO1

Mean

Max

Mean

Max

Mean

2.05 2.04 7.01 4.39 4.15 5.59 8.09 7.78 6.98 6.93 6.93 7.22 7.22 7.22 7.37 9.83 9.83 9.63 6.85 6.84 6.82 7.55 7.51 7.75 8.58 8.56 8.63 5.59 5.59 5.60 5.78 5.78 5.78 6.04 6.04 6.03 6.54 6.54 6.54 7.04 7.05 6.99 7.32 7.32 7.17 5.89 5.89 5.89 6.02 6.02 6.02 6.16 6.16 6.15

69.91 69.44 113.61 64.13 63.73 52.66 74.56 58.86 51.73 21.53 21.61 29.38 23.98 23.98 23.98 34.77 34.72 34.73 23.66 23.67 23.69 23.41 23.39 23.41 30.48 30.31 30.27 16.94 16.95 16.94 16.84 16.84 16.88 17.50 17.50 17.50 22.80 22.83 22.81 26.95 26.95 26.97 25.81 25.80 25.78 18.73 18.73 18.73 18.73 18.72 18.72 19.72 19.73 19.66

233,675 233,675 818,795 514,344 483,074 638,461 960,037 918,385 808,159 787,470 787,470 819,296 823,360 823,360 835,058 1,142,218 1,142,218 1,111,398 739,892 739,213 736,235 824,776 821,311 848,401 954,927 953,471 962,135 608,955 608,955 608,955 633,475 633,475 632,936 667,721 667,721 666,053 688,531 688,531 688,468 748,949 748,949 741,428 785,999 785,637 767,160 629,252 629,252 629,252 645,966 645,966 645,966 665,011 665,011 665,011

8,046,041 8,046,041 13,227,875 7,873,427 7,783,333 5,934,062 9,454,630 7,313,940 6,181,468 2,442,206 2,442,206 3,266,902 2,879,412 2,879,412 2,879,412 4,378,393 4,378,393 4,378,393 2,751,430 2,751,430 2,751,430 2,720,711 2,720,711 2,720,711 3,729,617 3,729,617 3,729,617 1,887,683 1,887,683 1,887,683 1,872,456 1,872,456 1,872,456 1,865,796 1,865,796 1,865,796 2,320,936 2,320,936 2,320,936 2,746,758 2,746,758 2,746,758 2,623,047 2,623,047 2,623,047 1,984,654 1,984,654 1,984,654 1,984,696 1,984,696 1,984,696 2,021,898 2,021,898 2,021,898

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 98.15%

MBO2 Max 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 800.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Mean 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 98.15%

MBO3 Max 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Mean 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

MBO4 Max 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Mean 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

Max 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

3068

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

next brood. Artificial workers denote a set of different heuristics. Each heuristic has a fitness value that represents the amount of improvement in a brood’s genotype as a result of applying the heuristic to that brood. Three heuristics are used in this study. There are including pairwise interchange, backward-shifted reinsertion, and forward-shifted reinsertion [16]. Step 6: Replacement: When the best brood is better than the worst queen, then update the least-fittest queen with the best brood. Delete the best brood from the brood list. Step 7: Stopping rule: The test of MBO was terminated after four generations.

4.4. Branch-and-bound algorithm We adopt the depth-first search and assign jobs in a forward manner starting from the first position. In the searching tree, we choose a branch and systematically work down the tree until we either eliminate it by virtue of the dominance properties or the lower bound or reach its final node, in which case the resulting sequence either replaces the initial incumbent solution or is eliminated. The branch-and-bound algorithm works as follows: Step 1: Use MBO heuristics to obtain the best sequence as the initial incumbent solution.

Table 2 Performance of the branch-and-bound and MBO algorithms (n¼ 14).

k

0.25

s

0.25

R

0.25

0.50

0.75

0.50

0.25

0.50

0.75

0.50

0.25

0.25

0.50

0.75

0.50

0.25

0.50

0.75

0.75

0.25

0.25

0.50

0.75

0.50

0.25

0.50

0.75

a

0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75

Error percentages o 1

Valid sample size

99 99 97 100 100 100 99 99 99 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100

Branch-and-bound algorithm

Error percentages

CPU time

Number of nodes

MBO1

Mean

Max

Mean

Max

Mean

184.90 184.87 417.71 523.09 504.10 583.39 912.62 937.86 865.22 389.39 389.67 398.43 528.74 528.47 509.18 758.33 756.39 690.40 537.44 537.34 585.58 689.82 668.32 638.73 773.73 773.39 738.76 230.10 230.11 230.14 264.10 264.13 264.14 315.88 315.67 315.20 330.11 330.07 330.04 363.05 363.05 362.45 393.76 393.77 390.45 219.41 219.42 219.40 235.81 235.82 235.81 251.04 251.03 251.03

5132.17 5130.89 7488.47 7710.63 7187.45 7188.16 8403.19 8405.13 8403.38 2915.30 2914.77 3732.77 4093.22 4092.41 3361.86 4724.00 4642.94 4388.50 4513.78 4514.13 4983.98 4181.31 4180.44 3589.19 4038.31 4040.75 3205.81 954.89 954.72 954.66 1199.33 1199.02 1198.94 1418.92 1417.94 1416.64 1550.86 1549.88 1549.83 1733.11 1733.14 1732.56 1936.28 1938.28 1937.06 702.91 702.38 702.39 813.42 812.64 812.53 987.63 987.20 986.97

16,461,478 16,461,478 37,886,490 47,443,281 45,686,358 52,505,520 84,110,810 86,416,974 79,186,660 32,997,691 32,997,691 33,735,688 45,148,363 45,148,363 43,293,931 67,195,807 66,934,030 60,801,494 44,256,364 44,256,364 48,350,482 57,595,554 55,689,000 53,053,365 65,647,645 65,599,445 62,432,239 18,753,887 18,753,887 18,753,887 21,821,467 21,821,467 21,821,467 26,461,243 26,461,243 26,461,243 26,333,649 26,333,649 26,333,649 29,151,153 29,151,153 29,126,394 31,792,033 31,792,033 31,559,448 17,622,491 17,622,491 17,622,491 19,095,513 19,095,513 19,095,513 20,544,541 20,544,541 20,544,541

459,715,073 459,715,073 708,313,276 702,642,845 628,879,390 628,815,040 807,870,358 807,870,358 807,870,358 253,661,083 253,661,083 330,928,185 355,827,192 355,827,192 281,856,632 427,532,277 415,009,929 402,286,233 370,471,465 370,471,465 431,741,743 366,679,393 340,908,088 282,162,219 344,842,100 344,627,684 285,023,623 75,994,937 75,994,937 75,994,937 98,136,505 98,136,505 98,136,505 118,802,927 118,802,927 118,802,927 128,115,629 128,115,629 128,115,629 143,262,680 143,262,680 143,262,680 159,927,614 159,927,614 159,927,614 54,754,252 54,754,252 54,754,252 64,867,826 64,867,826 64,867,826 79,664,197 79,664,197 79,664,197

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.15 0.00 0.00 0.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

MBO2 Max 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15.38 0.00 0.00 30.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Mean 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

MBO3 Max 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Mean 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

MBO4 Max 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Mean 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.58 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

Max 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 57.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

Step 2: Branching: Apply the depth-first search in the branching procedure until all the nodes are explored or eliminated. Step 3: Eliminating: Apply Propositions 4.1–4.4, to eliminate the dominated partial sequences. Use Proposition 4.6 to determine the (kþ1)th position job. For the nondominated nodes, use Propositions 4.5 to attempt to determine the order of the unscheduled jobs. Step 4: Bounding: Calculate a lower bound on the total tardiness for each unfathomed partial sequence or the total tardiness of the completed sequence for the first agent. If the lower bound for an unfathomed partial sequence is larger than the initial incumbent solution, eliminate that node and all the nodes beyond it in the branch. If the value of the completed sequence is less than the incumbent solution, as adopt the completed sequence as the new incumbent solution. Otherwise, eliminate it. Step 5: Stopping rule: Repeat Steps 2–4 until no more nodes to explore.

5. Computational experiments The computational experiments were conducted to evaluate the performances of the branch-and-bound and MBO algorithms. All the algorithms were coded in Fortran using Compaq Visual Fortran version 6.6 and performed the experiments on a personal computer powered by an Intel Pentium(R) Dual-Core CPU E6300 at 2.80 GHz with 2GB RAM operating under Windows XP. The experimental design followed Reeves [38] design. Reeves [38] claimed that larger (relative) processing times mean that after a few jobs have been sequenced, all remaining jobs will be ready and thus can be sequenced by the SPT rule. Conversely, if the processing times are small then the important factor is the release time, so that sequencing in the ERT order should be adopted. For both cases, it is easy to find a good sequence. It is interesting to discuss the cases where release times cover a wide range of values with the largest being a significant fraction of the total of the job processing times. The processing times of the jobs were generated from a uniform distribution over the integers between 1 and 20. The release times were generated from a uniform distribution over the integers on (0, 20nl) where n is the job-size

3069

and l is a control variable. Three different sets of problem instances were generated by giving l the values 0.25, 0.5, and 0.75. Following Fisher [19], the due dates of the jobs were generated from a uniform distribution over the integers between Tð1tR=2Þ and Tð1t þ R=2Þ, where T is the sum of the normal P processing times of the n jobs, i.e., T ¼ ni¼ 1 pi , t took the values 0.25 and 0.5 while R took the values 0.25, 0.50, and 0.75. This yielded a total of six combinations of ðt,RÞ values: (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). Furthermore, the different values of Q, where only the jobs of the second agent are firstly sorted in the EDD, and then compute out the corresponding their total tardiness (say PB), meanwhile all of n jobs are arranged in the EDD rule, and then compute out the corresponding their total tardiness (say PAB). Furthermore, let Q ¼ a  P B þ ð1aÞ  P AB were also examined. For each problem size, the values of a were set at 0.25, 0.5, and 0.75, respectively. The proportion of the jobs of the second agent was fixed at 0.5 in the experiments. For the special case of nB¼0, we refer readers to the good work by Su and Chen [41]. For the branch-and-bound algorithm, the average and maximum numbers of nodes, and the average and maximum execution times (in seconds) were recorded. For the heuristic algorithms, the mean and maximum percentage errors were recorded. The percentage error of a solution produced by a heuristic algorithm were calculated as ðVV n Þ=V n , where V and Vn are denoted as the total tardiness of the heuristic and the optimal solutions, respectively. The computational times of the heuristic algorithms were not recorded because they all were fast in generating solutions. The computational experiments consisted of two parts. For the first part of the experiments, the numbers of jobs were fixed at 12 and 14. As a result, 36 experimental situations were examined. A set of 100 instances were randomly generated for each situation. The algorithms were set to skip to the next set of data if the number of nodes exceeded 109 . The instance with a number of nodes fewer than 109 was denoted as valid sample size. Based on preliminary trials, for the initial speed, if the probability of a drone mating with a queen is too low, then the mate of a queen

100,000,000 τ=0.25, R=0.25 τ=0.25, R=0.50 τ=0.25, R=0.75

80,000,000

τ=0.50, R=0.25

Average of node

τ=0.50, R=0.50 τ=0.50, R=0.75

60,000,000

40,000,000

20,000,000

0 0.25

0.50

λ Fig. 1. Performance of the branch-and-bound algorithms (n¼ 14).

0.75

3070

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

with a drone cannot occur. It is set at mutation rate 10% or 20%. For reduced rate of queen’s speed, a queen’s speed and reduced rate of queen’s speed can affect the probability of a drone mating with a queen. Therefore, reduced rate of queen’s speed still should be set at a higher value in order to cause a lower value of the probability of a drone mating with a queen. Thus, the reduced rate of queen’s speed is set at 0.99. For the energy, each queen has the same initial speed and energy, i.e., step ¼ 0:5  energy=m, where m denotes the number of spermatheca, and the new energy of a queen is obtained from energy ¼ energystep. If the new energy of a queen is approaching to zero, then the queen returns back to her

nest, and stop adding its sperm to the queen’s spermatheca. Thus, the value of energy of a queen should be not too small. The energy of a queen is set at 60. For the mutation rate, the shift mutation way was used for the new born brood. However, the value of shift mutation is set too high, and then MBO is not easily convergent. On the other hand, the value of shift mutation is set too low, and then MBO is easily getting trapped in a local optimum. Thus, the mutation rate is set at 10% or 20%. Four different parameters were considered in our proposed MBO. To ensure the feasibility of the test problem, jobs from agent B are placed first based on the EDD rule, and it is regenerated if any job from agent B is tardy. For

Table 3 RPD of MBO algorithms (n¼ 10).

k

0.25

s

0.25

R

0.25

a

0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 0.50 0.25 0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 0.50 0.25 0.25 0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 0.50 0.25 0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 0.75 0.25 0.25 0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 0.50 0.25 0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 Error percentages o 1

MBO1

MBO2

CPU time

RPD

Mean

Max

Mean

2.16 2.17 2.17 2.24 2.25 2.20 2.79 2.78 2.81 4.46 4.49 4.48 4.18 4.19 4.24 4.11 4.09 4.12 4.54 4.64 4.55 4.21 4.22 4.21 4.02 3.96 4.02 4.46 4.43 4.39 4.38 4.35 4.41 4.46 4.37 4.34 3.95 4.04 4.05 3.95 3.86 3.99 4.02 3.94 3.98 4.07 3.96 3.97 4.02 3.91 3.95 4.01 4.01 4.06

3.09 3.05 2.89 3.69 3.64 3.47 4.47 4.70 4.22 6.41 6.72 6.50 6.88 7.67 6.94 5.16 5.28 5.53 6.91 7.28 8.02 6.25 6.25 6.13 6.92 6.44 6.58 6.31 6.48 6.03 6.30 5.55 6.33 6.75 6.45 6.16 5.39 5.73 5.52 5.66 5.30 5.59 5.64 5.86 5.63 5.81 5.83 5.30 6.11 5.69 5.08 5.52 5.73 5.75

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.05 1.03 0.29 0.04 0.01 0.04 0.00 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 96.30%

MBO3

CPU time

RPD

Max

Mean

Max

Mean

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 180.00 70.00 16.17 2.56 0.73 3.64 0.00 1.28 0.53 0.46 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.03 0.03 0.03 0.06 0.06 0.00 0.00 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

2.17 2.16 2.16 2.25 2.23 2.22 2.80 2.77 2.77 4.51 4.56 4.57 4.27 4.26 4.28 4.16 4.10 4.16 4.74 4.79 4.77 4.36 4.37 4.34 4.08 4.15 4.12 4.71 4.69 4.69 4.61 4.69 4.59 4.57 4.61 4.60 4.18 4.24 4.22 4.14 4.07 4.14 4.15 4.19 4.22 4.26 4.20 4.35 4.17 4.17 4.21 4.20 4.23 4.29

2.91 3.03 2.84 3.55 3.75 3.81 4.27 4.23 4.55 6.63 6.36 6.48 7.34 7.16 7.75 5.42 5.41 5.28 7.89 8.19 8.88 6.63 7.22 5.81 6.81 7.55 7.63 6.91 6.83 6.55 5.95 6.73 6.14 6.06 6.14 6.52 5.98 6.08 6.39 5.80 5.59 6.03 5.39 5.38 5.47 5.80 5.73 5.84 5.50 5.91 5.58 5.41 6.19 5.73

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.38 0.29 0.64 0.02 0.00 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

MBO4

CPU time

RPD

Max

Mean

Max

Mean

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 9.62 7.66 30.00 1.80 0.13 3.86 0.00 0.27 0.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.02 0.00 0.04 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

2.18 2.17 2.18 2.25 2.27 2.24 2.85 2.86 2.85 5.00 5.01 5.01 4.75 4.76 4.79 4.61 4.60 4.62 5.33 5.44 5.37 4.91 4.87 4.91 4.56 4.57 4.58 4.87 4.97 4.91 4.87 4.94 4.88 4.87 4.93 4.89 4.10 4.19 4.22 4.08 4.12 4.09 4.15 4.18 4.11 4.10 4.04 4.15 4.07 4.09 4.09 4.08 4.16 4.18

3.08 3.25 2.91 3.59 3.64 3.53 4.52 4.64 4.64 6.64 7.02 7.25 8.30 8.98 8.47 6.20 5.94 6.14 9.14 8.78 7.92 6.88 7.05 6.88 7.61 7.81 6.97 6.97 6.83 6.80 6.66 6.56 6.39 6.59 6.48 6.64 5.84 5.86 6.06 5.45 5.80 6.16 5.28 5.97 5.23 6.02 5.41 5.86 5.52 5.58 5.33 5.59 5.81 6.22

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.53 1.50 2.55 0.01 0.07 0.04 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 94.44%

CPU time

RPD

Max

Mean

Max

Mean

Max

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 90.00 190.00 0.65 4.95 2.11 0.34 0.23 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

2.18 2.17 2.18 2.27 2.26 2.24 2.86 2.87 2.82 5.09 5.08 5.07 4.77 4.79 4.81 4.63 4.63 4.64 5.46 5.37 5.38 4.95 4.91 4.87 4.67 4.57 4.55 5.16 5.06 5.06 5.08 4.98 4.97 5.03 4.91 5.00 4.34 4.29 4.23 4.28 4.21 4.18 4.30 4.28 4.19 4.29 4.22 4.31 4.29 4.23 4.23 4.33 4.23 4.25

3.03 3.34 3.00 4.08 3.88 3.67 4.45 4.44 4.63 7.27 7.58 7.19 7.47 8.59 7.66 5.97 6.20 6.22 8.98 8.58 8.81 7.13 6.98 6.84 8.33 7.84 7.98 6.53 6.83 7.23 6.58 6.61 7.09 6.91 7.55 7.02 5.92 6.09 5.98 5.69 5.80 5.55 5.72 5.45 5.58 6.03 5.75 5.75 5.88 5.95 5.75 5.94 5.84 5.81

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6.54 1.03 3.15 0.01 0.01 0.02 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 94.44%

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 580.00 45.00 240.00 1.23 0.95 1.71 0.26 0.38 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.03 0.00 0.00 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

these settings, (queen’s speed, reduced rate of queen’s speed, queen’s energy, mutation rate) was taken as (5000, 0.99, 60, 10%) for MBO1, (5000, 0.99, 60, 20%) for MBO2, (10000, 0.99, 60, 10%) for MBO3, and (10000, 0.99, 60, 20%) for MBO4, respectively. The results were reported in Tables 1 and 2. As regards the performance of the branch-and-bound algorithm, it can be observed from Tables 1 and 2 and Fig. 1 that the number of nodes and the CPU time increase when n becomes bigger. When fixed n ¼14, there were eight instances unsolved shown in Table 2. Specifically, the situations were located at ðl, t,RÞ¼ (0.25, 0.25,0.25) and (0.25, 0.25,0.75) in which the

3071

branch-and-bound algorithm took the number of nodes over 109 . Fig. 1 and Table 2 also indicated that when fixed l ¼ 0:5, 0:75, the instances with a smaller value of t is more difficult than those with a bigger one. Table 5 was further reported summarized of Tables 1 and 2. The branch-and-bound algorithm took more nodes as l or t became smaller or R became bigger, however, the effect of a was not significant. Tables 1 and 2 released that the means of error percentage of MBOs are zero. It implies that four MBOs can obtain an optimal solution in the most cases except few cases. For the performances of proposed MBOs (s ¼ 1; 2,3; 4), it can be seen in Tables 1 and 2 that

Table 4 RPD of MBO algorithms (n¼ 20).

k

0.25

s

0.25

R

0.25

a

0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 0.50 0.25 0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 0.50 0.25 0.25 0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 0.50 0.25 0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 0.75 0.25 0.25 0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 0.50 0.25 0.25 0.50 0.75 0.50 0.25 0.50 0.75 0.75 0.25 0.50 0.75 Error percentages o 1

MBO1

MBO2

CPU time

RPD

Mean

Max

Mean

17.86 17.80 17.70 17.56 17.79 17.68 23.27 23.83 23.14 40.44 40.63 40.79 37.55 37.32 37.32 35.68 36.21 36.00 45.71 46.33 45.81 43.07 41.75 42.09 37.54 37.07 37.19 43.55 44.05 44.31 43.67 44.27 44.60 43.86 43.85 43.95 39.63 39.96 40.14 38.19 38.54 38.35 37.79 38.06 37.30 37.42 37.01 37.23 37.57 37.68 37.34 36.89 38.01 38.02

25.30 24.41 23.09 24.97 25.50 24.20 32.61 31.11 32.55 68.72 67.42 69.67 62.91 50.55 52.31 50.59 54.08 48.88 74.95 77.64 81.20 63.08 61.23 80.64 51.88 49.22 48.92 64.84 67.38 72.03 64.38 64.88 65.69 65.45 65.83 66.50 57.11 60.47 57.75 54.06 53.41 59.55 51.08 56.58 53.50 54.33 54.27 55.05 54.00 54.92 55.48 55.59 60.09 51.80

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.13 0.07 0.08 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

MBO3

CPU time

RPD

Max

Mean

Max

Mean

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.59 3.65 3.06 0.79 0.37 0.13 0.00 0.02 0.18 0.00 0.00 0.05 0.00 0.00 0.00 0.02 0.00 0.00 0.03 0.01 0.00 0.01 0.08 0.02 0.01 0.01 0.02 0.00 0.00 0.01 0.00 0.00 0.01 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.00

17.87 17.74 17.86 17.63 17.87 18.05 23.37 23.45 23.53 42.10 42.82 42.73 38.21 39.08 38.14 36.77 37.38 36.79 47.96 47.91 48.01 43.63 44.21 43.91 38.42 38.98 38.74 46.31 47.10 46.83 46.16 47.39 46.85 46.50 46.77 46.75 41.83 41.27 41.84 40.16 39.37 40.73 39.79 39.02 40.55 41.06 39.60 40.07 39.80 39.59 39.68 39.69 39.90 39.54

25.38 23.05 22.86 24.33 23.80 23.34 31.13 30.36 32.86 72.52 83.25 71.11 57.73 59.56 55.20 53.64 53.77 54.41 84.56 70.45 82.17 71.34 71.69 69.52 51.11 57.58 55.73 69.58 65.41 65.23 67.66 69.83 70.61 86.55 66.72 80.31 60.28 61.77 57.94 54.39 54.52 56.59 54.92 65.67 68.23 62.78 54.92 57.19 54.92 55.34 58.11 56.33 60.66 59.63

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.11 0.12 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

MBO4

CPU time

RPD

Max

Mean

Max

Mean

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.92 3.65 3.25 0.26 0.66 0.31 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.02 0.02 0.00 0.01 0.00 0.00 0.00 0.01 0.02 0.01 0.01 0.01 0.00 0.00 0.00 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

18.19 18.23 18.27 18.22 18.23 18.02 24.81 25.02 24.99 41.21 41.43 41.61 38.41 38.36 38.53 36.76 36.79 36.12 46.02 47.07 46.40 43.06 43.05 43.50 37.88 38.32 38.22 44.22 43.76 44.21 43.98 44.07 44.34 44.04 44.54 43.89 40.23 40.58 40.75 38.70 38.77 38.91 38.70 38.06 38.40 38.89 37.73 37.96 38.14 38.12 38.65 38.86 38.58 37.59

25.03 25.05 23.50 26.53 27.53 23.48 32.31 31.22 33.44 68.97 68.22 64.19 56.39 62.27 55.63 54.31 59.61 53.31 87.28 71.09 73.84 67.56 81.63 76.28 53.88 58.30 52.34 59.81 66.06 68.98 65.48 69.72 72.11 66.63 77.61 62.92 62.94 61.56 54.03 55.55 51.78 54.05 56.17 68.92 52.52 59.55 56.06 60.66 55.77 52.91 59.03 58.63 57.98 62.06

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.10 0.08 0.08 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

CPU time

RPD

Max

Mean

Max

Mean

Max

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.33 3.65 4.97 0.00 0.79 0.00 0.05 0.26 0.06 0.00 0.12 0.21 0.00 0.00 0.00 0.00 0.02 0.00 0.00 0.01 0.03 0.00 0.02 0.01 0.01 0.01 0.01 0.00 0.01 0.00 0.00 0.01 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

18.22 18.32 17.98 18.28 18.28 18.23 25.19 25.20 25.02 42.63 42.25 42.43 38.99 38.97 38.75 37.69 37.48 37.08 49.01 47.78 47.65 44.06 44.01 44.26 40.13 39.11 39.10 46.26 46.42 46.36 46.48 46.11 46.48 46.46 46.32 46.16 42.55 42.55 42.28 40.70 40.61 40.13 40.68 40.27 40.14 40.44 40.46 40.61 40.91 39.94 39.54 40.96 40.46 40.27

24.48 22.97 22.89 26.02 25.42 25.19 32.06 32.91 32.63 67.98 72.66 72.05 55.00 57.95 54.34 56.55 55.03 47.67 79.06 75.45 68.86 68.78 71.23 76.14 54.92 52.05 53.53 64.20 76.97 69.86 63.97 62.89 68.58 81.33 77.92 73.80 60.61 60.16 57.89 53.30 55.56 54.86 70.44 63.11 55.92 55.48 56.83 55.80 57.02 56.34 56.58 57.20 54.89 57.34

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.05 0.14 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00%

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.35 3.85 10.77 0.53 0.53 0.04 0.06 0.20 0.13 0.00 0.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.03 0.00 0.00 0.02 0.00 0.01 0.01 0.00 0.01 0.00 0.00 0.00 0.01 0.00 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00

3072

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

2.00%

Average of error percentages

τ=0.25, R=0.25

1.80%

τ=0.25, R=0.50

1.60%

τ=0.25, R=0.75

1.40%

τ=0.50, R=0.50

τ=0.50, R=0.25 τ=0.50, R=0.75

1.20% 1.00% 0.80% 0.60% 0.40% 0.20% 0.00% 0.25

0.50

0.75

λ Fig. 2. Performance of the MBO algorithms (n¼100).

the ratios of the mean of error percentage with less than 1% are up to 98% for all proposed MBOs. MBOs performed very well at most of the cases in which they can obtain by an optimal solution, except few cases. The results also showed that the performance of MBO3 was better than the others. In particular, MBO3 and MBO4 further showed that 1 out of 36 cases obtain an optimal solution, and that case also implied that MBO3 and MBO4 are slightly better than MBO1 and MBO2. The results also released that the performances of MBOs were not affected by the related parameters. It implied that the behaviors of MBOs are very stable and robust. For the second part of the experiments, it was further tested the performance of the proposed MBOs in solving instances with large numbers of jobs. Similar to the designs by Kirlik and Oguz [22], Li and Hsu [29], Wang and Tang [43], Rakrouki et al. [44], the numbers of jobs were set n at 100 and 200. t took the values 0.25 and 0.5 while R took the values 0.25, 0.50, and 0.75. This yielded a total of six combinations of ðt,RÞ values: (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). For each problem size, the values of a were set at 0.25, 0.5, and 0.75, respectively. As a result, 36 experimental situations were examined. A set of 100 instances were randomly generated for each situation. The proportion of the jobs of the second agent was fixed at 0.5 in the experiments. The average and maximum relative percentages were recorded for each MBO with four generations. The relative percentage with respect to the best known solution was obtained for each instance, where the best known solution were taken the best one among by performing each MBO with 10 generations. The mean execution time and mean relative deviance percentage were also recorded for each MBO. The relative deviance percentage RDP was given by ðMBOi MBOn Þ=MBOn , where MBO i is the value of the objective function generated by MBOi and MBOn is the smallest value of the objective function obtained from the four MBOs which were carried up to 10 generations. The results were reported in Tables 3 and 4. As shown in Fig. 2 and Tables 3 and 4, it can be observed that the ratios of RPD means of MBO1, MBO2, MBO3, and MBO4 with less 1% were all larger than 94%. MBO2 performs slightly better than MBO1, MBO3, and MBO4 in Table 3. Moreover, the results released that most

Table 5 Performance of the branch-and-bound. n

12

Parameter

l

t R

a

14

l

t R

a

25 50 75 25 50 25 50 75 25 50 75 25 50 75 25 50 25 50 75 25 50 75

Node Valid sample size

Mean

Max

7200 7200 7200 10,800 10,800 7200 7200 7200 7200 7200 7200 7168 7200 7200 10,768 10,800 7180 7200 7188 7192 7192 7184

771,136 739,367 692,463 734,541 734,103 648,660 704,959 849,349 725,253 720,871 756,843 49,690,242 38,777,236 24,075,600 45,343,600 29,672,240 27,524,679 36,430,187 48,524,698 37,343,006 37,248,993 37,897,330

13,227,875 3,729,617 2,746,758 13,227,875 4,378,393 13,227,875 7,873,427 9,454,630 9,454,630 8,046,041 13,227,875 807,870,358 431,741,743 159,927,614 807,870,358 427,532,277 708,313,276 702,642,845 807,870,358 807,870,358 807,870,358 807,870,358

of the cases have a zero of RPD, except few cases, for example, a bigger value of RDP was all located at l ¼ 0:25, t ¼ 0:5 and R¼0.25 no matter what MBO1, MBO2, MBO3, or MBO4. From Tables 3 and 4, it can be observed that each of MBOs solves an instance within 50 s, however, the branch-and-bound algorithm solving an instance over 30 jobs took so long that such an approach is impracticable. Tables 3 and 4 also indicated that the means of RPD of MBOs are zero. It implies that four MBOs can obtain a best solution in the most cases except few cases. In addition, all of proposed four MBOs kept a stable CPU time in solving those instances. The results also indicated that MBO2 was better than the other three MBOs for bigger numbers of jobs. Thus, MBO2 was recommended in terms of its solution quality and stability. For the experiments with the MIP, French [18] noted

Y. Yin et al. / Computers & Operations Research 39 (2012) 3062–3073

that the modeling techniques (e.g. MIP) used were of considerable importance elsewhere in operation research. However, French [18] also claimed that the standard mathematical programming algorithms are practically applicable only to small problems. In addition, Reeves [38] pointed out that both a branch-and-bound and MIP approaches are used, but MIP took even longer. Therefore, we report the experiments only with a branch-and-bound approach and MBOs.

6. Conclusions This paper addressed a two-agent single-machine scheduling problem with arbitrary release dates. In this paper we developed a mixed integer programming model and a branch-and-bound algorithm incorporated with some dominance rules and a lower bound to find the optimal solution for the problem. We also provided four marriage in honey-bees optimization algorithm (MBO) to obtain near-optimal solutions for the problem. The computational results showed that with the help of proposed MBOs, the branch-and-bound algorithm can solve out the instances well in terms of number of nodes and execution time when the number of jobs is fewer than or equal to 14. Moreover, the computational experiments also showed that both the proposed MBO performed well in terms of efficiency and solution quality except some cases. Further research lies in devising efficient and effective dominance rules to solve the problem with significantly larger number of jobs.

Acknowledgments The authors would like to express our warmest thanks to the referees for their interest in our work and their valuable comments for improving the paper. This paper was supported in part by the Natural Science Foundation for Young Scholars of Jiangxi, China (2010GQS0003); in part by the Science Foundation of Education Committee for Young Scholars of Jiangxi, China (GJJ11143); in part by the NSC under Grant no. NSC 99-2221-E035-057-MY3. References [1] Abbas HA. MBO: marriage in honey bees optimization, a haplometrosis polygynous swarming approach. In: The congress on evolutionary computation, CEC2001, Seoul, Korea, Mai 2001. [2] Abbas HA. A single queen single worker honey bees approach to 3-sat. In: The genetic and evolutionary computation conference, GECCO2001, San Francisco, USA, Juillet 2001. [3] Abbass HA, Teo J. A true annealing approach to the marriage in honey-bees optimization algorithm. In: The inaugural workshop on artificial life (AL’01), Adelaide, Australia, December 2001. p. 1–14, ISBN 0-7317-0508-4. [4] Agnetis A, Mirchandani PB, Pacciarelli D, Pacifici A. Scheduling problems with two competing agents. Operations Research 2004;52:229–42. [5] Agnetis A, Pacciarelli D, Pacifici A. Multi-agent single machine scheduling. Annals of Operations Research 2007;150:3–15. [6] 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. [7] Baker KR, Smith JC. A multiple criterion model for machine scheduling. Journal of Scheduling 2003;6:7–16. [8] Baptiste P, Carlier J, Jouglet A. Branch-and-bound procedure to minimize total tardiness on one machine with arbitrary release dates. European Journal of Operational Research 2004;158:595–608. [9] Benatchba K, Admane L, Koudil M, Madjour S, Alileche Y, Using bees to solve a data-mining problem expressed as a max-sat one. In: Lecture notes in computer science, vol. 3562. Springer-Verlag; 2005. [10] Chan FTS, Tiwari MK. Swarm intelligence: focus on ant and particle swarm optimization. Vienna, Austria: Itech Education and Publishing; 2007 p. 532, ISBN 978-3-902613-09-7. [11] Chang S, Lu Q, Tang G, Yu W. On decomposition of the total tardiness problem. Operations Research 1995;17:221–9.

3073

[12] 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. [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. P [14] Chu C, Portmann M-C. Some new efficient methods to solve the 19r j 9 T j scheduling problem. European Journal of Operational Research 1991;58: 404–13. [15] Chu C. A branch-and-bound algorithm to minimize total tardiness with different release dates. Naval Research Logistic 1992;39:265–83. [16] Della Croce F, Narayan V, Tadei R. The two-machine total completion time flow shop problem. European Journal of Operational Research 1996;90: 227–37. [17] Emmons H. One-machine sequencing to minimize certain functions of job tardiness. Operations Research 1969;17:701–15. [18] French S. Sequencing and scheduling: an introduction to the mathematics of the job shop. Ellis Horwood Limited; 1982. [19] Fisher ML. A dual algorithm for the one-machine scheduling problem. Mathematical Programming 1971;11:229–51. [20] Karaboga D, Akay B. A comparative study of Artificial Bee Colony algorithm. Applied Mathematics and Computation 2009;214:108–32. [21] Karaboga D, Basturk B. On the performance of Artificial Bee Colony (ABC) algorithm. Applied Soft Computing 2008;8:687–97. [22] Kirlik G, Oguz C. A variable neighborhood search for minimizing total weighted tardiness with sequence dependent setup times on a single machine. Computers & Operations Research 2012;39(7):1506–20. [23] Koulamas C. The single-machine total tardiness scheduling problem: review and extensions. European Journal of Operational Research 2010;202:1–7. [24] Koudil M, Benatchba K, Tarabet A, Sahraoui EB. Using artificial bees to solve partitioning and scheduling problems in codesign. Applied Mathematics and Computation 2007;186:1710–22. [25] Lawler EL. A pseudo-polynomial algorithm for sequencing jobs to minimize total tardiness. Annals of Discrete Mathematics 1977;1:331–42. [26] Lee WC, Chen SK, Chen WC, Wu CC. A two-machine flowshop problem with two agents. Computers and Operations Research 2011;38:98–104. [27] Lee WC, Chen SK, Wu CC. Branch-and-bound and simulated annealing algorithms for a two-agent scheduling problem. Expert Systems with Applications 2010;37:6594–601. [28] Lee K, Choi BC, Leung JYT, Pinedo ML. Approximation algorithms for multiagent scheduling to minimize total weighted completion time. Information Processing Letters 2009;109:913–7. [29] Li D, Hsu P. Solving a two-agent single-machine scheduling problem considering learning effect. Computers & Operations Research 2012;39(7): 1644–51. [30] Lenstra JK, Rinnooy Kan AHG, Brucker P. Complexity of machine scheduling problems. Annals of Discrete Mathematics 1977;1:343–62. [31] Leung JYT, Pinedo M, Wan G. Competitive two-Agent scheduling and its applications. Operations Research 2010;58:458–69. [32] Liu P, Tang LX, Zhou XY. Two-agent group scheduling with deteriorating jobs on a single machine. The International Journal of Advanced Manufacturing Technology 2010;47:657–64. [33] Liu P, Yi N, Zhou XY. Two-agent single-machine scheduling problems under increasing linear deterioration. Applied Mathematical Modelling 2011;35: 2290–6. [34] Mor B, Mosheiov G. Scheduling problems with two competing agents to minimize minmax and minsum earliness measures. European Journal of Operational Research 2010;206:540–6. [35] Ng CT, Cheng CTE, Yuan JJ. A note on the complexity of the two-agent scheduling on a single machine. Journal of Combinatorial Optimization 2006;12:387–94. [36] Perez-Uribe A, Hirsbrunner B. Learning and foraging in robot-bees, CEC2000. [37] Potts CN, Van Wassenhove LN. A decomposition algorithm for the single machine total tardiness problem. Operations Research Letters 1982;26: 177–82. [38] Reeves C. Heuristics for scheduling a single machine subject to unequal job release times. European Journal of Operational Research 1995;80:397–403. [39] Rinnooy Kan AHG. Machine scheduling problems: classification, complexity and computation. The Hague, The Netherlands: Nijhoff; 1976. [40] Szwarc W, Della Croce F, Grosso A. Solution of the single-machine total tardiness problem. Journal of Scheduling 1999;2:55–71. [41] Su L-H, Chen C-J. Minimizing total tardiness on a single machine with unequal release dates. European Journal of Operational Research 2008;186: 496–503. [42] Wan G, Vakati RS, Leung JYT, Pinedo M. Scheduling two agents with controllable processing times. European Journal of Operational Research 2010;205:528–39. [43] Wang X, Tang L. A hybrid metaheuristic for the prize-collecting single machine scheduling problem with sequence-dependent setup times. Computers & Operations Research 2010;37(9):1624–40. [44] Rakrouki MA, Ladhari T, T’kindt V. Coupling Genetic Local Search and Recovering Beam Search algorithms for minimizing the total completion time in the single machine scheduling problem subject to release dates. Computers & Operations Research 2012;39(6):1257–64.