This preview shows page 1. Sign up to view the full content.
Unformatted text preview: 540:311 DETERMINISTIC MODELS IN OPERATIONS RESEARCH Lecture 16: Chapter 9.1‐9.4 Class MeeDng: Mon April 25th 10:20‐11:40am Prof. W. Art Chaovalitwongse Branch and Bound The essenDal idea: search the enumeraDon tree, but at each node 1. Solve the linear program at the node 2. Eliminate the subtree (fathom it) if – The soluDon is integer (there is no need to go further) or – The best soluDon in the subtree cannot be as good as the best available soluDon (the incumbent) or – There is no feasible soluDon MIT and James Orlin © 2003 2 Branch and Bound 1 Node 1 is the
original LP
Relaxation 44 3/7 maximize 16x1 + 22x2 + 12x3 + 8x4 +11x5 + 19x6
subject to 5x1 + 7x2 + 4x3 + 3x4 +4x5 + 6x6 ≤ 14
0 ≤ xj ≤ 1 for j = 1 to 6 Solution at node 1:
x1 =1 x2 = 3/7 x3 = x4 = x5 = 0 x6 =1 z = 44 3/7 The IP cannot have value higher than 44 3/7. MIT and James Orlin © 2003 3 Branch and Bound 1 Node 2 is the original
LP Relaxation plus
the constraint
x1 = 0. 44
3/7 x1 = 0 44 2 maximize 16x1 + 22x2 + 12x3 + 8x4 +11x5 + 19x6
subject to 5x1 + 7x2 + 4x3 + 3x4 +4x5 + 6x6 ≤ 14
0 ≤ xj ≤ 1 for j = 1 to 6, x1 = 0 Solution at node 2:
x1 = 0 x2 = 1 x3 = 1/4 x4 = x5 = 0 x6 = 1 MIT and James Orlin © 2003 z = 44
4 Branch and Bound 1 44 3/7
x1 = 1 x1 = 0 44 Node 3 is the original
LP Relaxation plus
the constraint
x1 = 1. 3 2 44 3/7 The solution at node 1 was
x1 =1 x2 = 3/7 x3 = x4 = x5 = 0 x6 =1 z = 44 3/7 Note: it was the best solution with no constraint on x1. So, it is also
the solution for node 3. (If you add a constraint, and the old optimal
solution is feasible, then it is still optimal.) MIT and James Orlin © 2003 5 Branch and Bound 44 3/7 1
1
x1 = 0 44 Node 4 is the original
LP Relaxation plus
the constraints
x1 = 0, x2 = 0. x1 = 1 2 3 44 3/7 x2 = 0
4
42 4
Solution at node 4: 0 0 1 0 1 1 z = 42 Our first incumbent (integer) solution!
No further searching from node 4 because there
cannot be a better integer solution. MIT and James Orlin © 2003 No solution in
the subtree
can have a
value better
6 than 42. Branch and Bound The incumbent
is the best
solution on
hand. 44
x2 = 0
4
42 4 1
1 The incumbent
solution has
value 42 44 3/7 x1 = 0 x1 = 1 2 3
x2 = 0 x2 = 1
44 5 44 6 44 3/7
x2 = 1
44 1/3 7 We next solved the LP s associated with nodes 5, 6, and 7
No new integer solutions were found.
We would eliminate (fathom) a subtree if we were guaranteed that no
solution in the subtree were better than the incumbent. MIT and James Orlin © 2003 7 Branch and Bound 1 44 3/7 x1 = 0 44 x1 = 1 2 3
x2 = 0 x2 = 1 x2 = 0
4
42 4 The incumbent
solution has
value 42 44
x3 = 0 43.75 8 5 44
x3 = 1 6 x3 = 0 43.5 9 43.25 10 44 3/7
x2 = 1
44 1/3 7 x3 = 1 43.8 11 x3 = 0 44.3 12 x3 = 1 ∞ 13
13 We next solved the LP s associated with nodes 8 13 MIT and James Orlin © 2003 8 Summary so far • We have solved 13 diﬀerent linear programs so far. – One integer soluDon found – One subtree fathomed (pruned) because the soluDon was integer (node 4) – One subtree fathomed because the soluDon was infeasible (node 13) – No subtrees fathomed because of the bound MIT and James Orlin © 2003 9 Branch and Bound 1
x1 = 0 44 x1 = 1 2 3
x2 = 0 x2 = 1 x2 = 0
42 The incumbent
solution has
value 42 44 3/7 4 44 5 44 x3 = 0 43.75 x3 = 1 x3 = 0 8 43.5 9 43.25 10 6 44 3/7
x2 = 1
44 1/3 7 x3 = 1 43.8 11 x3 = 0 44.3 12 x3 = 1 ∞ 13 43.75 42.66 We next solved the LP s associated with the next nodes.
We can fathom the node with z = 42.66. Why? MIT and James Orlin © 2003 10 GeUng a beVer bound • The bound at each node is obtained by solving an LP. • But all costs are integer, and so the objecDve value of each integer soluDon is integer. So, the best integer soluDon has an integer objecDve value. • If the best integer valued soluDon for a node is at most 42.66, then we know the best bound is at most 42. • Other bounds can also be rounded down. MIT and James Orlin © 2003 11 Branch and Bound 1
x1 = 0 44 x1 = 1 2 3
x2 = 0 x2 = 1 x2 = 0
42 The incumbent
solution has
value 42 44 3/7 4 5 44 44 x3 = 0 43.75 x3 = 1 x3 = 0 8 43.5 9 43.25 10 6 44 3/7
x2 = 1
44 1/3 7 x3 = 1 43.8 11 x3 = 0 44.3 12 x3 = 1 ∞. 13 43.75 42.66 MIT and James Orlin © 2003 12 Branch and Bound 1
x1 = 0 44 x1 = 1 2 3 4 44 5 x3 = 0 43 43 8 44
x3 = 1 43 44
x2 = 1 x2 = 0 x2 = 1 x2 = 0
42 The incumbent
solution has
value 42 44 9 43 6 x3 = 0 10 44
x3 = 1 43 11 x3 = 0 44 12 7
x3 = 1 ∞ 13 42 MIT and James Orlin © 2003 13 Branch and Bound 1
x1 = 0 44 x1 = 1 2 3 4 44 5 44 x3 = 0 43 8 43 x3 = 1 43 9 42 43 44
x2 = 1 x2 = 0 x2 = 1 x2 = 0
42 The incumbent
solution has
value 42 44 6 x3 = 0 x3 = 1 43 10 42 43 44 7 43 11 x3 = 0 44 12 x3 = 1 ∞ 13 43 We found a new incumbent (integer) solution!
x1 = 1, x2 = x3 = 0, x4 = 1, x5 = 0, x6 = 1 z = 43 MIT and James Orlin © 2003 14 Branch and Bound 1
x1 = 0 44 x1 = 1 2 3 4 44 5 44 x3 = 0 8
43 8 43 x3 = 1 9
43 9 42 43 44
x2 = 1 x2 = 0 x2 = 1 x2 = 0
42 The new
incumbent
solution has
value 43 44 6 x3 = 0 x3 = 1 10
43 10 42 43 44 7 11
43 11 x3 = 0 44 12 x3 = 1 ∞ 13 43 We found a new incumbent solution!
x1 = 1, x2 = x3 = 0, x4 = 1, x5 = 0, x6 = 1 z = 43 MIT and James Orlin © 2003 15 Branch and Bound 1
x1 = 0 44 4 x1 = 1 2 3 44
x3 = 0 8
43 8 44
x2 = 1 x2 = 0 x2 = 1 x2 = 0
42 The new
incumbent
solution has
value 43 44 5 44
x3 = 1 9
43 9 x3 = 0 10
43 10 6 44 7
x3 = 1 11
43 11 x3 = 0 44 12 x3 = 1 ∞ 13 If we had found this incumbent earlier, we could have saved
some searching. MIT and James Orlin © 2003 16 Finishing Up 1
x1 = 0 44 4 x1 = 1 2 3 44
x3 = 0 8
43 8 44
x2 = 1 x2 = 0 x2 = 1 x2 = 0
42 The new
incumbent
solution has
value 43 44 5 44
x3 = 1 9
43 9 x3 = 0 10
43 10 6 44 7
x3 = 1 11
43 11 x3 = 0 44 12 44 14
44 16 38 18
MIT and James Orlin © 2003 x3 = 1 ∞ 13 15 ∞
17 ∞ 19 ∞ 17 Lessons Learned • Branch and Bound can speed up the search – Only 25 nodes (linear programs) were evaluated – Other nodes were fathomed • Obtaining a good incumbent earlier can be valuable – only 19 nodes would have been evaluated. • Solve linear programs faster, because we start with an excellent or opDmal soluDon – uses a technique called the dual simplex method • Obtaining beVer bounds can be valuable. – We someDmes use properDes that are obvious to us, such as the fact that integer soluDons have integer soluDon values MIT and James Orlin © 2003 18 Branching
One does not have to have the B&B tree be
symmetric, and one does not select subtrees
by considering variables in order. =0 X1
X2 X3 = ..
..
.. =0 X2 =0 X3 0 X3 =
.
.
. .
.
. X1 =1 X8 = 0 X3= X3= 1
..
..
.. ..
..
.. X8 = 1
X3= 1 Choosing how to
branch so as to
reduce running
time is largely art
and based on
experience. =1 0 X 3= ..
..
.. ..
..
.. 0 1 X3 .
.
. .
.
. MIT and James Orlin © 2003 .
.
. =1 .
.
.
19 Diﬀerent Branching Rules are Possible • Branching: determining children for a node. There are many choices. • Rule of thumb 1: if it appears clear that xj = 1 in an opDmal soluDon, it is oben good to branch on xj = 0 vs xj = 1. – The hope is that a subdivision with xj = 0 can be pruned. • Rule of thumb 2: branching on important variables is worthwhile MIT and James Orlin © 2003 20 How to do it by hand Max z = 4 x1 + 3 x2 s.t. 2 x1 + 3 x2 <= 9 3 x1 + 2 x2 <= 13 x1 >= 0, x2 >= 0, x1, x2 integer X1 X2 S1 S2 1 0.000 0.000 0.200 1.200 17.400 2 X2 0.000 1.000 0.600 ‐0.400 0.200 3 X1 1.000 0.000 ‐0.400 0.600 4.200 X1 = 4.2, X2 = 0.2, Z = 17.4 ‐> Branch on X1 Add x1 <= 4 X1 X2 S1 S2 S3 1 0.000 0.000 1.000 0.000 2.000 17.000 2 X2 0.000 1.000 0.333 0.000 ‐0.667 0.333 3 S2 0.000 0.000 ‐0.667 1.000 ‐1.667 0.333 4 X1 1.000 0.000 0.000 0.000 1.000 4.000 Add x1 >= 5 X1 X2 S1 S2 E1 1 0.000 ‐3.000 0.000 0.000 ‐4.000 20.000 2 S1 0.000 3.000 1.000 0.000 2.000 ‐1.000 3 S2 0.000 2.000 0.000 1.000 3.000 ‐2.000 4 X1 1.000 0.000 0.000 0.000 ‐1.000 5.000 5 E1 0.000 5.000 0.000 0.000 5.000 ‐3.000 Add x2 <= 0 X1 X2 S1 S2 S3 S4 1 0.000 0.000 0.000 0.000 4.000 3.000 16.000 2 S1 0.000 0.000 1.000 0.000 ‐2.000 ‐3.000 1.000 3 S2 0.000 0.000 0.000 1.000 ‐3.000 ‐2.000 1.000 4 X1 1.000 0.000 0.000 0.000 1.000 0.000 4.000 5 X2 0.000 1.000 0.000 0.000 0.000 1.000 0.000 Add x2 >= 1 X1 X2 S1 S2 S3 E1 1 0.000 0.000 2.000 0.000 0.000 3.000 15.000 2 S3 0.000 0.000 ‐0.500 0.000 1.000 ‐1.500 1.000 3 S2 0.000 0.000 ‐1.500 1.000 0.000 ‐2.500 2.000 4 X1 1.000 0.000 0.500 0.000 0.000 1.500 3.000 5 X2 0.000 1.000 0.000 0.000 0.000 ‐1.000 1.000 Branch‐and‐Bound Tree Z = 1 7 .4
X 1 = 4 .2
X 2 = 0 .2
X 1< = 4 X 1> = 5 Z = 17
X 1 = 4
X 2 = 0 .3 3 3
X 2< = 0 Z = 16
X 1 = 4
X 2 = 0 Z = 1 7 .4
X 1 = 4 .2
X 2 = 0 .2
X 2< = 0 Z = 1 7 .3 3 3
X 1 = 4 .3 3 3
X 2 = 0 In fe a s ib le X 2> = 1 Z = 15
X 1 = 3
X 2 = 1 X 2> = 1 X 1< = 4 Z = 16
X 1 = 4
X 2 = 0 Z = 15
X 1 = 3
X 2 = 1
X 1> = 5 In fe a s ib le ...
View
Full
Document
 Fall '11
 Albin
 Ode

Click to edit the document details