A branch-and-bound procedure for a single-machine earliness scheduling problem with two agents

A branch-and-bound procedure for a single-machine earliness scheduling problem with two agents

Applied Soft Computing 13 (2013) 1042–1054 Contents lists available at SciVerse ScienceDirect Applied Soft Computing journal homepage: www.elsevier...

870KB Sizes 9 Downloads 100 Views

Applied Soft Computing 13 (2013) 1042–1054

Contents lists available at SciVerse ScienceDirect

Applied Soft Computing journal homepage: www.elsevier.com/locate/asoc

A branch-and-bound procedure for a single-machine earliness scheduling problem with two agents Yunqiang Yin a,b , Chin-Chia Wu c , Wen-Hsiang Wu d,∗ , Chou-Jung Hsu e , Wen-Hung Wu f a

State Key Laboratory Breeding Base of Nuclear Resources and Environment, East China Institute of Technology, Nanchang, Jiangxi 330013, China School of Mathematics and Information Sciences, East China Institute of Technology, Fuzhou, Jiangxi 344000, China Department of Statistics, Feng Chia University, Taichung, Taiwan d Department of Healthcare Management, Yuanpei University, Hsinchu, Taiwan e Department of Industrial Engineering and Management, Nan Kai College, Nantou, Taiwan f Department of Business Administration, Kang-Ning Junior College, Taipei, Taiwan b c

a r t i c l e

i n f o

Article history: Received 15 April 2012 Received in revised form 18 August 2012 Accepted 10 September 2012 Available online 17 October 2012 Keywords: Scheduling Single-machine Two-agent Total weighted earliness cost

a b s t r a c t This paper addresses a two-agent scheduling problem on a single machine where the objective is to minimize the total weighted earliness cost of all jobs, while keeping the earliness cost of one agent below or at a fixed level Q. A mixed-integer programming (MIP) model is first formulated to find the optimal solution which is useful for small-size problem instances. To solve medium- to large-size problem instances, a branch-and-bound algorithm incorporating with several dominance properties and a lower bound is then provided to derive the optimal solution. A simulated annealing heuristic algorithm incorporating with a heuristic procedure is developed to derive the near-optimal solutions for the problem. A computational experiment is also conducted to evaluate the performance of the proposed algorithms. © 2012 Elsevier B.V. All rights reserved.

1. Introduction Scheduling problems involving earliness costs have been extensively studied under various assumptions and objective functions as presented in the review of Baker and Scudder [7]. The problem of minimizing the earliness penalty in a single-machine scheduling problem when the jobs’ deadlines were determined by the equal slack (SLK) method was studied by Qi and Tu [30]. Chhajed [16] introduced a problem where n jobs were to be scheduled on a single machine. Jobs were assigned one of two deadlines, which were given at equal interval, job tardiness was not allowed, and the deadline cost was considered in addition to the earliness cost. In Asano and Ohta [6], not only was the deadline of each job known, but also the ready time was prespecified. They proposed an optimization algorithm using dominance relation for the scheduling problem. Their algorithm was based on the branch and bound approach. Ahmadi and Bagchi [1] studied the scheduling problem in which the objective was to minimize the total earliness cost subject to meeting deadlines. They showed that the problem was NP-complete and that the problem was equivalent to the problem of minimizing the total waiting time of all jobs subject to release times and a common

∗ Corresponding author. Tel.: +886 36102321; fax: +886 36102323. E-mail address: wenhsiang [email protected] (W.-H. Wu). 1568-4946/$ – see front matter © 2012 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.asoc.2012.09.026

deadline. They developed a branch and bound method to solve the problem. The problem of minimizing the total weighted earliness penalty, which is also the objective of this paper was first studied by Ahmadi and Bagchi [2]. They developed a branch and bound method based on unequal weights to solve the problem. Chand and Schneeberger [11] also studied the problem with this objective. They studied two types of problems, which they referred to as the Weighted Earliness Problem(WE-Problem), and the Constrained Weighted Earliness Problem (CWE-Problem). In their WE-problem, machine idle time can be inserted, but idle time is not permitted in CWE-problem. They showed that both problems were NP-hard, and that optimal solutions can be obtained by a polynomial time algorithm only in some specified situations. In their paper, they developed a dynamic programming based approach for solving the WE-problem. They also developed two heuristic algorithms for solving the CWE-problem and WE-problem, respectively. The heuristics were a modification of the Smith heuristic [31]. Pathumnakul and Egbelu [29] developed an effective solution procedure for solving large-scale single-machine scheduling problems with weighted earliness penalty through a heuristic approach. For more recent results about earliness penalty, the reader may also refer to Huang et al. [18] and Wang and Wang [33]. Scheduling with multiple agents has already received considerable attention in the literature. Baker and Smith [8] and Agnetis et al. [3] were among the pioneers that introduced multi-agent

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

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 [8] focused on minimizing a linear combination of the objectives of the two agents. Agnetis et al. [3] commonly used in standard bi-criteria problems to minimize the objective function value of one agent subject to a constraint (an upper bound) on the value of the objective function of the second agent. Baker and Smith [8], and Agnetis et al. [3] obtained different scenarios for different combinations of objective functions of the two agents on various machine settings. Despite the fact that scheduling problems involving two (or more) agents sharing the same processor can be found in many real-life applications, this topic has been studied by a relatively small number of researchers. Agnetis et al. [4] further analyzed the complexity of some multiagent scheduling problems on a single machine and proposed solution algorithms. They provided new results for two types of problems. Agnetis et al. [5] developed branch-and-bound algorithms for several NP-hard two-agent scheduling problems. Cheng et al. [13] 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. Cheng et al. [14] considered multi-agent scheduling on a single machine where the objective functions of the agents are of the max-form. Cheng et al. [12,15] considered two-agent scheduling problems with learning (and deteriorating) effects. They presented a branch-and-bound and several simulated annealing algorithms for the problems. Ng et al. [28] 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. Lee et al. [24] focused on minimizing the total weighted completion time, and introduced fully polynomial-time approximation schemes and an efficient approximation algorithm with a reasonable worst case bound. Janiak and Rudek [20] addressed the learning effect in a multi-agent optimization. Liu et al. [25,26] provided polynomialtime solutions for single-machine problems with deteriorating jobs. Wan et al. [32] 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 [27] considered the scheduling problems with two competing agents to minimize minmax and minsum earliness measures. Specifically, they focused on minimizing the 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. For more recent works, we refer readers to Wu et al. [37], Yin et al. [38–40], etc. In this paper, we consider a novel approach for modeling twoagent scheduling problem where the objective is to minimize the total weighted earliness cost of all jobs subject to an upper bound on the maximum earliness cost of agent B. This kind of scheduling problem is found in situations where tardiness cost is extremely high compared to earliness cost or when tardy jobs are prohibited. Another application can be found in production situations that involve many customers and the customers generally operate in a JIT environment where there is no tolerance for tardiness. The aim of this paper is to present a mixed-integer programming model and propose an efficient branch-and-bound method incorporating with a simulated annealing heuristic algorithm to solve the considered problem.

1043

This paper is organized as follows. The formulation of the problem is introduced in Section 2. In Sections 3 and 4, we discuss the NP-completeness of the considered problem and present a mixedinteger programming to solve the problem, respectively. In Section 5, some dominance properties and a lower bound are developed to enhance the search efficiency for the optimal solution, followed by descriptions of the heuristic and the branch-and-bound algorithms. The results of a computational experiment are also provided. Some conclusions are given in the last section.

2. Model formulation In this section, we introduce the notation and terminology which are used throughout the paper. Suppose that there are two competing agents, called agents A and B, respectively. Each of them has a set of non-preemptive jobs to be processed on a common machine. Let X ∈ {A, B}. The agent X has to execute the job set J X = {J1X , J2X , · · ·, JnXX }. All jobs are available for processing at time 0. The jobs of agent X are called X-jobs. The processing time, due-date and weight of job JjX in the set JX are denoted by pXj , djX and wjX , respectively, where j ∈ {1, 2, · · · , nX }. The job processing times, due-dates and weights 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 JjX will be denoted as CjX (S) and the

earliness of job JjX is given by EjX (S) = max{0, djX − CjX (S)}. We shall

write CjX and EjX for CjX (S) and EjX (S), respectively, whenever this does not generate confusion. The maximum of agent X is nA A earliness nB B X = max {EjX }. Also, let PA = p and PB = p . Emax j=1 j j=1 j j=1,2,···,nX

As commonly assumed in scheduling problems involving earliness, we restrict all the jobs to be completed prior to a prespecified common deadline (otherwise, we trivially schedule all the jobs sufficiently late to have no earliness cost). Let D denote the common deadline of all the jobs. In order to guarantee a feasible solution, we set D ≥ PA + PB . In the sequel, we will adopt the three-field notation scheme ˛|ˇ| A :  B introduced by Agnetis et al. [3] to denote the considered problem in this paper. The objective considered here is to minimize the total weighted earliness cost of all jobs subject to an upper bound earliness cost of the agent B, denoted by  on the maximum B 1|| J X ∈J A ∪J B wjX EjX : Emax ≤ Q. j

Computational complexity for 3.  B 1|| J X ∈J A ∪J B wjX EjX : Emax ≤Q j



In this section, we show that the problem 1||

J X ∈J A ∪J B j

wjX EjX :

B Emax ≤ Q is strongly NP-hard, even when the A-jobs share a common due-date djA = D.

Theorem 3.1.



Problem 1|djA = D|

J X ∈J A ∪J B j

B wjX EjX : Emax ≤ Q is

strongly NP-hard. Proof. Recall that, by Mor and Mosheiov [27], the problem 1|djA =



D|

J A ∈J A j

B wjA EjA ≤ Q1 , Emax ≤ Q2 is strongly NP-hard. Now let Q2 = 0.



Given an instance I of 1||

J X ∈J A ∪J B j

B wjX EjX ≤ Q1 , Emax ≤ Q2 . It is easy



to see that I is feasible for 1|djA = D|

if and only if I is feasible for 1|djA = D| Hence, the results follows.



J X ∈J A ∪J B

j 

J A ∈J A j

B wjX EjX ≤ Q1 , Emax ≤ Q2

B wjA EjA ≤ Q1 , Emax ≤ Q2 .

1044

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054



4. MIP model for 1||

J X ∈J A ∪J B j

B wjX EjX : Emax ≤Q

Mathematical programming formulation is a natural method of solving machine scheduling problems. In this section, we develop  B a MIP model for 1|| J X ∈J A ∪J B wjX EjX : Emax ≤ Q . In what follows, we j

assume that the jobs in JA ∪ JB are numbered from J1 to Jn , where n = nA + nB , such that



Jj =

JjA ,

if 1 ≤ j ≤ nA ,

B , Jj−n A

if nA + 1 ≤ j ≤ n.



Then problem 1||

J X ∈J A ∪J B j

B wjX EjX : Emax ≤ Q can be formulated

using a MIP model as follows. Notations: M, a very large positive number; si , the earliest starting time of job Ji ; Ci , the completion time of job Ji ; Ei , the earliness of job Ji ; xij , 1 if job Ji is scheduled before job Jj and 0 otherwise Objective function : min

n 

any optimal schedule that can be generated. Applying such rules in a set of precedence relations between jobs. These precedence relations are then used to reduce the number of branches in a branch-and-bound searching tree. 5.1. Dominance rules Assume that schedule S has two adjacent jobs JhX and JlY with JhX immediately preceding JlY , where X, Y ∈ {A, B}. Now, we create from S a new schedule S by swapping jobs JhX and JlY and leaving the other jobs unchanged in S. In addition, it is assumed that the starting time to process JhX in S is t. Assume that schedule S has two adjacent jobs JhX and JlY with JhX immediately preceding JlY , where X, Y ∈ {A, B}. Now, we create from S a new schedule S by swapping jobs JhX and JlY and leaving the other jobs unchanged in S. In addition, it is assumed that the starting time to process JhX in S is t. If JhX , JlY ∈ J A , ((min{dhA − t − pAh , pAl })/wlA ) ≤ Proposition 5.1. ((min{dlA − t − pAl , pAh })/whA ) and t + pAl < dlA , then S dominates S .

wi Ei

Proof. The complete time of the jobs JhA and JlA in S and S are respectively

i=1

Subjective to : ChA (S) = t + pAh

si + pi = Ci ,

(i = 1, · · ·, n)

(1)

di − Ci ≤ Ei ,

(i = 1, · · ·, nA )

ClA (S) = t + pAh + pAl

(2)

di − Ci ≤ Q,

(i = nA + 1, · · ·, n)

ClA (S  ) = t + pAl

(3)

Ci ≤ sj + M(1 − xij ), Cj ≤ si + Mxij ,

(1 ≤ i < j ≤ n)

(1 ≤ i < j ≤ n)

si ≥ 0,

Ci ≥ 0,

Ei ≥ 0,

(i = 1, · · ·, nA )

xij ∈ {0, 1},

(4) (5)

ChA (S  ) = t + pAl + pAh . Now to show that S dominates S , it suffices to show that whA EhA (S) + wlA ElA (S) ≤ wlA ElA (S  ) + whA EhA (S  ). In fact, it follows from ((min{dhA − t − pAh , pAl })/wlA ) ≤ ((min{dlA − t − pAl , pAh })/whA ) and t + pAl < dlA that

(i = 1, · · ·, n)

(1 ≤ i < j ≤ n)

and

(6)

The constraint sets (1) and (2) define the completion time of the jobs and the earliness of the A-jobs, respectively, while the conB straint set (3) meets the condition Emax ≤ Q . The constraint sets (4) and (5) impose the requirement that only one job may be processed at any time. That is, either Ci ≤ sj or Cj ≤ si will hold. By incorporating binary variable xij and a very large positive number M, constraints (4) and (5) together guarantee that one of these two constraints must hold but the other does not apply. Constraint set (6) specifies the non-negativity of si , Ci , and Ei , and establishes the binary restrictions for xij . The above MIP model can provide an optimal solution to the studied problem, which may be very difficult to solve with the increasing 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 the problem. 5.  A branch-and-bound algorithm for B 1|| J X ∈J A ∪J B wjX EjX : Emax ≤Q j

In this section, we will apply the branch-and-bound technique incorporating with a simulated annealing heuristic algorithm to search for the optimal solution. In order to speed up the search process, we will establish some dominance rules in the following subsection. Dominance rules are basically necessary conditions for

wlA ElA (S  ) + whA EhA (S  ) − (whA EhA (S) + wlA ElA (S)) = wlA max{dlA − t − pAl , 0} + whA max{dhA − t − pAl − pAh , 0} − (whA max{dhA − t − pAh , 0} + wlA max{dlA − t − pAh − pAl , 0}) = wlA (max{dlA − t − pAl , 0} − max{dlA − t − pAh − pAl , 0}) − whA (max{dhA − t − pAh , 0} − max{dhA − t − pAl − pAh , 0}) = wlA min{dlA − t − pAl , pAh } − whA max{min{dhA − t − pAh , pAl }, 0} ≥ 0, as required.



Proposition 5.2. If JhX , JlY ∈ J A , pAh ≥ pAl , dhA ≤ max{t + pAl , dlA } and whA ≤ wlA , then S dominates S . Proof. We consider the following cases. Case 1: dlA ≤ t + pAl . Then by pAh ≥ pAl and dhA ≤ max{t + pAl , dlA }, we have dhA ≤ t + pAl ≤ t + pAh . Thus it is easy to see that EhA (S) = ElA (S) = EhA (S  ) = ElA (S  ) = 0, and then whA EhA (S) + wlA ElA (S) ≤ wlA ElA (S  ) + whA EhA (S  ). Case 2: dlA > t + pAl . Then it is clear that ((min{dhA − t − pAh , pAl })/wlA ) ≤ ((min{dlA − t − pAl , pAh })/whA ) and so whA EhA (S) + wlA ElA (S) ≤ wlA ElA (S  ) + whA EhA (S  ) by Property 5.1. Thus, in both case, S dominates S , as required.  Proposition 5.3. If JhX , JlY ∈ J B , dhB − t − pBh ≤ Q , dlB − t − pBh − pBl ≤ Q < dlB − t − pBl , then S dominates S .

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

Proposition 5.4. If JhX , JlY ∈ J B , dhB − t − pBh ≤ Q , dlB − t − pBl ≤ Q and ((min{dhB − t − pBh , pBl })/wlB ) ≤ ((min{dlB − t − pBl , pBh })/whB ) and t + pBl < dlB , then S dominates S . Proposition 5.5. If JhX , JlY ∈ J B , dhB − t − pBh ≤ Q , dlB − t − pBl ≤ Q , pBh ≥ pBl , dhB ≤ max{t + pBl , dlB } and whB ≤ wlB , then S dominates S . Proposition 5.6. If JhX ∈ J A , JlY ∈ J B , dlB − t − pAh − pBl ≤ Q < dlB − t − pBl , then S dominates S . Proposition 5.7. If JhX ∈ J A , JlY ∈ J B , dlB − t − pBl ≤ Q and ((min{dhA − t − pAh , pBl })/wlB ) ≤ ((min{dlB − t − pBl , pAh })/whA ) and t + pBl < dlB , then S dominates S . Proposition 5.8. If JhX ∈ J A , JlY ∈ J B , dlB − t − pBl ≤ max{t + pBl , dlB } and whA ≤ wlB , then S dominates S .

Q,

pAh



pBl , dhA



Proposition 5.9. If JhX ∈ J B , JlY ∈ J A , dhB − t − pBh ≤ Q and ((min{dhB − t − pBh , pAl })/wlA ) ≤ ((min{dlA − t − pAl , pBh })/whB ) and t + pAl < dlA , then S dominates S . Proposition 5.10. If JhX ∈ J B , JlY ∈ J A , dhB − t − pBh ≤ Q , pBh ≥ pAl , dhB ≤ max{t + pAl , dlA } and whB ≤ wlA , then S dominates S . Next, we will present a proposition to determine the feasibility of a partial sequence. Let (,  ) be a sequence of jobs where  is the scheduled part with k jobs and  is the unscheduled part. Moreover, let C[k] be the completion time of the last job in .

1045

5.3. Simulated annealing algorithms It is well known that the computation effort can be further reduced by using a heuristic solution to act as an upper bound on the scheduling problem prior to the application of a branch-andbound algorithm. Furthermore, the search for optimal solutions for large-size jobs is time consuming, but an effective heuristic can supply a time-saving approximate solution with a small margin of error. In this section, we develop several simulated annealing algorithms  incorporatingA with a heuristic algorithm for the problem . We first provide the heuristic algorithm 1|| J X ∈J A ∪J B wjX EjX : Emax j

as follows. Heuristic algorithm (HA) Set t = D − (PA + PB ), JUA = J A , JUB = J B and l = 1; calculate the critical starting Step 1: times of B-jobs from djB − (sjB + pBj ) = Q ; If JUB = Step 2: / ∅, then if there exists job JjB ∈ JUB such that sjB ≤ t, then let J = {JjB |JjB ∈ JUB , sjB ≤ t}; if JUA = / ∅, then let

if

max{dX −t,pX } h

h

wX

JhX JhX JUB

= max

 max{dY −t,pY } j

h

j

in the lth position, set J[l] = ∈ J, then = JUB − {JhX }; go to step 2;

let

max{dB −t,pB } h

h

wB

= max

max{dB −t,pB } j

Algorithm 1. Step 1: Set w(n−k) = min {wjX } and sort the due dates and weights J X ∈US j

of jobs in US such that d(1) ≤ d(2) ≤ · · · ≤ d(n0 +n1 ) . Step 2: Set l = 1. Step 3: If l > n0 + n1 , go to Step 5. Step 4: Set C [k+l] = C [k+l−1] + pk+l , E(l) = max{d(l) − C [k+l] , 0}, l = l + 1, and go to Step 3. n0 +n1 Step 5: Compute LBUS = w(n−k) l=1 E(l) . Then the lower bound for partial sequence AS is

LB =

k  i=1

w[i] E[i] + LBUS .

(7)

j

wB j

else / ∅, then if JUA =

max{dA −t,pA } h

wA h

The efficiency of the branch-and-bound algorithm largely depends on the lower bound of the subproblem. Let AS be a partial sequence in which the order of the first k jobs is determined and US be the unscheduled part with n − k jobs with n0 A-jobs and n1 B-jobs where n0 + n1 = n − k. let C[k] denote the completion time of the kth job in AS. Now we assume that the jobs in US are numbered from Jk+1 to Jn according to the LPT order, i.e., pk+1 ≥ pk+2 ≥ · · · ≥ pn . The next problem is to assign completion times to jobs from US. Inspired by the ideas of Cheng et al. [15] and Lee et al. [23], and since the earliness value of B-jobs must be less than Q, the principle is to assign the completion times to B-jobs as early as possible without violating the constraint. The procedure is provided as follows.

l = l + 1 and t = t +

; assign job

pXh ;

 |JjB ∈ J

; assign job JhB in the lth

position, set J[l] = JhA , l = l + 1, JUB = JUB − {JhB }, and t = t + pBh ; go to step 2; endif

let

5.2. A lower bound

JhX ,

 |Y ∈ {A, B}, JjY ∈ J ∪ JUA

else JUA = JUA − {JhX }; go to step 2; endif else  h

Proposition 5.11. If pXh ≤ pYl implies dhX ≥ dlY and whX ≥ wlY for all jobs JhX and JlY in  , where X, Y ∈ {A, B}, then the LPT rule (i.e., in a nonincreasing order of pXj ) gives an optimal sequence for the remaining unscheduled jobs.

j

wY

h

= max

 max{dA −t,pA } j

j

wA j

 |JjA ∈ JUA

; assign job JhA in the lth

l = l + 1, = − and t = t + pAh ; go to step 2; position; set J[l] = else output the sequence S = (J[1] , J[2] , . . ., J[n] ); endif endif JhA ,

JUA

JUA

{JhA }

A method which seeks to avoid being trapped in a local minimum is simulated annealing (SA) algorithm proposed by Kirkpatrick et al. [21]. The method has been widely used to solve many complex problems (Garcia-Martinez et al. [17], Karasulu and Korukoglu [22], Lee et al. [23], Wu et al. [36], Zhao [41]). The main steps of SA algorithm include initial sequence, neighborhood generation, acceptance probability and stopping condition. For the initial sequence, HA algorithm is adopted as the initial sequence. For the neighborhood generation, the pairwise interchange (PI) neighborhood generation is used in the algorithms. In case a new schedule generated is not feasible, another schedule is regenerated. For the acceptance probability, the exponential distribution or min {1, exp(− ˛ × TWE)} is used in SA where ˛ = (k/ı) is an experimental constant in the kth iteration, and TWE is the change in the objective value Ben-Arieh and Maimon [9]. If a new schedule S1 with the total weighted earliness is less than that of the current best one S0 , then S0 is replaced by S1 with probability one. Otherwise, S0 is replaced by S1 with random r < min {1, exp(− ˛ × TWE)} where r is randomly sampled from the uniform distribution U(0, 1). For the stopping condition, based on our tests, it released that the quality of the schedule is stable after 200 × n iterations. Therefore, each SA algorithm is terminated at 200 × n iterations to each problem instance. Furthermore, in order to get a good quality of solutions, four ı (ı = 2, 6, 10, 14) are adopted in this paper. They are recorded as SA1 , SA2 , SA3 , and SA4 , respectively. Besides, each SA algorithm takes little computational time to obtain a solution, it is designated one more SA algorithm: SA5 = min {SAi , i = 1, 2, . . ., 4}, where min

1046

Table 1 Performance of the branch-and-bound and heuristic algorithms (n = 20). 

R

˛

ˇ

Branch-and-bound algorithm Valid sample size

Mean 0.25

0.25

0.25

0.50

0.75

0.50

0.25

0.50

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 < 5

SA2

Std

Mean

SA3

SA4

SA5

Error percentages

Std

Mean

Std

Mean

Std

Mean

Mean

Std

Mean

Std

Std

0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30

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

0.178 0.038 0.009 0.197 0.044 0.058 0.195 0.048 0.012 0.274 0.037 0.007 0.284 0.040 0.009 0.252 0.040 0.009 4.546 0.661 0.051 4.711 0.738 0.056 4.779 0.785 0.072

0.195 0.043 0.011 0.223 0.047 0.465 0.219 0.050 0.012 0.484 0.059 0.015 0.555 0.069 0.026 0.478 0.067 0.022 9.886 1.849 0.128 10.586 2.073 0.158 11.881 2.208 0.261

2921 494 100 3305 588 3230 3350 662 129 5737 597 101 5929 660 134 5220 656 125 128,982 18,198 1041 131,417 19,980 1163 132,387 20,926 1522

3526 608 108 4257 710 31,149 4356 817 147 11,189 1166 250 12,724 1461 524 10,952 1462 449 303,149 52,642 2948 310,121 57,254 3684 337,486 59,330 6179

0.33 0.26 0.85 0.31 0.55 0.87 0.29 0.53 0.59 0.45 1.35 1.44 0.51 1.75 2.14 0.58 0.99 2.06 0.31 0.99 1.42 0.31 1.18 4.98 0.37 0.87 3.93

1.32 0.77 2.44 1.01 1.67 2.17 1.01 1.40 2.14 0.94 2.55 4.09 1.50 5.96 4.99 1.99 2.30 4.59 0.90 2.22 4.83 0.85 2.65 21.54 1.06 1.89 14.52

0.29 0.28 0.91 0.14 0.28 0.89 0.19 0.42 0.74 0.43 0.82 0.94 0.44 0.73 1.52 0.42 0.75 1.35 0.24 1.39 3.02 0.27 0.92 3.80 0.36 0.83 5.05

1.10 0.90 2.60 0.44 0.82 3.65 0.54 1.24 2.18 0.98 2.12 2.61 1.00 2.09 3.89 1.11 1.93 3.88 0.67 3.17 12.83 0.69 2.18 11.29 1.23 1.75 20.13

0.30 0.43 0.44 0.28 0.25 0.56 0.29 0.31 0.97 0.45 0.90 1.73 0.35 1.05 1.18 0.39 0.90 1.12 0.46 1.14 3.78 0.34 1.08 2.78 0.26 1.05 1.76

1.22 1.11 1.85 1.08 0.67 1.92 1.00 0.91 3.63 0.87 2.10 4.62 0.62 2.85 2.95 0.68 2.17 3.21 1.25 2.83 12.60 0.54 2.56 7.03 0.46 2.24 4.97

0.40 0.53 0.29 0.20 0.36 0.32 0.39 0.35 0.44 0.60 1.02 1.68 0.67 0.97 1.21 0.50 1.21 1.35 0.50 1.48 3.20 0.61 1.00 3.11 0.65 0.90 3.62

1.00 1.59 1.06 0.40 0.91 0.97 1.01 0.99 1.29 1.25 3.68 6.05 0.91 2.48 2.73 1.19 3.81 3.26 0.68 2.96 11.17 1.29 2.01 10.53 1.25 1.91 13.44

0.02 0.05 0.08 0.03 0.04 0.01 0.08 0.03 0.07 0.11 0.14 0.31 0.10 0.27 0.21 0.03 0.17 0.09 0.03 0.31 0.44 0.01 0.18 0.16 0.03 0.16 0.40

0.07 0.23 0.72 0.17 0.34 0.13 0.47 0.19 0.44 0.44 0.79 1.49 0.42 1.50 0.96 0.19 0.88 0.47 0.15 1.25 1.79 0.05 0.78 0.95 0.11 0.77 1.67

0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30

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

0.004 0.002 20.914 0.005 0.002 0.001 0.005 0.002 0.001 0.003 0.002 0.000 0.004 0.001 0.001 0.003 0.001 0.001 0.016 0.008 0.004 0.018 0.008 0.004 0.021 0.008 0.004

0.007 0.005 209.071 0.007 0.005 0.003 0.008 0.005 0.003 0.006 0.005 0.003 0.011 0.004 0.003 0.012 0.004 0.003 0.053 0.041 0.031 0.065 0.046 0.033 0.095 0.047 0.034

36 8 1,579,934 44 10 4 45 9 4 26 46 1 41 10 2 43 8 1 310 147 53 343 152 53 413 152 54

42 11 15,795,108 55 16 16 56 12 17 75 383 7 172 34 11 191 34 7 1268 945 510 1511 989 510 2121 998 510

1.03 1.42 0.56 1.05 1.09 1.70 1.07 0.43 2.68 1.37 3.25 0.52 0.87 7.03 2.65 2.42 6.75 0.35 3.45 0.52 0.12 2.58 8.46 0.11 4.74 456.53 51.09

2.71 4.94 3.02 2.79 5.88 7.18 3.19 3.02 11.43 4.41 18.51 3.88 3.17 27.38 19.43 8.96 23.76 3.48 11.82 3.57 0.94 7.26 44.24 0.91 22.43 4549.85 509.99

1.12 1.30 3.58 0.78 0.50 1.77 0.30 0.46 8.92 1.04 5.02 316.61 1.37 3.90 2.67 2.96 6.21 0.17 2.34 3.18 0.00 2.96 0.95 0.00 396.73 0.56 0.12

3.76 5.15 22.61 1.96 2.38 8.66 0.96 2.34 53.41 2.91 22.11 3079.80 3.76 19.37 19.21 13.84 23.98 1.74 6.87 16.16 0.00 11.57 6.25 0.00 3839.20 2.59 0.94

1.18 0.67 4.07 0.88 1.19 6.40 0.92 1.47 4.25 1.47 4.44 2.67 1.98 3.81 359.04 3.30 4.88 0.17 3.52 3816.14 0.00 3.63 1.97 0.00 11.55 3.06 0.86

3.08 3.63 21.21 2.47 5.48 50.66 2.53 5.19 21.91 5.08 19.95 19.21 7.34 19.97 3364.27 13.97 19.57 1.74 18.49 38,109.50 0.00 14.37 11.63 0.00 46.20 17.96 8.26

0.54 0.70 5.78 0.86 0.95 6.68 0.72 0.49 12.10 1.62 8.10 2.04 0.99 2.71 0.52 2.31 3.86 342.75 2.00 7.72 0.03 5.50 9.86 0.03 4.85 1.62 0.00

2.41 4.29 49.84 2.60 5.34 50.23 1.99 1.88 57.03 6.54 28.52 18.76 4.48 18.46 3.88 8.36 19.39 3194.55 6.53 44.44 0.34 21.38 62.65 0.34 19.99 7.07 0.00

0.21 0.00 0.02 0.16 0.20 0.00 0.09 0.00 0.07 0.14 0.44 0.17 0.06 0.03 0.17 0.23 0.11 0.00 0.31 0.00 0.00 0.72 0.32 0.00 0.82 0.18 0.00

1.80 0.00 0.19 0.77 1.73 0.00 0.48 0.04 0.53 1.07 2.89 1.74 0.56 0.32 1.74 1.53 1.08 0.00 1.33 0.00 0.00 5.16 2.91 0.00 5.19 1.67 0.00

90.74%

88.89%

92.59%

85.19%

100.00%

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

0.75

SA1 Number of nodes

CPU time

Table 2 Performance of the branch-and-bound and heuristic algorithms (n = 24). 

R

˛

ˇ

Branch-and-bound algorithm Valid sample size

0.25

0.25

0.25

0.50

0.75

0.50

0.25

0.50

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

Number of nodes

SA3

SA4

SA5

Error percentages

Mean

Mean

Mean

Std

Mean

Std

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

2.961 0.389 1.668 3.204 0.431 0.082 3.128 0.451 0.087 4.673 0.390 0.045 5.143 0.425 0.048 5.515 0.475 0.051 215.931 20.116 1.914 252.517 21.109 1.845 251.119 20.454 1.716

3.886 0.434 15.648 4.267 0.472 0.156 4.713 0.543 0.162 7.974 0.729 0.087 10.092 0.876 0.089 11.813 1.094 0.096 443.765 48.937 7.266 562.085 48.341 6.808 586.323 43.950 5.904

37,725 4022 94,739 41,395 4407 1516 41,114 4728 1551 71,937 4849 443 79,600 5268 450 85,906 5899 475 3,933,048 371,707 28,574 4,518,652 388,235 27,476 4,422,774 368,793 25,455

57,311 5323 917,535 64,014 5843 9661 71,654 6878 9664 130,563 10,006 969 167,720 12,253 1004 199,713 15,152 1054 8,623,570 859,011 114,383 10,623,113 856,478 108,524 10,695,824 761,739 95,293

0.31 0.41 0.83 0.28 0.37 1.01 0.22 0.62 0.62 0.72 1.11 3.33 0.69 1.05 1.01 0.69 0.77 1.95 0.39 1.86 3.75 0.54 1.07 5.52 0.49 1.43 4.12

0.78 0.89 1.86 0.66 1.11 2.50 0.56 1.57 1.23 1.63 2.44 19.59 1.88 2.13 2.21 1.73 1.75 3.80 0.82 4.14 8.31 1.20 2.65 11.86 1.54 4.67 9.34

0.22 0.62 0.50 0.30 0.29 0.73 0.27 0.42 0.44 0.60 0.93 2.25 0.52 0.86 1.72 0.65 0.97 1.62 0.44 1.48 4.11 0.35 1.32 3.74 0.64 0.78 3.47

0.51 1.40 1.48 0.57 0.69 1.60 0.56 1.05 1.01 1.65 2.19 8.86 1.23 2.22 5.46 1.34 2.35 3.37 1.04 3.74 8.93 0.74 3.50 8.86 1.74 2.68 7.77

0.38 0.39 0.65 0.41 0.48 0.47 0.43 0.51 0.51 0.70 0.70 2.12 0.73 0.89 2.00 0.58 0.57 1.40 0.77 1.38 3.85 0.63 1.19 3.45 0.78 1.07 3.88

0.56 0.79 1.60 0.58 1.12 1.04 0.63 1.32 1.19 1.27 1.63 5.41 1.20 1.66 6.14 0.88 1.05 3.87 1.16 3.46 9.97 1.08 2.36 8.95 1.69 3.10 9.16

0.48 0.50 0.46 0.62 0.53 0.54 0.58 0.45 0.57 0.88 0.94 1.56 0.97 1.01 1.06 1.00 0.97 1.33 0.72 1.44 3.10 0.82 1.48 3.77 0.78 0.87 4.34

0.50 0.95 1.18 0.86 1.20 1.11 0.71 1.14 1.42 1.19 1.99 5.18 1.55 2.35 2.15 1.36 2.20 2.54 0.68 2.66 8.32 0.89 2.82 8.83 0.73 1.64 9.76

0.05 0.06 0.11 0.05 0.04 0.15 0.06 0.04 0.16 0.20 0.09 0.23 0.13 0.12 0.25 0.16 0.08 0.29 0.11 0.34 0.71 0.08 0.21 1.15 0.09 0.05 1.47

0.14 0.21 0.64 0.12 0.15 0.50 0.18 0.16 0.50 0.78 0.31 0.73 0.76 0.73 0.81 0.67 0.27 0.95 0.38 2.04 3.77 0.26 1.03 4.97 0.21 0.16 5.50

0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30

100 100 100 100 100 100 100 100 100 100 100 100 100 100 99 100 100 100 100 100 100 100 100 100 100 100 100

1.345 39.684 0.002 1.358 0.004 0.001 1.373 0.577 0.001 0.013 2.576 0.002 0.118 0.004 0.002 0.013 0.004 0.006 0.331 0.173 0.100 0.333 0.171 0.101 0.311 0.164 0.100

13.292 396.800 0.006 13.400 0.007 0.004 13.529 5.720 0.004 0.024 25.721 0.007 0.853 0.011 0.007 0.022 0.011 0.048 1.543 1.371 0.976 1.525 1.352 0.976 1.347 1.276 0.970

71,058 2,192,181 26 71,060 24 8 71,110 32,104 9 234 155,634 6 7974 25 6 111 31 304 3789 2009 1323 3945 1995 1323 3739 1944 1323

709,462 21,921,636 195 709,462 34 24 709,457 320,738 34 1187 1,556,004 38 62,802 73 39 301 97 3019 17,907 16,726 13,093 17,878 16,606 13,091 16,393 16,082 13,092

0.87 1.38 2.43 1.31 1.31 2.64 1.54 1.24 3.02 3.58 5.87 81.15 2.15 10.95 0.13 3.50 10.59 1.34 4.60 3.71 2.44 28.08 5.81 440.61 7.77 5.17 0.96

2.21 3.98 7.77 3.88 3.74 9.98 4.04 3.70 15.17 8.45 20.08 809.99 5.24 35.98 0.94 9.12 32.18 11.05 16.71 14.18 18.80 183.47 22.71 4399.94 30.96 24.47 5.38

1.12 2.78 1.13 1.19 2.38 2.33 0.51 1.38 2.95 4.01 7.14 0.58 2.23 5.46 259.82 2.88 2.25 1.20 4.75 2.12 0.82 5.03 346.62 0.85 8.70 9.57 473.95

5.01 11.48 4.86 5.00 9.11 7.34 2.06 4.39 12.28 10.07 29.25 3.38 6.35 18.22 2572.80 6.68 8.45 11.00 18.50 8.22 4.75 18.07 3349.83 5.22 25.91 56.99 4729.91

0.73 1.57 4.02 0.63 1.01 1.84 0.54 2.19 3.24 2.09 6.17 1.65 2.76 5.92 1.99 2.99 11.84 2.34 5.91 18.90 2.32 4.06 8.48 0.78 4.25 3.90 521.25

1.92 5.11 15.53 1.77 3.44 6.71 1.50 7.00 11.66 7.67 28.27 11.39 7.50 23.16 17.65 6.46 34.14 12.74 14.70 91.07 18.75 14.94 79.73 5.13 11.81 19.67 5199.88

0.45 0.62 5.10 0.64 1.48 2.00 0.66 0.57 1.57 2.02 2.30 1.54 2.23 7.94 2.15 1.71 4.97 110.35 6.95 6.12 0.79 5.45 14.14 0.85 8.56 5.33 0.78

1.56 1.89 21.06 1.78 4.24 6.78 1.71 3.04 5.31 6.25 13.11 11.36 5.67 22.90 17.67 4.80 17.06 1079.91 22.31 35.32 5.22 19.88 85.78 5.31 27.55 32.29 4.41

0.04 0.08 0.51 0.04 0.21 0.77 0.12 0.02 0.04 0.68 1.69 0.10 0.46 1.72 0.00 0.57 1.08 1.12 0.10 0.39 0.48 0.35 0.31 0.41 0.38 0.21 0.24

0.24 0.42 2.51 0.24 1.58 5.07 0.77 0.15 0.42 3.41 12.69 0.81 2.56 12.79 0.00 2.22 6.99 10.98 0.56 2.37 3.86 1.44 2.38 3.75 2.00 1.29 1.52

85.19%

Std

Mean

87.04%

Std

Mean

Std

0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30

81.48%

Std

Mean

83.33%

Std

100.00%

1047

Error percentages < 5

CPU time

SA2

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

0.75

SA1

1048

Table 3 Performance of the branch-and-bound and heuristic algorithms (n = 28). 

R

˛

ˇ

Branch-and-bound algorithm Valid sample size

Mean 0.25

0.25

0.25

0.50

0.75

0.50

0.25

0.50

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 < 5

100 100 99 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 93 100 100 95 100 100 94 100 100

0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30

99 100 100 99 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100

Std

55.928 140.265 5.282 14.647 7.006 64.017 95.365 48.121 5.113 12.027 0.566 1.424 35.060 48.312 5.698 4.085 0.695 0.494 75.923 181.493 2.566 6.392 0.736 0.209 147.414 61.242 3.704 2.137 0.174 0.422 56.195 149.040 3.991 2.194 0.459 0.191 10,462.482 17,755.565 828.874 3023.181 527.439 59.098 11,131.563 19,407.399 912.037 3587.560 58.072 509.971 10,345.716 19,310.281 3149.661 855.381 53.855 467.749 0.101 0.013 0.003 136.393 0.015 0.003 80.289 0.015 0.003 0.445 0.006 0.003 0.328 0.006 0.003 0.342 0.006 0.003 3.231 0.075 0.005 3.080 0.076 0.006 3.134 0.081 0.006

SA2

0.244 0.015 0.006 1355.914 0.021 0.006 801.794 0.016 0.006 2.995 0.014 0.018 2.004 0.014 0.018 2.051 0.015 0.019 19.869 0.580 0.038 19.404 0.583 0.042 18.882 0.586 0.042

SA3

SA4

SA5

Error percentages

Mean

Mean

Std

Mean

Std

Mean

Std

Std

Mean

Std

555,907 43,823 270,971 467,570 42,266 3922 321,256 30,994 3127 793,004 21,333 2058 625,288 16,691 1380 574,431 17,451 1472 123,443,019 9,756,830 751,130 127,600,659 10,741,407 738,329 117,150,889 10,024,444 678,834

2,048,230 185,824 2,644,450 1,372,461 158,870 16,033 545,294 63,832 7464 2,097,032 70,052 12,622 1,633,359 35,758 6494 1,635,449 39,549 6702 216,515,226 36,081,735 6,848,518 226,827,333 42,690,121 6,631,301 223,310,627 37,296,932 6,039,274

0.42 0.69 0.92 0.41 0.59 0.86 0.36 0.49 0.90 0.65 1.77 1.84 0.61 1.19 2.04 0.43 1.21 2.51 0.58 1.28 4.39 0.38 1.74 4.32 0.38 1.92 5.32

0.82 1.09 1.69 0.69 0.96 1.51 0.64 0.97 1.66 1.18 2.96 2.96 1.36 2.17 3.83 1.02 2.43 4.37 1.20 2.73 7.27 0.84 4.19 11.27 0.86 3.47 9.13

0.40 0.50 0.91 0.39 0.52 0.67 0.52 0.49 0.63 0.62 1.30 2.06 0.48 1.57 2.47 0.49 1.44 2.81 0.48 1.37 3.55 0.53 1.34 2.54 0.71 2.15 4.19

0.55 0.84 2.77 0.59 0.99 1.46 0.74 1.01 1.30 1.11 2.66 4.22 0.53 2.49 4.11 0.62 3.18 6.22 0.83 3.12 6.81 0.69 2.22 5.24 1.26 5.52 7.44

0.57 0.62 1.11 0.57 0.55 0.92 0.63 0.65 0.71 0.67 1.22 1.38 0.75 1.88 1.55 0.70 1.18 1.87 0.82 1.15 5.78 0.76 1.32 3.54 0.83 1.19 4.34

0.64 1.03 1.88 0.53 0.92 1.62 0.66 1.04 1.39 0.82 2.03 2.77 0.65 3.62 3.20 0.89 1.94 3.55 0.97 2.39 11.49 0.73 2.69 7.10 0.93 2.16 8.21

0.87 0.66 0.68 0.83 0.63 0.66 0.81 0.65 0.90 1.06 1.30 1.80 1.04 1.27 2.45 1.04 1.51 1.09 1.15 1.77 2.93 1.06 1.58 2.87 1.24 1.33 3.79

0.74 1.04 1.38 0.73 1.04 1.39 0.64 0.99 1.80 0.98 2.28 3.79 0.79 1.97 3.93 1.03 2.30 2.32 1.01 3.02 4.72 0.78 2.48 5.44 0.98 1.70 6.70

0.12 0.12 0.09 0.15 0.10 0.15 0.12 0.16 0.19 0.20 0.26 0.29 0.13 0.31 0.48 0.12 0.31 0.35 0.24 0.47 0.71 0.16 0.24 0.78 0.26 0.36 1.07

0.26 0.35 0.31 0.22 0.29 0.64 0.25 0.63 0.64 0.46 0.74 1.10 0.23 0.98 1.70 0.25 1.16 1.23 0.77 2.01 1.90 0.43 0.65 2.92 0.81 0.98 3.26

565 58 12 4,467,608 72 14 2,494,122 54 15 14,888 31 8 11,551 43 8 11,798 35 8 41,376 338 16 33,112 340 16 40,368 527 16

2196 104 51 44,445,375 175 53 24,935,514 110 48 102,938 82 81 81,274 108 80 81,333 85 80 232,360 2642 162 214,914 2645 162 222,733 3227 162

1.03 2.08 1.88 1.19 1.80 1.87 1.07 2.05 5.23 3.39 4.79 1.33 3.83 5.31 0.34 4.91 7.42 257.06 309.35 25.14 0.33 14.98 23.62 0.00 16.24 1.56 0.00

2.80 4.37 6.60 2.63 5.39 7.87 2.26 4.37 19.50 7.54 14.23 8.53 9.02 14.51 3.37 10.69 18.91 2559.91 2989.32 211.08 3.28 55.66 210.59 0.00 57.17 9.78 0.00

1.16 2.37 1.35 0.96 1.69 2.13 1.07 1.28 1.98 3.75 4.78 256.27 4.01 5.19 0.43 2.74 3.53 256.76 7.89 6.29 0.71 7.37 25.19 0.00 12.31 2.64 0.00

2.40 5.22 4.48 2.10 3.77 8.00 2.27 3.25 6.19 8.52 14.37 2559.97 10.21 15.18 3.12 6.48 10.28 2559.93 22.43 33.33 5.02 20.53 210.65 0.00 29.52 14.08 0.00

0.74 2.06 2.03 0.69 1.32 1.82 0.89 2.20 1.77 2.95 6.15 256.61 3.97 4.06 256.96 3.08 10.09 1.40 8.33 1.34 0.55 400.44 4.25 0.00 95.37 524.64 0.88

1.76 4.03 6.63 1.63 3.03 6.33 1.85 6.79 6.00 7.75 18.55 2559.94 11.23 14.59 2559.92 6.74 25.32 8.95 20.76 6.32 5.54 3909.15 25.08 0.00 800.45 4981.82 6.41

1.23 1.81 1.51 0.89 1.74 1.10 0.72 1.26 1.65 4.10 5.61 0.34 3.17 4.76 0.66 3.03 6.16 0.08 10.43 2.28 0.00 9.04 115.73 0.00 311.22 494.95 0.38

3.81 5.29 5.58 2.07 6.41 3.58 1.57 2.85 5.64 10.45 14.32 3.37 8.07 16.00 4.65 7.51 17.63 0.80 46.71 13.05 0.00 22.46 1139.86 0.00 2989.13 4682.07 3.84

0.25 0.35 0.29 0.23 0.05 0.29 0.23 0.15 0.53 0.46 0.63 0.00 0.64 0.34 0.16 0.65 0.14 0.00 1.75 0.65 0.00 1.78 0.20 0.00 3.48 0.25 0.00

1.14 1.69 2.27 1.20 0.29 1.38 1.13 0.76 3.97 1.29 3.09 0.00 2.09 1.52 1.60 2.23 0.67 0.00 9.75 4.28 0.00 8.92 1.73 0.00 14.58 1.94 0.00

81.48%

Std

Mean

85.19%

83.33%

87.04%

100.00%

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

0.75

0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30

SA1 Number of nodes

CPU time

Table 4 RPD of heuristic algorithms (n = 40). 

R

˛

ˇ

SA1

SA2

CPU time

0.25

0.25

0.25

0.50

0.75

0.50

0.25

0.50

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

Mean

0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30

0.0111 0.0114 0.0109 0.0108 0.0111 0.0113 0.0117 0.0109 0.0111 0.0144 0.0116 0.0117 0.0125 0.0119 0.0131 0.0152 0.0123 0.0111 0.0141 0.0119 0.0134 0.0105 0.0128 0.0133 0.0119 0.0131 0.0136

0.0071 0.0070 0.0072 0.0073 0.0071 0.0071 0.0068 0.0072 0.0071 0.0043 0.0069 0.0068 0.0063 0.0067 0.0058 0.0027 0.0064 0.0071 0.0047 0.0067 0.0054 0.0074 0.0060 0.0056 0.0067 0.0058 0.0053

0.15 0.36 0.67 0.25 0.32 0.72 0.08 0.39 0.83 0.36 1.23 1.18 0.27 0.93 1.74 0.40 1.22 2.04 0.26 1.16 5.38 0.10 1.36 3.80 0.11 1.13 4.91

0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30

0.0113 0.0114 0.0113 0.0113 0.0116 0.0106 0.0116 0.0114 0.0116 0.0128 0.0108 0.0109 0.0122 0.0120 0.0103 0.0114 0.0119 0.0105 0.0122 0.0114 0.0105 0.0130 0.0116 0.0113 0.0127 0.0111 0.0106

0.0071 0.0070 0.0071 0.0071 0.0069 0.0073 0.0069 0.0070 0.0069 0.0060 0.0073 0.0072 0.0065 0.0066 0.0074 0.0070 0.0067 0.0074 0.0065 0.0070 0.0074 0.0059 0.0069 0.0071 0.0062 0.0071 0.0073

1.23 1.37 5.12 1.11 1.58 3.47 0.87 1.14 3.35 3.54 7.00 0.00 2.17 5.16 0.10 3.21 6.50 0.13 16.10 1725.94 0.09 4.36 1611.56 0.00 12.76 1202.69 0.67 81.48%

CPU time Std

RPD

Mean

Std

Mean

0.44 0.72 1.32 0.51 0.66 1.24 0.27 0.84 1.40 1.00 1.76 2.22 0.69 1.70 3.38 0.92 1.80 4.19 0.56 1.96 12.14 0.29 2.99 7.21 0.28 2.27 9.09

0.0105 0.0106 0.0109 0.0106 0.0111 0.0111 0.0108 0.0113 0.0106 0.0097 0.0105 0.0109 0.0098 0.0122 0.0105 0.0095 0.0109 0.0117 0.0106 0.0123 0.0116 0.0125 0.0120 0.0117 0.0125 0.0120 0.0117

0.0074 0.0073 0.0072 0.0073 0.0071 0.0071 0.0073 0.0071 0.0073 0.0076 0.0074 0.0072 0.0076 0.0065 0.0074 0.0077 0.0072 0.0068 0.0073 0.0064 0.0069 0.0063 0.0066 0.0068 0.0063 0.0066 0.0068

0.27 0.35 0.58 0.41 0.33 0.41 0.38 0.38 0.65 0.53 0.58 2.42 0.48 1.11 2.65 0.49 1.19 1.79 0.43 0.94 3.92 0.55 1.21 3.25 0.44 1.22 3.26

2.52 2.36 16.42 1.86 2.88 8.02 1.76 2.73 10.10 8.53 21.11 0.00 3.25 12.88 0.69 5.69 20.61 0.97 81.08 11,475.84 0.92 10.72 11,464.46 0.00 78.74 11,709.85 6.67

0.0109 0.0111 0.0106 0.0109 0.0109 0.0114 0.0109 0.0113 0.0106 0.0103 0.0119 0.0103 0.0122 0.0125 0.0106 0.0125 0.0113 0.0108 0.0131 0.0113 0.0108 0.0123 0.0109 0.0103 0.0120 0.0119 0.0109

0.0072 0.0071 0.0073 0.0072 0.0072 0.0070 0.0072 0.0071 0.0073 0.0074 0.0067 0.0074 0.0065 0.0063 0.0073 0.0063 0.0071 0.0073 0.0058 0.0071 0.0073 0.0064 0.0072 0.0074 0.0066 0.0067 0.0072

1.12 1.81 4.49 0.85 1.11 2.27 1.03 1.49 4.16 2.56 6.14 54.00 2.64 8.69 0.10 3.57 12.29 781.66 7.14 2540.20 0.04 15.61 2156.91 0.24 37.87 3.18 0.00 81.48%

CPU time Std

RPD

Mean

Std

Mean

0.35 0.51 1.22 0.59 0.57 0.83 0.50 0.65 1.10 0.73 1.18 4.43 0.69 1.70 4.28 0.73 1.83 3.58 0.47 1.62 8.70 0.48 2.48 4.92 0.44 2.48 6.70

0.0108 0.0105 0.0102 0.0113 0.0106 0.0108 0.0106 0.0103 0.0109 0.0102 0.0117 0.0113 0.0127 0.0102 0.0106 0.0072 0.0113 0.0116 0.0109 0.0109 0.0122 0.0117 0.0122 0.0125 0.0120 0.0113 0.0117

0.0073 0.0074 0.0075 0.0071 0.0073 0.0073 0.0073 0.0074 0.0072 0.0075 0.0068 0.0071 0.0062 0.0075 0.0073 0.0078 0.0071 0.0069 0.0072 0.0072 0.0065 0.0068 0.0065 0.0063 0.0066 0.0071 0.0068

0.69 0.57 0.68 0.67 0.57 0.69 0.82 0.56 0.81 0.98 1.65 2.12 0.94 1.17 2.03 1.04 1.23 1.70 1.05 1.11 3.86 0.96 1.52 4.05 0.96 1.48 5.00

2.21 3.33 15.58 1.74 3.27 6.81 1.84 3.30 14.40 4.78 18.02 540.00 4.91 17.22 0.69 6.06 51.21 7809.93 16.23 11,854.01 0.42 81.24 11,063.98 2.40 212.04 11.48 0.00

0.0102 0.0108 0.0108 0.0109 0.0111 0.0105 0.0106 0.0109 0.0109 0.0105 0.0122 0.0108 0.0113 0.0116 0.0103 0.0117 0.0117 0.0106 0.0116 0.0105 0.0103 0.0116 0.0111 0.0102 0.0123 0.0102 0.0102

0.0075 0.0073 0.0073 0.0072 0.0071 0.0074 0.0073 0.0072 0.0072 0.0074 0.0065 0.0073 0.0071 0.0069 0.0074 0.0068 0.0068 0.0073 0.0069 0.0074 0.0074 0.0069 0.0071 0.0075 0.0064 0.0075 0.0075

1.07 1.70 3.09 0.80 1.54 3.26 0.96 1.69 4.33 2.12 6.42 0.00 3.27 8.82 654.33 1.81 9.43 7.46 28.76 1582.60 0.00 9.97 2438.90 0.35 22.45 781.16 0.67 77.78%

CPU time Std

RPD

Mean

Std

0.54 0.69 1.14 0.58 0.74 1.06 0.64 0.62 1.26 0.72 1.99 3.64 0.81 1.49 3.88 0.93 1.88 3.66 0.71 1.16 6.49 0.58 2.15 6.21 0.68 2.65 10.44

0.0117 0.0111 0.0111 0.0116 0.0109 0.0105 0.0111 0.0114 0.0108 0.0123 0.0119 0.0116 0.0117 0.0117 0.0116 0.0150 0.0114 0.0114 0.0120 0.0131 0.0114 0.0133 0.0117 0.0113 0.0116 0.0123 0.0117

0.0068 0.0071 0.0071 0.0069 0.0072 0.0074 0.0071 0.0070 0.0073 0.0064 0.0067 0.0069 0.0068 0.0068 0.0069 0.0031 0.0070 0.0070 0.0066 0.0058 0.0070 0.0056 0.0068 0.0071 0.0069 0.0064 0.0068

Mean 1.00 0.83 0.86 0.96 0.66 0.88 0.99 0.78 0.88 1.43 1.58 2.35 1.47 1.58 1.62 1.47 1.43 2.21 1.56 1.70 3.28 1.67 1.39 5.97 1.54 1.58 3.67

0.68 0.82 1.13 0.60 0.56 1.41 0.64 0.73 1.27 0.96 1.68 4.41 0.94 1.55 3.13 0.97 1.46 3.22 0.79 1.50 4.60 0.84 1.59 15.56 0.78 1.49 5.34

2.41 3.53 8.47 1.59 2.82 7.19 1.97 4.27 12.62 3.50 22.88 0.00 7.61 23.67 6539.97 2.81 47.86 70.95 197.28 9757.08 0.00 26.74 11,990.46 3.54 138.36 6735.54 6.67

0.0108 0.0105 0.0108 0.0106 0.0105 0.0114 0.0106 0.0105 0.0111 0.0120 0.0109 0.0100 0.0103 0.0102 0.0108 0.0106 0.0114 0.0105 0.0113 0.0111 0.0102 0.0117 0.0108 0.0106 0.0117 0.0116 0.0108

0.0073 0.0074 0.0073 0.0073 0.0074 0.0070 0.0073 0.0074 0.0071 0.0066 0.0072 0.0075 0.0074 0.0075 0.0073 0.0073 0.0070 0.0074 0.0071 0.0071 0.0075 0.0068 0.0073 0.0073 0.0068 0.0069 0.0073

1.08 1.09 3.98 1.41 1.08 2.77 0.94 1.35 3.97 3.25 7.67 0.00 2.97 3.68 7.58 1.48 9.63 0.37 7.33 2076.94 0.04 14.87 1867.79 0.29 14.57 1035.72 0.67

1.86 2.28 15.06 2.53 2.73 6.22 2.16 2.95 11.33 8.65 26.37 0.00 5.19 9.07 70.98 2.66 32.14 3.35 16.39 11,134.27 0.42 40.70 10,723.55 2.92 73.06 7192.12 6.67

81.48%

Std

1049

Error percentages < 5

Std

SA4

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

0.75

RPD

Mean

SA3

1050

Table 5 RPD of heuristic algorithms (n = 50). 

R

˛

ˇ

SA2

SA1 CPU time

0.25

0.25

0.25

0.50

0.75

0.50

0.25

0.50

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 < 5

Mean

Std

Mean

0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30

0.0156 0.0153 0.0158 0.0155 0.0158 0.0163 0.0155 0.0156 0.0158 0.0164 0.0166 0.0166 0.0169 0.0167 0.0161 0.0164 0.0164 0.0169 0.0178 0.0177 0.0172 0.0164 0.0177 0.0172 0.0173 0.0181 0.0170

0.0022 0.0022 0.0016 0.0016 0.0016 0.0031 0.0016 0.0000 0.0016 0.0034 0.0037 0.0043 0.0043 0.0040 0.0027 0.0034 0.0034 0.0043 0.0054 0.0053 0.0047 0.0034 0.0053 0.0047 0.0049 0.0058 0.0045

0.13 0.28 0.81 0.08 0.28 0.54 0.08 0.30 0.63 0.17 0.93 2.14 0.20 0.65 1.56 0.30 0.60 1.86 0.13 1.12 5.68 0.15 1.19 5.32 0.10 1.01 4.18

0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30 0.10 0.20 0.30

0.0158 0.0158 0.0155 0.0167 0.0163 0.0156 0.0158 0.0158 0.0163 0.0169 0.0161 0.0148 0.0172 0.0164 0.0153 0.0173 0.0166 0.0150 0.0173 0.0163 0.0148 0.0184 0.0158 0.0152 0.0177 0.0155 0.0148

0.0016 0.0016 0.0016 0.0040 0.0031 0.0000 0.0016 0.0016 0.0031 0.0043 0.0027 0.0034 0.0047 0.0034 0.0031 0.0049 0.0037 0.0031 0.0049 0.0049 0.0034 0.0060 0.0035 0.0027 0.0053 0.0042 0.0034

0.91 1.61 2.20 1.04 1.22 2.34 0.68 1.82 3.50 2.64 9.84 229.12 4.67 7.10 363.09 2.20 6.65 1.12 11.48 3378.68 0.00 15.38 3.62 0.00 12.03 1864.87 0.00 77.78%

SA3

CPU time Std

RPD

Mean

Std

Mean

0.48 0.52 1.02 0.21 0.66 0.81 0.23 0.54 0.90 0.64 1.69 3.06 0.77 1.07 2.66 0.66 1.26 2.71 0.53 2.33 8.69 0.38 1.97 9.11 0.31 1.23 6.87

0.0148 0.0153 0.0148 0.0156 0.0155 0.0148 0.0153 0.0155 0.0156 0.0163 0.0156 0.0159 0.0163 0.0159 0.0163 0.0161 0.0156 0.0159 0.0164 0.0169 0.0177 0.0172 0.0169 0.0175 0.0159 0.0175 0.0177

0.0034 0.0022 0.0034 0.0031 0.0027 0.0034 0.0022 0.0016 0.0000 0.0031 0.0000 0.0031 0.0031 0.0022 0.0031 0.0027 0.0022 0.0022 0.0034 0.0043 0.0053 0.0047 0.0043 0.0051 0.0022 0.0051 0.0053

0.44 0.35 0.73 0.41 0.61 0.65 0.40 0.41 0.62 0.66 0.92 1.81 0.50 0.90 1.94 0.52 0.98 1.98 0.53 1.50 3.54 0.57 1.05 4.90 0.52 1.23 4.87

1.47 3.44 5.50 1.84 2.16 5.42 1.31 2.67 7.37 4.60 21.72 2279.90 7.39 17.36 3599.81 3.69 13.45 8.11 21.28 20,803.80 0.00 39.37 13.70 0.00 21.60 16,177.94 0.00

0.0150 0.0153 0.0156 0.0156 0.0158 0.0156 0.0153 0.0156 0.0156 0.0158 0.0166 0.0145 0.0161 0.0164 0.0152 0.0159 0.0166 0.0153 0.0167 0.0153 0.0148 0.0167 0.0158 0.0147 0.0170 0.0158 0.0152

0.0031 0.0022 0.0022 0.0000 0.0016 0.0022 0.0022 0.0000 0.0022 0.0027 0.0037 0.0040 0.0027 0.0034 0.0027 0.0022 0.0037 0.0022 0.0040 0.0031 0.0034 0.0040 0.0027 0.0037 0.0045 0.0016 0.0027

0.95 1.70 2.55 0.76 1.64 2.19 0.78 1.50 2.50 3.58 8.13 1.06 3.82 6.22 1.06 2.56 8.66 1002.91 9.43 3354.43 102.00 12.22 1028.55 0.00 10.94 1806.56 0.00 79.63%

SA4

CPU time Std

RPD

Mean

Std

Mean

0.44 0.56 1.01 0.47 0.85 1.00 0.42 0.57 0.92 0.70 1.41 3.05 0.51 1.21 3.20 0.64 1.44 3.11 0.52 2.84 7.78 0.91 1.25 8.11 0.46 1.63 7.66

0.0155 0.0156 0.0153 0.0155 0.0155 0.0155 0.0156 0.0153 0.0150 0.0166 0.0161 0.0155 0.0166 0.0158 0.0159 0.0164 0.0163 0.0158 0.0169 0.0167 0.0166 0.0172 0.0173 0.0167 0.0166 0.0164 0.0172

0.0016 0.0022 0.0031 0.0016 0.0016 0.0027 0.0022 0.0022 0.0031 0.0037 0.0027 0.0016 0.0037 0.0016 0.0022 0.0034 0.0031 0.0016 0.0043 0.0040 0.0037 0.0047 0.0049 0.0040 0.0037 0.0034 0.0047

0.77 0.75 0.66 0.68 0.83 0.78 0.76 0.65 0.68 1.18 1.36 1.78 1.23 1.12 1.52 1.00 1.47 1.94 1.17 1.34 3.94 1.31 1.39 5.84 1.24 1.27 3.31

1.43 3.09 6.05 1.53 3.04 5.40 1.45 2.92 5.18 5.98 20.30 6.23 6.06 14.79 7.52 4.57 23.90 9999.74 20.81 21,696.93 1020.00 21.35 9314.48 0.00 21.06 16,171.92 0.00

0.0156 0.0153 0.0155 0.0147 0.0147 0.0156 0.0153 0.0153 0.0155 0.0158 0.0161 0.0150 0.0156 0.0163 0.0150 0.0158 0.0161 0.0152 0.0170 0.0153 0.0148 0.0164 0.0155 0.0148 0.0164 0.0155 0.0150

0.0000 0.0022 0.0016 0.0037 0.0037 0.0000 0.0022 0.0022 0.0016 0.0027 0.0027 0.0031 0.0022 0.0031 0.0031 0.0027 0.0027 0.0027 0.0045 0.0031 0.0034 0.0034 0.0027 0.0034 0.0034 0.0035 0.0031

1.02 1.70 3.78 0.82 1.80 2.44 1.01 1.32 2.65 4.22 6.00 723.56 3.01 10.08 11.18 2.54 7.17 0.09 9.58 1914.02 0.00 11.09 7.68 0.00 12.72 314.91 0.00 77.78%

CPU time Std

RPD

Mean

Std

0.51 0.71 0.89 0.44 0.77 1.00 0.51 0.57 0.90 0.94 1.57 3.22 1.03 1.44 2.15 0.75 1.86 2.98 0.63 1.74 5.35 0.84 2.01 10.79 0.63 1.49 6.61

0.0155 0.0150 0.0155 0.0153 0.0147 0.0150 0.0156 0.0150 0.0152 0.0159 0.0155 0.0156 0.0159 0.0158 0.0158 0.0167 0.0159 0.0156 0.0159 0.0167 0.0164 0.0164 0.0166 0.0169 0.0175 0.0167 0.0166

0.0016 0.0031 0.0016 0.0031 0.0037 0.0031 0.0000 0.0031 0.0027 0.0022 0.0016 0.0000 0.0022 0.0016 0.0016 0.0040 0.0022 0.0000 0.0022 0.0040 0.0034 0.0034 0.0037 0.0043 0.0051 0.0040 0.0037

Mean 1.17 1.02 0.89 1.25 0.95 0.81 1.31 0.98 0.76 1.81 1.29 2.34 1.82 1.29 1.86 1.72 1.58 2.06 1.89 1.84 4.57 1.92 1.62 6.08 1.74 1.87 4.26

0.57 0.75 0.99 0.61 0.80 0.89 0.69 0.77 0.85 1.03 1.50 2.45 1.15 1.30 2.98 1.07 1.85 2.64 0.79 2.26 7.69 0.73 1.50 10.46 0.81 1.61 7.01

1.92 4.08 9.39 1.53 3.01 5.99 1.65 2.43 6.49 7.05 11.44 7209.78 4.71 23.93 104.15 4.31 13.84 0.90 20.65 13,587.33 0.00 20.33 51.13 0.00 23.38 3079.72 0.00

0.0148 0.0152 0.0150 0.0145 0.0153 0.0150 0.0153 0.0155 0.0152 0.0156 0.0158 0.0152 0.0155 0.0159 0.0144 0.0155 0.0159 0.0145 0.0161 0.0148 0.0150 0.0163 0.0150 0.0152 0.0169 0.0153 0.0150

0.0034 0.0027 0.0031 0.0040 0.0022 0.0031 0.0022 0.0016 0.0027 0.0000 0.0027 0.0027 0.0016 0.0022 0.0043 0.0016 0.0022 0.0040 0.0027 0.0034 0.0031 0.0031 0.0038 0.0027 0.0043 0.0031 0.0031

0.90 1.64 3.03 0.73 1.25 3.50 1.02 1.32 2.58 4.51 7.41 1661.01 3.19 5.45 2.47 3.78 9.03 1005.11 12.59 2191.18 0.00 7.28 747.03 0.00 9.76 1779.39 0.00

1.39 4.66 5.65 1.15 2.36 7.23 2.25 2.02 5.45 8.53 18.45 11,844.74 6.13 12.39 24.11 5.67 27.23 9999.54 48.57 17,805.11 0.00 15.20 4287.94 0.00 23.46 17,679.04 0.00

77.78%

Std

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

0.75

RPD

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

1051

Fig. 1. Performance of the branch-and-bound algorithms (n = 28).

denotes the SA algorithm that yields the smallest objective function value among the SAi ’s concerned.

5.4. Branch-and-bound algorithm The branch-and-bound algorithm is a commonly used method for NP-hard problems to find an optimal solution (Brucker [10], Wu et al. [34], Wu and Lee [35]). The method is based on the idea of intelligently enumerating all feasible solutions. Due to the fact that our proposed problem is an NP-hard one, a branch-and-bound algorithm will be adopted in searching for an optimal solution in this paper. The main steps of the branch-and-bound algorithm are provided as follows:

Initialization: Choose the best solution obtained from among four proposed simulated-annealing algorithms as the initial solution. Branching: A depth-first search is used in the branching procedure, and a job is arranged in a forward manner starting from the first position. Eliminating: Determine whether to eliminate the dominated partial sequences or not by using Properties 5.1–5.11. Lower bounding: Calculate the lower bound of the total weighted earliness for the unscheduled partial sequences. If the lower bound for the unscheduled partial sequence is greater than the initial solution, eliminate that node and all nodes beyond it in the branch. Upper bounding: If the value of the completed sequence is less than the initial solution, update it as the new solution. Otherwise, eliminate it.

Fig. 2. Performance of the SA5 algorithms (n = 28).

1052

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

Fig. 3. Performance of the SA5 algorithms (n = 28).

Stopping rule: The branching is ended until all nodes have been visited. 6. Computational experiments In this section, the computational experiments were provided to test the efficiency of the proposed branch-and-bound algorithm and the accuracy of the SA algorithms. All algorithms were coded in Fortran and performed on a PC with an Intel(R) Core(TM)2 Quad 2.66GHz CPU and 4GB RAM under Windows Vista. The experimental design was followed the Fisher’s [19] framework. The job processing times were generated from a uniform distribution over the range of integers 1–100. The weights of the jobs of the first agent were generated from another uniform distribution over the range of integers 1–100. Moreover, the due dates of the jobs of the second agent were generated from a uniform distribution over the range of integers T(1 −  − R/2) to T(1 −  + R/2), where  is the tardiness

factor, R is the due date range, and T is the sum of the processing n times of all the jobs, i.e., T = (1 + ˇ) j=1 pj , where ˇ is a control parameter with 0 < ˇ < 1. The combination of (, R) took the values of (0.25, 0.5), (0.25, 0.75), (0.5, 0.5), and (0.5, 0.75). Additionally, we chose the value of the proportion of jobs of the second agent independently of  and R at 0.5 in the experiments. The experiments consisted of two parts. In the first part, the number of jobs was fixed at n = 20, 24 and 28 and the value of the control parameter ˇ was set at 0.1, 0.2, and 0.3. Moreover, we sort the jobs in the smallest processing times (SPT) first and the longest processing times (LPT) first, and then compute their corresponding total earliness for the sequences SPT and LPT, (say PA and PB ). In order to test the value of Q, we set Q = ˛ × PA + (1 − ˛) × PB . For each problem size, the values of ˛ were set at 0.25, 0.5, and 0.75, respectively. As a result, 162 experimental conditions were examined in the first part. For each situation, we randomly generated 100 replications so we tested a total 16,200 instances. We conducted

Fig. 4. Performance of the SA1−−4 algorithms (n = 50).

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

1053

Fig. 5. Performance of the SA3 algorithms (n = 50).

these tests to study the efficiency of the dominance rules and the lower bounds, and the performance of the branch-and-bound and SA algorithms. The results were reported in Tables 1–3. For the branch-and-bound algorithm, the mean and standard deviation execution times (in seconds) and the mean and standard deviation (Std) numbers of nodes were recorded. For the SA algorithms, the mean and standard deviation (Std) error percentages were recorded. The error percentage of a solution produced by an SA algorithm is calculated as V − V∗ × 100% V∗ where V is the solution generated by the SA algorithm and V∗ is the total weighted earliness of the optimal schedule from the branchand-bound algorithm. We did not record the computational times of the SA algorithms because they all were fast in finding the solutions. As shown in Tables 1–3, it was noted that the branch-and-bound algorithm is terminated if the number of nodes is over 109 , which is approximately 10 h of execution time. The instances with the number of nodes few than 109 were denoted as valid sample sizes and also reported in Tables 1–3. It can be seen from Tables 1–3 that the branch-and-bound algorithm can solve up to 99.86% of the 16,200 instances or n = 28 in a reasonable time and node numbers. Only 0.14% of the instances took more than 109 nodes. Specially, the most difficult instances are located at  = 0.25, R = 0.75, and ˇ = 0.1. It implies that our proposed properties and lower bound are useful and powerful. Moreover, the number of nodes and the execution time of the branch-and-bound algorithm grow exponentially as the number of jobs increases. From Fig. 1, it can be observed that the problem is significantly affected by the control parameter ˇ, but we observed that out of 22 unsolved cases, 20 with 109 nodes are at ˇ = 0.1. This indicated that the problem becomes difficult to solve when the value of ˇ becomes smaller. The instances at  = 0.25 are more difficult than those at  = 0.5. Moreover, as shown in Tables 1–3, it can be found that the ratio of each SA with the mean error percentage less than 5% is more than 80%. However, it was noted from the performance of the four proposed SA heuristics that there is no dominating heuristic among the four under test. It was also observed that the mean error percentages of the combined algorithm that takes the best solution from these four algorithms further up to 100% with less than 5% of the mean error percentage. In addition, it was also observed in Figs. 2 and 3 and Table 3 that

the mean error percentage of the combined one or SA5 is getting a bit bigger as the value of  or R increases, but the worst situation with only up to 1% of mean error percentage was located at  = 0.25 and R = 0.75. Meanwhile, the performance of SA5 is deteriorating as ˇ becomes smaller; however, as shown in Fig. 3, the mean error percentages for all SAs are also less than 0.03. Overall, the performance of SA5 was less affected by  or R or ˇ, but all of the mean error percentage of SA5 were less than 3.48%. To further study the performance of the proposed SA algorithms for large-sized problems, we used two different numbers of jobs (n = 40 and 50) in the second part of the experiments. For a fixed number of jobs, the control parameter ˇ was set at 0.1, 0.2, and 0.3. For each problem size, the values of ˛ were at 0.25, 0.5, and 0.75, respectively. For each situation, we randomly generated 100 replications. As a result, 108 experimental conditions were examined and a total 10,800 instances were tested. The results were summarized in Tables 4 and 5. The mean and standard deviation execution times (in seconds) and the average and standard deviation relative deviations percentage (RDP) of each SA algorithm were reported. The relative percentage deviation of an SA algorithm was given by V − V0 × 100% V0 where V0 is the minimum value of the total weighted earliness among the four heuristics. From Figs. 4 and 5 and Tables 4 and 5, it was observed that the proportion of the mean RPD of SA1 , SA2 , SA3 , and SA4 , which are less 5%, are more than 75%. Moreover, the mean RPD of SA3 was lower than those of other three SAi (i = 1, 2, 4). It was also observed that four proposed SAi (i = 1, 2, 3, 4) at  = 0.5 have a bit bigger value of the RDP. For example, the highest RDP of SA3 was located at (, R, ˇ) = (0.5, 0.75, 0.2). In addition, the results also indicated that there is no clear dominance relation among the performance of the heuristics since the relative deviation percentages were all greater than 0. Overall, we recommend the combined algorithm, i.e., the algorithm that combines the four SA algorithms, since it is stable and able to quickly produce near-optimal solutions. 7. Conclusions In this paper, we addressed a two-agent scheduling problem on a single machine where the objective is to minimize the total weighted earliness cost of all jobs subject to a constraint on the

1054

Y. Yin et al. / Applied Soft Computing 13 (2013) 1042–1054

earliness cost of the agent B. A mixed-integer programming (MIP) model and a branch-and-bound algorithm incorporating with a simulated annealing heuristic algorithm were developed to find the optimal solutions for small-size problem instances and medium- to large-size problem instances, respectively. Computational results showed that the branch-and-bound algorithm can solve problem instances up to 28. Another interesting future research direction is to investigate other objective functions or analyze the scheduling problem with more than two agents. Acknowledgements We are grateful to the Editor and two anonymous referees for their constructive comments on an earlier version of our paper. This paper was supported in part by the Natural Science Foundation for Young Scholars of Jiangxi, China (2010GQS0003); in part by the National Science Council (NSC) of Taiwan under grant number NSC 100-2221-E-035-032; and in part by NSC of Taiwan under grant number NSC 101-2410-H-264-004. References [1] R. Ahmadi, U. Bagchi, Single machine scheduling to minimize earliness subject to deadlines, Working Paper 86/86-4-17, Department of Management, University of Texas, Austin, 1986. [2] R. Ahmadi, U. Bagchi, Just-in-time scheduling in single machine systems, Working Paper 85/86-4-21, Department of Management, University of Texas, Austin, 1986. [3] A. Agnetis, P.B. Mirchandani, D. Pacciarelli, A. Pacifici, Scheduling problems with two competing agents, Operations Research 52 (2004) 229–242. [4] A. Agnetis, D. Pacciarelli, A. Pacifici, Multi-agent single machine scheduling, Annals of Operations Research 150 (2007) 3–15. [5] A. Agnetis, G. Pascale, D. Pacciarelli, A Lagrangian approach to single-machine scheduling problems with two competing agents, Journal of Scheduling 12 (2009) 401–415. [6] M. Asano, H. Ohta, Single machine scheduling using dominance relation to minimize earliness subject to ready and due times, International Journal of Production Economics 44 (1996) 35–43. [7] K.R. Baker, G.D. Scudder, Sequencing with earliness and tardiness penalties: a review, Operations Research 38 (1) (1990) 22–36. [8] K.R. Baker, J.C. Smith, A multiple criterion model for machine scheduling, Journal of Scheduling 6 (2003) 7–16. [9] D. Ben-Arieh, O. Maimon, Annealing method for PCB assembly scheduling on two sequential machines, International Journal of Computer Integrated Manufacturing 5 (1992) 361–367. [10] P. Brucker, Scheduling Algorithm, Springer-Verlag, Berlin, Heidelberg, New York, 2001. [11] S. Chand, H. Schneeberger, Single machine scheduling to minimize weighted earliness subject to no tardy jobs, European Journal of Operational Research 34 (1988) 221–230. [12] T.C.E. Cheng, S.R. Cheng, W.H. Wu, P.H. Hsu, C.C. Wu, A two-agent singlemachine scheduling problem with truncated sum-of-processing-times-based learning considerations, Computers & Industrial Engineering 60 (2011) 534–541. [13] T.C.E. Cheng, C.T. Ng, J.J. Yuan, Multi-agent scheduling on a single machine to minimize total weighted number of tardy jobs, Theoretical Computer Science 362 (2006) 273–281. [14] T.C.E. Cheng, C.T. Ng, J.J. Yuan, Multi-agent scheduling on a single machine with max-form criteria, European Journal of Operational Research 188 (2008) 603–609. [15] T.C.E. Cheng, W.H. Wu, S.R. Cheng, C.C. Wu, Two-agent scheduling with position-based deteriorating jobs and learning effects, Applied Mathematics and Computation 217 (2011) 8804–8824. [16] D. Chhajed, A fixed interval deadline scheduling problem with earliness and deadline costs, European Journal of Operational Research 84 (1995) 385–401.

[17] C. Garcia-Martinez, M. Lozano, F.J. Rodriguez-Diaz, A simulated annealing method based on a specialised evolutionary algorithm, Applied Soft Computing 12 (2) (2012) 573–588. [18] X. Huang, J.B. Wang, X.R. Wang, A generalization for single-machine scheduling with deteriorating jobs to minimize earliness penalties, International Journal of Advanced Manufacturing Technology 47 (2010) 1225–1230. [19] M.L. Fisher, A dual algorithm for the one-machine scheduling problem, Mathematical Program 11 (1971) 229–251. [20] A. Janiak, R. Rudek, A note on the learning effect in multi-agent optimization, Expert Systems with Applications 38 (2011) 5974–5980. [21] S. Kirkpatrick, C. Gelatt, M. Vecchi, Optimization by simulated annealing, Science 220 (4598) (1983) 671–680. [22] B. Karasulu, S. Korukoglu, A simulated annealing-based optimal threshold determining method in edge-based segmentation of grayscale images, Applied Soft Computing 11 (2) (2011) 2246–2259. [23] W.C. Lee, S.K. Chen, C.W. Chen, C.C. Wu, A two-machine flowshop problem with two agents, Computers and Operations Research 38 (1) (2011) 98–104. [24] K. Lee, B.C. Choi, J.Y.T. Leung, M.L. Pinedo, Approximation algorithms for multiagent scheduling to minimize total weighted completion time, Information Processing Letters 109 (2009) 913–917. [25] P. Liu, L.X. Tang, X.Y. Zhou, Two-agent group scheduling with deteriorating jobs on a single machine, International Journal of Advanced Manufacturing Technology 47 (2010) 657–664. [26] P. Liu, N. Yi, X.Y. Zhou, Two-agent single-machine scheduling problems under increasing linear deterioration, Applied Mathematical Modelling 35 (2011) 2290–2296. [27] B. Mor, G. Mosheiov, Scheduling problems with two competing agents to minimize minmax and minsum earliness measures, European Journal of Operational Research 206 (2010) 540–546. [28] C.T. Ng, C.T.E. Cheng, J.J. Yuan, A note on the complexity of the two-agent scheduling on a single machine, Journal of Combinatorial optimization 12 (2006) 387–394. [29] S. Pathumnakul, P.J. Egbelu, Algorithm for minimizing weighted earliness penalty in single-machine problem, European Journal of Operational Research 161 (2005) 780–796. [30] X. Qi, F.S. Tu, Scheduling a single machine to minimize earliness penalties subject to the SLK deadline determination method, European Journal of Operational Research 105 (1998) 502–508. [31] W.E. Smith, Various optimizers for single stage production, Naval Research Logistics Quarterly 3 (1) (1956) 56–66. [32] G. Wan, R.S. Vakati, J.Y.T. Leung, M. Pinedo, Scheduling two agents with controllable processing times, European Journal of Operational Research 205 (2010) 528–539. [33] D. Wang, J.B. Wang, Single-machine scheduling with simple linear deterioration to minimize earliness penalties, International Journal of Advanced Manufacturing Technology 46 (2010) 285–290. [34] C.-C. Wu, W.C. Lee, J.M. You, Trade-off solution in a single-machine scheduling problem for minimizing total earliness and maximum tardiness, International Journal of Systems Science 31 (5) (2000) 639–647. [35] C.-C. Wu, W.C. Lee, Two-machine flowshop scheduling to minimize mean flow time under linear deterioration, International Journal of Production Economics 103 (2006) 572–584. [36] C.C. Wu, W.C. Lee, T. Chen, Heuristic algorithms for solving the maximum lateness scheduling problem with learning considerations, Computers and Industrial Engineering 52 (2007) 124–132. [37] W.-H. Wu, S.-R. Cheng, C.C. Wu, Y. Yin, Ant colony algorithms for a two-agent scheduling with sum-of processing times-based learning and deteriorating considerations, Journal of Intelligent Manufacturing (2012), http://dx.doi.org/10.1007/s10845-011-0525-5. [38] Y. Yin, S.-R. Cheng, T.C.E. Cheng, W.-H. Wu, C.C. Wu, Two-agent single-machine scheduling with release times and deadlines, International Journal of Shipping and Transport Logistics, forthcoming. [39] Y. Yin, W.-H. Wu, S.-R. Cheng, C.C. Wu, An investigation on a two-agent single-machine scheduling problem with unequal release dates, Computers and Operations Research 39 (2012) 3062–3073. [40] Y. Yin, S.-R. Cheng, C.C. Wu, Scheduling problems with two agents and a linear non-increasing deterioration to minimize earliness penalties, Information Sciences 189 (2012) 282–292. [41] X. Zhao, Simulated annealing algorithm with adaptive neighborhood, Applied Soft Computing 11 (2) (2011) 1827–1836.