Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 BECO 2004 When can one develop an FPTAS for a sequential decision problem? with apologies to Gerhard Woeginger James B. Orlin MIT working jointly with.

Similar presentations


Presentation on theme: "1 BECO 2004 When can one develop an FPTAS for a sequential decision problem? with apologies to Gerhard Woeginger James B. Orlin MIT working jointly with."— Presentation transcript:

1 1 BECO 2004 When can one develop an FPTAS for a sequential decision problem? with apologies to Gerhard Woeginger James B. Orlin MIT working jointly with Mohamed Mostagir

2 2 Fully Polynomial Time Approximation Scheme (FPTAS) INPUT.  A sequential decision problem with n stages or decisions. Also, a given accuracy . OUTPUT  A solution that is guaranteed to be within  of optimal. RUNNING TIME  Polynomial in the size of the problem and in 1/ .

3 3 Goal of this talk Present Branch and Dominate: a generic method for creating FPTASes  Starting point for this research: Woeginger [2000]  applies to all problems considered by Woeginger  Generalizes results to multiple criteria as per Angel, Bampis, and Kononov [2003]  Extends to many dynamic lot-sizing and many new problems.

4 4 Overview of what comes next Two examples  knapsack  a more complex machine scheduling problem A generalization to many other FPTAS

5 5 Example 1. The Knapsack Problem

6 6 The Knapsack Problem as a Decision Problem x 1 = 1 x 1 = 0 x 2 = 1 x 2 = 0 x 2 = 1 x 2 = 0 x 3 = 1 x 3 = 0 x 3 = 1 x 3 = 0 x 3 = 1 x 3 = 0 x 3 = 1 x 3 = 0 Decision tree. Enumeration Tree

7 7 Domination Let x denote a decision node at stage j. its state is  v, w , where  v = c 1 x 1 + … + c j x j  w = a 1 x 1 + … + a j x j x is infeasible if w > b. Let x’ have state  v’, w’  at stage j Node x dominates node x’ at stage j if  v  v’ and w  w’.

8 8 A pseudo-polynomial time algorithm Branch and Dominate (B & D)  Expand the enumeration tree one stage at a time.  Eliminate any infeasible nodes  Whenever one node dominates another, eliminate the dominated node. (Do this sequentially)  The optimum corresponds to the stage n node with greatest value. Theorem. Branch and dominate is pseudo- polynomial for the knapsack problem.

9 9 A simple Example Maximize 6x 1 + 8x 2 + 14x 3 + … Subject to 7x 1 + 5x 2 + 12x 3 + …  100

10 10 The Knapsack Problem as a Decision Problem 0,0 x 2 = 1 14,12 x 2 = 0 6,7 x 2 = 1 8,5 x 2 = 0 0,0 x 1 = 1 6,7 x 1 = 0 0,0 x 3 = 1 x 3 = 0 x 3 = 1 x 3 = 0 x 3 = 1 x 3 = 0 28,24 22,17 8,5 0,0 14,12 Max 6x 1 + 8x 2 + 14x 3 + … s.t. 7x 1 + 5x 2 + 12x 3 + …  100 6,714,12

11 11  -domination Node x  -dominates node x’ at stage j if  v  (1-  ) v’ and w  w’. The number of undominated states at each stage is O(  -1 log nC max ). Theorem. Branch and  -dominate with  =  /n is an FPTAS for the knapsack problem. The running time is O(n 2 /  ) Note: we did not use w  (1+  ) w’ because there is a hard constraint on knapsack weights, and we cannot approximate it. $28,000 1,201 value weight $27,800 1,200 $28,000 1,201

12 12 Outline of Proof of  -optimality Let x = (x 1, x 2, …, x n ) be the optimal solution. Let y j be a partial solution at stage j for j = 0 to n.  y 0 = .  for each j = 1 to n, y j = y j-1,x j or else y j is the solution that  -dominates y j-1,x j Let x j = (x 1, …, x j ). Then y j j  -dominates x j for each j. This is the standard construction

13 13 y3y3 x 3 = 1 x0x0 x 2 = 1 x2x2 x 1 = 0 x1x1 x 3 = 1 x4x4 x 4 = 0 x3x3 x 3 = 1 x5x5 x 5 = 1 y0y0 y1y1 y2y2 y 2  -dominates x 2. y4y4 x 5 = 1 w5w5 y5y5 y 4  -dominates w 4.y 5  -dominates w 5. w4w4 x 4 = 0 A node in the tree, not  -dominatedA  -dominated node in the tree x2x2 part of the opt. solution Total accumulated error: at most n .

14 14 List Scheduling Problems Scheduling problems in which jobs are constrained to be assigned in sequential order. 51261315 1421310 874911 Machine 1 Machine 2 Machine 3 Finding an optimal list schedule: finds the optimal solution for some problems minimize sum of completion times on K machines. can be used as a heuristic for an NP-hard problem

15 15 A 2-machine List Scheduling Problem same number of jobs on each machine proc. time bounds on machine 1. C j = completion time C j …. is defined correctly for j = 1 to n x  {0, 1} n

16 16 Stage j: after j jobs have been assigned M 1 (j) processing time on machine 1: at most b j M 2 (j) processing time on machine 2 d(j) number of jobs on machine 1 – number of jobs on machine 2 z(j) cumulated objective function Each partial solution x k has an associated state vector.

17 17 On moving from Stage j to Stage j+1 Stage 12 30 35 3 530 x 12 = 1 27 35 2 500 Stage 11 M1M1 M2M2 d z p 12 = 3 F 11 (27, 35, 2, 500, 1) =  30, 35, 3, 530  current state + decision  state at next stage

18 18 Polynomially Bounded (PB) Components A component of the state vector is called polynomially bounded (PB) if the number of different values it can take is polynomially bounded in the size of the input. 23 d The component for d is PB.

19 19 Monotone Components Monotone Stage j+1 30 35 3 530 Stage j 27 35 2 500 M 1 (j) M 2 (j) d(j) z(j) A non-PB component is called monotone if for each stage j replacing its current value i by i’ > i cannot not decrease F j, and PB components stay unchanged in F j (S) e.g., components 1, 2, and 4, F 11 (27, 35, 2, 500, 1) =  30, 35, 3, 530 

20 20 Domination at Stage j Monotone    dom if Stage j M1M1 M2M2 z d M’ 1 M’ 2 z’ d’ =  for monotone =for PB PB

21 21 Theorem. B & D is a pseudo-polynomial time algorithm for a list scheduling problem if 1. There are a fixed number of components of the state vector 2. Each component is either monotone or PB 3. The objective is to minimize 4. Any constraint on a monotone component is a strict upper bound 5. All other constraints involve only PB components 6. Additional technical conditions (e.g., all functions can be computed in polynomial time.) Proof. The number of undominated state vectors at each stage is pseudo-polynomial.

22 22 Moving from Pseudo-polynomial to an FPTAS. We want conditions under which Branch and  -dominate leads to an FPTAS. We need to replace domination by  -domination in all except one of the monotone components.

23 23 Good and Bad Monotone Components A monotone component (say component 1) is good if all of the following conditions are satisfied: 1.It has no strict upper bound, and 2.It cannot decrease from stage to stage. Non-Example: Suppose we keep track of M 1 – M 2 3.F j is not overly sensitive to small changes in s 1 e.g., F j (s 1 (1+  ), s 2, …, s k, )  (1 + n  ) F j (s 1, s 2, …, s k ). If it is not good, it is bad.

24 24 On bad monotone components Condition 1. Any monotone component on which there are hard upper bounds is bad. Example. the processing time on machine 1 at stage j at most b j. So, M 1 is bad.  Small relative changes in the value of the component can mean the difference between the constraint being satisfied or not.

25 25 On bad monotone components Condition 2 Suppose s 1 could decrease from stage to stage In this case, a small relative change in the value of s 1 at some stage could have a very large impact on states at later stages. And so it is bad. e.g., Suppose we keep track of |M 1 – M 2 |

26 26 On Bad Monotone States Condition 3. A state is bad if a small change in its value can cause a large change in the value at the next stage for some monotone state. 2700 3501 2 50 Stage 11 M1M1 M2M2 d Tardi- ness Bad Monotone 2795 3421 2 49 Stage 11 Suppose that we are minimizing total tardiness. Bad Monotone PB Good Monotone

27 27  -Domination at Stage j Stage 11 28 34 2 495 Bad Monotone PB Good Monotone Stage 11 27 35 2 500 M1M1 M2M2 d z  =  (1+  ) Good Monotone  -domination is the same as domination except for the (1+  ) term on the good monotone states.

28 28 Theorem. If a list scheduling problem satisfies conditions 1-6 from before, and if at most one monotone component is bad, then Branch and  -dominate can be used to create an FPTAS. Note: use  -domination on all good monotone components, and use domination on the remaining monotone component.

29 29 A list scheduling problem with outsourcing Schedule jobs on a single machine Each job j has a due date d j, and a maximum tardiness L j job i can be outsourced at a cost of c i. At most K jobs can be outsourced. Objective: minimize the weighted sum of the tardinesses of the jobs plus the outsourcing costs. subject to: job j must be completed before d j + L j. Processing Time on machine States at stage j Number outsourced Cumulative Objective Function bad-bad Good PB

30 30 Theorem. Branch and  -dominate can be used to create an FPTAS for the list scheduling problem on the previous slide. Note: if we do not require a list schedule, the previous problem is strongly NP-hard.

31 31 References Contrast with Woeginger [2000]  very similar in essence  fewer abstractions here; more direct focus on the components of the transition function  focus on list scheduling helps to clarify contribution  different in generalizations that follow

32 32 Other references Rich history of references in FPTASes Pioneers (1970s)  Horowitz & Sahni, Ibarra &Kim, Sethi, Garey, Johnson, Babat, Gens, Levner, Lawler, Lenstra, Rinnooy Kan, and more 61 references in the ACM digital guide for FPTAS Domination in Branch and Bound is an old idea. But I don’t have early references.

33 33 Multi-criteria FPTAS Suppose we have two or more objective criteria. We say that (c, b)  -dominates (c’, b’) if 1.c  (1 +  ) c’ and 2.b  (1 +  ) b’ A pareto set consists of a maximal number of undominated solutions. The size of a pareto set is polynomial in the size of the data, 1/  and the number of objectives.

34 34 Multi-criteria FPTAS

35 35 Multiple Criteria FPTAS Theorem. If a sequential problem is solvable with an FPTAS for one good objective using the results of Theorem 1, then the multiple criteria version is solvable with an FPTAS for multiple good objectives. Proof. Same argument as in single criterion case.

36 36 References Multi-criteria FPTAS  Hansen [1979]  Orlin [1981]  Warburton [1987]  Safer and Orlin [1995]  Papadimitriou and Yannakakis [2000], [2001]  Angel, Bampis, and Kononov [2003]

37 37 Machine Scheduling with “crashing” 2 machine scheduling problem Minimize the makespan  Budget B  Processing item j uses up some of the budget  Processing time of item j is p j (b), where $b are used. if b’ > b, then p j (b’)  p j (b). Note: there are an exponential number of possible decisions to make at stage j. We will modify B&D.

38 38 Machine Scheduling with “crashing” Processing Time on machine 1 States at stage j Processing Time on machine 2 Budget used up good bad good Decisions at stage j Place job j on machine 1 or 2 How much budget to allocate exp

39 39 Branching at stage j. b = budget allocated [0, B/2] x j = 1 x j = 0 Budget allocation as a binary decision process. state [B/2, B] [0, B/2] [B/2, B] [0, B/4] [B/4, B/2] [B/2, 3B/4] [3B/4, B] [0, B/4] [B/4, B/2] [B/2, 3B/4] [3B/4, B] Example: b  [0, B/2]

40 40 Domination Rule Stage j, state S, assign job j to machine 1, budget assigned is between L and U Suppose that the state F j (S, 1, L)  -dominates the state F j (S, 1, U) Then allocate a budget of L, and stop branching. [L, U] During the branching for budget allocation, stop branching at a node denoted as [L, U] if allocating the budget L gives a state that  -dominates the state obtained by allocating U. L

41 41 Lemma and Theorem Lemma. In the binary expansion of the budget, the number of nodes starting from any state is polynomial in the size of the problem and in 1/ . Theorem. Branch and dominate is an FPTAS whenever it satisfies conditions 1 to 6 from before and whenever the number of bad monotone states is at most 1.

42 42 Lot Sizing The previous analysis extends to dynamic lotsizing Branch and  -dominate gives an FPTAS, even in the multiple criteria case. Extends work by Dada and Orlin [1981] Safer and Orlin [1995] Van Hoesel and Wagelmans [2001] Safer, Orlin, and Dror [2003]

43 43 On FPTASs List Scheduling Problem polynomially bounded states monotone states, both good and bad constraints  -domination Extends and simplifies research by Woeginger


Download ppt "1 BECO 2004 When can one develop an FPTAS for a sequential decision problem? with apologies to Gerhard Woeginger James B. Orlin MIT working jointly with."

Similar presentations


Ads by Google