Lecture Notes 4

advertisement
Lecture 4
D. Example IP Solution Technique -- Branch and Bound
1. Relationship between IP and LP programs
We want to determine e.g.,
z* = max z = 5x1 + 8x2 (where z* indicates an IP solution is desired)
subject to
x1 + x2  6
5x1+ 9x2  45
x1, x2  0 and integer
See Figure 9.8. Lo = solution space defined by the constraint set
If we drop the integrality restrictions, we have a linear program. We
call this the associated linear program
LP optimum solution from the graph: x1 = 2.25, x2= 3.75, z = 41.25
What is the IP solution?
Note that rounding off the LP solution (decision variables) results in an
infeasible solution: x1 = 2, x2 = 4, z = infeasible.
The nearest feasible solution point to the LP optimum that is integer is
x1 = 2, x2 = 3, z = 34
(integer feasible point)
Neither of these is the IP optimum solution!
The IP solution is: x1 = 0, x2 = 5, z* = 40
IP optimum solution
Infeasible solution
LP optimum solution
Nearest integer point
Objective
Function
35
2. Basic procedure
a. General features of an IP solution
An IP solution is an LP solution that is further constrained by the IP
requirements:
The LP optimum is the upper bound on z of the IP (z*)
The integer feasible point is the lower bound on z of the LP (zo)
This property is taken advantage of in the branch and bound technique.
b. Solution procedure
(1) Drop the integrality restrictions and solve the associated LP
See from the previous example that
z*  zo = 41.25
(since LP optimum is the upper bound on z*)
where z* = the IP solution (desired)
zo = the associated LP solution (can calculate)
But x1 and x2 must be integers, and the z* coefs. are also integers, this
implies,
z*  41.0
(2) Subdivide the solution space and solve the associated LPs
The LP decision variables are:
x1 = 2.25
x2 = 3.75
Both must be integers in the z* solution. Divide the solution space and
attempt to make either decision variable integer.
e.g., we know that in the integer solution x2 cannot be 3.75. It must be
either
x2  3.0
or
x2  4.0
Divide the previous solution space -- see Figure 9.9
We have two new solution spaces: L1 and L2.
36
(x1 = 2.25, x2 =3.75)
Exclude the old LP solution of x2 = 3.75.
(note: could do this on x1 first also).
See what we have done so far:
** ENUMERATION TREE ** (Figure 9.10)
The constraint set is subdivided by the additional constraints as
defined above, but still includes the original constraints along the
boundaries
L0
x1 = 2.25
x2 = 3.75
z = 41.25
z*  41
z = 5x1 + 8x2
x2  3
x2 ≥ 4
L1
L2
Fig. 9.10 Enumeration tree.
37
(3) Now solve the associated LP (as the original one) in each sub-region
(a) L1 = upper sub-region defined by x2  4 additional constraint
In this region, the optimal solution is
x2 = 4
x1 = 1.8
zo = 5(1.8) + 8(4.0) = 41
(b) Note: x1 is not integer. Need to further subdivide the L1 into:
L3: x1  2.0
(x1 = 1.8)
L4: x1  1.0
See Figures 9.11, 9.12
x1 ≥ 2 => infeasible
L4
L0
x1 = 2.25
x2 = 3.75
z = 41.25
x2
4
z*
 41
x2
3
L2
L1
x1 = 1.8
x2 = 4.0
z = 41.0
x1
2
x1
1
L4
L3
Infeasible
*
* indicates end of branch
FIG. 9.12
38
(c) See that x1  2.0 leads to an infeasible solution since it is outside
of the original solution space. This is indicated by an asterisk at the
bottom of the box on Figure 9-12.
(d) The solution space L4 is feasible (see Figure 9.9), so consider the
solution space L4 next.
Solve the associated LP in L4. The optimal solution is:
x1 = 1.0
x2 = 4.44
zo = 5 (1.0) + 8 (4.44) = 40.52
L0
x1 = 2.25
x2 = 3.75
z = 41.25
x2  3
x2  4
L1
L2
x1 = 1.8
x2 = 4.0
z = 41.0
x1  2
L3
Infeasible
z*  41
x1  1
L4
x1 = 1
x2 = 4.44
z = 40.55
*
Figure 9.16.
39
(e) Note that x2 (= 4.44) is not integer. Can further subdivide L4 into:
L5: x2  4.0
L6: x2  5.0
See Figure 9.13
L6
x2 ≥ 5.0
x2 ≤ 4.0
L5
(f) Consider L5 next. The solution of the associated LP is:
x1 = 1.0
x2 = 4.0
zo = 5 (1.0) + 8 (4.0) = 37.0
This is the best integer solution for L5. No integer can give a larger
value for the objective function. Therefore the region does not
need to be subdivided further.
We now have as a bound on the solution:
37  z*  41 (37 is the lower bound)
See Figure 9.14.
40
L0
x1 = 2.25
x2 = 3.75
z = 41.25
z*  41
x2  3
x2  4
L1
L2
x1 = 1.8
x2 = 4.0
z = 41.0
x1  2
x1  1
L3
L4
x1 = 1
x2 = 4.44
z = 40.55
Infeasible
*
x2  5
x2  4
L5
L6
z*  37
x1 = 1
x2 = 4
z = 37
*
Figure 9.14.
(g) We still have not considered the feasible solutions in regions 2 and 6
Consider L6 next. There is only one feasible point in this region:
x1 = 0.0
x2= 5.0
zo = 5 (0.0) + 8 (5.0) = 40.0
See Figure 9.15
41
L0
x1 = 2.25
x2 = 3.75
z = 41.25
x2  3
x2  4
L1
L2
x1 = 1.8
x2 = 4.0
z = 41.0
x1  2
x1 = 3
x2 = 3
z = 39
x1  1
L3
*
L4
x1 = 1
x2 = 4.44
z = 40.55
Infeasible
*
z*  41
x2  5
x2  4
L5
x1 = 1
x2 = 4
z = 37
L6
z*  37
*
x1 = 0
x2 = 5
z = 40
z*  40
(Maximized)
*
Figure 9.15
This is an improvement in restricting the range on z*. Now,
40  z*  41
(h) L2 could contain a better solution. Consider L2 (only x2  3 added
to original constraint set):
42
x1 = 3.0
x2 = 3.0
z o = 5 (3.0) + 8 (3.0) = 39.0
This is the best integer solution in L2 but not as good as L6. So
consider L6 optimal. (Figure 9.15)
(3) Note: Need only to drive each branch to a solution z* below the best
integer one, not to an infeasible or integer solution.
3. Summary
a. Subdivide the feasible region to develop bounds on z*
z  z*  z
where z = highest value of any feasible integer point encountered
z = optimal value of the zo or the largest value for any “hanging box”
(a box that has not been subdivided)
b. After considering one subdivision, must move to another subdivision and
analyze it.
c. If any of the following apply, do not subdivide:
(1) The LP over Lj is infeasible
(2) The optimal LP solution over Lj is integer
(3) The value of the LP solution zo over Lj satisfies zo  z (if maximizing)
In all cases, Lj has “been fathomed”. The Lj is “fathomed” by
infeasibility, integrality, or bounds.
43
Homework 3
Problem 1:
As the leader of a team surveying the feasibility of rubber-dam projects, you must
determine the least-cost selection of five out of 10 possible sites. Label the sites S1, S2,
..., S10, and the development costs associated with each as C1, C2, ..., C10. Regional
development restrictions are such that:
(a) Selecting sites S1 and S7 will prevent you from selecting site S8.
(b) Selecting site S3 or S4 prevents you from selecting site S5.
(c) Of the group S5, S6, S7, S8, at most two sites may be selected.
(d) If site S9 is selected, site 10 also must be selected (the reverse is not mandatory).
Formulate an integer program (IP) to determine the minimum-cost scheme that satisfies
these restrictions.
Problem 2:
Solve the following problem (by hand) using the branch-and-bound technique. You can
solve the associated linear program required at each step by using LINDO in the LP
mode. Just remember to use the appropriate set of constraints as you subdivide the
domain.
minimize z = 2x1 -3x2 - 4x3
subject to
-x1 + x2+ 3x3 
3x1 + 2x2 - x3 
x1, x2, x3 
Problem 3:
Explore the integer-programming capabilities of LINDO by solving the branch-andbound example presented in class on LINDO. Invoke the integer program-solving
mode per the instructions in the LINDO manual (using the ‘GIN’ command). Interpret
the output and compare the results to those found in class.
44
Download