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

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

Lecture 2: Scheduling on Parallel Machines

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

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

1 Ordinary Load Balancing

APTAS for Bin Packing

ALG 5.4. Lexicographical Search: Applied to Scheduling Theory. Professor John Reif

CS521 CSE IITG 11/23/2012

A Dynamic Programming algorithm for minimizing total cost of duplication in scheduling an outtree with communication delays and duplication

More Approximation Algorithms

Minimizing Mean Flowtime and Makespan on Master-Slave Systems

these durations are not neglected. Little is known about the general problem of scheduling typed task systems: Jae [16] and Jansen [18] studied the pr

On Machine Dependency in Shop Scheduling

Average-Case Performance Analysis of Online Non-clairvoyant Scheduling of Parallel Tasks with Precedence Constraints

Ideal preemptive schedules on two processors

4 Sequencing problem with heads and tails

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

Metode şi Algoritmi de Planificare (MAP) Curs 2 Introducere în problematica planificării

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

Complexity analysis of the discrete sequential search problem with group activities

MINIMIZING SCHEDULE LENGTH OR MAKESPAN CRITERIA FOR PARALLEL PROCESSOR SCHEDULING

Computers and Intractability. The Bandersnatch problem. The Bandersnatch problem. The Bandersnatch problem. A Guide to the Theory of NP-Completeness

This means that we can assume each list ) is

Computers and Intractability

Single Machine Scheduling with a Non-renewable Financial Resource

Conditional Hardness of Precedence Constrained Scheduling on Identical Machines

Approximation Algorithms for scheduling

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

Contents college 5 and 6 Branch and Bound; Beam Search (Chapter , book)! general introduction

Induced Subgraph Isomorphism on proper interval and bipartite permutation graphs

Integer Linear Programming (ILP)

UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 22 Lecturer: David Wagner April 24, Notes 22 for CS 170

immediately, without knowledge of the jobs that arrive later The jobs cannot be preempted, ie, once a job is scheduled (assigned to a machine), it can

Algorithms Design & Analysis. Approximation Algorithm

Complexity of preemptive minsum scheduling on unrelated parallel machines Sitters, R.A.

1 Basic Definitions. 2 Proof By Contradiction. 3 Exchange Argument

Scheduling problem subject to compatibility constraints

CMSC 722, AI Planning. Planning and Scheduling

Antoni Marczyk A NOTE ON ARBITRARILY VERTEX DECOMPOSABLE GRAPHS

Chapter 3: Proving NP-completeness Results

Scheduling on Unrelated Parallel Machines. Approximation Algorithms, V. V. Vazirani Book Chapter 17

NATIONAL UNIVERSITY OF SINGAPORE CS3230 DESIGN AND ANALYSIS OF ALGORITHMS SEMESTER II: Time Allowed 2 Hours

Lecture 4 Scheduling 1

Deterministic Scheduling. Dr inż. Krzysztof Giaro Gdańsk University of Technology

Single machine scheduling with forbidden start times

Task Models and Scheduling

Deterministic Models: Preliminaries

Online Coloring of Intervals with Bandwidth

On the Complexity of Mapping Pipelined Filtering Services on Heterogeneous Platforms

Multi-agent scheduling on a single machine to minimize total weighted number of tardy jobs

In NP: guess a satisfying assignment and verify that it indeed satisfies

Two Processor Scheduling with Real Release Times and Deadlines

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

Real-Time Systems. Event-Driven Scheduling

UNIVERSITY OF CALIFORNIA, RIVERSIDE

On improving matchings in trees, via bounded-length augmentations 1

T. In general, at any time a processor P completes a task, it immediately scans. + #(T)) on the time axis.

Improved Bounds for Flow Shop Scheduling

Graph Transformations T1 and T2

Scheduling Lecture 1: Scheduling on One Machine

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #7: More on Uniprocessor Scheduling

Fault-Tolerant Consensus

Single Machine Scheduling with Generalized Total Tardiness Objective Function

Scheduling Lecture 1: Scheduling on One Machine

Algorithms Exam TIN093 /DIT602

The Multiple Traveling Salesman Problem with Time Windows: Bounds for the Minimum Number of Vehicles

Technische Universität Berlin

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

Copyright 2013 Springer Science+Business Media New York

NP-Completeness. Until now we have been designing algorithms for specific problems

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

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD

Maximum Flow. Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai

Recoverable Robustness in Scheduling Problems

Dependency Graph Approach for Multiprocessor Real-Time Synchronization. TU Dortmund, Germany

A note on proving the strong NP-hardness of some scheduling problems with start time dependent job processing times

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

A necessary and sufficient condition for the existence of a spanning tree with specified vertices having large degrees

Sequences of height 1 primes in Z[X]

arxiv: v2 [cs.dm] 2 Mar 2017

Announcements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?

Single Machine Models

ACO Comprehensive Exam March 17 and 18, Computability, Complexity and Algorithms

Santa Claus Schedules Jobs on Unrelated Machines

NP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35.

On bilevel machine scheduling problems

arxiv: v2 [cs.ds] 27 Nov 2014

Complexity theory for fellow CS students

Single Machine Problems Polynomial Cases

1.1 P, NP, and NP-complete

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

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

RCPSP Single Machine Problems

arxiv:cs/ v1 [cs.ds] 18 Oct 2004

Single processor scheduling with time restrictions

SPT is Optimally Competitive for Uniprocessor Flow

CS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle

NP-Hardness and Fixed-Parameter Tractability of Realizing Degree Sequences with Directed Acyclic Graphs

The makespan problem of scheduling multi groups of jobs on multi processors at different speeds

Transcription:

I. Minimizing Cmax (Nonpreemptive) a. P2 C max is NP-hard. Partition is reducible to P2 C max b. P Pj = 1, intree Cmax P Pj = 1, outtree Cmax are both solvable in polynomial time. c. P2 Pj = 1, prec Cmax is solvable in polynomial time P Pj = 1, prec Cmax is NP-hard Pm Pj = 1, prec Cmax OPEN for fixed m 3 a. P2 C max is NP-hard: covered earlier b. P Pj = 1, intree C max & P Pj = 1, outtree Cmax are the same problem. Critical-Path Rule (Hu s Algorithm) Whenever a machine becomes free for assignment, assign that unexecuted, ready job (if any) which is at the highest level among those unexecuted jobs. Ties may be resolved arbitrarily. CS 599 Scheduling Algorithms 18

13 14 8 9 10 11 12 5 6 7 2 3 4 1 n = 3 0 1 2 3 4 5 6 14 12 8 6 3 1 13 10 7 4 11 9 5 2 Notes 1. The root of the tree is the only job executed in the last time unit (i.e. [Cmax-1, Cmax]) 2. If the schedule is such that there is no idle time before Cmax 2, then the schedule must be optimal. Thm: The Critical-Path rule solves the problem P Pj = 1, intree Cmax Proof: By induction on the height (h) of the tree (T) Basis: Obvious when h = 1 or h = 2 Inductive Step: Assume the theorem is true for all trees of height h = k, we want to show that it is true for all trees of height h = k + 1, the inductive step is proved by contradiction. 1. Suppose there is a tree T of height h = k + 1 such that a Critical-Path schedule S is not of minimal makespan. Let Cmax of S be w. Let the optimal makespan be w o. We have w o < w. CS 599 Scheduling Algorithms 19

2. Form a new tree T from T by deleting all level 2 jobs and joining all level 3 jobs to the root. 3. Since S is not optimal and T is an intree, we can show that Cmax of the Critical- Path schedule S for T is w-1 and the optimal makespan for T is w o 1. Complete proof in p. 3-3 of the text book 4. Since w o < w, w o 1 < w 1. Therefore, critical path rule is not optimal for T which has height h = k. Contradiction!! (to our assumption that it is optimal for all trees of height h = k). c. P 2 P j = 1, prec Cmax E. G. Coffman, Jr. and R. L. Graham, Optimal Scheduling for Two-Processor Systems, Acta Informatica, Vol. 1, No. 3, 1972, pp. 200-213. Coffman-Graham Algorithm 1. Each job is assigned an integer which represents the priority of the job. 2. Whenever a machine becomes free for assignment, assign that job all of whose predecessors have already been executed and which has the largest label (priority) among those jobs not yet assigned. Let N = (n 1, n 2,, n t ) and N = ( n 1, n 2,, n t ) be 2 decreasing sequences of integers, i.e. n i > n i+1 (1 i < t) and n j > n j+1 (1 j < t ). We say that N < N if either CS 599 Scheduling Algorithms 20

1. For some i, 1 i t, we have n j = n j. for all j satisfying 1 i i 1 and n i < n i, or 2. n j = n j for all 1 j t and t < t e.g. (7, 5, 3, 2) < (7, 5, 4, 1) (4, 3, 1) < (5, 1) (7, 2) < (7, 2, 1) Coffman-Graham Labeling Algorithm α = {J 1, J 2,, J n } {1, 2,, n} For each job J i, S(J i ) denote the set of immediate successors of J i. 1. Let there be j terminal jobs (i.e. S(J i ) = φ). The terminal jobs are assigned an integer from the set {1, 2,, j} in an arbitrary order. 2. Suppose for some k n that the integers 1, 2,, k 1 have been assigned. For each job J i for which α has been assigned to all elements of S(J i ), let N(J i ) denote the decreasing sequence of integers formed by ordering the set {α(j j ) J j S(J i )}. Assign k to the job J* such that N(J*) N(J i ) for all such jobs J i. 3. Repeat step 2 until all jobs have been assigned some integers. CS 599 Scheduling Algorithms 21

Example: Showing Labeling Algorithm 19 18 17 16 15 10 13 11 14 12 8 9 6 7 4 3 5 1 2 Proof that C-G algorithm solves the problem P2 prec, P j = 1 C max Conventions: 1. If both machines become available simultaneously, machine 1 will always be assigned before machine 2. 2. If a machine is idle in a time interval, we say that it is executing a job with label 0. CS 599 Scheduling Algorithms 22

Lemma: Let S be a C-G schedule and let t be any integer between 0 and Cmax 1 (i.e. 0 t Cmax 1). If J is the job executing in the interval [t, t + 1] on machine 1, and J J is another job executing in the interval [t, t + 1] where t t Cmax 1, on any machine, then α(j) > α(j ). V3 V2 V1 V0 19 17 16 14 12 10 9 7 5 2 18 6 15 13 11 4 8 3 1 W3 W2 W1 W0 X3 X2 X1 X0 Suppose we can form k segments (X 0, X 1, X 2,, X k-1 ) Claim 1: The number of jobs in each segment Xi is odd. Let the number of jobs in segment Xi be 2n i 1. The time taken to execute all jobs in Xi in the C-G schedule is n i. Claim 2: Each job in segment Xi precedes every job in segment X i-1, k-1 i 1. Because of claim 2, all jobs in Xi must be executed before any job in X i-1 can start in any schedule whatsoever. Since Xi consists of 2n i 1 jobs, this will require at least n i units of time. Thus to execute all jobs, we need at least Σ (i = 0 to k-1) n i units of time. But C-G schedule has Cmax = Σ (i = 0 to k-1) n i. Hence C-G algorithm is optimal. (Complete proof is given in p. 3-5 of the text book.) CS 599 Scheduling Algorithms 23

C-G algorithm is not optimal for P3 prec, Pj = 1 Cmax 10 11 12 8 9 1 2 3 4 5 6 7 0 1 2 3 4 5 12 9 7 4 1 11 8 6 3 C-G Schedule 10 5 2 0 1 2 3 4 12 10 8 3 11 7 5 2 Optimal Schedule 9 6 4 1 P prec, Pj = 1 Cmax is NP-hard ( CLIQUE α P prec, Pj = 1 Cmax ) CLIQUE INSTANCE: A graph G = (V,E) and a positive integer J V. QUESTION: Does G contain a clique of size J or more, that is, a subset V V such that V J and every two vertices in V are joined by an edge in E? P Cmax is NP-Hard (3-PARTITION α P Cmax) 3-PARTITION INSTANCE: Set A of 3m elements, a bound B Z +, and a size s(a) Z + for each a A such that B/4 < s(a) < B/2 and such that Σ (a A) s(a) = mb. QUESTION: Can A be partitioned into m disjoint sets A 1, A 2,, A m such that, for 1 i m, Σ (a Ai) s(a) = B? (note that each Ai must therefore contain exactly three elements from A) CS 599 Scheduling Algorithms 24