1 BECO 2004 When can one develop an FPTAS for a sequential decision problem? with apologies to...

43
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

description

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.

Transcript of 1 BECO 2004 When can one develop an FPTAS for a sequential decision problem? with apologies to...

Page 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.

1

BECO 2004

When can one develop an FPTAS for a sequential decision problem?

with apologies to Gerhard Woeginger

James B. OrlinMIT

working jointly with Mohamed Mostagir

Page 2: 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.

2

Fully Polynomial Time Approximation Scheme (FPTAS) INPUT.

A sequential decision problem with n stages or decisions. Also, a given accuracy .

OUTPUTA solution that is guaranteed to be within of

optimal.

RUNNING TIMEPolynomial in the size of the problem and in 1/ .

Page 3: 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.

3

Goal of this talk Present Branch and Dominate: a generic method for

creating FPTASesStarting point for this research: Woeginger [2000]applies to all problems considered by WoegingerGeneralizes results to multiple criteria as per Angel,

Bampis, and Kononov [2003]Extends to many dynamic lot-sizing and many new

problems.

Page 4: 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.

4

Overview of what comes next Two examples

knapsacka more complex machine scheduling problem

A generalization to many other FPTAS

Page 5: 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.

5

Example 1. The Knapsack Problem

1maximize

n

i ii

c x

1 s.t.

n

i ii

a x b

{0,1}nx

Page 6: 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.

6

The Knapsack Problem as a Decision Problem

x1 = 1

x1 = 0

x2 = 1

x2 = 0

x2 = 1

x2 = 0

x3 = 1

x3 = 0

x3 = 1

x3 = 0

x3 = 1

x3 = 0

x3 = 1

x3 = 0

Decision tree.

Enumeration Tree

Page 7: 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.

7

Domination Let x denote a decision node at stage j. its state is v, w, where

v = c1x1 + … + cjxj

w = a1x1 + … + ajxj

x is infeasible if w > b. Let x’ have state v’, w’ at stage j

Node x dominates node x’ at stage j ifv v’ and w w’.

Page 8: 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.

8

A pseudo-polynomial time algorithm

Branch and Dominate (B & D)Expand the enumeration tree one stage at a

time.Eliminate any infeasible nodesWhenever 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.

Page 9: 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.

9

A simple Example

Maximize 6x1 + 8x2 + 14x3 + …

Subject to 7x1 + 5x2 + 12x3 + … 100

Page 10: 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.

10

The Knapsack Problem as a Decision Problem

0,0

x2 = 1 14,12

x2 = 06,7

x2 = 18,5

x2 = 00,0

x1 = 1 6,7

x1 = 00,0

x3 = 1

x3 = 0

x3 = 1

x3 = 0

x3 = 1

x3 = 0

28,24

22,17

8,5

0,0

14,12

14,12

Max 6x1 + 8x2 + 14x3 + …

s.t. 7x1 + 5x2 + 12x3 + … 1006,7

14,12

Page 11: 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.

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 nCmax). Theorem. Branch and -dominate with = /n is

an FPTAS for the knapsack problem. The running time is O(n2/)

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

Page 12: 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.

12

Outline of Proof of -optimality Let x = (x1, x2, …, xn) be the optimal solution. Let yj be a partial solution at stage j for j = 0 to n.

y0 = . for each j = 1 to n, yj = yj-1,xj or else

yj is the solution that -dominates yj-1,xj

Let xj = (x1, …, xj). Then yj j -dominates xj for each j.

This is the standard construction

Page 13: 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.

13

y3x3 = 1

x0

x2 = 1x2

x1 = 0x1

x3 = 1

x4

x4 = 0

x3x3 = 1

x5x5 = 1y0

y1

y2

y2 -dominates x2.

y4

x5 = 1w5

y5

y4 -dominates w4.y5 -dominates w5.

w4

x4 = 0

A node in the tree, not -dominated

A -dominated node in the tree

x2 part of the opt. solution

Total accumulated error: at most n.

Page 14: 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.

14

List Scheduling Problems Scheduling problems in which jobs are

constrained to be assigned in sequential order.

5 126 13 15

1421 3 10

874 9 11

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

Page 15: 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.

15

A 2-machine List Scheduling Problem1 if job j is assigned to machine 10 if job j is assigned to machine 2jx

: 1 : 0Min 10

j j

j jj x j x

z C C

1 1(1 )

n n

j jj j

x x

1 for = 1 to

j

i i ji

p x b j n

same number of jobs on each machine

proc. time bounds on machine 1.

Cj = completion time

Cj …. is defined correctly for j = 1 to n

x {0, 1}n

Page 16: 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.

16

Stage j: after j jobs have been assigned

M1(j) processing time on machine 1: at most bj

M2(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 xk has an associated state vector.

Page 17: 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.

17

On moving from Stage j to Stage j+1Stage 12

30

35

3

530

x12 = 1

27

35

2

500

Stage 11

M1

M2

d

z

p12 = 3

F11(27, 35, 2, 500, 1) = 30, 35, 3, 530

current state + decision state at next stage

Page 18: 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.

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.

2 3d

The component for d is PB.

Page 19: 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.

19

Monotone Components

Monotone

Monotone

Stage j+1

30

35

3

530

Stage j

27

35

2

500

M1(j)M2(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 Fj, and PB components stay unchanged in Fj(S)

e.g., components 1, 2, and 4,

F11(27, 35, 2, 500, 1) = 30, 35, 3, 530

Page 20: 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.

20

Domination at Stage j

Monotone

Monotone

dom if

Stage j

M1

M2

z

d

Stage j

M’1

M’2

z’

d’=

for monotone

= for PB

PB

Page 21: 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.

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 PB3. The objective is to minimize4. Any constraint on a monotone component is a strict

upper bound5. All other constraints involve only PB components6. 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.

Page 22: 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.

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.

Page 23: 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.

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, and2. It cannot decrease from stage to stage.

Non-Example: Suppose we keep track of M1 – M2

3. Fj is not overly sensitive to small changes in s1 e.g., Fj(s1(1+ ), s2, …, sk, ) (1 + n) Fj(s1, s2, …, sk).

If it is not good, it is bad.

Page 24: 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.

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 bj. So, M1 is bad. Small relative changes in the value of the

component can mean the difference between the constraint being satisfied or not.

Page 25: 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.

25

On bad monotone components

Condition 2Suppose s1 could decrease from stage to stage

In this case, a small relative change in the value of s1 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 |M1 – M2|

Page 26: 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.

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

M1

M2

d

Tardi-ness

Bad Monotone2795

3421

2

49

Stage 11

Suppose that we are minimizing total tardiness.

Bad Monotone

PB

Good Monotone

Page 27: 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.

27

-Domination at Stage jStage 11

28

34

2

495

Bad Monotone

PB

Good Monotone

Stage 11

27

35

2

500

M1

M2

d

z

=

(1+ )

(1+ )

Good Monotone

-domination is the same as domination except for the (1+ ) term on the good monotone states.

Page 28: 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.

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.

Page 29: 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.

29

A list scheduling problem with outsourcing

Schedule jobs on a single machine Each job j has a due date dj, and a maximum

tardiness Lj

job i can be outsourced at a cost of ci . 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 dj + Lj.

Processing Time on machine States at stage j Number outsourced

Cumulative Objective Function

bad-bad

Good

PB

Page 30: 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.

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.

Page 31: 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.

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

contributiondifferent in generalizations that follow

Page 32: 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.

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.

Page 33: 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.

33

Cost vs. Benefit

0

20

40

60

80

100

120

0 20 40 60 80 100

Cost

Ben

efit

Multi-criteria FPTASSuppose 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.

Page 34: 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.

34

Cost vs. Benefit

0

20

40

60

80

100

120

0 20 40 60 80 100

Cost

Ben

efit

Multi-criteria FPTASCost vs Benefit

0

20

40

60

80

100

120

0 20 40 60 80 100

Cost

Ben

efit

Page 35: 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.

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.

Page 36: 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.

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]

Page 37: 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.

37

Machine Scheduling with “crashing” 2 machine scheduling problem Minimize the makespan

Budget BProcessing item j uses up some of the budgetProcessing time of item j is pj(b), where $b are

used.• if b’ > b, then pj(b’) pj(b).

Note: there are an exponential number of possible decisions to make at stage j.

We will modify B&D.

Page 38: 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.

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

Page 39: 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.

39

Branching at stage j. b = budget allocated

[0, B/2]

xj = 1

xj = 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]

Page 40: 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.

40

Domination Rule

Stage j, state S, assign job j to machine 1, budget assigned is between L and U

Suppose that the state Fj(S, 1, L) -dominates the state Fj(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

Page 41: 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.

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.

Page 42: 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.

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]

Page 43: 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.

43

On FPTASs List Scheduling Problem polynomially bounded states monotone states, both good and bad constraints -domination

Extends and simplifies research by Woeginger