analiza osjetljivosti i višestruki optimumid.researchbib.com/f/4nbqt1zmlhptez.pdf · linearnog...
TRANSCRIPT
P – 150
Primal i dual problema LP-a:
analiza osjetljivosti i višestruki optimumi
Bože Plazibat
Sveučilište u Splitu, Sveučilišni odjel za stručne studije, Split, Hrvatska
Ivana Antunović, student
Sveučilište u Splitu, Sveučilišni odjel za stručne studije, Split, Hrvatska
Lada Reić
Sveučilište u Splitu, Sveučilišni odjel za stručne studije, Split, Hrvatska
Sažetak. U radu su prikazana rješenja niza praktičnih primjera iz područja linearnog programiranja
dostupnih u literaturi s pomoću Excelovog alata Solver. Uz rješenja primala razmatrana su i rješenja
duala odabranih problema. Izvršena je usporedba dobivenih rezultata. Temeljni cilj rada bio je
utvrđivanje međusobne povezanosti podataka koje Solver nudi u svojim izvještajima Answer Report i
Sensitivity Report: cijene u sjeni, odnosno marginalnog troška (shadow prices), oportunitetnog troška
(reduced costs), koeficijenata funkcije cilja (objective coefficients) te desnih strana ograničenja
(constraints right hand sides) za primal i za dual razmatranog problema. Posebno su analizirani
problemi višestrukih optimumima (multiple optima) i mogućnosti njihove detekcije analizom podataka
u izvještajima o osjetljivosti primala, odnosno duala razmatranih problema.
Ključne riječi: linearno programiranje, primal i dual, Solver, analiza osjetljivosti, višestruki optimumi
1. Uvod
U uvjetima žestoke konkurencije na tržištu, težnje ka smanjenju troškova i ostvarivanju
maksimalne moguće dobiti, a zahvaljujući između ostalog i razvoju računala, modeli i metode
operacijskih istraživanja postaju sve veća i sve snažnija potpora menadžerskom odlučivanju.
Linearno je programiranje svakako najpoznatija, najpopularnija i najčešće korištena metoda
operacijskih istraživanja [1, 3].
Uz mnogobrojne prednosti, primjena ove metode ima i niz značajnih nedostataka koji se
mogu svesti na sljedeće [7]:
- formuliranje linearne funkcije cilja u matematičkom obliku može biti vrlo složena
zadaća, a i kada se ta funkcija definira teško je odrediti socijalna, institucijska,
financijska i druga ograničenja,
- prikazivanje razmatranog problema baš u obliku linearnih jednadžba i nejednadžba
može dovesti do odstupanja od realiteta samog problema (podrazumijevaju se
idealni uvjeti i u procesu proizvodnje i na tržištu) koje se ne može zanemariti,
- vrlo je teško odrediti relevantne vrijednosti brojčanih parametara koji se pojavljuju u
opisu problema, kako koeficijenata funkcije cilja tako i koeficijenata lijevih i desnih
strana pojedinih ograničenja,
- rješenje problema optimuma u slučaju linearnog programiranja dobivaju se metodom
pokušaja i pogreške i teško je ustvrditi stvarnu, realnu vrijednost optimuma različitih
poslovnih situacija.
P – 151
Navedeni se nedostatci ublažavaju, između ostalog, detaljnom analizom osjetljivosti rješenja.
Ta je analiza, u slučaju linearnog programiranja, vrlo jednostavna i sadržajna, dijelom
zahvaljujući i konceptu dualiteta.
Za rješavanje problema linearnog programiranja se koriste različiti programski paketi kao
Lindo, Winqsb i slični, a dobro može poslužiti i Excelov alat Solver [6]. Svi oni koriste u
rješavanju Simplex algoritam kojega je svijetu predstavio J. Dantzig još 1957. godine.
Korištenje Solvera ograničeno je na probleme do 200 varijabla odlučivanja i 500 ograničenja,
a jedan je od ključnih nedostataka u tomu što kod problema s višestrukim optimumima Solver
daje samo jedno bazično optimalno rješenje.
Sve navedeno je rezultiralo motivacijom za izradu ovog rada: utvrđivanje međusobne
povezanosti podataka koje Solver nudi u svojim izvještajima Answer Report i Sensitivity Report:
cijene u sjeni, odnosno marginalnog troška (shadow prices), oportunitetnog troška (reduced costs),
koeficijenata funkcije cilja (objective coefficients) te desnih strana ograničenja (constraints right hand
sides) za primal i za dual razmatranog problema [5].
Posebno je razmatrana mogućnost detekcije višestrukih optimuma temeljem podataka koje Solver nudi
u svojim izvještajima o osjetljivosti rješenja.
2. Matematičke osnove
Svakom problemu linearnog programiranja (primalu), bilo da se radi o traženju maksimuma
ili minimuma funkcije cilja, pripada odgovarajući problem traženja minimuma odnosno
maksimuma koji se naziva dualom razmatranog problema [5].
Koncept dualiteta može se svrstati u jedno od najznačajnijih otkrića u razvoju teorije
linearnog programiranja.
Uzajamni odnosi primala i duala od osobitog su značaja u analizi osjetljivosti problema
linearnog programiranja.
2.1 Primal i dual u algebarskom zapisu [3]
Algebarski zapisi primala i duala problema linearnog programiranja, kada je problem primala
standardni problem maksimuma, prikazani su u tablici 1.
Tablica 1 Primal standardnog problema maksimuma i njegov dual u algebarskom zapisu
PRIMAL DUAL
Odredi maksimum funkcije cilja:
1 1 2 2 ... ...CP i i n nF c x c x c x c x
uz ograničenja
11 1 12 2 1 1 1... ...i i n na x a x a x a x b
21 1 22 2 2 2 2... ...i i n na x a x a x a x b
...
1 1 2 2 ... ...j j ji i jn n ja x a x a x a x b
...
1 1 2 2 ... ...m m mi i mn n ma x a x a x a x b
i nenegativne varijable odlučivanja
1 20, 0, ... 0, ... 0i nx x x x .
Odredi minimum funkcije cilja:
1 1 2 2 ... ...CD j j m mF b y b y b y b y
uz ograničenja
11 1 21 2 1 1 1... ...j j m ma y a y a y a y c
12 1 22 2 2 2 2... ...j j m ma y a y a y a y c
...
1 1 2 2 ... ...i i ji j mi m ia y a y a y a y c
...
1 1 2 2 ... ...n n jn j mn m na y a y a y a y c
i nenegativne varijable odlučivanja
1 20, 0, ... 0, ... 0j my y y y .
P – 152
Algebarski zapisi primala i duala problema linearnog programiranja, kada je problem primala
standardni problem minimuma, prikazani su u tablici 2.
Tablica 2 Primal standardnog problema minimuma i njegov dual u algebarskom zapisu
PRIMAL DUAL
Odredi minimum funkcije cilja:
1 1 2 2 ... ...CP i i n nF c x c x c x c x
uz ograničenja
11 1 12 2 1 1 1... ...i i n na x a x a x a x b
21 1 22 2 2 2 2... ...i i n na x a x a x a x b
...
1 1 2 2 ... ...j j ji i jn n ja x a x a x a x b
...
1 1 2 2 ... ...m m mi i mn n ma x a x a x a x b
i nenegativne varijable odlučivanja
1 20, 0, ... 0, ... 0i nx x x x .
Odredi maksimum funkcije cilja:
1 1 2 2 ... ...CD j j m mF b y b y b y b y
uz ograničenja
11 1 21 2 1 1 1... ...j j m ma y a y a y a y c
12 1 22 2 2 2 2... ...j j m ma y a y a y a y c
...
1 1 2 2 ... ...i i ji j mi m ia y a y a y a y c
...
1 1 2 2 ... ...n n jn j mn m na y a y a y a y c
i nenegativne varijable odlučivanja
1 20, 0, ... 0, ... 0j my y y y .
Veličine prikazane u izrazima prikazanim u tablicama 1 i 2 su:
CPF , CDF - funkcija cilja primala, odnosno duala
, 1, 2, ...,ix i n - varijable odlučivanja primala
, 1, 2, ...,jy j m - varijable odlučivanja duala
, 1, 2, ..., ; 1, 2, ...,ija i n j m - koeficijenti lijevih strana ograničenja primala
, 1, 2, ..., ; 1, 2, ...,jia j m i n - koeficijenti lijevih strana ograničenja duala
, 1, 2, ...,ic i n - koeficijenti funkcije cilja primala, odnosno koeficijenti desne strane
ograničenja duala
, 1, 2, ...,jb j m - koeficijenti desne strane ograničenja primala, odnosno koeficijenti
funkcije cilja duala.
2.2 Primal i dual u matričnom zapisu [3]
Matrični zapisi primala i duala problema linearnog programiranja, kada je problem primala
standardni problem maksimuma, prikazani su u tablici 3.
Tablica 3 Primal standardnog problema maksimuma i njegov dual u matričnom zapisu
PRIMAL DUAL
Odredi maksimum funkcije cilja:
T
CPF c x
uz ograničenja
A x b
i nenegativne varijable odlučivanja
x 0 .
Odredi minimum funkcije cilja:
T
CDF b y
uz ograničenja T A y c
i nenegativne varijable odlučivanja
y 0 .
Matrični zapisi primala i duala problema linearnog programiranja, kada je problem primala
standardni problem minimuma, prikazani su u tablici 4.
P – 153
Tablica 4 Primal standardnog problema minimuma i njegov dual u matričnom zapisu
PRIMAL DUAL
Odredi minimum funkcije cilja:
T
CPF c x
uz ograničenja
A x b
i nenegativne varijable odlučivanja
x 0 .
Odredi maksimum funkcije cilja:
T
CDF b y
uz ograničenja
T A y c
i nenegativne varijable odlučivanja
y 0 .
U danim je izrazima:
1
2
...
...
i
n
x
x
x
x
x ; 1 2, , ..., , ...,T
i nc c c cc ,
1
2
...
...
i
n
c
c
c
c
c ;
1
2
...
...
j
m
b
b
b
b
b , 1 2, , ..., , ...,T
j mb b b bb ;
1
2
...
...
j
m
y
y
y
y
y
gdje je x – vektor varijabla odlučivanja primala, cT – vektor koeficijenata funkcije cilja
primala, c - vektor koeficijenata desne strane ograničenja duala, b – vektor koeficijenata
desne strane ograničenja primala, bT – vektor koeficijenata funkcije cilja duala, y – vektor
varijabla odlučivanja duala, dok je A – matrica koeficijenata lijevih strana ograničenja
primala, a AT – matrica koeficijenata lijevih strana ograničenja duala:
11 12 1 1
21 21 2 2
1 2
1 2
... ...
... ...
...
... ...
...
... ...
i n
i n
j j ji jn
m m mi mn
a a a a
a a a a
a a a a
a a a a
A ,
11 21 1 1
12 22 2 2
1 2
1 2
... ...
... ...
...
... ...
...
... ...
j m
j m
T
i i ji jn
n n jn mn
a a a a
a a a a
a a a a
a a a a
A .
2.3 Višestruki optimumi
Donositelju odluke vrlo je važno znati postoji li uz dobiveno optimalno rješenje O1x i neko
drugo, alternativno optimalno rješenje O2x , odnosno postoji li neka druga kombinacija
vrijednosti varijabla odlučivanja za koju će funkcija cilja imati istu optimalnu vrijednost.
Ako razmatrani problem linearnog programiranja ima dva bazična optimalna rješenja O1x i
O2x , tada su sve konveksne kombinacije ta dva optimalna rješenja
OOO 21
* )1( xxx , 1,0
također optimalna rješenja tog problema.
Zaključuje se da u tom slučaju razmatrani problem ima beskonačno mnogo optimalnih
rješenja.
P – 154
3. Primjeri
Primjeri obrađeni u ovom radu su preuzeti iz udžbenika [2, 3]. Prvi je primjer [3] odabran za
usporedbu rezultata rješenja i analize osjetljivosti primala i duala razmatranog problema, dok
je u druga dva primjera, koji prema [2] imaju više od jednog optimalnog rješenja, prikazan
način detekcije postojanja višestrukih optimuma kao i način određivanja barem još jednog
bazičnog optimalnog rješenja s pomoću Excelovog alata Solver i duala razmatranog
problema.
3.1 Primjer 1: Proizvodni problem, [3, str. 230]
Poduzeće proizvodi tri vrste proizvoda: P1, P2 i P3. U tablici 5 prikazano je vrijeme (u
satima) koje je potrebno utrošiti na strojnu obradu, bojenje i kontrolu kvalitete svakog
pojedinog proizvoda, sati kojima poduzeće tjedno raspolaže za izvršavanje tih operacija kao i
dobit koja se ostvaruje po komadu svakog od proizvoda.
Tablica 5 Proizvodnja – ulazni podatci
Vrsta proizvoda Strojna obrada
u h
Bojenje
u h
Kontrola
kvalitete u h
Dobit po
komadu u kn
Proizvod P1 0,4 0,3 0,3 150
Proizvod P2 0,7 0,5 0,3 160
Proizvod P3 0,5 0,3 0,4 140
Tjedno raspoloživo vrijeme 72 48 36
Potrebno je odrediti plan tjedne proizvodnje koja će poduzeću donijeti najveću dobit.
3.1.1 Primal primjera 1
Ako se varijable odlučivanja (nenegativni brojevi) definiraju na sljedeći način: 1x – broj
komada proizvoda P1, 2x – broj komada proizvoda P2, te 3x – broj komada proizvoda P3,
tada je funkcija cilja (ukupna dobit poduzeća)
1 2 3150 160 140CPF x x x
koju treba maksimizirati uz sljedeća ograničenja:
- raspoloživo vrijeme za strojnu obradu
1 2 30,4 0,7 0,5 72x x x (1)
- raspoloživo vrijeme za bojenje
1 2 30,3 0,5 0,3 48x x x (2)
- raspoloživo vrijeme za kontrolu kvalitete
1 2 30,3 0,3 0,4 36x x x (3)
Na slici 1 prikazana je priprema podataka i rješenje primala s pomoću Solvera.
Slika 1 Primjer 1: rješenje primala
P – 155
Maksimalnu tjednu dobit od 18.600,00 kuna poduzeće će ostvariti proizvodnjom 60 komada
proizvoda P1 i P2, pri čemu se proizvod P3 neće proizvoditi.
3.1.2 Dual primjera 1
Funkcija cilja duala (prema izrazima danim u tablici 1), minimalni trošak (vrijednost)
raspoloživih resursa za zadanu razinu dobiti, glasi
1 2 372 48 36CDF y y y
i treba je minimizirati uz sljedeća ograničenja:
1 2 30,4 0,3 0,3 150y y y (1)
1 2 30,7 0,5 0,3 160y y y (2)
1 2 30,5 0,3 0,4 140y y y (3).
Varijable odlučivanja su jedinični interni (marginalni) troškovi resursa s kojima poduzeće
raspolaže: 1y – jedinična interna vrijednost strojne obrade (po satu), 2y – jedinična interna
vrijednost bojenja, te 3y – jedinična interna vrijednost kontrole kvalitete.
Prvo ograničenje duala znači vrijednost pripisanu proizvodnji jedne jedinice proizvoda P1
(0,4 h strojne obrade, 0,3 h bojenja i 0,3 sati kontrole kvalitete) koja ne može biti manja od
dobiti po jedinici tog proizvoda (150 kuna). Na isti se način mogu opisati ograničenja (2) i (3)
duala.
Na slici 2 prikazana je priprema podataka i rješenje duala s pomoću Solvera.
Slika 2 Primjer 1: rješenje duala
Minimalni trošak resursa koji će poduzeće ostvariti je 18.600,00 kuna uz interne vrijednosti
od 50 kuna po satu bojenja i 450 kuna po satu kontrole kvalitete.
3.1.3 Usporedba podataka analize osjetljivosti primala i duala primjera 1.
Podaci o analizi osjetljivosti primjera 1. dobiveni s pomoću Solvera dani su na slici 3.
Iz prikazanih podataka slijedi da je (sukladno brojevima označenim na slici 3):
- 1: optimalne vrijednosti varijabla odlučivanja primala jednake su cijenama u sjeni
(marginalnim troškovima) duala,
- 2: optimalne vrijednosti varijabla odlučivanja duala jednake su cijenama u sjeni
(marginalnim troškovima) primala
- 3: koeficijenti funkcije cilja primala kao i raspon njihove moguće promjene (najveće
moguće povećanje odnosno smanjenje) jednaki su desnim stranama odgovarajućih
ograničenja duala kao i rasponima mogućih promjena tih desnih strana,
- 4: koeficijenti funkcije cilja duala kao i raspon njihove moguće promjene (najveće
moguće povećanje odnosno smanjenje) jednaki su desnim stranama odgovarajućih
ograničenja primala kao i rasponima mogućih promjena tih desnih strana,
- 5: oportunitetni trošak (reducirani trošak), tj. smanjenje funkcije cilja primala za
svaki proizvedeni komad P3 (kojega nema u optimalnom planu proizvodnje) jednak
je razlici desne strane odgovarajućeg ograničenja duala i konačne vrijednosti lijeve
P – 156
strane tog ograničenja duala, odnosno negativnoj vrijednosti dopuštenog povećanja
desne strane tog ograničenja,
- 6: oportunitetni trošak (reducirani trošak), tj. povećanje funkcije cilja za svaki dodani
sat resursa strojne obrade (čija je interna vrijednost jednaka nuli) jednak je razlici
desne strane odgovarajućeg ograničenja primala i konačne vrijednosti lijeve strane
tog ograničenja primala, odnosno vrijednosti dopuštenog smanjenja desne strane tog
ograničenja.
Slika 3 Podatci o analizi osjetljivost: a) primala, b) duala, i njihova povezanost
Iz podataka o analizi osjetljivosti rješenja primala razmatranog primjera (sl. 3.a) može se
zaključiti sljedeće:
- bazično rješenje problema osjetljivo je na promjenu razine dobiti po pojedinom
proizvodu: dopušteno povećanje dobiti po proizvodu P1 je 10 kuna (6,7%), a
dopušteno smanjenje 30 kuna (20%), dok je dopušteno smanjenje dobiti po
proizvodu P2 10 kuna (6,3%),
- raspoloživi sati za bojenje i za kontrolu kvalitete uska su grla proizvodnje; povećanje
raspoloživog vremena za kontrolu kvalitete za 1 sat povećalo bi optimalnu funkciju
cilja (maksimalnu dobit) za 450 kuna,
- ako se poduzeće ipak odluči proizvesti određenu količinu proizvoda P3 maksimalna
dobit će se smanjiti za 55 kuna po svakom tom proizvodu.
3.2 Primjer 2: Raspodjela radnog vremena – Hitna pomoć, [2, str. 186]
U stanici hitne pomoći raspored radnog vremena (dežurstava) zahtijeva brojno stanje
medicinskog osoblja koje je prikazano u tablici 6.
P – 157
Stupanje medicinskog osoblja na posao je svakoga dana u 0, 4, 8, 12, 16 i 20 sati, a radi se 8
sati neprekidno.
Kako izgleda raspored dežurstava koji će značiti najmanje troškove za ustanovu?
Tablica 6 Hitna pomoć – ulazni podatci
Vremenski interval 0-4 4-8 8-12 12-16 16-20 20-24
Potreban broj medicinskog osoblja 10 6 20 18 12 16
troškovi dežurstva po osobi i satu u kn 495 396 330 330 330 396
3.2.1 Primal primjera 2
Ako se s ix označi broj osoba koje dolaze na posao na početku i-tog intervala vremena (a
takvih intervala ima 6) i ako te osobe ostaju na poslu sljedećih 8 sati, bit će varijable
odlučivanja: 1x - broj osoba koje dolaze u 0:00 sati i rade do 8:00, 2x - broj osoba koje dolaze
u 4:00 sati i rade do 12:00, 3x - broj osoba koje dolaze u 8:00 sati i rade do 16:00, 4x - broj
osoba koje dolaze u 12:00 sati i rade do 20:00, 5x - broj osoba koje dolaze u 16:00 sati i rade
do 24:00, te 6x - broj osoba koje dolaze u 20:00 sati i rade do 4:00 idućeg dana.
Troškovi dežurstava su sljedeći: osoba koja dolazi u 0:00 sati (njih 1x ) radi 4 sata uz cijenu
sata 495 kuna i 4 sata uz cijenu sata od 396 kuna pa je trošak dežurstva te osobe
356439644954 kune; osoba koja dolazi u 4:00 sati (njih 2x ) radi uz ukupni trošak
dežurstva 290433043964 kuna; osoba koja dolazi u 8:00 sati (njih 3x ) kao i osoba
koja dolazi u 12:00 sati (njih 4x ) radi svih 8 sati uz cijenu sata 330 kuna pa je ukupni trošak
dežurstva te osobe 26403308 kuna; osoba koje dolazi u 16:00 sati (njih 5x ) radi 4 sata uz
cijenu sata 330 kuna, te 4 sata uz cijenu sata od 396 kuna pa je cijena dežurstva te osobe 2904
kune; te konačno, osoba koja dolazi u 20:00 sati (njih 6x ) radi 4 sata uz cijenu sata 396 kuna,
a 4 sata uz cijenu sata od 495 kuna pa je cijena dežurstva te osobe 3564 kune.
Prema tome, funkcija cilja primala (ukupni troškovi dežurstava) je
1 2 3 4 5 43564 2904 2640 2640 2904 3564CPF x x x x x x
a ograničenja koja slijede iz potrebnog brojnog stanja osoblja u pojedinim intervalima su
1 2 6x x (1), 2 3 20x x (2), 3 4 18x x (3)
4 5 12x x (4), 5 6 16x x (5), 6 1 10x x (6).
Na slici 4 prikazana je priprema podataka i rješenje s pomoću Solvera.
Slika 4 Primjer 2: rješenje primala
P – 158
Slika 5 Primjer 2: podatci o analizi osjetljivosti koeficijenata funkcije cilja primala
Dakle, najmanji trošak dežurstava u iznosu od 123.288,00 kuna Hitna će pomoć imati uz
varijable odlučivanja 61 ox , 02 ox , 203 ox , 04
ox , 125 ox , te 46 ox .
Međutim, iz podataka o analizi osjetljivosti koeficijenata funkcije cilja primala (slika 5) može
se vidjeti da je oportunitetni trošak uz varijable 2x i 4x , čijae je vrijednost u optimalnom
rješenju jednaka nuli, također jednaka nuli. Proizlazi da se funkcija cilja neće promijeniti niti
ako te varijable poprime neku vrijednost različitu od nule. Budući da se u tom slučaju moraju
promijeniti vrijednosti i nekih drugih varijabla odlučivanja to upućuje na postojanje barem još
jednog optimalnog rješenja.
Kod korištenja Solvera može se pokazati da cijene u sjeni (marginalni troškovi) duala
razmatranog problema jesu varijable odlučivanja drugog bazičnog optimalnog rješenja. Ovo
se može objasniti algoritmom koji se koristi u Simpleks metodi i „putanjom“ kojom se dolazi
do optimuma u slučaju traženja maksimuma funkcije cilja primala, odnosno minimuma
funkcije cilja duala.
3.2.2 Dual primjera 2
Funkcija cilja duala prema tablici 1 glasi
1 2 3 4 5 66 20 18 12 16 10CDF y y y y y y
i treba je maksimizirati uz sljedeća ograničenja:
1 2 3564y y (1), 1 2 2904y y (2), 2 3 2640y y (3)
3 4 2640y y (4), 4 5 2904y y (5), 5 6 3564y y (6).
Na slici 2 prikazana je priprema podataka i rješenje duala s pomoću Solvera.
Slika 6 Primjer 2: rješenje duala
Drugo bazično optimalno rješenje primala razmatranog primjera je ono za koje varijable
odlučivanja primala poprimaju vrijednost odgovarajućih marginalnih troškova (cijena u sjeni,
shadow price) njegovoga duala, dakle: 21 0ox , 2
2 6ox , 23 16ox , 2 2
4 5 6o ox x , te 26 10ox , što
se može vidjeti iz podataka o analizi osjetljivosti ograničenja duala (sl. 7).
P – 159
Slika 7 Primjer 2: podatci o analizi osjetljivosti ograničenja duala
Rješenje se poklapa s odgovarajućim drugim optimalnim rješenjem dobivenim s pomoću
programa Winqsb [2, str. 188].
3.3 Primjer 3: Proizvodnja viskija, [2, str. 208]
Proizvođač viskija uvozi 3 vrste sirovina (A, B i C) različitih gradacija i miješa ih zavisno o
receptima koji specificiraju maksimalni i minimalni postotak tih sirovina u svakoj od vrsta
viskija koje proizvodi (Blue Dot, Highland Fling i Old Frenzy). Receptura i cijene viskija po
litri dana je u tablici 7.
Tablica 7 Proizvodnja viskija – specifikacija i cijene
Vrsta viskija Specifikacija Cijena po litri u €
Blue Dot ne manje od 60% sirovine A
ne više od 20% sirovine C 6,80
Highland Fling ne manje od 15% sirovine A
ne više od 20% sirovine C 5,70
Old Frenzy ne više od 50% sirovine C 6,00
Raspoložive dnevne količine sirovina A, B i C, kao i njihove nabavne cijene prikazane su u
tablici 8.
Tablica 8 Proizvodnja viskija – sirovine
Sirovina Dnevna količina u l Cijena po litri u €
A 2000 7
B 2500 5
C 1200 4
Zbog ugovorne klauzule proizvođač mora dnevno proizvesti najmanje 1000 litara Highland
Flinga. Odrediti plan proizvodnje koji će maksimizirati dnevno ostvarenu dobit.
3.3.1 Primal primjera 3
Ako se s 1x označi dnevno proizvedena količina Blue Dota, s 2x - dnevno proizvedena
količina Highland Flinga, a s 3x - dnevno proizvedena količina Old Frenzyja, tada se mogu
uvesti sljedeće varijable odlučivanja: A1x - količina sirovine A upotrijebljene za piće 1x , A2x
- količina sirovine A upotrijebljene za piće 2x , A3x - količina sirovine A upotrijebljene za
piće 3x , B1x - količina sirovine B upotrijebljene za piće 1x , B2x - količina sirovine B
upotrijebljene za piće 2x , B3x - količina sirovine B upotrijebljene za piće 3x , C1x - količina
sirovine C upotrijebljene za piće 1x , C2x - količina sirovine C upotrijebljene za piće 2x , te
C3x - količina sirovine C upotrijebljene za piće 3x .
P – 160
Ukupna količina dnevno proizvedenog viskija Blue Dot jednaka je zbroju količina sirovina A,
B i C umiješanih u taj viski
C1B1A11 xxxx
pa je dnevni prihod od prodaje viskija Blue Dot
C1B1A111 8,68,6 xxxxTR
Analogno vrijedi i za ostale dvije vrste viskija:
C2B2A22 xxxx , C2B2A222 7,57,5 xxxxTR
C3B3A33 xxxx , C3B3A333 66 xxxxTR .
Ukupni dnevni prihod je
C3B3A3C2B2A2C1B1A1321 67,58,6 xxxxxxxxxTRTRTRTR
Dnevno se potroši A3A2A1 xxx litara sirovine A po jediničnoj cijeni od 7 kuna,
B3B2B1 xxx litara sirovine B po jediničnoj cijeni od 5 kuna, te C3C2C1 xxx litara
sirovine C po jediničnoj cijeni od 4 kune. Sliijede ukupni troškovi upotrijebljenih sirovina:
C3C2C1B3B2B1A3A2A1 457 xxxxxxxxxTC .
Oduzimanjem ukupnih troškova od ukupnog prihoda i sređivanjem se dobije funkcija cilja
primala (dnevna dobit proizvođača viskija) koju treba maksimizirati:
C3B3A3C2B2A2C1B1A1 27,17,03,18,28,12,0 xxxxxxxxx .
Ograničenja slijede iz raspoložive količine sirovina, recepture te ugovorne obveze vezane uz
količinu viskija Highland Fling [2, str. 211] su (uz sve nejednakosti oblika ≤):
2000A3A2A1 xxx (1)
2500B3B2B1 xxx (2)
1200C3C2C1 xxx (3)
06,06,04,0 C1B1A1 xxx (4)
08,02,02,0 C1B1A1 xxx (5)
04,06,06,0 C2B2A2 xxx (6)
015,015,085,0 C2B2A2 xxx (7)
05,05,05,0 C3B3A3 xxx (8)
1000C22A2 xxx B . (9)
Podrazumijeva se da su varijable odlučivanja nenegativne.
Na slici 8 prikazana je priprema podataka i rješenje s pomoću Solvera odakle slijedi da će
najveću dnevnu dobit u iznosu od 5.066,67 € proizvođač viskija će ostvariti za vrijednosti
varijabla odlučivanja 1850A1 ox , 7,616A2 ox , 7,616A3 ox , 150B1 ox , 7,266B2 ox ,
3,583B3 ox , 0C1 ox , 7,1616C2 ox , te 0C3 ox . Ovo nadalje znači da će se dnevno proizvesti
3,30837,6167,6161850 litara viskija vrste Blue Dot, 10004,5837,266150 litara
viskija Highland Fling i 7,161607,16160 litara viskija Old Frenzy.
Međutim, iz podataka o analizi osjetljivosti (slika 9) može se vidjeti da je oportunitetni trošak
(reduced cost) uz varijablu C3x , čije je vrijednost u optimalnom rješenju jednaka nuli, također
jednaka nuli.
P – 161
Slika 8 Primjer 3: rješenje primala
Slika 9 Primjer 3: podatci o analizi osjetljivosti koeficijenata funkcije cilja primala
Proizlazi da se funkcija cilja neće promijeniti niti ako ta varijabla poprimi neku vrijednost
različitu od nule. Budući da se u tom slučaju moraju promijeniti vrijednosti i nekih drugih
varijabla odlučivanja to upućuje na postojanje barem još jednog optimalnog rješenja.
Prema [3] postoje ukupno 3 bazična optimalna rješenja, a jedno od njih će se ovdje odrediti
analizom podataka o analizi osjetljivosti duala opisanog primjera.
3.3.2 Dual primjera 3
Funkcija cilja duala prema tablici 1 glasi
1 2 3 92000 2500 1200 1000CDF y y y y
i treba je maksimizirati uz sljedeća ograničenja:
2,02,04,0 541 yyy (1)
8,12,06,0 542 yyy (2)
8,28,06,0 543 yyy (3)
3,185,06,0 9761 yyyy (4)
7,015,06,0 9762 yyyy (5)
7,115,04,0 9763 yyyy (6)
0,15,0 81 yy (7)
0,15,0 82 yy (8)
0,25,0 83 yy (9)
Na slici 10 prikazana je priprema podataka i rješenje duala s pomoću Solvera.
P – 162
Slika 10 Primjer 3: rješenje duala
Jedno od preostalih bazičnih optimalnih rješenje primala razmatranog primjera je ono za koje
varijable odlučivanja primala poprimaju vrijednost odgovarajućih marginalnih troškova
(cijena u sjeni, shadow price) njegovoga duala, dakle: 18502
A1 ox , 3,12332
A2 ox , 02
A3 ox ,
1502
B1 ox , 3,4582
B2 ox , 7,3913
B3 ox , 02
C1 ox , 3,8082
C2 ox , te 3,8082
C3 ox , što se može vidjeti
iz podataka o analizi osjetljivosti ograničenja duala (slika 11).
Slika 11 Primjer 3: podatci o analizi osjetljivosti ograničenja duala
- Rješenje se poklapa s odgovarajućim trećim bazičnim optimalnim rješenjem
dobivenim s pomoću programa Winqsb [2, str. 214].
Drugi način iznalaženja alternativnih optimalnih rješenja sastoji se u sljedećem:
- razmatranom se problemu dodaje novo ograničenje prema kojem je vrijednost
odabrane, i-te varijable jednaka njenoj optimalnoj vrijednosti ( oi ix x ),
- riješi se tako postavljeni problem pa se u izvještaju o analizi osjetljivosti analizira
moguća promjena desne strane dodanog ograničenja; ako se desna strana dodanog
ograničenja može mijenjati za neki iznos 0 ix pri čemu je cijena u sjeni tog
ograničenja jednaka nuli, to znači da se vrijednost i-te varijable može mijenjati u
dobivenim granicama bez promjene optimalne vrijednosti funkcije cilja,
- novo bazično optimalno rješenje tada se dobije rješavanjem razmatranog problema
uz dodatno ograničenje i
o
ii xxx .
4. Zaključak
U radu je, na nekoliko primjera dostupnih u literaturi, prikazana mogućnost primjene
Excelovog alata Solver u rješavanju problema linearnog programiranja i analizi osjetljivosti
tih rješenja sa svrhom eliminiranja/ublažavanja temeljnih nedostataka linearnog
programiranja. Dana je usporedba podataka o mogućim promjenama koeficijenata funkcije
cilja i desnih strana ograničenja, marginalnim i oportunitetnim troškovima, koje u
izvještajima o analizi osjetljivosti daje Solver za primal i za dual razmatranih problema.
P – 163
Pojašnjen je način utvrđivanja eventualne egzistencije većeg broja optimalnih rješenja te
određivanja drugog bazičnog optimalnog rješenja (ako je riječ o problemu s 2 bazična
optimuma), odnosno barem još jednog bazičnog optimalnog rješenja (ako je riječ o problemu
s više od dva bazična optimuma) i to s pomoću cijena u sjeni duala razmatranog problema.
Pokazano je da u granicama svojih mogućnosti (do 200 varijabla odlučivanja i do 500
ograničenja) Solver može poslužiti kao jednostavan i učinkovit alat pri rješavanju problema
linearnog programiranja i analizi osjetljivosti dobivenih rješenja.
REFERENCES
[1] Babić, Z. (2005). Linearno programiranje, Ekonomski fakultet, Split.
[2] Babić, Z. (2011). Modeli i metode poslovnog odlučivanja, Ekonomski fakultet, Split.
[3] Plazibat, B., Reić, L. (2015). Operacijska istraživanja u MS Excelu, Sveučilište u Splitu ,
Sveučilišni odjel za stručne studije.
[4] Taha, Hamdy A. (2006). Operations Research: An Introduction, 8th edition. PEARSON
Prentice Hill, Upple Saddle River, New Jersey.
[5] Chapter IV: Duality in Linear Programming. http://agecon2.tamu.edu/people/faculty/ mccarl-
bruce/mccspr/new04.pdf.
[6] Linear Optimization With Microsoft Excel. https://www.math.uwaterloo.ca/~pwood/doc/
Solver_Notes.pdf.
[7] Limitations Of Linear Programming. http://www.tutorsonnet.com/limitations-of-linear-
programming-homework-help.php.
Primal and dual LP problem: sensitivity analysis and
multiple optima
Bože Plazibat
University of Split, University Department of Professional Studies, Split, Croatia
Ivana Antunović, student
University of Split, University Department of Professional Studies, Split, Croatia
Lada Reić
University of Split, University Department of Professional Studies, Split, Croatia
Abstract. Several linear programming problems available in the literature are solved by using Excel
Solver. The solution of both the primal and the dual of the selected examples is considered. The
obtained results have been compared. The aim of this paper is to determine the interconnection of data
provided in Solver Answer and Sensitivity reports: shadow prices, reduced costs, objective
coefficients and constraints right hand sides both for the primal and the dual of the presented
problems. In particular, the problems of multiple optima and possibilities of their detection by
analyzing data in the sensitivity reports for the primal and dual solutions of the selected problems were
considered.
Key words: linear programming, primal and dual, Solver, sensitivity analysis, multiple optima