Emil Stojanovic-Nelinearno Programiranje-Seminarski Rad

Embed Size (px)

Citation preview

SAOBRAAJNI FAKULTET UNIVERZITET U BEOGRADU SEMINARSKI RAD NELINEARNO PROGRAMIRANJE MASTER AKADEMSKE STUDIJE: Operaciona Istraivanja u saobraaju PREDMET: Sloeni zadaci linearnog i celobrojnog programiranja sa primenama u saobraaju STUDENT:PROFESOR: Emil Stojanovidr Ranko Nedeljkovi Beograd, Mart 2012. SADRAJ Uvod ................................................................................................................................................ 1 Grafika interpretacija problema nelinearnog programiranja ......................................................... 2 Primer 1. Funkcija cilja linearna, jedno ogranienje nelinearno ............................................. 2 Primer 2. Funkcija cilja nelinearna, ogranienja linearna ....................................................... 3 Lokalni i globalni Maximum i Minimum ....................................................................................... 4 Standardni modeli nelinearnog programiranja ................................................................................ 6 Bezuslovna Optimizacija......................................................................................................... 6 Linearno ograniena optimizacija ........................................................................................... 6 Kvadratno programiranje ........................................................................................................ 7 Konveksno programiranje ....................................................................................................... 7 Odvojeno programiranje ......................................................................................................... 7 Ne-konveksno programiranje .................................................................................................. 7 Geometrijsko programiranje ................................................................................................... 8 Parcijalno programiranje ......................................................................................................... 8 Problem bezuslovne optimizacije sa jednom promenljivom........................................................... 9 Postupak jednodimenzionalne pretrage ................................................................................... 9 Primer jednodimenzionalne pretrage .................................................................................... 10 Problem bezuslovne optimizacije sa vie promenljivih ................................................................ 12 Postupak gradijentne pretrage ............................................................................................... 12 Primer gradijentne pretrage ................................................................................................... 13 Primeri specijalnih modela nelinearnog programiranja ................................................................ 16 Problem promenljivih cena proizvodnje ............................................................................... 16 Problem promenljivih trokova transporta ............................................................................ 17 Kreiranje portfolia ................................................................................................................. 18 Zakljuak ....................................................................................................................................... 19 1Uvod Kljunapretpostavkalinearnogprogramiranjajedasusvefunkcije(funkcijaciljaifunkcije ogranienja) linearne. Iako ova pretpostavka u sutini vai za brojne praktine probleme, to esto nijesluaj.Zapravo,mnogiekonomistisuotkrilidasuodreenistepeninelinearnostiesto pravila, a ne izuzeci u ekonomskom planiranju problema. Zbog toga je esto je potrebno reavati probleme nelinearnog programiranja. Sutina nelinearnog programiranja lei u tome da se pronae skup x=(x1, x2,...xn) tako da se: Maksimizira) (x fUz ogranienja

, 0, ) (xb x gi ii=1,.....,m gde su) (x f i) (x gipoznate funkcije n promenljivih. Kakojeovaoblastveomaopirnanepostojialgoritamkojimoereitisvakikonkretanproblem nelinearnogprogramiranja,alijeostvarenznaajannapredakprireavanjuposebnih (standardnih) sluajeva nelinearnog programiranja pa emo se udaljemizlaganjuprvoupoznatisa grafikom interpretacijom reavanja manjih problema nelinearnog programiranja a kasnije i sa osnovnim idejama za reavanje odreenih standardnih problema nelinearnog programiranja. 2Grafika interpretacija problema nelinearnog programiranja Kaoto je to bio sluaj kod linearnog, tako i kod nelinearnog programiranja, ukoliko imamo do dve promenljive, problem moemo reiti grafikom metodom.Razmotriemo dva sluaja preko primera. Prvi kada je funkcija cilja je linearna, a barem jedno od ogranienja je predstavljeno nelinearnom funkcijom i drugi kada je funkcija cilja je nelinearna, a sva ogranienja su linearna. Primer 1. Funkcija cilja linearna, jedno ogranienje nelinearno 216 5 945 3 max222112 1 ++ =x xxstx x Z Oblast dopustivih reenja prikazana je na Slici 1. Slika 1. Oblast dopustivih reenja i funkcija cilja na primeru 1. Optimalnoreenje,uovomsluajuepredstavljatitakakrozkojuprolazitangenta,koja predstavlja funkciju cilja. Razlika izmeu linearnog i nelinearnog programiranja je ta to su nam kodlinearnogprogramiranjakandidatizaoptimalnoreenjeekstremioblastidefinisanosti,tj. takekojesenalazeuuglovimaoblastidopustivihreenja(CPFsolution-cornerpointfeasable reenja)akaotosevidiizovogprimera,tonijesluajikodnelinearnogprogramiranja.U ovom sluaju, optimalno reenje se nalazi na granici oblasti dopustivih reenja, aline mora biti u uglu (nije CPF reenje). 3Primer 2. Funkcija cilja nelinearna, ogranienja linearna 0 , 018 2 36413 182 9 126 max2 12 12122 221 1 + + =x xx xxxstx x x x Z Reenje je prikazano na slici 2. Slika 2. Oblast dopustivih reenja i funkcija cilja na primeru 2.Sagrafikaoitavamodajenaeoptimalnoreenje(38,5),priemufunkcijaciljaimavrednost Z=857.FunkcijaZ=857seeoblastdopustivihreenjausamojednojtaki,alitonijeuvek pravilo.Npr.zafunkcijucilja 22 221 113 78 9 54 x x x x Z + = optimalnoreenje(3,3)senalaziu oblasti dopustivih reenja (Slika 3). Slika 3. Oblast dopustivih reenja i funkcija cilja 22 221 113 78 9 54 x x x x Z + =4Lokalni i globalni Maximum i Minimum Kaotosemogloprimetitiiznavedenihprimera,kandidatizaoptimalnoreenjekodproblema nelinearnogprogramiranjasusvetakekojesenalazenaiviciiliunutaroblastidopustivih reenja. Glavni problem koji se javlja kod nelinearnog programiranja je taj to kod iznalaenja najboljeg reenja(maksimumailiminimuma)lokalnimaksimum(minimum)nemorauvekdabudei globalni maksimum (optimalno reenje). Na slici 4. uoavamo da funkcija ima tri maksimuma i tri minimuma, meutim samo jedan od njih je globalni maksimum, odnosno globalni minimum. Slika 4. Prikaz globalnog maksimuma i globalnog minimuma Algoritmizareavanjeproblemanelinearnogprogramiranjanamneukazujuodmahnatokoji lokalni maksimum je i globalni, ve se nakon odreivanja jednog lokalnog maksimuma ispituje postoje li bolja reenja. Ukoliko nam je kriva funkcije sa jednom promenljivom zaobljena na dole (Slika5a), tu funkciju nazivamokonkavnomaukolikonamjekrivafunkcijeciljazaobljenanagore,tafunkcijajekonveksna (Slika5b). Maksimum konkavne, odnosno minimum konveksne funkcije pronalazimo pomou formule022=dxf d. Slika 5a. Konkavna funkcija Slika 5b. konveksna funkcija xdxf d , 022, konkavna funkcija xdxf d , 022, konveksna funkcija 5Ukolikofunkcijausebisadriviepromenljivih,dabiodredilidalijeonakonkavnaili konveksna potrebno je da je ralanimo na sumu manjih funkcija sa jednom ili dve promenljive. Kada je svaka od funkcija konkavna i celokupna sumirana funkcija je konkavna (i obrnuto). Ukolikoproblemnelinearnogprogramiranjanemanikakvihogranienja,afunkcijaciljaje konkavna, tada sigurno znamo da je lokalni maksimum i globalni (i obrnuto, ukoliko je funkcija ciljakonveksnalokalniminimumjeiglobalni).Kadaimamoogranienja,priemususve funkcije ogranienja konveksne, tada oblast dopustivih reenja predstavlja konveksan set. Da bi moglidagarantujemodajelokalnimaksimumujednoiglobalnimaksimumkodnelinearnog programiranja, za sluaj da su ogranienja0 ) ( i i ix i b x g , potrebno je da nam funkcija cilja budekonkavnafunkcija,asvakoodogranienjakonveksnafunkcija.Ovavrstanelinearnog programiranja se naziva konveksno programiranje. 6Standardni modeli nelinearnog programiranja Probleminelinearnogprogramiranjamogubitiurazliitomoblikuiformi.Zarazlikuod simpleksmetodezalinearnoprogramiranje,nepostojijednistvenalgoritamkojimoedarei svakitipnelinearnogproblema.Zbogtogasuprethodnihgodinarazvijaniraznialgoritmiza individualne (standardne) tipove problema nelinearnog programiranja. U ovom poglavlju ukratko emo predstaviti neke od najvanijih problema nelinearnog programiranja. Bezuslovna Optimizacija(Unconstrained Optimization) Problem bezuslovne optimizacije ne sadri funckije ogranienja pa se problem jednostavno svodi samo na funkciju cilja: Maksimizirati f(x) za sve vrednosti x=(x1, x2, ... , xn). Potreban i neophodan uslov ovakvog tipa problema je da reenje problema x=x* bude optimalno kada je funkcija f(x) diferencijabilna: , 0 =jdxdf. ,..., 2 , 1 , n j x x = = Kada je funkcija f(x) konkavna, ovaj uslov je i suvian, jer se problem svodi na reavanje sistema od n jednaina. Meutim, za funkciju f(x) koja je nelinearna bi po pravilu sve ili veina od tih n jednaina bile nelinearne to bi znailo da se takav problem ne bi mogao reiti analitiki. Ovakvi problemisemogureitiuzpomospecijalnihalgoritamajednodimenzionalneili viedimenzionalne optimizacije koje e biti objanjene neto kasnije. Ove procedure (algoritmi) igrajuveomavanuuloguureavanjumnogihproblemanelinearnogprogramiranjabilodase radi o uslovnoj(ogranienoj) ili bezuslovnoj(neogranienoj) optimizaciji. Linearno ograniena optimizacija(Linearly Constrained Optimization) Problemi ovog tipa su okarakterisani ogranienjima koja potpuno odgovaraju tipovima linearnog programiranja,pasutakosvefunkcijeogranienjagi(x)linearnejedinojefunckijacilja nelinearna. Ovaj problem je tako znaajno pojednostavljen uzimai u obzir da treba reiti samo jednunelinearnufunkcijusalinearnimogranienjima.Dosadajerazvijenprilianbroj algoritamanabaziproirenjasimplexmetodezareavanjeovakvihsluajevatj.problemasa nelinearnom funkcijom cilja. 7Kvadratno programiranje(Quadratic Programming) Problemkvadratnogprogramiranjatakoeimalinearnefunkijeogranienjajedinojefunkcija cilja kvadratna. Razlika izmeu problema ovakvog tipa i problema linearnog programiranja je u tometofunckijaciljaukljuujekvadrat(koren)promenljiveiliproizvoddvepromenljive.Za ovakve tipove problemasu takoe razvijeni mnogi algoritmi ali sa dodatnom pretpostavkom da jefunkcijaciljakonkavnafunkcija.Reavanjeproblemakvadratnogprogramiranjajeveoma znaajno delimino zato to se formulacije ovakvog tipa pojavljuju u mnogim aplikacijama kao na primer u problemu kreiranja portfolia. Konveksno programiranje(Convex Programming) Konveksno programiranje pokriva iroku spektar problema koji zapravo obuhvata sve specijalne sluajeveprethodnihtipovaproblemagdesufunkcijeogranienjagi(x)konveksneifunckija cilja f(x) konkavna. Odvojeno programiranje(Separable Programming) Jespecijalnisluajkonveksnogprogramiranjasadodatnompretpostavkomdasusvefunkcije ogranienja i funkcija cilja odvojene funckije. Odvojena funkcija je funkcija gde svaki lan ima samo jednu promenljivu tako da odvojena funkcija cilja moe da se zapie kao suma odvojenih funkcija promenljivih n kao). ( ) (1injix f x f==Uterminologijilinearnogprogramiranjaodvojenoprogramiranjezadovoljavapretpostavku aditivnosti ali ne i pretpostavku proporcionalnosti (za nelinearne funkcije). Vano je prepoznati i razlikovatiproblemeodvojenogprogramiranjaodostalihproblemakonveksnogprogramiranja zatotosvakitakavproblemmoebitiaproksimirandaodgovaratipulinearnogprogramiranja tako da veoma brza i efikasna simplex metoda moe biti primenjena. Ne-konveksno programiranje(Nonconvex Programming) Problemi ne-konveksnog programiranja obuhvataju sve probleme nelinearnog programiranja koji nezadovoljavajupretpostavkukonveksnosti.Zbogtogatopronalaenjelokalnogmaksimuma negarantujedajetoiglobalnimaksimum,nepostojiodreenialgoritamkojimoedanae optimalnoreenjezasvakitipovakvogproblema.Meutim,postojealgoritmikojisurelativno prihvatljivikodovakvihtipovaproblemazaiznalaenjelokalnogmaksimuma,toposebnovai za sluajeve gde funkcije nelinearne programiranja ne odstupaju previe od onih pretpostavljenih za konveksno programiranje. 8Geometrijsko programiranje(Geometric Programming) Kada primenjujemo nelinearno programiranje u ininjerski projektovane probleme, funkcija cilja i funkcije ogranienja esto uzimaju sledei oblik: ==Nii ix P c x g1), ( ) (gde je , ) (2 2 1 1 nana aii x i x i x x P = za svako i=1,2,.,N. U takvim sluajevima parametri ci i aij tipino representuju fizike konstante a xj projektovane promenljive. Ove funkcije generalno nisu ni konveksne ni konkavne tako da tehnike i algoritmi opsiani prethodno ne mogu da ree ovakav tip problema. Postoji jedan specijan tip ovakvog problem koji moe biti transformisan u problem konveksnog programiranja. To je sluaj gde su svi parametri ci u svakoj funckiji striktno pozitivni tako da su funkcije generalizovane kao pozitivni polinomi a funkcija cilja je funkcija koju treba minimizirati. Ekvivalentni problem konvesknog programiranja sa odluujuim promenljivama y1, y2, .. yn se dobija sledeom konfiguracijom kroz originalni model , j e xyj =za svako j=1,2,.,n. U ovom sluaju se sada mogu upotrebiti algoritmi konveksnog programiranja. Parcijalno programiranje(Fractional Programming) Ovakvavrstaprogramiranjasemoeprimenitikadajefunkcijaciljanapisanaurelacijidve funckije kao prikazano .) () () (21x fx fx f = Problemiovevrstesepojavljujukadasemaximiziraodnosproduktivnostiisatirada,profitai trokova proizvodnje ili ukupne dobiti i koliine ulaganja. Programiranje ovog tipa se tako deli na parcije (lanove) gde svaku od funkcija koje su u relaciji trebasvestinastandardniilivepoznatitipfunkcijenelinearnogprogramiranjazakojive postoje algoritmi i reiti ih pojedinano a zatim sumirati na odgovarajui nain konani rezultat. U daljem tekstu emo se neto vie zadrati na problemima bezuslovne optimizacije gde emo malo detaljnije opisati dva sluaja, problem bezuslovne optimizacije sa jednom promenljivom i problem bezuslovne optimizacije sa vie promenljivih. 9Problem bezuslovne optimizacije sa jednom promenljivom Nejednostavnijisluajbezuslovneoptimizacijejekadaufunkcijiciljaimamosamojednu promenljivux,priemujefunkcijacilja,kojutrebamaksimiziratikonkavna.Prematome, potreban i dovoljan uslov da bi reenje x=x* bilo optimalno je022=dxf d Slika 6. Konkavna funkcija problema bezuslovne optimizacije sa jednom promenljivom Akosezadatakmoedirektnoreitianalitikizax*problemjereen,meutimakojefunkcija f(x)sloenijegtipatadasezadataknemoereitianalitikizbogegasezadatakreava numeriki.Modelzareavanjeovakvihproblemasenazivapostupakjednodimenzionalne pretraga (The One-Dimensional Search Procedure). Postupak jednodimenzionalne pretrage Ovaj postupak podrazumeva pronalaenje niza reenja, pri emu se nakon svake iteracije dobija novo,poboljanoreenjekojenakrajudovodidooptimalnogreenja.Sutinapristupaove pretrage jeste pronai pravi smer kretanja promenljivih ka iznalaenju najboljeg reenja. Inicijalizacija: Za izabranu vrednost x treba odrediti gornju i donju granicu poetnogreenja i toleranciju.Donjagranicajeonagranicazakojudrugiizvodfunkcijepoximapozitivnu vrednost(x*morabitiveeodx)injuobeleavamosax.Gornjagranicajeonavrednostx,za kojujedrugiizvodfunkcijeciljanegativnavrednost(x*morabitimanjaodtevrednostix). Gornju granicu obeleavamo sa x . Poetno reenje dobijamo na sledei nain 2,x xx+= . Iteracija:Diferenciramo funkciju cilja dxx df ) (, pri emu za x uzimamo vrednost poetnog reenja x. Ako je dxx df ) ( 0 onda x postaje x. 10Ako je dxx df ) ( 0 onda x postaje x . Sa novom granicom pronalazimo novo x Postupak ponavljamo sve dok se ne zdovolji uslov . 2 x x Primer jednodimenzionalne pretrage Pretpostavimo da funkcija koju treba maksimizirati ima sledei oblik 6 42 3 12 ) ( x x x x f = Prva dva izvoda ove funkcije su ) 1 ( 12) (5 3x xdxx f d = ) 5 3 ( 12) (4 222x xdxx f d+ = Slika 7. Funkcija cilja koju treba maksimizirati Kako je drugi izvod ne-pozitivan za svako x moemo zakljuiti da je funkcija f(x) konkavna postupak jednodimenzionalne pretrage se moe primeniti i pronai globalni maksimum (pod pretpostavkom da postoji). Celokupni postupak primene jednodimenzionalne pretrage daje niz rezultata do iznalaenja najboljeg reenja koji su sumirani i prikazani u sledeoj tabeli radi boljeg pregleda. 11 Tabela 1. Tabelarni prikaz primene jednodimenzionalne pretrage Ovatabelaukljuujeifunkcijuprvogizvodaijesevrednostiocenjujenaosnovuprethodnih iteracija.Meutim,algoritamustvarinemapotrebadaizraunamof(x')tokomcelogpostupka pretrage ve samo onoliko koliko mu je potrebno da odredi svoj znak. Prema tome reenje ovog problema je 0.828125 x* 0.84375 tj. x* 0.836 12Problem bezuslovne optimizacije sa vie promenljivih Problembezuslovneoptimizacijesaviepromenljivihzapravopredstavljaproblem maksimiziranjafunkcijef(x)saviepromenljivihbezfunkcijaogranienjagdesedoreenja problemanemoedoianalitikimputem.Uprethodnompoglavljusmovidelidaseu problemimabezuslovneoptimizacijesajednompromenljivomdoreenjadolazijednostavnim putemtakotojedinupromenljivukojuimainiocfunkcijeciljapoveavamoilismanjujemo doknedobijemooptimalnoreenje.Meutim,ovdesadaimamovieiniocafunkcijeciljasa viepromeljivihpajeputdoreenjakomplikovanijijertrebaodreditiproporcionalnustopu promenljivihtakodanjihoviiniociufunkcijiciljadajuoptimalnoreenje.Dakle,trebaproiti postupak jednodimezionalne promeljive tako da se do cilja doe uzimajui u obzir sve vrednosti pojedinanih inioca i njihove promene kako bi se odredio smer koji vodi do optimalnog reenja. Tosemoeuinitiprekogradijentafunkcijecilja) (x f kaoglavnogpokazateljazauzete vrednosti promenljivih pa se i model za reavanje ovakvih problema naziva postupak gradijentne pretrage (The Gradient Search Procedure). Postupak gradijentne pretrage GradijentfunkcijeciljazaodreenutakuX=Xpredstavljavektorijisuelementiparcijalni izvodi funkcije cilja po X, respektivno, tj., ,.... , ) (2 1|||

\|= ndxdfdxdfdxdfx fza X = X. Inicijalizacija: Odrediti dopustivu greku i izabrati poetnu vrednost X Iteracija: Izraziti funkciju po t )) ( (, ,x f t x f +, pri emu je . ,... 2 , 1 , ) (,,n jxft x xx xjj j=+ == Pomoujednodimenzionalneoptimizacijesajednompromenljivompronait=t*,kojee maksimizirati funkciju )) ( (, ,x f t x f + za t 0 Izraunati novo x i) (x f za novo dobijeno x ) ( *, , ,x f t x x + = Ako je jxf, zavriti sa algoritmom, ako nije ponoviti algoritam. Sadamoemodailustrujemoovajproblemprimeromgdeemonajboljevidetikakosevri pretraga uz pomo gradijenta funkcije cilja kod bezuslovne optimizacije sa vie promeljivih. 13Primer gradijentne pretrage Razmotrimo sledei problem sa dve promenljive: Maxisimizirati2221 2 2 12 2 2 ) ( x x x x x x f + = Funkcija cilja dakle ima dva inioca: , 2 21 21x xxf = . 4 2 22 12x xxf + = Napoetkupretrageodreujemoinicijalnivektorx=(0,0)kaopoetnoreenjepriemue gradijentfunkcijeciljaimativrednost) 2 , 0 ( ) 0 , 0 ( = f jersudeliminiinioci, 01 =xfi . 22 =xf Nakon toga zapoinjemo prvu iteraciju: Odreujemo , 2 ) 2 ( 0, 0 ) 0 ( 021t t xt x= + == + = zatim uvrtavamo ove izraze u funkciju cilja f(x) ime dobijamo 28 4 ) 2 , 0 ( )) ' ( ' ( t t t f x f t x f = = + Kako je ) 8 4 ( max ) 2 , 0 ( max ) 2 , 0 (20 0t t t f t ft t = = i0 16 4 ) 8 4 (2= = t t tdtd sledi da je.41=t Nakon iznalaenja t* resetujemo x= (0,0) + (0,2)=(0,1/2) i odreujemo novi gradijent funkcije cilja koji sada ima vrednost) 0 , 1 ( )21, 0 ( = f . 14Zatim zapoinjemo drugu iteraciju: Odreujemo ),21, ( ) 0 , 1 ( )21, 0 ( t t x = + = tako da sad imamo jednainu 21)) ' ( ' (2+ = + t t x f t x f . Poto je ,21max )21, ( max )21, (20)`+ = = t t t f t fo t t i , 0 2 1 )21(2= = + t t tdtd sledi da je t*=1/2. Ponovo resetujemo x=(0,1/2)+1/2(1,0)=(1/2,1/2) i tako redom dok ne naemo najbolje reenje. Najbolji nain pregleda rada kao i za bolji prikaz je preko tabele koja rezimira sve iteracije. Tabela 2. Tabelarni prikaz primene pretrage bezuslovne optimizacije sa vie promenljivih UdrugojkoloniTabelemoemodavidimovrednosttrenutnogreenjapresvakeiteracijeau krajnjoj desnoj koloni i reenje nakon svake iteracije koje se prenosi u novu iteraciju kao poetno reenje. etvrta kolona nam pokazuje izraz promenljive Xj u funkciji od t koji treba da se zameni u funkciji f(x) ime se dobija izraz pete kolone. Nastavljajuisanainomprethodnoprikazanimuovomprimerudobijamonizreenjanakon svakenoveiteracijakojaeventualnokonvergirajukanajboljemreenju.Tonajboljeilustruje grafu koji je dat na sledeoj slici. 15 Slika 8. Graf viedimenzionalne pretrage bezuslovne optimizacije Prekografamoemodazakljuimodatrenutnareenjakonvergirajukax*=(1,1)kojejei optimalnoreenjeovogproblematopotvrujeigradijentfunkcijecilja). 0 , 0 ( ) 1 , 1 ( = fMeutim,algoritamnamtoneetanoipokazatijereseovesekvencekonvergiranja eventualno zaustaviti priblino ispod ili iznad take (1,1) i algoritam e to pokazati kao konanu aproksimacija reenja problema. U sluaju da funkcija cilja nije konkavna opisana procedura e i daljekonvergiratialisamokalokalnommaksimumuineeseznatidalijetoiglobalni maksimum. Kada u problemu bezuslovne optimizacije sa vie promenljivih treba minimizirati funkciju cilja tadatrebaizvritijednupromenuuopisanojproceduritakodaalgoritamtraireenjeu suprotnom pravcu ka globalnom minimumu. Ta promena je opisana sledeim pravilom Resetujemo x kao). ' ( ' ' x f t x x = Kaotovidimojedinapromenajetatoet*imatine-negativnuvrednostodttakoda minimizira)) ' ( ' ( x f t x f . Kroznavedeneprimerevidelismokakoseprimenjujumodelibezuslovneoptimizacije.Zakraj predstavljanja nelineranog programiranja u daljem tekstu pomenuemo neke primere gde i kako seupraksiprimenjujenelinearnoprogramiranjesaspecifinimmodelimazakonkretne sluajeve. 16Primeri specijalnih modela nelinearnog programiranja Problem promenljivih cena proizvodnje (The Product-Mix Problem with Price Elasticity) esto se deava da veliki proizvoai naiu na elastinost cena, gde koliina proizvoda koja se moe prodati ima inverzan odnos sa prodajnom cenom. Tada kriva cena-tranja za odreeni proizvod moe izgledati kao na Slici 9., gde je p(x) cena po kojoj se moe prodati odreena koliina proizvoda x. Slika 9a. Kriva cena-tranjaSlika 9b. funkcija profita Profitesedobitikaorazlikaprihodaxp(x)irashodacx(trokoviproizvodnjeidistribucije proizvoda),tj.profitkojifirmaostvarujeproizvodnjomiprodajomxjedinicanekogproizvoda moesezapisatipomousledeeformulecx x xp x P = ) ( ) ( ,gdecpredstavljajedinine trokove proizvodnje i distribucije proizvoda x. Akosvakiodnproizvoda,kojiproizvodiovafirma,imaslinufunkcijuprofitaPj(xj)koju ostvarujeproizvodnjomiprodajomXjjedinicaproizvodaj(j=1,...,n),ondaefunkcijacilja predstavljati sumu tih nelinearnih funkcija, tj.==njjx Pj x f1) ( ) ( . Jojedanrazlogzbogkogaseufunkcijiciljamoepojavitinelinearnostjesteinjenicada marginalnitrokovivarirajusanivoomproizvodnje.Sapoveanjemproizvodnjemarginalni trokovisemoguilismanjiti(zboguticajakriveiskustva-proizvodnjajeefikasnijaukolikoje isksutvovee)ilipoveati(zbogpoveanjaproizvodnjemoese zahtevatiprekovremeniradili npr. proirenje kapaciteta). 17Problem promenljivih trokova transporta (The Transportation Problem with Volume Discounts on Shipping Costs) Kodtransportnogproblemapredpostavljalismodasutrokoviisporukepojediniciproizvoda fiksni. Meutim, to nije uvek sluaj. Kod veih isporuka esto se deava da pediter daje popust nakoliinu,patakonpr.marginalnacenadodatejedinicerobemoepratitimodelprikazanna Slici10. Slika10. Marginalni trokovi isporuke Tada ukupni trokovi isporuke vie nee biti predstavljeni linearnom ve nelinearnom funkcijom, pri emu e nagibi biti jednaki odgovarajuim marginalnim trokovima (Slika11). Slika 11. Funkcija trokova isporuke Ukolikobilokojakombinacijaizmeubazeidestinacijeimafunkcijutrokovaisporukeslinu ovoj,priemujetroakisporukejediniceXijizmestaiumestojdatnelinearnomfunkcijom ) (ij ijx C ,tadafunkcijaciljakojutrebaminimiziratipredstavljasumutihfunkcijapoiij,tj. =minjij ijx C x f ) ( ) ( . 18Kreiranje portfolia (Portfolio Selection with Risky Securities ) Danas je uobiajena praksa profesionalnih menadera da svoja iroka portfolia planiraju i kontroliu upotrebom raunara preko modela delimino zasnovanih na primerima nelinearnog programiranja.Investitori su naravno zabrinuti za njihova ulaganja pa je i jasno da ele to preciznije i bolje da znaju oekivani profit i nivo rizika svojih investicija. Modelnelinearnogprogramiranjazakreiranjeportfoliapodrazumevadapododreenim pretpostavkama prui optimalni kompromis izmeu dva faktora profita i gubitka.PrincipsezasnivanarevolucionarnomistraivanjuHariMarkovitzaiVilijamarpakojeimje pomoglo da dobiju Nobelovu nagradu za ekonomiju 1990. Ovaj model nelinearnog programiranja moe da se formulie na sledei nain. Pretpostavimo da se n akcija (hartija od vrednosti-koje predstavljaju ulaganja) mogu posmatrati zaukljuivanjeuportfolio,inekasuodluujuepromenljiveXj(j=1,2,...,n)brojdeonica jedneakcije.Nekasu j i jj procenjenasrednjavrednostivarijansa(respektivno),odnosno vrednosti isplativosti (povratka) svake deonicu akcije j, gde jj zapravo pokazuje rizik povratka ove akcije.Za i = 1, 2 , . . . , n (i j) , neka jeij kovarijansa povratka jedne deonice svake od akcijaiij.(Potojejakotekoprocenitisvevrednosti ij ,uobiajenipristupjedaseuvedu odreeneipretpostavkeiprocenetritainjegovogponaanjakojebiomoguiledase izraunajuvrednosti ij direktnoiz ii i jj ).TadasevrednostfunkcijeR(x)kaoukupnog profitaifunkcijeV(x)kaoukupnogrizikaulaganjazaceoportfoliomoguizraunatinasledei nain ==njj jx x R1, ) ( = ==ninjj i ijx x x V1 . 1) ( JedanodnainarazmatranjavezeizmeuovadvafaktorajedasefunkcijaV(x)koristikao funkcija cilja koja treba da se svede na minimum a funkcija R(x) kao ogranienje koje bi trebalo da budu ne manje od minimalno oekivanog povratka ulaganja. Kompletan model ovog tipa nelinearnog programiranja se moe napisati na sledei nain Minimizirati = ==ninjj i ijx x x V1 . 1) ( Uz ogranienja ,1=njj jL x =njj jB x P1,

0 jx Gde su L minimalni prihvatljivi oekivani povratak, Pj cena svake deonice pojedinane akcije j i B ukupni budet za kreiranje portfolia. 19Zakljuak Uovomraduvidelismodasesaoperacionimistraivanjamaporedlinearnogprogramiranjau praksi jako esto javljaju i problemi nelinearnog programiranja zbog ega je za jednog ininjera kojisebavioperacionimprogramiranjemovaoblastveomavanaitrebajedobroprouitii nikako zanemariti. NepostojijedinstvenalgoritamzareavanjeproblemanelinearnogprogramiranjaIreavanje takvihproblemamoebitijakokomplikovanoinaporno.Unekimsluajevimajemogue formulisatiproblemnelinearnogprogramiranjatakodaodgovaraformulacijilinearnog programiranjaitimepojednostavitiradakotonijemoguepotrebnoprepoznatidaliproblem odgovaranekomodstandardnihtipovanelinearnogprogramiranjailinamavepoznatogi primeniti postojei algoritam radi lakeg iznalaenja optimalnog(najboljeg) reenja. Dodanasjenapravljenizuzetannapredakureavanjuproblemanelinearnogprogramiranjaisa timstvorenaznaajnabazaveomaefikasnihalgoritamazavelikibrojsluajevakaotosmo mogliiuradudavidimo.Meutim,istraivanjakareavanjunovihiveomavelikihproblema nelinearnogprogramiranjasuidaljeaktivnasakonstantnomtenjomdaserazvijutobolji algoritmiisoftverskipaketizageneralnuupotrebu.Zadnjihgodinajeipredstavljenonekoliko softverskih paketa kao to je MINOS-razvijen na Stanford Univerzitetu.