Linear Programming Example A manufacturing process for a steel casting requires two steps: Casting in the foundry and Heat Treating. The foundry has a daily capacity of 20,000# of steel The heat treater can handle 900 cubic feet of material per day. The foundry makes only two products, A and B. Product A weighs 40#/unit and occupies 1.5 ft3 Product B weighs 33 1/3 #/unit and occupies 6 ft3 Product A has a net profit of $ 2/unit, and Product B has a net profit of $ 4/unit. How much of each product should we plan to make? If we wanted to expand production, where is the bottleneck?
Putting the data into a Table: Process Foundry Heat Treater Unit profit A 40 1.5 2.00 B 33.333 6 4.00 Capacity 20,000 # 900 cu ft
Equations: Maximize 2A + 4B, subject to 1) 40A + 33.333B 20,000 or 40A + 33.333B + S1 = 20,000 2) 1.5A + 6B 900 or 1.5A + 6B + S2 = 900 3) all variables 0 Where S1 and S2 are “Slack” variables. They represent unused capacities.
MAX 2 A + 4 B SUBJECT TO 2) 40 A + 33.333 B <= 20000 3) 1.5 A + 6 B <= 900 END LP OPTIMUM FOUND AT STEP 2
OBJECTIVE FUNCTION VALUE 1) VARIABLE A B ROW 2) 3) 1073.68500 VALUE 473.684500 31.578870 SLACK OR SURPLUS .000000 .000000 REDUCED COST .000000 .000000 DUAL PRICES .031579 .491230
The first lines were produced by the command : Look All The value of the objective function is given next. The two products together will make $1,073.69 in profit. No other combination will give a larger one and still meet all the constraints. The next block lists the variables in the program in the order that they were introduced. The value column tells what their values are in the optimum solution. If a value is zero, it will not appear in the optimum mix. The column headed “Reduced Cost” will usually be zero if the variable is in solution (has a non-zero value). If it has a value of zero, the reduced cost column will give a positive number telling you how much its cost must be reduced (price increased) in order to bring it into the optimum solution at a non-zero level. Also, if one more unit were forced into solution without changing any of the objective function coefficients, the objective function would be harmed by the amount shown.
In a few, unusual situations, the variable will be in solution with a positive value and the reduced cost will be a negative number. This happens in complex problems in which the variable of interest appears in two or more equations, one of which is likely to be an exact equality. The various equations effectively limit the variable in an indirect way such that if one more unit could be added to solution, the objective would improve by the amount reported by the reduced cost. Conversely, if the reduced cost is a positive number, the reduction of one unit would improve the objective function. The final block looks at the effects of the RHS constraints and gives the values of the slack (and surplus) variables. If a constraining equation is not active in constraining the solution it will have a positive value for the slack variable. This tells you how much of that constraint remains unused. A slack value of zero says that the equation does limit the optimum solution. The “Dual Price” column tells you how much the objective function will improve if the RHS constraint is relaxed by one unit. This is the maximum amount of money you would pay to obtain one more unit of that resource constraint. If the equation is an exact equality describing a physical relationship that cannot be violated (volume into a pipe =volume out the other end) the dual price information is meaningless. Sensitivity information describes the range of values over which these prices and costs are valid. We will not go into this in this class.