OPERACIONA ISTRAŽIVANJA Definicija: Operaciona istraživanja predstavljaju skup kvantitativnih i drugih naučnih metoda pomoću kojih se određuju optimalna ekonomsko-tehnička rešenja složenih problema. Prema prirodi problema operaciona istraživanja se mogu podeliti na: 1. 2. 3. 4. 5. 6. 7.
Metode matematičkog programiranja, Metode zaliha, Metode zamene i obnove, Metode teorije masovnog opsluživanja, Metode simulacije, Metode teorije igara i strategije, Metode odlučivanja.
1
MATEMATIČKO PROGRAMIRANJE Rešavanje raznih konkretnih problema u oblasti:
− proizvodnje (organizacija), − transporta (organizacija), − upravljanja zalihama, − vojnih operacija, − trgovine, zahteva prvo matematič ko ko modeliranje datih problema pa zatim traženje njihovog rešenja. Po pravilu, pri modeliranju konkretnih problema, operiše se sa velikim brojem veličina (promenljivih) na koje se nameću odgovarajuća ograničenja. Skup onih vrednosti datih veličina koje zadovoljavaju postavljeni sistem ograničenja naziva se skup dopustivih rešenja. Skup dopustivih rešenja može imati veliki broj elemenata, čak i beskonačno mnogo dopustivih rešenja. Da bi se izabralo dopustivo rešenje, mora se znati kriterijum na osnovu koga se može zaključiti da li je jedno dopustivo rešenje bolje od drugog. Primer: 1. Organizacija proizvodnje: Kriterijum: maksimalna dobit pri pri datoj organizaciji. 2. Organizacija transporta: Kriterijum: minimalni troškovi transporta između sabirnih punktova i potrošača. Ponekad je moguće probleme rešavati po intuiciji, empirijski ili na osnovu ranijih iskustava. U slučaju rešavanja problema po prvi put ranijih iskustava logično nema. Iz tog i sli čnih razloga potrebno je naći egzaktan način izbora optimalnog dopustivog rešenja. To se postiže formiranjem i rešavanjem matematičkog modela postavljenog zadatka. Oblast matematike koja se bavi takvim problemima naziva se matematičko programiranje. Postavka zadatka matematičkog programiranja: − neka postoje n veličina – promenljivih x1, x2, x3, ......, x n i neka se na njih name ću m ograničenja u vidu nejednačina ili jednačina oblika: 2
g1(x1, x2, x3, ......, x n)≤ b1, g2(x1, x2, x3, ......, x n)≤ b2, ............................. gm(x1, x2, x3, ......, x n)≤ bm.
(1)
− svaka n-torka vrednosti (x1, x2, x 3, ......, x n) koja zadovoljava sistem ograničenja (1) je dopustivo rešenje. Skup svih dopustivih rešenja je dopustiv skup (označava se sa D). Iz skupa D treba izabrati ono dopustivo rešenje koje je u izvesnom smislu optimalno. Kriterijum je neka funkcija od posmatranih veličina (x1, x2, x3, ......, x n) tj. F=F(x1, x2, x3, ......, x n).
(2)
U zavisnosti od prirode problema koji se rešava optimalno rešenje predstavlja minimum ili maksimum funkcije F. (organizacija proizvodnje → maksimum; organizacija transporta → minimum). *1 Funkcija F se naziva funkcija cilja. Ukoliko je sistem ograničenja (1) sistem linearnih jednačina ili nejednačina i ako je funkcija cilja (2) linearna funkcija nepoznatih veličina – promenljivih, tada se radi o delu matematičkog programiranja koji se naziva linearno programiranje. *2
LINEARNO PROGRAMIRANJE Linerano programiranje je najjednostavnija i najšire korišćena tehnika programiranja. Razvoj linearnog programiranja (LP) svrstava se među najznačajnija naučna dostignuća sredine 20. veka. Danas je to standardan alat koji je uštedeo milione NJ većini kompanija u mnogim industrijalizovanim zemljama širom sveta. Takođe linearno programiranje je i u drugim sektorima društva našlo svoju primenu. Problemi koji se najčešće rešavaju primenom LP su uopšte problemi raspodele ograničenih resursa između konkurentnih aktivnosti na najbolji (optimalan) način. Reč programiranje u nazivu LP se ne odnosi na računarsko programiranje – pisanje programa, već predstavlja sinonim za planiranje. Što znači da linearno programiranje obuhvata planiranje aktivnosti da bi se dobio optimalan rezultat, tj. najbolji rezultat od mogućih rešenja prema postavljenom cilju – funkciji cilja. Osnovni zadatak linearnog programiranja (LP) se formuliše na sledeći način: naći vrednosti za veličine – promenljive x1, x2, x3, ......, x n, koje maksimalizuju funkciju cilja F: 3
max F(x1, x2, ...., x n)= c1·x1 + c2·x2 + .... + c n·xn
(3)
Pri datom sistemu ograničenja (funkcionalna ograničenja): *3 a11⋅x1 + c12⋅x2 + ........+ a 1n⋅xn ≤ b1 a21⋅x1 + a22⋅x2 + ........+ a 2n⋅xn ≤ b2 ............................
am1⋅x1 + am2⋅xm2 + ....+ a mn⋅xn ≤ bm
(4)
gde su koeficijenti aij (i=i,m; j=i,n), bi (i=i,m) i c j (j=i,n) date konstante – realni brojevi. Uz sistem ograničenja (4) postavlja se i dopunski uslov da su sve promenljive x j (j=i,n) nenegativne tj. (uslovi nenegativnosti) *3 x1 ≥ 0, x2 ≥ 0, ......, xn ≥ 0. (5) Ovako formulisan zadatak lineanog programiranja naziva se „osnovni oblik“. *4 Takođe postoje i druge opšte prihvaćene forme formulisanja zadatka linearnog programiranja i to:
1. Minimalizovanje funkcije cilja: (videti ANEX I ) *5 min F(x1, x2, ...., x n)= c1·x1 + c2·x2 + .... + c n·xn n
minimalizovanje F = ∑ c j ⋅ x j j=1
je ekvivalentno n
maksimalizovanje − F = ∑ (−c j ) ⋅ x j j=1
2. Neka od funkcionalnih ograničenja (4) mogu biti napisana u obliku „veće jednako“ nejednačina (za određenu vrednost i) *6 ai1⋅x1 + ci2⋅x2 + ........+ a in⋅xn ≥ bi
3. Neka od funkcionalnih ograničenja (4) mogu biti napisana u jednačina (za određenu vrednost i) *6 ai1⋅x1 + ci2⋅x2 + ........+ a in⋅xn = bi
4. Neke od promenljivih mogu biti i negativne: x j < = > 0 – ne postoji uslov nenegativnosti za neke vrednosti j.
4
5. U nekim metodama rešavanja zadatka LP (simplex metod) potrebno je pre ći sa ograničenja u vidu nejednačina na ograničenja u vidu linearnih jednačina. U tu svrhu potrebno je uvesti tzv. dopunske promenljive: xn+1 ≥ 0, xn+2 ≥ 0, ......, xn+m ≥ 0 *7 *7.. Tada sistem ograničenja (4) prelazi u kanoničan (prošireni oblik) zadatka LP (6): *9 a11⋅x1 + c12⋅x2 + ........+ a 1n⋅xn + 1·xn+1 + 0·xn+2 + .... + 0 ·xn+m = b1 a21⋅x1 + a22⋅x2 + ........+ a 2n⋅xn + 0·xn+1 + 1·xn+2 + .... + 0 ·xn+m = b2 ............................
am1⋅x1 + am2⋅xm2 + ....+ a mn⋅xn + 0·xn+1 + 0·xn+2 + .... + 1 ·xn+m = bm
(6)
U tom slučaju treba naći: max F(x1, x2, ...., x n) = c1·x1 + c2·x2 + .... + c n·xn + 0·xn+1 + 0·xn+2 + .... + 0 ·xn+m Važno: Koeficijenti dopunskih promenljivih prom enljivih u funkciji cilja ci lja uvek su jednaki nuli. *8
Primeri modeliranja linearnim programiranjem *10 Proizvodni problem Jedno preduzeće planira da otpo č ne ne proizvodnju dveju vrsta artikala A i B. Ti artikli se moraju izrađ ivati ivati u dvema radionicama R1 i R2. Radionica R1 može za proizvodnju artikala A i B izdvojiti najviše 810 radnih č asova, asova, a radionica R2 najviše 260 radnih č asova. asova. Za proizvodnju jednog artikla tipa A mora se u radionici R1 utrošiti 6 radnih č asova asova i u radionici R 2 4 radna č asa. asa. Za jedan artikal tipa B potrebno je respektivno 5 č asova asova odnosno 1 radni č as. as. Radi preglednosti vremena potrebna za izradu određ enih enih proizvoda u pojedinim radionicama prikazana su u tabeli.
Radionice R 1 R 2
Artikli A 6 4
B 5 1
Č ista ista dobit od prodaje jednog artikla tipa A je 200 NJ, a od jednog artikla tipa B je 150 NJ. Kako organizovati proizvodnju (tj. koliko proizvesti artikala tipa A odnosno B) pa da dobit bude maksimalna.
Rešenje: Pretpostavka je da će biti proizvedeno x1 artikala tipa A i x 2 artikala tipa B. Dobit od x1 artikala tipa A je 200 ·x1 NJ, a dobit od x2 artikala tipa B je 150 ·x2 NJ. 5
Ukupna dobit je F= 200·x1 + 150·x2 NJ. Funkcija F je funkcija cilja koju treba maksimalizovati. U radionici R 1 će za x1 artikala tipa A biti utrošeno 6·x1 radnih časova, a za x2 artikala tipa B biće utrošeno 5·x2 radnih časova. Ukupno utrošeno vreme u R 1 ne može biti veće od 810 časova tj. 6·x1 + 5·x2 ≤ 810. Znak „ ≤“ umesto znaka „=“ znači da je moguće da u R 1 neće biti iskorišćeno celo raspoloživo vreme. U radionici R 2 će za x1 artikala tipa A biti utrošeno 4·x1 radnih časova, a za x2 artikala tipa B biće utrošeno 1·x2 radnih časova. Ukupno utrošeno vreme u R 2 ne može biti veće od 260 časova tj. 4·x1 + 1·x2 ≤ 260. Osim navedenih ograničenja treba uzeti i prirodna ograničenja (uslove nenegativnosti): x1≥0, x2≥0. Na osnovu gore iznetog matematički model postavljenog zadatka je sledeći: (max) F = 200 ·x1 + 150·x2 pri ograničenjima 6·x1 + 5·x2 ≤ 810 4·x1 + 1·x2 ≤ 260 x1≥0, x2≥0. Zadatak o dijeti Od raspoloživih vrsta hrane treba sastaviti takvu dijetu koja će, sa jedne strane, zadovoljiti minimalne potrebe organizma u hranljivim sastojcima (belan č evinama, evinama, mastima, ugljenim hidratima, vitaminima, ....) i sa druge strane, biti najjeftinija. Na primer, postoje dve vrste proizvoda P 1 i P 2 , koji sadrže hranljive sastojke A, B i C. Količ ine ine hranljivih sastojaka određ ene ene vrste u jednom kilogramu hrane date su u tabeli.
Proizvodi P1 P2
A a1 a2
Hranljivi sastojci B b1 b2
C c1 c2
Minimalne dnevne potrebe organizma za sastojcima A, B i C su redom q, r i s, a cene jednog kilograma proizvoda P 1 odnosno proizvoda P 2 su m1 NJ odnosno m2 NJ.
6
Rešenje: Pretpostavka je da je x1 količina proizvoda P1 uneta u organizam u toku jednog dana, a x2 količina proizvoda P2 uneta u organizam u toku jednog dana (u kilogramima). To košta: F= m1·x1 + m2·x2 NJ. Funkcija F je funkcija cilja koju treba minimalizovati. Količina hranljive materije A u obema vrstama proizvoda je ukupno a1·x1 + a2·x2. U organizam minimalno mora biti uneto a1·x1 + a2·x2 ≥ q hranljive materije A. Analogno se nalazi potrebna količina, koja treba biti uneta u organizam, hranljivih materija B i C: b1·x1 + b 2·x2 ≥ r, c 1·x1 + c 2·x2 ≥ s. Znak „ ≥“ znači da količine koje se unesu u organizam mogu biti veće od minimalnih. Na osnovu gore iznetog matematički model postavljenog zadatka je sledeći: (min) F = m1·x1 + m2·x2 pri ograničenjima a1·x1 + a2·x2 ≥ q b1·x1 + b2·x2 ≥ r c1·x1 + c2·x2 ≥ s x1≥0, x2≥0. Agroekonomski problem Naći optimalnu raspodelu sejanja pšenice i kukuruza na dva imanja (I i II) od po 100 odnosno 200 hektara, koja su različ itih itih kvaliteta. Podaci o prinosima dati su u tabeli.
Kultura pšenica kukuruz
Prinos (mc/ha) imanje I imanje II 45 35 80 70
Potrebno je obezbediti najmanje 3500 mc (metrič kih kih centi) pšenice i 10000 mc kukuruza. Cena jedne mc pšenice je 320 NJ, a jedne mc kukuruza je 400 NJ. Gde i koliko posejati pšenice odnosno kukuruza pa da proizvodnja obezbedi maksimalnu dobit.
7
Rešenje: Sa x1 i x2 obeležene su površine (u hektarima) zasejane pšenicom na imanju I odnosno imanju II, dok su sa x3 i x4 obeležene površine (u hektarima) zasejane kukuruzom na imanju I odnosno imanju II. To zna či da se postavljaju sledeća ograničenja (pod pretpostavkom da će sve površine biti zasejane): x1 + x3 = 100 (imanje I), x2 + x4 = 200 (imanje II). Površine zasejane pšenicom treba da daju prinos veći od 3500 mc tj. 45 ·x1 + 35·x2 ≥ 3500, dok površine zasejane kukuruzom treba da daju prinos veći od 10000 mc tj. 80 ·x3 + 70·x4 ≥ 10000. Dobit od pšenice će biti: 320·(45·x1 + 35·x2), dok će dobit o kukuruza biti: 400·(80·x3 + 70·x4). Ukupna dobit (funkcija cilja koju treba maksimalizovati) je F= 320·(45·x1 + 35·x2) + 400·(80·x3 + 70·x4) = 14000·x1+ 11200·x2+ 32000·x3+ 28000·x4. Na osnovu gore iznetog matematički model postavljenog zadatka je sledeći: (max) F= 14000·x1+ 11200·x2+ 32000·x3+ 28000·x4 pri ograničenjima x1 + x3 = 100 x2 + x4 = 200 5·x1 + 35·x2 ≥ 3500 80·x3 + 70·x4 ≥ 10000 x1≥0, x2≥0, x3≥0, x4≥0. Problemi raspodele rezervi i transportni problem, koji se takođe mogu modelirati koristeći linearno programiranje, biće detaljno objašnjeni kasnije.
Terminologija pri rešavanju zadatka LP U najvećem broju slučajeva termin rešenje podrazumeva konačan odgovor na postavljeni problem, ali usvojena konvencija pri rešavanju zadataka LP je sasvim drugačija. Ovde, bilo koji skup promenljivih (x1, x 2, x3, ......, x n) se naziva rešenje, bez obzira da li ono predstavlja poželjan ili dopustiv izbor. Različite vrste rešenja se definišu koristeći odgovarajuće prideve.
Dopustivo rešenje je ono rešenje koje zadovoljava sva postavljena ograničenja (4) i postavljene uslove (5).
8
Nedopustivo rešenje je ono rešenje koje ne zadovoljava bar jedno od postavljenih ograničenja (4) ili postavljenih uslova (5). Skup svih dopustivih rešenja je dopustiv skup. Postoji mogućnost da postavljeni problem nema dopustivih rešenja. *11
Optimalno rešenje je dopustivo rešenje sa najpovoljnijom vrednosti funkcije cilja. Najpovoljnija vrednost je najveća vrednost ako funkciju cilja treba maksimalizovati, odnosno najmanja vrednost ako funkciju cilja treba minimalizovati. Nalaženje minimalne ili maksimalne maksi malne vrednosti funkcije F nije moguće korišćenjem metoda diferencijalnog računa, jer se optimalno rešenje javlja u onim ta čkama dopustivog skupa u kojima su narušeni uslovi diferencijabilnosti funkcije cilja. Probleme zadatka linearnog programiranja manjih dimenzija tj. probleme sa dve veličine – promenljive (x1, x 2), moguće je rešiti koristeći tzv. grafički metod, 2-D problemi. Efikasna procedura za rešavanje zadatka linearnog programiranja, nazvana simpleks metod, omogućuje rešavanje zadatka linearnog programiranja velikih dimenzija tj. problema sa velikim brojem veličina – promenljivih. *12 Posebna vrsta dopustivih rešenja, koja imaju glavnu ulogu kada simplex metod traži optimalno rešenje, nazivaju se dopustiva rešenja u krajnjim tačkama. Dopustiva rešenja u krajnjim tačkama predstavljaju rešenja koja se nalaze u temenima (krajnjim tačkama) mnogougaone oblasti definisane ograničenjima (4) i uslovima (5). *13
Odnos između optimalnih rešenja i dopustivih rešenja u krajnjim ta čkama: Razmatra se bilo koji zadatak linearnog programiranja koji ima dopustiva rešenja i mnogougaonu oblast definisanu ograničenjima (4) i uslovima (5). Takav zadatak LP mora da ima dopustiva rešenja u krajnjim tačkama i najmanje jedno optimalno rešenje. Dalje, najbolje dopustivo rešenje u krajnjim tačkama mora da bude optimalno rešenje, odnosno ako zadatak LP ima samo jedno optimalno rešenje, ono mora biti dopustivo rešenje u krajnjoj tački. Ako zadatak LP ima više optimalnih rešenja, tada najmanje dva moraju biti dopustiva rešenja u krajnjim tačkama. (videti ANEX I ) *14
9
Radni primer Preduzeće PP (u jednoj radionici – fabrici), proizvodi dva proizvoda A i B. Potrebne količine materijala, rada i skladišnih površina, kao i profit po komadu proizvedenog proizvoda, svakog od dva proizvoda, dati su u sledećoj tabeli:
Materijal Vreme proizvodnje Površina skladišta Dobit
Jedinica mere kg/kom. kom./čas m2/kom. NJ/kom.
Proizvod A B 2.5 1.5 60 30 0.4 0.5 13 11
− Rad se obavlja u jednoj smeni, sa radnim vremenom od 7 časova, tj. 420 minuta. − Za ukupnu dnevnu proizvodnju na raspolaganju su ukupno 787,5 kg materijala. − Ukupna raspoloživa površina skladišta sirovina je 160 m2. Preduzeće želi da proizvodi ova dva proizvoda u pojedinačnim količinama koje obezbeđuju maksimalnu dobit izraženu u NJ – novčanim jedinicama. Postavka zadatka - modeliranje: Pretpostavka je da će biti proizvedeno x1 proizvoda tipa A i x2 proizvoda tipa B. Dobit od x1 proizvoda tipa A je 13 ·x1 NJ, a dobit od x2 proizvoda tipa B je 11·x2 NJ. Ukupna dobit je F= 13·x1 + 11·x2 NJ. Funkcija F je funkcija cilja koju treba maksimalizovati. Za proizvodnju x1 proizvoda tipa A potrebno je (1/60)·x1 časova, a za x2 proizvoda tipa B potrebno je (1/30)·x2 časova. Pošto se rad obavlja u jednoj smeni, maksimalno raspoloživo radno vreme ne može biti veće od 7 časova, tj. (1/60)·x1 + (1/30)·x2≤ 7, odnosno izraženo u minutima x 1 + 2·x2 ≤ 420. U proizvodnji će za x1 proizvoda tipa A biti utrošeno 2.5·x1 kg materijala, a za x2 proizvoda tipa B biće utrošeno 1.5·x2 kg materijala. Ukupan utrošak materijala za dnevnu proizvodnju ne može biti veći od 787.5 kg tj. 2.5 ·x1 + 1.55·x2 ≤ 787.5. Za skladištenje sirovine potrebne za proizvodnju x1 proizvoda tipa A potrebno je 0.4·x1 m2, a za x 2 proizvoda tipa B potrebno je 0.5·x2 m2. Ukupna površina skladišta iznosi 160 m2 što daje 0.4·x1 + 0.5·x2≤ 160. Na osnovu gore iznetog matematički model postavljenog zadatka je sledeći:
10
(max) F= 13·x1 + 11·x2
(6)
pri ograničenjima x1 + 2·x2 ≤ 420 2.5·x1 + 1.5·x2 ≤ 787.5 0.4·x1 + 0.5·x2≤ 160
(7)
x1≥0, x2≥0.
Grafičko rešavanje zadatka linearnog programiranja Grafičko rešavanje zadatka LP, i pored današnjih velikih mogućnosti kompjuterske tehnologije, je koristno posebno za rešavanje problema sa dve veličine – promenljive. Procedura grafičkog rešavanja zahteva konstruisanje dvodimenzionalnog dijagrama sa osama x1 i x2. U slučaju dveju veličina – promenljivih x1 i x2 formulacija zadatak LP u osnovnom obliku je sledeća: (max) F= c1·x1+ c2·x2 pri ograničenjima: a11·x1 + a12·x2 ≤ b1 a21·x1 + a22·x2 ≤ b2 ................... am1·x1 + am2·x2 ≤ bm
(8)
i uslovima nenegativnosti: x1≥0, x2≥0. Procedura rešavanja je sledeća: *15 1. Uslovi nenegativnosti zahtevaju da x1 i x2 budu sa pozitivne strane osa dijagrama, tj. u prvom kvadrantu. Dalje je potrebno u ravni Ox 1x2 konstruisati mnogougaonu oblast K odre određenu ograničenjima (8). 2. Drugi korak je određivanje položaja funkcije cilja, što podrazumeva konstrukciju prave F=0 ili F=C=const. (c1·x1+c2·x2 = 0, c1·x1+c2·x2 = C) u ravni 11
Ox1x2. Konstanta C je proizvoljno izabran pozitivan realan broj. Nakon konstrukcije prave F=0 ili F=C potrebno je istu pomerati paralelno njoj samoj dok ne zauzme krajnje položaje u odnosu na oblast K . Krajnje položaje u smislu krajnjih tačaka oblasti K u u kojima funkcija F dostiže optimalnu vrednost. Neki od mogućih oblika mnogougaone oblasti prikazani su na slici I-1. U slu čaju kada oblast K nije ograničena optimalna vrednost funkcije cilja može i da ne postoji, slika I-1d. Ako je funkcija cilja paralelna sa jednom ivicom - stranicom mnogougla, tada svaka tačka duž te stranice između dve krajnje tačke (temena), može biti optimalno rešenje. To znači da nema jedinstvenog rešenja, već se dobije neograničeni broj optimalnih rešenja, slika I-1b,c.
Slika I-1. Mogući oblici mnogougaonih oblasti. *16 Grafički metod rešavanja zadatka LP može da se primeni i na probleme koji imaju dve slobodne promenljive u osnovnom obliku formulacije zadatka linearnog 12
programiranja, tj. kada u sistemu ima m – ograničenja i n=m+2 veličina – promenljivih (uslovi nenegativnosti se ne uzimaju u obzir). Drugim rečima to je slučaj kada je broj promenljivih za dva veći od broja ograničenja.
Rešavanje „radnog primera“ primenom grafičke metode Matematički model „radnog primera“, kao što je u prethodnom tekstu prikazano, je sledeći: Naći (max) F= 13·x1 + 11·x2
(6)
pri ograničenjima x1 + 2·x2 ≤ 420 2.5·x1 + 1.5·x2 ≤ 787.5 0.4·x1 + 0.5·x2≤ 160
(7)
x1≥0, x2≥0. Kao što je u prethodnom tekstu rečeno, prvi korak predstavlja konstrukcija mnogougaone oblast K odre određenu ograničenjima (7) u ravni Ox 1x2. Prva nejednačina sistema ograničenja (7) definiše donju poluravan i zajedno sa osama x1 i x2 ograničava trenutno dozvoljenu oblast u kojoj veličine – promenljive x1 i x2 mogu da uzimaju vrednosti, šrafirana oblast na slici I-2.
x1+2x2<=420
Slika I-2. Dozvoljena oblast za promenljive (x1, x2) ograničena sa x1 ≥ 0, x2 ≥ 0, x1 + 2·x2 ≤ 420. 13
Druga nejednačina sistema ograničenja (7) takođe definiše donju poluravan i smanjuje trenutno dozvoljenu oblast u kojoj veličine – promenljive x1 i x2 mogu da uzimaju vrednosti, šrafirana oblast na slici I-3.
2.5x1+1.5x2<=787.5
x1+2x2<=420
Slika I-3. Dozvoljena oblast za promenljive (x1, x2) ograničena sa x1 ≥ 0, x2 ≥ 0, x1 + 2·x2 ≤ 420, 2.5·x1 + 1.55·x2 ≤ 787.5. Treća nejednačina sistema ograničenja (7), kao i prve dve definiše donju poluravan. Međutim pošto se ona na dijagramu nalazi iznad šrafirane oblasti ona ne utiče na dozvoljenu oblast u kojoj veličine – promenljive x1 i x2 mogu da uzimaju vrednosti, slika I-4.
2.5x1+1.5x2<=787.5
0.4x1+0.5x2<=160
x1+2x2<=420
Slika I-4. Dozvoljena oblast za promenljive (x1, x2) bez uticaja ograničena 0.4·x1 + 0.5 ·x2≤ 160. 14
Šrafirana oblast, slika I-5, sadrži sve parove x1 i x2, koji predstavljaju dopustivo rešenje problema. Optimalno rešenje mora se nalaziti u ovom regionu. Par x1 = 0 i x 2 = 0 zadovoljava sva ograničenja, a obezbeđuje dobit jednaku nuli. Dobit jednaka 1430 NJ može se dobiti za sve parove vrednosti x 1 i x2 koji zadovoljavaju jednačinu F = 13⋅x1 + 11⋅x2 = 1430. Maksimalna vrednost funkcije cilja F koja zadovoljava sva ograničenja određuje se tako, što se traži ta čka koja se nalazi unutar oblasti dopustivih rešenja, a leži na liniji paralelnoj sa linijom 13⋅x1 + 11⋅x2 = 1430, što udaljenijoj od nje.
max F=4335
F=1430 x1=270; x2=75 F=0
Slika I-5. Oblast dopustivih rešenja i maksimalna vrednost funkcije cilja. Sa slike I-5 se vidi da je to linija funkcije cilja koja prolazi kroz ta čku sa koordinatama x1 =270 i x2 =75. Prema tome, optimalno rešenje, tj. maksimalna dobit se dobija u preseku graničnih linija regiona - jednačina: x1 + 2·x2 ≤ 420 2.5·x1 + 1.5·x2 ≤ 787.5. i iznosi: F = 13⋅x1 + 11⋅x2 = 4335 NJ. Ovde treba primetiti da raspoloživa površina skladišnog prostora nije ograničavajuća promenljiva za optimalno rešenje, tj. u površini skladišta ima još rezerve 14.5 m2: 160 – 0.4⋅(270) – 0.5⋅(75) = 14.5.
15
Zaključak: Optimalno rešenje je x1 = 270, x2 = 75, sa max F=4335. Ovo rešenje pokazuje da je potrebno proizvoditi 270 komada proizvoda A i 75 komada proizvoda B dnevno, što ostvaruje maksimalnu dobit od 4335 NJ. Nijedna druga kombinacija proizvoda A i B ne bi donela ve ću dobit – prema postavljenom modelu Primer rešavanja grafič kom kom metodom zadatka LP za sluč aj aj kada je broj promenljivih za dva veći od broja ogranič enja enja prikazan je u ANNEX II .
Rešavanje zadatka linearnog programiranja progra miranja primenom SIMPLEX metode Univerzalni metod za rešavanje zadataka linearnog programiranja je simplex metod. Simplex metod je razvio George Dantzig 1947. godine. Dva postupka se navode pod nazivom simplex: 1. simplex algoritam, i 2. simplex metoda. Simplex metoda se sastoji od dve faze: *17 1. definisanje polaznog dopustivog rešenja, i 2. nalaženje optimalnog rešenja. Simplex metoda koristi simplex algoritam koji određuje redosled kretanja od polaznog dopustivog rešenja ka drugim dopustivim rešenjima, sve dok se ne dođe do optimalnog rešenja zadatka. *18 Dat je sledeći zadatak LP: Naći max F = c1·x1 + c2·x2 + .... c n·xn
(9)
Pri ograničenjima: a11⋅x1 + c12⋅x2 + ........+ a 1n⋅xn = b1 a21⋅x1 + a22⋅x2 + ........+ a 2n⋅xn = b2 ............................
am1⋅x1 + am2⋅xm2 + ....+ a mn⋅xn = bm
(10)
x1 ≥ 0, x2 ≥ 0, ......, xn ≥ 0. Zadatak linearnog programiranja definisan funkcijom cilja (9) i ograničenjima (10) napisan je u tzv. kanonič nom nom obliku zadatka LP, jer je sistem ograničenja u obliku jednačina. *19 16
Pretpostavka je da sistem ograničenja (10) ima p linearno nezavisnih jednačina i neka su to prvih p jednačina tj. a11⋅x1 + c12⋅x2 + ........+ a 1n⋅xn = b1 a21⋅x1 + a22⋅x2 + ........+ a 2n⋅xn = b2 ............................
a p1⋅x1 + a p2⋅x p2 + .......+ a pn⋅xn = b p
(11)
x1 ≥ 0, x2 ≥ 0, ......, xn ≥ 0. Svaka od preostalih jednačina iz (10) je linearna kombinacija ovih p jednačina i može se izostaviti. Broj jednačina u (11) ne može biti veći od broja promenljivih. Slučaj kada je p=n nije od interesa jer tada sistem (11) ima jedno jedinstveno rešenje, tj. postoji samo jedna tačka X0 = ( x10 , x 02 ,..., x 0n ) koja zadovoljava (11) pa je F( X0 ) istovremeno i najveća vrednost funkcije F. U slučaju kada je p
Slika I-6. Osnovna ideja simplex metode. *20 17
Iz gore navedenih razloga bolje je krenuti iz jedne krajnje tačke oblasti K (koja (koja se relativno lako može naći – polazno teme), slika I-6, i preći u susednu krajnju tačku sa većom vrednošću funkcije F, od ove tačke preći u susednu krajnju tačku sa još većom vrednošću funkcije F itd., sve do krajnje tačke u kojoj se postiže maksimum funkcije F (optimalno teme). Gore opisana procedura predstavlja osnovnu ideju simplex metode → metod postepenog poboljšanja. *20 Praktično, to se postiže na sledeći način: za k=n – p promenljivih se izaberu proizvoljne vrednosti (nenegativne), a onda se vrednosti ostalih p promenljivih izračunaju iz (11). Promenljive čije se vrednosti slobodno biraju zovu se slobodne promenljive, a ostale promenljive, čije se vrednosti izračunavaju pomoću slobodnih promenljivih, zovu se bazisne promenljive. *21
Nenegativno rešenje sistema (11) koje se dobija izborom nultih vrednosti slobodnih promenljivih zove se bazisno rešenje. Konačno, imamo p bazisnih promenljivih i k=n – p slobodnih promenljivih. Neka su x1, x 2 ,..., x k slobodne promenljive a x k +1, x k + 2 ,..., x n bazisne promenljive, tada bazisno rešenje ima oblik: *22
X = (0, ..., 0, βk +1, ..., β n )
(12)
gde je: β k +1 > 0, ..., β n > 0) . Bazisno rešenje je jedinstveno. Bazisno rešenje je krajnja tač ka ka oblasti K određ ene ene sistemom ogranič enja enja (11). (Dokaz: vidi ANNEX III )
Procedura prelaska sa jednog bazisnog rešenja na drugo je opisna u narednom tekstu. *23 Prvo, potrebno je bazisne promenljive izraziti preko slobodnih promenljivih: x k +1 = b k +1 + α k +1,1 ⋅ x1 + ... + α k +1,k ⋅ x k ............ x n = b n + α n ,1 ⋅ x1 + ... + α n ,k ⋅ x k . Zamenom prethodnih izraza u funkciju cilja (9), dobija se funkcija cilja izražena preko slobodnih promenljivih: F = γ 0 + γ1 ⋅ x1 + ... + γ k ⋅ x k . 18
Ako su sve slobodne promenljive jednake nuli tj. x1 = 0, x 2 = 0,..., x k = 0 onda sledi da je: x k +1 = b k +1, ..., x n = b n . odnosno da su bazisne promenljive jednake svojim slobodnim članovima. Na taj način se dobija tačka M1 (0, ..., 0, b k +1, ..., b n ) koja predstavlja dopustivo rešenje ako su svi slobodni članovi b k +1, ..., b n nenegativni. U tom slučaju M1 je krajnja tačka oblasti K i u njoj funkcija F ima vrednost F(M1 ) = γ 0 . Postavlja se pitanje da li je moguće povećanjem vrednosti neke od slobodnih promenljivih x1, x 2 ,..., x k povećati i vrednost funkcije F. To se može postići ako je me đu koeficijentima γ1, γ 2 ,..., γ k bar jedan pozitivan. Ako među koeficijentima γ1, γ 2 ,..., γ k nema pozitivnih, povećanjem bilo koje od slobodnih promenljivih od nule do neke pozitivne vrednosti, vrednost funkcije cilja F bi se smanjila. U tom slučaju je F(M1 ) = γ 0 = Fmax i zadatak bi bio rešen. Pretpostavlja se da među koeficijentima γ1, γ 2 ,..., γ k ima pozitivnih npr. γ1 > 0 . Uvećavanjem vrednosti x1 , od nule nule do neke neke pozitivn pozitivnee vrednos vrednosti, ti, pove povećava se i vrednost funkcije F. U tom slučaju promenljiva x1 se naziva iva vodeća promenljiva. Povećanje vrednosti promenljive x1 ne može može da da ide prek prekoo vredno vrednosti sti za za koje koje bazisne promenljive x k +1, x k + 2 ,..., x n postaju negativne. Neka je za: x1 = h k +1 > 0 → x k +1 = 0 , x1 = h k + 2 > 0 → x k + 2 = 0 , ......... x1 = h n > 0 → x n = 0 , što znači da se promenljiva x1 može po povećavati od vrednosti nula do vrednosti h1* = min(h k +1,..., h n ). Za x1 = h1* neka od promenljivih npr. x j po post staj ajee jed jedna naka ka nuli. Tada je novo bazisno rešenje oblika: M 2 ( x1 = h1* > 0, x 2 = 0, ..., x k = 0, x k +1 > 0, ..., x j−1 > 0, x j = 0, ..., x n > 0) što je nova krajnja tačka u kojoj je F(M 2 ) > F(M1 ) .
19
Ako je za x1 = h1* promenljiva x j pos postala tala jednaka jednaka nuli, nuli, tada tada će se odgovarajuća jednačina zvati vodeća jednač ina ina. Najpogodnije je povećavati vrednost one slobodne promenljive kojoj odgovara najveći pozitivni koeficijent γ i u funkciji F jer to vodi najbržoj promeni funkcije cilja, tj. za vodeću promenljivu x i se bira bira on onaa za ko koju ju je γ i = max(γ1,..., γ k ). Prikazani postupak se ponavlja sve dok svi koeficijenti γ i u funkciji cilja ne budu negativni, što znači da se postigao maksimum funkcije cilja F, jer bi se daljim povećanjem neke od slobodnih promenljivih vrednost funkcije cilja F smanjivala.
Rešavanje „radnog primera“ primenom simplex metode Matematički model „radnog primera“ je sledeći: Naći (max) F= 13·x1 + 11·x2 pri ograničenjima x1 + 2·x2 ≤ 420 2.5·x1 + 1.5·x2 ≤ 787.5 0.4·x1 + 0.5·x2≤ 160 x1≥0, x2≥0. Osnovni zahtev simplex metode je da ograničenja budu u kanoničnoj formi tj. u obliku jednačina. Drugim rečima zadatak LP napisan u osnovnom obliku treba prevesti u prošireni oblik , što predstavlja prvi korak u proceduri rešavanja. Korak I: prevođenje sistema ograničenja u kanonični oblik tj. dodavanje dopunskih promenljivih i pretvaranja nejednačina u jednačine. (0) (1) (2) (3)
F − 13 ⋅ x1 − 11 ⋅ x 2 =0 x1 + 2 ⋅ x 2 + x 3 = 420 2.5 ⋅ x1 + 1.5 ⋅ x 2 + x4 = 787.5 0.4 ⋅ x1 + 0.5 ⋅ x 2 + x 5 = 160
Simplex metoda podrazumeva nenegativnost pa se uslovi nenegativnosti mogu zanemariti.
20
Korak II: izbor polaznog dopustivog rešenja tj. jedne krajnje tačke (temena) u oblasti K , tzv. početno bazisno rešenje. Najjednostavnije je izabrati tačku čije su koordinate ( x1 = 0, x 2 = 0, x 3 = 420, x 4 = 787.5, x 5 = 160) , za koju funkcija cilja ima vrednost F=0. U ovom slu čaju bazisne promenljive su: x 3 , x 4 , x 5 a slobodne promenljive su x1, x 2 .
Važno:
!! Bazisnih promenljivih ima uvek koliko i ogranič enja enja !!
Korak III: bazisne promenljive se izražavaju u funkciji od slobodnih promenljivih. (0) (1) ( 2) (3)
F = 13 ⋅ x1 + 11 ⋅ x 2 x 3 = 420 − x1 − 2 ⋅ x 2 x 4 = 787.5 − 2.5 ⋅ x1 − 1.5 ⋅ x 2 x 5 = 160 − 0.4 ⋅ x1 − 0.5 ⋅ x 2
Korak IV: za dato bazisno – dopustivo rešenje, novo dopustivo rešenje dobija se izborom nove krajnje tačke (temena) oblasti K koje povećava vrednost funkcije cilja, ili pokazuje da je upravo to rešenje optimalno. Algebarski ekvivalent nove krajnje tačke je novo bazisno rešenje u kome se jedna do tada bazisna promenljiva izostavlja iz baze i postaje slobodna promenljiva, a jedna od slobodnih promenljivih se uvrštava u bazu. Do nove krajnje tačke tj. do novog bazisnog rešenja može se, od tekućeg bazisnog rešenja, doći izborom jednog od dva moguća pravca kretanja (slika I-5). Može se ići graničnom linijom x1 = 0 ili x 2 = 0 ( x1, x 2 - slobodne promenljive). Za x 2 = 0 , iz jednačine (1) sledi da je najveće dozvoljeno povećanje za nezavisnu promenljivu x1 = 420 , iz jednačine (2) sledi da je najveće dozvoljeno povećanje x1 = 315 , dok iz jednačine (3) sledi da je najveće dozvoljeno povećanje x1 = 400 . Što znači da je maksimalno dozvoljeno povećanje x1 = 315 , jer bi se pri većem povećanju povredila nenegativnost dopunske promenljive x 4 . Ako se x1 poveća za 315 jedinica funkcija cilja će se povećati za F= 13·315 =4095 NJ Za x1 = 0 , iz jednačine (1) sledi da je najveće dozvoljeno povećanje za nezavisnu promenljivu x 2 = 210 , iz jednačine (2) sledi da je najveće dozvoljeno povećanje x 2 = 472.5 , dok iz jednačine (3) sledi da je najveće dozvoljeno povećanje x 2 = 320 . Što znači da je maksimalno dozvoljeno povećanje x 2 = 210 , jer bi se 21
pri većem povećanju povredila nenegativnost dopunske promenljive x 3 . Ako se x 2 poveća za 210 jedinica funkcija cilja će se povećati za F= 11·210 =2310 NJ Kretanjem od tekućeg bazisnog rešenja (krajnje tačke) duž granične linije x 2 = 0 do nove krajnje tačke – novog bazisnog rešenja, funkcija cilja se brže pove ćava i to na 4095 NJ, nego ako se ide duž grani čne linije x1 = 0 do nove krajnje tačke, gde bi se funkcija cilja povećala na 2310 NJ. Promenljiva koja ulazi u bazu je x1 a promenljiva x 4 izlazi iz baze jer ona prva postaje nula pri povećanju vrednosti za x1 . Korak V: za transformaciju funkcije cilja i bazisnih promenljivih, kao i formiranje novog sistema ograničenja (izražavanje bazisnih promenljivih preko slobodnih promenljivih) koristi se proces eliminacije, odnosno zamene. Iz jednačine (2) se izrazi promenljiva x1 kao: 3 2 x1 = 315 − ⋅ x 2 − ⋅ x 4 5 5 Zamenom x1 jednačinu (1) dobija se: 3 2 x 3 = 420 − (315 − ⋅ x 2 − ⋅ x 4 ) − 2 ⋅ x 2 5 5 7 2 x 3 = 105 − ⋅ x 2 + ⋅ x 4 5 5
Zamenom x1 jednačinu (3) dobija se: 3 2 x 5 = 160 − 0.4 ⋅ (315 − ⋅ x 2 − ⋅ x 4 ) − 0.5 ⋅ x 2 5 5 1.3 0.8 x 5 = 34 − ⋅ x 2 + ⋅ x4 5 5 Zamenom x1 u funk funkcij cijuu cilja cilja jedna jednačinu (0) dobija se: 3 2 F = 13 ⋅ (315 − ⋅ x 2 − ⋅ x 4 ) + 11 ⋅ x 2 5 5 16 26 F = 4095 + ⋅ x 2 − ⋅ x 4 5 5 Konačno novi sistem jednačina ima sledeći oblik: 16 26 (0) F = 4095 + ⋅ x 2 − ⋅ x 4 5 5 22
(1) (2) (3)
7 2 x 3 = 105 − ⋅ x 2 + ⋅ x 4 5 5 3 2 x1 = 315 − ⋅ x 2 − ⋅ x 4 5 5 1.3 0.8 x 5 = 34 − ⋅ x 2 + ⋅ x4 5 5
Iz gornjeg sistema jednačina se vidi da se funkcija cilja može povećati povećavanjem vrednosti slobodne promenljive x 2 (poziti (pozitivan van koe koefici ficijent jent u funk funkciji ciji cilja), što znači da optimalno rešenje nije dostignuto. U daljem postupku rešavanja koraci IV i V se ciklično ponavljaju. Korak IV: do novog bazisnog rešenja koje će imati veću vrednost funkcije cilja, može se, od teku ćeg bazisnog rešenja, doći samo kretanjem po graničnoj liniji x 4 = 0 tj. povećavanjem vrednosti slobodne promenljive x 2 jer ona jedino ima pozitivan koeficijent u funkciji cilja. cilj a. Za x 4 = 0 , iz jednačine (1) sledi da je najveće dozvoljeno povećanje za nezavisnu promenljivu x 2 = 75 , iz jednačine (2) sledi da je najveće dozvoljeno povećanje x 2 = 525 , dok iz jednačine (3) sledi da je najve će dozvoljeno povećanje x 2 = 130.8 . Što znači da je maksimalno dozvoljeno povećanje x 2 = 75 , jer bi se pri većem povećanju povredila nenegativnost dopunske promenljive x 3 . Ako se x 2 poveća za 75 jedinica funkcija cilja će se povećati na F= 4095+(16/5)·75 = 4335 NJ Za x 2 = 0 , iz jednačine (2) sledi da je najveće dozvoljeno povećanje za nezavisnu promenljivu x 4 = 787.5 , dok se nezavisna promenljiva x 4 u jednačinama (1) i (3) može neograničeno povećavati jer ne ugrožava nenegativnost. Ako se x 4 poveća za 787.5 jedinica tada će funkcija cilja imati vrednost F= 4095 – (26/5)·787.5 = 0 NJ Promenljiva koja ulazi u bazu je x 2 a prom promen enlj ljiv ivaa x 3 izlaz izlazii iz baze baze jer jer ona ona prva prva postaje nula pri povećanju vrednosti za x 2 . Kretanjem od tekućeg bazisnog rešenja (krajnje tačke) duž granične linije x 4 = 0 do nove krajnje tačke – novog bazisnog rešenja, funkcija cilja se povećava i to na vrednost od 4335 NJ.
23
Korak V: transformacija jednačina (0), (1), (2) i (3) se vrši da bi se bazisne promenljive izrazile kao linearne funkcije slobodnih slobodni h promenljivih. Iz jednačine (1) se izrazi promenljiva x 2 kao: 2 5 x 2 = 75 + ⋅ x 4 − ⋅ x 3 7 7
Zamenom x 2 u jednačinu (2) dobija se: 4 3 x1 = 270 − ⋅ x 4 + ⋅ x 3 7 7 Zamenom x 2 u jednačinu (3) dobija se: 0.6 1.3 x 5 = 14.5 + ⋅ x 4 + ⋅ x3 7 7 Zamenom x 2 u fun funkc kcij ijuu cil cilja ja – jed jedna načinu (0) dobija se: 30 16 F = 4335 − ⋅ x 4 − ⋅ x 3 7 7 Pošto su koeficijenti u funkciji cilja za obe slobodne promenljive negativni, svako dalje povećavanje njihovih vrednosti dovelo bi do smanjenja funkcije cilja, tj. ova krajnja tačka je i maksimum funkcije cilja. Zaključak: Maksimalna vrednost funkcije cilja – max F=4335 NJ koja se ostvaruje u ta čki sa koordinatama ( x1 = 270, x 2 = 75, x 3 = 0, x 4 = 0, x 5 = 14.5) . Drugim rečima preduzeće će ostvariti maksimalnu dobit od 4335 NJ, ako proizvodi 270 komada proizvoda A i 75 komada proizvoda B. Pošto promenljiva x 5 ima vrednost 14.5 to znači da treće ograničenje (veličina skladišnog prostora) nije relevantno za optimalno rešenje postavljenog zadatka. Raspoloživa površina skladišta je neiskorišćena pri optimalnom rešenju problema tj. ostaje 14.5 m2 površine skladišta neiskorišćeno.
Rešavanje „radnog primera“ primenom simplex metode – tabelarno Matematički model „radnog primera“ je sledeći: Naći (max) F= 13·x1 + 11·x2 pri ograničenjima 24
x1 + 2·x2 ≤ 420 2.5·x1 + 1.5·x2 ≤ 787.5 0.4·x1 + 0.5·x2≤ 160 x1≥0, x2≥0. Prevođenje sistema ograničenja u kanonični oblik tj. dodavanje dopunskih promenljivih i pretvaranje nejednačina u jednačine. max F = 13 ⋅ x1 + 11 ⋅ x 2 + 0 ⋅ x 3 + 0 ⋅ x 4 + 0 ⋅ x 5 x1 + 2 ⋅ x 2 + x 3 = 420 2.5 ⋅ x1 + 1.5 ⋅ x 2 + x4 = 787.5 0.4 ⋅ x1 + 0.5 ⋅ x 2 + x 5 = 160 x1≥0, x2≥0, x3≥0, x4≥0 x5≥0. Početno bazisno rešenje je oblika ( x1 = 0, x 2 = 0, x 3 = 420, x 4 = 787.5, x 5 = 160) , za koje funkcija cilja ima vrednost F=0, što znači da su promenljive u bazi: x3, x4 i x5 tzv. bazisne promenljive a promenljive x1 i x2 su slobodne promenljive. Svođenje na oblik pogodan za primenu simplex tabele: (0) (1) ( 2) (3)
F − 13 ⋅ x1 − 11 ⋅ x 2 − 0 ⋅ x 3 − 0 ⋅ x 4 − 0 ⋅ x 5 = 0 x1 + 2 ⋅ x 2 + x 3 = 420 2.5 ⋅ x1 + 1.5 ⋅ x 2 + x4 = 787.5 0.4 ⋅ x1 + 0.5 ⋅ x 2 + x 5 = 160 x1≥0, x2≥0, x3≥0, x4≥0 x5≥0.
Tabela I-1 predstavlja početnu simplex tabelu u kojoj je prikazano početno bazisno rešenje. Tabela I-1. Početna simplex tabela, F=0. koeficijenti Br. x1 x2 x3 Baza Jedn. F 0 1 0 -13 -11 x3 1 0 2 1 1 x4 2 0 2.5 1.5 0 x5 3 0 0.5 0 0.4
25
x4 0 0 1 0
x5 0 0 0 1
b i 0 420 787.5 160
Bazisno rešenje je optimalno ako su svi koeficijenti u jednačini (0) veći od nule. U tom slučaju povećanje neke od promenljivih u bazi će smanjiti vrednost funkcije F. Ako to nije slučaj treba da se izvrši zamena promenljivih tj. neka od promenljivih čiji je koeficijent u jednačini (0) manji od nule treba da uđe u bazu a neka od promenljivih treba da izađe iz baze. U slučaju da ima više promenljivih čiji su koeficijenti u jednačini (0) manji od nule, bira se ona promenljiva čiji je koeficijent najveći po apsolutnoj vrednosti max{ − c j } i ona ulazi u bazu. Kolona u kojoj se nalazi ta promenljiva naziva se vodeća kolona, npr. kolona j. *24 Promenljiva koja treba da napusti bazu određuje se iz uslova: *25
⎧⎪ b i ⎫⎪ min ⎨ ⎬ i=1,...,m; uz uslov da je a ij > 0 . ⎪⎩ a ij ⎪⎭ Gornji uslov govori koje je maksimalno moguće povećanje nove bazisne promenljive a da neka od preostalih bazisnih promenljivih ne postane manja od nule. Red u kojem se nalazi promenljiva koja napušta bazu je vodeći red, npr. red i, dok je u preseku vodeće kolone i vodećeg reda vodeći koeficijent aij. I iteracija: Na osnovu gore iznetog promenljiva koja ulazi u bazu (Tabela I-1) određuje se iz uslova: max{− 13 , − 11} = 13 što znači da promenljiva x1 ulazi u bazu. Vode ća kolona je prikazana crveno + bold u Tabeli I-1. Uslov na osnovu koga se odre đuje koja promenljiva napušta bazu je sledeći: 420 787.5 160 ⎫ min ⎧⎨ ; ; ⎬ = min{420; 315; 400} = 315 ⎩ 1 2.5 0.4 ⎭ što znači da promenljiva x 4 na napu pušt štaa ba bazu zu.. Vo Vode deći red je prikazan crveno crveno + + bold u Tabeli I-1. Vodeći koeficijent (2.5 (2.5)) je u Tabeli I-1 podvučen i nalazi se u preseku vodeće kolone i vodećeg reda.
26
Pošto su određene promenljive koje ulaze odnosno napuštaju bazu (korak IV) potrebno je doći do novog bazisnog rešenja tj. izvršiti transformaciju jednačina (0), (1), (2) i (3) da bi se bazisne promenljive izrazile kao linearne funkcije slobodnih promenljivih (korak V). Pri tabelarnom rešavanju zadatka LP primenom simplex metode to se postiže na sledeći način: − postojeći vodeći red treba transformisati tako da se na mestu vodećeg koeficijenta u novom vodećem redu nađe cifra 1. − ostale redove treba transformisati tako da se u novim redovima na mestima koji pripadaju vodećoj koloni nađu cifre 0. Redovi u Tabeli I-2 dobijaju se transformacijom jednačina (0), (1), (2) i (3) tj. redova u Tabeli I-1, na sledeći način:
− novi vodeći red, tj. red 2 u Tabeli I-2, dobija se tako što se svi koeficijenti vodećeg reda u Tabeli I-1 podele sa vodećim koeficijentom tj. sa 2.5:
[0 2.5 1.5 0 1 0 787.5] :2.5 [0 1 3 / 5 0 1 / 5 0 315] → novi vodeći red − novi red 0, tj. red 0 u Tabeli I-2, dobija se tako što se novi vode ći red pomnoži sa 13 i sabere sa redom 0 iz Tabele I-1: + [1 − 13 − 11 0 0 0 0] [0 1 3 / 5 0 1 / 5 0 315]×13 [1 0 − 16 / 5 0 26 / 5 0 4095]→ novi red 0
− novi red 1, tj. red 1 u Tabeli I-2, dobija se tako što se novi vode ći red pomnoži sa (–1) i sabere sa redom 1 iz Tabele I-1:
[0 1 2 1 0 0 420] + [0 1 3 / 5 0 1 / 5 0 315]×(–1) [0 0 7 / 5 1 − 2 / 5 0 105]→ novi red 1 − novi red 3, tj. red 3 u Tabeli I-2, dobija se tako što se novi vode ći red pomnoži sa (–0.4) i sabere sa redom 3 iz Tabele I-1:
[0 0.4 0.5 0 0 1 160] + [0 1 3 / 5 0 1 / 5 0 315]×(–0.4) [0 0 1.3 / 5 0 − 0.8 / 5 1 34]→ novi red 3 27
Tabela I-2 koja odgovara novom bazisnom rešenju (prva iteracija), za koje funkcija cilja ima vrednost F=4095, ima sledeći oblik: Tabela I-2. Simplex tabela (prva iteracija), F=4095. koeficijenti Br. x1 x2 x3 x4 x5 Baza Jedn. F 0 1 0 26/5 0 -16/5 0 x3 1 0 0 7/5 1 -2/5 0 x1 2 0 1 0 2/5 0 3/5 x5 3 0 0 0 -0.8/5 1 1.3/5
b i 4095 105 315 34
U jednačini (0) tj. funkciji cilja, u Tabeli I-2, svi koeficijenti nisu veći od nule što znači da maksimalna vrednost funkcije cilja nije dostignuta pa je potrebno je naći novo bazisno rešenje. II iteracija Promenljiva koja ulazi u bazu je x 2 jer je je samo samo njen njen koefici koeficijent jent u funkcij funkcijii cilja cilja manji od nule. Vodeća kolona je prikazana crveno crveno + + bold u Tabeli I-2. Promenljiva koja napušta bazu određuje se na osnovu: 105 315 34 ⎫ min ⎧⎨ ; ; ⎬ = min{75; 525; 130 + 1 / 1.3} = 75 7 / 5 3 / 5 1 . 3 / 5 ⎩ ⎭ što znači da promenljiva x 3 napušta bazu. Vodeći red je prikazan crveno crveno + + bold u Tabeli I-2. Vodeći koeficijent (7/5 (7/5)) je u Tabeli I-2 podvu čen i nalazi se u preseku vodeće kolone i vodećeg reda. Redovi u Tabeli I-3 dobijaju se transformacijom jednačina (0), (1), (2) i (3) tj. redova u Tabeli I-2, na sledeći način:
− novi vodeći red, tj. red 1 u Tabeli I-3, dobija se tako što se svi koeficijenti vodećeg reda u Tabeli I-2 podele sa vodećim koeficijentom tj. sa 7/5:
[0 0 7 / 5 1 − 2 / 5 0 105] :7/5 [0 0 1 5 / 7 − 2 / 7 0 75] → novi vodeći red
28
− novi red 0, tj. red 0 u Tabeli I-3, dobija se tako što se novi vode ći red pomnoži sa (16/5) i sabere sa redom 0 iz Tabele I-2:
[1 0 − 16 / 5 0 26 / 5 0 105] + [0 0 1 5 / 7 − 2 / 7 0 75]×(16/5) [1 0 0 16 / 7 30 / 7 0 4335] → novi red 0 − novi red 2, tj. red 2 u Tabeli I-3, dobija se tako što se novi vode ći red pomnoži sa (–3/5) i sabere sa redom 2 iz Tabele I-2:
[0 1 3 / 5 0 2 / 5 0 315] + [0 0 1 5 / 7 − 2 / 7 0 75]×(–3/5) [0 1 0 − 3 / 7 4 / 7 0 270]→ novi red 2 − novi red 3, tj. red 3 u Tabeli I-3, dobija se tako što se novi vode ći red pomnoži sa (–1.3/5) i sabere sa redom 3 iz Tabele I-2:
[0 0 1.3 / 5 0 − 0.8 / 5 1 34] + [0 0 1 5 / 7 − 2 / 7 0 75]×(–1.3/5) [0 0 0 − 6.5 / 35 − 3 / 35 1 14.5] → novi red 3 Tabela I-3 koja odgovara novom bazisnom rešenju (druga iteracija), za koje funkcija cilja ima vrednost F=4335, ima sledeći oblik: Tabela I-3. Simplex tabela (druga iteracija), F=4335. koeficijenti Br. x1 x2 x3 x4 x5 Baza Jedn. F 0 1 0 0 16/7 30/7 0 x2 1 0 0 1 5/7 -2/7 0 x1 2 0 1 0 -3/7 4/7 0 x5 3 0 0 0 -6.5 -6.5/3 /355 -3/3 -3/355 1
bi 4335 75 270 14.5 14 .5
Pošto su svi koeficijenti u jednačini (0), funkciji cilja, pozitivni znači da je dostignuto optimalno rešenje tj. maksimalna vrednost funkcije cilja F=4335. Zaključak: Preduzeće će ostvariti maksimalnu dobit od 4335 NJ, ako proizvodi 270 komada proizvoda A ( x1 ) i 75 komada proizvoda B ( x 2 ).
29
Pošto promenljiva x 5 ima ima vre vredn dnos ostt 14. 14.55 to zn znaači da postoji tzv. „višak kapaciteta“ tj. ostaje 14.5 m2 površine skladišta neiskorišćeno.
Dualni zadatak linearnog programiranja U određenim slučajevima osnovni zadatak LP, bez obzira na njegovu korektnu postavku koja obezbeđuje postojanje – egzistenciju rešenja, ne može da posluži kao osnova za nalaženje optimalnog rešenja. Tada se pribegava preformulaciji zadatka LP u dualni zadatak čime se u najvećem broju slučajeva dobija matematički model pomoću kojeg je moguće odrediti optimalno rešenje. Primarni zadatak LP: max F = c1 ⋅ x1 + c2 ⋅ x 2 + ... + cn ⋅ x n a11 ⋅ x1 + a12 ⋅ x 2 + ... + a1n ⋅ x n ≤ b1 ......... a m1 ⋅ x1 + a m 2 ⋅ x 2 + ... + a mn ⋅ x n ≤ b m x1 ≥ 0, x 2 ≥ 0,..., x n ≥ 0, Dualni zadatak LP: min φ = b1 ⋅ y1 + b 2 ⋅ y 2 + ... + b m ⋅ y m a11 ⋅ y1 + a 21 ⋅ y 2 + ... + a m1 ⋅ y m ≥ c1 a12 ⋅ y1 + a 22 ⋅ y 2 + ... + a m 2 ⋅ y m ≥ c 2 ......... a1n ⋅ y1 + a 2n ⋅ y 2 + ... + a mn ⋅ y m ≥ c n y1 ≥ 0, y 2 ≥ 0, ..., y m ≥ 0, Relacije koje povezuju primarni i dualni zadatak LP: *26 1. Matrica ograničenja dualnog zadatka LP predstavlja transponovanu matricu ograničenja primarnog zadatka LP. 2. Nejednakosti 2. Nejednakosti u ograničenjima su suprotno orijentisane. 3. Slobodni članovi u ograničenjima dualnog zadatka LP su koeficijenti u funkciji cilja primarnog zadatka LP, dok su koeficijenti u funkciji cilja dualnog zadatka slobodni članovi tj. desna strana ograničenja primarnog zadatka LP. 4. Ako se u primarnom zadatku funkcija cilja maksimalizuje u dualnom zadatku se minimalizuje (teorema „Minimaksa“ – videti ANNEX III ). ).
30
Ograničenja primarnog zadatka LP napisana u matričnoj formi: *27 ⎡ a11 a12 .... a1n ⎤ ⎡ x1 ⎤ ⎡ b1 ⎤ ⎢a ⎥ ⎢ x ⎥ ⎢ b ⎥ a .... a 21 22 2 n ⎢ ⎥ ⋅ ⎢ 2⎥ ≤ ⎢ 2⎥ → A ⋅X ≤ B ⎢ M .... M ⎥ ⎢ M ⎥ ⎢ M ⎥ M ⎢a ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ m1 a m 2 .... a mn ⎦ ⎣x n ⎦ ⎣ b n ⎦ Funkcija cilja primarnog zadatka LP napisana u matričnoj formi: *27
⎡ x1 ⎤ ⎢x ⎥ max F = [c1 c 2 .... c n ] ⋅ ⎢ 2 ⎥ → max F = C ⋅ X ⎢ M ⎥ ⎢x ⎥ ⎣ n⎦ Ograničenja dualnog zadatka LP napisana u matričnoj formi: *28 ⎡ a11 a12 .... a1n ⎤ ⎢a ⎥ a .... a 21 22 2 n ⎥ ≥ [c1 c 2 .... c n ] → Y ⋅ A ≥ C [y1 y 2 .... y m ] ⋅ ⎢ ⎢ M .... M ⎥ M ⎢a ⎥ a .... a ⎣ m1 m 2 mn ⎦ Funkcija cilja dualnog zadatka LP napisana u matričnoj formi: *28 ⎡ b1 ⎤ ⎢ b ⎥ min φ = [y1 y 2 .... y m ] ⋅ ⎢ 2 ⎥ → min φ = Y ⋅ B
⎢ M ⎥ ⎢ b ⎥ ⎣ m⎦
Primarni i dualni zadatak LP nisu uvek jednako jednostavni za rešavanje. Povećanje broja ograničenja zahteva više rada za izračunavanje nego povećanje broja promenljivih. Ako primarni zadatak LP ima veliki broj ograničenja a relativno malo promenljivih, odgovarajući dualni zadatak LP će verovatno zahtevati manje računanja jer se broj ograničenja i promenljivih zamenjuju.
Nalaženje početnog dopustivog bazisnog rešenja Osnovni zahtev simplex metode je da ograničenja budu u kanoničnoj formi tj. u obliku jednačina, drugo potrebno je da postoji dopustivo bazisno rešenje. U praksi se često ne može znati da li postoji neko dopustivo rešenje zadatka LP pri datim ograničenjima. 31
Pristupi nalaženju početnog dopustivog bazisnog rešenja: 1. Proizvoljno biranje bazisnih promenljivih Za svako ograničenje se proizvoljno bira bazisna i sistem se redukuje na kanoničnu formu s obzirom na te bazisne primenljive. Ako rezultujući kanonični sistem daje neko dopustivo bazisno rešenje može se početi sa simplex metodom. 2. Korišćenje veštačkih promenljivih U narednom tekstu biće prikazana sistemska procedura koja sistem ograničenja dat u obliku nejednačina prevodi u kanoničan oblik sa nekim dopustivim bazisnim rešenjem. Prvi korak jeste da se zadatak LP transformiše u prošireni oblik tj. sva ograničenja su u obliku jednačina i sve konstante sa desne strane sistema ograničenja su nenegativne. To se postiže uvođenjem dopunskih promenljivih.
Slučaj I: Ograničenja napisana u obliku nejednačina „manje jednako“ (za određenu vrednost i) *29 ai1⋅x1 + ci2⋅x2 + ........+ a in⋅xn ≤ bi dodavanjem dopunske promenljive xn+i data nejednačina se prevodi u jednačinu u kojoj će dopunska promenljiva xn+i biti bazisna tj. ai1⋅x1 + ci2⋅x2 + ........+ a in⋅xn + xn+i = bi U ovom slučaju bazisna promenljiva xn+i zadovoljava uslov nenegativnosti.
Slučaj II: Ograničenja napisana u obliku nejednačina „veće jednako“ (za određenu vrednost i) *30 ai1⋅x1 + ci2⋅x2 + ........+ a in⋅xn ≥ bi se prevode u jednačinu tako što se od leve strane oduzima dopunska promenljiva xn+i tj. ai1⋅x1 + ci2⋅x2 + ........+ a in⋅xn – xn+i = bi U ovom slučaju bazisna promenljiva xn+i ne zadovoljava uslov nenegativnosti.
Slučaj III: Ograničenja napisana u obliku jednačina kada je desna strana manja od nule (za određenu vrednost i) *31 32
ai1⋅x1 + ci2⋅x2 + ........+ a in⋅xn = – bi potrebno je prvo pomnožiti sa (-1) da bi desna strana postala veća od nule tj. – ai1⋅x1 – ci2⋅x2 – ........ – a in⋅xn = bi U ovom slučaju nije moguće ni dodati ni oduzeti dopunsku promenljivu, jer je ograničenje već u obliku jednačine, niti je moguće sa sigurnošću odrediti bazisnu promenljivu koja će zadovoljiti uslov nenegativnosti. Ako su ograničenja oblika prikazanih u slučaju II i slučaju III, potrebno je da se doda neka nova promenljiva koja će da predstavlja bazisnu promenljivu u datom ograničenju. Ove promenljive se dodaju samo da bi se formirao kanoni čan sistem i dobilo dopustivo početno bazisno rešenje. Ova promenljive nazivaju se veštačke promenljive. U slučaju II, pošto se doda veštačka promenljiva xn+k , ograničenje je oblika: ai1⋅x1 + ci2⋅x2 + ........+ a in⋅xn – xn+i + xn+k = bi gde je xn+k bazisna promenljiva koja zadovoljava uslov nenegativnosti. U slučaju III, pošto se doda veštačka promenljiva xn+k , ograničenje je oblika: – ai1⋅x1 – ci2⋅x2 – ........ – a in⋅xn + xn+k = bi gde je xn+k bazisna promenljiva koja zadovoljava uslov nenegativnosti. Na kraju, primenom prikazane sistemske s istemske procedure, sva ograničenja će imati jednu bazisnu promenljivu, sistem će biti kanoničan, postojaće dopustivo početno bazisno rešenje i može se početi sa simplex metodom.
Simplex metoda sa veštačkom bazom (Metoda veliko M) *32 U ovom slučaju veštačkoj promenljivoj dodeljuje se koeficijent u funkciji cilja, za razliku od dopunskih promenljivih čiji koeficijent u funkciji cilja je jednak nuli. U slučaju minimalizacije funkcije cilja koeficijent uz veštačku promenljivu je +M, dok je u slučaju maksimalizacije funkcije cilja koeficijent uz veštačku promenljivu –M, gde je M veliki pozitivan broj, što uslovljava da se veštačke promenljive u prvim iteracijama simplex metode zamene stvarnim promenljivama sa manjim koeficijentima. 33
Napomene 1. Veštačka baza ne utiče na dobijanje optimalnog rešenja (videti ANNEX III ). ). 2. Veštačke promenljive moraju biti svedene na nulu. 3. Izbacivanjem veštačke promenljive iz baze ona se može zanemariti.
Rešavanje „radnog primera“, kao dualnog zadatka LP, primenom simplex metode – tabelarno Primarni zadatak „radnog primera“: max F= 13·x1 + 11·x2 x1 + 2·x2 ≤ 420 2.5·x1 + 1.5·x2 ≤ 787.5 0.4·x1 + 0.5·x2≤ 160 x1≥0, x2≥0. Dualni zadatak „radnog primera“: min φ = 420·y1 + 787.5·y2 + 160·y3 y1 + 2.5 ·y2 + 0.4 ·y3 ≥ 13 2·y1 + 1.5·y2 + 0.5·y3 ≥ 11 y1≥0, y2≥0, y3≥0. Kao što je već rečeno, da bi se primenila simplex metoda potrebno je sistem ograničenja u vidu nejednačina prevesti u sistem jednačina tzv. kanoničan ili prošireni oblik, uvođenjem „dopunskih promenljivih“. Nakon uvođenja dopunskih promenljivih y4 i y5 dobija se: min φ = 420·y1 + 787.5·y2 + 160·y3 + 0·y4 + 0·y5 y1 + 2.5 ·y2 + 0.4 ·y3 – y4 = 13 2·y1 + 1.5·y2 + 0.5·y3 – y5 = 11 y1≥0, y2≥0, y3≥0 y4≥0, y5≥0. Pošto promenljive y4 i y5 kao bazisne promenljive ne zadovoljavaju uslov nenegativnosti, za dobijanje dopustivog početnog bazisnog rešenja potrebno je uvesti i veštačke promenljive y6 i y7. Tada je sistem ograničenja oblika: 34
min φ = 420·y1 + 787.5·y2 + 160·y3 + 0·y4 + 0·y5 + M·y6 + M·y7 y1 + 2.5 ·y2 + 0.4 ·y3 – y4 + y6 = 13 2·y1 + 1.5·y2 + 0.5·y3 – y5 + y7 = 11 y1≥0, y2≥0, y3≥0, y4≥0, y5≥0, y6≥0, y7≥0. U ovom slučaju dopustivo početno bazisno rešenje je oblika: (y1=0, y2=0, y3=0, y4=0, y5=0, y6=13, y7=11). Nalaženje minimuma funkcije cilja se može svesti na nalaženje maksimuma funkcije cilja na sledeći način: min φ = max (−φ) . U tom slu čaju funkcija cilja ima sledeći oblik: max (−φ) = – 420·y1 – 787.5·y2 – 160·y3 – 0·y4 – 0·y5 – M·y6 – M·y7 Svođenje na oblik pogodan za primenu simplex tabele: (0) (1) ( 2)
− φ + 420 ⋅ y1 + 787.5 ⋅ y 2 + 160 ⋅ y 3 + 0 ⋅ y 4 + 0 ⋅ y 5 + M ⋅ y 6 + M ⋅ y 7 = 0 y1 + 2.5 ⋅ y 2 + 0.4 ⋅ y 3 − y 4 y6 + = 13 2 ⋅ y1 + 1.5 ⋅ y 2 + 0.5 ⋅ y 3 − y5 + y 7 = 11
Da bi se dobilo dopustivo početno bazisno rešenje, svaka bazisna promenljiva treba da ima samo u svojoj jednačini koeficijent +1, što znači da treba da bude eliminisana iz ostalih. Konkretno, iz reda (0) potrebno je eliminisati promenljive y6 i y7 tako što će se redovi (1) i (2) pomnožiti sa (–M) i sabrati sa redom (0).
[− 1 420 787.5 160 0 0 + M + M 0] + [0 1 2.5 0.4 − 1 0 1 0 13]×(–M) [0 2 1.5 0.5 0 − 1 0 1 11] ×(–M) + [− 1 (420 − 3 ⋅ M) (787.5 − 4 ⋅ M) (160 − 0.9 ⋅ M) M M 0 0 − 24 ⋅ M ] Konačno, početna simplex tabela je oblika (Tabela I-4): Tabela I-4. Početna simplex tabela. Br. Baza Jedn. 0 y6 1 y7 2
koeficijenti
c j
φ
y1
y2
y3
y4
y5
y6
y7
–1
420-3·M
787.5-4·M
160-0.9·M
+M
+M
0
0
–24·M
0
1
2.5
0.4
-1
0
1
0
13
0
2
1.5
0.5
0
-1
0
1
11
35
Izbor slobodne promenljive koja ulazi u bazu, u slu čaju kada se u jednačini (0) javljaju izrazi oblika a· M+b M+b, je sledeći: − uzimaju se u obzir samo one promenljive kod kojih je koeficijent a manji od nule. − promenljiva koja ulazi u bazu određuje se iz uslova max│a│. − ukoliko postoji više promenljivih kod kojih koeficijenti a imaju istu maksimalnu vrednost, tada promenljiva koja ulazi u bazu određuje se iz uslova max│b│. Na osnovu gore iznetog promenljiva koja ulazi u bazu (Tabela I-4) određuje se iz uslova: max{− 3 , − 4 , − 0.9 } = 4 što znači da promenljiva y 2 ulaz ulazii u ba bazu zu.. Vo Vode deća kolona je prikazana crveno + bold u Tabeli I-4. Promenljiva koja napušta bazu određuje se na osnovu: 13 11 min ⎧⎨ ; ⎫⎬ = min{5.2; 7.33} = 5.2 ⎩ 2.5 1.5 ⎭ što znači da promenljiva y 6 na napu pušt štaa baz bazu. u. Vo Vode deći red je prikazan crveno crveno + + bold u Tabeli I-4. Vodeći koeficijent (2.5 (2.5)) je u Tabeli I-4 podvučen i nalazi se u preseku vodeće kolone i vodećeg reda.
− novi vodeći red, tj. red 1 u Tabeli I-5, dobija se tako što se svi koeficijenti vodećeg reda u Tabeli I-4 podele sa vodećim koeficijentom tj. sa 2.5:
[0 1 2.5 0.4 − 1 0 1 0 13] :2.5 [0 2 / 5 1 4 / 25 − 2 / 5 0 2 / 5 0 26 / 5] → novi vodeći red − novi red 0, tj. red 0 u Tabeli I-5, dobija se tako što se novi vode ći red pomnoži sa –(787.5-4·M) i sabere sa redom 0 iz Tabele I-4:
[− 1 (420 − 3 ⋅ M) (787.5 − 4 ⋅ M) (160 − 0.9 ⋅ M) M M 0 0 − 24 ⋅ M ] [0 2 / 5 1 4 / 25 − 2 / 5 0 2 / 5 0 26 / 5] × –(787.5-4·M)
+
⎡− 1 (105 − 7 ⋅ M ) 0 (34 − 0.26 ⋅ M ) (315 − 3 ⋅ M ) M ( −315 + 8 ⋅ M) 0 (−4095 − 16 ⋅ M)⎤ ⎢⎣ ⎥⎦ 5 5 5 5
→ novi red 0
36
− novi red 2, tj. red 2 u Tabeli I-5, dobija se tako što se novi vode ći red pomnoži sa (–1.5) i sabere sa redom 2 iz Tabele I-4:
[0 2 1.5 0.5 0 − 1 0 1 11] [0 2 / 5 1 4 / 25 − 2 / 5 0 2 / 5 0 26 / 5] ×(-1.5) [0 7 / 5 0 13 / 50 3 / 5 − 1 − 3 / 5 1 16 / 5]
+
Simplex tabela, posle prve iteracije, je oblika (Tabela I-5): Tabela I-5. Simplex tabela (I iteracija). Br. Baza Jedn. 0 y2 1 y7 2
koeficijenti
φ
y1
y2
–1
105-7/5·M
0
0
2/5
1
4/25
-2/5
0
0
7/5
0
13/50
3/5
-1
y3
y4
34-0.26·M 315315-3/ 3/55·M
y5
y6
+M -315+8/5·M
y7
c j
0
-4095-16/5·M
2/5
0
26/5
-3/5
1
16/5
Pošto u jednačini (0) postoje koeficijenti koji nisu veći od nule, optimalno rešenje nije dostignuto, tj. potrebno je naći novo bazisno rešenje. II iteracija Promenljiva koja ulazi u bazu određuje se iz uslova: 3⎫ 7 ⎧ 7 max ⎨ − , − 0.26 , − ⎬ = 5⎭ 5 ⎩ 5 što znači da promenljiva y1 ulazi u bazu. Vode ća kolona je prikazana crveno + bold u Tabeli I-5. Promenljiva koja napušta bazu određuje se na osnovu: ⎧ 26 16 ⎫ ⎪5 5⎪ 16 16 min ⎨ ; ⎬ = min ⎧⎨13; ⎫⎬ = ⎩ 7⎭ 7 ⎪2 7⎪ ⎩5 5⎭ što znači da promenljiva y 7 napušta bazu. Vodeći red je prikazan crveno crveno + + bold u Tabeli I-5. Vodeći koeficijent (7/5 (7/5)) je u Tabeli I-5 podvu čen i nalazi se u preseku vodeće kolone i vodećeg reda.
37
− novi vodeći red, tj. red 2 u Tabeli I-6, dobija se tako što se svi koeficijenti vodećeg reda u Tabeli I-5 podele sa vodećim koeficijentom tj. sa 7/5:
[0 7 / 5 0 13 / 50 3 / 5 − 1 − 3 / 5 1 16 / 5] : 7/5 [0 1 0 13 / 70 3 / 7 − 5 / 7 − 3 / 7 5 / 7 16 / 7] → novi vodeći red − novi red 0, tj. red 0 u Tabeli I-6, dobija se tako što se novi vode ći red pomnoži sa –(105-7/5·M) i sabere sa redom 0 iz Tabele I-5: ⎡− 1 (105 − 7 ⋅ M ) 0 (34 − 0.26 ⋅ M ) (315 − 3 ⋅ M ) M ( −315 + 8 ⋅ M) 0 (−4095 − 16 ⋅ M)⎤ ⎢⎣ ⎥⎦ 5 5 5 5
[0 1 0 13 / 70 3 / 7 − 5 / 7 − 3 / 7 5 / 7 16 / 7]× –(105-7/5·M) [− 1 0 0 14.5 270 75 (−270 + M) (−75 + M) − 4335] → novi red 0
+
− novi red 1, tj. red 1 u Tabeli I-6, dobija se tako što se novi vode ći red pomnoži sa (–2/5) i sabere sa redom 2 iz Tabele I-4:
[0 2 / 5 1 4 / 25 − 2 / 5 0 2 / 5 0 26 / 5] [0 1 0 13 / 70 3 / 7 − 5 / 7 − 3 / 7 5 / 7 16 / 7]×(-2/5) [0 0 1 3 / 35 − 4 / 7 2 / 7 4 / 7 − 2 / 7 30 / 7]
+
Simplex tabela, posle druge iteracije, je oblika (Tabela I-6): Tabela I-6. Simplex tabela (II iteracija). Br. Baza Jedn. 0 y2 1 y1 2
koeficijenti y3 y4
y5
y6
y7
c j
φ
y1
y2
–1
0
0
14.5
270
75
-270+M
-75+M
-4335
0
0
1
3/35
-4/7
2/7
4/7
0
30/7
0
1
0
13/70
3/7
-5/7
-3/7
1
16/7
Pošto u bazi više nema veštačkih promenljivih one se mogu zanemariti. Koeficijenti uz ostale promenljive u jednačini (0) su veći od nule što znači da je dostignuto optimalno rešenje tj. maksimalna vrednost funkcije: − φ = − 4335 . Koeficijenti u redu (0) za dopunske promenljive u dualnom zadatku LP, predstavljaju optimalne vrednosti za promenljive u primarnom zadatku LP tj. y m +i = x i . Za konkretan slučaj m=3 dobija se da je: y 4 = x1 = 270; y5 = x 2 = 75 .
38
Optimalne vrednosti u dualnom zadatku LP predstavljaju vrednosti dopunskih promenljivih (optimalne) u primarnom zadatku LP.
39
Pitanja: 1. 2. 3. 4. 5.
Šta predstavlja funkcija cilja. Oblik funkcije cilja i ograničenja kod zadatka linearnog programiranja. Vrste ograničenja zadatka linearnog programiranja. Formulacija „osnovnog oblika“ zadatka lineanog programiranja. Veza između određivanja minimuma i maksimuma funkcije cilja kod zadatka linearnog programiranja. 6. Moguće forme funkcionalnih ograničenja zadatka linearnog programiranja. 7. Namena dopunskih promenljivih. 8. Koeficijent dopunskih promenljivih u funkciji cilja. 9. Formulacija „proširenog oblika“ zadatka lineanog programiranja. 10. Problemi koji se mogi rešavati promenom zadatka linearnog programiranja. 11. Šta predstavlja dopustivo rešenje, šta nedopustivo rešenje i šta je dopustiv skup. 12. Kada se za rešavanje zadatka LP može primeniti grafički metod a kada simplex metod. 13. Šta predstavljaju dopustiva rešenja u krajnjim tačkama. 14. Gde se nalaze optimalna rešenja zadatka linearnog programiranja. 15. Procedura rešavanja zadatla LP primenom grafičke metode. 16. Mogući oblici mnogougaonih oblasti; (određivanje mnogougaone oblasti). 17. Faze simplex metode. 18. Veza između simplex metode i simplex algoritma. 19. U kom obliku treba da bude napisan zadataka LP da bi mogla da se primeni simplex metoda. 20. Osnovna ideja simplex metode – postepenog poboljšanja. 21. Šta su slobodne a šta bazisne promenljive. 22. Šta je bazisno rešenje. 23. Procedura prelaska sa jednog bazisnog rešenja na drugo. 24. Kriterijum po kome slobodna promenljiva postaje bazisna kod tabelarnog rešavanja zadatka LP. 25. Uslov po kome se odre đuje promenljiva koja treba da napusti bazu kod tabelarnog rešavanja zadatka LP. 26. Relacije koje povezuju primarni i dualni zadatak LP. 27. Matrični zapis funkcije cilja u ograničenja primarnog zadatka LP. 28. Matrični zapis funkcije cilja u ograničenja dualnog zadatka LP. 29. Procedura koja prevodi sistem ograničenja dat u obliku nejednačina „manje jednako“ u kanoničan oblik sa nekim dopustivim bazisnim rešenjem. 30. Procedura koja prevodi sistem ograničenja dat u obliku nejednačina „veće jednako“ u kanoničan oblik sa nekim dopustivim bazisnim rešenjem. 31. Procedura koja prevodi sistem ograničenja dat u obliku jednačina kada je desna strana manja od nule u oblik sa nekim dopustivim bazisnim rešenjem. 32. Simplex metoda sa veštačkom bazom (Metoda veliko M).
40