Metoda simplex

Valeriu Ungureanu, 28 martie, 2011 Metoda Simplex, numită şi algoritm simplex, a fost propusa de George Bernard Dantzig în 1947. Este una dintre cele mai populare metode de rezolvare a problemelor de programare liniară. Metoda se aplică asupra problemei în forma standard, ceea ce, potrivit teoremei despre echivalenţa formelor, nu afectează universalitatea metodei. Denumirea provine de la noţiunea de simplex şi a fost sugerată de T.S. Motzkin. Revista Computing in Science and Engineering (vol. 2, no. 1, 2000) a inclus algoritmul în primii 10 algoritmi de top ai secolului XX. Care sunt premisele metodei? Să reamintim că: • • • • domeniul X de soluţii admisibile ale problemei de programare liniară este mulţime poliedrală cu un număr finit de vârfuri; dacă problema de programare liniară are valoare finită, atunci ea se atinge şi într-un vârf al mulţimii de soluţii admisibile; fiecărui vârf al mulţimii poliedrale X îi corespunde o soluţie admisibilă de bază a sistemului de restricţii ale problemei iniţiale; metoda Gauss-Jordan şi transformările simplex permit să se efectueze trecerea de la o soluţie admisibilă de bază (de la un vârf) la altă soluţie admisibilă de bază (la alt vârf). Rămâne doar să se clarifice cum să se efectueze trecerea, ca de la o soluţie la alta să crească valoarea funcţiei obiectiv.

Ideea de bază a metodei simplex constă în parcurgerea orientată a vârfurilor mulţimii poliedrale de soluţii admisibile cu scopul de a afla vârful în care valoarea funcţiei obiectiv este maximă. Să considerăm problema de programare liniară în formă standard: z=z(x)= c1x1 + c2x2 + … + cnxn → max,_________(1) ______ai1x1 + ai2x2 + … + ainxn = bi, i=1,…,m,___(2) ______xj ≥ 0, j=1,…,n.________________________ Metoda Gauss-Jordan. Interpretări geometrice. Aplicaţii Metoda Gauss-Jordan este în primul rând o metodă de rezolvare a sistemelor de ecuaţii liniare. Ea aduce printr-un număr finit de paşi succesivi sistemul de rezolvat α11x1 + α12x2 + … + α1jxj + … … αi1x1 + αi2x2 + … + αijxj + … … αr1x1 + αr2x2 + … + αrjxj + … … αm1x1 + αm2x2 + … + αmjxj + … + α1sxs+ … + α1nxn = β1, + αisxs+ … + αinxn = βi, + αrsxs+ … + αrnxn = βr, + αmsxs+ … + αmnxn = βm,

la o formă în care fiecare ecuaţie conţine o variabilă explicitată (de bază). Acest lucru se realizează selectând o ecuaţie r şi în ea o variabilă xs cu coeficient nenul αrs ≠ 0. Ecuaţia r se împarte la αrs. Cu ajutorul ecuaţiei obţinute: αr1/αrsx1 + αr2/αrs x2 + … + αrj/αrs xj + … + αrs/αrs xs+ … + αrn/αrs xn = βr/αrs, se elimină variabila xs din toate ecuaţiile, cu excepţia ecuaţiei r. Se obţine un sistem echivalent cu cel iniţial, în care coeficienţii variabilelor şi termenii liberi sunt calculaţi conform formulelor: αrj: = αrj / αrs, j=1,…,n,_________________ βr := βr /αrs,_________________________

sistemul mai poate avea până la C nr soluţii de bază. Astfel metoda Gauss.…. algoritm ce determină soluţia optimă a problemelor de programare liniară în care a priori e cunoscut că ea există şi e finită.…. j=1. Procedeul descris se repetă până când are loc una dintre următoarele 3 situaţii: 1. … xr = βr – αrr+1 xr+1 – … – αrn xn. derivat din metoda Gauss-Jordan. x2 = β2 – α2r+1 xr+1 – … – α2n xn. αis.m. ci să se calculeze şi toate soluţiile de bază ale sistemului de ecuaţii. numit pivot.________ În continuare în sistemul curent se aleg iarăşi o ecuaţie şi o variabilă (cu coeficient nenul). Să reamintim că denumirea de variabilă bază e legată de faptul că vectorii-coloane respective ale matricei sistemului de ecuaţii formează bază în spaţiul Rr. coloana s . situat în unul dintre vârfurile dreptunghiului. adică sunt liniar independenţi. diferite de cele alese la primul pas. se marchează printr-un dreptunghi. 2. Ea indică că sistemul iniţial este incompatibil şi procesul de calcul trebuie oprit. În aşa caz.Jordan permite nu numai să se afle soluţia generală. La un pas anumit o ecuaţie se transformă într-o identitate de forma: 0x1+…+0xn=0. O eliminare completă conduce la formarea altei baze prin înlocuirea unuia dintre vectorii de bază cu un vector liber. i ≠ r.…. … _______xr + αrr+1 xr+1 + … + αrn xn = βr. Termenii liberi sunt coeficienţii descompunerii vectorului b în bază. Procesul de calcul în metoda Gauss-Jordan se ordonează cu ajutorul unor tabele speciale. obținându-se şi descompunerea lui b în noua bază. . Elementul αij se recalculează scăzînd din elementul αij. i=1. 3. care pot fi determinate aplicând acelaşi procedeu de eliminare completă. βi := βi – αis βr/αrs. În procesul de calcul la un anumit pas se obţine o ecuaţie contradictorie de forma: 0x1+… +0xn=bi ≠ 0. r. iar o transformare a tabelului conform formulelor de mai sus – pivotare. iar procesul de calcul (eliminării) – continuat. La transformarea elementului αij (i≠r).m. αrs. poate fi expus un algoritm de rezolvare a problemei de programare liniară.αij := αij – αis αrj/αrs. elementul αij se proiectează imaginar pe linia pivot şi coloana pivot. numite tabele Gauss. schimbând succesiv combinaţiile de variabile de bază. În procesul de calcul se aplică aşa-numita regulă (mnemotehnică) a dreptunghiului care constă în următoarele. i=1. situat în cel de-al patrulea vârf – opus. obținându-se un dreptunghi cu vârfurile în αij. restul componentelor fiind nule. ___x2____+ α2r+1 xr+1 + … + α2n xn = β2. Ea denotă că ecuaţia dată este combinaţie liniară a celorlalte ecuaţii ale sistemului şi oate fi suprimată. αrj. i ≠ r. şi se efectuează o eliminare după aceleaşi formule. Linia r e numită linie pivot. împărţit la pivotul αrs. În fine.n. În ele elementul αrs. triunghi sau cerc.…. i=1. produsul αisαrj al elementelor situate în două vârfuri opuse. În afară de soluţia de bază x’. Toate ecuaţiile sistemului au fost folosite pentru a elimina variabile (toate ecuaţiile conţin câte o variabilă de bază) şi nu sunt ecuaţii contradictorii. Remarcă. pentru simplitatea expresiilor obţinute): x1_______+ α1r+1 xr+1 + … + α1n xn = β1. De unde se obţine soluţia generală: x1 = β1 – α1r+1 xr+1 – … – α1n xn. căreia îi corespunde soluţia de bază x’ cu componentele de bază xi= βi . Aceeaşi regulă se foloseşte şi la calcularea elementelor βi. sistemul iniţial a fost redus la un sistem de forma (în care s-a efectuat o renumerotare de variabile.coloană pivot.

Dacă printre x1.…. Remarcă. k=k+1. m. 5.m.….…. xk nu există soluţii admisibile. βm. se trece la pasul 4.… . j=1. În caz contrar. tabelul corespunzător se notează T1 şi se salvează. i= 1. xn în variabilă de bază. i=1.Dacă sistemul nu are soluţii de bază. dar şi pentru toate variantele cunoscute ale metodei simplex. xk. În caz contrar.….________________ βi – βr αis/αrs ≥ 0. xk şi se alege ca punct de maxim soluţia admisibilă de bază cu cea mai mare valoare a funcţiei obiectiv.__________________ βr/αrs ≥ βi/αis. tabelul Tk+1 se salvează. 0.Dacă tabelul cu caracteristicile cerute nu există. Elementul αrs îl vom numi pivot. Dacă valoarea optimă a problemei date de programare liniară e finită. se calculează valoarea funcţiei obiectiv pentru fiecare soluţie admisibilă x1. sau cu: . se trece la pasul 5. 0)T . n. … _______xm + αmm+1 xm+1 + … + αmn xn = βm. i≠ r. e suficient să existe un coeficient αij ≠ 0. k=1. Trecerea de la această soluţie admisibilă de bază la altă soluţie admisibilă de bază e condiţionată de transformarea uneia dintre variabilele libere xm+1. atunci şi problema iniţială nu are soluţii admisibile. i ≠ r. n. stop. 3. n}. βi :=βi – βr αis αrj / αrs i=1. cu coeficienţi şi termeni liberi calculaţi după formulele: αrj := αrj / αrs j=1.….…. se efectuează pivotarea. Selectarea liniei pivot Să presupunem că printr-o careva metodă am reuşit să determinăm o soluţie admisibilă de bază a sistemului (2). atunci toate soluţiile de bază sunt determinate şi se trece la pasul 6. r∈ {m+1. β2. se determină xk+1. i≠ r. j∈ {m+1. n}. Trecerea de la o soluţie admisibilă de bază la alta.…. Presupunem că αrs ≠ 0. vom presupune că anume în raport cu primele m variabile: x1_______+ α1m+1 xm+1 + … + α1n xn = β1.1.….….…. fără a pierde din generalitate. Din tabelele T1.Tk se selectează un tabel şi un pivot în el pentru care pivotarea dă o soluţie de bază xk+1 ce are o combinaţie a variabilelor de bază diferită de cele ale soluţiilor de bază x1. ___x2____+ α2m+1 xm+1 + … + α2n xn = β2.…._________________ βr :=βr / αrs. i≠ r. Metoda Gauss-Jordan serveşte ca bază nu numai pentru acest algoritm. m.m. 4. m}. 2. s ∈ {1. 6. Problema de programare liniară se aduce la forma standard.…. stop. din (4) reiese că trebuie să se verifice inegalităţile: βr/αrs ≥ 0. atunci problema de programare liniară nu are soluţii admisibile._________________________ αij := αij – αis αrj / αrs i=1.…. O eliminare completă a variabilei xs e echivalentă cu trecerea la un nou sistem. care are în calitate de soluţie admisibilă de bază vectorul x0 = (β1. În atare supoziţie sistemul de ecuaţii (2) poate fi explicitat în raport cu m variabile şi. m}.… .… .…. Pentru a realiza cu succes această trecere. Se determină prin metoda Gauss-Jordan o soluţie de bază x1 a sistemului de ecuaţii liniare. se trece la pasul 4. echivalente cu: αrs > 0. i ∈ {1. atunci se trece la pasul 2.______ Pentru ca soluţia de bază obţinută să fie admisibilă. stop.

Aşadar. n. Ele permit să se efectueze trecerea de la o soluţie admisibilă de bază (de la un vârf al mulţimii poliedrale de soluţii admisibile) la alta (la alt vârf) după o regulă bine cunoscută – regula dreptunghiului din metoda Jordan-Gauss.….___________________ βr/αrs = min{ βi/αis | i: αis > 0}. Teoremă (criteriul de optimalitate).…. Dacă prima este degenerată. atunci există o altă soluţie admisibilă de bază cu aceeaşi valoare a funcţiei obiectiv (la care se poate trece utilizând transformările simplex) şi valoarea problemei se realizează într-o infinitate de puncte – combinaţii convexe ale soluţiilor admisibile de bază optime. . Teoremă.αrs > 0. j∈ {m+1. O transformare simplex a sistemului de ecuaţii este echivalentă cu trecerea de la o soluţie admisibilă de bază la o altă soluţie admisibilă de bază. că ea are nenule primele m componente. Criteriul de selectare a coloanei pivot. atunci valoarea funcţiei obiectiv pentru orice altă soluţie particulară nu poate fi mai mare decît z(x0 ). iar dacă zj – cj ≥ 0. j∈ m+1. x2. În asemenea caz. Soluţia admisibilă de bază este punct de maxim (de minim) dacă şi numai dacă toate estimaţiile variabilelor libere sunt nenegative (nepozitive). pivotul trebuie să fie pozitiv şi raportul termenilor liberi la elementele αis>0 din coloana s să fie cel mai mic anume pentru linia r. β2. 0. atunci soluţia optimă e unică. Pentru ea avem următoarea valoare a funcţiei obiectiv: z(x)= c1 x1 + … + cn xn = c1 (β1 – ∑nj=m+1 α1j xj) + … + cm (βm – ∑nj=m+1 αmj xj)+ cm+1 xm+1 + … + cn xn = ∑mi=1 ci βi – ∑nj=m+1 (∑mi=1 cj αij – cj) xj = z(x0 ) – ∑nj=m+1 (zj – cj) xj = z0 – ∑nj=m+1 (zj – cj) xj. sistemului iniţial de ecuaţii îi corespunde un sistem echivalent în care sunt explicitate primele m variabile (xB + B-1 S xS = B-1b): x1_______+ α1m+1 xm+1 + … + α1n xn = β1. 0)T a problemei standard şi presupunem în continuare. unde zj – cj = ∑mi=1 cj αij – cj = (cBT B-1A)j – cj este estimaţie relativă sau factor relativ de cost. Transformările efectuate conform formulelor de mai sus în condiţiile specificate se numesc transformări simplex. iar dacă în (3) există zj – cj = 0. ___x2____+ α2m+1 xm+1 + … + α2n xn = β2. Fie x=(x1. adică: zj – cj ≥ 0 (zj – cj ≤ 0).…. dacă zj – cj >0.…. z0= z(x0 ) = ∑mi=1 ci βi este valoarea funcţiei obiectiv în punctul dat. n}. fără a pierde din generalitate. Soluţia generală a sistemului este xi = βi – ∑nj=m+1 αij xj. m. j=m+1.__(3) Dacă toate inegalităţile în (3) sunt stricte.… . atunci se “glisează” pe aceeaşi soluţie admisibilă de bază. n. din care orice soluţie particulară (inclusiv şi soluţiile admisibile de bază) se obţine atribuind valori potrivite variabilelor libere xm+a.…. … _______xm + αmm+1 xm+1 + … + αmn xn = βm. numită linie pivot. …. j=m. şi există zj – cj = 0.…. Criteriul de optimalitate şi cel de nemărginire Considerăm că a fost găsită o soluţie admisibilă de bază x0 = (β1. În baza celor expuse au loc următoarele teoreme. atunci există o infinitate de soluţii optime. xn. schimbându-se doar unul dintre vectorii componenţi ai bazei.…. Evident. i=1.…. n. j=m+1. xn)T o careva soluţie particulară. n. Funcţia obiectiv poate fi scrisă şi în forma: z(x)= z(x0 ) – ∑nj=m+1 (zj – cj) xj = z(x0 ) – (cBT B-1A – c )T x. βm.

…. …. Introducând notaţiile: α0j = ∑mi=1 cj αij – cj. cu valoarea funcţiei obiectiv mai mare. … xm + αmm+1 xm+1 + … + αmn xn = βm. n}. s ∈ {m+1. z + αom+1 xm+1 + … + α0nxn = α00. dacă termenul liber βr din linia pivot e nul. i=1. şi αis≤0 pentru toţi i=1. Dacă termenul liber βrdin linia pivot e pozitiv. pentru care αis <0. n}. atunci valoarea funcţiei obiectiv creşte. j∈ {m+1. Ordonarea calculelor. αi0 = βi. respectiv. Dacă există zs – cs <0. s ∈ {m+1.…. Teoremă (criteriul de nemărginire). Remarcă. atunci tragem concluzia că problema iniţială nu are valoare optimă mărginită (funcţia obiectiv (2) poate creşte oricît de mult. atunci o transformare simplex cu pivotul αrs va mări valoarea funcţiei obiectiv cu – βr(zs–cs)/αrs. se selectează o estimaţie negativă zs – cs<0. atunci problema nu are valoare optimă finită. În conformitate cu teorema 2. şi există βr/αrs = min{βi/αis | i: αis>0}. descreşte). i=1. …. m. adică αis ≤ 0. pot creşte oricît de mult. Dacă există zs–cs<0. deoarece soluţia e degenerată (xs devine variabilă de bază. variabilele de bază xi.…. m}. n. n}. este egală cu valoarea cu care se schimbă valoarea funcţiei obiectiv la creşterea cu o unitate a valorii variabilei} xj ( dacă zj – cj e negativă. … xm + αmm+1 xm+1 + … + αmn xn = βm. s ∈ {m+1.…. este important ca totdeauna să fie la îndemână: • • coeficienţii şi termenii liberi ai sistemului de ecuaţii explicitat corespunzător. x2 + α2m+1 xm+1 + … + α2n xn = β2.__________ α00 = ∑mi=1 βi. şi se efectuează transformările simplex cu pivotul αrs în coloana s (r – linia pivot). dacă în coloana s toate elementele sunt nepozitive. în caz contrar. Fie că a fost găsită o soluţie admisibilă de bază a problemei standard şi presupunem.… . m. estimaţiile relative zj – cj ale variabilelor.___________ sistemul precedent se transformă în: x1 + α1m+1 xm+1 + … + α1n xn = β1. Alcătuirea tabelului simplex Dacă dorim să construim un algoritm care ar realiza trecerea de la un vârf al mulţimii poliedrale de soluţii admisibile X la alt vârf.Teoremă (criteriul de selectare a coloanei pivot). numit sistem lărgit. …. x2 + α2m+1 xm+1 + … + α2n xn = β2. pentru a trece de la o soluţie admisibilă de bază la alta. . Acest lucru poate fi asigurat reprezentând datele în formă de tabel. că în sistemul respectiv sunt explicitate primele m variabile: x1 + α1m+1 xm+1 + … + α1n xn = β1. Din (2) reiese că estimaţia zj – cj a unei variabile libere xj . funcţia obiectiv poate fi scrisă ca o ecuaţie de forma: z(x)= z(x0 ) – ∑nj=m+1(zj – cj) xj. n}. deoarece în (1) variabila x s şi. atunci în urma transformărilor simplex soluţia admisibilă de bază rămâne neschimbată. iar xr – variabilă liberă). fără a pierde din generalitate. atunci se va trece la o nouă soluţie admisibilă de bază. j=1. În baza reprezentării (2) din paragraful precedent. care poate fi alăturată la sistemul de ecuaţii.

…. αm0.…. atunci pot fi încercate metodele cunoscute de soluţionare a sistemelor de ecuaţii liniare. i=1.Dacă în el se efectuează transformările simplex cu pivotul αrs (transformări ce includ şi ultima ecuaţie. De aceea.… . Elementele αij. (4) se păstrează sub formă de tabel – aşa-numitul tabel simplex şi toate calculele se efectuează anume în cadrul tabelelor simplex. j=0._____ ai1x1 + ai2x2 + … + ainxn ≤ bi. fără cerinţa ca α00 să fie nenegativ).… . claritate şi eficienţă.. în baza B. subînțelegându-se. sunt coordonate ale vectorului coloană Aj..….….… . j=0. în aşa caz._____________________ este însoţită de formarea unei baze unitare B =[αn+1. i=1. ambele variante .… .___________________ în care bi ≥ 0. m. … .m.0.n.….m.m. n}. la cercetarea problemei canonice: c1 x1 + c2 x2 + … + cnxn → max. Determinarea soluţiei admisibile de bază iniţiale A rămas neelucidată o singură chestiune: cum se determină soluţia admisibilă de bază iniţială de la care îşi începe execuţia algoritmul simplex? Desigur.. j=1. i=1.… . Totuşi rezultatul scontat totdeauna poate fi obţinut prin metoda bazei artificiale. căreia îi corespunde soluţia admisibilă de bază x=(0. m}. xj ≥ 0. xj ≥ 0. Observăm că: • • • • ultima linie din tabel conţine estimaţiile variabilelor şi valoarea funcţiei obiectiv α00 pentru soluţia admisibilă de bază x=(α10. n.…. xn+2. coordonatele obţinute la descompunerea coloanelor matricei sistemului de restricţii (a problemei standard iniţiale) în baza corespunzătoare. j=0.. coloana a treia conţine valorile variabilelor de bază (termenii liberi ai sistemului de ecuaţii). Am} este o bază a matricei A a sistemului de ecuaţii al problemei standard. i=0.….….…. 0)T.__________ ai1x1 + ai2x2 + … + ainxn+xn+i = bi. Din considerente de comoditate.n. cum este metoda Gauss-Jordan. 0. trecerea (prin introducerea variabilelor ecart xn+1. A2.bm)T. Deci sistemul (4) conţine toate datele necesare pentru alcătuirea algoritmului şi de aceea e important ca (4) totdeauna să fie la dispoziţia utilizatorului. De exemplu. xn+m la forma standard: c1 x1 + c2 x2 + … + cnxn → max. Dacă problema are forma standard (1)-(2) şi nu conţine o bază unitară. în unele cazuri ea se obţine chiar din formularea problemei.b1. αn+m = [e1 .…. j=1. prima coloană conţine coeficienţii din funcţia obiectiv ai variabilelor de bază. atunci elementele αij. ale tabelului simplex le-am interpretat. j ∈ {1. definitivată în două variante: metoda celor două faze şi metoda coeficienţilor de penalizare. pe bună dreptate. coloana a doua conţine lista variabilelor de bază. …. n. atunci elementele noului sistem pot fi calculate utilizând bine cunoscuta regulă a dreptunghiului şi pentru linia alăturată: α0j := αoj – αrj α0s / αrs. i=0. j=1. Dar elementele au şi altă semnificaţie: dacă B={A1.…. em]. α20. ca coeficienţi şi termeni liberi ai sistemului de ecuaţii.m. elementele tabelului simplex sunt notate şi prin xij.n+m.

Dacă problema iniţială are soluţie optimă.b1.___________________________ în care M este un număr pozitiv suficient de mare. şi. atunci soluţia acestei probleme este soluţie admisibilă de bază iniţială a problemei iniţiale. În detaliu algoritmul simplex poate fi reprezentat astfel: 1. Dacă prin metoda bazei artificiale se determină că problema de rezolvat nu are soluţii admisibile. numit coeficient de penalizare.….…. Remarcă. j=1. atunci în tabelul simplex final există cel puţin o linie în care toate variabilele neartificiale au coeficienţi nepozitivi. Metoda coeficienţilor de penalizare poate fi şi ea divizată în două etape. Dacă problema secundară are soluţie pozitivă. La soluţionarea problemelor cu variabile artificiale prin algoritmul simplex e raţional ca transformarea în nebazică a uneia dintre variabilele artificiale să fie însoţită de suprimarea coloanei respective a tabelului simplex. Problema iniţială de programare liniară se aduce la forma standard (1)-(2).n+m. i=1. Ambele variante ale metodei bazei artificiale adeseori se termină nu numai cu obţinerea soluţiei admisibile de bază iniţiale a problemei iniţiale.… . iar coeficienţii variabilelor neartificiale sunt nepozitivi. x=(0. ai1x1 + ai2x2 + … + ainxn+xn+i = bi.bm)T.bm)T este soluţie admisibilă de bază._________ ai1x1 + ai2x2 + … + ainxn+xn+i = bi. atunci problema iniţială nu are soluţii admisibile.xn+m şi se rezolvă problema artificială: xn+11 + xn+2 + … + xn+m → min.… .m. Metoda coeficienţilor de penalizare Se introduc variabilele artificiale ca şi în cazul precedent.…. Remarcă. Remarcă. şi în locul problemei iniţiale se rezolvă: c1 x1 + c2 x2 + … + cnxn – Mxn+1 – … – Mxn+m → max.0.b1.…. soluţie care poate fi utilizată mai departe în faza a II-a la aflarea soluţiei optime a problemei iniţiale.… .… . în caz contrar. cu valoare pozitivă. Dacă problema secundară are valoarea optimă nulă. k. Dacă după soluţionarea ultimei probleme una dintre variabilele artificiale mai rămâne bazică. Algoritmul simplex În conformitate cu cele menţionate anterior. x1. şi cu obţinerea soluţiei optime. problema iniţială nu are soluţii admisibile. atunci xk şi este punctul de maxim. în anumite situaţii. j=1.0. … .reducând problema determinării soluţiei admisibile de bază iniţiale la o problemă secundară de programare liniară. Aceasta este echivalent cu faptul că pentru problema de rezolvat prin transformări de echivalenţă se determină o ecuaţie contradictorie în care termenul liber e pozitiv. Remarca 1.______ xj ≥ 0. xk cu proprietatea că z(xi) ≤ z(xi+1). xj ≥ 0.m. i=1.n+m. prima etapă terminându-se odată cu transformarea în nebazice a tuturor variabilelor artificiale. . În faza I._____________________ care are soluţia admisibilă de bază iniţială x=(0. Metoda celor două faze. metoda simplex este o procedură iterativă de generare a unei consecutivităţi finite de soluţii admisibile de bază (vârfuri ale mulţimii poliedrale de soluţii admisibile) x0. i=0.…. în se introduc variabilele artificiale xn+1. soluţia optimă pentru problema cu M este soluţie optimă şi pentru cea iniţială.….

6.1. i=1.…r-1. Din ecuaţiile 0. Se construieşte tabelul simplex iniţial. Leonid Khachiyan a demonstrat că problema de programare liniară are complexitate polinomială (ca funcţie de dimensiunile problemei). 5.m. j=0. 7. . 2001. În 1979. i≠r. adică αis≤0.2. Chişinău. Sursa: V. Programarea Matematică. 4. i=0. atunci problema dată nu are soluţii admisibile (stop). n).…. Ungureanu. n. _____şi se trece la pasul 4.…. Se alege linia pivot r pentru care are loc: αr0/αrs = min{αi0/αis | i : αis>0}. n. atunci soluţia admisibilă de bază curentă este de optimă (stop). Remarcă. Dacă ea nu există. ceea ce explică faptul de ce metoda se foloseşte pe larg şi în prezent la rezolvarea problemellor de programare liniară. m se elimină variabila xs prin intermediul transformărilor simplex: αrj :=αrj/αrs. Dacă toate elementele din coloana pivot sunt nepozitive. metoda simplex în cel mai rău caz poate efectua un număr exponenţial de iteraţii. adică α0j=zj–cj≥0. Se determină o soluţie admisibilă de bază iniţială. … . 3. Se alege coloana pivot s pentru care α0s<0. j=1. În practică – numărul de iteraţii este de cele mai dese ori comparativ cu numărul de ecuaţii.r+1.Teoretic. m.….…. Dacă se satisface criteriul de optimalitate (sunt nenegative toate estimaţiile relative.…. j=0. atunci problema iniţială nu are soluţie optimă mărginită (stop). USM.__________________ αij := αij – αrj αis/αrs.

Sign up to vote on this title
UsefulNot useful