Minimizing the Number of Machines in a Unit-Time Scheduling Problem



Similar documents
Single machine parallel batch scheduling with unbounded capacity

A binary search algorithm for a special case of minimizing the lateness on a single machine

Fairness in Routing and Load Balancing

6.2 Permutations continued

2.3 Convex Constrained Optimization Problems

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

1. Prove that the empty set is a subset of every set.

Algorithm Design and Analysis

GREATEST COMMON DIVISOR

Stationary random graphs on Z with prescribed iid degrees and finite mean connections

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Completion Time Scheduling and the WSRPT Algorithm

Scheduling Single Machine Scheduling. Tim Nieberg

Classification - Examples

Scheduling Parallel Jobs with Monotone Speedup 1

Common Approaches to Real-Time Scheduling

Robust Geometric Programming is co-np hard

Duplicating and its Applications in Batch Scheduling

Proximal mapping via network optimization

Scheduling a sequence of tasks with general completion costs

Dimensioning an inbound call center using constraint programming

Scheduling Parallel Jobs with Linear Speedup

Scheduling Sporadic Tasks with Shared Resources in Hard-Real-Time Systems

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

11. APPROXIMATION ALGORITHMS

An improved on-line algorithm for scheduling on two unrestrictive parallel batch processing machines

Applied Algorithm Design Lecture 5

n k=1 k=0 1/k! = e. Example 6.4. The series 1/k 2 converges in R. Indeed, if s n = n then k=1 1/k, then s 2n s n = 1 n

Online Scheduling for Cloud Computing and Different Service Levels

SEQUENCES OF MAXIMAL DEGREE VERTICES IN GRAPHS. Nickolay Khadzhiivanov, Nedyalko Nenov

FACTORING POLYNOMIALS IN THE RING OF FORMAL POWER SERIES OVER Z

Prime power degree representations of the symmetric and alternating groups

A Note on the Bertsimas & Sim Algorithm for Robust Combinatorial Optimization Problems

I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

Parallel machines scheduling with applications to Internet ad-slot placement

Discrete Optimization

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Optimal shift scheduling with a global service level constraint

A Constant-Approximate Feasibility Test for Multiprocessor Real-Time Scheduling

List Scheduling in Order of α-points on a Single Machine

FIND ALL LONGER AND SHORTER BOUNDARY DURATION VECTORS UNDER PROJECT TIME AND BUDGET CONSTRAINTS

24. The Branch and Bound Method

The Equivalence of Linear Programs and Zero-Sum Games

On-line machine scheduling with batch setups

Inner products on R n, and more

Duality of linear conic problems

Key words. Mixed-integer programming, mixing sets, convex hull descriptions, lot-sizing.

Matrix-Chain Multiplication

Fairness and Throughput Guarantees with Maximal Scheduling in Multi-hop Wireless Networks

On the approximability of average completion time scheduling under precedence constraints

Quotient Rings and Field Extensions

Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh

arxiv: v1 [math.pr] 5 Dec 2011

1 Homework 1. [p 0 q i+j p i 1 q j+1 ] + [p i q j ] + [p i+1 q j p i+j q 0 ]

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS.

Approximation Algorithms

A characterization of trace zero symmetric nonnegative 5x5 matrices

DEGREES OF ORDERS ON TORSION-FREE ABELIAN GROUPS

Appendix: Simple Methods for Shift Scheduling in Multi-Skill Call Centers

Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors

A Practical Scheme for Wireless Network Operation

Definition Given a graph G on n vertices, we define the following quantities:

Scheduling Real-time Tasks: Algorithms and Complexity

Section Inner Products and Norms

Stiffie's On Line Scheduling Algorithm

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

GENERATING LOW-DEGREE 2-SPANNERS

GENERALIZED INTEGER PROGRAMMING

Absolute Value Equations and Inequalities

ON NONNEGATIVE SOLUTIONS OF NONLINEAR TWO-POINT BOUNDARY VALUE PROBLEMS FOR TWO-DIMENSIONAL DIFFERENTIAL SYSTEMS WITH ADVANCED ARGUMENTS

CONTINUED FRACTIONS AND PELL S EQUATION. Contents 1. Continued Fractions 1 2. Solution to Pell s Equation 9 References 12

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

Pricing of Limit Orders in the Electronic Security Trading System Xetra

On a Railway Maintenance Scheduling Problem with Customer Costs and Multi-Depots

Homework # 3 Solutions

COMPLETE MARKETS DO NOT ALLOW FREE CASH FLOW STREAMS

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

Systems of Linear Equations

Minimally Infeasible Set Partitioning Problems with Balanced Constraints

An interval linear programming contractor

Integrating job parallelism in real-time scheduling theory

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

HOMEWORK 5 SOLUTIONS. n!f n (1) lim. ln x n! + xn x. 1 = G n 1 (x). (2) k + 1 n. (n 1)!

Virtual Machine Allocation in Cloud Computing for Minimizing Total Execution Time on Each Machine

Online Scheduling with Bounded Migration

Monitoring Metric First-order Temporal Properties

A simple criterion on degree sequences of graphs

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

On strong fairness in UNITY

Modeling and Performance Evaluation of Computer Systems Security Operation 1

Integrating Benders decomposition within Constraint Programming

Scheduling Shop Scheduling. Tim Nieberg

Section 4.2: The Division Algorithm and Greatest Common Divisors

Introduction to Scheduling Theory

How To Find An Optimal Search Protocol For An Oblivious Cell

Near Optimal Solutions

Mechanisms for Fair Attribution

Aperiodic Task Scheduling

Transcription:

Minimizing the Number of Machines in a Unit-Time Scheduling Problem Svetlana A. Kravchenko 1 United Institute of Informatics Problems, Surganova St. 6, 220012 Minsk, Belarus kravch@newman.bas-net.by Frank Werner Otto-von-Guericke-Universität, Fakultät für Mathematik, 39106 Magdeburg, Germany Frank.Werner@Mathematik.Uni-Magdeburg.De August 23, 2007 Abstract In this paper, we give a polynomial algorithm for the problem of minimizing the number of machines in a parallel machine environment with equal processing times of all jobs and arbitrarily given release dates and deadlines. Keywords: parallel machine scheduling, linear programming 1 Introduction The problem considered can be stated as follows. There are n jobs J 1,..., J n which have to be processed on a set of identical parallel machines. For each job J j, j = 1,..., n, a processing time p j = p, which is equal for all the jobs, a release date r j, and a deadline D j are given. Each machine can process only one job at a time. Preemption of processing is not allowed, i.e. the processing of any job started at time t on one of the identical machines will be completed at time t + p on the same machine. We want to find a feasible schedule such that the number 1 Supported by the Alexander von Humboldt Foundation 1

of machines is minimal. In this paper, we present a polynomial time algorithm for the above problem. Note that, if the number of machines is given, then the problem of finding a feasible schedule was considered in [4]. The criterion of minimizing the number of machines is very important in practice, see e.g. [3]. The algorithm, presented in this note, is based on the approach given in [1] and [2]. The remainder of this note is organized as follows. In Section 2, we give a linear programming (LP) formulation for a relaxation of the scheduling problem under consideration. A polynomial algorithm for the scheduling problem is presented in Section 3. Finally, we give the correctness proof for this algorithm in Section 4. 2 LP formulation A feasible schedule for the problem considered can be found in the class of schedules, where each job is processed in one of the following intervals of length p : {[r j + kp, r j + kp + p [ k {0, 1,...}}. On the other hand, if for some r k and for any index j < k the inequality r j + r j r i <r k p i r k holds, then the problem can be decomposed into subproblems that can be solved independently from each other. Therefore, without loss of generality, we can suppose that in an optimal schedule any job is processed within the time interval [min i {r i }, min i {r i } + 2np [. Thus, we will restrict the possible positions of the jobs by the set of intervals {[r j + kp, r j + kp + p [ k Z, r j + kp min i {r i }, r j + kp + p min i {r i } + 2np}. Take all the different intervals from this set and enumerate them in increasing order of their left endpoints. Denote the obtained set by {I i i {1,..., z}} and for each I i, denote by D(I i ) the right endpoint of I i and by R(I i ) the left endpoint of I i. One can see that there exists some q such that I i+1... I i+q for any i {0,..., z q}. Set y = max{q I i+1... I i+q, i {0,..., z q}}, i.e. y is the number of intersecting intervals. Consider the following LP problem: subject to minimize M (2.1) z x ji = p, j = 1,..., n (2.2) i=1 x j,i+1 +... + x j,i+y Mp, i = 0,..., z y (2.3) 2

x ji = 0 if R(I i ) < r j i = 1,..., z, j = 1,..., n (2.4) x ji = 0 if D j < D(I i ) i = 1,..., z, j = 1,..., n (2.5) x ji 0, i = 1,..., z, j = 1,..., n (2.6) If we set x ji equal to the amount of job J j processed in the interval I i and set m = M to be the number of machines, then any feasible schedule for the scheduling problem under consideration can be described as a feasible solution of problem (2.1) (2.6). On the other hand, if the obtained solution of problem (2.1) (2.6) is integer, then it is a solution of the scheduling problem considered. In the following, we will suppose that problem (2.1) (2.6) has been solved and that the obtained solution x is not integer. Parallel to the notation x ji, we will use x j,i to avoid a confusion between the first index and the second one. 3 Algorithm In this section, we present a polynomial algorithm for the scheduling problem under consideration. Using x and m, we determine all intervals where jobs are processed in a feasible schedule. With this purpose, we calculate the value v(i k ) for each interval I k as follows: v(i k ) = k x ji, k = 1,..., z. i=1 Note that v(i z ) = z i=1 n x ji = np holds if the solution is feasible. Since in any interval at most m jobs can be scheduled, we define the values: v 1 = v(i 1 ),..., v m = v(i 1 ), v m+1 = v(i 2 ),..., v 2m = v(i 2 ),... v (z 1)m+1 = v(i z ),..., v zm = v(i z ), i.e. we take m copies of each interval enumerated in nondecreasing order of their left endpoints. Now, using v 1,..., v zm, we mark all intervals where some jobs are processed in an optimal schedule. The marking procedure is as follows: Step 1: To select the first marked interval, one moves from v 1 to v zm and takes the first v j such that v j > 0 p holds. Denote the corresponding interval by I 1, i.e. v j = v(i 1). Step 2: To select the second marked interval, one moves from v j = v(i 1) to v zm and takes the first v g such that v g > 1 p holds. Denote the corresponding interval by I 2, i.e. v g = v(i 2). 3

Step n: To select the n-th marked interval, one moves from v(i n 1) to v zm and takes the first v h such that v h > (n 1) p holds. Denote the corresponding interval by I n, i.e. v h = v(i n). The marked intervals determine the places where the jobs are processed in an optimal schedule. Now, we use all marked intervals I 1,..., I n and apply the following Algorithm 1 Consider the marked intervals I1,..., In in the given order and schedule in each of these intervals a currently available job with the earliest deadline. 4 Feasibility proof Before proving that the schedule constructed by Algorithm 1 is a feasible one, we investigate some properties of the vector v. For a solution x, let I i1,..., I in be all marked intervals and denote by e ij the number of marked copies of the interval I ij, j = 1,..., n. Lemma 1 For any index j {1,..., n}, inequalities hold. (e i1 + e i2 +... + e ij )p v(i ij ) > (e i1 + e i2 +... + e ij 1)p Proof: j = 1: The proof is done by induction. By Algorithm 1, we have the following properties for - the first copy of I i1 is marked since v(i i1 ) > 0 p, - the second copy of I i1 is marked since v(i i1 ) > 1 p, -... - the e i1 th copy of I i1 is marked since v(i i1 ) > (e i1 1)p. Thus, v(i i1 ) > (e i1 1)p holds. Moreover, if e i1 < m, then by definition of e i1, the inequalities e i1 p v(i i1 ) > (e i1 1)p hold. On the other hand, v(i i1 ) mp holds since for all intervals I i with i < i 1, the equality x ji = 0 holds. Hence, if e i1 = m, then v(i i1 ) e i1 p holds. Thus, Lemma 1 is true for i 1. Suppose that Lemma 1 holds for any j k, where k n 1, i.e. (e i1 + e i2 +... + e ij )p v(i ij ) > (e i1 + e i2 +... + e ij 1)p. 4

We want to show that holds. (e i1 + e i2 +... + e ik+1 )p v(i ik+1 ) > (e i1 + e i2 +... + e ik+1 1)p By Algorithm 1, we have the following properties: - the first copy of I ik+1 is marked since v(i ik+1 ) > (e i1 + e i2 +... + e ik )p; - the second copy of I ik+1 is marked since v(i ik+1 ) > (e i1 + e i2 +... + e ik + 1)p; -... - the e ik+1 th copy of I ik+1 is marked since v(i ik+1 ) > (e i1 + e i2 +... + e ik+1 1)p, i.e. if e ik+1 < m, then v(i ik+1 ) (e i1 + e i2 +... + e ik+1 )p by definition of e ik+1. Inequality holds by the inductive assumption, and holds by definition. Moreover, inequality v(i ik ) (e i1 + e i2 +... + e ik )p (4.1) v(i ik+1 ) = v(i ik ) + x l,i k+1 (4.2) l=1 x l,i k+1 mp (4.3) l=1 holds by constraint (2.2). Combining (4.1) (4.3), we have v(i ik+1 ) (e i1 +e i2 +...+e ik )p+mp, i.e. if e ik+1 = m, then v(i ik+1 ) (e i1 + e i2 +... + e ik+1 )p holds. Theorem 1 Algorithm 1 constructs a feasible schedule. Proof: To prove Theorem 1, it is sufficient to show that there is a feasible schedule in which all marked intervals are occupied. Using vector x, we can calculate the restricted release date r j and the restricted deadline D j for each job J j in the following way: r j = min{r(i i ) x ji 0}, D j = max{d(i i ) x ji 0}. It is clear that [r j, D j [ [r j, D j [ holds. Now we schedule in each marked interval the job with the minimal restricted deadline among all jobs that are currently available for processing, denote this schedule by s. To prove Theorem 1, it is sufficient to show that s is a feasible schedule. Determine x in the following way: x ji = p if job J j is scheduled in the interval I i in s, and x ji = 0 otherwise. 5

Now, we want to prove that x is a feasible solution of problem (2.2) (2.6). It is clear that 0 x ji p for any i = 1,..., z and for any j = 1,..., n. Thus, we have to prove (2.2), (2.3), (2.4), and (2.5). First, we prove (2.2). We show that z i=1 x ji = p for any j = 1,..., n. This means that any job is scheduled in some interval. Since we choose only jobs which are currently available for processing, this will also prove (2.4) and (2.5). Take any job J k which is not scheduled. Let rk = r(i γ), Dk = D(I β), see Figure 1. In [rk, D k [, there is at least one marked interval since v(i β ) v(i γ ) p. For all jobs J j scheduled in these marked intervals, we have Dj Dk since otherwise job J k would be scheduled but not job J j. Besides all these marked intervals are occupied by some jobs. J k I γ x kγ 0 x kβ 0 I β r k D k Take Figure 1: r k = r(i γ), D k = D(I β), and job J k is not scheduled r u = min{r j J j is scheduled in some marked interval within [r k, D k[}. Consider [ru, rk [ and all marked intervals in it. For any job g scheduled in these marked intervals, inequality Dg Dk holds since otherwise job J u would be scheduled but not job J g. Again, all these marked intervals are occupied by some jobs because otherwise J u could have been scheduled earlier. Take r w = min{r j J j is scheduled in some marked interval within [r u, r k[}. Now, we consider [rw, ru[ and all marked intervals in it, and so on. At the end of this process, we find an interval I = [rτ, Dk [ such that all marked intervals in I are occupied by some jobs; for all, say N, jobs scheduled in I, we have [r j, D j [ [r τ, D k [; job J k is not scheduled in I but inclusion [r k, D k [ [r τ, D k [ holds. Denote all marked intervals in [rτ, Dk [ by I i q+1, I iq+2,..., I iq+f and the corresponding numbers of marked copies by e iq+1, e iq+2,..., e iq+f. We also consider I iq, i.e. the last marked interval before I iq+1. By Lemma 1, we have (e i1 + e i2 +... + e iq )p v(i iq ) > (e i1 + e i2 +... + e iq 1)p. 6

J τ J w J u J k r τ r w r u r k D k Figure 2: Jobs J τ, J w, J u are scheduled in [r τ, D k [ Let us assume that v(i iq ) is equal to (e i1 + e i2 +... + e iq 1)p + δ, where 0 < δ p, and (e i1 + e i2 +... + e iq+f )p v(i iq+f ) > (e i1 + e i2 +... + e iq+f 1)p. Moreover, let v(i iq+f ) = (e i1 + e i2 +... + e iq+f 1)p + ɛ, where 0 < ɛ p. Then, for the intervals I iq+1, I iq+2,..., I iq+f, we obtain x j,i q+1 + x j,i q+2 +... + x j,i q+f = (N + 1)p = v(i iq+f ) v(i iq ) = (e iq+1 + e iq+2 +... + e iq+f )p + ɛ δ, since e iq+1 + e iq+2 +... + e iq+f = N. Hence, we have ɛ δ = p, i.e. ɛ = p and δ = 0 but δ has to be positive by our assumption. Thus, we get a contradiction with the statement that J k is not scheduled by Algorithm 1. Now we want to prove (2.3), i.e. we show that x j,i+1 + x j,i+2 +... + x j,i+y mp holds for any i = 1,..., z y. Suppose that among the intervals I i+1, I i+2,..., I i+y, the marked intervals are the following ones: I ic, I ic+1,..., I ig with the numbers of marked copies e ic, e ic+1,..., e ig correspondingly. Thus, we have to show that (e ic + e ic+1 +... + e ig )p mp. By Lemma 1, we have (e i1 + e i2 +... + e ic 1 )p v(i ic 1 ) and v(i ig ) > (e i1 + e i2 +... + e ig 1)p. Thus, (e ic + e ic+1 +... + e ig )p = (e i1 + e i2 +... + e ig )p (e i1 + e i2 +... + e ic 1 )p < v(i ig ) v(i ic 1 ) + p. Furthermore, we obtain v(i ig ) v(i ic 1 ) = by condition (2.2). Therefore, x j,i c + x j,i c+1 +... + x j,i g mp v(i ig ) v(i ic 1 ) + p mp + p = (m + 1)p, 7

i.e. which gives e ic + e ic+1 +... + e ig < m + 1, e ic + e ic+1 +... + e ig m. ACKNOWLEDGEMENTS The results presented in this paper were attained during a visit of S.A. Kravchenko at the Ottovon-Guericke-Universität of Magdeburg which was supported by a fellowship of the Alexander von Humboldt Foundation. References [1] P. Brucker, S.A. Kravchenko, Scheduling jobs with equal processing times and time windows on identical parallel machines, OSM Reihe P, Heft 257, Universität Osnabrück, Fachbereich Mathematik/Informatik, 2004. [2] P. Brucker, S.A. Kravchenko, Scheduling jobs with release times on parallel machines to minimize total tardiness, OSM Reihe P, Heft 258, Universität Osnabrück, Fachbereich Mathematik/Informatik, 2005. [3] G.B. Dantzig, D.R. Fulkerson, Minimizing the number of tankers to meet a fixed schedule, Naval Res. Logist. Quart. 1 (1954) 217-222. [4] B. Simons, Multiprocessor scheduling of unit-time jobs with arbitrary release times and deadlines, SIAM J. Comput. 12 (1983) 294-299. 8