Professional Documents
Culture Documents
November 5, 2009
Lecture 24
Outline
Branch-and-Bound Algorithm
Brief re-cap of the algorithm
Algorithm demonstrated on an example
Nonlinear Programming
Lecture 24
Initialization
The initial node in the tree corresponds to solving the LP relaxation of the
given problem
LP relaxation is the problem resulting from the given ILP when we ignore
integer constraints of the variables
This node is active and it is the most recent.
Lecture 24
Lecture 24
Termination
Stop when there are no more subproblems (no branching). The node with
the best value provides the solution.
Otherwise perform a new iteration.
Lecture 24
Application
BB algorithm to solve the following ILP:
maximize 9x1 + 5x2 + 6x3 + 4x4
subject to 6x1 + 3x2 + 5x3 + 2x4 10
x3 + x4 1
x1
+ x3
0
x2
+ x4 0
xj {0, 1} j = 1, . . . , 4
Lecture 24
Initialization
At the initial node, we would solve its LP relaxation
maximize 9x1 + 5x2 + 6x3 + 4x4
subject to 6x1 + 3x2 + 5x3 + 2x4 10
x3 + x4 1
x1
+ x3
0
x2
+ x4 0
0 xj 1 j = 1, . . . , 4
Using LP algorithm, we find the optimal value (5/6, 1, 0, 1) and the
optimal value z = 16 12 .
If the solution and the optimal value were integers, we would stop.
Since it is not, this value gives us 16 as the best lower bound on the optimal
value of the ILP (blb = 16).
Operations Research Methods
Lecture 24
Lecture 24
Iteration 1:
We branch from the LP relaxation (ALL node) into two new nodes corresponding to x1 = 1 and x1 = 0.
At node x1 = 1 we solve the following LP
maximize 9 + 5x2 + 6x3 + 4x4
subject to
3x2 + 5x3 + 2x4 4
x3 + x4 1
x3
1
x2
+ x4 0
0 xj 1 j = 2, . . . , 4
Lecture 24
Node to the right is incumbent and fathomed (no branching there ever).
Node to the left is the only active node and most recent.
Operations Research Methods
Lecture 24
Iteration 2:
We branch from the node x1 = 1 going to nodes x2 = 1 and x2 = 0.
At node x2 = 1 (also we have x1 = 1), we solve the following LP
maximize 14 + 6x3 + 4x4
subject to 5x3 + 2x4 1
x3 + x4 1
x3
1
x4 1
0 xj 1 j = 3, 4
The solution is (1, 1, 0, 1/2) and the optimal value is 16.
10
Lecture 24
11
Lecture 24
At this point, we have two active nodes that are also the most recent (the
two at the level x2).
12
Lecture 24
Iteration 3:
We branch from the node x2 = 1 since it has a larger bound of the two
active nodes (16 and 13).
We create two new nodes x3 = 1 and x3 = 0.
At node x3 = 1 (branch x1 = 1 and x2 = 1), we solve the following LP
maximize 20 + 4x4
subject to 2x4 4
x4 0
x4 1
0 x4 1
This LP has no solution - it is infeasible. We fathom this node.
13
Lecture 24
14
Lecture 24
15
Lecture 24
Iteration 4:
We branch from the node x3 = 0 since it is a more recent of the two
remaining active nodes.
We create two new nodes x4 = 1 and x4 = 0.
At node x4 = 1 the problem reduces to: having a point (1, 1, 0, 1) and
the LP of the form
maximize 20
subject to 2 4
10
11
The LP has no solution - it is infeasible. We fathom this node.
16
Lecture 24
17
Lecture 24
At this point, only the node x2 = 0 is active. Its value is smaller than the current best
Z = 14, so we fathom this node. Since no node is active, the algorithm terminates. The
optimal point and the value are given by the solution and the value at the best incumbent
node, namely (1, 1, 0, 0) and Z = 14.
18
Lecture 24
Nonlinear Programming
19
Lecture 24
20
Lecture 24
for i = 1, . . . , m
gi : Rn R,
21
Lecture 24
22
Lecture 24
Example
A company produces two products. The amounts of these products are
denoted by x1 and x2. The production involves 3 different processes
described with the following relations
x1 + 2x2 30
3x1 + x2 40
x1 + x2 10
The costs per unit of production for the products are 2 and 1, respectively.
The selling prices of each of the products is elastic (depends on the demand).
The selling prices of the two products are 2x1 and 3x2 for the amounts x1
and x2, respectively.
The company wants to maximize its profit. Provide the formulation of the
problem.
Operations Research Methods
23
Lecture 24
The revenue R from selling the amounts x1 and x2 of the products is given
by
R(x1, x2) = (2x1)x1 + (3x2)x2 = 2x21 + 3x22
The cost of producing these amounts is
C(x1, x2) = 2x1 + x2
24
Lecture 24
25