0% found this document useful (0 votes)
73 views18 pages

Two-Agent-Based Single-Machine Scheduling With Switchover Time To Minimize Total Weighted Completion Time and Makespan Objectives

Uploaded by

Shalika Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views18 pages

Two-Agent-Based Single-Machine Scheduling With Switchover Time To Minimize Total Weighted Completion Time and Makespan Objectives

Uploaded by

Shalika Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Ann Oper Res

DOI 10.1007/s10479-017-2515-2

RAOTA-2016

Two-agent-based single-machine scheduling with


switchover time to minimize total weighted completion
time and makespan objectives

Shesh Narayan Sahu1 · Yuvraj Gajpal2 ·


Swapan Debbarma1

© Springer Science+Business Media New York 2017

Abstract We consider a single-machine scheduling problem with two-agents, each with a


set of non-pre-emptive jobs, where two agents compete for the use of a single processing
resource. A switchover time arises whenever a job of one agent is processed after a job
of another agent. Each agent wants to minimize a certain objective function, which depends
upon the completion time and switchover time of their own jobs only. This paper considers the
minimization of total weighted completion time of the first agent subject to an upper bound
on the makespan of the second agent. We introduce some properties to the problem. The
properties describe the structure of an optimal solution which is being used for developing
an optimal algorithm. We propose an optimal algorithm, a simple heuristic algorithm, and a
particle-swarm-based meta heuristic algorithm to solve the problem. The heuristic algorithm
is based on the weighted shortest process time-first rule. The performances of the heuristic
and particle swarm algorithms are evaluated on randomly generated problem instances. We
perform the numerical analysis to reveal the properties of the proposed problem.

Keywords Scheduling · Competing agents · Heuristic · Combinatorial optimization ·


Particle swarm optimization

1 Introduction

A scheduling model with competing agents arises in several applications. The problem has
applications on integrated multimedia services, on telecommunication services, on railroad
tracks, on the manufacturing industry, and on maintenance planning.

B Yuvraj Gajpal
[email protected]
1 Department of Computer Science and Engineering, National Institute of Technology, Agartala,
Agartala, Tripura 799046, India
2 Asper School of Business, University of Manitoba, Winnipeg, MB R3T5V4, Canada

123
Ann Oper Res

In our study, we consider a two-agent-based scheduling problem with switchover time


between agents. The concept of switchover time is similar to the setup time used in the
literature on scheduling. Setup time plays an important role within the job-scheduling process,
since machines need to be uniquely prepared before performing the operation required by the
next job. With sequence-dependent switchover time, the scheduling problem can be found in
various information-processing systems and production systems (Ahmadov and Helo 2016).
For example, in a computer system application, a job requires a setup time to load a different
compiler, if the current compiler is not suitable. In a computing system, a loader is a part of an
operating system that is responsible for loading programs and libraries. In the print industry,
a setup time is required to prepare the machine for cleaning, a task that depends on the colour
of the current job and the one that immediately follows. In the textile industry, setup time for
weaving and dying operations depends on the job sequence. In the container/bottle industry,
setup time depends on the sizes and shapes of the containers/bottles. Similar situations arise
in chemical, pharmaceutical, food processing, metal processing, paper , and many other
industries. The importance and benefits of incorporating setup times into scheduling research
has been investigated by many researchers. Allahverdi et al. (2008) provide an excellent
survey on scheduling problem with setup times. Given the practical application of setup time
and the two-agents scheduling problem, there is a need to propose an integrated model. The
integrated model should consider the switchover time between agents. The application of an
integrated model can be found in cloud a computing service where jobs of different agents
are processed by a common server. The compilers are required to change between the jobs
of the two-agents. The switchover time of the compiler can be considered as a setup time
in cloud computing. The aim of this paper is to provide an integrated model combining the
switchover time in a two-agents scheduling problem.
This paper considers a two-agent-based scheduling problem with switchover time between
two-agents, namely agent A and agent B. Each of the agents must process a set of jobs with a
common resource to optimize its own objective function, which depends on the completion
time of each agent’s own jobs. The objective is to minimize the total weighted completion
time of agent A’s jobs subjected to the upper bound Q on the makespan of agent B’s jobs. The
switchover time is applicable whenever an A job is scheduled after a job of agent B or vice
versa. The switchover time is dependent on the jobs of agent A only. The switchover time asso-
ciated with each of agent A’s jobs is bound to vary between tasks, and each switchover time is
applicable whenever a given job is scheduled either before or after one of agent B’s jobs. We
assume that the switchover time associated with the job of agent A is not dependent on the jobs
of agent B. For example, if the switchover time associated with JiA is 10, then the switchover
time will remain 10 whenever job JiA is scheduled before or after any job of agent B.
To our knowledge, the literature contains no paper that considers a switchover time
between agents. The main contribution of the paper is to introduce the concept of switchover
time between agents in a two-agents scheduling problem. Some property of the problem is
introduced to design an optimal algorithm of the problem. In addition, this paper develops a
heuristic algorithm and a PSO-based metaheuristic algorithm to solve this newly introduced
problem. The proposed PSO algorithm is specially designed for this problem, since it exploits
the partition based property of the problem. We have added two new features on proposed
PSO algorithm. The new sequencing rule and the new parameter updating rule are introduced
in a proposed PSO algorithm.
In the remainder of the paper we present a literature review in Sect. 2, while Sect. 3 provides
notations and formulation of the problem. Some properties of the problem are described in
Sect. 4. In Sect. 5, we present our optimal algorithm and our heuristic algorithm, and Sect. 6

123
Ann Oper Res

describes the particle swarm optimization. Numerical experiments are presented in Sect. 7.
Our conclusions are offered in Sect. 8.

2 Literature review

The problem of two competing agents was introduced by Baker and Smith (2003) and by
Agnetis et al. (2004). The two-agents’ problem was extended to multi-agent problem by
Agnetis et al. (2007). These authors considered a different objective function for each agent.
The initial studies provided a polynomial time algorithm and an NP-hardness proof for
different problems. A number of papers published after these first efforts went on to consider
different aspects of the scheduling problem, such as
• a release-date-related objective function (Leung et al. 2010; Yin et al. 2012b, 2013; Wang
et al. 2017);
• a batch scheduling problem (Mor and Mosheiov 2011; Li and Yuan 2012; Pei et al. 2017;
Yin et al. 2016a, b, c);
• an earliness- and tardiness-related objective function (Mor and Mosheiov 2010; Gerstl
and Mosheiov 2013);
• a varying process-time parameter (Liu et al. 2010a, b; Wan et al. 2010; Gawiejnowicz
et al. 2011; Yin et al. 2012a; Dover and Shabtay 2016);
• a learning effect on process time of jobs (Cheng et al. 2011; Li and Hsu 2012);
• a flow shop and parallel machine problem (Wan et al. 2010; Leung et al. 2010; Lee et al.
2011; Mor and Mosheiov 2014; Elvikis and T’kindt 2014),
• a due date determination problem (Yin et al. 2016a, b, c; Wang et al. 2015, 2016).
We study the problem with both total weighted completion time and makespan objectives,
a similar situation that has been previously studied by Agnetis et al. (2009), Gajpal and Sahu
(2014a) and Gajpal et al. (2014b), but without the inclusion of a switchover time. Agnetis
et al. (2009) developed a branch-and-bound-based Lagrangian approach to solve the problem,
and Gajpal and Sahu (2014a) proposed pseudo-polynomial algorithm, while Gajpal et al.
(2014b) proposed a heuristic solution. To our knowledge, there is no paper that considers
the switchover time between two-agents. In this paper, we propose an optimal algorithm, a
simple heuristic algorithm and a particle swarm optimization-based algorithm to solve the
problem.
A particle swarm optimization (PSO) algorithm is a biologically inspired computational
search and represents one of the latest evolutionary optimization techniques. The PSO is
based on the social interaction and communication of the particles that make up a swarm.
This algorithm was developed by Kennedy and Eberhart (1995) based on the social behaviors
of birds flocking and fish schooling. It has been successfully applied to solve permutation
flow shop-sequencing problems (Tasgetiren et al. 2004; Liao et al. 2007; Tasgetiren et al.
2007) and flexible job shop scheduling problems with sequence dependent setup time of jobs
(Grobler et al. 2010). Computational results show that the proposed PSO algorithm offers an
efficient and effective method to solve the problem considered in this paper.

3 Problem description

This paper considers two-agents when the objective is to minimize the total weighted com-
pletion time (TWCT) of one agent subject to the upper bound Q on the makespan of the

123
Ann Oper Res

second agent. Each agent has a set of jobs, J A and J B , to be processed by a single machine.
Agent A has n A jobs, and agent B has n B jobs. Let p Aj and p Bj denote the processing of
job J jA and J jB respectively. Let the total process time of all the jobs for agents A and B be
nA +n B
n A
denoted by PA = piA and PB = piB . We define w Aj as the weight and s jA as
n A =n A +1
i=1

the switchover time associated with job J jA . Let δiA = wiA piA denote the density of job
i ∈ J A . Let σ indicate a feasible schedule of the n = n A + n B jobs. For a given job sequence
σ , let the completion time of job J j be C j . Let σk represent the job that is scheduled to be
processed at position k in sequence σ . We must also define the binary variable to include the
switchover time on the calculation for total completion time. For a given schedule σ ,
Let

1 If job σk belongs to set A and job σk+1 belongs to set B
yk,k+1 = , and
0 other wise
Let

1 If job σk belongs to set B and job σk+1 belongs to set A
z k,k+1 =
0 other wise
 

k
Then, the completion time of job σk in schedule σ can be calculated as Cσk = pi +
i=1

k
si (yi−1,i + z i−1,i ). The individual objectives of agents A and B are denoted by f A (σ ) and
i=1
f B (σ ), respectively. The objective of agent A is to minimize the total weighted completion

time f A (σ ) = wiA CiA (σ ), while the objective function of agent B is to minimize the
i ∈ JA
maximum completion time f B (σ ) = Cmax
B = max {CiB (σ )}. In this paper, we minimize
j∈J B
the total weighted completion time f A (σ )
of agent A subject to an upper bound Q on the
maximum completion time f B (σ ) of agent B. The problem in our study is an NP-hard
problem because when we set the switchover time to zero, the problem reduces to a simple
two-agent-based scheduling problem, which has been proven to be NP-hard by Agnetis et al.
(2004). The problem in our study is an NP-hard problem in the ordinary sense, because a
pseudo polynomial algorithm can be developed for this problem.

4 Problem properties

We first highlight some properties of the problem that are used to construct the solution. These
properties are also used to develop an optimal algorithm. We define a few more notations
before describing the properties.
Let:
A represent the set of jobs for agent A processed before jobs of agent B
J pr e
A represent the set of jobs for agent A processed after jobs of agent B
Jsucc
JLA ⊆ J pr
A represent the last scheduled job processed before set J
e B
J F ⊆ Jsucc
A A represent the first scheduled job processed after set J
B
A /J A represent J A /J A ∈ J A except J A
J pr e L pr e L pr e L
A /J A represent J A /J A ∈ J A except J A
Jsucc F succ F succ F

123
Ann Oper Res

Lemma 1 In an optimal schedule σ ∗ , all jobs of agent B are scheduled consecutively.


Proof We provide proof by contradiction.
Suppose schedule S is an optimal schedule in which all jobs of agent B are not scheduled
consecutively. Now consider two jobs of agent B, J jB and JkB , in schedule S where these
two jobs are scheduled consecutively. There must be, at least, one job – say JiA – between
the jobs J jB and JkB . We provide proof for the case when there is only one job of agent A
scheduled between two jobs of agent B. The proof can be extended for the case when more
than one job of agent A is scheduled between two jobs of agent B. Two different scenarios
can arise. In the first scenario, job J jB is scheduled after a job of agent A, say job JlA . In the
second scenario, job J jB is scheduled after the job of agent B, say job JlB .

Scenario 1: When job J jB is scheduled after job JlA


Assume job JlA finishes its processing at time t. Consider another schedule, S  , where an
adjacent interchange between jobs J jB and JiA is performed.
Schedule S

Schedule S’

Under the original schedule S, job J jB starts its processing at time t +slA and is followed by
Ji ; whereas, under new schedule S’, job JiA starts its processing at time t and is followed by
A

J jB . All other jobs remain in their original position. The completion time of the job processed
before jobs JiA and J jB will remain the same in schedules S and S’. The completion time
of the job processed after jobs J jB and JiA will reduce by (slA + siA ) in schedule S’, where
slA and siA represent the switchover times associated with jobs JlA and JiA , respectively.
The last job of agent B in schedule S’ will be either job JkB or some other job for which
completion time will be reduced by (slA + siA ). Schedule S is feasible with respect to the
makespan of agent B, and schedule S’ will be feasible with respect to the upper bound for
the makespan of agent B. The difference in the values of the total weighted completion time
for agent A under schedules S and S’ is due to the jobs processed after job JlA . Under S, the
weighted completion time of job JiA is (t + slA + p Bj + siA + piA )wiA ; whereas, under S’,
it is (t + piA )wiA . The completion time of other jobs of agent A processed after job JlA will
reduce by (slA + siA ) in schedule S’.
It is clear that the weighted completion time for jobs of agent A processed after job JlA
under schedule S’ is strictly less than schedule S. This result contradicts the optimality of S
and verifies the proof for scenario 1.
Scenario 2: When job J jB is scheduled after job JlB
This proof is similar to scenario 1. 

As a consequence of Lemma 1, the jobs of agent B can be treated as a single job. In the
remainder of this paper, we assume that job B consists of a single job J B with process time
of PB . Lemma 1 also suggests that the structure of an optimal solution to the problem is
denoted as follows:
{J pr
A
e /J L }{J L } { J B } {J F }{ Jsucc /J F }
A A A A A

123
Ann Oper Res

Lemma 2 In an optimal schedule σ ∗ , jobs in {J prA /J A } and jobs in {J A /J A } are ordered


e L succ F
by non- increasing values of the ratio of density δiA .

Proof This lemma can be easily proved using a simple adjacent pairwise interchange scheme.


A and J A is given, then the optimal solution can be
Lemma 3 If the optimal partition J pr e succ
found by arranging J prA and J A in a non-increasing order of density δ A and by identifying
e succ i
A as a J A and each job from set J A as a job J A .
each job from set J pr e L succ F

Proof This lemma assumes that the optimal partition is already given. We know from
Lemma 2 that the optimal solution is denoted by {J pr A /J A }{J A }{J }{J A }{J A /J A }, which
e L L B F succ F
implies that the set J pr e is partitioned in two parts, {J pr
A A /J A } and {J A }. Set {J A } consists
e L L L
of only one job. Hence, identifying each job from set J pr A as a J A will consider all possible
e L
partitions of J prA into the partition of sets {J A /J A } and {J A }. From Lemma 2, we know
e pr e L L
that {J pr e /JL } is ordered in a non-increasing order of density. The property of set {Jsucc
A A A } is

the same as a property of set J pr A . Therefore, if sets J A and J A for optimal solution are
e pr e succ
given, then the optimal solution can be found by arranging J pr A and J A in a non-increasing
e succ
order of density δiA and by identifying each job from set J pr A as a J A and each from set J A
e L succ
as a job J FA . 


The problem considered in this paper assumes that the switchover time is dependent on
the jobs of agent A only. A more generalized form of this problem can be the considered as
a problem, where a switchover time is dependent on a particular combination of jobs from
agent A and agent B. However, the genelized problem can be reduced to our problem (due
to Proeprty 1) by considering the switchover time for a given job of agent A as a minimium
switchover time from the combination of jobs from agent B.

5 Optimal and heuristic solution for the problem

In this section, we provide the solution for the current problem. The first sub-section describes
the optimal solution, while the second sub-section describes the heuristic solution.

5.1 Optimal algorithm

This section provides an optimal solution for the problem using dynamic programming.
We use the optimal solution property in the form of {J pr A /J A }{J A }{J B }{J A }{J A /J A }
e L L F succ L
to obtain the optimal solution. The optimal solution property can be further represented as
{J pr
A /J A }{J L B F }{J A /J A } where J L B F = {J A U J B U J A }. For the given jobs J A and
e L succ L L F L
A
J F , the problem reduces to the two-agent scheduling problem without switchover time.
Let us call the new problem a reduced problem. If an optimal solution can be obtained for
the reduced problem, then the optimal solution of the original problem can be obtained
by exploring all possible reduced problems arising from the original problem. There can
be n1 × (n1 − 1) reduced problems for all combinations of jobs from agent A. Thus, the
maximum of n1×(n1−1) reduced problems needs to be solved to obtain the optimal solution
of the problem under consideration. The optimal solution for a reduced problem is described
in next subsection.

123
Ann Oper Res

5.2 Optimal solution for reduced problem

We define the reduced problem as a problem where jobs JLA and J FA are processed
together with job J B . The optimal solution of reduced problem will follow the property
{J pr
A /J A }{J L B F }{J A /J A }.
e L succ L
Let job sets J N ew A represent the set of jobs from agent A which excludes jobs JLA and
J FA . Let Pmax
N ew A represent the maximum process time of jobs from set P N ew A . Let P L B F be
max
the total process time of jobs including switch over time from set J L B F . Then the Lemma 4
will hold for the reduced problem.

Lemma 4 In an optimal schedule σ ∗ of a reduced problem, starting time STL B F of jobs


J L B F will be between Q − P L B F − pmax
N ew A and Q − P L B F i.e., Q − P L B F − p N ew A ≤
max
STL B F ≤ Q − P L B F .

Proof This lemma can be easily proved using the job exchange scheme. 


Lemma 4 suggests that if an optimal schedule for the sub problem (i.e., the sub problem
of a reduced problem) subjected to a constraint regarding the starting time of job J L B F can
be found, then the optimal solution of the reduced problem can be found by solving the sub
N ew A times. Let T F T
problem Pmax Reduced represent the objective function of reduced problem,
then we define the sub problem as follows.
Z = min{T F TReduced }
σ
st. B (σ ) ≤ Q
f max
STL B F = st L B F
The recursive formula provided by Agnetis et al. (2009) can be used to solve this sub problem.
The optimal solution of the reduced problem can, then, be obtained by solving the Pmax N ew A

number of a sub problem for each starting time st L B F .

5.3 Proposed heuristic algorithm

In the fields of computer science, artificial intelligence, and mathematical optimization,


a heuristic is a technique designed for solving problems more quickly when optimal methods
are too slow or when finding an approximate solution is too difficult. In a way, a heuristic
can be considered a shortcut for quickly achieving a good solution.
Our proposed heuristic is based upon the shortest process time (SPT) rule for a classical
single-machine scheduling problem to minimize the total weighted completion time of all
jobs. The proposed heuristic first obtains the schedule of agent A’s jobs by using SPT rule.
Then agent B’s jobs are inserted in the schedule in such way that the makespan of agent B is
less than upper bound Q. Finally, the heuristic solution tries to improve the solution by using
the property of the optimal solution in the form of {J pr
A /J A }{J A }{J B }{J A }{J A /J A } as
e L L F succ L
stated in Lemma 3. The detailed explanation of this scheme is provided in Sect. 6.2.

6 Proposed particle swarm optimization (PSO)

PSO is a swarm intelligence algorithm in which focus is placed on the swarm (e.g., a flock
of birds) instead of simply looking for a single creature. Birds usually move in a group in
search of their food. When a bird receives information about the location of the sought-after

123
Ann Oper Res

food, it communicates this information to the other members of the flock. Using this method,
birds try to find their food. This behaviour of birds is used in PSO to solve combinatorial
optimization problems.
One of the most challenging issues in designing a PSO algorithm comes from the repre-
sentation of its solution for a particular problem. In order to construct a direct relationship
between the problem domain and the PSO particles, we present n A number of dimensions
for n A number of jobs of agent A ( j = 1, ... ,n A ). Each of the dimensions represents a job
for agent A. In addition, the particle X i0 = [xi10 , ..., x 0 ] corresponds to the position values
in
A
for n number of jobs for agent A. Each particle has a continuous set of position values. The
particle itself does not present a sequence, but the sequence can be obtained using the position
value of the particle. The complete PSO algorithm is summarized below and is followed by
detailed explanation.

Step 1: Initialize the position and the velocity parameter.


• Set K = 0, m = n, where K represents the iteration and m represents the number of
particles.
• Generate the position value of m particles randomly, {X i0 , i = 1, ...., m} where
X i0 = [xi1
0 , ...., x 0 ]. The position value of ith particle on jth dimension is generated
im
as follows:

xi0j = xmin + (xmax − xmin )∗ U (0, 1) , where xmin = −4, xmax = 4.0.

• Generate initial velocities of the particles randomly {Vi0 , i = 1, ...m}, where Vi0 =
[vi1
0 , ...., v 0 ]. The velocity value of the ith particle on the jth dimension is generated
im
below:

vi0j = vmin + (vmax − vmin )∗ U (0, 1) , where vmin = −4.0, vmax = 4.0.

• Apply the sequencing rule to find the sequence Si0 = [si1 0 , ....s 0 ] of the particle X 0
im i
for i = 1 . . . m.
• Calculate the objective function value of particle i in the swarm, f i0 for i = 1 . . . m.
• For each particle i in the swarm set P Bi0 = X i0 where P Bi0 = [ pbi1 0 =
pb
xi1 , ..., pbim = xim ] along its best fitness value, f i = f i for i = 1 . . . m. The
0 0 0 0

term P Bi0 is called the personal best of particle i.


• Find the best objective function value, f best
0 = min{ f i0 } for i = 1 . . . m. with its
0
corresponding X best .
• Set the global best to G B 0 = X best
0 where the global variable is represented by
G B = [gbbest = xbest1 , ..., gbn A = xin A ] with its fitness value f gb = f best
0 0 .

Step 2: Do the following


Step 2.1: Update iteration counter.
• K = K +1
Step 2.2: Update inertia weight.
w k = w k−1∗ α, where α is called decrement counter.
Step 2.3: Update velocity with the formula using the personal and global best sequence.
Step 2.4: Update the position using the formula given below.
• xikj = xik−1
j + vikj
Step 2.5: Find the sequence and evaluate the objective function value.

123
Ann Oper Res

• Apply the MPV or PV rule to find the sequence Sik = [si1,...., k k ] for i =
s1n A
1, . . . , m.
Step 2.6: Find and update the personal best.
• Each particle is evaluated using its sequence to see if the personal best is
pb
improved or not. If f ik < f i for i = 1 . . . m, then the personal best is updated
pb
as P Bik = X ik and f i = f ik for i = 1 . . . m.
Step 2.7: Find and update the global best.
pb
• Find the minimum value of the personal best f ik = min{ f i } for i = 1 . . . m.
gb
If f ik < f i , then the global best is updated as G B k = X ik and f gb = f ik .
Step 3: Stopping criterion
• If the number of iterations exceeds the maximum number of iterations, then
stop; otherwise, go back to step 3.

The description of the above algorithm is self-explanatory. We have introduced two new
features to the proposed PSO algorithm on the sequencing rule and on the parameter updating
rule. These new rules are explained in the next sub-sections.

6.1 Finding sequence

One of the challenging tasks in PSO implementation is to convert the position value of a
particle into the solution of the problem. The existing PSO literature describes the rule based
on minimum-position value to generate the actual solution of the problem from the position
value of each particle. Our problem falls under the partition problem due to Lemma 1; thus,
we use a simple rule to construct the solution. If the position value is positive, then the job
is placed before J B , otherwise after J B . We start the assignment from the highest density
job J1A until the lowest density job Jn1 A , since we assume that the jobs are indexed in a non-

decreasing order of density. The procedure avoids the extra computation time of arranging
the jobs from set J pr A A A A
ec and Jsucc as per the WSPT rule. Once the sets J pr ec and Jsucc are
obtained using the position value of each job, we try to move some of the jobs from set Jsucc A
A
to set ,J pr ec provided such a move is possible.
Finally, we use the optimal solution property in the form of {J pr A /J A }{J A }{J B }{J A }
e L L F
{Jsucc /JL }as described in Lemma 3 to improve the solution. Under this scheme, each job
A A

from set J pr A is relocated to the last position and each of the jobs from J A
e succ is relocated
to the first position. Thus, we evaluate the total of J prA × J A number of solutions under
e succ
this improvement scheme. While using this scheme, the main concern is the evaluation of
the objective function under each evaluated solution. If we know the objective function of
sequence {J pr A }{J B }{J A }, then polynomial time evaluation methods can be designed to
e succ
obtain the objective function of new solutions. Let J 1 represent the last job from set J pr A
e
A . Let ct1[i] represent the completion time of ith
and J 2 represent the first job from set Jsucc
job from set J pr A and ct2[ j] represent the completion time of jth job from set J A . Let
e succ
W 1[i] represent the total weights of jobs starting from ith job to the last job from set J pr A ,
e
and W 2[ j] represent the total weights of jobs starting from the first position from set Jsucc A

till jth job. If ith job is made as a last job JLA and jth job is made as a first job JLA , then the
following expressions can be used to calculate the increase in objective functions of different
components.

(JLA ) = ( ct1[J 1] − ct1[JLA ]) × w JAA ; (1)


L

123
Ann Oper Res

(JLA ) = − p JAA × W 1[i + 1]; (2)


L

(J 2) = [( s JAA − s JA1 ) + ( s JAA − s JA2 ) + p JAA ] × W 2[ j − 1]; (3)


L F F

(J FA ) = [ct2(J FA ) + ( s JAA − s JA1 ) + ( s JAA − s JA2 ) + p JAA − p JA2 ] × w JAA ; (4)
L F F F

(R) = [( s JAA − s JA1 ) + ( s JAA − s JA2 )] × (W 2[J FA ] − W 2[ j]) (5)


L F

Finally, the increase in objective function value can be calculated as a sum of above terms.

6.2 Updating PSO parameters

In each iteration, all parameters associated with each particle are updated. We update velocity
value, position value, inertia personal best and global best.
Updating velocity, position and inertia
Usually in the literature, the velocity of each particle is updated using the formula given
below:
vikj = w k−1 vik−1 k−1 k−1 k−1 k−1
j + c1 r1 ( pbi j − x i j ) + c2 r2 (gbi j − x i j )

However, our problem’s specific requirement forces us to keep the position value positive
for scheduling jobs before J B . Thus, we modify the above formulation to make it specific
for our problem. We first reduce the velocity as vikj = w k−1 vik−1 j , then the value of velocity
is changed by the global sequence and the personal best sequence. If the job is sequenced
before J B in the personal best sequence, then the velocity of the job is increased by quantity
c1 r1 ; otherwise, it is decreased by c1 r1 . Similarly, if the job is sequenced before J B in the
global best sequence, then the velocity of the job is increased by quantity c2 r2 ; otherwise, it
is decreased by c2 r2 . The position of a particle is updated using the following formula:
xikj = xik−1
j + vikj
Finally, we update the inertia of the particle using the following formula:
w k = w k−1 ∗ α
Inertia can be defined as the resistance of any physical object to any change in its state
of motion, including changes to its speed and direction. The initial inertia weight is set to
w0 = 0.9. The decrement factor α is taken as 0.975.

7 Experimental results and analysis

This section presents numerical experiments to evaluate the performance of different algo-
rithms to see the effect of upper bound Q on an objective function of the first agent and to see
the effect of upper bound Q on performance of different algorithms. The proposed particle
swarm optimization algorithm is coded in C language and run on an Intel Pentium IV 2.6
GHz PC with 16 GB memory on Unix OS. We use the following notations for reporting
results:
OPT: Optimal solution for the problem
PSO: Particle swarm optimization-based algorithm
HS: Heuristic algorithm
ABS: Absolute solution value

123
Ann Oper Res

APD: Relative percentage deviation


CPU: CPU time (in seconds)

7.1 Data generation

In order to perform computational experiments on the methods we present, we have randomly


generated problem instances. The number varies from 10 to 150 jobs. The data sets are divided
in two categories with respect to the switchover time. The first category considers small
switch over times, and the second category considers large switchover times. Switchover
time refers to the preparation time of any resource (machine, people, etc.), whenever the jobs
of different agents are processed one after another. Hence, depending on the type of industry,
the switchover time can vary from low to high. The small switchover time represents those
industries where a machine requires only a short preparation time (e.g., an ice cream parlor),
while the large switchover time category represents those industries where machines require
a high amount of preparation time (e.g., an automobile manufacturing facility).
We generate two categories of data with 15 problem groups in each category. The problem
groups are labeled as SGD1 …SGD30. The problem groups SGD1 to SGD15 correspond to
the small switchover time, while SGD16 to SGD30 correspond to the large switchover time.
We generated 30 problem instances for each problem group, thereby generating a total of 900
problem instances. The parameters for both categories of data sets are generated as follows:
the processing time of jobs, weight of jobs and switchover times are considered as integers.
The processing time and weight for each job are uniformly distributed in [1, 25] and [1, 11]
respectively. The most important parameter in this experiment is the switchover time. The
small switchover time category is generated in the range of [5, 15] and the high switchover
time in the range of [50, 100].
Parameter settings
PSO uses different parameters. We perform sensitivity analysis to see the effect of different
parameters; however, we note no considerable effect on solution quality among the different
parameter’s values for solution quality except the cognitive parameters. Therefore, we set the
parameter’s values on the basis of the values used in the literature. The size of the population
is taken as the number of dimensions where dimension is equal to the number of jobs for
agent A and agent B. The social and cognitive parameters, are taken as c1 = c2 = 1.5
and r1 = r2 = U [0, 1], respectively. Most of the literature uses a fixed value of cognitive
parameters r1 and r2 ; however, we use it as a random number between 0 and 1. The initial
inertia weight is set to w0 = 0.9. Finally, the decrement factor α is taken as 0.975. We stop
our PSO algorithm after 100 iterations.

7.2 Experimental results for performance evaluation

In this section, we present the experimental results to compare the effectiveness of PSO. The
results of PSO are compared with the results of the heuristic algorithm and with those of the
optimal algorithm. We use absolute percentage deviation to compare the performance of the
proposed heuristic and PSO. The absolute percentage deviation is calculated as:

AB S(ALG) − AB S(O P T )
AP D = ∗ 100
AB S(ALG)

Here, ALG represents either the heuristic algorithm or the PSO algorithm. Table 1 shows the
experimental results for small switchover time. We report the average value of 30 problem

123
Ann Oper Res

instances for each problem group. We report the average absolute value of the solution, the
average CPU time taken by the algorithm and the average APD over optimal value.
The results reported in Table 1 show that the overall average total weighted completion
time of the optimal algorithm is 312068, while it is 314990 for the heuristic algorithm and
312778 for the PSO algorithm. The results further indicate that the proposed heuristic is 1.82
% away from the optimal solution, and the consumed CPU time is less than one second. In case
of the proposed PSO algorithm, the average of relative percentage deviation is 0.58 %, but the
consumed CPU time is, on average, 1.73 seconds. These results indicate that PSO can achieve
the near optimal solution within seconds for small switchover time problem instances. The
CPU time for the optimal algorithm increases exponentially, while PSO produces solution
in seconds. In order to solve the 150 jobs problem, the optimal algorithm consumed 1936
seconds of CPU time, while the PSO consumed only 7 seconds of CPU time. The small CPU
time of PSO compared to optimal algorithm justifies the use of PSO to solve the problem.
The computational results for the large switchover time are presented in Table 2. The
results of large switchover time are similar to the results of small switchover time. The
results reported in Table 2 show that the proposed heuristic is away from the optimal solution
by 5.98%, but it consumed less than one second of CPU time. In the case of the proposed
PSO algorithm, the overall average of the relative percentage deviation is just 1.73%. The
APD for the largest problem instances with 150 jobs is 0.28. These results indicate that
PSO is able to achieve a near optimal solution for large-switch over time as well. In the
results reported in Tables 1 and 2, it seems that the performance of a heuristic/metaheuristic
deteriorates when switchover time is high. However, it should be noted that the value of the
objective function will be high for the same solution of a large switch over time problem
instance compared to the objective function of a small switch over time problem instance.
Therefore, an increase in average APD values in large switchover time problem instances
can be mainly attributed to the large value of switch over time instead of actual performance
of the heuristic/metaheuristic.
The results reported in Tables 1 and 2 do not show any trend on the performance of
heuristic/PSO with a problem size (i.e. number of jobs) increase. Usually the performance
of the heuristics/metaheuristics deteriorates with the increase of problem size because of the
increase in search space. However, for the problem considered in this paper, the performance
of the heuristic/metaheuristic seems to be consistent with the increase in problem size. This
observation indicates the robustness of heuristics/PSO to solve bigger problem instances with
only a small deviation from the optimal solution.
This paper develops the optimal algorithm as well as heuristic and PSO-based meta-
heuristic to solve the problem under consideration. The development of the heuristic and
the PSO-based metaheuristic can be justified by comparing the CPU time of the heuris-
tic/metaheuristic with the CPU time of the optimal algorithm. It is clear from Tables 1 and 2
that the heuristic and PSO can obtain the solution within 3.90 % and 1.28 % of the optimal
solution respectively. All these results are obtained in seconds compared to the CPU time
taken by optimal solution. The biggest problem SGD115/SGD130 with 150 jobs is solved
in just 6 seconds by PSO algorithm, while it took approximately 2000 seconds for optimal
algorithm. The CPU time of the heuristic and metaheuristics does not grow exponentially
with an increase in problem size, while the CPU time of the exact algorithm does grow expo-
nentially. The result justifies the use of heuristics and PSO for solving the problem under
consideration when obtaining a quick solution is important. The use of PSO can also be
useful for the case where the problem studied in this paper is considered as a sub-problem of
a master problem in which the solution of sub problems are required many times in solving
master problems. The numerical experiments further indicate that although the problem is

123
Ann Oper Res

Table 1 Computational results for small switchover time problem instances

Problem group nA nB OPT HS PSO


Avg. ABS Avg. CPU Avg. ABS Avg. APD Avg. CPU Avg. ABS Avg. APD Avg. CPU

SGD101 10 10 5343 0 5732 7.28 ≤1 5489 2.73 ≤1


SGD102 20 20 18242 0 18953 3.90 ≤1 18485 1.33 ≤1
SGD103 30 30 35109 2 35758 1.85 ≤1 35426 0.90 ≤1
SGD104 40 40 63532 8 65003 2.32 ≤1 63983 0.71 ≤1
SGD105 50 50 106425 20 108292 1.75 ≤1 107035 0.57 ≤1
SGD106 60 60 137531 47 139674 1.56 ≤1 138119 0.43 ≤1
SGD107 70 70 208312 78 211654 1.60 ≤1 209045 0.35 ≤1
SGD108 80 80 254760 141 257518 1.08 ≤1 255500 0.29 1
SGD109 90 90 328919 224 332741 1.16 ≤1 330016 0.33 1
SGD110 100 100 383966 373 387604 0.95 ≤1 384763 0.21 2
SGD111 110 110 447147 570 451684 1.01 ≤1 448057 0.20 2
SGD112 120 120 555383 844 559884 0.81 ≤1 556397 0.18 3
SGD113 130 130 651657 1279 656543 0.75 ≤1 652672 0.16 4
SGD114 140 140 681305 1857 686093 0.70 ≤1 682393 0.16 6
SGD115 150 150 803403 1936 807731 0.54 ≤1 804290 0.11 7
Overall average 312068 491 314990 1.82 ≤1 312778 0.58 1.73

123
123
Table 2 Computational results for large switchover time problem instances

Problem group nA nB OPT HS PSO


Avg. ABS Avg. CPU Avg. ABS Avg. APD Avg. CPU Avg. ABS Avg. APD Avg. CPU

SGD116 10 10 5877 0 7487 27.39 ≤1 6551 11.4 ≤1


SGD117 20 20 18929 0 21486 13.51 ≤1 19767 4.43 ≤1
SGD118 30 30 38093 1 41553 9.08 ≤1 39589 3.93 ≤1
SGD119 40 40 64959 7 69992 7.75 ≤1 66634 2.58 ≤1
SGD120 50 50 102384 18 107660 5.15 ≤1 103740 1.32 ≤1
SGD121 60 60 143823 42 149829 4.18 ≤1 145191 0.95 ≤1
SGD122 70 70 197924 77 205768 3.96 ≤1 199611 0.85 ≤1
SGD123 80 80 233129 138 240896 3.33 ≤1 235692 1.10 1
SGD124 90 90 346598 202 356413 2.83 ≤1 348534 0.56 1
SGD125 100 100 377206 349 387774 2.80 ≤1 379140 0.51 1
SGD126 110 110 470139 580 480661 2.24 ≤1 472724 0.55 2
SGD127 120 120 569481 897 583063 2.38 ≤1 572468 0.52 3
SGD128 130 130 651723 1031 663386 1.79 ≤1 654644 0.45 3
SGD129 140 140 756179 1377 768521 1.63 ≤1 758507 0.31 4
SGD130 150 150 834231 2121 847663 1.61 ≤1 836554 0.28 6
Average 320711 456 328810 5.98 ≤1 322623 1.99 1.73
Ann Oper Res
Ann Oper Res

Table 3 Average result of Upper bound Q Avg. ABS Avg. CPU % decrease in ABS
Optimal algorithm for varying from Q = Q min
value of Q
Q = Q min 930037.2 0.5 0.00
Q = 1.1Q min 707759.8 54.1 23.90
Q = 1.2Q min 594233.4 148.3 36.11
Q = 1.3Q min 507708.4 233.5 45.41
Q = 1.4Q min 433629 315.8 53.38
Q = 1.5Q min 369160.6 409.4 60.31
Q = 1.6Q min 313929.7 506.0 66.25
Q = 1.7Q min 269273.7 592.1 71.05
Q = 1.8Q min 235321.7 681.8 74.70
Q = 1.9Q min 212291.1 779.9 77.17
Q = 2.0Q min 201126.3 1190.1 78.37

NP-hard in the ordinary sense, it can be solved easily. An approximation algorithm for this
problem can also be explored in future study.

7.3 Effect of upper bound Q

One of the important parameters considered in this paper is the restriction on the makespan
of agent B by an upper bound Q. If the upper bound Q is too tight, then the problem becomes
infeasible, and if it is too loose, then the problem becomes easy to solve. It is interesting to
see the effect of Q on an objective function of agent A as well as its effect on the performance
of the heuristic/PSO. To perform this experiment, we first determined the minimum value
of Q (let call it Q min ) and then varied the value of Q from Q min to 2* Q min . The value
of Q min can be obtained by simply scheduling all jobs of agent B at the beginning. In this
case, the value of Q min will be the summation of the process time of all jobs of agent B. We
performed the experiment with just 30 problem instances (one problem instances from each
problem group) used in previous section but with different values of Q.

7.3.1 Effect of upper bound Q on objective function of agent A

The average values of 30 problem instances obtained by the optimal algorithm for different
values of Q are reported in Table 3. The results reported in Table 3 indicate that when the
upper bound Q increases, the objective function of agent A decreases. When the value of Q
increases by 100% (i.e., from Q min to 2* Q min ), the value of the objective function of agent
A decreases by 78.37 %. The analysis is useful for performing trade-off analysis between the
increase in cost caused by the increase in the value of Q and the decrease in cost caused by
the decrease in objective function of agent A. The significance of increasing the upper bound
Q can be understood as a postponing of the delivery deadline for agent B. It is a general fact
that postponing a deadline will incur come cost in terms of penalty or loss of goodwill from
the customer. The increase in upper bound Q also increases the CPU time taken by optimal
algorithm to solve the problem. Because of Lemma 4, the search space increases when upper
bound Q increases. The increase in search space increases the CPU time; thus, the increase
in upper bound Q increases the CPU time of optimal algorithm.

123
Ann Oper Res

Table 4 Average result of Heuristic and PSO for varying value of Q

Heuristic PSO
Avg. ABS Avg. CPU Avg. APD Avg. ABS Avg. CPU Avg. APD

Q = Q min 938718.8 <1 1.20 930037.2 1.07 0.00


Q = 1.1Q min 725566.9 <1 3.01 711769.1 1.30 0.72
Q = 1.2Q min 606793.1 <1 3.47 596267.1 1.27 0.96
Q = 1.3Q min 518472.6 <1 3.38 509317.0 1.33 0.82
Q = 1.4Q min 440956.5 <1 2.72 434800.6 1.47 0.78
Q = 1.5Q min 377139.4 <1 4.21 370662.8 1.77 1.04
Q = 1.6Q min 319525.6 <1 3.51 315456.8 1.87 1.12
Q = 1.7Q min 274309.3 <1 3.46 270902.9 1.87 1.41
Q = 1.8Q min 238264.8 <1 2.61 236290.5 1.97 1.37
Q = 1.9Q min 213724.9 <1 1.90 213082.5 1.97 1.40
Q = 2.0Q min 202012.2 <1 2.00 201856.2 2.03 1.45

7.3.2 Effect of upper bound Q on performance of algorithms

The average values of 30 problem instances obtained by different algorithms for different
values of Q have been reported in Table 4. When Q is set to Q min , PSO produces an optimal
solution for all 30 problem instances, while the heuristic algorithm is able to produce solutions
within 1.2 % of optimal solution. It is clear from the Table 4 that when the value of Q increases
the performance of heuristic and PSO deteriorates. Also, the CPU time increases when value
of Q increases. This result indicates that the upper bound Q affects the complexity of the
problem and, thus, the performance of the algorithm.

8 Conclusions

This paper considers a two-agent-based scheduling problem with switchover time. The aim
of this paper is to integrate the switchover time between agents in a two-agents scheduling
problem; to introduce the problem proprieties; to design an optimal algorithm; and to propose
solution methods for solving large size problem instances. We proposed an optimal algorithm,
a heuristic algorithm and a PSO-based metaheuristic to solve the problem. We have provided
some properties of the problem that provide an optimal structure of the problem. The structure
of the optimal solution was used to design the optimal algorithm. We have used problem
specific features in the PSO to work it for the considered problem. We have added two new
features on the sequencing rule and on the parameter-updating rule in the proposed PSO. We
have evaluated the performance of the heuristic and PSO by comparing its solution with the
optimal solution.
The performance of the proposed algorithms is evaluated using randomly generated prob-
lem instances. We generated two categories of data sets: small switchover time and a large
switchover time. The numerical experiments showed that the PSO is able to produce the solu-
tion within 1.28 % of the optimal solution in seconds. On the other hand, the CPU time of an
exact algorithm grew exponentially, which justified the use of heuristics and metaheuristics
for solving the problem under consideration. In future, other metaheuristics can be developed
to improve the solution of existing PSO metaheuristics.

123
Ann Oper Res

Acknowledgements This research is partially supported by University Start-up Research Grant from Asper
School of Business. The authors are thankful to the anonymous reviewers for their comments which helped
us to improve the paper.

References
Agnetis, A., Mirchandani, P. B., Pacciarelli, D., & Pacifici, A. (2004). Scheduling problems with two competing
agents. Operations Research, 52(2), 229–242.
Agnetis, A., Pacciarelli, D., & Pacifici, A. (2007). Multi-agent single machine scheduling. Annals of Operations
Research, 150(1), 3–15.
Agnetis, A., Pascale, G., & Pacciarelli, D. (2009). A Lagrangian approach to single-machine scheduling
problems with two competing agents. Journal of Scheduling, 12(4), 401–415.
Ahmadov, Y., & Helo, P. (2016). A cloud based job sequencing with sequence-dependent setup for sheet metal
manufacturing. Annals of Operations Research. doi:10.1007/s10479-016-2304-3.
Allahverdi, A., Ng, C. T., Cheng, T. C. E., & Kovalyov, M. Y. (2008). A survey of scheduling problems with
setup times or costs. European Journal of Operational Research, 187(3), 985–1032.
Baker, K. R., & Smith, J. C. (2003). A multiple-criterion model for machine scheduling. Journal of Scheduling,
6(1), 7–16.
Cheng, T. C. E., Cheng, S.-R., Wu, W.-H., Hsu, P.-H., & Wu, C.-C. (2011). A two-agent single-machine
scheduling problem with truncated sum-of-processing-times-based learning considerations. Computers
& Industrial Engineering, 60(4), 534–541.
Dover, O., & Shabtay, D. (2016). Single machine scheduling with two competing agents, arbitrary release
dates and unit processing times. Annals of Operations Research, 238(1–2), 145–178.
Elvikis, D., & T’kindt, V. (2014). Two-agent scheduling on uniform parallel machines with min–max criteria.
Annals of Operations Research, 213(1), 79–94.
Gajpal, Y., & Sahu, S. N. (2014a). A pseudo polynomial time algorithm for a single machine scheduling
problem under competition to minimize total weighted completion time and makespan objectives. In
Paper proceedings of the 11th international conference on computational management science (CMS),
Lisbon, Portugal, May 29–31, 2014.
Gajpal, Y., Sahu, S. N., & Dua, A. (2014b). Heuristics for single machine scheduling under competition
to minimize total weighted completion time and makespan objectives. In Paper proceedings of the 6th
international conference on applied operational research (ICAOR), Vancouver, BC, Canada, July, 29–31.
Gawiejnowicz, S., Lee, W.-C., Lin, C.-L., & Wu, C.-C. (2011). Single-machine scheduling of proportionally
deteriorating jobs by two agents. Journal of the Operational Research Society, 62(11), 1983–1991.
Gerstl, E., & Mosheiov, G. (2013). Scheduling problems with two competing agents to minimize weighted
earliness–tardiness. Computers & Operations Research, 40(1), 109–116.
Grobler, J., Engelbrecht, A. P., Kok, S., & Yadavalli, S. (2010). Metaheuristics for the multi-objective FJSP
with sequence-dependent set-up times, auxiliary resources and machine down time. Annals of Operations
Research, 180(1), 165–196.
Kennedy, J., & Eberhart, R. C. (1995). Particle swarm optimization. In Proceedings of IEEE international
conference on neural networks, Vol. 4. Washington, DC: Bureau of Labor Statistics, pp. 1942–1948.
Lee, W.-C., Cheng, S.-K., Chen, C.-W., & Wu, C.-C. (2011). A two-machine flow shop problem with two
agents. Computers & Operations Research, 38(1), 98–104.
Leung, J. Y.-T., Pinedo, M., & Wan, G. (2010). Competitive two-agent scheduling and its applications. Oper-
ations Research, 58(2), 458–469.
Li, D.-C., & Hsu, P.-H. (2012). Solving a two-agent single-machine scheduling problem considering learning
effect. Computers and Operations Research, 39(7), 1644–1651.
Li, S., & Yuan, J. (2012). Unbounded parallel-batching scheduling with two competitive agents. Journal of
Scheduling, 15(5), 629–640.
Liao, C. J., Tseng, C. T., & Luarn, P. (2007). A discrete version of particle swarm optimization for flowshop
scheduling problems. Computers & Operations Research, 34(10), 3099–3111.
Liu, P., Tang, L., & Zhou, X. (2010a). Two-agent group scheduling with deteriorating jobs on a single machine.
The International Journal of Advanced Manufacturing Technology, 47(5–8), 657–664.
Liu, P., Zhou, X., & Tang, L. (2010b). Two-agent single-machine scheduling with position-dependent pro-
cessing times. The International Journal of Advanced Manufacturing Technology, 48(1–4), 325–331.
Mor, B., & Mosheiov, G. (2010). Scheduling problems with two competing agents to minimize minmax and
minsum earliness measures. European Journal of Operational Research, 206(3), 540–546.

123
Ann Oper Res

Mor, M., & Mosheiov, G. (2011). Single machine batch scheduling with two competing agents to minimize
total flowtime. European Journal of Operational Research, 215(3), 524–531.
Mor, M., & Mosheiov, G. (2014). Polynomial time solutions for scheduling problems on a proportionate
flowshop with two competing agents. Journal of the Operational Research Society, 65(1), 151–157.
Pei, J., Liu, X., Pardalos, P. M., Fan, W., & Yang, S. (2017). Scheduling deteriorating jobs on a single serial-
batching machine with multiple job types and sequence-dependent setup times. Annals of Operations
Research, 249(1), 175–195.
Tasgetiren, M. F., Sevkli, M., Liang, Y. C., & Gencyilmaz, G. (2004). Particle swarm optimization algorithm for
permutation flowshop sequencing problem. In Proceedings of the fourth international workshop on ant
colony optimization and swarm intelligence (ANTS2004). Lecture notes in computer science, Brussels,
Belgium, Vol. 3172, 2004. pp. 382–90.
Tasgetiren, M. F., Liang, Y. C., Sevkli, M., & Gencyilmaz, G. (2007). A particle swarm optimization for
makespan and total flowtime minimization in the permutation flowshop sequencing problem. European
Journal of Operational Research, 177(3), 1930–1947.
Wan, G., Vakati, S. R., Leung, J. Y.-T., & Pinedo, M. (2010). Scheduling two agents with controllable processing
times. European Journal of Operational Research, 205(3), 528–539.
Wang, D. J., Yin, Y., Xu, J., Wu, W. H., Cheng, S. R., & Wu, C. C. (2015). Some due date determination schedul-
ing problems with two agents on a single machine. International Journal of Production Economics, 168,
81–90.
Wang, D. J., Yin, Y., Cheng, S. R., Cheng, T. C. E., & Wu, C. C. (2016). Due date assignment and scheduling
on a single machine with two competing agents. International Journal of Production Research, 54(4),
1152–1169.
Wang, D. J., Kang, C. C., Shiau, Y. R., Wu, C. C., & Hsu, P. H. (2017). A two-agent single-machine scheduling
problem with late work criteria. Soft Computing, 21(8), 2015–2033.
Yin, Y., Cheng, S.-R., & Wu, C.-C. (2012a). Scheduling problems with two agents and a linear non-increasing
deterioration to minimize earliness penalties. Information Sciences, 189, 282–292.
Yin, Y., Wu, W.-H., Cheng, S.-R., & Wu, C.-C. (2012b). An investigation on a two-agent single-machine
scheduling problem with unequal release dates. Computers and Operations Research, 39(12), 3062–
3073.
Yin, Y., Cheng, S.-R., Cheng, T. C. E., Wu, W.-H., & Wu, C.-C. (2013). Two-agent single-machine scheduling
with release times and deadlines. International Journal of Shipping and Transport Logistics, 5(1), 75–94.
Yin, Y., Wang, D. J., Wu, C. C., & Cheng, T. C. E. (2016). CON/SLK due date assignment and scheduling on
a single machine with two agents. Naval Research Logistics (NRL), 63(5), 416–429.
Yin, Y., Wang, Y., Cheng, T. C. E., Wang, D. J., & Wu, C. C. (2016). Two-agent single-machine scheduling to
minimize the batch delivery cost. Computers & Industrial Engineering, 92, 16–30.
Yin, Y., Cheng, S. R., Cheng, T. C. E., Wang, D. J., & Wu, C. C. (2016). Just-in-time scheduling with two
competing agents on unrelated parallel machines. Omega, 63, 41–47.

123

You might also like