Upload
art
View
88
Download
2
Embed Size (px)
DESCRIPTION
Perturbation method, lexicographic method - PowerPoint PPT Presentation
Citation preview
OR-1 2012 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 ’s added to the r.h.s may cancel out each other during elementary row operations, again causing degeneracy.
Remedy: Add different values of i’s to different r.h.s. so that cancellation does not occur. (Perturbation method)
OR-1 2012 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 can cause problems.)(In actual implementation, 1= , 2= 2, 3= 3, … may be used or random numbers in [0, ] for some fixed small are used. )
OR-1 2012 3
Perturbation Method (tableau form)
371
264321
154321
105.05.15.0095.25.55.0
xxxxxxx
xxxxx
0 249 57 10 4321 xxxxz
321765
371
32763
327642
25225~0~0100~0~
2120~ ~0181180420300
xxxxxxxxxxxxz
(after two iterations, op-timal solution obtained)
(0+21 )
(0+22 )
(1+3 )
OR-1 2012 4
Note that we can obtain the optimal solution and optimal value correctly after disregarding terms. The coefficients of do not affect the coeffi-cients of other variables.
Perturbation method usually refers to the method which actually adds small to the right hand sides during simplex iterations. 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).
OR-1 2012 5
Lexicographic ordering of numbers :
Consider r = r0 + r1 1 + …. + rm m, s = s0 + s1 1 + …. + sm m
If r s, there is the smallest subscript k such that rk sk .
We say that r is lexicographically smaller than s if rk < sk .
(Similar terminology is used for vectors too)
Then if , is lexicographically smaller than if and only if is numerically smaller than .
Ex) r = 2 + 211 + 19 2 + 200003
s = 2 + 211 + 202 + 203 + 154 + 145
is lexicographically smaller than .
OR-1 2012 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 2012 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 2012 8
OR-1 2012 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 2012 10
Example of real implementation
371
264321
154321
105.05.15.0095.25.55.0
xxxxxxx
xxxxx
0 249 57 10 4321 xxxxz
321765
371
32763
327642
25225~0~0100~0~
2120~ ~0181180420300
xxxxxxxxxxxxz
(after two iterations)
(0+21 )
(0+22 )
(1+3 )(after two iterations, op-timal solution obtained)
OR-1 2012 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 2012 12
Hence solve the following problem using the easily obtained initial feasible solution and simplex method to find an optimal solution with . Note that x0 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 perform the simplex method subsequently.
OR-1 2012 13
Example
321 max xxx
0,, 12 5 32
4 22 s.t.
321
321
321
321
xxxxxxxxxxxx
0 ,,,,,, 21
325 224
6543210
03216
03215
03214
xxxxxxxxxxxxxxxxxxxxxx0 xw
0- max x
0,,, 1 2 5 32
4 22 s.t.
3210
0321
0321
0321
xxxxxxxxxxxxxxxx
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 2012 14
Current basic solution is not feasible. Let enter 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
xxxxxxxxxxxxxx
5321 325 xxxxw
0614
06512
06513
2 3 6.02.04.06.02.2
8.06.02.02.06.1
xxxxxxxxxxxxxx
0 0 xw
0 ,,,,,, 21
325 224
6543210
03216
03215
03214
xxxxxxxxxxxxxxxxxxxxxx0 xw
Perform simplex method. Af-ter two iterations, we get the optimal dictionary
OR-1 2012 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. z-row is used to read the objective value of a given solution, hence it can be added or dropped without affecting the feasible so-lution 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
xxxxxxxxxxxxxx
0 0 xw
614
6512
6513
3 2.04.06.02.2
6.02.02.06.1
xxxxxxxxxxx
321 0 xxxz
OR-1 2012 16
Express it in dictionary form (only nonbasic variables appear in the r.h.s.) by substituting the basic variables 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(
xxxxxxxxxxz
xxxz
614
6512
6513
3 2.04.06.0 2.2
6.02.02.0 6.1
xxxxxxxxxxx
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 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 identifying a ba-sic feasible solution to the original problem. Once the value of becomes 0 (as a nonbasic variable), can be eliminated without affecting the values of the cur-rent solution.Also (ii) the objective row can be exchanged by another objective row 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 objective row during the simplex pivots.
See the next slides for the two phase method, which are expressed with tableau format.
OR-1 2012 17
-w -x0 = 0
2x1 - x2 + 2x3 - x0 + x4 = 4
2x1 - 3x2 + x3 - x0 + x5 = -5
-x1 + x2 - 2x3 - x0 + x6 = -1
OR-1 2012 18
0 , 21
325 224
6543210
03216
03215
03214
xx,x,x,x,x,xxxxxxxxxxxxxxxx0 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
xxxxxxxxxxxxxx
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
xxxxx.x.x.x..xx.x.x.x..x
0 0 xw
tableau form
elmentary row operations
OR-1 2012 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 changed.
• Now, we can replace the objective function with the original one, and express it in the formal tableau form.
OR-1 2012 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 2012 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.