Upload
md-saimon-islam
View
219
Download
0
Embed Size (px)
Citation preview
8/17/2019 BranchAndBound
1/32
ME 6973 Analytical Techniques in Engineering II
Spring 2015
Introduction to Branch &
Bound
8/17/2019 BranchAndBound
2/32
!"#$%&'#$('!)*$(
8/17/2019 BranchAndBound
3/32
,-#./01
2)$34(1" 5&1 678
.#-4.491 ! : ; ? ! ?
3*@A1%5 5) ! = > ? ! ? ≤ B
C ! = > ! ? ≤ ?:
? ! = > ? ! ? ≥ < ! =D ! ? # >
Integer and Combinatorial Optimization, Nemhauser and Wolsey, Chapter: II.4
8/17/2019 BranchAndBound
4/32
E&1 )/54.#0 3)0*54)$ )F G7H 438
! : >IJK==L ! J $ I=MK==L ! B ; JJ?K==
! =
I=K==L ! J $ I?K==L ! B ; JMK== ! ? $ ICK==L ! J $ I=K==L ! B ; B:K==
! C $ INK==L ! J $ IMK==L ! B ;
8/17/2019 BranchAndBound
5/32
U) T1 %)$34(1" 5&1 5T) 673D 67= #$( 67?8
! : >IJK==L ! J $ I=MK==L ! B ; JJ?K==
! = I=K==L ! J $ I?K==L ! B ; JMK==
! ? $ ICK==L ! J $ I=K==L ! B ; B:K==
! C $ INK==L ! J $ IMK==L ! B ;
8/17/2019 BranchAndBound
6/32
U)0S4$P 5&1 G7H )F 67=D T1 )@5#4$8
! : > I
8/17/2019 BranchAndBound
7/32
E&1 F4"35 (4%54)$#"Q F)" 5&1 G7H )F 67? 438
! : >IJK==L ! J $ I=MK==L ! B ; JJ?K==
! =
I=K==L !
J$
I?K==L !
B ; JMK== ! ? $ ICK==L ! J $ I=K==L ! B ; B:K==
! C $ INK==L ! J $ IMK==L ! B ;
8/17/2019 BranchAndBound
8/32
Y"). 67=D T1 %)$34(1" 67J #$( 67B8
! : > I
8/17/2019 BranchAndBound
9/32
U)0S4$P 5&1 G7H )F 67JD T1 )@5#4$8
! : > ? ! M $
8/17/2019 BranchAndBound
10/32
U)0S4$P 5&1 G7H )F 67BD T1 )@5#4$8
! : > ? ! B $ J !
8/17/2019 BranchAndBound
11/32
,-#./01
Z"#/&4%#00Q8
E&1 )/54.#0 3)0*54)$ 43 ! = ; BD ! ? ; :D T45& ! : ;
?N
x2 ≤ 3
x1 ≤ 3
x2 ≥ 4
x1 ≥ 4
IP
IP1
IP3 IP4
IP2
Fathomed by
infeasibility
8/17/2019 BranchAndBound
12/32
[\7G ,-#./01
8/17/2019 BranchAndBound
13/32
67var x1 integer >= 0, = 0, = 0, = 0, = 0, = 0, = 1;
c2: x1 + x2 + 3* x6 >= 1;
c3: x1 + x2 + x6 >= 1;
c4: x3 - 3* x4 >= 1;
c5: x3 - 2* x4 -5* x5 >= 1;
c6: x4 + 3* x5 -4 *x6 >= 1;c7: x2 + x5 + x6 >= 1;
solve;
display x1, x2,x3, x4, x5, x6;
end;
8/17/2019 BranchAndBound
14/32
G7H• "#$ &' () *+ ,) '*-
• "#$ &! () *+ ,) '*-
• "#$ &. () *+ ,) '*-
• "#$ &/ () *+ ,) '*-
• "#$ &0 () *+ ,) '*-
• "#$ &1 () *+ ,) '*-
• 2#&32345 6789 :&' : !; &! :*• %=8 -= > ? ] -? ̂ ; =V _ [051"$#54S10Q8 -= > -? ^; =
• %?8 -= > -? > J] -M ^; =V
• %J8 -= > -? > -M ^; =V
• %B8 -J ' J] -B ^; =V
• %C8 -J ' ?] -B 'C] -C ^; =V
• %M8 -B > J] -C 'B ]-M ^; =V
• % -C > -M ^; =V
• >6?"5-
• @3>A?#B &'+ &!+&.+ &/+ &0+ &1-
• A$3CDE FGAD32#? H#?I59 JEKCF+ :L&' = !; &! =*• 5C@-
8/17/2019 BranchAndBound
15/32
• 6$51P1" 3)0*54)$-=XS#0 ; :
-?XS#0 ; =-JXS#0 ; B
-BXS#0 ; =
-CXS#0 ; :
-MXS#0 ; :R/54.#0 `#0*18 'BX?:::::
• G7 "10#-#54)$-=XS#0 ; :XJJJJJJJJJJJJJJJ
-?XS#0 ; :XMMMMMMMMMMMMMM<
-JXS#0 ; ?XMMMMMMMMMMMMM<
-BXS#0 ; :
-CXS#0 ; :XJJJJJJJJJJJJJJJ
-MXS#0 ; :
R/54.#0 `#0*18 'JXJJJJJJ
8/17/2019 BranchAndBound
16/32
• #./08 .)(10 /:X#./0
• \6ORU CXC=8 )/54.#0 3)0*54)$ F)*$(X
• ? 451"#54)$3D )@A1%54S1 'JXJJJJJJJJJ
• -= ; :XJJJJJJ
•
-? ; :XMMMMM<• -J ; ?XMMMM<
• -B ; :
• -C ; :XJJJJJJ
• -M ; :
• R/54.#0 `#0*18 'JXJJJJJJ
• #./08
8/17/2019 BranchAndBound
17/32
• p1.ampl
• Infeasible!
• #./08 .)(10 /?X#./0
• \6ORU CXC=8 )/54.#0 3)0*54)$ F)*$(X
• J 451"#54)$3D )@A1%54S1 'JXJ
8/17/2019 BranchAndBound
18/32
• #./08 .)(10 /JX#./0
• \6ORU CXC=8 )/54.#0 3)0*54)$ F)*$(X
• ? 451"#54)$3D )@A1%54S1 'JXNC
8/17/2019 BranchAndBound
19/32
• #./08 .)(10 /BX#./0
• \6ORU CXC=8 )/54.#0 3)0*54)$ F)*$(X
• = 451"#54)$3D )@A1%54S1 'JX
8/17/2019 BranchAndBound
20/32
• #./08 .)(10 /CX#./0
• /"13)0S18 %)$35"#4$5 %C %#$$)5 &)0(8
•
@)(Q ^; = %#$$)5 @1 a; ':XJCV (4FF1"1$%1 ;=XJC
• -= ; :
•
-? ; :• -J ; :
• -B ; :
• -C ; :
• -M ; :
• R/54.#0 `#0*18 :X::::::
• 6$F1#34@01b
8/17/2019 BranchAndBound
21/32
• #./08 .)(10 /MX#./0
• \6ORU CXC=8 )/54.#0 3)0*54)$ F)*$(X
• ? 451"#54)$3D )@A1%54S1 'BX:MMMMMMM<
• -= ; =
• -? ; :
• -J ; C
• -B ; :XJJJJJJ
• -C ; :XMMMMM<
• -M ; :XJJJJJJ
• R/54.#0 `#0*18 'BX:MMMM<
8/17/2019 BranchAndBound
22/32
• #./08 .)(10 /
8/17/2019 BranchAndBound
23/32
• #./08 .)(10 /NX#./0
• \6ORU CXC=8 )/54.#0 3)0*54)$ F)*$(X
•
= 451"#54)$3D )@A1%54S1 'BX
8/17/2019 BranchAndBound
24/32
• #./08 .)(10 /WX#./0
• \6ORU CXC=8 )/54.#0 3)0*54)$ F)*$(X
• = 451"#54)$3D )@A1%54S1 'BX?
• -= ; :
• -? ; =
• -J ; B
• -B ; =
• -C ; :
• -M ; :
•
R/54.#0 `#0*18 'BX?:::::
0 ( 0 =: 0
8/17/2019 BranchAndBound
25/32
• #./08 .)(10 /=:X#./0
• \6ORU CXC=8 )/54.#0 3)0*54)$ F)*$(X
•
: 451"#54)$3D )@A1%54S1 'JXNJJJJJJJJ• -= ; :
• -? ; =
• -J ; J• -B ; :
• -C ; :XJJJJJJ
• -M ; :
• R/54.#0 `#0*18 'JXNJJJJJ
0 ( 0 =? 0
8/17/2019 BranchAndBound
26/32
• #./08 .)(10 /=?X#./0
• \6ORU CXC=8 )/54.#0 3)0*54)$ F)*$(X
•
= 451"#54)$3D )@A1%54S1 'CX
8/17/2019 BranchAndBound
27/32
`41T F"). 5&1 (4%54)$#"Q
"#$%& '#()#*$%+,
-&%#./ Dictionary D’
#0 %&1%,0 #$23%0#4&35
Branching
Note: this section are taken fromDr. Sankaranarayanan’s slides.
8/17/2019 BranchAndBound
28/32
,-#./01 I6G7L
var x1 >= 0, = 0, = 0,
8/17/2019 BranchAndBound
29/32
Y4$#0 c4%54)$#"Q
8/17/2019 BranchAndBound
30/32
c4%54)$#"Q [F51" !"#$%&
;#()#*$%+, 43(*.30
8/17/2019 BranchAndBound
31/32
c4#P"#.
D%+3$) 6*'3
E"#$%& ;#()#*$%+,F
-?#&' 6*'3/
GH'' $31 +*15
GD+#.%& I$23%0#4&3 4B) ;B%&
"3%0#4&3
-*$0#'3+ 'B%&
(*.
8/17/2019 BranchAndBound
32/32
!d! Z1$1"#0 Y)". c4%54)$#"Q
• Z4S1 3/1%4#0 5"1#5.1$5 5) @)*$(3 )$ S#"4#@013X
• \)(4FQ 5&1 U4./01- #0P)"45&. 4$ 5T) T#Q38
–
c4%54)$#"413 $)T S1 3/1%4#0 T#Q3 5) 5"#%e@)*$(3X
– 74S)54$P 43 .)(4F41(X