Scheduling with Tool Switching in Flexible Manufacturing Systems
Selin Özpeynirci and Burak Gökgür
Department of Industrial Systems Engineering, İzmir University of Economics, Sakarya Cad. No 156, İzmir, Turkey
Keywords: Flexible Manufacturing Systems, Scheduling, Tool Switching, Mathematical Modelling.
Abstract: In our problem, there are a number of jobs to be processed on parallel computer numerically controlled
machines. Each job requires a set of tools and the required tools must be loaded to process the jobs. The
machines have limited tool magazine capacities and the number of tools available in the system is limited
due to economic restrictions, which leads to the need for switching tools. We assume that the tool switching
time constitutes a significant portion of total processing time and does not depend on the number or type of
tools changed. The problem is to assign the jobs and the required tools to machines and determine the
schedule so that the makespan is minimized. A mathematical model and a heuristic approach based on the
decomposition of the problem are developed.
1 INTRODUCTION
Flexible Manufacturing Systems (FMSs) are
integrated systems of computer numerically
controlled (CNC) machines and automated material
handling devices. In an FMS, machines are capable
of processing different types of operations as long as
the required tools are loaded. Tool management is a
vital issue in FMS management due to complexities
brought by the limitations. The number of tools
available in the system is limited because of
economic restrictions. The number of copies of each
tool may be smaller than the number of machines.
Also the number of tool slots in the tool magazines
of the machines is limited. These restrictions lead to
the requirement of tool switches.
There are several problems that may occur in a
flexible manufacturing environment. (Crama, 1997)
and (Blazewicz and Finke, 1994) provide review of
problems that arise in flexible manufacturing
systems. This paper considers tool loading,
operation scheduling and tool switching problems at
the same time.
There are a number of studies that consider the
job sequencing and tool switching problem on a
single machine. Some examples are due to (Crama et
al., 1994), (Laporte et al., 2004), (Ecker and Gupta,
2005) and (Karakayalı and Azizoğlu, 2006). Another
group of studies in the literature approach the
problems in a sequential way including (Agnetis et
al., 1997), (Kellerer and Strusevich, 2004) and (Avci
and Akturk, 1996).
2 PROBLEM DEFINITION
Consider n jobs to be processed on m parallel CNC
machines. There is no precedence relation between
the jobs that is defined in advance. A job can be
assigned to exactly one machine and pre-emption is
not allowed. Every machine can process every job;
however the processing time of a job on different
machines may vary. We assume that tool switching
requires a significant amount of time and should be
considered when determining the schedule. Also tool
switching time is assumed to be independent from
number and type of the tools changed.
The problem is to schedule the jobs on parallel
machines with their required tools so as to minimize
makespan.
3 MATHEMATICAL MODEL
In this section, we present the mathematical
programming model of the problem defined above.
First, we define the decision variables and
parameters used in the model. A group is a set of
jobs that are processed between two consecutive tool
switches.
Parameters:
l(i): the set of tools required by job i
178
Özpeynirci S. and Gökgür B..
Scheduling with Tool Switching in Flexible Manufacturing Systems.
DOI: 10.5220/0004279903260329
In Proceedings of the 2nd International Conference on Operations Research and Enterprise Systems (ICORES-2013), pages 326-329
ISBN: 978-989-8565-40-2
Copyright
c
2013 SCITEPRESS (Science and Technology Publications, Lda.)
p
ij
: processing time of job i on machine j
ts: tool switching time
c: tool magazine capacity
Decision variables:
Cmax: makespan
X
ig
: 1, if job i is assigned to group g; 0, otherwise
:
k
hg
W
1, if copy h of tool k is assigned to group g; 0,
otherwise
Y
gbj
: 1, if group g is processed before group b on
machine j; 0, otherwise
Z
gj
: 1, if group g is processed on machine j; 0,
otherwise
V
gb
: 1, if groups g and b use the same tool and group
g is processed before group b; 0, otherwise
: completion time of group ( 0)
gg
CgC
: starting time of group on machine ( 0)
gj gj
SgjS
pt
gj
: total processing time of group g on machine j
(pt
gj
0)
The mathematical model is given below:
Min Cmax
subject to
(1)
1

ig
gG
X
i
(2)

k
k
hg
hkK
Wcg
(3)
,, ()
k
k
ig h g
h
X
Wigkli
(4)
Cmax 
g
Cg
(5)
1,
gj ij ig gj
i
p
tpXZ gj
(6)
ggjgj
j
Cts S pt g
(7)

1 1 ,
gj bj bj gbj
bj gj
SSpttsMY
M
ZMZ gbj


(8)

2,
bj gj bgj gbj
ZYYgbj
(9)
1,
bj gj bgj gbj
ZYY gbj
(10)
,
gj gj
SMZ gj
(11)
1
gj
j
Z
g
(12)
,
gj ig
j
Z
Xig
(13)
,
gj ig
i
Z
Xgj
(14)


2
1 ,
kk
bj gj gj h g h b
jj
gb
SStsptMWW
MV gb



(15)
1,

gb bg
VV gb
(16)
2,
kk
h g h b bg gb
WW VV gb
(17)
Objective (1) is to minimize makespan. Each job
is assigned to one group (2). The tool magazine
capacities of the machines are not exceeded (3).
Required tools of the jobs in a group are loaded on
the machine (4). Makespan is the largest completion
time among all groups (5). The processing time of a
group on a machine is the summation of processing
times of the jobs in that group on that machine (6).
The completion time of a group is the summation of
tool switching time, starting time and processing
time of the jobs (7). Starting times of any two groups
cannot coincide if they are processed on the same
machine (8-10). Starting time of a group on a
machine can be positive only if the group is assigned
to the machine (11). Each group can be assigned to
at most one machine (12). If a job is assigned to a
group, then that group must be assigned to a
machine (13). If no job is assigned to a group, then
that should not be assigned to any machine (14). The
processing times of two groups using the same tool
copy cannot coincide (15-17).
4 HEURISTIC APPROACH
In this section, a heuristic method, based on the
decomposition of the problem into two subproblems,
is presented. The first subproblem only considers
assigning jobs to groups while minimizing the
number of groups, which is called job grouping
problem. While minimizing the number of groups,
the aim is to minimize the time required for tool
switches. The second subproblem schedules groups
and tools using the assignment of the first
subproblem and considering the tool switching time
with the aim of minimizing makespan. Each of the
two subproblems is proved to be NP-Hard.
Therefore a heuristic approach is used to obtain
solution to the first subproblem, whereas for the
second subproblem constraint programming and
tabu search methods are suggested.
SchedulingwithToolSwitchinginFlexibleManufacturingSystems
179
4.1 Subproblem 1: Job Grouping
Stepwise procedure of the heuristic developed for
the first subproblem is given below.
U
ij
: total number of common tools between jobs i
and j
l(i): set of tools required to process job i
c: tool magazine capacity of machines
w
g
: set of tools required by the jobs in group g
A
g
: set of jobs assigned to a group g
D: set of jobs not assigned to any group
0. Find U
ij
for all i and j. Set g=1, A
g
= for all g,
D={1, 2, ..., n} and w
g
= for all g.
1. Let max {U
ij
}=

ij
U
.
1.1. If (
 
li li c


, then assign jobs i
and j
to group g.
1.2. Remove jobs i
and j
from set D, and add
to set A
g
.
1.3. Set
g
wli li


.
1.4. If |w
g
|<c, go to Step 2. If |w
g
|=c, go to Step
3.
2. Find unassigned job k that has the maximum
number of common tools with the jobs in set A
g
.
2.1. If |w
g
l(k) | c, assign job k to group g.
Remove job k from set D and add to set A
g
.
Set w
g
= w
g
l(k).
2.2. If |w
g
|<c, repeat Step 2. If |w
g
|=c, go to
Step 3.
3. Find a job h such that l(h)w
g
. Assign job h to
group g. Remove job h from set D and add to
set A
g
. Repeat until no more jobs can be added
to group g.
4. Update U
ij
, set g=g+1 and go to Step 1.
4.2 Subproblem 2: Scheduling
(Özpeynirci and Gökgür, 2011) and (Gökgür et al.,
2012) work on the problem of scheduling jobs on
parallel CNC machines with tool assignment. They
develop a tabu search algorithm and a constraint
programming model, respectively, for the solution of
the problem. Our scheduling subproblem is similar
to their problem if we consider groups as jobs and
add the tool switching times. Hence, for the solution
of the second subproblem, we can benefit from their
solution methods with slight modifications.
4.2.1 Constraint Programming Approach
A group can be viewed as an activity which contains
its starting, duration and ending time. Each group
requires one copy of required tools and is assigned
to one machine. Tool-copy pairs and machines can
be seen unary resource with “noOverlap” constraint
and cumulative with “pulse” constraint resource,
respectively. There is also Alternative global
constraint that provides the assignment of an activity
to one of the resources in the list.
We use the same modelling language used by
(Gökgür et al., 2012) for the constraint programming
model with some modifications that is also suitable
for (IBM ILOG CP Optimizer 2.3). The constraint
programming model is shown below.
Parameters:
l(g): the set of tools required by group g
p
gj
: processing time of group g on machine j
Decision Variables:
Activity
,1,,
g
J
gG
Resource
,1,,
j
M
jm
Resource

,1,,, 1,,
kc k
Tk tc r 
1
max endOf , ,endOf
G
M
inimize J J
Subject to
,
j
noOverlap M j
,,
kc
noOverlap T k c

11
,,, , ,, , 1,,
gmggm
A
lternative J M M p p g G





1
,,, , 1,,,
k
gk kr
A
lternative J T T g G k l g




4.2.2 Tabu Search Approach
Based on (output of first sub-problem), tabu search
finds schedule of groups and tools on parallel
machines.
Solution representation is the sequence of groups
that will be processed on each machine. To obtain
initial solution, a greedy heuristic is developed that
selects groups according to a priority rule and
assigns to the first available machine with required
tools. Procedure of the greedy heuristic is given
below.
0. Let S
0
be the set of groups that are not assigned
to a machine yet, and S
1
be the set of groups that
are assigned to a machine.
List the groups in non-decreasing order of total
processing times of jobs included in the group.
Select the first m groups from the list and assign
each one to one machine. Update S
0
and S
1
.
1. Find the machine that becomes idle first. Let the
machine be j.
Calculate the priority values for all groups on
machine j using the following equation:
2

g
jgjgjgj
pab
where
g
j
is the priority value of group g on
ICORES2013-InternationalConferenceonOperationsResearchandEnterpriseSystems
180
machine j,
g
j
p
is the total processing times of
jobs on machine j included in group g,
g
j
a
is the
number of tools needed additionally to assign
group g to machine j that we have available copy
and
g
j
b
is the number of tools needed
additionally to assign group g to machine j that
we do not have available copy.
Select the job with minimum priority value. Let
the group be g
.
2. Remove the tools from machine j that are not
elements of w
g
.
3. Load the tools that are elements of w
g
to
machine j and that are not already loaded on
machine j.
If a required tool is not free, then delay the
starting time of group g
on machine j until the
tool is free.
Go to Step 1.
There are two neighbourhood structures that
generate a solution. The first neighbourhood
structure is to swap two groups without considering
whether they are assigned to different machines or
not. The second structure is to remove a group from
its position and insert to another place on the same
or different machine. Infeasible solutions are not
considered due to complex structure of tooling.
Tabu attributes for this problem is the following;
when a group is assigned to a position on a machine,
removing that group from its place is called tabu for
a specified number of iterations. Tabu tenure is set
to
/
n
cl
, where l is the average number of tools
required by jobs.
5 CONCLUSIONS
In this study, we consider the scheduling of jobs on a
group of parallel CNC machines together with their
required tools in a flexible manufacturing system.
We also consider the tool switches between the jobs.
Our objective is to minimize the makespan. We
provide the mathematical model of the problem and
propose a heuristic approach based on decomposing
the problem into two subproblems: forming the job
groups and scheduling the groups on the machines.
In the future, we are planning to design
computational experiments and evaluate the
performance of our heuristic approach. Next, we will
work on efficient exact solution approaches such as
constraint programming.
ACKNOWLEDGEMENTS
This work is supported by The Scientific and
Technological Research Council of Turkey
(TÜBİTAK) grant no: 110M492.
REFERENCES
Agnetis, A., Alfieri, A., Brandimarte, P., Prinsecchi, P.,
1997. Joint job/tool scheduling in a flexible
manufacturing cell with no on-board tool magazine.
Computer Integrated Manufacturing Systems, 10, 61-
68.
Avci, S., Akturk, M. S., 1996. Tool magazine arrangement
and operations sequencing on CNC machines.
Computers and Operations Research, 23, 1069-1081.
Blazewicz, J., Finke, G., 1994. Scheduling with resource
management in manufacturing systems. European
Journal of Operational Research, 76, 1-14.
Crama, Y., Kolen, A. W. J., Oerlemans, A. G., Spieksma,
F.R.C., 1994. Minimizing the number of tool switches
on a flexible machine. International Journal of
Flexible Manufacturing Systems, 6, 33-54.
Crama, Y., 1997. Combinatorial optimization models for
production scheduling in automated manufacturing
systems. European Journal of Operational Research,
99, 136-153.
Ecker, K. H., Gupta, J. N. D., 2005. Scheduling tasks on a
flexible manufacturing machine to minimize tool
changing delays. European Journal of Operational
Research, 164, 627-638.
Gökgür, B., Hnich, B., Özpeynirci, S., 2012. Mathematical
modeling and constraint programming approaches for
operation assignment and tool loading problems in
flexible manufacturing systems. 21
st
International
Symposium on Mathematical Programming.
IBM ILOG OPL V6.3, 2009. Language User’s Manual.
Karakayalı, İ., Azizoğlu, M., 2006. Minimizing total flow
time on a single flexible machine. International
Journal of Flexible Manufacturing Systems, 18, 55-73.
Kellerer, H., Strusevich, V. A., 2004. Scheduling
problems for parallel dedicated machines under
multiple resource constraints. Discrete Applied
Mathematics, 133, 45-68.
Laporte, G., Salazar-Gonzalez, J. J., Semet, F., 2004.
Exact algorithms for the job sequencing and tool
switching algorithm. IIE Transactions, 36, 37-45.
Özpeynirci, S., Gökgür, B., 2011. A tabu search algorithm
for scheduling with tool assignment in flexible
manufacturing systems. 24
th
Conference of European
Chapter on Combinatorial Optimization.
SchedulingwithToolSwitchinginFlexibleManufacturingSystems
181