Download presentation
Presentation is loading. Please wait.
Published bySusanna Ada Barnett Modified over 9 years ago
2
OR-1 20101 Chapter 7. The Revised Simplex Method Recall Theorem 3.1, same basis same dictionary Entire dictionary can be constructed as long as we know which variables are basic. Suppose we have the following form after adding slack variables to the standard LP. (or any LP in equality form and nonnegativity)
3
OR-1 20102 Note that we have m basic variables and n nonbasic variables in a dictionary. Reorder the columns of A (the order that variables appear) so that the columns for basic variables come first. Partition A into A=[B : N], where B is m m (and nonsingular, see the proof in the text p.100) and the columns of B correspond to basic variables. Let
4
OR-1 20103 Matrix representation of dictionary (tableau) Note that In the text A N is used instead of N
5
OR-1 20104 Current tableau c B ’B -1 N can be interpreted differently i.e. we take linear combination of rows of N using weights - y i and add it to c N ’ in the z-row. For basic variables, we have y’B = c B ’. Hence the coefficients 0 of the basic variables in the z-row can be interpreted as taking linear combination of rows of B using weights – y i and add it to c B ’ in the z- row ( c B ’ + ( -c B ’B -1 B) = 0 ).
6
OR-1 20105 Similar argument also holds for r.h.s., i.e. add (- y)’b to z-row. Hence given the initial tableau, we obtain z-row of the updated tableau by taking linear combination of rows of the initial tableau using weights - y i and add it to z-row. It is the net effect of many elementary row operations performed on the tableau. Recall the proof of strong duality theorem, in which we claimed that, at the optimal tableau, the negative of the coefficients of slack variables in z-row is an optimal dual solution. It is the y vector obtained from y = c B ’B -1. We will see the reason shortly.
7
OR-1 20106 Initially, we have After reordering of columns
8
OR-1 20107 Updated tableau = c B ’ – c B ’B -1 B = c N ’ – c B ’B -1 N ( = B -1 [ B : N ] )(= B -1 b) = 0 – c B ’B -1 b (c B ’B -1 = y’ )
9
OR-1 20108 Let Then updated z-row is obtained by multiplying - y i to the i-th constraint (row) and add it to z-row for all constraints i. We can identify the coefficient of a nonbasic variable in z-row by computing c j – y’A j, once y vector is known ( y’ = c B ’B -1 ). Also B -1 gives information what elementary row operations are performed on the constraints. ( updated i-th constraint = ( i-th row of B -1 ) [B : N], so j-th component of ( i-th row of B -1 ) is the weight we multiply to the j-th original constraint. We take linear combination of rows of [B : N]. ) Hence updated tableau carries information what elementary operations have been performed ( the net effect) to obtain the current tableau. z-row obtained from c –y’A (objective value: 0 –y’b) i-th constraint : ( i-th row of B -1 ) [B : N] (r.h.s: ( i-th row of B -1 )b )
10
Ex) OR-1 20109
11
10 Current dictionary
12
OR-1 201011
13
OR-1 201012 Updated tableau
14
OR-1 201013 Apply same elementary row operations
15
OR-1 201014 c j – y’A j = - y m+j c j – y’e j = - y j
16
OR-1 201015 The coefficients of slack variables in z-row are -y j, j = 1,.., 3. Also note that the coefficient of j-th original structural variable in the z- row is c j – y’A j. Since dual constraint for j-th structural variable is y’A j c j, we obtain y’A j – y m+j = c j if we subtract nonnegative surplus variable to convert it into an equation. Then c j – y’A j = - y m+I. So the coefficient of j-th structural variable in the z-row can be interpreted as the negative of j-th surplus variable of the dual problem. In the optimal tableau (the current tableau is not optimal yet), the coefficients in z-row are all nonpositive. Hence we have a dual feasible solution. Also c B ’B -1 b = c B ’x B = y’b ( x B = B -1 b, y’ = c B ’B -1 )
17
OR-1 201016 Summary We can read the B -1 matrix from the updated tableau. Note that B -1 [B | N ] = [ I | B -1 N ] in the updated tableau. If we premultiply B -1 to [A | I ] matrix in the initial tableau, we obtain the same matrix as [ I | B -1 N ] except that the positions of the columns are different. From B -1 [A | I ] = [B -1 A | B -1 ], we conclude that B -1 is the coefficient matrix for the slack variables in the updated tableau. Also B -1 carries the information of the net effect of the elementary row operations we needed to perform to obtain the updated tableau from the initial tableau. We can read a dual solution from the z-row in the updated tableau. Let O denote the index set of original structural variables and S the slack vars. Then Note that we have y’B=c B ’, hence
18
OR-1 201017 Then
19
OR-1 201018 In summary, each tableau in the simplex iterations gives primal basic feasible solution and, as a by-product, gives a dual solution (it is a dual basic solution although we do not prove it here). The dual solution is not necessarily dual feasible, but always gives an objective value of the dual problem which is the same as the primal objective value of the current primal solution. Also the primal and the dual solution pairs satisfy the complementary slackness condition (check this) If we obtain a dual feasible solution, i.e. the coefficients in the z-row are all nonpositive, we obtain primal, dual feasible solution with the same objective value. Hence optimality of the primal solution is established. Other types of algorithms can be designed using the complementary slackness optimality conditions. (e.g. dual simplex method, some algorithms for network problems,...)
20
OR-1 201019
21
OR-1 201020 The Revised Simplex Method Efficient implementation of the simplex method. Recall the needed operations for the simplex method: Find the entering and the leaving variable, update dictionary. (If we know the basis, entire tableau can be constructed. Hence we do not really need to update the dictionary.) Find the entering variable x j : 1) Find 2) Evaluate Choose a nonbasic variable with as the entering nonbasic var. Find the leaving variable:
22
OR-1 201021 Suppose x k, k N is the entering nonbasic variable. As we increase x k while keeping other nonbasic variables at 0, we get Update: Set Replace the leaving column of B by entering column A j, and x k enters the basis in place of x l (position in the basis is important)
23
OR-1 201022 ex) Current dictionary
24
OR-1 201023 Find entering nonbasic variable x j such that c j - y’A j > 0 ( y = c B ’B -1 ) First solve y’B = c B ’
25
OR-1 201024
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.