on a scheduling problem in the packaging industry · problems from the operations research...

30
On a scheduling problem in the packaging industry AP Burger * , CG Jacobs * , JH van Vuuren * & SE Visagie * January 18, 2009 Abstract In this paper a scheduling problem is considered which arises in the packaging industry. Plastic and foil wrappers used for packaging candy bars, crisps and other snacks typically require overlay printing with multiple colours. Printing machines used for this purpose typ- ically accommodate a small number of colours simultaneously, called a pallet, and if consec- utively scheduled print jobs require significantly different colour overlays, then substantial down times are incurred on the machines during which ink cartridges have to be cleaned dur- ing the transition from one pallet to another. The durations of these down times consist of a sequence-dependent tear-down time (a wash time which is a function of the number of colours in which two consecutive pallets differ) followed by a fixed setup time. It is therefore desirable to schedule print jobs so that (i) the number of different pallets required on each machine is minimized, and (ii) the accumulated down times associated with all pallet transitions are as short as possible for each machine. We show that instances of this scheduling problem are combinations of three famous sub- problems from the operations research literature, namely the unicost set covering problem,a (two) travelling salesmen problem and a multiple vehicle routing problem. We solve the prob- lem exactly for small problem instances and heuristically for larger instances. Our algorithms are tested numerically on a large number of randomly generated benchmark instances, and the efficiencies of the various algorithmic solution approaches are compared with respect to these data, which are available from the authors upon request. Finally, we test our algorithms on real problem data obtained from a flexico company in the South African Western Cape as a special case study. Keywords: Job partitioning, job scheduling, job sequencing. AMS Classification: 90B35, 05A18, 05C15. 1 Introduction The problem considered in this paper arises when scheduling printing jobs for flexico printing companies which print a wide variety of plastic wrappers and packaging products. Production of these packaging products usually comprises three processes: printing, laminating and slitting. During the printing process a design is printed onto a plastic sheet, after which this sheet may or may not be laminated. Finally, all plastic sheets (whether laminated or not) are slitted into the correct wrapper or packaging sizes. No job sequence-dependent setup times or tear-down times are associated with the laminating or slitting processes, which simplifies scheduling of these processes significantly: upon completion of the printing process, jobs are simply queued for the laminating and slitting processes in order of urgency with respect to curing times and due dates. Of the three * Department of Logistics, University of Stellenbosch, Private Bag X1, Matieland, 7602, South Africa, emails: [email protected], [email protected], [email protected] and [email protected] 1

Upload: others

Post on 26-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

On a scheduling problem in the packaging industry

AP Burger∗, CG Jacobs∗, JH van Vuuren∗ & SE Visagie∗

January 18, 2009

Abstract

In this paper a scheduling problem is considered which arises in the packaging industry.Plastic and foil wrappers used for packaging candy bars, crisps and other snacks typicallyrequire overlay printing with multiple colours. Printing machines used for this purpose typ-ically accommodate a small number of colours simultaneously, called a pallet, and if consec-utively scheduled print jobs require significantly different colour overlays, then substantialdown times are incurred on the machines during which ink cartridges have to be cleaned dur-ing the transition from one pallet to another. The durations of these down times consist of asequence-dependent tear-down time (a wash time which is a function of the number of coloursin which two consecutive pallets differ) followed by a fixed setup time. It is therefore desirableto schedule print jobs so that (i) the number of different pallets required on each machine isminimized, and (ii) the accumulated down times associated with all pallet transitions are asshort as possible for each machine.

We show that instances of this scheduling problem are combinations of three famous sub-problems from the operations research literature, namely the unicost set covering problem, a(two) travelling salesmen problem and a multiple vehicle routing problem. We solve the prob-lem exactly for small problem instances and heuristically for larger instances. Our algorithmsare tested numerically on a large number of randomly generated benchmark instances, andthe efficiencies of the various algorithmic solution approaches are compared with respect tothese data, which are available from the authors upon request. Finally, we test our algorithmson real problem data obtained from a flexico company in the South African Western Cape asa special case study.

Keywords: Job partitioning, job scheduling, job sequencing.

AMS Classification: 90B35, 05A18, 05C15.

1 Introduction

The problem considered in this paper arises when scheduling printing jobs for flexico printingcompanies which print a wide variety of plastic wrappers and packaging products. Productionof these packaging products usually comprises three processes: printing, laminating and slitting.During the printing process a design is printed onto a plastic sheet, after which this sheet may ormay not be laminated. Finally, all plastic sheets (whether laminated or not) are slitted into thecorrect wrapper or packaging sizes. No job sequence-dependent setup times or tear-down times areassociated with the laminating or slitting processes, which simplifies scheduling of these processessignificantly: upon completion of the printing process, jobs are simply queued for the laminatingand slitting processes in order of urgency with respect to curing times and due dates. Of the three

∗Department of Logistics, University of Stellenbosch, Private Bag X1, Matieland, 7602, South Africa, emails:[email protected], [email protected], [email protected] and [email protected]

1

Page 2: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

1 Introduction 2

(a) Printing machine (b) Ink cartridges

Figure 1.1: A printing machine capable of printing in four colours, and the four ink carridges.

processes the printing process predominantly causes bottlenecks on the production floor, becauseit is by far the most complex process, typically exhibiting job sequence-dependent tear-down timesfor the printing machines.

A combination of colours simultaneously loaded into a printing machine for mixed colour printing ofone or more jobs is called a pallet. Usually a number of printing machines are available to schedulersat flexico printing companies (see Figure 1.1(a) for an example of such a printing machine). Aplate is required for each colour utilized in the pallet during a printing job. This plate is glued ontoa cylinder used to perform the actual printing in a run-off fashion. The width of a plate (calledthe web width) is determined by the width of the printed design, whilst the circumference of thecylinder is determined by the length of the plate (which is, in turn, determined by the length ofthe design). A technician prepares the plates and glues them onto the cylinders.

The design is studied prior to each printing job in order to determine which and how many coloursare required to produce the required finish of the design. These colours depend on the propertiesof the plastic on which the job is printed (colours look different on clear plastic, such as thepackaging used for fruit or vegetables, than on metallic material, such as chips packets). Thereare also different colour systems, defined by the combination of resins in a colour, which gives thecolour its adhesive properties. Different colour systems work better on certain plastics than onothers.

The printing of a job consists of three phases. The first is the machine setup phase. The secondphase is the actual printing phase and the third phase is the tear-down phase. The time requiredfor the setup phase depends only on the specific job at hand and is therefore not job sequence-dependent. During this first phase the cylinders containing the plates are installed, the web widthis set and the registry is set, ensuring that the colours are layered correctly over one another andthat the colours printed match the sample agreed upon by the client. The second phase consistsof the actual physical printing and the duration of this phase is also not job sequence-dependent.It is, however, job-dependent (determined by the print volume per job) and machine-dependent(determined by the processing speed of the printer).

The tear-down phase consists of removing all material form the printing machines as well as washingup the ink cartridges used (one for each colour, as shown in Figure 1.1(b)). Washing these cartridgesis job sequence-dependent — the time it takes to perform a wash-up, depends on the colours usedfor the previous job as well as on the colours required for the next job. It takes a constant time

Page 3: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

2 The subproblem of pallet selection 3

to clean a single cartridge; hence it is convenient in terms of minimizing the total wash-up timebetween two jobs if some of the colours of the previous and next jobs match (in which case thecartridges containing the matching colours need not be washed). A standard approach towardssolving a problem of this nature would be to model it as a travelling salesman problem (TSP),where each city represents a job and in which the “distance” between two cities is the numberof colours in which the corresponding jobs differ [1, 2, 16, 18]. However, this approach has thelimitation that only the current and the preceding jobs are taken into account when determiningthe numbers of colours that have to change between two jobs, while it is often beneficial to leavea certain colour in the printer only to use it again a few jobs later. In other words, a (significant)degree of suboptimality may be incurred when adopting the local approach of only considering thecolours required for the next job when sequencing the next job to be performed, compared to aglobal approach of “looking ahead” in time over a number of jobs when solving the job sequencingproblem. In this paper we suggest an alternative approach of grouping colours into so-called palletsand then solving a TSP on the pallets rather than on the jobs themselves. A number of jobs canthen be performed using a single pallet (without changing any colours).

When scheduling the printing process there are generally two objectives: (i) To minimize thenumber of times that wash-ups have to occur between jobs (by minimizing the total number ofpallets that have to be scheduled on a printing machine), and (ii) to minimize the total wash timeduration (i.e. the total number of ink cartridges that have to be cleaned).

In this paper we mainly consider the above scheduling problem for the case of a single printingmachine. The paper is organized as follows. In §2 and §3 we decompose our print scheduling prob-lem into two subproblems which we call the pallet selection subproblem and the pallet sequencingsubproblem. It is interesting that these subproblems may be modelled as two famous problems inthe operations research literature, namely the (unicost) set covering problem (SCP) and the TSPrespectively. Solving a combination of these subproblems to proven optimality is prohibitivelyexpensive for realistically sized problems. Ee therefore solve the subproblems separately and con-secutively in §4, and estimate the degree of suboptimalty thus incurred. We nevertheless developtwo exact solution approaches in §5 in order to be able to test the qualities of solutions found bymeans of the heuristics for small problem instances. In the case of m identical printing machines(the scenario considered in §6) the two subproblems generalise to the (variable cost) SCP and anm+1 vehicle routing problem (VRP). We proceed to develop a heuristic approach towards solvingthe multiple, homogeneous machine problem-case approximately, because it seems impossible tosolve it exactly with off-the-shelf integer programming software. All our algorithms, including theheuristics and for small problem instances the exact methods, are tested on a number of bench-mark problem instances with a view to compare the trade-off between time efficiency and solutionquality over the various algorithms. In §7 we apply our methods in a real case study to showthat our heuristics are capable of handling realistically sized problems satisfactorily. Finally, someconclusions and ideas with respect to future work follow in §8.

2 The subproblem of pallet selection

Let C be the set of colours available to the flexico printing company, and suppose that all jobsinvolving a specific type of flexico (plastic or foil) material are performed on a single printingmachine in which n colours may be loaded simultaneously. Define a job as that subset of Ccontaining no more than n colours required to perform a print job, and denote the set of all jobsthat have to be performed by J. A collection of subsets of C is said to be mergable if the cardinalityof their union is at most n. Let P = P(J) be the set of unions of all mergable subsets of J, and callthe members of P pallets. A pallet therefore represents a colour combination that may be loadedinto the printer simultaneously to perform one or more printing jobs. Note, therefore, that everyjob is also a pallet, but the converse of this statement is not necessarily true. A pallet p ∈ P issaid to cover a job j ∈ J if j ⊆ p. It will sometimes be convenient to refer to a subset of J as

Page 4: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

2 The subproblem of pallet selection 4

a job grouping. The union of a job grouping J ⊆ J therefore forms a pallet if the jobs in J aremergable.

In this section we adopt two different approaches towards pallet selection for a specified job set.The first approach is to solve a so-called set covering problem (§2.1–2.2), and this is followed in§2.3 by an alternative approach based on a process of merging jobs.

2.1 A set cover approach

Suppose B = B(J, P) is a binary |J| × |P| matrix whose (j, p)-th entry is

bjp =

1 if job j ∈ J is covered by pallet p ∈ P0 otherwise. (2.1)

Then a minimum setup time will result from a smallest subset P = P(J) of the pallet set P forwhich each job j ∈ J is covered by at least one member p ∈ P. Such a subset may be found bysolving the celebrated (unicost) set covering problem (SCP) [7, 13] in which the objective is to

minimize P (x(J)) =∑p∈P

xp (2.2)

subject to ∑p∈P

bjpxp ≥ 1, j ∈ J (2.3)

xp ∈ 0, 1, p ∈ P, (2.4)

where x = [x1, . . . , x|P(J)|] is a vector of decision variables in which xp takes the value 1 if and onlyif pallet p ∈ P is a member of the pallet selection set P. Denote the minimum in (2.2) by P ∗(J).The SCP is NP-complete [8] and has attracted considerable attention in the literature in the formof ever-improving exact and heuristic algorithmic solution approaches [3].

The problem (2.2)–(2.4) is also well known in graph theory. Consider a bipartite feasibility graph,denoted by G〈P, J〉, whose partite sets are P and J, and in which two vertices p ∈ P and j ∈ Jare adjacent if the pallet p covers job j. Then the problem of finding a smallest subset of palletscollectively covering the entire job set is the graph theoretic bipartite domination problem (BDP)[10] of finding a smallest subset of vertices P ⊆ P, called a bipartite dominating set, that dominatesthe partite set J.

In view of the NP-completeness of the BDP [10] it is desirable to disregard redundant jobs in J(e.g. jobs that are subsets of other jobs) and to eliminate pallets from P that necessarily need notform part of a smallest bipartite dominating set P of G〈P, J〉 (i.e. to reduce the feasibility graphto some essential subgraph thereof) before attempting to solve the BDP. In terms of the SCP,where one attempts to cover the rows of the matrix B by a smallest subset of its columns, this isequivalent to removing redundant rows and hence non-essential columns from B before attemptingto solve (2.2)–(2.4). The reduction scheme in Algorithm 1 achieves just this.

Suppose Π is a collection of pallets. Then a pallet p ∈ Π is said to be maximal (with respect to Π)if p is not mergable with any other pallet in Π. The function MaxFeasiblePallets(J) takes as inputa set of jobs J and outputs all maximal pallets that may be formed by merging jobs in J. Thefunction starts out with the pallets in P′ = J. If some subset P of pallets in P′ is each mergablewith a pallet p ∈ P′, the function MaxFeasiblePallets replaces p with p ∪ k | k ∈ P in P′. Thisprocess is continued until all elements of P′ are maximal, upon which the function returns theupdated set P′ of maximal pallets. Note that this pallet set (unlike P) does not contain palletsthat are subpallets of other pallets, since we are only interested in minimzing the number of palletsand not the number of colours utilized or washes incurred at this stage. The notation N(X) in

Page 5: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

2 The subproblem of pallet selection 5

Algorithm 1 Feasibility graph reduction schemeInput: A feasibility graph G〈P, J〉 with job set J and pallet set P.Output: A reduced feasibility graph G〈P′, J′〉 and a set of essential pallets Pe.1: J′ ← J, Pe ← ∅2: P′ ← MaxFeasiblePallets(J)3: while there exists a subset J ⊆ J′ of jobs, each of degree 1 in G〈P′, J′〉, do4: J′ ← J′\N(N(J ))5: P′ ← MaxFeasiblePallets(J′)6: Pe ← Pe ∪N(J )7: end while8: output G〈P′, J′〉, Pe

the algorithm denotes the open neighbourhood set of a set X of vertices in the feasibility graphG〈P′, J′〉. The algorithm identifies a subset J ⊆ J′ of jobs, each of degree 1 in the feasilibilty graphG〈P′, J′〉. Suppose N(J ) ⊆ P′. Then each job j ∈ J is covered by exactly one pallet p ∈ N(N(J )).Hence p is necessarily in any optimal solution to the SCP (or BDP). The job j and all other jobsalso covered by p are therefore removed from J′ (Step 4) and the pallet p is placed in a set Pe ofessential pallets (Step 6) for all j ∈ J , after which the set of maximal pallets is updated1 (Step5). This process is continued until no jobs of degree 1 remain in the feasibility graph G〈P′, J′〉.

Example 1 Suppose the ten colours C = 1, 2, 3, 4, 5, 6, 7, 8, 9, a are available and consider ajob set J = 3456a, 2579, 2678, 367a, 124, 136, 157, 236, 249, 459 of cardinality 10 to be performedon a machine with n = 5 cartridges. The function MaxFeasiblePallets(J) returns the pallet setP = 12346, 12457, 12459, 12579, 13567, 1367a, 14579, 23469, 23678, 2367a, 24579, 3456a of cardi-nality 12. The feasibility graph G〈P, J〉 is shown in Figure 2.1(a) and the corresponding 10 × 12SCP matrix B = [bjp]j∈J,p∈P is shown in Figure 2.1(b). During iteration 1 of the while-loop itis found that J = 3456a, 2678. After removing the neighbourhoods of the neighbourhoods ofthe jobs in J , the reduced job set J′ = 2579, 367a, 124, 136, 157, 249, 459, associated maximalfeasible pallet set P′ = 12346, 12457, 12459, 12579, 13567, 1367a, 14579, 24579 and essential palletset Pe = 23678, 3456a result. The reduced feasibility graph G〈P′, J′〉 is shown in Figure 2.1(c)and the corresponding 7 × 8 SCP matrix B′ = [bjp]j∈J′,p∈P′ is shown in Figure 2.1(d). Dur-ing the second iteration of the while-loop, J = 367a, so that J′ = 2579, 124, 157, 249, 459,P′ = 12457, 12459, 12579, 14579, 24579 and Pe = 23678, 3456a, 1367a after the second itera-tion. The final reduced feasibility graph G〈P′, J′〉 is shown in Figure 2.1(e) and the corresponding5× 5 SCP matrix B′ in Figure 2.1(f).

The correct working of Algorithm 1 is established in the following theorem.

Theorem 1 Let G〈P′, J′〉 and Pe be the output obtained from Algorithm 1 upon input of the fea-sibility graph G〈P, J〉. If P ′ is a smallest bipartite dominating set of G〈P′, J′〉, then P = P ′ ∪Pe isa smallest bipartite dominating set of G〈P, J〉.

Proof: Suppose a job j ∈ J has degree 1 in the feasibility graph G〈P, J〉. Then j can only bedominated by its neighbour p ∈ P. Hence p (called an essential pallet) necessarily forms part ofany smallest bipartite dominating set of G〈P, J〉. All jobs in N(p) = N(N(j)) may thereforebe removed from J to obtain a reduced job set J′ when solving the BDP, because these jobs aredominated by p. The pallet set P may also be reduced by recomputing a maximal feasible palletset P′ associated with J′ via the function MaxFeasiblePallets(J), as explained above. By repeating

1Note that the new set P′ of maximal pallets need not be recomputed, starting from the new reduced job set J′;it may be updated from the previous set P′ =: P as follows. For each job j removed from the previous reduced jobset J′, find all pallets p1, . . . , pm(j) ∈ P for which j ⊆ pi, i = 1, . . . , m(j). Let p′i = pi\ j, i = 1, . . . , m(j). Then the

new maximal feasible pallet set is P′ = (P \ p1, . . . , pm(j)) ∪MaxFeasiblePalletsp′1, . . . , p′m(j)

.

Page 6: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

2 The subproblem of pallet selection 6

12346

12457

12459

12579

13567

1367a

14579

23469

23678

2367a

24579

3456a

3456a

2579

2678

367a

124

136

157

236

249

459

P′ J′

(a)

12346

12457

12459

12579

13567

1367a

14579

23469

23678

2367a

24579

3456a

3456a 0 0 0 0 0 0 0 0 0 0 0 1

2579 0 0 0 1 0 0 0 0 0 0 1 0

2678 0 0 0 0 0 0 0 0 1 0 0 0

367a 0 0 0 0 0 1 0 0 0 1 0 0

124 1 1 1 0 0 0 0 0 0 0 0 0

136 1 0 0 0 1 1 0 0 0 0 0 0

157 0 1 0 1 1 0 1 0 0 0 0 0

236 1 0 0 0 0 0 0 1 1 1 0 0

249 0 0 1 0 0 0 0 1 0 0 1 0

459 0 0 1 0 0 0 1 0 0 0 1 0

P′

J′

(b)

12346

12457

12459

12579

13567

1367a

14579

24579

2579

367a

124

136

157

249

459

P′ J′

(c)

12346

12457

12459

12579

13567

1367a

14579

24579

2579 0 0 0 1 0 0 0 1

367a 0 0 0 0 0 1 0 0

124 1 1 1 0 0 0 0 0

136 1 0 0 0 1 1 0 0

157 0 1 0 1 1 0 1 0

249 0 0 1 0 0 0 0 1

459 0 0 1 0 0 0 1 1

P′

J′

(d)

r

r

12457

12459

12579

14579

24579

2579

124

157

249

459

P′ J′

(e)

12457

12459

12579

14579

24579

2579 0 0 1 0 1

124 1 1 0 0 0

157 1 0 1 1 0

249 0 1 0 0 1

459 0 1 0 1 1

P′

J′

(f)

Figure 2.1: An application example of the reduction scheme in Algorithm 1.

Page 7: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

2 The subproblem of pallet selection 7

this process and keeping track of all essential pallets in a set Pe, the feasibility graph G〈P′, J′〉 maythus be reduced until no jobs in J′ of degree 1 remain. The result follows.

The result of Theorem 1 is illustrated by referring to the previous example.

Example 2 (Continuation of Example 1) It is clear that no single pallet dominates all thejobs in the final reduced feasibility graph in Figure 2.1(e) (because no pallet has degree 5). However,the set P = 12457, 24579, indicated by means of square vertices in the figure, dominates all jobsin the final reduced job set. Hence P is a smallest bipartite domination set of the final feasibilitygraph. Therefore P ∪ P ′ = 12457, 23678, 24579, 3456a, 1367a is a smallest bipartite dominationset of the original feasibility graph G〈P, J〉 according to Theorem 1.

We remark that although the set P ∪P ′ is a smallest bipartite dominating set of G〈P, J〉 accordingto Theorem 1, some of the pallets in this set may be unnecessarily large. Algorithm 2 may beused to remove non-essential colours from pallets in P ∪ P ′. For this algorithm the notion of aremovable edge in G〈P ∪ P ′, J〉 is required. An edge (p, j) of G〈P ∪ P ′, J〉 is said to be removableif deg j > 1 and we can remove one or more colours from the pallet p such that p no longercovers j, but still covers all other jobs in its neighbourhood. More specifically, an edge (j, p) isremovable if |p| > |(∪j′∈N(p)j′) \ j|, in which case the edge may be removed by replacing p by(∪j′∈N(p)j′) \ j in P ∪ P ′.

Algorithm 2 Removal of non-essential coloursInput: The set P ∪ P ′, as described in Theorem 1.Output: A pallet set of cardinality |P ∪ P ′|, but with non-essential colours removed.1: T ← P ∪ P ′2: while there is a job j with deg j > 1 not labelled in G〈T , J〉 do3: Find a pallet p ∈ N(j) for which z(p) = |p| − |(∪j′∈N(p)j′) \ j| is a maximum, z∗

4: if z∗ > 1 then replace p with (∪j′∈N(p)j′) \ j in T5: else label j (as being incident to no removable edges)6: end while7: output T

Note that all colours in P ∪ P ′ in Example 2 are essential.

2.2 A lower bound on the smallest number of pallets

It is interesting that the subproblem of pallet selection may also be cast in a hypergraph setting.Consider a hypergraph H〈J〉 with vertex set J in which the vertices in some job subset e ⊆ J arejoined by means of a hyperedge if and only if the jobs in e are not mergable, but the jobs in anyproper subset of e are mergable. An r-colouring of H〈J〉 is a function fr : J 7→ 1, . . . , r such that,for any edge e of H〈J〉, there exist two vertices j, j′ ∈ e for which fr(j) 6= fr(j′). The i-th colourclass of an r-colouring of H〈J〉 is the subset of all jobs j ∈ J for which fr(j) = i (i = 1, . . . , r).Note therefore that each colour class in an r-colouring of H〈J〉 is an independent set of vertices inH〈J〉 (i.e. the hypersubgraph induced in H〈J〉 by the vertices in any colour class is hyperedgeless).

Theorem 2 Let pi be the union of the jobs in the i-th colour class of any r-colouring of H〈J〉,i = 1, . . . , r. Then p1, . . . , pr is a feasible solution to the SCP (2.2)–(2.4).

Proof: Since the vertices in the i-th colour class Ci of an r-colouring of H〈J〉 form an independentset in H〈J〉, it follows by the definition of a hyperedge of H〈J〉 that the jobs in Ci are mergable, forall i = 1, . . . , r.

Page 8: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

2 The subproblem of pallet selection 8

The chromatic number of H〈J〉, denoted by χ(H〈J〉), is the smallest natural number r for which anr-colouring of H〈J〉 exists. It follows that if r = χ(H〈J〉) in Theorem 2, then p1, . . . , pr is an optimalsolution to the SCP (2.2)–(2.4). The problem of deciding the chromatic number of a hypergraphis, of course, NP-complete [11], so that attempting to solve the SCP via a hypergraph theoreticapproach does not hold any real advantage. However, by considering slightly altered hypergraphs,bounds on solutions to the SCP may be found. Consider an exclusion k-hypergraph Hk〈J〉 withvertex set J in which the vertices in some job subset e ⊆ J of cardinality k are joined by means ofa hyperedge if and only if the jobs in e are not mergable, irrespective of whether the jobs in propersubsets of e are mergable. A c-clique of Hk〈J〉 is a hypersubgraph of order c of Hk〈J〉 in which all(

ck

)vertex subsets of cardinality k are adjacent (i.e. joined by means of hyperedges).

Theorem 3 Let 2 ≤ k ≤ |J| and let c be the order of a maximum clique in the exclusion k-hypergraph Hk〈J〉. Then any solution to the SCP (2.2)–(2.4) comprises at least λk = dc/(k − 1)epallets.

Proof: In a c-clique of Hk〈J〉 no k jobs are mergable (but perhaps some subset of k − 1 jobs aremergable). We therefore require at least dc/(k − 1)e pallets to cover the jobs in J.

3456a

2579

2678367a

124

136

157

236 249

459

(a)

3456a

2579

2678367a

124

136

157

236 249

459

12346

24579

(b)Figure 2.2: (a) The exclusion 2-hypergraph for the job list in Example 1. (b) The complement ofthe exclusion 3-hypergraph for the job list in Example 1.

The lower bounds in Theorem 3 are illustrated in the following example.

Example 3 (Continuation of Examples 1–2) The exclusion 2-hypergraph for the job list inExample 1 is shown in Figure 2.2(a). This graph contains a 5-clique on the shaded vertices 124,367a, 2678, 2579 and 3456a. It therefore follows by Theorem 3 that any solution to the SCP(2.2)–(2.4) for this problem instance comprises at least 5/(2 − 1) = 5 pallets. The complementof the exclusion 3-hypergraph is shown in Figure 2.2(b) by means of dark triangles. The eightshaded independent vertices similarly indicate that this instance of the SCP comprises at least8/(3 − 1) = 4 pallets. Since no pallet in the feasibility graph in Figure 2.1(a) has degree at least4, it follows that the exclusion k-hypergraph is complete for all k ≥ 4 in this instance. It thereforefollows by Theorem 3 that any solution to the SCP for this problem instance comprises at leastd10/(4 − 1)e = 4, d10/(5 − 1)e = 3, 10/(6 − 1) = 2 and d10/(i − 1)e = 2 (i = 7, 8, 9, 10) pallets.The largest of these lower bounds is 5, which is sharp, as was seen in Example 2.

2.3 Pallet selection by merging jobs

An alternative approach towards solving the pallet selection subproblem is to start with each job asa pallet, and then repeatedly merge pallets until no two pallets are mergable. The order in which

Page 9: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

2 The subproblem of pallet selection 9

pallets are merged during this process is important, and hence we describe a method to obtain allpossible pallet merges.

Two operations are required in order to describe this method, namely Prepend and Distribute.The operation Prepend(A, x) takes a collection A of sets of objects and an additional object xas input and produces as output a collection of sets in which each element of A receives thesingle-element set x as element. For example, Prepend( a, b, c, a, b, c , x) = x, a, b, c, x, a, b, c . The operation Distribute(B, x) also takes a collection B ofsets of objects and an additional object x as input, and produces as output a collection of sets inwhich the object x is included in each element of the collection of sets alternatively. For exam-ple, Distribute( a, b, c, a, b, c , x) = x, a, b, c, a, x, b, c, x, a, b, c,a, b, x, c .

The Stirling number of the second kind S(J, P ) counts the number of different ways of grouping Jdistinct objects into P indistinguishable, nonempty sets [17, p. 2 865]. The value of S(J, P ) maybe computed recursively as S(J, P ) = S(J − 1, P − 1) + PS(J − 1, P ), using the initial conditionsS(J, 1) = S(J, J) = 1. This recursive relationship may be motivated by conditioning on whetheror not the first object forms a set by itself. If the first object is grouped on its own, it may beprepended in exactly one way to each of the S(J−1, P −1) groupings of the remaining J−1 objectsinto P − 1 sets. If not, then there are P distinct ways to distribute the object amongst each of theS(J − 1, P ) groupings of the remaining J − 1 objects into P sets. If there is no restriction on thenumber of colours that may form a pallet, it therefore follows that the number of different ways inwhich J (distinct) jobs may be merged into P (nonempty) pallets is S(J, P ).

Example 4 Consider the job set J = j1, j2, j3, j4, j5. There are S(5, 3) = S(4, 2) + 3S(4, 3) =7 + (3 × 6) = 25 different ways to merge the elements of J into three job groupings. To listall these merges, consider the two cases separately where job j1 forms a grouping by itself, andwhere it forms a grouping together with other jobs. In the former case job j1 may be prependedto each of the different merges of the jobs j2, j3, j4, j5 into two groupings, while in the latter casejob j1 may be distributed over the different ways to merge the jobs j2, j3, j4, j5 into three groupingsin the second case. There are S(4, 2) = 7 different ways to merge the jobs j2, j3, j4, j5 into twogroupings, i.e. A = j2, j3, j4, j5, j2, j3, j4, j5, j3, j2, j4, j5, j2, j3, j4, j5,j3, j4, j2, j5, j2, j4, j3, j5, j4, j2, j3, j5 , and there are S(4, 3) = 6 different waysto merge the jobs j2, j3, j4, j5 into three groupings, i.e. B = j2, j3, j4, j5, j2, j3, j4,j5, j2, j4, j3, j5, j2, j3, j4, j5, j3, j2, j4, j5, j3, j4, j2, j5 . Byprepending j1 to each element of A and distributing j1 over the elements of B, the 25 differentmerges

Elements ofPrepend(A, j1) Elements of Distribute(B, j1)

j1, j2, j3, j4, j5 j1, j2, j3, j4, j5 j2, j1, j3, j4, j5 j2, j3, j1, j4, j5j1, j2, j3, j4, j5 j1, j2, j3, j4, j5 j2, j1, j3, j4, j5 j2, j3, j4, j1, j5j1, j3, j2, j4, j5 j1, j2, j4, j3, j5 j2, j1, j4, j3, j5 j2, j4, j1, j3, j5j1, j2, j3, j4, j5 j1, j2, j3, j4, j5 j2, j3, j1, j4, j5 j2, j3, j4, j1, j5j1, j3, j4, j2, j5 j1, j3, j2, j4, j5 j3, j1, j2, j4, j5 j3, j2, j4, j1, j5j1, j2, j4, j3, j5 j1, j3, j4, j2, j5 j3, j1, j4, j2, j5 j3, j4, j1, j2, j5j1, j4, j2, j3, j5

are obtained.

Of course, a job grouping may only be considered valid during pallet selection if the jobs containedtherein are mergable. Hence, under a binding restriction on the number of colours that may occurin a pallet, the number of different ways η(J, P ) in which J jobs may be merged into P valid jobgroupings satisfies η(J, P ) ≤ S(J, P ), where equality is expected to hold in very rare cases only.

We use the recursive scheme in Algorithm 3 to find all valid ways in which a job list may bemerged into a specified number, P , of job groupings. The algorithm is originally called with J′ = J

Page 10: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

2 The subproblem of pallet selection 10

Algorithm 3 PalletList(J′, P ′)Input: A list of (feasible) pallet groupings J′ = j′1, j′2, . . . , j′J′, and a desired number of (feasible)

pallet groupings, P ′. The machine size n is considered to be a global variable.Output: All valid ways of merging the pallet groupings in J′ into P ′ (feasible) pallet groupings.1: if |J′| = P ′ then return j′1, j′2, . . . , j′J′2: if |J′| = 1 then do3: if | ∪J′

i=1 j′i| ≤ n then return J′4: else return ∅5: end if6: end if7: return Prepend(PalletList(J′\j′1, P ′ − 1), j′1) ∪ Distribute(PalletList(J′\j′1, P ′), j′1)

and P ′ = P , and works in much the same way as was explained in Example 4, except that theoperation Distribute only produces job groupings whose members are mergable. Algorithm 3 iscalled recursively until P ′ jobs have to be merged into P ′ job groupings, or until P ′ jobs have to bemerged into one job grouping. If the value of the input parameter P to Algorithm 3 is sequentiallytaken as

maxkλk, max

kλk+ 1, max

kλk+ 2, . . . , J

(where λk is the lower bound in Theorem 3), then a smallest feasible value P ∗ of P will emergein the sense that for P < P ∗ there is no way to partition the jobs in J into P mergable jobgroupings, but there is at least one way to partition the jobs in J into P ∗ mergable job groupings.Indeed, Algorithm 3 with P = P ∗ yields all the optimal solutions to the SCP (2.2)–(2.4) in §2.1,whereas a standard binary programming approach toward solving (2.2)–(2.4) would yield only oneoptimal solution. Knowing all optimal solutions to the SCP is advantageous when one attempts tominimize the number of colour cartridges that have to be washed during the process of sequencingthe pallets in order to draw up a printing schedule, as we shall show later.

Let us now consider the recursive complexity of Algorithm 3. Let c(J, P ) denote the number ofcalls to the algorithm with input parameters J′ and P , where J = |J′|. Then it follows from Step7 of the algorithm that c(J, P ) is the solution to the recurrence relation

c(J, P ) = c(J − 1, P − 1) + c(J − 1, P ), c(i, 1) = c(i, i) = 1. (2.5)

The recurrence relation in (2.5) is known as Pascal’s identity for binomial coefficients and has assolution c(J, P ) =

(J−1P−1

)[15, §2.3, Table 5]. We illustrate the working of the algorithm by means

of a small example.

Example 5 (Continuation of Examples 1–2) Consider again the job set J = 3456a, 2579,2678, 367a, 124, 136, 157, 236, 249, 459 = j1, j2, . . . , j10 of Example 1. Applying Algorithm 3 toJ we find no feasible set of job groupings of cardinality 4, but the two feasible sets

j1, j4, j6, j5, j7, j3, j8, j2, j9, j10 and j1, j4, j6, j2, j7, j3, j8, j5, j9, j10

of job groupings of cardinality 5 are uncovered, giving rise to the two pallet selections 34569, 1367a,12457, 23678, 24579 and 34569, 1367a, 12579, 23678, 12459 respectively. Note that the first selec-tion is the same as the one found in Example 2. Although there are S(10, 5) = 42 525 ways ofpartitioning ten jobs into five job groupings, the algorithm runs in under a tenth of a second2,since only

(94

)= 126 algorithm calls are performed.

2A 3.2GHz Intel Pentium 4 processor with 1 Gb RAM was used to perform all computations reported in thispaper.

Page 11: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

2 The subproblem of pallet selection 11

Jobset Jobs from the colour set C = 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e

1 239d 257c 36ab 36bc 46ad 4cde 124 16d 235 238 28e 5be 68e 37 8c2 148e 268e 4578 459d 137 13d 247 27a 38a 47b 68c 6ad 23 bd be3 36ae 3ace 5abd 5abe 9bcd 12c 148 1ac 459 69b 8ab bce 16 7a 9a4 13bc 148c 19ce 239e 248d 34bd 356d 15a 235 28a 46b 6ac 9ac 45 5b5 123c 15cd 19cd 457a 47bc 689e 14e 236 48e 7ac 24 35 49 59 6b6 136c 156d 29de 3569 4589 48ae 67bd 89be 1ae 46b 46c 59a 12 3a 7a7 137a 2346 458a 12b 159 167 17e 23b 24e 45e 4ad 59d 68c 789 4b8 128c 167e 248b 369c 567b 589d 2bd 35c 467 48a 4bd 57a 89e 25 4e9 1348 149a 1cde 46ce 56be 67ab 257 2be 58d 68e 17 2a 8a ac bc

10 156c 1578 35bc 36ab 3ace 246 378 456 49d 56d 56e 39 3d 9b 9e11 1279 149b 15ab 189d 24ce 2678 1ad 2be 369 57e 8bd 8be 9be 4a 7b12 146a 17ce 238b 36bc 689d 125 126 25b 27d 3be 46b 679 ade 19 9b13 124c 126b 13ac 158a 1789 19ae 248e 29be 37bc 79ad 18c 19d 237 45b 9c14 147b 168a 169c 239b 36cd 478d 248 256 25c 4be 59c 68d bce 1d 5815 14ce 15cd 27bc 29ce 347e 357c 4abc 245 24e 37a 456 7ae 7ce 23 8d16 167d 2379 237c 345d 456c 56bd 57cd 19c 37d 67a 26 2b 58 7e 8b17 13ce 156c 17ce 5bde 69bc 18a 24d 28c 56e 5ab 67d 67e 89b abe 3618 1467 1589 159b 239d 348c 5679 567a 69ae 1ae 2bc 57b 689 789 79b 89c19 249a 27cd 346e 467d 9abd 179 356 39c 47e 7de 89b 25 38 78 7a20 126d 16be 289c 3458 345a 39cd 57ce 178 34e 36c 37a 47d 7ac 89e ad21 289b 36bd 469a 46be 12a 169 17b 24e 2ac 568 6ce 78c 7ae 1c 2622 128c 12ae 14ae 15ab 23bd 459a 47cd 19c 69c 6de 29 5e 67 ac ce23 235e 2489 25ab 69de 3ab 4ad 89c ace 2c 34 36 5c 9b bd 124 249b 2567 2abc 34ae 367e 389c 56ae 19d 1bd 28e 5cd 9cd 17 45 8d25 178d 239b 24cd 468e 47cd 15d 169 23e 357 89a abc 4a 4b 67 9d26 124c 1789 246a 359a 4789 89cd 8abe 146 367 56c abd 13 28 6e 7e27 159c 259e 689e 78ac 7abc 7abd 123 589 67c 6ae 6de ade 17 3c 4c28 12bd 137b 259e 36be 4bcd 6789 67ac 689d 19c 58a 5de 67b 69e 6de 1529 137c 18ac 12e 19b 46c 57d 5bd 8ae 8bc 35 3a 47 9d 9e ad30 237a 25de 67bc 8cde 18a 1bd 2ce 4bd 4cd 578 69b 26 28 9c 9e

Table 2.1: Thirty job sets, each of cardinality 15, generated randomly from a set of 14 colours,with no job requiring more than 4 colours.

2.4 Numerical results

Ninety benchmark problem instances were created by generating thirty job sets randomly fromthe colour set C = 1, 2, 3, 4, 5, 6, 7, 8, 9, a,b, c,d, e, with no job requiring more than four colours,as shown in Table 2.1, and by considering machines of sizes n = 4, 5, 6 for these job sets. Theresults obtained by solving the SCP (2.2)–(2.4) in §2.1 directly via a binary programming approachusing the software suite Lingo 11.0 [12] and via the job merging approach of §2.3 are shown inTables 2.2–2.4.

In Tables 2.2–2.4 the full dimensions of the problem instances are listed in the column labelled ‘FullDimensions (|J|×|P|)’, while their reduced SCP matrix dimensions are listed in the column labelled‘Reduced Dimensions |J′|× |P′|’. The number of essential pallets is listed in the column labelled ‘#Ess. Pallets, |Pe|’. Where |J′|×|P′| is listed as ‘0×0’, the essential pallet list Pe generated by meansof Algorithm 1 was found to dominate the entire job set in the original feasibility graph G〈P, J〉.The columns labelled ‘Lower bnd λ2’, ‘Lower bnd λ3’ and ‘Lower bnd λ4’ contain best possiblelower bounds of the form λk = dc/(k − 1)e on the number of pallets P (J) in (2.2) obtained fromTheorem 3 for k = 2, 3, 4. Minimum values of the SCP objective function are listed in the columnlabelled ‘# Pallets, P ∗(J)’, while the next two columns labelled ‘# SCP Branches’ and ‘SCP Time(sec)’ contain respectively the number of branches traversed during the branch-and-bound binaryprogramming solution of the SCP and the corresponding solution times (in seconds). The finaltwo columns of the first part of Tables 2.2–2.4 labelled ‘# Solns, η(J, P )’ and ‘Stirling Time (sec)’contain respectively the number of optimal solutions to the SCP obtained by means of Algorithm3 and the corresponding execution times of the algorithm.

Page 12: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

3 The subproblem of pallet sequencing 12

Pallet Selection (§2) Sequencing (§3)

Inst

ance

Full

Dim

ensi

ons

(|J|×|P|)

Red

uce

dD

imen

sions

(|J′|×

|P′ |)

#E

ss.P

allet

s,|P

e|

Low

erbnd

λ2

Low

erbnd

λ3

Low

erbnd

λ4

#Pallet

s,P

∗(J

)

#SC

PB

ranch

es

SC

PT

ime

(sec

)

#Soln

s,η(J

,P)

Sti

rlin

g

Tim

e(s

ec)

#E

mpties

,Ξ(P

)

Λ(P

)−

Ξ(P

)

#W

ash

es,W

∗(P

)

#T

SP

Bra

nch

es

TSP

Tim

e(s

ec)

1 15× 24 6× 9 9 11 8 5 12 6 0.34 3 1.02 7 25 25 7 904 1.092 15× 30 0× 0 10 10 8 5 10 — — 1 1.69 5 23 23 2 040 0.273 15× 29 0× 0 11 11 8 5 11 — — 3 0.97 6 22 23 3 135 0.534 15× 22 0× 0 12 12 7 5 12 — — 7 0.27 7 24 24 3 228 0.695 15× 33 8× 15 7 10 7 5 11 46 0.03 21 4.72 7 22 22 2 653 0.506 15× 24 5× 8 9 11 8 5 12 29 0.06 9 1.14 5 24 25 7 921 1.087 15× 24 0× 0 10 10 8 5 10 — — 1 0.91 6 23 23 2 440 0.338 15× 24 0× 0 12 12 8 5 12 — — 6 0.30 7 25 25 6 741 1.089 15× 32 6× 8 8 11 7 5 11 7 0.11 10 1.45 6 25 25 4 766 0.86

10 15× 33 8× 11 6 9 7 5 10 41 0.06 12 9.50 6 22 23 7 322 0.8611 15× 26 0× 0 11 11 8 5 11 — — 1 0.86 5 24 24 5 039 0.6512 15× 25 0× 0 12 12 8 5 12 — — 8 0.28 8 24 24 6 902 0.8913 15× 17 0× 0 14 14 8 5 14 — — 2 0.02 7 28 28 16 893 2.9814 15× 25 0× 0 11 11 8 5 11 — — 4 0.83 5 22 23 8 431 1.0915 15× 23 0× 0 12 12 8 5 12 — — 8 0.30 6 25 25 5 779 0.8216 15× 28 0× 0 11 11 7 5 11 — — 1 1.22 5 23 23 9 779 1.3217 15× 21 4× 5 10 12 8 5 12 3 0.06 2 0.23 8 24 24 4 981 0.8618 15× 20 3× 3 11 12 8 5 13 3 0.11 4 0.28 7 23 24 4 791 0.8719 15× 33 0× 0 10 10 7 5 10 — — 1 3.13 4 21 22 2 181 0.4220 15× 19 0× 0 13 13 8 5 13 — — 1 0.06 8 26 26 7 248 1.1421 15× 27 0× 0 12 12 7 5 12 — — 18 0.36 10 27 27 12 866 1.7022 15× 36 8× 19 7 9 7 5 11 44 0.05 33 13.30 5 23 23 7 266 1.2523 15× 54 11× 30 4 8 7 5 9 12 0.03 4 34.11 4 21 21 1 932 0.3024 15× 29 6× 7 8 11 8 5 11 7 0.05 2 1.34 4 26 26 3 143 0.5525 15× 28 0× 0 11 11 7 5 11 — — 8 1.23 7 24 24 6 010 0.8626 15× 26 0× 0 12 12 7 5 12 — — 10 0.38 8 25 26 9 842 1.3627 15× 24 5× 8 8 10 7 5 11 25 0.05 9 2.77 7 21 21 6 712 0.8928 15× 20 0× 0 13 13 8 5 13 — — 5 0.06 7 24 24 2 868 0.5329 15× 45 6× 8 6 8 7 5 9 34 0.03 6 14.91 6 21 21 1 402 0.2730 15× 32 4× 5 8 10 7 5 10 4 0.04 8 2.95 6 22 22 2 695 0.41

Table 2.2: Numerical results for a four-colour machine (n = 4).

3 The subproblem of pallet sequencing

Suppose the subproblem of pallet selection has been solved (as described in the previous section)and consider the subsequent subproblem of finding an order in which to sequence these pallets onthe printing machine so as to minimize the total number of cartridges that have to be washed inthe process.

3.1 The standard TSP approach

Let P be a pallet selection that minimizes (2.2) subject to (2.3)–(2.4). Then the total numberof colour cartridges that have to be washed when following up pallet i ∈ P by pallet k ∈ P in aprinting schedule is

aik = |i| − |i ∩ k|. (3.1)

Note, therefore, that aik 6= aki in general. The pallets in P may be sequenced to minimize theoverall number of colour cartridges W that have to be washed by finding a hamiltonian path ofminimum weight in a complete graph of order P ∗(J) = |P| with weight matrix A = [aik]i,k∈P ,which we call the sequencing graph. The problem of finding such a path may be converted to the

Page 13: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

3 The subproblem of pallet sequencing 13

Pallet Selection (§2) Sequencing (§3)

Inst

ance

Full

Dim

ensi

ons

(|J|×|P|)

Red

uce

dD

imen

sions

(|J′|×

|P′ |)

#E

ss.P

allet

s,|P

e|

Low

erbnd

λ2

Low

erbnd

λ3

Low

erbnd

λ4

#Pallet

s,P

∗(J

)

#SC

PB

ranch

es

SC

PT

ime

(sec

)

#Soln

s,η(J

,P)

Sti

rlin

g

Tim

e(s

ec)

#E

mpties

,Ξ(P

)

Λ(P

)−

Ξ(P

)

#W

ash

es,W

∗(P

)

#T

SP

Bra

nch

es

TSP

Tim

e(s

ec)

31 15× 58 0× 0 7 7 6 5 7 — — 1 9.08 5 22 22 951 0.1932 15× 69 11× 21 2 6 6 5 7 56 0.06 10 25.58 5 20 20 1608 0.2233 15× 77 15× 49 0 5 7 5 7 105 0.06 310 19.53 7 20 20 472 0.1234 15× 49 0× 0 8 8 7 5 8 — — 4 10.45 9 21 21 776 0.1735 15× 74 15× 41 0 6 6 5 7 99 0.05 624 30.72 9 20 20 939 0.1736 15× 49 5× 6 6 8 7 5 9 22 0.04 80 12.50 10 24 24 2269 0.3437 15× 59 15× 38 0 6 7 5 7 15 0.04 35 4.92 6 20 20 112 0.1038 15× 50 0× 0 7 7 7 5 7 — — 15 5.44 7 21 21 563 0.1439 15× 75 15× 43 0 7 7 5 7 22 0.06 1 29.17 5 22 22 1491 0.2540 15× 69 13× 32 1 6 6 5 7 68 0.06 192 44.41 6 20 20 1549 0.2241 15× 58 12× 23 2 8 7 5 8 13 0.03 6 12.58 7 21 22 2015 0.2942 15× 61 13× 28 1 7 6 5 7 16 0.04 4 11.89 5 22 22 987 0.1743 15× 34 0× 0 11 11 7 5 11 — — 60 1.03 13 25 25 4173 0.7244 15× 56 14× 32 1 8 6 5 8 12 0.05 50 13.08 9 22 22 780 0.2245 15× 51 12× 21 2 8 6 5 8 11 0.05 36 9.47 8 20 21 1351 0.2846 15× 68 15× 41 0 7 7 5 7 23 0.06 2 13.20 5 21 21 1409 0.2547 15× 50 15× 29 0 7 7 5 7 13 0.05 20 5.70 7 20 20 653 0.1648 15× 39 9× 12 4 8 7 5 8 6 0.05 2 5.13 7 22 22 1307 0.2449 15× 75 15× 43 0 6 6 5 7 100 0.07 115 30.50 7 20 20 811 0.2250 15× 45 6× 9 5 7 7 5 8 6 0.05 3 12.77 6 24 24 1763 0.2851 15× 62 10× 23 3 7 7 5 8 77 0.04 291 50.91 9 22 22 1162 0.2052 15× 79 13× 32 1 7 6 5 7 12 0.05 4 18.13 6 21 21 2738 0.3953 15× 131 15× 80 0 5 5 5 6 151 0.07 84 54.91 6 19 19 1811 0.2554 15× 53 3× 3 8 9 6 5 10 3 0.04 426 19.92 13 24 25 3609 0.5855 15× 70 15× 44 0 7 7 5 7 19 0.07 9 13.38 6 21 21 582 0.1656 15× 60 7× 9 4 7 7 5 8 32 0.06 125 25.44 7 23 23 529 0.1757 15× 64 13× 35 1 6 6 5 7 75 0.03 12 13.17 7 19 19 1293 0.2058 15× 42 0× 0 9 9 7 5 9 — — 15 5.23 8 26 26 4267 0.5759 15× 108 15× 64 0 5 5 5 6 167 0.06 47 39.14 6 19 19 412 0.1360 15× 75 15× 43 0 6 6 5 6 19 0.06 1 8.64 5 19 19 327 0.10

Table 2.3: Numerical results for a five-colour machine (n = 5).

well-known asymmetric travelling salesman problem (ATSP) [9, p. 170] by including3 an emptypallet ∅ in the set P. The ATSP objective is then to

minimize W (Z) =∑i∈P0

∑k∈P0

aikzik (3.2)

subject to ∑i∈P0

zik = 1, k ∈ P0 (3.3)

∑k∈P0

zik = 1, i ∈ P0 (3.4)

ui − uk + |P0|zik ≤ |P|, i, k ∈ P, i 6= k (3.5)zik ∈ 0, 1, i, k ∈ P0, (3.6)uk ≥ 0, k ∈ P, (3.7)

3From a solution-approach point of view this inclusion is advantageous, because it enables us to search for aspanning cycle of minimum weight in the sequencing graph, in stead of searching for a spanning path of minimumweight. However, from a practical perspective this inclusion is also advantageous, since we wish to start the printingschedule with no colours loaded in the printer and then wash up all cartridges upon completion of the printingschedule, thus enabling us to draw up a new printing schedule afresh for a next printing period.

Page 14: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

3 The subproblem of pallet sequencing 14

Pallet Selection (§2) Sequencing (§3)

Inst

ance

Full

Dim

ensi

ons

(|J|×|P|)

Red

uce

dD

imen

sions

(|J′|×

|P′ |)

#E

ss.P

allet

s,|P

e|

Low

erbnd

λ2

Low

erbnd

λ3

Low

erbnd

λ4

#Pallet

s,P

∗(J

)

#SC

PB

ranch

es

SC

PT

ime

(sec

)

#Soln

s,η(J

,P)

Sti

rlin

g

Tim

e(s

ec)

#E

mpties

,Ξ(P

)

Λ(P

)−

Ξ(P

)

#W

ash

es,W

∗(P

)

#T

SP

Bra

nch

es

TSP

Tim

e(s

ec)

61 15× 119 15× 62 0 4 5 5 6 173 0.06 1 955 52.41 10 20 20 394 0.1562 15× 150 15× 82 0 3 5 4 6 194 0.05 7 16.66 6 19 19 211 0.1163 15× 175 15× 99 0 3 5 5 5 197 0.06 72 16.91 7 17 17 191 0.1164 15× 110 15× 61 0 4 5 5 6 343 0.06 1 954 38.55 9 19 19 1128 0.1965 15× 147 15× 73 0 3 4 5 5 161 0.06 436 17.42 9 18 18 516 0.1166 15× 114 15× 66 0 4 5 5 6 132 0.08 341 23.08 8 21 21 475 0.1167 15× 134 15× 77 0 3 5 5 5 183 0.08 25 7.52 7 21 21 400 0.1668 15× 113 15× 65 0 4 5 5 6 145 0.07 533 39.08 9 21 21 370 0.1469 15× 151 15× 76 0 4 5 5 5 170 0.08 6 21.05 6 19 20 714 0.1370 15× 138 15× 69 0 3 5 4 5 156 0.06 58 31.33 7 19 19 215 0.0971 15× 128 15× 71 0 4 5 5 6 195 0.06 4 941 51.81 9 20 20 671 0.1672 15× 126 15× 67 0 4 5 5 6 157 0.12 3 721 69.66 10 22 22 355 0.1573 15× 83 15× 51 0 5 6 5 6 108 0.08 5 4.47 6 21 21 242 0.1174 15× 116 15× 60 0 4 5 5 5 15 0.08 1 7.06 6 20 20 279 0.0775 15× 117 15× 67 0 4 5 5 5 25 0.06 1 6.95 6 19 20 327 0.1276 15× 156 15× 89 0 3 5 5 5 179 0.06 42 9.77 8 18 18 380 0.1077 15× 105 15× 59 0 3 5 5 5 133 0.10 11 4.64 7 19 19 879 0.1478 15× 83 15× 44 0 5 5 5 5 26 0.04 1 4.52 6 18 18 271 0.0979 15× 154 15× 79 0 3 5 5 5 193 0.08 53 16.47 7 21 21 634 0.1280 15× 98 15× 58 0 4 6 5 6 128 0.06 89 25.19 8 21 21 314 0.1281 15× 138 15× 78 0 3 5 5 6 204 0.06 12 192 160.94 10 20 20 1911 0.2382 15× 152 15× 74 0 4 5 4 5 196 0.08 5 15.39 6 20 20 52 0.0683 15× 274 15× 143 0 3 4 4 5 282 0.09 6 550 101.73 9 17 17 233 0.0984 15× 116 15× 65 0 4 5 5 6 194 0.08 555 38.98 10 20 20 534 0.1385 15× 150 15× 80 0 4 5 5 5 164 0.07 1 9.00 6 21 21 265 0.1486 15× 124 15× 67 0 4 5 5 6 157 0.06 1 085 30.47 10 21 21 718 0.1687 15× 139 15× 75 0 3 4 5 5 175 0.06 202 10.75 8 18 18 256 0.0888 15× 94 15× 53 0 5 6 5 6 117 0.06 239 17.53 9 21 21 728 0.1589 15× 216 15× 108 0 2 4 4 4 37 0.07 1 3.92 6 17 17 128 0.1190 15× 151 15× 78 0 3 5 4 5 158 0.06 213 24.50 7 19 19 393 0.09

Table 2.4: Numerical results for a six-colour machine (n = 6).

where P0 = P ∪ ∅, where Z = [zik]i,k∈P is a matrix of decision variables whose (i, k)-th entry is

zik =

1 if pallet i is followed up by pallet k in the printing schedule0 otherwise

and where the artificial variables u1, . . . , u|P| together with the constraint sets (3.5) and (3.7) areincluded as usual to avoid the formation of subtours. The assignment constraint sets (3.3)–(3.4)ensure that every pallet is respectively the successor and the predecessor of some pallet in thehamiltonian cycle returned by the ATSP, which may be converted to an (optimal) hamiltonianpath by deleting the dummy pallet ∅ from the cycle. Denote the minimum value of W (Z) in (3.2)by W ∗(P).

If p1, . . . , p|P| are the pallet indices corresponding to 1-entries in an optimal decision variable vectorx for the SCP (2.2)–(2.4), and if s(i) ∈ p1, . . . , p|P| is the index of the pallet in the i-th positionwithin an optimal pallet sequence obtained from the decision variables Z for the ATSP (3.2)–(3.7)described above, then the job set J may be partitioned into P nonempty subsets J1, . . . , J|P| suchthat the jobs in Js(i) are covered by pallet s(i), for all i = 1, . . . , |P|. An optimal print schedule ofthe jobs in J is shown in Table 3.1.

Any instance of the ATSP (3.2)–(3.7) may be transformed to a larger instance of the symmetricTSP — “. . . this symmetric TSP has a very special structure and is defined on an undirected graph

Page 15: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

3 The subproblem of pallet sequencing 15

with twice as many nodes as the digraph of the ATSP, and so this transformation is not without aprice” [9, p. 118]. According to Gutin and Punnen [9, p. 29], “. . . progress in the solution techniquesfor the [symmetric] TSP is such that it is common to transform an ATSP into a symmetric oneto solve it to optimality” (see also [4, pp. 225–230]). Instead of incurring a two-fold increase inthe number of TSP decision variables by transforming the ATSP to a symmetric TSP in the usualway referred to above, we show that it is possible to achieve such a transformation in our casewithout any increase in the number of decision variables, by altering the TSP distance measure(that is, by changing the entries of the weight matrix A). Define the symmetric |P0| × |P0| matrixA = [aik]i,k∈P0 whose (i, k)-th entry,

aik = n− |i ∩ k|, (3.8)

is an alternative measure for the total number of colour cartridges that have to be washed whenfollowing up pallet i ∈ P by pallet k ∈ P in a printing schedule. Note that aik = aki for all i, k ∈ P.Consider the symmetric TSP in which the objective is to

minimize W (Z) =∑i∈P0

∑k∈P0

aikzik (3.9)

subject to the constraints (3.3)–(3.7). Denote the minimum value of W (Z) in (3.9) by W∗(P0)

and denote, for any pallet set Π = p1, . . . , pΩ, the total number of empty cartridges associatedwith the pallet set by Ξ(Π), that is Ξ(Π) =

∑pi∈Π(n− |pi|).

Theorem 4 Any optimal solution to (3.2)–(3.7) is also an optimal solution to (3.3)–(3.9). More-over, W ∗(P0) = W

∗(P0)− Ξ(P0).

Proof: Let Z be a matrix of decision variables which minimizes W (Z) in (3.2) subject to theconstraints (3.3)–(3.7). Then aik − aik = (n− |i ∩ k|)− (|i| − |i ∩ k|) = n− |i| and hence

W ∗(P0) =∑i∈P0

∑k∈P0

aikzik =∑i∈P0

∑k∈P0

(aik−(n−|i|))zik =∑i∈P0

∑k∈P0

aikzik−Ξ(P0) = W∗(P0)−Ξ(P0),

since Ξ(P) is constant with respect to Z, and so Z also minimizes W (Z) in (3.9) subject to theconstraints (3.3)–(3.7).

The result of Theorem 4 is computationally significant in view of the well-documented fact that itis typically considerably harder to solve the more general ATSP than to solve a (symmetric) TSPof the same dimensions.

3.2 A lower bound on the smallest number of washes

The standard TSP approach described in the previous section has the special property that thedistances between pallets (edge weights in the sequencing graph) may only assume one of a small

Palletsequence Job sequence per pallet

s(1) Jobs in Js(1) in any orders(2) Jobs in Js(2) in any order

......

s(|P|) Jobs in Js(|P|) in any order

Table 3.1: An optimal printing schedule.

Page 16: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

3 The subproblem of pallet sequencing 16

number of possible values, namely a value in the set 1, . . . , n. This fact may be exploited toestablish good lower bounds on the optimal objective function value in (3.9).

Denote the (complete, weighted) sequencing graph for which the TSP in (3.3)–(3.9) has to besolved by G = (V, E), where V = P as determined by solving the SCP (2.2)–(2.4), and in whichthe edge joining pallets i and k has as weight the symmetric distance measure aik in (3.8). LetG` = (V, E`) be the (possibly disconnected) spanning subgraph of G for which all edges in E`

have weight ` ∈ 1, . . . , n. Then G1 ⊕ G2 ⊕ · · · ⊕ Gn is a factorization of the graph G, wherethe operation ‘⊕’ denotes the edge union. A lower bound on W ′(Z) in (3.9) may be found byutilization of the following two properties of a hamiltonian cycle in G:

• Every vertex v of G is incident with exactly two edges in any hamiltonian cycle of G. Hence,if v is incident with more than two edges of low weight, then some of the edges of low weightnecessarily do not form part of a solution to (3.3)–(3.9).

• Every vertex v of G is visited in a solution to the above-mentioned TSP. Therefore, if vis incident with edges of high weight only, some of these edges are forced to occur in anysolution to (3.3)–(3.9).

Algorithm 4 keeps a sorted list Emin of possible edges which may be included in a hamiltoniancycle of the sequencing graph G. The first property above is used to disregard edges of low weightby considering increasingly higher weights during each iteration of the algorithm. During eachiteration of the while-loop spanning Steps 3–7 the function EdgeReduceNumber determines r, thetotal number of edges of the subgraph H = Gwmin ⊕ . . . ⊕ Gwmax that may be disregarded withrespect to inclusion in Emin by utilisation of this first property. Note that r is a cumulative value,since during each iteration of the while-loop a supergraph of the graph in the previous iteration isconsidered. Therefore, r′ denotes the number of edges disregarded during the previous iterationof the algorithm. A total of r − r′ edges of weight wmax are thus deleted during each iteration(by means of the function Remove in Step 5). The function EdgeReduceNumber repeatedly findsa vertex u of minimum degree in H, adds deg(u) − 2 to r and deletes u from H until no vertexof degree at least 2 can be found in H. The while-loop is repeated until wmax exceeds the |P|-thelement in Emin, since any elements after the |P|-th element of the list will not increase the lowerbound (only the first |P| elements are possibly used in the computation of the lower bound in Step16 of the algorithm).

The second half of Algorithm 4 uses the second property listed above to determine how manyedges of high weight are necessarily in any hamiltonian cycle of the sequencing graph G. Theseedges are kept in a sorted list Emax. The for-loop spanning Steps 9–15 starts by considering thehighest possible edge weight n, and includes edges of lower weights during subsequent iterations.Only the lowest and second lowest edge weight amongst the weights of all edges incident with eachvertex p ∈ P are considered, and are given by min1(p) and min2(p) respectively. The value of din Step 10 is essentially the sum of the degrees of edges of weight at least j (but corresponding tothe values min1(p) or min2(p)), and the value of v in Step 11 denotes the number of vertices thatare incident to at least one of the edges concerned. Since each edge contributes a value of 2 to thesum of the degrees, the number of edges, c, is given by dd/2e. Hence c = dd/2e − |Emax| edges ofweight j are added to the list Emax (by means of the function Append in Step 14) during iterationj of the for-loop. As with r, the value of c is also cumulative. Hence the subtraction of |Emax| (thenumber of edges appended during previous iterations) from dd/2e in Step 12. The value of c inStep 13 is incremented (by one) if the number of edges are double the number of vertices, but notall vertices are used since subtours of order less than |P| are avoided. The function Total(F, f) inStep 16 returns the sum of the first f ∈ N elements of a list F of integers. The lower bound Λ(P)is calculated in Step 16 by adding the sum of the first |P| − |Emax| entries in Emin to the sum ofall entries in Emax.

The working of Algorithm 4 is illustrated by means of a numerical example.

Page 17: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

3 The subproblem of pallet sequencing 17

Algorithm 4 Sequencing Lower Bound, Λ(P)Input: The printing machine size n and a (complete, weighted) sequencing graph G = (P, E)

with vertex set P, edge set E, weight matrix A = [aik]i,k∈P , as defined in (3.8), where the edgesin E are labelled e1, . . . , e(|P|

2 ) in order of non-decreasing weights w(e1), . . . , w(e(|P|2 )).

Output: A lower bound on the weight of any hamiltonian cycle in G (i.e. on W∗(P0) in (3.9)).

1: W ← ∪kw(ek), i← 1, r′ ← 0, wmin ← wi, wmax ← wi in non-decreasing order2: Let Emin be a list of edge weights in the same order in which the edges are labelled in E3: while wmax ≤ w(e|P|) do4: r ← EdgeReduceNumber(Gwmin ⊕ · · · ⊕Gwmax)5: Emin ← Remove(Emin, r − r′)6: r′ ← r, i← i + 1, wmax ← wi

7: end while8: Let Emax be the empty list9: for j = n downto w(e|P|) do

10: d← |p ∈ P : j ≤ min1(p) ≤ n|+ |p ∈ P : j ≤ min2(p) ≤ n|11: v ← |p ∈ P : j ≤ min1(p) ≤ n or j ≤ min2(p) ≤ n|12: c← dd/2e − |Emax|13: if 2v = d < 2n− |Emax| then c← c + 114: Emax ← Append(Emax, c copies of j)15: end for16: return Λ(P) = Total(Emin, |P| − |Emax|) + Total(Emax, |Emax|)

Example 6 Consider, as an example, problem instance 29 in Table 2.2 for which n = 4 and forwhich the underlying job set is shown in the second last line of Table 2.1. Upon solution of theSCP (2.2)–(2.4), the pallet set P = 8bc, 129e, 137c, 18ac, 19bd, 35a, 467c, 57bd, 8ade of cardinality9 is obtained for this instance. Upon inclusion of the dummy pallet ∅, the weight matrix in Figure3.1(a) is uncovered for the sequencing graph G of order 10 for which the (symmetric) TSP (3.3)–(3.9) has to be solved. The subgraphs G2, G3 and G4 in the factorisation G = G1 ⊕G2 ⊕G3 ⊕G4

are shown in Figures 3.1(b)–(d) respectively. (The graph G1 is empty.) This yields the edge weightlist

Emin = (2 2 2 2 2 2︸ ︷︷ ︸6 copies

3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3︸ ︷︷ ︸19 copies

4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4︸ ︷︷ ︸20 copies

)

and the set of edge weights attained W = 2, 3, 4 during initialization of Algorithm 4, when i = 1,wmin = wmax = 2 and r′ = 0. The function EdgeReduceNumber(G2) returns the value r = 1during the first iteration of the while-loop spanning Steps 3–7 (since G2 has one vertex of degree3). Therefore r − r′ = 1− 0 = 1 copy of the weight wmax = 2 is removed from Emin and hence

Emin = (2 2 2 2 2︸ ︷︷ ︸5 copies

3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3︸ ︷︷ ︸19 copies

4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4︸ ︷︷ ︸20 copies

),

r′ = 1 and and wmax = 3 at the end of the first iteration of the while-loop. During the seconditeration of the while loop, the function EdgeReduceNumber(G2 ⊕ G3) returns the value r = 5 +4 + 3 + 2 = 14 (since the vertices 137c, 18ac, 57bd and 8ade have degrees 7, 6, 5 and 4 in G2⊕G3

respectively). Therefore r − r′ = 14− 1 = 13 copies of the weight wmax = 3 is removed from Emin

and henceEmin = (2 2 2 2 2︸ ︷︷ ︸

5 copies

3 3 3 3 3 3︸ ︷︷ ︸6 copies

4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4︸ ︷︷ ︸20 copies

),

r′ = 1 and wmax = 4 at the end of the second iteration of the while-loop. The while-loop terminates,because 4 = wmax > e10 = 3. Thereafter the Emax is initialized as the empty list in Step 8, afterwhich the for-loop spanning Steps 9–15 is initialized with j = 4. Values of d = 2 and v = 1 arereturned in Steps 10 and 11 during the first iteration of the for-loop, and so c = d 22e − 0 = 1. The

Page 18: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

3 The subproblem of pallet sequencing 18

∅ 8bc

129e

137c

18ac

19bd

35a

467c

57bd

8ade

∅ 4 4 4 4 4 4 4 4 4 4

8bc 4 1 4 3 2 3 4 3 3 3

129e 4 4 0 3 3 2 4 4 4 3

137c 4 3 3 0 2 3 3 2 3 4

18ac 4 2 3 2 0 3 3 3 4 2

19bd 4 3 2 3 3 0 4 4 2 3

35a 4 4 4 3 3 4 1 4 3 3

467c 4 3 4 2 3 4 4 0 3 4

57bd 4 3 4 3 4 2 3 3 0 3

8ade 4 3 3 4 2 3 3 4 3 0

(a) Weight matrix of G = G2 ⊕G3 ⊕G4

8bc

129e137c

18ac

19bd

35a

467c 57bd

8ade

(b) G2

8bc

129e137c

18ac

19bd

35a

467c 57bd

8ade

(c) G3

8bc

129e137c

18ac

19bd

35a

467c 57bd

8ade

(d) G4

Figure 3.1: (Symmetric) weight matrix A = [aik]i,k∈P with aik as defined in (3.8) for the sequencinggraph G in Example 6, together with the graphs G2, G3 and G4 in the factorisation G = G2 ⊕G3 ⊕ G4. (The graph G1 is empty.) Note that the diagonal entries of the weight matrix in (a)should technically be ∞, since the sequencing graph is simple (does not have loops); however, itis useful to include aii in the i-th diagonal position, since then

∑|P|i=1 aii = Ξ(P) (the number of

empties associated with the pallet set P). A hamiltonian cycle of minimum weight is shown bymeans of bold faced edges.

condition of the if-statement in Step 13 evaluates to true, so that the value of c incremented byone. Therefore two copies of the weight 4 are appended to the list Emax to yield Emax = (4 4).During the next iteration of the for-loop (j = 3) values of d = 2 + 1 + 1 + 2 + 1 + 1 + 1 = 9 andv = 7 (vertices ∅, 8bc, 129e, 35a, 467c, 57bd and 8ade) are returned in Steps 10 and 11, and soc = d 92e− 2 = 3. This time the condition of the if-statement in Step 13 evaluates to false, so thatthe value of c remains unchanged. Therefore three copies of the weight 3 are appended to the listEmax to yield Emax = (4 4 3 3 3). At this point the for-loop terminates, because j = e10 = 3.

Algorithm 4 therefore yields the lower bound W∗(P0) ≥ Λ(P) = Total(Emin, 10−5)+Total(Emax, 5)

= (2 + 2 + 2 + 2 + 2) + (4 + 4 + 3 + 3 + 3) = 27. This lower bound is sharp, since the hamiltoniancycle ∅, 8bc, 18ac, 137c, 467c, 57bd, 19bd, 129e, 8ade, 35a, ∅ of weight 27, indicated by means of boldfaced edges in Figure 3.1(b)–(c), achieves this lower bound. In this case Ξ = 6 — there are twopallets (8bc and 35a) of length 3 (hence two empty cartridges), together with the empty pallet (fourempty cartridges). Therefore a lower bound on the real number of washes for instance 29 in Table2.2 is W ∗(P0) = W

∗(P0) − Ξ(P0) ≥ Λ(P) − Ξ(P0) = 27 − 6 = 21, and this bound is attained by

Page 19: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

4 Two exact solution approaches 19

the pallet sequence corresponding to the hamiltonian cycle mentioned above.

3.3 Numerical results

Solutions to the sequencing problem (3.3)–(3.9) may be found in Tables 2.2–2.4 for the same ninetybenchmark problem instances as considered in §2 for the SCP. The numbers of empties featured inTheorem 4 are listed in the columns labelled ‘# Empties, Ξ(P0)’. The (adjusted) lower bounds onW ∗(P0) in (3.2) found by means of Algorithm 4 appear in the columns labelled ‘Λ(P0)− Ξ(P0)’,while exact values of W ∗(P0) appear in the columns labelled ‘# Washes, W ∗(P0)’. The numbersof branches traversed during the branch-and-bound solution of (3.3)–(3.9) are listed in the columnslabelled ‘# TSP Branches’, whilst the corresponding solution times (in seconds, and using the samesoftware and processor as mentioned before) appear in the columns labelled ‘TSP Time (sec)’. Itis interesting how often the bound Λ(P0) − Ξ(P0) is sharp (in only 12 out of the 90 instances inTables 2.2–2.4 this bound is not sharp, and in each of these rare cases the bound is out by exactlyone).

4 Two exact solution approaches

The solution approach described in the sections above, namely first solving the pallet selectionsubproblem (so as to minimize the total setup time) and then solving the subproblem of sequencingthis pallet selection (so as to minimize the total wash time) is not necessarily an optimal approach.This is because an increase in the number of pallets selected may be beneficial (i.e. subsidised bya smaller associated total wash time) if the setup time incurred by a single pallet change is smallin comparison with the wash time typically incurred by such a pallet change. This problem ofsuboptimality may be overcome by solving the pallet selection and pallet sequencing subproblemssimultaneously instead of sequentially, which is our approach in this section.

4.1 Mathematical programming approach

An obstacle arises when attempting to solve the pallet selection and sequencing subproblems si-multaneously, namely that the pallet selection that has to be sequenced optimally during solutionof the pallet sequencing subproblem is unknown when that subproblem has to be solved. This ob-stacle may be circumvented by solving a two travelling salesmen problem (2-TSP)4, again defininga dummy pallet ∅ as depot during the pallet sequencing subproblem. The approach is to allow theformation of exactly two subtours in the TSP solution, where one subtour (the route followed byone of the travelling salesmen) yields a sequencing for the selected pallets (i.e. those pallets usedto perform the print jobs) and where the other subtour (the route followed by the other travellingsalesman) yields a hypothetical sequencing for the remaining or unselected pallets (which do notcontribute to the objective function value). Let A denote the constant setup time required foreach pallet, and let a denote the constant time required to wash a single ink cartridge. Then theobjective is to simultaneously select and sequence pallets so as to minimize the total down time D

4The problem of finding optimal tours for two travelling salesmen starting out from a single depot and minimizingthe combined tour weights for the salesmen, ensuring that every city is visited exactly once by one of the salesmen[5, §2.4.2].

Page 20: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

4 Two exact solution approaches 20

of the printer (i.e. the total setup time and total wash time combined), that is to

minimize D(x,Z) = A

S(x)︷ ︸︸ ︷∑p∈P

xp︸ ︷︷ ︸setup time

+ a

T (x,Z)︷ ︸︸ ︷∑i∈P

∑k∈P

aikzik︸ ︷︷ ︸W ′(Z)

Ξ′(x)︷ ︸︸ ︷∑p∈P

xp(n− app)

︸ ︷︷ ︸

wash time

(4.1)

subject to ∑p∈P

bjpxp ≥ 1, j ∈ J (4.2)

∑i∈P

yik = 1, k ∈ P (4.3)∑k∈P

yik = 1, i ∈ P (4.4)

ui − uk + |P0|yik ≤ |P|, i, k ∈ P, i 6= k (4.5)∑i∈P0

yi0 =∑k∈P0

y0k = 2, (4.6)

1− xi + xk ≥ yik, i, k ∈ P (4.7)1 + xi − xk ≥ yik, i, k ∈ P (4.8)

yik + xk ≥ 2zik, i, k ∈ P (4.9)∑i∈P0

zik ≥ xk, k ∈ P (4.10)

∑k∈P0

z0k ≤ 1, (4.11)

xp, yik, zik ∈ 0, 1, p ∈ P, i, k ∈ P0, (4.12)uk ≥ 0, k ∈ P. (4.13)

In this formulation the parameters aik and bjp as well as the variables x = [x1, . . . , x|P|] andu1, . . . , u|P| all have the same interpretations as before, and P0 = P∪ ∅ (note that the full palletset P0 is used in the formulation, instead of a reduced pallet selection set P0 as was previouslyused). However, now the (i, k)-th entry of the matrix of decision variables Z is

zik =

1 if pallet i is followed by pallet k in the selected pallets TSP subtour0 otherwise.

Additionally, the (i, k)-th entry of the matrix of decision variables Y = [yik]i,k∈P is

yik =

1 if pallet i is followed by pallet k in any one of the TSP subtours0 otherwise,

so that the unselected pallets subtour may be deduced from those indices for which the correspond-ing Y and Z decision variable values differ. The quantities S(x), T (x,Z), W ′(Z) and Ξ′(x) in theobjective function (4.1) denote respectively the number of pallets selected, the total number of inkcartridges that have to be washed, the length of the hamiltonian cycle associated with the selectedpallets, and the number of empty cartridges. The set covering constraint set (4.2) derives fromthe SCP (compare with (2.3)), while constraint sets (4.3)–(4.5) are the standard TSP constraints(compare with (3.3)–(3.5) respectively), but are now enforced with respect to the decision variables

Page 21: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

4 Two exact solution approaches 21

Y , because these constraints must be satisfied by both TSP subtours. The constraints in (4.6)ensure that there are exactly two TSP subtours, each starting from and returning to the dummypallet ∅. The constraint sets (4.7)–(4.8) ensure that if the values of xi and xk differ for somei, k ∈ P (i.e. |xi − xk| = 1, so that exactly one of pallets i and k are selected), then yik = 0 — thisis necessary in order to separate the TSP subtours into one exclusively amongst selected palletsand one exclusively amongst unselected pallets. Constraint set (4.9) disallows the value zik = 1,unless yik = 1 (i.e. pallet i is followed up by pallet k in one of the TSP subtours) and xk = 1 (i.e.pallet k occurs in the selected pallet subtour), so that the decision variables Z capture specificallythe selected pallet subtour. Finally, constraint set (4.10) ensures that each selected pallet occurs inthe selected pallet subtour, whilst constraint (4.11) ensures that the dummy pallet occurs at mostonce in the selected pallet subtour. Hamiltonian paths of minimum weight through respectivelythe selected and unselected pallets may be obtained by deleting the dummy pallet from both TSPsubtours.

a = 1, A = 10 a = 100, A = 10

Inst

ance

#Pallet

s,S(x

)

Ham

ilto

nia

ncy

cle

wei

ght,

W′ (

Z)

#E

mpties

,Ξ′ (

x)

Rea

l#

wash

es,T

(x,Z

)

2-T

SP

Objfu

nct

ion

valu

e,D

(x,Z

)

Heu

rist

icupper

bound,A

P∗

+aW

2-T

SP

Tim

e(s

ec)

#Pallet

s,S(x

)

Ham

ilto

nia

ncy

cle

wei

ght,

W′ (

Z)

#E

mpties

,Ξ′ (

x)

Rea

l#

wash

es,T

(x,Z

)

2-T

SP

Objfu

nct

ion

valu

e,D

(x,Z

)

Heu

rist

icupper

bound,A

P∗

+aW

2-T

SP

Tim

e(s

ec)

1 12 31 7 24 144 145 528 – – – – – 2 620 3 6002 10 28 5 23 123 123 613 – – – – – 2 400 3 6003 11 28 6 22 132 133 1 117 – – – – – 2 410 3 6004 12 30 6 24 144 144 185 12 30 6 24 2 520 2 520 3 6005 14 35 6 29 169 132 3 600 – – – – – 2 310 3 6006 12 30 6 24 144 145 2 400 13 30 5 25 2 630 2 620 3 6007 10 29 6 23 123 123 232 – – – – – 2 400 3 6008 12 28 5 23 143 145 551 – – – – – 2 620 3 6009 19 51 10 41 231 135 3 600 – – – – – 2 610 3 600

10 12 29 7 22 142 123 3 600 – – – – – 2 400 3 60011 11 29 5 24 134 134 302 – – – – – 2 510 3 60012 12 31 7 24 144 144 1 512 – – – – – 2 520 3 60013 14 34 7 27 167 168 35 14 33 6 27 2 840 2 940 65914 11 26 4 22 132 133 1 144 – – – – – 2 410 3 60015 12 28 6 22 142 145 1 710 – – – – – 2 620 3 60016 11 28 5 23 133 133 749 – – – – – 2 410 3 60017 12 31 8 23 143 144 113 14 35 10 25 2 640 2 520 3 60018 13 30 7 23 153 154 658 13 30 7 23 2 430 2 530 2 32819 10 26 4 22 122 122 431 – – – – – 2 300 3 60020 13 34 8 26 156 156 29 13 34 8 26 2 730 2 730 3 20621 13 32 6 26 156 147 3 600 – – – – – 2 820 3 60022 13 37 4 33 163 133 3 600 – – – – – 2 410 3 60023 – – – – – 111 3 600 – – – – – 2 190 3 60024 11 30 4 26 136 136 2 660 – – – – – 2 710 3 60025 12 32 7 25 145 134 3 600 – – – – – 2 510 3 60026 13 34 7 27 157 146 3 600 – – – – – 2 720 3 60027 11 25 5 20 130 131 3 570 – – – – – 2 210 3 60028 13 30 6 24 154 154 128 13 29 5 24 2 530 2 530 2 18729 – – – – – 111 3 600 – – – – – 2 190 3 60030 11 33 6 27 137 122 3 600 19 34 6 28 2 990 2 300 3 60043 13 38 11 27 157 135 3 600 – – – – – 2 610 3 60046 8 29 5 24 306 91 3 600 – – – – – 2 170 3 60048 – – – – – 102 3 600 14 145 18 127 13 851 2 280 3 60058 13 39 10 29 159 116 3 600 – – – – – 2 690 3 600

Table 4.1: Numerical results for the 2-TSP (4.1)–(4.13).

The numerical results obtained when solving the 2-TSP (4.1)–(4.13) for the benchmark problem

Page 22: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

4 Two exact solution approaches 22

instances are shown in Table 4.1. The five quantities S(x), W ′(Z), Ξ′(x), T (x,Z) and D(x,Z)in the objective function (4.1) are shown in the columns labelled ‘# Pallets, S(x)’, ‘Hamiltoniancycle weight, W ′(Z)’, ‘# Empties, Ξ′(x)’, ‘Real # washes, T (x,Z)’ and ‘2-TSP Obj function value,D(x,Z)’ respectively for two ratios of the wash time a to the setup time A, namely a : A = 1 : 10and a : A = 10 : 1. A time-out limit of 1 hour was set within which each benchmark instance of(4.1)–(4.13) had to be solved. Cases where this time-out was reached are indicated by underliningthe best (non-optimal) values of D(x,Z) uncovered up to that point. Values of D(x,Z) obtainedby means of the heuristic approach of §2–3 (i.e. first solving an instance of the SCP and then solvingan instance of the TSP for the pallet list uncovered by the SCP) are shown in the column labelled‘Heuristic upper bound, AP ∗ + aW ∗’, and cases where these heuristic results are suboptimal areindicated by typesetting the corresponding optimal value of D(x,Z) in bold face. Finally thetimes required to solve the instances of the 2-TSP (4.1)–(4.13) are shown in the columns labelled‘2-TSP Time (sec)’. Rows in which dashes (‘–’) appear indicate that no feasible solution could beobtained within the 1-hour time-out limit. Furthermore, no feasible solutions could be obtainedwithin this time-out limit for instances not featured in the table.

It is clear from Table 4.1 that the heuristic approach of §2–3 (i.e. first solving the pallet selectionsubproblem and then solving the subproblem of sequencing this pallet selection) yields very goodresults (as may be witnessed by the relatively few bold faced entries in the column of D(x,Z)values). The exact 2-TSP approach described above is computationally expensive, as may be seenby the large number of 1-hour time-out limits reached in Table 4.1. Note that the model (4.1)–(4.13) seems to be much harder to solve when a A than when a A as may be seen by thecomparatively large number of instances on the right-hand side of Table 4.1 for which no feasiblesolutions could be found within the 1-hour time limit. This is to be expected, because if a A,then it is more important to minimize the number of cartridges that have to be washed than tominimize the number of pallets used (the solution space is larger if a A since the minimumnumber of washes does not necessarily coincide with the smallest number of pallets used).

4.2 An exhaustive enumeration approach

In view of the long solution times that result from the method described in the previous section,it is worth exploring the possibility of an alternative (exact) approach. One rather naive approachwhich produces surprisingly good results is:

(1) Using Algorithm 3 to construct a list of all possible merges of jobs in J into maximally mergedpallet lists containing the minimum number of pallets P ∗(J), as determined by solving theSCP (2.2)–(2.4).

(2) Solving, for each maximally merged pallet list in (1) above, the resulting TSP, so as todetermine the smallest number of washes associated with the particular pallet list.

(3) Finding, over all TSPs solved in (2) above, the minimum number of washes obtainable (formaximally merged pallet lists of cardinality P ∗(J)).

(4) To repeat the steps above for pallet lists of cardinalities P (x(J)) + 1, P (x(J)) + 2, etc. inorder to find the overall smallest possible number of washes associated with any maximallymerged pallet list for J.

This solution approach is expected to yield results fast if the number of calls to Algorithm 3,i.e.

(J−1P−1

), is not excessive. We show next that it is without loss of generality to consider only

maximally merged pallets in this approach.

Theorem 5 Let Π = p0, p1, p2, p3, . . . , pΩ be a pallet set, and suppose p1 and p2 are mergable,with p1 ∪ p2 = p. Furthermore, let Π = p0, p, p3, . . . , pΩ. If Z(Π) and Z(Π) are matrices

Page 23: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

4 Two exact solution approaches 23

of decision variables associated with Π and Π respectively, corresponding to optimal solutions to(3.3)–(3.9), then W (Z(Π)) ≤W (Z(Π)).

Proof: We show, by considering two mutually exclusive cases, that for any hamiltonian cycle Hin the sequencing graph associated with Π it is possible to construct a hamiltonian cycle H of atmost the same weight in the sequencing graph associated with Π.

Case 1: p1 and p2 are consecutive in H. It follows by Theorem 4 that we may use the asymmetricmeasure aik in (3.1) instead of the symmetric measure aik in (3.8). Suppose H = · · · p0p1p2p3 · · ·and replace p1p2 in H with p to form the alternative cycle H. Using (3.1), we have to verify that|p0|− |p0∩p1|+ |p1|− |p1∩p2|+ |p2|− |p2∩p3| ≥ |p0|− |p0∩p|+ |p|− |p∩p3|. It is easy to see that|p0| − |p0 ∩ p1| ≥ |p0| − |p0 ∩ p| and |p1| − |p1 ∩ p2|+ |p2| − |p2 ∩ p3| = |p| − |p2 ∩ p3| ≥ |p| − |p∩ p3|,from which the desired result follows.

Case 2: p1 and p2 are not consecutive in H. Suppose H = · · · p0p1p3 · · · p4p2p5 · · · and let H =· · · p0pp3 · · · p4p5 · · ·. Using the symmetric measure in (3.8) we have to verify that ap0p1 + ap1p3 +ap0p2 + ap2p3 − ap0p − app3 − ap4p5 + Ξ(Π) − Ξ(Π) ≥ 0. It is easy to show that ap0p1 − ap0p ≥ 0,ap4p2 + ap2p5 − ap4p5 ≥ 0 (the triangle inequality), ap1p3 − app3 ≥ 0 and Ξ(Π) − Ξ(Π) ≥ 0, fromwhich the desired result follows.

a = 1, A = 10 a = 100, A = 10

Inst

ance

#Pallet

s,P

∗ (J)

#ofT

SP

sfo

r

P∗ (

J)pallet

s

#ofT

SP

sfo

r

P∗ (

J)+

1pallet

s

#ofT

SP

sfo

r

P∗ (

J)+

2pallet

s

Sti

rlin

gtim

e(s

ec)

Min

#ofw

ash

es

for

P∗ (

J)pallet

s

Min

#ofw

ash

es

for

P∗ (

J)+

1pallet

s

Min

#ofw

ash

es

for

P∗ (

J)+

2pallet

s

Com

bin

edT

SP

solu

tion

tim

e(s

ec)

Sch

eduling

tim

efo

r

P∗ (

J)pallet

s

Sch

eduling

tim

efo

r

P∗ (

J)+

1pallet

s

Sch

eduling

tim

efo

r

P∗ (

J)+

2pallet

s

Sch

eduling

tim

efo

r

P∗ (

J)pallet

s

Sch

eduling

tim

efo

r

P∗ (

J)+

1pallet

s

Sch

eduling

tim

efo

r

P∗ (

J)+

2pallet

s

1 12 3 7 0 2.56 24 25 – 61.15 144 155 – 2 520 2 630 –2 10 1 16 19 4.88 23 23 23 89.28 123 133 143 2 400 2 410 2 4203 11 3 23 5 2.66 22 22 22 90.55 132 142 152 2 310 2 320 2 3304 12 7 0 0 0.69 24 – – 9.10 144 – – 2 520 – –5 11 21 34 0 4.28 22 22 – 134.29 132 142 – 2 310 2 320 –6 12 9 0 0 0.73 24 – – 33.91 144 – – 2 520 – –7 10 1 4 0 1.83 23 23 – 6.86 123 133 – 2 400 2 410 –8 12 6 7 0 0.91 24 25 – 49.02 144 155 – 2 520 2 630 –9 11 10 34 0 6.13 23 24 – 96.64 133 144 – 2 410 2 520 –

10 10 12 62 7 10.58 21 22 22 185.94 121 132 142 2 200 2 310 2 32011 11 1 11 2 2.33 24 24 25 30.50 134 144 155 2 510 2 520 2 63012 12 8 8 0 1.09 24 25 – 49.07 144 155 – 2 520 2 630 –13 14 2 0 0 0.14 27 – – 12.26 167 – – 2 840 – –14 11 4 5 0 1.56 22 24 – 22.45 132 144 – 2 310 2 520 –15 12 8 2 0 0.84 22 23 – 47.46 142 153 – 2 320 2 430 –16 11 1 14 4 3.48 23 23 25 74.05 133 143 155 2 410 2 420 2 63017 12 2 1 0 0.86 23 24 – 8.57 143 154 – 2 420 2 530 –18 13 4 0 0 0.36 23 – – 13.70 153 – – 2 430 – –19 10 1 33 37 8.42 22 21 23 142.32 122 131 143 2 300 2 210 2 42020 13 1 2 0 0.20 26 27 – 12.53 156 167 – 2 730 2 840 –21 12 18 11 0 1.45 25 27 – 121.91 145 157 – 2 620 2 830 –22 11 33 47 0 5.78 23 23 – 262.05 133 143 – 2 410 2 420 –23 9 4 639 417 73.61 21 20 22 2 026.65 111 120 132 2 190 2 100 2 31024 11 2 27 1 2.77 26 26 27 122.26 136 146 157 2 710 2 720 2 83025 11 8 16 2 2.58 23 24 26 64.43 133 144 156 2 410 2 520 2 73026 12 10 8 0 1.05 26 26 – 75.58 146 156 – 2 720 2 730 –27 11 9 0 0 1.70 20 – – 17.89 130 – – 2 110 – –28 13 5 0 0 0.25 24 – – 11.60 154 – – 2 530 – –29 9 6 229 269 34.22 20 20 21 831.99 110 120 131 2 090 2 100 2 21030 10 8 63 4 7.48 21 21 24 124.12 121 131 144 2 200 2 210 2 520

Table 4.2: Numerical results via the exhaustive approach in §4.2 for a 4-colour machine.

Page 24: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

4 Two exact solution approaches 24

a=

1,

A=

10

a=

100,

A=

10

Instance

#Pallets,P∗(J)

#ofTSPsfor

P∗(J)pallets

#ofTSPsfor

P∗(J)+1pallets

#ofTSPsfor

P∗(J)+2pallets

#ofTSPsfor

P∗(J)+3pallets

#ofTSPsfor

P∗(J)+4pallets

Stirlingtime(sec)

Min#ofwashes

forP∗(J)pallets

Min#ofwashes

forP∗(J)+1pallets

Min#ofwashes

forP∗(J)+2pallets

Min#ofwashes

forP∗(J)+3pallets

Min#ofwashes

forP∗(J)+4pallets

CombinedTSPsolutiontime(sec)

Schedulingtimefor

P∗(J)pallets

Schedulingtimefor

P∗(J)+1pallets

Schedulingtimefor

P∗(J)+2pallets

Schedulingtimefor

P∗(J)+3pallets

Schedulingtimefor

P∗(J)+4pallets

Schedulingtimefor

P∗(J)pallets

Schedulingtimefor

P∗(J)+1pallets

Schedulingtimefor

P∗(J)+2pallets

Schedulingtimefor

P∗(J)+3pallets

Schedulingtimefor

P∗(J)+4pallets

31

71

265

1482

731

17

224.3

622

21

20

21

24

945.4

492

101

110

121

134

2270

2180

2090

2200

2510

32

710

1404

6336

1189

0414.1

620

19

20

21

–2466.2

390

99

110

121

–2070

1980

2090

2200

–33

7311

8005

9277

317

0542.5

218

18

19

20

–5827.5

688

98

109

120

–1

870

1880

1990

2100

–34

84

218

676

181

062.8

621

22

22

23

–535.4

6101

112

122

133

–2

180

2290

2300

2410

–35

7624

5777

4335

359

0380.4

818

18

18

20

–3041.3

288

98

108

120

–1

870

1880

1890

2100

–36

980

387

147

00

28.2

523

23

23

––

309.2

8113

123

133

––

2390

2400

2410

––

37

735

1652

3089

268

0151.7

320

19

19

21

–1597.6

190

99

109

121

–2070

1980

1990

2200

–38

715

252

637

189

165.1

921

21

21

23

26

321.4

091

101

111

123

136

2170

2180

2190

2400

2710

39

71

1481

13086

5909

99

591.6

122

20

20

21

23

7569.4

192

100

110

121

133

2270

2080

2090

2200

2410

40

7192

4040

7687

1379

0445.9

720

19

20

20

–3914.4

690

99

110

120

–2070

1980

2090

2100

–41

86

617

1422

165

091.0

322

21

22

23

–1141.9

0102

111

122

133

–2280

2190

2300

2410

–42

74

617

3669

1586

27

206.8

322

21

21

22

23

2233.7

992

101

111

122

133

2270

2180

2190

2300

2410

43

11

60

35

20

03.6

924

25

28

––

151.7

8134

145

158

––

2510

2620

2930

––

44

850

1197

1149

49

0103.9

221

21

21

23

–916.4

3101

111

121

133

–2

180

2190

2200

2410

–45

836

448

809

83

067.9

520

20

21

22

–587.6

2100

110

121

132

–2

080

2090

2200

2310

–46

72

702

6228

4242

108

311.8

421

19

19

21

23

4826.4

591

99

109

121

133

2170

1980

1990

2200

2410

47

720

342

788

157

068.8

320

19

19

20

–375.5

490

99

109

120

–2070

1980

1990

2100

–48

82

128

189

17

025.5

822

20

21

23

–122.9

4102

110

121

133

–2280

2090

2200

2410

–49

7115

4086

8833

1267

0448.5

019

19

19

20

–3190.7

789

99

109

120

–1

970

1980

1990

2100

–50

83

184

362

30

040.6

623

22

23

24

–159.9

3103

112

123

134

–2380

2290

2400

2510

–51

8291

4037

1967

12

0252.3

921

20

21

24

–2226.9

8101

110

121

134

–2180

2090

2200

2510

–52

74

758

5002

2670

47

270.4

221

20

20

21

24

3619.4

091

100

110

121

134

2170

2080

2090

2200

2510

53

684

18452

118162

45

085

667

4204.7

818

18

18

19

22

44027.5

078

88

98

109

122

1860

1870

1880

1990

2300

54

10

426

351

60

032.6

624

24

27

––

658.8

6124

134

147

––

2500

2510

2820

––

55

79

1830

6865

2271

32

352.5

821

20

20

22

24

3609.1

191

100

110

122

134

2170

2080

2090

2300

2510

56

8125

1589

1843

120

0135.7

321

22

23

24

–1513.9

6101

112

123

134

–2

180

2290

2400

2510

–57

712

1368

4439

1056

0217.8

919

19

19

20

–2826.2

989

99

109

120

–1

970

1980

1990

2100

–58

915

312

221

80

25.2

324

22

22

25

–285.7

0114

122

132

145

–2490

2300

2310

2620

–59

647

13503

89948

28

690

139

3370.7

719

18

17

19

22

30

244.3

579

88

97

109

122

1960

1870

1780

1990

2300

60

61

364

6217

11511

1432

604.4

519

18

19

19

21

6352.0

979

88

99

109

121

1960

1870

1980

1990

2200

Table 4.3: Numerical results via the exhaustive approach in §4.2 for a 5-colour machine.

Page 25: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

5 The case of multiple (homogeneous) machines 25

The numerical results obtained by solving instances 1–60 of the combined pallet selection andsequencing problem according to the approach outlined above are shown in Tables 4.2–4.3. Thesmallest possible number of pallets covering the benchmark instance job lists (i.e. solutions tothe SCP (2.2)–(2.4)) are shown in the column labelled ‘# Pallets, P ∗(J)’. The number of TSPinstances that have to be solved for a pallet selection of cardinality P ∗(J) + i in Step (2) of theapproach described above are shown in the columns labelled ‘# of TSPs for P ∗(J) + i pallets’(where i = 0, 1, 2 in Table 4.2, and i = 0, 1, 2, 3, 4 in Table 4.3). The minimum number of washesobtainable for pallet selection sets of cardinality P ∗(J) + i (obtained by solving all correspondinginstances of the TSP) are shown in the columns labelled ‘Min # of washes for P ∗(J) pallets’. Thecolumns labelled ‘Combined TSP solution time (sec)’ contain the times in seconds required to solveall these instances of the TSP.

It is interesting that the exact solution considered in this section is much faster than that of theprevious section (i.e. solving the 2-TSP directly) — the combined Stirling and TSP times in Tables4.2–4.3 compare very favourably with the 2-TSP times in Table 4.1. Furthermore, if a A, thenoptimal machine down times do not necessarily correspond to smallest pallet selection sets, asexpected.

5 The case of multiple (homogeneous) machines

In the case where the flexico printing company owns a number of machines it is natural to seek tobalance the work loads of the various machines so as to attempt minimizing the resulting makespan5

of the printing schedule. For the case of M identical printing machines this may readily be achievedby modelling the problem as an (M+1)-vehicle routing problem6 (VRP). In this approach the routesfor vehicles 1, . . . ,M represent pallet sequences for the M printing machines (the pallets involvedin these routes are actually required to cover jobs and are called active pallets), while the routefor vehicle 0 represents a hypothetical sequencing of all the remaining pallets not required to coverjobs (these pallets are called inactive pallets).

Suppose the printing machines are indexed by the set M = 1, . . . ,M. Then the objective is tominimize the makespan L = L(X, ξ,Z, ζ) of the printing schedule, subject to the constraints∑

j∈Jdjξjm +

∑i∈P0

∑k∈P0

aikzikm ≤ L, m ∈M (5.1)

∑k∈P0

ζjk = 1, j ∈ J (5.2)

ζjk ≤ xk and ζjk ≤ bjk, j ∈ J, k ∈ P (5.3)∑j∈J

ζjk ≥ xk, k ∈ P (5.4)

ζjk +∑i∈P0

zikm ≤ ξjm + 1, j ∈ J, k ∈ P0, m ∈M (5.5)

∑m∈M

ξjm = 1, j ∈ J (5.6)∑i∈P0

∑m∈M0

zkim =∑i∈P0

∑m∈M0

zikm = 1, k ∈ P (5.7)

5The time duration from when the machines start to print until when the last machine completes its last job.6The problem of finding disjoint, closed routes for M + 1 vehicles (modelled by the printing machines) from a

depot (modelled by the pallet ∅, as before) to a number of locations (modelled by pallets in P) and back to thedepot, so that the sum total of all the route costs is minimized subject to the constraints that each location is visitedonce by exactly one of the vehicles, and that the distance travelled by (in our case actually the travel time of) novehicle exceeds the makespan of the printing schedule, L.

Page 26: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

5 The case of multiple (homogeneous) machines 26

∑i∈P0

zikm −∑p∈P0

zkpm = 0, k ∈ P0, m ∈M0 (5.8)

∑k∈P0

z0km =∑i∈P0

zi0m = 1, m ∈M0 (5.9)

xi +∑k∈P0

zik0 = 1, i ∈ P (5.10)

ui − uk + |P0|∑

m∈M0

zikm ≤ |P|, i, k ∈ P, i 6= k (5.11)

xp, ξjm, ζjk, zikm ∈ 0, 1, p ∈ P, i, k ∈ P0, j ∈ J, m ∈M0 (5.12)uk ≥ 0, k ∈ P. (5.13)

Here P0 = P∪∅, M0 = M∪0, the matrix of decision variables X is defined as before, and the(i, k,m)-th entry of the matrix of decision variables Z = [zikm]i,k∈P,m∈M is now given by

zikm =

1 if pallet i is followed by pallet k on machine m0 otherwise.

Additionally, the (j, m)-th entry of the matrix of decision variables ξ = [ξjm]j∈J,m∈M satisfies

ξjm =

1 if job j is performed on machine m0 otherwise,

while the (j, k)-th entry of the matrix of decision variables ζ = [ζjk]j∈J,k∈P satisfies

ζjk =

1 if job j is assigned to pallet k0 otherwise.

In (5.1) the parameter dj is the j-th entry of a vector D = [d1, . . . , d|J|] denoting the print durationof each job, whilst the matrices A = [aik]i,k∈P and B = [bjk]j∈J,k∈P are defined as in (3.8) and(2.1) respectively. Constraint set (5.1) ensures that the makespan of the entire printing scheduleis at least as long as the print duration of the busiest machine, while constraint sets (5.2)–(5.4)collectively ensure that jobs are assigned to active pallets, and that pallets to which jobs arenot assigned are not labelled active. In particular, constraint set (5.2) ensures that every job isassigned to exactly one (active) pallet, constraint set (5.3) ensures that each job is only assignedto an active pallet and that the pallet to which a job is assigned actually covers that job, andconstraint set (5.4) ensures that the pallets to which no jobs are assigned are labelled inactivepallets. Constraints (5.5)–(5.6) serve the purpose of assigning jobs to machines, while constraints(5.7)–(5.13) are standard VRP constraints7. More specifically, constraints (5.7) ensure that somevehicle arrives at and leaves every location (pallet), while constraints (5.8) ensure that every vehiclethat arrives at a pallet actually departs from that pallet again. The constraints in (5.9) ensure thatevery vehicle starts out from and returns the depot (i.e. pallet ∅), while the constraint set (5.10)ensures that vehicle 0 only visits inactive pallets. Finally, (5.11) contains standard VRP subtourbreaking constraints.

Unfortunately it is prohibitively expensive to solve the (M + 1)-VRP (5.1)–(5.13) exactly, evenfor relatively small sized problems such as the benchmarks featured in §2–4 (Lingo 11 failedto uncover a feasible solution to every single benchmark within a time-out limit of one hour).However, a good heuristic solution approach is to solve the problem for a single machine (eitherfollowing the heuristic, sequential approach of §2–3, or the exact approach of §4) and then to “chopup” the resulting pallet sequence into M parts, attempting to minimize the difference between theaccumulated job durations on the busiest and most idle machines. Instead of implementing thisheuristic with respect to the benchmark problem instances of §2–4, we rather demonstrate theworkability of this approach with respect to a realistically sized industry problem in the nextsection.

7Note that the second set of constraints in (5.7) and (5.9) are redundant and are usually omitted in VRPformulations, but we have found that their inclusion speeds up the solution process of the model considerably.

Page 27: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

6 A real case study 27

6 A real case study

We apply our heuristics in this section to a real case study concerning a flexico printing company inthe South African Western Cape in order to demonstrate the real-world workability of our solutionapproaches. The job list J1 comprising 149 jobs and involving a total of 34 colours, shown in Table6.1(a), was received from this company. The company owns a printer into which n = 8 coloursmay be loaded simultaneously, which can print at a rate of 5.833 kilograms of flexico material perminute. It takes approximately 30 minutes to wash a single ink cartridge, and also approximately30 minutes setup time to replenish ink cartridges and align flexico printing materials within themachine at each pallet change. The company is considering the purchase of further printers.

128gipry(516) 128gipry(519) 129acivy(103) 129acivy(106) 129acivy(147) 129acivy(63) 137aruvx(1 021)137aruvx(1 170) 137aruvx(723) 18egrvwy(133) 18egrvwy(164) 18egrvwy(169) 18egrvwy(227) 18egrvwy(227)18egrvwy(90) 18egrvwy(99) 34abrsuv(4 450) 38agruvx(11 059) 38agruvx(2 998) 128gpry(577) 128grvx(226)128grvy(178) 128grvy(202) 128grvy(208) 128grvy(223) 1348gyz(2 564) 1348gyz(2 584) 1348gyz(2 689)1348gyz(2 754) 138gvwy(370) 1acruvy(1 764) 3ciruvy(627) 12emnv(612) 12grvy(1 068) 12grvy(1 909)12mnov(603) 139crv(349) 13arvx(110) 13arvx(125) 13arvx(128) 13arvx(85) 158gir(1 147) 158grs(2 093)158gry(1 042) 158gry(1 073) 158gry(2 665) 15cgrv(722) 15grvx(1 166) 15grvx(1 171) 15grvx(1 258) 15grvx(1 362)15grvx(2 122) 15grvx(2 329) 15grvx(4 670) 15grvx(4 795) 15grvx(735) 15grvx(7 599) 18grty(1 097) 1aruvx(1 123)34ckrv(115) 35airv(1 453) 35airv(948) 12giv(1 842) 12gvx(427) 12rvx(131) 139rv(256) 19cdv(849) 19crv(365)19ctv(710) 19hrv(457) 19ijv(244) 19pqv(311) 19ptv(314) 1ruvx(2 898) 1ruvy(1 522) 38gix(2 214) 3acuv(3 415)3eirv(242) 58gix(3 451) acruv(3 656) apqrv(2 421) 12av(98) 12vx(348) 139v(260) 139v(266) 139v(407) 15ir(698)19cv(660) 19fv(230) 19hv(407) 19iv(479) 19iv(807) 19pv(258) 19vx(268) 1rvx(135) 34rv(268) 3ruv(697)3rvx(925) 12c(1 358) 156(1 067) 156(1091) 156(905) 1cd(1 129) 1cd(609) 1cd(713) 1cv(250) 1cv(720) 1ij(1 163)1ij(1 202) 1ij(1 209) 1ir(617) 1mv(718) 1rv(259) 1rv(912) 1rx(272) 1vx(711) 1vx(718) 34v(837) 3rv(610)3rv(615) 3rv(620) 3rv(628) 13(1 700) 1c(1 122) 1i(315) 1i(871) 1p(1 374) 1r(1 682) 1r(396) 1v(274) 1v(691)1v(702) 1v(706) 1x(207) 3i(6 073) 3r(610) 1(128) 1(1 533) 1(1 638) 1(229) 1(507) 1(828) 3(5 110) c(279) p(179)p(633) r(328) r(352) r(767)

(a) Real job list J1 containing 149 jobs. Required print volumes (in kilograms) are shown in brackets.

128gipry 129acivy 137aruvx 18egrvwy 34abrsuv 38agruvx 128grvx 128grvy 1348gyz 138gvwy1acruvy 3ciruvy 12emnv 12mnov 139crv 158gir 158grs 158gry 15cgrv 15grvx 18grty 34ckrv35airv 12giv 19cdv 19ctv 19hrv 19ijv 19pqv 19ptv 38gix 3acuv 3eirv 58gix apqrv 19fv 19vx 156

(b) Reduced job list J2 containing 38 jobs.

Table 6.1: Case study data. All jobs may be processed using the following 34 colours: 1. Black,2. Black2, 3. Blue, 4. Blue2, 5. Brown, 6. Brown2, 7. Buff, 8. Cyan, 9. Frost, a. Gold, b.Gold2,c. Green, d.Green2, e.Grey, f. Lime, g. Magenta, h.Maroon, i. Orange, j. Orange2, k. Peach,m. Pink, n. Pink2, o. Pink3, p. Purple, q. Purple2, r. Red, s. Red2, t. Silver, u.Varnish, v. White,w. White2, x.Yellow, y.Yellow2, z. Yellow3.

The job list in Table 6.1(a) may be reduced to a job list J2 containing only the 38 jobs shown inTable 6.1(b), no one of which is a subset of another. The command MaxFeasiblePallets(J2) in Step2 of Algorithm 1 yields a set of 166 maximally merged pallets. Algorithm 1 then produces reducedsets containing |P′| = 118 pallets and |J′| = 24 as well as a set of |Pe| = 11 essential pallets. Thedimensions of the reduced SCP problem are therefore: 24 jobs by 118 pallets. These remaining24 jobs may be covered by a minimum of 9 pallets in addition to the essential pallets, renderinga final pallet selection set of cardinality |P| = 20. Solving the TSP for these 20 pallets yields theoptimal pallet sequence 1348gyz, 138gvwy, 18egrvwy, 128grvxy, 128gipry, 158grsty, 1358girx,156cgrvx, 19fhrv, 1349ckrv, 3ceiruvy, 13acruvy, 137aruvx, 38agruvx, 34abrsuv, 35aipqrv,19cdpqtv, 129acivy, 129gijvx, 12emnov. Colours shown in bold face represent ink cartridgesthat have to be washed after use of the pallet in question if sequenced on a single machine, whileessential pallets are underlined. The (reduced) pallet selection subproblem (SCP) was solved withinless than a second, while the pallet sequencing subproblem (TSP) was solved within 37 seconds.

A printing schedule for two machines is shown in Table 6.2. Part (a) of the table contains a listof jobs (with required print volumes in kilograms indicated in brackets) that are covered uniquelyby a member of the pallet selection set — hence there is no choice as to which pallets these jobsare assigned. Part (b) shows the remaining jobs for which some degree of freedom with respect to

Page 28: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

6 A real case study 28

Pallets Jobs performed on pallet

Mach

ine

1(6

7411)

1348gyz(10 591) 1348gyz(2 564, 2 584, 2 689, 2 754)138gvwy(370) 138gvwy(370)

18egrvwy(1 109) 18egrvwy(133, 164, 169, 227, 227, 90, 99)128grvxy(4 145) 128grvx(226) 12grvy(1 068, 1 909) 128grvy(178, 202, 208, 223) 12rvx(131)128gipry(1 612) 128gipry(516, 519) 128gpry(577)158grsty(7 970) 158grs(2 093) 158gry(1 042, 1 073, 2 665) 18grty(1 097)1358girx(7 510) 158gir(1 147) 38gix(2 214) 58gix(3 451) 15ir(698)

156cgrvx(30 992) 15grvx(1 166, 1 171, 1 258, 1 362, 2 122, 2 329, 4 670, 4 795, 735, 7 599) 15cgrv(722)156(1067, 1091, 905)

19fhrv(1 094) 19hv(407) 19hrv(457) 19fv(230)1349ckrv(2 018) 139crv(349) 34ckrv(115) 139rv(256) 19crv(365) 139v(260, 266, 407)

Mach

ine

2(5

6567)

3ceiruvy(869) 3ciruvy(627) 3eirv(242)13acruvy(10 357) 1acruvy(1 764) 3acuv(3 415) 1ruvy(1 522) acruv(3 656)137aruvx(7 383) 137aruvx(1 021, 1 170, 723) 13arvx(110, 125, 128, 85) 1aruvx(1 123) 1ruvx(2 898)

38agruvx(14 057) 38agruvx(11 059, 2 998)34abrsuv(4 450) 34abrsuv(4 450)35aipqrv(4 822) 35airv(1 453, 948) apqrv(2 421)19cdpqtv(4 893) 19pv(258) 19ptv(314) 19pqv(311) 19ctv(710) 19cdv(849) 1cd(1129, 609, 713)129acivy(1 875) 129acivy(103, 106, 147, 63) 12c(1358) 12av(98)129gijvx(5 928) 12giv(1842) 19vx(268) 19ijv(244) 1ij(1163, 1202, 1209)12emnov(1 933) 1mv(718) 12mnov(603) 12emnv(612)

(a) Jobs from the set J1 in Table 6.1(a) that are covered uniquely by a pallet.

Printing machine 1 (15 977) Printing machine 2 (25 152)Pallets Jobs performed on pallet Pallets Jobs performed on pallet

1348gyz(1 700) 13(1 700) 3ceiruvy(976) 3ruv(697, 279)138gvwy(1 766) 1(1 638, 128) 13acruvy(1 996) 1rv(259, 615) 1c(1 122)

18egrvwy(1 682) 1r(1 682) 137aruvx(1 908) 3rvx (925) 1vx(711) 1rx(272)128grvxy(1 047) 1rvx(135, 912) 38agruvx(2 057) 3r(610) r(352, 328, 767)128gipry(2 534) 1p(1 374) p(633, 179) 12vx(348) 34abrsuv(5 110) 3(5 110)

158grsty(396) 1r(396) 35aipqrv(6 073) 3i(6 073)1358girx(1 139) 1ir (617) 1i(315) 1x(207) 19cdpqtv(660) 19cv(660)156cgrvx(1 688) 1cv(720, 250) 1vx(718) 129acivy(2 848) 19iv (807, 479) 1i(871) 1vx(691)

19fhrv(1 682) 1v(706, 702, 274) 129gijvx(427) 12gvx(427)1349ckrv(2 343) 34v(837) 3rv(628, 610) 34rv(268) 12emnov(3 097) 1(1 533, 828, 507, 229)

(b) Jobs from the set J1 in Table 6.1(a) not covered uniquely by a pallet. The leeway embodied inthese jobs may be used during job-to-pallet assignment to balance machine workload.

Jobs shown in bold face can only be processed on one machine.

Table 6.2: Print schedules for the job set J1 in Table 6.1(a) for two machines, each containingn = 8 colour cartridges.

pallet assignment may be used to balance machine workload. For this schedule run times of 14 303and 14 123 minutes are incurred on machines 1 and 2 respectively, to which wash times of 930 and1 110 minutes (31 and 37 washes) as well as setup times of 300 minutes per machine (10 palletchanges each) have to be added. This yields combined printing and down times of 15 233 minutesfor each machine, which is therefore also the makespan of the printing schedule. (It is relativelyeasy to balance the workload of the machines, since only jobs shown in bold face in Table 6.2(b)necessarily have to be performed on a specific machine. The remaining jobs may be scheduled usinga spreadsheet application, assigning the larger jobs first and swopping jobs between machines ifnecessary.)

A printing schedule for a single machine may also be deduced from Table 6.2, where instead ofsequencing the two pallet selections in parallel, they are merely sequenced sequentially. In such acase a run time of 28 426 minutes is incurred, to which a wash time of 1 920 minutes (64 washes)as well as a setup time of 600 minutes (20 pallet changes) has to be added. This yields a makespanof 30 946 minutes for the printing schedule.

Page 29: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

7 Conclusion and further work 29

7 Conclusion and further work

In this paper we considered the scheduling problem of pallet selection and pallet sequencing for aflexico printing company. We designed a number of exact and heuristic solution approaches to thisproblem, tested the efficiency of these approaches, as well as the solution qualities associated withthese approaches, with respect to a number of randomly generated benchmark instances. We alsodemonstrated the practical workability of our approaches with respect to a real case study.

Although we also indicated how the situation of multiple homogeneous printing machines may beaccommodated towards the end of the paper, use of a single printing machine was assumed inthe majority of the paper8. However, a much more realistic and interesting scenario is where anumber of heterogeneous printing machines are employed9, differing in their print speed as well asin the number of colour cartridges they can accommodate. Such a scheduling problem is expectedto be much more complex than the one considered in this paper, because then the problem ofbalancing printer work loads (so as to minimize the makespan of the schedule) becomes job-to-machine assignment specific. It should be interesting and challenging to design a metaheuristicapproach towards this more difficult scheduling problem (perhaps employing a tabu search orgenetic algorithm).

Acknowledgement

Work towards this paper was supported financially by the South African National Research Foun-dation under grant GUN 2072999.

References

[1] A Allahverdi, JND Gupta & T Aldowaisan, 1999. A review of scheduling research involving setup consid-erations, Omega International Journal of Management Science, 27, pp. 219–239.

[2] A Allahverdi, CT Ng, TCE Cheng & MY Kovalyov, 2008. A survey of scheduling problems with setuptimes or costs, European Journal of Operational Research, 187, pp. 985–1032.

[3] Balas E, 1983. A class of location, distribution and scheduling problems: Modeling and solution methods, inGray R & Yuanzhang L (Eds), Proceedings of the Chinese-US Symposium on systems analysis, Wiley.

[4] Ball MO, Magnanti TL, Monma CL & Nemhauser GL (Eds), 1995. Network models, Volume 7 inNemhauser GL & Rinnoy Kan AHG (Eds), Handbooks in operations research and management science,Elsevier, Amsterdam.

[5] Bodin L, Golden B, Assad A & Ball M, 1983. Special issue: Routing and scheduling of vehicles and crews— The state of the art, Computers & Operations Research, 10(2), pp. 63–211.

[6] Caprara A, Toth P & Fischetti M, 2000. Algorithms for the set covering problem, Annals of Operationsresearch, 98, 353–371.

[7] Ceria S, Nobili P & Sassano A, 1997. Set covering problem, pp. 415–428 in Dell’Amico M, Maffioli F &Martello S, Annotated bibliographies in combinatorial optimization, Wiley.

[8] Garey MR & Johnson DS, 1979. Computers and intractability: A guide to the theory of NP-completeness,Freeman.

[9] Gutin G & Punnen (Eds.), 2007. The travelling salesman problem and its variations, Volume 12 of theCombinatorial optimization series, Springer, New York.

[10] Haynes TW, Hedetniemi ST & Slater PJ, 1998. Fundamentals of domination in graphs, Marcel Dekker,Inc., New York.

8This special case seems very limiting, but is sometimes even justifiable in applications where multiple, differingmachines are used. For example, Pinedo [14, page 33] states that “ . . . a complicated machine environment with asingle bottleneck may give rise to a single machine model”.

9This situation often arises when a company acquires machines driven by differing technologies at different pointsin time during its production history, with the newer machines typically being able to print faster and accommodatemore colours than their older counterparts.

Page 30: On a scheduling problem in the packaging industry · problems from the operations research literature, namely the unicost set covering problem, a (two) travelling salesmen problem

REFERENCES 30

[11] Karp RM, 1972. Redicibility among combinatorial problems, pp. 85–103 in Miller RE & Thatcher JW(Eds), Complexity of computer computations, Plenum, New York.

[12] Lindo Systems, Inc., 2008, [Online], [Cited April 23rd, 2008], Available from: http://www.lindo.com/

[13] Nemhauser GL, Trotter LE & Nauss RM, 1972. Set partitioning and chain decomposition, ManagementScience, 20(22), 1413–1423.

[14] M Pinedo, 2002. Scheduling: Theory algorithms and systems (2nd edition), Prentice Hall, Upper Saddle River(NJ).

[15] KH Rosen (Ed.), 2000. Handbook of discrete and combinatorial mathematics, CRC Press, Boca Raton (FL).

[16] JAA van der Veen, GJ Woeginger & S Zhang, 1998. Sequencing jobs that require common resources on asingle machine: A solvable case of the TSP, Mathematical Programming, 82, pp. 235–254.

[17] Weisstein EW, 2003. CRC concise encyclopedia of mathematics (2nd Edition), Chapman & Hall / CRC, BocaRaton (FL).

[18] MB Yildirim, E Duman, K Krishna & K Senniappan, 2007. Parallel machine scheduling with load balancingand sequence dependent setup times, International Journal of Operations Research, 4(1), pp. 42–49.