Download presentation
1
Computational Methods for Management and Economics Carla Gomes
Module 10a Integer Programming Models (slides adapted from Hillier and Hillier’s and Orlin’s)
2
Divisibility Decision variables in an LP model are allowed to have any values, including noninteger values, that satisfy the functional and nonnegativity constraints. i.e., activities can be run at fractional levels. What to do when divisibility assumption violated: realm of integer programming!!!
3
Revisiting the TBA Airlines Problem An Example where Integrality Matters
4
The TBA Airlines Problem
TBA Airlines is a small regional company that specializes in short flights in small airplanes. The company has been doing well and has decided to expand its operations. The basic issue facing management is whether to purchase more small airplanes to add some new short flights, or start moving into the national market by purchasing some large airplanes, or both. Question: How many airplanes of each type should be purchased to maximize their total net annual profit?
5
Data for the TBA Airlines Problem
Small Airplane Large Airplane Capital Available Net annual profit per airplane $1 million $5 million Purchase cost per airplane 5 million 50 million $100 million Maximum purchase quantity 2 — Table 9.1 Data for the TBA Airlines problem.
6
Linear Programming Formulation
Let S = Number of small airplanes to purchase L = Number of large airplanes to purchase Maximize Profit = S + 5L ($millions) subject to Capital Available: 5S + 50L ≤ 100 ($millions) Max Small Planes: S ≤ 2 and S ≥ 0, L ≥ 0.
7
Graphical Method for Linear Programming
Figure 9.1 Applying the graphical method to the linear programming model for the TBA Airlines problem yields (S, L) = (2, 1.8) as the optimal solution. Rounding L = 1.8 down then gives (2, 1) as a feasible integer solution.
8
Violates Divisibility Assumption of LP
Divisibility Assumption of Linear Programming: Decision variables in a linear programming model are allowed to have any values, including fractional values, that satisfy the functional and nonnegativity constraints. Thus, these variables are not restricted to just integer values. Since the number of airplanes purchased by TBA must have an integer value, the divisibility assumption is violated.
9
Integer Programming Formulation
Let S = Number of small airplanes to purchase L = Number of large airplanes to purchase Maximize Profit = S + 5L ($millions) subject to Capital Available: 5S + 50L ≤ 100 ($millions) Max Small Planes: S ≤ 2 and S ≥ 0, L ≥ 0 S, L are integers.
10
Graphical Method for Integer Programming
Figure 9.2 Applying the graphical method for integer programming to the TBA Airlines problem yields (S, L) = (0, 2) as the optimal solution.
11
Graphical Method for Integer Programming
When an integer programming problem has just two decision variables, its optimal solution can be found by applying the graphical method for linear programming with just one change at the end. We begin as usual by graphing the feasible region for the LP relaxation, determining the slope of the objective function lines, and moving a straight edge with this slope through this feasible region in the direction of improving values of the objective function. However, rather than stopping at the last instant the straight edge passes through this feasible region, we now stop at the last instant the straight edge passes through an integer point that lies within this feasible region. This integer point is the optimal solution.
12
Why integer programs? Advantages of restricting variables to take on integer values More realistic More flexibility Disadvantages More difficult to model Can be much more difficult to solve
13
Integer Programming When are “non-integer” solutions okay?
Solution is naturally divisible e.g., $, pounds, hours Solution represents a rate e.g., units per week Solution only for planning purposes When is rounding okay? When numbers are large e.g., rounding to 114 is probably okay. When is rounding not okay? When numbers are small e.g., rounding 2.6 to 2 or 3 may be a problem. Binary variables yes-or-no decisions Slides 9.50–9.65 are based upon a lecture from the MBA core-course in Management Science at the University of Washington (as taught by one of the authors).
14
Types of Integer Programming Problems
Pure integer programming problems are those where all the decision variables must be integers. Mixed integer programming problems only require some of the variables (the “integer variables”) to have integer values so the divisibility assumption holds for the rest (the “continuous variables”). Binary variables are variables whose only possible values are 0 and 1. Binary integer programming (BIP) problems are those where all the decision variables restricted to integer values are further restricted to be binary variables. Such problems can be further characterized as either pure BIP problems or mixed BIP problems, depending on whether all the decision variables or only some of them are binary variables.
15
Examples of Applications of Binary Variables
Making “yes-or-no” type decisions Build a factory? Manufacture a product? Do a project? Assign a person to a task? Logical constraints Alternative constraints Conditional constraints Representing non-linear functions Fixed Charge Problem If a product is produced, must incur a fixed setup cost. If a warehouse is operated, must incur a fixed cost. Piecewise linear representation Diseconomies of scale Approximation of nonlinear functions Set-covering, and set partitioning Make a set of assignments that “cover” a set of requirements. Partition a set into subsets meeting given requirements
16
StockCompany Example Capital Budgeting Allocation Problem
StockCompany is considering 6 investments. The cash required from each investment as well as the NPV of the investment is given next. The cash available for the investments is $14,000. Stockco wants to maximize its NPV. What is the optimal strategy? An investment can be selected or not. One cannot select a fraction of an investment.
17
Data for the StockCompany Problem
Investment budget = $14,000
18
Integer Programming Formulation
What are the decision variables? Objective and Constraints? Max 16x1+ 22x2+ 12x3+ 8x4+ 11x5+ 19x6 5x1+ 7x2+ 4x3+ 3x4+ 4x5+ 6x6 14 xj e {0,1} for each j = 1 to 6
19
Capital Budgeting Allocation Problem (one resource) Knapsack Problem
Why is a problem with the characteristics of the previous problem called the Knapsack Problem? It is an abstraction, considering the simple problem: A hiker trying to fill her knapsack to maximum total value. Each item she considers taking with her has a certain value and a certain weight. An overall weight limitation gives the single constraint. Practical applications: Project selection and capital budgeting allocation problems Storing a warehouse to maximum value given the indivisibility of goods and space limitations Sub-problem of other problems e.g., generation of columns for a given model in the course of optimization – cutting stock problem (beyond the scope of this course)
20
The previous constraints represent “economic indivisibilities”, either a project is selected, or it is not. There is no selecting of a fraction of a project. Similarly, integer variables can model logical requirements (e.g., if stock 2 is selected, then so is stock 1.)
21
How to model “logical” constraints
Exactly 3 stocks are selected. If stock 2 is selected, then so is stock 1. If stock 1 is selected, then stock 3 is not selected. Either stock 4 is selected or stock 5 is selected, but not both. Ask persons to spend 5 minutes modeling as many of these constraints as possible. The goal is to model constraints, so do not pay any attention to what the optimal solution is. After they have had 5 minutes let’s do this on the board.
22
Formulating Constraints
Exactly 3 stocks are selected x1+ x2+ x3+ x4+ x5+ x6=3 Sum (xi) = 3
23
If stock 2 is selected then so is stock 1
The integer programming constraint: A 2-dimensional representation Stock 2 Stock 1 x1 x2
24
If stock 1 is selected then stock 3 is not selected
The integer programming constraint: A 2-dimensional representation Stock 3 Stock 1 x1 + x3 1
25
Either stock 4 is selected or stock 5 is selected, but not both.
The integer programming constraint: A 2-dimensional representation stock 5 stock 4 x4 + x5 = 1
26
California Manufacturing Company
The California Manufacturing Company is a diversified company with several factories and warehouses throughout California, but none yet in Los Angeles or San Francisco. A basic issue is whether to build a new factory in Los Angeles or San Francisco, or perhaps even both. Management is also considering building at most one new warehouse, but will restrict the choice to a city where a new factory is being built. Question: Should the California Manufacturing Company expand with factories and/or warehouses in Los Angeles and/or San Francisco?
27
Data for California Manufacturing
Decision Number Yes-or-No Question Decision Variable Net Present Value (Millions) Capital Required (Millions) 1 Build a factory in Los Angeles? x1 $8 $6 2 Build a factory in San Francisco? x2 5 3 Build a warehouse in Los Angeles? x3 6 4 Build a warehouse in San Francisco? x4 Capital Available: $10 million Table 9.2 Data for the California Manufacturing Company problem.
28
Binary Decision Variables
Decision Number Decision Variable Possible Value Interpretation of a Value of 1 Interpretation of a Value of 0 1 x1 0 or 1 Build a factory in Los Angeles Do not build this factory 2 x2 Build a factory in San Francisco 3 x3 Build a warehouse in Los Angeles Do not build this warehouse 4 x4 Build a warehouse in San Francisco Table 9.3 Binary decision variables for the California Manufacturing Co. problem.
29
Algebraic Formulation
Let x1 = 1 if build a factory in L.A.; 0 otherwise x2 = 1 if build a factory in S.F.; 0 otherwise x3 = 1 if build a warehouse in Los Angeles; 0 otherwise x4 = 1 if build a warehouse in San Francisco; 0 otherwise Maximize NPV = 8x1 + 5x2 + 6x3 + 4x4 ($millions) subject to Capital Spent: 6x1 + 3x2 + 5x3 + 2x4 ≤ 10 ($millions) Max 1 Warehouse: x3 + x4 ≤ 1 Warehouse only if Factory: x3 ≤ x1 x4 ≤ x2 and x1, x2, x3, x4 are binary variables. Resource Availability Mutually exclusive decisions Contingent decisions
30
Using Excel Solver to Solve Integer Programs
Add the integrality constraints (or add that a variable is binary) Set the Solver Tolerance. (The tolerance is the percentage deviation from optimality allowed by solver in solving Integer Programs.) The default is 5% The default is way to high It often finds the optimum for small problems
31
Spreadsheet Model Figure 9.4 A spreadsheet formulation of the BIP model for the California Manufacturing case study where the changing cells, Build Factory? (C18:D18) and Build Warehouse? (C16:D16) give the optimal solution obtained by using the Excel Solver.
32
Mpl Model Max 8x1 + 5x2 + 6x3 + 4x4; subject to
BINARY x1; x2; x3; x4;
33
Sensitivity Analysis with Solver Table
Figure 9.5 An application of the Solver Table that shows the effect on the optimal solution and the resulting total net present value of systematically varying the amount of capital being made available for these investments.
34
Management’s Conclusion
Management’s initial tentative decision had been to make $10 million of capital available. With this much capital, the best plan would be to build a factory in both Los Angeles and San Francisco, but no warehouses. An advantage of this plan is that it only uses $9 million of this capital, which frees up $1 million for other projects. A heavy penalty (a reduction of $4 million in total net present value) would be paid if the capital made available were to be reduced below $9 million. Increasing the capital made available by $1 million (to $11 million) would enable a substantial ($4 million) increase in the total net present value. Management decides to do this. With this much capital available, the best plan is to build a factory in both cities and a warehouse in San Francisco.
35
Some Other Applications
Investment Analysis Should we make a certain fixed investment? Examples: Turkish Petroleum Refineries (1990), South African National Defense Force (1997), Grantham, Mayo, Van Otterloo and Company (1999) Site Selection Should a certain site be selected for the location of a new facility? Example: AT&T (1990) Designing a Production and Distribution Network Should a certain plant remain open? Should a certain site be selected for a new plant? Should a distribution center remain open? Should a certain site be selected for a new distribution center? Should a certain distribution center be assigned to serve a certain market area? Examples: Ault Foods (1994), Digital Equipment Corporation (1995)
36
Some Other Applications
Dispatching Shipments Should a certain route be selected for a truck? Should a certain size truck be used? Should a certain time period for departure be used? Examples: Quality Stores (1987), Air Products and Chemicals, Inc. (1983), Reynolds Metals Co. (1991), Sears, Roebuck and Company (1999) Scheduling Interrelated Activities Should a certain activity begin in a certain time period? Examples: Texas Stadium (1983), China (1995) Scheduling Asset Divestitures Should a certain asset be sold in a certain time period? Example: Homart Development (1987) Airline Applications: Should a certain type of airplane be assigned to a certain flight leg? Should a certain sequence of flight legs be assigned to a crew? Examples: American Airlines (1989, 1991), Air New Zealand (2001)
37
Modeling Fixed Charge Problems
If a product is produced, must incur a fixed setup cost. If a warehouse is operated, must incur a fixed cost. The problem is non-linear. x – quantity of product to be manufactured x = 0 cost =0; x > 0 cost = C1x + C2 How to model it? Using an indicator variable y y = 1 x is produced; y = 0 x is not produced Objective function becomes C1x + C2y Additional Constraint x ≤ My
38
Wyndor with Setup Costs (Variation 1)
Suppose that two changes are made to the original Wyndor problem: For each product, producing any units requires a substantial one-time setup cost for setting up the production facilities. The production runs for these products will be ended after one week, so D and W in the original model now represent the total number of doors and windows produced, respectively, rather than production rates. Therefore, these two variables need to be restricted to integer values.
39
Graphical Solution to Original Wyndor Problem
Figure 9.6 This graph summarizes the application of the graphical method to the original Wyndor problem.
40
Net Profit for Wyndor Problem with Setup Costs
Number of Units Produced Doors Windows 0(300) – 0 = 0 0 (500) – 0 = 0 1 1(300) – 700 = –400 1(500) – 1,300 = –800 2 2(300) – 700 = –100 2(500) – 1,300 = –300 3 3(300) – 700 = 200 3(500) – 1,300 = 200 4 4(300) – 700 = 500 4(500) – 1,300 = 700 5 Not feasible 5(500) – 1,300 = 1,200 6 6(500) – 1,300 = 1,700 Table 9.4 Net profit ($) for Variation 1 of the Wyndor Problem with Setup Costs
41
Feasible Solutions for Wyndor with Setup Costs
Optimal solution Figure 9.7 The dots are the feasible solutions for variation 1 of the Wyndor problem. Also shown is the calculation of the total net profit P (in dollars) for each corner point from the net profits given in Table 9.4.
42
Algebraic Formulation
Let D = Number of doors to produce, W = Number of windows to produce, y1 = 1 if perform setup to produce doors; 0 otherwise, y2 = 1 if perform setup to produce windows; 0 otherwise . Maximize P = 300D + 500W – 700y1 – 1,300y2 subject to Original Constraints: Plant 1: D ≤ 4 Plant 2: 2W ≤ 12 Plant 3: 3D + 2W ≤ 18 Produce only if Setup: Doors: D ≤ My1 Windows: W ≤ My2 and D ≥ 0, W ≥ 0, y1 and y2 are binary.
43
Spreadsheet Model Figure 9.8 A spreadsheet model for variation 1 of the Wyndor problem, where the Excel Solver gives the optimal solution shown in the changing cells, Units Produced (C14:D14) and Setup? (C17:D17).
44
Wyndor with Mutually Exclusive Products (Variation 2)
Suppose that now the only change from the original Wyndor problem is: The two potential new products (doors and windows) would compete for the same customers. Therefore, management has decided not to produce both of them together. At most one can be chosen for production, so either D = 0 or W = 0, or both.
45
Feasible Solution for Wyndor with Mutually Exclusive Products (for non-binary variables)
Figure 9.9 The dark line segments show the feasible solutions for variation 2 of the Wyndor problem with mutually exclusive products.
46
Algebraic Formulation
Let D = Number of doors to produce, W = Number of windows to produce, y1 = 1 if produce doors; 0 otherwise, y2 = 1 if produce windows; 0 otherwise. Maximize P = 300D + 500W subject to Original Constraints: Plant 1: D ≤ 4 Plant 2: 2W ≤ 12 Plant 3: 3D + 2W ≤ 18 Auxiliary variables must =1 if produce any: Doors: D ≤ My1 Windows: W ≤ My2 Mutually Exclusive: y1 + y2 ≤ 1 and D ≥ 0, W ≥ 0, y1 and y2 are binary.
47
Spreadsheet Model Figure 9.8 A spreadsheet model for variation 1 of the Wyndor problem, where the Excel Solver gives the optimal solution shown in the changing cells, Units Produced (C13:D13) and Setup? (C16:D16).
48
Wyndor with Either-Or Constraints (Variation 3)
Suppose that now the only change from the original Wyndor problem is: The company has just opened a new plant (plant 4) that is similar to plant 3, so the new plant can perform the same operations as plant 3 to help produce the two new products (doors and windows). However, management wants just one of the plants to be chosen to work on these new products. The plant chosen should be the one that provides the most profitable product mix.
49
Data for Wyndor with Either-Or Constraints (Variation 3)
Production Time Used for Each Unit Produced (Hours) Production Time Available per Week (Hours) Plant Doors Windows 1 4 2 12 3 18 28 Unit Profit $300 $500 Table 9.5 Data for variation 3 of the Wyndor problem with either-or constraints.
50
Graphical Solution with Plant 3 or Plant 4
Figure These two graphs for variation 3 of the Wyndor problem with either-or constraints show the linear programming problem and its optimal solution that would result if the plant chosen to help produce the two new products were (a) plant 3 or (b) plant 4.
51
Algebraic Formulation
Let D = Number of doors to produce, W = Number of windows to produce, y = 1 if plant 4 is used; 0 if plant 3 is used Maximize P = 300D + 500W subject to Plant 1: D ≤ 4 Plant 2: 2W ≤ 12 Plant 3: 3D + 2W ≤ 18 + My Plant 4: 2D + 4W ≤ 28 + M(1 – y) and D ≥ 0, W ≥ 0, y is binary.
52
Spreadsheet Model Figure A spreadsheet model for variation 3 of the Wyndor problem with either-or constraints, where the Excel Solver gives the optimal solution shown in the changing cells, Units Produced (C14:D14) and Which Plant To Use? (E16).
53
Applications of Binary Variables
Making “yes-or-no” type decisions Build a factory? Manufacture a product? Do a project? Assign a person to a task? Fixed costs If a product is produced, must incur a fixed setup cost. If a warehouse is operated, must incur a fixed cost. Either-or constraints Production must either be 0 or ≥ 100. Subset of constraints meet 3 out of 4 constraints. Slides 9.66–9.78 are based upon a lecture from the MBA elective “Modeling with Spreadsheets” at the University of Washington (as taught by one of the authors).
54
Special Kinds of Integer Programming Models
Knapsack Problem Set Covering Problem Set Partitioning Problem Set Packing Problem The Traveling Salesman Problem The Quadratic Assignment Problem
55
Set Covering Problem We are given a set of objects S = {1, 2, 3, …, n}. We are also given a set of subsets of S, S. Each subset has a cost associated with it. Problem: to “cover” all the members of S at the minimum cost using members of S. Properties: The problem is a minimization and all constraints are >=; All RHS coefficients are 1; All other matrix coefficients are 0 or 1.
56
Fire Station Problem Set Covering Problem
Locate fire stations so that each district has a fire station in it, or next to it. 1 2 3 5 6 7 Minimize the number of fire stations needed. 4 8 9 11 12 13 10 14 15 16
57
Representation as Set Covering Problem
Covers 1 2 3 1 1, 2, 4, 5 2 1, 2, 3, 5, 6 5 6 7 3 2, 3, 6, 7 4 8 9 11 12 13 10 16 13, 15, 16 14 15 16
58
Representation as Graph Cover Problem
Replace each district with a node. 1 2 3 4 5 6 7 8 9 11 10 12 14 15 13 16 Two nodes are adjacent if their districts are adjacent A node covers itself and its neighbors. Thus, node 16 covers nodes 13, 15, 16. What is the minimum size of a subset of nodes that covers all of the nodes? 16
59
Representation as Integer program
1 2 3 4 5 6 7 8 9 11 10 12 14 15 13 16 xj = 1 if node j is selected xj = 0 otherwise 1 7 11 15 Minimize x1 + x2 + … + x16 s.t. x1 + x2 + x4 + x5 1 x1 + x2 + x3 + x5 + x6 1 x13 + x15 + x16 1 xj {0, 1} for each j.
60
Southwestern Airways Crew Scheduling
Southwestern Airways needs to assign crews to cover all its upcoming flights. We will focus on assigning 3 crews based in San Francisco (SFO) to 11 flights. Question: How should the 3 crews be assigned 3 sequences of flights so that every one of the 11 flights is covered?
61
Southwestern Airways Flights
Figure The arrows show the 11 Southwestern Airways flights that need to be covered by the three crews based in San Francisco.
62
Data for the Southwestern Airways Problem
Feasible Sequence of Flights (pairings) Flights 1 2 3 4 5 6 7 8 9 10 11 12 1. SFO–LAX 2. SFO–DEN 3. SFO–SEA 4. LAX–ORD 5. LAX–SFO 6. ORD–DEN 7. ORD–SEA 8. DEN–SFO 9. DEN–ORD 10. SEA–SFO 11. SEA–LAX Cost, $1,000s Table 9.8 Data for example 3 (the Southwestern Airways problem).
63
Algebraic Formulation
Let xj = 1 if flight sequence (paring) j is assigned to a crew; 0 otherwise. (j = 1, 2, … , 12). Minimize Cost = 2x1 + 3x2 + 4x3 + 6x4 + 7x5 + 5x6 + 7x7 + 8x8 + 9x9 + 9x10 + 8x11 + 9x12 (in $thousands) subject to Flight 1 covered: x1 + x4 + x7 + x10 ≥ 1 Flight 2 covered: x2 + x5 + x8 + x11 ≥ 1 : : Flight 11 covered: x6 + x9 + x10 + x11 + x12 ≥ 1 Three Crews: x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11 + x12 ≤ 3 and xj are binary (j = 1, 2, … , 12). pairings
64
Spreadsheet Model Figure A spreadsheet formulation of the BIP model for the Southwestern Airways crew scheduling problem, where Fly Sequence? (C22:N22) shows the optimal solution obtained by the Excel Solver.
65
Set Covering Problem We are given a set of objects S = {1, 2, 3, …, n}. We are also given S, a set of subsets of S. Each subset has a cost associated with it. Problem: to “cover” all the members of S at the minimum cost using members of S. Properties: The problem is a minimization and all constraints are >=; All RHS coefficients are 1; All other matrix coefficients are 0 or 1.
66
Some Comments on IP models
There are often multiple ways of modeling the same integer program. Solvers for integer programs are extremely sensitive to the formulation. (not true for LPs)
67
Example constraint A: 2x1 + 2x2 + … + 2x50 51
constraint B: x1 + x2 + … + x50 25 assume that x is binary constraints C: x1 y, x2 y, …, x50 y (where y is binary) constraint D: x1 + … + x50 50 y B dominates A, C dominates D It is not obvious why, until you see the algorithms.
68
Summary on Integer Programming
Dramatically improves the modeling capability Economic indivisibilities Logical constraints Modeling nonlinearities (e.g., fixed cost) classical problems in capital budgeting and in supply chain management Lots of other applications and models Not as easy to model Not as easy to solve.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.