A polynomial-time approximation scheme for the two-machine flow shop scheduling problem with an availability constraint

Similar documents
An improved approximation algorithm for two-machine flow shop scheduling with an availability constraint

STABILITY OF JOHNSON S SCHEDULE WITH LIMITED MACHINE AVAILABILITY

HEURISTICS FOR TWO-MACHINE FLOWSHOP SCHEDULING WITH SETUP TIMES AND AN AVAILABILITY CONSTRAINT

Complexity analysis of job-shop scheduling with deteriorating jobs

Minimizing Mean Flowtime and Makespan on Master-Slave Systems

Complexity and Algorithms for Two-Stage Flexible Flowshop Scheduling with Availability Constraints

Heuristics for two-machine flowshop scheduling with setup times and an availability constraint

Research Article Batch Scheduling on Two-Machine Flowshop with Machine-Dependent Setup Times

Scheduling Linear Deteriorating Jobs with an Availability Constraint on a Single Machine 1

Improved Bounds for Flow Shop Scheduling

Optimal on-line algorithms for single-machine scheduling

Scheduling jobs with agreeable processing times and due dates on a single batch processing machine

Scheduling Parallel Jobs with Linear Speedup

Minimizing the total flow-time on a single machine with an unavailability period

On Machine Dependency in Shop Scheduling

Single Machine Scheduling with Job-Dependent Machine Deterioration

Algorithm Design. Scheduling Algorithms. Part 2. Parallel machines. Open-shop Scheduling. Job-shop Scheduling.

An FPTAS for parallel-machine scheduling under a grade of service provision to minimize makespan

This means that we can assume each list ) is

arxiv: v1 [math.oc] 3 Jan 2019

The coordinated scheduling of steelmaking with multi-refining and tandem transportation

Batch delivery scheduling with simple linear deterioration on a single machine 1

Single machine scheduling with forbidden start times

4 Sequencing problem with heads and tails

A half-product based approximation scheme for agreeably weighted completion time variance

University of Twente. Faculty of Mathematical Sciences. Scheduling split-jobs on parallel machines. University for Technical and Social Sciences

HYBRID FLOW-SHOP WITH ADJUSTMENT

Accepted Manuscript. An Approximation Algorithm for the Three-Machine Scheduling Problem with the Routes Given by the Same Partial Order

Approximation Schemes for Job Shop Scheduling Problems with Controllable Processing Times

A note on the complexity of the concurrent open shop problem

Theoretical Computer Science

arxiv: v2 [cs.dm] 2 Mar 2017

Lecture 2: Scheduling on Parallel Machines

Algorithms. Outline! Approximation Algorithms. The class APX. The intelligence behind the hardware. ! Based on

APTAS for Bin Packing

Approximation Schemes for Parallel Machine Scheduling Problems with Controllable Processing Times

Partial job order for solving the two-machine flow-shop minimum-length problem with uncertain processing times

Semi-Online Multiprocessor Scheduling with Given Total Processing Time

Embedded Systems 14. Overview of embedded systems design

Completion Time Scheduling and the WSRPT Algorithm

High Multiplicity Scheduling on One Machine with Forbidden Start and Completion Times

Approximation schemes for parallel machine scheduling with non-renewable resources

Complexity analysis of the discrete sequential search problem with group activities

5 Flows and cuts in digraphs

Scheduling linear deteriorating jobs with an availability constraint on a single machine

Online Interval Coloring and Variants

Partition is reducible to P2 C max. c. P2 Pj = 1, prec Cmax is solvable in polynomial time. P Pj = 1, prec Cmax is NP-hard

Bin packing and scheduling

Research Article Minimizing the Number of Tardy Jobs on a Single Machine with an Availability Constraint

Scheduling for Parallel Dedicated Machines with a Single Server

CMSC 451: Lecture 7 Greedy Algorithms for Scheduling Tuesday, Sep 19, 2017

Minimizing total weighted tardiness on a single machine with release dates and equal-length jobs

Polynomial time solutions for scheduling problems on a proportionate flowshop with two competing agents

M 2 M 3. Robot M (O)

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

CS264: Beyond Worst-Case Analysis Lecture #18: Smoothed Complexity and Pseudopolynomial-Time Algorithms

The unbounded single machine parallel batch scheduling problem with family jobs and release dates to minimize makespan

LPT rule: Whenever a machine becomes free for assignment, assign that job whose. processing time is the largest among those jobs not yet assigned.

MINIMIZING TOTAL TARDINESS FOR SINGLE MACHINE SEQUENCING

COSC 341: Lecture 25 Coping with NP-hardness (2)

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Machine Minimization for Scheduling Jobs with Interval Constraints

The Constrained Minimum Weighted Sum of Job Completion Times Problem 1

On-line Scheduling to Minimize Max Flow Time: An Optimal Preemptive Algorithm

Scheduling in an Assembly-Type Production Chain with Batch Transfer

Polynomially solvable and NP-hard special cases for scheduling with heads and tails

A comparison of sequencing formulations in a constraint generation procedure for avionics scheduling

Recoverable Robustness in Scheduling Problems

On Two Class-Constrained Versions of the Multiple Knapsack Problem

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund

Single processor scheduling with time restrictions

Single processor scheduling with time restrictions

Online Scheduling with Bounded Migration

Heuristics Algorithms For Job Sequencing Problems

Assigning operators in a flow shop environment

P C max. NP-complete from partition. Example j p j What is the makespan on 2 machines? 3 machines? 4 machines?

No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and Hamiltonian Paths

arxiv: v1 [cs.ds] 15 Sep 2018

Machine scheduling with resource dependent processing times

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i

An analysis of the LPT algorithm for the max min and the min ratio partition problems

Parallel machine scheduling with batch delivery costs

On-line Bin-Stretching. Yossi Azar y Oded Regev z. Abstract. We are given a sequence of items that can be packed into m unit size bins.

Flow Shop and Job Shop Models

An Approximate Pareto Set for Minimizing the Maximum Lateness and Makespan on Parallel Machines

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

The Maximum Flow Problem with Disjunctive Constraints

CS264: Beyond Worst-Case Analysis Lecture #15: Smoothed Complexity and Pseudopolynomial-Time Algorithms

Embedded Systems Development

On-line Scheduling of Two Parallel Machines. with a Single Server

The Power of Preemption on Unrelated Machines and Applications to Scheduling Orders

Discrete Applied Mathematics. Tighter bounds of the First Fit algorithm for the bin-packing problem

A Robust APTAS for the Classical Bin Packing Problem

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

A PTAS for Static Priority Real-Time Scheduling with Resource Augmentation

SPT is Optimally Competitive for Uniprocessor Flow

Heuristics for the two-stage job shop scheduling problem with a bottleneck machine

Cost models for lot streaming in a multistage flow shop

Online Scheduling of Parallel Jobs on Two Machines is 2-Competitive

Transcription:

A polynomial-time approximation scheme for the two-machine flow shop scheduling problem with an availability constraint Joachim Breit Department of Information and Technology Management, Saarland University, Saarbrücken, Germany Abstract We study the problem of scheduling n preemptable jobs in a two-machine flow shop where the first machine is not available for processing during a given time interval. The objective is to minimize the makespan. We propose a polynomialtime approximation scheme for this problem. The approach is extended to solve the problem in which the second machine is not continuously available. Keywords: Approximation algorithms; Flow shop scheduling; Availability constraints 1 Introduction In classical scheduling problems machines are assumed to be available throughout the planning period. In many practical situations, however, this assumption is not justified. Machine availability restrictions may be due to maintenance requirements or rest periods. They can also arise from the overlapping of two consecutive planning periods in a system with rolling horizons. In such a system a new planning period is triggered before all jobs of the previous period have been completed. If the assignment of these uncompleted jobs cannot be altered anymore, e.g. due to process preparation, machines are available in E-mail: jb@itm.uni-sb.de; postal address: Saarland University, Department of Information and Technology Management, P.O. Box 15 11 50, D-66041 Saarbrücken, Germany; fax: +49(681)9483130 1

several time intervals only. The scheduling procedure for the new planning period must take into account these availability restrictions. Real-life situations of this kind motivate the investigation of generalized scheduling models in which machine availability may be restricted. In the past years such models have received considerable attention from researchers. Schmidt [1] and Lee [2] give surveys of this research area. In this paper we will consider a flow shop problem with limited machine availability. In our problem which will be denoted by Π we are given a set N = {J 1,..., J n } of jobs to be processed on two machines A and B. A machine can process at most one job at a time, and a job can be processed by at most one of the machines at a time. While machine B is continuously available for processing, machine A is not available during the given time interval [s, t]. Let = t s > 0. For convenience we shall call the interval of non-availability on machine A the hole. Each job J j N, j = 1,..., n, consists of two operations O Aj and O Bj which have to be performed on machines A and B, respectively. We denote by a j and b j, respectively, the durations of operations O Aj and O Bj. Without loss of generality we assume that all input data (s, t, a j, b j ) are nonnegative integer values. We define a(q) = j Q{a j }, b(q) = j Q{b j } for a non-empty set Q of jobs, and a( ) = b( ) = 0. R ij (S) and F ij (S) denote the start and finish time of operation O ij, i {A, B}, j {1,..., n} in a schedule S. If schedule S is feasible we have R Bj (S) F Aj (S), j = 1,..., n. We may drop the reference to schedule S when no confusion can arise. Denote the makespan of a schedule S by C(S) = max j {F Bj }. An optimal schedule S is a schedule with a minimal makespan of C. We assume that jobs are preemptable. This means that an operation can be suspended at any time and resumed later on without any penalty. Our scenario differs from the resumable scenario as introduced by Lee [3] where a job may be preempted at time s on machine A only and then has to be resumed at time t. It can be easily shown that both models have the same optimal makespan. A polynomial-time algorithm guaranteeing a schedule S such that C(S)/C ρ is called a ρ-approximation algorithm. The value ρ is referred to as the relative worst-case error bound. A family of algorithms is called a polynomial-time approximation scheme, or PTAS for short, if for any given ε > 0 one of the algorithms guarantees a relative worstcase error bound of ρ = 1 + ε and its running time is polynomial in the length of the problem input. If the running time is also polynomial in 1/ε the family of algorithms is called a fully polynomial-time approximation scheme, or FPTAS for short. Our objective 2

is to find a PTAS for our problem. Lee [3] proves that the resumable variant of our problem is NP-hard. The same is true for the problem with a hole on machine B. Similar NP-hardness proofs can be easily found for the preemptable version of the problem. Lee proposes dynamic programming algorithms to solve the problems exactly and provides approximation algorithms with relative worst-case error bound of 3/2 (hole on machine A) and 4/3 (hole on machine B). Cheng and Wang [4] and Breit [5] present improved fast approximation algorithms for these two problems with relative worst-case error bounds of 4/3 (hole on machine A) and 5/4 (hole on machine B). Ng and Kovalyov [6] provide fully polynomial-time approximation schemes for both problems with time complexity O(n 5 /ε 4 ). Kubiak et al. [7] investigate the case where each of the machines may have an arbitrary number of holes. They show that this problem is not approximable even if only one hole occurs on each machine. To solve the problem exactly they propose a branch and bound algorithm. B lažewicz et al. [8] provide constructive and local search based heuristics for the same problem. Cheng and Wang [9] study the problem with two consecutive holes. In their problem the hole on machine A (B) starts at the same time at which the hole on machine B (A) ends. They provide a 5/3-approximation algorithm for the non-preemptable case of this problem. Notice that a feasible schedule for the resumable problem version is also feasible for the model with preemptable jobs. Approximation algorithms for the resumable problem version solve the preemptable case with the same performance guarantee. Furthermore the non-approximability result in Kubiak et al. [7] also holds for the preemptable case. The rest of this paper is organized as follows. In Section 2 we deal with some special cases of our problem. This enables us to make simplifying assumptions for the following sections. The proposed approximation scheme is based on an exact algorithm for a relaxation of our problem. In Section 3 we describe this relaxation and the optimization algorithm. In Section 4 we turn to the original problem and show how to transform the optimal solution for the relaxed problem into an approximate solution for the original problem. Section 5 describes an extension of the presented approach for the problem with a non-continuously available machine B. Section 6 finally contains some conclusions. 3

2 Preliminaries In this section we will separate from a few special cases of our problem. The classical variant of our problem in which both machines are continuously available is solved by Johnson s algorithm [10]. It is not difficult to see that Johnson s algorithm remains optimal, if the hole occurs at the beginning of the planning period or after all jobs on machine A have been completed, i.e. if s = 0 or a(n) s. We will therefore assume in the following that s > 0 and a(n) > s. Furthermore, following Lee [3], we assume that there exists an optimal permutation solution for our problem in which at most one operation is preempted, namely the one interrupted by the hole. From the integrality assumption we made in Section 1 it follows that in this optimal solution all operations on machine A are started at integer points in time. Suppose that some of the jobs in set N consist only of one operation or, equivalently, have an operation with zero processing time. We define N a = {J j N a j = 0} and N b = {J j N b j = 0} and consider an arbitrary problem instance I(Π) of our problem Π. Let I(Π 0 ) be a problem instance derived from I(Π) by removing all jobs of set {N a N b }. We denote by σ0 the optimal job permutation for problem instance I(Π 0 ). Then we have the following lemma. Lemma 1. There exists an optimal solution σ for I(Π) which is identical with the optimal solution σ0 for I(Π 0 ) with the exception that permuation σ0 is preceded (succeeded) by an arbitrary sequence of the jobs of set N a (N b ). Proof. Consider an optimal solution σ0 for instance I(Π 0) and the corresponding schedule. We insert an arbitrary sequence of the jobs of set N a at the beginning of the schedule, shifting the B-operations of permutation σ0 to the right if necessary. We also insert an arbitrary sequence of the jobs of set N b at the end of the schedule. All operations are started as early as possible. Suppose that adding the jobs of sets N a and N b does not lead to an increase of the makespan. Because the optimal makespan for I(Π) cannot be smaller than the optimal makespan for I(Π 0 ) the new schedule must be optimal. If the makespan increases then under our assumption a(n) > s it equals max{a(n)+, b(n)} which is obviously as well a lower bound for the optimal makespan for I(Π). Lemma 1 allows us to assume in the following that min {a j, b j } > 0 (1) j N 4

3 Relaxed problem Without loss of generality we assume that the jobs in set N are indexed such that a i b i a j b j, i < j (2) Let τ(q) be the permutation generated by Johnson s algorithm for a job set Q N. If we schedule the jobs in set Q using permuation τ(q) on two continuously available machines we obtain a schedule with a makespan of C(Q). A lower bound LB on the minimal makespan C is given by C C(N) LB = a(n) + b(n) 2 (3) For ε > 0 we define the job sets U = {J j N max{a j, b j } εlb} V = N \ U V = {J j V a j b j } V = {J j V a j > b j } For convenience we will refer to jobs of set U as big jobs while jobs of set V will be called small jobs. Note that we have U 2 for otherwise a(u) + b(u) > 2 εlb = a(n) + b(n), ε ε a contradiction. We will now formulate problem Π (ε), a relaxation of problem Π for a given ε. For convenience we drop the reference to parameter ε in the following. In problem Π the processing of a small job on machine B can start as soon as its processing on machine A starts, i.e. we allow R Bj R Aj, j V. In addition to this, a small job J j can be split into two partial jobs J j,1 and J j,2 where a j,1 + a j,2 = a j, b j,1 + b j,2 = b j and a j,1 /b j,1 = a j,2 /b j,2. For a feasible schedule we require R Bj,1 R Aj,1, R Bj,2 R Aj,2 (4) A job split in the described manner will be referred to simply as a split job in the following. Additionally, we require that all operations on machine A must start at integer points in time. Recall that there exists an optimal solution for problem Π with the same property. In all other details problem Π is identical with problem Π. We are looking for 5

an optimal solution S for problem Π with a makespan of C. It is obvious that C C (5) In order to state the optimization procedure for problem Π we define a block as a set of jobs scheduled consecutively, i.e. without interruption by the processing of other jobs. A big (small) job J j in a schedule S is called critical if F Aj (S) = R Bj (S) (R Aj (S) = R Bj (S)) and a delay of operation O Aj as well as a delay of operation O Bj results in an increase of the makespan. Procedure H. Determine sets U, V and V. Completely enumerate all possible partitions of set U into disjoint subsets U b and U a, U b U a = U. If one of the sets U b, U a, V, V is empty then introduce a respective dummy job J d,l, a d,l = b d,l = 0, l {U b, U a, V, V }, representing the set. For each partition (U b, U a ) generate a schedule by performing the following three steps. All operations are started as early as possible. 1. Find the permutations τ(u b ) and τ(u a ) and denote by J z the first job in permutation τ(u a ). The jobs of sets U b and U a, respectively, are scheduled as a block. The small jobs are sequenced in ascending order of their indices, possibly in several blocks. Under the restrictions F Aj s, j U b (6) F Aj > t, j U a (7) proceed as follows 2. Schedule as many jobs of set V as possible before the block U b. This may involve that the last job before block U b is a split job. Then schedule block U b. 3. Schedule the remaining jobs as follows (a) If a(v ) + a(u b ) s and scheduling the blocks in the order (V, U b, U a, V ) under restrictions (6) and (7) would not result in idle time on machine A between blocks U b and U a then continue by scheduling the blocks U a and V in this order. 6

(b) If a(v ) + a(u b ) s and scheduling the blocks in the order (V, U b, U a, V ) under restrictions (6) and (7) would result in idle time on machine A between blocks U b and U a then define s if a z 1 α = s a z + 1 otherwise If a(v ) + a(u b ) + a(v ) < α then stop and continue with the next partition (U b, U a ). Else continue by scheduling as many jobs of block V as possible after the last job of block U b until there is no idle time left on machine A before time α. This may involve that the last job of set V scheduled before the hole is a split job. Then schedule the block U a. Then schedule the remaining jobs of set V (the first job of this last block may be the second part of the split job). (c) If a(v ) + a(u b ) > s then the last job scheduled before the block U b may be a split job. After the hole continue by scheduling the second part of the split job (if it exists) and the remaining jobs of set V. Then schedule the blocks U a and V in this order. Select the best schedule among all generated schedules and call it S H. end. We want to prove the following theorem. Theorem 1. C(S H ) = C. Proof. It can be easily shown that there exists an optimal solution for problem Π in which the big jobs finished on machine A before the hole and also those finished on machine A after the hole appear in the order given by Johnson s rule. Because Procedure H enumerates all partitions of set U into subsets U b and U a we may restrict attention in the following to a step of the loop where the partition is optimal. We will first separate from two simple cases in sections (i) and (ii). Then in sections (iii) till (v) we will investigate the different structures of schedule S H obtained in steps (3a), (3b) and (3c) of Procedure H under the assumption that cases (i) and (ii) are irrelevant. (i) No idle time on machine B. Schedule S H may start with a non-empty subset X of job set V. These jobs are scheduled such that machine A (B) is busy during the interval [0, a(x)] ([0, b(x)]). If there is no idle time at all on machine B in schedule S H, and the schedule finishes on machine B, 7

then it is clearly optimal as C b(n) = C(S H ). If the schedule finishes on machine A we have C a(n) + = C(S H ). In the following we will therefore suppose that there exists idle time in schedule S H on machine B after the completion of job set X if it exists. (ii) Idle time on machine B after completion of block U a. Schedule S H may finish with a non-empty subset Y of job set V. In the case where there exists idle time on machine B after the processing of block U a the jobs of set Y can be scheduled such that machine A (B) is busy during the interval [a(n)+ a(y ), a(n)+ ] ([a(n)+ b(y ), a(n)+ ]) and we have C a(n)+ = C(S H ). Thus, we assume in the following that there is no idle time in schedule S H on machine B after the completion of block U a. (iii) Schedule S H is created in step (3a). Recall that we assumed in (1) that no (non-dummy) job contains an operation with zero processing time. Under restrictions (6) and (7) we then clearly have for an optimal partition (U b, U a ) max{f Bj } min{r Aj } max{a(u b ) + + C(U a ), C(U b ) + b(u a )} j U a j U b Furthermore, augmenting a schedule for set {U b U a } by partial schedules for the set of small jobs V cannot be done in a time span smaller than a(v ) + b(v ). Thus, a lower bound on the minimal makespan is C max{a(u b ) + + C(U a ), C(U b ) + b(u a )} + a(v ) + b(v ) (8) An example of schedule S H generated in step (3a) is depicted in Figure 1. Taking into account our assumptions after sections (i) and (ii) it is not difficult to verify that schedule S H meets lower bound (8). It follows that C = C(S H ). (iv) Schedule S H is created in step (3b). Let V b (V a ) denote the subset of jobs of set V which are processed before (after) the hole on machine A and denote by J s the last job (possibly a split job) in block V b. Neglecting all other jobs we can build a schedule for V b in which the processing on machine B finishes not later than the processing on machine A. As > 0 and R Bz t it is therefore not possible that a job of set V b is a critical job in the schedule generated in step (3b). Taking 8

furthermore into account our assumptions after sections (i) and (ii) it is then clear that a(v ) + C(U b ) + b(v b ) + b(u a ) + b(v a ) C(S H ) = max α + + C(U a ) + b(v a ) (9) Let us first suppose that the value C(S H ) is determined by the upper part of equation (9). Then a job among set U b is critical in schedule S H, see Figure (2a). In this case we obviously meet lower bound (8) so that schedule S H is optimal. Suppose now that the lower part of equation (9) determines the value C(S H ) and that a job among set U a is critical in schedule S H. This case is depicted in Figure (2b). It is obvious that the processing of block U a on machine B in an optimal schedule cannot end earlier than time α + + C(U a ). Because the jobs of set V are ordered according to non-decreasing ratio a j /b j we have C α + + C(U a ) + b(v a ) = C(S H ) (10) if there exists an optimal schedule S with min j Ua {R Aj (S )} = α. Suppose that there exists an optimal schedule S with min j Ua {R Aj (S )} = β > α. It is not difficult to derive a lower bound for the minimal makespan in this situation departing from schedule S H. We have to shift the block U a to the right by β α time units which leaves a gap of this size on machine A just before time β. Because the jobs of set V are ordered according to non-decreasing ratio a j /b j the best way to fill the gap is to use jobs of set V a in the order of their indices. Then we obviously have C β + + C(U a ) + b(v a ) (β α) bs a s = C(S H ) + (β α) (β α) bs a s C(S H ) Schedule S H is thus again optimal. Note that it is impossible that in each optimal solution we have a(v )+a(u b )+a(v ) < α while set U a consists of at least one (non-dummy) job because this implies that there exists idle time on machine A in each optimal schedule. Procedure H therefore does not generate a schedule for this situation. The case where there exists no big (non-dummy) job finished after the hole and a(v ) + a(u b ) + a(v ) s is solved by Johnson s algorithm and was precluded from consideration. 9

(v) Schedule S H is created in step (3c). Let V b (V a ) denote the subset of jobs of set V which are processed before (after) the hole on machine A. Taking into account our assumptions after sections (i) and (ii) we have C(S H ) = max a(v b ) + a(u b ) + + a(v a ) + C(U a ) + b(v ) a(v b ) + a(u b ) + + b(v a ) + b(u a ) + b(v ) a(v b ) + C(U b ) + b(v a ) + b(u a ) + b(v ) (11) The case in which the length of schedule S H is determined by the upper part of equation (11) is shown in Figure (3a). Here, a job in set U a is critical and we obviously meet lower bound (8). Suppose that the makespan is determined by the middle part of equation (11), see Figure (3b). The first job in block V a is critical. Denote by L(δ) (L (δ)) the idle time on machine B up to time δ in schedule S H (S ). We have C(S H ) = b(n) + L(t) and C b(n)+l (t). Because the jobs of set V are ordered according to non-decreasing ratio a j /b j and the choice of jobs for set U b is optimal we clearly have L (t) t b(u b ) b(v b ) = L(t) and thus C(S H ) = C. Consider finally the case where the lower part of equation (11) determines the value C(S H ). A job in set U b is critical, see Figure (3c). Let γ = s a(u b ) + C(U b ). We have C(S H ) = b(n) + L(γ) and C b(n) + L (γ). Again it is easy to see that L (γ) γ b(u b ) b(v b ) = L(γ) and thus C(S H ) = C. For a given ε the loop of Procedure H has to be executed 2 U 2 2 ε times. The steps within the loop can be implemented to run in O(n log n) time. Thus, for a given ε Procedure H runs in O(n log n) time. 4 Original Problem In this section we turn to the original problem and show how to transform schedule S H found by Procedure H into a new schedule S T which is feasible for the original problem. This task will be accomplished by Procedure T. Because all the operations of the big jobs and the A-operations of the small jobs are scheduled in a feasible manner in schedule S H Procedure T does not alter their assignment. It only adjusts the schedule for the B-operations of the small jobs. 10

Procedure T. Departing from schedule S H delay the processing of each small operation O Bj, j V, by εlb time units within the time windows assigned to small B-operations in schedule S H and the time window [C(S H ), C(S H ) + εlb]. end. Figure 4 illustrates Procedure T. The upper two parts of the figure show an example of schedule S H with three blocks of small jobs on machine B (marked V 1, V 2 and V 3 ). The lower part of the figure (machine schedule B-S T ) shows the assignment of these blocks after the application of Procedure T. Only the time windows allocated to small jobs in schedule S H and the time window [C(S H ), C(S H ) + εlb] are to be seen. The gap at the beginning of the schedule has a width of εlb time units. Note that schedule S H is lengthened by the same time span. We have the following lemma. Lemma 2. If Procedure T is applied to schedule S H generated by Procedure H we obtain a schedule S T such that C(S T ) C(S H ) + εlb (12) and schedule S T is feasible for problem Π. Proof. The first part of the lemma is trivial. Because we shift each processing time unit of the small B-operations by exactly εlb time units departing from schedule S H it is clear that the makespan does not increase by more than εlb time units. It remains to show that schedule S T is feasible for problem Π. First, observe that Procedure T does not alter the assignment of the big jobs in schedule S H and that no small operation is moved to a time window already assigned to a big job. Thus, all big jobs remain assigned in a feasible manner in schedule S T and there are no clashes of big and small operations. We must also assure that R Bj (S T ) F Aj (S T ) for all j V. Recall that we required R Bj (S H ) R Aj (S H ), j V. If a small operation O Aj is not split in schedule S H then we have R Aj (S H ) + εlb > F Aj (S H ) and Procedure T generates a schedule S T such that R Bj (S T ) R Bj (S H ) + εlb R Aj (S H ) + εlb > F Aj (S H ) = F Aj (S T ). We come to the case where operation O Aj is split. Recall that the splitting results in two partial jobs J j,1 and J j,2 and that condition (4) holds. We denote by J x the job immediately following job J j,2. Because the time windows assigned to operations O B,j1 and O B,j2 have a total size of b j and Procedure T delays these operations by εlb > b j time units within the time windows assigned to small operations on machine B we have 11

R B,j1 (S T ) > R Bx (S H ) R Ax (S H ) F Aj,2 (S H ) = F Aj,2 (S T ). Finally, observe that shifting a small operation O Bj by εlb time units within the time windows assigned to small jobs in schedule S H allows to shift the preceding small operation by the same amount of time units without causing clashes among B-operations of small jobs. It follows that schedule S T is feasible for problem Π. It is clear that Procedure T can be implemented to run in O(n) time and that schedule S T may be a non-permutation schedule. We are now ready to state the approximation scheme. Algorithm AS. Input: An instance of Problem Π and ε > 0. Call Procedure H with parameter ε to find schedule S H. Apply Procedure T with parameter ε to schedule S H and output schedule S T. end. Theorem 2. The family of algorithms PTAS for problem Π. given by Algorithm AS and parameter ε is a Proof. It follows immediately from Theorem 1, (3), (5) and (12) that C(S T ) (1+ε)C. We also found in the proof of Lemma 2 that schedule S T is feasible for problem Π. For a given ε Procedures H and T have a polynomial time complexity of O(n log n). 5 Problem with a hole on machine B We now show how to derive a PTAS for the case with a hole on machine B from the PTAS presented in the previous section. Let us denote the problem with the hole on machine B by Π B. We consider in the following an arbitrary instance of this problem which we denote by I B. The hole in this instance occurs in the time interval [s B, t B ]. Instance I B has an optimal makespan of CB > t B and we define q = (1 + ε)cb. Furthermore, let I A1 be an instance of problem Π derived from instance I B by interchanging the values a j and b j, j = 1,..., n, and defining the hole on machine A as [CB t B, CB s B]. Let CA1 be the optimal makespan for instance I A1. Then we obviously have CA1 = C B. We define another instance I A2 of problem Π which is identical with instance I A1 with the exception that the hole now occurs in the interval [q t B, q s B ], i.e. εca1 time units later than in instance I A1. Let CA2 be the optimal makespan for this instance. The following lemma is provided without proof. 12

Lemma 3. Let I 1 and I 2 be two instances of problem Π which are identical with the exception the hole of length occurs later in instance I 2. Then the optimal makespan of I 2 does not exceed that of I 1. It follows from Lemma 3 that CA1 CA2. Suppose we knew value q. Then we could generate instance I A2 from a given instance I B, apply Algorithm AS and would obtain a schedule, say S A2, of length C(S A2 ). Using Theorem 2 and Lemma 3 we obtain C(S A2 ) (1 + ε)ca2 (1 + ε)c A1 = (1 + ε)c B. Reversing schedule S A2 provides the desired approximate solution for instance I B. Unfortunately we do not know value q. However, using binary search we are able to find a smallest integer value p q and a corresponding instance I A3 with a hole [p t B, p s B ] on machine A such that the application of Algorithm AS on I A3 yields a schedule S A3 of length C(S A3 ) p. Appropriate lower and upper start values for the binary search procedure could be t B and (1 + ε)(t B + C(N)). The reversed schedule S A3 provides the desired approximation for instance I B. The above approach obviously constitutes a PTAS for the problem with a hole on machine B. 6 Conclusions We presented a polynomial-time approximation scheme for the problem of scheduling n preemptable jobs in a two-machine flow shop with an availability constraint imposed on the first machine. The approach was extended to the case where the second machine is non-continuously available. It constitutes an improvement compared with the known approximation algorithms by Cheng et al. [4] and Breit [5]. It is also an alternative to the FPTAS presented by Ng and Kovalyov [6], particularly for large n. Acknowledgements The author would like to acknowledge the constructive comments by an anonymous referee which helped to improve the paper. 13

References [1] Schmidt G. Scheduling with limited machine availability. European Journal of Operational Research 2000;121:1 15. [2] Lee C-Y. Machine scheduling with availability constraints. In: Leung JY-T (Ed.). Handbook of Scheduling. CRC Press, 2004. p.22.1 22.13. [3] Lee C-Y. Minimizing the makespan in the two-machine flowshop scheduling problem with an availability constraint. Operations Research Letters 1997;20:129 139. [4] Cheng TCE, Wang G. An improved heuristic for two-machine flowshop scheduling with an availability constraint. Operations Research Letters 2000;26:223 229. [5] Breit J. An improved approximation algorithm for two-machine flow shop scheduling with an availability constraint. Information Processing Letters 2004;90:273 278. [6] Ng CT, Kovalyov MY. An FPTAS for scheduling a two-machine flowshop with one unavailability interval. Naval Research Logistics Quarterly 2004;51:307-315. [7] Kubiak W, B lažewicz J, Formanowicz P, Breit J, Schmidt G. Two-machine flow shops with limited machine availability. European Journal of Operational Research 2002;136:528 540. [8] B lažewicz J, Breit J, Formanowicz P, Kubiak W, Schmidt G. Heuristic algorithms for the two-machine flowshop with limited machine availability. Omega 2001;29:599 608. [9] Cheng TCE, Wang G. Two-machine flowshop scheduling with consecutive availability constraints. Information Processing Letters 1999;71:49 54. [10] Johnson SM. Optimal two- and three-stage production schedules with setup times included. Naval Research Logistics Quarterly 1954;1:61 68. 14

Vita Joachim Breit holds a Ph.D. in Business Administration from Saarland University, Saarbrücken, Germany. He is member of the scheduling group at the Department of Information and Technology Management at the same university. His primary research interests are deterministic scheduling and computer simulation. 15

Figure 1: Schedule S H generated in step (3a) 16

Figure 2: Schedule S H generated in step (3b) 17

Figure 3: Schedule S H generated in step (3c) 18

Figure 4: Generating schedule S T 19