You are on page 1of 22
Simplex Method for Linear Programming Devigned in 1947 Ly Danzig, the Simpler Aigorstam was the method of choice to solve linear programs for decudes. Remarkably fast in practice, it had no contenders for “best practical linear programming algorithm” until the appearance of Karmarkat’s Algorithm in 1984 and the more econt interior point scthes. 1 The intuitive idea behind Simplex Algorithm Conceptually, Uhe Simplex Algorithm could hardly be simpler. It is based on the following two facts (1) There always exists a vertex (i.e, comer point) of the feasible region that is an optimal solution to the LP, (@) A vertex is an optimal solution if there is no better neighboring vertex. It follows from (1) that LP is a finite problem — a feasible region can only have finitely many vortices! Theiefore, we need only scan these vertices of the feasible region in order to find an optimal solution, But not all of them! That would take too long. Now fact (2) comes to the rescue, and defines the algotithus ~ die Stuplex Algoritm starts trom an azbitrary vertex of the feasible region, and compate it with its neighboring vertices. If no neighboring vertex is better, fact (2) tells us that we already the optimality. Otherwise, the algorithin moves to a better neighboring vertex, and repeats until an optimal vertex is reached. In utler wurds, Simplex Algorithm is nothing more than an orderly way of scanning vertices. Remark: Wo should intuitively explain (1) and (2) by graphs. You might waut tv duuble-cleck these claims for all the previous examples. = " : Remark: Pathological and artificial examples have been constructed to show that it is possible for the Simplex Algorithm not to end, and get stuck in a vertex infinitely. Such a phenomenon is called cuclina, However. one ean slightly mavlfy the algorithm oo that the optimal suluuives ‘can alvvays be reached in finitely many steps. This only requires very little additional work. Iu practice, this eyeling problem is not even an issue, One reason is that it is so rare, ‘The second reaon ie thot even if potential cyuling ealbts lu a problem, the computer round-error usually makes the cycling impossible. 2 From geometry to algebra 11 follows from the above discussion that the Simplex Algorithm takes the following steps: (1) Initialization: Find a starting vertex in the feasible region, (2) Optimality tests Compare the vertex with its neighboring vertioes. If na noighharing vortese is better, the current vertex is optimal, and the algorithm stops. Otherwise, (3) Mteration: find a better neighboring vertex and goes back to (2). All these terminologies of “vertex”, “neighboring vertex” have very clear geometric interpreta- tions. However, since we want to solve the problem using computers, these words mean nothing unless we can associate the geometry with tho algebra — computer counot unndeastaud gevitesty, ‘but can perform algebra operation fast. ‘We should try to do the translation for an LP problem in its canonical form: Maximize Z subject to the constraints AL, #20, Here we use notation m on an on a a m en am aay b e 2 . 16 : a Gynt nd °° an Om & We have m decision variables and 1m linear equations (assume n > m, otherwise the system is over-deterimined). Sometimes we eall —m the degree of freedom, 2.1 Vertex vs. Basic Feasible Solution (BFS) Arbitrarily choose n —m decision variables (non-basie variables), and set each of these variables 0. The m linear equations now becomes m equations for the remaining m decision variables (basie variables). Solve for these m basic variables and we obtain a solution to the m linear solutions, 11s called the baste solution. ‘This solution is feasible if and only if its components are all non. nogative, in which case it is said to be a basic feasible solution (ie, BFS). The reason for this definition is due to the following result: ‘Theorem: A solution z is a vertex of the feasible region if and only if it is a BPS, We should verify this theorem by computing some examples. Note the definition of BFS is ‘dependent of she objective function Z, hence Z 1s omitted in the tollowing examples. Example: Suppose the constraints are sr iB 20, 20. Find all the basic feasible solutions (BES). ‘Solution: Tn this case m= 2. 7 = 1, and the degree of freedom i» — Non-Basie Variables | Basic Vartables | BFS mo a2 [A- Os) m=0 u=4 | B=(4,0) Example: Suppose the constraints are ute = 3 -m +2 = -1 fond we; 0, 2g > 0. Find all the baaie foncible solutions (DIS). In this case n = 3, m = 2, and the degree of freedom ism — m= 1, ‘Non-Basi¢ Variables | Basic Variables BFS m=0 (ena A=(0,3,) non-feasible B=(2.1,0) maa Remark: Sometimes when we solve for basic solutions, the resulting m linear equations might have infinitely many solutions, or no solution. Either way, there is no corresponding BES. See the following examples: Example: Suppose the constraints are yee tay = 2 Bay + 4p +605 = end 4 > 0, 12 > 0. Pind all te Danie feustble sorutions (BES) when 6=b and 6= 4. 2, and the degree of freedom ism —m = 1. ‘Now-Basie Variables | Basic Variables BES (22,23 ap ae ee) (esas) — & ) | B= gab (21,22) has no solution NA oma Non-Basie Variables BES ACH BY = (2,0,0) (21,22) has infinitely many solutions | __NA 2.2 Adjacent Vertices vs. Basic Variables We know frm the above diseuscion that © vertox ia coventiclly o DEG, The adjaueucy uf verues ‘can be describe by basie variable. Theorem: Two vertioes are adjacent if and only if their corresponding BFS share all but one basic variables, or equivalently, all but one non-basie variables, For example, if one BFS uses (11,3, 25) as the basic variables, and another use (23,275,206) a8 its basic variables, then those two BFS (or, vortices) are adjacent, Note in this case, the common variables (a,c) might take different numeric value for these two BES ‘We should give examples later to verify this theorem. 2.8 Why we need simplex algorithm 2From the above discussion, an LP in canonical form with m linear constraints and m decision variables, may have a basic feasible solntion for every choice of n— m non-basic variables (or ‘equivaleitly, m basic variables). Therefore, the number of vertices (or, LIS) of the feasible region right as well be the same as that of the choices of n —m non-basic vaziables. How many such choices? From combinatories, the number of choices are (2m )=(n) =a a ven mough ms 1s a Mite number, 1 could be really large, even if the n,m are relatively small, For example, take n= 20, m = 10, we have (atm )= (a0) = 08 Imagine an LP with hundreds of constraints. In principle, we ean sean all these BES and obtain fe optimum. But 28 we have already seen, lor a medium-sized LP, the number of BES are already coverwheliningly large so that it would not be efficient to do so, However, the Simplex Algorithm turns out to be much more efficient. In practice, the Simplex ‘Algoridus usually fds ene optimal solution ater Scanning some Am to tim 13'S, and very rarely be- yond 10m BFS, As n grows, the number of BFS seanned grows very slowly, perhaps logarithmically Remark: Pathological examples can be constructed such that the Simplex Algorithm will not be efficient. But itis so artificial und rare, we should nat be bothered in practice. 2.4 LP in standard form: slack variables Suppose that the LP is in standard form: Maximize Z= clr subject to the constraints Arsb, 220. In order to compute the vertices, we just need to add in the sluck variables 60 as to tura the LP into ‘rannninal forin, whoss vertices (or, DIPS) eam be computed as before. ‘Then we cau iguute (he stack variables to obtain the vertices for the original problem, See the exatuple below for the istration. Example: Suppose the constraints aze 2a, + tm < 10 5 and 4) > 0,4 2,3. Find all the basic feasible solutions (BFS) ‘This is an LP in standard form, and we should add slack variable s1,2 s0 as to change the constraints into canonical form, Bitmts = 8 sie — 1, in which ease, n = 5, m — 2 and the degree of freedom n ~m = 3 Non-Basic Variables [ Basic Variables (21,242,028) = 0] (1,82) = (8,10) eran ay (1,22, 82 (23,81) (1, 81,73) (22,82) (ra, ea, ta) = 0 (ea (s1, 42,28) (1,82) = (4,10) (ena23)=0 |" (es,s1) (aa, 81, 83) E — (0,%,10) (sane) P= (40,20) (oxsen.35) NA Below is tho graphic verification, We can also verify the claim that two vertices (BES) are adjacent: for example, point A and D are adjacent since they share the same basic variable s2, and point A and F are not adjacent since they share no common basic variables. 3 Simplex algorithm: examples In this section, we should give two detailed examples of simplex algorithm, Each steo will be explained in detail, Example: Solve the LP in standard form: Maximize Z = 821 +229 “othjeot to constraints Orta < 10 IA n and m1 20m 20 Solution: We should first write the problem in its canonical form by introducing slack variables. Wey+m+s = 10 n+ete = mim — 4 In this case, n = 5 and m = 3 and degree of freedom n= m Initialization (finding 2 starting BFS or a starting vertex): It is casy in this case — just set NBY = (23,2) =(0,0), BV = (s1,50,54) = (10,8,4) Optimality test (is the current BFS or vertex optimal): The current BES will be optimal if and only if itis better than every neighboring vertex (or every BFS share all but one basic variables). ‘To da this, wo try to determine whether there is any way Z can be increased by inereasing oue uf the non-basic variables from its current valuo zero while all other non-basic variables remain zero (while the values of the basie variables are adjusted to continue satisfying the system of equations). In this ease, the objective fimetion is Z = 3x1 + 2a, and Z take valuc 0 at (0,0). Tt ia easy to soe that no matter we increase 2, (while holding x» = 0) or increase 29 (while holding 2 ~ 0), we are going to increase Z since all the coefficients are positive. We conclude that the current BES is not optimal Moving to a neighboring BFS (or vertex): Two neighboring BES shace all but one basic variables, In other words, one of the variable (z1,12) is going to become a basic variable (entering hasic variable), and one of (s,,s2, a) is going to become a non-basic variable (leaving basic variable). (8) Determining the entering basic variable: Choosing an entering basic variable amounts to shuusiag @ uvurbasi vaulable wy hicrease from zero. Note Z = 2 + Zp. Z is incroased by if we incsease a by 1, and by 2 if we increase 22 by 1. Therefore, we choose 1 as the entering basic variable (b) Determining how large the entering basic variable can be: We cannot increase the entering variable 2; arbitrarily, since it may cause some variables to become negative. What is the largest possible value that «er ean attain? Note 2» is held at zero. Hence =10-2%200 = B-m>0 > 4-420 = 2 cannot exceed 32 21 cannot exceed $= 8 2 cannot exceed 4 = 4 Tr follows that the larsest zy can be is the 4 () Determining the leaving basic variable; When x1 takes value 4, a3 become 0. Therefore 53 is the leaving basic variable. ‘Therefore, the neighboring vertex we select is NBV = (5,29), BV = (41.80.25). Pivotine (solving for the now RES): Rall that wn hoo Z -3m -Ix 0 (0) 2 te te 10 1) a He +32 8 (2) m +53 es ‘The goal Is w solve tr the BES, and ys gomng t0 be acmueved by Gaussian eltmination. We end up with, z 2x9 ae eee eg te 293, 2 qQ) oy +82 83 4 (2) a ts = 4 8) Tn other words, each basic variable has been eliminated from all but one row (its rou) and has coefficient +1 in that row. The Gaussian elimination always starts with the row of the leaving basic variable (or the row that achieve the minimal ratio in the preceding step), or the centering basic variable's row is always the row of the Ieaving basic variable, or the entering basic variable's row is always the row that achieves the minimal ratio in the preceding step. What we have is that the BFS is NBV = (53,02) = (0,0), BV = (s1,82,21) = (2,44), and Z= 12+ 21-355, while taking value 12 at this BFS. Iteration: The above BFS is not optimal, since we can increase 2, which increases Z. We do not ‘want to increase sy, which decreases the value of Z. So the entering basic variable is 2. How large 8 can 2 be? Note 53 = 0, we have fr +9, > mS? foe ee ‘The moniunans uf io dhesefous 2 aculoved al row (1), and the leaving basic variable i the (original) basic variable in row (1), Le. 8), In other words Rv 19), NBY ~ Ganssian elimination yields, starting from row (1) yields, 4 +a, -% = 16 (0) + -% = 2 (a) si te +5 = 2 Q) m1 +9 = 4 (3) or the new BES is BY = (183) = (0,0), NBV = (s2,21,2) = (2,4,2) ‘The value of Z is 16 — 2s +3, and it attains value 16 at this BFS, ‘This RFS ie still nat aptimel, and clearly 23 will be the entering basic variable, Nuts 1 = 0, wwe have ot 29) = 2 = — no upper bound for 53 ot = 2 > a 0,22 2 0. Solution: The first table is the result after initialization: Basie Variable [Row [ZT aif _s1 sss | RUS | Ratios Zz @ [i}-3 -2 0 0 0f 0 31 Wfol2 1 1 0 0] 1 * @jo}1 1 0 1 of 8 33 Ga Ot Oo Ot |e ‘The next step is finding the entering and leaving basic variables ~ get the variable with the largest negative coefficient in row (0) and perform the ratio test. Basic Variable [Row |Z] #1 2 a1) a [ RUS | Ratios Z Omm =z 00 0f 0 a a) |o 1 1 0 0| 10 | ro/2— 2 2) 0 1 0 1 0] 8 |ai=s 83 @) [0 oo 0 1] 4 fanaa min ‘The next step is the Gaussian elimination ~ eliminate all the entering basic variable in other rows and make the coefficient of the entering basic variable 1 in its own row. Do not forget to change the basic variables. ‘Basic Variable [Row [Z] a #2 82 & | RHS | Ratios Z @ |ifo -2 0 0 sf a 1 OO eo % Ot a i) loft 0 0 0 1} 4 Repeat, 2 Basie Variable [Row [7 [mi _72_si sos | RHS | Ratios z @]ijo 2 0 0 3] @ ” @}o}o iw 1 0 2] 2 2 @ jojo 1 0 1 4] 4 2 (3) 0 tO Oe Oe tle Basie Variable | Row |Z] 2 a1 sz 43 | RAS] Ratios Z @)ijo 0 20 1] 2 Oo no 2 2) joo oO a 1 au] 2 |2f=2emin a @) Joli o 0 0 1] 4 lana Basic Variable | Row | Z[ai_22_s1_s2 ay | RUS | Ratios Z @ fifo 0-1 1 0] ® e G@jolo 1 1 2 of] 6 * @ jolo o 4 1 wl 2 a (3) loli o 1 1 of 2 Example: Solve the LP in standard form: Maximize 2a — ga +29 subject to constraints Batty < 60 ma +22 < 10 nte.—23 < 20 and 2 20. Solution: We will just present the tables, Tasie Veriabie [Row |Z [my ay ajo os | RES | Ration Zz @if-2 1 1 00-0 41 @]o}3 1 1 1 0 of 60 Joos=20 " Olof a 2 0 1 0 10/1 =10¢ min 8 @) [ofa 1 4 0 0 1] 2 |op=20 Basie Veriable | Row [2 [ai oy wy ay ey oy [RHI | Maton z @|tj/o -1 30 2 0] 2 a Q@]ojo 4 5 1 -3 0] 30 |s04=75 iid ye forgot + m ole 6 8 ol 8 @)lolo_% 3 o 1 1] 10 |ij2=5 emin 2B Basic Variable [Row [Z[ ei 2223182 __83 | RES | Ratios Z @ fifo 0 is 0 15 osf a a @lofo o 1 1 a1 2] 0 a @ ]o}1 0 05 0 05 05} 15 2 @)jo}o 1 15 0 05 o5] 5 So the maximnm is Z = 25 attained at (1,22,23) = (25, 5,0). Remark: In each table, the coefficient of the basic variables in Row (0) are all zero. Tn the final table (or, the oplzmat tableau), all the coetticients in Row (0) are non-negative. Remark: If thezo are multiple variables tie with the largest negative coeflicient in row (0), when solacting the ontoring booie voriable, the choise may be made erbitrerily among them. Remark: If there are multiple variables tie with the minimal ratio, when selecting the leaving basic variable, the choice may be made arbitrarily among them in practice, 5 Potential break-down of the simplex algorithm 5.1 Multiple optimal solutions Consider the following example. ‘Example: Consider the LP in standard form: Maximize Boy + rw subject to constraints aay+a2 < -nt+inm < and 2 2 0. Solution: By introducing the slack variebles and simplex algorithm, we have the following two tables Basic Variable [Row [ZT a; a2 si_s2 | RHS | Ratios a @ ;if3s 6 0 oO] 0 a @jo}2 1 1 0} 6 |6jqe 2 @ Jola 2 o 1} 2 |22=1¢min Basie Variable Row] Z| fi ays: _s2_| RHS | Ratios Zz (s(t 0 Or Onan jaa) a (1) |ofase o 4 05] 5 n @ lo}-o5 1 0 05] 1 uM Since the coefficients in Row (0) are all non-negative, we arrive at an optimal solution: max Z = 6, at (21,25) = (0,1). However, in this optimal tableau, one of the non-basie variable, ), has O coefficient in Row (0). If ‘we choose 29 as the entering basic variable, we obtain another optimal tableau: Basic Variable [Row |Z] mez si _ «2 [RAS | Ratios Z Os | ese cage |e a @)fof1 0 02 1} 2 2 @ |olo 1 02 o4| 2 Note, Row (0) will romain the came, cines the coefficient of the entering basic veuiable iu Ruw (0) is zero. We have another optimal solution: max Z=6, at (24.22) = (2,2) Brercise: Graphically solve this LP and explain why the non-uniqueness happens. From the graph, ‘identify all tho optimal solutions Brereise (no leaving basic variable): This exerciso shows that even though one non-basic variable hhas zero coefficient: in the optimal tableau, the optimal solution could still be unique. Also ‘verify this graphically Maximize subject to constraints 242m <1 wnt2n <2 and 7; > 0, Conclusion: In the optimal tablean, if all the coefficient of the non-baric variable are strictly positive in Row (0), then the optimal solution is unique. If in the optimal tableau, there is a non- basic variable has 0 coefficient in Row (0), then another iteration (if possible) with this non-basie vatiable serving as the entering basic variahle, will aks lesd to an optimal colution. Digression to convex set: Definition: A sot AC Rt is said to be a convex set, if X,Y € A, we have AX+Unae A, VA (0,1) Sometimes AX + (1 ~ A)¥ is called the convex combination of X and Y. 15 Geometric interpretation of convexity: A set A € Ré is a convex set if and only if for any X,Y © A, the line segment connecting X and ¥ also belong to the set A, Indeed, any point, of the line seement connecting X and ¥ i convey comhination of them, snd vine worea; aoe the following graph for illustration Beample: Avy interval (a,6] on the real line is convex. The sot {(2,y}; 22+ y? < 1} is convex. The set {(2,y); 2? + y* > 1} is not convex. on pon convex Proposition: Suppose A is a convex set and Xi, Xp,+++ Xn € A. Then for any Ay, Agy--+ yA 20 such that Ay + Ag -+--+ de = 1, we have AAT + Aga tt Anda GA. Sometimes \.X1+AyXu-t++ ++ AnXn is said to be the convex combination of {X),--- , Xa} Proof: Wo will prove by induction. ‘The claim ie true for n = 2, and ascume it is true for n~1, Without loss of generality, assume that Ay <1, Let May + paXe boo poy aX Clearly 44; are all non-negative and yay ++--++jiny = 1. We have ¥ € A, which in turn implies MiXr + aXe +b Ane = (1 Av)Y + Any € A We complete the proof. a Proposition: Suppose A and # are both convex sets. Then AN B is also a convex set, Proof: The proof is trivial, and left as an exercise. o Corollary: ‘The feasible region for any LP is a convex set. 16 Proof: Bach constraint of an LP takes from aye +o tOptn > (S sesso A= 2354 that say ti consti s oe ly). The esl region, which 1s the intersection ot stich convex sets, 36 convex trom the preceding proposition, o Corollary: Suppose X and Y are hoth optimal solutions tran TP ‘Thon any convex combination ‘of X and ¥ is also an optimal solution to the LP. Proof: Suppose X* = (#f,--- 2%) and ¥7 LP problem, In other words, 3,9 ose both i (yis-++ yp) are both optimal solution to the Ube feasibte regio, aut max Z = ez] ++ enh, = cryj ++ cnyh. Any convex combination of X* and Y*, say WHS AXt4 (1 AWY" = (Azy + (L-Alyfs = Arh + (1 Ady), is also in the feasible region. Furthermore, we have Qn! (1 Net) 4b elarg & Muh) = At 1. = mead. ‘This completes the proof. a 5.2 Unbounded LP For some LPs, there exist points in the feasible region for which Z assumes arbitrarily large values. ‘When ous situation occurs, we say that the Ll” 1s unbounded. Example: Consider the LP in standard form: Maximize Z = 32 +222 subject. to constraints nom <3 mn <2 and 2, > 0, Solution: The simplex algorithm will yield Basic Variable [Row |Z [xi 22 _si_s2 | RHS | Ratios Z @Ti>2 9 0 oT 0 s Q }ofi a 1 0} 3 [ass 2 2) Jol oo 1} 2 [1=2¢min wv Basic Variable [Row |Z] #1 #2 _s1_s2 | RAS | Ratios Z @ fifo 2 0-3} 6 s @jofo a1 ata m1 (2) 08] te One eats In this last tableau, the entering basic variable should be 2». However. since the coefficients af +72 in row (1} and (2) are either negative or zero, the ratio test fails to indicate which variable should be the leaving basic variable. In this case, Z can take arbitrarily large values. Indeed, holding the other non-basic variable 92 zero, we have Z = 642m 1 2 0,0; 2 0, the increment 42 > 0, Wo have the following important observation Feyposidton: In vach iteration of the simplex algorithm, the value of Z is always non-decreasing It is strictly increasing if and only if the value of the entering basic variable in the new BFS is strictly postive. This result inspires the following definition. Definition: If in each of the LP's BFS, all the basic variables are strictly positive, then we say the LP us auardegenerace, Corollary: For a non-degenerate LP, the simplex always terminate in finitely many steps. Proof: Sinco in each iterstion the value Z is strictly increasing, the sinuplex algorithm will not sean the same vertex twice, But there are only finitely many vertices. The elaim follows readily. a It is now clear how could a simplex algorithm fail to terminate, If the LP is degenerate, ie. some basic variables take value zero in @ BPS, then it is possible that the sizaplex algorithan could scan the seme BES twice (whence infinitely many times). This occurence is called cycling. Example (degeneracy does not lead to cyeling): Solve the following LP Maximize Z = 51 +2ry subject to constraints nim <6 nom <0 and 2 >0, 19 Solution: After adding the slack variables, we obtain the initial table, In this BPS, the basic variable sy =0, hence the LP is degenerate. Basic Varnbls [Row [2 [2a A _& [RAS [anor Z @]i;s 2 00] 0 a @]ol1 1 1 of 6 leq $2 lofi ao 1] 0 fo=oemin Basic Variable [Row |Z] ai_@2 si 82 | RHS | Ratios z ips 7 a3] o a () Jo}o 2% 1 a] 6 |62=3emin En @joli 1 0 1] 0 Basic Variable [Row [Z[a1 22 81 82 | RHS | Ratios Z @ {ifo 0 3513} a os a) fofa 1 os os] 2 ZL (2) [oO] 1 0 05 o5| 3 ‘The optimal solution is therefore max Z = 1, at (eh9) = 8.3) Example (degeneracy does lead to cycling): This is a very artificial example. Maximize subject wy cousieaines i a 2 and x > 0, Solution: We have the following tables. leaving basic variable as indicated. z ti Sen — ay + 94 25 Ww as Note when we have a tie in the ratio test, we pick the Basic Variable [Row [Z [ai ty ay aq seam [ RAS] Ratios z @ [t= 2-7 60-0 0] 0 a Q) fold 8 i 9 1 0 0} 0 |o-4-o+teaving $2 2) | o 12-3 3 0 1 0} 0 Jo-2=0 s @into o * © o o afi Basic Variable [Row [Z [xa ay vy moa sa | RWS | Ratios z ) fifo 4 -f a3 3 00] 0 n @) }o}a -32 4 36 4 0 of o 2 @ ]ofo a $ a5 2 1 0] 0 |o~=oemin _ 4 @lo}o o 1 0 o o 1/4 Bie Variable [Row [Z [ma ay 2q 81 sy sa | RUS [Ratios z @]i}oo 2 1 110} 0 Pa a) fo). og 46-12 8 a] o |ojm=oeteaving m @fofo 1 2B 4 dof o [oss 8 @fofo o 1 0 0 oid Basic Varable [Row [Z| ms) a3 my 6 | RAS] Ratios Z iy} 0-0-3 2-3 OF 0 S wolf o 1 Baa nfo ” @) Jo 4 10 ¢ $ 40] 0 |o-16/9=0eeaving & @ lolF oo aad [ranean Bie Variable [ Row |Z [aap wuz 6) yay [RUS [Ration Z @ |ij;-+ 0-0 11-0] 0 ta a fo 4 581 0 2 8 a] 0 | 0/retenving a jolt # o 1 4 3 of o 3 @ lol$ fo oo 2 6 ata Basie Variable [Wow [2 [m ap zy ag _sj sya [ RHS | Ratios z @[ipy a F002 -0} 0 8 a fol-# a fo 1 3 of o ee Q\olt 4 0 fol ss @lolo_o 1 oo oafi Basic Variable [Row |Z [mi yay a1) we | RUS | Ration Z @ |i]-4 0 +6 0-0-0] 0 a alo} 8 19 1 0 of 0 A @lo/i 42 43 0 1 0] 0 a i000 oo oa ‘Observe that the last table here is exactly the initial table, ‘The solution to this probelm is indeed, 0 Remark: The eycling can occur in simplex algorithm in theory. However, uo cycling has ever been Found for any prectical yrulleuss a Remark: If some additional rule is given for tho selection of the leaving basic variable whenever there is a tie between ratios, we can eliminate eyeling even in Uivory. For example, the so-called lexico-minimum ratio test (not easy to implement) or the Rland's rile (not wom. putationally efficient) can both serve the purpose. Most computer prograras in existence for solving LP, however, do not include these rules to guard against cycling. The reason is that the occurance is so rare ~ even if we have one. the computer romd-off error will nswally change it to @ non-degenerate one. 2

You might also like