SCHEDULING SEQUENCE-DEPENDENT COLOUR PRINTING JOBS

A scheduling problem from the colour printing industry is considered in this paper. The problem is to find an optimal assignment of print jobs to each of a set of colour printers as well as an optimal processing sequence for the set of jobs assigned to each printer. The objective is to minimise the makespan of the schedule in order to achieve a suitable balance between the workloads of the printers and the efficacies of the job sequences assigned to the printers. A novel aspect of the problem is the way in which the printer setup times associated with the jobs are job sequence-dependent — it is possible to exploit commonalities between the colours required for successive jobs on each machine. We solve this problem approximately using a simple heuristic as well as three well-known metaheuristics. Besides colour printing, the scheduling problem considered here admits many other applications. Some of these alternative applications are also briefly described.


INTRODUCTION
Snack foods, such as candy bars and crisps, are usually packaged in convenient plastic or foil wrappers adourned with bold, colourful logos and other designs so as to draw the attention of consumers.In order to achieve the desired finish, colour overlay printing techniques are utilised.Due to fierce competition, production facilities that specialise in this form of printing are forced to improve the efficiency of their operations so as to be able to handle large printing volumes in a time-efficient and cost-effective manner.At the heart of realising a high level of efficiency at such a production facility lies a scheduling process in which print jobs have to be assigned to and sequenced on a collection of printers functioning in parallel and possibly at different speeds with the aim of balancing the workload amongst the printers so as to maximise print volume throughput.
Consider a collection of n printing jobs indexed by the set J = {1,...,n}.Associated with each job j Є J is a colour set C j , indicating which colours are required for the job, as well as the volume w j of the job (usually measured in kilograms of printing material).The colour set of each job is typically a small subset of a larger universal set C of all possible colours at the disposal of the printing company.Each of the jobs in J requires processing on one of m parallel printers indexed by the set M = {1,...,m}.Printer k Є M operates at a printing speed of q k (measured in kilograms of printing material that can be produced per minute) and is equipped with a colour cartridge magazine of size b k (which is the number of colours that can be accommodated simultaneously in the printer).
Job j Є J can only be processed on printer k Є M if the magazine of printer k is large enough to accommodate all the colours in the colour set of job j, i.e. if |C j | ≤ b k .All the colours required for a job have to be loaded into the printer processing that job prior to commencement of the print job.Furthermore, it is assumed that the printer magazine is empty at the start of the scheduling period and that it should again be empty at the end of the printing schedule, but it typically remains fully loaded throughout the duration of the scheduling period, because a fixed downtime is associated with reloading any colour cartridge.
Every job processed on one of the printers incurs a production time consisting of two phases.The first of these phases is the printing phase.The duration of this phase is both printer-dependent (because of possible variation in the processing speeds of the printers) and job-dependent (determined by the print volume of the job).The duration of the printing phase of job j Є J, also called its processing time, when performed by printer k Є M is therefore The second phase is the setup phase, which involves removing ink from cartridges corresponding to colours not required for the next job scheduled for processing on that particular printer, so as to free up just enough space in the printer's magazine for colours that are indeed required for the next job but are not present in the magazine.Each such colour change incurs a constant setup time a (measured in minutes), which is required to empty, clean and reload an ink cartridge, and is referred to as a wash.If, however, a colour required for a specific job was also required for the previous job processed on a particular printer (and is therefore already in the printer's magazine when the reloading of cartridges for the next job takes place), then the above setup time may be avoided for that colour.A sequence-dependent setup time s ijk is thus incurred when following up job i by job j on printer k.This setup time can be calculated as a multiplied by the required number of colour changes in order to be able to process job j.Given a set of jobs to be processed by printer k Є M, the completion time Φ k of the printer may therefore be reduced by a judicious choice of the sequence in which the jobs are to be performed on the printer.
A printing schedule for the parallel machine colour print scheduling problem (PMCPSP) described above therefore consists of an assignment of jobs to the various printers as well as a processing sequence for the set of jobs assigned to each printer.The makespan Ω max of the printing schedule is the completion time of the printer which finishes last, i.e.Ω max = max {Φ 1 ,…,Φ m }, assuming that all printers start processing at time zero.The objective in the PMCPSP is to compute a printing schedule achieving the smallest makespan possible in order to achieve a suitable balance between the workloads of the printers and the efficacies of the job sequences assigned to the printers.
Even the special case of the PMCPSP in which there is only m = 1 printer, is NP-hard [5,9].Furthermore, it is difficult for even an experienced human operator to come up with highquality solutions to the PMCPSP for the following reasons: 1.The duration of a print job only becomes known once it has been assigned to a printer.Moving a print job from one printer to another in a bid to balance the workload of printers in a schedule therefore requires non-intuitive calculations.
2. The setup time associated with a print job only becomes known once the jobs assigned to the relevant printer have been sequenced, because it depends on the commonality of colours between the particular job and its predecessor.
For these reasons, it is desirable to aid production managers in the complex decisions associated with solving the PMCPSP by providing them with computerised decision support based on mathematical modelling techniques rather than requiring them to make scheduling decisions based purely on intuition or experience.Although mathematical models exist in the literature for scheduling problems conforming to the particular structure and requirements of the PMCPSP, these models are solvable to optimality for only the tiniest of problem instances.Since realistic instances of the PMCPSP are well beyond the reach of exact solution methods within reasonable timeframes, our objective in this paper is to design a user-friendly decision support system (DSS), based on various heuristic model solution approaches, which is capable of aiding production engineers in determining high-quality solutions to the PMCPSP, and to demonstrate the practical workability of this DSS.
This paper is organised as follows.Section 2 contains a brief review of two approaches towards modelling the PMCPSP mathematically, while the working of one heuristic and three metaheuristic solution procedures, which are applied in this paper to the PMCPSP, are outlined in Section 3. In Section 4, these approximate solution approaches are compared in terms of their execution times and the qualities of solutions they produce in the context of a number of small test instances, after which we turn our attention in Section 5 to the design of a user-friendly DSS for solving larger instances of the PMCPSP.This DSS is applied to a realistic instance of the PMCPSP in the form of a case study in Section 6 in order to demonstrate its workability.The paper closes with a number of conclusions, ideas with respect to possible future work and descriptions of alternative applications conforming to the requirements of the PMCPSP in Section 7. Mathematical PMCPSP model formulations are finally presented in an appendix.

LITERATURE REVIEW
There are two formulations of parallel machine scheduling problems with sequencedependent setup times in the literature which resemble the PMCPSP.The first was introduced by Helal et al. [8] in 2006, whereafter Avalos-Rosales et al. [2] proposed an improved reformulation of this original model in 2013 in response to a weakness discovered in the earlier formulation.So as to promote general readability of the paper by nonmathematically inclined readers, these two formulations are relegated to an appendix at the end of the paper.
In the model formulation proposed by Helal et al. [8], the makespan is linearized as the maximum of the completion times of all the jobs that have to be processed.Avalos-Rosales et al. [2], however, found that the lower bound on the schedule's makespan produced by the linear relaxation of the model of Helal et al. [8] is very weak and this prompted them to reformulate the model by linearizing the makespan as the maximum of the spans of all the machines.
Alvalos-Rosales et al. [2] performed computational tests in order to compare the efficacy of a commercial solver in respect of solving their model reformulation for a suite of test problem instances (which are available online [18]), as opposed to solving the original model formulation of Helal et al. [8].They also used the results thus obtained to determine the dimensions (i.e.values of the parameters m and n) of problem instances that are realistically solvable by exact methods.
In particular, Alvalos-Rosales et al. [2] generated two sets of test instances for this purpose, a set of small instances and a set of larger instances.The set of small instances involved m Є {2,3,4,5} machines and n Є {6,8,10,12} jobs.For each value of m, a total of ten instances of sets of n jobs were generated, with job durations drawn from uniform distributions with ranges 1-9, 1-49, 1-99 and 1-124.In all cases, the setup times between jobs were drawn from a uniform distribution with range 1-99, thus giving rise to 4 × 4 × 10 × 4 = 640 small problem instances.Using CPlex 12.2 on a Pentium dual core 2 GHz processor with 3Gb of RAM running in the operating system Ubuntu 11.1, they were able to solve only 565 (88.28%) of these small instances to optimality within one hour when adopting the earlier model formulation of Hilal et al. [8], and all of the small instances (100%) when using their own model reformulation.In fact, the average time required to solve the small instances to optimality adopting the latter formulation was only 0.625 seconds.This led Alvalos-Rosales et al. [2] to conclude that their formulation is superior from a practical perspective.
The set of larger instances again involved m Є {2,3,4,5} machines, but this time n Є {15,20,25,30,35,40} jobs.For each value of m, a total of ten instances of sets of n jobs were again generated, with job durations drawn from uniform distributions with ranges 1-49, 1-99 and 1-124.In all cases, the setup times between jobs were again drawn from a uniform distribution with range 1-99, thus giving rise to 4 × 6 × 10 × 3 = 720 larger problem instances.In view of the fact that not all small instances of the model formulation of Helal et al. [8] were solvable within one hour of computation time, Alvalos-Rosales et al. [2] elected to solve the larger instances using only their own superior formulation.Using the same computing platform as above, they were able to solve only 636 (88.33%) of the larger instances to optimality within one hour.For the largest instances where of m = 5 machines and n = 35 or 40 jobs, an average optimality gap of between 3.3% and 3.8% was achieved within one hour of computing time.
In view of these results and the NP-hardness of even the special case of the PMCPSP with m = 1 machine [6,13], the portion of instances that are solvable to optimality within one hour (or even a few hours, for that matter) is expected to decrease exponentially as m and/or n increases.Because realistic instances of the PMCPSP are expected to contain well in excess of n = 100 jobs, we conclude that realistic instances of the PMCPSP are not solvable within a realistic timeframe using exact methods.We therefore instead consider one heuristic and three metaheuristic solution approaches in the next section for solving the PMCPSP approximately.

APPROXIMATE SOLUTION METHODOLOGIES
The four approximate methods considered in this paper for solving the PMCPSP are the largest-processing-time-first rule, a local search, and the methods of tabu search and simulated annealing, described in more detail below.

Largest-processing-time-first rule
The largest-processing-time-first (LPTF) rule is a well-known scheduling heuristic [15] which aims to minimise the makespan of a production schedule on parallel machines by scheduling shorter jobs towards the end of the scheduling period where they can be used for balancing the production load of the various machines.According to the LPTF rule, the m largest jobs are scheduled first on the m machines, one job per machine.Afterwards, whenever a machine is freed, the largest of those jobs not yet scheduled is processed on that machine.Due to its inflexibility, the LPTF rule is, however, rarely used in isolation; it is instead often used as a starting point for more advanced scheduling metaheuristics.

Improving local search
An improving local search is an iterative metaheuristic which moves from one candidate solution to a neighbouring solution of higher quality in solution space during every iteration [5,17].The quality of a solution is measured in terms of the objective function of the optimisation problem at hand.In order to search within the solution space in a systematic manner, a problem-specific neighbourhood structure is induced around the current solution by a set of so-called moves (perturbations performed with respect to the current solution).Solutions in this neighbourhood are evaluated and the highest-quality solution is adopted as the next current solution, provided that this solution is of better quality than the current solution.If there is no improving solution in the neighbourhood of the current solution, then the search terminates and the current solution is reported as the (locally) optimal solution to the optimisation problem.A major disadvantage of an improving local search is, of course, that it may easily become trapped at an inferior locally optimal solution and hence the procedure is sensitive to the candidate solution chosen to initiate the search.
In this paper, we generate the initial (or first current) solution either randomly or by using the LPTF rule.The neighbourhood of the current solution results from applying so-called displacement moves [17] to the current solution.In the context of the PMCPSP, a displacement move consists of moving some job j from its current position in the production sequence of some printer k to any position in the production sequence of any printer k' (allowing for the possibility that perhaps k = k').All combinations of j and k are considered in turn, resulting in a potentially large neighbourhood for each candidate solution and a search procedure that is essentially deterministic from the initial solution onwards.

Tabu search
Introduced by Glover [7] in 1986, the method of tabu search is a metaheuristic inspired by the mechanisms of human memory.In contrast to a local search, the method of tabu search, which is also an iterative search procedure, allows for the escape from locally optimal solutions by (possibly) accepting non-improving moves when moving from the current solution to the next solution.In order to avoid cycling, a so-called tabu list of a fixed number of the most recent moves performed during the search is maintained and the reversal of any move in this list is (temporarily) forbidden when deciding on the next move to perform.The tabu list is managed as a first-in-first-out queue of fixed length, called the tabu tenure, by removing the oldest entry from the list when a new entry is inserted into the list.The tabu tenure, denoted by τ, is an important parameter which affects the efficiency of the search, is problem-specific, and is usually determined empirically by prior experimentation [7].Because the search does not necessarily terminate at a locally optimal solution as in the case of an improving local search, a pre-specified, fixed number I max of search iterations is usually performed before terminating the search.Furthermore, since the last current solution is not necessarily the best candidate uncovered during the search, a record is maintained of the best solution found during the entire search.This solution is called the incumbent and is reported as the approximately optimal solution to the optimisation problem at hand at termination of the search.
In this paper, we again generate the initial (or first current) solution either randomly or by using the LPTF rule and again we employ displacement moves as described in Section 3.2, but with added provision that the move should not be the reversal of any move recorded in the tabu list.Upon experimentation with randomly generated instances of the PMCPSP it was found that an effective choice of values for the tabu tenure τ and number of search iterations I max is the easily extendable trend shown in Table 1.These values seem to deliver good results.

Simulated annealing
The method of simulated annealing was first proposed by Kirkpatrick et al. [9] in 1983 as a simulation model for describing the physical process of annealing condensed matter within the realm of metallurgy.This method too is an iterative search procedure in which a single, current solution is maintained during each iteration.In contrast to the deterministic method of tabu search, however, simulated annealing is a stochastic search process.Nonimproving moves are also allowed as in the method of tabu search, but such moves are only accepted with probability where Δ obj denotes the absolute value of the amount by which the objective function would deteriorate when moving from the current solution to the non-improving solution and where T w is the value of a parameter, called the temperature, during temperature stage w Є {0,1,2,…}, which controls the search progression.The acceptance probability in ( 1) is known as the Metropolis acceptance criterion and decreases as Δ obj increases or as T w decreases.The initial temperature T 0 is selected relatively large and is then decreased in stages according to a so-called cooling schedule so as to allow the search to initially explore the solution space (much as a random search would do), but so that it becomes gradually harder to accept non-improving moves later during the search (i.e.so that it resembles a randomised improving local search more towards the end of the search, thereby exploiting the vicinity of high-quality solutions) [17].
Busetti [4] states that a good value for the initial temperature is such that approximately 80% of all non-improving moves are accepted at the start of the search.Such an initial temperature may be estimated by conducting a trial search during which all non-improving moves are accepted.The initial temperature for the full search may then be taken as where ∆ obj + denotes the average of the changes in objective function values as a result of accepting non-improving moves during the trial search.
The number of iterations spent by the search in temperature stage w is determined by a Markov chain of length L w .As Busetti [4] states, the value of L w (= L, say) should ideally depend on the optimisation problem at hand, rather than being a function of w.It would, in fact, make sense to require a minimum of A min move acceptances during any temperature stage before lowering the temperature, where A min is a pre-specified parameter.As T w approaches zero, however, non-improving moves are accepted with decreasing probability and so the number of trials expected before accepting A min moves is expected to increase without bound as the search progresses, no matter the value of the positive integer A min .A suitable compromise is therefore to terminate the search once L moves have been attempted or A min moves have been accepted (whichever occurs first), for some positive integers L and A min satisfying L > A min .Following the rule of thumb proposed by Dreo et al.
[5], we take L = 100 N and A min = 12 N, where N is some measure of the number of degrees of freedom in the optimisation problem.Based on numerical experimentation involving random instances of the MPCPSP, we choose N = n in this paper, since this value seems to yield relatively good results.
The well-known geometric cooling update rule is adopted in this paper, where the cooling parameter β is required to assume a value close to, but smaller than, one.As originally proposed by Kirkpatrick et al. [9], we employ the value β = 0.95 here.
According to Busetti [4], the final temperature for the cooling schedule should be taken as that temperature at which the search ceases to make significant progress.We adopt the approach suggested by Dreo et al. [5] whereby the search is considered to have ceased making significant progress when it has failed to accept any moves during three consecutive temperature stages, at which point the search is terminated.
Finally, the same incumbent solution reporting protocol is adopted for the method of simulated annealing in this paper as that described for the method of tabu search above.

TEST RESULTS
As described in Section 2, the setup times in the PMCPSP test instances of Avalos-Rosales et al. [2] are uniformly distributed and were drawn independently of one another.These setup times therefore do not possess the special colour commonality characteristic, which is rather unique to the PMCPSP.Hence we cannot reliably use their test instances for comparing the efficacies of the (meta)heuristic solution methods described in Section 3 in the context of the PMCPSP.We consequently generated ten instances of print job sets for the PMCPSP, each containing 24 jobs and each job requiring at least two and at most four colours from the universal colour set C = {1,2,3,4,5,6,7,8,9,a,b,c,d,e}.
For each job a print volume was drawn from a uniform distribution on the range 1-1000 kg.These job sets are listed in Table 2. From these ten instances of job sets, we created twenty hypothetical instances of the PMCPSP by supposing that three printers are available to process the jobs in each case, one operating at a speed of 4.5 kg/min and two operating at a speed of 8 kg/min, with all three printers having either b k = 4 or b k = 6 colour cartridges, for k = 1,2,3.Finally, we assumed that it takes a = 30 minutes to empty, wash and refill a single colour cartridge.The advantage of the improving local search, however, is that it yields results in a fraction of the execution time required by the methods of tabu search and simulated annealing (but often becomes trapped at an inferior, locally optimal solution).

The results in
Furthermore, an advantage of the tabu search method is its remarkable consistency in execution times (an average of 43651.4seconds with a standard deviation 6.0% of this value).This is due to the stopping criterion adopted (I max = 300 and τ = 20 according to Table 1).In contrast, the improving local search exhibits the superior average execution time of 7273.9 seconds, but with a standard deviation 38.6% of this value, while the method of simulated annealing achieves an average execution time of 73903.0seconds with a standard deviation 160.4% of this value.
Finally, use of the LPTF rule as initialisation procedure seems to yield better results than a random initialisation for the improving local search and tabu search, but for the method of simulated annealing, the opposite is true.

DECISION SUPPORT SYSTEM
We designed a DSS in Microsoft Excel for solving instances of the PMCPSP approximately.
Although the execution times typically achieved by Excel macros are far inferior to what can, for example, be achieved in C or C++, Microsoft Excel was nevertheless chosen as computing platform because it is anticipated that production engineers who are tasked with solving instances of the PMCPSP in practice will typically have access to and be familiar with this environment.Moreover, it would be very easy for such individuals to provide input data directly into Excel, rather than having to create text files or files in other formats containing these data.
Although the results of the previous section indicate that the method of simulated annealing initialised randomly seems to be the best algorithm and initialisation mechanism combination for finding high-quality solutions to the PMCPSP, we decided, for the sake of flexibility, to incorporate all three metaheuristics of Section 3 in our DSS implementation, as well as both initialisation mechanisms (random initialisation and initialisation by the LPTF rule).The user of the DSS has the freedom to choose the algorithm and initialisation mechanism (s)he would like to use when solving an instance of the PMCPSP.The four buttons labelled Steps 1-4 then have to be selected (in that order) to solve an instance of the PMCPSP.Upon selection of the Step 1 button, the user is presented with the input matrix in Figure 2 where the speeds (in kg/min) and cartridge magazine sizes of the printers can be specified.The number of printer columns in this matrix corresponds to the number of printers specified by the user in the initialisation window.Upon selection of the Step 2 button, the user is presented with the job set input matrix shown in Figure 3.In this matrix, each job must be assigned a number or unique identifier, and be associated with a string of characters representing colours required for the job as well as the print volume of the job (in kg).Once all the input data have been provided by the user, the Step 3 button may be selected, whereupon the specified solution procedure is launched, yielding an approximate solution in a print schedule output window, as shown in Figure 4.The columns of this output window contain the jobs to be sequenced (in that order) on the various printers.Associated printing schedule performance measure statistics, such as the total processing time of jobs assigned to each machine, the number of ink cartridges that have to be washed for each machine, the total setup time incurred on each machine and the completion time of each machine, are also returned in a final results window, as shown in Figure 5.Although the user is also able to specify algorithmic parameters (such as the number of iterations I max and tabu tenure τ for the tabu search, or the cooling parameter β, and the number of moves to be attempted L and/or accepted A min during each temperature stage of the method of simulated annealing), we do not wish to bore the reader with details on how this is done in the DSS.

REALISTIC CASE STUDY
In this section we apply the DSS of Section 5 to a case study involving real PMCPSP data obtained from a printing company in the South African Western Cape in order to demonstrate the practical workability of our approximate solution approaches to realistic instances of the problem.An industrial data set comprising 149 printing jobs, each requiring at most 8 colours from a universal colour set containing the 34 colours in Table 4, was obtained.This data set is shown in Table 5.
The printing company has five high-speed printers at its disposal: one which can accommodate eight colours simultaneously and print at a speed of 5.833 kg/min, two which can each accommodate six colours simultaneously and print at a speed of 4.722 kg/min, and two which can each accommodate four colours simultaneously and print at a speed of 3.514 kg/min.The fastest of these machines may be seen in Figure 6.It takes approximately a = 30 minutes to empty, wash and refill a single ink cartridge.At the time of initiation of this research project, the company made no attempt at scheduling print jobs in advance.Instead, jobs were processed in the order in which they were received from customers.We were, however, informed that since they battled to balance the workload of machines and were of the opinion that they were incurring excessively large setup times due to the essentially random sequencing of jobs on the five printers, the company wished in future to schedule print jobs in advance on a weekly basis.The reason for this choice of scheduling horizon was that the rate at which they received orders for print jobs would justify a weekly schedule.We were informed that supervisors operating the printers worked in shifts around the clock from Monday to Saturday (hence a work week of 24 × 6 = 144 hours = 8640 minutes, which is, therefore, an upper bound on the makespan of a feasible weekly printing schedule) and that maintenance was performed on the printers on a Sunday by a separate work crew.
We solved this instance of the PMCPSP (approximately) using the DSS described in Section 5, selecting simulated annealing (with parameter values as described in Section 3.4) and random initialisation as our solution methodology combination, based on the superior performance of this combination observed in the results of Section 4. The search was initiated with a random solution exhibiting a makespan of 16053 minutes ≈ 11.15 days and ran for 39572 seconds ≈ 11 hours (just over 900000 iterations) before reaching a state of thermal equilibrium.The progression of the various schedule makespans over the course of the search is shown in Figure 7.The incumbent solution, shown in Table 6, has a makespan of 8371 minutes ≈ 5.8 days, which is comfortably within the 6-day feasibility limit for a one-week schedule.

CONCLUSION AND APPLICATION EXTENSIONS
A scheduling problem from the colour printing industry was considered in this paper.The problem, here called the parallel machine colour print scheduling problem, is to find an optimal assignment of print jobs to each of a set of colour printers as well as a processing sequence for the set of jobs assigned to each printer.The objective is to minimise the makespan of the schedule in order to achieve a suitable balance between the workloads of the printers and the efficacies of the job sequences assigned to the printers.A novel aspect of the problem is the way in which the printer setup times associated with the jobs are job sequence-dependent -it is possible to exploit commonalities between the colours required for successive jobs on each machine.
Any PMCPSP model is, however, rich in application possibilities in the sense that it admits a large variety of applications which, when first encountered, seem to be vastly different from decisions related to colour print scheduling.We mention four such application extensions in closing, but many others may also be found in the literature on flexible manufacturing systems.
An alternative application which fits naturally into the modelling framework of this paper is the problem of mailroom insert planning [1].In this application, a number of lines of feeders are used to insert various pre-determined sets of distinct advertising brochures into envelopes destined for various categories of clients.Since each client category requires a different subset of brochures in their envelopes, the problem can be modelled as an instance of the PMCPSP in which each client-required subset of brochures corresponds to a print job, each brochure corresponds to a different ink colour, each line of feeders corresponds to a printer, and each individual brochure feeder corresponds to an ink cartridge.Each brochure type change incurs a constant setup time, which is required to empty, clean and reload a feeder, but if a brochure required for a specific client category was also required for the previous client category processed on a particular line of feeders, then the above setup time may be avoided for that brochure.This gives rise to the same type of sequence-dependent setup times that was encountered in the PMCPSP.
A further application alternative is encountered in a pharmaceutical packaging facility [10,13] where different types of pills are bundled together into patient-or region-specific boxes by flexible packaging units.Different types of pills are stored in containers and can be hooked up to the feeding holes of a packaging unit.The different pill combinations required by the patient types or regions correspond to a print job of the PMCPSP, each type of pill corresponds to a different ink colour, each packaging unit corresponds to a printer, and each individual pill container corresponds to an ink cartridge.There is an advantage to be gained in terms of saved setup time if two consecutively processed pills combinations share the same type of constituent pill, thus again giving rise to a multiple-machine scheduling problem with sequence-dependent setup times for which the models considered in this paper are applicable.
Our next example of an alternative application of PMCPSP models occurs in the assembly of printed circuit boards (PCBs) [16].Flexible component placement machines are used to mount various electronic components, stored in large containers, onto a bare PCB.These machines typically contain a number of task-specific tools in a magazine.Since the machines are highly automated, configurable and suitable for the assembly of a wide variety of PCB product types, the problem can be modelled as an instance of the PMCPSP in which each PCB product corresponds to a print job of the PMCPSP, each type of electronic component corresponds to a different ink colour, each component placement machine corresponds to a printer, and each electronic component container corresponds to an ink cartridge.In this context, the problem is known as the Tool Switching Problem and again the exploitation of tool commonality requirements for consecutive jobs is a central feature of the application.
As a last application extension we mention a scheduling problem in the chemical manufacturing industry where various chemicals, each consisting of a particular set constituents, are produced by feeding these constituents from containers to a number of mixing and reaction chambers via supply pipes [10,13].Setup cost is incurred by retooling and cleaning a pipe whenever a chemical constituent is changed.Here the various constituent combinations required for a specific chemical correspond to a print job of the PMCPSP, each constituent corresponds to a different ink colour, each mixing and reaction chamber corresponds to a printer, and each constituent container corresponds to an ink cartridge.In this case the sequence-dependent setup times between jobs are incurred as a result of having to fit new constituent containers and having to clean the feeding pipes.
PMCPSP models are clearly also applicable in this case.
The three metaheuristics (a local improving search, a tabu search and simulated annealing) designed, implemented and tested in this paper in respect of their capabilities of uncovering high-quality (approximate) solutions to small instances of the PMCPSP are therefore also applicable to the application extensions mentioned above.It was found that the method of simulated annealing is the superior of the three approximate solution approaches.An automated decision support tool for solving the PMCPSP approximately was also designed and implemented in Microsoft Excel [12].This tool uses all three of the above metaheuristics to find good approximate solutions to the scheduling problem.It was finally demonstrated that the decision support tool developed here is capable of uncovering high-quality solutions to industrial size instances of the PMCPSP.
Although the local search metaheuristics considered in this paper were able to uncover satisfactory solutions to the problem instances considered in this paper, it would be interesting to investigate whether or not superior solutions may perhaps be uncovered for even larger problem instances by incorporating population-based metaheuristics (such as a genetic algorithm or a particle swarm optimisation algorithm) or purpose-built heuristics within a branch-and-bound scheme or dynamic programming solution approach in the DSS.

APPENDIX: MODEL FORMULATIONS
For the sake of completeness, this appendix contains mathematical formulations of the 2006 PMCPSP model by Helal et al. [8] and the 2013 PMCPSP model by Avalos-Rosales et al. [2], starting with the earlier formulation.
Let Ω j denote the completion time of job j Є J and define the decision variables 1 if job j is processed immediately after job i on machine k 0 otherwise for all i,j Є J 0 and k Є M, where J 0 = J U {0}.Here the dummy job 0 denotes the empty magazine state of a printer and the variables v 0jk and v i0k represent jobs that are to be processed on printer k Є M at the start and end of the printing schedule, respectively.Similarly, s 0jk denotes the setup time incurred when processing job j Є J first on machine k Є M. Then the objective in the PMCPSP formulation of Helal et al. ) ≤ Ωj, i Є J0, j Є J, (8) where Z is a large positive constant.The objective in ( 5) is to minimise the makespan of the schedule.Constraint set (6) ensures that each job is scheduled for processing exactly once, on one machine, while constraint set (7) ensures that each job is neither preceded nor succeeded by more than one other job.Constraint set (8), in which Z is a large positive integer, ensures that the job completion times are calculated correctly as the various jobs follow one another on each machine.Constraint set (9) ensures that exactly one job is scheduled first on each machine, while constraint sets (10)-( 12) guarantee that the makespan of the schedule is calculated correctly.Finally, constraint set (13) enforces the binary nature of the decision variables.
In the model formulation ( 5)-( 13), the makespan is linearized as the maximum of the completion times of all the jobs, as specified by constraint set (10).Avalos-Rosales et al. [2], however, found that the lower bound on Ωmax produced by the linear relaxation of ( 5)-( 13) is very weak and this prompted them to reformulate the model by linearizing the makespan as the maximum of the spans of all the machines.Using the same notation as above, together with the additional symbol Φ k denoting the completion time of printer k Є M, the objective in the model of Avalos-Rosales et al. [2] Constraint sets ( 15) and ( 16) respectively ensure that each job has exactly one predecessor and one successor.Furthermore, constraint set (17) specifies that at most one job should be scheduled first on each printer, while constraint set (18) embodies a collection of conservation of flow constraints which ensure that if a job is scheduled for processing on some printer, then a predecessor and a successor must exist for that job on the same printer.Constraint set (19) determines the correct processing order by establishing that, if v ijk = 1, then the completion time of job j must be greater than the completion time of job i on machine k.Whenever v ijk = 0, however, the corresponding constraint in (19) is redundant in view of the magnitude of Z. Constraint set (20) fixes the completion time of the dummy job (job 0) as zero and further serves, in conjunction with constraint set (19), to guarantee that the completion times of all jobs are positive.Constraint set (21) computes the completion time of the last job scheduled for processing on printer k, while constraint set (22) ensures a valid makespan for the schedule.

Figure 1 :
Figure 1: Input screen of the PMCPSP DSS in Microsoft Excel.Upon initialisation of the DSS in Excel, the user is presented with the input screen shown in Figure 1.In this screen, the user is required to provide input values in the fields labelled Search code, Initial sequence code, Number of print jobs, Setup time and Number of printers.The first two fields have to be populated with the letters L/S/T (representing the three solution methods local improving search, simulated annealing and tabu search, respectively) and R/L (representing the method of initialisation as random or by the LPTF rule, respectively).

Figure 2 :
Figure 2: Input matrix for printer data in the PMCPSP DSS.

Figure 3 :
Figure 3: Input matrix for job set data in the PMCPSP DSS.

Figure 4 :
Figure 4: Print schedule output window of the PMCPSP DSS.

Figure 5 :
Figure 5: Final results window of the PMCPSP DSS.

Figure 6 :
Figure 6: A high-speed flexico printer equipped with 8 colour cartridges which can print at a speed of 5.833 kg/min.

Figure 7 :
Figure 7: Progression of the simulated annealing search for the case study data set.

Table 2 : Ten instances of print job sets for the PMCPSP, each containing 24 jobs with each job requiring at least two and at most four colours from the universal colour set C in (4). The numbers in brackets are the volumes of the print jobs (in kg). Instance 1 Instance 2 Instance 3 Instance 4 Instance 5 Instance 6 Instance 7 Instance 8 Instance 9 Instance 10
Table3were obtained upon implementation of the three metaheuristic solution procedures of Section 3 (improving local search, tabu search and simulated annealing) in respect of the PMCPSP instances described above.The first twenty lines of the table contain results for the case where each printer has only b k = 4 colour cartridges and the metaheuristics are either initialised according to the LPTF rule (lines 1-10) or randomly (lines 11-20).The last twenty lines of the table similarly contain results for the case where each printer has b k = 6 colour cartridges and the metaheuristics are either initialised according to the LPTF rule (lines 21-30) or randomly (lines 31-40).