Some of the most interesting and useful applications of integer programming involve 01 variables. In these applications the variables allow for the selection of an item (or activity) where a value of one indicates that the item is selected and a value of zero indicates that it is not. For example, a decision variable might represent the purchase of a building; if the value of the variable is one, the building is purchased. If the value is zero, the building is not purchased. We will demonstrate three of the most popular applications of 01 integer programminga capital budgeting problem, a fixed charge and facility location problem, and a set covering problem. A Capital Budgeting ExampleThe University Bookstore at Tech is considering several expansion projects, including developing a store Web site for online retail and catalog purchases, buying an off-campus warehouse and its subsequent expansion, developing a clothing and gift department specializing in university logo apparel, opening a computer department carrying both hardware and software products, and creating a banking pavilion of three automated teller machines outside the store. Some of the projects will be developed over a 2-year period and some over a 3-year period, as funds permit. The net present value costs per year and the projected net present value of returns for a 5-year period for each of the projects are shown in the following table:
In addition, the store does not have enough space available to create both a computer department and a clothing department. The bookstore director wants to know which projects to select to maximize returns. This problem requires a 01 integer programming model formulation where x 1 = selection of Web site project x 2 = selection of warehouse project x 3 = selection of clothing department project x 4 = selection of computer department project x 5 = selection of ATM project x i = 1 if project i is selected; 0 if project i is not selected
Exhibit 5.16 shows this capital budgeting example set up in Excel spreadsheet format. The decision variables for the projects are in cells C7:C11 , and the objective function ( Z ) is in cell D17. The objective function is shown on the formula bar at the top of the spreadsheet. The model constraints are included in cells E12:G12 . For example, cell E12 contains the budget constraint for year 1, = SUMPRODUCT (C7:C11, E7:E11) , and the available budget is in cell E14. Thus, this budget constraint will be written in Solver as E12 E14 . The mutually exclusive constraint, x 3 + x 4 1, is included in cell E15 as = C9+C10 . Exhibit 5.16.(This item is displayed on page 196 in the print version)Exhibit 5.17 shows the Solver screen for the capital budgeting example. The 01 variable restriction has been established by the constraints C7:C11 1 and C7:C11 = integer . The mutually exclusive constraint is shown as E15 1 . Exhibit 5.17.The model solution is x 1 = 1 (Web site) x 4 = 1 (computer department) x 5 = 1 (ATMs) Z = $330,000 A Fixed Charge and Facility Location ExampleFrijo-Lane Food Products own farms in the Southwest and Midwest, where it grows and harvests potatoes. It then ships these potatoes to three processing plants in Atlanta, Baton Rouge, and Chicago, where different varieties of potato products, including chips, are produced. Recently, the company has experienced a growth in its product demand, so it wants to buy one or more new farms to produce more potato products. The company is considering six new farms with the following annual fixed costs and projected harvest:
The company currently has the following additional available production capacity (tons) at its three plants, which it wants to utilize:
The shipping costs ($) per ton from the farms being considered for purchase to the plants are as follows :
The company wants to know which of the six farms it should purchase to meet available production capacity at the minimum total cost, including annual fixed costs and shipping costs. This problem is formulated as a 01 integer programming model because the selection of the farms requires 01 decision variables: y i = 0 if farm i is not selected, and 1 if farm i is selected, where i = 1, 2, 3, 4, 5, 6 The variables for the amounts shipped from each prospective farm to each plant are non- integer, defined as follows: x ij = potatoes (tons, 1,000s) shipped from farm i to plant j , where i = 1, 2, 3, 4, 5, 6 and j = A, B, C The objective function ( Z ) combines shipping costs and the annual fixed costs, where Z = $1,000s:
The constraints for production capacity require that potatoes be shipped (i.e., x ij variables have positive values) only from a farm if it is selected; for example, for farm 1, x 1A + x 1B + x 1C 11.2 y 1 In this constraint, if y 1 = 1, then the 11.2 thousand tons of potatoes are available at farm 1 for shipment to one or more of the plants. Similar constraints are developed for each of the five other farms. Constraints are also necessary for the production capacity to be filled at each plant. The complete model is formulated as
subject to
Exhibit 5.18 shows this example model set up in Excel spreadsheet format. The decision variables for the shipments between farms and plants, x ij , are in cells C5:E10 . The 01 decision variables for farm selection, y i , are in cells C17:C22 . The objective function ( Z ) is embedded in cell C24 and is shown on the formula bar at the top of the spreadsheet. The model constraints for potato availability at the farms are embedded in cells H5:H10 . For example, the total amount shipped from farm 1, x 1A + x 1B + x 1C , is in cell G5 as = C5+D5+E5 . The constraint formulation is in cell H5 as = G5C17 * F5 . The constraints for potatoes shipped from the plants are in cells C12:E12 . For example, the constraint formula in C12 is = SUM (C5:C10) . Exhibit 5.18.(This item is displayed on page 199 in the print version)Exhibit 5.19 shows the Solver screen for this example. The 01 variable restriction for the y i variables is established by the constraints C17:C22 1 and C17:C22=integer . The farm harvest (potato availability) constraints are shown as H5:H10 , and the plant production capacity constraints are shown as C12:E12=C11:E11 . Exhibit 5.19.(This item is displayed on page 199 in the print version)The model solution is
A Set Covering ExampleAmerican Parcel Service (APS) has determined that it needs to add several new package distribution hubs to service cities east of the Mississippi River. The company wants to construct the minimum set of new hubs in the following 12 cities so that there is a hub within 300 miles of each city (i.e., every city is covered by a hub):
This problem requires a 01 integer programming model in which the decision variables are the available cities: x i = city i , i = 1 to 12 where x i = 0 if city i is not selected as a hub and x i = 1 if city i is selected The objective function ( Z ) is to minimize the number of hubs: minimize Z = x 1 + x 2 + x 3 + x 4 + x 5 + x 6 + x 7 + x 8 + x 9 + x 10 + x 11 + x 12
The model constraints establish the set covering requirement (i.e., that each city be within 300 miles of a hub). For example, Atlanta covers itself, Charlotte, and Nashville: Atlanta: x 1 + x 3 + x 8 1 In this constraint, at least one of the variables must equal 1 in order for Atlanta to be assured of a hub within 300 miles. Similar constraints are developed for the other 11 cities. The complete 01 integer programming model is summarized as follows:
The Excel spreadsheet for this model is shown in Exhibit 5.20. The decision variables for the cities and hub sites are in cells B20:M20 , and the objective function ( Z ) is in cell B22. The formula for the objective function embedded in B22 is the sum of the cities selected as hubs, = SUM (B20:M20) . The model constraints are in cells N7:N18 . Notice that the values of 1 in cells B7, D7, and I7 indicate the cities covered by a possible hub at Atlanta. Exhibit 5.20.Exhibit 5.21 shows the Solver screen for this problem. The 01 variable restriction has been established by the constraints B20:M20 1 and B20:M20 = integer . Notice that the formulas in cells N7:N18 are set 1 (i.e., N7:N18 1 ) to complete the "set covering" constraints in the model. Exhibit 5.21.
The model solution is
Notice that there is only one city covered by two hubs, Indianapolis (i.e., 2 in cell N12), which is overlapped by both Detroit and St. Louis. Also, there are multiple optimal solutions to this problem (i.e., different mixes of four hubs). |