Module MA3484: Methods of Mathematical Economics Hilary Term 2015 D. R. Wilkins c David R. Wilkins 2015 Copyright Contents 1 Introduction to Linear Programming 1.1 A Furniture Retailing Problem . . . . . . . . . . . . . . . . . . 1.2 Linear Programming Problems in Von Neumann Maximizing Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 Bases of Finite-Dimensional Vector Spaces 2.1 Real Vector Spaces . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Linear Dependence and Bases . . . . . . . . . . . . . . . . . . 2.3 Dual Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 6 9 3 The 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Transportation Problem Transportation in the Dairy Industry . . . . . . . . . . . . . The General Transportation Problem . . . . . . . . . . . . . Transportation Problems in which Total Supply equals Total Demand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Row Sums and Column Sums of Matrices . . . . . . . . . . . Bases for the Transportation Problem . . . . . . . . . . . . . Basic Feasible Solutions of Transportation Problems . . . . . An Example illustrating the Procedure for finding an Initial Basic Feasible Solution to a Transportation Problem using the Minimum Cost Method . . . . . . . . . . . . . . . . . . . . . An Example illustrating the Procedure for finding a Basic Optimal Solution to a Transportation Problem . . . . . . . . . A Result concerning the Construction of Bases for the Transportation Problem . . . . . . . . . . . . . . . . . . . . . . . i 4 13 . 13 . 14 . . . . 14 16 19 23 . 28 . 30 . 37 3.10 The Minimum Cost Method . . . . . . . . . . . . . . . . . . . 39 3.11 The Northwest Corner Method . . . . . . . . . . . . . . . . . 41 3.12 The Iterative Procedure for Solving the Transportation Problem, given an Initial Basic Feasible Solution . . . . . . . . . . 41 4 The Simplex Method 49 4.1 Vector Inequalities and Notational Conventions . . . . . . . . 49 4.2 Feasible and Optimal Solutions of General Linear Programming Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3 Linear Programming Problems in Dantzig Standard Form . . . 50 4.4 Basic Feasible Solutions to Linear Programming Problems in Dantzig Standard Form . . . . . . . . . . . . . . . . . . . . . . 52 4.5 A Simplex Method Example with Five Variables and Two Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.6 A Linear Tableau Example with Five Variables and Three Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.7 Some Results concerning Finite-Dimensional Real Vector Spaces 77 4.8 The Extended Simplex Tableau for solving Linear Programming Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.9 The Simplex Tableau Algorithm . . . . . . . . . . . . . . . . . 92 4.10 The Revised Simplex Algorithm . . . . . . . . . . . . . . . . . 97 4.11 Finding an Initial Basic Solution to a Linear Programming Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5 General Linear Programming Problems, Duality and Complementary Slackness 102 5.1 General Linear Programming Problems . . . . . . . . . . . . . 102 5.2 Complementary Slackness and the Weak Duality Theorem . . 105 5.3 Open and Closed Sets in Euclidean Spaces . . . . . . . . . . . 113 5.4 A Separating Hyperplane Theorem . . . . . . . . . . . . . . . 114 5.5 Convex Cones . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.6 Farkas’ Lemma . . . . . . . . . . . . . . . . . . . . . . . . . . 117 5.7 Strong Duality . . . . . . . . . . . . . . . . . . . . . . . . . . 122 ii 1 Introduction to Linear Programming 1.1 A Furniture Retailing Problem A retail business is planning to devote a number of retail outlets to the sale of armchairs and sofas. The retail prices of armchairs and sofas are determined by fierce competition in the furniture retailing business. Armchairs sell for e700 and sofas sell for e1000. However • the amount of floor space (and warehouse space) available for stocking the sofas and armchairs is limited; • the amount of capital available for purchasing the initial stock of sofas and armchairs is limited; • market research shows that the ratio of armchairs to sofas in stores should neither be too low nor too high. Specifically: • there are 1000 square metres of floor space available for stocking the initial purchase of sofas and armchairs; • each armchair takes up 1 square metre; • each sofa takes up 2 square metres; • the amount of capital available for purchasing the initial stock of armchairs and sofas is e351,000; • the wholesale price of an armchair is e400; • the wholesale price of a sofa is e600; • market research shows that between 4 and 9 armchairs should be in stock for each 3 sofas in stock. We suppose that the retail outlets are stocked with x armchairs and y sofas. The armchairs (taking up 1 sq. metre each) and the sofas (taking up 2 sq. metres each) cannot altogether take up more than 1000 sq. metres of floor space. Therefore x + 2y ≤ 1000 (Floor space constraint). 1 The cost of stocking the retail outlets with armchairs (costing e400 each) and sofas (costing e600 each) cannot exceed the available capital of e351000. Therefore 4x + 6y ≤ 3510 (Capital constraint). Consumer research indicates that x and y should satisfy 4y ≤ 3x ≤ 9y (Armchair/Sofa ratio). An ordered pair (x, y) of real numbers is said to specify a feasible solution to the linear programming problem if this pair of values meets all the relevant constraints. An ordered pair (x, y) constitutes a feasible solution to the the Furniture Retailing problem if and only if all the following constraints are satisfied: x − 3y 4y − 3x x + 2y 4x + 6y x y ≤ ≤ ≤ ≤ ≥ ≥ 0; 0; 1000; 3510; 0; 0; The feasible region for the Furniture Retailing problem is depicted below: We identify the vertices (or corners) of the feasible region for the Furniture Retailing problem. There are four of these: • there is a vertex at (0, 0); • there is a vertex at (400, 300) where the line 4y = 3x intersects the line x + 2y = 1000; 2 • there is a vertex at (510, 245) where the line x + 2y = 1000 intersects the line 4x + 6y = 3510; • there is a vertex at (585, 195) where the line 3y = x intersects the line 4x + 6y = 3510. These vertices are identified by inspection of the graph that depicts the constraints that determine the feasible region. The furniture retail business obviously wants to confirm that the business will make a profit, and will wish to determine how many armchairs and sofas to purchase from the wholesaler to maximize expected profit. There are fixed costs for wages, rental etc., and we assume that these are independent of the number of armchairs and sofas sold. The gross margin on the sale of an armchair or sofa is the difference between the wholesale and retail prices of that item of furniture. Armchairs cost e400 wholesale and sell for e700, and thus provide a gross margin of e300. Sofas cost e600 wholesale and sell for e1000, and thus provide a gross margin of e400. In a typical linear programming problem, one wishes to determine not merely feasible solutions to the problem. One wishes to determine an optimal solution that maximizes some objective function amongst all feasible solutions to the problem. The objective function for the Furniture Retailing problem is the gross profit that would accrue from selling the furniture in stock. This gross profit is the difference between the cost of purchasing the furniture from the wholesaler and the return from selling that furniture. This objective function is thus f (x, y), where f (x, y) = 300x + 400y. We should determine the maximum value of this function on the feasible region. Because the objective function f (x, y) = 300x + 400y is linear in x and y, its maximum value on the feasable region must be achieved at one of the vertices of the region. Clearly this function is not maximized at the origin (0, 0)! Now the remaining vertices of the feasible region are located at (400, 300), (510, 245) and (585, 195), and f (400, 300) = 240, 000, f (510, 245) = 251, 000, 3 f (585, 195) = 253, 500. It follows that the objective function is maximized at (585, 195). The furniture retail business should therefore use up the available capital, stocking 3 armchairs for every sofa, despite the fact that this will not utilize the full amount of floor space available. 1.2 Linear Programming Problems in Von Neumann Maximizing Form A linear programming problem may be presented in Von Neumann maximizing form as follows: given real numbers ci , Ai,j and bj for i = 1, 2, . . . , m and j = 1, 2, . . . , n, find real numbers x1 , x2 , . . . , xn so as to maximize c1 x1 + c2 x2 + · · · + cn xn subject to constraints xj ≥ 0 for j = 1, 2, . . . , n, and Ai,1 x1 + Ai,2 x2 + · · · + Ai,n xn ≤ bi for i = 1, 2, . . . , m. The furniture retailing problem may be presented in von Neumann maximizing form with n = 2, m = 4, (c1 , c2 ) = (300, 400), 1 −3 b1 0 −3 4 b2 0 , A= 1 b3 = 1000 2 4 6 b4 3510 . Here A represents the m × n whose coefficient in the ith row and jth column is Ai,j . Linear programming problems may be presented in matrix form. We adopt the following notational conventions with regard to transposes, row and column vectors and vector inequalities:— • vectors in Rm and Rn are represented as column vectors; 4 • we denote by M T the n × m matrix that is the transpose of an m × n matrix M ; • in particular, given b ∈ Rm and c ∈ Rn , where b and c are represented as column vectors, we denote by bT and cT the corresponding row vectors obtained on transposing the column vectors representing b and c; • given vectors u and v in Rn for some positive integer n, we write u ≤ v (and v ≥ u) if and only if uj ≤ vj for j = 1, 2, . . . , n. A linear programming problem in von Neumann maximizing form may be presented in matrix notation as follows:— Given an m × n matrix A with real coefficients, and given column vectors b ∈ Rm and c ∈ Rn , find x ∈ Rn so as to maximize cT x subject to constraints Ax ≤ b and x ≥ 0. 5 2 2.1 Bases of Finite-Dimensional Vector Spaces Real Vector Spaces Definition A real vector space consists of a set V on which there is defined an operation of vector addition, yielding an element v + w of V for each pair v, w of elements of V , and an operation of multiplication-by-scalars that yields an element λv of V for each v ∈ V and for each real number λ. The operation of vector addition is required to be commutative and associative. There must exist a zero element 0V of V that satisfies v + 0V = v for all v ∈ V , and, for each v ∈ V there must exist an element −v of V for which v+(−v) = 0V . The following identities must also be satisfied for all v, w ∈ V and for all real numbers λ and µ: (λ + µ)v = λv + µv, λ(v + w) = λv + λw, λ(µv) = (λµ)v, 1v = v. Let n be a positive integer. The set Rn consisting of all n-tuples of real numbers is then a real vector space, with addition and multiplication-byscalars defined such that (x1 , x2 , . . . , xn ) + (y1 , y2 , . . . , yn ) = (x1 + y1 , x2 + y2 , . . . xn + yn ) and λ(x1 , x2 , . . . , xn ) = (λx1 , λx2 , . . . , λxn ) for all (x1 , x2 , . . . , xn ), (y1 , y2 , . . . , yn ) ∈ R and for all real numbers λ. The set Mm,n (R) of all m × n matrices is a real vector space with respect to the usual operations of matrix addition and multiplication of matrices by real numbers. 2.2 Linear Dependence and Bases Elements u1 , u2 , . . . , um of a real vector space V are said to be linearly dependent if there exist real numbers λ1 , λ2 , . . . , λm , not all zero, such that λ1 u1 + λ2 u2 + · · · + λm um = 0V . If elements u1 , u2 , . . . , um of real vector space V are not linearly dependent, then they are said to be linearly independent. Elements u1 , u2 , . . . , un of a real vector space V are said to span V if, given any element v of V , there exist real numbers λ1 , λ2 , . . . , λn such that v = λ1 u1 + λ2 u2 + · · · + λn un . 6 A vector space is said to be finite-dimensional if there exists a finite subset of V whose members span V . Elements u1 , u2 , . . . , un of a finite-dimensional real vector space V are said to constitute a basis of V if they are linearly independent and span V . Lemma 2.1 Elements u1 , u2 , . . . , un of a real vector space V constitute a basis of V if and only if, given any element v of V , there exist uniquelydetermined real numbers λ1 , λ2 , . . . , λn such that v = λ1 u1 + λ2 u2 + · · · + λn un . Proof Suppose that u1 , u2 , . . . , un is a basis of V . Let v be an element V . The requirement that u1 , u2 , . . . , un span V ensures that there exist real numbers λ1 , λ2 , . . . , λn such that v = λ1 u1 + λ2 u2 + · · · + λn un . If µ1 , µ2 , . . . , µn are real numbers for which v = µ1 u1 + µ2 u2 + · · · + µn un , then (µ1 − λ1 )u1 + (µ2 − λ2 )u2 + · · · + (µn − λn )un = 0V . It then follows from the linear independence of u1 , u2 , . . . , un that µi −λi = 0 for i = 1, 2, . . . , n, and thus µi = λi for i = 1, 2, . . . , n. This proves that the coefficients λ1 , λ2 , . . . , λn are uniquely-determined. Conversely suppose that u1 , u2 , . . . , un is a list of elements of V with the property that, given any element v of V , there exist uniquely-determined real numbers λ1 , λ2 , . . . , λn such that v = λ1 u1 + λ2 u2 + · · · + λn un . Then u1 , u2 , . . . , un span V . Moreover we can apply this criterion when v = 0. The uniqueness of the coefficients λ1 , λ2 , . . . , λn then ensures that if λ1 u1 + λ2 u2 + · · · + λn un = 0V then λi = 0 for i = 1, 2, . . . , n. Thus u1 , u2 , . . . , un are linearly independent. This proves that u1 , u2 , . . . , un is a basis of V , as required. Proposition 2.2 Let V be a finite-dimensional real vector space, let u1 , u2 , . . . , un be elements of V that span V , and let K be a subset of {1, 2, . . . , n}. Suppose either that K = ∅ or else that those elements ui for which i ∈ K are linearly independent. Then there exists a basis of V whose members belong to the list u1 , u2 , . . . , un which includes all the vectors ui for which i ∈ K. 7 Proof We prove the result by induction on the number of elements in the list u1 , u2 , . . . , un of vectors that span V . The result is clearly true when n = 1. Thus suppose, as the induction hypothesis, that the result is true for all lists of elements of V that span V and that have fewer than n members. If the elements u1 , u2 , . . . , un are linearly independent, then they constitute the required basis. If not, then there exist real numbers λ1 , λ2 , . . . , λn , not all zero, such that λ1 u1 + λ2 u2 + · · · + λn un = 0V . Now there cannot exist real numbers λ1 , λ2 , . . . , λn , not all zero, such n P that both λi ui = 0V and also λi = 0 whenever i 6= K. Indeed, in the i=1 case where K = ∅, this conclusion follows from the requirement that the real numbers λi cannot all be zero, and, in the case where K 6= ∅, the conclusion follows from the linear independence of those ui for which i ∈ K. Therefore there must exist some integer i satisfying 1 ≤ i ≤ n for which λi 6= 0 and i 6∈ K. Without loss of generality, we may suppose that u1 , u2 , . . . , un are ordered so that n 6∈ K and λn 6= 0. Then n−1 X λi ui . un = − λ i=1 n Let v be an element of V . Then there exist real numbers µ1 , µ2 , . . . , µn n P such that v = µi ui , because u1 , u2 , . . . , un span V . But then i=1 n−1 X µn λi v= µi − ui . λ n i=1 We conclude that u1 , u2 , . . . , un−1 span the vector space V . The induction hypothesis then ensures that there exists a basis of V consisting of members of this list that includes the linearly independent elements u1 , u2 , . . . , um , as required. Corollary 2.3 Let V be a finite-dimensional real vector space, and let u1 , u2 , . . . , un be elements of V that span the vector space V . Then there exists a basis of V whose elements are members of the list u1 , u2 , . . . , un . Proof This result is a restatement of Proposition 2.2 in the special case where the set K in the statement of that proposition is the empty set. 8 2.3 Dual Spaces Definition Let V be a real vector space. A linear functional ϕ: V → R on V is a linear transformation from the vector space V to the field R of real numbers. Given linear functionals ϕ: V → R and ψ: V → R on a real vector space V , and given any real number λ, we define ϕ + ψ and λϕ to be the linear functionals on V defined such that (ϕ + ψ)(v) = ϕ(v) + ψ(v) and (λϕ)(v) = λ ϕ(v) for all v ∈ V . The set V ∗ of linear functionals on a real vector space V is itself a real vector space with respect to the algebraic operations of addition and multiplication-by-scalars defined above. Definition Let V be a real vector space. The dual space V ∗ of V is the vector space whose elements are the linear functionals on the vector space V . Now suppose that the real vector space V is finite-dimensional. Let u1 , u2 , . . . , un be a basis of V , where n = dim V . Given any v ∈ V there n P exist uniquely-determined real numbers λ1 , λ2 , . . . , λn such that v = λj uj . j=1 It follows that there are well-defined functions ε1 , ε2 , . . . , εn from V to the field R defined such that ! n X εi λj uj = λi j=1 for i = 1, 2, . . . , n and for all real numbers λ1 , λ2 , . . . , λn . These functions are linear transformations, and are thus linear functionals on V . Lemma 2.4 Let V be a finite-dimensional real vector space, let u1 , u2 , . . . , un be a basis of V , and let ε1 , ε2 , . . . , εn be the linear functionals on V defined such that ! n X εi λj uj = λi j=1 for i = 1, 2, . . . , n and for all real numbers λ1 , λ2 , . . . , λn . Then ε1 , ε2 , . . . , εn constitute a basis of the dual space V ∗ of V . Moreover ϕ= n X i=1 ∗ for all ϕ ∈ V . 9 ϕ(ui )εi Proof Let µ1 , µ2 , . . . , µn be real numbers with the property that n P µ i εi = i=1 0V ∗ . Then 0= n X ! µ i εi (uj ) = n X i=1 µi εi (uj ) = µj i=1 for j = 1, 2, . . . , n. Thus the linear functionals ε1 , ε2 , . . . , εn on V are linearly independent elements of the dual space V ∗ . Now let ϕ: V → R be a linear functional on V , and let µi = ϕ(ui ) for i = 1, 2, . . . , n. Now 1 if i = j; εi (uj ) = 0 if i 6= j. It follows that n X i=1 ! µ i εi n X ! λj uj = j=1 n X n X µi λj εi (uj ) = i=1 j=1 = n X λj ϕ(uj ) = ϕ j=1 n X µj λj j=1 n X ! λj uj j=1 for all real numbers λ1 , λ2 , . . . , λn . It follows that n n X X ϕ= µ i εi = ϕ(ui )εi . i=1 i=1 We conclude from this that every linear functional on V can be expressed as a linear combination of ε1 , ε2 , . . . , εn . Thus these linear functionals span V ∗ . We have previously shown that they are linearly independent. It follows that n P they constitute a basis of V ∗ . Moreover we have verified that ϕ = ϕ(ui )εi i=1 for all ϕ ∈ V ∗ , as required. Definition Let V be a finite-dimensional real vector space, let u1 , u2 , . . . , un be a basis of V . The corresponding dual basis of the dual space V ∗ of V consists of the linear functionals ε1 , ε2 , . . . , εn on V , where ! n X εi λj uj = λi j=1 for i = 1, 2, . . . , n and for all real numbers λ1 , λ2 , . . . , λn . Corollary 2.5 Let V be a finite-dimensional real vector space, and let V ∗ be the dual space of V . Then dim V ∗ = dim V . 10 Proof We have shown that any basis of V gives rise to a dual basis of V ∗ , where the dual basis of V has the same number of elements as the basis of V to which it corresponds. The result follows immediately from the fact that the dimension of a finite-dimensional real vector space is the number of elements in any basis of that vector space. Let V be a real-vector space, and let V ∗ be the dual space of V . Then V ∗ is itself a real vector space, and therefore has a dual space V ∗∗ . Now each element v of V determines a corresponding linear functional Ev : V ∗ → R on V ∗ , where Ev (ϕ) = ϕ(v) for all ϕ ∈ V ∗ . It follows that there exists a function ι: V → V ∗∗ defined so that ι(v) = Ev for all v ∈ V . Then ι(v)(ϕ) = ϕ(v) for all v ∈ V and ϕ ∈ V ∗ . Now ι(v + w)(ϕ) = ϕ(v + w) = ϕ(v) + ϕ(w) = (ι(v) + ι(w))(ϕ) and ι(λv)(ϕ) = ϕ(λv) = λϕ(v) = (λι(v))(ϕ) for all v, w ∈ V and ϕ ∈ V ∗ and for all real numbers λ. It follows that ι(v + w) = ι(v) + ι(w) and ι(λv) = λι(v) for all v, w ∈ V and for all real numbers λ. Thus ι: V → V ∗∗ is a linear transformation. Proposition 2.6 Let V be a finite-dimensional real vector space, and let ι: V → V ∗∗ be the linear transformation defined such that ι(v)(ϕ) = ϕ(v) for all v ∈ V and ϕ ∈ V ∗ . Then ι: V → V ∗∗ is an isomorphism of real vector spaces. Proof Let u1 , u2 , . . . , un be a basis of V , let ε1 , ε2 , . . . , εn be the dual basis of V ∗ , where 1 if i = j, εi (uj ) = 0 if i 6= j, and let v ∈ V . Then there exist real numbers λ1 , λ2 , . . . , λn such that v = n P λi ui . i=1 Suppose that ι(v) = 0V ∗∗ . Then ϕ(v) = Ev (ϕ) = 0 for all ϕ ∈ V ∗ . In particular λi = εi (v) = 0 for i = 1, 2, . . . , n, and therefore v = 0V . We conclude that ι: V → V ∗∗ is injective. Now let F : V ∗ → R be a linear functional on V ∗ , let λi = F (εi ) for n n P P i = 1, 2, . . . , n, let v = λi ui , and let ϕ ∈ V ∗ . Then ϕ = ϕ(ui )εi (see i=1 i=1 11 Lemma 2.4), and therefore ι(v)(ϕ) = ϕ(v) = n X λi ϕ(ui ) = i=1 = F n X n X F (εi )ϕ(ui ) i=1 ! ϕ(ui )εi = F (ϕ). i=1 Thus ι(v) = F . We conclude that the linear transformation ι: V → V ∗∗ is surjective. We have previously shown that this linear transformation is injective. There ι: V → V ∗∗ is an isomorphism between the real vector spaces V and V ∗∗ as required. The following corollary is an immediate consequence of Proposition 2.6. Corollary 2.7 Let V be a finite-dimensional real vector space, and let V ∗ be the dual space of V . Then, given any linear functional F : V ∗ → R, there exists some v ∈ V such that F (ϕ) = ϕ(v) for all ϕ ∈ V ∗ . 12 3 3.1 The Transportation Problem Transportation in the Dairy Industry We discuss an example of the Transportation Problem of Linear Programming, as it might be applied to optimize transportation costs in the dairy industry. A food business has milk-processing plants located in various towns in a small country. We shall refer to these plants as dairies. Raw milk is supplied by numerous farmers with farms located throughout that country, and is transported by milk tanker from the farms to the dairies. The problem is to determine the catchment areas of the dairies so as to minimize transport costs. We suppose that there are m farms, labelled by integers from 1 to m that supply milk to n dairies, labelled by integers from 1 to n. Suppose that, in a given year, the ith farm has the capacity to produce and supply a si litres of milk for i = 1, 2, . . . , m, and that the jth dairy needs to receive at least dj litres of milk for j = 1, 2, . . . , n to satisfy the business obligations. m P The quantity si then represents that total supply of milk, and the quantity n P i=1 dj represents the total demand for milk. j=1 We suppose that xi,j litres of milk are to be transported from the ith farm to the jth dairy, and that ci,j represents the cost per litre of transporting this milk. Then the total cost of transporting milk from the farms to the dairies is m X n X ci,j xi,j . i=1 j=1 The quantities xi,j of milk to be transported from the farms to the dairies should then be determined for i = 1, 2, . . . , m and j = 1, 2, . . . , n so as to minimize the total cost of transporting milk. However the ith farm can supply no more than si litres of milk in a given year, and that jth dairy requires at least dj litres of milk in that year. It follows that the quantities xi,j of milk to be transported between farms and dairy are constrained by the requirements that n X xi,j ≤ si for i = 1, 2, . . . , m j=1 13 and m X xi,j ≥ dj for j = 1, 2, . . . , m. i=1 3.2 The General Transportation Problem The Transportation Problem can be expressed generally in the following form. Some commodity is supplied by m suppliers and is transported from those suppliers to n recipients. The ith supplier can supply at most to si units of the commodity, and the jth recipient requires at least dj units of the commodity. The cost of transporting a unit of the commodity from the ith supplier to the jth recipient is ci,j . The total transport cost is then m X n X ci,j xi,j . i=1 j=1 where xi,j denote the number of units of the commodity transported from the ith supplier to the jth recipient. The Transportation Problem can then be presented as follows: determineP xi,j for i = 1, 2, . . . , m and j = 1, 2, . . . , n so as minimize ci,j xi,j subject to the constraints xi,j ≥ 0 for all i i,j and j, n P xi,j ≤ si and j=1 m P xi,j ≥ dj , where si ≥ 0 for all i, i=1 dj ≥ 0 for all i, and m P si ≥ i=1 3.3 n P dj . j=1 Transportation Problems in which Total Supply equals Total Demand Consider an instance of the Transportation Problem with m suppliers and n recipients. The following proposition shows that a solution to the Transportation Problem can only exist if total supply of the relevant commodity exceeds total demand for that commodity. Proposition 3.1 Let s1 , s2 , . . . , sm and d1 , d2 , . . . , dn be non-negative real numbers. Suppose that there exist non-negative real numbers xi,j be for i = 1, 2, . . . , m and j = 1, 2, . . . , n that satisfy the inequalities n X xi,j ≤ si and j=1 m X i=1 14 xi,j ≥ dj . Then n X m X dj ≤ j=1 si . i=1 Moreover if it is the case that n X m X dj = j=1 then n X si . i=1 xi,j = si for i = 1, 2, . . . , m xi,j = dj for j = 1, 2, . . . , n. j=1 and m X i=1 Proof The inequalities satisfied by the non-negative real numbers xi,j ensure that n m X n m X X X dj ≤ xi,j ≤ si . j=1 i=1 j=1 i=1 Thus the total supply must equal or exceed the total demand. n m P n P P If it is the case that xi,j < si for at least one value of i then xi,j < j=1 Pm i=1 i=1 j=1 m P si . Similarly if it is the case that j then m P n P i=1 j=1 xi,j > dj for at least one value of i=1 xi,j > Pn j=1 dj . It follows that if total supply equals total demand, so that m X si = n X i=1 then n X dj , j=1 xi,j = si for i = 1, 2, . . . , m xi,j = dj for j = 1, 2, . . . , n, j=1 and m X i=1 as required. 15 We analyse the Transportation Problem in the case where total supply equals total demand. The optimization problem in this case can then be stated as follows:— determineP xi,j for i = 1, 2, . . . , m and j = 1, 2, . . . , n so as minimize ci,j xi,j subject to the constraints xi,j ≥ 0 for all i i,j and j, n P m P xi,j = si and j=1 all i and j, and m P i=1 xi,j = dj , where si ≥ 0 and dj ≥ 0 for i=1 n P si = dj . j=1 Definition A feasible solution to the Transportation Problem (with equality of total supply and total demand) takes the form of real numbers xi,j , where • xi,j ≥ 0 for i = 1, 2, . . . , m and j = 1, 2, . . . , n; • n P xi,j = si ; j=1 • m P xi,j = dj . i=1 Definition A feasible solution (xi,j ) of the Transportation Problem is said to be optimal if it minimizes cost amongst all feasible solutions of the Transportation Problem. 3.4 Row Sums and Column Sums of Matrices We commence the analysis of the Transportation Problem by studying the interrelationships between the various real vector spaces and linear transformations that arise naturally from the statement of the Transportation Problem. The quantities xi,j to be determined are coefficients of an m×n matrix X. This matrix X is represented as an element of the real vector space Mm,n (R) that consists of all m × n matrices with real coefficients. The non-negative quantities s1 , s2 , . . . , sm that specify the sums of the coefficients in the rows of the unknown matrix X are the components of a supply vector s belonging to the m-dimensional real vector space Rm . Similarly the non-negative quantities d1 , d2 , . . . , dn that specify the sums of the coefficients in the columns of the unknown matrix X are the components of a demand vector d belonging to the n-dimensional space Rn . 16 The requirement that total supply equals total demand translates into a m P requirement that the sum (s)i of the components of the supply vector s must equal the sum n P i=1 (d)j of the components of the demand vector d. j=1 Accordingly we introduce a real vector space W consisting of all ordered m n P P pairs (y, z) for which y ∈ Rm , z ∈ Rn and (y)i = (z)j . i=1 j=1 Lemma 3.2 Let m and n be positive integers, and let ( ) m n X X W = (y, z) ∈ Rm × Rn : (y)i = (z)j . i=1 j=1 Then the dimension of the real vector space W is m + n − 1. Proof It is easy to see that the vector space W is isomorphic to Rm when n = 1. The result then follows directly in the case when n = 1. Thus suppose that n > 1. Given real numbers y1 , y2 , . . . , yn and z1 , z2 , . . . , zn−1 , there exists exactly one element (y, z) of W that satisfies (y)i = yi for i = 1, 2, . . . , m and (z)j = zj for j = 1, 2, . . . , n − 1. The remaining component (z)n of the n-dimensional vector z is then determined by the equation (z)n = m X yi − i=1 m−1 X zj . j=1 It follows from this that dim W = m + n − 1, as required. The supply and demand constraints on the sums of the rows and columns of the unknown matrix X can then be specified by means of linear transformations ρ: Mm,n (R) → Rm and σ: Mm,n (R) → Rn , where, for each X ∈ Mm,n (R), the components of the m-dimensional vector ρ(X) are the sums of the coefficients along each row of X, and the components of the n-dimensional vector σ(X) are the sums of the coefficients along each column of X. 17 Let X ∈ Mm,n (R). Then the ith component ρ(X)i of the vector ρ(X) is determined by the equation ρ(X)i = n X (X)i,j for i = 1, 2, . . . , m, j=1 for i = 1, 2, . . . , m, and the jth component σ(X)j of σ(X) is determined by the equation m X σ(X)j = (X)i,j for j = 1, 2, . . . , n. i=1 for j = 1, 2, . . . , n. The costs ci,j are the components of an m × n matrix C, the cost matrix, that in turn determines a linear functional f : Mm,n (R) → R on the vector space Mm,n (R) defined such that T f (X) = trace(C X) = m X n X (C)i,j Xi,j i=1 j=1 for all X ∈ Mm,n (R). An instance of the problem is specified by specifying a supply vector s, demand vector d and cost matrix C. The components of s and d are required to be non-negative real numbers. Moreover (s, d) ∈ W , where W is the real vector space consisting of all ordered pairs (s, d) with s ∈ Rm and d ∈ Rn for which the sum of the components of the vector s equals the sum of the components of the vector d. A feasible solution of the Transportation Problem with given supply vector s, demand vector d and cost matrix C is represented by an m×n matrix X satisfying the following three conditions:— • The coefficients of X are all non-negative; • ρ(X) = s; • σ(X) = d. The cost functional f : Mm,n (R) → R is defined so that f (X) = trace(C T X) for all X ∈ Mm,n (R). A feasible solution X of the Transportation problem is optimal if and only if f (X) ≤ f (X) for all feasible solutions X of that problem. 18 Lemma 3.3 Let Mm,n (R) be the real vector space consisting of all m × n matrices with real coefficients, let ρ: Mm,n (R) → Rm and σ: Mm,n (R) → Rn be the linear transformations defined so that the ith component ρ(X)i of ρ(X) satisfies n X ρ(X)i = (X)i,j for i = 1, 2, . . . , m, j=1 for i = 1, 2, . . . , m, and the jth component σ(X)j of σ(X) satisfies m X σ(X)j = (X)i,j for j = 1, 2, . . . , n. i=1 for j = 1, 2, . . . , n. Then (ρ(X), σ(X)) ∈ W for all X ∈ Mm,n (R), where ) ( m n X X (y)i = (z)j . W = (y, z) ∈ Rm × Rn : i=1 j=1 Proof Let X ∈ Mm,n (R). Then m X i=1 m X n n X X ρ(X)i = (X)i,j = σ(X)j . i=1 j=1 j=1 It follows that (ρ(X), σ(X)) ∈ W for all X ∈ Mm,n (R), as required. 3.5 Bases for the Transportation Problem The real vector space Mm,n (R) consisting of all m×n matrices with real coefficients has a natural basis consisting of the matrices E (i,j) for i = 1, 2, . . . , m and j = 1, 2, . . . , n, where, for each i and j, the coefficient of the matrix E (i,j) in the ith row and jth column has the value 1, and all other coefficients are zero. Indeed m X n X X= (X)i,j E (i,j) i=1 j=1 for all X ∈ Mm,n (R). Let ρ: Mm,n (R) → Rm and σ: Mm,n (R) → Rn be the linear transforman P tions defined such that (ρ(X))i = (X)i,j for i = 1, 2, . . . , m and (σ(X))j = j=1 m P (X)i,j for j = 1, 2, . . . , n. Then ρ(E (i,j) ) = b(i) for i = 1, 2, . . . , m, where i=1 b(i) denotes the ith vector in the standard basis of Rm , defined such that 1 if i = k; (i) (b )k = 0 if i 6= k. 19 Similarly σ(E (i,j) ) = b(j) for j = 1, 2, . . . , n, where b(j) denotes the jth vector in the standard basis of Rn , defined such that 1 if j = l; (j) (b )l = 0 if j 6= l. Now (ρ(X), σ(X)) ∈ W for all X ∈ Mm,n (R), where ( ) m n X X W = (y, z) ∈ Rm × Rn : (y)i = (z)j . i=1 j=1 Let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}, and let β (i,j) = (b(i) , b(j) ) for all (i, j) ∈ I × J. Then the elements β (i,j) span the vector space W . It follows from basic linear algebra that there exist subsets B of I × J such that the elements β (i,j) of W for which (i, j) ∈ B constitute a basis of the real vector space W (see Corollary 2.3). Definition Let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}, where m and n are positive integers, let ( ) m n X X W = (y, z) ∈ Rm × Rn : (y)i = (z)j , i=1 j=1 and, for each (i, j) ∈ I × J, let β (i,j) = (b(i) , b(j) ), where b(i) ∈ Rm and b(j) ∈ Rn are defined so that the ith component of b(i) and that jth component of b(j) are equal to 1 and the other components of these vectors are zero. A subset B of I × J is said to be a basis for the Transportation Problem with m suppliers and n recipients if and only if the elements β (i,j) for which (i, j) ∈ B constitute a basis of the real vector space W . The real vector space W is of dimension m+n−1, where m is the number of suppliers and n is the number of recipients. It follows that any basis for the Transportation Problem with m suppliers and n recipients has m + n − 1 members. Proposition 3.4 Let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}, where m and n are positive integers. Then a subset B of I × J is a basis for the transportation problem if and only if, given any vectors y ∈ Rm and z ∈ Rn m n P P satisfying (y)m = (z)n , there exists a unique m × n matrix X with real i=1 j=1 coefficients satisfying the following properties:— 20 (i) n P (X)i,j = (y)i for i = 1, 2, . . . , m; j=1 (ii) m P (X)i,j = (z)j for j = 1, 2, . . . , n; i=1 (ii) (X)i,j = 0 unless (i, j) ∈ B. Proof For each (i, j) ∈ I × J, let E (i,j) denote the matrix whose coefficient in the ith row and jth column are equal to 1 and whose other coefficients are zero, and let ρ(X) ∈ Rm and σ(X) ∈ Rn be defined for all m × n matrices X n m P P with real coefficients so that (ρ(X))i = (X)i,j and (σ(X))j = (X)i,j . j=1 i=1 Then ρ(E ) = b for i = 1, 2, . . . , m, where b denotes the vector in Rm whose ith component is equal to 1 and whose other components are zero. Similarly σ(E (i,j) ) = b(j) for j = 1, 2, . . . , n, where b(j) denotes the vector in Rm whose jth component is equal to 1 and whose other components are zero. Let ( ) m n X X W = (y, z) ∈ Rm × Rn : (y)i = (z)j . (i,j) (i) (i) i=1 j=1 Then (ρ(X), σ(X)) ∈ W for all X ∈ Mm,n (R), and (ρ(E (i,j) ), σ(E (i,j) ) = β (i,j) for all (i, j) ∈ I × J where β (i,j) = (b(i) , b(j) ). Let B be a subset of I × J, let y and z be elements of Rm and Rn respectively that satisfy (y, z) ∈ W , and let X be an m × n matrix with real coefficients with the property that (X)i,j = 0 unless (i, j) ∈ B. Then X X ρ(X) = (X)(i,j) ρ(E (i,j) ) = (X)(i,j) b(i) (i,j)∈B (i,j)∈B X X and σ(X) = (X)(i,j) σ(E (i,j) ) = (i,j)∈B (X)(i,j) b(j) , (i,j)∈B and therefore (ρ(X), σ(X)) = X (i,j)∈B 21 (X)(i,j) β (i,j) . Suppose that, given any y ∈ Rm and z ∈ Rn for which (y, z) ∈ W , there exists a unique m×n matrix X such that y = ρ(X), z = σ(X) and (X)i,j = 0 for all (i, j) ∈ B. Then the elements β (i,j) of W for which (i, j) ∈ B must span W and must also be linearly independent. These elements must therefore constitute a basis for the vector space B. It then follows that the subset B of I × J must be a basis for the Transportation Problem. Conversely if B is a basis for the Transportation Problem then, given any (y, z) ∈ W , there must m × n matrix X with real coefficients Pexist a unique (i,j) such that (y, z) = (X)i,j β and (X)i,j = 0 unless (i, j) ∈ B. The (i,j)∈B result follows. Lemma 3.5 Let m and n be positive integers, let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}, and let K be a subset of I × J. Suppose that there is no basis B of the Transportation Problem for which K ⊂ B. Then there exists a non-zero m × n matrix Y with real coefficients which satisfies the following conditions: • n P (Y )i,j = 0 for i = 1, 2, . . . , m; j=1 • m P (Y )i,j = 0 for j = 1, 2, . . . , n; i=1 • (Y )i,j = 0 when (i, j) 6∈ K. Proof Let ( W = m n X X m n (y, z) ∈ R × R : (y)i = (z)j i=1 ) , j=1 let b(1) , b(2) , . . . , b(m) be the standard basis of Rm and let b(1) , b(2) , . . . , b(n) be the standard basis of Rn , where the ith component of b(i) and the jth component of b(j) are equal to 1 and the other components of these vectors are zero, and let β (i,j) = (b(i) , b(j) ) for all (i, j) ∈ I × J. Now follows from Proposition 2.2 that if the elements β (i,j) for which (i, j) ∈ K were linearly independent then there would exist a subset B of I × J satisfying K ⊂ B such that the elements β (i,j) for which (i, j) ∈ B would constitute a basis of W . This subset B of I × J would then be a basis for the Transportation Problem. But the subset K is not contained in any basis for the Transportation Problem. It follows that the elements β (i,j) for which (i, j) ∈ K must be linearly dependent. Therefore there exists a 22 non-zero m × n matrix Y with real coefficients such that (Y )i,j = 0 when (i, j) 6∈ K and m X n X (Y )i,j β (i,j) = 0W . i=1 j=1 Now β (i,j) = (b(i) , b(j) ) for all i ∈ I and j ∈ J. It follows that m X n X (Y )i,j b(i) = 0 i=1 j=1 and m X n X (Y )i,j b(j) = 0, i=1 j=1 and therefore n X (Y )i,j = 0 (i = 1, 2, . . . , m) j=1 and m X (Y )i,j = 0 (j = 1, 2, . . . , n), i=1 as required. 3.6 Basic Feasible Solutions of Transportation Problems Consider the Transportation Problem with m suppliers and n recipients, where the ith supplier can provide at most si units of some given commodity, where si ≥ 0, and the jth recipient requires at least dj units of that commodity, where dj ≥ 0. We suppose also that total supply equals total demand, so that m n X X si = dj , i=1 j=1 The cost of transporting the commodity from the ith supplier to the jth recipient is ci,j . The concept of a basis for the Transportation Problem was introduced in Subsection 3.5. We recall some results established in that subsection. Let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}. A subset B of I ×J is a basis for the Transportation Problem if and only if, given any vectors y ∈ Rm and 23 z ∈ Rn satisfying m P (y)i = i=1 coefficients such that n P (z)j , there exists a unique matrix X with real j=1 n P (X)i,j = (y)i for i = 1, 2, . . . , m, j=1 m P (X)i,j = (z)j for i=1 j = 1, 2, . . . , n and (X)i,j = 0 unless (i, j) ∈ B (see Proposition 3.4). A basis for the transportation problem has m + n − 1 elements. Also if K is a subset of I × J that is not contained in any basis for the Transportation Problem then there exists a non-zero m × n matrix Y such n m P P that (Y )i,j = 0 for i = 1, 2, . . . , m, (X)i,j = 0 for j = 1, 2, . . . , n and j=1 i=1 (Y )i,j = 0 unless (i, j) ∈ K (see Lemma 3.5). Definition A feasible solution (xi,j ) of a Transportation Problem is said to be basic if there exists a basis B for that Transportation Problem such that xi,j = 0 whenever (i, j) 6∈ B. Example Consider the instance of the Transportation Problem where m = n = 2, s1 = 8, s2 = 3, d1 = 2, d2 = 9, c1,1 = 2, c1,2 = 3, c2,1 = 4 and c2,2 = 1. A feasible solution takes the form of a 2 × 2 matrix x1,1 x1,2 x2,1 x2,2 with non-negative components which satisfies the two matrix equations x1,1 x1,2 1 8 = x2,1 x2,2 1 3 and 1 1 x1,1 x1,2 x2,1 x2,2 = 2 9 . A basic feasible solution will have at least one component equal to zero. There are four matrices with at least one zero component which satisfy the required equations. They are the following:— 0 8 8 0 2 6 −1 9 , , , . 2 1 −6 9 0 3 3 0 The first and third of these matrices have non-negative components. These two matrices represent basic feasible solutions to the problem, and moreover they are the only basic feasible solutions. The costs associated with the components of the matrices are c1,1 = 2, c1,2 = 3, c2,1 = 4 and c2,2 = 1. 24 The cost of the basic feasible solution 0 8 2 1 is 8c1,2 + 2c2,1 + c2,2 = 24 + 8 + 1 = 33. 2 6 The cost of the basic feasible solution is 0 3 2c1,1 + 6c1,2 + 3c2,2 = 4 + 18 + 3 = 25. x1,1 x1,2 Now any 2 × 2 matrix satisfying the two matrix equations x2,1 x2,2 x1,1 x1,2 1 8 = , x2,1 x2,2 1 3 x1,1 x1,2 1 1 = 2 9 x2,1 x2,2 must be of the form x1,1 x1,2 x2,1 x2,2 = λ 8−λ 2−λ 1+λ for some real number λ. λ 8−λ But the matrix has non-negative components if and 2−λ 1+λ only if 0 ≤ λ ≤ 2. It follows that the set of feasible solutions of this instance of the transportation problem is λ 8−λ : λ ∈ R and 0 ≤ λ ≤ 2 . 2−λ 1+λ The costs associated with the components of the matrices are c1,1 = 2, c1,2 = 3, c2,1 = 4 and c2,2 = 1. Therefore, for each real number λ satisfying λ 8−λ 0 ≤ λ ≤ 2, the cost f (λ) of the feasible solution is given 2−λ 1+λ by f (λ) = 2λ + 3(8 − λ) + 4(2 − λ) + (1 + λ) = 33 − 4λ. 2 6 Cost is minimized when λ = 2, and thus is the optimal solution 0 3 of this instance of the Transportation Problem. The cost of this optimal solution is 25. 25 Proposition 3.6 Given any feasible solution of the Transportation Problem, there exists a basic feasible solution with whose cost does not exceed that of the given solution. Proof Let m and n be positive integers, and let s and d be elements of Rm and Rn respectively that satisfy (s)i ≥ 0 for i = 1, 2, . . . , m, (d)i ≥ 0 m n P P for j = 1, 2, . . . , n and (s)i = (d)j , let C be an m × n matrix whose i=1 j=1 components are non-negative real numbers, and let X be a feasible solution of the resulting instance of the Transportation Problem with cost matrix C. Let si = (s)i , dj = (d)j , xi,j = (X)i,j and ci,j = (C)i,j for i = 1, 2, . . . , m n P and j = 1, 2, . . . , n. Then xi,j ≥ 0 for all i and j, xi,j = si for i = j=1 1, 2, . . . , m and m P i=1 solution X is then xi,j = dj for j = 1, 2, . . . , n. The cost of the feasible m P n P ci,j xi,j . i=1 j=1 If the feasible solution X is itself basic then there is nothing to prove. Suppose therefore that X is not a basic solution. We show that there then exists a feasible solution X with fewer non-zero components than the given feasible solution. Let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}, and let K = {(i, j) ∈ I × J : xi,j > 0}. Because X is not a basic solution to the Transportation Problem, there does not exist any basis B for the Transportation Problem satisfying K ⊂ B. It therefore follows from Lemma 3.5 that there exists a non-zero m×n matrix Y which satisfies the following conditions:— n P • (Y )i,j = 0 for i = 1, 2, . . . , m; j=1 • m P (Y )i,j = 0 for j = 1, 2, . . . , n; i=1 • (Y )i,j = 0 when (i, j) 6∈ K. We can assume without loss of generality that m P n P ci,j (Y )i,j ≥ 0, be- i=1 j=1 cause otherwise we can replace Y with −Y . Let Zλ = X − λY for all real numbers λ. Then (Zλ )i,j = xi,j − λyi,j for i = 1, 2, . . . , m and j = 1, 2, . . . , n, where xi,j = (X)i,j and yi,j = (Y )i,j . Moreover the matrix Zλ has the following properties:— 26 • n P (Zλ )i,j = si ; j=1 • m P (Zλ )i,j = dj ; i=1 • (Zλ )i,j = 0 whenever (i, j) 6∈ K; • m X n X i=1 j=1 ci,j (Zλ )i,j ≤ m X n X ci,j (X)i,j whenever λ ≥ 0. i=1 j=1 Now the matrix Y is a non-zero matrix whose rows and columns all sum to zero. It follows that at least one of its coefficients must be strictly positive. Thus there exists at least one ordered pair (i, j) belonging to the set K for which yi,j > 0. Let xi,j λ0 = minimum : (i, j) ∈ K and yi,j > 0 . yi,j Then λ0 > 0. Moreover if 0 ≤ λ < λ0 then xi,j − λyi,j > 0 for all (i, j) ∈ K, and if λ > λ0 then there exists at least one element (i0 , j0 ) of K for which xi0 ,j0 − λyi0 ,j0 < 0. It follows that xi,j − λ0 yi,j ≥ 0 for all (i, j) ∈ K, and xi0 ,j0 − λ0 yi0 ,j0 = 0. Thus Zλ0 is a feasible solution of the given Transportation Problem whose cost does not exceed that of the given feasible solution X. Moreover Zλ0 has fewer non-zero components than the given feasible solution X. If Zλ0 is itself a basic feasible solution, then we have found the required basic feasible solution whose cost does not exceed that of the given feasible solution. Otherwise we can iterate the process until we arrive at the required basic feasible solution whose cost does not exceed that of the given feasible solution. A given instance of the Transportation Problem has only finitely many basic feasible solutions. Indeed there are only finitely many bases for the problem, and any basis is associated with at most one basic feasible solution. Therefore there exists a basic feasible solution whose cost does not exceed the cost of any other basic feasible solution. It then follows from Proposition 3.6 that the cost of this basic feasible solution cannot exceed the cost of any other feasible solution of the given instance of the Transportation Problem. This basic feasible solution is thus a basic optimal solution of the Transportation Problem. 27 The Transportation Problem determined by the supply vector, demand vector and cost matrix has only finitely many basic feasible solutions, because there are only finitely many bases for the problem, and each basis can determine at most one basic feasible solution. Nevertheless the number of basic feasible solutions may be quite large. But it can be shown that the Transportation Problem always has a basic optimal solution. It can be found using an algorithm that implements the Simplex Method devised by George B. Dantzig in the 1940s. This algorithm involves passing from one basis to another, lowering the cost at each stage, until one eventually finds a basis that can be shown to determine a basic optimal solution of the Transportation Problem. 3.7 An Example illustrating the Procedure for finding an Initial Basic Feasible Solution to a Transportation Problem using the Minimum Cost Method We discuss the method for finding a basic optimal solution of the Transportation Problem by working through a particular example. First we find an initial basic feasible solution using a method known as the Minimum Cost Method. Then we test whether or not this initial basic feasible solution is optimal. It turns out that, in this example, the initial basic solutions is not optimal. We then commence an iterative process for finding a basic optimal solution. Let ci,j be the coefficient in the ith row and jth column of the cost matrix C, where 8 4 16 3 7 2 C= 13 8 6 . 5 7 8 and let s1 = 13, s2 = 8, d1 = 19, s3 = 11, d2 = 12, s4 = 13, d3 = 14. We seek to non-negative real numbers xi,j for i = 1, 2, 3, 4 and j = 1, 2, 3 4 P 3 P that minimize ci,j xi,j subject to the following constraints: i=1 j=1 3 X xi,j = si for i = 1, 2, 3, 4, j=1 28 4 X xi,j = dj for j = 1, 2, 3, i=1 and xi,j ≥ 0 for all i and j. For this problem the supply vector is (13, 8, 11, 13) and the demand vector is (19, 12, 14). The components of both the supply vector and the demand vector add up to 45. In order to start the process of finding an initial basic solution for this problems, we set up a tableau that records the row sums (or supplies), the column sums (or demands) and the costs ci,j for the given problem, whilst leaving cells to be filled in with the values of the non-negative real numbers xi,j that will specify the initial basic feasible solution. The resultant tableau is structured as follows:— ci,j & xi,j 1 1 8 2 4 ? 2 ? 3 7 ? 3 13 8 dj 7 ? 19 ? 13 ? 8 ? 11 6 ? 5 si 2 ? ? 4 3 16 8 ? 12 ? 13 14 45 We apply the minimum cost method to find an initial basic solution. The cell with lowest cost is the cell (2, 3). We assign to this cell the maximum value possible, which is the minimum of s2 , which is 8, and d3 , which is 14. Thus we set x2,3 = 8. This forces x2,1 = 0 and x2,2 = 0. The pair (2, 3) is added to the current basis. The next undetermined cell of lowest cost is (1, 2). We assign to this cell the minimum of s1 , which is 13, and d2 − x2,2 , which is 12. Thus we set x1,2 = 12. This forces x3,2 = 0 and x4,2 = 0. The pair (1, 2) is added to the current basis. The next undetermined cell of lowest cost is (4, 1). We assign to this cell the minimum of s4 − x4,2 , which is 13, and d1 − x2,1 , which is 19. Thus we set x4,1 = 13. This forces x4,3 = 0. The pair (4, 1) is added to the current basis. The next undetermined cell of lowest cost is (3, 3). We assign to this cell the minimum of s3 − x3,2 , which is 11, and d3 − x2,3 − x4,3 , which is 6 (= 14 − 8 − 0). Thus we set x3,3 = 6. This forces x1,3 = 0. The pair (3, 3) is added to the current basis. 29 The next undetermined cell of lowest cost is (1, 1). We assign to this cell the minimum of s1 − x1,2 − x1,3 , which is 1, and d1 − x2,1 − x4,1 , which is 6. Thus we set x1,1 = 1. The pair (1, 1) is added to the current basis. The final undetermined cell is (3, 1). We assign to this cell the common value of s3 − x3,2 − x3,3 and d1 − x1,1 − x2,1 − x4,1 , which is 5. Thus we set x3,1 = 5. The pair (3, 1) is added to the current basis. The values of the elements xi,j of the initial basic feasible solution are tabulated (with basis elements marked by the • symbol) as follows:— ci,j & xi,j 1 1 8 2 3 3 4 dj • 1 2 4 • 12 7 0 0 13 • 8 5 0 5 • 7 13 0 19 12 3 16 2 6 si 0 • 8 • 6 13 8 11 8 0 13 14 45 Thus the initial basis is B where B = {(1, 1), (1, 2), (2, 3), (3, 1), (3, 3), (4, 1)}. The basic feasible solution is represented by the 6 × 5 matrix X, where 1 12 0 0 0 8 X= 5 0 6 . 13 0 0 The cost of this initial feasible basic solution is 8 × 1 + 4 × 12 + 2 × 8 + 13 × 5 + 6 × 6 + 5 × 13 = 8 + 48 + 16 + 65 + 36 + 65 = 238. 3.8 An Example illustrating the Procedure for finding a Basic Optimal Solution to a Transportation Problem We continue with the study of the optimization problem discussed in the previous section. 30 We seek to determine non-negative real numbers xi,j for i = 1, 2, 3, 4 and 4 P 3 P j = 1, 2, 3 that minimize ci,j xi,j , where ci,j is the coefficient in the ith i=1 j=1 row and jth column of the cost matrix C, where 8 4 16 3 7 2 C= 13 8 6 . 5 7 8 subject to the constraints 3 X xi,j = si (i = 1, 2, 3, 4) j=1 and 4 X xi,j = dj (j = 1, 2, 3), s2 = 8, s3 = 11, i=1 where s1 = 13, d1 = 19, d2 = 12, s4 = 13, d3 = 14. We have found an initial basic feasible solution by the Minimum Cost Method. This solution satisfies xi,j = (X)i,j for all i and j, where 1 12 0 0 0 8 X= 5 0 6 . 13 0 0 We next determine whether this initial basic feasible solution is an optimal solution, and, if not, how to adjust the basis to obtain a solution of lower cost. We determine u1 , u2 , u3 , u4 and v1 , v2 , v3 such that ci,j = vj − ui for all (i, j) ∈ B, where B is the initial basis. We seek a solution with u1 = 0. We then determine qi,j so that ci,j = vj − ui + qi,j for all i and j. 31 We therefore complete the following tableau:— ci,j & qi,j 1 2 3 4 vj 1 8 2 3 ui • 4 • 16 0 0 0 ? 3 7 2 • ? ? ? 0 13 • 8 6 • ? 0 ? 0 5 • 7 8 ? 0 ? ? ? ? ? Now u1 = 0, (1, 1) ∈ B and (1, 2) ∈ B force v1 = 8 and v2 = 4. Then v1 = 8, (3, 1) ∈ B and (4, 1) ∈ B force u3 = −5 and u4 = 3. Then u3 = −5 and (3, 3) ∈ B force v3 = 1. Then v3 = 1 and (2, 3) ∈ B force u2 = −1. After entering the numbers ui and vj , the tableau is as follows:— ci,j & qi,j 1 2 3 4 vj 1 8 2 3 ui • 4 • 16 0 0 0 ? 3 7 2 • −1 ? ? 0 13 • 8 6 • −5 0 ? 0 5 • 7 8 3 0 ? ? 8 4 1 Computing the numbers qi,j such that ci,j + ui = vj + qi,j , we find that q1,3 = 15, q2,1 = −6, q2,2 = 2, q3,2 = −1, q4,2 = 6 and q4,3 = 10. 32 The completed tableau is as follows:— ci,j & qi,j 1 1 8 2 3 3 13 4 5 vj 8 2 4 • 0 3 16 • 0 7 2 −6 2 • 8 0 −1 • 7 0 6 4 6 8 ui 0 15 • −1 0 • −5 0 3 10 1 The initial basic feasible solution is not optimal because some of the quantities qi,j are negative. To see this, suppose that the numbers xi,j for i = 1, 2, 3, 4 and j = 1, 2, 3 constitute a feasible solution to the given problem. 3 4 P P Then xi,j = si for i = 1, 2, 3 and xi,j = dj for j = 1, 2, 3, 4. It follows j=1 i=1 that 4 X 3 X ci,j xi,j = i=1 j=1 4 X 3 X (vj − ui + qi,j )xi,j i=1 j=1 = 3 X vj dj − j=1 4 X i=1 u i si + 4 X 3 X qi,j xi,j . i=1 j=1 Applying thisPidentity to the initial basic feasible solution, we find that P3 4 v d i=1 ui si = 238, given that 238 is the cost of the initial baj=1 j j − sic feasible solution. Thus the cost C of any feasible solution (xi,j ) satisfies C = 238 + 15x1,3 − 6x2,1 + 2x2,2 − x3,2 + 6x4,2 + 10x4,3 . One could construct feasible solutions with x2,1 < 0 and xi,j = 0 for (i, j) 6∈ B ∪ {(2, 1)}, and the cost of such feasible solutions would be lower than that of the initial basic solution. We therefore seek to bring (2, 1) into the basis, removing some other element of the basis to ensure that the new basis corresponds to a feasible basic solution. The procedure for achieving this requires us to determine a 4×3 matrix Y satisfying the following conditions:— • y2,1 = 1; • yi,j = 0 when (i, j) 6∈ B ∪ {(2, 1)}; 33 • all rows and columns of the matrix Y sum to zero. Accordingly we fill in the following tableau with those coefficients yi,j of the matrix Y that correspond to cells in the current basis (marked with the • symbol), so that all rows sum to zero and all columns sum to zero:— yi,j 1 2 3 4 1 ? 1 ? ? 0 2 • ? • ◦ • • 0 3 0 ? • 0 ? • 0 0 0 0 The constraints that y2,1 = 1, yi,j = 0 when (i, j) 6∈ B and the constraints requiring the rows and columns to sum to zero determine the values of yi,j for all yi,j ∈ B. These values are recorded in the following tableau:— yi,j 1 2 3 4 1 0 1 −1 0 0 2 3 • 0 • ◦ −1 • • 1 • • 0 0 0 0 0 0 0 We now determine those values of λ for which X+λY is a feasible solution, where 1 12 0 λ 0 8−λ X + λY = 5 − λ 0 6 + λ . 13 0 0 In order to drive down the cost as far as possible, we should make λ as large as possible, subject to the requirement that all the coefficients of the above matrix should be non-negative numbers. Accordingly we take λ = 5. Our new basic feasible solution X is then as follows:— 1 12 0 5 0 3 X= 0 0 11 . 13 0 0 34 We regard X of as the current feasible basic solution. The cost of the current feasible basic solution X is 8 × 1 + 4 × 12 + 3 × 5 + 2 × 3 + 6 × 11 + 5 × 13 = 8 + 48 + 15 + 6 + 66 + 65 = 208. The cost has gone down by 30, as one would expect (the reduction in the cost being −λq2,1 where λ = 5 and q2,1 = −6). The current basic feasible solution X is associated with the basis B where B = {(1, 1), (1, 2), (2, 1), (2, 3), (3, 3), (4, 1)}. We now compute, for the current feasible basic solution We determine, for the current basis B values u1 , u2 , u3 , u4 and v1 , v2 , v3 such that ci,j = vj − ui for all (i, j) ∈ B. the initial basis. We seek a solution with u1 = 0. We then determine qi,j so that ci,j = vj − ui + qi,j for all i and j. We therefore complete the following tableau:— ci,j & qi,j 1 2 3 4 vj 1 8 2 3 ui • 4 • 16 0 0 0 ? 3 • 7 2 • ? 0 ? 0 13 8 6 • ? ? ? 0 5 • 7 8 ? 0 ? ? ? ? ? Now u1 = 0, (1, 1) ∈ B and (1, 2) ∈ B force v1 = 8 and v2 = 4. Then v1 = 8, (2, 1) ∈ B and (4, 1) ∈ B force u2 = 5 and u4 = 3. Then u2 = 5 and (3, 3) ∈ B force v3 = 7. Then v3 = 7 and (3, 3) ∈ B force u3 = 1. Computing the numbers qi,j such that ci,j + ui = vj + qi,j , we find that q1,3 = 9, q2,2 = 8, q3,1 = 6, q3,2 = 5, q4,2 = 6 and q4,3 = 4. 35 The completed tableau is as follows:— ci,j & qi,j 1 2 3 4 vj 1 8 2 3 ui • 4 • 16 0 0 0 9 3 • 7 2 • 5 0 8 0 13 8 6 • 1 6 5 0 5 • 7 8 3 0 6 4 8 4 7 All numbers qi,j are non-negative for the current feasible basic solution. This solution is therefore optimal. Indeed, arguing as before we find that the cost C of any feasible solution (xi,j ) satisfies C = 208 + 9x1,3 + 8x2,2 + 6x3,1 + 5x3,2 + 6x4,2 + 4x4,3 . We conclude that X is an basic optimal solution, where 1 12 0 5 0 3 X= 0 0 11 . 13 0 0 36 3.9 A Result concerning the Construction of Bases for the Transportation Problem The following general proposition ensures that certain standard methods for determining an initial basic solution of the Transportation Problem, including the Northwest Corner Method and the Minimum Cost Method will succeed in determining a basic feasible solution to the Transportation Problem. Proposition 3.7 Let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}, where m and n are positive integers, let i1 , i2 , . . . , im+n−1 be elements of I and let j1 , j2 , . . . , jm+n−1 be elements of J, and let B = {(ik , jk ) : k = 1, 2, . . . , m + n − 1}. Suppose that there exist subsets I0 , I1 , . . . , Im+n−1 of I and J0 , J1 , . . . , Jm+n+1 of J such that I0 = I, J0 = J, and such that, for each integer k between 1 and m + n − 1, exactly one of the following two conditions is satisfied:— (i) ik 6∈ Ik , jk ∈ Jk , Ik−1 = Ik ∪ {ik } and Jk−1 = Jk ; (ii) ik ∈ Ik , jk 6∈ Jk , Ik−1 = Ik and Jk−1 = Jk ∪ {jk }; Then, given any real numbers a1 , a1 , . . . , am and b1 , b2 , . . . , bn satisfying m X ai = i=1 n X bj , j=1 thereP exist uniquely-determined Preal numbers xi,j for all i ∈ I and j ∈ J such that xi,j = ai for all i ∈ I, xi,j = bj for all j ∈ J, and xi,j = 0 whenever j∈J i∈I (i, j) 6∈ B. Proof We prove the result by induction on m + n. The result is easily seen to be true when m = n = 1. Thus suppose as our inductive hypothesis that the corresponding results are true when I and J are replaced by I1 and J1 , 0 0 so given P that, P 0 any real numbers ai for i ∈ I1 and bj for j ∈ J1 satisfying 0 ai = bj , there exist uniquely-determined real numbers xi,j for i ∈ I1 i∈I1 j∈J1 P P and j ∈ J1 such that xi,j = ai for all i ∈ I1 and xi,j = bj for all j ∈ I1 . j∈J1 i∈I1 We prove that the corresponding results are true for the given sets I and J. Now the conditions in the statement of the Proposition ensure that either i1 6∈ I1 or else j1 6∈ J1 . Suppose that i1 6∈ I1 . Then I = I1 ∪ {i1 } and J1 = J. Now Ik and Jk are subsets of I1 and J1 for k = 1, 2, . . . , m+n−1. Moreover (ik , jk ) ∈ Ik−1 ×Jk−1 37 for all integers k satisfying 1 ≤ k ≤ m + n + 1. It follows that ik ∈ I1 and therefore ik 6= i1 whenever 2 ≤ k ≤ m. It follows that the conclusions of the proposition are true if and only if there exist uniquely-determined real numbers xi,j for i ∈ I and j ∈ I such that xi1 ,j1 = ai1 , xi ,j = 0 whenever j 6= j1 , X 1 xi,j = ai whenever i 6= i1 , j∈J X xi,j1 = bj1 − ai1 , i∈I1 X xi,j = bj whenever j 6= j1 , i∈I1 xi,j = 0 whenever (i, j) 6∈ B The induction hypothesis ensures the existence and uniqueness of the real numbers xi,j for i ∈ I1 and j ∈ J determined so as to satisfy the above conditions. Thus the induction hypothesis ensures that the required result is true in the case where i1 6∈ I1 . An analogous argument shows that the required result is true in the case where j1 6∈ J1 . The result follows. Proposition 3.7 ensures that if I = {1, 2, . . . , m} and J = {1, 2, . . . , n} and if a subset B of I × J is determined so as to satisfy the requirements of Proposition 3.7, then that subset B of I × J is a basis for the Transportation Problem with m suppliers and n recipients. The algorithms underlying the Minimal Cost Method and the Northwest Corner Method give rise to subsets Ik and Jk of I and J respectively for k = 0, 1, 2, . . . , m + n − 1 that satisfy the conditions of Proposition 3.7. This proposition therefore ensures that Minimal Cost Method and the Northwest Corner Method do indeed determine basic feasible solutions to the Transportation Problem. Remark One can prove a converse result to Proposition 3.7 which establishes that, given any basis B for an instance of the Transportation Problem with m suppliers and n recipients, there exist subsets Ik of I and Jk of J, for i = 1, 2, . . . , m + n − 1, where I = {1, 2, . . . , m} and J = {1, 2, . . . , n}, so that these subsets Ik and Jk of I and J are related to one another and to the basis B in the manner described in the statement of Proposition 3.7. 38 3.10 The Minimum Cost Method We describe the Minimum Cost Method for finding an initial basic feasible solution to the Transportation Problem. Consider an instance of the Transportation Problem specified by positive integers m and n and non-negative real numbers s1 , s2 , . . . , sm and m n P P d1 , d2 , . . . , dn , where si = dj . Let I = {1, 2, . . . , m} and let J = j=1 i=1 {1, 2, . . . , n}. A feasible solution consists of an array of P non-negative real numbers xi,j for i ∈ I and j ∈ J with the property that xi,j = si for all j∈J P i ∈ I and xi,j = dj for all j ∈ J. The objective of the problem is to find i∈I a feasible solution that minimizes cost, where the cost of a feasible solution PP (xi,j : i ∈ I andj ∈ J) is ci,j xi,j . i∈I j∈J In applying the Minimal Cost Method to find an initial basic solution to the Transportation we apply an algorithm that corresponds to the determination of elements (i1 , j1 ), (i2 , j2 ), . . . , (im+n−1 , jm+n−1 ) of I ×J and of subsets I0 , I1 , . . . , Im+n−1 of I and J0 , J1 , . . . , Jm+n−1 of J such that the conditions of Proposition 3.7 are satisfied. Indeed let I0 = I, J0 = J and B0 = {0}. The Minimal Cost Method algorithm is accomplished in m + n − 1 stages. Let k be an integer satisfying 1 ≤ k ≤ m + n − 1 and that subsets Ik−1 of I, Jk−1 of J and Bk−1 of I × J have been determined in accordance with the rules that apply at previous stages of the Minimal Cost algorithm. Suppose also that non-negative real numbers xi,j have been determined for all ordered pairs (i, j) in I × J that satisfy either i 6∈ Ik−1 or j 6∈ Jk−1 so as to satisfy the following conditions:— P • xi,j ≤ si whenever i ∈ Ik−1 ; j∈J\Jk−1 • P xi,j = si whenever i 6∈ Ik−1 ; j∈J • P xi,j ≤ dj whenever j ∈ Jk−1 ; i∈I\Ik−1 • P xi,j = dj whenever j 6∈ Jk−1 . i∈I The Minimal Cost Method specifies that one should choose (ik , jk ) ∈ Ik−1 × Jk−1 so that cik ,jk ≤ ci,j for all (i, j) ∈ Ik−1 × Jk−1 , 39 and set Bk = Bk−1 ∪ {(ik , jk )}. Having chosen (ik , jk ), the non-negative real number xik ,jk is then determined so that X X xik ,jk = min sik − xik ,j , djk − xi,jk . j∈J\Jk−1 i∈I\Ik−1 The subsets Ik and Jk of I and J respectively are then determined, along with appropriate values of xi,j , according to the following rules:— (i) if sik − X xik ,j < djk − j∈J\Jk−1 X xi,jk i∈I\Ik−1 then we set Ik = Ik−1 \ {ik } and Jk = Jk−1 , and we also let xik ,j = 0 for all j ∈ Jk−1 \ {jk }; (ii) if sik − X xik ,j > djk − X xi,jk i∈I\Ik−1 j∈J\Jk−1 then we set Jk = Jk−1 \ {jk } and Ik = Ik−1 , and we also let xi,jk = 0 for all i ∈ Ik−1 \ {ik }; (iii) if sik − X xik ,j = djk − j∈J\Jk−1 X xi,jk i∈I\Ik−1 then we determine Ik and Jk and the corresponding values of xi,j either in accordance with the specification in rule (i) above or else in accordance with the specification in rule (ii) above. These rules ensure that the real numbers xi,j determined at this stage are all non-negative, and that the following conditions are satisfied at the conclusion of the kth stage of the Minimal Cost Method algorithm:— P • xi,j ≤ si whenever i ∈ Ik ; j∈J\Jk • P xi,j = si whenever i 6∈ Ik ; j∈J • P xi,j ≤ dj whenever j ∈ Jk ; i∈I\Ik • P xi,j = dj whenever j 6∈ Jk . i∈I 40 At the completion of the final stage (for which k = m + n − 1) we have determined a subset B of I × J, where B = Bm+n−1 , together with nonnegative real numbers xi,j for i ∈ I and j ∈ I that constitute a feasible solution to the given instance of the Transportation Problem. Moreover Proposition 3.7 ensures that this feasible solution is a basic feasible solution of the problem with associated basis B. 3.11 The Northwest Corner Method The Northwest Corner Method for finding a basic feasible solution proceeds according to the stages of the Minimum Cost Method above, differing only from that method in the choice of the ordered pair (ik , jk ) at the kth stage of the method. In the Minimum Cost Method, the ordered pair (ik , jk ) is chosen such that (ik , jk ) ∈ Ik−1 × Jk−1 and cik ,jk ≤ ci,j for all (i, j) ∈ Ik−1 × Jk−1 (where the sets Ik−1 , Jk−1 are determined as in the specification of the Minimum Cost Method). In applying the Northwest Corner Method, costs associated with ordered pairs (i, j) in I × J are not taken into account. Instead (ik , jk ) is chosen so that ik is the minimum of the integers in Ik−1 and jk is the minimum of the integers in Jk−1 . Otherwise the specification of the Northwest Corner Method corresponds to that of the Minimum Cost Method, and results in a basic feasible solution of the given instance of the Transportation Problem. 3.12 The Iterative Procedure for Solving the Transportation Problem, given an Initial Basic Feasible Solution We now describe in general terms the method for solving the Transportation Problem, in the case where total supply equals total demand. We suppose that an initial basic feasible solution has been obtained. We apply an iterative method (based on the general Simplex Method for the solution of linear programming problems) that will test a basic feasible solution for optimality and, in the event that the feasible solution is shown not to be optimal, establishes information that (with the exception of certain ‘degenerate’ cases of the Transportation Problem) enables one to find a basic feasible solution with lower cost. Iterating this procedure a finite number of times, one should arrive at a basic feasible solution that is optimal for the given instance of the the Transportation Problem. 41 We suppose that the given instance of the Transportation Problem involves m suppliers and n recipients. The required supplies are specified by non-negative real numbers s1 , s2 , . . . , sm , and the required demands are specified by non-negative real numbers d1 , d2 , . . . , dn . We further suppose that m P Pn si = j=1 dj . A feasible solution is represented by non-negative real i=1 numbers xi,j for i = 1, 2, . . . , m and j = 1, 2, . . . , n, where n P xi,j = si for j=1 i = 1, 2, . . . , m and m P xi,j = dj for j = 1, 2, . . . , n. i=1 Let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}. A subset B of I × J is a basis for the Transportation Problem if and only if, given any real numbers y1 , y2 , . . . , ym and z1 , z2 , . . . , zn , there exist uniquely determined real numbers n m P P xi,j for i ∈ I and j ∈ J such that xi,j = yi for i ∈ I, xi,j = zj for j ∈ J, j=1 i=1 where xi,j = 0 whenever (i, j) 6∈ B (see Proposition 3.4). A feasible solution (xi,j ) is said to be a basic feasible solution associated with the basis B if and only if xi,j = 0 for all i ∈ I and j ∈ J for which (i, j) 6∈ B. Let xi,j be a non-negative real number for each i ∈ I and j ∈ J. Suppose that (xi,j ) is a basic feasible solution to the Transportation Problem associated with basis B, where B ⊂ I × J. m P n P The cost associated with a feasible solution (xi,j is given by ci,j xi,j , i=1 j=1 where the constants ci,j are real numbers for all i ∈ I and j ∈ J. A feasible solution for the given instance of the Transportation Problems is an optimal solution if and only if it minimizes cost amongst all feasible solutions to the problem. In order to test for optimality of a basic feasible solution (xi,j ) associated with a basis B, we determine real numbers u1 , u2 , . . . , um and v1 , v2 , . . . , vn with the property that ci,j = vj − ui for all (i, j) ∈ B. (Proposition 3.10 below guarantees that, given any basis B, it is always possible to find the required quantities ui and vj .) Having calculated these quantities ui and vj we determine the values of qi,j , where qi,j = ci,j − vj + ui for all i ∈ I and j ∈ J. Then qi,j = 0 whenever (i, j) ∈ B. We claim that a basic feasible solution (xi,j ) associated with the basis B is optimal if and only if qi,j ≥ 0 for all i ∈ I and j ∈ J. This is a consequence of the identity established in the following proposition. Proposition 3.8 Let xi,j , ci,j and qi,j be real numbers defined for i = 1, 2, . . . , m and j = 1, 2, . . . , n, and let u1 , u2 , . . . , um and v1 , v2 , . . . , vn be real numbers. 42 Suppose that ci,j = vj − ui + qi,j for i = 1, 2, . . . , m and j = 1, 2, . . . , n. Then m X n X ci,j xi,j = i=1 j=1 where si = Pn j=1 m X vj dj − i=1 n X m X n X ui si + j=1 qi,j xi,j , i=1 j=1 Pm xi,j for i = 1, 2, . . . , m and dj = i=1 xi,j for j = 1, 2, . . . , n. Proof The definitions of the relevant quantities ensure that m X n X ci,j xi,j = i=1 j=1 m X n X (vj − ui + qi,j )xi,j i=1 j=1 = n X vj j=1 + = m X m X ! xi,j i=1 m n XX ui n X i=1 ! xi,j j=1 qi,j xi,j i=1 j=1 n X v j dj − i=1 − m X ui si + j=1 m X n X qi,j xi,j , i=1 j=1 as required. Corollary 3.9 Let m and n be integers, and let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}. Let xi,j and ci,j be real numbers defined for all i ∈ I and j ∈ I, and let u1 , u2 , . . . , um and v1 , v2 , . . . , vn be real numbers. Suppose that ci,j = vj − ui for all (i, j) ∈ I × J for which xi,j 6= 0. Then m X n X ci,j xi,j = i=1 j=1 where si = n P m X dj vj − i=1 xi,j for i = 1, 2, . . . , m and dj = j=1 n X si ui , j=1 m P xi,j for j = 1, 2, . . . , n. i=1 Proof Let qi,j = ci,j + ui − vj for all i ∈ I and j ∈ J. Then qi,j = 0 whenever xi,j 6= 0. It follows from this that m X n X qi,j xi,j = 0. i=1 j=1 43 It then follows from Proposition 3.8 that n m X X ci,j xi,j = i=1 j=1 m X n m n X X X (vj − ui + qi,j )xi,j = dj vj − si u i , i=1 j=1 i=1 j=1 as required. Let m and n be positive integers, let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}, and let the subset B of I × J be a basis for an instance of the Transportation Problem with m suppliers and n recipients. Let the cost of a feasible solution m P n n m P P P (xi,j ) be ci,j xi,j . Now xi,j = si and xi,j = dj , where the quantii=1 j=1 j=1 i=1 ties si and dj are determined by the specification of the problem and are the same for all feasible solutions of the problem. Let quantities ui for i ∈ I and vj for j ∈ J be determined such that ci,j = vj − ui for all (i, j) ∈ B, and let qi,j = ci,j + ui − vj for all i ∈ I and j ∈ J. Then qi,j = 0 for all (i, j) ∈ B. It follows from Proposition 3.8 that m X n X ci,j xi,j = i=1 j=1 m X vj dj − i=1 n X ui si + m X n X j=1 qi,j xi,j . i=1 j=1 Now if the quantities xi,j for i ∈ I and j ∈ J constitute a basic feasible solution associated with the basis B then xi,j = 0 whenever (i, j) 6∈ B. It m P n P follows that qi,j xi,j = 0, and therefore i=1 j=1 m X v j dj − i=1 n X ui si = C, j=1 where C= m X n X ci,j xi,j . i=1 j=1 The cost C of the feasible solution (xi,j ) then satisfies the equation C= m X n X ci,j xi,j = C + i=1 j=1 m X n X qi,j xi,j . i=1 j=1 If qi,j ≥ 0 for all i ∈ I and j ∈ J, then the cost C of any feasible solution (xi,j ) is bounded below by the cost of the basic feasible solution (xi,j ). It follows that, in this case, the basic feasible solution (xi,j ) is optimal. 44 Suppose that (i0 , j0 ) is an element of I × J for which qi0 ,j0 < 0. Then (i0 , j0 ) 6∈ B. There is no basis for the Transportation Problem that includes the set B ∪{(i0 , j0 )}. A straightforward application of Lemma 3.5 establishes the existence of quantities yi,j for i ∈ I and j ∈ J such that yi0 ,j0 = 1 and yi,j = 0 for all i ∈ I and j ∈ J for which (i, j) 6∈ B ∪ {(i0 , j0 )}. Let the m × n matrices X and Y be defined so that (X)i,j = xi,j and (Y )i,j = yi,j for all i ∈ I and j ∈ J. Suppose that xi,j > 0 for all (i, j) ∈ B. Then the components of X in the basis positions are strictly positive. It follows that, if λ is positive but sufficiently small, then the components of the matrix X + λY in the basis positions are also strictly positive, and therefore the components of the matrix X + λY are non-negative for all sufficiently small non-negative values of λ. There will then exist a maximum value λ0 that is an upper bound on the values of λ for which all components of the matrix X + λY are non-negative. It is then a straightforward exercise in linear algebra to verify that X + λ0 Y is another basic feasible solution associated with a basis that includes (i0 , j0 ) together with all but one of the elements of the basis B. Moreover the cost of this new basic feasible solution is C + λ0 qi0 ,j0 , where C is the cost of the basic feasible solution represented by the matrix X. Thus if qi0 ,j0 < 0 then the cost of the new basic feasible solution is lower than that of the basic feasible solution X from which it was derived. Suppose that, for all basic feasible solutions of the given Transportation problem, the coefficients of the matrix specifying the basic feasible solution are strictly positive at the basis positions. Then a finite number of iterations of the procedure discussed above with result in an basic optimal solution of the given instance of the Transportation Problem. Such problems are said to be non-degenerate. However if it turns out that a basic feasible solution (xi,j ) associated with a basis B satisfies xi,j = 0 for some (i, j) ∈ B, then we are in a degenerate case of the Transportation Problem. The theory of degenerate cases of linear programming problems is discussed in detail in textbooks that discuss the details of linear programming algorithms. We now establish the proposition that guarantees that, given any basis B, there exist quantities u1 , u2 , . . . , um and v1 , v2 , . . . , vn such that the costs ci,j associated with the given instance of the Transportation Problem satisfy ci,j = vj − ui for all (i, j) ∈ B. This result is an essential component of the method described here for testing basic feasible solutions to determine whether or not they are optimal. Proposition 3.10 Let m and n be integers, let I = {1, 2, . . . , m} and J = {1, 2, . . . , n}, and let B be a subset of I × J that is a basis for the transporta45 tion problem with m suppliers and n recipients. For each (i, j) ∈ B let ci,j be a corresponding real number. Then there exist real numbers ui for i ∈ I and vj for j ∈ J such that ci,j = vj − ui for all (i, j) ∈ B. Moreover if ui and v j are real numbers for i ∈ I and j ∈ J that satisfy the equations ci,j = v j − ui for all (i, j) ∈ B, then there exists some real number k such that ui = ui + k for all i ∈ I and v j = vj + k for all j ∈ J. Proof Let ( W = (y, z) ∈ Rm × Rn : m P (y)i = i=1 n P ) (z)j , j=1 let ρ: Mm,n (R) → Rm and σ: Mm,n (R) → Rn be the linear transformations n m P P (X)i,j for i = 1, 2, . . . , m and σ(X)j = (X)i,j defined such that ρ(X)i = j=1 i=1 for j = 1, 2, . . . , n, let MB = {X ∈ Mm,n (R) : (X)i,j = 0 whenever (i, j) 6∈ B}, and let C be the m × n matrix defined such that (C)i,j = ci,j for all i ∈ I and j ∈ J. Now, given any element (y, z) of W , there exists a uniquely-determined n m P P m×n matrix X such that (X)i,j = (y)i for i = 1, 2, . . . , m, (X)i,j = (z)j j=1 i=1 for j = 1, 2, . . . , n and (X)i,j = 0 unless (i, j) ∈ B (see Proposition 3.4). Then X is the unique matrix belonging to MB that satisfies ρ(X) = y and σ(X) = z. We define T g(y, z) = trace(C X) = m X n X ci,j (X)i,j . i=1 j=1 We obtain in this way a well-defined function g: W → R characterized by the property that g(ρ(X), σ(X)) = trace(C T X) for all X ∈ MB . Now ρ(λX) = λy and σ(λX) = λz for all real numbers λ. It follows that g(λ(y, z)) = λg(y, z) for all real numbers λ. Also, given elements (y0 , z0 ) and (y00 , z00 ) of W , there exist unique matrices X 0 and X 00 belonging to MB such that ρ(X 0 ) = y0 , 46 ρ(X 00 ) = y00 , σ(X 0 ) = z0 and σ(X 00 ) = z00 . Then ρ(X 0 + X 00 ) = y0 + y00 and σ(X 0 + X 00 ) = z0 + z00 , and therefore g((y0 , z0 ) + (y00 , z00 )) = trace(C T (X 0 + X 00 )) = trace(C T X 0 ) + trace(C T X 00 ) = g(y0 , z0 ) + g(y00 , z00 ). It follows that the function g: W → R is a linear transformation. It is thus a linear functional on the real vector space W . For each integer i between 1 and m, let b(i) denote the vector in Rm whose ith component is equal to 1 and whose other components are zero, and, for each integer j between 1 and n, let b(j) denote the vector in Rn whose jth component is equal to 1 and whose other components are zero. Then (b(1) −b(i) , 0) ∈ W for i = 1, 2, . . . , m and (b(1) , b(j) ) ∈ W for j = 1, 2, . . . , n. We define ui = g(b(1) − b(i) , 0) for i = 1, 2, . . . , m and vj = g(b(1) , b(j) ) for j = 1, 2, . . . , n. Then u1 = 0 and vj − ui = g(b(1) , b(j) ) − g(b(1) − b(i) , 0) = g (b(1) , b(j) ) − (b(1) − b(i) , 0) = g(b(i) , b(j) ) for all i ∈ I and j ∈ J. If (i, j) ∈ B then b(i) = ρ(E (i,j) ) and b(j) = σ(E (i,j) ), where E (i,j) is the m × n matrix whose coefficient in the ith row and jth column is equal to 1 and whose other coefficients are zero. Moreover E (i,j) ∈ MB for all (i, j) ∈ B. It follows from the definition of the linear functional g that vj − ui = g(b(i) , b(j) ) = trace(C T E (i,j) ) = ci,j for all (i, j) ∈ B. Now let ui and v j be real numbers for i ∈ I and j ∈ J that satisfy the equations ci,j = v j − ui for all (i, j) ∈ B. Let g(y, z) = n X vj (z)j − j=1 m X ui (y)i i=1 for all y ∈ Rm and z ∈ Rn . Then g(ρ(E (i,j) ), σ(E (i,j) )) = g(b(i) , b(j) ) = v j − ui for all (i, j) ∈ I × J. It follows that g(ρ(E (i,j) ), σ(E (i,j) )) = v j −ui = ci,j = g(ρ(E (i,j) ), σ(E (i,j) )) for all (i, j) ∈ B. 47 Now the matrices E (i,j) for all (i, j) ∈ B constitute a basis of the vector space MK . It follows that g(ρ(X), σ(X)) = g(ρ(X), σ(X)) for all X ∈ MB . But every element of the vector space W is of the form (ρ(X), σ(X)) for some X ∈ MB . (This follows Proposition 3.4, as discussed earlier in the proof.) Thus g(y, z) = g(y, z) for all (y, z) ∈ W . In particular ui − u1 = g(b(1) − b(i) , 0) = g(b(1) − b(i) , 0) = ui − u1 for all i ∈ I, and v j − u1 = g(b(1) , b(j) ) = g(b(1) , b(j) ) = vj − u1 for all j ∈ J. Let k = u1 − u1 . Then ui = ui + k for all i ∈ I and v j = vj + k for all j ∈ J, as required. 48 4 4.1 The Simplex Method Vector Inequalities and Notational Conventions Let v be an element of the real vector space Rn . We denote by (v)j the jth component of the vector v. The vector v can be represented in the usual fashion as an n-tuple (v1 , v2 , . . . , vn ), where vj = (v)j for j = 1, 2, . . . , n. However where an n-dimensional vector appears in matrix equations it will usually be considered to be an n × 1 column vector. The row vector corresponding to an element v of Rn will be denoted by vT because, considered as a matrix, it is the transpose of the column vector representing v. We denote the zero vector (in the appropriate dimension) by 0. Let x and y be vectors belonging to the real vector space Rn for some positive integer n. We write x ≤ y (and y ≥ x) when (x)j ≤ (y)j for j = 1, 2, . . . , n. Also we write x y (and y x) when (x)j < (y)j for j = 1, 2, . . . , n. These notational conventions ensure that x ≥ 0 if and only if (x)j ≥ 0 for j = 1, 2, . . . , n. The scalar product of two n-dimensional vectors u and v can be represented as the matrix product uT v. Thus uT v = u1 v1 + u2 v2 + · · · + un vn for all u, v ∈ Rn , where uj = (u)j and vj = (v)j for j = 1, 2, . . . , n. Given an m × n matrix A, where m and n are positive integers, we denote by (A)i,j the coefficient in the ith row and jth column of the matrix A. 4.2 Feasible and Optimal Solutions of General Linear Programming Problems A general linear programming problem is one that seeks values of real variables x1 , x2 , . . . , xn that maximize or minimize some objective function c1 x 1 + c2 x 2 + · · · cn x n that is a linear functional of x1 , x2 , . . . , xn determined by real constants c1 , c2 , . . . , cn , where the variables x1 , x2 , . . . , xn are subject to a finite number of constraints that each place bounds on the value of some linear functional of the variables. These constraints can then be numbered from 1 to m, for an appropriate value of m such that, for each value of i between 1 and m, the ith constraint takes the form of an equation or inequality that can be expressed in one of the following three forms:— ai,1 x1 + ai,2 x2 + · · · + ai,n xn = bi , 49 ai,1 x1 + ai,2 x2 + · · · + ai,n xn ≥ bi , ai,1 x1 + ai,2 x2 + · · · + ai,n xn ≤ bi for appropriate values of the real constants ai,1 , ai,2 , . . . , ai,n and bi . In addition some, but not necessarily all, of the variables x1 , x2 , . . . , xn may be required to be non-negative. (Of course a constraint requiring a variable to be non-negative can be expressed by an inequality that conforms to one of the three forms described above. Nevertheless constraints that simply require some of the variables to be non-negative are usually listed separately from the other constraints.) Definition Consider a general linear programming problem with n real variables x1 , x2 , . . . , xn whose objective is to maximize or minimize some objective function subject to appropriate constraints. A feasible solution of this linear programming problem is specified by an n-dimensional vector x whose components satisfy the constraints but do not necessarily maximize or minimize the objective function. Definition Consider a general linear programming problem with n real variables x1 , x2 , . . . , xn whose objective is to maximize or minimize some objective function subject to appropriate constraints. A optimal solution of this linear programming problem is specified by an n-dimensional vector x that is a feasible solution that optimizes the value of the objective function amongst all feasible solutions to the linear programming problem. 4.3 Linear Programming Problems in Dantzig Standard Form Let A be an m × n matrix of rank m with real coefficients, where m ≤ n, and let b ∈ Rm and c ∈ Rn be vectors of dimensions m and n respectively. We consider the following linear programming problem:— Determine an n-dimensional vector x so as to minimize cT x subject to the constraints Ax = b and x ≥ 0. We refer to linear programming problems presented in this form as being in Dantzig standard form. We refer to the m × n matrix A, the m-dimensional vector b and the n-dimensional vector c as the constraint matrix, target vector and cost vector for the linear programming problem. Remark Nomenclature in Linear Programming textbooks varies. Problems presented in the above form are those to which the basic algorithms of George 50 B. Dantzig’s Simplex Method are applicable. In the series of textbooks by George B. Dantzig and Mukund N. Thapa entitled Linear Programming, such problems are said to be in standard form. In the textbook Introduction to Linear Programming by Richard B. Darst, such problems are said to be standard-form LP. On the other hand, in the textbook Methods of Mathematical Economics by Joel N. Franklin, such problems are said to be in canonical form, and the term standard form is used for problems which match the form above, except that the vector equality Ax = b is replaced by a vector inequality Ax ≥ b. Accordingly the term Danztig standard form is used in these notes both to indicate that such problems are in standard form at that term is used by textbooks of which Dantzig is the author, and also to emphasize the connection with the contribution of Dantzig in creating and popularizing the Simplex Method for the solution of linear programming problems. A linear programming problem in Dantzig standard form specified by an m × n constraint matrix A of rank m, an m-dimensional target vector b and an n-dimensional cost vector c has the objective of finding values of real variables x1 , x2 , . . . , xn that minimize the value of the cost c1 x 1 + c2 x 2 + · · · + cn x n subject to constraints A1,1 x1 + A1,2 x2 + · · · + A1,n xn = b1 , A2,1 x1 + A2,2 x2 + · · · + A2,n xn = b2 , .. . Am,1 x1 + Am,2 x2 + · · · + Am,n xn = bm and x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0. In this above programming problem, the function sending the n-dimensional vector x to the corresponding cost cT x is the objective function for the problem. A feasible solution to the problem consists of an n-dimensional vector (x1 , x2 , . . . , xn ) whose components satisfy the above constraints but do not necessarily minimize cost. An optimal solution is a feasible solution whose cost does not exceed that of any other feasible solution. 51 4.4 Basic Feasible Solutions to Linear Programming Problems in Dantzig Standard Form We define the notion of a basis for a linear programming problem in Dantzig standard form. Definition Let A be an m×n matrix of rank m with real coefficients, where m ≤ n, let b ∈ Rm be an m-dimensional column vector, let c ∈ Rn be an n-dimensional column vector. Consider the following programming problem in Dantzig standard form: find x ∈ Rn so as to minimize cT x subject to constraints Ax = b and x ≥ 0. For each integer j between 1 and n, let a(j) denote the m-dimensional vector determined by the jth column of the matrix A, so that (a(j) )i = (A)i,j for i = 1, 2, . . . , m and j = 1, 2, . . . , n. A basis for this linear programming problem is a set consisting of m distinct integers j1 , j2 , . . . , jm between 1 and n for which the corresponding vectors a(j1 ) , a(j2 ) , . . . , a(jm ) constitute a basis of the vector space Rm . We next define what is meant by saying that a feasible solution of a programming problem Dantzig standard form is a basic feasible solution for the programming problem. Definition Let A be an m×n matrix of rank m with real coefficients, where m ≤ n, let b ∈ Rm be an m-dimensional column vector, let c ∈ Rn be an n-dimensional column vector. Consider the following programming problem in Dantzig standard form:— find x ∈ Rn so as to minimize cT x subject to constraints Ax = b and x ≥ 0. A feasible solution x for this programming problem is said to be basic if there exists a basis B for the linear programming problem such that (x)j = 0 when j 6∈ B. Lemma 4.1 Let A be an m×n matrix of rank m with real coefficients, where m ≤ n, let b ∈ Rm be an m-dimensional column vector, let c ∈ Rn be an n-dimensional column vector. Consider the following programming problem in Dantzig standard form: 52 find x ∈ Rn so as to minimize cT x subject to constraints Ax = b and x ≥ 0. Let a(j) denote the vector specified by the jth column of the matrix A for j = 1, 2, . . . , n. Let x be a feasible solution of the linear programming problem. Suppose that the m-dimensional vectors a(j) for which (x)j > 0 are linearly independent. Then x is a basic feasible solution of the linear programming problem. Proof Let x be a feasible solution to the programming problem, let xj = (x)j for all j ∈ J, where J = {1, 2, . . . , n}, and let K = {j ∈ J : xj > 0}. If the vectors a(j) for which j ∈ K are linearly independent then basic linear algebra ensures that further vectors a(j) can be added to the linearly independent set {a(j) : j ∈ K} so as to obtain a finite subset of Rm whose elements constitute a basis of that vector space (see Proposition 2.2). Thus exists a subset B of J satisfying K ⊂ B ⊂ J such that the m-dimensional vectors a(j) for which j ∈ B constitute a basis of the real vector space Rm . Moreover (x)j = 0 for all j ∈ J \ B. It follows that x is a basic feasible solution to the linear programming problem, as required. Theorem 4.2 Let A be an m × n matrix of rank m with real coefficients, where m ≤ n, let b ∈ Rm be an m-dimensional column vector, let c ∈ Rn be an n-dimensional column vector. Consider the following programming problem in Dantzig standard form: find x ∈ Rn so as to minimize cT x subject to constraints Ax = b and x ≥ 0. If there exists a feasible solution to this programming problem then there exists a basic feasible solution to the problem. Moreover if there exists an optimal solution to the programming problem then there exists a basic optimal solution to the problem. Proof Let J = {1, 2, . . . , n}, and let a(j) denote the vector specified by the jth column of the matrix A for all j ∈ J. Let x be a feasible solution to the programming problem, let xj = (x)j for all j ∈ J, and let K = {j ∈ J : xj > 0}. Suppose that x is not basic. Then the vectors a(j) for which j ∈ K must be linearly dependent. We show that there then exists a feasible solution with fewer non-zero components than the given feasible solution x. for j ∈ K, not all zero, such that P Now(j)there exist real numbers yj (j) yj a = 0, because the vectors a for j ∈ K are linearly dependent. j∈K 53 Let yj = 0 for all j ∈ J \ K, and let y ∈ Rn be the n-dimensional vector satisfying (y)j = yj for j = 1, 2, . . . , n. Then X X Ay = yj a(j) = yj a(j) = 0. j∈J j∈K It follows that A(x − λy) = b for all real numbers λ, and thus x − λy is a feasible solution to the programming problem for all real numbers λ for which x − λy ≥ 0. Now y is non-zero vector. Replacing y by −y, if necessary, we can assume, without loss of generality, that at least one component of the vector y is positive. Let xj : j ∈ K and yj > 0 , λ0 = minimum yj xj ≥ λ0 for yj all j ∈ J for which yj > 0. Multiplying by the positive number yj , we find that xj ≥ λ0 yj and thus xj − λ0 yj ≥ 0 when yj > 0. Also λ0 > 0 and xj ≥ 0, and therefore xj − λ0 yj ≥ 0 when yj ≤ 0. Thus xj − λ0 yj ≥ 0 for all j ∈ J. Also xj0 − λ0 yj0 = 0, and xj − λ0 yj = 0 for all j ∈ J \ K. Let x0 = x − λ0 y. Then x0 ≥ 0 and Ax0 = b, and thus x0 is a feasible solution to the linear programming problem with fewer non-zero components than the given feasible solution. Suppose in particular that the feasible solution x is optimal. Now there exist both positive and negative values of λ for which x − λy ≥ 0. If it were the case that cT y 6= 0 then there would exist values of λ for which both x − λy ≥ 0 and λcT y > 0. But then cT (x − λy) < cT x, contradicting the optimality of x. It follows that cT y = 0, and therefore x − λy is an optimal solution of the linear programming problem for all values of λ for which x − λy ≥ 0. The previous argument then shows that there exists a real number λ0 for which x − λ0 y is an optimal solution with fewer non-zero components than the given optimal solution x. We have shown that if there exists a feasible solution x which is not basic then there exists a feasible solution with fewer non-zero components than x. It follows that if a feasible solution x is chosen such that it has the smallest possible number of non-zero components then it is a basic feasible solution of the linear programming problem. Similarly we have shown that if there exists an optimal solution x which is not basic then there exists an optimal solution with fewer non-zero components than x. It follows that if an optimal solution x is chosen such that and let j0 be an element of K for which λ0 = xj0 /yj0 . Then 54 it has the smallest possible number of non-zero components then it is a basic optimal solution of the linear programming problem. 4.5 A Simplex Method Example with Five Variables and Two Constraints We consider the following linear programming problem:— minimize 3x1 + 4x2 + 2x3 + 9x4 + 5x5 subject to the following constraints: 5x1 + 3x2 + 4x3 + 7x4 + 3x5 = 11; 4x1 + x2 + 3x3 + 8x4 + 4x5 = 6; xj ≥ 0 for j = 1, 2, 3, 4, 5. The constraints require that x1 , x2 , x3 , x4 , x5 be non-negative real numbers satisfying the matrix equation x1 x2 5 3 4 7 3 11 x3 = . 4 1 3 8 4 6 x4 x5 Thus we are required to find a (column) vector x with components x1 , x2 , x3 , x4 and x5 satisfying the equation Ax = b, where 5 3 4 7 3 11 A= , b= . 4 1 3 8 4 6 Let (1) a = 5 4 (4) a , = (2) a 7 8 = 3 1 (3) , (5) and a a = = 3 4 4 3 , . For a feasible solution to the problem we must find non-negative real numbers x1 , x2 , x3 , x4 , x5 such that x1 a(1) + x2 a(2) + x3 a(3) + x4 a(4) + x5 a(5) = b. An optimal solution to the problem is a feasible solution that minimizes c1 x 1 + c2 x 2 + c3 x 3 + c4 x 4 + c5 x 5 55 amongst all feasible solutions to the problem, where c1 = 3, c2 = 4, c3 = 2, c4 = 9 and c5 = 5. Let c denote the column vector whose ith component is ci respectively. Then cT = 3 4 2 9 5 , and an optimal solution is a feasible solution that minimizes cT x amongst all feasible solutions to the problem. We refer to the quantity cT x as the cost of the feasible solution x. Let I = {1, 2, 3, 4, 5}. A basis for this optimization problem is a subset {j1 , j2 } of I, where j1 6= j2 , for which the corresponding vectors a(j1 ) , a(j2 ) constitute a basis of R2 . By inspection we see that each pair of vectors taken from the list a(1) , a(2) , a(3) , a(4) , a(5) consists of linearly independent vectors, and therefore each pair of vectors from this list constitutes a basis of R2 . It follows that every subset of I with exactly two elements is a basis for the optimization problem. A feasible solution (x1 , x2 , x3 , x4 , x5 ) to this optimization problem is a basic feasible solution if there exists a basis B for the optimization problem such that xj = 0 when j 6= B. In the case of the present problem, all subsets of {1, 2, 3, 4, 5} with exactly two elements are bases for the problem. It follows that a feasible solution to the problem is a basic feasible solution if and only if the number of non-zero components of the solution does not exceed 2. We take as given the following initial basic feasible solution x1 = 1, x2 = 2, x3 = x4 = x5 = 0. One can readily verify that a(1) + 2a(2) = b. This initial basic feasible solution is associated with the basis {1, 2}. The cost of this solution is 11. We apply the procedures of the simplex method to test whether or not this basic feasible solution is optimal, and, if not, determine how to improve it. The basis {1, 2} determines a 2 × 2 minor MB of A consisting of the first two columns of A. Thus 5 3 MB = . 4 1 We now determine the components of the vector p ∈ R2 whose transpose p1 p2 satisfies the matrix equation c1 c2 = p1 p2 MB . Now MB−1 1 =− 7 56 1 −3 −4 5 . It follows that p1 p2 = c1 c2 MB−1 1 1 −3 3 4 = − −4 5 7 13 − 11 = . 7 7 pT = We next compute a vector q ∈ R5 , where qT = cT − pT A. Solving the equivalent matrix equation for the transpose qT of the column vector q, we find that qT = cT − pT A = 3 4 2 9 5 = = 3 4 2 9 5 0 0 − 75 60 7 − − 40 7 − 11 7 13 7 3 4 . 19 7 3 7 5 3 4 7 3 4 1 3 8 4 − 75 We denote the jth component of the vector j by qj . Now q3 < 0. We show that this implies that the initial basic feasible solution is not optimal, and that it can be improved by bringing 3 (the index of the third column of A) into the basis. Suppose that x is a feasible solution of this optimization problem. Then Ax = b, and therefore cT x = pT Ax + qT x = pT b + qT x. The initial basic feasible solution x satisfies T q x= 5 X qj xj = 0, j=1 because q1 = q2 = 0 and x3 = x4 = x5 = 0. This comes about because the manner in which we determined first p then q ensures that qj = 0 for all j ∈ B, whereas the components of the basic feasible solution x associated with the basis B satisfy xj = 0 for j 6∈ B. We find therefore that pT b is the cost of the initial basic feasible solution. The cost of the initial basic feasible solution is 11, and this is equal to the value of pT b. The cost cT x of any other basic feasible solution satisfies cT x = 11 − 75 x3 + 60 x 7 4 where xj denotes the jth component of x. 57 + 40 x, 7 5 We seek to determine a new basic feasible solution x for which x3 > 0, x4 = 0 and x5 = 0. The cost of such a basic feasible solution will then be less than that of our initial basic feasible solution. In order to find our new basic feasible solution we determine the relationships between the coefficients of a feasible solution x for which x4 = 0 and x5 = 0. Now such a feasible solution must satisfy x1 a(1) + x2 a(2) + x3 a(3) = b = x1 a(1) + x2 a(2) , where x1 and x2 are the non-zero coefficients of the initial basic feasible solution. Now the vectors a(1) and a(2) constitute a basis of the real vector space R2 . It follows that there exist real numbers t1,3 and t2,3 such that a(3) = t1,3 a(1) + t2,3 a(2) . It follows that (x1 + t1,3 x3 )a(1) + (x2 + t2,3 x3 )a(2) = x1 a(1) + x2 a(2) . The linear independence of a(1) and a(2) then ensures that x1 +t1,3 x3 = x1 and x2 + t2,3 x3 = x2 . Thus if x3 = λ, where λ ≥ 0 then x1 = x1 − λt1,3 , x2 = x2 − λt2,3 . Thus, once t1,3 and t2,3 have been determined, we can determine the range of values of λ that ensure that x1 ≥ 0 and x2 ≥ 0. In order to determine the values of t1,3 and t2,3 we note that 5 5 3 1 (1) a = = 4 4 1 0 3 5 3 0 a(2) = = 1 4 1 1 and therefore (3) a (1) (2) = t3,1 a + t3,2 a t3,1 = MB , t3,2 where MB = = 5 3 4 1 5 3 4 1 t3,1 t3,2 . It follows that 1 t3,1 1 −3 4 −1 (3) = = MB a = − 3 t3,2 7 −4 5 58 5 7 1 7 . Thus t3,1 = 57 and t3,2 = 71 . We now determine the feasible solutions x of this optimization problem that satisfy x3 = λ and x4 = x5 = 0. we have already shown that x1 = x1 − λt1,3 , x2 = x2 − λt2,3 . Now x1 = 1, x2 = 2, t1,3 = 57 and t2,3 = 17 . It follows that x1 = 1 − 57 λ and x2 = 2 − 71 λ. Now the components of a feasible solution must satisfy x1 ≥ 0 and x2 ≥ 0. it follows that 0 ≤ λ ≤ 75 . Moreover on setting λ = 75 we find that x1 = 0 and x2 = 95 . We thus obtain a new basic feasible solution x associated to the basis {2, 3}, where xT = 0 59 75 0 0 . The cost of this new basic feasible solution is 10. We now let B 0 and x0 denote the new basic and new associated basic feasible solution respectively, so that B 0 = {2, 3} and x0T = 0 95 57 0 0 . We also let MB 0 be the 2 × 2 minor of the matrix A with columns indexed by the new basis B, so that 1 3 4 3 −4 −1 MB 0 = and MB 0 = . 1 3 5 −1 3 0 2 We now determine the components of the vector p ∈ R whose transpose 0 p2 satisfies the matrix equation c2 c3 = p01 p02 MB 0 . p01 We find that p01 p02 MB−10 1 3 −4 4 2 = −1 3 5 2 −2 . = c2 c3 = We next compute the components of the vector q0 ∈ R5 so as to ensure that q0T = cT − p0T A − = 3 4 2 9 5 = = 3 4 2 9 5 − 1 0 0 11 7 . 59 5 3 4 7 3 2 −2 4 1 3 8 4 2 4 2 −2 −2 The components of the vector q0 determined using the new basis {2, 3} are all non-negative. This ensures that the new basic feasible solution is an optimal solution. Indeed let x be a feasible solution of this optimization problem. Then Ax0 = b, and therefore cT x = p0T Ax + q0T x0 = p0T b + q0T x. Moreover p0T b = 10. It follows that cT x = 10 + x1 + 11x4 + 7x5 ≥ 10, and thus the new basic feasible solution x0 is optimal. We summarize the result we have obtained. The optimization problem was the following:— minimize 3x1 + 4x2 + 2x3 + 9x4 + 5x5 subject to the following constraints: 5x1 + 3x2 + 4x3 + 7x4 + 3x5 = 11; 4x1 + x2 + 3x3 + 8x4 + 4x5 = 6; xj ≥ 0 for j = 1, 2, 3, 4, 5. We have found the following basic optimal solution to the problem: x1 = 0, 9 x2 = , 5 7 x3 = , 5 x4 = 0, x5 = 0. We now investigate all bases for this linear programming problem in order to determine which bases are associated with basic feasible solutions. The problem is to find x ∈ R5 that minimizes cT x subject to the constraints Ax = b and x ≥ 0, where 5 3 4 7 3 11 A= , b= 4 1 3 8 4 6 and cT = 3 4 2 9 5 . For each two-element subset B of {1, 2, 3, 4, 5} we compute MB , MB−1 and MB−1 b, where MB is the 2 × 2 minor of the matrix A whose columns are indexed by the elements of B. We find the following:— 60 B 5 3 4 1 5 4 4 3 5 7 4 8 5 3 4 4 3 4 1 3 3 7 1 8 3 3 1 4 4 7 3 8 4 3 3 4 7 3 8 4 {1, 2} {1, 3} {1, 4} {1, 5} {2, 3} {2, 4} {2, 5} {3, 4} {3, 5} {4, 5} MB−1 MB 1 −3 −4 5 3 −4 −4 5 8 −7 −4 5 4 −3 −4 5 3 −4 −1 3 8 −7 −1 3 4 −3 −1 3 8 −7 −3 4 4 −3 −3 4 4 −3 −8 7 − 17 − 1 12 1 8 1 5 1 17 1 9 1 11 1 7 1 4 MB−1 b 1 2 −9 14 23 6 − 67 13 4 − 47 9 5 7 5 46 17 7 17 26 9 7 9 46 11 9 − 11 26 7 − 79 13 2 − 23 2 cT MB−1 b 11 1 1 1 10 247 17 139 9 1 1 1 From this data, we see that there are four basic feasible solutions to the problem. We tabulate them below:— B {1, 2} {2, 3} {2, 4} {2, 5} x (1, 2, 0, 0, 0) (0, 95 , 75 , 0, 0) 7 (0, 46 , 0, 17 , 0) 17 26 (0, 9 , 0, 0, 97 ) 247 17 139 9 Cost 11 10 = 14.529 . . . = 15.444 . . . 61 4.6 A Linear Tableau Example with Five Variables and Three Constraints Example Consider the problem Ax = b and x ≥ 0, where 1 2 3 A= 2 3 1 4 2 5 cT = of minimizing cT x subject to constraints 3 5 2 3 , 1 4 13 b = 13 , 20 2 4 3 1 4 . As usual, we denote by Ai,j the coefficient of the matrix A in the ith row and jth column, we denote by bi the ith component of the m-dimensional vector b, and we denote by cj the jth component of the n-dimensional vector c. We let a(j) be the m-dimensional vector specified by the jth column of the matrix A for j = 1, 2, 3, 4, 5. Then 1 2 3 (1) (2) (3) 2 , a = 3 , a = 1 , a = 5 4 2 3 5 a(4) = 2 and a(5) = 3 . 1 4 A basis B for this linear programming problem is a subset of {1, 2, 3, 4, 5} consisting of distinct integers j1 , j2 , j3 for which the corresponding vectors a(j1 ) , a(j2 ) , a(j3 ) constitute a basis of the real vector space R3 . Given a basis B for the linear programming programming problem, where B = {j1 , j2 , j3 }, we denote by MB the matrix whose columns are specified by the vectors a(j1 ) , a(j2 ) and a(j3 ) . Thus (MB )i,k = Ai,jk for i = 1, 2, 3 and k = 1, 2, 3. We also denote by cB the 3-dimensional vector defined such that cTB = cj1 cj2 cj3 . The ordering of the columns of MB and cB is determined by the ordering of the elements j1 , j2 and j3 of the basis. However we shall proceed on the basis that some ordering of the elements of a given basis has been chosen, and the matrix MB and vector cB will be determined so as to match the chosen ordering. 62 Let j1 = 1, j2 = 2 and j3 = 3, and let B = {j1 , j2 , j3 } = {1, 2, 3}. Then B is a basis of the linear programming problem, and the invertible matrix MB determined by a(jk ) for k = 1, 2, 3 is the following 3 × 3 matrix:— 1 2 3 MB = 2 3 1 . 4 2 5 This matrix has determinant −23, and 13 4 7 − 23 23 13 −4 −7 23 −1 6 7 5 − 23 MB−1 = . −6 −7 5 = 23 23 23 8 6 1 −8 6 −1 − 23 23 23 Then MB−1 a(1) 1 = 0 , 0 MB−1 a(4) 0 = 1 , 0 0 MB−1 a(2) MB−1 a(3) = 0 , 1 25 − 23 − 24 23 31 27 −1 (5) = 23 and MB a = 23 . 13 23 Also 26 23 1 MB−1 b = 3 . 2 It follows that x is a basic feasible solution of the linear programming problem, where xT = 1 3 2 0 0 . The vectors a(1) , a(2) , a(3) , a(4) , a(5) , b, e(1) , e(2) and e(3) can then be expressed as linear combinations of a(1) , a(2) , a(3) with coefficients as recorded in the following tableau:— a(1) a(2) a(3) a(1) 1 0 0 a(2) 0 1 0 a(3) 0 0 1 a(4) − 24 23 a(5) 25 − 23 27 23 13 23 31 23 26 23 · · · · · 63 b e(1) 1 − 13 23 6 3 23 8 2 23 · · e(2) e(3) 4 23 7 23 6 − 23 7 23 5 − 23 1 23 · · There is an additional row at the bottom of the tableau. This row is the criterion row of the tableau. The values in this row have not yet been calculated, but, when calculated according to the rules described below, the values in the criterion row will establish whether the current basic feasible solution is optimal and, if not, how it can be improved. Ignoring the criterion row, we can represent the structure of the remainder of the tableau in block form as follows:— a(1) a(j1 ) .. . a(j3 ) a(5) ··· e(1) b ··· MB−1 A MB−1 b MB−1 · · · e(3) We now employ the principles of the Simplex Method in order to determine whether or not the current basic feasible solution is optimal and, if not, how to improve it by changing the basis. Let p be the 3-dimensional vector determined so that pT = cTB MB−1 . Then pT MB = cTB , and therefore pT a(jk ) = cjk for k = 1, 2, 3. It follows that (pT A)j = cj whenever j ∈ B. Putting in the relevant numerical values, we find that pT MB = cTB = cj1 cj2 cj3 = c1 c2 c3 = 2 4 3 , and therefore pT = 2 4 3 MB−1 = 22 23 18 23 −3 23 . We enter the values of p1 , p2 and p3 into the cells of the criterion row in the columns labelled by e(1) , e(2) and e(3) respectively. The tableau with these values entered is then as follows:— a(1) a(2) a(3) a(1) 1 0 0 a(2) 0 1 0 a(3) 0 0 1 a(4) − 24 23 a(5) 25 − 23 27 23 13 23 31 23 26 23 · · · · · 64 b e(1) 1 − 13 23 6 3 23 8 2 23 · 22 23 e(2) e(3) 4 23 7 23 6 − 23 18 23 7 23 5 − 23 1 23 3 − 23 The values in the criterion row in the columns labelled by e(1) , e(2) and e can be calculated from the components of the cost vector c and the values in these columns of the tableau. Indeed Let ri,k = (MB−1 )i,k for i = 1, 2, 3 and k = 1, 2, 3. Then each ri,k is equal to the value of the tableau element located in the row labelled by a(ji ) and the column labelled by e(k) . The definition of the vector p then ensures that (3) pk = cj1 r1,k + cj2 r2,k + cj3 r3,k for k = 1, 2, 3, where, for the current basis, j1 = 1, j2 = 2 and j3 = 3. The cost C of the current basic feasible solution x satisfies C = cT x. Now (pT A)j = cj for all j ∈ B, where B = {1, 2, 3}. Moreover the current basic feasible solution x satisfies xj = 0 when j 6∈ B, where xj = (x)j for j = 1, 2, 3, 4, 5. It follows that C − pT b = cT x − pT Ax = 5 X (cj − (pT A)j )xj j=1 = X T (cj − (p A)j )xj = 0, j∈B and thus C = cT x = pT b. Putting in the numerical values, we find that C = 20. We enter the cost C into the criterion row of the tableau in the column labelled by the vector b. The resultant tableau is then as follows:— a(1) a(2) a(3) a(1) 1 0 0 a(2) 0 1 0 a(3) 0 0 1 a(4) − 24 23 a(5) 25 − 23 27 23 13 23 31 23 26 23 b 1 3 2 · · · · · 20 e(1) − 13 23 6 23 8 23 22 23 e(2) e(3) 4 23 7 23 6 − 23 18 23 7 23 5 − 23 1 23 3 − 23 Let si denote the value recorded in the tableau in the row labelled by a(ji ) and the column labelled by b for i = 1, 2, 3. Then the construction of the tableau ensures that b = s1 a(j1 ) + s2 a(j2 ) + s3 a(j3 ) , and thus si = xji for i = 1, 2, 3, where (x1 , x2 , x3 , x4 , x5 ) is the current basic feasible solution. It follows that C = cj1 s1 + cj2 s2 + cj3 s3 , 65 where, for the current basis, j1 = 1, j2 = 2 and j3 = 3. Thus the cost of the current basic feasible solution can be calculated from the components of the cost vector c and the values recorded in the rows above the criterion row of the tableau in the column labelled by the vector b. We next determine a 5-dimensional vector q such that cT = pT A + qT . We find that −qT = pT A − cT = = = 1 2 3 3 22 18 −3 2 3 1 2 23 23 23 4 2 5 1 − 2 4 3 1 4 152 99 2 4 3 23 − 2 4 23 60 76 0 0 0 23 23 5 3 4 3 1 4 Thus q1 = 0, q2 = 0, q3 = 0, , q4 = − 76 23 q5 = − 60 . 23 The 4th and 5th components of the vector q are negative. It follows that the current basic feasible solution is not optimal. Indeed let x be a basic feasible solution to the problem, and let xj = (x)j for j = 1, 2, 3, 4, 5. Then the cost C of the feasible solution x satisfies C = cT x = pT Ax + qT x = pT b + qT x = C + qT x 76 60 = C − x4 − x 5 . 23 23 It follows that the basic feasible solution x will have lower cost if either x4 > 0 or x5 > 0. We enter the value of −qj into the criterion row of the tableau in the column labelled by a(j) for j = 1, 2, 3, 4, 5. The completed tableau associated with basis {1, 2, 3} is then as follows:— a(1) a(2) a(3) a(1) 1 0 0 a(2) 0 1 0 a(3) 0 0 1 0 0 0 a(4) − 24 23 a(5) 25 − 23 27 23 13 23 76 23 31 23 26 23 60 23 b 1 3 2 20 e(1) − 13 23 6 23 8 23 22 23 e(2) e(3) 4 23 7 23 6 − 23 18 23 7 23 5 − 23 1 23 3 − 23 We refer to this tableau as the extended simplex tableau associated with the basis {1, 2, 3}. The general structure of the extended simplex tableau is then as follows:— 66 a(j1 ) a(j2 ) a(j3 ) a(1) t1,1 t2,1 t3,1 −q1 a(2) t1,2 t2,2 t3,2 −q2 a(3) t1,3 t2,3 t3,3 −q3 a(4) t1,4 t2,4 t3,4 −q4 a(5) t1,5 t2,5 t3,5 −q5 e(1) r1,1 r2,1 r3,1 p1 b s1 s2 s3 C e(2) r1,2 r2,2 r3,2 p2 e(3) r1,3 r2,3 r3,3 p3 where j1 , j2 and j3 are the elements of the current basis, and where the coefficients ti,j si and ri,k are determined so that a(j) = 3 X ti,j a(ji ) , b= i=1 3 X si a(ji ) , e(k) = i=1 3 X ri,k a(ji ) i=1 for j = 1, 2, 3, 4, 5 and k = 1, 2, 3. The coefficients of the criterion row can then be calculated according to the following formulae:— pk = 3 X cji ri,k , C= i=1 3 X p i bi , −qj = i=1 3 X pi Ai,j − cj . i=1 The extended simplex tableau can then be represented in block form as follows:— a(1) a(j1 ) .. . (j3 ) a(5) ··· b e(1) ··· MB−1 A MB−1 b MB−1 pT A − cT pT b pT e(3) a The values in the criterion row in any column labelled by some a(j) can also be calculated from the values in the relevant column in the rows above the criterion row. To see this we note that the value entered into the tableau in the row labelled by a(ji ) and the column labelled by a(j) is equal to ti,j , where ti,j is the coefficient in the ith row and jth column of the matrix MB−1 A. Also pT = cTB MB−1 , where (cB )i = cji for i = 1, 2, 3. It follows that T p A= cTB MB−1 A = 3 X cji ti,j . i=1 Therefore −qj = (pT A)j − cj = cj1 t1,j + cj2 t2,j + cj3 t3,j − cj 67 for j = 1, 2, 3, 4, 5. The coefficients of the criterion row can then be calculated according to the formulae pk = 3 X cji ri,k , C= i=1 3 X cj i s i , −qj = i=1 3 X cji ti,j − cj . i=1 The extended simplex tableau can therefore also be represented in block form as follows:— a(1) a(j1 ) .. . a(5) ··· e(1) b ··· MB−1 A MB−1 b MB−1 cTB MB−1 A − cT cTB MB−1 b cTB MB−1 a(j3 ) e(3) We now carry through procedures for adjusting the basis and calculating the extended simplex tableau associated with the new basis. We recall that the extended simplex tableau corresponding to the old basis {1, 2, 3} is as follows:— a(1) a(2) a(3) a(1) 1 0 0 a(2) 0 1 0 a(3) 0 0 1 0 0 0 a(4) − 24 23 a(5) 25 − 23 27 23 13 23 76 23 31 23 26 23 60 23 e(1) − 13 23 b 1 3 2 6 23 8 23 22 23 20 e(2) e(3) 4 23 7 23 6 − 23 18 23 7 23 5 − 23 1 23 3 − 23 We now consider which of the indices 4 and 5 to bring into the basis. Suppose we look for a basis which includes the vector a(4) together with two of the vectors a(1) , a(2) and a(3) . A feasible solution x with x5 = 0 will satisfy 24 13 λ 3 − 27 λ 2 − λ λ 0 xT = 1 + 23 , 23 23 where λ = x4 . Indeed A(x − x) = 0, where x is the current basic feasible solution, and therefore (x1 − 1)a(1) + (x2 − 3)a(2) + (x3 − 2)a(3) + x4 a(4) = 0. Now 24 (1) a(4) = − 23 a + 68 27 (2) a 23 + 13 (3) a , 23 It follows that (x1 − 1 − 24 x )a(1) 23 4 + (x2 − 3 + 27 x )a(2) 33 4 + (x3 − 2 + 13 x )a(3) 23 4 = 0. But the vectors a(1) , a(2) and a(3) are linearly independent. Thus if x4 = λ and x5 = 0 then x1 − 1 − 24 λ 23 = 0, x2 − 3 + 27 λ 23 = 0, x3 − 2 + 13 λ 23 = 0, and thus x1 = 1 + 24 λ, 23 x2 = 3 − 27 λ, 23 x3 = 2 − 13 λ. 23 For the solution x to be feasible the components of x must all be nonnegative, and therefore λ must satisfy , 2 × 23 . λ ≤ min 3 × 23 27 13 69 46 Now 3 × 23 = 27 ≈ 2.56 and 2 × 23 = 13 ≈ 3.54. It follows that the maximum 27 13 possible value of λ is 69 . The feasible solution corresponding to this value of 27 λ is a basic feasible solution with basis {1, 3, 4}, and passing from the current basic feasible solution x to the new feasible basic solution would lower the 69 76 × 27 = 228 ≈ 8.44. cost by −q4 λ, where −q4 λ = 23 27 We examine this argument in more generality to see how to calculate the change in the cost that arises if an index j not in the current basis is brought into that basis. Let the current basis be {j1 , j2 , j3 }. Then b = s1 a(j1 ) + s2 a(j2 ) + s3 a(j3 ) and a(j) = t1,j a(j1 ) + t2,j a(j2 ) + t3,j a(j3 ) . Thus if x is a feasible solution, and if (x)j 0 = 0 for j 0 6∈ {j1 , j2 , j3 , j}, then xj1 a(j1 ) + xj2 a(j2 ) + xj3 a(j3 ) + xj a(j) − b = 0. Let λ = xj . Then (xj1 + λt1,j − s1 )a(j1 ) + (xj2 + λt2,j − s2 )a(j2 ) + (xj3 + λt3,j − s3 )a(j3 ) = 0. But the vectors a(j1 ) , a(j2 ) , a(j3 ) are linearly independent, because {j1 , j2 , j3 } is a basis for the linear programming problem. It follows that xji = si − λti,j for i = 1, 2, 3. 69 For a feasible solution we require λ ≥ 0 and si − λti,j ≥ 0 for i = 1, 2, 3. We therefore require si 0 ≤ λ ≤ min : ti,j > 0 . ti,j We could therefore obtain a new basic feasible solution by ejecting from the si current basis an index ji for which the ratio has its minimum value, where ti,j this minimum is taken over those values of i for which ti,j > 0. If we set λ equal to this minimum value, then the cost is then reduced by −qj λ. and s3 /t4,3 = 46 . Now With the current basis we find that s2 /t4,2 = 69 27 13 69 46 < 13 . It follows that we could bring the index 4 into the basis, obtaining 27 , given that a new basis {1, 3, 4}, to obtain a cost reduction equal to 228 13 76 69 228 × 27 = 13 ≈ 8.44. 23 We now calculate the analogous cost reduction that would result from 69 and s3 /t5,3 = 46 . bringing the index 5 into the basis. Now s2 /t5,2 = 31 26 46 69 Moreover 26 < 31 . It follows that we could bring the index 5 into the basis, 46 × 26 = obtaining a new basis {1, 2, 5}, to obtain a cost reduction equal to 60 23 120 ≈ 4.62. 26 We thus obtain the better cost reduction by changing basis to {1, 3, 4}. We need to calculate the tableau associated with the basis {1, 3, 4}. We will initially ignore the change to the criterion row, and calculate the updated values in the cells of the other rows. The current tableau with the values in the criterion row deleted is as follows:— a(1) a(2) a(3) a(1) 1 0 0 a(2) 0 1 0 a(3) 0 0 1 a(4) − 24 23 a(5) 25 − 23 27 23 13 23 31 23 26 23 · · · · · b e(1) 1 − 13 23 6 3 23 8 2 23 · e(2) e(3) 4 23 7 23 6 − 23 7 23 5 − 23 1 23 · · · Let v be a vector in R3 and suppose that v = µ1 a(1) + µ2 a(2) + µ3 a(3) = µ01 a(1) + µ02 a(4) + µ03 a(3) . Now 24 (1) a(4) = − 23 a + On multiplying this equation by 23 (4) a 27 23 , 27 27 (2) a 23 + 13 (3) a . 23 we find that = − 24 a(1) + a(2) + 27 70 13 (3) a , 27 and therefore a(2) = 24 (1) a 27 + 23 (4) a 27 − 13 (3) a . 27 It follows that v = (µ1 + 24 µ )a(1) 27 2 + 23 µ a(4) 27 2 13 µ )a(3) , 27 2 + (µ3 − and thus µ01 = µ1 + µ02 = 24 µ, 27 2 23 µ, 27 2 µ03 = µ3 − 13 µ. 27 2 Now each column of the tableau specifies the coefficients of the vector labelling the column of the tableau with respect to the basis specified by the vectors labelling the rows of the tableau. The pivot row of the old tableau is that labelled by the vector a(2) that is being ejected from the basis. The pivot column of the old tableau is that labelled by the vector a(4) that is being brought into the basis. The pivot element of the tableau is the element or value in both the pivot row and the 27 . pivot column. In this example the pivot element has the value 23 We see from the calculations above that the values in the pivot row of the of the old tableau are transformed by multiplying them by the reciprocal 23 27 pivot element; the entries in the first row of the old tableau are transformed by adding to them the entries below them in the pivot row multiplied by the factor 24 ; the values in the third row of the old tableau are transformed by 27 subtracting from them the entries above them in the pivot row multiplied by 13 . the factor 27 0 Indeed the coefficients ti,j , si , ri,k , t0i,j , s0i and ri,k are defined for i = 1, 2, 3, j = 1, 2, 3, 4, 5 and k = 1, 2, 3 so that (j) a = b = e(k) = 3 X i=1 3 X i=1 3 X (ji ) ti,j a 3 X = si a(ji ) = i=1 3 X 0 s0i a(ji ) , i=1 3 X ri,k a(ji ) = i=1 0 t0i,j a(ji ) , 0 0 ri,k a(ji ) , i=1 where j1 = j10 = 1, j3 = j30 = 3, j2 = 2 and j20 = 4. The general rule for transforming the coefficients of a vector when changing from the basis a(1) , a(2) , a(3) to the basis a(1) , a(4) , a(3) ensure that t02,j = 1 t2,4 t2,j , 71 t0i,j = ti,j − s02 = 1 t2,4 1 t2,4 (i = 1, 3). s2 , s0i = si − 0 r2,k = ti,4 t2,j t2,4 ti,4 s2 t2,4 (i = 1, 3). r2,j , 0 ri,k = ri,k − ti,4 r2,k t2,4 (i = 1, 3). The quantity t2,4 is the value of the pivot element of the old tableau. The quantities t2,j , s2 and r2,k are those that are recorded in the pivot row of that tableau, and the quantities ti,4 are those that are recorded in the pivot column of the tableau. We thus obtain the following tableau:– a(1) a(4) a(3) a(1) 1 0 0 · a(2) a(4) 0 1 0 a(5) b 24 27 23 27 13 − 27 a(3) 0 0 1 3 27 31 27 13 27 99 27 69 27 15 27 · · · · · e(1) 9 − 27 e(2) e(3) 6 27 6 27 12 27 7 27 11 − 27 3 27 5 − 27 4 27 · · · The values in the column of the tableau labelled by the vector b give us the components of a new basic feasible solution x0 . Indeed the column specifies that 69 (4) b = 99 a(1) + 27 a + 15 a(2) , 27 27 and thus Ax0 = b where x0T = 99 27 0 15 27 69 27 0 . We now calculate the new values for the criterion row. The new basis B 0 is given by B 0 = {j10 , j20 , j30 }, where j10 = 1, j20 = 4 and j30 = 3. The values p01 , p02 and p03 that are to be recorded in the criterion row of the new tableau in the columns labelled by e(1) , e(2) and e(3) respectively are determined by the equation 0 0 0 p0k = cj10 r1,k + cj20 r2,k + cj30 r3,k 72 for k = 1, 2, 3, where cj10 = c1 = 2, cj20 = c4 = 1, cj30 = c3 = 3, 0 denotes the ith component of the vector e(k) with respect to and where ri,k the basis a(1) , a(4) , a(3) of R3 . We find that 0 0 0 p01 = cj10 r1,1 + cj20 r2,1 + cj30 r3,1 9 6 = 2 × − 27 + 1 × 27 +3× 0 0 0 0 p2 = cj10 r1,2 + cj20 r2,2 + cj30 r3,2 p03 6 27 = 6 , 27 12 2 7 = − 27 = 2 × 27 + 1 × 27 + 3 × − 11 , 27 0 0 0 = cj10 r1,3 + cj20 r2,3 + cj30 r3,3 5 4 3 = 2 × 27 + 1 × − 27 + 3 × 27 = 13 . 27 We next calculate the cost C 0 of the new basic feasible solution. The quantities s01 , s02 and s03 satisfy s0i = x0ji for i = 1, 2, 3, where (x01 , x02 , x03 , x04 , x05 ) is the new basic feasible solution. It follows that C 0 = cj1 s01 + cj2 s02 + cj3 s03 , where s1 , s2 and s3 are determined so that 0 0 0 b = s01 a(j1 ) + s02 a(j2 ) + s03 a(j3 ) . The values of s01 , s02 and s03 have already been determined, and have been recorded in the column of the new tableau labelled by the vector b. We can therefore calculate C 0 as follows:— C 0 = cj10 s01 + cj2 s02 + cj3 s03 = c1 s01 + c4 s02 + c3 s03 15 99 + 69 + 3 × 27 = 312 . = 2 × 27 27 27 Alternatively we can use the identity C 0 = p0T b to calculate C 0 as follows: C 0 = p01 b1 + p02 b2 + p03 b3 = 6 27 × 13 − 2 27 × 13 + 13 27 × 20 = 312 . 27 We now enter the values of p01 , p02 , p03 and C 0 into the tableau associated with basis {1, 4, 3}. The tableau then takes the following form:— a(1) a(4) a(3) a(1) 1 0 0 · a(2) a(4) 0 1 0 a(5) b 24 27 23 27 13 − 27 a(3) 0 0 1 3 27 31 27 13 27 · · · · 99 27 69 27 15 27 312 27 73 e(1) 9 − 27 6 27 6 27 6 27 e(2) e(3) 12 27 7 27 − 11 27 2 − 23 3 27 5 − 27 4 27 13 23 In order to complete the extended tableau, it remains to calculate the values −qj0 for j = 1, 2, 3, 4, 5, where qj0 satisfies the equation −qj0 = p0T aj −cj for j = 1, 2, 3, 4, 5. Now qj0 is the jth component of the vector q0 that satisfies the matrix equation −q0T = p0T A − cT . It follows that −q0 T = p0T A − cT 1 2 3 3 6 −2 13 2 3 1 2 27 27 27 4 2 5 1 − 2 4 3 1 4 3 1 76 2 32 − 2 4 27 27 76 0 − 27 0 0 − 32 27 = = = 5 3 4 3 1 4 Thus q20 = q10 = 0, q40 = 0, q30 = 0, 76 , 27 q50 = 32 . 27 The value of each qj0 can also be calculated from the other values recorded in the column of the extended simplex tableau labelled by the vector a(j) . 0 Indeed the vector p0 is determined so as to satisfy the equation p0T a(j ) = cj 0 for all j 0 ∈ B 0 . It follows that 0T (j) p a = 3 X 0T (ji0 ) ti,j p a = i=1 and therefore −qj0 = 3 X cji0 t0i,j , i=1 3 X cji0 t0i,j − cj . i=1 The extended simplex tableau for the basis {1, 4, 3} has now been computed, and the completed tableau is as follows:— a(1) a(4) a(3) a(1) 1 0 0 0 a(2) 24 27 23 27 13 − 27 76 − 27 a(3) 0 0 1 a(4) 0 1 0 0 0 a(5) b 3 27 31 27 13 27 − 32 27 99 27 69 27 15 27 312 27 e(1) 9 − 27 6 27 6 27 6 27 e(2) e(3) 12 27 7 27 − 11 27 2 − 23 3 27 5 − 27 4 27 13 23 The fact that qj0 ≥ 0 for j = 1, 2, 3, 4, 5 shows that we have now found our basic optimal solution. Indeed the cost C of any feasible solution x satisfies C = cT x = p0T Ax + q0T x = p0T b + q0T x 74 = C 0 + q0T x 76 32 = C 0 + x2 + x5 , 27 27 where x2 = (x)2 and x5 = (x)5 . Therefore x0 is a basic optimal solution to the linear programming problem, where 69 0 15 0 . x0T = 99 27 27 27 It is instructive to compare the pivot row and criterion row of the tableau for the basis {1, 2, 3} with the corresponding rows of the tableau for the basis {1, 4, 3}. These rows in the old tableau for the basis {1, 2, 3} contain the following values:— a(2) a(1) 0 a(2) 1 a(3) 0 0 0 0 a(4) a(5) 27 23 76 23 31 23 60 23 b 3 20 e(1) e(2) 6 23 22 23 7 23 18 23 e(3) 5 − 23 3 − 23 The corresponding rows in the new tableau for the basis {1, 4, 3} contain the following values:— a(4) a(1) 0 0 a(2) 23 27 76 − 27 a(3) 0 a(4) 1 0 0 a(5) b e(1) e(2) 31 27 − 32 27 69 27 312 27 6 27 6 27 7 27 2 − 23 e(3) 5 − 27 13 23 If we examine the values of the criterion row in the new tableau we find that they are obtained from corresponding values in the criterion row of the old tableau by subtracting off the corresponding elements of the pivot row of . As a result, the new tableau has the old tableau multiplied by the factor 76 27 value 0 in the cell of the criterion row in column a(4) . Thus the same rule used to calculate values in other rows of the new tableau would also have yielded the correct elements in the criterion row of the tableau. We now investigate the reasons why this is so. First we consider the transformation of the elements of the criterion row in the columns labelled by a(j) for j = 1, 2, 3, 4, 5. Now the coefficients ti,j and t0i,j are defined for i = 1, 2, 3 and j = 1, 2, 3, 4, 5 so that a(j) = 3 X ti,j a(ji ) = i=1 3 X i=1 75 0 t0i,j a(ji ) , where j1 = j10 = 1, j3 = j30 = 3, j2 = 2 and j20 = 4. Moreover t02,j = and t0i,j = ti,j − 1 t2,4 t2,j ti,4 t2,j t2,4 (i = 1, 3). Now −qj = 3 X cji ti,j − cj i=1 −qj0 = c1 t1,j + c2 t2,j + c3 t3,j − cj , 3 X = cji0 t0i,j − cj . = i=1 c1 t01,j + c4 t02,j + c3 t03,j − cj . Therefore qj − qj0 = c1 (t01,j − t1,j ) + c4 t02,j − c2 t2,j + c3 (t03,j − t3,j ) 1 = (−c1 t1,4 + c4 − c2 t2,4 − c3 t3,4 ) t2,j t2,4 q4 = t2,j t2,4 and thus −qj0 = −qj + q4 t2,j t2,4 for j = 1, 2, 3, 4, 5. Next we note that C = C0 = 3 X i=1 3 X cji si = c1 s1 + c2 s2 + c3 s3 , cji0 s0i = c1 s01 + c4 s02 + c3 s03 . i=1 Therefore C 0 − C = c1 (s01 − s1 ) + c4 s02 − c2 s2 + c3 (s03 − s3 ) 1 = (−c1 t1,4 + c4 − c2 t2,4 − c3 t3,4 ) s2 t2,4 q4 s2 = t2,4 76 and thus C 0 = qk + q4 s2 t2,4 for k = 1, 2, 3. To complete the verification that the criterion row of the extended simplex tableau transforms according to the same rule as the other rows we note that pk = p0k = 3 X i=1 3 X cji ri,k = c1 r1,k + c2 r2,k + c3 r3,k , 0 0 0 0 cji0 ri,k = c1 r1,k + c4 r2,k + c3 r3,k . i=1 Therefore 0 0 0 p0k − pk = c1 (r1,k − r1,k ) + c4 r2,k − c2 r2,k + c3 (r3,k − r3,k ) 1 (−c1 t1,4 + c4 − c2 t2,4 − c3 t3,4 ) r2,k = t2,4 q4 = r2,k t2,4 and thus p0k = pk + q4 r2,k t2,4 for k = 1, 2, 3. This completes the discussion of the structure and properties of the extended simplex tableau associated with the optimization problem under discussion. 4.7 Some Results concerning Finite-Dimensional Real Vector Spaces We consider the representation of vectors belonging to the m-dimensional vector space Rm as linear combinations of basis vectors belonging to some chosen basis of this m-dimensional real vector space. Elements of Rm are normally considered to be column vectors represented by m × 1 matrices. Given any v ∈ Rm , we denote by (v)i the ith component of the vector v, and we denote by vT the 1 × m row vector that is the transpose of the column vector representing v ∈ Rm . Thus vT = v1 v2 · · · vm , 77 where vi = (v)i for i = 1, 2, . . . , m. We define the standard basis of the real vector space Rm to be the basis e(1) , e(2) , . . . , e(m) defined such that (k) (e )i = It follows that v = m P 1 if k = i; 0 if k 6= i. (v)i e(i) for all v ∈ Rm . i=1 Let u(1) , u(2) , . . . , u(m) be a basis of the real vector space Rm , and let e(1) , e(2) , . . . , e(m) denote the standard basis of Rm . Then there exists an invertible m × m matrix M with the property that (k) u m X = (M )i,k e(i) i=1 for k = 1, 2, . . . , m. The product M v is defined in the usual fashion for any m-dimensional vector v: the vector v is expressed as an m × 1 column vector, and the matrix product is then calculated according to the usual rules of matrix multiplication, so that (M v)i = m X (M )i,k (v)k , k=1 and thus Mv = m X m X (i) Mi,k (v)k e = i=1 k=1 m X (v)k u(k) . k=1 Then M e(i) = u(i) for i = 1, 2, . . . , m. The inverse matrix M −1 of M then satisfies M −1 u(i) = e(i) for i = 1, 2, . . . , m. Lemma 4.3 Let m be a positive integer, let u(1) , u(2) , . . . , u(m) be a basis of Rm , let e(1) , e(2) , . . . , e(m) denote the standard basis of Rm , and let M be the non-singular matrix that satisfies M e(i) = u(i) for i = 1, 2, . . . , m. Let v be a vector in Rm , and let λ1 , λ2 , . . . , λm be the unique real numbers for which v= m X λi u(i) . i=1 Then λi is the ith component of the vector M −1 v for i = 1, 2, . . . , m. 78 Proof The inverse matrix M −1 of M satisfies M −1 u(k) = e(k) for k = 1, 2, . . . , m. It follows that M −1 v = m X λk M −1 u(k) = k=1 m X λk e(k) , k=1 and thus λ1 , λ2 , . . . , λm are the components of the column vector M −1 v, as required. Lemma 4.4 Let m be a positive integer, let u(1) , u(2) , . . . , u(m) be a basis of Rm , let e(1) , e(2) , . . . , e(m) denote the standard basis of Rm , and let M be the non-singular matrix that satisfies M e(i) = u(i) for i = 1, 2, . . . , m. Then e (k) = m X ri,k u(i) , i=1 where ri,k is the coefficient (M −1 )i,k in the ith row and kth column of the inverse M −1 of the matrix M . Proof It follows from Lemma 4.3 that e(k) = m P ri,k u(i) , where the coeffi- i=1 cients ri,k satisfy ri,k = (M −1 e(k) )i for i = 1, 2, . . . , m. But M −1 e(k) is the column vector whose components are those of the kth column of the matrix M −1 . The result follows. Lemma 4.5 Let m be a positive integer, let u(1) , u(2) , . . . , u(m) be a basis of Rm , let e(1) , e(2) , . . . , e(m) denote the standard basis of Rm , let M be the nonsingular matrix that satisfies M e(i) = u(i) for i = 1, 2, . . . , m, and let ri,k = (M −1 )i,k for i = 1, 2, . . . , m and k = 1, 2, . . . , m. Let g1 , g2 , . . . , gm be real m P P (k) numbers, and let p = m p e , where p = gi ri,k for k = 1, 2, . . . , m. k k=1 k i=1 Then pT u(i) = gi for i = 1, 2, . . . , m. Proof It follows from the definition of the matrix M that (u(i) )k = (M )k,i for all integers i and k between 1 and m. It follows that the ith component of the row vector pT M is equal to pT u(i) for i = 1, 2, . . . , m. But the definition of the vector p ensures that pi is the ith component of the row vector gT M −1 , where g ∈ R is defined so that gT = g1 g2 · · · gm . It follows that pT = gT M −1 , and therefore pT M = gT . Taking the ith component of the row vectors on both sides of this equality, we find that pT u(i) = gi , as required. 79 Lemma 4.6 Let m be a positive integer, let u(1) , u(2) , . . . , u(m) and û(1) , û(2) , . . . , û(m) be bases of Rm , and let v be an element of Rm . Let h be an integer between 1 m P and m. Suppose that û(h) = µi u(i) , where µ1 , µ2 , . . . , µm are real numbers, i=1 and that u(i) = û(i) for all integers i between 1 and m satisfying i 6= h. Let m m P P v= λi u(i) = λ̂i û(i) . where λi ∈ R and λ̂i ∈ R for i = 1, 2, . . . , m. Then i=1 i=1 λ̂(i) 1 λh if i = h; µh = µi λi − λh if i 6= h. µh Proof From the representation of û(h) as a linear combination of the basis vectors u(1) , u(2) , . . . , u(m) we find that X µi 1 (h) û = u(h) + u(i) . µh µ h 1≤i≤m i6=h Moreover û(i) = u(i) for all integers i between 1 and m satisfying i 6= h. It follows that X µi 1 (h) û − û(i) . u(h) = µh µh 1≤i≤m i6=h It follows that n n X X (i) λ̂i û = v= λi u(i) i=1 i=1 = X λi û(i) + 1≤i≤m i6=h = X 1≤i≤m i6=h X µi 1 λh û(h) − λh u(i) . µh µ h 1≤i≤m i6=h λi − µi 1 λh û(i) + λh û(h) µh µh Therefore, equating coefficients of û(i) for i = 1, 2, . . . , n, we find that 1 λh if i = h, µh λ̂(i) = µi λi − λh if i 6= h, µh as required. 80 4.8 The Extended Simplex Tableau for solving Linear Programming Problems We now consider the construction of a tableau for a linear programming problem in Dantzig standard form. Such a problem is specified by an m × n matrix A, an m-dimensional target vector b ∈ Rm and an n-dimensional cost vector c ∈ Rn . We suppose moreover that the matrix A is of rank m. We consider procedures for solving the following linear program in Danzig standard form. Determine x ∈ Rn so as to minimize cT x subject to the constraints Ax = b and x ≥ 0. We denote by Ai,j the component of the matrix A in the ith row and jth column, we denote by bi the ith component of the target vector b for i = 1, 2, . . . , m, and we denote by cj the jth component of the cost vector c for j = 1, 2, . . . , n. We recall that a feasible solution to this problem consists of an n-dimensional vector x that satisfies the constraints Ax = b and x ≥ 0 (see Subsection 4.2). A feasible solution of the linear programming problem then consists of nonnegative real numbers x1 , x2 , . . . , xn for which n X xj a(j) = b. j=1 A feasible solution determined by x1 , x2 , . . . , xn is optimal if it minimizes cost n P cj xj amongst all feasible solutions to the linear programming problem. j=1 Let j1 , j2 , . . . , jm be distinct integers between 1 and n that are the elements of a basis B for the linear programming problem. Then the vectors a(j) for j ∈ B constitute a basis of the real vector space Rm . (see Subsection 4.4). We denote by MB the invertible m×m matrix whose component (M )i,k in the ith row and jth column satisfies (MB )i,k = (A)i,jk for i, k = 1, 2, . . . , m. Then the kth column of the matrix MB is specified by the column vector a(jk ) for k = 1, 2, . . . , m, and thus the columns of the matrix MB coincide with those columns of the matrix A that are determined by elements of the basis B. Every vector in Rm can be expressed as a linear combination of the basis vectors a(j1 ) , a(j2 ) , . . . , a(jm ) . It follows that there exist uniquely determined real numbers ti,j and si for i = 1, 2, . . . , m and j = 1, 2, . . . , n such that (j) a = m X (ji ) ti,j a and b = i=1 m X i=1 81 si a(ji ) . It follows from Lemma 4.3 that ti,j = (MB−1 a(j) )i and si = (MB−1 b)i for i = 1, 2, . . . , m. The standard basis e(1) , e(2) , . . . , e(m) of Rm is defined such that 1 if k = i; (k) (e )i = 0 if k 6= i. It follows from Lemma 4.4 that e (k) = m X ri,k u(i) , i=1 where ri,k is the coefficient (MB−1 )i,k in the ith row and kth column of the inverse MB−1 of the matrix MB . We can record the coefficients of the m-dimensional vectors a(1) , a(2) , . . . , a(n) , b, e(1) , e(2) , . . . , e(m) with respect to the basis a(j1 ) , a(j2 ) , . . . , a(jm ) , of Rm in a tableau of the following form:— a(j1 ) a(j2 ) .. . a(jm ) a(1) t1,1 t2,1 .. . a(2) t1,2 t2,2 .. . ··· ··· ··· .. . a(n) t1,n t2,n .. . b s1 s2 .. . e(1) r1,1 r2,1 .. . e(2) r1,2 r2,2 .. . ··· ··· ··· .. . e(m) r1,m r2,m .. . tm,1 · tm,2 · · · · tm,n ··· · sm · rm,1 · rm,2 · ··· ··· rm,m · The definition of the quantities ti,j ensures that 1 if i = k; ti,jk = 0 if i 6= k. Also ti,j = m X ri,k Ai,j k=1 for i = 1, 2, . . . , m and j = 1, 2, . . . , n, and si = m X k=1 82 ri,k bk for i = 1, 2, . . . , m. If the quantities s1 , s2 , . . . , sm are all non-negative then they determine a basic feasible solution x of the linear programming problem associated with the basis B with components x1 , x2 , . . . , xn , where xji = si for i = 1, 2, . . . , m and xj = 0 for all integers j between 1 and n that do not belong to the basis B. Indeed n X (j) xj a = j=1 m X (ji ) xji a m X = i=1 si a(ji ) . i=1 The cost C of the basic feasible solution x is defined to be the value cT x of the objective function. The definition of the quantities s1 , s2 , . . . , sm ensures that n m X X C= cj x j = cj i s i . j=1 i=1 If the quantities s1 , s2 , . . . , sn are not all non-negative then there is no basic feasible solution associated with the basis B. The criterion row at the bottom of the tableau has cells to record quantities p1 , p2 , . . . , pm associated with the vectors that constitute the standard basis e(1) , e(2) , . . . , e(m) of Rm . These quantities are defined so that pk = m X cji ri,k i=1 for k = 1, 2, . . . , m, where cji is the cost associated with the basis vector a(ji ) for i = 1, 2, . . . , k, An application of Lemma 4.5 establishes that m X pk Ak,ji = cji k=1 for i = 1, 2, . . . , k. On combining the identities si = m X ri,k bk , pk = m X cji ri,k and C = i=1 k=1 m X i=1 derived above, we find that C= m X i=1 cji si = m X m X i=1 k=1 83 cji ri,k bk = m X k=1 p k bk . cji si The tableau also has cells in the criterion row to record quantities −q1 , −q2 , . . . , −qn , where q1 , q2 , . . . , qn are the components of the unique n-dimensional vector q characterized by the following properties: • qji = 0 for i = 1, 2, . . . , m; • cT x = C + qT x for all x ∈ Rm satisfying the matrix equation Ax = b. First we show that if q ∈ Rn is defined such that qT = cT − pT A then the vector q has the required properties. The definition of p1 , p2 , . . . , pk ensures (as a consequence of Lemma 4.5, as noted above) that m X pk Ak,ji = cji k=1 for i = 1, 2, . . . , k. It follows that T qji = cji − (p A)ji = cji − m X pk Ak,ji = 0 k=1 for i = 1, 2, . . . , n. Also pT b = C. It follows that if x ∈ Rn satisfies Ax = b then cT x = pT Ax + qT x = pT b + qT x = C + qT x. Thus if qT = cT − pT A then the vector q satisfies the properties specified above. We next show that m X (pT A)j = cji ti,j i=1 for j = 1, 2, . . . , n. Now ti,j = m X ri,k Ak,j k=1 for i = 1, 2, . . . , m and j = 1, 2, . . . , n. (This is a consequence of the identities (j) a = m X Ak,j e (k) = m X m X i=1 k=1 k=1 84 ri,k Ak,j a(ji ) , as noted earlier.) Also the definition of pk ensures that pk = m X cji ri,k i=1 for k = 1, 2, . . . , m. These results ensure that m X cji ti,j = m X m X i=1 cji ri,k Ak,j = m X i=1 k=1 k=1 m X m X It follows that −qj = pk Ak,j − cj = pk Ak,j = (pT A)j . cji ti,k − cj i=1 k=1 for j = 1, 2, . . . , n. The extended simplex tableau associated with the basis B is obtained by entering the values of the quantities −qj (for j = 1, 2, . . . , n), C and pk (for k = 1, 2, . . . , m) into the bottom row to complete the tableau described previously. The extended simplex tableau has the following structure:— a(j1 ) a(j2 ) .. . a(jm ) a(1) t1,1 t2,1 .. . a(2) t1,2 t2,2 .. . ··· ··· ··· .. . a(n) t1,n t2,n .. . b s1 s2 .. . e(1) r1,1 r2,1 .. . e(2) r1,2 r2,2 .. . ··· ··· ··· .. . e(m) r1,m r2,m .. . tm,1 −q1 tm,2 −q2 ··· ··· tm,n −qn sm C rm,1 p1 rm,2 p2 ··· ··· rm,m pm The extended simplex tableau can be represented in block form as follows:— a(1) a(j1 ) .. . a(jm ) ··· a(n) e(1) b ··· MB−1 A MB−1 b MB−1 pT A − cT pT b pT e(m) Let cB denote the m-dimensional vector defined so that cTB = cj1 cj2 · · · cjm . The identities we have verified ensure that the extended simplex tableau can therefore also be represented in block form as follows:— 85 a(1) a(j1 ) .. . (jm ) ··· a(n) e(1) b ··· e(m) MB−1 A MB−1 b MB−1 cTB MB−1 A − cT cTB MB−1 b cTB MB−1 a Given an m × n matrix A of rank m, an m-dimensional target vector b, and an n-dimensional cost vector c, there exists an extended simplex tableau associated with any basis B for the linear programming problem, irrespective of whether or not there exists a basic feasible solution associated with the given basis B. The crucial requirement that enables the construction of the tableau is that the basis B should consist of m distinct integers j1 , j2 , . . . , jm between 1 and m for which the corresponding columns of the matrix A constitute a basis of the vector space Rm . A basis B is associated with a basic feasible solution of the linear programming problem if and only if the values in the column labelled by the target vector b and the rows labelled by a(j1 ) , a(j2 ) , . . . , a(jm ) should be nonnegative. If so, those values will include the non-zero components of the basic feasible solution associated with the basis. If there exists a basic feasible solution associated with the basis B then that solution is optimal if and only if all the values in the criterion row in the columns labelled by a(1) , a(2) , . . . , a(n) are all non-positive. Versions of the Simplex Tableau Algorithm for determining a basic optimal solution to the linear programmming problem, given an initial basic feasible solution, rely on the transformation rules that determine how the values in the body of the extended simplex tableau are transformed on passing from an old basis B to an new basis B 0 , where the new basis B 0 contains all but one of the members of the old basis B. Let us refer to the rows of the extended simplex tableau labelled by the basis vectors a(1) , a(2) , . . . , a(n) as the basis rows of the tableau. Lemma 4.6 determines how entries in the basis rows of the extended simplex tableau transform which one element of the basis is replaced by an element not belonging to the basis. Let the old basis B consist of distinct integers j1 , j2 , . . . , jm between 1 0 and n, and let the new basis B 0 also consist of distinct integers j10 , j20 , . . . , jm 0 between 1 and n. We suppose that the new basis B is obtained from the old basis by replacing an element jh of the old basis B by some integer jh0 between 1 and n that does not belong to the old basis. We suppose therefore that ji = ji0 when i 6= h, and that jh0 is some integer between 1 and n that 86 does not belong to the basis B. 0 Let the coefficients ti,j , t0i,j , si , s0i , ri,k and ri,k be determined for i = 1, 2, . . . , m, j = 1, 2, . . . , n and k = 1, 2, . . . , m so that (j) a = m X (ji ) ti,j a m X = i=1 0 t0i,j a(ji ) i=1 for j = 1, 2, . . . , n, b= m X (ji ) si a i=1 and e(k) = m X = m X 0 s0i a(ji ) i=1 ri,k a(ji ) = i=1 m X 0 0 a(ji ) ri,k i=1 for k = 1, 2, . . . , m. It then follows from Lemma 4.6 that 1 th,j , t0h,j = th,jh0 ti,j 0 t0i,j = ti,j − h th,j (i 6= h). th,jh0 1 s0h = sh , th,jh0 ti,j 0 s0i = si − h sh (i 6= h), th,jh0 1 0 rh,k = rh,k , th,jh0 ti,j 0 0 ri,k = ri,k − h rh,k (i 6= h). th,jh0 The pivot row of the extended simplex tableau for this change of basis from B to B 0 is the row labelled by the basis vector a(jh ) that is to be removed from the current basis. The pivot column of the extended simplex tableau 0 for this change of basis is the column labelled by the vector a(jh ) that is to be added to the current basis. The pivot element for this change of basis is the element th,jh0 of the tableau located in the pivot row and pivot column of the tableau. The identities relating the components of a(j) , b and e(k) with respect to the old basis to the components of those vectors with respect to the new basis ensure that the rules for transforming the rows of the tableau other than the criterion row can be stated as follows:— 87 • a value recorded in the pivot row is transformed by dividing it by the pivot element; • an value recorded in a basis row other than the pivot row is transformed by substracting from it a constant multiple of the value in the same column that is located in the pivot row, where this constant multiple is the ratio of the values in the basis row and pivot row located in the pivot column. In order to complete the discussion of the rules for transforming the values recorded in the extended simplex tableau under a change of basis that replaces an element of the old basis by an element not in that basis, it remains to analyse the rule that determines how the elements of the criterion row are transformed under this change of basis. First we consider the transformation of the elements of the criterion row in the columns labelled by a(j) for j = 1, 2, . . . , n. Now the coefficients ti,j and t0i,j are defined for i = 1, 2, . . . , m and j = 1, 2, . . . , n so that a(j) = m X ti,j a(ji ) = i=1 m X 0 t0i,j a(ji ) , i=1 where j1 = j10 = 1, j3 = j30 = 3, j2 = 2 and j20 = 4. Moreover 1 t0h,j = th,jh0 and t0i,j = ti,j − th,j ti,jh0 th,j th,jh0 for all integers i between 1 and m for which i 6= h. Now m X −qj = cji ti,j − cj i=1 and −qj0 = m X cji0 t0i,j − cj . i=1 Therefore qj − qj0 = X cji (t0i,j − ti,j ) + cjh0 t0h,j − cjh th,j 1≤i≤m i6=h 88 1 − th,jh0 qjh0 = th,j th,jh0 = ! m X cji ti,jh0 + cjh0 th,j i=1 and thus qjh0 th,j th,jh0 −qj0 = −qj + for j = 1, 2, . . . , n. Next we note that C= m X cj i s i i=1 and 0 C = m X cji0 s0i . i=1 Therefore C0 − C = X cji (s0i − si ) + cjh0 s0h − cjh sh 1≤i≤m i6=h = 1 th,jh0 qjh0 = sh th,jh0 − m X ! cji ti,jh0 + cjh0 sh i=1 and thus C 0 = qk + qjh0 sh th,jh0 for k = 1, 2, . . . , m. To complete the verification that the criterion row of the extended simplex tableau transforms according to the same rule as the other rows we note that pk = m X cji ri,k i=1 and p0k = m X i=1 89 0 cji0 ri,k . Therefore p0k − pk = X 0 0 cji (ri,k − ri,k ) + cjh0 rh,k − cjh rh,k 1≤i≤m i6=h 1 − th,jh0 qjh0 = rh,k th,jh0 = m X ! cji ti,jh0 + cjh0 rh,k i=1 and thus p0k = pk + qjh0 rh,k th,jh0 for k = 1, 2, . . . , m. We conclude that the criterion row of the extended simplex tableau transforms under changes of basis that replace one element of the basis according to a rule analogous to that which applies to the basis rows. Indeed an element of the criterion row is transformed by subtracting from it a constant multiple of the element in the pivot row that belongs to the same column, where the multiplying factor is the ratio of the elements in the criterion row and pivot row of the pivot column. We have now discussed how the extended simplex tableau associated with a given basis B is constructed from the constraint matrix A, target vector b and cost vector c that characterizes the linear programming problem. We have also discussed how the tableau transforms when one element of the given basis is replaced. It remains how to replace an element of a basis associated with a nonoptimal feasible solution so as to obtain a basic feasible solution of lower cost where this is possible. We use the notation previously established. Let j1 , j2 , . . . , jm be the elements of a basis B that is associated with some basic feasible solution of the linear programming problem. Then there are non-negative numbers s1 , s2 , . . . , sm such that m X b= si a(ji ) , i=1 (ji ) where a is the m-dimensional vector determined by column ji of the constraint matrix A. Let j0 be an integer between 1 and n that does not belong to the basis B. Then m X (j0 ) a − ti,j0 a(ji ) = 0. i=1 90 and therefore (j0 ) λa + m X (si − λti,j0 )a(ji ) = b. i=1 This expression representing b as a linear combination of the basis vectors a(j0 ) , a(j1 ) , a(j2 ) , . . . , a(jm ) determines an n-dimensional vector x(λ) satisfying the matrix equation Ax(λ) = b. Let xj (λ) denote the jth component of the vector x(λ) for j = 1, 2, . . . , n. Then • xj0 (λ) = λ; • xji (λ) = si − λti,j0 for i = 1, 2, . . . , m; • xj = 0 when j 6∈ {j0 , j1 , j2 , . . . , jm }. The n-dimensional vector x(λ) represents a feasible solution of the linear programming problem if and only if all its coefficients are non-negative. The cost is then C + qj0 λ, where C is the cost of the basic feasible solution determined by the basis B. Suppose that qj0 < 0 and that ti,j0 ≤ 0 for i = 1, 2, . . . , m. Then x(λ) is a feasible solution with cost C + qj0 λ for all non-negative real numbers λ. In this situation there is no optimal solution to the linear programming problem, because, given any real number K, it is possible to choose λ so that C +qj0 λ < K, thereby obtaining a feasible solution whose cost is less than K. If there does exist an optimal solution to the linear programming problem then there must exist at least one integer i between 1 and m for which ti,j0 > 0. We suppose that this is the case. Then x(λ) is a feasible solution if and only if λ satisfies 0 ≤ λ ≤ λ0 , where si λ0 = minimum : ti,j0 > 0 . ti,j0 We can then choose some integer h between 1 and n for which sh = λ0 . th,j0 0 Let ji0 = ji for i 6= h, and let jh0 = j0 , and let B 0 = {j10 , j20 , . . . , jm }. Then x(λ0 ) is a basic feasible solution of the linear programming problem associated with the basis B 0 . The cost of this basic feasible solution is C+ sh qj0 . th,j0 91 It makes sense to select the replacement column so as to obtain the greatest cost reduction. The procedure for finding this information from the tableau can be described as follows. We suppose that the simplex tableau for a basic feasible solution has been prepared. Examine the values in the criterion row in the columns labelled by a(1) , a(2) , . . . , a(n) . If all those are non-positive then the basic feasible solution is optimal. If not, then consider in turn those columns a(j0 ) for which the value −qj0 in the criterion row is positive. For each of these columns, examine the coefficients recorded in the column in the basis rows. If these coefficients are all non-positive then there is no optimal solution to the linear programming problem. Otherwise choose h to be the value of i si amongst those values of i for which ti,j0 > 0. that minimizes the ratio ti,j0 The row labelled by a(jh ) would then be the pivot row if the column a(j0 ) were used as the pivot column. sh (−qj0 ) that would result if Calculate the value of the cost reduction th,j0 the column labelled by a(j0 ) were used as the pivot column. Then choose the pivot column to maximize the cost reduction amongst all columns a(j0 ) for which −qj0 > 0. Choose the row labelled by a(jh ) , where h is determined as described above. Then apply the procedures for transforming the simplex tableau to that determined by the new basis B 0 , where B 0 includes j0 together with ji for all integers i between 1 and m satisfying i 6= h. 4.9 The Simplex Tableau Algorithm In describing the Simplex Tableau Algorithm, we adopt notation previously introduced. Thus we are concerned with the solution of a linear programming problem in Dantzig standard form, specified by positive integers m and n, an m × n constraint matrix A of rank m, a target vector b ∈ Rm and a cost vector c ∈ Rn . The optimization problem requires us to find a vector x ∈ Rn that minimizes cT x amongst all vectors x ∈ Rn that satisfy the constraints Ax = b and x ≥ 0. We denote by Ai,j the coefficient in the ith row and jth column of the matrix A, we denote the ith component of the target vector b by bi and we denote the jth component of the cost vector c by cj for i = 1, 2, . . . , m and j = 1, 2, . . . , n. As usual, we define vectors a(j) ∈ Rm for j = 1, 2, . . . , n such that (a(j) )i = Ai,j for i = 1, 2, . . . , m and j = 1, 2, . . . , n. Distinct integers j1 , j2 , . . . , jm between 1 and n determine a basis B, where B = {j1 , j2 , . . . , jm }, 92 if and only if the corresponding vectors a(j1 ) , a(j2 ) , . . . , a(jm ) constitute a basis of Rm . Given such a basis B we let MB denote the invertible m × m matrix defined such that (MB )i,k = Ai,jk for all integers i and k between 1 and m. We let ti,j = (MB−1 A)i,j and si = (MB−1 b)i for i = 1, 2, . . . , m and j = 1, 2, . . . , n. Then m X (j) a = ti,j a(ji ) i=1 for j = 1, 2, . . . , n, and m X b= si a(ji ) . i=1 A basis B determines an associated basic feasible solution if and only if si ≥ 0 for i = 1, 2, . . . , m. We suppose in what follows that the basis B determines a basic feasible solution. Let m X C= cj i s i . i=1 Then C is the cost of the basic feasible solution associated with the basis B. Let m X −qj = cji ti,j − cj . i=1 Then qj = 0 for all j ∈ {j1 , j2 , . . . , jm }. Also the cost of any feasible solution (x1 , x2 , . . . , xn ) of the linear programming problem is C+ n X q j xj . j=1 The simplex tableau associated with the basis B is that portion of the extended simplex tableau that omits the columns labelled by e(1) , e(2) , . . . , e(m) . The simplex table has the following structure: (j1 ) a a(j2 ) .. . a(jm ) a(1) t1,1 t2,1 .. . a(2) t1,2 t2,2 .. . ··· ··· ··· .. . a(n) t1,n t2,n .. . b s1 s2 .. . tm,1 −q1 tm,2 −q2 ··· ··· tm,n −qn sm C 93 Let cB denote the m-dimensional vector defined such that cTB = cj1 cj2 · · · cjm . Then the simplex tableau can be represented in block form as follows:— a(1) a(n) ··· b (j1 ) a .. . MB−1 A MB−1 b cTB MB−1 A − cT cTB MB−1 b a(jm ) Example We consider again the following linear programming problem:— minimize 3x1 + 4x2 + 2x3 + 9x4 + 5x5 subject to the following constraints: 5x1 + 3x2 + 4x3 + 7x4 + 3x5 = 11; 4x1 + x2 + 3x3 + 8x4 + 4x5 = 6; xj ≥ 0 for j = 1, 2, 3, 4, 5. We are given the following initial basic feasible solution (1, 2, 0, 0, 0). We need to determine whether this initial basic feasible solution is optimal and, if not, how to improve it till we obtain an optimal solution. The constraints require that x1 , x2 , x3 , x4 , x5 be non-negative real numbers satisfying the matrix equation x1 x2 11 5 3 4 7 3 x3 = . 4 1 3 8 4 6 x4 x5 Thus we are required to find a (column) vector x with components x1 , x2 , x3 , x4 and x5 that maximizes cT x subject to the constraints Ax = b and x ≥ 0, where 5 3 4 7 3 11 A= , b= , 4 1 3 8 4 6 and cT = 3 4 2 9 5 94 . Our initial basis B satisfies B = {j1 , j2 }, where j1 = 1 and j2 = 2. The first two columns of the matrix A provide the corresponding invertible 2 × 2 matrix MB . Thus 5 3 MB = . 4 1 Inverting this matrix, we find that MB−1 1 =− 7 1 −3 −4 5 . For each integer j between 1 and 5, let a(j) denote the m-dimensional vector whose ith component is Ai,j for i = 1, 2. Then a(j) = 2 X ti,j a(ji ) and b = i=1 2 X si a(ji ) , i=1 where ti,j = (MB−1 A)i,j and si = (MB−1 b)i for j = 1, 2, 3, 4, 5 and i = 1, 2. Calculating MB−1 A we find that 9 1 0 75 17 −1 7 7 . MB A = 8 0 1 17 − 12 − 7 7 Also MB−1 b = 1 2 . The coefficients of these matrices determine the values of ti,j and si to be entered into the appropriate cells of the simplex tableau. The basis rows of the simplex tableau corresponding to the basis {1, 2} are thus as follows:— (1) a a(2) a(1) 1 0 a(2) 0 1 a(3) a(4) a(5) 5 7 1 7 17 7 − 12 7 9 7 − 87 b 1 2 · · · · · · Now the cost C of the current feasible solution satisfies the equation C= 2 X cji si = c1 s1 + c2 s2 , i=1 where c1 = 3, c2 = 4, s1 = 1 and s2 = 2. It follows that C = 11. 95 To complete the simplex tableau, we need to compute −qj for j = 1, 2, 3, 4, 5, where 2 X −qj = cji ti,j − cj . i=1 Let cB denote the 2-dimensional vector whose ith component is (cji ). Then cB = (3, 4). Let q denote the 5-dimensional vector whose jth component is qj for j = 1, 2, 3, 4, 5. Then −qT = cTB MB−1 A − cT . It follows that −q T 5 7 1 7 1 0 0 1 17 7 − 12 7 = 3 4 = − 3 4 2 9 5 0 0 75 − 60 − 40 . 7 7 9 7 − 87 The simplex tableau corresponding to basis {1, 2} is therefore completed as follows:— (1) a a(2) a(1) 1 0 a(2) 0 1 0 0 a(3) a(4) a(5) 5 7 1 7 5 7 17 7 − 12 7 − 60 7 9 7 − 87 b 1 2 − 40 7 11 The values of −qj for j = 1, 2, 3, 4, 5 are not all non-positive ensures that the initial basic feasible solution is not optimal. Indeed the cost of a feasible solution (x1 , x2 , x3 , x4 , x5 ) is 11 − 57 x3 + 60 x 7 4 + 40 x. 7 5 Thus a feasible solution with x3 > 0 and x4 = x5 = 0 will have lower cost than the initial feasible basic solution. We therefore implement a change of basis whose pivot column is that labelled by the vector a(3) . We must determine which row to use as the pivot row. We need to detersi mine the value of i that minimizes the ratio , subject to the requirement ti,3 that ti,3 > 0. This ratio has the value 75 when i = 1 and 14 when i = 2. Therefore the pivot row is the row labelled by a(1) . The pivot element t1,3 then has the value 75 . The simplex tableau corresponding to basis {2, 3} is then obtained by subtracting the pivot row multiplied by 51 from the row labelled by a(2) , 96 subtracting the pivot row from the criterion row, and finally dividing all values in the pivot row by the pivot element 57 . The simplex tableau for the basis {2, 3} is thus the following:— a(1) (3) a a(2) a(3) 1 0 a(4) a(5) b 17 5 − 11 5 9 5 − 15 a(2) 0 1 − 75 7 5 9 5 −1 0 0 −11 −7 10 7 5 All the values in the criterion row to the left of the new cost are nonpositive. It follows that we have found a basic optimal solution to the linear programming problem. The values recorded in the column labelled by b show that this basic optimal solution is (0, 59 , 75 , 0, 0). 4.10 The Revised Simplex Algorithm The Simplex Tableau Algorithm restricts attention to the columns to the left of the extended simplex tableau. The Revised Simplex Algorithm proceeds by maintaining the columns to the right of the extended simplex tableau, calculating values in the columns to the left of that tableau only as required. We show how the Revised Simplex Algorithm is implemented by applying it to the example used to demonstrate the implementation of the Simplex Algorithm. Example We apply the Revised Simplex Algorithm to determine a basic optimal solution to the the following linear programming problem:— minimize 3x1 + 4x2 + 2x3 + 9x4 + 5x5 subject to the following constraints: 5x1 + 3x2 + 4x3 + 7x4 + 3x5 = 11; 4x1 + x2 + 3x3 + 8x4 + 4x5 = 6; xj ≥ 0 for j = 1, 2, 3, 4, 5. We are given the following initial basic feasible solution (1, 2, 0, 0, 0). We need to determine whether this initial basic feasible solution is optimal and, if not, how to improve it till we obtain an optimal solution. 97 The constraints require that x1 , x2 , x3 , x4 , x5 be non-negative real numbers satisfying the matrix equation x1 x2 5 3 4 7 3 11 x3 = . 4 1 3 8 4 6 x4 x5 Thus we are required to find a (column) vector x with components x1 , x2 , x3 , x4 and x5 that maximizes cT x subject to the constraints Ax = b and x ≥ 0, where 5 3 4 7 3 11 A= , b= , 4 1 3 8 4 6 and cT = 3 4 2 9 5 . Our initial basis B satisfies B = {j1 , j2 }, where j1 = 1 and j2 = 2. The first two columns of the matrix A provide the corresponding invertible 2 × 2 matrix MB . Thus 5 3 MB = . 4 1 Inverting this matrix, we find that MB−1 1 =− 7 1 −3 −4 5 . For each integer j between 1 and 5, let a( (j) denote the m-dimensional vector whose ith component is Ai,j for i = 1, 2. Then (j) a = 2 X (ji ) ti,j a and b = i=1 2 X si a(ji ) , i=1 where ti,j = (MB−1 A)i,j and si = (MB−1 b)i for j = 1, 2, 3, 4, 5 and i = 1, 2. Let ri,k = (MB−1 )i,k for i = 1, 2 and k = 1, 2, and let C = cj1 s1 + cj2 s2 = c1 s1 + c2 s2 = 11 p1 = cj1 r1,1 + cj2 r2,1 = c1 r1,1 + c2 r2,1 = 13 7 p2 = cj1 r1,2 + cj2 r2,2 = c1 r1,2 + c2 r2,2 = − 11 7 The values of si , ri,k , C and pk are inserted into the following tableau, which consists of the columns to the right of the extended simplex tableau:— 98 a(1) a(2) b 1 2 11 e(1) − 17 e(2) 4 7 13 7 − 57 3 7 − 11 7 To proceed with the algorithm, one computes values −qj for j 6∈ B using the formula −qj = p1 A1,j + p2 A2,j − cj , seeking a value of j for which −qj > 0. Were all the values −qj are nonpositive (i.e., if all the qj are non-negative), then the initial solution would be optimal. Computing −qj for j = 5, 4, 3, we find that × 3 − 11 × 4 − 5 = − 40 −q5 = 13 7 7 7 13 11 −q4 = = 7 × 7 − 7 × 8 − 9 = − 60 7 11 5 −q3 = = 13 × 4 − × 3 − 2 = 7 7 7 The inequality q3 > 0 shows that the initial basic feasible solution is not optimal, and we should seek to change basis so as to include the vector a(3) . Let t1,3 = r1,1 A1,3 + r1,2 A2,3 = − 17 × 4 + 73 × 3 = t2,3 = r2,1 A1,3 + r2,2 A2,3 = 4 7 × 4 − 57 × 3 = 5 7 1 7 Then a(3) = t1,3 a(j1 ) + t2,3 a(j2 ) = 75 a(1) + 71 a(2) . We introduce a column representing the vector a(3) into the tableau to serve as a pivot column. The resultant tableau is as follows:— a(3) a(1) a(2) 5 7 1 7 5 7 b 1 2 11 e(1) − 17 e(2) 4 7 13 7 − 75 3 7 − 11 7 To determine a pivot row we must pick the row index i so as to minimize si , subject to the requirement that ti,3 > 0. In the context of this the ratio ti,3 example, we should pick i = 1. Accordingly the row labelled by the vector a(1) is the pivot row. To implement the change of basis we must subtract from the second row the values above them in the pivot row, multiplied by 15 ; we must subtract the values in the pivot row from the values below them in the 99 criterion row, and we must divide the values in the pivot row itself by the pivot element 57 . The resultant tableau corresponding to the basis 2, 3 is then as follows:— a(3) a(2) a(3) 1 0 b 0 10 7 5 9 5 e(1) − 15 e(2) 3 5 − 47 2 −2 3 5 A straightforward computation then shows that if pT = 2 −2 then pT A − cT = −1 0 0 −11 −7 . The components of this row vector are all non-positive. It follows that the basis {2, 3} determines a basic optimal solution (0, 59 , 75 , 0, 0). 4.11 Finding an Initial Basic Solution to a Linear Programming Problem Suppose that we are given a linear programming problem in Dantzig standard form, specified by positive integers m and n, an m × n matrix A of rank m, an m-dimensional target vector b ∈ Rm and an n-dimensional cost vector c ∈ Rn . The problem requires us to find an n-dimensional vector x that minimizes the objective function cT x subject to the constraints Ax = b and x ≥ 0. The Simplex Tableau Algorithm and the Revised Simplex Algorithm provided methods for passing from an initial basic feasible solution to a basic optimal solution, provided that such a basic optimal solution exists. However, we need first to find an initial basic feasible solution for this linear programming problem. One can find such an initial basic feasible solution by solving an auxiliary linear programming problem. This auxiliary problem requires us to find nn P dimensional vectors x and z that minimize the objective function (z)j j=1 subject to the constraints Ax + z = b, x ≥ 0 and z ≥ 0. This auxiliary linear programming problem is itself in Dantzig standard form. Moreover it has an initial basic feasible solution specified by the simultaneous equations x = 0 and z = b. The objective function of a feasible 100 solution is always non-negative. Applications of algorithms based on the Simplex Method should identify a basic optimal solution (x, z) for this probn P lem. If the cost (z)j of this basic optimal solution is equal to zero then j=1 Ax = b and x ≥ 0. If the cost of the basic optimal solution is positive then the problem does not have any basic feasible solutions. The process of solving a linear programming problem in Dantzig standard form thus typically consists of two phases. The Phase I calculation aims to solve the auxiliary linear programming problem of seeking n-dimensional n P vectors x and z that minimize (z)j subject to the constraints Ax + z = b, i=1 x ≥ 0 and z ≥ 0. If the optimal solution (x, z) of the auxiliary problem satisfies z 6= 0 then there is no initial basic solution of the original linear programming problem. But if z = 0 then Ax = b and x ≥ 0, and thus the Phase I calculation has identified an initial basic feasible solution of the original linear programmming problem. The Phase II calculation is the process of successively changing bases to lower the cost of the corresponding basic feasible solutions until either a basic optimal solution has been found or else it has been demonstated that no such basic optimal solution exists. 101 5 5.1 General Linear Programming Problems, Duality and Complementary Slackness General Linear Programming Problems Linear programming is concerned with problems seeking to maximize or minimize a linear functional of several real variables subject to a finite collection of constraints, where each constraint either fixes the values of some linear function of the variables or else requires those values to be bounded, above or below, by some fixed quantity. The objective of such a problem involving n real variables x1 , x2 , . . . , xn is to maximize or minimize an objective function of those variables that is of the form c1 x 1 + c2 x 2 + · · · + cn x n , subject to appropriate constraints. The coefficients c1 , c2 , . . . , cn that determine the objective function are then fixed real numbers. Now such an optimization problem may be presented as a minimization problem, because simply changing the signs of all the coefficients c1 , c2 , . . . , cn converts any maximization problem into a minimization problem. We therefore suppose, without loss of generality, that the objective of the linear programming problem is to find a feasible solution satisfying appropriate constraints which minimizes the value of the objective function amongst all such feasible solutions to the problem. Some of the constraints may simply require specific variables to be nonnegative or non-positive. Now a constraint that requires a particular variable xj to be non-positive can be reformulated as one requiring a variable to be non-negative by substituting xj for −xj in the statement of the problem. Thus, without loss of generality, we may suppose that all constraints that simply specify the sign of a variable xj will require that variable to be nonnegative. Then all such constraints can be specified by specifying a subset J + of {1, 2, . . . , n}: the constraints then require that xj ≥ 0 for all j ∈ J + . There may be further constraints in addition to those that simply specify whether one of the variables is required to be non-positive or non-negative. Suppose that there are m such additional constraints, and let them be numbered between 1 and m. Then, for each integer i between 1 and m, there exist real numbers Ai,1 , Ai,2 , . . . , Ai,n and bi that allow the ith constraint to be expressed either as an inequality constraint of the form Ai,1 x1 + Ai,2 x2 + . . . + Ai,n xn ≥ bi 102 or else as an equality constraint of the form Ai,1 x1 + Ai,2 x2 + . . . + Ai,n xn = bi . It follows from the previous discussion that the statement of a general linear programming problem can be transformed, by changing the signs of some of the variables and constants in the statement of the problem, so as to ensure that the statement of the problem conforms to the following restrictions:— • the objective function is to be minimized; • some of the variables may be required to be non-negative; • other constraints are either inequality constraints placing a lower bound on the value of some linear function of the variables or else equality constraints fixing the value of some linear function of the variables. Let us describe the statement of a linear programming problem as being in general primal form if it conforms to the restrictions just described. A linear programming problem is expressed in general primal form if the specification of the problem conforms to the following restrictions:— • the objective of the problem is to find an optimal solution minimizing the objective function amongst all feasible solutions to the problem; • any variables whose sign is prescribed are required to be non-negative, not non-positive; • all inequality constraints are expressed by prescribing a lower bound on the value on some linear function of the variables. A linear programming problem in general primal form can be specified by specifying the following data: an m × n matrix A with real coefficients, an m-dimensional vector b with real components; an n-dimensional vector c with real components; a subset I + of {1, 2, . . . , m}; and a subset J + of {1, 2, . . . , n}. The linear programming programming problem specified by this data is the following:— seek x ∈ Rn that minimizes the objective function cT x subject to the following constraints:— • Ax ≥ b; • (Ax)i = (b)i unless i ∈ I + ; 103 • (x)j ≥ 0 for all j ∈ J + . We refer to the m × n matrix A, the m-dimensional vector b and the ndimensional vector c employed in specifying a linear programming problem in general primal form as the constraint matrix, target vector and cost vector respectively for the linear programming problem. Let us refer to the subset I + of {1, 2, . . . , m} specifying those constraints that are inequality constraints as the inequality constraint specifier for the problem, and let us refer to the subset J + of {1, 2, . . . , n} that specifies those variables that are required to be non-negative for a feasible solution as the variable sign specifier for the problem. We denote by Primal(A, b, c, I + , J + ) the linear programming problem whose specification in general primal form is determined by a constraint matrix A, target vector b, cost vector c, inequality constraint specifier I + and variable sign specifier J + . A linear programming problem formulated in general primal form can be reformulated as a problem in Dantzig standard form, thus enabling the use of the Simplex Method to find solutions to the problem. Indeed consider a linear programming problem Primal(A, b, c, I + , J + ) where the constraint matrix A is an m × n matrix with real coefficients, the target vector b and the cost vector c are vectors of dimension m and n respectively with real coefficients. Then the inequality constraint specifier I + is a subset of {1, 2, . . . , m} and the variable sign specifier J + is a subset of {1, 2, . . . , n}. The problem is already in Dantzig standard form if and only if I + = ∅ and J + = {1, 2, . . . , n}. If the problem is not in Dantzig standard form, then each variable xj − for j 6∈ J + can be replaced by a pair of variables x+ j and xj satisfying the − + − constraints x+ j ≥ 0 and xj ≥ 0: the difference xj − xj of these new variables is substituted for xj in the objective function and the constraints. Also a slack variable zi can be introduced for each i ∈ I + , where zi is required to satisfy the sign constraint zi ≥ 0, and the inequality constraint Ai,1 x1 + Ai,2 x2 + . . . + Ai,n xn ≥ bi is then replaced by the corresponding equality constraint Ai,1 x1 + Ai,2 x2 + . . . + Ai,n xn − zi = bi . The linear programming problem Primal(A, b, c, I + , J + ) in general primal form can therefore be reformulated as a linear programming problem in Dantzig standard form as follows:— 104 − 0 determine values of xj for all j ∈ J + , x+ j and xj for all j ∈ J , 0 + + where J = {1, 2, . . . , n} \ J , and zi for all i ∈ I so as to minimize the objective function X X X cj x j + cj x + − cj x − j j j∈J + j∈J 0 j∈J 0 subject to the following constraints:— (i) P j∈J + + Ai,j xj + P Ai,j x+ j − j∈J 0 P Ai,j x− j = bi for each i ∈ {1, 2, . . . , n}\ j∈J 0 I ; 1. P j∈J + Ai,j xj + P Ai,j x+ j − j∈J 0 P + Ai,j x− j −zi = bi for each i ∈ I ; j∈J 0 (ii) xj ≥ 0 for all j ∈ J + ; − 0 (iii) x+ j ≥ 0 and xj ≥ 0 for all j ∈ J ; (iv) zi ≥ 0 for all i ∈ I + . Once the problem has been reformulated in Dantzig standard form, techiques based on the Simplex Method can be employed in the search for solutions to the problem. 5.2 Complementary Slackness and the Weak Duality Theorem Every linear programming problem Primal(A, b, c, I + , J + ) in general primal form determines a corresponding linear programming problem Dual(A, b, c, I + , J + ) in general dual form. The second linear programming problem is referred to as the dual of the first, and the first linear programming problem is referred to as the primal of its dual. We shall give the definition of the dual problem associated with a given linear programming problem, and investigate some important relationships between the primal linear programming problem and its dual. Let Primal(A, b, c, I + , J + ) be a linear programming problem in general primal form specified in terms of an m×n constraint matrix A, m-dimensional target vector b, n-dimensional cost vector c, inequality constraint specifier I + and variable sign specifier J + . The corresponding dual problem Dual(A, b, c, I + , J + ) may be specified in general dual form as follows: 105 seek p ∈ Rm that maximizes the objective function pT b subject to the following constraints:— • pT A ≤ cT ; • (p)i ≥ 0 for all i ∈ I + ; • (pT A)j = (c)j unless j ∈ J + . Lemma 5.1 Let Primal(A, b, c, I + , J + ) be a linear programming problem expressed in general primal form with constraint matrix A with m rows and n columns, target vector b, cost vector c, inequality constraint specifier I + and variable sign specifier J + . Then the feasible and optimal solutions of the corresponding dual linear programming problem Dual(A, b, c, I + , J + ) are those of the problem Primal(−AT , −c, −b, J + , I + ). Proof An m-dimensional vector p satisfies the constraints of the dual linear programming problem Dual(A, b, c, I + , J + ) if and only if pT A ≤ cT , (p)i ≥ 0 for all i ∈ I + and (pT A)j = (c)j unless j ∈ J + . On taking the transposes of the relevant matrix equations and inequalities, we see that these conditions are satisfied if and only if −AT p ≥ −c, (p)i ≥ 0 for all i ∈ I + and (−AT p)j = (−c)j unless j ∈ J + . But these are the requirements that the vector p must satisfy in order to be a feasible solution of the linear programming problem Primal(−AT , −c, −b, J + , I + ). Moreover p is an optimal solution of Dual(A, b, c, I + , J + ) if and only if it maximizes the value of pT b, and this is the case if and only if it minimizes the value of −bT p. The result follows. A linear programming problem in Dantzig standard form is specified by specifying integers m and n a constraint matrix A which is an m × n matrix with real coefficients, a target vector b belonging to the real vector space Rm and a cost vector c belonging to the real vector space Rm . The objective of the problem is to find a feasible solution to the problem that minimizes the quantity cT x amongst all n-dimensional vectors x for which Ax = b and x ≥ 0. The objective of the dual problem is then to find some feasible solution to the problem that maximizes the quantity pT b amongst all m-dimensional vectors p for which pT A ≤ c. Theorem 5.2 (Weak Duality Theorem for Linear Programming Problems in Dantzig Standard Form) Let m and n be integers, let A be an m × n matrix with real coefficients, let b ∈ Rm and let c ∈ Rn . Let x ∈ Rn satisfy the constraints Ax = b and x ≥ 0, and let p ∈ Rm satisfy the constraint pT A ≤ c. Then pT b ≤ cT x. Moreover pT b = cT x if and only if the following complementary slackness condition is satisfied: 106 • (pT A)j = (c)j for all integers j between 1 and n for which (x)j > 0. Proof The constraints satisfied by the vectors x and p ensure that cT x − pT b = (cT − pT A)x + pT (Ax − b) = (cT − pT A)x, because Ax − b = 0. But also x ≥ 0 and cT − pT A) ≥ 0, and therefore (cT − pT A)x ≥ 0. Moreover (cT − pT A)x = 0 if and only if (cT − pT A)j = 0 for all integers j between 1 and n for which (x)j > 0. The result follows. Corollary 5.3 Let a linear programming problem in Dantzig standard form be specified by an m × n constraint matrix A, and m-dimensional target vector b and an n-dimensional cost vector c. Let x∗ be a feasible solution of this primal problem, and let p∗ be a solution of the dual problem. Then p∗T A ≤ cT . Suppose that the complementary slackness conditions for this primal-dual pair are satisfied, so that (p∗T A)j = (c)j for all integers j between 1 and n for which (x∗ )j > 0. Then x∗ is an optimal solution of the primal problem, and p∗ is an optimal solution of the dual problem. Proof Because the complementary slackness conditions for this primal-dual pair are satisfied, it follows from the Weak Duality Theorem that cT x∗ = p∗T b (see Theorem 5.2). But it then also follows from the Weak Duality Theorem that cT x ≥ p∗T b = cT x∗ for all feasible solutions x of the primal problem. It follows that x∗ is an optimal solution of the primal problem. Similarly pT b ≤ cT x∗ = p∗T b for all feasible solutions p of the dual problem. It follows that p∗ is an optimal solution of the dual problem, as required. Another special case of duality in linear programming is exemplified by a primal-dual pair of problems in Von Neumann Symmetric Form. In this case the primal and dual problems are specified in terms of an m × n constraint matrix A, an m-dimensional target vector b and an n-dimensional cost vector c. The objective of the problem is minimize cT x amongst n-dimensional vectors x that satisfy the constraints Ax ≥ b and x ≥ 0. The dual problem is to maximize pT b amongst m-dimensional vectors p that satisfy the constraints pT A ≤ cT and p ≥ 0. 107 Theorem 5.4 (Weak Duality Theorem for Linear Programming Problems in Von Neumann Symmetric Form) Let m and n be integers, let A be an m × n matrix with real coefficients, let b ∈ Rm and let c ∈ Rn . Let x ∈ Rn satisfy the constraints Ax ≥ b and x ≥ 0, and let p ∈ Rm satisfy the constraints pT A ≤ c and pT ≥ 0. Then pT b ≤ cT x. Moreover pT b = cT x if and only if the following complementary slackness conditions are satisfied: • (Ax)i = (b)i for all integers i between 1 and m for which (p)i > 0; • (pT A)j = (c)j for all integers j between 1 and n for which (x)j > 0; Proof The constraints satisfied by the vectors x and p ensure that cT x − pT b = (cT − pT A)x + pT (Ax − b). But x ≥ 0, p ≥ 0, Ax − b ≥ 0 and cT − pT A ≥ 0. It follows that cT x − pT b ≥ 0. and therefore cT x ≥ pT b. Moreover cT x − pT b = 0 if and only if (cT − pT A)j (x)j = 0 for j = 1, 2, . . . , n and (p)i (Ax − b)i = 0, and therefore cT x = pT b if and only if the complementary slackness conditions are satisfied. Theorem 5.5 (Weak Duality Theorem for Linear Programming Problems in General Primal Form) Let x ∈ Rn be a feasible solution to a linear programming problem Primal(A, b, c, I + , J + ) expressed in general primal form with constraint matrix A with m rows and n columns, target vector b, cost vector c, inequality constraint specifier I + and variable sign specifier J + , and let p ∈ Rm be a feasible solution to the corresponding dual programming problem Dual(A, b, c, I + , J + ). Then pT b ≤ cT x. Moreover pT b = cT x if and only if the following complementary slackness conditions are satisfied:— • (Ax)i = bi whenever (p)i 6= 0; • (pT A)j = (c)j whenever (x)j 6= 0. Proof The feasible solution x to the primal problem satisfies the following constraints:— 108 • Ax ≥ b; • (Ax)i = (b)i unless i ∈ I + ; • (x)j ≥ 0 for all j ∈ J + . The feasible solution p to the dual problem satisfies the following constraints:— • pT A ≤ cT ; • (p)i ≥ 0 for all i ∈ I + ; • (pT A)j = (c)j unless j ∈ J + . Now cT x − pT b = (cT − pT A)x + pT (Ax − b) n m X X T T = (c − p A)j (x)j + (p)i (Ax − b)i . j=1 i=1 Let j be an integer between 1 and n. If j ∈ J + then (x)j ≥ 0 and (cT − pT A)j ≥ 0, and therefore (cT −pT A)j (x)j ≥ 0. If j 6∈ J + then (pT A)j = (c)j , and therefore (cT − pT A)j (x)j = 0, irrespective of whether (x)j is positive, negative or zero. It follows that n X (cT − pT A)j (x)j ≥ 0. j=1 Moreover n X (cT − pT A)j (x)j = 0 j=1 if and only if (pT A)j = (c)j for all indices j for which (x)j 6= 0. Next let i be an index between 1 and m. If i ∈ I + then (p)i ≥ 0 and (Ax − b)i ≥ 0, and therefore (p)i (Ax − b)i ≥ 0. If i 6∈ I + then (Ax)i = (b)i , and therefore (p)i (Ax − b)i = 0, irrespective of whether (p)i is positive, negative or zero. It follows that m X (p)i (Ax − p)i ≥ 0. i=1 Moreover m X (p)i (Ax − p)i = 0. i=1 109 if and only if (Ax)i = (b)i for all indices i for which (p)i 6= 0. The result follows. Corollary 5.6 Let x∗ ∈ Rn be a feasible solution to a linear programming problem Primal(A, b, c, I + , J + ) expressed in general primal form with constraint matrix A with m rows and n columns, target vector b, cost vector c, inequality constraint specifier I + and variable sign specifier J + , and let p∗ ∈ Rm be a feasible solution to the corresponding dual programming problem Dual(A, b, c, I + , J + ). Suppose that the complementary slackness conditions are satisfied for this pair of problems, so that (Ax)i = bi whenever (p)i 6= 0, and (pT A)j = (c)j whenever (x)j 6= 0. Then x∗ is an optimal solution for the primal problem and p∗ is an optimal solution for the dual problem. Proof Because the complementary slackness conditions for this primal-dual pair are satisfied, it follows from the Weak Duality Theorem that cT x∗ = p∗T b (see Theorem 5.5). But it then also follows from the Weak Duality Theorem that cT x ≥ p∗T b = cT x∗ for all feasible solutions x of the primal problem. It follows that x∗ is an optimal solution of the primal problem. Similarly pT b ≤ cT x∗ = p∗T b for all feasible solutions p of the dual problem. It follows that p∗ is an optimal solution of the dual problem, as required. Example Consider the following linear programming problem in general primal form:— find values of x1 , x2 , x3 and x4 so as to minimize the objective function c1 x1 + c2 x2 + c3 x3 + c4 x4 subject to the following constraints:— • a1,1 x1 + a1,2 x2 + a1,3 x3 + a1,4 x4 = b1 ; • a2,1 x1 + a2,2 x2 + a2,3 x3 + a2,4 x4 = b2 ; • a3,1 x1 + a3,2 x2 + a3,3 x3 + a3,4 x4 ≥ b3 ; • x1 ≥ 0 and x3 ≥ 0. Here ai,j , bi and cj are constants for i = 1, 2, 3 and j = 1, 2, 3, 4. The dual problem is the following:— 110 find values of p1 , p2 and p3 so as to maximize the objective function p 1 b1 + p 2 b2 + p 3 b3 subject to the following constraints:— • p1 a1,1 + p2 a2,1 + p3 a3,1 ≤ c1 ; • p1 a1,2 + p2 a2,2 + p3 a3,2 = c2 ; • p1 a1,3 + p2 a2,3 + p3 a3,3 ≤ c3 ; • p1 a1,4 + p2 a2,4 + p3 a3,4 = c4 ; • p3 ≥ 0. We refer to the first and second problems as the primal problem and the dual problem respectively. Let (x1 , x2 , x3 , x4 ) be a feasible solution of the primal problem, and let (p1 , p2 , p3 ) be a feasible solution of the dual problem. Then ! 3 4 3 4 X X X X cj − pi ai,j xj cj x j − p i bi = j=1 i=1 i=1 j=1 + 3 X 4 X pi i=1 Now the quantity cj − 3 P ! ai,j xj − bi . j=1 pi ai,j = 0 for j = 2 and j = 4, and i=1 4 P j=1 0 for i = 1 and i = 2. It follows that 4 X cj x j − j=1 3 X c1 − p i bi = i=1 3 X ! pi ai,1 x1 i=1 + c3 − 3 X ! pi ai,3 x3 i=1 + p3 4 X ! a3,j xj − b3 . j=1 Now x1 ≥ 0, x3 ≥ 0 and p3 ≥ 0. Also c1 − 3 X pi ai,1 ≥ 0, c3 − i=1 3 X i=1 111 pi ai,3 ≥ 0 ai,j xj −bi = and 4 X a3,j xj − b3 ≥ 0. j=1 It follows that 4 X cj x j − j=1 and thus 3 X pi bi ≥ 0. i=1 4 X cj x j ≥ 3 X j=1 i=1 4 X 3 X p i bi . Now suppose that cj x j = j=1 p i bi . i=1 Then c1 − c3 − p3 3 X i=1 3 X ! pi ai,1 x1 = 0, ! pi ai,3 x3 = 0, i=1 4 X ! a3,j xj − b3 = 0, j=1 because a sum of three non-negative quantities is equal to zero if and only if each of those quantities is equal to zero. It follows that 4 3 X X cj x j = p i bi j=1 i=1 if and only if the following three complementary slackness conditions are satisfied:— • 3 P pi ai,1 = c1 if x1 > 0; i=1 • 3 P pi ai,3 = c3 if x3 > 0; i=1 • P4 j=1 a3,j xj = b3 if p3 > 0. 112 5.3 Open and Closed Sets in Euclidean Spaces Let m be a positive integer. The Euclidean norm |x| of an element x of Rm is defined such that m X 2 (x)2i . |x| = i=1 The Euclidean distance function d on Rm is defined such that d(x, y) = |y − x| for all x, y ∈ Rm . The Euclidean distance function satisfies the Triangle Inequality, together with all the other basic properties required of a distance function on a metric space, and therefore Rm with the Euclidean distance function is a metric space. A subset U of Rm is said to be open in Rm if, given any point b of U , there exists some real number ε satisfying ε > 0 such that {x ∈ Rm : |x − b| < ε} ⊂ U. A subset of Rm is closed in Rm if and only if its complement is open in Rm . Every union of open sets in Rm is open in Rm , and every finite intersection of open sets in Rm is open in Rm . Every intersection of closed sets in Rm is closed in Rm , and every finite union of closed sets in Rm is closed in Rm . Lemma 5.7 Let m be a positive integer, let u(1) , u(2) , . . . , u(m) be a basis of Rm , and let ( m ) X F = si u(i) : si ≥ 0 for i = 1, 2, . . . , m . i=1 Then F is a closed set in Rm . Proof Let T : Rm → Rm be defined such that T (s1 , s2 , . . . , sm ) = m X si u(i) i=1 for all real numbers s1 , s2 , . . . , sm . Then T is an invertible linear operator on Rm , and F = T (G), where G = {x ∈ Rm : (x)i ≥ 0 for i = 1, 2, . . . , m}. 113 Moreover the subset G of Rm is closed in Rm . Now it is a standard result of real analysis that every linear operator on a finite-dimensional vector space is continuous. Therefore T −1 : Rm → Rm is continuous. Moreover T (G) is the preimage of the closed set G under the continuous map T −1 , and the preimage of any closed set under a continuous map is itself closed. It follows that T (G) is closed in Rm . Thus F is closed in Rm , as required. Lemma 5.8 Let m be a positive integer, let F be a non-empty closed set in Rm , and let b be a vector in Rm . Then there exists an element g of F such that |x − b| ≥ |g − b| for all x ∈ F . Proof Let R be a positive real number chosen large enough to ensure that the set F0 is non-empty, where F0 = F ∩ {x ∈ Rm : |x − b| ≤ R}. Then F0 is a closed bounded subset of Rm . Let f : F0 → R be defined such that f (x) = |x − b| for all x ∈ F . Then f : F0 → R is a continuous function on F0 . Now it is a standard result of real analysis that any continuous real-valued function on a closed bounded subset of a finite-dimensional Euclidean space attains a minimum value at some point of that set. It follows that there exists an element g of F0 such that |x − b| ≥ |g − b| for all x ∈ F0 . If x ∈ F \ F0 then |x − b| ≥ R ≥ |g − b|. It follows that |x − b| ≥ |g − b| for all x ∈ F , as required. 5.4 A Separating Hyperplane Theorem Definition A subset K of Rm is said to be convex if (1 − µ)x + µx0 ∈ K for all elements x and x0 of K and for all real numbers µ satisfying 0 ≤ µ ≤ 1. It follows from the above definition that a subset K of Rm is a convex subset of Rm if and only if, given any two points of K, the line segment joining those two points is wholly contained in K. 114 Theorem 5.9 Let m be a positive integer, let K be a closed convex set in Rm , and let b be a vector in Rm , where b 6∈ K. Then there exists a linear functional ϕ: Rm → R and a real number c such that ϕ(x) > c for all x ∈ K and ϕ(b) < c. Proof It follows from Lemma 5.8 that there exists a point g of K such that |x − b| ≥ |g − b| for all x ∈ K. Let x ∈ K. Then (1 − λ)g + λx ∈ K for all real numbers λ satisfying 0 ≤ λ ≤ 1, because the set K is convex, and therefore |(1 − λ)g + λx − b| ≥ |g − b| for all real numbers λ satisfying 0 ≤ λ ≤ 1. Now (1 − λ)g + λx − b = g − b + λ(x − g). It follows by a straightforward calculation from the definition of the Euclidean norm that |g − b|2 ≤ |(1 − λ)g + λx − b|2 = |g − b|2 + 2λ(g − b)T (x − g) + λ2 |x − g|2 for all real numbers λ satisfying 0 ≤ λ ≤ 1. In particular, this inequality holds for all sufficiently small positive values of λ, and therefore (g − b)T (x − g) ≥ 0 for all x ∈ K. Let ϕ(x) = (g − b)T x for all x ∈ Rm . Then ϕ: Rm → R is a linear functional on Rm , and ϕ(x) ≥ ϕ(g) for all x ∈ K. Moreover ϕ(g) − ϕ(b) = |g − b|2 > 0, and therefore ϕ(g) > ϕ(b). It follows that ϕ(x) > c for all x ∈ K, where c = 12 ϕ(b) + 12 ϕ(g), and that ϕ(b) < c. The result follows. 5.5 Convex Cones Definition Let m be a positive integer. A subset C of Rm is said to be a convex cone in Rm if λv + µw ∈ C for all v, w ∈ C and for all real numbers λ and µ satisfying λ ≥ 0 and µ ≥ 0. 115 Lemma 5.10 Let m be a positive integer. Then every convex cone in Rm is a convex subset of Rm . Proof Let C be a convex cone in Rm and let v, w ∈ C. Then λv + µw ∈ C for all non-negative real numbers λ and µ. In particular (1 − λ)w + λv ∈ C. whenever 0 ≤ λ ≤ 1, and thus the convex cone C is a convex set in Rm , as required. Lemma 5.11 Let S be a subset of Rm , and let C be the set of all elements of Rm that can be expressed as a linear combination of the form s1 a(1) + s2 a(2) + · · · + sn a(n) , where a(1) , a(2) , . . . , a(n) are vectors belonging to S and s1 , s2 , . . . , sn are nonnegative real numbers. Then C is a convex cone in Rm . Proof Let v and w be elements of C. Then there exist finite subsets S1 and S2 of S such that v can be expressed as a linear combination of the elements of S1 with non-negative coefficients and w can be expressed as a linear combination of the elements of S2 with non-negative coefficients. Let S1 ∪ S2 = {a(1) , a(2) , . . . , a(n) }. Then there exist non-negative real numbers s1 , s2 , . . . , sn and t1 , t2 , . . . , tn such that n n X X v= sj a(j) and w = tj a(j) . j=1 j=1 Let λ and µ be non-negative real numbers. Then λv + µw = n X (λsj + µtj )a(j) , j=1 and λsj + µtj ≥ 0 for j = 1, 2, . . . , n. It follows that λv + µw ∈ S, as required. Proposition 5.12 Let m be a positive integer, let a(1) , a(2) , . . . , a(n) ∈ Rm , and let C be the subset of Rm defined such that ( n ) X C= tj a(j) : tj ≥ 0 for j = 1, 2, . . . , n . j=1 Then C is a closed convex cone in Rm . 116 Proof It follows from Lemma 5.11 that C is a convex cone in Rm . We must prove that this convex cone is a closed set. The vectors a(1) , a(2) , . . . , a(n) span a vector subspace V of Rm that is isomorphic as a real vector space to Rk for some integer k satisfying 0 ≤ k ≤ m. This vector subspace V of Rm is a closed subset of Rm , and therefore any subset of V that is closed in V will also be closed in Rm . Replacing Rm by Rk , if necessary, we may assume, without loss of generality that the vectors a(1) , a(2) , . . . , a(n) span the vector space Rm . Thus if A is the m × n matrix defined such that (A)i,j = (a(j) )i for i = 1, 2, . . . , m and j = 1, 2, . . . , n then the matrix A is of rank m. Let B be the collection consisting of all subsets B of {1, 2, . . . , n} for which the members of the set {a(j) : j ∈ B} constitute a basis of the real vector space Rm and, for each B ∈ B, let ( m ) X CB = si a(ji ) : si ≥ 0 for i = 1, 2, . . . , m , i=1 where j1 , j2 , . . . , jm are distinct and are the elements of the set B. It follows from Lemma 5.7 that the set CB is closed in Rm for all B ∈ B. Let b ∈ C. The definition of C then ensures that there exists some x ∈ Rn that satisfies Ax = b and x ≥ 0. Thus the problem of determining x ∈ Rn such that Ax = b and x ≥ 0 has a feasible solution. It follows from Theorem 4.2 that there exists a basic feasible solution to this problem, and thus there exist distinct integers j1 , j2 , . . . , jm between 1 and n and nonnegative real numbers s1 , s2 , . . . , sm such that a(j1 ) , a(j2 ) , . . . , a(jm ) are linearly independent and m X b= si a(ji ) . i=1 Therefore b ∈ CB where B = {j1 , j2 , . . . , jm }. We have thus shown that, given any element b of C, there exists a subset B of {1, 2, . . . , n} belonging to B for which b ∈ CB . It follows from this that the subset C of Rm is the union of the closed sets CB taken over all elements B of the finite set B. Thus C is a finite union of closed subsets of Rm , and is thus itself a closed subset of Rm , as required. 5.6 Farkas’ Lemma Proposition 5.13 Let C be a closed convex cone in Rm and let b be a vector in Rm . Suppose that b 6∈ C. Then there exists a linear functional ϕ: Rm → R 117 such that ϕ(v) ≥ 0 for all v ∈ C and ϕ(b) < 0. Proof Suppose that b 6∈ C. The cone C is a closed convex set. It follows from Theorem 5.9 that there exists a linear functional ϕ: Rn → R and a real number c such that ϕ(v) > c for all v ∈ C and ϕ(b) < c. Now 0 ∈ C, and ϕ(0) = 0. It follows that c < 0, and therefore ϕ(b) ≤ c < 0. Let v ∈ C. Then λv ∈ C for all real numbers λ satisfying λ > 0. It c follows that λϕ(v) = ϕ(λv) > c and thus ϕ(v) > for all real numbers λ λ satisfying λ > 0, and therefore c = 0. λ→+∞ λ ϕ(v) ≥ lim We conclude that ϕ(v) ≥ 0 for all v ∈ C. Thus ϕ(v) ≥ 0 for all v ∈ C and ϕ(b) < 0, as required. Lemma 5.14 (Farkas’ Lemma) Let A be a m × n matrix with real coefficients, and let b ∈ Rm be an m-dimensional real vector. Then exactly one of the following two statements is true:— (i) there exists x ∈ Rn such that Ax = b and x ≥ 0; (ii) there exists y ∈ Rm such that yT A ≥ 0 and yT b < 0. Proof Let a(1) , a(2) , . . . , a(n) be the vectors in Rm determined by the columns of the matrix A, so that (a(j) )i = (A)i,j for i = 1, 2, . . . , m and j = 1, 2, . . . , n, and let ( n ) X C= xj a(j) : xj ≥ 0 for j = 1, 2, . . . , n . j=1 It follows from Proposition 5.12 that C is a closed convex cone in Rm . Moreover C = {Ax : x ∈ Rn and x ≥ 0}. Thus b ∈ C if and only if there exists x ∈ Rn such that b = Ax and x ≥ 0. Therefore statement (i) in the statement of Farkas’ Lemma is true if and only if b ∈ C. If b 6∈ C then it follows from Proposition 5.13 that there exists a linear functional ϕ: Rm → R such that ϕ(v) ≥ 0 for all v ∈ C and ϕ(b) < 0. Then there exists y ∈ Rm with the property that ϕ(v) = yT v for all v ∈ Rm . Now Ax ∈ C for all x ∈ Rn satisfying x ≥ 0. It follows that yT Ax ≥ 0 for all x ∈ Rn satisfying x ≥ 0. In particular (yT A)i = yT Ae(i) ≥ 0 for 118 i = 1, 2, . . . , m, where e(i) is the vector in Rm whose ith component is equal to 1 and whose other components are zero. Thus if b 6∈ C then there exists y ∈ Rm for which yT A ≥ 0 and yT b < 0. Conversely suppose that there exists y ∈ Rm such that yT A ≥ 0 and yT b < 0. Then yT Ax ≥ 0 for all x ∈ Rn satisfying x ≥ 0, and therefore yT v ≥ 0 for all v ∈ C. But yT b < 0. It follows that b 6∈ C. Thus statement (ii) in the statement of Farkas’s Lemma is true if and only if b 6∈ C. The result follows. Corollary 5.15 Let A be a m × n matrix with real coefficients, and let c ∈ Rn be an n-dimensional real vector. Then exactly one of the following two statements is true:— (i) there exists y ∈ Rm such that yT A = cT and y ≥ 0; (ii) there exists v ∈ Rn such that Av ≥ 0 and cT v < 0. Proof It follows on applying Farkas’s Lemma to the transpose of the matrix A that exactly one of the following statements is true:— (i) there exists y ∈ Rm such that AT y = c and y ≥ 0; (ii) there exists v ∈ Rm such that vT AT ≥ 0 and vT c < 0. But vT c = cT v. Also AT y = c if and only if yT A = cT , and vT AT ≥ 0 if and only if Av ≥ 0. The result follows. Corollary 5.16 Let A be a m×n matrix with real coefficients, and let c ∈ Rn be an n-dimensional real vector. Suppose that cT v ≥ 0 for all v ∈ Rn satisfying Av ≥ 0. Then there exists some there exists y ∈ Rm such that yT A = cT and y ≥ 0. Proof Statement (ii) in the statement of Corollary 5.15 is false, by assumption, and therefore statement (i) in the statement of that corollary must be true. The result follows. Proposition 5.17 Let n be a positive integer, let I be a non-empty finite set, let ϕ: Rn → R be a linear functional on Rn , and, for each i ∈ I, let ηi : Rn → R be a linear functional on Rn . Suppose that ϕ(v) ≥ 0 for all v ∈ Rn with the property that ηi (v) ≥ 0 for all i ∈ I.P Then there exist non-negative real numbers gi for all i ∈ I such that ϕ = gi ηi . i∈I 119 Proof We may suppose that I = {1, 2, . . . , m} for some positive integer m. For each i ∈ I there exist real numbers Ai,1 , Ai,2 , . . . , Ai,n such that ηi (v1 , v2 , . . . , vn ) = n X Ai,j vj j=1 for i = 1, 2, . . . , m and for all real numbers v1 , v2 , . . . , vn . Let A be the m × n matrix whose coefficient in the ith row and jth column is the real number Ai,j for i = 1, 2, . . . , m and j = 1, 2, . . . , n. Then an n-dimensional vector v ∈ Rn satisfies ηi (v) ≥ 0 for all i ∈ I if and only if Av ≥ 0. There exists an n-dimensional vector c ∈ Rn such that ϕ(v) = cT v for all v ∈ Rn . Then cT v ≥ 0 for all v ∈ Rn satisfying Av ≥ 0. It then follows from Corollary 5.16 that there exists y ∈ Rm such that yT A = cT andP y ≥ 0. Let gi = (y)i for i = 1, 2, . . . , m. Then gi ≥ 0 for i = 1, 2, . . . , m and gi ηi = ϕ, i∈I as required. Remark The result of Proposition 5.17 can also be viewed as a consequence of Proposition 5.13 applied to the convex cone in the dual space Rn∗ of the real vector space Rn generated by the linear functionals ηi for i ∈ I. Indeed let C be the subset of Rn∗ defined such that ( ) X C= gi ηi : gi ≥ 0 for all i ∈ I . i∈I It follows from Proposition 5.12 that C is a closed convex cone in the dual space Rn∗ of Rn . If the linear functional ϕ did not belong to this cone then it would follow from Proposition 5.13 that there would exist a linear functional V : Rn∗ → R with the property that V (ηi ) ≥ 0 for all i ∈ I and V (ϕ) < 0. But given any linear functional on the dual space of a given finite-dimensional vector space, there exists some vector belonging to the given vector space such that the linear functional on the dual space evaluates elements of the dual space at that vector (see Corollary 2.7). It follows that there would exist v ∈ Rn such that V (ψ) = ψ(v) for all ψ ∈ Rn∗ . But then ηi (v) ≥ 0 for all i ∈ I and ϕ(v) < 0. This contradicts the requirement that ϕ(v) ≥ 0 for all v ∈ Rn satisfying ηi (v) ≥ 0 for all i ∈ I. To avoid this contradiction it must be the case that ϕ ∈ C, and therefore P there must exist non-negative real numbers gi for all i ∈ I such that ϕ = i∈I gi ηi . Corollary 5.18 Let n be a positive integer, let I be a non-empty finite set, let ϕ: Rn → R be a linear functional on Rn , and, for each i ∈ I, let ηi : Rn → R be a linear functional on Rn . Suppose that there exists a subset I0 of I such that 120 ϕ(v) ≥ 0 for all v ∈ Rn with the property that ηi (v) ≥ 0 for all i ∈ I0 .P Then there exist non-negative real numbers gi for all i ∈ I such that ϕ = gi ηi i∈I and gi = 0 when i 6∈ I0 . Proof It follows directly from Proposition P 5.17 that there exist non-negative real numbers gi for all i ∈ I0 such that ϕ = gi ηi . Let gi = 0 for all i ∈ I\I0 . i∈I0 P Then ϕ = gi ηi , as required. i∈I0 Definition A subset X is said to be a convex polytope if there exist linear functionals η1 , η2 , . . . , ηm on Rn and real numbers s1 , s2 , . . . , sm such that X = {x ∈ Rn : ηi (x) ≥ si for i = 1, 2, . . . , m}. Let (ηi : i ∈ I) be a finite collection of linear functionals on Rn indexed by a finite set I, let si be a real number for all i ∈ I, and let \ X = {x ∈ R : ηi (x) ≥ si }. i∈I Then X is a convex polytope in Rn . A point x of Rn belongs to the convex polytope X if and only if ηi (x) ≥ si for all i ∈ I. Proposition 5.19 Let n be a positive integer, let I be a non-empty finite set, and, for each i ∈ I, let ηi : Rn → R be non-zero linear functional and let si be a real number. Let X be the convex polytope defined such that \ X = {x ∈ R : ηi (x) ≥ si }. i∈I (Thus a point x of Rn belongs to the convex polytope X if and only if ηi (x) ≥ si for all i ∈ I.) Let ϕ: Rn → R be a non-zero linear functional on Rn , and let x∗ ∈ X. Then ϕ(x∗ ) ≤ ϕ(x) for all x ∈ X if and P only if there exist non-negative real numbers gi for all i ∈ I such that ϕ = gi ηi and gi = 0 i∈I whenever ηi (x∗ ) > si . Proof Let K = {i ∈ I : ηi (x∗ ) > si }. Suppose that there P do not exist non-negative real numbers gi for all i ∈ I such that ϕ = gi ηi and gi = 0 i∈I when i ∈ K. Corollary 5.18 then ensures that there must exist some v ∈ Rn such that ηi (v) ≥ 0 for all i ∈ I \ K and ϕ(v) < 0. Then ηi (x∗ + λv) = ηi (x∗ ) + ληi (v) ≥ si 121 for all i ∈ I \ K and for all λ ≥ 0. If i ∈ K then ηi (x∗ ) > si . The set K is finite. It follows that there must exist some real number λ0 satisfying λ0 > 0 such that ηi (x∗ + λv) ≥ si for all i ∈ K and for all real numbers λ satisfying 0 ≤ λ ≤ λ0 . Combining the results in the cases when i ∈ I \ K and when i ∈ K, we find that ηi (x∗ + λv) ≥ si for all i ∈ I and λ ∈ [0, λ0 ], and therefore x∗ + λv ∈ X for all real numbers λ satisfying 0 ≤ λ ≤ λ0 . But ϕ(x∗ + λv) = ϕ(x∗ ) + λϕ(v) < ϕ(x∗ ) whenever λ > 0. It follows that the linear functional ϕ cannot attain a minimum value in X at any point x∗ for which either K = I or for which K is a proper subset of I but Pthere exist non-negative real numbers gi for all i ∈ I \ K such that ϕ = gi ηi . The result follows. i∈I\K 5.7 Strong Duality Example Consider again the following linear programming problem in general primal form:— find values of x1 , x2 , x3 and x4 so as to minimize the objective function c1 x1 + c2 x2 + c3 x3 + c4 x4 subject to the following constraints:— • a1,1 x1 + a1,2 x2 + a1,3 x3 + a1,4 x4 = b1 ; • a2,1 x1 + a2,2 x2 + a2,3 x3 + a2,4 x4 = b2 ; • a3,1 x1 + a3,2 x2 + a3,3 x3 + a3,4 x4 ≥ b3 ; • x1 ≥ 0 and x3 ≥ 0. Now the constraint a1,1 x1 + a1,2 x2 + a1,3 x3 + a1,4 x4 = b1 can be expressed as a pair of inequality constraints as follows: a1,1 x1 + a1,2 x2 + a1,3 x3 + a1,4 x4 ≥ b1 −a1,1 x1 − a1,2 x2 − a1,3 x3 − a1,4 x4 ≥ −b1 . Similarly the equality constraint involving b2 can be expressed as a pair or inequality constraints. Therefore the problem can be reformulated as follows:— 122 find values of x1 , x2 , x3 and x4 so as to minimize the objective function c1 x 1 + c2 x 2 + c3 x 3 + c4 x 4 subject to the following constraints:— • a1,1 x1 + a1,2 x2 + a1,3 x3 + a1,4 x4 ≥ b1 ; • −a1,1 x1 − a1,2 x2 − a1,3 x3 − a1,4 x4 ≥ −b1 ; • a2,1 x1 + a2,2 x2 + a2,3 x3 + a2,4 x4 ≥ b2 ; • −a2,1 x1 − a2,2 x2 − a2,3 x3 − a2,4 x4 ≥ −b2 ; • a3,1 x1 + a3,2 x2 + a3,3 x3 + a3,4 x4 ≥ b3 ; • x1 ≥ 0; • x3 ≥ 0. Let ϕ(x1 , x2 , x3 , x4 ) = c1 x1 + c2 x2 + c3 x3 + c4 x4 , and let η1+ (x1 , x2 , x3 , x4 ) η1− (x1 , x2 , x3 , x4 ) η2+ (x1 , x2 , x3 , x4 ) η2− (x1 , x2 , x3 , x4 ) η3 (x1 , x2 , x3 , x4 ) ζ1 (x1 , x2 , x3 , x4 ) ζ3 (x1 , x2 , x3 , x4 ) = = = = = = = a1,1 x1 + a1,2 x2 + a1,3 x3 + a1,4 x4 , −η1 (x1 , x2 , x3 , x4 ), a2,1 x1 + a2,2 x2 + a2,3 x3 + a2,4 x4 , −η3 (x1 , x2 , x3 , x4 ), a3,1 x1 + a3,2 x2 + a3,3 x3 + a3,4 x4 , x1 , x3 , Then (x1 , x2 , x3 , x4 ) is a feasible solution to the primal problem if and only if this element of R4 belongs to the convex polytope X, where X is the subset of R4 consisting of all points x of R4 that satisfy the following constraints:— • η1+ (x) ≥ b1 ; • η1− (x) ≥ −b1 ; • η2+ (x) ≥ b2 ; • η2− (x) ≥ −b2 ; • η3 (x) ≥ b3 ; 123 • ζ1 (x) ≥ 0; • ζ3 (x) ≥ 0. An inequality constraint is said to be binding for a particular feasible solution x if equality holds in that constraint at the feasible solution. Thus the constraints on the values of η1+ , η1− , η2+ and η2− are always binding at points of the convex polytope X, but the constraints determined by η3 , ζ1 and ζ3 need not be binding. Suppose that the linear functional ϕ attains its minimum value at a point ∗ x of X, where x∗ = (x∗1 , x∗2 , x∗3 , x∗4 ). It then follows from Proposition 5.19 − + − that there exist non-negative real numbers p+ 1 , p1 , p2 , p2 , p3 , q1 and q3 such that − − + + − − + p+ 1 η1 + p1 η1 + p2 η2 + p2 η2 + p3 η3 + q1 ζ1 + q3 ζ3 = ϕ. Moreover p3 = 0 if η3 (x∗ ) > b3 , q1 = 0 if ζ1 (x∗ ) > 0, and q3 = 0 if ζ3 (x∗ ) > 0. Now η1− = −η1+ and η2− = −η2+ . It follows that p1 η1+ + p2 η2+ + p3 η3 + q1 ζ1 + q3 ζ3 = ϕ, − + − where p1 = p+ 1 − p1 and p2 = p2 − p2 . Moreover p3 = 0 if p1 a1,1 + p2 a2,1 + p3 a3,1 p1 a1,2 + p2 a2,2 + p3 a3,2 p1 a1,3 + p2 a2,3 + p3 a3,3 p1 a1,4 + p2 a2,4 + p3 a3,4 p3 4 P i=1 a3,j x∗j > b3 , 3 P a3,j x∗j > b3 , i=1 q1 = 0 if x∗1 > 0, and q3 = 0 if x∗3 > 0. It follows that Moreover p3 = 0 if 4 P ≤ = ≤ = ≥ c1 , c2 , c3 , c4 , 0. pi ai,1 = c1 if x∗1 > 0, and i=1 3 P pi ai,3 = c3 i=1 if x∗3 > 0. It follows that (p1 , p2 , p3 ) is a feasible solution of the dual problem to the feasible primal problem. Moreover the complementary slackness conditions determined by the primal problem are satisfied. It therefore follows from the Weak Duality Theorem (Theorem 5.5) that (p1 , p2 , p3 ) is an optimal solution to the dual problem. Theorem 5.20 (Strong Duality for Linear Programming Problems with Optimal Solutions) Let x∗ ∈ Rn be an optimal solution to a linear programming problem Primal(A, b, c, I + , J + ) 124 expressed in general primal form with constraint matrix A with m rows and n columns, target vector b, cost vector c, inequality constraint specifier I + and variable sign specifier J + . Then there exists an optimal solution p∗ to the corresponding dual programming problem Dual(A, b, c, I + , J + ), and moreover p∗T b = cT x∗ . Proof Let x∗ = (x∗1 , x∗2 , . . . , x∗n ), and let Ai,j = (A)i,j , bi = (b)i and cj = (c)j for i = 1, 2, . . . , m and j = 1, 2, . . . , n. Then optimal solution x∗ minimizes cT x∗ subject to the following constraints:— • Ax∗ ≥ b; • (Ax∗ )i = bi unless i ∈ I + ; • x∗j ≥ 0 for all j ∈ J + . Let p be a feasible solution to the dual problem, and let p = (p1 , p2 , . . . , pm ). Then p must satisfy the following constraints:— • pT A ≤ cT ; • pi ≥ 0 for all i ∈ I + ; • (pT A)j = cj unless j ∈ J + . Now the constraints of the primal problem can be expressed in inequality form as follows:— • (Ax∗ )i ≥ bi for all i ∈ I + ; • (Ax∗ )i ≥ bi for all i ∈ I \ I + ; (−Ax∗ )i ≥ −bi for all i ∈ I \ I + ; • x∗j ≥ 0 for all j ∈ J + . Let ϕ(x1 , x2 , . . . , xn ) = n X cj x j , j=1 ηi (x1 , x2 , . . . , xn ) = n X (A)i,j xj (i = 1, 2, . . . , m) j=1 ζj (x1 , x2 , . . . , xn ) = xj 125 (j = 1, 2, . . . , n) It follows from Proposition 5.19 that if there exists an optimal solution to the primal problem then there exist non-negative quantities pi for all i ∈ I + , + + p+ such that i and p− for all i ∈ I \ I and qj for all j ∈ J X X X − ϕ= pi η i + (p+ − p )η + qj ζj . i i i i∈I + i∈I\I + j∈J + Moreover pi = 0 whenever i ∈ I + and ηi (x∗1 , x∗2 , . . . , x∗n )i > bi and qj = 0 whenever x∗j > 0. Let p∗ ∈ Rm be defined such that (p∗ )i = pi for all i ∈ I + − + ∗T and (p∗ )i = p+ i − pi for all i ∈ I \ I . Then (p A)j ≤ cj for j = 1, 2, . . . , n, (p∗ )i ≥ 0 for all i ∈ I + , and (p∗T A)j = cj unless j ∈ J + . Moreover (p∗ )i = 0 whenever (Ax∗ )i > bi and qi = 0 whenever xj > 0. It follows that p∗ is a feasible solution of the dual problem. Moreover the relevant complementary slackness conditions are satisfied by x∗ and p∗ . It is then a consequence of the Weak Duality Theorem that cT x∗ = p∗T b, and that therefore p∗ is an optimal solution of the dual problem (see Corollary 5.6). The result follows. 126