Upload
wen-hsiang
View
216
Download
3
Embed Size (px)
Citation preview
Accepted Manuscript
A honey-bees optimization algorithm for a two-agent single-machine schedul-ing problem with ready times
Yunqiang Yin, Wen-Hung Wu, T.C.E. Cheng, Chin-Chia Wu, Wen-Hsiang Wu
PII: S0307-904X(14)00538-1DOI: http://dx.doi.org/10.1016/j.apm.2014.10.044Reference: APM 10200
To appear in: Appl. Math. Modelling
Received Date: 28 February 2013Revised Date: 5 July 2014Accepted Date: 23 October 2014
Please cite this article as: Y. Yin, W-H. Wu, T.C.E. Cheng, C-C. Wu, W-H. Wu, A honey-bees optimizationalgorithm for a two-agent single-machine scheduling problem with ready times, Appl. Math. Modelling (2014), doi:http://dx.doi.org/10.1016/j.apm.2014.10.044
This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customerswe are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, andreview of the resulting proof before it is published in its final form. Please note that during the production processerrors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
1
A honey-bees optimization algorithm for a two-agent
single-machine scheduling problem with ready times
Yunqiang Yina, Wen-Hung Wu
b ,T.C.E. Cheng
c,
Chin-Chia Wud, and Wen-Hsiang Wu
e*
aFaculty of Science, Kunming University of Science and Technology,
Kunming, 650093, China
bDepartment of Business Administration, Kang-Ning Junior College,
Taipei, Taiwan
cDepartment of Logistics and Maritime Studies,
The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong
dDepartment of Statistics, Feng Chia University,
Taichung, Taiwan
eDepartment of Healthcare Management, Yuanpei University,
Hsinchu, Taiwan
28 February 2013
1st revision 2 January 2014
2nd revision 11 April 2014
3rd revision 04 July 2014
_______________
*Corresponding author. E-mail: [email protected]
2
Abstract: In this paper we consider two agents that compete on the use of a common
processor. Each of the agents has a set of jobs that have to be processed on the same
machine without preemption. Each of the agents wants to minimize an objective
function that depends on the completion time of its own jobs. In addition, each job has
different release dates. In the presence of unequal release dates, it is sometimes
advantageous to form a non-full batch, while in other situations it is a better strategy
to wait for future job arrivals in order to increase the fullness of the batch. The
objective is to find a schedule that performs well with respect to the objectives of both
agents. To solve this difficulty problem, we construct a branch-and-bound solution
scheme incorporating these bounds and some dominance rules for the optimal solution.
In view of the advantage of combining local and global searches in the honey-bees
optimization algorithm, we attempt to use a marriage in honey-bees optimization
algorithm (MBO) to find near-optimal solutions. We conduct extensive computational
experiments to evaluate the performance of the algorithms.
Keywords: scheduling; two agents; MBO algorithm
3
1. Introduction
A branch of artificial intelligence, multi-agent simulation provides a promising
approach to deal with multi-stakeholder management systems such as allocation of a
common pool of resources to multiple stakeholders. It provides a framework in which
stakeholders’ (or agents’) interactions and decision-making behaviours can be
analyzed. Examples of such a system are given by Purnomo and Guizol (2006) in the
context of forest plantation co-management, and by Bessonov et al. (2009) concerning
blood cell population dynamics. More examples in different application environments
and different methodological fields, such as artificial intelligence, decision theory, and
operations research, can be found in Agnetis et al. (2007).
Scheduling with multiple agents has received considerable research attention
recently. Baker and Smith (2003) and Agnetis et al. (2004) pioneer multi-agent
scheduling research. Baker and Smith (2003) investigate a linear combination of the
objectives of the two agents. Agnetis et al. (2004) study the complexity of several
two-agent single-machine problems in which one agent seeks to optimize its objective,
given that the objective of the other agent cannot exceed a certain value. Cheng et al.
(2004) consider a feasibility model of multi-agent single-machine scheduling where
each agent’s objective is to minimize its total weighted number of tardy jobs. Cheng
et al. (2006) study multi-agent single-machine scheduling where the objectives of the
agents are of the max-form. Ng et al. (2006) consider two-agent single-machine
scheduling where the objective is to minimize the total completion time of the first
agent, subject to the number of tardy jobs of the second agent cannot exceed a given
number. Agnetis et al. (2007) analyze the complexity of some multi-agent
single-machine scheduling problems and propose solution algorithms. Studying
multi-agent single-machine scheduling to minimize the total weighted completion
4
time, Lee et al. (2009) provide fully polynomial-time approximation schemes and an
efficient approximation algorithm with a reasonable worst-case bound. Leung et al.
(2010) generalize the single-machine problems proposed by Agnetis et al. (2004) to
the environment with multiple identical machines in parallel and different release
dates. Wan et al. (2010) consider several two-agent scheduling problems with
controllable job processing times, where two agents share either a single machine or
two identical machines in parallel for processing their jobs. Mor and Mosheiov (2010)
deal with a scheduling problem with two competing agents to minimize the minmax
and minsum earliness objectives. Nong et al. (2011) consider two-agent
single-machine scheduling to minimize the total cost, which comprises the maximum
weighted completion time of one agent and the total weighted completion time of the
other agent. They present a 2-approximation approximation algorithm for the problem,
show that the case where the number of jobs of the first agent is fixed is NP-hard, and
devise a polynomial-time approximation scheme for this case. Cheng et al. (2011a)
consider two-agent single-machine scheduling involving deteriorating jobs and
learning effects simultaneously. In the proposed model, given a schedule, they assume
that the actual processing time of any job of the first agent is a function of
position-based learning, while the actual processing time of any job of the second
agent is a function of position-based deterioration. Cheng et al. (2011b) investigate
two-agent single-machine scheduling in which the actual processing time of a job in a
schedule is a function of sum-of-processing-times-based learning and a control
parameter of the learning function. The objective is to minimize the total weighted
completion time of the jobs of the first agent, subject to no tardy job for the second
agent. Wu et al. (2012) study two-agent single-machine scheduling in which sum-of-
processing-times-based learning and job deteriorating co-exist. Luo et al. (2011)
consider two-agent two-machine flow shop scheduling. They investigate two models
5
where one is a weighted-sum optimization model and the other is a constrained
optimization model.
Despite the popularity of studies of multi-agent scheduling, research on multi-agent
scheduling with job release dates is relatively uninvestigated. Yin et al. (2012)
address a two-agent single-machine scheduling problem with different ready times.
Their objective function is to minimize the tardiness of one agent, subject to the
constraint that the lateness of the other agent is less than upper bound. They use a
mixed integer programming model and branch-and-bound algorithm to solve the
problem. In addition, they propose a honey-bees optimization algorithm to obtain
approximate solutions. Yin et al. (2013b) address 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. An
application of multi-agent scheduling with job release dates arises in the shipping
industry (Lun et al. 2011; Zhang et al. 2011; Wu et al. 2013, Yin et al. 2013a).
Specifically, ships belonging to different shipping companies (multiple agents) call at
a port, which needs to determine the sequence to serve the ships that arrive at different
times. In this case, the single machine is the port that processes jobs with ready times,
which are the ships that arrive at different times. Motivated by this observation, we
consider a two-agent single-machine scheduling problem with job release dates,
where the goal is to minimize the weighted sum of the completion times of the jobs of
the first agent, subject to the maximum lateness of the jobs of the second agent cannot
exceed a given limit. We present a branch-and-bound (BAB) solution scheme and a
marriage in honey-bees optimization (MBO) algorithm to solve the problem optimally
and approximately, respectively. The contributions of this study are that we first
discuss a polynomially solvable case of the proposed problem, then we develop nine
dominance properties and a lower bound for the optimal solution in the theoretical
6
part and propose an MBO algorithm to find near-optimal solutions in the technical
part.
The rest of the paper is organized as follows: In Section 2 we introduce and
formulate the problem. In Section 3 we discuss the complexity and solvability of the
problem. In Section 4 we present a BAB solution scheme and an MBO algorithm to
solve the problem. We discuss the results of computational experiments conducted to
evaluate the performance of the algorithms in Section 5. We conclude the paper and
suggest some topics for future research in the last section.
2. Optimization problem formulation
In this section we first introduce the notations used throughout the paper and then give the
formulation of the problem.
n denotes the number of jobs;
S denotes a sequence of jobs;
X denotes the set of agents, say A and B;
XJ denotes the job set of agent X;
X
jJ denotes the job code of job j of agent X;
X
jp denotes the job processing time of job X
jJ of agent X;
X
jr denotes the release date of job X
jJ of agent X;
X
jw denotes the weight of job X
jJ of agent X;
X
jd denotes the due date of job X
jJ of agent X;
( )X
jC S denotes the completion time of job X
jJ of agent X in S;
( )X
jL S denotes the lateness of of job X
jJ of agent X in S, i.e.,
7
( ) ( )X X X
j j jL S C S d= − ;
We formulate the problem under study as follows. There are two competing agents,
called agents A and B, respectively. Each of the agents has a set of non-preemptive
jobs to be processed on a common machine. Agent A has the job set
{ }1 2, , ,A
A A A A
nJ J J J= K , whereas agent B has the job set { }1 2, , ,B
B B B B
nJ J J J= K . Let
{ , }X A B∈ . The jobs of agent X are called X -jobs. Each job X
jJ in the set X
becomes available for processing at time 0X
jr ≥ , requires a non-negative processing
time X
jp , has a weight 0X
jw > , and a due date 0X
jd ≥ . We assume that all the data
are integers. Let S be a feasible schedule for the A B
n n n= + jobs, i.e., a feasible
assignment of the starting times to the jobs of both agents. We denote the completion
time of job X
jJ by ( )X
jC S and the lateness of job
X
jJ by ( ) ( )X X X
j j jL S C S d= − .
We write X
jC and
X
jL for ( )X
jC S and ( )X
jL S , respectively, whenever this does not
cause confusion. For a given schedule (or sequence), we use the subscript [i] to denote
the job in the ith position of the schedule. The problem is to find a feasible schedule
that minimizes the weighted sum of the completion times of agent A, subject to the
maximum lateness of the jobs of agent B does not exceed a given limit Q i.e.,
max1 :A A B
j j jr w C L Q≤∑ , where { }max max |B B B B
j jL L J J= ∈ (see Agnetis et al. 2004).
Cheng et al. (2008) show that the problem is strongly NP-hard when the release dates
are zero, and Agnetis et al. (2009) present a Lagrangian relaxation and an algorithm to
solve the problem.
3. Solution procedure
8
3.1 A polynomially solvable case of max1 :A A B
j j jr w C L Q≤∑
Agnetis et al. (2007) show that the problem max1 :A A B
j j jr w C L Q≤∑ is strongly
NP-hard even if all the jobs are available at time zero. In this section we consider an
important special case, for which we are able to give a polynomial-time solution
algorithm. We say that the A -jobs have reversely agreeable weights if A A
i jp p≤
implies A A
i jw w≥ for all jobs A
iJ and A
jJ .
Lemma 1 Given a feasible instance of max1 :A A B
j j jr w C L Q≤∑ , if the A -jobs have
reversely agreeable weights and 0A
jr = for all 1, , Aj n= K , then an optimal schedule
exists in which the A -jobs are scheduled in the weighted shortest processing time
(WSPT) order, i.e., in non-decreasing order of A
j
A
j
p
w.
Proof Consider an optimal schedule S in which the A -jobs are not in the WSPT
order. Let A
iJ and A
jJ be the first pair of jobs such that AAji
A A
i j
pp
w w> . Then A A
i jp p≥
and A A
i jw w≤ because the A -jobs have reversely agreeable weights. Assume that in
schedule S , job A
iJ starts at time t , followed by a set of consecutively scheduled
B -jobs (with a total load of, say, π ), and then by job A
jJ . We generate a new schedule
'S from schedule S by swapping jobs A
iJ and A
jJ , leaving the other jobs in their
original positions. Then ( ) ( ')A A A A
i i j jC S t p t p C S= + ≥ + = and ( ) ( ')A A
j jC S C S= ,
implying that the B -jobs in π are earlier in 'S . Thus schedule 'S is feasible since
S is feasible. In what follows, we prove that 'S is not a worse schedule than S by
showing that
9
( ) ( ) ( ') ( ').A A A A A A A A
i i j j j j i iw C S w C S w C S w C S+ ≥ +
In fact, since A A
i jw w≤ , ( ) ( ')A A
i jC S C S≥ , and ( ) ( ')A A
j jC S C S= , we have
( ) ( ) ( ( ') ( '))A A A A A A A A
i i j j j j i iw C S w C S w C S w C S+ − +
( ') ( ') ( ( ') ( '))A A A A A A A A
i j j i j j i iw C S w C S w C S w C S≥ + − +
( )( ( ') ( '))A A A A
i j j iw w C S C S= − −
0≥ ,
as required.
Thus, repeating this swapping argument for all the A-jobs not sequenced in the
WSPT order yields the result.
Now for each B -job B
jJ , let us define a deadline B
jD for it such that
B B
j jC d Q− ≤ for B B
j jC D≤ and B B
j jC d Q− > for B B
j jC D> , i.e., B B
j jD d Q− = .
Re-arrange the B -jobs in non-decreasing order of B
jD . We next define the latest start
time B
jLS of job B
jJ as the maximum value of the starting time that B
jJ can attain
in a feasible schedule such that B B
j jC D≤ for all B B
jJ J∈ . Starting from the last B
-job B
B
nJ and set B B B
B B
n n nLS D p= − , we consider the following cases.
Case 1: 1B B
B
n nLS D −> . Then set 1 1 1B B B
B B
n n nLS D p− − −= − .
Case 2: If there is only one job 1B
B
nJ − such that 1B B
B
n nLS D −≤ , then set
1 1B B B
B
n n nLS LS p− −= − .
Case 3: If there are more than one B -job whose deadlines are larger than BnLS ,
10
assuming that k is the smallest index such that B
B
n kLS D≤ , then order the jobs in
{ }1, ,
B
B B
k nJ J −K in non-decreasing order of B
jr and let 1
B
j j jLS LS p+= − for all
1, ,B
j n k= − K .
Continue backwards in this way until we obtain 1LS . Clearly if job B
jJ starts
after time jLS or B
j jr LS> , then at least one B -job satisfies B B
j jC d Q− > .
Based on the above analysis, we develop the following Algorithm 1 to solve the
special case of max1 :A A B
j j jr w C L∑ where the A -jobs have reversely agreeable
weights and 0A
jr = for all 1, ,
Aj n= K .
Algorithm 1:
Step 1: Set A B
i jt p p= +∑ ∑ ,
Ak n= ,
Bh n= , and l n= ; sort the A -jobs in
non-decreasing order of A
j
A
j
p
w, i.e., 1 2
1 2
A
A
AA An
A A A
n
pp p
w w w≤ ≤ ≤L ; compute the deadline
B
jD of B -job B
jJ for all 1, , Bj n= K and sort these deadlines in
non-decreasing order, i.e., 1 2 B
B B B
nD D D≤ ≤ ≤L .
Step 2: If 1h ≥ , then
If B
ht D≤ , then
Set [ ]
B
l hJ p= , 1l l= − , 1h h= − , B
ht t p= − , and re-start Step 2;
Else
go to Step 3;
Endif
Else
11
go to Step 3;
Endif
Step 3: If 1k ≥ , then
Set [ ]
A
l kJ p= , 1l l= − , 1k k= − , A
kt t p= − , and go to Step 4;
Else
If 1h ≥
Output the result that the instance is not feasible;
Else
go to Step 4;
Endif
Endif
Step 4: If 1h ≥ or 1k ≥ , then
go to Step 2.
Else
Output the sequence [1] [2] [ ]( , , , )nS J J J= K ;
Endif
Running Time: The sorting procedures for the A -jobs and B -jobs in Step 1 require
( log )A A
O n n and ( log )B B
O n n times, respectively. Steps 2 and 3 are performed in
linear time in the number of jobs. Hence the total running time of Algorithm 1 is
( log log )A A B BO n n n n+ .
3.2 Branch-and-bound scheme
In this section we provide a BAB solution scheme and develop an MBO algorithm
to solve the problem max1 :A A B
j j jr w C L Q≤∑ optimally and approximately, respectively.
12
In order to reduce the search time of the BAB scheme, we establish some dominance
rules in the following subsection.
3.3 Dominance rules
Assume that schedule S has two adjacent jobs X
iJ and Y
jJ with X
iJ
immediately preceding Y
jJ , where , { , }X Y A B∈ . We create a new schedule 'S
from S by swapping jobs X
iJ and Y
jJ and leaving the other jobs unchanged in
schedule S . In addition, we assume that the starting time of processing X
iJ in S
is t .
Lemma 2 If ,X Y A
i jJ J J∈ , and { }max ,A A A
j i ir r t p≥ + , then S ′ can be dominated by S.
Proof The completion times of jobs A
iJ and A
jJ in S and 'S are, respectively,
{ }( ) max ,A A A
i i iC S r t p= +
{ }{ }( ) max max , ,A A A A A
j i i j jC S r t p r p= + +
{ }( ') max ,A A A
j j jC S r t p= +
And
{ }{ }( ') max max , ,A A A A A
i j j i iC S r t p r p= + + .
Then it follows from { }max ,A A A
j i ir r t p≥ + that
{ }( ) max , ( ')A A A A A A A
i i i j i j iC S r t p r p p C S= + < + + = and
( ') ( ') ( ')A A A A A A A A
j j j j j i j iC S r p C S r p p C S= + = < + + = ,
so ( ) ( ) ( ') ( ')A A A A A A A A
i i j j j j i iw C S w C S w C S w C S+ < + . The result follows.
Lemma 3 If ,X Y A
i jJ J J∈ , { } { }max , max ,A A
j ir t r t≥ , and
13
{ }{ } { }( ) { } { }( )max max , , max , max , max ,A A A A A A A A A
j i i j j i j j iw r t p r r t w r t p r t+ − < + − , then S ′ is
dominated by S.
Proof By the proof of Lemma 2, if { } { }max , max ,A A
j ir t r t≥ , then
{ }{ } { }( ) max max , , max , ( ')A A A A A A A A A
j i i j j j j i iC S r t p r p r t p p C S= + + ≤ + + = .
On the other hand, it follows from
{ }{ } { }( ) { } { }( )max max , , max , max , max ,A A A A A A A A A
j i i j j i j j iw r t p r r t w r t p r t+ − < + −
that ( ) ( ) ( ') ( ')A A A A A A A A
i i j j j j i iw C S w C S w C S w C S+ < + . The result follows.
As a direct consequence of Lemma 3, we have the following results.
Lemma 4 If ,X Y A
i jJ J J∈ , { } { }max , max ,A A
j ir t r t≥ , and
{ } { }2max , 2max ,A A A A
i i j jr t p r t p+ ≤ + and A A
j iw w< , then S dominates 'S .
Lemma 5 If ,X Y A
i jJ J J∈ , { }max ,A A
j ir r t≤ , and A A A A
j i i jw p w p< , then S ′ is dominated
by S.
Lemma 6 If ,X Y B
i jJ J J∈ , { } { }{ }max , max max , ,B B B B B B B B
i i i j j i i ir t p d Q r t p r p d+ − ≤ < + + − ,
and { }{ }max max , ,B B B B B
i i j j jr t p r p d Q+ + − ≤ , then S ′ is dominated by S..
Proof The conditions imply that schedule 'S is infeasible, as required.
Lemma 7 If ,X A Y B
i jJ J J J∈ ∈ , { } { }max , max ,B A
j ir t r t≥ , and { }{ }max max , ,A A B
i i jr t p r+
B B
j jp d Q+ − ≤ , then S′ is dominated by S.
Next, we present two propositions to determine the feasibility of a partial sequence.
Let ( , ')π π be a sequence of the jobs, where π is the scheduled part consisting of
k jobs and 'π is the unscheduled part. Moreover, let [ ]kC be the completion time of
the last job in π .
14
Lemma 8 If there is a B -job B
jJ in 'π such that { }[ ]max , B B B
k j j jC r p d Q+ − > , then
sequence ( , ')π π can be eliminated.
Lemma 9 If all the unscheduled jobs belong to AJ and there exists an A -job A
jJ
such that { }[ ]max , A A A
k j j kC r p r+ ≤ for all job { }'\A A
k jJ Jπ∈ , then job A
jJ may be
assigned to the ( 1)k + th position.
Lemma 10 If all the unscheduled jobs belong to AJ and { }'
maxAj
A
j Jr t
π∈≤ , then an
optimal sequence is obtained by processing the remaining unscheduled jobs in the
WSPT order.
3.4 A lower bound for max1 :A A B
j j jr w C L Q≤∑
The efficiency of a BAB solution scheme depends largely on the lower bounds for
fathoming the partial sequences. In this subsection we propose a lower bound for
max1 :A A B
j j jr w C L Q≤∑ . Let AS be a partial sequence in which the order of the first k
jobs is determined and US be the unscheduled part consisting of 1n A -jobs and
2n
B -jobs, where 1 2n n n k+ = − . Clearly, a lower bound for max
1 , :A A B
j j jr pmtn w C L Q≤∑
is also a lower bound for max1 :A A B
j j jr w C L Q≤∑ . Based on this, we develop an
algorithm to obtain a lower bound for max1 :A A B
j j jr w C L Q≤∑ as follows:
Algorithm 2:
Step 1: Find the latest start time B
jLS of job B
jJ in US and sort the weights of the
unscheduled A -jobs in non-increasing order, i.e., 1(1) (2) ( )
A A A
nw w w≥ ≥ ≥L .
Step 2: For each B -job B
jJ in US , start processing it at time B
jLS .
Step 3: Define block i as the i th set of contiguously processed jobs of agent B .
15
Let there be 2n nβ ≤ blocks and let the starting time and finishing time of
each block i be ( )s i and ( )f i , respectively.
Step 4: Schedule the A -jobs in US in the preemptive shortest processing time
(SPT) order, skipping the time slots occupied by the jobs of agent B , i.e., at
each release date or finishing time of a job or finishing time of a time slot,
schedule an unfinished job that is available and has the smallest remaining
processing time. When a job is completed or when a time slot is finished at t ,
and there are no jobs available (letting j
r be the earliness release date of the
unscheduled A -jobs), then move some pieces of the blocks of B -jobs that
appear after t with a total length jr t− and insert them in the idle time
interval [ , ]j
t r . Specifically, let k be the first block of B -jobs that appears
after t . If ( ) ( )j
f k s k r t− ≥ − , then set ( ) ( )j
s k s k r t= + − ; if
( ) ( ) ( ) ( ) ( 1) ( 1)j
f k s k r t f k s k f k s k− < − ≤ − + + − + , then set ( ) ( )s k f k= and
( 1) ( 1) ( ( ) ( ))j
s k s k r t f k s k+ = + + − − − ; continue in this way until we obtain
some pieces of the blocks of B -jobs that appear after t with a total length
jr t− .
Step 3: Let the completion times of the A -jobs in US be 1(1) (2) ( )
A A A
nC C C≤ ≤ ≤L .
For each 11, ,j n= K , assign ( )
A
jw to the i th completed A -job .
Then a lower bound for the partial sequence PS is 1
[ ] [ ] ( ) ( )
1 1
nkX X A A
j j X j j
i j
LB w C I w C= =
= +∑ ∑ ,
where { },X A B∈ , and 1XI = if X A= and 0 otherwise.
3.5 An MBO algorithm
16
In this paper we attempt to model the mating behaviour of honey-bees to develop an
optimization search algorithm to solve max1 :A A B
j j jr w C L Q≤∑ . A well-known
metaheuristic, MBO has been successfully applied to tackle many computationally
intractable problems. For example, Abbass (2001a) applies the MBO method with a
solitary colony (a single queen without a family) to rear an eusocial colony (one or
more queens with a family) to solve the propositional satisfiability problem (also
known as the 3-SAT problem). Abbass (2001b) applies the MBO algorithm with a
single queen and a single worker to deal with the 3-SAT problem. Teo and Abbass
(2001) propose an annealing function to improve one of the MBO implementations
for all the standalone SAT heuristics. Benatchba et al. (2005) use the MBO algorithm
to solve a data mining problem. Koudil et al. (2007) present an algorithm that is
inspired by natural bees to solve an integrated partitioning and scheduling problem.
For more applications of the MBO algorithm, we refer the reader to the survey paper
by Bitam et al. (2010).
It is noted that the Artificial Bee Colony (ABC) algorithm is another swarm-based
algorithm that also simulates the intelligent foraging behaviour of a honeybee swarm.
The main difference between the MBO and ABC algorithms is as follows: The
generic MBO algorithm begins with a random initialization of the queen’s genotype.
A heuristic is then applied to improve the queen’s genotype, which helps preserve the
assumption that a queen is usually a good bee, followed by the undertaking of a series
of mating-flights. In contrast, in the ABC algorithm there are three groups of bees,
namely employed bees, onlookers, and scouts. The first half of the colony consists of
the employed artificial bees and the second half includes the onlookers. For each food
source, there is only one employed bee. In other words, the number of employed bees
is equal to the number of food sources around the hive. An employed bee whose food
17
source has been exhausted by the bees becomes a scout (Alatas, 2010). It is also noted
that another feature of diploid representation is not implemented in the proposed
MBO algorithm in this paper. For more details on the ABC algorithm, we refer the
reader to Bozorg Haddad et al. (2008), Karaboga and Akay (2009a), Alatas (2010),
and the survey paper by Karaboga and Akay (2009b).
The capability and applicability of the MBO and ABC algorithms, and their
advantages over the other algorithms are well documented in the literature. For
example, Karaboga and Akay (2009a) evaluate the performance of ABC in
comparison with the GA, PSO, DE and ES optimization algorithms. They conclude
that the performance of ABC is better than or similar to that of these algorithms
although it uses fewer control parameters and it is effective in treating the multimodal
and multidimensional optimization problems. Chan and Tiwari (2007) observe that
while genetic algorithms are known to have good global search ability, they lack local
search ability. On the other hand, a bee system has a low probability of being trapped
in a local optimum because it combines local and global searches, which helps
improve the local search ability of a genetic algorithm without degrading its global
search ability. In addition, Wu et al. (2013) consider a single-machine scheduling
problem with a linear deteriorating effect and unequal release times to minimize the
total tardiness. They propose a branch-and-bound algorithm and an MBO algorithm to
solve the problem. Yin et al. (2014) address a single-machine total tardiness
scheduling problem with arbitrary release dates and position-dependent learning
effects simultaneously. They use a mixed-integer programming (MIP) model and a
BAB strategy to find the optimal solution, and four MBO algorithms to derive
near-optimal solutions for the problem. Wu et al. (2013) and Yin et al. (2014) have
successfully used MBO to solve two single-machine scheduling problems with
time-dependent processing times with release times. Inspired by these observations,
18
we use the MBO algorithm, which follows Abbas (2001a, 2001b), and Teo and
Abbass (2001), to find near-optimal solutions.
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 as only they can lay fertilized eggs. The drones are in charge of fertilizing the
new queens. The workers have to take care of the broods. The broods are made up of
fertilized eggs and unfertilized eggs. Each queen carries out one mating-flight in her
life. During her life, the queen will mate the drones that follow it (see, e.g., Koudil et
al., 2007; Yin et al., 2012; Wu et al., 2013). These features embrace division of
labour, commutation on the individual and group levels, and cooperative behaviour.
In the solution procedure, a queen can be described as a sequence of jobs, and in
order to guarantee that the selected queen is a feasible solution, we generated the
sequence by arranging the jobs of the second agent in the earliest due date (EDD)
order, followed by arranging the jobs of the first agent in non-decreasing order of their
sums of processing time and ready time. In our pretest, we fixed the number of
spermatheca at 40. We randomly generate 20 drones (a drone is described as a
sequence of jobs) to follow the queen and mate with them in the air in our study. We
adopt three workers to improve the broods where an artificial worker represents a
heuristic. There are including the pairwise interchange, backward-shifted reinsertion,
and forward-shifted reinsertion (Della Croce et al. 1996). In each transition step, the
queen’s speed and energy are reduced according to the equations
speed(k+1) = α × speed(k)
and
energy(k+1) = energy(k) - step,
where 0 1α< < , which step denotes the amount of energy reduction after each
19
transition. The description of the four parameters used in the MBO is summarized as
follows.
▶▶▶▶ The initial speed: We set two levels of initial speed of a queen at 25000 and 30000
based on our tests because if the probability of a drone mating with a queen is too low,
then the mate of a queen with a drone cannot occur.
▶▶▶▶The reduced rate of queen’s speed: We set the reduced rate of queen’s speed to
0.99 because the reduced rate of queen’s speed set at a lower value causes a lower
value of the probability of a drone mating with a queen.
▶▶▶▶The energy: We set the energy of a queen to 30. The reason is that 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.
▶▶▶▶The mutation rate: We set the shift mutation to 10% and 20%. If the value of shift
mutation is set too high, then MBO converges slowly. If it is set too low, then MBO
will easily get trapped in a local optimum.
During the flying process, a drone will mate with a queen according to the following
probability
prob(Q, D) = exp(-△ / speed ),
where ( , )prob Q D denotes the probability of adding the sperm of D to the
spermatheca of queen Q, ∆ represents the difference between the fitness of queen Q
and drone D, and speed is the speed of queen Q. A mate occurs when ( , )prob Q D is
larger than a random number q with 0 1q< < , where the drone adds its sperm to the
queen’s spermatheca. Once the best brood is better than the worst queen, then replace
the least-fit queen with the best brood and delete the best brood from the brood list. As
shown in Fig. 1, we terminate the execution of the MBO algorithm after 20
generations since the improvement of all the four MBOs becomes very slim as the
20
generation approaches to 20. The steps of MBO algorithm are summarized as follows:
Step1: (i) Set the order of scheduling the jobs of the second agent in the earliest due
date (EDD) order, followed by arranging the jobs of the first agent in
non-decreasing order of their sums of processing time and ready time as
the queen.
(ii) Set three workers which are including the pairwise interchange,
backward-shifted reinsertion, and forward-shifted reinsertion
Do k=1, gsize / gsize denotes the generation of the queen
Step 2. (i) Compute the objective function of the queen and its corresponding
cumulative probability of being selected.
(ii) Generate 20 drones randomly and compute the objective function
of the queen and its corresponding cumulative probability of being
selected.
Step 3. The queen mates the drones in the flying air and add its spermatheca to
the queen’s sprmatheca.
(i) Initialize speed and energy of the queen.
Do while energy>0
(ii) Compute the probability of the queen mating a drone as
( , )prob Q D
(iii) Randomly generate a value of q, and determine if
( , )prob Q D q> , if the queen’s spermatheca<40, then add its
spermatheca to the queen’s sprmatheca.
(iv) Update energy=energy-step and speed=speed*0.99
Enddo
Step 4. Broods generation and improvements:
Do brood=1, 60
21
(i) Choose a sperm from the queen’s specmatheca randomly.
(ii) Generate a brood by linear order crossover way to crossover
the queen’s genome with the selected sperm.
(iii) Choose a worker to improve the drone’s genetype.
(iv) Update the worker’s fitness.
Enddo
Step 5. New queen generation
Determine if the best brood is better than the queen, then replace the
queen by the best brood and delete the best brood from the brood list.
Enddo
3.6 The steps of the branch-and-bound method
In this subsection, we provide the working of doing the branch-and-bound
algorithm as follows. We adopt the depth-first search in the branching procedure. In
the process, we assign the jobs in a forward way and select a branch and
systematically work down the tree until we either eliminate it by virtue of the
dominance properties or the lower bounds or reach its final node, in which case this
sequence either replace the initial solution or is eliminated (see French (1982), Wu et
al. (2013), and Yin et al. (2014)). The details are summarized in the following.
Step 1: Set the final solution yielded by the MBO algorithm as an upper bound.
Step 2: Branch from (1, x, x, …, x), to (1, 2, x, …, x), …, and end at (n, n-1, …, 2, 1)
Step 3: Use Lemmas 2-7 to eliminate the dominated partial sequences. For the
non-dominated nodes, apply Lemmas 8-10 to determine whether the order of
the unscheduled jobs can be deleted.
22
Step 4: Find the lower bound of total weighted completion time of the first agent for
the unfathomed partial sequences or for the completed sequences. If the lower
bound of total weighted completion time of the first agent for the unfathomed
partial sequence is larger than the initial solution, eliminate that node and all
nodes beyond it in the branch. If the value of the completed sequence is less
than the initial solution, replace it as the new solution. Otherwise, eliminate it.
Step 5: Repeat Step 2 to Step 4 until all nodes are explored.
4. Simulation study
We conducted extensive computational experiments to evaluate the performance of
the BAB and MBO algorithms. We coded all the algorithms in FORTRAN using
Compaq Visual Fortran version 6.6 and performed the experiments on a personal
computer powered by an AMD Phenom II X6 1055T CPU at 2.20GHz with 4GB
RAM operating under Windows XP. We followed Reeves (1995) to design the
experiments. We generated the processing times of the jobs from a uniform
distribution over the integers between 1 and 20, the weights of the jobs from a
uniform distribution over the integers between 1 and 50, and the release times from a
uniform distribution over the integers on (0, 20n λ ), where n is the job size and λ is
a control variable. We generated two different sets of problem instances by giving λ
the values 0.25 and 0.5. Following Fisher (1971), we generated the due dates of the
jobs from a uniform distribution over the integers between (1 / 2)T Rτ− − and
(1 / 2)T Rτ− + , where T is the sum of the normal processing times of the n jobs,
i.e., 1
n
iiT p
==∑ , τ took the values 0.25 and 0.5, while R took the values 0.50
and 0.75. This yielded a total of four combinations of ( , )Rτ values: (0.25, 0.5),
23
(0.25, 0.75), (0.5, 0.5), and (0.5, 0.75). In addition, we fixed the proportion of the jobs
of the second agent at 0.5 and 0.75 in the experiments.
For the BAB algorithm, we recorded the average and maximum numbers of
nodes, and the average and maximum execution times (in seconds). For the heuristic
(i.e., the MBO) algorithms, we recorded the mean and maximum percentage errors.
The percentage error of a solution produced by a heuristic algorithm is calculated as
(V − V*)/V
*,
where V and V* are the total weighted completion time obtained by the heuristic and
by the optimal solution, respectively. We did not record the computational times of the
heuristic algorithms because they all are fast in generating solutions.
We divided the computational experiments into two parts. In the first part of the
experiments, we fixed the number of jobs at 16 and 24. As a result, we examined 32
experimental situations. We randomly generated a set of 50 instances for each
situation. We set the algorithms to switch to the next set of data if the number of nodes
exceeded 109. We denoted each instance with a number of nodes fewer than 10
9 as a
valid sample. In order to guarantee that the selected queen is a feasible solution, we
generated the sequence by arranging the jobs of the second agent in the earliest due
date (EDD) order, followed by arranging the jobs of the first agent in non-decreasing
order of their sums of processing time and ready time. For the proposed MBO
algorithm, we adopted four different parameter settings by varying the queen’s speed,
reduced rate of queen’s speed, queen’s energy, and mutation rate, resulting in four
variants of the algorithm: MBO1 (25,000, 0.99, 30, 0.1), MBO2 (25,000, 0.99, 30, 0.2),
MBO3 (30,000, 0.99, 30, 0.1), and MBO4 (30,000, 0.99, 30, 0.2). Moreover, we used
the shift mutation way for generating the new born broods and set its rate Pm at 0.1
and 0.2 based on preliminary trials. We generated a total of 60 broods. In addition, we
24
also outputted the objective function of a new brood. In each MBO procedure, the
queen stops mating when her energy reduces to zero or when her spermatheca is full.
We summarize the results in Tables 1 and 2.
Concerning the performance of the BAB algorithm, Tables 1 and 2 show that the
number of nodes and CPU time increase when n becomes larger. When n = 24, 41
instances were unsolved. Specifically, the most difficult situation occurs at
( , , , )pro Rλ τ = (0.5, 0.25, 0.5, 0.5), in which up to 15 instances were unsolved.
Tables 1 and 2 also show that the BAB algorithm generates more nodes as pro, λ , or
R becomes smaller, or τ becomes bigger regardless of whether n = 16 or 24.
Regarding the impacts of the parameters, it can be observed from Table 1 that the
instances with a smaller value of pro (pro = 0.5) are more difficult than those with a
bigger one (pro = 0.75). The trend becomes significant at λ = 0.25 and 0.25τ = .
Furthermore, as shown in Table 1, when n = 16 and pro = 0.5, the instances of both
cases of ( , ) (0.25,0.25)λ τ = and ( , ) (0.5,0.25)λ τ = with a smaller value of R (say,
R = 0.5) generate more nodes than those with a larger value of R (say, R = 0.75).
As regards the performance of the MBO algorithm, the results in Table 1 show
that up to 87.5% of solutions had a mean percentage error of less than 1%; however,
less than 3% of the solutions had a mean percentage error of up to 100% for all
variants of the MBO algorithm. In order to evaluate the impacts of the parameters, we
report in Table 3 the related results from Table 1. The results in Table 3 show that
when n = 16 or 24, the performance of MBO1-4 is all good as pro, λ , or R becomes
smaller, or τ becomes bigger. The trend is clear and all the solutions have a small
mean percentage error of less than 1%. Besides, it can be observed from Fig. 2 that
when n = 16, MBO2 has a higher mean percentage error at pro = 0.5 than at pro = 0.75
and it could go up to 0.25% when pro = 0.5 and 0.25λ = . One more observation
from Fig. 3 is that when n = 16 and pro = 0.5, for the instances of the case
25
( , ) (0.5,0.25)λ τ = , MBO2 has a mean percentage error of 0.05%, which increases to
0.35% as the value of R increases from 0.5 to 0.75. However, the increment, which is
less than 0.3%, is tiny. The results also show that the performance of MBO2 is not
affected by the related parameters. This suggests that the behaviour of MBO2 is very
stable and robust.
In the second part of the experiments, we further tested the performance of the
MBO algorithm in solving instances with a large number of jobs. We set the number
of jobs n at 40 and 100, and gave τ the values 0.25 and 0.5, and R the values 0.50
and 0.75. This yielded a total of four combinations of ( , )Rτ values: (0.25, 0.5),
(0.25, 0.75), (0.5, 0.5), and (0.5, 0.75). We fixed the proportion of the jobs of the
second agent at 0.5 and 0.75 in the experiments. As a result, we examined a total of 32
experimental situations. We randomly generated a set of 50 instances for each
situation.
We recorded the average and maximum relative percentages for each variant of
the MBO algorithm executed with four generations. The relative percentage with
respect to the best known solution is obtained for each instance, where the best known
solution is taken as the best one from executing each MBO variant up to 50
generations, compared with each MBOi executed with only 20 generations. We also
recorded the mean execution time and mean relative percentage deviation RPD for
each MBO variant. The RPD is given by
* *(MBO-MBO )/MBO ,
where MBO is the value of the objective function generated by an MBO variant and
MBO* is the smallest value of the objective function obtained from the four MBO
variants that were executed for up to ten generations. We report the results in Tables 4
and 5.
26
As shown in Tables 4 and 5, the proportions of the RPD means of MBO1, MBO2,
MBO3, and MBO4 with less than 3% are up to 100% when n = 40, but they decline to
about 62%~75% when n = 100. These results suggest that the generation size should
be increased to improve the performance of the MBO algorithm as n increases.
Regarding the impacts of the parameters on the MBO algorithm, as shown in Tables 4
and 5, the proportions of the RPD means of the MBO variants with less than 4% occur
at a higher frequency as pro, λ , or R becomes smaller, or τ becomes bigger.
Moreover, Fig. 4 and Table 4 show that when n = 40, MBO2 has a higher RPD mean
at pro = 0.5 than at pro = 0.75 and it could go up to 0.175% when pro = 0.5 and
0.25λ = . One more observation from Fig. 5 and Table 4 is that when n = 40 and pro
= 0.5, for the instances of the case ( , ) (0.5,0.25)λ τ = , MBO2 has a RPD mean of
1.5%, which increases to 2.0% as the value of R increases from 0.5 to 0.75. However,
the increment, which is less than 1%, is small. In addition, all four variants of the
MBO algorithm maintain a stable CPU time in solving the test instances. The results
also show that MBO2 is better than the other three MBOs when the number of jobs
becomes larger. Thus, in terms of solution quality and stability, we recommend MBO2
as the preferred version of the MBO algorithm to use to generate approximate
solutions to the problem under study.
5. Conclusions
Single-machine scheduling involving multiple agents has received significant
research attention in recent years. We consider a two-agent singe-machine scheduling
problem with arbitrary job release dates. Our aim is to find an optimal schedule to
minimize the weighted sum of the completion times of the jobs of one agent with the
restriction that the maximum lateness of the jobs of the other agent cannot exceed a
27
given limit. We provide a branch-and-bound solution scheme and a marriage of
honey-bees optimization algorithm to solve the problem optimally and approximately,
respectively. Computational results show that the BAB algorithm can solve problem
instances with up to 24 jobs. The results also show that the MBO algorithm performs
quite well in terms of both accuracy and stability. Future research may consider
studying the problem in the multi-machine setting or extending to the multi objective
optimization with two-agents and release dates setting.
Acknowledgements
We are grateful to the Editor, Associate Editor, and three anonymous referees for
their constructive comments on earlier versions 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 Science Foundation of Education Committee
for Young Scholars of Jiangxi, China (GJJ11143); and in part by the NSC of Taiwan
under grant numbers NSC 102-2221-E-035-070-MY3, MOST
103-2410-H-035-022-MY2, and NSC 102-2410-H-264-003.
References
1. Abbass H.A. (2001a) MBO: Marriage in honey bees optimization: A
haplometrosis polygynous swarming approach. The Congress on Evolutionary
Computation. CEC2001, Seoul, Korea, Mai 2001.
2. Abbass H.A. (2001b) A single queen single worker honey bees approach to 3-sat.
The Genetic and Evolutionary Computation Conference, GECCO2001, San
Francisco, USA Juillet, 2001.
3. Abbass H.A., Teo J. (2001) A true annealing approach to the marriage in
honey-bees optimization algorithm. The Inaugural Workshop on Artificial Life
(AL’01), 1–14, ISBN 0-7317-0508-4, Adelaide, Australia, December 2001.
28
4. Alatas B. (2010) Chaotic bee colony algorithms for global numerical optimization.
Expert Systems with Applications 37(8), 5682-5687.
5. Agnetis A., De Pascale G., Pacciarelli D. (2009) A lagrangian approach to
single-machine scheduling problems with two competing agents. Journal of
Scheduling 12(4), 401- 415.
6. Agnetis A., Mirchandani P.B., Pacciarelli D., Pacifici A. (2004) Scheduling
problems with two competing agents. Operations Research 52, 229-242.
7. Agnetis A., Pacciarelli D., Pacifici A. (2007) Multi-agent single machine
scheduling. Annals of Operations Research 150, 3-15.
8. Baker K.R., Smith J.C. (2003) A multiple-criterion model for machine scheduling.
Journal of Scheduling 6, 7-16.
9. Bessonov N., Demin I., Pujo-Menjouet L., Volpert V. (2009) A multi-agent model
describing self-renewal of differentiation effects on the blood cell population.
Mathematical and Computer Modelling 49, 2116-2127.
10. Benatchb, K., Admane L., Koudil M. (2005) Using bees to solve a data-mining
problem expressed as a Max-Sat One. Artificial Intelligence and Knowledge
Engineering Applications: A Bioinspired Approach, Lecture Notes in Computer
Science 3562, 212-220.
11. Bitam S., Batouche M., Talbi E-G. (2010) A survey on bee colony algorithms.
Parallel & Distributed Processing, Workshops and PhD Forum (IPDPSW), 2010
IEEE International Symposium.
12. Bozorg Haddad O., Afshar A., Marino M.A. (2008) Honey-bee mating
optimization (HBMO) algorithm in deriving optimal operation rules for reservoirs.
Journal of Hydroinformatics 10(3), 257-264.
13. Chan F.T.S., Tiwari M.K. (2007) Swarm intelligence: Focus on ant and particle
29
swarm optimization. Itech Education and Publishing, 532, ISBN
978-3-902613-09-7, Vienna, Austria.
14. Cheng T.C.E., Cheng S.R., Wu W.H. Hsu P.H., Wu C.C. (2011a) A two-agent
single-machine scheduling problem with truncated sum-of-processing-times-based
learning considerations. Computers & Industrial Engineering 60, 534-541.
15. Cheng T.C.E., Ng C.T., Yuan J.J. (2006) Multi-agent scheduling on a single
machine to minimize total weighted number of tardy jobs. Theoretical Computer
Science 362, 273-281.
16. Cheng T.C.E., Ng C.T., Yuan J.J. (2008) Multi-agent scheduling on a single
machine with max-form criteria. European Journal of Operational Research 188,
603-609.
17. Cheng T.C.E., Wu W.H., Cheng S.R., Wu C.C. (2011b) Two-agent scheduling
with position-based deteriorating jobs and learning effects. Applied Mathematics
and Computation 217, 8804-8824.
18. Della Croce F., Narayan V., Tadei R. (1996) The two-machine total completion
time flow shop problem. European Journal of Operational Research 90, 227-237.
19. Fisher M.L. (1971) A dual algorithm for the one-machine scheduling problem.
Mathematical Programming 11, 229-251.
20. French S. (1982) Sequencing and Scheduling- An Introduction to the Mathematics
of the Job-Shop, Ellis Horwood Limited, UK.
21. Karaboga D., Akay B. (2009a) A comparative study of Artificial Bee Colony
30
algorithm. Applied Mathematics and Computation 214, 108-132.
22. Karaboga D., Akay B. (2009b) A survey: Algorithms simulating bee swarm
intelligence. Artificial Intelligence Review 31(1-4), 61-85.
23. Koudil M., Benatchba K., Tarabet A., Sahraoui E.B. (2007) Using artificial bees
to solve partitioning and scheduling problems in codesign. Applied Mathematics
and Computation 186, 1710-1722.
24. Lee K., Choi B.C., Leung J.Y.T., Pinedo M.L. (2009) Approximation algorithms
for multi-agent scheduling to minimize total weighted completion time.
Information Processing Letters 109, 913-917.
25. Lun Y.H.V., Lai K.H., Ng C.T., Wong C.W.Y., Cheng T.C.E. (2011) Research in
shipping and transport logistics. International Journal of Shipping and Transport
Logistics 3, 1-5.
26. Luo W., Chen L., Zhang G. (2011) Approximation schemes for two-machine flow
shop scheduling with two agents. Journal of Combinatorial Optimization, doi:
10.1007/s10878-011-9378-2.
27. Mor B., Mosheiov G. (2010) Scheduling problems with two competing agents to
minimize minmax and minsum earliness measures. European Journal of
Operational Research 206, 540-546.
28. Ng C.T., Cheng T.C.E., Yuan J.J. (2006) A note on the complexity of the problem
of two-agent scheduling on a single machine. Journal of Combinatorial
31
Optimization 12, 387-394.
29. Nong Q.Q., Cheng T.C.E., Ng C.T. (2011) Two-agent scheduling to minimize the
total cost. European Journal of Operational Research 215, 39-44.
30. Purnomo H., Guizol P. (2006) Simulating forest plantation co-management with a
multi-agent system. Mathematical and Computer Modelling 44, 535–552.
31. Wan G., Vakati R.S., Leung J.Y.T., Pinedo, M. (2010) Scheduling two agents
with controllable processing times. European Journal of Operational Research
205, 528-539.
32. Wu W.-H., Cheng S.-R., Wu C.-C., Yin Y. (2012) Ant colony algorithms for
two-agent scheduling with sum-of-processing-times-based learning and
deteriorating considerations. Journal of Intelligent Manufacturing 23, 1985-1993.
33. Wu C.-C., Wu W.-H., Chen J.-C., Yin Y., Wu W.-H. (2013) A study of the
single-machine two-agent scheduling problem with release times, Applied Soft
Computing 13(2), 998-1002.
34. Wu C.-C., Cheng S.-R., Wu W.-H., Yin Y., Wu W.-H. (2013) The single-machine
total tardiness problem with unequal release times and a linear deterioration,
Applied Mathematics and Computation 219, 10401-10415.
35. Yin Y., Cheng S.-R., Cheng T.C.E., Wu W.-H., Wu C.C. (2013a) Two-agent
single-machine scheduling with release times and deadlines, International Journal
of Shipping and Transport Logistics 5(1), 75-94.
36. Yin Y., Wu W.-H., Cheng S.-R., Wu C.-C. (2012) An investigation on a
two-agent single-machine scheduling problem with unequal release dates.
Computers and Operations Research 39, 3062-3073.
37. Yin Y., Wu C.-C., Wu W.-H., Hsu C.-J., Wu W.-H. (2013b) A branch-and-bound
procedure for a single-machine earliness scheduling problem with two agents,
32
Applied Soft Computing 13(2), 1042-1054.
38. Yin Y., Wu W.-H., Wu W.H., Wu C.-C. (2014) A branch-and-bound algorithm
for a single machine sequencing to minimize the total tardiness with arbitrary
release dates and position-dependent learning effects, Information Sciences 256,
91-108.
39. Zhang F., Ng C.T., Tang G., Cheng T.C.E., Lun Y.H.V. (2011) Inverse scheduling:
Applications in shipping. International Journal of Shipping and Transport
Logistics 3, 312-322.
33
Figure 1 The convergence curves of MBO1-4 at n=16
0.00%
0.50%
1.00%
1.50%
2.00%
2.50%
0 5 10 15 20
Aver
age
of
erro
r per
centa
ges
g size
MBO1
MBO2
MBO3
MBO4
34
0.00%
0.10%
0.20%
0.30%
0.50 0.75
Aver
age
per
centa
ge
erro
r
Pro
λ=0.25,τ=0.25
λ=0.25,τ=0.50
λ=0.50,τ=0.25
λ=0.50,τ=0.50
Figure 2. Performance of the MBO2 algorithm (n = 16)
35
Figure 3. Performance of the MBO2 algorithm (n = 16, pro = 0.5)
0.00%
0.10%
0.20%
0.30%
0.40%
0.50 0.75
Aver
age
per
centa
ge
erro
r
R
λ=0.25,τ=0.25
λ=0.25,τ=0.50
λ=0.50,τ=0.25
λ=0.50,τ=0.50
36
0.00%
0.50%
1.00%
1.50%
2.00%
0.50 0.75
Av
erag
e R
PD
Pro
λ=0.25,τ=0.25
λ=0.25,τ=0.50
λ=0.50,τ=0.25
λ=0.50,τ=0.50
Figure 4. Performance of the MBO2 algorithm (n = 40)
37
0.00%
0.50%
1.00%
1.50%
2.00%
2.50%
0.50 0.75
Av
erag
e R
PD
R
λ=0.25,τ=0.25
λ=0.25,τ=0.50
λ=0.50,τ=0.25
λ=0.50,τ=0.50
Figure 5. Performance of the MBO2 algorithm (n = 40, pro = 0.5)
38
Table 1. Performance of the BAB and MBO algorithms
n pro λ τ R
BAB algorithm MBO1 MBO2 MBO3 MBO4
valid
sample size
CPU time number of nodes error percentages
mean max mean max mean max mean max mean max mean max
16 0.50 0.25 0.25 0.50 50 2.75 28.02 164559 1695887 0.12 3.31 0.27 4.21 0.27 5.95 0.25 3.36
0.75 50 0.39 2.03 18088 108598 0.36 7.39 0.25 7.03 0.31 2.79 0.24 4.57
0.50 0.50 50 2.82 21.33 162417 1365252 0.41 7.62 0.04 1.08 0.35 9.38 0.21 4.03
0.75 50 2.62 75.16 163122 4952591 0.36 11.92 0.35 11.92 0.35 11.92 0.43 11.92
0.50 0.25 0.50 50 1.38 21.30 73526 1006881 0.36 6.42 0.24 9.41 0.20 3.72 0.19 3.87
0.75 50 0.42 7.77 25790 574835 0.32 6.69 0.31 5.06 0.14 2.07 0.25 4.78
0.50 0.50 50 0.33 3.02 18271 186757 0.13 4.24 0.12 4.24 0.30 8.68 0.30 8.68
0.75 50 0.30 2.78 14995 152159 0.16 3.56 0.14 2.99 0.22 3.10 0.19 4.01
0.75 0.25 0.25 0.50 50 0.15 1.27 4783 62326 0.10 2.93 0.08 2.93 0.09 2.91 0.14 3.31
0.75 50 0.11 0.78 3777 29395 0.01 0.22 0.08 3.78 0.00 0.11 0.01 0.22
0.50 0.50 50 0.22 1.33 8185 58639 0.09 2.05 0.04 0.74 0.05 2.50 0.12 3.05
0.75 50 0.16 1.72 5826 83537 0.02 0.44 0.06 2.42 0.03 1.01 0.01 0.44
0.50 0.25 0.50 50 0.06 0.55 1704 12818 0.04 0.82 0.02 0.82 0.06 1.79 0.04 2.08
0.75 50 0.05 0.70 1648 23594 0.05 1.81 0.03 1.40 0.03 1.19 0.01 0.50
0.50 0.50 50 0.03 0.20 958 8350 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.75 50 0.03 0.14 757 5112 0.00 0.00 0.00 0.19 0.04 0.79 0.01 0.19
24 0.50 0.25 0.25 0.50 41 3568.13 33133.59 103845273 910144384 1.19 6.95 1.22 4.73 1.44 10.26 1.64 11.56
0.75 47 1177.39 32557.06 32536692 996496175 0.75 5.79 0.88 6.23 0.80 7.51 0.69 9.49
0.50 0.50 35 4492.30 37221.20 120352008 975889523 2.00 9.81 0.71 7.33 1.16 7.91 1.12 7.09
0.75 43 5909.74 33716.19 144395324 872540202 1.13 8.83 1.33 8.34 1.27 18.81 1.34 8.58
0.50 0.25 0.50 46 2839.64 25054.73 78683997 639672508 0.92 5.24 0.90 3.99 0.73 3.99 0.70 3.41
0.75 50 849.59 12958.86 17471380 214385770 0.26 3.16 0.33 3.31 0.26 2.68 0.44 6.85
0.50 0.50 48 1457.37 13020.50 37381631 354457210 1.08 10.74 0.66 4.74 0.64 6.23 1.01 6.25
0.75 49 1215.99 20602.17 30818377 523026751 0.69 8.94 0.57 4.34 0.60 4.17 0.76 4.08
0.75 0.25 0.25 0.50 50 232.49 3599.11 3840030 74442585 0.32 3.03 0.27 2.25 0.36 3.38 0.28 1.71
0.75 50 232.64 4702.81 4147056 95498160 0.25 2.40 0.24 2.88 0.35 5.51 0.24 1.34
0.50 0.50 50 993.20 11861.45 16067526 184803768 0.37 4.67 0.36 3.29 0.37 5.51 0.39 4.67
0.75 50 318.86 3535.48 4941388 52287493 0.22 1.94 0.43 3.98 0.21 1.50 0.35 3.36
0.50 0.25 0.50 50 38.12 480.88 493289 4935123 0.11 0.95 0.15 1.18 0.12 0.88 0.12 1.46
0.75 50 6.96 65.20 93628 864023 0.09 1.72 0.07 2.49 0.18 4.50 0.11 1.85
0.50 0.50 50 34.16 700.63 500955 10141835 0.19 2.83 0.16 1.79 0.09 0.96 0.15 1.65
0.75 50 26.17 797.75 362349 11396709 0.12 1.98 0.08 0.89 0.06 1.12 0.21 1.97
Average 0.38 0.32 0.35 0.37
percentage error <3 100.00% 100.00% 100.00% 100.00%
percentage error < 1 87.50% 93.75% 90.63% 87.50%
39
Table 2. Performance of the BAB algorithm (n = 16, 24)
n parameter number of nodes
valid sample size mean max
16
Pro 0.50 400 80,096 4,952,591
0.75 400 3,455 83,537
λ 0.25 400 66,345 4,952,591
0.50 400 17,206 1,006,881
τ 0.25 400 36,734 1,695,887
0.50 400 46,816 4,952,591
R 0.50 400 54,300 1,695,887
0.75 400 29,250 4,952,591
24
Pro 0.50 359 66,868,110 996,496,175
0.75 400 3,805,778 184,803,768
λ 0.25 366 48,245,902 996,496,175
0.50 393 20,025,350 639,672,508
τ 0.25 384 27,887,015 996,496,175
0.50 375 39,518,264 975,889,523
R 0.50 370 40,348,240 975,889,523
0.75 389 27,247,080 996,496,175
40
Table 3. Performance of the MBO algorithms (n = 16, 24)
n parameter valid sample size
MBO1 MBO2 MBO3 MBO4
percentage error
mean max mean max mean max mean max
16
pro 0.50 400 0.28 11.92 0.21 11.92 0.27 11.92 0.26 11.92
0.75 400 0.04 2.93 0.04 3.78 0.04 2.91 0.04 3.31
λ 0.25 400 0.18 11.92 0.15 11.92 0.18 11.92 0.18 11.92
0.50 400 0.13 6.69 0.11 9.41 0.12 8.68 0.12 8.68
τ 0.25 400 0.17 7.39 0.16 9.41 0.14 5.95 0.14 4.78
0.50 400 0.15 11.92 0.09 11.92 0.17 11.92 0.16 11.92
R 0.50 400 0.16 7.62 0.10 9.41 0.17 9.38 0.16 8.68
0.75 400 0.16 11.92 0.15 11.92 0.14 11.92 0.14 11.92
24
pro 0.50 359 0.96 10.74 0.81 8.34 0.83 18.81 0.94 11.56
0.75 400 0.21 4.67 0.22 3.98 0.22 5.51 0.23 4.67
λ 0.25 366 0.71 9.81 0.65 8.34 0.70 18.81 0.71 11.56
0.50 393 0.42 10.74 0.36 4.74 0.33 6.23 0.43 6.85
τ 0.25 384 0.46 6.95 0.48 6.23 0.51 10.26 0.50 11.56
0.50 375 0.66 10.74 0.52 8.34 0.51 18.81 0.63 8.58
R 0.50 370 0.71 10.74 0.53 7.33 0.57 10.26 0.63 11.56
0.75 389 0.42 8.94 0.47 8.34 0.45 18.81 0.50 9.49
41
Table 4. RPD of the MBO algorithms (n = 40, 100)
n pro λ τ R MBO1 MBO2 MBO3 MBO4
CPU time RPD CPU time RPD CPU time RPD CPU time RPD
mean max mean max mean max mean max mean max mean max mean max mean max
40 0.50 0.25 0.25 0.50 1.13 1.47 1.47 7.37 1.12 1.42 1.52 12.10 1.13 1.53 1.18 6.74 1.12 1.41 1.27 7.45
0.75 1.15 1.69 1.55 12.84 1.12 1.31 2.12 21.04 1.14 1.31 1.72 13.85 1.16 1.52 1.52 7.60
0.50 0.50 1.10 1.61 1.91 7.09 1.09 1.94 1.50 10.94 1.12 1.91 1.39 6.86 1.11 1.81 1.97 8.77
0.75 1.10 1.34 1.86 8.43 1.05 1.25 2.09 7.91 1.09 1.39 1.75 14.58 1.08 1.30 2.35 8.20
0.50 0.25 0.50 1.13 1.36 1.48 9.84 1.11 1.27 1.11 10.10 1.09 1.28 1.06 6.31 1.10 1.33 0.97 3.54
0.75 1.13 1.67 0.91 7.33 1.13 1.41 0.79 7.08 1.15 1.42 1.10 11.51 1.13 1.42 1.34 12.54
0.50 0.50 1.08 1.42 1.39 10.17 1.04 1.23 1.23 4.93 1.09 1.48 1.22 8.63 1.08 1.41 1.31 6.42
0.75 1.09 1.41 1.58 7.48 1.07 1.47 2.07 13.55 1.11 1.39 1.59 5.23 1.08 1.47 2.24 16.72
0.75 0.25 0.25 0.50 1.04 1.28 0.85 9.82 1.01 1.23 0.88 5.64 1.04 1.38 1.19 7.44 1.04 1.27 1.03 7.00
0.75 1.06 1.27 0.88 7.42 1.04 1.25 0.94 7.67 1.05 1.28 0.73 5.87 1.05 1.34 0.74 3.51
0.50 0.50 1.05 1.34 1.18 4.17 1.03 1.38 1.11 4.79 1.06 1.48 0.99 5.52 1.04 1.25 1.29 6.99
0.75 1.03 1.28 0.74 5.82 1.05 1.47 0.89 4.92 1.03 1.25 1.10 5.08 1.06 1.36 0.80 4.22
0.50 0.25 0.50 1.11 1.88 0.42 2.87 1.10 2.20 0.34 2.45 1.16 2.02 0.35 2.67 1.15 2.34 0.33 2.60
0.75 1.05 1.34 0.33 2.06 1.05 1.53 0.17 1.13 1.09 1.42 0.31 2.60 1.05 1.33 0.29 2.08
0.50 0.50 1.14 1.61 0.49 5.82 1.12 1.89 0.36 3.70 1.15 1.67 0.48 2.32 1.14 2.20 0.38 2.37
0.75 1.13 1.53 0.36 2.14 1.11 1.52 0.46 2.60 1.11 2.02 0.37 2.03 1.07 1.34 0.36 1.76
Average 1.09 1.09 1.08 1.10 1.10 1.03 1.09 1.14
percentage error <3 100.00% 100.00% 100.00% 100.00%
100 0.50 0.25 0.25 0.50 14.41 21.45 2.25 12.93 14.22 22.11 1.79 7.70 14.03 29.61 2.78 20.44 13.62 18.06 2.29 17.05
0.75 14.40 20.45 2.55 24.44 14.46 25.86 3.45 29.77 14.89 25.50 2.48 14.24 15.16 21.64 1.51 10.47
0.50 0.50 13.48 22.67 6.82 44.22 13.38 21.34 6.03 45.55 13.40 21.72 4.58 30.88 13.48 20.48 3.31 16.33
0.75 13.72 20.53 3.55 15.46 13.78 21.72 5.18 34.82 14.24 20.81 4.68 16.03 13.87 20.44 4.82 28.58
0.50 0.25 0.50 13.54 22.47 2.42 11.37 13.72 22.06 3.16 20.31 14.14 22.09 3.32 15.96 14.17 29.20 2.25 11.92
0.75 14.09 26.53 1.65 13.81 13.39 18.66 2.31 19.79 14.97 26.25 1.41 11.22 14.41 26.02 1.44 16.49
0.50 0.50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
0.75 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
0.75 0.25 0.25 0.50 12.60 15.83 1.62 13.89 12.95 16.89 1.10 3.71 12.93 20.61 1.22 6.66 12.58 15.98 1.25 9.65
0.75 13.24 20.20 1.73 10.74 13.10 18.36 1.55 6.55 12.87 19.52 1.55 7.60 13.05 19.83 1.05 3.20
0.50 0.50 12.81 17.36 2.18 14.02 12.91 19.23 1.80 10.51 13.17 21.03 1.98 10.82 12.68 16.48 1.95 13.64
0.75 12.68 16.88 1.87 12.91 12.82 16.78 2.34 28.87 12.52 15.19 1.74 11.96 12.84 19.27 1.46 8.24
0.50 0.25 0.50 12.49 16.70 0.58 5.13 12.83 19.63 0.65 8.37 12.91 20.39 0.54 3.22 12.30 17.52 0.62 5.07
0.75 12.44 15.58 0.66 4.03 12.49 19.30 0.52 3.16 12.57 19.98 0.55 6.07 12.68 18.66 0.46 3.66
0.50 0.50 13.39 21.45 0.66 3.27 13.22 17.31 0.64 2.47 13.10 19.42 0.66 3.24 12.71 18.77 0.71 2.29
0.75 12.56 23.84 1.02 14.74 12.16 14.27 0.78 2.64 12.68 18.78 0.90 5.23 12.43 18.66 1.01 5.56
Average 13.27 2.11 13.25 2.23 13.46 2.03 13.28 1.73 percentage error <3 75.00% 62.50% 68.75% 75.00%
42
Table 5. Performance of the MBO algorithms (n = 40, 100)
n parameter valid sample size
MBO1 MBO2 MBO3 MBO4
RPD
mean max mean max mean max mean max
40
pro 0.50 400 1.52 12.84 1.56 21.04 1.37 14.58 1.62 16.72
0.75 400 0.66 9.82 0.64 7.67 0.69 7.44 0.65 7.00
λ 0.25 400 1.31 12.84 1.38 21.04 1.25 14.58 1.37 8.77
0.50 400 0.87 10.17 0.82 13.55 0.81 11.51 0.90 16.72
τ 0.25 400 0.99 12.84 0.98 21.04 0.95 13.85 0.94 12.54
0.50 400 1.19 10.17 1.22 13.55 1.11 14.58 1.34 16.72
R 0.50 400 1.15 10.17 1.01 12.10 0.98 8.63 1.07 8.77
0.75 400 1.03 12.84 1.19 21.04 1.08 14.58 1.21 16.72
100
pro 0.50 300 3.21 44.22 3.65 45.55 3.21 30.88 2.61 28.58
0.75 400 1.29 14.74 1.17 28.87 1.14 11.96 1.07 13.64
λ 0.25 400 2.82 44.22 2.90 45.55 2.63 30.88 2.21 28.58
0.50 300 1.16 14.74 1.34 20.31 1.23 15.96 1.08 16.49
τ 0.25 400 1.68 24.44 1.82 29.77 1.73 20.44 1.36 17.05
0.50 300 2.68 44.22 2.79 45.55 2.42 30.88 2.21 28.58
R 0.50 350 2.36 44.22 2.17 45.55 2.15 30.88 1.77 17.05
0.75 350 1.86 24.44 2.30 34.82 1.90 16.03 1.68 28.58