or-1 20151 2 3 perturbation method (tableau form) (after two iterations, optimal solution obtained)...
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.)