null  null
South African Journal of Industrial Engineering August 2016 Vol 27(2), pp 43-59
SCHEDULING SEQUENCE-DEPENDENT COLOUR PRINTING JOBS
J. Schuurman1# & J.H. van Vuuren1*
ARTICLE INFO
ABSTRACT
Article details
Submitted by authors
2 Jan 2015
Accepted for publication
5 Apr 2016
Available online
12 Aug 2016
A scheduling problem in the colour printing industry is considered in
this paper. The problem is to find an optimal assignment of print
jobs to each of a set of colour printers, as well as an optimal
processing sequence for the set of jobs assigned to each printer. The
objective is to minimise the makespan of the schedule to achieve a
suitable balance between the workloads of the printers and the
efficiencies of the job sequences assigned to the printers. A novel
aspect of the problem is the way in which the printer set-up times
associated with the jobs are job sequence-dependent — it is possible
to exploit commonalities between the colours required for
successive jobs on each machine. We solve this problem
approximately by using a simple heuristic and three well-known
metaheuristics. Besides colour printing, the scheduling problem
considered here admits many other applications. Some of these
alternative applications are also briefly described.
Contact details
*
Corresponding author
[email protected]
Author affiliations
1
Department of Industrial
Engineering
Stellenbosch University, South
Africa
#
Author was enrolled for a
B Eng (Industrial) degree in the
Department of Industrial
Engineering at Stellenbosch
University, South Africa
DOI
http://dx.doi.org/10.7166/27-2-1119
1
OPSOMMING
’n Skeduleringsprobleem uit die kleurdrukwerkbedryf word in
hierdie artikel oorweeg. Die probleem vra vir ’n optimale toewysing
van take aan elk van ’n versameling kleurdrukkers, sowel as die
spesifikasie van ’n optimale volgorde waarin die take wat aan elke
drukker toegewys is, uitgevoer moet word. Die doel is om die
prosestyd van die drukker wat laaste klaarmaak te minimeer om
sodoende ’n aanvaarbare balans tussen die werkladings van die
drukkers en die taakvolgorde vir elke drukker te bewerkstellig. ’n
Nuwe aspek van die probleem is die manier waarop die opsteltye van
die drukkers vir die take volgorde-afhanklik is — dit is moontlik om
gemeenskaplikhede tussen die kleure wat vir opeenvolgende take op
elke masjien benodig word, uit te buit. Ons los hierdie probleem
benaderd op deur gebruik te maak van ’n eenvoudige heuristiek
asook drie bekende metaheuristieke. Behalwe vir kleurdrukwerk,
het die skeduleringsprobleem wat hier beskou word vele ander
toepassings. Sommige van hierdie toepassings word ook kortliks
beskryf.
INTRODUCTION
Snack foods, such as candy bars and crisps, are usually packaged in convenient plastic or foil
wrappers adorned with bold, colourful logos and other designs to draw the attention of consumers.
In order to achieve the desired finish, colour overlay printing techniques are used. Fierce
competition forces production facilities that specialise in this form of printing to improve the
efficiency of their operations so that they can handle large printing volumes in a time-efficient and
cost-effective manner. At the heart of realising this high level of efficiency at such a production
facility lies a scheduling process in which print jobs have to be assigned to, and sequenced on, a
collection of printers functioning in parallel and possibly at different speeds. This process aims to
balance the workload among the printers to maximise print volume throughput.
43
Consider a collection of n printing jobs indexed by the set J = {1,...,n}. Associated with each job j Є
J is a colour set Cj, indicating which colours are required for the job, and the volume wj of the job
(usually measured in kilograms of printing material). The colour set of each job is typically a small
subset of a larger universal set C of all possible colours at the disposal of the printing company. Each
of the jobs in J requires processing on one of m parallel printers indexed by the set M = {1,...,m}.
Printer k Є M operates at a printing speed of qk (measured in kilograms of printing material that can
be produced per minute), and is equipped with a colour cartridge magazine of size bk (which is the
number of colours that can be accommodated simultaneously in the printer).
Job j Є J can only be processed on printer k Є M if the magazine of printer k is large enough to
accommodate all the colours in the colour set of job j — i.e., if |Cj| ≤ bk. All the colours required
for a job have to be loaded into the printer processing that job before beginning the print job.
Furthermore, it is assumed that the printer magazine is empty at the start of the scheduling period,
and that it should be empty again at the end of the printing schedule; but it typically remains fullyloaded throughout the duration of the scheduling period, because a fixed downtime is associated
with reloading any colour cartridge.
Every job processed on one of the printers involves a production time consisting of two phases. The
first of these is the printing phase, whose duration is both printer-dependent (because of possible
variation in the processing speeds of the printers) and job-dependent (determined by the print
volume of the job). The duration of the printing phase of job j Є J, also called its processing time,
when performed by printer k Є M is therefore
𝑤𝑤𝑗𝑗
𝑝𝑝𝑗𝑗𝑗𝑗 = �𝑞𝑞𝑘𝑘
∞
if �𝐶𝐶𝑗𝑗 � ≤ 𝑏𝑏𝑘𝑘 ,
if �𝐶𝐶𝑗𝑗 � > 𝑏𝑏𝑘𝑘 .
The second phase is the set-up phase. This involves removing from cartridges the ink colours not
required for the next job scheduled for processing on that particular printer, to free up just enough
space in the printer’s magazine for colours that are indeed required for the next job but that are
not present in the magazine. Each such colour change incurs a constant set-up time a (measured in
minutes) that is required to empty, clean, and reload an ink cartridge, and is referred to as a wash.
If, however, a colour required for a specific job was also required for the previous job processed on
a particular printer (and is therefore already in the printer’s magazine when the reloading of
cartridges for the next job takes place), then the above set-up time may be avoided for that colour.
A sequence-dependent set-up time sijk is thus incurred when following up job i by job j on printer k.
This set-up time can be calculated as a multiplied by the required number of colour changes in order
to be able to process job j. Given a set of jobs to be processed by printer k Є M, the completion time
Φk of the printer may therefore be reduced by a judicious choice of the sequence in which the jobs
are to be performed on the printer.
A printing schedule for the parallel machine colour print scheduling problem (PMCPSP) described
above therefore consists of an assignment of jobs to the various printers, and a processing sequence
for the set of jobs assigned to each printer. The makespan Ωmax of the printing schedule is the
completion time of the printer that finishes last — i.e., Ωmax = max {Φ1,…,Φm}, assuming that all
printers start processing at time zero. The objective in the PMCPSP is to compute a printing schedule
achieving the smallest possible makespan that will achieve a suitable balance between the workloads
of the printers and the efficiencies of the job sequences assigned to the printers.
Even the special case of the PMCPSP, in which there is only m = 1 printer, is NP-hard [5,9].
Furthermore, it is difficult for even an experienced human operator to come up with high-quality
solutions to the PMCPSP for the following reasons:
1.
2.
44
The duration of a print job only becomes known once it has been assigned to a printer. Moving
a print job from one printer to another in a bid to balance the workload of printers in a schedule
therefore requires non-intuitive calculations.
The set-up time associated with a print job only becomes known once the jobs assigned to the
relevant printer have been sequenced, because it depends on the commonality of colours
between a particular job and its predecessor.
For these reasons, it is desirable to aid production managers in the complex decisions associated
with solving the PMCPSP by providing them with computerised decision support — based on
mathematical modelling techniques — rather than requiring them to make scheduling decisions
based purely on intuition or experience. Although the literature contains mathematical models for
scheduling problems that conform to the particular structure and requirements of the PMCPSP, these
models are solvable to optimality for only the tiniest of problem instances. Since realistic instances
of the PMCPSP are well beyond the reach of exact solution methods within reasonable timeframes,
our objectives in this paper are (1) to design a user-friendly decision support system (DSS) — based
on various heuristic model solution approaches — that is capable of aiding production engineers to
determine high-quality solutions to the PMCPSP; and (2) to demonstrate the practical workability of
this DSS.
This paper is organised as follows. Section 2 contains a brief review of two approaches to modelling
the PMCPSP mathematically, while the working of one heuristic and three metaheuristic solution
procedures, which are applied in this paper to the PMCPSP, are outlined in Section 3. In Section 4,
these approximate solution approaches are compared with respect to their execution times and the
qualities of solutions they produce in the context of a number of small test instances, after which
we turn our attention in Section 5 to the design of a user-friendly DSS for solving larger instances of
the PMCPSP. This DSS is applied to a realistic instance of the PMCPSP in the form of a case study in
Section 6 to demonstrate its workability. In Section 7 the paper ends with a number of conclusions,
ideas for possible future work, and descriptions of alternative applications conforming to the
requirements of the PMCPSP. Mathematical PMCPSP model formulations are presented in an
appendix.
2
LITERATURE REVIEW
There are two formulations of parallel machine scheduling problems with sequence-dependent setup times in the literature that resemble the PMCPSP. The first was introduced by Helal et al. [8] in
2006. Avalos-Rosales et al. [2] proposed an improved reformulation of this original model in 2013 in
response to a weakness discovered in the earlier formulation. To promote the general readability of
the paper by non-mathematically-inclined readers, these two formulations are relegated to an
appendix at the end of the paper.
In the model formulation proposed by Helal et al. [8], the makespan is linearised as the maximum
of the completion times of all the jobs that have to be processed. Avalos-Rosales et al. [2] found,
however, that the lower bound on the schedule’s makespan produced by the linear relaxation of the
model of Helal et al. [8] is very weak, and this prompted them to reformulate the model by
linearising the makespan as the maximum of the spans of all the machines.
Alvalos-Rosales et al. [2] performed computational tests to compare the efficacy of a commercial
solver to solve their model reformulation for a suite of test problem instances (available online [18]),
as opposed to solving the original model formulation of Helal et al. [8]. They also used the results
thus obtained to determine the dimensions (i.e., the values of the parameters m and n) of problem
instances that are realistically solvable by exact methods.
Alvalos-Rosales et al. [2] generated two sets of test instances for this purpose: a set of small
instances and a set of larger instances. The set of small instances involved m Є {2,3,4,5} machines
and n Є {6,8,10,12} jobs. For each value of m, a total of ten instances of sets of n jobs were
generated, with job durations drawn from uniform distributions with ranges 1—9, 1—49, 1—99, and
1—124. In all cases, the set-up times between jobs were drawn from a uniform distribution with
range 1—99, thus giving rise to 4 × 4 × 10 × 4 = 640 small problem instances. Using CPlex 12.2 on a
Pentium dual core 2 GHz processor with 3Gb of RAM running in the operating system Ubuntu 11.1,
they were able to solve only 565 (88.28 per cent) of these small instances to optimality within one
hour when adopting the earlier model formulation of Hilal et al. [8], and all (100 per cent) of the
small instances when using their own model reformulation. In fact, the average time required to
solve the small instances to optimality with the latter formulation was only 0.625 seconds. This led
Alvalos-Rosales et al. [2] to conclude that their formulation is superior from a practical perspective.
The set of larger instances again involved m Є {2,3,4,5} machines, but this time n Є
{15,20,25,30,35,40} jobs. For each value of m, a total of ten instances of sets of n jobs were again
generated, with job durations drawn from uniform distributions with ranges 1—49, 1—99, and 1—
45
124. In all cases, the set-up times between jobs were again drawn from a uniform distribution with
range 1—99, thus giving rise to 4 × 6 × 10 × 3 = 720 larger problem instances. In view of the fact that
not all small instances of the model formulation of Helal et al. [8] were solvable within one hour of
computation time, Alvalos-Rosales et al. [2] elected to solve the larger instances using only their
own superior formulation. Using the same computing platform as above, they were able to solve
only 636 (88.33 per cent) of the larger instances to optimality within one hour. For the largest
instances where m = 5 machines and n = 35 or 40 jobs, an average optimality gap of between 3.3
per cent and 3.8 per cent was achieved within one hour of computing time.
In view of these results and the NP-hardness of even the special case of the PMCPSP with
m = 1 machine [6,13], the portion of instances that are solvable to optimality within one hour (or
even a few hours, for that matter) is expected to decrease exponentially as m and/or n increases.
Because realistic instances of the PMCPSP are expected to contain well in excess of n = 100 jobs, we
conclude that realistic instances of the PMCPSP are not solvable within a realistic timeframe using
exact methods. Instead, therefore, we consider one heuristic and three metaheuristic solution
approaches in the next section to solve the PMCPSP approximately.
3
APPROXIMATE SOLUTION METHODOLOGIES
The four approximate methods considered in this paper to solve the PMCPSP are the largestprocessing-time-first rule, a local search, the method of tabu search, and simulated annealing, all
described in more detail below.
3.1
Largest-processing-time-first rule
The largest-processing-time-first (LPTF) rule is a well-known scheduling heuristic [15] that aims to
minimise the makespan of a production schedule on parallel machines by scheduling shorter jobs
towards the end of the scheduling period where they can be used to balance the production load of
the various machines. According to the LPTF rule, the m largest jobs are scheduled first on the m
machines, one job per machine. Afterwards, whenever a machine is freed, the largest of those jobs
not yet scheduled is processed on that machine. Due to its inflexibility, the LPTF rule is rarely used
in isolation; instead, it is often used as a starting point for more advanced scheduling metaheuristics.
3.2
Improving local search
An improving local search is an iterative metaheuristic that moves from one candidate solution to a
neighbouring solution of higher quality in solution space during every iteration [5,17]. The quality
of a solution is measured in terms of the objective function of the optimisation problem at hand. To
search within the solution space in a systematic manner, a problem-specific neighbourhood structure
is induced around the current solution by a set of so-called moves (perturbations performed with
respect to the current solution). Solutions in this neighbourhood are evaluated, and the highestquality solution is adopted as the next current solution, provided that this solution is of better
quality than the current solution. If there is no improving solution in the neighbourhood of the
current solution, then the search terminates and the current solution is reported as the (locally)
optimal solution to the optimisation problem. A major disadvantage of an improving local search is,
of course, that it may easily become trapped at an inferior locally optimal solution, and hence the
procedure is sensitive to the candidate solution chosen to initiate the search.
In this paper, we generate the initial (or first current) solution either randomly or by using the LPTF
rule. The neighbourhood of the current solution results from applying so-called displacement moves
[17] to the current solution. In the context of the PMCPSP, a displacement move consists of moving
some job j from its current position in the production sequence of some printer k to any position in
the production sequence of any printer k' (allowing for the possibility that perhaps k = k'). All
combinations of j and k are considered in turn, resulting in a potentially large neighbourhood for
each candidate solution and a search procedure that is essentially deterministic from the initial
solution onwards.
3.3
Tabu search
Introduced by Glover [7] in 1986, the tabu search method is a metaheuristic inspired by the
mechanisms of human memory. In contrast with an improving local search, the tabu search method
— which is also an iterative search procedure — allows for the escape from locally optimal solutions
by (possibly) accepting non-improving moves when moving from the current solution to the next
46
solution. To avoid cycling, a so-called tabu list of a fixed number of the most recent moves
performed during the search is maintained, and the reversal of any move in this list is (temporarily)
forbidden when deciding on the next move to perform. The tabu list is managed as a first-in-firstout queue of fixed length, called the tabu tenure, by removing the oldest entry from the list when
a new entry is inserted into the list. The tabu tenure — denoted by τ — is an important parameter
that affects the efficiency of the search, is problem-specific, and is usually determined empirically
by prior experimentation [7]. Because the search does not necessarily terminate at a locally optimal
solution (as is the case in an improving local search), a pre-specified, fixed number Imax of search
iterations is usually performed before terminating the search. Furthermore, since the last current
solution is not necessarily the best candidate uncovered during the search, a record is maintained
of the best solution found during the entire search. This solution is called the incumbent, and it is
reported as the approximately optimal solution to the optimisation problem at hand at termination
of the search.
In this paper, we generate the initial (or first current) solution either randomly or by using the LPTF
rule, and again we employ displacement moves as described in Section 3.2, but with the added
provision that the move should not be the reversal of any move recorded in the tabu list.
Table 1: Suitable values for the parameters of the tabu search in the context of the PMCPSP
No of jobs
1—10
11—20
21—30
31—40
41—50
No of iterations
100
200
300
400
500
Tabu tenure
10
15
20
25
30
On experimentation with randomly-generated instances of the PMCPSP, it was found that an
effective choice of values for the tabu tenure τ and number of search iterations Imax is the easily
extendable trend shown in Table 1. These values seem to deliver good results.
3.4
Simulated annealing
The method of simulated annealing was first proposed by Kirkpatrick et al. [9] in 1983 as a simulation
model to describe the physical process of annealing condensed matter within the realm of
metallurgy. This method is also an iterative search procedure in which a single, current solution is
maintained during each iteration. In contrast with the deterministic method of tabu search,
however, simulated annealing is a stochastic search process. Non-improving moves are also allowed
— as in the method of tabu search. However, such moves are only accepted with probability
𝑃𝑃 = 𝑒𝑒
−∆obj
�𝑇𝑇
𝑤𝑤 ,
(1)
where Δobj denotes the absolute value of the amount by which the objective function would
deteriorate when moving from the current solution to the non-improving solution, and where Tw is
the value of a parameter — called the temperature — during temperature stage w Є {0,1,2,…}, which
controls the search progression. The acceptance probability in (1) is known as the Metropolis
acceptance criterion and decreases as Δobj increases or as Tw decreases. The initial temperature T0
is selected relatively large, and is then decreased in stages according to a so-called cooling schedule
to allow the search to initially explore the solution space (much as a random search would do), but
so that it becomes gradually harder to accept non-improving moves later during the search (i.e., so
that it resembles a randomised improving local search more towards the end of the search, thereby
exploiting the vicinity of high-quality solutions) [17].
Busetti [4] states that a good value for the initial temperature is such that approximately 80 per
cent of all non-improving moves are accepted at the start of the search. Such an initial temperature
may be estimated by conducting a trial search during which all non-improving moves are accepted.
The initial temperature for the full search may then be taken as
𝑇𝑇0 =
∆+
obj
ln 0.8
,
(2)
where ∆+
obj denotes the average of the changes in objective function values as a result of accepting
non-improving moves during the trial search.
47
The number of iterations spent by the search in temperature stage w is determined by a Markov
chain of length Lw. As Busetti [4] states, the value of Lw (= L, say) should ideally depend on the
optimisation problem at hand, rather than being a function of w. It would, in fact, make sense to
require a minimum of Amin move acceptances during any temperature stage before lowering the
temperature, where Amin is a pre-specified parameter. As Tw approaches zero, however, nonimproving moves are accepted with decreasing probability and so the number of trials expected
before accepting Amin moves is expected to increase without bound as the search progresses, no
matter the value of the positive integer Amin. A suitable compromise is, therefore, to terminate the
search once L moves have been attempted or Amin moves have been accepted (whichever occurs
first), for some positive integers L and Amin satisfying L > Amin. Following the rule of thumb proposed
by Dreo et al. [5], we take L = 100 N and Amin = 12 N, where N is some measure of the number of
degrees of freedom in the optimisation problem. Based on numerical experimentation involving
random instances of the MPCPSP, we choose N = n in this paper, since this value seems to yield
relatively good results.
The well-known geometric cooling update rule
Tw+1 = β Tw, w = 0,1,2,…
(3)
is adopted in this paper, where the cooling parameter β is required to assume a value close to, but
smaller than, one. As originally proposed by Kirkpatrick et al. [9], we employ the value β = 0.95
here.
According to Busetti [4], the final temperature for the cooling schedule should be taken as that
temperature at which the search ceases to make significant progress. We adopt the approach
suggested by Dreo et al. [5], where the search is considered to have ceased making significant
progress when it has failed to accept any moves during three consecutive temperature stages, at
which point the search is terminated.
Finally, the same incumbent solution reporting protocol is adopted for the method of simulated
annealing in this paper as that described for the method of tabu search above.
4
TEST RESULTS
As described in Section 2, the set-up times in the PMCPSP test instances of Avalos-Rosales et al. [2]
are uniformly distributed and were drawn independently of one another. These set-up times,
therefore, do not possess the special colour commonality characteristic, which is inherent to the
PMCPSP. Hence we cannot reliably use their test instances for comparing the efficacies of the
(meta)heuristic solution methods described in Section 3 in the context of the PMCPSP.
We consequently generated ten instances of print job sets for the PMCPSP, each containing 24 jobs
and each job requiring at least two, and at most four, colours from the universal colour set
C = {1,2,3,4,5,6,7,8,9,a,b,c,d,e}.
(4)
For each job, a print volume was drawn from a uniform distribution in the range 1—1000 kg. These
job sets are listed in Table 2. From these ten instances of job sets, we created twenty hypothetical
instances of the PMCPSP by supposing that three printers are available to process the jobs in each
case, one operating at a speed of 4.5 kg/min and two operating at a speed of 8 kg/min, with all
three printers having either bk = 4 or bk = 6 colour cartridges, for k = 1,2,3. Finally, we assumed that
it takes a = 30 minutes to empty, wash, and refill a single colour cartridge.
The results in Table 3 were obtained on implementation of the three metaheuristic solution
procedures of Section 3 (improving local search, tabu search, and simulated annealing) for the
PMCPSP instances described above. The first twenty lines of the table contain results for the case
where each printer has only bk = 4 colour cartridges and the metaheuristics are either initialised
according to the LPTF rule (lines 1—10) or randomly (lines 11—20). The last twenty lines of the table
similarly contain results for the case where each printer has bk = 6 colour cartridges and the
metaheuristics are either initialised according to the LPTF rule (lines 21—30) or randomly (lines
31—40).
48
Table 2: Ten instances of print job sets for the PMCPSP, each containing 24 jobs, with each job
requiring at least two, and at most four, colours from the universal colour set C in (4). The
numbers in brackets are the volumes of the print jobs (in kg).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Instance
1
955b
(534)
Ca
(761)
dc
(415)
d1e
(962)
b19
(525)
9a4
(299)
c9
(830)
4ae4
(911)
ea1
(107)
2c4
(101)
65
(296)
6433
(980)
6a5
(411)
392
(208)
4b6
(906)
99
(920)
8ad
(98)
8d7a
(23)
756
(514)
4e
(56)
67
(391)
49
(475)
ea8
(157)
b7b
(108)
Instance
2
132
(833)
21
(332)
8c2
(658)
75
(679)
e8
(705)
67
(758)
529
(208)
27
(928)
b4
(873)
215c
(257)
74
(236)
73d
(45)
d58
(755)
6e
(635)
95
(924)
4e
(480)
58
(29)
6cca
(539)
576a
(997)
8c
(423)
849
(428)
d65
(681)
84
(151)
d73
(364)
Instance
3
9b3c
(748)
11
(957)
7223
(380)
88
(715)
bb
(469)
b29
(904)
764e
(16)
6b45
(697)
2a5
(945)
27
(186)
7e46
(543)
828
(282)
da7a
(558)
a7
(757)
5b
(224)
bc
(519)
ca
(973)
62ec
(876)
1338
(402)
4ac
(107)
d65
(188)
74d9
(219)
d9e
(390)
d44
(331)
Instance
4
1b
(347)
a6cb
(279)
65a
(78)
39
(799)
e2e9
(244)
94d
(903)
b4
(439)
849
(398)
d2
(79)
4ec
(901)
bc6
(493)
63
(327)
3a8
(100)
71
(992)
bdc
(289)
13
(109)
ed9
(189)
41cb
(146)
78c8
(333)
69
(208)
691
(529)
eee
(207)
ce43
(410)
5a22
(17)
Instance
5
85
(399)
56
(808)
6ba
(842)
a84
(951)
7d4
(749)
4615
(891)
9948
(762)
2862
(858)
76e
(699)
8923
(592)
36
(19)
b16
(559)
98
(312)
db9
(330)
314
(733)
5ac1
(952)
39de
(484)
ae1
(15)
59c1
(74)
56
(565)
752
(734)
b9a
(573)
cbab
(417)
14
(774)
Instance
6
434d
(820)
ba
(256)
5cbd
(759)
85
(357)
92
(579)
c9
(635)
7eb
(188)
8a1
(485)
526
(900)
6b7b
(359)
42e
(174)
5c
(619)
35
(796)
79
(494)
25
(319)
ec89
(628)
59
(902)
bab
(768)
88
(550)
5e
(416)
716
(583)
33
(655)
9a7
(96)
a31
(337)
Instance
7
7bbc
(44)
dc
(469)
54c
(463)
92a
(539)
4e
(58)
66
(648)
36
(215)
a99
(242)
34
(45)
5cd
(584)
143
(388)
54d
(982)
99
(570)
26c4
(851)
c7c4
(397)
4eed
(900)
73a
(651)
618
(854)
75
(375)
a981
(13)
e565
(315)
9a4
(236)
ee4
(577)
6977
(770)
Instance
8
39
(970)
abb7
(110)
91
(500)
35e
(119)
671
(275)
e43
(438)
864
(344)
68
(642)
9612
(424)
b4
(145)
ac
(43)
e81
(801)
4a6
(330)
d36
(206)
b25
(550)
d5
(784)
36
(954)
e98
(325)
1c
(899)
e7b6
(245)
87
(603)
132
(767)
e4
(546)
74c
(891)
Instance
9
ec
(134)
4a9e
(997)
d34
(57)
8d8
(366)
6b97
(765)
66
(39)
373
(632)
1ca4
(275)
e47d
(871)
d96c
(501)
3bad
(896)
b7b8
(778)
7d
(312)
e8e7
(385)
2d9d
(309)
d1c4
(768)
de
(53)
53
(540)
99
(130)
3975
(89)
e6cc
(307)
9a9
(357)
13
(841)
6c
(436)
Instance
10
41
(898)
2a4c
(37)
89
(227)
e65
(101)
76
(891)
81c7
(252)
3b4
(377)
6b
(324)
c9
(436)
198a
(294)
3d6
(634)
71bc
(165)
81
(422)
2b1
(977)
aa33
(1000)
d234
(695)
d4
(325)
2cc3
(831)
29
(624)
359
(944)
21
(313)
677c
(734)
664
(707)
cc
(70)
Based on the results in Table 3, the method of simulated annealing clearly outperforms the other
two algorithms, yielding the best results in 33 out of the 40 cases (82.5 per cent). The method of
tabu search yields the best results in five out of the 40 cases (12.5 per cent), while the improving
local search yields the best results in only two out of the 40 cases (5 per cent). The method of tabu
search is the next-best method, because it yields the second-best results in 29 out of the 40 cases
(72.5 per cent). The method of simulated annealing yields the second best results in seven out of
the 40 cases (17.5 per cent), while the improving local search yields the second-best results in only
four out of the 40 cases (10 per cent).
49
Table 3: Solution statistics obtained when applying the metaheuristics of Section 3 to the ten
instances of the PMCPSP in Table 2. All makespans are measured in minutes, and all execution
times are given in seconds.
1
2
3
4
5
6
7
8
9
10
1'
2'
3'
4'
5'
6'
7'
8'
9'
10'
1*
2*
3*
4*
5*
6*
7*
8*
9*
10*
1†
2†
3†
4†
5†
6†
7†
8†
9†
10†
Line
Line
Line
Line
Local Search
Initial
Final
MakeMakespan
span
1280.9
1019.0
1257.4
1028.5
1414.4
1102.4
1378.2
1104.7
1454.9
1153.5
1370.4
1014.3
1415.8
943.1
1150.6
1057.1
1397.8
989.9
1319.8
1128.0
1175.9
987.5
1172.8
1018.4
1325.5
1065.1
1345.6
896.5
1394.9
1102.6
1265.0
1006.3
1175.8
885.5
1060.6
941.1
1153.4
979.3
1295.4
1101.1
1396.3
1120.3
1478.4
1079.3
1802.0
1038.6
1297.0
1010.5
1612.1
1180.4
1750.7
1067.3
1293.5
914.4
1275.9
956.0
1614.4
986.8
1257.6
1092.0
1183.9
904.0
1170.3
1002.8
1419.6
1099.3
1702.3
1152.3
1619.1
1180.4
1750.7
1067.3
1293.5
914.4
1275.9
956.0
1439.6
970.9
1258.4
1034.5
Best
2/40
2nd
4/40
Best
Worst
34/40
Execution
Time
12848
7453
3844
7845
7656
5625
7641
1922
5203
6485
5784
6109
8495
8523
8515
8452
7687
5438
7743
2401
9001
6344
8969
8501
5765
5750
12125
12703
11578
3203
12848
6984
4531
4123
5766
5781
12062
12671
7734
4422
Tabu search
Initial
Final
MakeMakespan
span
1280.9
969.6
1257.4
992.9
1414.4
1022.2
1378.2
1005.7
1454.9
1121.5
1370.4
995.8
1415.8
895.3
1150.6
948.0
1397.8
951.8
1319.8
994.8
1175.9
956.3
1172.8
978.5
1325.5
996.6
1345.6
863.4
1394.9
1093.5
1265.0
978.0
1175.8
853.4
1060.6
913.6
1153.4
932.0
1295.4
965.6
1365.5
895.8
1794.0
986.1
1300.5
990.0
1341.5
1201.3
1805.8
1113.3
1432.6
987.4
1637.6
929.6
1275.9
974.6
1778.9
913.1
1887.8
958.3
1243.9
904.6
1248.6
986.1
1627.8
1004.1
1587.2
952.0
1805.8
1113.3
1432.6
987.4
1637.6
929.6
1532.2
992.0
1537.8
938.6
1289.1
974.7
Best
5/40
2nd
29/40
Best
Worst
6/40
Execution
Time
41891
42562
44250
40034
44672
43047
41796
43859
42657
43515
36520
47265
47627
46523
49625
48489
39975
47797
42367
50102
45053
42969
43672
42010
44235
42672
42172
43735
41515
43437
43250
43360
43203
41120
44281
42625
42219
43109
43485
43359
Simulated annealing
Initial
Final
MakeMakespan
span
1280.9
870.0
1257.4
953.8
1414.4
983.3
1378.2
984.3
1454.9
1112.4
1370.4
975.6
1415.8
902.3
1150.6
990.8
1397.8
988.9
1319.8
934.4
1175.9
902.6
1172.8
914.8
1325.5
954.3
1345.6
837.2
1394.9
1000.6
1265.0
952.7
1175.8
795.0
1060.6
880.6
1153.4
903.1
1295.4
960.3
1745.1
823.6
1326.0
931.8
1554.1
925.9
1401.2
956.0
1524.0
1118.3
1658.6
895.0
1745.1
888.4
1532.2
958.8
1687.5
933.6
1380.7
936.5
1508.2
872.7
1614.0
930.5
1584.5
825.1
1650.3
902.3
1524.0
1018.3
1602.0
805.7
1108.6
817.3
1550.2
966.3
1338.0
890.4
1855.6
921.3
Best
33/40
2nd Best
7/40
Worst
Execution
Time
31656
525656
95214
32781
27016
87500
5750
4703
4391
49359
45852
32219
49359
69045
48171
62079
55749
70828
200741
63373
50132
45696
38741
603241
28641
59087
50140
43609
38500
34203
23250
40390
55265
38701
28594
60012
35523
28610
36578
55766
0/40
i: Instance i in Table 2 where each printer has 4 cartridges & algorithms were initialised by the LPTF rule.
i': Instance i in Table 2 where each printer has 4 cartridges & algorithms were initialised randomly.
i*: Instance i in Table 2 where each printer has 6 cartridges & algorithms were initialised by the LPTF rule.
i†: Job set i in Table 2 where each printer has 6 cartridges & algorithms were initialised randomly.
The advantage of the improving local search, however, is that it yields results in a fraction of the
execution time required by the methods of both tabu search and simulated annealing (but often
becomes trapped at an inferior, locally optimal solution).
An advantage of the tabu search method is its remarkable consistency in execution times (an average
of 43,651.4 seconds with a standard deviation 6.0 per cent of this value). This is due to the stopping
criterion adopted (Imax = 300 and τ = 20 according to Table 1). In contrast, the improving local search
exhibits the superior average execution time of 7273.9 seconds, but with a standard deviation 38.6
per cent of this value, while the method of simulated annealing achieves an average execution time
of 73903.0 seconds with a standard deviation 160.4 per cent of this value.
50
Finally, use of the LPTF rule as initialisation procedure seems to yield better results than a random
initialisation for the improving local search and tabu search; but for the method of simulated
annealing, the opposite is true.
5
DECISION SUPPORT SYSTEM
We designed a DSS in Microsoft Excel to solve instances of the PMCPSP approximately. Although the
execution times typically achieved by Excel macros are far inferior to what can be achieved, for
example, in C or C++, Microsoft Excel was nevertheless chosen as the computing platform because
it was anticipated that production engineers — tasked with solving instances of the PMCPSP in
practice — will typically have access to, and be familiar with, this environment. Moreover, it would
be very easy for such engineers to provide input data directly into Excel, rather than having to create
text files or files in other formats containing these data.
Although the results of the previous section indicate that the method of simulated annealing
initialised randomly seems to be the best algorithm and initialisation mechanism combination for
finding high-quality solutions to the PMCPSP, we decided, for the sake of flexibility, to incorporate
all three metaheuristics of Section 3 into our DSS implementation, along with both initialisation
mechanisms (random initialisation and initialisation by the LPTF rule). The DSS user has the freedom
to choose the algorithm and initialisation mechanism (s)he would like to use when solving an instance
of the PMCPSP.
Figure 1: Input screen of the PMCPSP DSS in Microsoft Excel
The user is presented with the input screen shown in Figure 1 on initialisation of the DSS in Excel.
In this screen, the user is required to provide input values in the fields labelled Search code, Initial
sequence code, Number of print jobs, Set-up time, and Number of printers. The first two fields
have to be populated with the letters L/S/T (representing the three solution methods of local
improving search, simulated annealing, and tabu search, respectively) and R/L (representing the
method of initialisation as either random or by the LPTF rule, respectively).
The four buttons labelled Steps 1—4 then have to be selected (in that order) to solve an instance of
the PMCPSP. On selection of the Step 1 button, the user is presented with the input matrix in Figure
2 where the speeds (in kg/min) and cartridge magazine sizes of the printers can be specified. The
number of printer columns in this matrix corresponds to the number of printers specified by the user
in the initialisation window.
Figure 2: Input matrix for printer data in the PMCPSP DSS
On selection of the Step 2 button, the user is presented with the job set input matrix shown in Figure
3. In this matrix, each job must be assigned a number or unique identifier, and be associated with
a string of characters representing colours required for the job as well as the print volume of the
job (in kg).
51
Figure 3: Input matrix for job set data in the PMCPSP DSS
Once all the input data have been provided by the user, the Step 3 button may be selected. The
specified solution procedure is then launched, yielding an approximate solution in a print schedule
output window, as shown in Figure 4. The columns of this output window contain the jobs to be
sequenced (in that order) on the various printers.
Figure 4: Print schedule output window of the PMCPSP DSS
Associated printing-schedule performance-measure statistics — such as the total processing time of
jobs assigned to each machine, the number of ink cartridges that have to be washed for each
machine, the total set-up time incurred on each machine, and the completion time of each machine
— are also returned in a final results window, as shown in Figure 5.
Figure 5: Final results window of the PMCPSP DSS
Although the user is also able to specify algorithmic parameters (such as the number of iterations
Imax and tabu tenure τ for the tabu search, or the cooling parameter β, and the number of moves to
be attempted L and/or accepted Amin during each temperature stage of the method of simulated
annealing), it is not necessary here to set out in detail how this is done in the DSS.
6
REALISTIC CASE STUDY
In this section we apply the DSS of Section 5 to a case study involving real PMCPSP data obtained
from a printing company in the Western Cape Province of South Africa to demonstrate the practical
workability of our approximate solution approaches to realistic instances of the problem.
An industrial data set comprising 149 printing jobs — each requiring (at most) eight colours from a
universal colour set containing the 34 colours in Table 4 — was obtained. This data set is shown in
Table 5.
The printing company has five high-speed printers at its disposal: one that can accommodate eight
colours simultaneously and print at a speed of 5.833 kg/min, two that can each accommodate six
colours simultaneously and print at a speed of 4.722 kg/min, and two that can each accommodate
four colours simultaneously and print at a speed of 3.514 kg/min. The fastest of these machines may
be seen in Figure 6. It takes approximately a = 30 minutes to empty, wash, and refill a single ink
cartridge. At the time of initiating this research project, the company made no attempt to schedule
print jobs in advance. Instead, jobs were processed in the order in which they were received from
customers. We were informed, however, that — since they battled to balance the workload of
machines and thought that they were incurring excessively large set-up times due to the essentially
random sequencing of jobs on the five printers — the company wished, in future, to schedule print
jobs in advance on a weekly basis. The reason for this was that the rate at which they received
orders for print jobs would justify a weekly schedule.
We were informed that supervisors operating the printers worked in around-the-clock shifts from
Monday to Saturday (hence a work week of 24 × 6 = 144 hours = 8640 minutes, which is, therefore,
an upper bound on the makespan of a feasible weekly printing schedule), and that a separate work
crew performed maintenance on the printers on a Sunday.
52
Table 4: Universal colour set C for the case study PMCPSP instance
Code
1
2
3
4
5
6
7
Colour
Black 1
Black 2
Blue 1
Blue 2
Brown 1
Brown 2
Buff
Code
8
9
a
b
c
d
e
Colour
Cyan
Frost
Gold 1
Gold 2
Green 1
Green 2
Grey
Code
f
g
h
i
j
k
m
Colour
Lime
Magenta
Maroon
Orange 1
Orange 2
Peach
Pink 1
Code
n
o
p
q
r
s
t
Colour
Pink 2
Pink 3
Purple 1
Purple 2
Red 1
Red 2
Silver
Code
u
v
w
x
y
z
Colour
Varnish
White 1
White 2
Yellow 1
Yellow 2
Yellow 3
Table 5: Industrial job data set for the PMCPSP. The colours required are coded according to
Table 5, and the numbers in brackets are print volumes (in kg).
Job
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Colours
128gipry
128gipry
129acivy
129acivy
129acivy
129acivy
137aruvx
137aruvx
137aruvx
18egrvwy
18egrvwy
18egrvwy
18egrvwy
18egrvwy
18egrvwy
18egrvwy
34abrsuv
34agruvx
34agruvx
128gpry
128grvx
128grvy
128grvy
128grvy
128grvy
1348gyz
1348gyz
1348gyz
1348gyz
138gvwy
1acruvy
3ciruvy
12emnv
12grvy
12grvy
12mnov
139crv
13arvx
Volume
(516)
(519)
(103)
(106)
(147)
(63)
(1021)
(1170)
(723)
(133)
(164)
(169)
(227)
(227)
(90)
(99)
(4450)
(11059)
(2998)
(577)
(226)
(178)
(202)
(208)
(223)
(2564)
(2584)
(2689)
(2754)
(370)
(1764)
(627)
(612)
(1068)
(1909)
(603)
(349)
(110)
Job
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Colours
13arvx
13arvx
13arvx
158gir
158grs
158gry
158gry
158gry
15cgrv
15grvx
15grvx
15grvx
15grvx
15grvx
15grvx
15grvx
15grvx
15grvx
15grvx
18grty
1aruvx
34ckrv
35airv
35airv
12giv
12gvx
12rvx
139rv
19cdv
19crv
19ctv
19hrv
19ijv
19pqv
19ptv
1ruvx
1ruvy
Volume
(125)
(128)
(85)
(1147)
(2093)
(1042)
(1073)
(2665)
(722)
(1166)
(1171)
(1258)
(1362)
(2122)
(2329)
(4670)
(4795)
(735)
(7599)
(1097)
(1123)
(115)
(1453)
(948)
(1842)
(427)
(131)
(256)
(849)
(365)
(710)
(457)
(244)
(311)
(314)
(2898)
(1522)
Job
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Colours
38gix
3acuv
3eirv
58gix
acruv
apqrv
12av
12vx
139v
139v
139v
15ir
19cv
19fv
19hv
19iv
19iv
19pv
19vx
1rvx
34rv
3ruv
3rvx
12c
156
156
156
1cd
1cd
1cd
1cv
1cv
1ij
1ij
1ij
1ir
1mv
Volume
(2214)
(3415)
(242)
(3451)
(3656)
(2421)
(98)
(348)
(260)
(266)
(407)
(698)
(660)
(230)
(407)
(479)
(807)
(258)
(268)
(135)
(268)
(697)
(925)
(1358)
(1067)
(1091)
(905)
(1129)
(609)
(713)
(250)
(720)
(1163)
(1202)
(1209)
(617)
(718)
Job
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
Colours
1rv
1rv
1rx
1vx
1vx
34v
3rv
3rv
3rv
3rv
13
1c
1i
1i
1p
1r
1r
1v
1v
1v
1v
1x
3i
3r
1
1
1
1
1
1
3
c
p
p
r
r
r
Volume
(259)
(912)
(272)
(711)
(718)
(837)
(610)
(615)
(620)
(628)
(1700)
(1122)
(315)
(871)
(1374)
(1682)
(396)
(274)
(691)
(702)
(706)
(207)
(6073)
(610)
(128)
(1533)
(1638)
(229)
(507)
(828)
(5110)
(279)
(179)
(633)
(328)
(352)
(767)
We solved this instance of the PMCPSP (approximately) using the DSS described in Section 5,
selecting simulated annealing (with parameter values as described in Section 3.4) and random
initialisation as our solution methodology combination, based on the superior performance of this
combination observed in the results of Section 4.
The search was initiated with a random solution exhibiting a makespan of 16053 minutes ≈ 11.15
days, and ran for 39572 seconds ≈ 11 hours (just over 900000 iterations) before reaching a state of
thermal equilibrium. The progression of the various schedule makespans over the course of the
search is shown in Figure 7. The incumbent solution, shown in Table 6, has a makespan of 8371
minutes ≈ 5.8 days, which is comfortably within the 6-day feasibility limit for a one-week schedule.
53
Figure 6: A high-speed flexico printer equipped with 8 colour cartridges
that can print at a speed of 5.833 kg/min
Figure 7: Progression of the simulated annealing search for the case study data set
7
CONCLUSION AND APPLICATION EXTENSIONS
A scheduling problem from the colour printing industry was considered in this paper. The problem,
here called the parallel machine colour print scheduling problem, is to find an optimal assignment
of print jobs to each of a set of colour printers, and a processing sequence for the set of jobs assigned
to each printer. The objective is to minimise the makespan of the schedule to achieve a suitable
balance between the workloads of the printers and the efficiencies of the job sequences assigned
to the printers. A novel aspect of the problem is the way in which the printer set-up times associated
with the jobs are job sequence-dependent: it is possible to exploit commonalities between the
colours required for successive jobs on each machine.
54
Table 6: Incumbent solution returned by the simulated annealing search. Jobs are numbered
according to Table 5; the numbers in brackets are print job durations.
# of cartridges
Print speed (kg/min)
Job 1 (duration)
Job 2 (duration)
Job 3 (duration)
Job 4 (duration)
Job 5 (duration)
Job 6 (duration)
Job 7 (duration)
Job 8 (duration)
Job 9 (duration)
Job 10 (duration)
Job 11 (duration)
Job 12 (duration)
Job 13 (duration)
Job 14 (duration)
Job 15 (duration)
Job 16 (duration)
Job 17 (duration)
Job 18 (duration)
Job 19 (duration)
Job 20 (duration)
Job 21 (duration)
Job 22 (duration)
Job 23 (duration)
Job 24 (duration)
Job 25 (duration)
Job 26 (duration)
Job 27 (duration)
Job 28 (duration)
Job 29 (duration)
Job 30 (duration)
Job 31 (duration)
Job 32 (duration)
Job 33 (duration)
Job 34 (duration)
Job 35 (duration)
Job 36 (duration)
Job 37 (duration)
Job 38 (duration)
Job 39 (duration)
Job 40 (duration)
Job 41 (duration)
Job 42 (duration)
Job 43 (duration)
Process time (min)
Cartridges washed
Set-up time (min)
Total time (min)
Printer 1
8
5.833
5
(25.2)
3
(17.7)
4
(18.2)
6
(10.8)
82 (16.8)
71 (41.8)
31 (302.4)
32 (107.5)
60 (19.9)
17 (762.9)
18 (1895.9)
19 (514.0)
39 (21.4)
41 (14.6)
40 (21.9)
129 (67.9)
95 (23.1)
48 (199.9)
7
(175.0)
8
(200.6)
9
(123.9)
28 (461.0)
29 (472.1)
27 (443.0)
26 (439.6)
30 (63.4)
12 (29.0)
130 (47.0)
14 (38.9)
16 (17.0)
10 (22.8)
15 (15.4)
13 (38.9)
11 (28.1)
25 (38.2)
22 (30.5)
23 (34.6)
21 (38.7)
65 (22.5)
24 (35.7)
2
(89.0)
1
(88.5)
20 (98.9)
7174.4
39
1170.0
8344.4
Printer 2
6
4.722
69 (150.4)
67 (179.8)
70 (96.8)
37 (73.9)
66 (54.2)
68 (77.3)
61 (307.7)
81 (512.7)
38 (23.3)
59 (237.8)
74 (613.7)
52 (449.4)
56 (155.7)
50 (266.4)
53 (493.2)
54 (989.0)
47 (152.9)
43 (443.2)
46 (564.4)
76 (468.9)
64 (90.4)
35 (404.3)
34 (226.2)
63 (390.1)
Printer 3
6
4.722
72 (65.9)
88 (139.8)
93 (54.6)
73 (66.5)
55 (1015.5)
57 (1609.3)
51 (288.4)
49 (248.0)
79 (730.8)
42 (242.9)
45 (227.2)
44 (220.7)
58 (232.3)
75 (322.3)
36 (127.7)
33 (129.6)
78 (51.2)
62 (200.8)
80 (774.2)
77 (723.2)
Printer 4
4
3.514
106 (71.1)
107 (204.9)
103 (321.3)
136 (173.6)
125 (89.6)
121 (176.4)
119 (173.6)
128 (478.7)
122 (178.7)
146 (180.1)
108 (331.0)
135 (1728.2)
110 (344.1)
102 (257.5)
117 (204.3)
116 (202.3)
92 (229.7)
90 (115.8)
132 (199.8)
91 (136.3)
89 (65.5)
112 (204.3)
133 (200.9)
138 (436.3)
131 (196.6)
84 (74.0)
97 (198.3)
98 (263.2)
96 (76.3)
Printer 5
4
3.514
148 (100.2)
87 (198.6)
111 (175.6)
126 (247.9)
101 (310.5)
100 (303.6)
149 (218.3)
114 (259.5)
147 (93.3)
113 (73.7)
118 (238.2)
83 (99.0)
134 (58.9)
142 (235.6)
94 (76.3)
141 (144.3)
86 (115.8)
137 (36.4)
85 (75.7)
143 (1454.2)
120 (175.0)
109 (342.1)
123 (483.8)
145 (50.9)
144 (79.4)
127 (391.0)
139 (466.1)
99 (386.5)
105 (202.9)
104 (173.3)
115 (77.4)
124 (319.3)
140 (65.2)
7421.6
31
930.0
8351.6
7471.0
30
900.0
8371.0
7512.5
28
840.0
8352.5
7728.5
21
630.0
8358.5
Any PMCPSP model is, however, rich in application possibilities, in the sense that it admits a large
variety of applications that, when first encountered, seem to be vastly different from decisions
related to colour print scheduling. We mention four such application extensions in closing, but many
others may also be found in the literature on flexible manufacturing systems.
An alternative application that fits naturally into the modelling framework of this paper is the
problem of mailroom insert planning [1]. In this application, a number of lines of feeders are used
to insert various pre-determined sets of distinct advertising brochures into envelopes destined for
various categories of clients. Since each client category requires a different subset of brochures in
their envelopes, the problem can be modelled as an instance of the PMCPSP in which each client55
required subset of brochures corresponds to a print job, each brochure corresponds to a different
ink colour, each line of feeders corresponds to a printer, and each individual brochure feeder
corresponds to an ink cartridge. Each brochure type change incurs a constant set-up time that is
required to empty, clean, and reload a feeder; but if a brochure required for a specific client
category were also required for the previous client category processed on a particular line of
feeders, then the above set-up time could be avoided for that brochure. This gives rise to the same
type of sequence-dependent set-up times that was encountered in the PMCPSP.
A further application alternative is encountered in a pharmaceutical packaging facility [10,13] where
different types of pills are bundled together into patient- or region-specific boxes by flexible
packaging units. Different types of pills are stored in containers and can be hooked up to the feeding
holes of a packaging unit. The different pill combinations required by the patient types or regions
correspond to a print job of the PMCPSP, each type of pill corresponds to a different ink colour,
each packaging unit corresponds to a printer, and each individual pill container corresponds to an
ink cartridge. There is an advantage to be gained in saved set-up time if two consecutively-processed
pill combinations share the same type of constituent pill: this gives rise to a multiple-machine
scheduling problem with sequence-dependent set-up times for which the models considered in this
paper are applicable.
Our next example of an alternative application of PMCPSP models occurs in the assembly of printed
circuit boards (PCBs) [16]. Flexible component placement machines are used to mount various
electronic components, stored in large containers, on to a bare PCB. These machines typically
contain a number of task-specific tools in a magazine. Since the machines are highly automated,
configurable, and suitable for the assembly of a wide variety of PCB product types, the problem can
be modelled as an instance of the PMCPSP in which each PCB product corresponds to a print job of
the PMCPSP, each type of electronic component corresponds to a different ink colour, each
component placement machine corresponds to a printer, and each electronic component container
corresponds to an ink cartridge. In this context, the problem is known as the Tool Switching Problem,
and again, the exploitation of tool commonality requirements for consecutive jobs is a central
feature of the application.
As a last application extension, we mention a scheduling problem in the chemical manufacturing
industry where various chemicals, each consisting of a particular set of constituents, are produced
by feeding these constituents from containers to a number of mixing and reaction chambers via
supply pipes [10,13]. Set-up cost is incurred by retooling and cleaning a pipe whenever a chemical
constituent is changed. Here the various constituent combinations required for a specific chemical
correspond to a print job of the PMCPSP, each constituent corresponds to a different ink colour,
each mixing and reaction chamber corresponds to a printer, and each constituent container
corresponds to an ink cartridge. In this case, the sequence-dependent set-up times between jobs
are incurred as a result of having to fit new constituent containers and having to clean the feeding
pipes. PMCPSP models are clearly also applicable in this case.
The three metaheuristics (a local improving search, a tabu search, and simulated annealing)
designed, implemented, and tested in this paper for their ability to uncover high-quality
(approximate) solutions to small instances of the PMCPSP are therefore also applicable to the
application extensions mentioned above. It was found that the method of simulated annealing is the
best of the three approximate solution approaches. An automated decision support tool for solving
the PMCPSP approximately was also designed and implemented in Microsoft Excel [12]. This tool
uses all three of the above metaheuristics to find good approximate solutions to the scheduling
problem. Finally, it was demonstrated that the decision support tool developed here is capable of
uncovering high-quality solutions to industrial-size instances of the PMCPSP.
Although the local search metaheuristics were able to uncover satisfactory solutions to the problem
instances considered in this paper, it would be interesting to investigate whether superior solutions
might be uncovered for even larger problem instances by incorporating population-based
metaheuristics (such as a genetic algorithm or a particle swarm optimisation algorithm), or purposebuilt heuristics within a branch-and-bound scheme, or a dynamic programming solution approach in
the DSS.
56
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
Adjiashvili, D., Bosio, S. & Zemmer, K. 2015. Minimizing the number of switch instances on a flexible
machine in polynomial time, Operations Research Letters, 43(3), pp 317—322.
Avalos-Rosales, O., Alvarez, A.M. & Angel-Bello, F. 2013. A reformulation for the problem of scheduling
unrelated parallel machines with sequence and machine dependent setup times, Proceedings of the
Twenty-Third International Conference on Automated Planning and Scheduling, pp 278—282.
Bruckner, P. 2007. Scheduling algorithms, 5th edition, Springer.
Busetti,
F.
2003.
Simulated
annealing
overview.
Online
reference
available
at:
http://www.cs.ubbcluj.ro/~csatol/mestint/pdfs/Busetti_AnnealingIntro.pdf
Dreo, J., Petrowski, A., Siarry, P. & Taillard, E. 2006. Metaheuristics for hard optimization: Methods
and case studies, Springer.
Gray, A.E., Seidmann A. & Stecke, K.E. 1993. A synthesis of decision models for tool management in
automated manufacturing, Management Science, 39, pp 549—567.
Glover, F. 1986. Future paths for integer programming and links to artificial intelligence, Computers &
Operations Research, 13, pp 533—549.
Helal, M., Rabadi, G. & Al-Saken, A. 2006. A tabu search algorithm to minimize the makespan for unrelated
parallel machines scheduling problem with setup times, Operations Research, 3, pp 182—192.
Kirkpatrick, S., Gelatt, C.D. & Vecchi, M.P. 1983. Optimization by simulated annealing, Science, 220, pp
671—680.
Laarhoven, P. & Zijm, W. 1993. Production preparation and numerical control in PCB assembly,
International Journal of Flexible Manufacturing Systems, 5(3), pp 187—207.
Hertz, A., Laporte, G., Mittaz, M. & Stecke K. 1998. Heuristics for minimising tool switches when
scheduling part types on a flexible machine, IIE Transactions, 30(8), pp 689—694.
Microsoft Office Products. 2016. Download Center. Online reference available at:
https://www.microsoft.com/en-za/download/details.aspx?id=10
Mütze, T. 2014. Scheduling with few changes, European Journal of Operational Research, 236, pp 37—50.
Oerlemans, A.G. 1992. Production planning for flexible manufacturing systems, PhD Dissertation,
University of Limburg, Maastricht.
Pinedo, M. 2002. Scheduling: Theory, algorithms and systems, 2nd edition, Prentice-Hall.
Raduly-Baka, C. & Nevalainen, O.S. 2015. The modular tool switching problem, European Journal of
Operational Research, 242, pp 100—106.
Rardin, R. 1998. Optimisation in operations research, Prentice-Hall.
Sistemas de Optimización Aplicada, 2011. Problem instances for unrelated parallel machines with
sequence-dependent setup times and makespan criterion. Online reference available at:
http://soa.iti.es/problem-instances
57
APPENDIX: MODEL FORMULATIONS
For the sake of completeness, this appendix contains the mathematical formulations of the 2006
PMCPSP model by Helal et al. [8] and the 2013 PMCPSP model by Avalos-Rosales et al. [2], starting
with the earlier formulation.
Let Ωj denote the completion time of job j
Є
J and define the decision variables
1 if job j is processed immediately after job i on machine k
0 otherwise
𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖 = �
for all i,j Є J0 and k Є M, where J0 = J U {0}. Here the dummy job 0 denotes the empty magazine
state of a printer and the variables v0jk and vi0k represent jobs that are to be processed on printer k
Є M at the start and end of the printing schedule, respectively. Similarly, s0jk denotes the set-up
time incurred when processing job j Є J first on machine k Є M. Then the objective in the PMCPSP
formulation of Helal et al. [8] is to
minimise Ωmax
subject to the constraints
�
� 𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖
=
1,
j Є J,
(6)
� 𝑣𝑣ℎ𝑗𝑗𝑗𝑗
=
0,
h Є J, k Є M,
(7)
≤
Ωj,
i Є J0, j Є J,
(8)
� 𝑣𝑣0𝑗𝑗𝑗𝑗
=
1,
k Є M,
(9)
≤
=
≥
Є
Ωmax,
0,
0,
{0,1},
j Є J,
(10)
(11)
(12)
(13)
𝑖𝑖 Є 𝐽𝐽0 \{𝑗𝑗} 𝑘𝑘 Є 𝑀𝑀
� 𝑣𝑣𝑖𝑖ℎ𝑘𝑘 −
𝑖𝑖 Є 𝐽𝐽0 \{ℎ}
𝑖𝑖 Є 𝐽𝐽0 \{ℎ}
Ω𝑖𝑖 + � 𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖 (𝑠𝑠𝑖𝑖𝑖𝑖𝑖𝑖 + 𝑝𝑝𝑗𝑗𝑗𝑗 ) + 𝑍𝑍 � � 𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖 − 1�
𝑘𝑘 Є 𝑀𝑀
𝑘𝑘 Є 𝑀𝑀
(5)
𝑗𝑗 Є 𝐽𝐽0
Ωj
Ω0
Ωj
𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖
j Є J,
i,j Є J, k Є M,
where Z is a large positive constant. The objective in (5) is to minimise the makespan of the
schedule. Constraint set (6) ensures that each job is scheduled for processing exactly once, on one
machine, while constraint set (7) ensures that each job is neither preceded nor succeeded by more
than one other job. Constraint set (8), in which Z is a large positive integer, ensures that the job
completion times are calculated correctly as the various jobs follow one another on each machine.
Constraint set (9) ensures that exactly one job is scheduled first on each machine, while constraint
sets (10)—(12) guarantee that the makespan of the schedule is calculated correctly. Finally,
constraint set (13) enforces the binary nature of the decision variables.
In the model formulation (5)—(13), the makespan is linearised as the maximum of the completion
times of all the jobs, as specified by constraint set (10). Avalos-Rosales et al. [2] found, however,
that the lower bound on Ωmax produced by the linear relaxation of (5)—(13) is very weak. This
prompted them to reformulate the model by linearising the makespan as the maximum of the spans
of all the machines. Using the same notation as above, together with the additional symbol Φk
denoting the completion time of printer k Є M, the objective in the model of Avalos-Rosales et al.
[2] is again to
minimise Ωmax,
(14)
but this time subject to the constraints
�
� 𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖
𝑖𝑖 Є 𝐽𝐽0 \{𝑗𝑗} 𝑘𝑘 Є 𝑀𝑀
58
=
1,
j Є J,
(15)
�
� 𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖
=
1,
i Є J,
(16)
� 𝑣𝑣0𝑗𝑗𝑗𝑗
≤
1,
k Є M,
(17)
� 𝑣𝑣ℎ𝑖𝑖𝑖𝑖
=
0,
i
(18)
i Є J0, j Є J, i≠j, k Є
M,
Φ0
=
𝑠𝑠𝑖𝑖𝑖𝑖𝑖𝑖
+ 𝑝𝑝𝑗𝑗𝑗𝑗 ,
0,
j Є J,
(21)
Φk
𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖
≤
Є
Ωmax,
{0,1},
k Є M,
i,j Є J0, k Є M.
(22)
(23)
𝑗𝑗 Є 𝐽𝐽0 \{𝑖𝑖} 𝑘𝑘 Є 𝑀𝑀
� 𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖 −
𝑗𝑗 Є 𝐽𝐽0 \{𝑖𝑖}
𝑗𝑗 Є 𝐽𝐽
ℎ Є 𝐽𝐽0 \{𝑖𝑖}
Φ𝑗𝑗 − Φ𝑖𝑖 + 𝑍𝑍(1 − 𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖 )
≤
� �(𝑠𝑠𝑖𝑖𝑖𝑖𝑖𝑖 + 𝑝𝑝𝑗𝑗𝑗𝑗 )𝑣𝑣𝑖𝑖𝑖𝑖𝑖𝑖
≥
𝑖𝑖 Є 𝐽𝐽0 \{𝑗𝑗} 𝑗𝑗 Є 𝐽𝐽
Φk,
Є
J, k Є M,
(19)
(20)
Constraint sets (15) and (16) respectively ensure that each job has exactly one predecessor and one
successor. Furthermore, constraint set (17) specifies that at most one job should be scheduled first
on each printer, while constraint set (18) embodies a collection of conservation of flow constraints
that ensure that if a job is scheduled for processing on some printer, then a predecessor and a
successor must exist for that job on the same printer. Constraint set (19) determines the correct
processing order by establishing that, if vijk = 1, then the completion time of job j must be greater
than the completion time of job i on machine k. Whenever vijk = 0, however, the corresponding
constraint in (19) is redundant in view of the magnitude of Z. Constraint set (20) fixes the completion
time of the dummy job (job 0) as zero and further serves, in conjunction with constraint set (19),
to guarantee that the completion times of all jobs are positive. Constraint set (21) computes the
completion time of the last job scheduled for processing on printer k, while constraint set (22)
ensures a valid makespan for the schedule.
59
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement