Branch-and-Bound Technique for Solving Integer Programs - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Branch-and-Bound Technique for Solving Integer Programs

Description:

partition the feasible region of the LP-relaxation. Choose a variable that is fractional in the optimal solution to the LP-relaxation say, x2. ... – PowerPoint PPT presentation

Number of Views:1142
Avg rating:3.0/5.0
Slides: 13
Provided by: mathO
Category:

less

Transcript and Presenter's Notes

Title: Branch-and-Bound Technique for Solving Integer Programs


1
Branch-and-Bound Technique for Solving Integer
Programs
  • In this handout
  • Basic concepts
  • Introducing the technique based on an example

2
Basic Concepts
  • The basic concept underlying the branch-and-bound
    technique
  • is to divide and conquer.
  • Since the original large problem is hard to
    solve directly,
  • it is divided into smaller and smaller
    subproblems
  • until these subproblems can be conquered.
  • The dividing (branching) is done by partitioning
  • the entire set of feasible solutions into
    smaller and smaller subsets.
  • The conquering (fathoming) is done partially by
  • (i) giving a bound for the best solution in the
    subset
  • (ii) discarding the subset if the bound
    indicates that
  • it cant contain an optimal solution.
  • These three basic steps branching, bounding,
    and fathoming
  • are illustrated on the following example.

3
Example of Branch-and-Bound
6
  • Max Z 5x1 8x2
  • s.t. x1 x2 ? 6
  • 5x1 9x2 ? 45
  • x1 , x2 0 integer

x1 x2 6
5
4
(2.25, 3.75)
3
Z41.25
2
5x1 9x2 45
1
Z20
0
7
8
1
2
3
4
5
6
4
Utilizing the information about the optimal
solution of the LP-relaxation
  • Fact If LP-relaxation has integral optimal
    solution x, then x is optimal for IP too.
  • In our case, (x1, x2) (2.25, 3.75) is the
    optimal solution of the LP-relaxation. But,
    unfortunately, it is not integral.
  • The optimal value is 41.25 .
  • Fact OPT(LP-relaxation) OPT(IP)
  • (for maximization problems)
  • That is, the optimal value of the LP-relaxation
  • is an upper bound
  • for the optimal value of the integer program.
  • In our case, 41.25 is an upper bound for OPT(IP).

5
Branching step
  • In an attempt to find out more
  • about the location of the IPs optimal
    solution,
  • partition the feasible region of the
    LP-relaxation.
  • Choose a variable that is fractional in the
    optimal solution to the LP-relaxation say, x2 .
    Observe that every feasible IP point must have
    either x2 ? 3 or x2 4 .
  • With this in mind, branch on the variable x2 to
    create the following two subproblems
  • Subproblem 1 Subproblem 2
  • Max Z 5x1 8x2 Max Z 5x1 8x2
  • s.t. x1 x2 ? 6 s.t. x1 x2 ? 6
  • 5x1 9x2 ? 45 5x1 9x2 ?
    45
  • x2 ? 3 x2 4
  • x1 , x2 0 x1 , x2 0
  • Solve both subproblems
  • (note that the original optimal solution
    (2.25, 3.75) cant recur)

6
Branching step (graphically)
Z41
  • Subproblem 1 Opt. solution (3,3) with value
    39
  • Subproblem 2 Opt. solution (1.8,4) with
    value 41

5
Subproblem 2
4
(1.8, 4)
3
(3, 3)
2
Subproblem 1
1
Z39
Z20
0
7
8
1
2
3
4
5
6
7
Solution tree
S1 x2 ? 3 (3, 3) Z39
  • For each subproblem, we record
  • the restriction that creates the subproblem
  • the optimal LP solution
  • the LP optimum value
  • The optimal solution for Subproblem 1 is
    integral (3, 3).
  • If further branching on a subproblem will yield
    no useful information, then we can fathom
    (dismiss) the subproblem.
  • In our case, we can fathom Subproblem 1
    because its solution is integral.
  • The best integer solution found so far is stored
    as incumbent. The value of the incumbent is
    denoted by Z.
  • In our case, the first incumbent is (3, 3), and
    Z39.
  • Z is a lower bound for OPT(IP) OPT(IP) Z .
  • In our case, OPT(IP) 39. The upper bound is
    41 OPT(IP) ? 41.

int.
All (2.25, 3.75) Z41.25
S2 x2 4 (1.8, 4) Z41
8
Next branching step (graphically)
  • - Fathom Subproblem 1.
  • - Branch Subproblem 2 on x1
  • Subproblem 3 New restriction is x1 ? 1.
  • Opt. solution (1, 4.44) with value
    40.55
  • Subproblem 4 New restriction is x1 2.
  • The subproblem is infeasible

5
(1, 4.44)
Subpr. 4
Subpr. 3
4
3
Z40.55
2
1
0
7
8
1
2
3
4
5
6
9
Solution tree (cont.)
S1 x2 ? 3 (3, 3) Z39
int.
  • If a subproblem is infeasible, then it is
    fathomed.
  • In our case, Subproblem 4 is infeasible fathom
    it.
  • The upper bound for OPT(IP) is updated 39 ?
    OPT(IP) ? 40.55 .
  • Next branch Subproblem 3 on x2 .
  • (Note that the branching variable might recur).

All (2.25, 3.75) Z41.25
S3 x1 ? 1 (1, 4.44) Z40.55
S2 x2 4 (1.8, 4) Z41
S4 x1 2 infeasible
10
Next branching step (graphically)
  • Branch Subproblem 3 on x2
  • Subproblem 5 New restriction is x2 ? 4.
  • Feasible region
  • the segment joining (0,4) and
    (1,4)
  • Opt. solution (1, 4) with value 37
  • Subproblem 6 New restriction is x2 5.
  • Feasible region is just one point (0,
    5)
  • Opt. solution (0, 5) with value 40

(0, 5)
5
4
(1, 4)
3
2
1
0
7
8
1
2
3
4
5
6
11
Solution tree (final)
S1 x2 ? 3 (3, 3) Z39
int.
S5 x2 ? 4 (1, 4) Z37
  • If the optimal value of a subproblem is ? Z,
    then it is fathomed.
  • In our case, Subproblem 5 is fathomed because 37
    ? 39 Z.
  • If a subproblem has integral optimal solution x,
  • and its value gt Z, then x replaces the
    current incumbent.
  • In our case, Subproblem 5 has integral optimal
    solution, and its value 40gt39Z. Thus,
    (0,5) is the new incumbent, and new Z40.
  • If there are no unfathomed subproblems left, then
    the current incumbent is an optimal solution for
    (IP).
  • In our case, (0, 5) is an optimal solution with
    optimal value 40.

int.
All (2.25, 3.75) Z41.25
S3 x1 ? 1 (1, 4.44) Z40.55
S2 x2 4 (1.8, 4) Z41
S6 x2 5 (0, 5) Z40
int.
S4 x1 2 infeasible
12
In the next handout
  • Summary of branch-and-bound for integer programs
  • Which variable to branch on?
  • Which open subproblem to solve first?
  • Updating the bounds (lower and upper) on OPT(IP)
  • Summary of fathoming criteria
  • Optimality test
  • Branch-and-bound applied to
  • binary integer programs
  • mixed integer programs
Write a Comment
User Comments (0)
About PowerShow.com