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

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

Download PDF

advertisement