Académique Documents
Professionnel Documents
Culture Documents
Contents
lists
available
at
Computers
& Industrial Engineering
journalhomepage:
School of Management, Hefei University of Technology, Hefei 230009, PR China b Key Laboratory of Process Optimization and
Intelligent Decision-making, Ministry of Education, Hefei 230009, PR China c Department of Computer Science, New Jersey Institute
of Technology, Newark, NJ 07012, USA
a r t i c l ei n f o
Article history:
Received 17 June 2014
Received in revised form 12 February
2015
Accepted 22 February 2015
Available online 2 March 2015
Keywords:
Scheduling
Production
Distribution
Ant colony optimization
Heuristics
abstract
In this paper, we consider an integrated scheduling problem of production and distribution for
manufacturers. In the production part, the batch-processing machines have fixed capacity and the jobs have
arbitrary sizes and processing times. Jobs in a batch can be processed together, provided that the total size
of the jobs in the batch does not exceed the machine capacity. The processing time of a batch is the largest
processing time of all the jobs in the batch. In the distribution part, the vehicles have identical transport
capacity and all the deliveries are done by a third-party logistic (3PL) provider. The objective is to
minimize the total cost of production and distribution for the manufacturer. Since the problem is NP-hard
in the strong sense, we propose an improved ant colony optimization method to solve the production part,
and a heuristic method for the distribution part. We derive a lower bound for the optimal total cost. We
generate a large number of random data to test the performance of the proposed heuristic versus the lower
bound. Our results show that the performance of the heuristic is excellent while the running time is no
more than five seconds for 200 jobs.
1 This manuscript was processed by Area Editor Maged M. Dessouky. Corresponding author at: Department of Computer Science, New Jersey Institute of
Technology, Newark, NJ 07012, USA. Tel.: +1 973 596 3387; fax: +1 973 596 5777. E-mail address: leung@oak.njit.edu (J.Y.-T. Leung).
http://dx.doi.org/10.1016/j.cie.2015.02.017 0360-8352/ 2015 Elsevier Ltd. All rights reserved.
burn-in test will be delivered to the customers, while those that are
found to be defective will be discarded. The circuits are put on the
boards which will then be put into an oven. The oven has a fixed
capacity. Each circuit has a size, e.g., several boards. Therefore,
several circuits can be put into the oven at the same time, provided
that the total size of the circuits does not exceed the capacity of
the oven. Since the processing time of the burn-in operation is
much longer than other operations (e.g., 120 h versus 45 h), the
burnin operation is often the bottleneck in the manufacturing
process. Minimizing the makespan will minimize the energy used
and maximize the throughput of the system. Once the circuits pass
the burn-in operation, they will be shipped to the customers.
Again, minimizing the number of deliveries will save money for
the manufacturer.
The purpose of this paper is to propose a method to tackle this
problem. We will develop an improved ant colony optimization
method to batch the jobs in the production part. We then employ
the First-Fit-Decreasing (FFD) rule used in the bin-packing
problem to group the jobs into delivery runs. Our objective is to
minimize the sum of the production and delivery costs.
Integrated scheduling includes the system of supplier,
manufacturer and customers. As such, it is a three-stage problem
(Hall & Potts, 2003). Selvarajah and Steiner (2009) proposed a 3 /
2 approximation algorithm to minimize delivery and inventory
holding costs. Sawik (2009) extended the problem to a long-term
product case. Yeung, Choi, and Cheng (2011) and Osman and
Demirli (2012) considered the three-stage problem with time
windows and synchronized replenishment, respectively. Yimer and
Demirli (2010) proposed a division technique for the problem. The
problem was divided into two phases, i.e., the manufacturing and
the delivery phase, and a genetic algorithm was used to solve it.
Two-stage integrated scheduling problems consist of two types,
where one type is concerned with the supplier and manufacturer
and the other type is concerned with the manufacturer and
customers. Chen and Vairaktarakis (2005) showed that most of the
two-stage problems are also NP-hard. Chen and Hall (2007)
investigated the conflict between the optimal schedules of the
supplier and the manufacturer. They proposed a cooperation
mechanism for the two sides. Agnetis, Hall, and Pacciarelli (2006)
proposed an interchange cost that is incurred when the orders of
jobs are different in the optimal schedules of the two sides. They
also provided a cooperation scheme. Torabi, Ghomi, and Karimi
(2006) considered the objective of minimizing the average of
holding setup and delivery costs per unit time of the supply chain
and they designed an intelligent algorithm. The other kind of twostage problem is the scheduling between the manufacturer and its
customers. Agnetis, Aloulou, and Fu (2014) considered the
coordination of production and interstage batch delivery using a
third-party logistic (3PL) provider. Algorithms for solving the
problem include approximation algorithms (Averbakh & Xue,
2007) and intelligent algorithms (Naso, Surico, Turchaiano, &
Kaymak, 2007; Zegordi, Abadi, & Nia, 2007). Other works
stressing the two-stage problems between the manufacturer and
customers include the joint scheduling of time-sensitive products
(Chen & Pundoor, 2006) and capacity allocation (Hall & Liu,
2010). Chen (2010) gave an excellent survey of integrated
production and outbound distribution scheduling.
Current research on joint scheduling focuses on the classical
production model (Pinedo (2002)), in which a machine processes
one job at a time. However, little research has been done on the
production model with batch-processing machines and
arbitrarysize jobs. In contrast to the classical production model,
this type of production is more complex to solve. Uzsoy (1994)
introduced several heuristics for the single-machine scheduling
problem and approximation ratios were analyzed by Zhang, Cai,
Lee, and Wong (2001). Indeed, the problems addressed in Uzsoy
(1994) , Zhang et al. (2001) are identical to the problem addressed
218
in this paper, except that they did not consider the delivery part.
Approximation algorithms with better performances were
proposed to solve single-machine problems (see Kashan, Karimi,
& Ghomi, 2009; Li, Li, Wang, & Liu, 2005) and multi-machine
problems (Cheng, Yang, & Ma, 2012; Cheng, Yang, Hu, & Li,
2014). Jula and Leachman (2010) provided a greedy heuristic
method and Parsa, Karimi, and Kashan (2010) provided a branch
and price algorithm. Intelligent algorithms were also applied to
solve the problem including genetic algorithms (Sevaux & Peres,
2003 ; Koh, Koo, Kim, & Hur, 2005; Demodaran, Manjeshwar, &
Srihari, 2006; Kashan, Karimi, & Jenabi, 2008), simulated
annealing (Melouk et al., 2004) and ant colony optimization
(Cheng, Wang, Yang, & Hu, 2013).
The rest of the paper is organized as follows. In Section 2,
we define the problem and provide a lower bound for the
optimal solution. In Section 3, we design an improved ant
colony optimization (IACO) method and show the detailed
implementation. Then we report the experimental results in
Section 4, where 36 levels of instances are tested to show the
performance of the algorithm. In Section 5, we conclude this
paper and give directions for future research.
Xn
PC
Tk:
k1
DC dL;
where d > 0. The objective is to minimize the total cost of
production and distribution; i.e.,
TC PC DC:
We first define four variables that will be used in the following
integer program. For all 1 6 k; l 6 n; wk 1 if bk is created,
otherwise wk 0; yl 1 if dl is created, otherwise yl 0. For
all 1 6 j 6 n; xjk 1 if job j is in bk, otherwise xjk 0; zjl 1
Minimize TC PC DC
Subject to Tk maxftjjxjk 1g k 1;...;n
Ck Ck1 Tk
k 1;...;n
Xn xjk 1 j 1;...;n
k1
Xn xjksj 6 B
1;...;n
j1
xjk 6 wk
j 1;...;n; k 1;...;n
Xn zjl 1 j 1;...;n
l1
Xn
zjlsj 6 G
l 1;...;n
j1
j 1;...;n; l 1;...;n
zjl 6 yl
Xn
L
219
Pn
s =Ge.
j 1 j
yl
l1
Xn
K
wk
k1
PC
Xn
Tk
k1
DC dL d > 0
C0 T0 w0 xj0 0
wk;yl;xjk;zjl 2 f0;1g for all j;k;l
Objective (1) represents the total cost of production and
distribution which are shown in (12) and (13), respectively.
Constraint (2) gives the processing time of a batch. Constraints
(2) and (3) together ensure that the processing of a batch is
non-preemptive. Constraint (4) guarantees that each job is in
exactly one batch. Constraint (5) ensures that the total size of
all the jobs in a batch does not exceed the machine capacity B.
Constraint (6) ensures that if xjk 1 for some j, then wk must
also be equal to 1. Constraint (7) ensures that each job is in
exactly one delivery. Constraint (8) guarantees that the total
size of all the products in a delivery run does not exceed the
vehicle capacity G. Constraint (9) ensures that if zjl 1 for
some j, then yl must also be equal to 1. Eq. (10) gives the
number of non-empty delivery runs, while Eq. (11) gives the
number of non-empty batches. Constraint (15) indicates that
the four decision variables are binary variables.
We now determine the computational complexity of P. We
will show that bin-packing is actually a special case of P. Since
binpacking is NP-hard in the strong sense, P must also be NPhard in the strong sense. Consider a special case of P, where all
jobs have unit processing time and the machine capacity is
identical to the vehicle capacity; i.e., B G. Then we can
view each batch as a bin with bin capacity B. Let K be the
minimum number of batches (or bins). The optimal total cost
will be TC 1 dK. Since d is a constant, the optimal
total cost is a linear function of the minimum number of
batches (or bins) formed. Therefore, P becomes a binpacking
problem. Hence we have the following proposition.
Proposition 1. P is NP-hard in the strong sense even when all
jobs have identical processing times.
Proposition 2. LB P Kk1T0k dd
of the optimal total cost for P.
Pn
j1 j
Pn
j1 j
M:
m:
sij:
number of ants
m-th ant
pheromone density on the path i ! j
minimum density of pheromone
maximum density of pheromone
probability of assigning job i into bk
heuristic value of assigning job i into bk
evaporation rate of pheromone
N-th iteration
maximum number of iterations
a feasible solution for P
the best solution in one iteration
the best solution among all the iterations
smin:
smax:
hik:
gik:
q:
N:
Nmax:
p:
plb:
pgb:
Dsij:
X k:
P sij
j2bk
hik
; 16 jbkj
where jbkj is the number of jobs that have been assigned to b k. (We
assume that bk is non-empty when we compute hik.) In a schedule,
we can view each batch as a rectangle whose length is the
processing time of the batch and whose width is the machine
capacity B. A job in a batch occupies a rectangle whose length is
its processing time and whose width is its size. The unoccupied
area in the batch is the wasted space of the batch. Clearly,
minimizing the total wasted space of all the batches will minimize
the makespan. It is easy to see that smaller difference in
processing times between the jobs in a batch will minimize the
wasted space of the batch. Therefore, we define the heuristic value
of assigning job i to bk as:
gik
1 jTk tij;
17
XK Xn
IS B
Tk
sjtj;
k1
j1
haikgb ik
if i 2 X k 18
Pik
:
221
smin is
chosen to adapt to
0 otherwise
( fbest1
Dsij
0
Step 2. Put the first job in the candidate list into the first
delivery d1.
Step 3. Take the next job in the candidate list and put it into the
lowest indexed delivery dl for which the job fits. If no
delivery can accommodate this job, put it in a new
delivery.
Step 4. Repeat Step 3 until all jobs in the candidate list have
been assigned.
Output
the
distribution
schedule as
plb,
smax,
it is changed to
p be an
Xn
23
sj 6 G L ;
j1
smax
; 21 1 qfpgb
22
24
j2dh
s max1 p ffic
2
X X sj sj > G;
j2dg
smin e 1p ffic ;
smin will
Xn
2
j1
0
XL
s j
1
X
@
X
sj
g1
j2dg
j2dh
By (23)(25), we have
sjA > L G:
25
0
XL
L G< @
g1
1
X
sj
X
Xn
sjA 2 sj 6 2 G L :
j2dg
j2dh
j1
J1
Factor
50
J2
J3
Numberof jobs
100
200
S1
[1,10]
Table 2
Experimental
results
B < G (%)
for J1
insta
B G (%)
J1S1T1
0.00
J1S1T2
J1S1T3
J1S2T1
J1S2T2
J1S2T3
J1S3T1
J1S3T2
J1S3T3
J1S4T1
J1S4T2
J1S4T3
0.00
1.63
0.00
1.68
1.11
1.33
1.24
3.88
1.58
1.42
2.71
instances.
S3
S4
T1
[10,30]
[1,40]
[1,10]
T2
Intervalof tj
[1,20]
T3
[1,30]
B > G (%)
B < G (%)
B G (%)
B > G (%)
B < G (%)
B G (%)
B> G(%)
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1.198
0.00
0.00
1.72
1.79
1.64
3.44
1.43
4.23
1.08
0.83
2.16
0.00
0.00
1.08
3.03
1.82
1.72
1.40
1.61
1.42
1.83
0.54
0.00
1.39
2.19
2.59
1.34
2.61
2.16
2.04
1.17
1.35
0.98
0.00
0.00
1.53
0.80
1.20
1.08
2.28
0.53
2.28
1.44
1.17
0.00
1.61
1.89
1.23
0.74
1.59
2.76
1.27
1.69
0.92
1.30
0.00
0.00
1.33
0.93
2.13
2.89
3.05
2.41
1.28
0.67
1.63
0.00
0.00
1.29
1.96
2.41
2.22
1.01
3.09
1.09
0.67
0.48
0.00
0.00
5.30
1.96
0.87
2.83
0.84
2.11
1.17
1.18
0.63
1.205
1.302
0.957
1.702
1.131
1.375
1.366
1.445
1.358
1.944
1.509
nces.
capacity (B) and the vehicle capacity (G). These are: (1) B 40
and G 60 for the case B < G, (2) B G 40 for the case B
G, and
(3) B 60 and G 40 for the case B > G. We also want to test
the effect of the weight (d) of the distribution cost on the
performance of the heuristics. We choose five different values of
d, d 0:2; 0:5; 1:0; 1:5; 5:0.
In the experiment, we try different values of M. We find that
when M > 20, there is very little improvement. So we set
Table 1
Levels of instances.
Instances
d 0:5
d 1:0
Table 3
Additional experimental results for J1 instances.
Instances d 0:2
B <G
(%)
J1S1T1
J1S1T2
J1S1T3
J1S2T1
J1S2T2
J1S2T3
J1S3T1
J1S3T2
J1S3T3
J1S4T1
0.00
0.00
0.00
2.21
2.87
3.01
2.68
1.69
2.64
2.03
d 5:0
B G
(%)
0.00
0.00
0.00
2.72
2.79
2.06
1.90
2.71
3.61
1.68
B >G
(%)
0.00
0.00
0.00
0.98
1.85
3.25
2.38
2.36
2.90
2.37
B <G
(%)
0.00
0.00
0.00
2.45
2.33
2.68
3.01
3.27
3.11
1.80
B G
(%)
0.00
0.00
0.00
2.38
1.28
1.96
2.67
3.25
1.63
2.36
B >G
(%)
0.00
0.00
1.30
2.93
3.25
1.39
3.00
2.97
2.58
1.65
2.39
2.01
2.08
2.57
1.39
1.63
2.48
2.93
1.03
1.67
2.89
2.61
J2S4T2
J2S4T3
2.88
2.20
3.24
3.13
223
2.13
2.19
2.61
2.41
d 1:0
d 1:5
Avg.Time
TC LB
GAP
2.61
2.46
Instances
3.20
3.12
100%;
LB where TC is the best value among the 200
Table 6
Table 4
Experimental results for J2 instances.
Instances
d 0:5
d 1:0
d 1:5
Avg.Time
J2S1T1
B < G (%)
0.00
B G (%)
0.00
B > G (%)
0.00
B < G (%)
0.00
B G (%)
0.00
B > G (%)
0.00
B < G (%)
0.00
B G (%)
0.00
B>G(%)
0.00
2.293
J2S1T2
J2S1T3
J2S2T1
J2S2T2
J2S2T3
J2S3T1
J2S3T2
J2S3T3
J2S4T1
J2S4T2
J2S4T3
0.00
0.00
1.27
0.52
1.30
1.90
1.33
2.12
1.20
1.03
0.60
0.00
0.00
0.91
1.69
1.77
1.64
1.88
2.01
2.15
0.61
0.72
0.00
0.00
0.64
0.33
1.21
0.95
1.34
0.74
0.89
0.55
1.31
0.00
0.00
0.84
1.84
1.24
2.63
0.75
1.83
0.61
0.34
0.89
0.00
0.83
0.79
1.25
0.23
1.63
2.81
1.43
1.18
0.34
0.90
0.00
0.99
1.13
1.34
1.81
1.73
1.34
1.40
1.47
0.50
0.90
0.00
0.00
0.80
1.31
2.68
2.64
1.48
2.31
1.46
1.28
0.52
0.00
0.00
1.83
1.29
1.51
2.12
1.82
1.09
1.64
1.21
0.59
0.00
0.00
1.46
0.95
1.86
1.99
1.84
2.68
1.32
1.46
0.91
2.302
2.986
2.414
2.725
2.796
2.822
2.881
3.182
3.426
3.974
3.861
B > G (%)
0.75
B < G (%)
0.37
B G (%)
0.75
B>G
0.81
0.58
0.66
0.65
0.42
1.19
1.00
1.21
0.84
0.84
0.64
1.27
0.17
0.61
0.83
1.71
1.12
1.73
0.87
1.74
0.79
0.41
0.84
0.52
0.80
0.79
1.10
2.08
0.74
2.01
1.50
1.12
0.41
0.74
0.44
0.18
1.22
1.10
1.64
1.42
1.33
1.39
1.66
0.73
0.93
d 1:5
Avg. Time
Table 5
Additional experimental results for J2 instances.
Instances d 0:2
B<G
(%)
J2S1T1
J2S1T2
J2S1T3
J2S2T1
J2S2T2
J2S2T3
J2S3T1
J2S3T2
J2S3T3
J2S4T1
0.00
0.00
0.00
2.34
3.50
2.95
4.09
4.24
4.63
2.39
0.00
0.00
0.00
2.31
3.51
4.20
3.62
4.56
3.29
2.45
B>G
(%)
0.00
0.00
0.00
1.54
1.94
3.54
2.37
2.94
2.48
2.46
B<G
(%)
0.00
0.00
0.00
1.59
1.56
2.94
3.18
3.98
2.60
2.61
J3S1T2
J3S1T3
J3S2T1
J3S2T2
J3S2T3
J3S3T1
J3S3T2
J3S3T3
J3S4T1
J3S4T2
J3S4T3
0.12
0.24
1.18
0.66
2.22
1.01
1.20
2.00
1.14
1.07
0.50
0.69
0.59
0.77
1.62
1.74
1.55
1.78
2.16
2.10
0.77
0.41
4.23%. With respect to the running time, all running times are less
than two seconds. This shows that IACO has excellent
performance with a short running time.
d 5:0
B G
(%)
B G
(%)
0.00
0.00
0.00
1.96
2.79
2.54
3.00
2.15
2.16
2.76
B >G
We
(%)
GAP (%)
9
8
7
Table 7
Additional experimental results for J3 instances.
Instances d 0:2
J3S1T1
J3S1T2
J3S1T3
J3S2T1
J3S2T2
J3S2T3
J3S3T1
J3S3T2
J3S3T3
J3S4T1
J3S4T2
J3S4T3
B<G
B=G
d 5:0
B<G
(%)
B G
(%)
B>G
(%)
B<G
(%)
B G
(%)
B >G
(%)
0.00
0.00
1.31
1.95
2.17
2.34
1.91
4.35
2.84
2.08
2.80
3.10
0.00
0.25
2.03
2.55
2.61
4.45
2.45
2.13
2.37
2.39
3.12
2.17
0.00
0.00
2.50
2.46
2.74
2.33
2.37
2.87
2.49
2.16
2.74
2.46
0.00
0.40
1.98
1.78
2.80
2.18
2.44
2.66
1.67
2.30
2.58
2.54
0.00
0.00
2.18
2.31
3.00
2.47
3.00
2.17
3.54
2.09
2.60
2.22
0.31
0.00
2.46
3.15
2.49
2.18
2.77
6
3.33
2.39 5
1.99 4
2.34 3
2.61
2
B>G
1
100
200
700
300
800
400
900
500
1000
600
Number of iteraions
Fig. 4. Performance of IACO in 1000 iterations; d 0:2.
GAP (%)
12
B<G
10
B=G
B>G
8
6
Fig. 1. Performance of IACO in 1000 iterations; d 0:5.
4
2
0
100
200
300
400
500
600
700
800
Number of iterations
Fig. 5. Performance of IACO in 1000 iterations; d 5:0.
900 1000
5. Conclusions
We study an integrated scheduling problem for the
manufacturers. In the production part, the batch-processing
machine has a fixed capacity and the jobs have arbitrary sizes
and processing times. Once a batch is being processed, no
interruption is allowed.
When jobs are completed, they are delivered by identical
vehicles with a common transport capacity. The objective is to
minimize the total cost of production and distribution. Since
the problem is NP-hard in the strong sense, we propose an
improved ant colony optimization method to schedule the jobs.
A new candidate list is designed according to the sizes of the
jobs. The performance of our heuristic is tested by 36 levels of
instances and the results show that our algorithm has excellent
performance.
Future research is needed to investigate an integrated
scheduling problem where the machine configurations are
more complex. For example, in practice, flow shop and job
shop are often encountered and the integrated problems are
even harder to solve. Since the single-machine problem is a
special case of flow shop and job shop, the two problems are
obviously NP-hard in the strong sense. Another direction for
future research is the supply chain scheduling that includes
production, inventory and distribution. Total cost and service
level are both interesting objectives.
Acknowledgements
This work is partly supported by the National Natural
Science Foundation of China under Grants 71202048,
71131002, 71071045 and 71471052. This work is also partly
supported by the Specialized Research Fund for the Doctoral
Program of Higher Education of China under Grant
225
Uzsoy, R. (1994). Scheduling a single batch processing machine with nonidentical job sizes. International Journal of Production Research, 32(7),
16151635.
Yeung, W. K., Choi, T. M., & Cheng, T. C. E. (2011). Supply chain scheduling
and coordination with dual delivery models and inventory storage cost.
International Journal of Production Economics, 132(2), 223229.
Yimer, A. D., & Demirli, K. (2010). A genetic approach to two-phase optimization
of dynamic supply chain scheduling. Computers & Industrial Engineering,
58(3), 411422.
Zegordi, S. H., Abadi, I. N. K., & Nia, M. A. B. (2007). A novel genetic algorithm
for solving production and transportation scheduling in a two-stage supply
chain. Computers & Industrial Engineering, 58(3), 373381.
Zhang, G., Cai, X., Lee, C. Y., & Wong, C. K. (2001). Minimizing makespan on a
single batch-processing machine with nonidentical job sizes. Naval Research
Logistics, 48(3), 226240.