Upload
jessie-baldwin
View
218
Download
0
Embed Size (px)
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.
Citation preview
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
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/ .
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.
4
Overview of what comes next Two examples
knapsacka more complex machine scheduling problem
A generalization to many other FPTAS
5
Example 1. The Knapsack Problem
1maximize
n
i ii
c x
1 s.t.
n
i ii
a x b
{0,1}nx
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
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’.
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.
9
A simple Example
Maximize 6x1 + 8x2 + 14x3 + …
Subject to 7x1 + 5x2 + 12x3 + … 100
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
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
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
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.
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
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
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.
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
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.
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
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
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.
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
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.
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.
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|
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
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.
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
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
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
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
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
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.
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
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
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
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.
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
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]
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
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
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
On FPTASs List Scheduling Problem polynomially bounded states monotone states, both good and bad constraints -domination
Extends and simplifies research by Woeginger