Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

Overview of Lecture 12

§ Module C
• Integer Programming Solution Approach
• Branch and Bound Method.

Lecture 12 1
Branch and Bound Method
§ A Systematic Solution Approach for Integer
Programming Problems.
• Partitioning the Feasible Solution Area.
• Smaller subsets are evaluated.
• Until the Best Feasible Solution is found.

§ The method is used with the normal non-


integer solution approach (e.g., Linear
Programming Solution Approach).

Lecture 12 2
Total Integer Model
§ Machine Shop
• Two types of machines: press and lathe.
• Two decision variables.
 : number of presses (integer).
 : number of lathes (integer).
• Objective: Maximize profit

Maximize  = 100 + 150 Budget constraint


Subject to 8 + 4 ≤ 40
15 + 30 ≤ 200 Space constraint
 ,  ≥ 0 and integer

Lecture 12 3
Relaxed Solution
§ LP Model Solution with No Integer
Restrictions.
§ Integer Restrictions are Relaxed.
§ Solve the following LP Model.

Maximize  = 100 + 150


Subject to 8 + 4 ≤ 40
15 + 30 ≤ 200
 ,  ≥ 0

Lecture 12 4
Graphical Solution

Maximize  = 100 + 150
10 Subject to 8 + 4 ≤ 40
A
B 15 + 30 ≤ 200
5 C  ,  ≥ 0

5 10 

§ Linear Programming Solution (Relaxed Solution)


• Point B:  ,  = 2.22, 5.56 with Z = 1,055.56.
§ Rounded-Down Solution
• Point C:  ,  = 2, 5 with Z=950.
§ Point A:  ,  = 1, 6 with Z=1,000.
§ Rounded-Down solution is not optimal integer solution.
Lecture 12 5
Branch and Bound Method
§ Nodes and Branches
• Used for organizing partitioned solutions.
§ Node
• Node Number
• Upper Bound (UB)
• Z value of the relaxed solution.
• Lower Bound (LB)
• Optimal Z value of integer solutions found so far (e.g.,
rounded-down solution).
• Optimal Z value will be between UB and LB.

Lecture 12 6
Initial Node
§ UB
• Relaxed Solution
•  ,  = 2.22, 5.56 with Z = 1,055.56.
§ LB
• Rounded-Down Solution
• Point C:  ,  = 2, 5 with Z=950.

UB=1,055.56 ( = 2.22,  = 5.56)


LB=950 ( = 2,  = 5)

1
1,055.56

Lecture 12 7
Branch (Partition)
§ Select one variable with the greatest
fractional part.
• (2.22, 5.56)
•  is selected, and we branch on  .
•  ≤ 5 and  ≥ 6.
5 6
UB=1,055.56 ( = 2.22,  = 5.56)
LB=950 ( = 2,  = 5)

1
1,055.56
 ≤ 5  ≥ 6

2 3

Lecture 12 8
Node Computation
§ Node 2 Maximize  = 100 + 150
• UB (Relaxed Solution) Subject to 8 + 4 ≤ 40
15 + 30 ≤ 200
•  ,  = 2.5, 5 with
 ≤ 5
Z=1,000.
 ,  ≥ 0
• LB
•  ,  = (2,5) with Z=950.
§ Node 3 Maximize  = 100 + 150
Subject to 8 + 4 ≤ 40
• UB (Relaxed Solution)
15 + 30 ≤ 200
•  ,  = 1.33, 6 with  ≥ 6
Z=1,033.  ,  ≥ 0
• LB
•  ,  = (2,5) with Z=950.

Lecture 12 9
Current Diagram
UB=1,055.56 ( ,  ) = (2.22, 5.56)
LB=950 ( ,  ) = (2, 5)

1
1,055.56 UB=1,033 ( ,  ) = (1.33,6)
UB=1,000 ( ,  ) = (2.5,5)
LB=950 ( ,  ) = (2,5) LB=950 ( ,  ) = (2,5)
 ≤ 5  ≥ 6
2 3
1,000 1,033

§ Branch on the node with the Maximum UB.


• Node 3 is selected.
§ Select one variable with the greatest fraction.
• ( ,  ) = 1.33, 6 ,  is selected.

Lecture 12 10
Branch
UB=1,055.56 ( ,  ) = (2.22, 5.56)
LB=950 ( ,  ) = (2, 5)

1
1,055.56 UB=1,033 ( ,  ) = (1.33,6)
UB=1,000 ( ,  ) = (2.5,5)
LB=950 ( ,  ) = (2,5) LB=950 ( ,  ) = (2,5)
 ≤ 5  ≥ 6
2 3
1,000 1,033

 ≤ 1  ≥ 2
4 5

Lecture 12 11
Node Computation
Maximize  = 100 + 150
§ Node 4 Subject to 8 + 4 ≤ 40
• UB (Relaxed Solution) 15 + 30 ≤ 200
•  ,  = 1, 6.17 with  ≥ 6
Z=1,025.50.  ≤ 1
 ,  ≥ 0
• LB
•  ,  = (2,5) with Z=950.
§ Node 5 Maximize  = 100 + 150
Subject to 8 + 4 ≤ 40
• Infeasible Problem 15 + 30 ≤ 200
 ≥ 6
 ≥ 2
 ,  ≥ 0

Lecture 12 12
Current Diagram
UB=1,055.56 ( ,  ) = (2.22, 5.56)
LB=950 ( ,  ) = (2, 5)

1
1,055.56 UB=1,033 ( ,  ) = (1.33,6)
UB=1,000 ( ,  ) = (2.5,5)
LB=950 ( ,  ) = (2,5) LB=950 ( ,  ) = (2,5)
 ≤ 5  ≥ 6
2 3
1,000 1,033

 ≤ 1  ≥ 2 Infeasible
UB=1,025.50 ( ,  ) = (1,6.17)
LB=950 ( ,  ) = (2,5) 4 5
1025.50

§ Branch on the node with the Maximum UB.


• Node 4 is selected.
§ Select one variable with the greatest fraction.
• ( ,  ) = 1,6.17 ,  is selected.
Lecture 12 13
Branch
UB=1,055.56 ( ,  ) = (2.22, 5.56)
LB=950 ( ,  ) = (2, 5)

1
1,055.56 UB=1,033 ( ,  ) = (1.33,6)
UB=1,000 ( ,  ) = (2.5,5)
LB=950 ( ,  ) = (2,5) LB=950 ( ,  ) = (2,5)
 ≤ 5  ≥ 6
2 3
1,000 1,033

UB=1,025.50 ( ,  ) = (1,6.17)  ≤ 1  ≥ 2


LB=950 ( ,  ) = (2,5) 4 5
1025.50

 ≤ 6  ≥ 7
6 7

Lecture 12 14
Node Computation
Maximize  = 100 + 150
§ Node 6 Subject to 8 + 4 ≤ 40
• UB (Relaxed Solution) 15 + 30 ≤ 200
•  ,  = 1, 6 with Z=1,000.  ≥ 6
 ≤ 1
• LB  ≤ 6
•  ,  = (1,6) with Z=1,000.  ,  ≥ 0

Maximize  = 100 + 150


§ Node 7 Subject to 8 + 4 ≤ 40
• Infeasible Problem 15 + 30 ≤ 200
 ≥ 6
 ≥ 2
 ≥ 7
 ,  ≥ 0

Lecture 12 15
Current Diagram
UB=1,055.56 ( ,  ) = (2.22, 5.56)
LB=950 ( ,  ) = (2, 5)

1
1,055.56 UB=1,033 ( ,  ) = (1.33,6)
UB=1,000 ( ,  ) = (2.5,5)
LB=950 ( ,  ) = (2,5) LB=950 ( ,  ) = (2,5)
 ≤ 5  ≥ 6
2 3
1,000 1,033

 ≤ 1  ≥ 2 Infeasible
UB=1,025.50 ( ,  ) = (1,6.17)
LB=950 ( ,  ) = (2,5) 4 5
1025.50

UB=1,000 ( ,  ) = (1,6)  ≤ 6 Infeasible


LB=1,000 ( ,  ) = (1,6)
6 7
1,000

Lecture 12 16
Optimal Solution
§ Node 2
• No better solution than Node 6.
§ Optimal Solution
•  ,  = 1,6
• Z=1,000

Lecture 12 17
Steps for Maximization Problems with ≤ constraints

1. Find a Relaxed Solution


2. Node 1
UB (Relaxed Sol.), LB (Rounded-down Sol.)
3. Select a variable with the greatest factional part
and branch (≤ constraint and ≥ constraint).
4. Create two nodes for each new constraint.
5. Find a Relaxed Solutions for both new nodes for
UB.
6. LB is the existing maximum integer solution (at
any node)
7. If an integer solution for UB, stop branching for
that node. Branch from the node with greatest UB.
8. Return to Step 3.

Lecture 12 18
Steps for Minimization Problems   ≥ constraints

1. Find a Relaxed Solution


2. Node 1
LB (Relaxed Sol.), UB (Rounded-up Sol.)
3. Select a variable with the greatest factional part
and branch (≤ constraint and ≥ constraint).
4. Create two nodes for each new constraint.
5. Find a Relaxed Solutions for both new nodes for
LB.
6. UB is the existing minimum integer solution (at
any node)
7. If an integer solution for LB, stop branching for
that node. Branch from the node with smallest LB.
8. Return to Step 3.

Lecture 12 19
Mixed Integer Model
§ LB for Node 1
• Only those variables with integer restrictions are
rounded down.
§ Branch
• Select a variable with the greatest fractional part
among variables with integer restrictions.

Lecture 12 20
0-1 Integer Model
Maximize  = 27 + 16 + 15 + 32
Subject to 15 + 12 + 23 + 12 ≥ 30
7 + 2 + 5 + 3 ≤ 11
− +  ≤ 0
 +  +  ≤ 2
 ,  ,  ,  = 0 or 1

LP Formulation

Maximize  = 27 + 16 + 15 + 32


Subject to 15 + 12 + 23 + 12 ≥ 30
7 + 2 + 5 + 3 ≤ 11
− +  ≤ 0
 +  +  ≤ 2
0 ≤  ≤ 1,  = 0,1.2,3,4

Lecture 12 21
Initial Node
§ Node 1
• Relaxed solution
•  ,  ,  ,  = 0.8571, 1, 0, 1 with Z=71.14
§ Branch using 
UB=71.14 ( ,  ,  ,  ) = 0.86,1,0,1
LB=−∞
1
71.14
 = 0  =1

2 3

Lecture 12 22
Node Computation
§ Node 2 Max  = 27 + 16 + 15 + 32
• Relaxed Solution S.t 15 + 12 + 23 − 3 + 12 ≥ 30
7 + 2 + 5 + 3 ≤11
• 0,1,1,1 with Z=63. − +  ≤0
• LB=63  +  +  ≤ 2
 = 0
0 ≤  ≤ 1, i=2,3,4

§ Node 3
• Relaxed Solution Max  = 27 + 16 + 15 + 32
S.t 15 + 12 + 23 − 3 + 12 ≥ 30
• (1,0.8,0,0.8) with
7 + 2 + 5 + 3 ≤11
Z=65.4
− +  ≤0
• LB=63  +  +  ≤ 2
 = 1
0 ≤  ≤ 1, i=2,3,4

Lecture 12 23
Current Diagram

UB=71.14 ( ,  ,  ,  ) = 0.86,1,0,1


LB=−∞
1
71.14 UB=65.4, (1, 0.8, 0, 0.8)
UB=63, 0,1,1,1
LB=63, 0,1,1,1 LB=63, 0,1,1,1
 = 0  =1
2 3
63 65.4

§ Branch on the node with the Maximum UB.


• Node 3 is selected.
§ Branch using  .

Lecture 12 24
Branch

UB=71.14 ( ,  ,  ,  ) = 0.86,1,0,1


LB=−∞
1
71.14 UB=65.4, (1, 0.8, 0, 0.8)
UB=63, 0,1,1,1
LB=63, 0,1,1,1 LB=63, 0,1,1,1
 = 0  =1
2 3
63 65.4

 = 0  =1
4 5

Lecture 12 25
Node Computation
§ Node 4 Max  = 27 + 16 + 15 + 32
• Relaxed Solution S.t 15 + 12 + 23 + 12 ≥ 30
7 + 2 + 5 + 3 ≤11
• (1, 0, 4/5, 0) with Z=39. − +  ≤0
• LB=63  +  +  ≤ 2
 = 1,  = 0
• No more branching 0 ≤  ≤ 1, i=3,4

§ Node 5 Max  = 27 + 16 + 15 + 32


• Relaxed Solution S.t 15 + 12 + 23 − 3 + 12 ≥ 30
7 + 2 + 5 + 3 ≤11
• (1, 1, 0, 0.667) with − +  ≤0
Z=64.33  +  +  ≤ 2
 = 1,  = 1
• LB=63
0 ≤  ≤ 1, i=3,4

Lecture 12 26
Current Diagram

UB=71.14 ( ,  ,  ,  ) = 0.86,1,0,1


LB=−∞
1
71.14 UB=65.4, (1, 0.8, 0, 0.8)
UB=63, 0,1,1,1
LB=63, 0,1,1,1 LB=63, 0,1,1,1
 = 0  =1
2 3
63 65.4
UB=64.33 (1,1,0,0.67)
UB=39
 = 0  =1 LB=63, 0,1,1,1
LB=63, 0,1,1,1
4 5
39 64.33

§ Branch on the node with the Maximum UB.


• Node 5 is selected.
§ Branch using  .

Lecture 12 27
Branch

UB=71.14 ( ,  ,  ,  ) = 0.86,1,0,1


LB=−∞
1
71.14 UB=65.4, (1, 0.8, 0, 0.8)
UB=63, 0,1,1,1
LB=63, 0,1,1,1 LB=63, 0,1,1,1
 = 0  =1
2 3
63 65.4
UB=64.33 (1,1,0,0.67)
UB=39
 = 0  =1 LB=63, 0,1,1,1
LB=63, 0,1,1,1
4 5
39 64.33

 = 0  =1

6 7

Lecture 12 28
Node Computation
§ Node 6 Max  = 27 + 16 + 15 + 32
• Infeasible. S.t 15 + 12 + 23 + 12 ≥ 30
7 + 2 + 5 + 3 ≤11
• No more branching. − +  ≤0
 +  +  ≤ 2
 = 1,  = 1,  = 0
0 ≤  ≤ 1

Max  = 27 + 16 + 15 + 32


§ Node 7 S.t 15 + 12 + 23 − 3 + 12 ≥ 30
• Infeasible 7 + 2 + 5 + 3 ≤11
− +  ≤0
• No more branching.  +  +  ≤ 2
 = 1,  = 1,  = 1
0 ≤  ≤ 1

Lecture 12 29
Final Diagram

UB=71.14 ( ,  ,  ,  ) = 0.86,1,0,1


LB=−∞
1
71.14 UB=65.4, (1, 0.8, 0, 0.8)
UB=63, 0,1,1,1
LB=63, 0,1,1,1 LB=63, 0,1,1,1
 = 0  =1
2 3
63 65.4
UB=64.33 (1,1,0,0.67)
UB=39
 = 0  =1 LB=63, 0,1,1,1
LB=63, 0,1,1,1
4 5
39 64.33

Infeasible  = 0  =1 Infeasible
§ Optimal Solution
•  ,  ,  ,  = 6 7
0,1,1,1 with Z=63.

Lecture 12 30

You might also like