OR-1 20101 Chapter 7. The Revised Simplex Method Recall Theorem 3.1, same basis same dictionary...

24
OR-1 2010 1 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) 0 subject to ' maximize x b Ax x c 1 0 1 0 1 2 1 2 22 21 1 12 11 mn m m n n a a a a a a a a a A

Transcript of OR-1 20101 Chapter 7. The Revised Simplex Method Recall Theorem 3.1, same basis same dictionary...

Page 1: 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.

OR-1 2010 1

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)

0

subject to

' maximize

x

bAx

xc

10

1

01

21

22221

11211

mnmm

n

n

aaa

aaa

aaa

A

Page 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.

OR-1 2010 2

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 mm (and nonsingular, see the proof in the text p.100) and the columns of B correspond to basic variables.

Let ],[ ,],[ NBNB cccxxx

NBNBN

B NxbBxbNxBxx

xNBbAx

: Then

) basis with dictionarycurrent in sconstraint of form(matrix

sidesboth on y Premultipl 111

B

NxBbBxIxB NBB

Nj Bjjj

Nj jjBjBNBNB

NNNBNNBBN

BNB

BcyxAycby

xABccbBcxNBccbBc

xcNxBbBcxcxcx

xccxcz

)''(let )'('

)'(')''('

')(''']','['

1

1111

11

Page 3: 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.

OR-1 2010 3

Matrix representation of dictionary (tableau)

NB

NBNB

NxBbBx

xNBccbBcz11

11

)''('

')''('0 11

11

bBNxBx

bBcxNBccxz

NB

BNBNB

],...,,['],...,,[''2121

11nn NNNNNNBB AAAyAAABcNBc

'' ofsolution theis i.e. ,'' use frequently We 1BB cByyBcy

Note that

In the text AN is used instead of N

Nj jjjNBN xAycxNBcc )'()''( Hence 1

bybBcB '' and 1

Page 4: 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.

OR-1 2010 4

Current tableau

],...,,['],...,,[''2121

11nn NNNNNNBB AAAyAAABcNBc

')''('0 11

11

bBNxBx

bBcxNBccxz

NB

BNBNB

cB’B-1N can be interpreted differently

'

'

'

'

'

''

mm

BB

a

a

y

a

a

BcNBc 11

11

i.e. we take linear combination of rows of N using weights - yi and add

it to cN’ in the z-row.

For basic variables, we have y’B = cB’. 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 – yi and add it to cB’ in the z-

row ( cB’ + ( -cB’B-1B) = 0 ) .

Page 5: 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.

OR-1 2010 5

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 - yi 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 = cB’B-1.

We will see the reason shortly.

Page 6: 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.

OR-1 2010 6

Initially, we have

A I b

c 00

B N b

0'Bc 'Ncz

z

After reorderingof columns

Page 7: 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.

OR-1 2010 7

Updated tableau

B N b

0'Bc 'Nc

I NB 1 bB 1

bBcB10 NBcc BN

1'' z

z

= cB’ – cB’B-1B = cN’ – cB’B-1N

( = B-1 [ B : N ] ) (= B-1 b)

= 0 – cB’B-1b (cB’B-1 = y’ )

Page 8: 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.

OR-1 2010 8

Let

Then updated z-row is obtained by multiplying - yi 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 cj – y’Aj , once y vector is known ( y’ = cB’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 )

)'( '' 1BB cByBcy

Page 9: 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.

Ex)

OR-1 2010 9

4204334

1171

225223..

17121319max

4321

4321

4321

4321

xxxx

xxxx

xxxxts

xxxx

0,,, 4321 xxxx

Page 10: 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.

OR-1 2010 10

Current dictionary

65427

65423

65421

6542

5.25.05.05.015

5.15.05.05.063

5.05.05.05.054

5.85.35.15.21782

xxxxx

xxxxx

xxxxx

xxxxz

},,{ are variablesBasic 731 xxx

12/52/1

02/32/1

02/12/1

,

134

011

0131BB

1100

0010

0001

1010

0100

0001

100134

010011

001013

25

21

23

21

21

21

34

35

31

32

31

31

Page 11: 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.

OR-1 2010 11

25

21

21

21

23

21

21

21

21

21

21

21

25

21

23

21

21

21

1

0043

1011

0122

1

0

0

NB

15

63

54

429

117

225

1

0

0

25

21

23

21

21

21

1bB

1782

429

117

225

05.85.3

429

117

225

1

0

0

01219'

25

21

23

21

21

21

1

bBcB

'y

5.2

3

1

2

05.85.313' 22

Ayc 5.1

4

1

2

05.85.317' 44

Ayc

Page 12: 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.

OR-1 2010 12

420

117

225

0

1004334

0101111

0012123

00017121319 z

7654321 xxxxxxx

420

117

225

0

0043134

1011011

0122013

00171301219 z

6542731 xxxxxxx

15

63

54

1782

52505050100

51505050010

50505050001

58535152000

....

....

....

.... z

6542731 xxxxxxx

Updated tableau

B

N

Bc Nc

),.,.(' 05853y

NB 1 bB 1

jj Ayc '

by'

BB 1

Page 13: 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.

1B

OR-1 2010 13

15

63

54

1782

52505050100

51505050010

50505050001

58535152000

....

....

....

.... z

6542731 xxxxxxx

420

117

225

0

1004334

0101111

0012123

00017121319

7654321 xxxxxxx

15

63

54

1782

15250500500

05150501500

05050500501

05853510520

....

....

....

....

7654321 xxxxxxx

jj Ayc '

IA AB 1b bB 1

by'0 Apply same elementary row operations

Page 14: 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.

OR-1 2010 14

420

117

225

0

1004334

0101111

0012123

0 0 0 17121319

7654321 xxxxxxx

15

63

54

1782

12.5-0.5-0.505.00

01.50.5-0.515.00

00.5-0.50.505.01

08.5-3.5-1.5 0 2.5- 0

7654321 xxxxxxx

jj Ayc '

1B

15

63

54

1782

12.5-0.5-0.505.00

01.50.5-0.515.00

00.5-0.50.505.01

08.5-3.5-1.5 0 2.5- 0

7654321 xxxxxxx

cj – y’Aj = - ym+j cj – y’ej = - yj

AB 1 bB 1

Page 15: 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.

OR-1 2010 15

The coefficients of slack variables in z-row are -yj , j = 1, .., 3.

Also note that the coefficient of j-th original structural variable in the z-row is cj – y’Aj .

Since dual constraint for j-th structural variable is y’Aj cj , we obtain

y’Aj – ym+j = cj if we subtract nonnegative surplus variable to convert it

into an equation.

Then cj – y’Aj = - ym+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 cB’B-1b = cB’xB = y’b ( xB = B-1b, y’ = cB’B-1 )

Page 16: 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.

OR-1 2010 16

SummaryWe 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-1A | 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=cB’ , hence

byxAyczxAycz NBj jjjNj jjj ')'()'( ,

variablesbasicfor 0)'( jj Ayc

Page 17: 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.

OR-1 2010 17

Then

)()'(

)'()'()'(,

Sj jjOj jjj

Sj jjjOj jjjNBj jjj

xyxAycz

xAycxAyczxAycz

.constraint dual th - for the variablesurplus theof negative theas ),'(

and variabledualth - theof value theas dinterprete becan , Here,

jOjAyc

jSjy

jj

j

)' ( ' ' from that Note jjjjjjjj AyczczAycAy

opt. issolution current So

solution. primalcurrent theof valueobjective theas same theis which ' value

objective gives and feasible dual hence ity,nonnegativ and sconstraint dualsatisfy

variablesdual then thee,nonpositiv all are row in thet coefficien theif that Note

solution. dualcurrent for the valueobjective

dual thegives 'constant theand , variablessurplus dual theand variables

structural dual theof valuesgives row in the tscoefficien theof negative i.e.

')()( have Then we

by

z

by

z

byxyxzz Sj jjOj jj

Page 18: 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.

OR-1 2010 18

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, ...)

Page 19: 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.

OR-1 2010 19

later) analysisy sensitivitin (more

problem. changed for the basis optimalan longer no is basiscurrent the

, changingby violatedis variablesbasic theofity nonnegativ theif But,

.by changes valueobjective hence basis optimal thestill

is basiscurrent , 0 while of value thechange weif that Note

unit. 1by changes when ) basiscurrent (with value

objective in the change ofamount therepresent Hence basis). same the

have weas long (as '' valueobjective then the,1 If

1*

i

i

Bi

i

i

iii

b

y

bBxb

bB

y

ybybybb

Page 20: 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.

OR-1 2010 20

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 xj :

1) Find

2) Evaluate

Choose a nonbasic variable with as the

entering nonbasic var. Find the leaving variable:

) ,0' ( 1 NjABcc jBj

'' solvingby '' 1BB cByBcy

NjAyc jj allfor '

0' jj Ayc

Nj jjB

NNNNBNBB

xABx

xABABABxNxBxxn

)( 1*

111*1*21

Page 21: 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.

OR-1 2010 21

Suppose x k , kN 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 Aj , and xk

enters the basis in place of xl (position in the basis is important)

)( 1*kBB ABdtdxx ) solvingby Find ( kABdd

.say 0, becomes which variablebasic thefind and

,0 makes which luelargest va thedetermineThen *

l

B

x

tdxt

0|minset and 0|minarg .,.*

**

ii

i

Bii

i

i

Bid

d

xtd

d

xlei

dtxx

tx

BB

k

***

*

Page 22: 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.

OR-1 2010 22

ex)

4204334

1171

225223..

17121319max

4321

4321

4321

4321

xxxx

xxxx

xxxxts

xxxx

0,,, 4321 xxxx

65427

65423

65421

6542

5.25.05.05.015

5.15.05.05.063

5.05.05.05.054

5.85.35.15.21782

xxxxx

xxxxx

xxxxx

xxxxz

Current dictionary

},,{ are variablesBasic 731 xxx

134

011

013

,

15

63

54

*7

*3

*1

* B

x

x

x

xB

Page 23: 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.

OR-1 2010 23

Find entering nonbasic variable xj such that cj - y’Aj > 0

( y = cB’B-1 )

First solve y’B = cB’

05.85.3' 01219

134

011

013

321

yyyy

5.2

3

1

2

05.85.313' 22

Ayc 5.1

4

1

2

05.85.317' 44

Ayc

5.3

0

0

1

05.85.30' 55

Ayc 5.8

0

1

0

05.85.30' 66

Ayc

basis theenters 4x

Page 24: 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.

OR-1 2010 24

41*1* consider , From AtBxxABxx BNNBB

5.0

5.0

5.0

4

1

2

134

011

013

find to Solve

3

2

1

3

2

1

41

4

d

d

d

d

d

d

ABABd

) 0:(

5.015

5.063

5.054

4

7

3

1

tx

tx

tx

tx

basis theleaves

)30 becomes ( ,30

30 5.0

15 ,

5.0

63 ,

5.0

54 min : testratio

7

*4

*

x

xt

0

48

39

5.0

5.0

5.0

30

15

63

54*Bx

434

111

213

new ,

30

48

39

new*4

*3

*1

* B

x

x

x

xB