Download presentation
Presentation is loading. Please wait.
Published byClarence Kennedy Modified over 6 years ago
1
Lecture 11: Tree Search © J. Christopher Beck 2008
2
Outline Generate-and-test Partition Relaxation Inference
© J. Christopher Beck 2008
3
Readings P Ch B.3, B.4 J. Hooker, Integrated Methods for Optimization, 2007 © J. Christopher Beck 2008
4
Beyond Heuristics What if you want a guarantee of finding the optimal solution? Or, for a satisfaction problem, that no solution exists? Imagine a problem with 3 variables a, b, c є {0, 1} Simplest thing you can think of? © J. Christopher Beck 2008
5
Idea #1: Partitioning Easy problem Total Search Space
© J. Christopher Beck 2008 Total Search Space
6
Idea #1: Partitioning Add constraint to the original problem to form a partition: P1, P2, P3, … Partitions are easier to solve Partitions, sub-partitions, sub-sub-partitions Solution is the best one from all the partitions © J. Christopher Beck 2008
7
Idea #1: Partitioning Imagine a problem with 3 variables
a, b, c є {0, 1} minimize Branch a = 0 a = 1 b = 0 b = 1 b = 0 b = 1 c = 0 c = 1 c = 0 c = 1 c = 0 c = 1 c = 0 c = 1 100 90 110 115 80 90 100 110 © J. Christopher Beck 2008
8
So … By now, if you are thinking about partitioning, you should have a question: (Hint: how many “states” in our generate-and-test example? how many in the tree search?) © J. Christopher Beck 2008
9
Idea #2: Relaxation Solve a problem that is easier than the real problem Relaxation: expand the search space to allow non-solutions to count as solutions Solution to relaxation is a bound on the real problem no real solution can be better © J. Christopher Beck 2008
10
Idea #2: Relaxation Imagine I have a way to calculate a lower bound on the cost at each node a = 0 a = 1 50 b = 0 b = 1 b = 0 70 80 Bound c = 0 c = 1 c = 0 85 95 80 100 90 80 © J. Christopher Beck 2008
11
Branch-and-Bound Partition + Relaxation
Use heuristics to pick a decision to try (“branch”) partition Use lower bounds on solutions to “bound” the search solve a relaxation © J. Christopher Beck 2008
12
Partitioning + Relaxation
Easy problem © J. Christopher Beck 2008 Total Search Space
13
MIP Solving (preview) Relaxation Partition
solve LP, ignoring integrality gives lower bound (for a minimization problem) Partition add linear constraints to force a non-integral integer variable up or down use relaxation in branching! © J. Christopher Beck 2008
14
One of the constraints: b < a
Idea #3: Inference Imagine a problem with 3 variables a, b, c є {0, 1} minimize One of the constraints: b < a a = 0 a = 1 b = 0 b = 1 b = 0 b = 1 c = 0 c = 1 c = 0 c = 1 c = 0 c = 1 c = 0 c = 1 100 90 110 115 80 90 100 110 © J. Christopher Beck 2008
15
One of the constraints: b < a
Idea #3: Inference Imagine a problem with 3 variables a, b, c є {0, 1} minimize One of the constraints: b < a a = 0 b = 0 b = 1 c = 0 c = 1 100 90 110 115 a = 1 You can infer: a = 0, b = 1 b = 0 c = 0 c = 1 b = 1 100 110 c = 0 c = 1 80 90 © J. Christopher Beck 2008
16
Idea #3: Inference Based on the constraints in the current partition, derive new constraints that are implied implied = must be true! Add new constraints to: tighten relaxation reduce partitioning © J. Christopher Beck 2008
17
Constraint Propagation (preview)
3 variables: v1, v2, v3 D1=D2= {1,3}, D3 = {1,2,3} all-different(v1,v2,v3) each variable must be a different value What can you infer? © J. Christopher Beck 2008
18
Partition + Relaxation + Inference
Until the partition is easy to solve or has no solution: infer and add new constraints calculate relaxation form sub-partitions (Tree) Search = Partition + Relaxation + Inference © J. Christopher Beck 2008
19
A Very Simple Scheduling Problem
Jobs Processing times J0R0[15] J0R1[5] 1 J1R0[10] J1R1[15] Draw complete branch-and-bound tree to minimize makespan Assume that the branches sequence a pair of operations Try J0Rx → J1Rx first © J. Christopher Beck 2008
20
Getting Started Take “left” branch first … … Jobs Processing times
J0R0[15] J0R1[5] 1 J1R0[10] J1R1[15] Take “left” branch first J1R0 J0R0 J0R0 J1R0 ?? … … © J. Christopher Beck 2008
21
Bounding? Calculate a very simple lower bound at each node
Jobs Processing times J0R0[15] J0R1[5] 1 J1R0[10] J1R1[15] Calculate a very simple lower bound at each node Which nodes will not be visited? © J. Christopher Beck 2008
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.