Linearno programiranje

Linearno programiranje (LP, ili linearna optimizacija) je matematička metodologija za modeliranje i rešavanje problema nalaženja maksimuma ili minimuma linearne funkcije, pod uslovima iskazanim kao linerane jednačine ili nejednačine. Termin „programiranje“ je ovde sinonim za planiranje, odnosno određivanje optimalnog (najboljeg) plana. To znači određivanje vrednosti promenljivih takvih da daju optimalnu vrednost funkcije cilja, pri tom zadovoljavajući uslove (ograničenja).

Linearno programiranje je specijalan slučaj matematičkog programiranja (optimizacije), gde su funkcija cilja i ograničenja linearni.

Primer problema linearnog programiranja sa četiri promenljive (skraćenica p.o. znači - pri ograničenjima):

Ovakvim matematičkim modelima se mogu predstaviti problemi alokacije resursa, planiranja kretanja vozila, razni problemi proizvodnje u industriji, problemi u ekonomiji itd. Primenom lineranog programiranja se mogu rešavati svi praktični problemi koji mogu da se iskažu matematičkim modelom linearnog programiranja.

Istorija

uredi

Problem linearnog programiranja je formulisao sovjetski matematičar Leonid Kantorovič 1939. godine.[1] Prvi modeli su korišćeni u drvnoj proizvodnji, a tokom Drugog svetskog rata Kantorovič je radio za vojsku na optimizaciji vojnih operacija. Metod rešavanja problema nije bio javno poznat, sve do 1947. kada je Džordž B. Dancig objavio simpleks algoritam.[2]

Rešenja problema

uredi

Skup svih tačaka u n-dimenzionalnom prostoru koje zadovoljavaju ograničenja problema se naziva dopustivim skupom, ili skupom dopustivih rešenja. Tačka iz ovog skupa za koju je vrednost funkcije cilja optimalna (najbolja), odnosno maksimalna ili minimalna, se naziva optimalno rešenje. Sve tačke izvan dopustivog skupa su nedopustiva rešenja. Postoji više mogućih slučajeva postojanja rešenja u odnosu na to kakva su ograničenja:

  • Problem ima jedinstveno optimalno rešenje
  • Problem ima višestruko optimalno rešenje (beskonačno mnogo optmalnih rešenja)
  • Problem nema optimalno rešenje (otvoren je, rast funkcije cilja nije ograničen)
  • Problem uošte nema rešenje (ograničenja su nekonzistentna)

Oblici problema linearnog programiranja

uredi

U opštem slučaju problem linearnog programiranja može biti iskazan u obliku čija su ograničenja jednačine ili nejednačine, sa zadatkom maksimizacije ili minimizacije funkcije cilja. Algoritmi koji rešavaju ove probleme (pre svega Simpleks) zahtevaju da problem ima određen, specijalan oblik, da bi mogao biti rešavan. Postoje sledeća četiri oblika problema linearnog programiranja:

  • opšti
  • simetrični
  • standardni
  • kanonski (uslovno, jer je ovo u suštini interni oblik Simpleks algoritma)

Opšti oblik

uredi

Opšti oblik problema linearnog programiranja podrazumeva zadatak maksimizacije ili minimizacije funkcije cilja pri ograničenjima iskazanim kao linearne jednačine ili nejednačine i dodatnim skupom prirodnih ograničenja da vrednosti promenljivih ne mogu biti negativne.

 

Ili iskazan u sažetijem obliku:

 

Simetrični oblik

uredi

Problem iskazan u simetričnom obliku ima sva ograničenja kao nejednakosti istog tipa (sva imaju znak   ili  ). Takođe, ako je zadatak maksimizacija funkcije cilja, ograničenja moraju da budu tipa  , a ako je zadatak minimizacija, ograničenja moraju da budu tipa  .

Ovde je dat simetrični oblik u matričnoj formi, gde su koeficijenti funkcije cilja, skup promenljivih i slobodni članovi ograničenja dati kao vektori, a koeficijenti nejednačina ograničenja su dati kao matrica.

Simetrični oblik u matričnoj formi
Varjanta maksimizacije Varjanta minimizacije Značenje oznaka
     

Standardni oblik

uredi

Problem uskazan u standardnom obliku može da bude problem maksimizacije ili minimizacije, a sva ograničenja moraju da budu jednakosti. Osim ovog uslova skup ograničenja mora da zadovolji još neke uslove:

  • Jednačine ograničenja treba da budu linearno nezavisne
Ako nisu, to znači da dve ili više jednačina iz skupa iskazuju isto ograničenje, i duplikati se mogu eliminisati iz problema.
  • Broj ograničenja treba da bude manji od broja promenljivih
Ako je ispunjen prvi uslov, a broj promenljivih i jednačina je isti, tada problem ima samo jedno dopustivo rešenje, odnosno dopustiva oblast će se sastojati od samo jedne tačke. A ako je, uz ispunjenje prvog uslova, broj jednačina veći od broja promenljivih, onda problem neće imati rešenja, odnosno biće preograničen.
  • Svi slobodni članovi jednačina ograničenja treba da budu nenegativni

Ovi dodatni uslovi se mogu sažeti u sledećem (n - broj promenljivih, m - broj ograničenja):

 
 

Standardni oblik u matričnoj formi

 

Prevođenje iz opšteg u simetrični i standardni oblik

uredi

Modeli praktičnih problema su izvorno najčešće u simetričnom obliku ili u opštem, ali sa samo jednim tipom nejednakosti (i sa jednakostima, naravno). Praktični problemi skoro nikad nisu izvorno u standardnom obliku. Modeli u jednom obliku se mogu prevoditi u ekvivalentne modele u nekom drugom obliku. Za prevođenje se mogu koristiti više različitih tehnika, čijim korišćenjem se bilo koji model u opštem, simetričnom ili standardnom obliku, može prevesti u neki od druga dva.

Promena zadatka problema (maks. ili min.)

U slučaju da nam više odgovara suprotan problem od datog (maks. u odnosu na min. i obratno), sve što treba da se uradi je da se funkcija cilja pomnoži sa -1, odnosno da se vektor koeficijenata pomnoži sa -1.

 

Promena tipa nejednakosti

Model u opštem obliku čija su sva ograničenja nejednakosti, se može prevesti u simetrični oblik tako što se sva ograničenja koja ne odgovaraju zadatku (maks. ili min.) množe sa -1, čime se obrće znak nejednakosti.

 

Prevođenje nejednačina u jednačine

Ako je potrebano da problem bude u standardnom obliku, sve nejednačine iz skupa ograničenja moraju se prevesti u ekvivalentne jednačine. Ovo se postiže tako što se u problem ubacuju nove promenljive, koje se zovu izravnjavajuće, i to po jedna u svaku nejednačinu.

  • U nejednačine tipa „manje-jednako“ dodaje se izravnjavajuća promenljiva sa koeficijentom 1.
 
  • U nejednačine tipa „veće-jednako“ dodaje se izravnjavajuća promenljiva sa koeficijentom -1.
 

Izravnjavajuće promenljive se ne dodaju u funkciju cilja, odnosno može se smatrati da u funkciji cilja imaju koeficijente 0. Posle prevođenja problem će imati onoliko dodatnih promenljivih koliko je bilo nejednačina u skupu ograničenja. Rezultujući problem u standardnom obliku je ekvivalentan početnom problemu u smislu da će se njegovim rešavanjem dobiti optimalno rešenje početnog problema, pri tom se u rešenju vrednosti dodatnih izravnjavajućih promenljivih mogu ignorisati.

 

Prevođenje jednačina u nejednačine

Jednačine se mogu prevesti u nejednačine na više načina:

  • Operacija obrnuta dodavanju izravnjavajuće promenljive

Iz jednačine se može eliminisati promenljiva koje nema u funkciji cilja, a ni u ostalim ograničenjima, čiji koeficijent u jednačini je pozitivan i koja je ogrančena da bude nenegativna. Tada jednačina prelazi u nejednačinu tipa ”manje-jednako”. Ako je promenljiva ima negativan koeficijent, onda se dobija jednačina ”veće-jednako”. U slučaju da je promenljiva ograničena da bude nepozitivna, onda se pravila za znak koeficijenta okreću.

 
  • Zamena jedne jednačine sa dve nejednačine

Ove dve nejadnačine će imati iste koeficijente i slobodne članove kao početna jednačina, ali sa obrnutim znakovima nejednakosti. Pošto znakovi nejednakosti uključuju i mogućnost jednakosti (”manje-jednako” i ”veće-jednako”), a suprotni su, to znači da se te dve nejednačine mogu svesti na jednu jednačinu.

 

Eliminisanje promenljivih neograničenih po znaku

Problem može da bude formulisan tako da neke promenljive nisu ograničene po znaku (mogu biti i pozitivne i negativne). U ovom slučaju može se napraviti smena. Neku promenljivu   možemo zameniti razlikom dve promenljive   na svim mestima u problemu gde se pojavljuje. Sada ove dve nove promenljive mogu da budu ograničene da budu nenegativne, jer njihova razlika može da bude i pozitivna i negativna, kao originalna promenljiva.

Kanonski oblik

uredi

Kanoski oblik problema linearnog programiranja je skoro specijalan slučaj standardnog oblika (skoro, jer ima jedno proširenje u odnosu na opšti oblik problema LP). Ovaj oblik je zapravo interni oblik problema Simpleks algoritma. Problem u kanonskom obliku osim što zadovoljava uslove standardnog oblika, takođe ima i sledeće dodatne uslove. Ako problem ima   promenljivih i   ograničenja, on je u kanonskom ako zadovoljava sledeće uslove:

  • Zadatak problema je maksimizacija funkcije cilja.
  • U skupu promenljivih postoji podskup od m promenljivih, takvih da se u svakom ograničenju nalazi po jedna promenljiva iz tog podskupa (i ni u jednom drugom ograničenju), i to sa koeficijenom 1.
  • Tih m promenljivih iz podskupa u funkciji cilja imaju koeficijent 0.
  • Svi slobodni članovi ograničenja su nenegativni.

Takođe ima i jedno proširenje u odnosu na opšti oblik, a to je da funkcija cilja može da sadrži slobodan član.

Razvijeno Matrično
   

Bazne promenljive i bazna dopustiva rešenja

uredi

Ako imamo problem u standardnom obliku, sa matricom ograničenja  , od svih promenljivih možemo da izaberemo nekih m promenljivih, takvih da, ako ostale promenljive izjednačimo sa nulom sistem jednačina ograničenja može da se jednistveno reši po izabranih m promenljivih. Poznato je da, da bi sistem jednačina bio rešiv, matrica koeficijenata promenljivih mora da bude invertibilna, odnosno da ima determinantu različitu od 0. Ovih m promenljivih koje zadovoljavaju uslov se nazivaju bazne promenljive, skup baznih promenljivih se naziva baza, a kvadratna matrica koeficijenata baznih promenljivih se naziva matrica baze.

 

Rešavanjem sistema jednačina dobijenog na ovaj način dobijaju se vrednosti baznih promenljivih. Tako dobijene vrednosti baznih promenljivih sa dodatim nulama kao vrednostima ostalih (nebaznih) promenljivih čine jedno dopustivo rešenje problema, jer ono sigurno zadovoljava ograničenja. Ovako dobijeno dopustivo rešenje se naziva bazno dopustivo rešenje. Problem ima onoliko baznih dopustivih rešenja, koliko matrica koeficijenata ograničenja ima kvadratnih invertibilnih podmatrica veličine m.

Ako vektor koeficijenata baznih promenljivih u funkciji cilja označimo sa  , tada će vrednost funkcije cilja za dato bazno dopustivo rešenje biti jednaka  , odnosno  .

Ako problem ima jedinstveno optimalno rešenje, tada će jedno od baznih dopustivih rešenja biti to optimalno rešenje, a ako sistem ima beskonačno mnogo optimalnih rešenja, tada će više od jednog baznog dopustivog rešenja imati optimalnu vrednost funkcije cilja. Ako se otkriju sve invertibilne podmatrice veličine m, i preko njih generišu sva bazna dopustiva rešenja, ona rešenja koja daju najbolju vrednost funkcije cilja jesu optimalna rešenja problema. Naravno, ovaj način rešavanja problema linearnog programiranja je jako neefkasan, jer podrazumeva probanje svih mogućnosti.

Bazna dopustiva rešenja u kanonskm obliku

Ako imamo problem u kanonskom obliku možemo direktno pročitati jedno bazno dopustivo rešenje, bez rešavanja sistem jednačina. Matrica koeficijenata već ima jasno vidljivu invertibilnu podmatricu (jediničnu matricu za m promenljivih) i ako nebaznim promenljivama dodelimo vrednost 0, odmah vidimo da su rešenja sistema jednačina zapravo slobodni članovi jednačina.

 

Svođenje standardnog oblika na kanonski

uredi

Metode linearne algebre

uredi

Ako imamo problem u standardnom obliku, i poznata nam je jedna baza, tada možemo problem da svedemo na kanonski oblik u odnosu na tu bazu, ali pod uslovom da slobodni članovi ograničenja rezultujućeg kanonskog oblika budu nenegativni.

Prevođenje ograničenja

Ako promenljive u ograničenjima grupišemo u bazne i nebazne, možemo metodama linearne algebre (inverzija matrice ili Gaus-Žordanova redukcija) da transformišemo sistem jednačina tako da matrica baze   postane jedinična matrica (što zahteva kanonski oblik). Matrica nebaznih promenljivih   tada postaje matrica  , dok vektor   postaje  .

 

Pošto kanonski oblik postavlja uslov da slobodni članovi budu nenegativni, operacija prevođenja u kanonski oblik u odnosnu na datu bazu će uspeti ako je  . Dakle ako je ovaj uslov zadovoljen možemo nastaviti sa prevođenjem.

Prevođenje funkcije cilja

Da bi ceo problem bio u kanonskom obliku, moramo da eliminišemo bazne promenljive iz funkcije cilja. Funkciji cilja možemo da dodamo slobodni član nekog od ograničenja, a oduzmemo od nje linearnu funkciju koja čini to ograničenje. Pošto između leve i desne strane ograničenja stoji jednakost, ova operacija ne menja funkciju cilja i problem pretvara u ekvivalentan problem u drugačijoj formi. Da bi eliminisali neku od baznih promenljivih iz funkcije cilja treba da pomnožimo ograničenje u kome se ona nalazi sa njenim koeficijentom u funkciji cilja i onda sa takvom jednačinom uradimo navedenu operaciju (pri tom ne menjamo samo ograničenje). Ovu operaciju možemo da uradimo sa svakim ograničenjem koje sadrži baznu promenljivu koja postoji u funkciji cilja, i time eliminišemo sve bazne promenljive iz funkcije cilja. Kao posledica funkcija cilja će sada sadržati i slobodan član. Ovaj slobodan član je zapravo vrednost funkcije cilja polaznog problema u odnosu na datu bazu.

U sledećoj formulaciji ove operacije   je vektor baznih promenljivih, a   je vektor nebaznih promenljivih. Koeficijenti nebaznih promenljivih su dati matricom  , a slobodni članovi vektorom  .

 

Rezultat kompletne operacije svođenja u matričnoj formi

 

Ove dve operacije (transformisanje ograničenja i funkcije cilja) mogu da se rade i unakrsno. Može se formirati proširena matrica celog problema, koja će se satojati od proširene matrice sistema ograničenja, sa dodatnim redom koji predstavlja funkciju cilja, s tim što će poslednji element tog reda biti negativni slobodni član funkcije cilja, jer operacija kojom eliminišemo promenljive iz funkcije cilja nije elementarna matrična transformacija redova. Ali ako se pridržavamo pravila matričnih transformacija, na mestu slobodnog člana dobićemo njegovu suprotnu vrednost.

 

Ako obratimo pažnju na uslov  , onda je najefikasnije prvo izračunati slobodne članove, pa ako zadovoljavaju uslov, izračunati ostatak matrice.

Ovaj postupak dobijanja kanonskog oblika podrazumeva nalaženje neke baze preko koje se problem može prevesti u kanonski oblik, što moeže biti prilično zahtevno. Sledeća metoda to zaobilazi.

Metoda veštačkih promenljivih

uredi

Ova metoda se još naziva i metodom velikog M. Ako standardnim transformacijama sistema jednačina ne možemo lako da dobijemo kanonski oblik sistema ograničenja onda ćemo u svaku jednačinu koja odskače od kanonskog oblika dodati po jednu dodatnu promenljivu. Ove nove promenljive zovemo veštačke (i obično označavamo sa v) jer ne postoje u originalnom problemu. Zato ćemo u funkciji cilja veštačkim promenljivama dodeliti koeficijente  , gde je M neki mnogo veliki pozitivan broj (veći od bilo kog broja pri poređenju). Ovim osiguravamo da će, zbog zadatka maksimizacije, algoritam za rešavanje sigurno ovim promenljivama dodeliti vrednost 0, čime se ova izmena orgiginalnog problema poništava.

Problem proširen veštačkim promenljivama u slučaju da svaka jednačina ima po jednu (što ne mora da bude), izgleda ovako:

 

Da bi problem bio u kanonskom obliku, moramo da elimišemo veštačke promenljive iz funkcije cilja, što možemo da uradimo množenjem svake jednačine koja sadrži veštačku promenljivu sa M i dodavanjem dobijene jednačine funkciji cilja (uz istovremeno oduzimanje slobodnih članova). Tada će funkcija cilja dobiti sledeći oblik. (množenje matrice transponovanim vektorom jedinica sleva daje vrstu suma kolona te matrice)

 

Ovo jeste kanonski oblik funkcije cilja i zajedno sa ograničenjima, ceo problem je sada u kanonskom obliku. Bazno rešenje ovakvog kanonskog oblika predstavljaju slobodni članovi kao vrednosti veštačkih promenljivih i nule kao vrednosti nebaznih, što su sve promenljive iz originalnog problema, a takvo rešenje je za originalni problem nedopustivo. Ali Simpleks algoritam može da pođe od ovakvog kanonskog oblika, i uspešno dobije optimalno rešenje originalnog problema (iako ovako modifikovani problem nije ekvivalentan originalnom).

Dualnost

uredi

Raznim transformacijama funkcije cilja i ograničenja problemi linearnog programiranja se mogu prevesti u ekvivalentne probleme, ali u drugačijoj formi. Svakom problemu linearnog programiranja osim bezbroj ekvivalentnih problema, može se na određen način pridružiti i, takozvani, dualni problem. U terminilogiji teorije dualnosti početni problem se naziva primal. Primal i dual nisu ekvivalentni problemi, ali su srodni i vezani.

Broj promenljivih duala je jednak broju ograničenja primala, dok je broj ograničenja duala jednak broju promenljivih primala. Vektor koeficijenata funkcije cilja duala je jednak vektoru slobodnih članova ograničenja primala, dok je vektor slobodnih članova duala jednak vektoru koeficijenata u funkciji cilja primala. Matrica koeficijenata ograničenja duala je jednaka transponovanoj matrici primala. I na posletku zadatak dualnog problema je suprotan zadatku primala.

Takođe postoji odnos između između tipova ograničenja i ograničenosti promenljivih u primalu i dualu. Taj odnos je najbolje opisati u tabeli.

Primal Dual
   
i - to ograničenje i - ta promenljiva
tipa    
tipa    
tipa     neograničena po znaku
j - ta promanljiva j - to ograničenje
  tipa  
  tipa  
  neograničena po znaku tipa  

Dual problema u simetričnom obliku

 

Praktična vrednost teorije dualnosti je ta da se može desiti da dualni problem bude takav da će ga algortimi za rešavanje rešiti brže, odnosno u manjem broju koraka, nego primal. Pri tom se algoritam kreće kroz rešenja koja su nedopustiva za primal, ali završava na rešenju koje je dopustivo i za primal i za dual, što je optimalno rešenje oba problema.

Teorija dualnosti

uredi

Teorija dualnosti izučava matemačka svojstva odnosa primalnog i dualnog problema.

Podrazumevjući da primal predstavlja problem maksimizacije funkcije  , a dual problem minimizacije funkcije  , oni su povezani sledećim svojstvima:

  • Ako je x bilo koje dopustivo rešenje primala, a y bilo koje dopustivo rešenje duala, tada je  . Ovo se naziva svojstvo slabe dualnosti.
  • Ako je x dopustivo rešenje primala koje nije optimalno i  , tada y nije dopustivo rešenje duala.
  • Ako su x i y dopustiva rešenja primala i duala, i važi da je  , tada su tačke x i y optimalna rešenja primala i duala. Ovo svojstvo važi i u suprotnom smeru.
  • Primal ima optimalno rešenje, ako i samo ako dual ima optimalno rešenje, pri čemu su njihove vrednosti jednake.
  • Ako je funkcija cilja primala neograničena odozgo (otvoren problem), tada je dopustiva oblast duala prazna (ograničenja će biti nekozistentna). A ako je dual neograničen odozdo, tada je dopustiva oblast primala prazna.

Dakle, ako su dopustive oblasti primala i duala neprazne, oba problema imaju optimalno rešenje.

Algoritmi za rešavanje problema LP

uredi

Algortmi promene baze

uredi

Simpleks algoritam

uredi

Simpleks algoritam, koji je razvio Džordž Dancig 1947., rešava probleme linearnog programiranja tako što počinje od jednog baznog dopustivog rešenja (temena dopustive oblasti, koja je oblika višedimenzinalnog poliedra), i generiše niz novih baznih rešenja takvih da je svako sledeće bolje o prethodnog, dok ne stigne do optimalnog rešenja.[3][4]

Iako u najgorem slučaju Simpleks algoritam ima eksponencijalnu složenost, u praksi je prilično efikasan, a pokazalo se da ”nasumične” probleme rešava podjednako efikaso kao i praktične.[5][6]

Criss-cross algoritam

uredi

Kao i Simpleks, i ovaj algoritam se kreće između baznih rešenja. Ali criss-cross algoritam ne mora da zadrži dopustivost baza, već može da ode i na nedopustiav bazna rešenja. Oavj algoritam je kao i Simpleks, eksponencijane složenosti u najgorem slučaju.[7][8]

Serangov algoritam

uredi

Kao i drugi algortimi promene baze, Serangov algoritam se kreće preko temena, ali dok se simpleks kreće samo s jedne na drugu susednu bazu, ovaj algoritam može da promeni više od jedne promenljive u bazi i ode na neko nesusedno teme, i ne kreće se samo duž ivica.[9] Počev od trenutnog temena, algoritam uzima nasumičan vektor koji poboljšava funkciju cilja bez kršenja susednih ograničenja, zatim se kreće duž tog vektora dok ne naiđe na ograničenje. Onda agoritam projektuje ovaj vektor na ograničenje i kreće se duž proekcije dok se ne naiđe na noo ograničenje. Postupak projekcije i kretanja se ponavlja dok se ne stigne u teme. Tada se opet uzima nasumičan vektor, i tako do pronalaženja optimanog temena. I ovaj algortiam je eksponencijalan i najgorem sučaju, ali u praksi je bolji u odnosu na Simpleks.

Algoritmi koji se kreću kroz unutrašnjost

uredi

Ovi algoritmi ostaju u unutrašnjosti dopustive oblasti, a tokom kretanja se iterativno, asimptotski približavaju optimalnom temenu do zadate udaljenosti. Onda se nekom drugom metodom može preći na najbliže teme i doći do tačnog rešenja.

Hačijanov agortam je prvi algoritam za rešavanje LP problema koji ima polinomijalnu složenost u najgorem slučaju.[10] Ali je Simpleks i dalje bio efikasniji osim u specijalno napravljenim slučajevima. Kasnije je Karmarkar razvio algoritam boljih polinomijalnih performansi.[11]

Trenutno je mišljenje da je efikasnost dobrih implementacija algoritama baziranih na Simpleksu i algoritama unitrašnjosti slična za rutinske priemene linearnog programiranja.[12] Ali za određene tipove problema jedna vrsta algoritma može biti bolja od druge (nekada mnogo bolja).

Vidi još

uredi

Reference

uredi
  1. ^ Kantorovich, L. V. (jul 1960). „Mathematical Methods of Organizing and Planning Production”. Management Science. 6 (4): 366—422. doi:10.1287/mnsc.6.4.366. 
  2. ^ Dantzig, G.B.: Maximization of a linear function of variables subject to linear inequalities, 1947. Objavljen na pp. 339–347 u Koopmans T.C. (ed.):Activity Analysis of Production and Allocation, New York-London 1951 (Wiley & Chapman-Hall)
  3. ^ George B. Dantzig and Mukund N. Thapa. 1997. Linear programming 1: Introduction. Springer-Verlag.
  4. ^ George B. Dantzig and Mukund N. Thapa. 2003. Linear Programming 2: Theory and Extensions. Springer-Verlag.
  5. ^ Karl-Heinz Borgwardt, The Simplex Algorithm: A Probabilistic Analysis, Algorithms and Combinatorics, Volume 1, Springer-Verlag, 1987.
  6. ^ Michael J. Todd (February 2002). "The many facets of linear programming". Mathematical Programming 91 (3). (Invited survey, from the International Symposium on Mathematical Programming.)
  7. ^ Fukuda & Terlaky 1997: Fukuda, Komei; Terlaky, Tamás (1997). Thomas M. Liebling; Dominique de Werra, ur. „Criss-cross methods: A fresh view on pivot algorithms”. Mathematical Programming: Series B. 79 (1—3). Amsterdam: North-Holland Publishing Co. str. 369—395. MR 1464775. doi:10.1007/BF02614325. 
  8. ^ Roos 1990:. Roos, C. (1990). „An exponential example for Terlaky's pivoting rule for the criss-cross simplex method”. Mathematical Programming. Series A. 46 (1): 79—84. MR 1045573. doi:10.1007/BF01585729. 
  9. ^ Serang 2012:. Serang, O. (2012). „Conic Sampling: An Efficient Method for Solving Linear and Quadratic Programming by Randomly Linking Constraints within the Interior”. PLOS ONE. 7 (8): e43706. doi:10.1371/journal.pone.0043706. 
  10. ^ L.G. Khachiyan, “A polynomial algorithm for linear programming”, Dokladы Akademii nauk SSSR 244 (1979) 1093–1096.
  11. ^ Strang, Gilbert (1987). „Karmarkar's algorithm and its place in applied mathematics”. The Mathematical Intelligencer. New York: Springer. 9 (2): 4—10. ISSN 0343-6993. MR '''883185'''. doi:10.1007/BF03025891. 
  12. ^ Gondzio & Terlaky 1996, str. 103–144

Literatura

uredi
  • Dantzig, G.B.: Maximization of a linear function of variables subject to linear inequalities, 1947. Objavljen na pp. 339–347 u Koopmans T.C. (ed.):Activity Analysis of Production and Allocation, New York-London 1951 (Wiley & Chapman-Hall)
  • S. Krčevinac, M. Čangalović, V. Kovačević-Vujčić, M. Martić, M. Vujošević: Operaciona istraživanja 1, 3. izdanje, Beograd (Fakultet organizacionih nauka). 2009. ISBN 978-86-7680-200-5.
  • Nash, S.G., Sofer A.: "Linear and Nonlinear Programming", McGraw Hill. 1996. ISBN 007046.0655. ISBN 978-0070460652.
  • Gass, S.I.: "Linear Programming: Methods and Applications". . Courier Dover Publications. 1985. ISBN 9780486432847.  Nedostaje ili je prazan parametar |title= (pomoć)
  • Dantzig, G.B.: "Linear programming and extensions", . . Princeton University Press. 1998. ISBN 9780691059136.  Nedostaje ili je prazan parametar |title= (pomoć)
  • Frederick, S.,H.,Lieberman, G.J. "Introduction to Operations Research, 6th edition, McGraw Hill, 1995
  • Gondzio, Jacek; Terlaky, Tamás (1996). „3 A computational view of interior point methods”. Ur.: J. E. Beasley. Advances in linear and integer programming. Oxford Lecture Series in Mathematics and its Applications. 4. New York: Oxford University Press. str. 103—144. MR 1438311. Postscript file at website of Gondzio and at McMaster University website of Terlaky.