Branching - Wood 492 | Modeling for Decision Support

advertisement
WOOD 492
MODELLING FOR DECISION SUPPORT
Lecture 19
Branch and Bound Algorithm
IP Solution Approach
• Solve the LP relaxation and round the answers
– Normally the rounded answers are not feasible, or are far from
optimal
• Exhaustive search of all feasible points
– Computationally infeasible due to exponential growth of the
number of answers
• Branch and Bound
– Divide problem into smaller problems by portioning the feasible
solution region
• Cutting Planes
Oct 19, 2012
Wood 492 - Saba Vahid
2
Branch and Bound method (for BIP)
1. Initialize: set Z ⃰ value to -∞ (for a maximization problem) or ∞ (for
a minimization problem). We call Z ⃰ the “incumbent” solution.
2. Branching: Partition the set of feasible solutions by fixing the value
of one of the binary variables (Xi=0, and Xi=1) to create two subproblems (these decision points are called “nodes”, and branches
connect the nodes together)
3. Bounding: solve the LP relaxation of each sub-problem to find the
bounds on the optimal Z value. (LP relaxation is when we allow the
binary variables to have any value between 0 and 1). If the optimal
solution of the relaxation is not integer, we round it down (for
maximization problems) or up (for minimization problems). The
rounded Z values are the “bounds” on the optimal solution of each
sub-problem.
Oct 19, 2012
Wood 492 - Saba Vahid
3
Branch and Bound method (for BIP)
4. Fathoming: there are three ways in which we can fathom (dismiss)
a sub-problem (described in the next slide). When a sub-problem is
fathomed, we no longer divide it into further sub-problems.
5. Continue with branching of the remaining sub-problems until there
are no more sub-problems, the “incumbent” solution is the optimal
solution. If no incumbent solution exists, the problem is infeasible.
Oct 19, 2012
Wood 492 - Saba Vahid
4
Fathoming of a branch
1. If the optimal solution to the LP relaxation of a branch is an integer
solution (all binary variables are found to be either 0 or 1), it is also
the optimal solution of the sub-problem. We compare the Z value
with Z ⃰ and if it is better, this Z will be stored as the new incumbent
solution (Z ⃰ ). We then stop dividing this branch into smaller ones
because any further solution will be worse than the current Z value.
2. If the bound on the optimal solution of a branch (sub-problem) is
worse than the value of the current incumbent, we fathom that
branch, because the optimal solution of that branch can not be
better than the incumbent.
3. If the LP-relaxation of a sub-problem is infeasible, then the subproblem itself will be infeasible, so we will fathom that branch.
Oct 19, 2012
Wood 492 - Saba Vahid
5
Solving Example 9 with branch and bound
• Factory and warehouse location problem in LA and SF
• Obj Z=9 X1 +5 X2 +6 X3 +4 X4 (Total NPV)
• Subject to:
6 X1+3 X2+ 5 X3+ 2 X4
X3+
-X1
+ X3
- X2
Oct 19, 2012
X4
<=
10 (Total Capital)
<= 1 (One warehouse)
<=
0 (warehouse and factory
+ X4
<=
0 in the same city)
Xi
<=
1 (Upper bound)
Xi
>=
0 (Lower Bound)
Wood 492 - Saba Vahid
6
Solving Example 9
x1 =0
Optimal solution
Z ⃰ = 9, branch fathomed
Z=9
(0,1,0,1)
All
Z= 16.5 → Z=16
(5/6,1,0,1)
Z ⃰ =-∞
x1 =1
Z= 16.5 → Z=16
(1,4/5,0,4/5)
x2 =0
x4 =0
Z= 13.8 → Z=13
(1,0,4/5,0)
x3 =0
Z=14
(1,1,0,0)
x2 =1
Z=16
(1,1,0,1/2)
Z=16
(1,1,0,1/2)
x3 =1
Z ⃰ = 14
branch fathomed
x4 =1
Infeasible
Branch fathomed
Infeasible
Branch fathomed
Oct 19, 2012
Wood 492 - Saba Vahid
7
Example 11: Branch and Bound method
• A company is assembling a team of 4 members to carry out 4
operations, and wants to maximize the overall success probability
• Decision: Which member should be assigned to each operation?
• Constraints:
–
–
–
–
Each member can carry out exactly one operation
All operations need to be carried out for the process to be complete
Each member has a different success rate for each operation (Table 1)
for example if operations 1-2-3-4 are assigned to ABCD, the total success
probability is: 0.9 * 0.6 * 0.85 * 0.7 = 0.3213
Table 1. Success rate of each member for each operation
Oct 19, 2012
Wood 492 - Saba Vahid
8
Example 11
• The nodes in our problem are different allocations of people to
operations, for example ABCD is a node (allocating 1st task to A, 2nd
task To B, and so on)
• The firs incumbent is -∞
• The root node corresponds to the original problem when no subproblems are defined.
• The branching process is shown in your handout and in the web
demo at:
http://optlab-server.sce.carleton.ca/POAnimations2007/BranchAndBound.html
Oct 19, 2012
Wood 492 - Saba Vahid
9
Download