Chapter 7 Duality Theory The theory of duality is a very elegant and important concept within the field of operations research. This theory was first developed in relation to linear programming, but it has many applications, and perhaps even a more natural and intuitive interpretation, in several related areas such as nonlinear programming, networks and game 7(1).1 theory. The notion of duality within linear programming asserts that every linear program has associated with it a related linear program called its dual. The original problem in relation to its dual is termed the primal. it is the relationship between the primal and its dual, both on a mathematical and economic level, that is truly the essence of duality theory. 7(1).2 7.1 Examples There is a small company in Melbourne which has recently become engaged in the production of office furniture. The company manufactures tables, desks and chairs. The production of a table requires 8 kgs of wood and 5 kgs of metal and is sold for $80; a desk uses 6 kgs of wood and 4 kgs of metal and is sold for $60; and a chair requires 4 kgs of both metal and wood and is sold for $50. We would like to determine the revenue maximizing strategy for this company, given that their resources are limited to 100 kgs of wood and 60 kgs of metal. 7(1).3 Problem P1 max Z 80 x1 60 x 2 50 x 3 x 8 x1 6 x 2 4 x3 100 5x1 4 x2 4 x 3 60 x1 , x 2 , x3 0 7(1).4 Now 7(1).5 consider that there is a much bigger company in Melbourne which has been the lone producer of this type of furniture for many years. They don't appreciate the competition from this new company; so they have decided to tender an offer to buy all of their competitor's resources and therefore put them out of business. The 7(1).6 challenge for this large company then is to develop a linear program which will determine the appropriate amount of money that should be offered for a unit of each type of resource, such that the offer will be acceptable to the smaller company while minimizing the expenditures of the larger company. Problem D1 min w 100 y1 60 y2 y 7(1).7 8 y1 5 y2 80 6 y1 4 y2 60 4 y1 4 y2 50 y1, y2 0 A Diet Problem An individual has a choice of two types of food to eat, meat and potatoes, each offering varying degrees of nutritional benefit. He has been warned by his doctor that he must receive at least 400 units of protein, 200 units of carbohydrates and 100 units of fat from his daily diet. Given that a kg of steak costs $10 and provides 80 units of protein, 20 units of carbohydrates and 30 units of fat, and that a kg of potatoes costs $2 and provides 40 units of protein, 50 units of carbohydrates and 20 units of fat, he would like to find the minimum cost diet which satisfies his nutritional 7(1).8requirements Problem P2 min Z 10 x1 2 x2 x 80 x1 40 x 2 400 20 x1 50 x 2 200 7(1).9 30 x1 20 x 2 100 x1 , x 2 0 Now consider a chemical company which hopes to attract this individual away from his present diet by offering him synthetic nutrients in the form of pills. This company would like determine prices per unit for their synthetic nutrients which will bring them the highest possible revenue while still providing an acceptable dietary alternative 7(1).10 to the individual. Problem D2 max w 400 y1 200 y2 100 y3 y 80 y1 20 y2 30 y3 10 40 y1 50 y2 20 y3 2 7(1).11 y1, y2 , y3 0 Comments Each of the two examples describes some kind of competition between two decision makers. We shall investigate the notion of “competition” more formally in 618-261 under the heading “Game Theory”. We shall investigate the economic interpretation of the primal/dual relationship later in this chapter. 7(1).12 7.2 FINDING THE DUAL OF A STANDARD LINEAR PROGRAM In this section we formalise the intuitive feelings we have with regard to the the relationship between the primal and dual versions of the two illustrative examples we examined in Section 7.1 The important thing to observe is that the relationship - for the standard form - is 7(1).13given as a definition. Standard form of the Primal Problem n max Z c j x j x j 1 a11 x1 a12 x 2 ... a1n xn b1 a21 x 1 a22 x 2 ... a2 n x n b2 7(1).14 ... ... ... ... ... ... ... ... am1 x1 a m2 x 2 ... amn x n bm x1 , x 2 ,..., x n 0 Standard form of the Dual Problem m min w bi yi i 1 y a11 y1 a21 y 2 ... a m1 y m c1 a12 y1 a 22 y 2 ... a m2 ym c 2 ... ... ... ... ... ... ... ... a1n y1 a 2 n y2 ... a mn y m c n 7(1).15 y1 , y 2 ,..., ym 0 7.2.1 Definition Dual Problem Primal Problem z*: max Z cx w* : min w yb x x s.t. s. t . Ax b x 0 7(1).16 yA c y 0 b is not assumed to be non-negative 7.2.2 Example Primal max Z 5x1 3x 2 8 x3 0 x 4 12 x5 x 3 x1 8x 2 9 x 4 15x 5 20 18x1 5x 2 8 x3 4 x4 12 x5 30 7(1).17 x1, x2 , x3 , x4 , x5 0 Dual min w 20 y1 30 y2 y 3y1 18 y2 5 8 y1 5y 2 3 8y2 8 9y1 4 y2 0 15 y1 12 y2 12 7(1).18 y1, y 2 0 Table 7.1: Primal-Dual relationship D ual (m in w ) y1 0 y2 0 x1 0 a11 a21 x2 0 a12 a22 .. . . .. ... am1 am2 ym 0 Z= 7(1).19 c1 c2 xn 0 a1n a2n amn cn w = b1 b2 . .. . .. bn 7.2.3 Example max Z 4 x1 10 x2 9 x3 x 5 x1 18 x2 5 x3 15 8 x1 12 x2 8x3 8 7(1).20 12 x1 4 x 2 8 x3 10 2 x1 5 x3 5 x1, x2 , x3 0 Dual (min w) y1 0 y2 0 y3 0 y4 0 Z= 7(1).21 x1 0 5 8 12 2 4 x2 0 x3 0 - 18 12 -4 0 5 0 8 -5 10 -9 w= 15 8 10 5 Dual min w 15 y1 8y2 10 y3 5y4 y 5 y1 8 y2 12 y 3 2 y 4 4 18 y1 12 y 2 4 y 3 10 5 y1 8y 3 5 y 4 9 y1 , y2 , y 3 , y4 0 7(1).22 7.3 FINDING THE DUAL OF NONSTANDARD LINEAR PROGRAMS The approach here is similar to the one we used in Section 5.6 when we dealt with nonstandard formulations in the context of the simplex method. There is one exception: we do not add artificial variables. We handle “=“ constraints by writing them as “<=“ 7(1).23 constraints. This is possible here because we do not require here that the RHS is non-negative. 7(1).24 k di xi e i1 k di xi e i1 k di xi e i1 k d x i i e i 1 k di x i e i 1 Standard form! 7(1).25 7.3.1 Example max Z x1 x2 x3 x 2 x2 x 3 4 x1 3x 2 4 x 3 5 7(1).26 x1 2 x 2 3 x1 , x 2 0; x3 urs:= unrestricted sign Conversion Multiply through the greater-than-or-equalto inequality constraint by -1 Use the approach described above to convert the equality constraint to a pair of inequality constraints. Replace the variable unrestricted in sign, , by the difference of two nonnegative 7(1).27 variables. Dual min w 4 y1 5 y2 5y3 3 y4 y y2 y3 y4 1 2 y1 3y2 3y3 2y4 1 y1 4y2 4y3 y1 4y2 4y3 7(1).29 y1, y2 , y3, y4 0 1 1 Streamlining the conversion ... An equality constraint in the primal generates a dual variable that is unrestricted in sign. An unrestricted in sign variable in the primal generates an equality constraint in the dual. Read the discussion in the lecture notes Good material for a question in the final 7(1).30 exam! Example 7.3.1 (Continued) min w 4 y1 5 y2 5y3 3 y4 y y2 y3 y4 1 2 y1 3y2 3y3 2y4 1 y1 4y2 4y3 y1 4y2 4y3 7(1).31 y1, y2 , y3, y4 0 1 1 min w + y, correction 7(1).32 , , 4 y1 5 y2 , 3y3 , , y2 y3 1 , , , 2 y1 3 y2 2 y3 1 , , y1 + 4 y2 1 , , , y1, y3 0; y2 urs Table 7.2: Primal-Dual relationship Primal Problem Dual Problem opt=max opt=min Constraint i : <= form = form Variable i : yi >= 0 yi urs Variable j: xj >= 0 7(1).33 xj urs Constraint j: >= form = form 7.3.3 Example max Z 5x1 4 x 2 x 3x1 8 x2 6 x1 6 x 2 5 8 x1 10 x 2 0; x1 urs 7(1).34 equivalent non-standard form max Z 5x1 4 x 2 x 3 x1 8 x 2 6 x1 6 x2 5 7(1).35 8 x1 10 x 2 0; x1 urs Dual from the recipe min w 6 y1 5 y2 10 y3 y 3 y1 y2 8 y3 5 8y1 6 y2 4 y1 0; y2 , y3 urs 7(1).36 What about opt=min ? Can use the usual trick of multiplying the objective function by -1 (remembering to undo this when the dual is constructed.) It is instructive to use this method to construct the dual of the dual of the standard form. i.e, what is the dual of the dual of the 7(1).37 standard primal problem? What is the dual of w* : min w yb x s.t. 7(1).38 yA c y 0 max w yb max w yb s.t. s.t. y yA c y 0 7(1).39 y yA c y 0 min Z cx max Z cx x x s. t . s. t . Ax b x 0 7(1).40 Ax b x 0 Important Observation FOR ANY PRIMAL LINEAR PROGRAM, THE DUAL OF THE DUAL IS THE PRIMAL 7(1).41 Table 7.3: Primal-Dual Relationship Primal or Dual opt=max Constraint i : <= form = form Variable j: xj >= 0 7(1).42 xj urs Dual or Primal opt=min Variable i : yi >= 0 yi urs Constraint j: >= form = form Example 7.3.4 min Z 6 x1 4 x2 x 3x1 5 x2 12 x1 2 x 2 8 5x1 x2 10 x1, x1 0 7(1).43 equivalent form min Z 6 x1 4 x2 x 3x1 5x 2 12 x1 2 x2 8 5 x1 x2 10 x1 , x 2 0 7(1).44 Dual max w 12 y1 8 y2 10 y3 y 3y1 y2 5 y3 6 5 y1 2 y2 y3 4 y1, y3 0; y2 urs 7(1).45