Title: Branch and Bound Algorithm For Integer Program
1Branch and Bound AlgorithmFor Integer Program
2Integrality Conditions
MAX 350X1 300X2 S.T. 1X1 1X2 lt
200 9X1 6X2 lt 1566 12X1 16X2
lt 2880 X1, X2gt 0 X1, X2 must
be integers
Integrality conditions are easy to state but make
the problem much more difficult (and sometimes
impossible) to solve.
3LP Relaxation
- Original IP
- MAX 2X1 3X2
- S.T. X1 3X2 lt 8.25
- 2.5X1 X2 lt 8.75
- X1, X2 gt 0 and integers
- LP Relaxation
- MAX 2X1 3X2
- S.T. X1 3X2 lt 8.25
- 2.5X1 X2 lt 8.75
- X1, X2 gt 0
4IP vs. LP Feasible Region
5Relation Between LP and IP
- 1) LP has a large feasible region, so will have
better objectives - For minimization, ZLP lt ZIP an upper bound.
- For maximization, ZLP gt ZIP a lower bound
- The optimal sol. to an LP relaxation of an IP
problem gives us a bound on the optimal IP. - 2) Solution Wise, Can we Use LP Solution
- Can we solve an LP instead of an IP?
- Can we approximate IP solution with LP?
6The Concept of Bound
- The optimal solution to an LP relaxation of an
ILP problem gives us a bound on the optimal
objective function value. - For maximization problems, the optimal relaxed
objective function values is an upper bound on
the optimal integer value. - For minimization problems, the optimal relaxed
objective function values is a lower bound on the
optimal integer value.
7Solving IP Problems
- 1) When solving an LP relaxation, sometimes you
get lucky and obtain an integer feasible
solution. - There are a set of problems where you can always
get lucky. - Network Flow problem
- Problem with Totally Unimodular (TU) Property
8Solve IP Problems
- 2) But often, you get fractional solutions
- Round LP solution
- Derive Solutions closes to IP
- In general, this does not work reliably
- The rounded solution may be infeasible.
- The rounded solution may be suboptimal
9Rounding ?Infeasible Solution
X2
3
Integer Infeasible obtained by rounding up
2
optimal relaxed solution
infeasible solution obtained by rounding down
1
0
X1
0
1
2
3
4
10Round ? Suboptimal Solution
X2
3
One of them is optimal
LP optimal
X1 2.769, X21.826
2
1
Suboptimal
0
0
3
4
X1
1
2
11There is no Obvious way to Round
12Branch-and-Bound
- Branch and Bound
- The Branch and Bound (BB) algorithm can be used
to solve IP problems. - The Basic Technique Divide and Conquer
- The Traditional LP Based BB Algorithm
- Divide the problem into a series of LP
sub-problems and solve/conquer each one - If all the sub-problems are conquered, I got the
answer -- the best of all them is the solution to
the original problem.
13Branch and Bound Algorithm
14Branch and Bound Technique
LP (x1,x2) (2.44,3.26) obj 14.66
Solve the LP relaxation, we have faction sol.
(2.44, 3.26) with obj14.66 Not IP Feasible Let
us round it, (2,3) obj 13.
15Branch and Bound Technique
UB14.66 LB13.00
x12.44 x23.26 obj14.66
LP (x1,x2) (2.44,3.26) obj 14.66
x1 can not be fraction, so there are two
possibilities x1 lt 2 and x1gt 3 Let us divide
the orig. problem into two subproblems. One
requires that X1 lt 2 and the other requires x1gt
3
16Branch and Bound Technique
17Branch and Bound Technique
UB14.66 LB13.00
x12.44 x23.26 ov14.66
UB13.90 LB13.00
x12 x23.3 obj13.90
18Branch and Bound Technique
19Branch and Bound Technique
UB14.66, 14.58 LB13.00, 13.00
x12.44 x23.26 ov14.66
UB13.90 LB13.00
UB14.58 LB13.00
x13 x22.8 obj14.58
x12 x23.3 obj13.90
20Branch and Bound Technique
Two branches can be created. x2 gt3 and x2 lt2
x2 lt2
x2 lt2
21Branch and Bound Technique
UB14.66, 14.58 LB13.00, 13.00
x12.44 x23.26 ov14.66
UB13.90 LB13.00
UB14.58 LB13.00
x12 x23.3 ov13.90
x13 x22.8 ov14.58
infeasible
22Branch and Bound Technique
UB14.66, 14.58, 14.00 LB13.00, 13.00, 14.00
x12.44 x23.26 ov14.66
UB13.90 LB13.00
UB14.58 LB13.00
x1lt 2
x1gt 3
x12 x23.3 ov13.90
x13 x22.8 ov14.58
x2lt 2
x2gt 3
x14 x22 ov14
UB14.00 LB14.00
infeasible
23Branch and Bound
- General idea Divide-and-conquer
- Consider the IP zIP max cx x ? S
- Divide the solution space S in to K subsets S1,
, SK - Instead of solving IP directly, solve IPi
max cx x ? Si - Then, zIP maxi
- We break a big problem into manageable size
problems and solve them
24Branch and Bound Tree
SS0
S1
S2
S12
S22
S13
S11
S21
S122
S121
25Pruning
- At each node, we decide whether we should divide
the problem further or not - If we can establish that no further division of a
node is necessary, we say that the tree can be
pruned at the node - How do we determine if the tree can be pruned at
a node?
26Pruning Criteria
- At node Si of a BB tree, if any one of the
following conditions hold - Infeasibility Si ?
- Optimality An optimal sol of IPi is found -- all
sol are integer, nothing to branch - Value Dominance We can establish that ZIPi ?
zIP. There would be any better solution in this
region.
27Generic Algorithm
- (Initialization) ? IP, S0 S, ,
and - (Termination test) If ? ?, then solution
x0 is optimal - (Problem Selectionrelaxation) Select and remove
a problem IPi from ? and solve its relaxation
RPi - (Pruning) Test if the tree can be pruned at Ipi
- ? then go to Termination test
- go to next step
- , set . Delete from
? all problems with . If
goto step 2 otherwise step 5
28End of BB
29Other Approaches for IP
- Exact Algorithms
- General Algorithms Branch and bound, cutting
planes, branch and cut - Special Purpose Dynamic programming,
decomposition techniques - Heuristic Techniques
- No guarantees, but they work well in practice
30Geometric Representation
Optimal Relaxed Solution X1 2.769, X21.826
Obj 11.019