Lecture 16 - Integer

Lecture 16 - Integer - 540:311 DETERMINISTIC MODELS IN...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

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 different 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 Different 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

Ask a homework question - tutors are online