POGLAVLJE 1 UVOD Problem matematičkog programiranja u opštem slučaju može biti zapisan na sledeći način. pri uslovima: min f(x) (1.1) g i (X) 0, za svako i = 1, 2,..., m, (1.2) gde su f(x), g i (X) realne funkcije i X = [x 1, x 2,..., x n ] T R n. Problem (1.1) (1.2) se naziva problemom matematičkog programiranja ili problemom matematičke optimizacije. U slučaju da su funkcija cilja f : R n R i funkcije g i : R n R koje definišu uslove linearne, problem (1.1) (1.2) se naziva problemom linearnog programiranja ili linearne optimizacije. U suprotnom, radi se o problemu nelinearnog programiranja ili nelinearne optimizacije. Primetimo da je funkcija cilja (1.1) problema (1.1) (1.2) tipa minimizacije, ali kako važi minf(x) = max( f(x)), X R n, ne postoji suštinska razlika izmed u problema tipa minimizacije i maksimizacije. Nadalje će uglavnom biti reči o problemima minimizacije Velika grupa problema koje srećemo u praksi mogu biti formulisani kao problemi linearnog programiranja [?], [?], [?], [?], [?] Simpleks metoda i njene 1
2 Zorica Stanimirović razne varijante predstavljaju moćan alat za uspešno rešavanje problema linearnog programiranja i ugrad ene su u mnoge matematičke softvere kao što su Matlab [?], Mathematica [?], [?], [?], Maple [?] i CPLEX [?]. Zahvaljujući brojnim oblastima primene, linearno programiranje je doživelo ekspanziju odmah nakon postavki osnovnih teorija u ovoj oblasti. Med utim, vrlo brzo je uočeno da postoji i veliki broj praktičnih problema čija funkcija cilja nije linearna ili se skup ograničenja ne može u potpunosti (ili uopšte) predstaviti preko linernih funkcija. Može se reći da je razvoj nelinearnog programiranja tekao gotovo paralelno razvoju linearnog programiranja. Prvi veći doprinos u razvoju teorije nelinearnog programiranja bio je rad Kuna i Takera 1 iz 1951 [?], kojim su postavljene osnove nelinearnog progamiranja. Iz tog razloga, Kun i Taker se u literaturi često navode kao osnivači nelinearnog programiranja [?], [?], [?]. U opštem slučaju, problemi nelinearnog programiranja su znatno teži za rešavanje od problema linearnog programiranja, jer se optimalno rešenje nelinearnog problema može naći u unutrašnjoj tački ili na granici dopustivog skupa. Dalje, lokalni optimum ne mora biti globalni optimum, što dodatno problem čini težim za rešavanje. 1.1 Osnovni pojmovi i osobine Dopustivi skup S R n problema (1.1) (1.2) se definiše na sledeći način S = {X R n g i (X) 0, i = 1,.., m}. Dopustiva tačka problema (1.1) (1.2) je svaki element X skupa S. Dopustivu tačku X S nazivamo i dopustivim rešenjem problema (1.1) (1.2). Imajući u vidu definicije dopustivog skupa S i dopustivog rešenja X S, problem (1.1) (1.2) se može zapisati u skraćenom, ekvivalentnom obliku: min X S f(x). (1.3) Za tačku X kažemo da je tačka globalnog minimuma funkcije f na skupu S, ukoliko važi f(x ) f(x), za svako X S, (1.4) a tada se f(x ) naziva globalnim minimumom funkcije f na skupu S. Ukoliko važi stroži uslov f(x ) < f(x), za svako X S\X, (1.5) 1 Harold William Kuhn (1925 ), Albert William Tucker (1905 1995)
Nelinearno programiranje 3 tačka X je tačka strogog globalnog minimum funkcije f na skupu S, odnosno f(x ) je strogi globalni minimum funkcije f na skupu S. Primetimo da tačka globalnog minimuma funkcije f na skupu S ne mora obavezno postojati. Recimo, ukoliko je funkcija f neprekidna na zatvorenom i ograničenom skupu S, tačka globalnog minimuma postoji. U narednim poglavima biće više reči o uslovima postojanja tačke globalnog minimuna funkcije na zadatom skupu. Za tačku X kažemo da je tačka lokalnog minimuma funkcije f na skupu S, ukoliko postoji ε > 0 tako da važi f(x ) f(x), za svako X N ε (X ) S, (1.6) gde je N ε (X ) = {X R n d(x, X ) < ε} ε-okolina tačke X u nekoj metrici d definisanoj u R n. Primetimo da je tada f(x ) lokalni minimum funkcije f na skupu S. Ukoliko važi stroži uslov f(x ) < f(x), za svako X N ε (X ) S, X X, (1.7) tačka X se naziva tačkom strogog lokalnog minimuma funkcije f na skupu S, a f(x ) je strogi lokalni minimum funkcije f na skupu S. Na Slici 1.1 prikazani su primeri tačaka strogog globalnog minimuma x 1, strogog lokalnog minimuma x 3 i lokalnog minimuma x 5 respektivno za funkciju jedne promenljive f(x). Tačka x 2 je tačka globalnog maksimuma, dok je x 4 tačka strogog lokalnog maksimima. Za tačku X kažemo da je tačka izolovanog lokalnog minimuma funkcije f na skupu S, ukoliko postoji okolina N ε (X ) tačke X takva da je X jedinstvena tačka lokalnog minimum u toj okolini. Tačke globalnog maksimuma, strogog globalnog maksimuma, lokalnog maksimuma, strogog lokalnog maksimuma i izolovanog lokalnog maksimuma funkcije f na zadatom skupu S definišu se analogno. U praksi, problem optimizacije smatramo rešenim ukoliko smo našli tačku globalnog minimuma (maksimuma), odnosno sve tačke globalnog minimuma (maksimuma), ukoliko ih ima više, kao i vrednost funkcije u tim tačkama. Med utim, u praksi je često vrlo teško naći globalne minimume, te se često zadovoljavamo nalaženjem tačaka lokalnog minimuma (maksimuma). Takod e primetimo da se tačka X globalnog minimuma (maksimuma), odnosno lokalnog minimuma (maksimuma) funkcije na zadatom skupu, često nazivaju i globalni minimum (maksimum), odnosno lokalni minimum (maksimum) funkcije na zadatom skupu, iako se ovi pojmovi preciznije odnose na vrednost f(x ).
4 Zorica Stanimirović Slika 1.1: Primeri tačaka globalnih i (strogih) lokalnih minimuma i maksimuma Ukoliko je u definiciji problema (1.1) (1.2) dopustivi skup S ceo prostor R n, tj. S = R n, tada problem (1.1) (1.2) nazivamo problemom bezuslovne optimizacije. U suprotnom, tj. ako važi S R n, problem (1.1) (1.2) nazivamo problemom uslovne optimizacije. O svakom od navedenih tipova problema biće reči u narednim poglavljima. Dopustivi skup S je u opštem slučaju definisan nejednakostima g i (X) 0, i = 1, 2,.., m. Primetimo da se bilo koji skup jednačina i nejednačina koje definišu dopustivi skup može zapisati na ovaj način. Svako ograničenje tipa g(x) 0 može se zapisati u ekvivalentnom obliku -g(x) 0. Svako ograničenje tipa jednakosti g(x) = 0 može se zapisati preko dve nejednakosti g(x) 0 i g(x) 0, i dalje g(x) 0 i g(x) 0. Ako je u definiciji problema (1.3) dopustivi skup S definisan nejednakostima g i (X) 0, i = 1, 2,.., m, problem (1.3) (odnosno njegov ekvivalentan oblik (1.1) (1.2)) nazivamo klasičnim problemom uslovne optimizacije. Ukoliko su funkcija cilja f(x) i funkcije ograničenja g i (X), i = 1, 2,.., m konveksne, problem (1.3) (odnosno problem (1.1) (1.2)) nazivamo problemom konveksnog programiranja. Primetimo da je u tom slučaju dopustiv skup S takod e konveksan. Problem konveksnog programiranja ima mnogo osobina koje u opštem slučaju nisu ispunjene u nekonveksnom slučaju, te će o ovim problemima biti više reči kasnije.
Nelinearno programiranje 5 1.2 Primeri problema nelinearne optimizacije Problemi nelinearne optimizacije često nastaju iz problema u prirodnim naukama i inženjerstvu. Na primer, zapremina sfere je nelinearna funkcija njenog poluprečnika, gubitak energije u električnom kolu je nelinearna funkcija otpora, veličina populacije je nelinearna funkcija stope mortaliteta i nataliteta, itd. U ovoj sekciji navodimo nekoliko praktičnih problema koji se formulišu kao problemi nelinearne optimizacije. Primer 1.1 Pretpostavimo da četiri zgrade treba povezati električnim vodovima. Pozicije osnova zgrada su prikazane na Slici 1.2. Osnove prve dve zgrade su kružnog oblika: osnova prve zgrade ima centar u tački C 1 (1, 4) i poluprečnik 2, a druge sa centrom u tački C 2 (9, 5) i poluprečnika 1. Treća zgrada ima osnovu kvadrata stranice dužine 2 i sa centrom u tački C 3 (3, 2). Osnova četvrte zgrade je pravougaonik širine 2 i visine 4, sa centrom u tački C 4 (7, 0). Električni vodovi su spojeni u centralnoj tački (x 0, y 0 ), a spojevi sa svakom od zgrada će biti u tačkama (x i, y i ), i = 1, 2, 3, 4. Slika 1.2: Električni vodovi koji povezuju zgrade iz Primera 1.1 Cilj problema je odrediti koordinate tačaka konekcije, tako da ukupna dužina električnih vodova utrošenih za povezivanje sve četiri zgrade bude minimalna. Matematički model ovog problema može biti zapisan na sledeći način:
6 Zorica Stanimirović pri uslovima min z, z = w 1 + w 2 + w 3 + w 4, w i (x i x 0 ) 2 + (y i y 0 ) 2 = 0, i = 1, 2, 3, 4, (x 1 1) 2 + (y 1 4) 2 4, (x 2 9) 2 + (y 2 5) 2 1, 2 x 3 4, 3 y 3 1, 6 x 4 8, 2 y 4 2. Primer 1.2 Ovaj primer se odnosi na problem koji je postavio Arhimed 2. Na Slici 1.3 predstavljen je odsečak sfere poluprečnika r, pri čemu je visina odsečka h. Problem je izabrati poluprečnik sfere r i visinu sfernog odsečka h, tako da je zapremina odsečka maksimalna, pri fiksiranoj površini odsečka A > 0, A = const. Problem se može zapisati kao problem nelinearnog programiranja: pri uslovu max V (r, h), V (r, h) = πh 2 (r h 3 ), 2rπh = A. Arhimed je pokazao da se optimalno rešenje problema (globalni maksimum) dobija za h = r, tj. ako je u pitanju hemisfera. 2 Áρχιµήδης (287 212 p.n.e.)
Nelinearno programiranje 7 Slika 1.3: Arhimedov problem iz Primera 1.2 Primer 1.3 Posmatrajmo mrežu puteva, predstavljenu na Slici 1.4, gde čvorovi predstavljaju raskrsnice puteva, a strelice označavaju smer kretanja vozila u saobraćaju. Ako se na putu nalazi samo par vozila, vreme putovanja izmed u dve raskrsnice može se smatrati konstantnim. Med utim, pri intenzivnom saobraćaju, vreme putovanja naglo raste. Posmatrajmo dve raskrsnice predstavljene čvorovima i i j. Neka je t ij vreme potrebno da se od raskrsnice i stigne do raskrsnice j pri slabom intenzitetu saobraćaja (t ij const), x ij prosečan broj automobila (po satu) koji saobraćaju od čvora i do čvora j, c ij kapacitet puta od i do j, tj. maksimalan broj automobila (po satu) na datom putu od i do j, α ij koeficijent porasta vremena putovanja od i do j sa pojačavanjem intenziteta saobraćaja. Pretpostavka je da su sve vrednosti t ij, c ij i α ij dobijene empirijski na osnovu mernih podataka za posmatranu putnu mrežu.
8 Zorica Stanimirović Slika 1.4: Protok u mreži Dalje, pretpostavimo da svako vozilo koje ud e u raskrsnicu, mora i da izad e iz iste raskrsnice (uslov očuvanja protoka u mreži). Vreme putovanja izmed u čvorova i i j može se opisati funkcijom T ij, koja je nelinearna funkcija argumenta x ij : x ij T ij (x ij ) = t ij + α ij. 1 x ij /c ij Zaista, ukoliko nema saobraćaja na putu od i do j, tada je x ij = 0, te je vreme putovanja konstantno i jednako t ij. Ako broj vozila x ij raste i približava se maksimalnom kapacitetu puta c ij, tada vreme putovanja teži ka +. Cilj je minimizacija ukupnog vremena putovanja kroz mrežu pri zadatom prosečnom protoku od P automobila po satu. Pod navedenim pretpostavkama, problem se može opisati sledećim matematičkim modelom: min f(x), f(x) = i,j x ij T ij (x ij ), pri uslovima x 12 + x 13 = P, x 23 + x 24 x 12 = 0, x 34 x 13 x 23 = 0, x 24 + x 34 = P, 0 x ij c ij.
Nelinearno programiranje 9 Potencijalni nedostatak ovog matematičkog modela je što pri maksimalnom protoku saobraćaja na bilo kom putu (x ij = c ij za neko i i j), funkcija cilja postaje nedefinisana. Ova situacija se može prevazići neznatnim smanjenjem gornjih granica na promenljive x ij. Preciznije, možemo pretpostaviti da je x ij c ij ε, gde je ε mali pozitivan broj. Drugi način je da se poveća svaki od imenilaca u funkciji cilja za neku malu vrednost ε > 0, kako bi imenilac imao vrednost ne manju od ε, čime bi se izbeglo deljenje nulom. Primer 1.4 Razmatramo problem odred ivanja najkraćeg rastojanja tačke r R n do skupa S = {X R n a T X = b} R n, a, b R n, a 0. U dvodimenzionom slučaju, tačke skupa S definišu pravu, u tri dimenzije definišu ravan, a u opštem slučaju S je hiperravan. Problem odred ivanja najkraćeg rastojanja može biti formulisan na sledeći način: pri uslovu min f(x), f(x) = 1 2 (X r)t (X r), a T X = b. Koeficijent 1 2 u funkciji cilja uveden je zbog pogodnije analize problema i ne utiče na njegove suštinske osobine. Za razliku od većine nelineranih problema, ovaj problem ima rešenje koje se može eksplicitno izraziti sa X = r + b at r a T a a. Problem nalaženja najkraćeg rastojanja je primer problema kvadratnog programiranja. U opštem slučaju, cilj problema kvadratnog programiranja je minimizacija (ili maksimizacija) kvadratne funkcije pri linearnim ograničenjima. Primer takvog problema je: pri uslovu min f(x) = 1 2 XT QX AX b. Ukoliko je matrica Q pozitivno definitna [?], problemi kvadratnog programiranja su relativno jednostavni za rešavanje, u pored enju sa ostalim problemima nelinearnog programiranja.
10 Zorica Stanimirović 1.3 Uslovi lokalne optimalnosti Neka je X tačka lokalnog minimuma problema nelinerne optimizacije (1.1) (1.2). Za definisanje uslova lokalne optimalnosti koristimo izvode funkcije f : R n R. Podsetimo se da je izvod prvog reda funkkcije f u tački X R n, u oznaci Df(X), definisan sa [ f Df(X) = (X), f (X),..., f ] (X), x 1 x 2 x n i da je gradijent f(x) transponovan prvi izvod Df(X), tj. f(x) = (Df(X)) T. Drugi izvod funkcije f : R n R u tački X označavamo sa D 2 f(x) i definišemo sa 2 f (X)... 2 f x 2 1 x n x 1 (X).. D 2 f(x) =..... 2 f x 1 x n (X)... 2 f x 2 n (X) Matrica D 2 f(x) se još naziva i Hesijan 3 (ili Hesijan matrica) funkcije f u tački X. Hesijan funkcije f u tački X se označava i sa F (X), kao i sa 2 f(x). Ove oznake ćemo koristiti u nastavku teksta. Primer 1.5 Neka je f : R 2 R definisana sa Tada je Df(X) = ( f(x)) T = f(x) = (x 1 1) 2 e x 2 + x 1, X = [x 1, x 2 ] T. [ f x 1 (X), ] f (X) = [2(x 1 1)e x 2, (x 1 1) 2 e x 2 1] x 2 i D 2 f(x) = [ 2 f (X) x 2 1 2 f x 1 x 2 (X) 2 f x 2 x 1 (X) 2 f x 2 2 (X) ] [ = ] 2e x 2 2(x 1 1)e x 2 2(x 1 1)e x2 (x 1 1) 2. e x2 Za problem uslovnog nelinearnog programiranja sa dopustivim skupom S R n, globalni ili lokalni minimum mogu da se nalaze ili u unutrašnjosti skupa S 3 Ludwig Otto Hesse (1811 1874)
Nelinearno programiranje 11 (koju označavamo sa int(s)) ili na njegovoj granici (oznaka S). Za ispitivanje drugog slučaja, tj. kada se lokalni ili globalni minimum nalaze na granici skupa S, potrebno je da definišemo pojam dopustivog pravca Definicija 1.1 Za vektor d R n, d 0 kažemo da je vektor dopustivog pravca u tački X S, ako postoji α 0 > 0 takvo da X + αd S za svako 0 α α 0. Na Slici 1.5 ilustrovan je pojam dopustivog pravca u tački u dvodimenzionom slučaju. Primetimo da je d 1 dopustivi pravac u tački X, jer za α 0 sa slike važi da tačke X + αd ostaju u dopustivom skupu S za 0 α α 0. Sa druge strane, vektor d 2 ne predstavlja dopustivi pravac, jer ne postoji α 0 za koje važi definicija. Primetimo da za svaku tačku X int(s) svaki vektor d 0 predstavlja vektor dopustivog pravca u X. Neka je f : R n R realna funkcija i neka je d vektor dopustivog pravca u tački X. Izvod funkcije f pravcu vektora d u tački X je realna funkcija definisana sa: f d (X) = lim f(x + αd) f(x) α 0. α Slika 1.5: Dopustivi pravac u tački X Neka je neka norma u R n indukovana skalarnim proizvodom,, tj. X 2 = X, X. Ukoliko je d = 1, tada se f d (X) naziva i stopom priraštaja funkcije f u tački X u pravcu vektora d. Neka su tačka X i vektor d unapred zadati. Tada je f(x + αd) = f 1 (α) funkcija od α i važi: f d (X) = df 1 dα (X + αd) α=0.
12 Zorica Stanimirović Dalje je f d (X) = df 1 dα (X+αd) α=0 = f(x) T d = f(x), d = d, f(x) = d T f(x). Drugim rečima, ukoliko je d = 1, tada je f(x), d stopa rasta funkcije f u tački X u pravcu vektora d. Primer 1.6 Neka je f : R 3 R definisana sa f(x) = x 1 x 2 x 3, X = [x 1, x 2, x 3 ] [ ] T T 1 i neka je d = 2, 1 2, 2 1. euklidska norma vektora d je jedan, tj. d = 1. Tada je izvod funkcije f u proizvoljnoj tački X u pravcu vektora d [ f 1 d (X) = [x 2x 3, x 1 x 3, x 1 x 2 ] 2, 1 ] T 2, 1 2 = x 2x 3 + x 1 x 3 + 2x 1 x 2. 2 Sada možemo formulisati i dokazati sledeću teoremu. Teorema 1.1 Neophodni uslovi prvog reda (NUPR). Neka je S R n i f : S R, f C 1 (S) realna funkcija definisana i neprekidno diferencijabilna na skupu S. Ako je X lokalni minimum funkcije f na S, tada za proizvoljni dopustivi pravac d u tački X važi: d T f(x ) 0. Dokaz. Pretpostavimo da je X tačka lokalnog minimuma i neka je X(α) = X + αd. Primetimo da je X(0) = X. Definišimo složenu funkciju: Iz Tejlorovog razvoja dobijamo ϕ(α) = f(x(α)). f(x + αd) f(x ) = ϕ(α) ϕ(0) = ϕ (0)α + o(α) = αd T f(x(0)) + o(α), gde je α 0. Ukoliko je ϕ(α) ϕ(0), odnosno f(x + αd) f(x ) za dovoljno male vrednosti α > 0 (X je lokalni minimum), tada mora biti d T f(x) 0. Pod gore navedenim pretpostavkama neophodni uslov egzistencije lokalnog minimuma iz Teoreme 1.1 može biti iskazan i na sledeći način.
Nelinearno programiranje 13 Teorema 1.1 Neophodni uslovi prvog reda (NUPR). Neka je S R n i neka je f C 1 realna funkcija na S. Ako je X lokalni minimum funkcije f na S, tada je f d (X ) 0 za svaki vektor dopustivog pravca d u tački X. Drugim rečima, ako je X tačka lokalnog minimuma, tada je stopa rasta funkcije f u tački X u pravcu proizvoljnog vektora dopustivog pravca d S nenegativna. Dokaz. Pretpostavimo da je X tačka lokalnog minimuma. Tada, za proizvoljni vektor dopustivog pravca d S, postoji α 0 > 0, takvo da za svako α [0, α 0 ] važi nejednakost f(x ) f(x + αd). Dalje, za svako α [0, α 0 ] važi Puštajući da α 0, dobijamo f(x + αd) f(x ) α f d (X ) 0. 0. Teorema 1.1 i njena alternativna forma Teorema 1.1 ilustrovane su na Slici 1.6. Sa f = 1, f = 2 i f = 3 označeni su nivoski skupovi funkcije f. Primetimo da tačka X 1 ne zadovoljava NUPR iz Teoreme 1.1 (odnosno Teoreme 1.1 ), dok su NUPR zadovoljeni za tačku X 2. Podsetimo se da je za funkciju f C 1, vektor f(x 0 ) ortogonalan na tangentni vektor na proizvoljnu glatku krivu koja prolazi kroz tačku X 0 na nivoskom skupu koji je definisan sa f(x) = f(x 0 ). Često se kaže da je f(x 0 ) pravac maksimalnog rasta funkcije u tački X 0. Dakle, pravac maksimalnog rasta realne diferencijabilne funkcije u tački X 0 je ortogonalan na nivoski skup funkcije u toj tački. Od posebnog interesa je slučaj kada je tačka X unutrašnja tačka dopustivog skupa S, tj. X int(s). Tada svaki vektor d R n predstavlja vektor dopustivog pravca u X. Stoga, imamo sledeću posledicu.
14 Zorica Stanimirović Slika 1.6: NUPR za problem uslovne optimizacije u dvodimenzionom slučaju Posledica 1.1 Neka je S R n i neka je f C 1 realna funkcija na S. Ako je X lokalni minimum funkcije f na S, i X pripada unutrašnjosti dopustivog skupa S, tada je f(x ) = 0. Dokaz. Pretpostavimo da je X tačka lokalnog minimuma funkcije f na S i da X int(s). Kako je X unutrašnja tačka skupa S, skup vektora dopustivih pravaca u X je ceo prostor R n. Tada, za svako d R n važi d T f(x ) 0, ali i d T f(x ) 0. Dakle, d T f(x ) = 0 za svako d R n, odakle zaključujemo da je f(x ) = 0. Dopustive tačke X za koje važi da je f(x ) = 0 nazivaju se još i stacionarnim tačkama. To su tačke potencijalnih ekstema funkcije: (strogog) lokalnog minimuma i (strogog) lokalnog maksimuma. Primer 1.7 Dat je sledeći problem nelinearnog programiranja: pri uslovima min (x 4 1 + 3x 1 x 2 + x 2 2 + x 1 5) x 1 0, x 2 0. Neka je f : R 2 R i f(x) = x 4 1 + 3x 1 x 2 + x 2 2 + x 1 5, X = [x 1, x 2 ] T Dopustivi skup je S = {(X R 2 x 1 0, x 2 0}. Primetimo da je f C 1 i f(x) = [4x 3 1 + 3x 2 + 1, 3x 1 + 2x 2 ] T.
Nelinearno programiranje 15 U tački A = [1, 1] T imamo da je f(a) = [8, 5] T. Kako A int(s), NUPR za lokalni minimum nisu zadovoljeni u tački A jer je f(a) 0. Za tačku B = [1, 0] T važi f(b) = [5, 3] T, i stoga je d T f(b) = 5d 1 + 3d 2 za neki vektor d = [d 1, d 2 ] T R 2. Da bi vektor d bio vektor dopustivog pravca u tački B, mora da važi d 2 0, dok d 1 može da ima proizvoljne vredosti. Da bi B bila tačka lokalnog minimuma, mora da važi d T f(b) 0 za svaki vektor d dopustivog pravca. Med utim, za dopustivi vektor d = [ 1, 1] T, imamo da je d T f(b) = 5 + 3 = 2 < 0, te B nije tačka lokalnog minimuma. Za tačku C = [0, 1] T važi f(c) = [4, 2] T, i stoga je d T f(c) = 4d 1 + 2d 2 za neki vektor d = [d 1, d 2 ] T R 2. Da bi vektor d bio vektor dopustivog pravca u tački C, mora da važi d 1 0, dok d 2 može da ima proizvoljne vredosti. Da bi C bila tačka lokalnog minimuma, mora da važi d T f(c) 0 za svaki vektor d dopustivog pravca. Med utim, za dopustivi vektor d = [1, 3] T, imamo da je d T f(b) = 4 6 = 2 < 0, te C nije tačka lokalnog minimuma. Posmatrajmo koordinatni početak O = [0, 0] T. Za ovu tačku važi f(o) = [1, 0] T, i stoga je d T f(o) = d 1 za neki vektor d = [d 1, d 2 ] T R 2. Da bi vektor d bio vektor dopustivog pravca u tački O, mora da važi d 1 0 i d 2 0. Stoga je d T f(o) 0 za svaki vektor d dopustivog pravca, te tačka O zadovoljava NUPR i predstavlja tačku lokalnog minimuma. Primer 1.8 Posmatrajmo funkciju V (r, h) = πh 2 (r h 3 ), V : R2 R iz Arhimedovog zadatka prikazanog u Primeru 1.8. Dopustivi skup je S = {[r, h] T R 2 r > 0, h > 0, 2rπh = A}, te se smenom r = A 2πh, funkcija V svodi na funkciju jedne promenljive V (r, h) = V ( A 2πh, h) = V 1(h) = Ah 2 πh3 3, a dopustivi skup je S 1 = {h R h > 0}. Umesto funkcije V 1 koja figuriše u problemu maksimizacije, posmatraćemo funkciju V kao funkciju cilja problema minimizacije max V 1 (h) = min ( V 1 (h)). Primetimo da je V 1(h) = A 2 πh2 i V 1, V 1 C 1. Kako je svaka tačka iz S 1 unutrašnja, da bi tačka h S 1 bila tačka lokalnog minimuma funkcije V 1, mora da važi ( V 1 ) (h ) 0 za svaki dopustivi pravac d. Kako je svaka tačka skupa S 1 unutrašnja, pa i h, tada je i svaki pravac d dopustiv, pa prema Posledici 1.1 mora biti ( V 1 ) (h ) = 0. Za tačku h = A/2π važi ( V 1 ) (h) =
16 Zorica Stanimirović 0, te je h = r = A/2π lokalni minimum funkcije V 1 (h) na skupu S 1. Tačka [r, h ] T je tačka lokalnog maksimuma funkcije V (r, h) na skupu S. Ključnu ulogu u formulaciji dovoljnih uslova drugog reda ima pojam pozitivne definitnosti Hesijan matrice, te ćemo se na ovom mestu kratko podsetiti šta je definitnost matrice. Definicija 1.2 Data je simetrična matrica A = [a ij ] dimenzije n. 1. Za matricu A kažemo da je pozitivno definitna (u oznaci A > 0), ukoliko važi uslov X T AX > 0, za svako X R n, X 0, a pozitivno semidefinitna (u oznaci A 0), ukoliko je X T AX 0, za svako X R n. 2. Za matricu A kažemo da je negativno definitna (u oznaci A < 0), ukoliko važi uslov X T AX < 0, za svako X R n, X 0, a negaitivno semidefinitna (u oznaci A 0), ukoliko je X T AX 0, za svako X R n. 3. Ukoliko ne važi ni 1. ni 2, kažemo da je matrica A nedefinitna ili da A nije definitna. Sada ćemo definisati uslove drugog reda za lokalni minimum. Teorema 1.2 Neophodni uslovi drugog reda (NUDR). Neka je S R n i neka je f C 2 realna funkcija na S. Neka je X lokalni minimum funkcije f na S i d vektor dopustivog pravca u X. Ako je d T f(x ) = 0, tada je gde je F Hesijan funkcije f. d T F (X )d 0, Dokaz. Pretpostavimo suprotno, tj. da postoji vektor dopustivog pravca d u X takav da je d T f(x ) = 0 i d T F (X )d < 0. Neka je X(α) = X + αd i ϕ(α) = f(x(α)) = f(x + αd). Koristeći Tejlorov razvoj dobijamo ϕ(α) ϕ(0) = ϕ (0)α + ϕ (0) α2 2 + o(α2 ). Kako je ϕ (0) = d T f(x ) = 0 i ϕ (0) = d T F (X )d, za dovoljno malo α imamo odnosno ϕ(α) ϕ(0) = ϕ (0) α2 2 + o(α2 ) < 0,
Nelinearno programiranje 17 f(x + αd) < f(x ), što je suprotno pretpostavci da je X lokalni minimum. Prema tome, polazna pretpostavka nije tačna, te je što je i trebalo dokazati. ϕ (0) = d T F (X )d 0, Napomena: ukoliko je matrica A pozitivno semidefinitna, koristićemo oznaku A 0, radi kraćeg zapisa. Ukoliko je matrica pozitivno definitna, koristićemo oznaku A > 0. U slučaju da je u pretpostavkama Teoreme 1.2, tačka X strogi lokalni minimum, tada je i kvadratna forma odred ena vektorom d i Hesijanom u X pozitivno definitna. Preciznije, imamo sledeći oblik Teoreme 1.2. Teorema 1.2 Neophodni uslovi drugog reda (NUDR). Neka je S R n i neka je f C 2 realna funkcija na S. Ako je X strogi lokalni minimum funkcije f na S i d vektor dopustivog pravca u X. Ako je d T f(x ) = 0, tada je gde je F Hesijan funkcije f. d T F (X )d > 0, Teorema 1.2 se dokazuje na isti način kao Teorema 1.2, zamenom znaka nejednakosti znakom stroge nejednakosti na odgovarajućim mestima. Primer 1.9 Posmatrajmo Rozenbergovu funkciju 4, f : R 2 R definisanu sa f(x) = 100(x 2 x 2 1) 2 + (1 x 1 ) 2, X = [x 1, x 2 ] T na skupu S = {X R 2 x 1 0, x 2 0}. S obzirom na definiciju funkcije f, imamo da je f(x) = [ 400x 1 (x 2 x 2 1) + 2(1 x 1 ), 200(x 2 x 2 1)] i F (X) = [ 400x 2 1 400x 2 2 400x 1 400x 1 200 4 Jonathan M. Rosenberg, http : //www2.math.umd.edu/ jmr/ ].
18 Zorica Stanimirović Tačka A = [1, 1] T zadovoljava NUPR za lokalni minimum, tj. f(a) = [0, 0] T. Kako je [ ] d T F (A)d = [d 1, d 2 ] T 802 400 [d 400 200 1, d 2 ] = 1002d 2 1 800d 1 d 2 + 200d 2 2, u tački A ne važe NUDR (jer je d T F (A)d = 2), te A nije tačka lokalnog minimuma. Grafik Rozenbergove funkcije f : R 2 R prikazan je na Slici 1.7. Slika 1.7: Rozenbergova funkcija Primer 1.10 Posmatrajmo funkciju f(x) = x 3, f : R R. Kako je f (x) = 3x 2 i f(x) = 6x, tačka x = 0 zadovoljava i NUPR i NUDR. Med utim, to nije tačka lokalnog minimuma. Sada ćemo nasvesti dovoljne uslove za lokalni minimum. Teorema 1.3 Dovoljni uslovi drugog reda (DUDR), slučaj unutrašnje tačke. Neka je S R n i neka je f C 2 realna funkcija na S. Ako važi 1. f(x ) = 0 i 2. F (X ) > 0, tada je X tačka strogog lokalnog minimuma.
Nelinearno programiranje 19 Za dokaz Teoreme 1.3 biće nam potrebna Rejlijeva nejednakost 5 (videti [?] i [?]). Lema 1.1 Rejlijeva nejednakost Ako je realna kvadratna matrica A dimenizije n simetrična i pozitivno definitna, a norma vektora u R n, tada je λ min (A) X 2 X T AX λ max (A) X 2, X R n, gde je λ min (A) najmanja, a λ max (A) najveća sopstvena vrednost matrice A Dokaz Rejlijeve nejednakosti prepuštamo čitaocu. Imajući u vidu Rejlijevu nejednakost, možemo dokazati Teoremu 1.3. Dokaz. Kako je f C 2, važi F (X ) = F T (X ). Na osnovu pretpostavke 2. i koristeći Rejlijevu nejednakost, sledi da za d 0 imamo 0 < λ min (F (X )) d 2 d T F (X )d. U gornjoj nejednakosti smo koristili činjenicu da su sve sopstvene vrednosti simetrične pozitivno definitne matrice strogo pozitivne (videti Teoremu??). Dalje, na osnovu pretpostavke 1. i koristeći Tejlorov razvoj dobijamo: f(x + d) f(x ) = 1 2 dt F (X )d + o( d 2 ) λ min(f (X )) d 2 + o( d 2 ). 2 Dakle, za svaki vektor d, za koji je d dovoljno malo, važi što je i trebalo dokazati. f(x + d) > f(x ), Primer 1.11 Posmatrajmo funkciju f : R 3 R, definisanu sa f(x) = x 2 1 + x 2 2 + x 2 3, X = [x 1, x 2, x 3 ] T. Kako je f(x) = [2x 1, 2x 2, 2x 3 ] T = 0 ako i samo ako je x 1 = x 2 = x 3 = 0. Za svako X R 3 važi: F (X) = 2 0 0 0 2 0 0 0 2 Tačka X = [0, 0, 0] T zadovoljava NUPR, NUDR i DUDR, te predstavlja tačku strogog lokalnog minimuma. Štaviše, X = [0, 0, 0]T je i strogi globalni minimum.. 5 John William Strutt, 3rd Baron Rayleigh (1842 1919)
20 Zorica Stanimirović Kao što smo napomenuli na početku, posmatrali smo samo probleme tipa minimizacije i izveli NUPR, NUDR i DUDR za minimum funkcije. Kako je min f(x) = max( f(x)), ne postoji suštinska razlika izmed u problema tipa minimizacije i maksimizacije. NUPR, NUDR i DUDR za slučaj lokalnog maksimuma i strogog lokalnog maksimuma se izvode na analogan način. Za tačku X (strogog) lokalnog maksimuma takod e važi f(x ) = 0, ali je F (X ) 0 ako je X lokalni maksimum, odnosno F (X ) < 0 u slučaju da je X strogi lokalni maksimum. 1.4 Zadaci za vežbu Zadatak 1.1 Posmatrajmo funkciju f : R 2 R zadatu sa [ ] [ ] f(x) = X T 2 5 X + X T 3 + 7. 1 1 4 a) Naći izvod funkcije f u tački [0, 1] T u pravcu vektora d = [1, 0] T. b) Naći sve tačke koje zadovoljavaju NUPR za funkciju f. c) Da li funkcija f ima minimum? Ukoliko ih ima, odrediti sve minimume. Ukoliko ne, objasniti zašto ih nema. Zadatak 1.2 Neka je kvadratna funkcija f : R n R zadata sa f(x) = 1 2 XT QX X T b, gde je Q simetrična, pozitivno definitna kvadratna matrica. Pokazati da je X minimum funkcije f ako i samo ako zadovoljava NUPR. Zadatak 1.3 Neka je data funkcija f : R n R, S R n i vektor d R n. a) Ako je d vektor dopustivog pravca u tački X S, tada za svako β > 0 vektor βd je takod e vektor dopustivog pravca u tački X S. b) Neka je S = {X R n AX = b}. Tada važi: d je vektor dopustivog pravca u tački X S ako i samo ako je Ad = 0. Zadatak 1.4 Data je funkcija f : R 2 R, definisana sa f(x) = x 2 2, X = [x 1, x 2 ] T. Posmatrajmo problem min f(x)
Nelinearno programiranje 21 pri uslovima x 2 x 2 1 x 1 0. a) Ispitati da li tačka [0, 0] T zadovoljava NUPR za lokalni minimum funkcije f na zadatom dopustivom skupu S = {X R 2 x 2 x 2 1, x 1 0}. b) Ispitati da li je tačka [0, 0] T lokalni minimum, strogi lokalni minimum, lokalni maksimum ili strogi lokalni maksimum funkcije f na skupu S. Ili nijedno od navedenog? Zadatak 1.5 Data je funkcija f : R 2 R, definisana sa f(x) = 5x 2, X = [x 1, x 2 ] T. Posmatrajmo problem min f(x) pri uslovu x 2 1 + x 2 1. a) Ispitati da li tačka [0, 1] T zadovoljava NUPR za lokalni minimum funkcije f na zadatom dopustivom skupu S = {X R 2 x 2 1 + x 2 1}. b) Ispitati da li tačka [0, 1] T zadovoljava NUDR za lokalni minimum funkcije f na skupu S. c) Da li je tačka [0, 1] T lokalni minimum funkcije f na skupu S? Zadatak 1.6 Posmatrajmo funkciju f : R 2 R zadatu sa f(x) = X T [ 1 2 4 7 ] X + X T [ 3 5 a) Naći gradijent i Hesijan funkcije f u tački [1, 1] T. ] + 6. b) Naći izvod funkcije f u tački [1, 1] T u pravcu jediničnog vektora d koji odred uje pravac maksimalnog rasta funkcije f. c) Odrediti tačku skupa S = R 2 koja zadovoljava NUPR za f. Da li ista tačka zadovoljava i NUDR?
22 Zorica Stanimirović Zadatak 1.7 Data je funkcija f : R 2 R, definisana sa f(x) = (x 1 x 2 ) 4 + x 2 1 x 2 2 2x 1 + 2x 2 + 1, X = [x 1, x 2 ] T. Posmatrajmo problem min f(x) pri uslovu x 1, x 2 R. a) Odrediti sve tačke koje zadovoljavaju NUPR za lokalni minimum funkcije f na skupu S = R 2. b) Ispitati da li tačke pod a) zadovoljavaju i NUDR za lokalni minimum funkcije f na skupu S. Zadatak 1.8 Data je funkcija f : R 2 R i problem pri uslovu minf(x) x 1, x 2 R. Pretpostavimo da za tačku O = [0, 0] T važi f(o) > 0. Dokazati da tada tačka O ne može biti minimum datog problema. Zadatak 1.9 Dato je n realnih brojeva x 1, x 2,..., x n. Definisati funkciju f : R R koja za zadato x R odreduje sumu kvadrata razlike x i svakog od brojeva x i, i = 1, 2,...n. Odrediti minimum date funkcije (ukoliko postoji). Zadatak 1.10 Dato je k tačaka X (1), X (2),..., X (k) u prostoru R n. Neka je zadata norma u R n. Definišimo funkciju f : R n R, koja za zadato X R n odred uje srednju vrednost kvadrata rastojanja izmed u tačke X i svake od tačaka X (k), k = 1, 2,..., n, odnosno f(x) = 1 k k X X (i) 2. i=1 a) Odrediti tačku minimuma date funkcije funkcije f na skupu S = R n (ukoliko postoji). b) Ispitati da li su za tačku nad enu pod a) zadovoljeni DUDR? Da li je ta tačka strogi lokalni minimum funkcije f na skupu S?
Nelinearno programiranje 23 Zadatak 1.11 Data je funkcija f : R n R, S R n, pri čemu je S konveksan skup i f C 2. Pretpostavimo da za zadato X S postoji c > 0 takvo da je d T f(x ) c d, za svaki vektor dopustivog pravca d u tački X. Pokazati da je X tačka strogog lokalnog minimuma funkcije f na skupu S. Zadatak 1.12 Neka je S R n i neka je f C 2 realna funkcija na S. Pod pretpostavkom da važi 1. f(x ) = 0 i 2. F (X ) 0, ispitati da li je X tačka lokalnog minimuma. Zadatak 1.13 Formulisati i dokazati teoreme koje definisu NUPR, NUDR i DUDR za lokalni maksimum, odnosno strogi lokalni maksimum funkcije f : R n R na zadatom skupu S R n. Zadatak 1.14 Neka je S R n i neka je f C 2 realna funkcija na S. Ako važi 1. f(x ) = 0 i 2. F (X ) 0, da li je X tačka lokalnog maksimuma?