or-1 20111 simplex method (algebraic interpretation) add slack variables( 여유변수 ) to each...

28
OR-1 2011 1 Simplex method (algebraic interpretation) Add slack variables( 여여여여 ) to each constraint to convert them to equations. 3 2 1 3 4 x x x 5 maximize 0 , , 8 2 4 1 2 5 3 2 1 3 2 1 3 2 1 3 2 1 x x x x x x x x x x x x 3 1 4 3 2 to subject 3 2 1 3 4 x x x 5 maximize 0 , , , , 8 2 4 1 2 5 6 5 4 3 2 1 6 3 2 1 5 3 2 1 4 3 2 1 , 3 1 4 3 2 to subject x x x x x x x x x x x x x x x x x x (1) (2)

Upload: marlene-robbins

Post on 30-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 1

Simplex method (algebraic interpretation)

Add slack variables( 여유변수 ) to each constraint to convert them to equations.

321 34 xxx 5 maximize

0,,

824

12

5

321

321

321

321

xxx

xxx

xxx

xxx

3

1 4

32 to subject

321 34 xxx 5 maximize

0,,,,

824

12

5

654321

6321

5321

4321

,

3

1 4

32 to subject

xxxxxx

xxxx

xxxx

xxxx

(1)

(2)

Page 2: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 2

Hence we have a 1-1 mapping which maps each feasible point in (1) to a feasible point in (2) uniquely (and conversely) and the objective values are the same for the points.

So solve (2) instead of (1) and disregard the value of slack variables to obtain an optimal solution to the original problem.

(Surplus variable ( 잉여변수 ) : a’x b a’x – xs = b, xs 0 )

same the are values objective and

where

(2) to solution (1) to solution

*3

*2

*1

*6

*3

*2

*1

*5

*3

*2

*1

*4

*6

*5

*4

*3

*2

*1

*3

*2

*1

2438

2411

325

),,,,,(),,(

xxxx

xxxx

xxxx

xxxxxxxxx

same the are values objective and

(1) to solution (2) to solution ),,(),,,,,( *3

*2

*1

*6

*5

*4

*3

*2

*1 xxxxxxxxx

Page 3: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 3

Remark: If LP includes equations, we need to convert each equation

to two inequalities to express the problem in standard form as we have seen earlier. Then we may add slack or surplus variables to convert them to equations. However, this procedure will increase the number of constraints and variables.

Equations in an LP can be handled directly without changing them to inequalities. Detailed method will be explained in Chap8. General LP Problems.

For the time being, we assume that we follow the standard procedure to convert equations to inequalities.

Page 4: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 4

Changes in the solution space when slack is added

0,

1

21

21

xx

xx0,,

1

321

321

xxx

xxx

x2

x1

x1

x3

x21

1

1

1

1

Solution set is still 2-dimensional

Page 5: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 5

Next let

Then find solution to the following system which maximizes z (tableau form)

In the text, dictionary form used, i.e. each dependent variable (including z) (called basic variable) is expressed as linear combinations of indep. var. (called nonbasic variable).

03434 321321 xxxzxxxz 5 or 5

0,,,,

824

12

5

654321

6321

5321

4321

,

3

1 4

32

xxxxxx

xxxx

xxxx

xxxx

034 321 5 xxxz

0,,,,

248

21

5

654321

3216

3215

3214

,

3

41

32

xxxxxx

xxxx

xxxx

xxxx321 340 xxxz 5

(Note that, unlike the text, we place the objective function in the first row. Such presentation style is used more widely and we follow that convention)

Page 6: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 6

From previous lectures, we know that if the polyhedron P has at

least one extreme point and the LP over P has a finite optimal value, the LP has an extreme point optimal solution. Also an extreme point of P for our problem is a basic feasible solution algebraically.

We obtain a basic solution by setting x1 = x2 = x3 = 0 and finding the

values of x4, x5, and x6 , which can be read directly from the

dictionary. (also z values can be read.) If all values of x4, x5, and

x6 are nonnegative, we obtain a basic feasible solution.

The equation for z may be regarded as part of the systems of equations, or we may think of it as a separate equation used to evaluate the objective value for the given solution.

Page 7: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 7

Now, we look for other basic feasible solutions which gives better objective values than the current solution. Such solutions can be examined by setting 7 – 4 = 3 variables at 0 (called nonbasic variables) and solve the equations for the remaining 4 variables (called basic variables). Here z may be regarded as a basic variable and it remains basic at any time during the simplex iterations.

Page 8: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 8

Initial feasible solution

To find a better solution, find a nonbasic variable having positive coefficient in z row (say x1) and increase the value of the chosen

nonbasic variable while other nonbasic variables remain at 0.

We need to obtain a solution that satisfies the equations. Since x1

increases and other nonbasic variables remain at 0, the values of basic variables must change so that the new solution satisfies the equations and nonnegativity. How much can we increase x1?

0 ,,,,,

2438

2 411

325

654321

3216

3215

3214

xxxxxx

xxxx

xxxx

xxxx321 3450 xxxz

0,8,11,5 , var.)(nonbasic 0,, 654321 zxxxxxx

2/51 x

4/111 x

3/81 x

Page 9: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 9

(continued)

x1 (5/2) most binding (ratio test), get new solution

x1 = (5/2), x2, x3 = 0, x4 = 0, x5 = 1, x6 = (1/2), z = 25/2

This is a new b.f.s since x4 now can be treated as a nonbasic variable

(has value 0) and x1 is basic.

(We need a little bit of caution here in saying that the new solution is a basic feasible solution since we must be able to obtain it by setting x2, x3, and x4 at 0 and obtain a unique solution after solving the

remaining system of equations)

Page 10: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 10

Change the dictionary so that the new solution can be directly read off

x1 : 0 (5/2), x4 : 5 0

So change the role of x1 and x4 . x4 becomes independent (nonbasic) variable and x1 becomes dependent (basic) variable.

Why could we find a basic feasible solution easily?

1) all independent(nonbasic) variables appear at the right of equality (have value 0)

2) each dependent (basic) variable appears in only one equation

3) each equation has exactly one basic variable appearing

( z variable may be interpreted as a basic variable, but usually it is treated separately since it always remains basic and it is irrelevant to the description of the feasible solutions)

So change the dictionary so that it satisfies the above properties.

Page 11: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 11

3216

3215

3214

2438

2 411

325

xxxx

xxxx

xxxx

321 3450 xxxz

421

321

223

25

1 xxxx

42

32421

321

223

25

5

251

2)(411

xx

xxxxxx

423

321

221

21

32421

321

223

25

6

24)(38

xxx

xxxxxx

425

321

227

225

22421

321

223

25 34)(5

xxx

xxxxxz

Page 12: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 12

421

321

223

25

1 xxxx

425 251 xxx

423

321

221

6 xxxx 21

425

321

227

225 xxxz

421

321

223

25

1 xxxx

425 251 xxx

423

321

221

6 xxxx 21

425

321

227

225 xxxz

3216

3215

3214

2438

2411

325

xxxx

xxxx

xxxx

321 3450 xxxz

3261

3251

4321

2483

2114

352

xxxx

xxxx

xxxx

321 3405 xxxz

Page 13: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 13

3261

3251

421

321

23

25

1

2483

2114

xxxx

xxxx

xxxx

2

321 3405 xxxz

3261

3251

4321

2483

2114

352

xxxx

xxxx

xxxx

321 3405 xxxz

421

321

223

25

1 xxxx

425 251 xxx

423

321

221

6 xxxx 21

425

321

227

225 xxxz

Equivalent to performing row operations

Page 14: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 14

Note that the previous solution

x1 = x2 = x3 = 0, x4 = 5, x5 = 11, x6 = 8, z = 0

and the new solution

x1 = (5/2), x2, x3 = 0, x4 = 0, x5 = 1, x6 = (1/2), z = 25/2

satisfies the updated system of equations. Only difference is that the new solution can be read off directly from the new dictionary.

We update the dictionary to read a new basic solution directly, but the set of solutions is not changed.

421

321

223

25

1 xxxx

425 251 xxx

423

321

221

6 xxxx 21

425

321

227

225 xxxz

Page 15: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 15

Next iteration:

Select x3 as the nonbasic bariable to increase the value (called

entering nonbasic variable).

x6 becomes 0 (changes status to nonbasic variable from basic

variable)

Perform substitutions (elementary row operations)

421

321

223

25

1 xxxx

425 251 xxx

423

321

221

6 xxxx 21

425

321

227

225 xxxz

53 x

13 x

nrestrictio no gives

Page 16: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 16

New solution is

It is optimal since any feasible solution must have nonnegative values and

implies that z 13 for any nonnegative feasible solution

Hence if the coefficients of the nonbasic variables in z- row are all non-positive, current solution is optimal (note that it is a sufficient condition for optimality but not a necessary condition)

13,0,1,0,1,0,2 654321 zxxxxxx

6423

425

6421

642

231

251

222

313

xxxx

xxx

xxxx

xxxz

642 313 xxxz

Page 17: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 17

Moving directions in Rn in the example

3216

3215

3214

2438

2411

325

xxxx

xxxx

xxxx

321 3450 xxxz

421

321

223

25

1 xxxx

425 251 xxx

423

321

221

6 xxxx 21

425

321

227

225 xxxz

0,8,11,5,0,, 654321 zxxxxxx var.) (indep.

x1 = (5/2), x2, x3 = 0, x4 = 0, x5 = 1, x6 = (1/2), z = 25/2

1/2) 1, 0, 0, 0, (5/2, 8), 11, 0,5, ,0 ,0(Let 10 xx

Then we obtained x1 = x0 +t d, where d = (1, 0, 0, -2, -4, -3) and t = 5/2Note that the d vector can be found from the dictionary.( the column for x1)We make t as large as possible while x0 +t d 0.

Page 18: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 18

Geometric meaning of an iteration

Notation

0,,

1

321

321

xxx

xxx

x1

x3

x2

x1=0x2=0

x3=0

Page 19: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 19

Our example : assume x2 does not exist. It makes the polyhedron

2 dimensional since we have 5 variables and 3 equations (except nonnegativity and obj row)

3216

3215

3214

2438

2 411

325

xxxx

xxxx

xxxx

321 3450 xxxz

421

321

223

25

1 xxxx

425 2 51 xxx

423

321

221

21

6 xxxx

425

321

227

225 xxxz

x1=0

x4=0

x3=0x6=0

d

A

B

We move from A, which isan extreme point defined by 3 eq. and x1=x3= 0 to B defined by the 3 eq. and x3 = x4 = 0.

Page 20: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 20

Terminology

Assume that we have max c’x, Ax = b, x 0, where A is m (n + m) and full row rank.

A solution x* is called a basic solution ( 기저해 ) if it can be obtained by setting n of the variables equal to 0 and then solving for the remaining m variables, where the columns of the A matrix corresponding to the m variables are linearly independent. (Hence provides a unique solution.)

In the text, basic solution is defined as the solution which can be obtained by setting the right-hand side variables (independent var.) at zero in the dictionary. This is the same definition as the one given above. But the text does not make clear distinction between basic solution and basic feasible solution.

Page 21: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 21

For a basic solution x*, the n variables which are set to 0 are called nonbasic variables ( 비기저변수 ) (independent var.) and the remaining m variables are called basic variables ( 기저변수 ) (dependent var.)

The z-row may be considered as part of system of equations. In that case, z var. is regarded as basic variable. It always remains basic during the simplex iterations.

On the other hand, z-row may be regarded as a separate equation which is used to read off objective function values and other equations and nonnegativity describes the solution set.

Both viewpoints are useful.

A solution x* is called a basic feasible solution ( 기저가능해 ) if it is a basic solution and satisfies x 0. (feasible solution to the augmented LP)

Page 22: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 22

The set of basic variables are called basis ( 기저 ) of the basic

solution. (note that the set of basic variables spans the subspace generated by the columns of A matrix.)

In a simplex iteration, the nonbasic variable which becomes basic in that iteration is called entering (nonbasic) variable ( 도입변수 ) and the basic variable which becomes nonbasic is called leaving (basic) variable ( 탈락변수 )

Minimum ratio test ( 최소비율검사 ) : test to determine the leaving basic variable

Pivoting : computational process of constructing the new dictionary (elementary row operations)

Page 23: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 23

Remarks

For standard LP, the basic feasible solution to the augmented form corresponds to the extreme point of the feasible set of points.

(If the given LP is not in standard form, we should be careful in saying the equivalence, especially when free variables exist.)

Simplex method searches the extreme points in its iterations.

Note that we used (though without proof) the equivalence of the extreme points (geometric definition) and the basic feasible solution (algebraic definition) for augmented form LP.

Page 24: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 24

Maximum number of b.f.s. in augmented form is

In the simplex method, one nonbasic variable becomes basic and one basic variable becomes nonbasic in each iteration (except the z variable, it always remains basic.)

In real implementations, we do not update entire dictionary ( or tableau). We maintain information about the current basis. Then entire tableau can be constructed from that information and the simplex iteration can be performed (called revised simplex method).

n

nm

Page 25: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 25

Obtaining all optimal solutions

425

6421

6423

251

222

231

xxx

xxxx

xxxx

-

642313 xxxz

13. than less is value objective the then 0, than

greater is ofany if , solution feasibleany For 642621 ,,),...,,( xxxxxxx

solution. optimal unique the is solution optimal current the hence

solution, optimalany for have must weHence 0642 xxx

If all coefficients in the z- row are < 0, it gives a sufficient condition for the uniqueness of the current optimal solution.

Page 26: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 26

Another example

3526

3521

3524

294

8651

723

xxxx

xxxx

xxxx

38 xz

Any feasible solution with x3 = 0 is an optimal solution. The set of feasible solutions with x3 = 0 is given by

0,

0294

0651

023

52

526

521

524

xx

xxx

xxx

xxx

0,

429

165

32

52

52

52

52

xx

xx

xx

xx

Page 27: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 27

Tableau format

8243

1124

532

0345

6321

5321

4321

321

xxxx

xxxx

xxxx

xxxz

8100243

11010214

5001132

0000345

8100243

11010214

2/5002/12/12/31

0000345

2/1102/32/12/10

1012050

2/5002/12/12/31

2/25002/52/12/70

Page 28: OR-1 20111 Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (1) (2)

OR-1 2011 28

Tableau format only maintains coefficients in the equations.

It is convenient to carry out a simplex iteration in the tableau.