2 Linear programming Learning objectives After finishing this chapter, you should be able to: formulate a linear programming model for a given problem; solve a linear programming model with two decision variables graphically; solve linear programming models using Ecel s Solver; understand the information provided in a sensitivity analysis; and understand how primal and dual problems relate to each other. Theory in action Since the late 194s, linear programming models have been used for many different purposes. Airline companies apply these models to optimise their use of planes and staff. NASA has been using them for many years to optimise their use of limited resourses. Oil companies use them to optimise their refinery operations. Small and medium-sized businesses use linear programming to solve a huge variety of problems, often involving resource allocation. Typical optimisation problems maimise or minimise the value of a given variable (such as profit, total costs, etc.) when other specified variables (production capacity, required product quantities, etc.) are constrained. The field of mathematical program ming includes a number of optimisation methods, each described by a mathematical model. In such a model, there is one epression the objective function that should be maimised or minimised (or in some cases set to a desired value). In addition, the model must include constraints that are described by mathematical epressions. 5
Chapter 2 Linear programming The most widely used models include only linear relationships, and belong to the field of linear programming. In such models both the objective function and the constraints are linear mathematical epressions. Let s illustrate this with an eample: Sygitron, a television manufacturer, has decided to produce and sell two different types of TV sets, one small (product 1) and one big (product 2). They assume that product 1 will give a profit of $3 per unit and product 2 a profit of $5 per unit. Sygitron has one production plant with four departments: moulding, soldering, assembly and inspection. Each TV set is processed in sequence through these four departments. Each department has a limited capacity given by a maimum number of working hours per year. We assume Sygitron can sell all the TV sets they are able to produce (the market is not a restriction). The problem to be solved is that Sygitron wants to maimise its total profit by finding the optimal use of its limited production capacity. To find out how this should be done, we need to know both how many production hours each TV set uses in each department, and the total capacity of each department. This information is shown in Table 2.1. Table 2.1 Time consumption and capacity in Sygitron departments Dept. Hours used by one unit of product 1 Hours used by one unit of product 2 Capacity in hours per year Moulding 1 5 4 Soldering 1 1 Assembly 2 Inspection 2 5 5 At this point, with all necessary information provided, we can formulate the problem as a mathematical model. First, we define the decision variables: number of product 1 produced per year (small TV sets). 2 number of product 2 produced per year (big TV sets). Net, we formulate the objective function, which is given the symbol Z. In this case, we need an equation for calculating the total profit per year: Z 3 5 2 Total profit per year is (profit per unit of product 1) (number of product 1 produced per year) (profit per unit of product 2) (number of product 2 produced 6
Graphical solution of a maimisation problem per year). The objective is to maimise Z without eceeding the capacity of any of the four depart ments. These capacities are formulated as mathematical epressions called constraints: Moulding Soldering Assembly Inspection + 5 4 + 12 2 + 2 2 + 5 5 (2.1) The last equation for the inspection department says that the time used per year, which is (2 hours per unit of product 1) (number of product 1 per year) (5 hours per unit of product 2) (number of product 2 per year), must not eceed the limit of 5 hours. In addition, you must remember that the decision variables have their own constraints. Since it is impossible to produce a negative number of products, and 2 are required. Now the entire mathematical model can be presented: Maimise Constraints: Moulding Soldering Assembly Z = 3 + 5 1 2 + 5 4 2 + 12 + 2 Inspection 2 + 5 5, (2.2) The objective is to find the maimum value of Z, subject to the given constraints. How should this be done? The answer is by using a computer program. This subject will be discussed in Section 2.3. First, to help you to understand the theory of linear program ming better, we will study a graphical solution of this problem. 2.1 Graphical solution of a maimisation problem When mathematical programming is used to solve genuine problems, models usually contain many variables, sometimes more than fifty. Therefore, computer solutions are the only viable way to go in real life. The problem described by equation 2.2 contains only two variables, and 2. In such a simple eample, it is possible to show all equa tions involving 2 as functions of in a coordinate system. If we rewrite the constraints in equation 2.2 as equations, we obtain the following capacity lines: 7
Chapter 2 Linear programming Moulding Soldering Assembly Inspection + 5 = 4 + = 12 2 + = 2 2 + 5 = 5 (2.3) These equations epress the linear combinations of and 2 that occupy the maimum capacities in each of the four departments. The capacity lines are shown in Figure 2.1. The constraints in equation 2.2 tell us that the values of and 2 must lie below all of the capacity lines. These capacity lines, and the constraints, 2, define a feasible region shown as the shaded area in Figure 2.2. Combinations of and 2 within the fea sible region are the only ones possible. In this case the feasible region is defined by only three capacity lines and, 2. Note that the inspection department s capacity is not fully used for any combination of and 2. 2 1 8 Assembly Moulding Inspection Soldering 6 4 2 2 4 6 8 1 Figure 2.1 Capacity lines for Sygitron departments 2 1 8 Moulding 6 Soldering 4 2 2 Feasible region Figure 2.2 Feasible region for Sygitron 4 6 8 1 Assembly Now, the challenge is to find the combina tion of and 2 within the feasible region that maimises the objective function (maimises total profit): 8 Z 3 5 2
Graphical solution of a maimisation problem For a given value of Z, this equation epresses linear combinations of and 2. In our eample we may call this a profit line, but the general name is objective function line. In Figure 2.3 the objective function line for Z $2 is drawn. The line lies within the feasible region and illustrates all combinations of and 2 that gives a total profit of $2. A higher value of Z gives an objective function line at a higher level as shown for Z $3. 2 1 8 6 Optimal solution 4 2 2 Z = $3 Z = $2 Figure 2.3 Optimal solution for Sygitron 4 6 8 1 The figure shows that objective function lines represent higher values for the objec tive function as the lines are displaced parallel to each other at higher levels. But the optimal solution must be a part of the feasible region. Figure 2.3 shows that as we move the objective function line outwards, the last contact with the feasible region is the cor ner point made up between the two capacity lines for the moulding and the soldering departments. The optimal solution is given by the two equations: Moulding Soldering + 5 = 4 = 5 1 + = 12 = 7 2 Optimal total profit is calculated from the objective function: Z 3 5 5 7 $5 At this point we realise that the optimal solution is dependent both on the feasible region and the objective function. If the slope of the objective function line changes, we may get a new optimal solution. In our eample the slope is 3/5: } (2.4) 3 Z Z = 3 + 5 = + 2 1 5 5 (2.5) If profit changes to $5 per unit for product 1 and to $2 per unit for product 2, the objective function line changes to: 5 Z Z = 5 + 2 = + 2 1 2 2 (2.6) 9
Chapter 2 Linear programming With this slope the optimal solution will be 1 and 2, as indicated by the dot ted line in Figure 2.3. When a computer solves a linear programming problem, it starts somewhere in the feasible region and searches for the optimal solution. For the straightforward eamples in this book, such searches will end up in one of the corner points of the feasible region. The particular corner chosen depends on whether the objective function should be maimised or minimised. We can then solve the problem by calculating Z for the corner points of the feasible region (Figure 2.4). The result will still be corner point 2 with Z $5. Z = $ 3 + $ 5 8 = $ 4 1 Z = $ 3 5 + $ 5 7 = $ 5 2 Z = $ 3 8 + $ 5 4 = $ 44 3 Z = $ 3 1 + $ 5 = $ 3 4 Z = $ 3 + $ 5 = $ 5 2 1 8 1 2 6 4 3 2 5 2 Figure 2.4 Corners of the feasible region 4 6 8 1 4 2.2 Irregular problems Linear programming problems can in some cases show discrepancies. Let s take a look at some of them. Multiple optimal solutions In Figure 2.3 we saw that the optimal solution was determined by the slope of the objective function line. If this slope is identical to the slope of a constraint line, an interesting situation occurs. Let s assume that profit per unit is $5 for both products. The objective function line can then be written: Z Z = 5 + 5 = + 2 1 5 (2.7) 1
Irregular problems The slope is 1. Figure 2.5 shows that when we move the objective function line outwards, the last contact between the feasible region and the objective function line is the line between corner points 2 and 3. This makes sense since the slope of the capacity line for the soldering department is also 1: + = = + 2 1 (2.8) 2 1 8 6 4 2 2 Moulding 2 Figure 2.5 Multiple optimal solutions Soldering 3 Assembly 4 6 8 1 The conclusion must be that all combinations of and 2 on the line between corner points 2 and 3 are optimal solutions, and give the same maimum value of Z. We come to the same conclusion when applying the method illustrated in Figure 2.4. Corner points 2 and 3 give the same optimal solutions: Z 2 $5 5 $5 7 $6 Z 3 $5 8 $5 4 $6 Redundancy If you compare Figure 2.1 and Figure 2.2, you will see that capacity in the inspection department is not a constraint in this problem. As a redundant constraint, it has no influence on the feasible region and can not be part of an optimal solution. Regardless of the optimal solution, the inspection department will always have some free capacity. Infeasibility Infeasibility occurs when no solution satisfies all of the model s constraints. In other words, no feasible region eists. We get such a situation if we add the constraint 2 1 to our Sygitron eample. If we look at Figure 2.2, it is obvious that not all the constraints can be satisfied at the same time. 11
Chapter 2 Linear programming Unboundedness Some problems might not have enough constraints to define one specific optimal solution. Assume the following objective function and constraints: Maimise Z = 1 + 1 Constraints: 5 + 2 2 + 2 8, (2.9) Figure 2.6 illustrates that since the objective function should be maimised, and the constraints are of the category, Z approaches infinity. This means that no optimal solution eists for this problem. The solution is unbounded. 2 1 8 Z = 1 + 1 2 6 4 2 2 Figure 2.6 Unbounded problem 4 6 8 1 2.3 Computer solutions Linear programming problems should generally be solved by a computer (Section 2.1 is included solely for pedagogic reasons). Many software manufacturers offer linear programming packages, for instance AIMMS, AMPL, GAMS, LINDO, XA and XPRESS. This book demonstrates eamples in Ecel only. Computer software solves problems in mathematical programming by applying different algorithms. For a simple linear programming problem, like the eample in Section 2.1, a computer would use the simple method. The various algorithms for mathematical programming problem solving will not be discussed in this book. The eample in Section 2.1 could be solved by using a graphical method, since it involved only two decision variables. Imagine a problem with five decision variables. It would be impossible to solve such a problem graphically since it would involve drawing a figure in five dimensions! The only practical alternative is to use a computer. 12
Computer solutions Let us re-eamine the simple eample earlier in the chapter and study an Ecel solution. The mathematical model and the Ecel spreadsheet are shown in Figure 2.7. The cells B5 and C5 are reserved for the values of and 2. In cells B6 and C6 we write the parameters for the objective function (profit per unit). Cell D6 contains a formula for the objective function, B6*B5 C6*C5. Linear programming models usually include more than two decision variables. To avoid unreasonably long formulas, we use the Ecel standard function SUMPRODUCT. Maimise Z = 3 + 5 Constraints: + 5 4 1 + 2 + 2 2 + 5 5, 2 Figure 2.7 Ecel spreadsheet for a linear programming model Our intention is to tell Ecel to maimise the value in cell D6 by changing the values in cells B5 and C5. Before this can be done, however, the constraints must be included. For the moulding department constraint, we write the parameters for and 2 in cells B9 and C9 respectively. The formula SUMPRODUCT (B9:C9;$B$5:$C$5) is then written in cell D9. In cell F9 we write 4 which is 13
Chapter 2 Linear programming the right side of the constraint. Constraints for the other three departments are included in a similar manner. (We use the $-sign in this manner in order to copy the formula correctly to the cells D1 D12.) We are ready to solve the problem. If you use an old version of Ecel, bring down the Tools window from the toolbar and select Solver. In Ecel 27, choose the Data -flag and select Solver. The Solver dialogue bo will now appear as shown in Figure 2.8. Cell D6, containing the formula for the objective function, should be defined as the target cell. Then click Ma to indicate that the value of the objective function should be maimised. You want Ecel to do this by changing cells B5:C5. Insert those references as shown in the figure. Figure 2.8 Solver Parameters dialogue bo To include the constraints click Add. A new dialogue bo for adding constraints appears as shown in Figure 2.9. Insert the cell reference for the left side of the constraint under Cell Reference, and the cell reference for the right side of the constraint under Constraint. This can be done one constraint at a time. In this case, where all constraints are of the same type, all cell references can Figure 2.9 Add Constraint dialogue bo 14
Computer solutions be put in simultaneously as shown in the figure. Go back to the Solver Parameter dialogue bo by clicking OK. Before solving the problem we must activate the options dialogue bo by clicking Options. An options dialogue bo like that in Figure 2.1 appears. Click Assume Linear Model and Assume Non-Negative. The second action is made to add the two constraints, 2. (These constraints can also be added in the constraint adding dialogue bo.) Click OK. Figure 2.1 Solver Options dialogue bo Solver now has all the necessary information to solve the problem. Click Solve in the Solver Parameter dialogue bo. The Solver Results dialogue bo appears, as shown in Figure 2.11. In this dialogue bo you can click and request three different reports. The sensitivity report is the most essential, and will be discussed further in Section 2.6. Click OK to activate. Figure 2.11 Solver Results dialogue bo 15
Chapter 2 Linear programming The solution of the problem results in the return of the value 5 in cell B5 and of 7 in cell C5 (see Figure 2.7). This is consistent with the result from Section 2.1. 2.4 Graphical solution of a minimisation problem For some problems the aim is to minimise the value of the objective function. One eample is minimisation of total costs. Let s consider the following problem: Minimise Constraints: A B Z = 2 + + 6 + 4 12 C + 2 1, (2.1) The constraints are of the two categories and. This results in the feasible region shown in Figure 2.12. 2 8 6 4 A C Feasible region 2 B 2 4 6 8 1 12 Figure 2.12 Feasible region In a minimisation problem the objective function lines are displaced parallel to each other at lower levels as Z is minimised. Figure 2.13 shows that as the objective function line is moved inwards, the last contact with the feasible region is corner point 1. The optimal solution is given by the intersection between the constraint lines A and C: A + = 6 = 2 1 (2.11) C + 2 = 1 = 4 2 The problem can also be solved by calculating Z for the three corner points of the feasible region. Corner point 1 represents the minimum of the objective function: } 16
Slack variables Z 1 2 2 4 8 Z 2 2 4 2 1 Z 3 2 8 1 17 2 8 z = 16 z = 12 6 z = 8 4 1 2 3 2 2 4 6 8 Figure 2.13 Optimal solution for a minimisation problem 2.5 Slack variables The graphical solution in Section 2.1 showed that the optimal solution, 5 and 2 7, was given by the capacities in the moulding and soldering departments (see Figure 2.3). These constraints are then said to be binding since their capacities are fully utilised. The rest of the constraints are not binding, which means they have unused capacity. Capacity left over in the four departments can be calculated as the difference between available and used capacity: Moulding 4 ( 5 + 5 7)= Soldering ( 5 + 7)= Assembly 2 ( 2 5 + 7)= 3 Inspection 5 ( 2 5 + 5 7)= 5 (2.12) The unused capacity for a particular constraint is often referred to as its slack. The slack of the four constraints in our eample can also be read from the answer report shown in Figure 2.14. Figure 2.14 Answer report 17
Chapter 2 Linear programming The unused capacity in a constraint is often referred to as a slack variable. When all the slack variables are symbolised with S i, the mathematical model can be epressed in standard form: Maimise 3 + 5 + S + S + S + S 3 4 Constraints: Moulding + 5 + S = 4 1 Soldering + + S = 2 Assembly 2 + + S = 2 3 Inspection 2 + 5 + S = 5 4,, S, S, S, S 3 4 (2.13) In the objective function all slack variables are given zero as coefficients, since unused capacity makes no contribution to profit. In the minimisation problem of Section 2.4 the optimal solution was given by constraints A and C (equation 2.1). Constraint B was of the type, a condition that was more than fulfilled. Such constraints are termed surplus variables and are defined as the ecess above the minimum requirement. At the optimal solution the left side of the constraint is 4 2 2 4 4 18, which is 6 more than the constraint of 12. The value of the surplus variable is then 6. Surplus variables and slack variables must have opposite signs. The minimisation eample (equation 2.1) on a standard form will be: Minimise Constraints: A B C 2 + + S + S + S 1 3 + 2 1 2 3 1 S = 6 + 4 S = 12 + 2 + S = 1,, S, S 2,S 3 (2.14) 2.6 Sensitivity analysis Sensitivity analysis is the study of how changes in model parameters affect the optimal solution. In Ecel this information is provided in the sensitivity report. Let s take a closer look at some of the effects of various parameter changes. Objective function coefficient ranges For our eample, we saw in Figure 2.3 that the optimal solution was given by the slope of the objective function line. With the given slope: 18
Sensitivity analysis 3 Z Z = 3 + 5 = + 2 1 5 5 (2.15) the solution was determined by the intersection between the two capacity lines for the moulding and soldering departments: 1 + 5 = 4 = + 8 2 1 5 + = = + 2 1 (2.16) As long as the slope for the objective function line lies between the slopes for these two capacity lines, the optimal solution will not change (see Figure 2.15). Assume that the slope of the objective function line is given by the following coefficients and that the objective function line can be formulated as: C Z C C C Z 1 = + = + 1 1 2 2 2 1 5 2 (2.17) 2 1 8 6 4 2 1 2 MouldingSoldering 2 Feasible region 3 4 6 8 1 Figure 2.15 Ranges for one objective function coefficient If we insist that the slope for the objective function line lies between the slopes for the two capacity lines, the following requirement must be fulfilled: C 1 1 C 1 1 1 1 C 5 5 C 2 2 (2.18) If one coefficient is held constant, let s say C 2 5, the epression can be written: 1 C1 1 1 C 5 1 5 5 (2.19) This means that in the objective function Z C 1 5 2, the value C 1 must be kept between 1 and 5 to keep the optimal solution in corner point 2 (Figure 2.15). If C 1 moves outside these limits, a new optimal solution will occur. 19
Chapter 2 Linear programming If C 1 1, the optimal solution changes to corner point 1 with and 2 8. If C 5, the optimal solution changes to corner point 3 with 1 1 8 and 2 4. If we go through the same procedure for C 2, we find the following limits: 3 C 2 1 5 In Ecel, the sensitivity report tells how much the objective function coefficients can change without affecting the optimal solution. As shown in Figure 2.16, the limits for the coefficients are presented as objective coefficients with allowable increases and decreases. The limits for C 2 can be calculated as 5 2 3 and 5 1 15. Figure 2.16 Sensitivity report Reduced costs The sensitivity report in Figure 2.16 also includes reduced costs for the two objective function coefficients. A reduced cost tells us how much an objective function coefficient must be improved before the corresponding decision variable gets a value different from zero. In our eample, and 2 have values different from zero, and both reduced costs are. If we change the objective function in our eample to: Z 8 5 2 then the optimal solution will be and 2 8. (Try this yourself.) The sensitivity analysis will then show a reduced cost 2 for the objective coefficient of. The objective coefficient in this eample is profit and is shown as a negative value when presented as a cost. Profit per unit must be increased by $2 for product 1 to make it profitable. 2
Sensitivity analysis Shadow prices From Figures 2.1 2.3, 2.3, it is obvious that capacity changes in the moulding or soldering department will result in new optimal solutions. We understand that any increased capacity in one of these departments will increase maimum profit. Let us assume that capacity in the soldering department is increased by 1 hours per year to a total of 1 3 hours per year. The new capacity line for this department will be: 2 1 3 As indicated in Figure 2.17, the feasible region epands. As the objective function line is moved outwards, a new optimal solution is defined by the two capacity lines for the moulding and soldering departments: Moulding Soldering + 5 = 4 = 625 1 + = 13 = 675 2 } (2.2) 2 1 Objective function line New capacity line for soldering department 8 6 New optimal solution 4 2 2 4 6 8 1 Figure 2.17 New optimal solution for Sygitron Total profit will be: Z $3 625 $5 675 $525 This represents an increase of $25 compared to a total profit per year of $5 using the old capacity in the soldering department. A capacity increase of 1 hours per year in the soldering department results in a total profit increase of $25. Profit increase per hour capacity increase is: $ 25 $ 25 hour 1 hours 1 (2.21) Since one hour capacity increase results in $25 profit increase, we are willing to pay up to $25 for one hour capacity increase in the soldering department. The shadow price for the soldering department is then $25. 21
Chapter 2 Linear programming The sensitivity report in Figure 2.16 indicates that shadow prices for the assembly and inspection departments are. This is obvious, since these constraints are not binding, and the departments have unused capacity. Increased capacity has no value for these departments. Ecel defines a shadow price as the amount by which the objective function value changes when the corresponding constraints right side increases by one unit. For the minimisation problem in Section 2.4 shadow prices for the two binding constraints 2 6 and 2 2 1 will be 3 and 1, respectively, in the Ecel sensitivity report. If the right side of the constraint is increased from 6 to 7, Z moves in the same direction, and increases from 8 to 11. If the right side of the constraint is increased from 1 to 11, Z moves in the opposite direction, and is reduced from 8 to 7. Other software may use other conventions for the signs of shadow prices. Irrespective of software, the following definition should always lead to a proper interpretation. The absolute value of a shadow price indicates the amount by which the objective function will be improved when the corresponding constraint is lessened by one unit. A constraint is lessened by decreasing its right side, and a constraint is lessened by increasing its right side. Constraint quantity value ranges As capacity in the soldering department is increased, the capacity line is displaced outwards and new optimal solutions occur (Figure 2.17). If this capacity is increased sufficiently, the soldering department will get free capacity (and shadow price ). As illustrated in Figure 2.18, this constraint will no longer be binding and the optimal solution will be given by the intersection of the capacity lines for the moulding and assembly departments. Another aspect of the sensitivity analysis is to show precisely how much these constraints can change before these new situations arise. The sensitivity report in Figure 2.16 indicates the range for each constraint, telling how much the constraint can be changed in both directions before its 2 1 Objective function line Soldering 8 6 Moulding 4 2 2 Assembly 4 6 8 1 Figure 2.18 New optimal solution for Sygitron 22
Duality shadow price changes. This is presented as Constraint R.H. Side with Allowable Increase and Allowable Decrease. For the soldering department the range is defined by the two values: 4 8 133 1 333 The two corner points defined by these two limits are illustrated in Figure 2.19. 2 1 Objective function line Soldering 8 Moulding 6 4 2 2 Assembly 4 6 8 1 Figure 2.19 Constraint quantity value ranges for the soldering department In the original optimal solution (Figure 2.3) the assembly department is not binding. It does not define the optimal solution and has a shadow price. The sensitivity report in Figure 2.16 indicates that the range of this constraint is between 1 7 hours and infinity. This is obvious. An increase in capacity will never alter the situation because the assembly department is not binding in the first place. On the other hand, if capacity is reduced to 1 7 hours, the constraint will become binding. Other forms of sensitivity analysis Other changes in a model that affect the value of the objective function must be investigated manually in Ecel. These include changes of parameter values on the left side of a constraint, additional constraints, additional decision variables, etc. To study these effects, you need to solve the problem again after introducing any changes. 2.7 Duality Every linear programming problem, called a primal problem, can be converted into a dual problem. Let s return to the Sygitron eample and denote this as the primal problem: 23
Chapter 2 Linear programming Maimise Constraints: Moulding Soldering Assembly Z = 3 + 5 1 2 + 5 4 2 + 12 + 2 Inspection 2 + 5 5, (2.22) This primal problem can be converted into a dual problem. The dual problem appears when we rotate the primal problem a half turn around a diagonal and imaginary ais going upwards to the right. The decision variables in the dual problem are designated by u 1,..., u 4. Minimise Z = 4u + u + 2 u + 5u Constraints: Product 1 Product 2 3 4 u + u + 2u + 2u 3 3 4 5u + u + u + 5u 5 3 u, u, u, u 3 4 4 (2.23) We notice that the values on the right side of the constraints in the primal problem 2.22, turn into parameters in the objective function in the dual problem 2.23. The parameters 1, 1, 2 and 2 before at the left side of the constraints in the primal problem, turns into the left-side parameters for the first constraint in the dual problem. The second constraint in the dual problem is formulated in a similar manner from the parameters before 2 at the left side of the constraints in the primal problem. Since 2.23 is the dual problem of 2.22, then 2.22 is the dual problem of 2.23. The number of decision variables in the dual problem is always equal to the number of constraints in the primal problem, and vice versa. If the primal is a maimisation problem, the dual will be a minimisation problem, and vice versa. The primal problem 2.22 is a maimisation problem with constraints of the type and decision variables that are equal to or greater than zero. Such a problem is said to be in canonical form (standard form). The corresponding dual problem 2.23 is also in canonical form, which results in constraints of the type. We will not eplain why this is so, but rather refer to more comprehensive tetbooks such as Dantzig and Thapa. If the primal problem has a bounded solution, the dual problem will have a corresponding solution. The value of the objective functions will be the same for the solutions of the primal and the dual problem. For these solutions, the values of the decision variables in the dual problem equals the shadow prices in the primal problem, and vice versa. This means that finding the optimal solution of the dual problem is the same as finding the optimal use of available resources. In 24
Duality optimal solutions, slack in constraints in the dual problem equals reduced costs in the decision variables of the primal problem, and vice versa. Sensitivity reports for the primal problem 2.22 and the dual problem 2.23 are given in Figure 2.16 and Figure 2.2 respectively. The two reports are summarised in Table 2.2. In optimal solutions, the decision variables in the dual problem have the same values as the shadow prices in the primal problem, and vice versa. In Figure 2.2, the slack for a constraint is calculated as Constraint R.H. Side minus Final Value. Table 2.2 also shows that slack for constraints in the primal problem equals reduced costs in the dual problem, and vice versa. Figure 2.2 Sensitivity report for the Sygitron dual problem Table 2.2 Results for the primal and dual problem of the Sygitron eample Primal problem Dual problem Solutions 5, 2 7 u 1 5, u 2 25, u 3, u 4 Shadow prices Moulding 5, Soldering 25, Product 1 5, product 2 7 Assembly, Inspection Slack Moulding, Soldering, Product 1, product 2 Assembly 3, Inspection 5 Reduced costs For, for 2 For u 1, for u 2, for u 3 3, for u 4 5 The solution of the primal problem can also be found from the solution and the sensitivity analysis of the dual problem. For the Sygitron eample, we see in Figure 2.2 that for the dual problem, only u 1 and u 2 have values different from zero. This means that the only constraints with shadow prices different 25
Chapter 2 Linear programming from zero, is moulding and soldering. These two constraints define the optimal solution: Moulding Soldering + 5 = 4 = 5 1 + = 12 = 7 1 2 2 } (2.24) The same values can also be found directly from the shadow prices for the two constraints in the dual problem. The dual problem minimises alternative cost The values of the decision variables in an optimal solution for a dual problem will always be equal to the shadow prices for the primal problem. In the optimal solution for the Sygitron eample, a shadow price equals the reduction of total profit per year when capacity is reduced by one hour per year in a department. If capacity in the soldering department is reduced by one hour, total profit is reduced by $25. In the moulding department, one hour reduced capacity results in $5 of reduced profit. In the assembly department one hour reduced capacity doesn t influence profit, since the shadow price is. A shadow price can be interpreted as the alternative cost of using one hour of capacity, i.e. the cost of using a limited resource. Minimising the objective function in a dual problem means minimising the total alternative cost of using the limited resources. Thus the available resources are used in an optimal way. The primal problem 2.22 tells us that product 1 contributes with a profit of $3 per unit. In the dual problem 2.23, this value appears as the right side of the first constraint. The parameters before u 1,..., u 4 on the left side of the same constraint, are the same as the parameters before in the constraints for the primal problem. Then the left side of the first constraint in the dual problem represents the value of using the resources to produce something other than product 1. In this case the only alternative is product 2. If the value of this left side eceeds the right side in the optimal solution, the resources should not be applied for producing product 1, since alternative applications result in higher profit. Such an incident, with left side right side for the first constraint in the dual problem, means slack for the constraint. This slack represents reduced cost for product 1. In the Sygitron eample, the left side equals the right side in the constraint. Then the resources are used in an optimal way, reduced cost equals, and product 1 should be produced. Let s illustrate the same points again by changing the Sygitron eample so that product 1 contributes only $8 per unit. The constraints are unchanged, but the objective function changes to: 26 Maimise Z 8 5 2 The optimal solution of this primal problem is and 2 8, illustrated by point B in Figure 2.21. The sensitivity analysis in Ecel shows that reduced costs for and 2 are 2 and respectively.
Conclusions 2 1 8 6 4 2 B 2 Moulding A Soldering Assembly 4 6 8 1 Figure 2.21 Feasible region for the Sygitron eample The corresponding solution of the dual problem is u 1 1 and u 2 u 3 u 4. In this optimal solution, the two constraints in the dual problem show that: Product 1 u + u + 2u + 2u 8 1 8 3 4 Product 2 5u + u + u + 5u 5 5 5 3 4 (2.25) The first constraint has a slack 1 8 2, equal to minus reduced cost for. Let s take a closer look at this point by studying alternative cost. If a product is produced, it is required that revenues costs when we use the resources on this product instead of the alternatives. The optimal solution of the primal problem is point B in Figure 2.21 with and 2 8. Here, only the capacity of the moulding department is fully utilised, with a shadow price of $1 per hour. The cost of using the moulding department time resources for producing one unit of product 1, is the time consumed by one unit multiplied by the shadow price: 1 hour $1 hour 1 $1. This is more than the profit of $8 per unit. Then the resources should not be used for producing product 1. We see that profit per unit of product 1 must increase by $2 before product 1 should be set into production. This makes perfect sense since the shadow price of product 1 is $2 in this optimal solution. Conclusions A problem where all decision variables are linearly related can be solved using linear programming. A linear programming model with two decision variables can be solved graphically. Ecel s Solver is an appropriate tool to solve small linear programming models. In addition to an optimal solution, Solver can produce a sensitivity report with valuable information about a linear programming model. The dual problem in linear programming gives a deeper understanding of the primal problem. 27
Chapter 2 Linear programming Problems 2.1 A manufacturer produces product 1 and 2 giving a profit per unit of $8 and $6 respectively. Both products are processed by the two machines A and B. Each machine has a capacity of 12 hours per year. Each unit of product 1 needs 1 hour at machine A and 3 hours at machine B. Each unit of product 2 needs 2 hours at machine A and 1 hour at machine B. (a) How many units should the manufacturer produce of product 1 and 2 per year? Solve the problem using both the graphical method and Ecel. (b) What is the value of increasing the capacity for machine B with one etra hour per year? (c) Assume now that the production of each unit of product 2 consumes 3 lbs of a special alloy, and that supply of this alloy is limited to 6 lbs per year. How many units should the manufacturer produce of product 1 and 2 per year? (d) Assume that profit of product 2 is reduced by $4 per unit. How many units should the manufacturer produce of product 1 and 2 per year? (e) The answer in (d) should be units of product 2. How much must the profit per unit of product 2 increase (from $2) to make it profitable to produce this product? 2.2 Consider the following linear programming model: Maimise Z 2 15 2 Constraints: A 3 4 2 12 B 5 2 11 C 3 2 9, 2 (a) Solve the problem graphically. (b) Find the shadow price for constraint A. (c) By how much must the parameter before 2 in the objective function increase to give a new optimal solution? (Note: the parameter 2 before is constant.) 2.3 Consider the following linear programming model: Maimise Z 5 7 2 Constraints: A 2 3 2 6 B 6 2 4 C 3 4 2 6 D 3 2 2 3, 2 28
Problems (a) Solve the problem graphically. (b) How much can the parameter 7 before 2 in the objective function be reduced without changing the optimal solution? (c) Find the shadow price for constraint A. (d) Find the shadow price for constraint D. 2.4 A company manufactures products X, Y and Z, and all of them are processed on machines A, B and C. Profit per unit (in $), time consumption (in hours) for different products on different machines and machine capacities are given below. X Y Z Capacity (hours) Machine A 3 12 Machine B 3 12 Machine C 2 3 1 12 Profit per unit (in $) 1 1 1 The company wants to maimise profit. Solve the problem without using a computer. 2.5 A food supplement is made by miing two ingredients called 1 and 2. One batch of the supplement should contain a minimum amount of vitamin A, B, C and D according to the table below. Amounts of vitamins in the two ingredients are also given. All amounts are in milligrams: A B C D Required amount in one batch of.14 18. 5.3 supplement Amount in one kg of ingredient 1.7. 5.8 Amount in one kg of ingredient 2. 6. 1.2 The cost of ingredient 1 is twice the cost of ingredient 2. How many kilograms of the two ingredients should be mied together in each batch to obtain minimum cost? There are 1 milligrams in one gram, and 1 grams in one kilogram. 2.6 An investor wants to invest $15 in a portfolio that may include bonds, certificates, treasury bills and stocks. The epected annual returns are given in the table below. The investor also wants to diversify the investments, and has decided maimum amounts for each security. 29
Chapter 2 Linear programming Epected annual return Maimum amount Bonds 5% $3 Certificates 8% $7 Treasury bills 13% $6 Stocks 16% $5 In addition, the investor has decided that at least 6% of the investments should be in treasury bills and stocks, and at least 1% in bonds. He has also decided that the sum invested in bonds and certificates must eceed the amount invested in treasury bills. The investor wants a maimum return on his investments. Find the optimal composition of the portfolio. 2.7 A bank may employ people on a full-time or part-time basis. The opening hours are from 9: to 19:. After some research the bank has found the following need for employees during the day: Time period Number of employees 9: 1: 5 1: 11: 8 11: 12: 5 12: 13: 1 13: 14: 11 14: 15: 7 15: 16: 4 16: 17: 5 17: 18: 8 18: 19: 7 The employees may start their working day at 9:, 1:, etc., but they must finish by 19:. Full-time employees work 4 hours, have 1 hour lunch, and work 3 hours. They do not get paid for the lunch hour. Part-time employees work 4 hours continuously. A full-time employee gets paid 18 per hour, and a part-time employee 17 per hour. The bank wants to minimise total cost, and needs to find out how many fulltime and part-time employees they should hire. They also want to know how many of them should start at 9:, at 1:, etc. Solve the problem using an LP model. 2.8 We want to carry out a survey and interview at least 5 respondents. In addition, the following requirements must also be met: 3 At least 2 respondents must 3 years old or younger. At least 12 respondents must be between 31 and 5 years old.
Problems At least 12% of the respondents must live in Norwich. Less than 2% of the respondents who are above 51 years old, must live in Norwich. Costs associated with interviewing respondents of different ages in Norwich and outside is (in ): Age 3 years 31 years Age 5 years Age 51 years Living in Norwich 1.53 1.38 1.12 Living outside Norwich 1.4 1.47 1.29 The survey should be completed at minimum cost. Solve the problem using Ecel. 2.9 Bestvold Ltd manufactures small electrical motorbikes for children. Each bike is assembled from one motor, two wheels, one frame and one battery. The batteries are bought from an eternal supplier. The other components can either be bought eternally or produced by the company itself. For the net year Bestvold Ltd plans to produce 1 bikes. Components produced by the company itself will be processed in departments A, B and C. Time consumption (in minutes) for the various components in the different departments and machine capacities per year (in hours) are given below. Time consumption (in minutes) A B C One motor 7.8 5.3 8.1 One wheel 3.8 4.9 7.6 One frame 2. 4.2 Capacity per year (in hours) 1 3 2 2 Costs per unit (in $) when buying or producing are: Buy Produce One motor 15.5 7.35 One wheel 9.8 2.2 One frame 5.7 1.15 (a) The company wants to minimise costs. Solve the problem and find the optimal number of motors, wheels and frames that should be bought and that should be produced by the company itself. 31
Chapter 2 Linear programming (b) Find the time consumption per year in department A, B and C, respectively. (c) What is the maimum price the company should pay for one hour increased capacity in department C? (d) What is the maimum price the company should pay for one hour increased capacity in department B? 2.1 ProCruiser Inc. is planning net year s production of their LuCruiser. At the beginning of the first quarter they have an inventory of 7 boats. Epected sales and production capacities are as indicated below. Epected sales (number) Capacity (number) 1st quarter 2 2 2nd quarter 2 1 6 3rd quarter 1 6 4th quarter 8 2 1 Production costs are epected to be $8 per boat for the 1st quarter, and will increase with 1% every quarter. Inventory costs are estimated to be $2 per boat for the 1st and 2nd quarter, and $2 4 per boat for the 3rd and 4th quarter respectively. (Relate these costs to the inventory at the end of each quarter.) ProCruiser has decided to have an inventory of at least 3 boats at the end of quarter 4. Find an optimal production plan for quarters 1 to 4. The sensitivity report gives the following information about the capacity constraint limiting production to boats for the 3rd quarter: Final value Shadow price Constraints r.h. side Allowable increase Allowable decrease 7 28 83 27 Eplain these values. 32
Problems 2.11 Which of the following problems can be solved? (a) Maimise Z = + 2 Constraints: A 3 + 3 B 1 2 2 C + 2 2, (b) Maimise Constraints: A B C Z = + 1 1 2 1 3 3 D + 2 4, (c) Maimise Constraints: A B C D Z = 4 + 3 + 2 6 + 4 3 8, (d) Maimise Z = 6 + 2 Constraints: 2 + 3 12, 2.12 Eamine (a) (d) in problem 2.11. If dual problems can be solved, formulate the dual problems. Find the optimal solutions, and verify that these solutions correspond to the shadow prices for the primal problem. 33
Chapter 2 Linear programming Further reading Bazaraa, M. S., Jarvis, J. J. and Sherali, H. D., Linear Programming and Network Flows, Wiley, 29. Dantzig, G. B. and Thapa, M. N., Linear Programming; 1: Introduction, Springer, 1997. Dantzig, G. B. and Thapa, M. N., Linear Programming; 2: Theory and Etensions, Springer, 23. Vaserstein, L. N., Introduction to Linear Programming, Prentice Hall, 23. 34