Approximation Schemes Open Shop Problem. O||C max and Om||C max {J 1,..., J n } is set of jobs. {M 1,..., M m } is set of machines. J i : {O i1,..., O.

Slides:



Advertisements
Similar presentations
Alexander Kononov Sobolev Institute of Mathematics Siberian Branch of Russian Academy of Science Novosibirsk, Russia.
Advertisements

On allocations that maximize fairness Uriel Feige Microsoft Research and Weizmann Institute.
NP-Completeness.
Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
Minimum Clique Partition Problem with Constrained Weight for Interval Graphs Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen.
MCS 312: NP Completeness and Approximation algorithms Instructor Neelima Gupta
Lecture 23. Subset Sum is NPC
1 Partition Into Triangles on Bounded Degree Graphs Johan M. M. van Rooij Marcel E. van Kooten Niekerk Hans L. Bodlaender.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Combinatorial Algorithms
Complexity ©D.Moshkovits 1 Hardness of Approximation.
The Stackelberg Minimum Spanning Tree Game Jean Cardinal · Erik D. Demaine · Samuel Fiorini · Gwenaël Joret · Stefan Langerman · Ilan Newman · OrenWeimann.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Approximation Algorithms
Vertex Cover, Dominating set, Clique, Independent set
1 Set # 3 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
Time Complexity.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
Chapter 11: Limitations of Algorithmic Power
Complexity 1 Hardness of Approximation. Complexity 2 Introduction Objectives: –To show several approximation problems are NP-hard Overview: –Reminder:
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Lot sizing and scheduling
Minimizing Makespan and Preemption Costs on a System of Uniform Machines Hadas Shachnai Bell Labs and The Technion IIT Tami Tamir Univ. of Washington Gerhard.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Approximation schemes Bin packing problem. Bin Packing problem Given n items with sizes a 1,…,a n  (0,1]. Find a packing in unit-sized bins that minimizes.
Design Techniques for Approximation Algorithms and Approximation Classes.
The Complexity of Optimization Problems. Summary -Complexity of algorithms and problems -Complexity classes: P and NP -Reducibility -Karp reducibility.
Great Theoretical Ideas in Computer Science.
Batch Scheduling of Conflicting Jobs Hadas Shachnai The Technion Based on joint papers with L. Epstein, M. M. Halldórsson and A. Levin.
Approximation schemes Scheduling problems. Polynomial Time Approximation Scheme (PTAS) Let Π be a minimization problem. An approximation scheme for problem.
Packing Rectangles into Bins Nikhil Bansal (CMU) Joint with Maxim Sviridenko (IBM)
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Restricted Track Assignment with Applications 報告人:林添進.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Princeton University COS 423 Theory of Algorithms Spring 2001 Kevin Wayne Approximation Algorithms These lecture slides are adapted from CLRS.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
Outline Introduction Minimizing the makespan Minimizing total flowtime
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
Non-Approximability Results. Summary -Gap technique -Examples: MINIMUM GRAPH COLORING, MINIMUM TSP, MINIMUM BIN PACKING -The PCP theorem -Application:
Linear Program Set Cover. Given a universe U of n elements, a collection of subsets of U, S = {S 1,…, S k }, and a cost function c: S → Q +. Find a minimum.
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
1.1 Chapter 3: Proving NP-completeness Results Six Basic NP-Complete Problems Some Techniques for Proving NP-Completeness Some Suggested Exercises.
Instructor Neelima Gupta Table of Contents Factor 2 algorithm for Bin Packing Factor 2 algorithm for Minimum Makespan Scheduling Reference:
Asymptotics and Recurrence Equations Prepared by John Reif, Ph.D. Analysis of Algorithms.
The full Steiner tree problem Theoretical Computer Science 306 (2003) C. L. Lu, C. Y. Tang, R. C. T. Lee Reporter: Cheng-Chung Li 2004/06/28.
NP-Completeness  For convenience, the theory of NP - Completeness is designed for decision problems (i.e. whose solution is either yes or no).  Abstractly,
11 -1 Chapter 12 On-Line Algorithms On-Line Algorithms On-line algorithms are used to solve on-line problems. The disk scheduling problem The requests.
Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application to Optical Networks Michele Flammini – University.
Approximation Algorithms Greedy Strategies. I hear, I forget. I learn, I remember. I do, I understand! 2 Max and Min  min f is equivalent to max –f.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Approximation Algorithms based on linear programming.
Approximation Algorithms for Scheduling Lecture 11.
CHAPTER SIX T HE P ROBABILISTIC M ETHOD M1 Zhang Cong 2011/Nov/28.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
Approximation Algorithms for Scheduling
More NP-Complete and NP-hard Problems
Chapter 10 NP-Complete Problems.
Richard Anderson Lecture 26 NP-Completeness
Computability and Complexity
3.3 Applications of Maximum Flow and Minimum Cut
ICS 353: Design and Analysis of Algorithms
Approximation Algorithms
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
CS154, Lecture 16: More NP-Complete Problems; PCPs
Theorem 8.19 If algorithm A has absolute approximation ratio RA , then the shifting algorithm has absolute approximation (KRA+1)/(K+1) Proof. If N is.
Instructor: Aaron Roth
Presentation transcript:

Approximation Schemes Open Shop Problem

O||C max and Om||C max {J 1,..., J n } is set of jobs. {M 1,..., M m } is set of machines. J i : {O i1,..., O im } is set of operations of job J i, O ik must be processed on machine M k, O ik : p ik ≥ 0 (i=1,…, n; k=1,…, m),

Instance and Schedule: C max = 16 M1M1 M2M2 M3M3 J1J1 J4J4 J3J3 J2J2 J5J5 J1J1 J2J2 J3J3 J4J4 J2J2 J4J4 J5J5 J5J5 p 11 = 1 p 11 = 1 p 12 = 2 p 12 = 2 p 13 = 2 p 13 = 2 p 21 = 2 p 21 = 2 p 22 = 2 p 22 = 2 p 23 = 2 p 23 = 2 p 31 = 6 p 31 = 6 p 32 = 2 p 32 = 2 p 33 = 1 p 33 = 1 p 41 = 1 p 41 = 1 p 42 = 2 p 42 = 2 p 43 = 3 p 43 = 3 p 51 = 2 p 51 = 2 p 52 = 5 p 52 = 5 p 53 = 5 p 53 = 5 J1J J3J3 J1J1 J2J2 J3J3 J4J4 J5J5

Lower bounds Let P j be the length of job J j, P max = max j P j is the maximum job length. Let L k be the load of machine M k. L max = max i L i is the maximum machine load. OPT ≥ max{P max, L max }

Greedy Algorithm for O||C max Whenever a machine becomes idle, if there is an unscheduled operation available to be scheduled on that machine, schedule it. An operation is available if it belongs to a job which is currently not undergoing any processing.

2-approximation algorithm Theorem 8.1 (Racsmany [1982]) Greedy algorithm is a 2-approximation algorithm for O||C max.

Proof Consider the machine M i that finishes last, and let J j be the job whose operation O k completes last on that machine. We claim that, at every point in time during the schedule, either job J j is undergoing processing on some machine, or machine M i is busy or both. If such were not the case, operation O k would have been scheduled earlier, since if M i and J j were both available earlier, clearly O k would have been processed at that time. Thus the schedule’s makespan is less than P max + L max ≤ 2OPT.

Tight instance A simple example shows that the greedy algorithm does not do better than 2 – 1/m in the worst case. Given m machines and m + 1 jobs, each having a unit-length operation on each machine. It is not hard to see that the optimal schedule has length m + 1, since the jobs can simply be rotated through the machines. Suppose that the greedy algorithm assign m jobs in the interval (0, m]. Then the operation J m+1 must undergo processing sequentially, and the overall schedule produced has length 2m,

Tight instance J1J1 J2J2 J3J3 J4J4 M1M1 M2M2 M3M3 J1J1 J1J1 J2J2 J2J2 J3J3 J3J3 J4J4 J4J4 J1J1 J2J2 J3J3 J4J4 M1M1 M2M2 M3M3 J1J1 J1J1 J2J2 J2J2 J3J3 J3J3 J4J4 J4J4

Inapproximability of O||C max Theorem 8.2 (Williamson et al.) The problem of deciding if there is an open shop schedule of length at most 4 is NP- complete. Corollary 8.3 (Williamson et al.) For any  < 5/4, there does not exist a polynomial-time  -approximation algorithm for the open shop problem, unless P = NP.

Monotonne-Not-All-Equal-3Sat Instance: Set U of variables, collection Z of clauses over U such that each clause has size 3 and contains only unnegated variables. Question: Is the truth assignment for U such that each clause in C has at least one true variable and at least one false variable?

Instance I of SAT U = {x 1,…, x u }, Z = {z 1,…, z v } Suppose each variable x i appears t i times in Z. For notational convenience, we view the k-th occurrence of x i as the variable x ik. Let  (x ik ) denote the next occurrence of x i, cyclically ordered; that is  (x ik ) = x il, where l = k mod t i + 1. transform an instance I into an inWe stance I O of the O||C max problem.

Instance I O 2u machines and 2u + v jobs For each variable x ik we construct two machines M A (x ik ) and M B (x ik ) and 3 types of jobs: An assignment job J ik with operations A(x ik ) and B(x ik ) of length 2, which are to be processed by M A (x ik ) and M B (x ik ), respectively. A consistency job J′ ik has operations A′(x ik ) and B′(x ik ) of length 2 and 1, respectively, which must be processed by M B (x ik ) and M A (  (x ik )). For each clause c = (x ˅ y ˅ z), we construct a clause job J c with three unit-length operations T(x), T(y), and T(z), to be processed on M A (x), M A (y), and M A (z), respectively.

(x 1 ˅ x 2 ˅ x 4 ) ˄ (x 2 ˅ x 3 ˅ x 4 ) M A (x 11 ) A(x 11 ) M B (x 11 ) M A (x 21 ) M B (x 21 ) M A (x 22 ) M B (x 22 ) M A (x 31 ) M B (x 31 ) M A (x 41 ) A(x 41 ) M B (x 41 ) A′(x 41 ) M A (x 42 ) A(x 42 ) M B (x 42 ) A′(x 42 ) B(x 11 ) B′(x 22 ) A′(x 21 ) A′(x 22 ) B′(x 21 ) B(x 41 ) B(x 42 ) B′(x 42 ) B′(x 41 ) assignment job x 1 assignment job x 2 assignment job x 3 assignment job x 4 clause job for x 1 ˅ x 2 ˅ x 4 clause job for x 2 ˅ x 3 ˅ x 4 consistency jobs

Consistency jobs M A (x 21 ) M B (x 21 ) M A (x 22 ) M B (x 22 ) B′(x 22 ) A′(x 21 ) A′(x 22 ) B′(x 21 ) assignment job x 2 consistency jobs A consistency job ensures that the value of variable x ik is equal to the value of its next occurrence.

(x 1 ˅ x 2 ˅ x 4 ) ˄ (x 2 ˅ x 3 ˅ x 4 ) M A (x 11 ) A(x 11 ) M B (x 11 ) M A (x 21 ) M B (x 21 ) M A (x 22 ) M B (x 22 ) M A (x 31 ) M B (x 31 ) M A (x 41 ) A(x 41 ) M B (x 41 ) A′(x 41 ) M A (x 42 ) A(x 42 ) M B (x 42 ) A′(x 42 ) B(x 11 ) B′(x 22 ) A′(x 21 ) A′(x 22 ) B′(x 21 ) B(x 41 ) B(x 42 ) B′(x 42 ) B′(x 41 ) assignment job x 1 assignment job x 2 assignment job x 3 assignment job x 4 clause job for x 1 ˅ x 2 ˅ x 4 clause job for x 2 ˅ x 3 ˅ x 4 consistency jobs

Properties of instance I O Suppose that there is a schedule of length 4. In any such schedule, either every machine M A (x ik ) (k = 1,…, t i ) process its assignment operation from time 0 to 2, or every machine M A (x ik ) process its assignment operation from time 2 to 4. If this is not a case, then the exists i and k such that M A (x ik ) processes its assignment operation from time 0 to 2, and M A (  (x ik )) processes its assignment operation from time 2 to 4. But M B (x ik ) processes its assignment operation from time 2 to 4. The consistency job for x ik must be processed on both M B (x ik ) and M A (  (x ik )) from time 0 to 2, which is a contradiction. M A (x ik ) M B (x 21 ) M A (  (x ik )) M B (x 22 ) A(  (x ik )) A(x ik ) A′(x ik ) B′(x ik ) assignment job x i consistency jobs

Satisfying assignment For each variable x i, set x i to be true if the assignment operation for M A (x ik ) runs from 0 to 2, and false otherwise. We know that a clause operation has been scheduled between time 2 and 4 in case the variable corresponding to that operation has been set true and sometime between time 0 and 2 in case the variable has been set false. Because each clause job has three unit length operations wich have been scheduled in nonoverlapping time periods, not all of its operations can correspond to true variables and not all of its operations can correspond to false variables. Hence at least one variable of each clause must be true and at least one variable must be false.

(x 1 ˅ x 2 ˅ x 4 ) ˄ (x 2 ˅ x 3 ˅ x 4 ) M A (x 11 ) A(x 11 ) M B (x 11 ) M A (x 21 ) M B (x 21 ) M A (x 22 ) M B (x 22 ) M A (x 31 ) M B (x 31 ) M A (x 41 ) A(x 41 ) M B (x 41 ) A′(x 41 ) M A (x 42 ) A(x 42 ) M B (x 42 ) A′(x 42 ) B(x 11 ) B′(x 22 ) A′(x 21 ) A′(x 22 ) B′(x 21 ) B(x 41 ) B(x 42 ) B′(x 42 ) B′(x 41 ) операции назначения x 1 операции назначения x 2 операции назначения x 3 операции назначения x 4 операции x 1 ˅ x 2 ˅ x 4 операции x 2 ˅ x 3 ˅ x 4 операции согласования x 1 := 1 x 2 := 0 x 3 := 0 x 4 := 1

Om||C max Let 0 < ε < 1 be some small number such that 1/ ε is an integer. Let m ≥ 3 be an integer LB = max{P max, L max } LB ≤ OPT(C max ) ≤ 2LB

Partition of jobs (0 < ε′ < ε/(m 2 +1) < 1) We define three set of jobs. For a rational number  with ε m/ε ≤  ≤ ε set Big = {J j  J| P j ≥  LB}, Small = {J j  J|  ε′LB < P j <  LB}, Tiny = {J j  J| P j ≤  ε′LB}. The number of big jobs is bounded by m/  ≤ mε′ -m/ε′. The total length of the small jobs is at most ε′LB.

How to choose such  Small = {J j  J|  ε′LB < P j <  LB} Define a sequence of real numbers  l = (  ) l, l ≥ 0. Consider the sets S l of small operations with respect to  l. For i ≠ j the sets S i and are S j disjoint ε′ 7 ε′ 5 ε′ 3 ε′ ε′ 6 ε′ 4 ε′ 2  k = ε k S1S1 S2S2

How to choose such  Since the total length of all operations is at most mLB, the exists a number k ≤ m/ε′ for which S k is as desired. We set  =  k. Note that the value of  depends on the input, but it is bounded by constants independent on the input. ε′ 7 ε′ 5 ε′ 3 ε′ ε′ 6 ε′ 4 ε′ 2  k = ε k S1S1 S2S2

Algorithm OpenShop 1.Find an optimal schedule  1 for big jobs. –We fix an order of the big jobs for each machine and fix an order of the operations for each big job. On any machine M i, the schedule big jobs induces a sequence of gaps. 2.Schedule tiny operations into gaps of  1. Denote the obtained schedule as  2. 3.Add the small jobs at the end of  2 in a greedy way.

Step 1 The number of big jobs is bounded by The number of big jobs is bounded by a constant that only depends on ε and m. We enumerate all schedules of big jobs and take the best one. We note that OPT(Big) ≤ OPT. There are at most m 2 /  gaps in the schedule  1. M1M1 M2M2 M3M3 J1J1 J2J2 J3J3 J2J2 J1J1 J2J2 J5J5 J5J J3J3

Steps 2 and 3 Starting at time t = 0, the algorithm tries to schedule one of the available unscheduled tiny operations at every time t where one of the machines M i becomes idle. Let at time t an available operation O ik be considered and the remaining part of the gap is less than the length of operation O ik. The reason is that some big operation O starts at time τ and p ik > τ − t. In this case shift operation O and every operation, which starts after the completion of O, to the right by p ik − τ + t time units. Let C max (  2 ) be the length of the obtained schedule. Starting at timeC max (  2 ) schedule the small jobs in a greedy way.

Step 2 M1M1 M2M2 M3M3 J1J1 J2J2 J3J3 J2J2 J1J1 J2J2 J5J5 J5J J3J3 M1M1 M2M2 M3M3 J1J1 J2J2 J3J3 J2J2 J1J1 J2J2 J5J5 J5J J3J3

Analysis of the algorithm Let C max (  ) be the makespan of the schedule by Algorithm OpenShop. Since the total length of small jobs is at most ε′LB, it follows that C max (  ) ≤ C max (  2 ) + ε′LB. Let us estimate C max (  2 ). Let O jk be an operation, which completes last in  2, i.e. С jk = C max (  2 ). Let be the sum of the lengths of all shifts produced by the algorithm. Let  be the total idle times on machine M k.

O jk is an operation of a big job C max (  2 ) ≤ C max (  1 ) +  ≤ (m 2 /  )  ε′LB = m 2 ε′LB C max (  2 ) ≤ C max (  1 ) + m 2 ε′LB

O jk is an operation of a tiny job C max (  2 ) ≤ L k +    ≤ p k ≤  ε′LB C max (  2 ) ≤ C max (  1 ) +  ε′LB ≤ ≤ C max (  1 ) + m 2 ε′LB C max (  ) ≤ C max (  2 ) + ε′LB ≤ ≤ C max (  1 ) + (m 2 +1)ε′LB ≤ (1 +  ) OPT.

PTAS Theorem 8.4 (Sevastianov, Woeginger 1996) For every fixed ε > 0 and any fixed m ≥ 2, there exists a polynomial-time (1+ ε)-approximation algorithm for the Om||C max problem.

Exercise Let  be the schedule obtained by the greedy algorithm. Let H be the set of intervals in  such that no machine is idle during these intervals. Let W be the total length of the intervals from H. Suppose that W ≥ 3P max. Obtain a good estimate of the ratio of C max (  ) to OPT.