Está en la página 1de 22

Chapter 5

Modeling with Linear Programming


5.1 Introductory Example
SilComputers makes quarterly decisions about their product mix. While their full product line includes hundreds of products, we will consider a simpler problem with just two products: notebook computers and desktop computers. SilComputers would like to know how many of each product to produce in order to maximize pro t for the quarter. There are a number of limits on what SilComputers can produce. The major constraints are as follows: 1. Each computer either notebook or desktop requires a Processing Chip. Due to tightness in the market, our supplier has allocated 10,000 such chips to us. 2. Each computer requires memory. Memory comes in 16MB chip sets. A notebook computer has 16MB memory installed so needs 1 chip set while a desktop computer has 32MB so requires 2 chip sets. We received a great deal on chip sets, so have a stock of 15,000 chip sets to use over the next quarter. 3. Each computer requires assembly time. Due to tight tolerances, a notebook computer takes more time to assemble: 4 minutes versus 3 minutes for a desktop. There are 25,000 minutes of assembly time available in the next quarter. Given current market conditions, material cost, and our production system, each notebook computer produced generates $750 pro t, and each desktop produces $1000 pro t. There are many questions SilComputer might ask. The most obvious are such things as How many of each type computer should SilComputer produce in the next quarter?" What is the maximum pro t SilComputer can make?" Less obvious, but perhaps of more managerial interest are How much should SilComputer be willing to pay for an extra memory chip set?" What is the e ect of losing 1,000 minutes of assembly time due to an unexpected machine failure?" How much pro t would we need to make on a 32MB notebook computer to justify its production?" Linear programming gives us a mechanism for answering all of these questions quickly and easily. There are three steps in applying linear programming: modeling, solving, and interpreting.

5.1.1 Modeling

We begin by modeling this problem. Modeling a problem using linear programming involves writing it in the language of linear programming. There are rules about what you can and cannot do within 57

58

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING

linear programming. These rules are in place to make certain that the remaining steps of the process solving and interpreting can be successful. Key to a linear program are the decision variables, objective, and constraints. Decision Variables. The decision variables represent unknown decisions to be made. This is in contrast to problem data, which are values that are either given or can be simply calculated from what is given. For this problem, the decision variables are the number of notebooks to produce and the number of desktops to produce. We will represent these unknown values by x1 and x2 respectively. To make the numbers more manageable, we will let x1 be the number of 1000 notebooks produced so x1 = 5 means a decision to produce 5000 notebooks and x2 be the number of 1000 desktops. Note that a value like the quarterly pro t is not in this model a decision variable: it is an outcome of decisions x1 and x2 . Objective. Every linear program has an objective. This objective is to be either minimized or maximized. This objective has to be linear in the decision variables, which means it must be the sum of constants times decision variables. 3x1 , 10x2 is a linear function. x1 x2 is not a linear function. In this case, our objective is to maximize the function 750x1 + 1000x2 what units is this in?. Constraints. Every linear program also has constraints limiting feasible decisions. Here we have four types of constraints: Processing Chips, Memory Sets, Assembly, and Nonnegativity. In order to satisfy the limit on the number of chips available, it is necessary that x1 + x2  10. If this were not the case say x1 = x2 = 6, the decisions would not be implementable 12,000 chips would be required, though we only have 10,000. Linear programming cannot handle arbitrary restrictions: once again, the restrictions have to be linear. This means that a linear function of the decision variables must be related to a constant, where related can mean less than or equal to, greater than or equal to, or equal to. So 3x1 , 2x2  10 is a linear constraint, as is ,x1 + x3 = 6. x1x2  10 is not a linear constraint, nor is x1 + 3x2 3. Our constraint for Processing Chips x1 + x2  10 is a linear constraint. The constraint for memory chip sets is x1 + 2x2  15, a linear constraint. Our constraint on assembly can be written 4x1 + 3x2  25, again a linear constraint. Finally, we do not want to consider decisions like x1 = ,5, where production is negative. We add the linear constraints x1  0, x2  0 to enforce nonnegativity of production. Final Model. This gives us the complete model of this problem: Maximize Subject to 750x1 + 1000x2

x1 + x2 x1 + 2x2 4x1 + 3x2 x1 x2

    

10 15 25 0 0

Formulating a problem as a linear program means going through the above process to clearly de ne the decision variables, objective, and constraints.

5.1.2 Solving the Model

Models are useful in their own right: they allow for a formal de nition of a problem and can be useful in thinking about a problem. Linear programming models are particularly useful, however, because it is easy to have a computer solve for the optimal decision values.

5.1. INTRODUCTORY EXAMPLE

59

For a model with only two variables, it is possible to solve the problem without a computer by drawing the feasible region and determining how the objective is optimized on that region. We go through that process here. The purpose of this exercise is to give you intuition and understanding of linear programming models and their solution. In any real application, you would use a computer to solve even two variable problems we outline how to use Excel's Solver routine to nd solutions in the next section. We can represent a model with two variables by labeling the axes of a graph with each of the variables. The entire graph then represents possible decisions. Constraints are represented by lines on the graph, with the feasible region lying on one side of the line. The following gure illustrates this with the constraint x1 + x2  10.

x2
10 8 6 4 2

x1 + x2  10

10

x1

Figure 5.1: Single Constraint We can continue this process and add in all of the constraints. Since every constraint must be satis ed, the resulting feasible region is the intersection of the feasible region for each constraint. This is shown in the following gure. Note that just graphing the model gives us information we did not have before. It seems that the Chip constraint x1 + x2  10 plays little role in this model. This constraint is dominated by other constraints. Now, how can we nd the optimal solution? We can include the objective function on this diagram by drawing iso-pro t lines: lines along which the pro t is the same. Since our goal is to maximize the pro t, we can push the isopro t line out until moving it any further would result in no feasible point see diagram, z represents pro t. Clearly the optimal pro t occurs at point X . What are the variable values at point X . Note that X is the intersection of the constraints:

60

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING

x2
10 8 6 4 2

x1 + x2  10

4x1 + 3x2  25
2 4 6 8

x1 + 2x2  15 x1

10

Figure 5.2: All Constraints

x2
10 8 X 6 4 2

z=6000 z=3000
2 4

x1 + x2  10

4x1 + 3x2  25
6 8

x1 + 2x2  15 x1

10

Figure 5.3: Finding Optimal Pro t

5.1. INTRODUCTORY EXAMPLE x1 + 2x2 = 15 4x1 + 3x2 = 25

61

We discussed in the previous section how to solve such equations: the solution here is x1 = 1 and x2 = 7. The optimal decision is to produce 1,000 notebooks and 7,000 desktops, for a pro t of $7,750,000.

5.1.3 Using Solver


Rather than the somewhat tedious and error-prone graphical method which is limited to linear programs with 2 variables, special computer programs can be used to nd solutions to linear programming models. The most widespread program is undoubted Solver, included in all recent versions of the Excel spreadsheet program. Solver, while not a state of the art code which can cost upwards of $15,000 per copy is a reasonably robust, easy-to-use tool for linear programming. Solver uses standard spreadsheets together with an interface to de ne variables, objective, and constraints to de ne a linear program. It is di cult to describe in words how to create a Solver spreadsheet, so we will do one or two in class. Here is a brief outline and some hints and shortcuts: We will start with a spreadsheet that has all of the data entered in some reasonably neat way. We will create the model in a separate part of the spreadsheet. We will have one cell for each variable. Solver will eventually put the optimal values in each cell. We will have a single cell to represent the objective. We will enter a formula that represents the objective. This formula must be a linear formula, so it must be of the form: cell1*cell1'+cell2*cell2'+: : : , where cell1, cell2 and so on contain constant values and cell1', cell2' and so are the variable cells. Helpful Hint: Excel has a function sumproduct that is designed for linear programs. sumproducta1..a10,b1..b10 is identical to a1*b1+a2*b2+a3*b3+: : : +a10*b10. This function will save much time and aggravation. All that is needed is that the length of the rst range is the same as the length of the second range so one can be horizontal and the other vertical. Helpful Hint: It is possible to assign names to cells and ranges under the Insert-Name menu. Rather than use a1..a10 as the variables, you can name that range var for example and then use var wherever a1..a10 would have been used. We then have a cell to represent the left hand side of each constraint again a linear function and another cell to represent the right hand side a constant. We then select Solver under the Tools menu. This gives a form to ll out to de ne the linear program. In the Set Cell" box, select the objective cell. Choose Maximize or Minimize. In the By Changing Cells", put in the range containing the variable cells.

62

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING


We next add the constraints. Press the Add..." button to add constraints. The dialog box has three parts for the left hand side, the type of constraint, and the right hand side. Put the cell references for a constraint in the form, choose the right type, and press Add". Continue until all constraints are added. On the nal constraint, press OK". We need to explicitly include nonnegativity constraints. Helpful Hint: It is possible to include ranges of constraints, as long as they all have the same type. c1..e1 = c3..e3 means c1 = c3, d1 = d3, e1 = e3. a1..a10 = 0 means each individual cell must be greater than or equal to 0. Push the options button and toggle the Assume Linear Model" in the resulting dialog box. This tells Excel to call a linear rather than a nonlinear pgrogramming routine so as to solve the problem more e ciently. This also gives you sensitivity ranges, which are not available for nonlinear models. Push the Solve button. In the resulting dialog box, select Answer" and Sensitivity". This will put the answer and sensitivity analysis in two new sheets. Ask Excel to Keep Solver values", and your worksheet will be updated so that the optimal values are in the variable cells.

5.2 Second Example: Market Allocations


MegaMarketing is planning a concentrated one week advertising campaign for their new CutsEverything SuperKnife. The ads have been designed and produced and now they wish to determine how much money to spend in each advertising outlet. In reality, they have hundreds of possible outlets to choose from. We will illustrate their problem with two outlets: Prime-time TV, and newsmagazines. The problem of optimally spending advertising dollars can be formulated in many ways. For instance, given a xed budget, the goal might be to maximize the number of target customers reached a target customer is a customer with a reasonable chance of purchasing the product. An alternative approach, which we adopt here, is to de ne targets for reaching each market segment and to minimize the money spent to reach those targets. For this product, the target segments are Teenage Boys, A uent Women ages 40-49, and Retired Men. Each minute of primetime TV and page of newsmagazine advertisement reaches the following number of people in millions: Outlet Boys Women Men Cost TV 5 1 3 600 Mag 2 6 3 500 Target 24 18 24 Again, MegaMarketing is interested in straightforward answers like how many units of each outlet to purchase to meet the segment goals. They are also interested in such questions as How much will it cost to reach an extra million retired men?", One radio spot reaches 1 million boys, 1 million women, and 1 million men: how much are we willing to pay for such a spot?", and similar questions.

5.2. SECOND EXAMPLE: MARKET ALLOCATIONS

63

5.2.1 Modeling

The process of modeling using linear programming is fairly consistent: de ne the decision variables, objective, and constraints. Decision Variables. In this case, the decision variables are the number of units of each outlet to purchase. Let x1 be the number of TV spots, and x2 the number of magazine pages. Objective. Our objective is to minimize the amount we spend: 600x1 + 500x2. Constraints. We have one constraint for each market segment: we must be certain that we reach su cient people of each segment. For boys, this corresponds to the constraint: 5x1 + 2x2  24 Similar constraints for the other segments gives us the full formulation as: Minimize Subject to 600x1 + 500x2 5x1 + 2x2  24 x1 + 6x2  18 3x1 + 3x2  24 x1  0 x2  0

Since this model has only two variables, we can solve the problem in two ways: graphically and using SOLVER with SOLVER being much easier. We start by solving this graphically. The rst step is to graph the feasible region, as given in the following gure:

5.2.2 Solving the Model

5x1 + 2x2  24
10

x2

8 6 4 2

3x1 + 3x2  24
x1 + 6x2  18
2 4 6 8 10 12

x1
Figure 5.4: Marketing example

64

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING

The next step is to put some iso-cost lines on the diagram: lines representing points that have the same cost. We mark the optimal point with an X .

5x1 + 2x2  24
10

x2

8 6 X 4 2

z = 6000000

3x1 + 3x2  24
x1 + 6x2  18
2 4 6 8 10 12

x1
Figure 5.5: Marketing example with Isocost Line X is the intersection of the constraints: 5x1 + 2x2 = 24 3x1 + 3x2 = 24 The optimal solution is x1 = 2:67 and x2 = 5:33

5.2.3 Using Solver


The SOLVER model for this problem is on the course web pages.

5.3 Common Features


Hidden in our models of these problems are a number of assumptions. The usefulness of a model is directly related to how close reality matches up with these assumptions. The rst assumption is due to the linear form of our functions. Since the objective is linear, the contribution to the objective of any decision variable is proportional to the value of the decision variable. Producing twice as much of a product produces twice as much pro t; buying twice as many pages of ads costs twice as much. This is the Proportionality Assumption. Furthermore, the contribution of a variable to the objective is independent of the values of the other variables. One notebook computer is worth $750, independent of how many desktop computers we produce. This is the Additivity Assumption.

5.4. LINEAR PROGRAMMING MODELS

65

Similarly, since each constraint is linear, the contribution of each variable to the left hand side of each constraint is proportional to the value of the variable and independent of the values of any other variable. These assumptions are quite restrictive. We will see, however, that clever modeling can handle situations that may appear to violate these assumptions. The next assumption is the Divisibility Assumption: it is possible to take any fraction of any variable. Rethinking the Marketing example, what does it mean to purchase 2.67 television ads? It may be that the divisibility assumption is violated in this example. Or, it may be that the units are such that 2.67 ads" actually corresponds to 2666.7 minutes of ads, in which case we can round o " our solution to 2667 minutes with little doubt that we are getting an optimal or nearly optimal solution. Similarly, a fractional production quantity may be worisome if we are producing a small number of battleships or be innocuous if we are producting millions of paperclips. If the Divisibility Assumption is important and does not hold, then a technique called integer programming rather than linear programming is required. This technique takes orders of magnitude more time to nd solutions but may be necessary to create realistic solutions. You will learn more about this in 45-761. The nal assumption is the Certainty Assumption: linear programming allows for no uncertainty about the numbers. An ad will reach the given number of people; the number of assembly hours we give will certainly be available. It is very rare that a problem will meet all of the assumptions exactly. That does not negate the usefulness of a model. A model can still give useful managerial insight even if reality di ers slightly from the rigorous requirements of the model. For instance, the knowledge that our chip inventory is more than su cient holds in our rst model even if the proportionality assumptions are not satis ed completely.

5.4 Linear Programming Models


Linear programming models are found in almost every eld of business and beyond!. The next sections go through a number of problems, showing how to model them by the appropriate choice of decision variables, objective, and constraints. In all cases, we will describe the problem and give a model. Solver worksheets for each of these is available on the web page.

5.4.1 Diet Problem


Problem De nition
What is the perfect diet? An ideal diet would meet or exceed basic nutritional requirements, be inexpensive, have variety, and be pleasing to the palate". How can we nd such a diet? Suppose the only foods in the world are as follows: Energy Protein Calcuim Price Limit Food Serving Size kcal g mg cents serving servings day Oatmeal 28g 110 4 2 3 4 Chicken 100g 205 32 12 24 3 Eggs 2 Large 160 13 54 13 2 Whole Milk 237cc 160 8 285 9 8 Cherry Pie 170g 420 4 22 20 2 Pork&Beans 260g 260 14 80 19 2

66

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING

After consulting with nutitionists, we decree that a satisfactory diet has at least 2000 kcal of energy, 55 g of protein, and 800 mg of calcium vitamins and iron are supplied by pills. While some of us would be happy to subsist on 10 servings of pork and beans, we have decided to impose variety by having a limit on the number of servings day for each of our six foods. What is the least cost satisfactory diet?

Problem Modeling
First we decide on decision variables. Let us label the foods 1, 2, : : : 6, and let xi represent the number of servings of food i in the diet. Our objective is to minimize cost, which can be written 3x1 + 24x2 + 13x3 + 9x4 + 20x5 + 19x6 We have constraints for energy, protein, calcuim, and for each serving day limit. This gives the formulation: Minimize Subject to 3x1 + 24x2 + 13x3 + 9x4 + 20x5 + 19x6 110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6  2000 4x1 + 32x2 + 13x3 + 8x4 + 4x5 + 14x6  55 2x1 + 12x2 + 54x3 + 285x4 + 22x5 + 80x6  800 x1  4 x2  3 x3  2 x4  8 x5  2 x6  2 xi  0 for all i

Discussion
The creation of optimal diets was one of the rst uses of linear programming. Some di culties with linear programming include di culties in formulating palatability" requirements, and issues of divisibility no one wants to eat half a green bean. These linear programming models do give an idea on how much these palatability requirements are costing.

5.4.2 Workforce Planning


Problem De nition.
Consider a restaurant that is open seven days a week. Based on past experience, the number of workers needed on a particular day is given as follows: Day Mon Tue Wed Thu Fri Sat Sun Number 14 13 15 16 19 18 11 Every worker works ve consecutive days, and then takes two days o , repeating this pattern inde nitely. How can we minimize the number of workers that sta the restaurant?

5.4. LINEAR PROGRAMMING MODELS

67

Model.
A natural and wrong! rst attempt at this problem is to let xi be the number of people working on day i. Note that such a variable de nition does not match up with what we need to nd. It does us no good to know that 15 people work Monday, 13 people Tuesday, and so on because it does not tell us how many workers are needed. Some workers will work both Monday and Tuesday, some only one day, some neither of those days. Instead, let the days be numbers 1 through 7 and let xi be the number of workers who begin their ve day shift on day i. Our objective is clearly:

x1 + x2 + x3 + x4 + x5 + x6 + x7
Consider the constraint for Monday's sta ng level of 14. Who works on Mondays? Clearly those who start their shift on Monday x1 . Those who start on Tuesday x2  do not work on Monday, nor do those who start on Wednesday x3. Those who start on Thursday x4  do work on Monday, as do those who start on Friday, Saturday, and Sunday. This gives the constraint:

x1 + x4 + x5 + x6 + x7  14
Similar arguments give a total formulation of: Minimize Subject to

Pi xi
       
14 13 15 16 19 18 11 0 for all i

x1 + x4 + x5 + x6 + x7 x1 + x2 + x5 + x6 + x7 x1 + x2 + x3 + x6 + x7 x1 + x2 + x3 + x4 + x7 x1 + x2 + x3 + x4 + x5 x2 + x3 + x4 + x5 + x6 x3 + x4 + x5 + x6 + x7 xi

Discussion.
Workforce modeling is a well developed area. Note that our model has only one type of shift, but the model is easily extended to other types of shifts, with di ering shift costs.

5.4.3 Financial Portfolio


Problem De nition.
In your nance courses, you will learn a number of techniques for creating optimal" portfolios. The optimality of a portfolio depends heavily on the model used for de ning risk and other aspects of nancial instruments. Here is a particularly simple model that is amenable to linear programming techniques. Consider a mortgage team with $100,000,000 to nance various investments. There are ve categories of loans, each with an associated return and risk 1-10, 1 best:

68

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING

Loan investment Return  Risk First Mortgages 9 3 Second Mortgages 12 6 Personal Loans 15 8 Commercial Loans 8 2 Government Securities 6 1 Any uninvested money goes into a savings account with no risk and 3 return. The goal for the mortgage team is to allocate the money to the categories so as to: a Maximize the average return per dollar b Have an average risk of no more than 5 all averages and fractions taken over the invested money not over the saving account. c Invest at least 20 in commercial loans d The amount in second mortgages and personal loans combined should be no higher than the amount in rst mortgages. Let the investments be numbered 1: : : 5, and let xi be the amount invested in investment i. Let xs be the amount in the savings account. The objective is to maximize 9x1 + 12x2 + 15x3 + 8x4 + 6x5 + 3xs subject to

Model

x1 + x2 + x3 + x4 + x5 + xs = 100; 000; 000:

Now, let's look at the average risk. Since we want to take the average over only the invested amount, a direct translation of this constraint is 3x1 + 6x2 + 8x3 + 2x4 + x5  5 x1 + x2 + x3 + x4 + x5 This constraint is not linear, but we can cross multiply, and simplify to get the equivalent linear constraint:

,2x1 + x2 + 3x3 , 3x4 , 4x5  0


Similarly we need

x4  0:2x1 + x2 + x3 + x4 + x5
or

,0:2x1 , 0:2x2 , 0:2x3 + 0:8x4 , 0:2x5  0


The nal constraint is

x2 + x3 , x1  0
Together with nonnegativity, this gives the entire formulation.

5.4. LINEAR PROGRAMMING MODELS

69

Discussion
Optimal portfolios do not just happen: they must be calculated, and there is a constant interplay between models and solvability. Linear programming models provide great modeling power with a great limit: the handling of risk must be done in a linear fashion like our Risk factors here. Other models you will see in nance will look at the co-variance of returns between investments, a fundamentally nonlinear e ect. This can give rise to nonlinear models like those that try to minimize variance subject to return requirements. It is very di cult to embed idiosyncratic constraints like c and d here in such models.

5.4.4 Production over Time


Problem Description
Many problems are multiperiod, where a series of decisions have to be made over time. For instance, in our very rst SilComputer example, production decisions for computers have to be made with the future in mind. In this example, it would be easy to work with both desktop and notebook computers but let's work just with notebook computers. SilComputer needs to meet the demand of its largest corporate and educational customers for notebook computers over the next four quarters before its current model becomes obsolete. SilComputer currently has 5,000 notebook computers in inventory. Expected demand over the next four quarters for its notebook is 7,000; 15,000; 10,000; and 8,000. SilComputer has su cient capacity and material to produce up to 10,000 computers in each quarter at a cost of $2000 per notebook. By using overtime, up to an additional 2,500 computers can be produced at a cost of $2200 each. Computers produced in a quarter can be used either to meet that quarter's demand, or be held in inventory for use later. Each computer in inventory is charged $100 to re ect carying costs. How should SilComputer meet its demand for notebooks at minimum cost?

Modeling.
The decisions seem to be how many of each computer to produce in each period at regular time, how many to produce at overtime, and how much inventory to carry in each period. Let's denote our time periods t = 1; 2; 3; 4. Let xt be the number of notebooks produced in period t at regular time and yt be the number of notebooks produced in period t at overtime. Finally, let it be the inventory at the end of period t. Look at the rst quarter: how are these variables restricted and related? Clearly we need x1  10000 and y1  2500. Now, anything that starts as inventory or is produced in the period must either be used to meet demand or ends up as inventory at the end of period 1. This means: 5000 + x1 + y1 = 7000 + i1 For period 2, in addition to the upper bounds, we get the constraint

i1 + x2 + y2 = 15000 + i2
For period 3, we get

i2 + x3 + y3 = 10000 + i3

70

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING i3 + x4 + y4 = 8000 Our objective charges 2000 for each x, 2200 for each y , and 100 for each i:

and for period 4 assuming no inventory at the end:

2000x1 + 2000x2 + 2000x3 + 2000x4 + 2200y1 + 2200y2 + 2200y3 + 2200y4 + 100i1 + 100i2 + 100i3

Discussion.
The constraints tracking where production goes are known as conservation constraints, and model the requirement that production never disappears. Whenever you have multiple types of variables in a formulation, be certain to think about whether there are necessary constraints that link them. We are going to manage an investment portfolio over a 6-year time horizon. We begin with $1000, and at various times we can invest in one or more of the following: Savings account X, annual yield 5. Security Y, 2-year maturity, total yield 12 if bought now, 11 thereafter. Security Z, 3-year maturity, total yield 18. Security W, 4-year maturity, total yield 24. To keep things simple we will assume that each security can be bought in any denomination. This assumption can be relaxed if one uses integer or dynamic programming . We can make savings deposits or withdrawals anytime. We can buy Security Y any year but year 3. We can buy Security Z anytime after the rst year. Security W, now available, is a one-time opportunity. We let xt be the amount of money invested in the savings account X at the beginning of year t, and similarly for yt, zt, and wt. We will put any money not tied up in securities into the savings account. The situation is summed up in the gure. The problem is really a kind of inventory problem. In a given year, the amount of money carried forward from the previous year in savings, plus the yield from securities that mature that year, equals the amount invested in new securities plus the amount of money left over for next year. There is one twist: inventory grows while in storage. In real inventory problems, stock often decreases over time due to spoilage, etc., and this can be re ected in negative interest" rates. Let v be the nal yield when all securities are cashed in at the end of the sixth year. Then if the objective is to maximize nal yield, the LP is, max v s.t. x1 + y1 + w1 = 1000 x2 + y2 + z2 = 1:05x1 x3 + z3 = 1:05x2 + 1:12y1 x4 + y4 + z4 = 1:05x3 + 1:11y2 x5 + y5 = 1:05x4 + 1:18z2 + 1:24w1 x6 = 1:05x5 + 1:11y4 + 1:18z3 v = 1:05x6 + 1:11y5 + 1:18z4; xt; yt; zt; wt  0

5.4.5 Investing over Time

5.4. LINEAR PROGRAMMING MODELS

71

x1 y1

5 12

x2

x3

x4

x5 y5

x6

y2 z2

11 18
z3

11 18

y4

11

w1

18
Figure 5.6: Possible investments over a 6-year horizon

z4

24

72

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING


The nal assets come to $1387.6, an average annual yield of 5.61

Modeling is an art, and it takes practice. The following examples show the variety of problems that can be attacked by linear programming, and give you the opportunity to try your hand at some problems. Exercise 44 A plant produces two types of refrigerators, A and B. There are two production lines, one dedicated to producing refrigerators of Type A, the other to producing refrigerators of Type B. The capacity of the production line for A is 60 units per day, the capacity of the production line for B is 50 units per day. A requires 20 minutes of labor whereas B requires 40 minutes of labor. Presently, there is a maximum of 40 hours of labor per day which can be assigned to either production line. Pro t contributions are $20 per refrigerator of Type A produced and $30 per Type B produced. What should the daily production be? Solve graphically and by Solver. Exercise 45 Albert, Bill, Charles, David, and Edward have gotten into a bind. After a series of nancial transactions, they have ended up each owing some of the others huge amounts of money. In fact, near as the lawyers can make out, the debts are as follows Debtor Creditor Amount $millions A E 10 A C 3 B A 5 C B 6 C D 4 D A 4 E C 7 E D 3 The question is, who is bankrupt? We will say that a person i is bankrupt if there is no possible transfer of funds among the people such that i completely pays o his obligations, and the transfer of funds satis es the following condition: for every two persons j and k, the amount paid by person j to person k is no greater than the debt of j to k. For instance, Albert is bankrupt since he owes 10, and is only owed 9. Formulate the problem of determining whether Bill is bankrupt as a linear program. Then modify your formulation to determine if each of the others is bankrupt. This example may look contrived, but it is inspired by a solution to the debts involved in a crash of Kuwait's al-Mankh stock market. Exercise 46 Due to an unexpected glut of orders, Blaster Steel has decided to hire temporary workers for a ve day period to clear out the orders. Each temporary worker can work either a two day shift or a three day shift for this period shifts must be consecutive days. At least 10 workers are needed on days 1, 3, 5, and at least 15 workers are needed on days 2 and 4. A worker on a two day shift gets paid $125 day, while those on a three day shift gets paid $100 day. a Formulate the problem of hiring temporary workers to minimize cost while meeting the demand for workers. b Due to a limited number of training personnel, no more than 10 workers can start their shift on any day. Update your formulation in a to take this into account. c Union regulations require that at least half of all money spent on workers go to those who work three day shifts. Update your formulation in a to handle this requirement.

5.4.6 Problems

5.4. LINEAR PROGRAMMING MODELS

73

d There are four people who are willing to work a shift consisting of days 1, 2, and 5, for a payment of $110 day. Update your formulation in a to handle this possibility. savings account with annual yield of 5. You will sell the securities when they reach maturity. Security 1 matures after 2 years with a total yield of 12. Security 2 matures after 3 years with a total yield of 19. Your planning horizon is 7 years, and you want to maximize total assets at the end of the seventh year. Suppose either security may be purchased in arbitrarily small denominations. a Let xit be the amount invested in Security i at the beginning of year t; the savings account can be considered Security 0. Write the appropriate LP model. b Solve the problem by computer and indicate your optimal portfolio in each year 1,...,7. manufacturing processes. Process 1 requires 2 hours of labor and 1 lb. of raw material to produce 2 oz. of A and 1 oz. of B . Process 2 requires 3 hours of labor and 2 lb. of raw material to produce 3 oz. of A and 2 oz. of B . Sixty hours of labor and 40 lb. of raw material are available. Chemical A sells for $16 per oz. and B sells for $14 per oz. Formulate a linear program that maximizes Chemco's revenue. Hint: De ne the amounts of Process 1 and Process 2 used, as your decision variables.

Exercise 47 You have $1000 to invest in Securities 1 and 2; uninvested funds are deposited in a

Exercise 48 Chemco produces two chemicals: A and B. These chemicals are produced via two

Exercise 49 Gotham City National Bank is open Monday-Friday from 9 am to 5 pm. From past

experience, the bank knows that it needs the following number of tellers. Time Period Tellers Required 9 , 10 4 10 , 11 3 11 , noon 4 noon , 1 6 1,2 5 2,3 6 3,4 8 4,5 8 The bank hires two types of tellers. Full-time tellers work 9-5 ve days a week, except for 1 hour o for lunch, either between noon and 1 pm or between 1 pm and 2 pm. Full-time tellers are paid including fringe bene ts $25 hour this includes payment for lunch hour. The bank may also hire up to 3 part-time tellers. Each part-time teller must work exactly 4 consecutive hours each day. A part-time teller is paid $20 hour and receives no fringe bene ts. Formulate a linear program to meet the teller requirements at minimum cost.

Exercise 50 Sales forecasts for the next four months are in thousand of units:

October 10 November 16 December 10 January 12 September's production was set at 12,000 units. Varying production rate incurs some cost: production can be increased from one month to the next at a cost of $2 per unit and it can be

74

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING

decreased at a cost of $0.50 per unit. In addition, inventory left at the end of a month can be stored at a cost of $1 per unit per month. Given current demand, there will be no inventory at the end of September. No inventory is desired at the end of January. Formulate a linear program that minimizes the total cost varying production rate + inventory costs of meeting the above demand.

Exercise 51 An oil company blends gasoline from three ingredients: butane, heavy naphta and

catalytic reformate. The characteristics of the ingredients as well as minimum requirements for regular gasoline are given below: Catalytic Heavy Butane Reformate Naphta Gasoline Octane 120 100 74  89 Vapor Pressure 60 2:5 4:0  11 Volatility 105 3 12  17 The cost per gallon of butane is $0.58, it is $1.55 for catalytic reformate and $0.85 for heavy naphta. How many gallons of the three ingredients should be blended in order to produce 12,000 gallons of gasoline at minimum cost? life of these plants is 30 years for the coal- red plants plants 1, 2 and 3 and 40 years for the fuel- red plants plants 4, 5 and 6. Plants 1, 2 and 4 will be on line in year 5. Plants 3 and 5 in year 15. Plant 6 in year 25. The cost of installing generating capacity at Plant i, discounted to the present, is ci per megawatt, for i = 1; 2; : : :; 6. Projected power demand in year t is Dt megawatts, for t = 10; 20; 30; 40: Due to environmental regulations, the fraction of generating capacity at coal- red plants in year t, relative to total generating capacity in year t, can be at most rt for t = 10; 20; 30; 40. The generating capacity of each plant has yet to be determined. Write a linear program that assigns capacities to the six plants so as to minimize total present cost of installing generating capacity, while meeting demand and satisfying the environmemtal constraints in years t = 10; 20; 30; 40: scrap metal to use in manufacturing an alloy casting. Pure steel costs $300 per ton and scrap $600 per ton larger because the impurities must be skimmed o . The customer wants at least 5 tons but will accept a larger order, and material loss in melting and casting is negligible. You have 4 tons of steel and 7 tons of scrap to work with, and the weight ratio of scrap to pure cannot exceed 7 8 in the alloy. You are allotted 18 hours melting and casting time in the mill; pure steel requires 3 hrs per ton and scrap 2 hrs per ton. a Write a linear programming model for the problem assuming that the objective is to minimize the total steel and scrap costs. b Graph the problem obtained in a. c Solve the problem in a using Solver and indicate the optimal values of x1, x2. What is the weight ratio of scrap to pure steel?

Exercise 52 An electric utility has six power plants on the drawing board. The anticipated useful

Exercise 53 Wagner You must decide how many tons x1 of pure steel and how many tons x2 of

Exercise 54 Wagner An airline must decide how many new ight attendants to hire and train

over the next six months. The sta requirements in person- ight-hours are respectively 8000, 9000, 7000, 10,000, 9000, and 11,000 in the months January through June. A new ight attendant is

5.4. LINEAR PROGRAMMING MODELS

75

trained for one month before being assigned to a regular ight and therefore must be hired a month before he or she is needed. Each trainee requires 100 hours of supervision by experienced ight attendants during the training month, so that 100 fewer hours are available for ight service by regular ight attendants. Each experienced ight attendant can work up to 150 hours a month, and the airline has 60 regular ight attendants available at the beginning of January. If the maximum time available from experienced ight attendants exceeds a month's ying and training requirements, they work fewer hours, and none are laid o . At the end of each month, 10 of the experienced ight attendants quit their jobs. An experienced ight attendant costs the company $1700 and a trainee $900 a month in salary and bene ts. a Formulate the problem as a linear programming model. Let xt be the number of ight attendants that begin training in month t. Hint. Let yt be the number of experienced ight attendants available in month t; also let x0 = 0, y1 = 60. The problem is really an inventory problem, with two kinds of stock: trainees and experienced employees. The holding costs" are the salaries, and the demands are the number of ight hours needed. Spoilage" is attrition of experienced sta . b Solve the model with Solver and indicate the solution value for the xt's and yt's. Exercise 55 Wagner A lumber company operates a sawmill that converts timber to lumber or plywood. A marketable mix of 1000 board feet of lumber products requires 1000 board feet of spruce and 4000 board feet of Douglas r. Producing 1000 square feet of plywood requires 2000 board feet of spruce and 4000 board feet of r. The company's timberland yields 32,000 board feet of spruce and 72,000 board feet of r each season. Sales commitments require that at least 5000 board feet of lumber and 12,000 board feet of plywood be produced during the season. The pro t contributions are $45 per 1000 board feet of lumber and $60 per 1000 square feet of plywood. a Express the problem as a linear programming model. b Graph the problem and indicate the optimal solution on the graph. Exercise 56 Wagner An electronics rm manufactures radio models A, B and C, which have pro t contributions of 16, 30 and 50 respectively. Minimum production requirements are 20, 120 and 60 for the three models, respectively. A dozen units of Model A requires 3 hours for manufacturing of components, 4 for assembling, and 1 for packaging. The corresponding gures for a dozen units of Model B are 3.5, 5, and 1.5, and for Model C are 5, 8, and 3. During the forthcoming week the company has available 120 plant-hours for manufacturing components, 160 for assembly, and 48 for packaging. Formulate this production planning problem as a linear programming problem. Exercise 57 Wagner Process 1 in an oil re nery takes a unit feed of 1 bbl barrel of crude oil A and 3 bbl of crude B to make 50 gallons gal of gasoline X and 20 gal of gasoline Y. From a unit feed of 4 bbl crude A and 2 bbl crude B, process 2 makes 30 gal of X and 80 gal of Y. Let xi be the number of units of feed type i; e.g., x1 = 1 indicates that process 1 uses 1 bbl crude A and 3 bbl crude B. There are 120 bbl of crude A available and 180 bbl of crude B. Sales commitments call for at least 2800 gal of gasoline X and 2200 gal of Y. The unit pro ts of process 1 and 2 are p1 and p2, respectively. Formulate an LP model.

76

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING

available for today's ights. A type 1 craft can carry 45 tons, type 2, 7 tons and type 3, 5 tons. 20 tons of cargo are to be own to city A and 28 tons to city B. Each plane makes at most one ight a day. The costs of ying a plane from the terminal to each city are as follows. Type 1 Type 2 Type 3 City A 23 15 1.4 58 20 3.8 City B Let xi be the number of type i planes sent to A and yi the number to B. Formulate an LP for this routing problem.

Exercise 58 Wagner An air cargo rm has 8 aircraft of type 1, 15 of type 2 and 11 of type 3

Exercise 59 Wagner A manufacturing rm produces widgets and distributes them to ve whole-

salers at a xed delivered price of $2.50 per unit. Sales forecasts indicate that monthly deliveries will be 2700, 2700, 9000, 4500 and 3600 widgets to wholesalers 1-5 respectively. The monthly production capacities are 4500, 9000 and 11,250 at plants 1, 2 and 3, respectively. The direct costs of producing each widget are $2 at plant 1, $1 at plant 2 and $1.80 at plant 3. The transport cost of shipping a widget from a plant to a wholesaler is given below. Wholesaler 1 2 3 4 5 Plant 1 .05 .07 .11 .15 .16 Plant 2 .08 .06 .10 .12 .15 Plant 3 .10 .09 .09 .10 .16 Formulate an LP model for this production and distribution problem. upstream of the latter. The level of Watts Bar Lake must be kept within limits for recreational purposes, and the problem is to plan releases from Ft. Loudoun to do so. In reality this problem is solved simultaneously for numerous dams covering an entire watershed, but we focus on a single reservoir. There are also sophisticated models for predicting runo into the reservoirs, but we will suppose that runo is negligible. Thus any water entering Watts Bar Lake must be released through Ft. Loudoun Dam. The planning period is 20 months. During month t, let xt be the average water level of Watts Bar Lake before augmentation by water from Ft. Loudoun; x1 = 25. Let yt be the number of feet added to the average level in month t from Ft. Loudoun. Lt and Ut are the lower and upper bounds on the lake level in month t more restrictive in summer. To model seepage, evaporation and hydroelectric release through Watts Bar Dam we suppose that Watts Bar Lake begins month t+1 at a level equal to .75 times the average level of the previous month including the augmentation from Ft. Loudoun. The cost of water from Ft. Loudoun Lake is ct for every foot added to the level of Watts Bar. Formulate the appropriate LP model. In reality the model is a huge nonlinear program. are three ways this toaster can be produced: manually, semi-automatically, and robotically. Manual assembly requires 1 minute of skilled labor, 40 minutes of unskilled labor, and 3 minutes of assembly room time. The corresponding values for semiautomatic assembly are 4, 30, and 2; while those for robotic assembly are 8, 20, and 4. There are 4500 minutes of skilled labor, 36,000 minutes of unskilled labor, and 2700 minutes of assembly room time available for this product. The

Exercise 60 Wagner Ft. Loudoun and Watts Bar are two large hydroelectric dams, the former

Exercise 61 Red Dwarf Toasters needs to produce 1000 of their new Talking Toaster". There

5.4. LINEAR PROGRAMMING MODELS

77

total cost for producing manually is $7 toaster; semiautomatically is $8 toaster; and robotically is $8.50 toaster. a Formulate the problem of producing 1000 toasters at minimum cost meeting the resource requirements. Clearly de ne your variables, objective and constraints. b Our union contract states that the amount of skilled labor time used is at least 10 of the total labor unskilled plus skilled time used. Update your formulation in a to handle this requirement. c Any unused assembly oor time can be rented out at a pro t of $0.50 minute. Update your formulation to include this possibility. Answers to Exercise 61: a Let x1 be the number of toasters produced manually, x2 be the number produced semiautomatically, and x3 be the number produced robotically. The objective is to Minimize 7x1 + 8x2 + 8:5x3. The constraints are: x1 + x2 + x3 = 1000 produce enough toasters x1 + 4x2 + 8x3  4500 skilled labor used less than or equal to amount available. 40x1 + 30x2 + 20x3  36000 unskilled labor constraint 3x1 + 2x2 + 4x3  2700 assembly time constraint x1  0; x2  0; x3  0 nonnegativity of production b Add a constraint x1 + 4x2 + 8x3  :141x1 + 34x2 + 28x3 c Add a variable sa to represent the assembly time slack. Add +0:5sa to the objective. Change the assembly time constraint to 3x1 + 2x2 + 4x3 + sa = 2700 assembly time constraint sa  0

78

CHAPTER 5. MODELING WITH LINEAR PROGRAMMING