concise decision diagrams for branching and storing … · 2017. 9. 5. · from trees to diagrams....

85
CONCISE DECISION DIAGRAMS FOR BRANCHING AND STORING NEAR-OPTIMAL SOLUTIONS Thiago Serra John Hooker Carnegie Mellon University MOPTA 2016

Upload: others

Post on 29-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • 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?