90 likes | 222 Views
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
E N D
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 Wood 492 - Saba Vahid
Branch and Bound method (for BIP) • Initialize: set Z ⃰ value to -∞ (for a maximization problem) or ∞ (for a minimization problem). We call Z ⃰ the “incumbent” solution. • 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 sub-problems (these decision points are called “nodes”, and branches connect the nodes together) • 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. Wood 492 - Saba Vahid
Branch and Bound method (for BIP) • 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. • 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. Wood 492 - Saba Vahid
Fathoming of a branch • 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. • 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. • If the LP-relaxation of a sub-problem is infeasible, then the sub-problem itself will be infeasible, so we will fathom that branch. Wood 492 - Saba Vahid
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<= 10 (Total Capital) X3+ X4 <= 1 (One warehouse) -X1 + X3 <= 0 (warehouse and factory - X2 + X4 <= 0 in the same city) Xi <= 1 (Upper bound) Xi >= 0 (Lower Bound) Wood 492 - Saba Vahid
Solving Example 9 x1 =0 Optimal solution Z ⃰ = 9, branch fathomed Z=9 (0,1,0,1) All x2 =0 Z ⃰ = 14 branch fathomed x4 =0 x1 =1 Z= 13.8 → Z=13 (1,0,4/5,0) Z= 16.5 → Z=16 (5/6,1,0,1) Z=14 (1,1,0,0) x3 =0 Z= 16.5 → Z=16 (1,4/5,0,4/5) Z ⃰ =-∞ Z=16 (1,1,0,1/2) x2 =1 x4 =1 Z=16 (1,1,0,1/2) Infeasible Branch fathomed x3 =1 Infeasible Branch fathomed Wood 492 - Saba Vahid
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 Wood 492 - Saba Vahid
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 sub-problems 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 Wood 492 - Saba Vahid