or-1 20151 2 3 perturbation method (tableau form) (after two iterations, optimal solution obtained)...

21
OR-1 2015 1 Perturbation method, lexicographic method Idea: Avoid the appearance of degenerate solutions since it is a precondition of cycling ( If the solution is not degenerate, the objective function value increases strictly in the next iteration, hence the same basis does not appear again because the objective function value never decreases during the simplex iterations (same basis same dictionary same objective value)). So add very small positive to the r.h.s of equations so that the solution values are unchanged practically but degeneracy is avoided. But the added to the r.h.s may cancel out each other during elementary row operations, again causing degeneracy. Remedy: Add different values of to different r.h.s. so that cancellation does not occur. (Perturbation method)

Upload: alexandra-byrd

Post on 02-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

OR-1 2015 1

Perturbation method, lexicographic methodIdea: Avoid the appearance of degenerate solutions since it is a precondition

of cycling ( If the solution is not degenerate, the objective function value increases strictly in the next iteration, hence the same basis does not ap-pear again because the objective function value never decreases during the simplex iterations (same basis same dictionary same objective value)). So add very small positive to the r.h.s of equations so that the

solution values are unchanged practically but degeneracy is avoided.

But the added to the r.h.s may cancel out each other during elementary row operations, again causing degeneracy.

Remedy: Add different values of to different r.h.s. so that cancellation does not occur. (Perturbation method)

OR-1 2015 2

Add to the r.h.s., with the following property.

(3.4)

Then, it can be shown that the values of the basic variables never become 0 in subsequent simplex iterations, hence no cycling oc-curs. (In practice, precision of computation in computer can cause problems.)

(In actual implementation, may be used for small or random numbers in for some fixed small are used. )

OR-1 2015 3

Perturbation Method (tableau form)

371

264321

154321

1

05.05.15.0

095.25.55.0

xx

xxxxx

xxxxx

0 249 57 10 4321 xxxxz

321765

371

32763

327642

25225~0~0

100~0~

2120~ ~0

181180420300

xxx

xx

xxx

xxxxz

(after two iterations, op-timal solution obtained)

(0+21 )

(0+22 )

(1+3 )

OR-1 2015 4

Perturbation method usually refers to the method which actually adds small to the right hand sides.

For lexicographic method, the idea is the same as the perturbation method. But we do not actually add some positive numbers to the r.h.s., but treat as symbols representing indefinite quantities, which sat-isfy (3.4). Numbers are compared in lexicographic sense (more in later slide)

Note that, in the lexicographic method, we can obtain the optimal solu-tion and optimal value correctly after disregarding all the terms involving . The coefficients of do not affect the coefficients of other variables dur-ing simplex iterations.

During degenerate iterations, the actual objective value does not in-crease. However, considering terms, the objective value strictly in-creases even during a degenerate iteration.

OR-1 2015 5

Lexicographic ordering of numbers :

Consider , .

If , there is the smallest subscript such that .

We say that is lexicographically smaller than if .

(Similar terminology is used for vectors too)

Then if ,

is lexicographically smaller than if and only if is numerically smaller than . (see problem 3.7 on page 44)

Ex) r = 2 + 211 + 19 2 + 200003

s = 2 + 211 + 202 + 203 + 154 + 145

is lexicographically smaller than .

OR-1 2015 6

Can cycling be prevented?

Thm 3.2: The simplex method terminates as long as the leaving vari-able is selected by the lexicographic rule in each iteration.

Pf) see the proof in the text.

For an arbitrary row with r.h.s. value , the proof shows that at least one of is distinct from zero. Hence no degenerate solution appears.

We may consider somewhat different logic to prove the result.

The coefficient matrix for variables in the constraints remain non-singular after applying elementary row operations. (Elementary row operation is equivalent to premultiplying the corresponding nonsingu-lar matrix to the coefficient matrix of constraints. Since the matrix for variables is identity matrix initially, it is nonsingular. Hence we also obtain nonsingular coefficient matrix after elementary row operations are performed to the constraint matrix).

In other words, no row with all 0 elements appear in the -matrix. Hence the values of basic variables never become 0 in lexicographic sense.

OR-1 2015 7

We can read the real solution value by ignoring the terms in the cur-rent dictionary (tableau).

It is also observed that the lexicographic method can be started and stopped at any time during the simplex iterations. We just add or drop the terms at any time and it does not affect the real solution value and the coefficients of other variables in the tableau.

Practical Implementation of the Lexicographic Method

In real implementation of the lexicographic method, we do not actually add terms to the r.h.s., but read the coefficients of terms from the coefficients of other variables.

Note that, in the example, the coefficient matrix for the basic variables x5, x6, x7

and the coefficient matrix for 1, 2, 3 are the same identity matrices in the

beginning of the lexicographic method.

Since we use the elementary row operations in the simplex pivots, those two coefficient matrices have the same elements in the following iterations. Hence, we can read the coefficients of 1, 2, 3 from the coefficients of x5, x6, x7 . So

we do not actually need to add 1, 2, 3 to the tableau.

OR-1 2015 8

OR-1 2015 9

Hence, in the example, we actually do not need to add . We first per-form ratio test using the entering column and the r.h.s. If ties occur, then perform ratio test (only for tied rows) again using the entering column and the column for , and then the column for , and then for , until tie is broken (lexicographic comparison of numbers).

OR-1 2015 10

Example of real implementation

371

264321

154321

1

05.05.15.0

095.25.55.0

xx

xxxxx

xxxxx

0 249 57 10 4321 xxxxz

321765

371

32763

327642

25225~0~0

100~0~

2120~ ~0

181180420300

xxx

xx

xxx

xxxxz

(after two iterations)

(0+21 )

(0+22 )

(1+3 )(after two iterations, op-timal solution obtained)

OR-1 2015 11

Initialization (two-phase method)

We need an initial b.f.s to start the simplex method. If we have for some constraint , the value of the slack variable vio-

lates nonnegativitiy constraint.

maximize

subject to , (1)

Consider easily obtained solution for all in (1) and then subtract

some positive number from all left-hand sides so that it becomes fea-

sible solution to (1), i.e. for all , .

Now, if we can find a feasible solution to (1) with , it is a feasible solu-tion to (1) using original variables.

OR-1 2015 12

Hence solve the following problem using the easily obtained initial feasible solution and simplex method to find an optimal solution with . Note that is a nonnegative variable.

maximize (min )

subject to , (2)

(1) has a feasible solution (2) has an optimal solution with optimal value 0 ()

If we find an optimal solution with , we can obtain a feasible solu-tion to (1) by disregarding .

One point to be careful is that we need a basic feasible solution to start the simplex method subsequently.

OR-1 2015 13

Example

321 max xxx

0,,

12

5 32

4 22 s.t.

321

321

321

321

xxx

xxx

xxx

xxx

0 ,,,,,,

21

325

224

6543210

03216

03215

03214

xxxxxxx

xxxxx

xxxxx

xxxxx

0 xw

0- max x

0,,,

1 2

5 32

4 22 s.t.

3210

0321

0321

0321

xxxx

xxxx

xxxx

xxxx

We cannot perform simplex iteration in this dictionary since the basic solu-tion is not feasible (nonnegativity vio-lated)

However a feasible dictionary can be easily obtained by one pivot.

OR-1 2015 14

Current basic solution is not feasible. Let enter the basis and the

slack variable with most negative value leaves the basis (It is not a simplex iteration. Just perform the pivot, not considering the ob-jective value. It does not change the solution set.)

53216

5324

53210

3434

2 9

325

xxxxx

xxxx

xxxxx

5321 325 xxxxw

0614

06512

06513

2 3

6.02.04.06.02.2

8.06.02.02.06.1

xxxx

xxxxx

xxxxx

0 0 xw

0 ,,,,,,

21

325

224

6543210

03216

03215

03214

xxxxxxx

xxxxx

xxxxx

xxxxx

0 xw

Perform simplex method. Af-ter two iterations, we get the optimal dictionary

OR-1 2015 15

We obtained optimal solution with value 0. Hence the current op-timal solution gives a b.f.s. to the original problem. Drop (no

more needed) and replace the objective function with the original one. Zeroth equation is used to read the objective value of a given solution, hence it can be added or dropped without affecting the feasible solution set to the LP. Note that the current b.f.s. is a b.f.s. to the original problem (We don’t have as a basic variable).

0614

06512

06513

2 3

6.02.04.06.02.2

8.06.02.02.06.1

xxxx

xxxxx

xxxxx

0 0 xw

614

6512

6513

3

2.04.06.02.2

6.02.02.06.1

xxx

xxxx

xxxx

321 0 xxxz

OR-1 2015 16

Express it in dictionary form (only nonbasic variables appear in the r.h.s.) by substituting the basic variables appearing in the objective function.

Now, restart the simplex method with the current dictionary

651

6516511

321

4.02.02.06.0

)6.02.02.06.1()2.04.06.02.2(

xxx

xxxxxxxz

xxxz

614

6512

6513

3

2.04.06.0 2.2

6.02.02.0 6.1

xxx

xxxx

xxxx

651 4.02.02.06.0 xxxz

You need to understand that (i) can be added or dropped from the dictionary, but the set of feasible solutions to LP (disregarding the variable ) doesn’t change since the coefficients of in the dictionary don’t affect the coefficients of other variables as long as we perform elementary row operations (simplex pivots). The additional variable is used temporarily for the purpose of identi-fying a basic feasible solution to the original problem. Once the value of be-comes 0 (as a nonbasic variable), can be eliminated without affecting the val-ues of the current solution and coefficients of the other variables in the diction-alry.

Also (ii) the zeroth equation can be exchanged by another zeroth equation at any time, but the set of feasible solutions to LP doesn’t change because the set of feasible solutions to LP has not been affected by the zeroth equation during the simplex pivots.

See the next slides for the two phase method, which are expressed in tableau format.

OR-1 2015 17

-w -x0 = 0

2x1 - x2 + 2x3 - x0 + x4 = 4

2x1 - 3x2 + x3 - x0 + x5 = -5

-x1 + x2 - 2x3 - x0 + x6 = -1

OR-1 2015 18

0 ,

21

325

224

6543210

03216

03215

03214

xx,x,x,x,x,x

xxxxx

xxxxx

xxxxx0 xw

-w -2x1 + 3x2 - x3 - x5 = 5

2x2 + x3 + x4 - x5 = 9

-2x1 + 3x2 - x3 + x0 - x5 = 5

-3x1 + 4x2 - 3x3 - x5 + x6 = 4

53216

5324

53210

3434

2 9

325

xxxxx

xxxx

xxxxx

5321 325 xxxxw

-w - x0 = 0

0.2x1 + x3 +0.8x0 - 0.2x5 - 0.6x6 =

1.6

-0.6x1 + x2 +0.6x0 - 0.4x5 - 0.2x6 =

2.2

x1 -2x0 + x4 + x6 = 3

0614

06512

06513

2 3

6020406022

8060202061

xxxx

x.x.x.x..x

x.x.x.x..x

0 0 xw

tableau form

elmentary row operations

OR-1 2015 19

-w - x0 = 0

0.2x1 + x3 +0.8x0 - 0.2x5 - 0.6x6 =

1.6

-0.6x1 + x2 +0.6x0 - 0.4x5 - 0.2x6 =

2.2

x1 -2x0 + x4 + x6 = 3

-z + x1 - x2 + x3 = 0

0.2x1 + x3 - 0.2x5 - 0.6x6 =

1.6

-0.6x1 + x2 - 0.4x5 - 0.2x6 =

2.2

x1 + x4 + x6 =

3

-z + 0.2x1 - 0.2x5 + 0.4x6 =

0.6

0.2x1 + x3 - 0.2x5 - 0.6x6 =

1.6

-0.6x1 + x2 - 0.4x5 - 0.2x6 =

2.2

x1 + x4 + x6 =

3

• Note that the coefficients of x0 do not affect the coefficients of other vari-ables in the simplex pivots.

• Suppose we perform the same pivots, disregarding variable x0. Then we ob-tain the same final tableau without x0.

• The 3 constraints in the initial tableau without variable x0 defines feasible solution set of the augmented LP (with nonnegativity of variables)

• Therefore, the final tableau (without x0) describes the same feasible solu-tion set of the LP, i.e. feasible solu-tions to the equations have not been changed.

• Now, we can replace the objective function with the original one, and express it in the formal tableau form.

OR-1 2015 20

Algorithm strategy in phase one: choose as leaving variable in

case of ties in the minimum ratio test.

2 possible cases in phase one optimal solution1. nonzero ( ), basic original problem is infeasible

2. nonbasic drop , express original objective function in terms of

nonbasic variables, continue the simplex method.

(Note that basic can’t happen by our strategy)

Similar idea can be used when the original LP is given in equality form and we do not have an initial basic feasible solution at hand. (Without replacing an equality with two inequalities, simplex method can be used directly to solve the equality form. More in Chapter 8.)

OR-1 2015 21

(Fundamental theorem of LP)

Every LP in standard form has the following properties.

1. If no optimal solution either unbounded or infeasible.

2. If feasible solution a basic feasible solution.

3. If optimal solution a basic optimal solution.