ebook img

On rescheduling due to machine disruption while to minimize the total weighted completion time PDF

0.6 MB·
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview On rescheduling due to machine disruption while to minimize the total weighted completion time

On rescheduling due to machine disruption while to minimize the total weighted completion time∗ Wenchang Luo1,2, Taibo Luo2,3, Randy Goebel2, and Guohui Lin2 1 Faculty of Science, Ningbo University. Ningbo, Zhejiang 315211, China. 2 Department of Computing Science, University of Alberta. Edmonton, Alberta T6G 2E8, Canada. {wenchang,taibo,rgoebel,guohui}@ualberta.ca 3 Business School, Sichuan University. Chengdu, Sichuan 610065, China. Abstract 7 Weinvestigateasinglemachinereschedulingproblemthatarisesfromanunexpectedmachineun- 1 availability,afterthegivensetofjobshasalreadybeenscheduledtominimizethetotalweighted 0 completiontime. Suchadisruptionisrepresentedasanunavailabletimeintervalandisrevealed 2 to the production planner before any job is processed; the production planner wishes to resched- n ule the jobs to minimize the alteration to the originally planned schedule, which is measured as a J the maximum time deviation between the original and the new schedules for all the jobs. The 5 objectivefunctioninthisreschedulingproblemistominimizethesumofthetotalweightedcom- 2 pletiontimeandtheweightedmaximumtimedeviation,undertheconstraintthatthemaximum timedeviationisboundedabovebyagivenvalue. Thatis,themaximumtimedeviationistaken ] S bothasaconstraintandaspartoftheobjectivefunction. Wepresentapseudo-polynomialtime D exact algorithm and a fully polynomial time approximation scheme, the latter of which is the . best possible given that the general problem is NP-hard. s c [ 1998ACMSubjectClassification Dummyclassification–pleaserefertohttp://www.acm.org/ 1 about/class/ccs98-html v 8 Keywords and phrases Rescheduling; machine disruption; total weighted completion time; ap- 9 proximation scheme 4 7 0 Digital Object Identifier 10.4230/LIPIcs... . 1 0 1 Introduction 7 1 : In most modern production industries and service systems, various kinds of disruptions v will occur, such as order cancellations, new order arrivals, machine breakdown, and labor i X or material shortages. An ideal scheduling system is expected to effectively adjust an r originally planned schedule to account for such disruptions, in order to minimize the effects a of the disruption on overall performance. The extent of an alteration to the originally plannedschedule,tobeminimized,becomeseitherasecondobjectivefunction(e.g.,tomodel measurable costs), or is formulated as a constraint to model hard-to-estimate costs, which may be incorporated into to the original objective function. In this paper, we investigate the single machine scheduling problem with the objective to minimize the total weighted completion time. Rescheduling arises because of unexpected machineunavailability,whichwerepresentasanunavailabletimeinterval. Thisunavailability is revealed to the production planner after the given set of jobs has already been scheduled but processing has not begun. The production planner wishes to reschedule the jobs to ∗ ThisworkwaspartiallysupportedbyNSERCCanada,BrainCanada,NSFChinaandCSCChina. ©WenchangLuo,TaiboLuo,RandyGoebelandGuohuiLin; licensedunderCreativeCommonsLicenseCC-BY LeibnizInternationalProceedingsinInformatics SchlossDagstuhl–Leibniz-ZentrumfürInformatik,DagstuhlPublishing,Germany XX:2 Rescheduling due to machine disruption minimize the alteration to the originally planned schedule, measured as the maximum time deviation between the original and the new schedules for all jobs. The maximum time deviation is taken both as a constraint and as part of the objective function; that is, the maximum time deviation is bounded above by a given value, and the new objective function is to minimize the sum of the total weighted completion time and the weighted maximum time deviation. 1.1 Problem description and definitions We formally present our rescheduling problem in what follows, including definitions and notation to be used throughout the paper. We are given a set of jobs J ={J ,J ,...,J }, where the job J has an integer weight 1 2 n j w and requires an integer non-preemptive processing time p on a single machine, with the j j original objective to minimize the total weighted completion time. This problem is denoted as (1 || Pn w C ) under the three-field classification scheme [4], where C denotes the j=1 j j j completiontimeofthejobJ . Itisknownthattheweighted shortest processing time(WSPT) j rule gives an optimal schedule for the problem (1||Pn w C ). We thus assume that the j=1 j j jobs are already sorted in the WSPT order, that is, p1 ≤ p2 ≤ ... ≤ pn, and we denote w1 w2 wn this order/schedule as π∗, referred to as the original schedule (also called the pre-planned schedule, or pre-schedule, in the literature). The rescheduling arises due to a machine disruption: the machine becomes unavailable in the time interval [T ,T ], where 0 ≤ T <T . We assume, without loss of generality, that 1 2 1 2 this information is known to us at time zero, so no job is yet processed. (Otherwise, one may remove those processed jobs from consideration, and for the partially processed job, either run it to completion and remove it, or stop processing it immediately.) Let σ be a schedule after resolving the machine disruption. That is, no job of J is processed in the time interval [T ,T ] in σ. As in the existing literature, we use the following 1 2 notation: for each job J , j S (σ): the starting time of the job J in the schedule σ; j j C (σ): the completion time of the job J in the schedule σ, and thus C (σ)=S (σ)+p ; j j j j j C (π∗): the completion time of the job J in the original schedule π∗; j j ∆ (π∗,σ)=|C (σ)−C (π∗)|: the time deviation of the job J in the two schedules. j j j j Let ∆ (π∗,σ)(cid:44)maxn {∆ (π∗,σ)} denote the maximum time deviation for all jobs. max j=1 j When it is clear from the context, we simplify the terms S (σ), C (σ), ∆ (π∗,σ) and j j j ∆ (π∗,σ) to S , C , ∆ and ∆ , respectively. max j j j max The time deviation of a job measures how much its actual completion time is off the originallyplanned,andthusitcanmodelthepenaltiesresultedfromthedeliverytimechange to the satisfaction of the customers, as well as the cost associated with the rescheduling of resources that are needed before delivery. In our problem, the time deviation is both taken as a constraint, that is ∆ ≤ k for a given upper bound k, and added to the objective max function to minimize µ∆ +Pn w C , for a given balancing factor µ≥0. That is, the max j=1 j j goal of rescheduling is to minimize the sum of the weighted maximum time deviation and the total weighted completion time. Thus, our problem is denoted as (1,h | ∆ ≤ k | 1 max µ∆ +Pn w C )underthethree-fieldclassificationscheme[4],wherethefirstfield“1,h ” max j=1 j j 1 denotes a single machine with a single unavailable time period, the second field “∆ ≤k” max indicates the constraint on the maximum time deviation, and the last field is the objective function. Luo et al. version/27th January 2017 XX:3 1.2 Related research We next review major research on the variants of the rescheduling problem, inspired by many practical applications. To name a few such applications, Bean et al. [2] investigated an automobile industry application, and proposed a heuristic match-up scheduling approach to accommodate disruptions from multiple sources. Zweben et al. [17] studied the GERRY scheduling and rescheduling system that supports Space Shuttle ground processing, using a heuristic constraint-based iterative repair method. Clausen et al. [3] considered a shipyard application, where the goal for rescheduling is to store large steel plates for efficient access by two non-crossing portal cranes that move the plates to appropriate places. Vieira et al. [12], Aytug et al. [1], Herroelen and Leus [8] and Yang et al. [13] provided extensive reviews of the rescheduling literature, including taxonomies, strategies and algorithms, for both deterministic and stochastic environments. In a seminal paper on rescheduling theory for a single machine, Hall and Potts [7] considered the rescheduling problem required to deal with the arrival of a new set of jobs, which disrupts the pre-planned schedule of the original jobs. Such a problem is motivated by the unexpected arrival of new orders in practical manufacturing systems. First, the set of original jobs has been optimally scheduled to minimize a cost function, typically the maximum lateness or the total completion time; but no job has yet been executed. In this case, promises have been made to the customers based on the schedule. Then an unexpected new set of jobs arrives before the processing starts; the production planner needs to insert the new jobs into the existing schedule seeking to minimize change to the original plan. The measure of change to the original schedule is the maximum or total sequence deviation, or the maximum or total time deviation. For both cases — where the measure of change is modeledonlyasaconstraint, orwherethemeasureofchangeismodeledbothasaconstraint andisaddedtotheoriginalcostobjective—theauthorsprovideeitheranefficientalgorithm or an intractability proof for several problem variants. Yuan and Mu [15] studied a rescheduling problem similar to the one in [7], but with the objective to minimize the makespan subject to a limit on the maximum sequence deviation of the original jobs; they show that such a solution is polynomial time solvable. Hall et al. [5] considered an extension of the rescheduling problem in [7], where the arrivals of multiple new setsofjobscreaterepeateddisruptionstominimizethemaximumlatenessofthejobs,subject to a limit on the maximum time deviation of the original jobs; they proved the NP-hardness and presented several approximation algorithms with their worst-case performance analysis. Hall and Potts [6] also studied the case where the disruption is a delayed subset of jobs (or called job unavailability), with the objective to minimize the total weighted completion time, under a limit on the maximum time deviation; they presented an exact algorithm, an intractability proof, a constant-ratio approximation algorithm, and a fully polynomial-time approximationscheme(FPTAS).Hoogeveenet al.[9]studiedthecasewherethedisruptionis the arrival of new jobs and the machine needs a setup time to switch between processing an originaljobandprocessinganewjob;theirbi-criterionobjectiveistominimizethemakespan and to minimize the maximum (or total) positional deviation or the maximum (or total) time deviation, with certain assumptions on the setup times. They presented a number of polynomialtimeexactalgorithmsandintractabilityproofsforseveralproblemvariants. Zhao and Yuan [16] examined the case where the disruption is the arrival of new jobs which are associated with release dates, formulated a bi-objective function to minimize the makespan and to minimize the total sequence deviation, under a limit on the total sequence deviation; they presented a strongly polynomial-time algorithm for finding all Pareto optimal points of the problem. XX:4 Rescheduling due to machine disruption Liu and Ro [11] considered the same machine disruption as ours — the machine is unavailable for a period of time — but with the objective to minimize the makespan (or the maximum job lateness) and the weighted maximum time deviation, under a limit on the maximum time deviation; they presented a pseudo-polynomial time exact algorithm, a 2-approximation algorithm, and an FPTAS. Yin et al. [14] studies the rescheduling problem onmultipleidenticalparallelmachineswithmultiplemachinedisruptions,andthebi-criterion objective is to minimize the total completion time and to minimize the total virtual tardiness (or the maximum time deviation); in addition to hardness results, they presented a two- dimensional FPTAS when there is exactly one machine disruption. Among all related research in the above, the work of Liu and Ro [11] is the most relevant to our work in terms of the scheduling environment, and the work of Hall and Potts [6] is the most relevant in terms of the original objective function. 1.3 Our contributions and organization Our problem (1,h | ∆ ≤ k | µ∆ +Pn w C ) includes three interesting special 1 max max j=1 j j cases, some of which have received attention in the literature: when the given bound k is sufficiently large, the time deviation constraint becomes void and our problem reduces to the total cost problem (1,h ||µ∆ +Pn w C ); when the time deviation factor µ=0, 1 max j=1 j j our problem reduces to the constrained rescheduling problem, without the need to minimize the time deviation; and finally, when the given bound k is sufficiently large and the time deviationfactorµ=0, ourproblemreducestotheclassicschedulingproblemwithamachine unavailability period (1,h ||Pn w C ) [10], which is NP-hard. 1 j=1 j j The rest of the paper is organized as follows: In Section 2, we derive structural properties that are associated with the optimal solutions to our rescheduling problem (1,h |∆ ≤ 1 max k |µ∆ +Pn w C ). InSection3,wepresentapseudo-polynomialtimeexactalgorithm. max j=1 j j In Section 4, we first develop another slower pseudo-polynomial time exact algorithm solving the special case where µ = 0, this is, the problem (1,h | ∆ ≤ k | Pn w C ). Based 1 max j=1 j j on this slower exact algorithm, we present an FPTAS for our general rescheduling problem. The FPTAS is an integration of a linear number of FPTASes. We conclude our paper in the last section, with some final remarks. 2 Preliminaries Firstly, fromtheNP-hardnessoftheclassicschedulingproblemwithamachineunavailability period (1,h ||Pn w C ) [10], we conclude that our rescheduling problem (1,h |∆ ≤ 1 j=1 j j 1 max k |µ∆ +Pn w C ) is also NP-hard. max j=1 j j Recall that we are given a set of jobs J = {J ,J ,...,J }, where each job J has 1 2 n j a positive weight w and a positive processing time p , in the WSPT order, a machine j j unavailability period [T ,T ] with 0 ≤ T < T , an upper bound k on the maximum time 1 2 1 2 deviation, andabalancingfactorµ≥0. Allthesew ’s, p ’s, T , T , k areintegers, andµisa j j 1 2 rational number. For any feasible schedule σ to the rescheduling problem, from ∆ ≤k we max conclude that for every job J , C (π∗)−k ≤C (σ)≤C (π∗)+k. For ease of presentation, j j j j we partition σ into two halves, similar to the existing literature: the prefix of the schedule σ with the jobs completed before or at time T is referred to as the earlier schedule of σ, 1 and the suffix of the schedule σ with the jobs completed after time T is referred to as the 2 later schedule of σ. We assume, without loss of generality, that with the same ∆ , all the max jobs are processed as early as possible in σ (to achieve the minimum possible total weighted completion time). Let σ∗ denote an optimal schedule to the rescheduling problem. Luo et al. version/27th January 2017 XX:5 2.1 Problem setting Let n n p (cid:44)mninp , p (cid:44)mnaxp , P (cid:44)Xp , w (cid:44)mnaxw , and W (cid:44)Xw . (1) min j max j j max j j j=1 j=1 j=1 j=1 j=1 Using the original schedule π∗ =(1,2,...,n), we compute j (cid:44)min{j |C (π∗)>T }, j (cid:44)min{j |S (π∗)≥T }, (2) 1 j 1 2 j 2 i.e., J is the first job in π∗ completed strictly after time T and J is the first job in π∗ j1 1 j2 startingprocessingatoraftertimeT . Oneclearlyseesthatifj isvoid,thennorescheduling 2 1 is necessary; in the sequel, we always assume that the job J exists. Nevertheless we note j1 that j could be void, which means that all the jobs start processing strictly before time T 2 2 in π∗. We may furthermore assume the following relations hold among p ,P,T ,T and k, to min 1 2 ensure that the rescheduling problem is non-trivial: p ≤T <P, and T −S (π∗)≤k. (3) min 1 2 j1 For a quick proof, firstly, if T < p , then no job can be processed before the machine 1 min unavailabilityperiodandthusthescheduleπ∗ remainsoptimalexceptthatthejobprocessing starts at time T instead of time 0; secondly, if T ≥P, then no rescheduling is necessary. 2 1 Lastly, from the definition of the job J in Eq. (2), we conclude that at least one job among j1 J ,J ,...,J must be completed after time T in any feasible rescheduling solution, with its 1 2 j1 2 time deviation at least T −S (π∗). Therefore, T −S (π∗)≤k, as otherwise no feasible 2 j1 2 j1 solution exists. 2.2 Structure properties of the optimal schedules There is a very regular property of our target optimal schedules to the rescheduling problem, stated in the following lemma. (cid:73) Lemma 1. There exists an optimal schedule σ∗ for the rescheduling problem (1,h | 1 ∆ ≤k |µ∆ +Pn w C ), in which max max j=1 j j (a) the jobs in the earlier schedule are in the same order as they appear in π∗; (b) the jobs in the later schedule are also in the same order as they appear in π∗. Proof. By contradiction, assume (J ,J ) is the first pair of jobs for which J precedes J in i j i j π∗, i.e. p /w ≤ p /w , but J immediately precedes J in the earlier schedule of σ∗. Let i i j j j i σ0 denote the new schedule obtained from σ∗ by swapping J and J . If C (σ0) ≥ C (π∗), j i j j then C (σ0) ≥ C (π∗) too, and thus ∆ (σ0,π∗) ≤ ∆ (σ0,π∗) < ∆ (σ∗,π∗) due to p > 0; if i i j i i j C (σ0) < C (π∗) and C (σ0) ≤ C (π∗), then ∆ (σ0,π∗) ≤ ∆ (σ0,π∗) < ∆ (σ∗,π∗) due to j j i i i j j p > 0; lastly if C (σ0) < C (π∗) and C (σ0) > C (π∗), then ∆ (σ0,π∗) < ∆ (σ∗,π∗) and i j j i i i i ∆ (σ0,π∗)<∆ (σ∗,π∗). That is, σ0 is also a feasible reschedule. j j Furthermore, the weighted completion times contributed by J and J in σ0 is no more i j than those in σ∗, implying the optimality of σ0. It follows that, if necessary, after a sequence of job swappings, we will obtain an optimal reschedule in which the jobs in the earlier schedule are in the same order as they appear in π∗. The second part of the lemma can be similarly proved (see the Appendix A). (cid:74) XX:6 Rescheduling due to machine disruption There are several more properties in the following Lemma 2, which are important to the design and analysis of the algorithms to be presented. Most of these properties also hold for the optimal schedules to a similar makespan rescheduling problem (1,h | ∆ ≤ k | 1 max µ∆ +C ) [11]. We remark that the makespan is only a part of our objective, and the max max original schedule for the makespan scheduling problem (1,h |∆ ≤k |µ∆ +C ) 1 max max max can be arbitrary. However, for our problem, the jobs in π∗ are in the special WSPT order. Our goal is to compute an optimal schedule satisfying (the properties stated in) Lemmas 1 and 2, and thus we examine only those feasible schedules σ satisfying Lemmas 1 and 2. Recall that we assume, for every feasible schedule σ to the rescheduling problem with the same ∆ , all the jobs are processed as early as possible in σ (to achieve the minimum max possible total weighted completion time). However this does not rule out the possibility that themachinewouldidle. Infact, themachinehastoidleforaperiodoftimerightbeforetime T , if no job can be fitted into this period for processing; also, the machine might choose to 1 idle for a period of time and then proceeds to process a job, in order to obtain a smaller ∆ . In the sequel, our discussion is about the latter kind of machine idling. The good max news is that there are optimal schedules in which the machine has at most one such idle time period, as shown in the following Lemma 2. This makes our search for optimal schedules much easier. (cid:73) Lemma 2. There exists an optimal schedule σ∗ for the rescheduling problem (1,h | 1 ∆ ≤k |µ∆ +Pn w C ), in which max max j=1 j j (a) C (σ∗)≤C (π∗) for each job J in the earlier schedule; j j j (b) the machine idles for at most one period of time in the earlier schedule; (c) each job in the earlier schedule after the idle time period is processed exactly ∆ time max units earlier than in π∗; (d) the jobs in the earlier schedule after the idle time period are consecutive in π∗; (e) the job in the earlier schedule right after the idle time period has a starting time at or after time T in π∗; 2 (f) the machine does not idle in the later schedule; (g) the first job in the later schedule reaches the maximum time deviation among all the jobs in the later schedule. Proof. Item (a) is a direct consequence of Lemma 1, since the jobs in the earlier schedule are in the same order as they appear in π∗, which is the WSPT order. Proofs of (b)–(g) are similar to those in [11], where they are proven for an arbitrary original schedule, while the WSPT order is only a special order. For completeness, the proofs are included in the Appendix B. (cid:74) Among the jobs J ,J ,...,J , we know that some of them will be processed in the 1 2 j1 later schedule of the optimal schedule σ∗. By Lemma 1, we conclude that the first job in the later schedule is from J ,J ,...,J . We use J to denote this job, and consequently 1 2 j1 a (J ,J ,...,J ) remains as the prefix of the earlier schedule. The time deviation of J is 1 2 a−1 a ∆ =T −S (π∗)≤k (which could be used to further narrow down the candidates for J ). a 2 a a (cid:73) Corollary 3. In an optimal schedule σ∗ satisfying Lemmas 1 and 2, suppose the job J is a the first job in the later schedule. For each j =a+1,a+2,...,j −1, if the job J is in the 2 j earlier schedule, then its time deviation ∆ is less than ∆ . j a Proof. From the definition of j in Eq. (2), we know that S (π∗) < T , and therefore its 2 j 2 time deviation is ∆ <T −S (π∗)=∆ . (cid:74) j 2 a a Luo et al. version/27th January 2017 XX:7 3 A dynamic programming exact algorithm In this section, we develop an exact algorithm DP-1 for the rescheduling problem (1,h | 1 ∆ ≤k |µ∆ +Pn w C ), to compute an optimal schedule σ∗ satisfying Lemmas 1 max max j=1 j j and 2. The key idea is as follows: By Lemma 2(g), we first guess the job J that starts a processing at time T in σ∗, with its time deviation ∆ = T −S (π∗) ≤ k. From this 2 a 2 a initial partial schedule,1 our algorithm constructs some feasible full schedules satisfying Lemmas 1 and 2. To guarantee that our algorithm constructs an optimal full schedule in pseudo-polynomialtime,weusea“hash”functiontomapapartialscheduleintoaquadruple, suchthatonlyonepartialscheduleperquadrupleisusedinthecomputation, tobedescribed in detail in the following. At the end, the full schedule with the minimum objective function value is returned as the solution σ∗. We notice from Lemmas 1 and 2(a) that the time deviations of the jobs in the earlier schedule of σ∗ are non-decreasing, with the first (a−1) ones being 0’s. From the constraint ∆ ≤k, the last job in the schedule π∗ that can possibly be in the earlier schedule of σ∗ is max J with j3 j (cid:44)max{j |C (π∗)−k ≤T }. (4) 3 j 1 We use P to denote the total processing time of the first i jobs in π∗: i i X P (cid:44) p , for i=1,2,...,n. (5) i j j=1 The exact algorithm DP-1 is a dynamic programming, that sequentially assigns the job J to the partial schedules on the first j jobs J ,J ,...,J ; each such partial schedule is j+1 1 2 j described (hashed) as a quadruple (j;‘ ,e ;Z ), where a≤j ≤j , no machine idling period j j j 3 in the earlier schedule, ‘ is the total processing time of the jobs in the earlier schedule, e is j j the index of the last job in the earlier schedule, and Z is the total weighted completion time j of the jobs in the partial schedule. Note that only one, though arbitrary, partial schedule is saved by DP-1 for each quadruple. For ease of presentation, we partition the jobs into four subsequences: J = (J ,J ,...,J ), 1 1 2 a−1 J = (J ,J ,...,J ), 2 a+1 a+2 j2−1 (6) J = (J ,J ,...,J ), 3 j2 j2+1 j3 J = (J ,J ,...,J ). 4 j3+1 j3+2 n From Lemma 1 and Eq. (4), we know that J is a prefix of the earlier schedule and J is a 1 4 suffix of the later schedule, and thus DP-1 takes care of only the jobs of J ∪J . Let Z(J ) 2 3 1 denote the total weighted completion time of the jobs in J , and Z(J ) denote the total 1 4 weighted completion time of the jobs in J by starting the job processing at time 0. 4 The (only) starting partial schedule for DP-1 is described as (a;‘ ,e ;Z )=(a;P ,a−1;Z(J )+w (T +p )), (7) a a a a−1 1 a 2 a in which the job J starts processing at time T . In general, given a quadruple (j;‘ ,e ;Z ) a 2 j j j with a≤j <j , that represents a partial schedule on the first j jobs, DP-1 assigns the next 3 1 Intheentirepaper,weexamineonlyfeasiblepartialschedulesrestrictedtotheconsideredjobs;these partialschedulescanalwaysbecompletedintocertainfeasiblefullschedules. XX:8 Rescheduling due to machine disruption job J of J ∪J as follows to generate at most three new partial schedules each described j+1 2 3 asaquadruple(j+1;‘ ,e ;Z ). Furthermore, ifanon-emptymachineidlingperiodis j+1 j+1 j+1 inserted in the earlier schedule of a new partial schedule, then the partial schedule is directly completed optimally to a full schedule using Lemma 2(d). Case 1. J is added in the later schedule to obtain a partial schedule described as: j+1 (j+1;‘ ,e ;Z )=(j+1;‘ ,e ;Z +w (T +P −‘ )), (8) j+1 j+1 j+1 j j j j+1 2 j+1 j in which C =T +P −‘ . The feasibility holds since ∆ ≤∆ by Lemma 2(g). j+1 2 j+1 j j+1 a Case 2. If J can fit in the earlier schedule, that is ‘ +p ≤ T and C (π∗)− j+1 j j+1 1 j+1 (‘ +p )≤k, then we add J in the earlier schedule without inserting a machine idling j j+1 j+1 period to obtain a feasible partial schedule described as: (j+1;‘ ,e ;Z )=(j+1;‘ +p ,j+1;Z +w (‘ +p )), (9) j+1 j+1 j+1 j j+1 j j+1 j j+1 in which C = ‘ +p and ∆ = C (π∗)−(‘ +p ). From Corollary 3, for j+1 j j+1 j+1 j+1 j j+1 J ∈J we have ∆ <∆ and thus no need for checking the second inequality. j+1 2 j+1 a Case 3. If ‘ +p < T and C (π∗)−(‘ +p ) > max{∆ ,∆ }, then we add j j+1 1 j+1 j j+1 ej a J in the earlier schedule and insert a non-empty machine idling period right before it. j+1 The following Lemma 4 states that the exact length of the machine idling period can be determined in O(n−j)-time, and during the same time, the partial schedule is directly optimally completed into a full schedule using Lemma 2(d). Lastly, for every quadruple (j;‘ ,e ;Z ) with j =j representing a partial schedule on j j j 3 the first j jobs, the algorithm DP-1 completes it by assigning all the jobs of J in the later 3 4 schedule, starting at time T +P −‘ , to obtain a full schedule described as the quadruple 2 j j     n X (n;‘n,en;Zn)=n;‘j,ej;Zj +Z(J4)+ wi(T2+Pj −‘j), (10) i=j+1 for which the maximum time deviation is ∆ =max{∆ ,∆ } and the objective function max en a value is Zˆ (cid:44)µmax{∆ ,∆ }+Z . (11) n en a n (cid:73)Lemma4. WhenthejobJ isaddedintheearlierscheduleofapartialscheduledescribed j+1 as (j;‘ ,e ;Z ) and a non-empty machine idling period is inserted before it, then j j j (a) the minimum possible length of this period is max{1,C (π∗)−(‘ +p )−k}; j+1 j j+1 (b) themaximumpossiblelengthofthisperiodismin{C (π∗)−(‘ +p )−max{∆ ,∆ }, j+1 j j+1 ej a T −(‘ +p )}; 1 j j+1 (c) the exact length can be determined in O(n−j)-time; (d) during the same time an optimal constrained full schedule is achieved directly. Proof. 1 is a trivial lower bound given that all job processing times are positive integers. Next, if C (π∗)−(‘ +p ) > k, then we cannot process J immediately at time ‘ j+1 j j+1 j+1 j as this would result in a time deviation greater than the given upper bound k; and the earliest possible starting time is C (π∗)−p −k, leaving a machine idling period of j+1 j+1 length C (π∗)−(‘ +p )−k. This proves item (a). j+1 j j+1 The maximum possible length for the period is no more than C (π∗)−(‘ +p )− j+1 j j+1 max{∆ ,∆ }, for otherwise ∆ would be less than max{∆ ,∆ }. However, ∆ <∆ ej a j+1 ej a j+1 ej contradicts Lemma 1 and Lemma 2(a) that suggest the jobs in the earlier schedule should Luo et al. version/27th January 2017 XX:9 have non-decreasing time deviations; ∆ <∆ contradicts Lemma 2(c) that ∆ ≥∆ . j+1 a max a Also, since J is added to the earlier schedule, the length of the idling period has to be at j+1 most T −(‘ +p ). This proves item (b). 1 j j+1 Let L = max{1,C (π∗)−(‘ +p )−k} and U = min{C (π∗)−(‘ +p )− j+1 j j+1 j+1 j j+1 max{∆ ,∆ },T −(‘ +p )}. For each value i∈[L,U], we 1) start processing J at ej a 1 j j+1 j+1 time ‘ +i, 2) then continuously process succeeding jobs in the earlier schedule until the one j won’t fit in, and 3) lastly process all the remaining jobs in the later schedule. This gives a full schedule, denoted as πi, with the total weighted completion time denoted Zi, and the n maximum time deviation ∆i =∆ =C (π∗)−(‘ +p )−i. Its objective function max j+1 j+1 j j+1 value is Zˆi (cid:44)µ∆i +Zi. n max n It follows that the interval [L,U] can be partitioned into O(n−j) sub-intervals, such that for all values in a sub-interval say [i ,i ], the jobs assigned to the earlier schedule are 1 2 identical; and consequently the objective function value Zˆi is a linear function in i, where n i ≤i≤i . It follows that among all these full schedules, the minimum objective function 1 2 value must be achieved at one of Zˆi1 and Zˆi2. That is, we in fact do not need to compute n n the full schedules πi’s with those i’s such that i <i<i , and consequently there are only 1 2 O(n−j) full schedules to be computed. These sub-intervals can be determined as follows: when i=L, let the jobs fit into the earlier schedule after the machine idling period be J ,J ,...,J , then the first sub- j+1 j+2 j+s interval is [L,L+T −C ], where C is the completion time of J in the full schedule 1 j+s j+s j+s πi; the second sub-interval is [L+T −C +1,L+T −C ]; the third sub-interval 1 j+s 1 j+s−1 is [L+T −C +1,L+T −C ]; and so on, until the last interval hits the upper 1 j+s−1 1 j+s−2 bound U. The optimal length of the machine idling period is the one i∗ that minimizes Zˆi, among n the O(n−j) computed full schedules, and we obtain a corresponding constrained optimal full schedule directly from the partial schedule described as the quadruple (j;‘ ,e ;Z ). (cid:74) j j j (cid:73) Theorem 5. The algorithm DP-1 solves the rescheduling problem (1,h | ∆ ≤ k | 1 max µ∆ +Pn w C ), with its running time in O(n3T w (T +P)), where n is the number max j=1 j j 1 max 2 of jobs, [T ,T ] is the machine unavailable time interval, P is the total job processing time, 1 2 and w is the maximum weight of the jobs. max Proof. In the above, we presented the dynamic programming algorithm DP-1 to compute a full schedule for each quadruple (n;‘ ,e ;Z ) satisfying Lemmas 1 and 2, under the n n n constraint that the job J starts processing at time T . The final output schedule is the one a 2 with the minimum Zˆ , among all the choices of J such that ∆ ≤ k. Its optimality lies n a a in the quadruple representation for the partial schedules and the recurrences we developed in Eqs. (7–10). There are O(j ) choices for J , and for each J we compute a partial 1 a a schedule for each quadruple (j;‘ ,e ;Z ), where a ≤ j ≤ j or j = n, P ≤ ‘ ≤ T , j j j 3 a−1 j 1 a−1≤e ≤j, and Z ≤max w (T +P). Since one partial schedule leads to at most three j j j j 2 other partial schedules, and each takes an O(1)-time to compute, the overall running time is O(n3T w (T +P)). (cid:74) 1 max 2 4 An FPTAS TheroutetotheFPTASforthereschedulingproblem(1,h |∆ ≤k |µ∆ +Pn w C ) 1 max max j=1 j j is as follows: we first consider the special case where µ = 0, that is (1,h | ∆ ≤ k | 1 max Pn w C ), where the maximum time deviation is only upper bounded by k but not taken j=1 j j as part of the objective function, and design another exact algorithm, denoted as DP-2, XX:10 Rescheduling due to machine disruption using a different dynamic programming recurrence; then we develop from the algorithm DP-2 an FPTAS for the special case; lastly, we use the FPTAS for the special case multiple times to design an FPTAS for the general case. 4.1 Another dynamic programming exact algorithm for µ = 0 In this special case, we have stronger conclusions on the target optimal schedule σ∗ than thosestatedinLemma2, oneofwhichisthatifthereisamachineidlingperiodintheearlier schedule of σ∗, then ∆ =k. This follows from the fact that we may start processing the max jobs after the idling period one time unit earlier, if ∆ <k, to decrease the total weighted max completion time. We conclude this in the following lemma. (cid:73) Lemma 6. There exists an optimal schedule σ∗ for the rescheduling problem (1,h | 1 ∆ ≤k |Pn w C ), in which if the machine idles in the earlier schedule then ∆ =k. max j=1 j j max The new exact algorithm DP-2 heavily relies on this conclusion (and thus it does not work for the general case). DP-2 has a running time complexity worse than DP-1, but it can be readily developed into an FPTAS. The framework of the new algorithm DP-2 is the same, and we continue to use the notations defined in Eqs. (4–6). But now we use a new quadruple (j;‘1,‘2;Z ) to describe a j j j partial schedule on the first j jobs, where a≤j ≤j , no machine idling period in the earlier 3 schedule, ‘1 is the maximum job completion time in the earlier schedule, ‘2 is the maximum j j job completion time in the later schedule, and Z is the total weighted completion time of j the jobs in the partial schedule. Starting with guessing J (from the pool J ,J ,...,J ) to be the job started processing a 1 2 j1 at time T , such that ∆ = T −S (π∗) ≤ k, the (only) corresponding partial schedule is 2 a 2 a described as the quadruple (a;‘1,‘2;Z )=(a;P ,T +p ;Z(J )+w (T +p )). (12) a a a a−1 2 a 1 a 2 a In general, given a quadruple (j;‘1,‘2;Z ) with a≤j <j representing a partial schedule on j j j 3 thefirstj jobs,thealgorithmDP-2assignsthenextjobJ ofJ ∪J asfollowstogenerate j+1 2 3 at most three new partial schedules each described as a quadruple (j+1;‘1 ,‘2 ;Z ). j+1 j+1 j+1 Furthermore, if a non-empty machine idling period is inserted in the earlier schedule of a new partial schedule, then it is directly completed optimally into a full schedule using Lemma 2(d). Case 1. J is added in the later schedule to obtain a partial schedule described as: j+1 (j+1;‘1 ,‘2 ;Z )=(j+1;‘1,‘2+p ;Z +w (‘2+p )), (13) j+1 j+1 j+1 j j j+1 j j+1 j j+1 in which C =‘2+p . The feasibility holds since ∆ ≤∆ by Lemma 2(g). j+1 j j+1 j+1 a Case 2. If J can fit in the earlier schedule, that is ‘1+p ≤ T and C (π∗)− j+1 j j+1 1 j+1 (‘1+p )≤k, then we add J in the earlier schedule without inserting a machine idling j j+1 j+1 period to obtain a feasible partial schedule described as: (j+1;‘1 ,‘2 ;Z )=(j+1;‘1+p ,‘2;Z +w (‘1+p )), (14) j+1 j+1 j+1 j j+1 j j j+1 j j+1 in which C = ‘1 +p and ∆ = C (π∗)−(‘1 +p ). From Corollary 3, for j+1 j j+1 j+1 j+1 j j+1 J ∈J we have ∆ <∆ and thus no need for checking the second inequality. j+1 2 j+1 a Case 3. If ‘1+p <C (π∗)−k ≤T , then we add J in the earlier schedule and j j+1 j+1 1 j+1 insert a non-empty machine idling period of length C (π∗)−(‘1+p )−k right before j+1 j j+1

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.