



















































Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
Pripremite ispite
Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u
Nabavite poene za preuzimanje
Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan
POGLAVLJE_3_Linearno_programiranje
Tipologija: Skripte
1 / 59
Ova stranica nije vidljiva u pregledu
Ne propustite važne delove!




















































Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
Razvoj metoda za rješavanje problema linearnog programiranja mnogi svrstavaju meĎu najvažnija naučna dostignuća sredine prošlog stoljeća. Danas je to standardni alat koji štedi milione dolara brojnim kompanijama u mnogim razvijenim zemljama svijeta. Prema F. S. Hillieru , “ Najveći dio svih naučnih izračunavanja na računarima je vezan za korištenje linearnog programiranja”.
Model linearnog programiranja se prvi put javlja u radovima J. von Neuman-a (1936) i L. V. Kantorovič-a (1939). Prvu efikasnu opću proceduru za rješavanje zadatka linearnog programiranja, poznatu pod nazivom simpleks metod , razvio je G. Dantzig (1947). To je efikasan metod koji omogućuje “rutinsko” rješavanje ogromnih zadataka linearnog programiranja pomoću računara. Interesantno je da mada je dokazano da u najgorem slučaju simpleks metod ima vrijeme izvršavanja koje je eksponencijalna funkcija broja promjenljivih (što je ravno katastrofi ), takvi “patološki” slučajevi za koje simpleks algoritam radi katastrofalno sporo praktično se nikada ne javljaju u praksi (za šta postoje i izvjesna teoretska objašnjenja). Štaviše, pri rješavanju praktičnih problema simpleks metod se pokazao kao izuzetno efikasan. Preciznije, u praksi, vrijeme izvršavanja simpleks algoritma je obično pribliţno proporcionalno trećem stepenu broja promjenljivih , slično kao i kod većine klasičnih algoritama linearne algebre ( rješavanje sistema linearnih jednačina Gaussovim metodom eliminacije , nalaženje inverzne matrice , itd.).
Pitanje da li postoji algoritam koji čak i u najgorem slučaju moţe naći rješenje problema linearnog programiranja u vremenu koje ne prelazi neku polinomijalnu funkciju broja promjenljivih bilo je otvoreno skoro četiri decenije. Potvrdan odgovor na ovo pitanje ponudio je tzv. elipsoidni algoritam (koji je neka vrsta sofisticirane višedimenzionalne binarne pretrage ), koji se obično pripisuje L. G. Khachiyan -u (1979), mada je on u suštini vješta kompilacija ideja brojnih ruskih matematičara razvijenih u proteklom periodu. MeĎutim, za potrebe praktičnih problema, elipsoidni algoritam se pokazao mnogo sporijim od simpleks algoritma. Nekoliko godina kasnije, N. Karmarkar (1984) je razvio novi efikasni algoritam za rješavanje problema linearnog programiranja nazvan metod unutrašnje tačke (engl. interior-point approach). Slično elipsoidnom algoritmu, ovaj algoritam takoĎer garantira polinomijalno vrijeme izvršavanja čak i u najgorem slučaju, ali je mnogo brži od njega. Mada je za praktične probleme male do srednje veličine metod unutrašnje tačke i dalje sporiji od simpleks algoritma , danas se smatra da metod unutrašnje tačke ima određene prednosti (kako sa aspekta brzine , tako i sa aspekta tačnosti ) u odnosu na simpleks metod pri rješavanju vrlo velikih (sloţenih) zadataka.
Modelom linearnog programiranja moţe se predstaviti jako veliki broj realnih problema, koji po svojoj prirodi i opisu mogu biti vrlo različiti. Pri tome se najveći broj primjena moţe definirati kao opći problem dodjele ( alokacije ) ograničenih resursa na konkurentne aktivnosti na najbolji način. Treba istaći i da su, istorijski gledano, ideje iz oblasti linearnog programiranja inspirirale mnoge od centralnih koncepata optimizacione teorije , kao što su konveksnost , dualnost , dekompozicija , kao i razne njihove generalizacije.
Linearno programiranje je ubjedljivo najčešće korišteni model (zadatak) operacionih istraţivanja. Osnovni razlozi za to su sljedeći:
postoji veliki broj različitih realnih problema koji se mogu vjerno predstaviti modelom linearnog programiranja; postoje vrlo efikasne metode za rješavanje zadataka linearnog programiranja pogodne za računasku implementaciju ; veliki broj algoritama za druge tipove optimizacionih problema radi tako što rješava probleme linearnog programiranja kao potprobleme.
Tipični zadaci, koji se mogu predstaviti modelom linearnog programiranja su problem optimalne proizvodnje i problem optimalne mješavine. Stoga ćemo detaljnije razmotriti ova dva problema.
Prvo ćemo razmotriti problem optimalne proizvodnje. Tipični zadatak izrade optimalnog plana proizvodnje moţe se definirati na sljedeći način. Potrebno je proizvesti n različitih vrsta proizvoda P j , j = 1 .. n , pri čemu je za proizvodnju pojedinih dijelova tih proizvoda potrebno koristiti m različitih mašina M i , i = 1 .. m. Pri tome je poznato sljedeće:
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
efekti cj , j = 1 .. n koji se mogu ostvariti prodajom svakog od proizvoda P j respektivno; raspoloživi kapaciteti bi , i = 1 .. m svake od mašina M i respektivno; kapaciteti ( tehnološki normativi ) ai , j , i = 1 .. m , j = 1 .. n potrebni za proizvodnju jedne jedinice bilo koje vrste proizvoda P j na pojedinoj mašini M i.
Cilj je naći optimalni plan proizvodnje , odnosno odrediti respektivno broj jedinica x (^) j , j = 1 .. n , svake vrste proizvoda P j kojeg treba proizvesti da bi efekti ostvareni prodajom svih proizvedenih proizvoda bili što je god moguće veći (tj. maksimalni ).
Razmotrimo kako se moţe zapisati matematski model ovog problema. Ako proizvedemo za sada neodređen broj xj jedinica proizvoda P j , efekat ostvaren prodajom svih proizvedenih jedinica proizvoda P j će biti cj xj. Stoga će ukupan efekat ostvaren prodajom svih jedinica svih vrsta proizvoda biti:
n
j
cj xj 1
Cilj je ostvariti maksimalni efekat , što znači da treba maksimizirati funkciju Z ( x ). Pošto je u ovom slučaju funkcija cilja linearna , odnosno efekat (cijena) od prodaje jedne jedinice proizvoda je konstantan (ne zavisi od broja proizvedenih jedinica ), i kako su pri tome svi efekti (cijene) pozitivne veličine , maksimalni efekat bi se dobio pri proizvodnji beskonačnog broja svih proizvoda P j (matematički gledano, ovo je posljedica činjenice da linearna funkcija nije ničim ograničena odozgo ). MeĎutim, iz postavke problema vidimo da je proizvodnja ograničena kapacitetima mašina. Proizvodnja jedne jedinice proizvoda P j na mašini M i zauzeće (potrošiće) dio ukupnog kapaciteta mašine M i u iznosu ai , j , tako da će proizvodnja xj jedinica proizvoda P j zauzeti (potrošiti) dio ukupnog kapaciteta mašine M i u iznosu ai , j xj. Konačno, proizvodnja svih jedinica svih vrsta proizvoda zauzeće (potrošiće) dio ukupnog kapaciteta mašine M i u iznosu
n
j
ai jxj 1
,
Kako je korištenje mašine M i ograničeno njenim kapacitetom bi , to mora vrijediti ograničenje
n
j
ai jxj 1
(^) , bi
Postoji ukupno m ovakvih ograničenja, po jedno za svaku od m mašina.
Pored ovih ograničenja, postoji i prirodno ograničenje na broj proizvednih jedinica, prema kojem se ne može proizvesti negativan broj jednica proizvoda. Stoga mora vrijediti
xj 0, j = 1 .. n.
Zadatak se, dakle, moţe napisati u obliku
arg max Z ( x ) = c 1 x 1 + c 2 x 2 + ... + cn x
p.o.
a 1,1 x 1 + a 1,2 x 2 + ... + a 1, n xn b 1 a 2,1 x 1 + a 2,2 x 2 + ... + a 2, n xn b 2 ... am ,1 x 1 + am ,2 x 2 + ... + am , n xn bm
x 1 0, x 2 0, ..., xn 0
ili, u kompaktnijem obliku koristeći skraćenu notaciju za sumaciju, kao
n
j
cj xj 1 p.o.
n
j
ai jxj 1
,^ ^ bi^ ,^ i^ = 1..^ m
xj 0, j = 1 .. n
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
Cilj je naći optimalnu mješavinu , odnosno odrediti respektivno količine x (^) j , j = 1 .. n , svake od sirovina S j pa da ukupna sredstva potrebna za nabavku sirovina budu što je god moguće manja (tj. minimalna ).
Razmotrimo kako se moţe zapisati matematski model ovog problema. Ako upotrijebimo za sada nepoznatu količinu xj sirovine S j , trošak ostvaren nabavkom ukupne količine sirovine S j će biti cj xj. Stoga će ukupan trošak ostvaren nabavkom ukupne količine svih vrsta sirovina biti:
n
j
cj xj 1
Ovdje je cilj ostvariti minimalan efekat , što znači da treba minimizirati funkciju Z ( x ). Pošto je i u ovom slučaju funkcija cilja linearna , odnosno trošak (cijena) nabavke jedne jedinice sirovine je konstantan (ne zavisi od količine nabavljenih sirovina ) i pozitivan , minimalni trošak bi se dobio pri nultoj nabavci sirovina S (^) j (ako isključimo negativne nabavke kao nerealne ). MeĎutim, iz postavke problema vidimo da je mješavina ograničena minimalnim količinama korisnih sastojaka. Nabavka količine xj sirovine S j će osigurati korisne sastojke K i u iznosu ai , j xj , tako da će sve nabavljene sirovine sadrţavati korisne sastojke K i u ukupnoj količini
n
j
ai jxj 1
,
Ukupna količina korisnih sastojaka K i je ograničena najmanjom zahtijevanom količinom bi , tako da mora vrijediti ograničenje
n
j
ai jxj 1
(^) , bi
Postoji ukupno m ovakvih ograničenja, po jedno za svaki od m korisnih sastojaka.
Pored ovih ograničenja, postoji i prirodno ograničenje na količine nabavljenih sirovina, prema kojem se ne mogu nabaviti negativne količine sirovina. Stoga mora vrijediti
xj 0, j = 1 .. n.
Zadatak se, dakle, moţe napisati u obliku
arg min Z ( x ) = c 1 x 1 + c 2 x 2 + ... + cn xn p.o.
a 1,1 x 1 + a 1,2 x 2 + ... + a 1, n xn b 1 a 2,1 x 1 + a 2,2 x 2 + ... + a 2, n xn b 2 ... am ,1 x 1 + am ,2 x 2 + ... + am , n xn bm
x 1 0, x 2 0, ... xn 0
ili, u kompaktnijem obliku koristeći skraćenu notaciju za sumaciju, kao
n
j
cj xj 1 p.o.
n
j
ai jxj 1
,^ ^ bi^ ,^ i^ = 1^ ..^ m
xj 0, j = 1 .. n
Uz slične definicije kao u prethodnoj vrsti problema, ovaj problem se takoĎer moţe napisati veoma kompaktno u matrično-vektorskom obliku:
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
arg min Z ( x ) = c T^ x
p.o.
A x b x 0
Dakle, i u ovom slučaju se problem moţe predstaviti kao zadatak nalaţenja uvjetnog ekstrema , pri čemu su kako funkcija cilja , tako i sva ograničenja opisani linearnim funkcijama. Pored toga, kao specifična ograničenja, javljaju se ograničenja na nenegativnost svih promjenljivih. Ovako definirani zadaci čije su karakteristike linearnost funkcije kriterija , te linearnost svih relacija kojima se opisuju ograničenja nazivaju se zadaci linearnog programiranja.
Česta, mada ne i obavezna karakteristika tipičnih problema linearnog programiranja je nenegativnost svih promjenljivih. Zaista, mada je većina stvarnih zadataka linearnog programiranja takva da se zahtijeva nenegativnost svih promjenljivih, teoretski se mogu razmatrati zadaci linearnog programiranja u kojima se takva ograničenja ne javljaju. Pored toga, takvi problemi ponekad imaju i realnu osnovu. Ipak, treba naglasiti da svi uobičajeni modeli linearnog programiranja uvijek podrazumijevaju da se zahtijeva i nenegativnost svih promjenljivih, a ukoliko to nije slučaj, ta činjenica se obavezno posebno naglašava.
Primjer : Potrebno je obezbijediti vitaminsku terapiju koja će sadrţavati četiri vrste vitamina V 1 , V 2 , V 3 i V 4. Na raspolaganju su dvije vrste vitaminskih sirupa S 1 i S 2 čije su cijene 40 n.j./g i 30 n.j./g respektivno. Vitaminski koktel mora sadrţavati najmanje 0.2 g, 0.3 g, 3 g i 1.2 g vitamina V 1 , V 2 , V 3 i V 4 respektivno. Sljedeća tabela pokazuje sastav pojedinih vitamina u obje vrste vitaminskih sirupa:
Formirati matematski model iz kojeg se moţe odrediti koliko treba nabaviti sirupa S 1 a koliko sirupa S 2 tako da ukupni trošak bude minimalan.
Ako sa x 1 označimo količinu sirupa S 1 a sa x 2 količinu sirupa S 2 koju treba nabaviti (u gramima), matematički model datog problema se moţe zapisati u sljedećem obliku:
arg min Z ( x ) = 40 x 1 + 30 x 2
p.o.
0.1 x 1 0. 0.1 x 2 0. 0.5 x 1 + 0.3 x 2 3 0.1 x 1 + 0.2 x 2 1.
x 1 0, x 2 0
Vidimo da se opet radi o klasičnom problemu linearnog programiranja.
U prethodna dva primjera, sva ograničenja su bila istog tipa (tj. tipa “manje ili jednako” odnosno tipa “veće ili jednako”. Sasvim je moguće imati i probleme u kojima se javljaju različiti tipovi nejednakosti , pa čak i ograničenja iskazana jednakostima , kao što je prikazano u sljedećem primjeru.
Primjer : Planira se proizvodnja tri tipa detrdţenta D 1 , D 2 i D 3. Sa trgovačkom mreţom je dogovorena isporuka tačno 100 kg detrdţenta bez obzira na tip. Za uvoz odgovarajućeg repromaterijala planirano su sredstva u iznosu od 110 $. Po jednom kilogramu detrdţenta, za proizvodnju detrdţenata D 1 , D 2 i D 3 treba nabaviti repromaterijala u vrijednosti 2 $, 1.5 $ odnosno 0.5 $. TakoĎer je planirano da se za proizvodnju uposle radnici sa angaţmanom od ukupno barem 120 radnih sati, pri čemu je za proizvodnju jednog kilograma detrdţenata D 1 , D 2 i D 3 potrebno uloţiti respektivno 2 sata, 1 sat odnosno 1 sat. Prodajna cijena detrdţenata D 1 , D 2 i D 3 po kilogramu respektivno iznosi 10 KM, 5 KM odnosno 8 KM. Formirati matematski model iz kojeg se moţe odrediti koliko treba proizvesti svakog od tipova detrdţenata da se pri tome ostvari maksimalna moguća zarada.
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
utovar obje vrste tereta ne moţe vršiti istovremeno. Kako je raspoloţivo vrijeme za utovar ograničeno na 12 sati, to dovodi do ograničenja
(1/2) x 1 + (1/4) x 2 12
Alternativno smo mogli sve vremenske jedinice umjesto u satima izraziti u minutama. U tom slučaju bi ukupno vrijeme utovara u minutama iznosilo 30 x 1 + 15 x 2. Kako u 12 sati ima 720 minuta, to bi nas dovelo do ograničenja 30 x 1 + 15 x 2 720 koje je ekvivalentno prethodnom ograničenju.
Pored ograničenja na vrijeme utovara, imamo i ograničenje koje nameće činjenica da za utovar prve vrste robe treba plaćati posebnu taksu, a raspoloţiva sredstva za plaćanje takse su ograničena. Kako se po svakoj toni plaća taksa od 500 KM, ukupna taksa koju treba platiti u KM iznosi 500 x 1. Ovaj iznos ne smije preći raspoloţiva sredstva za plaćanje takse, koja se opet sastoje od početne gotovine od 3000 KM, te dodatnih sredstava koja se dobijaju na osnovu “kapare” za utovar druge vrste tereta, koja iznose 200 x 2 (u KM), tako da ukupna raspoloţiva sredstva u KM iznose 3000 + 200 x 2. Ovo nas dovodi do ograničenja
500 x 1 3000 + 200 x 2
koje se, nakon što se sve promjenljive prebace na lijevu stranu, moţe prikazati i u obliku:
500 x 1 – 200 x 2 3000
Ovo ograničenje se moţe protumačiti i da ukupna “taksa” koju smijemo platiti ne smije preći 3000 KM, pri čemu se za prvu vrstu tereta plaća taksa od 500 KM po toni, dok se za drugu vrstu tereta “plaća negativna taksa” od –200 KM po toni (negativna znači da se ne radi o trošku nego o dobitku). Stoga se matematski model postavljenog zadatka moţe predstaviti u obliku
arg max Z ( x ) = 3 x 1 + 2 x 2 p.o.
(1/2) x 1 + (1/4) x 2 12 500 x 1 – 200 x 2 3000
x 1 0, x 2 0
Ono što je interesantno u ovom modelu je pojava negativnog koeficijenta u jednom od ograničenja, iz čega slijedi da se i to moţe desiti. Isto tako, primijetimo da je kojim slučajem taksa koju treba platiti za utovar prve vrste tereta bila veća od naknade koja se ostvaruje po osnovu prevoza, tada bi i koeficijent uz x 1 u funkciji cilja takoĎer bio negativan (što pokazuje da se i to moţe desiti). Naravno, intuitivno je jasno da bi u optimalnom rješenju tada bilo x 1 = 0, odnosno prva vrsta tereta ne bi bila uopće isplativa za transport, jer se više plaća takse za prevoz tog tereta nego što se zaraĎuje njegovim transportom.
Sam naziv model linearnog programiranja se u literaturi često ravnopravno koristi sa terminima zadatak linearnog programiranja i problem linearnog programiranja , ili prosto samo linearno programiranje. Ovdje će se sa istim značenjem, u zavisnosti od konteksta, koristiti svi pomenuti nazivi. Pored toga, termin “problem” bez dodatka “linearnog programiranja” (ili nekog drugog dodatka koji praktično označava odgovarajući matematički model) se koristi kao izvorni problem , odnosno ono što prethodi formiranju modela (dok još i ne znamo kakav je model), na osnovu čega se model formira. Model je u tom smislu odreĎena idealizacija (aproksimacija) stvarnog problema.
U modelu linearnog programiranja, za označavanje različitih elemenata (komponenti) modela tipično se koriste sljedeći simboli i nazivi :
Z – funkcija kriterija , funkcija cilja , ukupna mjera učinka ; xj – promjenljiva , nivo aktivnosti j ( j = 1 .. n ); cj – cijena , efekat , dobit , porast funkcije cilja kao rezultat porasta svake jedinice nivoa aktivnosti j ( j = 1 .. n ); bi – desna strana ograničenja , količina resursa i koja je na raspolaganju aktivnostima i ( i = 1 .. m ) ai , j – količina resursa i koju uzima (troši) svaka jedinica aktivnosti j ( i = 1 .. m , j = 1 .. n ).
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
Veličine cj , bi i ai , j (za i = 1 .. m i za j = 1 .. n ) predstavljaju ulazne konstante odnosno parametre modela. U terminologiji zadataka donošenja odluka , promjenljive x 1 , x 2 , ..., xn se nazivaju promjenljive odlučivanja.
Svaka linearna nejednačina ili jednačina koju mora zadovoljiti rješenje naziva se ograničenje. Skup svih ograničenja (tj. skup linearnih nejednačina i/ili jednačina koje mora zadovoljiti rješenje) naziva se skup ograničenja ili samo ograničenja. Tačka (ureĎena n -torka promjenljivih xi , i = 1 .. n ) koja zadovoljava sva ograničenja naziva se dopustiva ( dozvoljena ) tačka. Skup svih dopustivih tačaka je dopustivi ( dozvoljeni ) prostor ili dopustiva ( dozvoljena ) oblast. Broj ( nezavisnih ) promjenljivih koje se javljaju u problemu naziva se dimenzionalnost problema.
Svako ograničenje koje je u nekoj tački ispunjeno na jednakost (tj. tako da su lijeva i desna strana ograničenja jednake) naziva se kritično ograničenje za tu tačku. Ukoliko za neku tačku postoji više kritičnih ograničenja nego što iznosi dimenzionalnost problema , takva tačka je degenerirana tačka.
Moţe se desiti da je dopustivi prostor prazan skup , odnosno da su ograničenja meĎusobno nesaglasna. U tom slučaju, problem nema rješenja (u praksi, to obično znači da je proble, loše postavljen ). TakoĎer, dopustivi prostor moţe biti ograničen ili neograničen skup. Pokazuje se da ako je dopustivi prostor ograničen skup, tada zadatak linearnog programiranja sigurno ima konačno optimlalno rješenje. Pri tome, optimalno rješenje moţe biti ili jedinstveno (tj. postiţe se samo u jednoj tački), ili postoji beskonačno mnogo tačaka u kojima se postiţe optimalno rješenje. Jasno je da u ovom drugom slučaju, funkcija cilja mora imati istu vrijednost u svakoj od tih tačaka.
Ako je dopustivi prostor neograničen , tada se zavisno od situacije moţe desiti da zadatak linearnog programiranja ima konačno optimalno rješenje , ali se isto tako moţe desiti da se optimalno rješenje nalazi u beskonačnosti , odnosno da funkcija cilja nije ograničena odozgo ili odozdo (ovisno traţimo li maksimum ili minimum) na dopustivoj oblasti. Ponekad se u takvim slučajevima takoĎer kaţe da optimalno rješenje ne postoji , mada treba imati u vidu da je to drugi oblik “nepostojanja” u odnosu na situaciju kada su ograničenja nesaglasna.
Prema konvenciji, u zadacima linearnog programiranja (kao i u matematičkom programiranju općenito) se svaka specifikacija vrijednosti promjenljivih ( x 1 , x 2 , .., xn ) naziva rješenje , mada to ne mora biti željeni pa čak ni dopustivi izbor. Radi toga se definiraju različiti tipovi rješenja:
dopustivo ( dozvoljeno ) rješenje je rješenje koje zadovoljava sva ograničenja ; nedopustivo ( nedozvoljeno ) rješenje je rješenje koje ne zadovoljava barem jedno ograničenje , odnosno kod kojeg je barem jedno ograničenje narušeno ; optimalno ( najbolje ) rješenje je ono dopustivo rješenje kod kojeg funkcija cilja ima najbolju (minimalnu ili maksimalnu) vrijednost.
Radi lakšeg razumijevanja zadatka (modela) linearnog programiranja, kao i boljeg razumijevanja osnovnih svojstava (osobenosti) ove vrste problema, često se razmatra njihova geometrijska intepretacija. Za tu svrhu, obično se analiziraju najjednostavniji, odnosno dvodimenzionalni zadaci linearnog programiranja. U načelu, grafičko predstavljanje je principijelno (mada uz znatne poteškoće) moguće i za trodimenzionalne zadatke, dok za zadatke veće dimenzionalnosti nikakva grafička interpretacija nije moguća.
Kao što je već rečeno, dimenzionalnost n zadatka linearnog programiranja odreĎena je brojem promjenljivih xj , j = 1 .. n. MeĎutim, vrijednost funkcije cilja Z također predstavlja promjenljivu (i to zavisnu ), tako da se isti zadatak moţe posmatrati i u n +1-dimenzionalnom prostoru. U skladu s tim, zadatak linearnog programiranja koji zavisi od dvije promjenljive x 1 i x 2 moguće je ravnopravno posmatrati kako u dvodimenzionalnom prostoru ( x 1 , x 2 ), tako i u trodimenzionalnom prostoru ( x 1 , x 2 , Z ). Stoga, da bi se na što jasniji način predstavile osobenosti zadataka linearnog programiranja, u nastavku će se dvodimenzionalni zadatak linearnog programiranja predstaviti kako u dvodimenzionalnom prostoru ( x 1 , x 2 ), tako i u trodimenzioalnom prostoru ( x 1 , x 2 , Z ).
Razmotrimo prvo interpretaciju u dvodimenzionalnom prostoru ( x 1 , x 2 ). Kako je funkcija cilja Z funkcija dvije nezavisne promjenljive , nju je u dvodimenzionalnom prostoru moguće grafički predstaviti jedino linijama njenih konstantnih vrijednosti (tj. nivo linijama ), i pravcem najbržeg rasta funkcije ( gradijentom ). Porast funkcije Z je predstavljen pomjeranjem nivo linije u smjeru gradijenta , dok se pad funkcije Z dešava pri pomjeranju nivo linije u smjeru suprotnom od smjera gradijenta.
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
gdje je x 1 = ( x 1 ) k +1 – ( x 1 ) k i x 2 = ( x 2 ) k +1 – ( x 2 ) k. Neka smo prilikom prelaska sa tačke (( x 1 ) k , ( x 2 ) k ) na tačku (( x 1 ) k +1, ( x 2 ) k +1) napravili korak određene fiksne dužine , odnosno neka se ove tačke nalaze na određenoj fiksnoj razdaljini (recimo, 1). Bez obzira na fiksiranu dužinu koraka, mogu se dobiti različite vrijednosti promjene funkcije cilja Z u zavisnosti od toga u kojem se pravcu taj korak realizira. Pošto je ukupni pomjeraj (po obje koordinate) po pretpostavci jednak 1, moţemo pisati
2 2
2 x 1 (^) x = 1
odakle slijedi
x 2 = 2 1 x 1
Uvrštavanjem u izraz za Z , dobijamo
Z = c 1 x 1 + c 2 1 x 12
Da bismo odredili za koju vrijednost priraštaja x 1 će se dobiti maksimalna promjena funkcije cilja Z , potrebno je naći izvod izraza za Z po x 1 i izjednačiti ga sa nulom :
x 1
= c 1 – c 2 2 1
1 1 x
x
Posljednju relaciju moţemo napisati i kao
c 1 – c 2 2
1 x
x
= 0
odakle neposredno slijedi
x 2 = 1 1
(^2) x c
c
Odavde ponovo vidimo da je najveći prirast funkcije cilja u smjeru pravca koji ima koeficijent smjera c 2 / c 1. Kako je koeficijent smjera pravaca funkcije cilja k = – c 1 / c 2 , pravci najbržeg prirasta su okomiti na pravce funkcije cilja , što je i trebalo pokazati.
Razmotrimo sad kakav je geometrijski smisao ograničenja. Poznato je da se linearne jednačine u dvodimenzionalnom prostoru grafički prikazuju kao pravci. Stoga se nejednačine mogu grafički prikazati kao poluravni. Svaka nejednačina dijeli prostor na dva dijela: na dopustivu poluravan , odnosno skup tačaka koje zadovoljavaju nejednačinu ( dopustiva oblast u odnosu na tu nejednačinu ), te na nedopustivu poluravan , odnosno skup tačaka koje ne zadovoljavaju nejednačinu ( nedopustiva oblast u odnosu na tu nejednačinu ). Konkretno, ako je ograničenje zadano u obliku nejednačine ai ,1 x 1 + ai ,2 x 2 bi , onda jednačina ai ,1 x 1 + ai ,2 x 2 = bi predstavlja pravac u dvodimenzionalnom prostoru ( x 1 , x 2 ) koji dijeli taj prostor na dva dijela – dopustivu i nedopustivu poluravan, odnosno dopustivu i nedopustivu oblast u odnosu na tu nejednačinu.
U zavisnosti od toga kako su zadana ograničenja, mogu se dobiti razni tipovi dopustivih oblasti, koje su zapravo presjeci svih dopustivih poluravni. Na prvom mjestu, dopustiva oblast moţe biti prazan ili
x 2
x 1
ai , 1 x 1 + ai , 2 x 2 = bi Dopustiva poluravan
Nedopustiva poluravan
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
neprazan skup. Ako je dopustiva oblast neprazan skup, ona moţe biti kako ograničena , tako i neograničena. Specijalno, ako je dopustiva oblast ograničen neprazan skup, on je uvijek poligon , na osnovu poznate geometrijske činjenice da ukoliko je presjek konačno mnogo poluravni neprazan i ograničen, tada je on uvijek poligon. Geometrijska predstava raznih tipova dopustivih oblasti data je na sljedećoj slici.
Ako dopustiva oblast postoji i ako je ograničena , tada će promjenom konstante C od – do paraleni pravci funkcije cilja će za neko C = Cmin prvi put “ dodirnuti ” dopustivu oblast a za neko C = Cmax posljednji put imati tačku u dopustivoj oblasti. Ove veličine Cmin i Cmax prestavljaju minimalne i maksimalne vrijednosti funkcije cilja a odgovarajuće tačke na dopustivoj oblasti su tačka minimuma i tačka maksimuma. Na sljedećoj slici, to su tačke A 1 i A 4 respektivno.
Iz provedenog razmatranja sasvim je jasno da se optimalno rješenje (bilo minimum, bilo maksimum) moţe nalaziti isključivo u nekom od tjemena poligona koji predstavlja dozvoljenu oblast. Jedini slučaj u kojem bi se moglo desiti da neka tačka koja nije tjeme bude optimalna je u slučaju ukoliko bi se neki od mnoštva paralelnih pravaca funkcije cilja poklopili sa nekom od stranica poligona koji predstavlja dozvoljenu oblast, kao na sljedećoj slici. MeĎutim, u tom slučaju će svaka tačka te stranice biti optimalno rješenje. Tako je, u primjeru sa sljedeće slike, svaka tačka duži A 3 A 4 maksimum funkcije cilja uz zadana ograničenja.
Moţe se pokazati da zaključak da se optimalno rješenje mora nalaziti ili u nekom od vrhova dozvoljene oblasti (u slučaju kada je rješenje jedinstveno) ili duž jedne cijele stranice dozvoljene oblasti (u slučaju kada
x 1
x 2
x 1
x 2
x 1
x 2
A 2
x 2
A 1
A 4
A 5
A 6
grad Z
Z = Cmax
Z = Ck
Z = Cmin
A 3 Cmin^ <^ Ck^ <^ Cmax
x 1
Cmin < Ck < Cmax
A 2
x 2
A 1
A 4
A 5
A 6
grad Z
Z = Cmax
Z = Ck
Z = Cmin
A 3
x 1
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
skup , slijedi da je dopustiva oblast u zadatku linearnog programiranja uvijek konveksan skup. Ovaj zaključak vrijedi bez obzira na dimenzionalnost problema.
Ako je, u posmatranom dvodimenzionalnom problemu, dopustiva oblast neprazan ograničen skup , ona će u trodimenzionalnom prostoru imati oblik “c ijevi ” ( okomite prizme ) neograničene visine , čije su stranice paralelne sa Z-osom i koja je okomita na ravan ( x 1 , x 2 ). Osnovica ove prizme je konveksni poligon. Primjer jedne ovakve “prizmatične” dopustive oblasti, čija je osnovica poligon A 1 A 2 A 3 A 4 A 5 A 6 , prikazan je na sljedećoj slici.
Razmotrimo sada na koji način se manifestira najbolje ( optimalno ) rješenje u ovakvoj interpretaciji. S obzirom da je funkcija cilja beskonačna “ kosa ” ravan u trodimenzionalnom prostoru ( x 1 , x 2 , Z ) dok je skup ograničenja prizma neograničene visine u istom prostoru, ravan funkcije cilja će presjecati prizmu ograničenja. Taj presjek ravni i prizme je, u općem slučaju takoĎer nakošen i ima svoju najvišu i najnižu (dopustivu) tačku u vrhovima ( tjemenima ) presjeka. Te tačke, najviša i najniţa, predstavljaju respektivno maksimum , odnosno, minimum funkcije cilja pri datim ograničenjima. Na sljedećoj slici,.tačka A 4 ' predstavlja maksimum a tačka A 1 ' minimum fukcije cilja Z u dopustivoj oblasti koja je zadana poligonom A 1 A 2 A 3 A 4 A 5 A 6.
Površina presjeka, koju predstavlja poligon A 1 ' A 2 ' A 3 ' A 4 ' A 5 ' A 6 ' , je nakošena u odnosu na ( x 1 , x 2 ) ravan. Ako se taj poligon presječe sa ravni R 1 koja je paralelna sa ( x 1 , x 2 ) ravni i koja ima visinu Ck u odnosu na
ravan ( x 1 , x 2 ) pri čemu je Z (A 1 ) Ck Z (A 4 ), linija presjeka će takoĎer biti paralelna sa ( x 1 , x 2 ) ravni, tj. na toj će liniji vrijednost funkcije cilja biti konstantna i iznosiće Z = Ck. Pored toga, linija presjeka će dijeliti poligon na dva dijela , na dio na kojem sve tačke imaju visinu manju od Ck i na dio na kojem sve tačke imaju visinu veću od Ck. Ovo je ilustrirano na sljedećoj slici.
Z
x 1
x 2
A 1 A (^2) A 3
A 4
A^ A^5 6
Z
x 1
x 2
A 1 A (^2) A 3
A 4
A^ A^5 6
A 1 ' A^2 '
A 3 '
A 4 ' A 5 '
A 6 '
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
Bilo koja tačka na nakošenom poligonu koja se nalazi ispod linije Z = Ck , imaće vrijednost funkcije cilja manju od Ck , i obrnuto. Drugim rječima, linija Z = Cmax ne smije presjecati nakošeni poligon u tački koja je takva da od nje ima ijedna viša tačka unutar dopustive oblasti. Kako s druge strane tačka maksimuma mora biti dopustiva , odnosno mora se nalaziti u dopustivoj oblasti , oba uvjeta (nepresjecanje i dopustivost) se mogu zadovoljiti samo ako linija Z = Ck dodiruje odnosno tangira dopustivu oblast. Tako se dobija tačka koja je dopustiva , a koja je takva da nema nijedna tačka na većoj visini od nje u dopustivom prostoru. Analogno zaključivanje se moţe sprovesti i za nalaţenje najniţe tačke (minimuma).
Iz provedenog razmatranja slijedi da se ekstremna vrijednost funkcije cilja mora nalaziti u jednom od tjemena dopustivog prostora , što smo već zaključili i razmatranjem provedenim u dvije dimenzije. U specijalnom slučaju, ekstremna vrijednost funkcije cilja se moţe nalaziti na jednoj od stranica dopustive oblasti (ako je prava Z = Ck paralelna sa odgovarajućom stranicom dopustive oblasti), ali čak i u tom slučaju, ekstremna vrijednost funkcije cilja se takoĎer nalazi i u tjemenu (tačnije, u dva tjemena ) dopustive oblasti.
Prethodno razmatranje se moţe jednostavno predstaviti kao uranjanje u tečnost “cijevi” čija je gornja strana koso odsječena. Kada se takva “cijev” okomito uranja u tečnost, granica umočenog i suhog dijela (omeĎena tačkama M 1 , M 2 i M 3 na sljedećoj slici) će biti vodoravna. Posljednja tačka koja će se potopiti je tačka, koja se nalazi na vrhu presjeka , odnosno tačka A 4 ' na slici. Upravo je to traţena tačka maksimuma.
Primjer : Koristeći grafičku analizu, riješiti problem linearnog programiranja
arg max Z = 3 x 1 + x 2
p.o.
0.5 x 1 + 0.3 x 2 150 0.1 x 1 + 0.2 x 2 60
x 1 0, x 2 0
Z
x 1
A 1 ' (^) A 2 ' x 2
A 3 '
A 4 ' A 5 '
A 6 '
Najniţa tačka presjeka (minimum)
Najviša tačka presjeka (maksimum)
Z > Ck
Z < Ck
Z = Ck
Ravan R 1
Z
x 1
x 2
A 1 A (^2) A 3
A 4
A^ A^5 6
A 1 ' A^2 '
A 3 '
A 5 '^ A^4 '
A 6 '
nivo tečnosti
M 1 M 2
M 3
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
Granica generirana ograničenjem 0.5 x 1 + 0.3 x 2 150 je pravac 0.5 x 1 + 0.3 x 2 = 150 koji x 1 -osu i x 2 -osu presjeca respektivno u tačkama x 1 = 150 / 0.5 = 300 i x 2 = 150 / 0.3 = 500, odnosno koji prolazi kroz tačke (0, 500) i (300, 0); Granica generirana ograničenjem 0.1 x 1 + 0.2 x 2 60 je pravac 0.1 x 1 + 0.2 x 2 = 60 koji x 1 -osu i x 2 -osu presjeca respektivno u tačkama x 1 = 60 / 0.1 = 600 i x 2 = 60 / 0.2 = 300, odnosno koji prolazi kroz tačke (0, 300) i (600, 0); Granica generirana ograničenjem x 1 0 je pravac x 1 = 0, tj x 2 -osa; Granica generirana ograničenjem x 2 0 je pravac x 2 = 0, tj x 1 -osa.
Četiri pravca koja predstavljaju granice dopustivih poluravni sijeku se (dvije po dvije) u ukupno šest tačaka, od kojih su neke dopustive (tj. pripadaju dopustivom prostoru), a neke su nedopustive (tj. ne pripadaju dopustivom prostoru), što se lako moţe provjeriti uvrštavanjem njihovih koordinata u nejednačine kojima se opisuju ograničenja. Koordinate presječnih tačaka dobijaju se rješavanjem sistema jednačina koje obrazuju jednačine pravaca koji se presjecaju. Te presječne tačke u konkretnom primjeru su sljedeće:
Presjek graničnih pravaca x 1 = 0 i x 2 = 0 je dopustiva tačka O(0, 0); Presjek graničnih pravaca 0.5 x 1 + 0.3 x 2 = 150 i x 2 = 0 je dopustiva tačka A 1 (300, 0); Presjek graničnih pravaca 0.5 x 1 + 0.3 x 2 = 150 i 0.1 x 1 + 0.2 x 2 = 60 formira dopustivu tačku A 2 (1200 / 7, 1500 / 7) odnosno, pribliţno zaokruţeno na jednu decimalu, A 2 (171.4, 214.3); Presjek graničnih pravaca 0.1 x 1 + 0.2 x 2 = 60 i x 1 = 0 je dopustiva tačka A 3 (0, 300); Presjek graničnih pravaca 0.1 x 1 + 0.2 x 2 = 60 i x 1 = 0 je nedopustiva tačka N 1 (600, 0) (jer ne zadovoljava ograničenje 0.5 x 1 + 0.3 x 2 150); Presjek graničnih pravaca 0.5 x 1 + 0.3 x 2 = 150 i x 1 = 0 je nedopustiva tačka N 2 (0, 500) (jer ne zadovoljava ograničenje 0.1 x 1 + 0.2 x 2 60);
Na prethodnoj slici, dopustivi prostor je predstavljen poligonom OA 1 A 2 A 3. Funkcija cilja je, kao što je to uobičajeno u dvodimenzionalnom prikazu, predstavljena linijama konstantne vrijednosti , odnosno nivo linijama. Te linije su pravci koji zadovoljavaju jednačine 3 x 1 + x 2 = Ck za razne vrijednosti Ck (na slici su prikazani slučajevi C k = 0, C k = 300, C k = 600 i C k = 900). Pri tome, pravac 3 x 1 + x 2 = 900 dodiruje poligon OA 1 A 2 A 3 u tački A 3. U toj tački funkcija cilja ima svoju najveću dopustivu vrijednost. Stoga je ta tačka optimalno rješenje ( x 1 = 300, x 2 = 0) i u njoj je optimalna vrijednost funkcije cilja Z = 900.
Razmotrimo sada reprezentaciju u trodimenzionalnom prostoru ( x 1 , x 2 , Z ). U tom prostoru, funkcija cilja Z = 3 x 1 + x 2 je ravan koja prolazi kroz tačku (0, 0, 0). Njen presjek sa ravni x 1 = 0 formira pravac Z = x 2 , a presjek sa ravni x 2 = 0 pravac Z = 3 x 1. Uzmemo li nekoliko nasumice odabranih tačaka u ravni ( x 1 , x 2 ), recimo A 1 (0, 0), A 2 (300, 0), A 3 (300, 200), A 4 (300, 300), A 5 (200, 300) i A 6 (0, 300), vrijednosti funkcije cilja u tim tačkama respektivno iznose 0, 900, 1100, 1200, 900 i 300. Slijedi da ravan funkcije cilja prolazi kroz tačke A 1 ' (0, 0, 0), A 2 ' (300, 0, 900), A 3 ' (300, 200, 1100), A 4 ' (300, 300, 1200), A 5 ' (200, 300, 900) i A 6 ' (0, 300, 300). Ovo je grafički prikazano na sljedećoj slici.
300
600
900
1200
100 200 300 100
200
300
A 1 , A 1 '
A 2
A 2 '
A 3
A 3 '
A 4
A 4 '
A 5
A 5 '
A 6
A 6 '
Z
x 2
x 1
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
Već smo rekli da su granice dopustive oblasti u trodimenzionalnom prostoru ( x 1 , x 2 , Z ) zadane jednačinama ravni koje su paralelne sa Z – osom odnosno, koje su okomite na ravan ( x 1 , x 2 ). Tako je granica ograničenja 0.5 x 1 + 0.3 x 2 150 ravan 0.5 x 1 + 0.3 x 2 = 150 paralelna sa Z - osom koja x 1 - osu i x 2 - osu presjeca u tačkama x 1 = 150 / 0.5 = 300 i x 2 = 150 / 0.3 = 500, pa je moţemo grafički predstaviti kao na sljedećoj slici.
Granica ograničenja 0.1 x 1 + 0.2 x 2 60 je, takoĎer, ravan 0.1 x 1 + 0.2 x 2 = 60 paralelna sa Z -osom koja x 1 -osu i x 2 - osu presjeca respektivno u tačkama x 1 = 60 / 0.1 = 600 i x 2 = 60 / 0.2 = 300. Konačno, granice ograničenja x 1 0 odnosno x 2 0 su ravni x 1 = 0 odnosno x 2 = 0. Ove četiri ravni imaju šest mogućih presjeka – presječnih pravaca. Od tih šest presječnih pravaca, u ovom konkretnom primjeru, četiri pripadaju dopustivoj oblasti a dva ne pripadaju. Ova ograničenja definiraju dopustivu oblast u obliku beskonačno dugačke cijevi ( prizme ) paralelne sa Z -osom i koja ima poligon OA 1 A 2 A 3 kao osnovicu, što je ilustrirano na sljedećoj slici.
Sada je potrebno naći presjek ravni funkcije cilja i “ cijevi ” dopustivog prostora. U prvoj dopustivoj tački O(0, 0) vrijednost funkcije cilja je 0, što znači da ravan funkcije cilja prolazi kroz tačku (0, 0, 0) trodimenzionalnog prostora ( x 1 , x 2 , Z ). Presjek ravni funkcije cilja i ravni x 2 = 0 je pravac Z = 3 x 1 koji u dopustivi prostor ulazi u tački (0, 0, 0) a završava u tački A 1 ' (300, 0, 3 x 1 ) odnosno A 1 ' (300, 0, 900). Presjek ravni funkcije cilja i ravni x 1 = 0 je pravac Z = x 2 koji u dopustivi prostor ulazi u tački (0, 0, 0) a završava u tački A 3 ' (0, 300, x 2 ) odnosno A 3 ' (0, 300, 300). Presjek ravni funkcije cilja i ravni 0.5 x 1 + 0.3 x 2 = 150 je prava koja u dopustivi prostor ulazi u tački A 1 ' (300, 0, 900) a završava u tački A 2 ' (171.4, 214.3, 3 x 1 + x 2 ) odnosno A 2 ' (171.4, 214.3, 471,4). Konačno, presjek ravni funkcije cilja i ravni 0.1 x 1 + 0.2 x 2 = 60 je prava koja u dopustivi prostor ulazi u tački A 3 ' (0, 300, 300) a završava u tački A 2 ' (171.4, 214.3, 471,4).
x 1
x 2
Z
500
300 0.5 x 1 + 0.3 x 2 = 150
0.5 x 1 + 0.3 x 2 > 150
0.5 x 1 + 0.3 x 2 < 150
A 1 (300, 0)^ A^2 (171.4,^ 214.3)
A 3 ( 0 , 300 ) O
Z
x 2
x 1
N 1 ( 6 00, 0)
N 2 ( 0 , 500 )
0.1 x 1 + 0.2 x 2 = 60
0.5 x 1 + 0.3 x 2 = 150
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
Ovdje će biti definirana četiri oblika modela linearnog programiranja: standardni oblik , opći oblik , normalni oblik i kanonski oblik. Zbog navedenih neusaglašenosti oko naziva pojedinih oblika, ovdje će biti predloţeni nazivi koji, po ocjeni autora, imaju najviše osnova s obzirom na prethodne definicije i usaglašenost sa definicijama u dostupnoj literaturi (mada ponovo treba istaći da su česti autori koji pod kanonskim oblikom smatraju ono što ćemo mi nazvati standardnim oblikom ili normalnim oblikom, a pod standardnim oblikom ono što ćemo mi nazvati normalnim oblikom ili kanonskim oblikom).
Razmotrimo najprije standardni oblik modela linearnog programiranja. Kako je zadatak linearnog programiranja najčešće definiran kao opći problem dodjele ( alokacije ) ograničenih resursa na konkurentne aktivnosti na najbolji način , takav problem se moţe najbolje matematički opisati kao zadatak nalaţenja maksimuma funkcije na koju su postavljena ograničenja u obliku nejednačina tipa “ manje ili jednako ” i ograničenja na nenegativnost promjenljivih. Zbog toga se matematički model linearnog programiranja u standarnom obliku moţe iskazati kao
arg max Z = c 1 x 1 + c 2 x 2 + ... + cn xn p.o.
a 1,1 x 1 + a 1,2 x 2 + ... + a 1, n xn b 1 a 2,1 x 1 + a 2,2 x 2 + ... + a 2, n xn b 2 ... am ,1 x 1 + am ,2 x 2 + ... + am , n xn bm
x 1 0, x 2 0, ... xn 0
ili, u kompaktnijem obliku koristeći skraćenu notaciju za sumaciju, kao
n
j
cj xj 1 p.o.
n
j
ai jxj 1
,^ ^ bi^ ,^ i^ = 1..^ m
xj 0, j = 1 .. n
gdje su ai , j , bj i ci za i = 1 .. m , j = 1 .. n zadani realni brojevi. Prvih m uvjeta (ograničenja) u ovom modelu nazivaju se funkcionalna ograničenja ili strukturna ograničenja , a preostali uvjeti se nazivaju nenegativna ograničenja , uvjeti nenegativnosti ili prirodna ograničenja čije je tipično tumačenje da korišteni resursi ne mogu biti negativni. UvoĎenjem prikladnih matrica, prethodni model se moţe veoma kompaktno zapisati u matrično-vektorskom obliku kao
arg max Z = c T^ x
p.o.
A x b x 0
Bez obzira na veliku generalnost, prethodni model ipak nije sasvim općenit, jer se zadatak linearnog programiranja moţe definirati i u drugim oblicima:
Umjesto maksimizacije moţe se zahtijevati minimizacija ; Neka (ili sva) funkcionalna ograničenja mogu biti nejednakosti tipa “veće ili jednako”, odnosno mogu imati formu ai ,1 x 1 + ai ,2 x 2 + ... + ai , n xn bi za neke vrijednosti i ; Neka (ili sva) funkcionalna ograničenja mogu biti zadana u vidu jednačina , odnosno mogu imati formu ai ,1 x 1 + ai ,2 x 2 + ... + ai , n xn = bi za neke vrijednosti i ; Neke promjenljive ne moraju biti nenegativne , odnosno xj ne mora biti nenegativno za neke vrijednosti j.
Bilo koji zadatak u kojem se javlja bilo koja kombinacija ovih oblika je takoĎer zadatak linearnog programiranja. Uzimajući u obzir naprijed navedene oblike u kojima se takoĎer moţe definirati model linearnog programiranja, moţe se postaviti opći oblik modela linearnog programiranja kao
Radni materijali za kurs “Osnove operacionih istraţivanja” na Elektrotehničkom fakultetu u Sarajevu Akademska godina 2013/
arg maxmin Z = c 1 x 1 + c 2 x 2 + ... + cn xn
p.o.
a 1,1 x 1 + a 1,2 x 2 + ... + a 1, n xn b 1 a 2,1 x 1 + a 2,2 x 2 + ... + a 2, n xn b 2 ... am ,1 x 1 + am ,2 x 2 + ... + am , n xn bm
xj 1 0, xj 2 0, ... xjk 0
gdje su ai , j , bj i ci za i = 1 .. m , j = 1 .. n zadani realni brojevi, j 1 , j 2 , ..., jk su neki indeksi iz opsega od 1 do n , dok znak označava da se na tom mjestu moţe nalaziti bilo koja od oznaka “”, “” ili “=”.
Opći oblik problema linearnog programiranja moţe se lako svesti na standardni. Naime, ograničenja tipa “” lako se principijelno svode na ograničenja tipa “” množenjem sa – 1 , odnosno ograničenje poput
ai ,1 x 1 + ai ,2 x 2 + ... + ai , n xn bi
ekvivalentno je ograničenju
TakoĎer, ograničenje tipa jednakosti poput
ai ,1 x 1 + ai ,2 x 2 + ... + ai , n xn = bi
moţe se zamijeniti sa dva ograničenja tipa nejednakosti
ai ,1 x 1 + ai ,2 x 2 + ... + ai , n xn bi ai ,1 x 1 + ai ,2 x 2 + ... + ai , n xn bi
odnosno
ai ,1 x 1 + ai ,2 x 2 + ... + ai , n xn bi
Ipak, treba napomenuti da se ovakvim transformacijama dobijaju nejednakosti u kojima je desna strana negativna. Kako postoje postupci za rješavanje problema linearnog programiranja kojima ta činjenica može praviti problem (na prvom mjestu, tu spada simpleks algoritam ), to svakako treba imati u vidu. Štaviše, neki autori čak smatraju da je nenegativnost koeficijenata sa desne strane nejednakosti nuţna da bi se neki model uopće mogao smatrati standardnim modelom, tako da se prema tim autorima modeli koji sadrţe nejednakosti čija je desna strana negativna ne smatraju standardnim.
Što se tiče situacija u kojima neke od promjenljivih ne moraju biti nenegativne , te situacije se takoĎer mogu standardizirati uvoĎenjem novih promjenljivih, o čemu će kasnije biti više riječi. Naime, svaka promjenljiva xj koja ne mora biti nenegativna moţe se zamijeniti sa dvije promjenljive xj ’ i xj ” koje moraju biti nenegativne pomoću smjene xj = xj ’ – xj ”.
Sada ćemo razmotriti normalni oblik modela linearnog programiranja. Naime, sve nejednačine koje se nalaze u funkcionalnim ograničenjima, mogu se svesti na jednačine dodavanjem dodatnih izravnavajućih promjenljivih , koje moraju zadovoljavati uvjet nenegativnosti. Recimo, ograničenje
a 1,1 x 1 + a 1,2 x 2 + ... + a 1, n xn b 1
moţe se transformirati u oblik
a 1,1 x 1 + a 1,2 x 2 + ... + a 1, n xn + xn +1 = b 1
pri čemu dodatna promjenljiva xn +1 mora zadovoljavati uvjet xn +1 0. Slična transformacija se moţe izvršiti i u ostalim ograničenjima, pri čemu je u različita ograničenja potrebno uvoditi različite izravnavajuće promjenljive. Na taj način se dobija model linearnog programiranja u normalnom obliku koji se moţe prikazati kao