Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
CONCISE DECISION DIAGRAMS FOR
BRANCHING AND STORING
NEAR-OPTIMAL SOLUTIONS
Thiago Serra John Hooker
Carnegie Mellon University
MOPTA 2016
IF FINDING ONE IS EASY, WHAT ABOUT ALL?
WE CARE ABOUT THAT EVEN IN FICTION
Motivation
4
Poké Ball Belt Bag
PresenterPresentation Noteshttps://www.youtube.com/watch?v=3xTyohQhZmI
ONE OPTIMAL SOLUTION MAY NOT BE ENOUGH
(Real) Motivation
6
Alternative courses of action
7
Alternative courses of action
How much is left on the table?
8
Truthful bidding in combinatorial auctions
PresenterPresentation Noteshttp://www.picgifs.com/disney-gifs/pinocchio/http://blog.winspireme.com/5-reasons-not-to-hire-a-benefit-auctioneer
9
Truthful bidding in combinatorial auctions
Prices defined by solving problem many times
PresenterPresentation Noteshttp://www.picgifs.com/disney-gifs/pinocchio/http://blog.winspireme.com/5-reasons-not-to-hire-a-benefit-auctioneer
10
Solvers are already doing that
PresenterPresentation Noteshttp://yetanothermathprogrammingconsultant.blogspot.com/2016/01/finding-all-optimal-lp-solutions-using.html
11
Solvers are already doing that
Where is my Poké Belt?
PresenterPresentation Noteshttp://yetanothermathprogrammingconsultant.blogspot.com/2016/01/finding-all-optimal-lp-solutions-using.html
USING AND RELAXING DECISION DIAGRAMS
Our approach
13
From trees to diagrams Too many solutions,
not much information
X1
X2
X3
Variable for branching:
0-arc
1-arc
Branching tree
14
From trees to diagrams Too many solutions,
not much information
X1
X2
X3
Variable for branching:
0-arc
1-arc
r
t Branching tree Decision diagram
15
From trees to diagrams Anything other than a path gets smaller
Branching tree Decision diagram
16
From trees to diagrams Anything other than a path gets smaller
Branching tree Decision diagram
17
From trees to diagrams Anything other than a path gets smaller
Solutions ≡ Leaves → Solutions ≡ Paths
18
From trees to diagrams Anything other than a path gets smaller
Solutions ≡ Leaves → Solutions ≡ Paths
19
From trees to diagrams Anything other than a path gets smaller
Solutions ≡ Leaves → Solutions ≡ Paths
Optimal solutions ≡ Shortest (Longest) paths
20
Sound relaxations Exact for Δ–optimal solutions
Decision diagram
3
2
3
Weights of 1-arcs:
21
Sound relaxations Exact for Δ–optimal solutions
Min problem: optimal value z* to z* + Δ
Decision diagram (z* = 3 Δ = 3)
3
2
3
Weights of 1-arcs:
22
Sound relaxations Exact for Δ–optimal solutions
Min problem: optimal value z* to z* + Δ
Decision diagram Sound relaxation (z* = 3 Δ = 3)
3
2
3
Weights of 1-arcs:
23
Sound relaxations Exact for Δ–optimal solutions
Min problem: optimal value z* to z* + Δ
Decision diagram Sound relaxation (z* = 3 Δ = 3)
3
2
3
Weights of 1-arcs:
24
Sound relaxations Decision diagram ≡ Paths within a budget
Decision diagram Sound relaxation (z* = 3 Δ = 3)
3
2
3
25
Sound relaxations Decision diagram ≡ Paths within a budget
Some arcs forbidden after worse choices
Decision diagram Sound relaxation (z* = 3 Δ = 3)
3
2
3
26
How it works Reduction
Merges nodes with same children
27
How it works Reduction
Merges nodes with same children
28
How it works Reduction
Merges nodes with same children
29
How it works Reduction
Merges nodes with same children
Converges to minimum size diagram
30
How it works Sound-reduction
Redirects incoming arcs from node u to v
v u
31
How it works Sound-reduction
Redirects incoming arcs from node u to v
v u v u
32
How it works Sound-reduction
Redirects incoming arcs from node u to v
(i) Node v has a superset of completions
v u v u
33
How it works Sound-reduction
Redirects incoming arcs from node u to v
(ii) Min cost r-u path
+ Min cost extra v-t path
> z* + Δ
(i) Node v has a superset of completions
v u v u
34
How it works Sound-reduction
4
1
1
2
2
z* = 1 Δ = 6
v1 u1
v2 q u2
v3 u3
r
t
35
How it works Sound-reduction
4
1
1
2
2
v1 u1
v2 q u2
v3 u3
z* = 1 Δ = 6
Min r-u2 path: 6
+ Min extra q-t path: 2
> 7
r
t
36
How it works Sound-reduction
4
1
1
2
2
v1 u1
v2 q
v3 u3
z* = 1 Δ = 6
Min r-u2 path: 6
+ Min extra q-t path: 2
> 7
r
t
37
How it works Sound-reduction
4
1
1
2
2
v1 u1
v2 q u2
v3 u3
z* = 1 Δ = 6
Min r-u2 path: 6
+ Min extra v2-t path: 2
> 7
r
t
38
How it works Sound-reduction
4
1
1
2
2
v1 u1
v2 q
v3 u3
z* = 1 Δ = 6
Min r-u2 path: 6
+ Min extra v2-t path: 2
> 7
r
t
39
How it works Sound-reduction
4
1
1
2
2
v1 u1
v2 q u2
v3 u3
z* = 1 Δ = 6
Min r-u1 path: 5
+ Min extra v1-t path: 3
> 7
r
t
40
How it works Sound-reduction
4
1
1
2
2
v1
v2 q
v3 u3
z* = 1 Δ = 6
Min r-u1 path: 5
+ Min extra v1-t path: 3
> 7
r
t
41
How it works Sound-reduction
Same children → Extra paths are costly
4
1
1
2
2
v1
v2 q
v3 u3
z* = 1 Δ = 6 r
t
42
How it works Sound-reduction
Bottom-up comparison of completions
4
1
1
2
2
v1 u1
v2 q u2
v3 u3 u3 → Min extra v3-t path: 2
r
t
43
How it works Sound-reduction
Bottom-up comparison of completions
4
1
1
2
2
v1 u1
v2 q u2
v3 u3 u3 → Min extra v3-t path: 2
r
t
u2 → Min extra v2-t path: 2
44
How it works Sound-reduction
Bottom-up comparison of completions
4
1
1
2
2
v1 u1
v2 q u2
v3 u3 u3 → Min extra v3-t path: 2
r
t
u2 → Min extra v2-t path: 2
u1 → Min extra v1-t path: 3
45
How well it works Small problems
46
How well it works Small problems
47
How well it works Small problems
48
How well it works Large problems
49
How well it works Large problems
50
How well it works Large problems
51
What we learned Sound relaxations disguise suboptimal solutions
52
What we learned Sound relaxations disguise suboptimal solutions
If Δ=0, there are no deviations
and no forbidden arcs
53
What we learned Sound relaxations disguise suboptimal solutions
If Δ=0, there are no deviations
and no forbidden arcs
When sound-reducing u into v,
min r-u path > min r-v path
54
What we learned Sound-reduction converges to minimum diagram
55
What we learned Sound-reduction converges to minimum diagram
Equivalent diagrams → Same completion sets
56
What we learned Sound-reduction converges to minimum diagram
Equivalent diagrams → Same completion sets
{φ} {1} {0,1}
57
What we learned Sound-reduction converges to minimum diagram
Sound diagrams → Essential completion sets
{00,10} {00,01}
v1 u1
v2 q u2
v3 u3
r
t
{000,010} {100,101}
58
What we learned What if the diagram is exact for [z*, z*+ Δ]?
59
What we learned What if the diagram is exact for [z*, z*+ Δ]?
Decision diagram Generalized sound (z* = 1 Δ = 0) relaxation
1
1
60
What we learned What if the diagram is exact for [z*, z*+ Δ]?
Decision diagram Generalized sound (z* = 1 Δ = 0) relaxation
1
1
61
What we learned What if the diagram is exact for [z*, z*+ Δ]?
Generalizing the relaxation makes it NP-hard
Decision diagram Generalized sound (z* = 1 Δ = 0) relaxation
1
1
62
What we learned What if we approximate or go heuristic?
63
What we learned What if we approximate or go heuristic?
64
What we learned What if we approximate or go heuristic?
65
What we learned What if we approximate or go heuristic?
Every step may be co-NP-complete
66
What comes next Branch less often
67
What comes next Branch less often
We are still generating all tree nodes
68
What comes next Branch less often
We are still generating all tree nodes
69
What comes next Identify nodes with equivalent states
70
What comes next Identify nodes with equivalent states
71
What comes next Identify nodes with equivalent states
x1 = 0 x1 = 1
72
What comes next Identify nodes with equivalent states
x1 = 0 x1 = 1
x2 = 0 x2 = 0 x2 = 1 x2 = 1
73
What comes next Identify nodes with equivalent states
x1 = 0 x1 = 1
x2 = 0 x2 = 0 x2 = 1 x2 = 1
74
What comes next Identify nodes with equivalent states
Same RHS → Same completions
75
What comes next Identify nodes with equivalent states
Same RHS → Same completions
Saturated constraints can be ignored
76
What comes next Identify nodes with equivalent states
Resulting diagram may be a relaxation
77
What comes next Identify nodes with equivalent states
Resulting diagram may be a relaxation
z* = 7, Δ = 1
78
What comes next Identify nodes with equivalent states
Resulting diagram may be a relaxation
z* = 7, Δ = 1
r
5 p1 p2 6
79
What comes next Identify nodes with equivalent states
Resulting diagram may be a relaxation
z* = 7, Δ = 1
r
5 p1 p2 6
2 s1 s2 3 t
80
What comes next Identify nodes with equivalent states
Resulting diagram may be a relaxation
z* = 7, Δ = 1
c([p1 s1]) = 7
c([p1 s2]) = 8
c([p2 s1]) = 8
c([p2 s2]) = 9
r
5 p1 p2 6
2 s1 s2 3 t
81
How far we are Small problems
82
How far we are Large problems
82
DECISION DIAGRAMS SAVE SPACE
Takeaway 1
RELAXED BRANCHING DOES LESS WORK
Takeaway 2
QUESTIONS?
Concise Decision Diagrams for Branching and Storing �Near-Optimal SolutionsIf finding one is easy,�what about all?We care about that�even in fictionSlide Number 4One optimal solution�MAY not BE enough Using and relaxing decision diagramsFrom trees to diagramsFrom trees to diagramsFrom trees to diagramsFrom trees to diagramsFrom trees to diagramsFrom trees to diagramsFrom trees to diagramsSound relaxationsSound relaxationsSound relaxationsSound relaxationsSound relaxationsSound relaxationsHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow it worksHow well it worksHow well it worksHow well it worksHow well it worksHow well it worksHow well it worksWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat we learnedWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextWhat comes nextHow far we areHow far we areDecision diagrams SAVE SPACERelaxed branching Does less WORKQuestions?