WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

9
WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm

Transcript of WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

Page 1: WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

WOOD 492 MODELLING FOR DECISION SUPPORT

Lecture 19

Branch and Bound Algorithm

Page 2: WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

Wood 492 - Saba Vahid 2Oct 19, 2012

• 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

IP Solution Approach

Page 3: WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

Wood 492 - Saba Vahid 3

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 sub-problems (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

Page 4: WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

Wood 492 - Saba Vahid 4

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

Page 5: WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

Wood 492 - Saba Vahid 5

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 sub-problem itself will be infeasible, so we will fathom that branch.

Oct 19, 2012

Page 6: WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

Wood 492 - Saba Vahid 6

Solving Example 9 with branch and bound

Oct 19, 2012

• 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)

Page 7: WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

Wood 492 - Saba Vahid 7

Solving Example 9

Oct 19, 2012

All

Z= 16.5 → Z=16(5/6,1,0,1)

x1 =0

x1 =1

Z=9(0,1,0,1)

Z � =-∞

Z � = 9, branch fathomed

Z= 16.5 → Z=16(1,4/5,0,4/5)

x2 =0

x2 =1

Z= 13.8 → Z=13(1,0,4/5,0)

Z=16(1,1,0,1/2)

x3 =0

x3 =1

Z=16(1,1,0,1/2)

InfeasibleBranch fathomed

x4 =0

x4 =1

Z=14(1,1,0,0)

Z � = 14branch fathomed

InfeasibleBranch fathomed

Optimal solution

Page 8: WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

Wood 492 - Saba Vahid 8

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

Oct 19, 2012

Table 1. Success rate of each member for each operation

Page 9: WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 19 Branch and Bound Algorithm.

Wood 492 - Saba Vahid 9

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

Oct 19, 2012