An Improved Algorithm based on Constraint Programming for Job
Shop Rescheduling Problem with New Job Insertion
Peng Yun-fang
1
, Su Chen
2
1
School of management, Shanghai University, Shanghai, China
2
School of management, Shanghai University, Shanghai, China
yfpeng@t.shu.edu.cn, 774600425@qq.com
Keywords: Job Shop Rescheduling, constraint programming, new job insertion.
Abstract: Due to a variety of unexpected situations, the shop needs to make adjustments on the original schedule.
Aiming at job shop rescheduling caused by new job arrival, we build an optimal model based constraint
programming to make a reschedule to minimize the makespan. And considering the advantage of constraint
programming in solving combinatorial optimization problems, we combined constraint propagation
techniques with construction search strategy, a rescheduling algorithm based on constraint programming is
designed. Computational experiments of rescheduling problems are generated based on the benchmark of
Job shop scheduling problem. Results reveal the proposed algorithm can solve the instances in short time.
1 INTRODUCTION
Job shop scheduling problem, as a NP hard problem,
has been studied by a lot of scholars. The classical
algorithm for solving job shop scheduling problem is
generally divided into two categories: the
optimization method and the approximate method.
The optimization method includes integer
programming and branch and bound method. The
approximate algorithms mainly include the rule of
priority allocation, artificial intelligence, neural
network, Lagrange relaxation method, the
conversion of the bottleneck method, local search
method, etc. In order to get better result, many
scholars improved these algorithms, such as the
improved neural network algorithm, the improved
genetic algorithm, the improved hybrid particle
swarm algorithm, mixed integer programming
algorithm and so on. Although these classical
algorithms for static production have made great
achievements in recent decades, but in recent years,
scholars are increasingly aware that the production
workshop will face with various emergency
situations in the actual production, such as the
insertion of the new job, machine failure, operation
time change. In this dynamic environment, the
original production plan will be disturbed and the
production system cannot execute production plan,
so the production plan need to be rescheduled.
Bierwirth et al proposed a genetic algorithm to
solve rescheduling and scheduling problem in
1999(Bierwirth et al, 1999). Fang presented a
periodic and event-driven rolling horizon scheduling
strategy adapted to continuous processing in a
changing environment, and presented a hybrid of
genetic algorithms for the rescheduling problem
(Fang et al, 1997).However, periodic rescheduling
strategy cannot get very good stability solution for
this problem. In order to obtain both the stability and
effectiveness of the rescheduling problem,
Rangsaritratsamee et al proposed a local search
algorithm based on genetic algorithm ,and the
experiments show that the solution of the algorithm
compared with traditional algorithm more stable and
effective(Rangsaritratsamee, 2004).Katragjini et al
developed a rescheduling algorithms based on repair
theory to solving the problem, and proposed a
rescheduling methods to seek a good trade-off
between schedule quality and stability(Katragjini et
al, 2013).Zhang et al proposed a new rescheduling
technique based on a hybrid intelligent algorithm for
solving job shop scheduling problems with random
job arrivals, the experimental results show that the
proposed rescheduling technique is superior to other
rescheduling techniques with respect to five
objectives, different shop load level, and different
due date tightness, the results also illustrate that the
proposed rescheduling technique has a good
robustness in the dynamic manufacturing
68
68
Chen S. and Yun-fang P.
An Improved Algorithm based on Constraint Programming for Job Shop Rescheduling Problem with New Job Insertion.
DOI: 10.5220/0006443900680073
In ISME 2016 - Information Science and Management Engineering IV (ISME 2016), pages 68-73
ISBN: 978-989-758-208-0
Copyright
c
2016 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
environment(Zhang et al, 2013 ). Gao et al proposed
A two-stage artificial bee colony (TABC) algorithm
with several improvements to solve FJSP(flexible
job shop problem) with fuzzy processing time and
new job insertion constraints, and compared against
seven existing algorithms for solving five well-
known benchmarks of FJSP , the results illustrated
the competitiveness of the proposed algorithm(Gao,
2016) .
Although the optimization algorithms mentioned
above have achieved good results in solving the job
shop rescheduling problem, the solution time of
these algorithms is too long which is not good
enough to be applied in the actual production. In
actual production, decision makers often need to
make a relatively feasible decision in a short time.
Constraint satisfaction technique is an effective
method to solve the above problem. This technique
can not only simplify the complexity of the model,
but also reduce the computational complexity of the
problem by using the constraint relation between
variables. In recent decades, researchers have made
a lot of research on Constraint Satisfaction Based
Job Shop scheduling algorithm, and the constraint
programming is applied to job shop scheduling and
some excellent research results have been obtained.
For example, Nuijten, Sahraeian, Moukrim,
Lacomme and other scholars, their research results
show that constraint programming features in shop
scheduling are quickly and effectively, it can
provides a feasible scheme for the enterprise timely
and effectively(Nuijten et al, 1998)( Sahraeian et al,
2014)( Moukrim et al, 2014)( Lacomme et al, 2011).
Based on the above, this paper applies the
constraint programming to the job shop rescheduling
problem, and adopts the global rescheduling strategy
to achieve the goal of solving the shop Job
rescheduling problem with the insertion of new job
rapidly.
2 JOB SHOP RESCHEDULING
PROBLEM
2.1 Problem description
In the reality of job shop production, there are often
a lot of dynamic factors leading to the job shop need
to rescheduling, this paper focuses on the job shop
rescheduling problem of the insertion of new job.
When a new job arrives and insert into the original
schedule, some conflicts may arise and the original
schedule may not be executed. Hence, it is necessary
to reschedule in this situation. And most
importantly, the machines are available for
rescheduling only when the operations on them are
all completed. That means machines and jobs may
have different start times in the rescheduling.
In order to facilitate the establishment of the
model, we assume a new job arrives at the time of
T
b
. If o
ib
is processing on the machine b at the time
of Tb, this operation will be considered as an
operation which has been processed in rescheduling,
and the earliest start time of machine b is equal to
c
i,j
. If a machine j does not process any job, the
earliest starting time of machine j is equal to T
b
.
In this paper, all operations of original schedule
are included in the set . Since the insertion of new
job, we reset n as the total jobs in the rescheduling,
and m as the total machines. All operations need
rescheduling are included in the set .
2.2 Rescheduling model
In the JSRP, each job consists of a sequence of
operations. An operation can be executed by a set of
candidate machines and each operation of a job is
processed only on one machine at a time, while each
machine can only process one operation at a time.
Minimizing the total completion time is the most
important objective of the job shop production in the
dynamic shop floor. In this paper, we use constraint
programming to establish the model, and solve the
rescheduling problem. The following notations and
assumptions are used for the formulation of JSRP.
i: job index (i=1,…,n) , a set of n jobs to be
scheduled;
j: machine index (j=1,…,m) , a set of m
machines;
c
i,j
denotes the completion time of the operation
o
i,j
;
y
i,j
denotes the start time of the operation o
i,j
;
Xiuj=1denotes job i should be processed on the
machine j after on the machine u(otherwise,
Xiuj=0);
Zikj=1 denotes machine j should process the job
i before job k (otherwise, Zikj =0);
p
i,j
denotes the processing time of o
i,j
;
M is a large enough value;
S
j
denotes the earliest starting time of machine j
in the rescheduling;
x
i,j
denotes the ending time of o
i,j
in the original
scheduling
Min C
max
(1)
s.t.
C
max
c
i,
j
(i =1,…,n; j=1,…,m)
c
i,
j
=y
i,
j
+p
i,
j
(i=1,…,n; j=1,…,m )
MX
iuj
+(y
i,u
-y
i,j
) p
i,j
(i=1,…,n; 1u<jm )
An Improved Algorithm based on Constraint Programming for Job Shop Rescheduling Problem with New Job Insertion
69
An Improved Algorithm based on Constraint Programming for Job Shop Rescheduling Problem with New Job Insertion
69
M(1-X
iuj
)+(y
i,j
-y
i,u
) p
i,u
(i=1,…,n; 1u<jm)
MZ
ikj
+(y
i,j
-y
k,j
) p
k,j
(1i<kn; j=1,…,m)
M(1-Z
ikj
)+(y
k,j
-y
i,j
) p
i,j
(1i<kn; j=1,…,m)
y
i,
j
S
j
; (i=1,…,n; j=1,…,m)
X
iuj
=0 or 1; (i=1,…,n; 1u<jm)
Z
ikj
=0 or 1; (1i<kn; j=1,…,m)
The objective C
max
(1) is to minimize makespan.
Eq.(2) states C
max
is the latest ending time of all the
operation in the rescheduling. Eq.(3) states the
ending time c
i,j
is equal to the ending time y
i,j
add the
duration time p
i,j
. Eqs.(4)(5) states each operation of
a job is processed only on one machine at a time.
Eqs.(6)(7) states each machine can only process one
operation at a time. Eq.(8) states the starting time of
o
i,j
should be equal or greater than the earliest time
of machine j. In the Eqs.(9)(10), the variable X
iuj
is
binary variable and the variable Z
ikj
is decision
variable.
3 RESCHEDULING ALGORITHM
BASED ON CONSTRAINT
PROGRAMMING
In this paper, a new job shop rescheduling algorithm
based on constraint programming is proposed. This
algorithm mainly uses the job shop scheduling
algorithm based on constraint satisfaction problem,
and combined with the constructive search algorithm
to solve the problem of job shop rescheduling.
3.1 The principle of rescheduling
algorithm based on Constraint
Programming
Constraint satisfaction algorithm includes repair
method and construction method. In this paper, we
use the construction method. In this algorithm, a
solution of job shop rescheduling is the processing
order of all the operation with a set of machines. The
Calculate rescheduling information
Initialization
Preliminary elimination of infeasible solutions
Machines selection
Output optimal solution No solution
No Yes
N0
Is the iteration reach the
upper limit?
Does any value of the
combination violate constraint?
Yes
Figure 1: The flow chart of rescheduling algorithm
ISME 2016 - Information Science and Management Engineering IV
70
ISME 2016 - International Conference on Information System and Management Engineering
70
algorithm includes machine selection and process
selection. It will start from the machine selection,
then select a machine which hasn’t been selected to
process a job, until all the machines and all
processes are selected. If the search is failure, it will
take a backtracking strategy forward search.
Precedence constraints can be used to strengthen
the time window of all operations. The earliest start
time of all operation is updated according to Eqs.
(11) (12). The latest start time of all operations is
updated in Eqs.(13)(14). The algorithm will detect
the contradiction whenever there is no schedule can
satisfy all the precedence constraints of the problem.
est
i1
= 0 ∀i
(11)
est
i1
=max(est
i
(j
-1
)
+p
i
(j
-1
)
) ∀i,∀j
(12)
lct
i,
m
=UB ∀i
(13)
lct
i,j
=lct
i(j+1)
-p
i(j+1)
∀i,∀j[1,m-1]
(14)
The disjunctive constraints limit the sequence of
the operations processing on the same machine. Two
operations requiring the same machine cannot
overlap in time. As stated in Eq.(15), whenever the
earliest completion time of o
i,j
exceeds the latest start
time of oxy, o
i,j
cannot precede oxy, hence oxy must
precede o
i,j
. Once the precedence of two operations
assigned to the same machine is fixed, a new
precedence constraint is propagated based on the
rule (16)
est
i,
+pi,j>lstx o
x,
y
p o
i,
j
(15)
o
x,
y
p
o
i,
j
est
i,
j
+pi,j>lstx and lct
x,
y
lct
i,
j
-p
i,
j
(16)
3.2 The rescheduling algorithm based
on constraint programming for
JSRP
In this paper, an algorithm based constraint
programming for job shop rescheduling is proposed
to solve the scheduling problem with the objective
of minimizing the maximum completion time.
Step1. Initialization. All processes are accessed
as interval variables, and each parameter is
initialized to 0.
Step2. Calculate the rescheduling information.
Read the source file data of the information of new
job and the insert time T
b
. According to this
information, the earliest start time S
j
of machine j
will be calculated by this algorithm.
Step3. Preliminary elimination of infeasible
solutions. The initial constraint propagation removes
all values from domains that will not take part in any
solution.
Step4. Machines selection. This algorithm will
randomly chose a starting time of machine j for
operation o
i,j
by using the constructive search, the
machine j should not be selected to process a job,
until all the machines and all processes are selected.
If all the value has been chosen, there still have
conflict in the constraint, this problem has no
solution.
Step5. Consistency check. Constraint
propagation during this selection (step4) will
removes all values from the current domains that
Table.1: Information of Rescheduling
Instance Time M T M T M T M T M T M T M T M T M T M T
la03 79 1 12 4 21 0 65 3 23 2 12
abz5 816 2 63 4 55 9 45 8 63 0 74 1 51 3 49 5 52 7 63 6 43
la27 103 2 45 3 18 8 29 6 42 4 32 7 87 1 11 0 28 9 26 5 25
la31 406 4 19 8 24 7 18 2 63 1 16 0 29 5 18 6 9 3 78 9 12
swv11 596 5 12 3 9 2 23 6 23 9 11 4 23 1 21 0 23 8 34 7 27
Table.2: Comparison of 6 sets of rescheduling
Type
10×5 10×10 20×10 30×10 50×10
Search limit 100000 100000 100000 100000 100000
Original scheduling objective 597 1237 1218 1784 3358
Rescheduling objective 659 1375 1279 1813 3460
Number of branches 1462 256501 118213 23040 315954
Number of fails 375 100465 37447 8999 100390
Time spent 0.09s 3.14s 1.92s 0.58s 8.03s
An Improved Algorithm based on Constraint Programming for Job Shop Rescheduling Problem with New Job Insertion
71
An Improved Algorithm based on Constraint Programming for Job Shop Rescheduling Problem with New Job Insertion
71
violate the constraints. This check will not stop in
the machine selection, until a solution is found. If
failed, it will jump to the step4, and reselect a
starting time for o
i,j
. If success, get this objective and
jump to step6.
Step6. Check iteration number. If the iteration
number is reach the upper limit, jump to
step7.otherwise, jumping to step4.
Step7. Output optimal solution. Compare all the
feasible solutions, and select the minimum objective
as the optimal solution.
4 EXPERIMENT EVALUATION
AND COMPARISONS
Since there is no standard rescheduling example for
analysis of the effectiveness of the model and
algorithm of job shop rescheduling problem, this
paper select 5 instances from OR as a basis for
rescheduling problem. We design 5 rescheduling
instances from small scale to large scale to analyse
the performance of the proposed algorithm.
In this paper, rescheduling is caused by the
100 200 300 400 500 600 700 800 900 1000 1100 1200
M10
M9
M8
M7
M6
M5
M4
M3
M2
M1
J3
J10
J5
J1J6J8 J4 J7 J2J9
J7 J9 J4J2
J8J10J1
J3
J6J5
J1J5J3 J6J7 J2
J9 J8
J4J10
J1
J5
J3
J6J7
J2
J9
J8J4 J10
J1
J5
J3
J6
J7
J2
J9
J8
J4
J10
J1
J5
J3 J6
J7
J2J9J8
J4 J10
J1
J5 J3
J6 J7
J2
J9
J8J4 J10
J1J5 J3J6 J7J2
J9
J8 J4 J10
J1
J5
J3
J6
J7
J2
J9J8 J4
J10
J1 J5
J3
J6 J7
J2J9J8 J4J10
Figure 2 : 10×10 Gantt chart of original scheduling.
100 200 300 400 500 600 700 800 900 1000 1100 1200
M10
M9
M8
M7
M6
M5
M4
M3
M2
M1
J2
J5 J10
J3
J6 J1
J9 J4J7
J8
J1J2J3 J4J5 J6
J7
J8
J9
J10
J1
J2
J3
J4
J5J6
J7 J8J9 J10
J1 J2J3 J4
J5
J6 J7J8 J9J10
J1 J2
J3
J4
J5 J6
J7J8
J9 J10
J1J2 J3
J4J5
J6 J7
J8 J9
J10
J1
J2 J3 J4J5J6 J7J8 J9
J10
J1
J2J3 J4
J5J6 J7
J8 J9J10
J1J2
J3J4
J5 J6
J7
J8 J9
J10
J1J2
J3
J4 J5 J6
J7
J8 J9
J10
1300 1400
J11
J11
J11
J11
J11
J11
J11
J11
J11
J11
Figure 3 : 10×10 Gantt chart of rescheduling
ISME 2016 - Information Science and Management Engineering IV
72
ISME 2016 - International Conference on Information System and Management Engineering
72
insertion of new job, and the arrival time of new job
is selected randomly. The arrival time is
Tb=Random
1
*c, where the Random
1
value range is
[0,1], and the c is the maximum completion time of
the original scheduling. The information of new job
is created randomly.
Taking into account the feasibility of the
algorithm, this algorithm sets the upper limit to
100000. The job shop rescheduling parameters are
shown in table 1, including the insert time and the
information of new job’s operations. Table 2 is the
comparison of the results of rescheduling. Figure 2
is the Gantt chart of original scheduling (10 x 10),
and figure 3 is the Gantt chart of rescheduling (10 x
10). The values in bold in table 2 are the best
objectives of 5 job shop rescheduling problem, and
the objectives of rescheduling are closer to the
original scheduling. The last row of table 2 shows
that in solving the rescheduling, this algorithms
obtained high quality solutions in a short time for the
JSRP.
5 CONCLUSIONS AND FUTURE
WORK
This paper proposed a rescheduling algorithm based
on constraint programming for the job shop
rescheduling problem with new job arrival. This
algorithm adopted constructing search theory and
constraint propagation to minimize the maximum
completion time of all jobs. We selected 5 classical
instances released from the OR to analyse this
rescheduling problem. Experimental results showed
that this algorithms obtained high quality solutions
in a short time for the JSRP. The result showed the
proposed algorithm can be used in the practical
production and obtain more benefits for the
enterprise.
This paper focused on the job shop
rescheduling problem with new job arrive. But in the
reality, the practical production will meet more
kinds of emergency like advance delivery time and
machine breakdown. In the future study, we also
needs studied the job shop rescheduling problem
from other aspects and developed a more perfect
rescheduling algorithm.
ACKNOWLEDGEMENTS
This paper is supported by National Natural Science
Foundation of China (No.51405283).
REFERENCES
Bierwirth C, Mattfeld D C. 1999. Production scheduling
and rescheduling with genetic algorithms [J].
Evolutionary computation, 7(1): 1-17.
Fang J, Xi Y., 1997. A rolling horizon job shop
rescheduling strategy in the dynamic environment [J].
The International Journal of Advanced Manufacturing
Technology, 13(3): 227-232.
Rangsaritratsamee R, Ferrell W G, Kurz M B., 2004.
Dynamic rescheduling that simultaneously considers
efficiency and stability [J]. Computers & Industrial
Engineering, 46(1): 1-15.
Katragjini K, Vallada E, Ruiz R., 2013. Flow shop
rescheduling under different types of disruption [J].
International Journal of Production Research, 51(3):
780-797.
Zhang L, Gao L, Li X., 2013. A hybrid intelligent
algorithm and rescheduling technique for job shop
scheduling problems with disruptions [J]. The
International Journal of Advanced Manufacturing
Technology, 65(5-8): 1141-1156.
Gao K Z, Suganthan P N, Pan Q K, et al., 2016. Artificial
Bee Colony Algorithm for Scheduling and
Rescheduling Fuzzy Flexible Job Shop Problem with
New Job Insertion [J]. Knowledge-Based Systems,
109:1-16.
Nuijten W, Pape C L., 1998. Constraint-based job shop
scheduling with ILOG SCHEDULER [J]. Journal of
Heuristics , 3(4):271-286.
Sahraeian R, Namakshenas M., 2014. On the optimal
modeling and evaluation of job shops with a total
weighted tardiness objective: Constraint programming
vs. mixed integer programming [J]. Applied
Mathematical Modelling, 39(2):955-964.
Moukrim A, Quilliot A, Toussaint H., 2015. Branch and
price with constraint propagation for Resource
Constrained Project Scheduling
Problem[C]//International Conference on Control,
Decision and Information Technologies (CoDIT),
2014. IEEE,: 164-169.
Lacomme P, Tchernev N, Huguet M J., 2011. Dedicated
constraint propagation for Job-Shop problem with
generic time-lags[C]//Emerging Technologies &
Factory Automation (ETFA), 2011 IEEE 16th
Conference on. IEEE: 1-7.
An Improved Algorithm based on Constraint Programming for Job Shop Rescheduling Problem with New Job Insertion
73
An Improved Algorithm based on Constraint Programming for Job Shop Rescheduling Problem with New Job Insertion
73