SIMPLEKS METODA
SADRŽAJ:
1.
U V O D ............................................................................................................................................ 3
2.
PRINCIPI SIMPLEKS METODE ........................................................................................................... 4
3.
2.1.
Svođenje modela linearnog programiranja na kanonski oblik ................................................ 4
2.2.
Određivanje dopustivog bazičnog rješenja ............................................................................. 5
2.3.
Poboljšanje dobijenog bazičnog rješenja ................................................................................. 6
2.4.
Simpleks metoda zasnovana na rješavanju sistema jednačina ................................................ 7
RJEŠAVANJE OPŠTEG PROBLEMA LINEARNOG PROGRAMIRANJA ZA MAKSIMUM POMOĆU
SMPLEKS TABELE ..................................................................................................................................... 7 4.
RJEŠAVANJE OPŠTEG PROBLEMA LINEARNOG PROGRAMIRANJA ZA MINIMUM POMOĆU
SMPLEKS TABELE ................................................................................................................................... 12 5.
ZAKLJUČAK ..................................................................................................................................... 14
6.
LITERATURA ................................................................................................................................... 15
1. U V O D
Početak primjene kvantitativnih metoda u ekonomiji javlja se kao posljedica njihove uspješne primjene u prirodnim znanostima, a najviše u znanostima koje su proučavale neživu prirodu, zbog relativno jednostavnih pojava i odnosa koji su se tim postupcima mogli djelotvorno obrađivati. Upravo ta djelotvornost primjene matematičkih metoda u prirodnim znanostima potakla je interes za njihovu primjenu u društvenim znanostima, a među njima ponajprije u ekonomskoj. Simpleks metoda nastala je u okviru matematičke grane koja se zove Linearno programiranje. Ovu granu je uveo Leonid Kantorovič kasnih 1930-ih godina kao metodu rješavanja problema planiranja proizvodnje. U SAD-u je linearno programiranje razvijeno tijekom Drugog Svjetskog rata prvenstveno za probleme vojne logistike, kao što je optimiziranje prijevoza vojske i opreme konvojima. Iako su Kantorovič, Koopmans i drugi dali veliki doprinos razvoju linearnog programiranja, za njegov značaj kao praktičan alat u ekonomiji, industriji i znanosti je zaslužan američki matematičar George Dantzig. 1947. godine Dantzig je primijetio da su određeni vojni problemi u suštini isti kao i problemi usklađivanja aktivnosti unutar velikih organizacija. Tada je razvio simpleks metodu kao način efikasnog rješavanja problema linearnog programiranja. Tako je simpleks metoda našla široku primjenu i u privrednoj djelatnosti. Osnovni cilj razvoja simpeks meode je rješavanje poblema alokacije resursa. Proizvođač želi odrediti kako iskoristiti ograničene količine sirovina uz najveći profit,
poslovođa kako
rasporediti zadani posao između svojih zaposlenika tako da bude napravljen u najk raćem mogućem vremenskom roku. Cilj ovih problema je optimizacija, maksimiziranje korisnosti ili minimiziranje troškova.
2. PRINCIPI SIMPLEKS METODE
Simpleks metoda spada u kategoriju numeričkih iterativnih metoda1 gdje se polazi od nekog dopustivog rješenja (početno bazično rješenje) koje se u nizu koraka (iteracija) poboljšava dok se ne postigne optimalno rješenje u skladu sa postavljenim ciljem. Simpleks metoda predstavlja opšti algoritam za rješavanje svih oblika zadataka linearnog programiranja 2. Simpleks metoda sastoji se iz dvije faze: 1. svođenje opšteg/standardnog oblika linearnog modela na kanonski oblik 2. i simpleks algoritam koji sadrži:
Korak 1. Određivanje dopustivog bazičnog rješenja i
Korak 2. Poboljšanje dobijenog bazičnog rješenja kroz konačan broj koraka-
iteracija. 2.1.
SvoĎenje modela linearnog programiranja na kanonski oblik
Svođenje opšteg/standardnog oblika linearnog modela na kanonski oblik koji obezbjeđuje dopustivo početno bazično r iješenje (Xj > 0) vrši se u zavisnosti od oblika ograničenja i vrste linearnog problema. Uvođenjem artificijelnih promjenljivih dobija se takav kanonski oblik modela koji je pogodan za r iješavanje simpleks metodom i udovoljava slijedećim uslovima: 1. Sve promjenljive (realne, dopunske i artificijelne) u modelu su nenegativne. 2. Sva ograničenja predstavljena su linearnim jednačinama. 3. U svakom ograničenju sve promjenljive se nalaze na lijevoj strani, a slobodni koeficijenti (b ,i i =1,m) su na desnoj strani jednačina. 4. Slobodni koeficijenti u ograničenjima su nenegativni. 5. Matrica strukturnih koeficijenata u ograničenjima A sadrži bar jednu jediničnu matricu sa m kolona i m redova kao svoju submatricu. Postupak svođenja opšteg oblika modela linearnog programiranja na kano nski oblik, prikazan je u Tabeli 1. Tabela 1. Svođenje modela na kanonski oblik 3 Og raničenje oblika
Koeficijenti u funkciji cilja za uvedene promjenljive
Na lijevoj strani ograničenja uvode se promjenljive max
DOP min ART
ART ≤ = ≥ 1 2 3
+DOP +ART -DOP+ART
0 0
-M -M
lat. iteratio - ponavljati, obnavljati
Zahirović, S., Kozarević S., Metode optimizacije u poslovnom odlučivanju, str.35 Zahirović, S., Kozarević S., Metode optimizacije u poslovnom odlučivanju, str.36
DOP
0 0
M M
Dopunske ili izravnavajuće promjenljive (DOP) dodaju se na lijevoj strani ograničenja oblika nejednačina ≤ i oduzimaju od lijeve strane ograničenja oblika nejednačina ≥. Pošto dopunske promjenljive ne izazivaju troškove i ne donose dobit, to su im koeficijenti u funkciji cilja jednaki nuli. Artificijelne (umjetne ili vještačke) promjenljive (ART) uvode se samo kao računsko i metodološko sredstvo u simpleks algoritmu sa ciljem da se obezbijedi dopustivo bazično rješenje, tako da nemaju neko ekonomsko tumačenje, za razliku od dopunskih promjenljivih. Da bi se obezbijedio izlazak svih artificijelnih promjenljivih iz bazičnog rješenja u funkciji cilja im se pridružuje koeficijent -M kod maksimum - problema linearnog programiranja, odnosno +M kod linearnog minimum - problema. Inače, koeficijent M je nespecificirano veliki pozitivan broj. Dokle god se neka artificijelna promjenljiva nalazi u bazičnom rješenju dobijeno rješenje je neupotrebljivo, odnosno kada u bazičnom rješenju nema niti jedne artificijelne promjenljive dobija se prvo upotrebljivo rješenje.
OdreĎivanje dopustivog bazičnog rješenja
2.2.
Nakon svođenja modela linearnog programiranja na kanonski oblik neophodno je odrediti početno dopustivo bazično iješenje. Dopustivo bazično rješenje podrazumijeva svako dopustivo (moguće) rješenje u kome nema više od m pozitivnih vrijednosti promjenljivih (odnosno onoliko koliko ima ograničenja). Dopustivo bazično r iješenje može biti:
nedegenerisano - ima tačno m pozitivnih vrijednosti promjenljivih,
degenerisano - ima manje od m pozitivnih vrijednosti promjenljivih.
Promjenljive u kanonskom obliku modela linearnog programiranja, odnosno u simpleks metodi klasifikuju se na nebazične i bazične promjenljive. Nebazične promjenljive su promjenljive koje se izjednačavaju sa nulom, dok bazične promjenljive predstavljaju tzv. bazu i imaju vrijednost veću od nule (može postojati i degeneracija) i ima ih onoliko koliko ima ograničenja. Osobine dopustivog bazičnog rješenja su:
sadrži sve pozitivne vrijednosti promjenljivih osim u slučaju degeneracije,
svaka promjenljiva koja ga čini može se pojaviti samo u jednom ograničenju sa strukturnim koeficijentom 1, tj. strukturni koeficijenti u ograničenjima uz bazične promjenljive čine jediničnu matricu,
vrijednosti promjenljivih koje čine dopustivo početno bazično rješenje jednake su
slobodnim koeficijentima u ograničenjima a to su: -
dopunske promjenljive uvedene u ograničenje oblika nejednačina ≤ i
-
artificijelne promjenljive uvedene u ograničenja oblika jednačina i nejednačina ≥.
Nakon određivanja početnog bazičnog rješenja može se ući u provjeru optimalnosti dobijenpg rješenja i njegovo eventualno poboljšanje. 2.3.
Poboljšanje dobijenog bazičnog rješenja
Pošto je simpleks metoda numerička iterativna metoda koja polazi od nekog početnog bazičnog dopustivog rješenja, postupak optimizacije se postiže putem iteracija. Svaka iteracija sastoji se od tri koraka: Korak 1. Utvrđivanje da li je dobijeno rješenje optimalno i ako nije određuje se promjenljiva koja treba da uđe u bazu (neka nebazična promjenljiva prelazi u status bazične promjenljive):
ako je linearni model za maksimum logično (ali ne i neophodno) je uvesti u bazu promjenljivu koja najviše povećava funkciju cilja,
ako je linearni model za minimum logično je uvesti u bazično rješenje promjenljivu koja najviše smanjuje funkciju cilja.
Korak 2. Određivanje promjenljive koja napušta bazu (neka bazična promjenljiva prelazi u status nebazične promjenljive). S obzirom da nova bazična promjenljiva određena u koraku 1. zamjenjuje drugu promjenljivu koja napušta bazu, vrijednost nove promjenljive ne smije imati toliku vrijednost da neka od ostalih bazičnih promjenljivih postane negativna. Na ovaj način dobija se novo bazično rješenje. Korak 3. Transformacija koeficijenata sistema jednačina, odnosno elemenata simpleks tabele i koeficijenata u kriteriju optimalnosti r iješenja, nakon čega se vraća na korak 1. Utvrđivanjem promjenjive koja napušta bazu i promjenljive koja ulazi u bazu umjesto nje, stvorili su se uslovi da se izvrši transformacija koeficijenta u sistemu jednačina (strukturni koeficijenti i slobodni koeficijenti u ograničenjima) i koeficijenta u kriteriju optimalnosti riješenja, odnosno metode. Prvo se nova bazična promjenljiva izražava u zavisnosti od nebazičnih promjenljivih, a potom i ostale bazične promjenljive u zavisnosti od ostalih nebazičnih promjenljivih. Takođe se i kriterij optimalnosti rješenja izražava u funkciji od nebazičnih promjenljivih. U zavisnosti od usvojenog postupka simpleks metode ova transformacija se provodi rješavanjem sistema jednačina u skladu sa novim bazičnim
rješenjem, odnosno novim nebazičnim promjenljivim ili korištenjem odgovarajućih formula. Simpleks metoda može se provoditi:
rješavanjem sistema jednačina,
tabelarno,
matrično i si. 2.4.
Simpleks metoda zasnovana na rješavanju sistema jednačina
Simpleks metoda zasnovana na rješavanju sistema jednačina polazi od kanonskog oblika modela. Potom se dobijeni sistem jednačina (bez funkcije cilja) riješi po bazičnim promjenljivim, odnosno bazične promjenljive se izražavaju zavisnosti od nebazičnih promjenljivih. Supstitucijom na ovaj način dobijenih bazičnih promjenljivih u funkciju cilju dobija se kriterij optimalnosti r iješenja, odnosno metode na osnovu koga se utvrđuje optimalnost dobijenog rješenja. Na osnovu riješenog početnog sistema je dnačina po bazičnim promjenljivim i utvrđenog kriterija optimalnosti u iterativnom postupku opisanom u prethodnom dijelu može se doći do optimalnog r iješenja. 3.
RJEŠAVANJE OPŠTEG PROBLEMA LINEARNOG PROGRAMIRANJA ZA MAKSIMUM POMOĆU SMPLEKS TABELE
Polazi se od kanonskog oblika linearnog modela: Z = C1X1+ C2X2 + ..+ CSXS + ..+ CnXn + Cn+1Xn+1+ ..+ Cn+r Xn+r + ...→max p.o. a11 x1
a12 x 2
... a1n x n
x n
a 21 x1
a 22 x 2
... a 2n x n
x n
1
2
a1
a2
a m1 x1
a m2 x 2
... a mn x n
x n m
am
x j≥0; j=1,2,....n, n+1,.... Simpleks tabela se sastavlja da bi se model linearnog programiranja u kanonskom obliku predstavio na tabelaran način pogodan za rješavanje simpleks algoritmom. Simpleks algoritam kod tabelarnog postupka rješavanja linearnog modela sastoji se iz niza iteracija gdje se početno i svako poboljšano bazično rješenje predstavlja odgovarajućom simpleks tabelom. Određivanje početnog bazičnog rješenja i izračunavanje kriterija optimalnosti provodi se prilikom konstrukcije početne simpleks tabele. Forma početne simpleks tabele prikazana je u Tabeli 2.
Tabela 1. Početna simpleks tabela4 C
j Cn+1 Cn+2 . . Cn+r . .
Baza Xn+1 Xn+2 . . Xn+r . . Z-C
Xo a10 a20 . . ar0 . . am+1,0
c 1
c 2
.....
c s
x 1
x 2
.....
x s
a11 a12
a11 a11
ar1
ar2
am+1,1
am+1,2
…..
…..
…..
….
a1s a2s
ars
…..
…..
…..
…..
…...
am+1,s
….
Kod konstrukcije početne simpleks tabele prema Zahiroviću 5 potrebno je koristiti sl jedeća pravila:
Kanonski oblik linearnog modela je osnova za konstrukciju po četne simpleks tabele.
Zaglavlje tabele (drugi i prvi red) sadr ži sve promjenljive (strukturne, dopunske i artificijelne) i njihove odgovarajuće koeficijente u f unkciji cilja.
U drugu kolonu označenu kao "Baza" upisuju se promjenljive koje čine početno bazično rješenje.
Prva kolona sadr ži koeficijente u funkciji cilja bazičnih promjenljivih. U treću kolonu koja je označena sa "x 0 " upisuju se vrijednosti odgovarajućih ba zi čnih promjenljivih (početno bazično rješenje). Ostale kolone simpleks "xi",
"x2" itd.,
tabele
koje odgovaraju promjenljivim iz kanonskog oblika linearnog
modela, sadr že strukturne koeficijente promjenljivih iz sistema ograničenja.
Red z-c (odnosno koeficijenti am+ij) predstavlja kriterij optimalnosti rješenja, odnosno simpleks metode. Računa se pomoću formule: am+1j =∑ iaij – c j j=1,2,.....
Prema Zahiroviću6 u svakoj simpleks iteraciji provodi se sljedeći postupak:
Korak 1. Ispitivanje optimalnosti rješenja i određivanje promjenljive koja postaje bazična (određivanje vodeće kolone).
4
Korak 2. Određivanje promjenljive koja napušta bazu (određivanje vodećeg reda).
Korak 3. Transformacija koeficijenata simpleks tabele.
Zahirović, S., Kozarević S., Metode optimizacije u poslovnom odlučivanju, str.38 Zahirović, S., Kozarević S., Metode optimizacije u poslovnom odlučivanju, str.38 6 Zahirović, S., Kozarević S., Metode optimizacije u poslovnom odlučivanju, str.40 5
START
Postavljanje početne simpleks tabele
am+1j>0? j=1,2,...
Vodeća kolona s=? Određuje se sa max{|am+1,j
< 0|}
Optimalno rješenje
Vodeći red r =? Određuje se sa
KRAJ
min{ aio/ais ^ as > 0}=
Izračunavanje elemenata nove simpleks tabele '
-Vodeći red arj=
'
'
-ostali redovi arj =aij- arj ais
Slika 1. Blok dijagram za opšti maksimum7
Korak I. Ispitivanje optimalnosti r iješenja i određivanje promjenljive koja postaje bazična (određivanje vodeće kolone). Posljednji red simpleks tabele predstavlja kriterij optimalnosti simpleks metode, odnosno kriterij optimalnosti rješanja na osnovu kojeg se utvrđuje da li je dobijeno rješenje optimalno 7
Zahirović, S., Kozarević S., Metode optimizacije u poslovnom odlučivanju, str.39
ili ne, odnosno da li se može još poboljšavati. Poboljšanje programa podrazumijeva prelazak neke od nebazičnih promjenljivih u status bazične promjenljive, koja može obezbijediti da kod maksimum problema linearnog programiranja dođe do povećanja vrijednosti funkcije cilja. Ako su svi koeficijenti u redu z-c veći ili jednaki nuli, dobijeno je optimalno rješenje. U suprotnom slučaju dobijeno rješenje se može poboljšavati. U modelu za maksimum promjenljivu koja ulazi u bazu određuje najmanji negativni koeficijent am+1j ili najveći po apsolutnoj vrijednosti negativni koeficijent a m+1j , odnosno: max{z j -c j <0}=max{|am+1,j <0|} j=1,2,... Ako je to koeficijent am+1,j onda je kolona s vodeća kolona, a promjenljiva x s ulazi u bazu. Vodeća kolona simbolički se označava sa ↑. Korak 2. Određivanje promjenljive koja napušta bazu (određivanje vodećeg reda). Da bi se odredio vodeći red neophodno je izračunati količnike vrijednosti bazičnih promjenljivih (kolona "x0”) i odgovarajućih strogo pozitivnih elemenata iz prethodno određene vodeće kolone. Najmanja vrijednost izračunatih količnika određuje koji je vodeć i red, odnosno koja promjenljiva napušta bazu. Matematički se određivanje vodećeg reda vrši utvrđivanjem minimalne vrijednosti količnika:
min{
} ^ ais > 0.
Neka je to r-ti red, tj. min min{
^ ais > 0}=
.
Koeficijent koji se nalazi na na presjeku vodećeg reda i vodeće kolone naziva se ključni broj koji se u tabeli posebno označava. Vodeći red se simbolički označava sa← . Promjenljiva koja se nalazi u vodećem redu napušta bazu, tj. prelazi iz statusa bazične u status nebazične promjenljive. Na njeno mjesto u narednoj simpleks tabeli će se upisati nova bazična promjenljiva određena u koraku 1. Korak 3. Transformacija koeficijenata simpleks tabele. Da bi se odredilo poboljšano rješenje neophodno je izračunati nove vrijednosti bazičnih promjenljivih i ostalih koeficijenata naredne simpleks tabele pomoću transformacija koeficijenata vodećeg reda i koeficijenata ostalih redova. Koeficijenti vodećeg reda transformišu se tako što se svaki koeficijent reda podijeli sa ključnim brojem, tj.
a'rj= , (j=0,1,2,....)
Transformacija koeficijenata ostalih redova vrši se korištenjem slijedećeg obrasca: Novi koeficijent
=
Stari koeficijent
-
Novi koeficijent iz iste kolone u vodećem redu
x
Stari koeficijent iz istog reda u vodećoj koloni
i ≠ r, (i=1,m+1), a'ij = aij - a'rj * ais = aij -
ais, (j =0,1,2,....)
Prilikom ručnog r iješavanja problema simpleks metodom mogu se iskoristiti slijedeće matematičke olakšice:
ako je u vodećoj koloni neki od koeficijenata jednak nuli, onda kod transformacije svi koeficijenti u redu sa nulom ostaju nepromijenjeni,
ako se u vodećem redu nalaze koeficijenti jednaki nuli, onda kod transformacije svi koeficijenti u koloni sa nulom ostaju nepromijenjeni.
Radi kontrole računskih operacija u svakoj simpleks tabeli koeficijenti u redu z-c trebaju udovoljavati obrascu koji se koristi kod formiranja početne simpleks tabele. Nakon izmjene bazičnog rješenja konstruiše se nova simpleks tabela sa novim bazičnim promjenljivim i transformisanim vrijednostima koeficijenata svih redova simpleks tabele, te se vraća na korak 1 (ispitivanje optimalnosti rješenja itd.) i ponavlja se cjelokupni postupak kroz naredne iteracije dok se ne dobije optimalno r iješenje, odnosno dok se ne dobije da su svi koeficijenti u redu z-c veći ili jednaki nuli.
4.
RJEŠAVANJE OPŠTEG PROBLEMA LINEARNOG PROGRAMIRANJA ZA MINIMUM
POMOĆU SIMPLEKS TABELE
Rješavanje problema linearnog programiranja za minimum razlikuje se u odnosu na simpleks algoritam za maksimum samo u koraku 1, dok su ostali koraci identični (određivanje vodećeg reda i transformacija koeficijenata).
START
Postavljanje početne simpleks tabele
am+1j>0? j=1,2,...
Vodeća kolona s=? Određuje se sa max{|am+1,j
>
0|}
Vodeći red r =? Određuje se sa
min{ aio/ais ^ as > 0}=
Izračunavanje elemenata nove simpleks tabele '
-Vodeći red arj=
' ' -ostali redovi arj =aij- arj ais
Slika 2. Blok dijagram za opšti minimum8
8
Optimalno rješenje
Zahirović, S., Kozarević S., Metode optimizacije u poslovnom odlučivanju, str.42
KRAJ
Korak 1. Ispitivanje optimalnosti r iješenja i određivanje promjenljive koja postaje bazična (određivanje vodeće kolone). Kao i kod simpleks tabele za maksimum, posljednji red simpleks tabele z-e predstavlja kriterij optimalnosti metode na osnovu kojeg se utvrđuje da li je dobijeno optimalno rješenje ili ne, odnosno da li se dobijeno rješenje može još poboljšavati. Poboljšanje rješenja, odnosno programa podrazumijeva prelazak neke od nebazičnih promjenljivih u bazične, tako da kod minimum
- problema linearnog
programiranja dođe do smanjenja vrijednosti funkcije cilja. Ako su svi koeficijenti u redu z-c manji ili jednaki nuli, dobijeno je optimalno rješenje minimum - problema linearnog programiranja. U suprotnom slučaju dobijeno rješenje može se poboljšati. U linearnom modelu za minimum promjenljivu koja ulazi u bazu određuje najveći pozitivni koeficijent am+1j, , odnosno: max{z j -c j >0}=max{|am+1,j >0|} j=1,2,... Ako je to koeficijent am+1,s onda je kolona s vodeća kolona, a promjenljiva x s ulazi u bazu. Vodeća kolona simbolički se označava sa↑. Ostali koraci simpleks algoritma za minimum identični su sa onim razmatranim kod r ješavanja linearnog modela za maksimum.
5.
ZAKLJUČAK
Simpleks metodom se rješavaju veoma kompleksni privredni problemi pa je zbog njene široke zastupljenosti u privredi razvijeno nekoliko računarskih programa na osnovu njenog algoritma. Od prve ugradnje simpleks algoritma u računar ske programe pa sve do danas, uz mnoge napore i pokušaje pronalaska boljih načina za rješavanje problema linearnog programiranja, zadr žana je prvobitna forma. Sama ova činjenica govori koliko je važna i nezamjenjiva simpleks metoda kod r ješavanja problema u privredi, a pogotovo kod rješavanja problema alokacije resursa. Na osnovu predočenih činjenica možemo zaključiti da ne postoji literatura koja se bavi proučavanjem rješavanja problema alokacije resursa u kojoj se istovremeno ne spominje simpleks metoda kao način rješenja problema.
6. LITERATURA
1. Zahirović, S., Kozarević S., Metode optimizacije u poslovnom odlučivanju, Infograf, Tuzla, 2005, 2. https://bs.wikipedia.org/