49
Sveuˇ ciliˇ ste J. J. Strossmayera u Osijeku Odjel za matematiku Sveuˇ ciliˇ sni diplomski studij matematike i raˇ cunarstva Luka Borozan Paralelni algoritmi za rjeˇ savanje frakcionalnog problema pakiranja i pokrivanja Diplomski rad Osijek, rujan 2015.

Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

Sveuciliste J. J. Strossmayera u OsijekuOdjel za matematiku

Sveucilisni diplomski studij matematike i racunarstva

Luka Borozan

Paralelni algoritmi za rjesavanje frakcionalnog problemapakiranja i pokrivanja

Diplomski rad

Osijek, rujan 2015.

Page 2: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

Sveuciliste J. J. Strossmayera u OsijekuOdjel za matematiku

Sveucilisni diplomski studij matematike i racunarstva

Luka Borozan

Paralelni algoritmi za rjesavanje frakcionalnog problemapakiranja i pokrivanja

Diplomski rad

Mentor: izv. prof. dr. sc. Domagoj MatijevicKomentor: dr sc. Slobodan Jelic

Osijek, rujan 2015.

Page 3: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

Sadrzaj1 Uvod 5

1.1 Linearno programiranje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Problemi pakiranja i pokrivanja . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3 Osnovni pojmovi konveksne optimizacije . . . . . . . . . . . . . . . . . . . . 12

2 Metode konveksne optimizacije 162.1 Metoda gradijentnog spusta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2 Metoda zrcalnog spusta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3 Osvrt na metode gradijentnog i zrcalnog spusta . . . . . . . . . . . . . . . . . 202.4 Pojednostavljena uparena metoda . . . . . . . . . . . . . . . . . . . . . . . . . 212.5 Uparena metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja 273.1 Zagladivanje funkcije cilja frakcionalnog problema pakiranja . . . . . . . . . 283.2 Paralelni algoritam za rjesavanje frakcionalnog problema pakiranja . . . . . 313.3 Korektnost algoritma za rjesavanje frakcionalnog problema pakiranja . . . . 32

3.3.1 Opravdanje koraka metode gradijentnog spusta . . . . . . . . . . . . 323.3.2 Opravdanje koraka metode zrcalnog spusta . . . . . . . . . . . . . . . 343.3.3 Opravdanje koraka uparene metode . . . . . . . . . . . . . . . . . . . 353.3.4 Teorem o pakiranju . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.4 Paralelni algoritam za rjesavanje frakcionalnog problema pokrivanja . . . . 37

4 Testiranje algoritma za rjesavanje problema pakiranja 384.1 Implementacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2 Rezultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5 Zakljucak 44

Bibliografija 45

Sazetak 47

Abstract 48

Zivotopis 49

3

Page 4: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

Zahvale

Posebne zahvale dr. sc. Domagoju Severdiji na velikoj pomoci pruzenoj prilikom pisanjaovoga rada.

4

Page 5: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

Probleme pakiranja i pokrivanja veoma cesto nalazimo u praksi. Na primjer, prilikom od-laska na godisnji odmor moramo u prtljaznik smjestiti odredenu kolicinu odjece, obuce,opreme za plazu, itd. Zanima nas koliko stvari mozemo smjestiti u prtljaznik na nacinda se on moze zatvoriti, te da nam prilikom odmora ne uzmanjka odredenih predmeta.Opcenito problemi iz stvarnog zivota koji se svode na probleme pakiranja i pokrivanjaukljucuju probleme transporta, pravljenja rasporeda poslova i proizvodnje uz minimalnegubitke.

Izvorno, problemi pakiranja i pokrivanja su problemi pozitivnog cjelobrojnog programi-ranja, pa se kao takvi nalaze u klasi NP-teskih problema (sto mozemo vidjeti u [14]), teih kao takve ne mozemo rijesiti u polinomijalnom vremenu. Ono sto cemo uraditi jestesvesti izvorni cjelobrojni program na pozitivni linearni program. Opcenito, linearni pro-grami mogu se rjesiti u polinomijalnom vremenu, sto je 1979. godine pokazao Khachiyan([17]). Detaljnije o pojmovima vezanim uz probleme linearnog programiranja i njihovomrjesavanju dat cemo u prvom potpoglavlju ovog uvodnog dijela.

Vazno je napomenuti kako cemo brzinu izvrsavanja algoritma izrazavati u takozvanojasimptotskoj O-notaciji. Broj operacija koje algoritam izvrsava omedit cemo funkcijomovisnom o velicini ulaznih podataka. Klasu gornjih meda cemo oznaciti s O, dok cemoklasu donjih meda oznaciti s Ω.

Vec smo naglasili kako su problemi pakiranja i pokrivanja, kako relaksirani u linearneprograme, tako i u izvornom obliku iskljucivo nenegativni, tj. svi koeficijenti koji stoje uzvarijable veci su ili jednaki nuli. Ovu cemo cinjenicu iskoristiti na nacin pokazan u [1] kakobismo funkciju cilja relaksiranog linearnog programa transformirali u glatku funkciju nakoju mozemo primijeniti metode konveksne optimizacije. O tome ce vise biti govora upoglavlju o metodama konveksne optimizacije.

Krajni nam je cilj dizajniranje algoritma koji ce metodama konveksne optimizacije pristu-piti relaksiranom linearnom programu, te ga proizvoljno tocno rijesiti u teoretski brzemvremenu od bilo koje dosadasnje, nama poznate metode. Bitno svojstvo algoritma bit cenjegova mogucnost paralelizacije. Takoder, bitan cemo naglasak dati na eksperimentalnidio u kojem cemo algoritam pokretati na vise primjera razlicitih dimenzija.

1.1 Linearno programiranjeUvjetna optimizacija je proces koji se bavi minimiziranjem ili maksimiziranjem takozvanefunkcije cilja u unaprijed zadanim varijablama. Pri tome, poznata su ogranicenja na varija-

5

Page 6: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

ble, tj. skup uvjeta koji varijable moraju zadovoljavati. To su funkcije koje preslikavaju va-rijable optimizacijskog problema unutar jedne od dvije klase ekvivalencije od kojih jednazadovoljava ogranicenja, a druga ne. Navest cemo tri jednostavna primjera optimizacijskihproblema.

Primjer 1.1. Potrebno je minimizirati funkciju f : R2 → R danu s f (x1, x2) = x21 + x2

2 uzogranicenja x1 ≥ 0, te |x2| ≤ 1.

Primjer 1.2. Tvornica je u mogucnosti proizvoditi proizvode pi, i ∈ [n]. Svaki od pro-izvoda pi postize cijenu ci. Poznato je kako tvornica na raspolaganju ima sirovine u kolicinamasj, j ∈ [m]. Za proizvodnju jedinice proizvoda pi potrebno je qij sirovine sj. Vlasnika tvor-nice zanima koliko mora proizvesti proizvoda svakog tipa kako bi maksimizirao zaraduuz prisutnu kolicinu sirovina.

Napomena 1.1. Oznaka [n], n ∈ N oznacava skup prirodnih brojeva manjih ili jednakihn. Neka je A ∈ Rm×n matrica. Retke matrice A oznacavamo s ai i pisemo ih kao vektorestupce, dok stupce oznacavamo s Aj.

Sada cemo formalno definirati problem uvjetne optimizacije.

Definicija 1.1. Neka su dane funkcije f : Rn → R, gi : Rn → R, i ∈ [m], te hj : Rn →R, j ∈ [p]. Problem pronalazenja x ∈ Rn takvog da je f (x) minimalno uz ogranicenjegi(x) ≥ 0, ∀i i hj(x) = 0, ∀j nazivamo problem uvjetne optimizacije.

U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog pro-gramiranja specijalni je slucaj problema uvjetne optimizacije sa sljedecim odabirom funk-cija f , gi, te hj.

f (x) = cTx, c ∈ Rn,gi(x) = aT

i x− bi, ai ∈ Rn, bi ∈ R, i ∈ [m],hj(x) = aT

j x− bj, aj ∈ Rn, bj ∈ R, j ∈ [p].

Primjetimo kako su sve funkcije f , gi, hj afine transformacije. Formirajmo skup indeksa Mtako da M = M1 ∪M2 ∪M3, gdje su M1 = i ∈ [m] : bi ≥ 0, M2 = i ∈ [m] : bi ≤ 0, teM3 = i + m : i ∈ [p]. Sada mozemo definirati problem linearnog programiranja.

Definicija 1.2. Neka je M = M1∪M2∪M3 skup indeksa, te c ∈ Rn, ai ∈ Rn, bi ∈ R, ∀i ∈M. Problem minimizacije

cTx → min,

uz ogranicenja: aTi x ≤ bi, ∀i ∈ M1,

aTi x ≥ bi, ∀i ∈ M2,

aTi x = bi, ∀i ∈ M3,

nazivamo problem linearnog programiranja.

6

Page 7: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

Primjer 1.3. Problem iz Primjera 1.2 je problem linearnog programiranja. Zapisat cemoga u obliku danom u prethodnoj definiciji. Neka xi oznacava kolicinu proizvoda tipa pikoju cemo proizvesti.

n

∑i=1

ci pi → max,

uz ogranicenja:n

∑i=1

qij pi ≤ sj, ∀j ∈ [m],

pi ≥ 0, ∀i ∈ [n].

Sada cemo problem linearnog programiranja napisati u kompaktnijem obliku koji ce olaksatizapis problema, te dokazivanje tvrdnji vezanih uz njega. Primjetimo kako za svako ogranicenjeiz skupa indeksa M3 vrijedi aT

i x = bi ⇔ aTi x ≥ bi & aT

i x ≤ bi, tj. svako ogranicenje izskupa M3 mozemo svesti na ogranicenja iz skupova M1 i M2. Takoder, za svaki indeks iiz M1 vrijedi aT

i x ≤ bi ⇔ −aTi x ≥ −bi, pa sva ogranicenja iz definicije problema linearnog

programiranja mozemo zapisati, bez smanjenja opcenistosti, u obliku

cTx → min

uz ogranicenja: aTi x ≥ bi, ∀i ∈ M.

ili ekvivalentno u matricnom obliku

cTx → min

uz ogranicenja: Ax ≥ b, A ∈ Rm×n.

Napomena 1.2. Problem linearnog programiranja mozemo zapisati u kompaktnom obliku:mincTx : Ax ≥ b.

Napomena 1.3. Minimizacija izraza cTx ekvivalentna je maksimizaciji izraza −cTx uz ne-promijenjena ogranicenja. Zbog toga cemo maksimizacijske i minimizacijske problemesmatrati medusobno ekvivalentnima, te cemo proces pronalazenja optimalnog rjesenjazvati optimizacija.

Dalje cemo pokazati kako svaki problem linearnog programiranja ima ekvivalentan du-alni problem. U tu svrhu cemo definirati nekoliko osnovnih pojmova.

Definicija 1.3. Neka je x ∈ Rn. Ukoliko x zadovoljava ogranicenja problema linearnogprogramiranja nazivamo ga dopustivim rjesenjem.

Definicija 1.4. Neka je x dopustivo rjesenje problema linearnog programiranja koje opti-mizira funkciju cilja cTx. Tada x nazivamo optimalnim rjesenjem.

Definicija 1.5. Ukoliko neki problem linearnog programiranja ima barem jedno dopus-tivo rjesenje, tada kazemo da je on dopustiv.

Za problem linearnog programiranja definirat cemo pridruzenu mu Lagrangeovu funk-ciju pomocu koje cemo definirati dualni problem.

7

Page 8: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

Definicija 1.6. Neka je dan problem linearnog programiranja u matricnom obliku. La-grangeovu funkciju pridruzenu problemu definiramo s

L(x, p) = cTx + pT(Ax− b).

Sljedeci rezultat daje vezu izmedu optimalnog rjesenja problema linearnog programiranjai pridruzene Lagrangeove funkcije.

Teorem 1.1. Problem linearnog programiranja ekvivalentan je optimizacijskom problemuminx∈Rn maxp∈Rn

+L(x, p).

Dokaz. U Lagrangeovoj funkciji fiksirajmo x ∈ Rn. Tada je

maxp∈Rm

+

L(x, p) =

cTx, ako Ax ≤ b,∞, inace.

Zato, za x ∈ Rn takve da je Ax ≤ b, tj. za sva dopustiva rjesenja, imamomaxx∈Rn minp∈Rm

+L(x, p) = minAx≤b cTx, sto upravo odgovara problemu linearnog pro-

gramiranja.

Sada imamo sve potrebno za definiciju dualnog problema.

Definicija 1.7. Problem maxp∈Rm+

minx∈Rn L(x, p) nazivamo dualni problem problemaminx∈Rn maxp∈Rm

+L(x, p). U kontestu dualnog problema, pocetni problem nazivamo pri-

malni problem.

Nadalje cemo ispitati odnos dualnog i primalnog problema. Zapisimo dualni problem nasljedeci nacin.

maxp∈Rm

+

minx∈Rn

L(x, p) = maxp∈Rm

+

minx∈Rn

(cTx + pT(b− Ax))

= maxp∈Rm

+

minx∈Rn

((cT − pT A)x + pTb)

Analogno dokazu Teorema 1.1 fiksiramo p ∈ Rm+. Vrijedi:

minx∈Rn

L(x, p) =

pTb, ako cT = pT A,−∞, inace.

Zato je:

maxp∈R+

mminx∈Rn

L(x, p) = maxp∈R+

mpTb.

Sada dualni problem problema linearnog programiranja mozemo zapisati u obliku pro-blema linearnog programiranja.

pTb→ max

uz uvjete pT A = cT, A ∈ Rm×n,

p ≥ 0.

8

Page 9: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

Primjer 1.4. Dan je problem linearnog programiranja.

x1 + 2x2 → min

uz ogranicenja: x1 + x2 ≥ 1,x1 − x2 ≥ 0.

Dualni problem tog problema glasi:

p1 + 0p2 → max

uz ogranicenja: p1 + p2 = 1,p1 − p2 = 2,p ≥ 0.

Nadalje cemo navesti nekoliko vaznih rezultata teorije dualnosti.

Teorem 1.2. Dualni problem dualnog problema je primalni problem.

Dokaz. Dokaz se provodi direktnim uvrstavanjem u definiciju dualnog problema.

Teorem 1.3. (Slaba dualnost)Neka je x ∈ R dopustivo rjesenje primalnog problema linearnog programiranja, a p do-pustivo rjesenje odgovarajuceg dualnog problema linearnog programiranja. Tada vrijedicTx ≥ pTb.

Dokaz. Definiramo brojeve:

ui = pi(aTi − bi), ∀i ∈ [m],

vj = (cj − pT Aj), ∀j ∈ [n],

gdje Aj oznacavaju stupce matrice A, a ai retke. Ocito su svi brojevi ui i vj nenegativni.Zato imamo

0 ≤m

∑i=1

ui +n

∑j=1

vj = pT Ax− pTb + cTx− pT Ax,

= cTx− pTb

iz cega slijedi tvrdnja teorema.

Teorem o slaboj dualnosti govori kako je vrijednost funkcije cilja primalnog problema vecaili jednaka vrijednosti funkcije cilja dualnog problema u svim dopustivim rjesenjima. Da-lje navodimo tri jednostavne posljedice ovog teorema.

Korolar 1.1. Ukoliko je optimalna vrijednost primalnog problema jednaka −∞, tada du-alni problem nije dopustiv.

Korolar 1.2. Ukoliko je optimalna vrijednost dualnog problema jednaka ∞, tada primalniproblem nije dopustiv.

Korolar 1.3. Neka je x ∈ R dopustivo rjesenje primalnog problema linearnog programi-ranja, a p dopustivo rjesenje odgovarajuceg dualnog problema linearnog programiranja,te vrijedi cTx = pTb. Tada je x optimalno rjesenje primalnog problema, a p optimalnorjesenje dualnog problema.

9

Page 10: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

Dokaz. Neka je y ∈ Rn neko drugo dopustivo rjesenje primalnog problema. Tada je cTy ≥pTb = cTx. Buduci da je primalni problem maksimizacijski, dokazali smo prvu tvrdnju.Slicno, neka je q ∈ Rm neko dopustivo rjesenje dualnog problema. Tada je pTq ≤ cTx =pTb. Kako je dualni problem minimizacijski, dokazali smo i drugu tvrdnju.

Sada znamo da se optimalna rjesenja primalnog i dualnog problema podudaraju, ukolikopostoje. Ukoliko jedan od problema ima optimalno rjesenje, sljedeci teorem ce garantiratipostojanje optimalnog rjesenja drugog problema.

Teorem 1.4. (Jaka dualnost)Ako primalni problem linearnog programiranja ima optimalno rjesenje, tada ga ima i od-govarajuci dualni problem, te su odgovarajuce vrijednosti funkcije cilja jednake.

Napomena 1.4. Sve tvrdnje koje se odnose na teoriju dualnosti, osim teorema o jakoj du-alnosti, vrijede i u slucaju opcenitog optimizacijskog problema. Dokaz teorema o jakojdualnosti moze se naci u [12].

Standardni nacini rjesavanja problema linearnog programiranja su koristenjem varijantisimplex algoritma ([11]), elipsoidalne metode ([17]) ili metode unutrasnje tocke ([15]).

1.2 Problemi pakiranja i pokrivanjaU ovom cemo potpoglavlju dati kratki pregled problema koje cemo rjesavati u nastavkurada. Promatrat cemo probleme oblika mincTx : Ax ≥ b, gdje su c ∈ Rn, b ∈ Rm,A ∈ Rm×n. Dodatno cemo varijable x traziti u skupu 0, 1n, te cemo zahtijevati da suA, c, b nenegativni. Problemi tog oblika prvi put su proucavani u [21].

Prvo cemo razmotriti problem pokrivanja kroz motivacijske primjere.

Primjer 1.5. Neka je dan skup S = s1, . . . , sn, te familija podskupova S = S1, . . . , Smod S, te tezine wi, ∀i ∈ [m] svakog podskupa Si. Problem se sastoji od pronalazenjapodskupova od S minimalne tezine takvih da u uniji daju cijeli skup S, tj. da pokrivajuskup S. Formalno trazimo skup indeksa I ⊆ [m] takav da je ∪i∈ISi = S, te da je ∑i∈I wiminimalna po svim skupovima indeksa I.

Primjer 1.6. Neka je dan graf G = (V, E) gdje je V skup vrhova takav da je |V| = n stezinama wi, ∀i ∈ [n], a E skup bridova, |E| = m. Jedna od instanci problema pokrivanjaje pronaci podskup vrhova S iz V minimalne tezine takav da za svaki brid (u, v) ∈ E jeu ∈ S ili v ∈ S.

Konstruirajmo problem linearnog programiranja za problem pokrivanja koristeci se Pri-mjerom 1.5. Prvo cemo razmotriti varijable. Neka je x ∈ 0, 1n binarni n-dimenzionalnivektor. Svaka od koordinati xi vektora x oznacavat ce hoce li podskup Si biti odabrankao dio pokrivaca skupa S. Buduci da zelimo minimizirati sumu tezina pokrivaca od S,funkciju cilja zadajemo s

f (x) =n

∑i=1

wixi = wTx.

10

Page 11: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

Jos nam je potreban uvjet koji ce osiguravati da je svaki od n elemenata skupa S zaistapokriven. Formuliramo ga tako da zahtijevamo da svaki element si mora biti sadrzan unekom od odabranih podskupa Sj. Uvjet glasi:

∑j : ei∈Sj

xj ≥ 1, ∀i ∈ [m].

Problem pokrivanja tada mozemo zapisati na sljedeci nacin.

wTx → min

uz ogranicenja: ∑j:ei∈Sj

xj ≥ 1, ∀i ∈ [m],

x ∈ 0, 1n.

Buduci da je rjesavanje ovog problema ne postoji polinomijalni algoritam, dobra je idejapokusati ga rijesiti aproksimativno. Prvi korak u aproksimativnom rjesavanju bio bi re-laksacija uvjeta cjelobrojnosti x ∈ 0, 1n na nacin da stavimo x ∈ [0, 1]n. Tada metodepoput metode unutrasnje tocke ([15]) ili elipsoidalne metode ([17]) ovaj problem mogurjesiti u polinomijalnom vremenu. Nas je cilj razviti metodu koja ce taj specificni problemrijesiti brze nego navedene generalne metode.

Razmotrimo sada problem pakiranja takoder kroz dva motivacijska primjera.Primjer 1.7. Neka je, kao u problemu pokrivanja, dan skup S = s1, . . . , sn, familija nje-govih podskupova S = S1, . . . , Sm s tezinama wi, ∀i ∈ [m]. Potrebno je pronaci pod-skupove od S maksimalne tezine koji su u parovima disjunktni, tj. svaka dva odabranaskupa u presjeku trebaju dati prazan skup.Primjer 1.8. Neka tvornica na raspolaganju ima skup sirovina S, te moze proizvoditi pro-izvode iz skupa P. Svaki proizvod zahtijeva unaprijed poznat skup sirovina, podskupod S kako bi ga tvornica mogla proizvesti, te postize odredenu cijenu. Zanima nas kojeproizvode proizvesti kako bismo maksimizirali zaradu.Slicno problemu pokrivanja, problemu pakiranja pripada sljedeci cjelobrojni program.

wTx → max

uz ogranicenja: ∑i:ej∈Si

xi ≤ 1, ∀i ∈ [n],

x ∈ 0, 1m.

Kao i problem pokrivanja, i ovaj problem relaksiramo u svrhu aproksimativnog rjesavanja.Napomena 1.5. Relaksirani problemi pakiranja i pokrivanja nazivaju se frakcionalni pro-blemi pakiranja i pokrivanja, te se cesto generaliziraju u sljedecem obliku. Za A ∈ Rm×n

≥0je• problem pokrivanja: min

y≥01Ty : ATy ≥ 1,

• problem pakiranja: maxx≥01Tx : Ax ≤ 1.

Vise primjera problema pakiranja i pokrivanja moze se pronaci u [7].

11

Page 12: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

1.3 Osnovni pojmovi konveksne optimizacijeKonveksna optimizacija je podrucje optimizacije koje se bavi optimizacijom konveksnihfunkcija na konveksnim skupovima. Generalne metode konveksne optimizacije su aprok-simativne, te se iz pocetne aproksimacije x0 iterativnim postupcima proizvoljno priblizavajuoptimalnom rjesenju x∗. Nakon sto damo nekoliko osnovnih definicija koje ce nam bitipotrebne u daljnjem razvijanju teorije, pokazat cemo kako je skup ogranicenja problemalinearnog programiranja konveksan. Tada cemo biti jedan korak blize primjeni metodakonveksne optimizacije na relaksirani problem linearnog programiranja.

Definicija 1.8. Skup S ⊆ Rn je konveksan ako ∀x, y ∈ S, te ∀λ ∈ [0, 1] vrijedi

λx + (1− λ)y ∈ S.

Primjer 1.9. Pokazimo da je skup K = x ∈ Rn : ‖x‖ ≤ 1 konveksan. Neka su x, y ∈ K,te λ ∈ [0, 1]. Tada je

λx + (1− λ)y ≤ λ ‖x‖+ (1− λ) ‖y‖≤ λ + (1− λ) = 1.

Time smo pokazali da je K konveksan skup.

Definicija 1.9. Funkcija f : Rn → R je konveksna ako ∀x, y ∈ Rn, te ∀λ ∈ [0, 1] vrijedi

f (λx + (1− λ)y) ≤ λ f (x) + (1− λ) f (y).

Primjer 1.10. Pokazimo da je funkcija f : R → R dana s f (x) = 2x konveksna. Neka sux, y ∈ K, te λ ∈ [0, 1]. Tada je

f (λx + (1− λ)y) = 2(λx + (1− λ)y)= λ2x + (1− λ)2y= λ f (x) + (1− λ) f (y).

Time smo pokazali da je f konveksna funkcija.

Definicija 1.10. Funkcija f : Rn → R je m-jako konveksna obzirom na normu ‖·‖ zam ≥ 0 ako ∀x, y ∈ Rn vrijedi

f (y) ≥ f (x) + 〈∇ f (x), y− x〉+ m2‖x− y‖2.

Primjer 1.11. Neka je A ∈ Rn×n simetricna, pozitivno definitna matrica. Pokazat cemoda je kvadratna forma f (x) = 1

2〈Ax, x〉 jako konveksna. Koristit cemo cinjenicu da za po-zitivno definitnu matricu postoji λ ≥ 0 takav da je 〈Ax, x〉 ≥ λ ‖x‖2. Neka su x, y ∈ Rn.Nadalje ∇ f (x) iznosi Ax (jer je matrica A simetricna).

12

Page 13: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

12

yT Ay− 12

xT Ax− xT A(y− x)− m2‖x− y‖2

=12

yT Ay− 12

xT Ay +12

xT Ay− 12

xT Ax− xT A(y− x)− m2‖x− y‖2

=12(y− x)T Ay +

12

xT A(x− y)− m2‖x− y‖2

=12(y− x)T Ay− 1

2(y− x)T Ax− m

2‖x− y‖2

=12(y− x)T A(y− x)− m

2‖x− y‖2

≥ λ

2‖x− y‖2 − m

2‖x− y‖2.

Za npr. m = λ slijedi tvrdnja.

Napomena 1.6. Konveksne i strogo konveksne funkcije analogno se definiraju na konveks-nom podskupu od Rn.

Definicija 1.11. Skup S ⊆ Rn je ogranicen ako postoji x ∈ Rn i r > 0 takvi da je S ⊆K(x, r), gdje je K(x, r) otvorena kugla sa sredistem u x radijusa r.

Definicija 1.12. Skup S ⊆ Rn je otvoren ako za svaki x ∈ S postoji r > 0 takav da jeK(x, r) ⊆ S. Skup S ⊆ Rn je zatvoren ako je Rn \ S otvoren skup.

Definicija 1.13. Skup S ⊆ Rn je kompaktan ako je ogranicen i zatvoren.

Definicija 1.14. Zatvarac skupa S je presjek svih zatvorenih skupova koji sadrze S. Oznacavamoga s ClS.

Definicija 1.15. Interior skupa S je unija svih otvorenih skupova sadrzanih u S. Oznacavamoga s IntS.

Primjer 1.12. Neka je dan skup K = x ∈ Rn : ‖x‖ ≤ 1, x 6= 1, zatvorena jedinicnakugla u Rn bez tocke x = 1. Interior skupa K je IntK = x ∈ Rn : ‖x‖ < 1, otvorenajedinicna kugla u Rn, dok je zatvarac x ∈ Rn : ‖x‖ ≤ 1 zatvorena jedinicna kugla u Rn.

Definicija 1.16. Neka je S ⊆ Rn otvoren skup, te f : S→ Rm funkcija, x ∈ S. Ako postojilinearni operator D : Rn → Rm takav da vrijedi:

limh→0

‖ f (x + h)− f (x)− D(h)‖‖h‖ ,

gdje je norma u brojniku norma na Rm, a norma u nazivniku norma na Rm, tada kazemoda je f diferencijabilna u x. Ukoliko je f diferencijabilna u svakoj tocki domene, kazemoda je f diferencijabilna. Operator D nazivamo diferencijal i oznacavamo s d f (x).

Definicija 1.17. Neka je S ⊆ Rn otvoren skup, te f : S → Rm funkcija, x ∈ S. Kazemo daf u x ima parcijalnu derivaciju u x po i-toj varijabli ako postoji limes:

13

Page 14: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

limh→0

f (x + hei)− f (x)h

,

gdje su ei, ∀i ∈ Rn jedinicni vektori. Oznacavamo ju s ∂i f (x).

Napomena 1.7. Ukoliko je funkcija f : S → R, S ⊆ Rn otvoren, tada njezin diferencijalu tocki x izjednacavamo s vektorom [∂1 f (x), . . . , ∂n f (x)]T kojeg zovemo gradijent od f utocki x i oznacavamo s ∇ f (x). Za h ∈ Rn veza izmedu diferencijala i gradijenta dana je sd f (x)(h) = ∇ f (x)Th.

Primjer 1.13. Gradijent funkcije f (x, y) = x2 + y u tocki [1, 1]T je [2x, 1][1, 1]T = [2, 1]T.

Teorem 1.5. (Srednja vrijednost)Neka je S ⊆ Rn otvoren i konveksan skup, funkcija f : S → R diferencijabilna. Tada zasve x, y ∈ S postoji c ∈ S takav da je c = λx + (1− λ)y, za λ ∈ [0, 1] tako da vrijedi:

f (x)− f (y) = 〈∇ f (c), x− y〉.

Sada cemo pokazati jedan jednostavan rezultat koji ce nam trebati za dokazivanje buducihtvrdnji.

Propozicija 1.1. Neka je f konveksna, diferencijabilna funkcija na S ⊆ Rn. Tada ∀x, y ∈ Svrijedi:

〈∇ f (y), x− y〉 ≥ f (x)− f (y) ≥ 〈∇ f (x), x− y〉.

Dokaz. Iz konveksnosti od f , za λ ∈ [0, 1], te iz teorema srednje vrijednosti imamo:

f (λx + (1− λ)y) ≤ λ f (x) + (1− λ) f (y)

f (y− λ(x− y))− f (y) ≤ λ( f (x)− f (y)).

〈∇ f (y− τλ(x− y)), λ(x− y)〉 ≤ λ( f (x)− f (y)).

〈∇ f (y− τλ(x− y)), x− y〉 ≤ f (x)− f (y).

Djelovanjem limesom limλ→0 na dobiveni izraz dokazali smo jednu nejednakost. Drugunejednakost mozemo pokazati zamjenom uloga varijabli x i y.

Skup ogranicenja problema linearnog programiranja x ∈ Rn : Ax ≥ b nazivamo poli-edar. Sljedeci rezultat nam daje svojstvo poliedra koje ce biti bitno prilikom konstrukcijealgoritma za rjesavanje problema linearnog programiranja.

Definicija 1.18. Funkcija f : Rn → Rm je Lipschitz neprekidna s konstantom L akopostoji L > 0 takav da ∀x, y ∈ Rn vrijedi

‖ f (x)− f (y)‖p ≤ L ‖x− y‖q,

gdje su p, q ∈N takvi da vrijedi 1p +

1q = 1.

Napomena 1.8. Lipschitz neprekidne funkcije analogno se definiraju na konveksnom pod-skupu od Rn.

14

Page 15: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

1 Uvod

Primjer 1.14. Neka je dana funkcija f : [0, 2] → R zadana s f (x) = x2. Pokazimo da je fLipschitz neprekidna. Neka su x, y ∈ [0, 2]. Prema teoremu srednje vrijednosti imamo:

| f (x)− f (y)| ≤ | f ′(c)||x− y| ≤ maxa∈[0,2]

f ′(a)|x− y|,

za neki c ∈ [0, 2]. Buduci da je f ′monotono rastuca na [0, 2], zakljucujemo da je f Lipschitzneprekidna s konstantom L = 4.

Teorem 1.6. Poliedar x ∈ Rn : Ax ≥ b je konveksan skup.

Dokaz. Poliedar mozemo ekvivalentno zapisati kao x ∈ Rn : aTi x ≥ bi, ∀i ∈ [m], tj.

kao presjek poluprostora oblika x ∈ Rn : aTi x ≥ bi, ∀i ∈ [m]. Pokazat cemo kako je

poluprostor konveksan skup, te kako je presjek konacno mnogo konveksnih skupova ko-nveksan skup.

Neka je S = x ∈ Rn : aTi x ≥ bi poluprostor, te neka su x, y ∈ S, λ ∈ [0, 1]. Imamo:

aTi (λx + (1− λy)) = aT

i x + (1− λ)aTi y

≥ λbi + (1− λ)bi= bi

iz cega slijedi konveksnost poluprostora S. Neka su sada S1, S2 ⊆ Rn konveksni skupovitakvi da S1 ∩ S2 6= ∅, te neka su x, y ∈ S1 ∩ S2, λ ∈ [0, 1]. Tada λx + (1− λy) ∈ S1, S2zbog konveksnosti od S1 i S2 povlaci λx + (1− λy) ∈ S1 ∪ S2, pa je S1 ∪ S2 konveksan.

Kako je poliedar presjek konacno mnogo konveksnih skupova, tada je i on sam konvek-san.

Valja napomenuti kako je svaki poliedar u Rn zatvoren. Naime, komplementu svakog po-liedra u svakoj se tocki moze opisati krug dovoljno malog radijusa takav da se cijeli nalaziu komplementu.

15

Page 16: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

Do sada su razvijene mnoge metode konveksne optimizacije, primjerice Newtonova me-toda, metoda gradijentnog spusta, metoda najbrzeg spusta, metoda zrcalnog spusta, me-toda polovljenja, itd. Vise o tim metodama moze se naci, primjerice, u [9], [6]. U ovomcemo poglavlju pokazati kako uparivanjem metodi gradijentnog i zrcalnog spusta dobi-vamo takozvanu uparenu metodu koja je teoretski brza od bilo koje nama poznate metode,te koju cemo upotrijebiti prilikom dizajniranja algoritma za rjesavanje frakcionalnog pro-blema pokrivanja i pakiranja.

Napomena 2.1. Iteraciju (korak) u kojoj se izracuna aproksimacija optimuma i samu aprok-simaciju cesto cemo poistovjecivati.

2.1 Metoda gradijentnog spustaMeotda gradijentnog spusta ili gradijentna metoda jedna je od najstarijih i najjednostav-nijih iterativnih metoda rjesavanja problema konveksne optimizacije. Ona minimizira ko-nveksnu, diferencijabilnu funkciju f po varijabli x ∈ S, gdje je S konveksan i zatvorenskup. Dodatno zahtijevamo da je ∇ f Lipschitz neprekidna na S s konstantom L. Prvocemo dati definiciju koraka (iteracije) metode gradijentnog spusta.

Definicija 2.1. Neka je x ∈ S. Iteracija gradijentne metode s duljinom koraka 1/L je

x = Grad(x) = arg miny∈S

f (x) +

L2‖y− x‖2 + 〈∇ f (x), y− x〉

.

Oznacimo Prog(x) = −miny∈S

L2‖y− x‖2 + 〈∇ f (x), y− x〉

≥ 0.

Primjetimo kako se gornja definicija koraka gradijentne metode bitno razlikuje od gradi-jentne metode kod koje je S = Rn i ‖·‖ = ‖·‖2, tj. kod gradijentne metode bez ogranicenjau Euklidskoj normi (Grad(x) = x− 1

L f ′(x)). Vise o gradijentnoj metodi u ne-Euklidskimnormama moze se pronaci u [16]. Vaznost ne-Euklidskih normi pokazat ce se prilikomrjesavanja frakcionalnih problema pakiranja i pokrivanja. Naime, razlicite norme rezulti-raju razlicitim gradijentnim metodama.

Sljedeci teorem daje nam garanciju smanjenja vrijednosti funkcije cilja metode gradijent-nog spusta, te je dokazan po uzoru na [3].

Teorem 2.1. Neka je x ∈ S. Vrijedi f (Grad(x)) ≤ f (x)− Prog(x).

16

Page 17: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

Dokaz. Neka je x = Grad(x). Imamo:

Prog(x) = −miny∈S

L2‖y− x‖2 + 〈∇ f (x), y− x〉

= −

(L2‖x− x‖2 + 〈∇ f (x), x− x〉

)= f (x)−

(L2‖x− x‖2 + 〈∇ f (x), x− x〉+ f (x)

)≤ f (x)− f (x).

Posljednja nejednakost posljedica je sljedeceg izraza. Neka su x, y ∈ S.

f (y)− f (x) =∫ 1

0〈∇ f (x + t(y− x)), y− x〉dt

= 〈∇ f (x), y− x〉+∫ 1

0〈∇ f (x + t(y− x))−∇ f (x), y− x〉dt

≤ 〈∇ f (x), y− x〉+∫ 1

0‖∇ f (x + t(y− x))−∇ f (x)‖∗ ‖y− x‖dt

≤ 〈∇ f (x), y− x〉+∫ 1

0tL ‖y− x‖2 dt

= 〈∇ f (x), y− x〉+ L2‖y− x‖2 .

Time je tvrdnja dokazana.

Sada cemo dati i ocjenu pogreske gradijentne metode.

Teorem 2.2. Neka je xk aproksimacija optimalnog rjesenja x∗ dobivena k-tom iteracijommetode gradijentnog spusta s pocetnom aproksimacijom x0. Tada vrijedi

f (xk)− f (x∗) ≤ O(

L ‖x0 − x∗‖22

k

).

Nadalje, pogresku od najvise ε > 0 postizemo u Ω(L‖x0−x∗‖2

2ε ) iteracija.

Dokaz prethodnog teorema moze se pronaci u knjizi [23].

Napomena 2.2. Generalno, metodom gradijentnog spusta se smatra ona metoda koja sva-kom iteracijom smanjuje vrijednost funkcije cilja.

2.2 Metoda zrcalnog spustaKao i kod metode gradijentnog spusta, tako i kod metode zrcalnog spusta pretpostavljamoda je f konveksna funkcija u varijabli x ∈ S, gdje je S konveksan i zatvoren skup, te daje Lipschitz neprekidna na S s konstantom L. Kako bismo mogli uvesti ovu metodu, po-trebno nam je definirati nekoliko pojmova.

17

Page 18: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

Definicija 2.2. Neka je f konveksna funkcija na Rn. Kazemo da je ∂ f (x) subgradijent odf u x ako

f (y) ≥ f (x) + 〈∂ f (x), y− x〉, ∀y ∈ Rn.

Sljedeca propozicija govori o subgradijentnom uvjetu ekvivalentnom Lipschitzovoj nepre-kidnosti kojeg cemo dalje koristiti kako bismo definirali korak metode zrcalnog spusta.

Propozicija 2.1. Neka je f konveksna funkcija na konveksnom skupu S. Tada je f Lip-schitz neprekidna s konstantom L na S ako i samo ako za svaku tocku x ∈ S vrijedi‖∂ f (x)‖∗ ≤ L.

Dokaz. (⇒) Pretpostavimo da je f Lipschitz neprekidna s konstantom L na S, te x ∈ S.Neka je

y− x = arg max‖z‖=1

〈∂ f (x), z〉.

Tada vrijedi ‖y− x‖ = 1, te 〈∂ f (x), z〉 = ‖∂ f (x)‖∗. Koristeci pretpostavku o Lipschitz ne-prekidnosti od f , definiciju subgradijenta, te Cauchy-Schwarz-Bunyakovsky nejednakostimamo sljedece.

L ‖y− x‖ ≥ f (y)− f (x)

≥ 〈∂ f (x), y− x〉= ‖∂ f (x)‖∗

Iz ‖y− x‖ = 1 slijedi prva implikacija.

(⇐) Neka sada ∀x ∈ S vrijedi ‖∂ f (x)‖ ≤ L. Mnozeci definiciju subgradijenta s −1, teprimjenom Cauchy-Schwarz-Bunyakovsky nejednakosti imamo:

f (x)− f (y) ≤ 〈∂ f (x), x− y〉≤ ‖∂ f (x)‖∗ ‖x− y‖≤ L ‖x− y‖ .

Analogno, zamjenom uloga x i y dobivamo sljedece.

f (y)− f (x) ≤ L ‖x− y‖.

Uparivanjem prethodne dvije nejednakosti dobivamo:

max f (y)− f (x), f (x)− f (y) = | f (x)− f (y)| ≤ L ‖x− y‖.

Time smo dokazali i drugu implikaciju, pa tako i tvrdnju propozicije.

U svrhu definiranja iteracije metode zrcalnog spusta treba nam i sljedeca definicija.

Definicija 2.3. Kazemo da je d : Rn×Rn → [0, ∞〉kvazimetricka funkcija ukoliko ∀x, y ∈Rn vrijedi d(x, y) = 0 ⇔ x = y.

18

Page 19: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

Sada cemo dati jednu kvazimetricku funkciju, takozvanu Bregmanovu divergenciju.

Definicija 2.4. Neka je φ 1-jako konveksna, diferencijabilna funkcija na IntS. Funkciju d :IntS× S→ [0, ∞〉 definiranu s

d(x, y) = φ(y)− φ(x)− 〈∇φ(x), y− x〉

nazivamo Bregmanova divergencija.

Napomena 2.3. Vrijedi d(x, y) ≥ 12‖x− y‖2 .

Sada cemo navesti nekoliko primjera funkcije φ.

Primjer 2.1. Neka je φ(x) = 12 ‖x‖

22 strogo konveksna na bilo kojem konveksnom pod-

skupu od Rn obzirom na Euklidsku normu. Tada odgovarajuca Bregmanova divergencijaglasi

d(x, y) = ‖x− y‖22.

Primjer 2.2. Neka je φ(x) = ∑i xi log xi strogo konveksna na bilo kojem podskupu odx ≥ 0 : 1Tx = 1 obzirom na 1-normu. Tada odgovarajuca Bregmanova divergencijaglasi

d(x, y) = ∑i

yi log(

yi

xi

)−∑

i(yi − xi).

Sada mozemo definirati korak metode zrcalnog spusta.

Definicija 2.5. Iteracija metode zrcalnog spusta s duljinom α dan je sljedecim izrazom.

Mirr(α∂ f (x)) = arg miny∈S

d(x, y) + 〈α∂ f (x), y− x〉.

Sljedeci rezultat govori o brzini konvergencije metode zrcalnog spusta. Dokaz mu je pre-uzet iz [3].

Teorem 2.3. Ako je x = Mirr(α∂ f (x)), tada ∀u ∈ S vrijedi:

α( f (x)− f (u)) ≤ α〈∂ f (x), x− u〉 ≤ α2

2‖∂ f (x)‖2

∗ + d(x, u)− d(x, u).

Dokaz. Prva nejednakost slijedi iz definicije subgradijenta. Pocnimo od sljedeceg izraza.

〈α∂ f (x), x− u〉 = 〈α∂ f (x), x− x〉+ 〈α∂ f (x), x− u〉.

Iz cinjenice da je x dobiven minimizacijom po y ∈ S izraza d(x, y)+ 〈α∂ f (x), y〉, dobivamoda je 〈∂2d(x, x) + α∂ f (x), u− x〉, pa imamo:

〈α∂ f (x), x− u〉 ≤ 〈α∂ f (x), x− x〉+ 〈−∂2d(x, x), x− u〉.

19

Page 20: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

Ocijenimo sada drugi sumand na lijevoj strani prethodne nejednakosti.

〈−∂2d(x, x), x− u〉 = 〈∇φ(x)−∇φ(x), x− u〉= (φ(u)− φ(x)− 〈∇φ(x), u− x〉)− (φ(u)− φ(x)− 〈∇φ(x), u− x〉)−(φ(x)− φ(x)− 〈∇φ(x), x− x〉)

= d(x, u)− d(x, u)− d(x, x)

≤ d(x, u)− d(x, u)− 12‖x− x‖2.

Posljednja nejednakost slijedi iz svojstva Bregmanove divergencije. Sada imamo:

〈α∂ f (x), x− u〉 ≤ (〈α∂ f (x), x− x〉 − 12‖x− x‖2) + (d(x, u)− d(x, u)).

≤ α2

2‖∂ f (x)‖2

∗ + (d(x, u)− d(x, u)).

Posljednja nejednakost slijedi iz nejednakosti ab− 12 b2 ≤ 1

2 a2. Time je teorem dokazan.

Za kraj, navedimo rezultat koji ocjenjuje pogresku metode zrcalnog spusta.

Teorem 2.4. Neka je x = 1k ∑k−1

i=0 xi aritmeticka sredina prvih k iteracija metode zrcalnogspusta, Θ bilo koja gornja meda na d(x0, x∗), gdje je x∗ optimalno rjesenje, te neka je α =√

2ΘL√

k. Vrijedi:

f (x)− f (x∗) ≤√

2ΘL√k

.

Nadalje, pogresku od najvise ε > 0 postizemo u Ω(2ΘL2

ε2 ) iteracija.

Dokaz prethodnog teorema moze se pronaci u [3], dok se vise o metodi moze pronaci u[6].

2.3 Osvrt na metode gradijentnog i zrcalnog spustaU praksi se pokazalo kako gradijentna metoda brzo konvergira dok je trenutna iteracija”daleko” od optimalnog rjesenja, dok metoda zrcalnog spusta konvergira brzo kada je”blizu” optimuma. Zbog toga cemo u nastavku razviti metodu koja ce izmjenjivati ko-rake gradijentne i metode zrcalnog spusta ovisno o tome koliko koja metoda pridonosikonvergenciji prema optimumu.

Napomena 2.4. U slucaju kada je φ(x) = 12‖x‖2

2 i ‖ · ‖ = ‖ · ‖2 gradijentni i zrcalni koracisu ekvivalentni.

Primjer 2.3. Metodama gradijentnog i zrcalnog spusta minimizirat cemo funkciju f (x) =x2

2 s pocetnom aproksimacijom x0 = 2 na segmentu [0, 2]. Istaknute tocke na sljedeca dvagrafa prikazuju iteracije dviju metoda s desna na lijevo.

20

Page 21: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

Slika 2.1: Iteracije metode gradijentnog spusta (lijevo) i zrcalnog spusta (desno)

Na prethodnoj slici se jasno vidi kako je metoda gradijentnog spusta brza od metode zr-calnog spusta u prvih nekoliko iteracija. Takoder, uocavamo kako metoda zrcalnog spustabrze konvergira nakon prvih nekoliko iteracija. Ovim smo primjerom intuitivno opravdalikonstrukciju metode koja uparuje gradijentnu i zrcalnu metodu.

2.4 Pojednostavljena uparena metodaPokusat cemo konstruirati metodu koja uparuje metode gradijentnog i zrcalnog spustas ciljem ubrzanja konvergencije. Ova metoda je prvi puta spomenuta u [1], odakle supreuzeti dokazi vecine teorema u ovom i sljedecem potpoglavlju. Napominjemo kako jeslicna metoda (dualnog usrednjavanja) dana u [25]. Pretpostavke cemo naslijediti iz me-tode gradijentnog spusta, tj. pretpostavit cemo kako je f konveksna, diferencijabilna i Lip-schitz neprekidna s konstantom L. Finalna metoda ce koristiti varijabilne duljine korakau svakoj iteraciji, no prije nego to postignemo, konstruirat cemo jednostavniju metodu skonstantnom duljinom koraka i bez ogranicenja (S = Rn).

Ideja pojednostavljenog algoritma je sljedeca:

• postavimo tri pocetne iteracije x0 = y0 = z0,

• u svakoj iteraciji k racunamo vrijednosti xk+1, yk+1, zk+1,

• xk+1 = τzk + (1− τ)yk,

• yk+1 = Grad(xk+1),

• zk+1 = Mirr(α∇ f (xk+1)).

Jos nam preostaje razmotriti brojeve α i τ. Broj α je zasada konstantna duljina koraka me-tode zrcalnog spusta, dok je τ takoder privremeno konstantna tezina pomocu koje kon-troliramo utjecaj metodi gradijentnog i zrcalnog spusta na aproksimaciju rjesenja. Sljedecitoerem nam daje osnovni rezultat koji ce nam pomoci pri dokazivanju teorema o brzinikonvergencije pojednostavljene uparene metode.

Teorem 2.5. Za svaki u iz Rn imamo:

α〈∇ f (xk+1), zk − u〉 ≤ α2

2‖∇ f (xk+1)‖2

∗ + d(zk, u)− d(zk+1, u)

≤ α2L( f (xk+1)− f (yk+1)) + d(zk, u)− d(zk+1, u).

21

Page 22: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

Dokaz. Dokaz prve nejednakosti identican je dokazu Teorema 2.3 uz promijenjene oznake.Iz Teorema 2.1 imamo (uz promjenu oznaka):

f (xk+1)− f (yk+1) ≥ Prog(xk+1),

gdje je

Prog(xk+1) = −miny∈R

L2‖y− xk+1‖2 + 〈∇ f (xk+1), y− xk+1〉

= −L min

y∈R

12‖xk+1 − y‖2 − 1

L〈∇ f (xk+1), xk+1 − y〉

≥ −L min

y∈R

12‖xk+1 − y‖2 − 1

L‖∇ f (xk+1)‖∗‖xk+1 − y‖

≥ −L min

y∈R

− 1

2L2‖∇ f (xk+1)‖2∗

=

12L‖∇ f (xk+1)‖2

∗.

Uz f (xk+1)− f (yk+1) ≥ 12L‖∇ f (xk+1)‖2

∗ slijedi i druga nejednakost.

Iz prethodnog teorema vidimo kako je pogreska iteracije metode zrcalnog spusta α2

2 ‖∇ f (xk+1)‖2∗

proporcionalna smanjenju vrijednosti funkcije cilja dobivnom gradijentnom iteracijom f (xk+1)−f (yk+1). Na taj nacin opravdavamo prakticni rezultat iz prethodnog potpoglavlja.

Sada cemo navesti rezultat koji daje brzinu konvergencije pojednostavljene uparene me-tode.

Teorem 2.6. Ukoliko odaberemo τ ∈ (0, 1) takav da je 1−ττ = αL, tada ∀u ∈ Rn imamo:

α〈∇ f (xk+1), xk+1 − u〉 ≤ α2L( f (yk)− f (yk+1)) + (d(zk, u)− d(zk+1, u)).

Dokaz. Primjetimo da za xk+1 vrijedi τ(xk+1 − zk) = (1 − τ)(yk − xk+1). Koristeci tucinjenicu i Propoziciju 1.1 imamo:

α〈∇ f (xk+1), xk+1 − u〉 − α〈∇ f (xk+1), zk − u〉

= α〈∇ f (xk+1), xk+1 − zk〉

=1− τ

τα〈∇ f (xk+1), xk+1 − zk〉

≤ 1− τ

τα( f (yk)− f (xk+1)).

Zbrajanjem gornjeg izraza i Teorema 2.5, uz 1−ττ = αL dokazujemo tvrdnju.

Preostaje nam jos ocijeniti pogresku.

22

Page 23: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

Teorem 2.7. Neka je Θ gornja ocjena vrijednosti d(x0, x∗), gdje je x0 pocetna aproksima-cija, a x∗ optimum. Ako je x = 1

k ∑k−1i=0 xi aritmeticka sredina prvih k iteracija pojednostav-

ljene uparene metode, te r ≥ 0 takav da f (x0)− f (x∗) ≤ r, tada imamo:

f (x)− f (x∗) ≤ 2√

LΘrk

.

Nadalje, pogresku od najvise ε > 0 postizemo u O(√

LΘε ) iteracija.

Dokaz. Neka je x = 1k ∑k−1

i=0 xk suma prvih k iteracija pojednostavljene uparene metode. Uiskazu Teorema 2.6 uzmimo da je u = x∗. Imamo:

αk( f (x)− f (x∗)) = αk

(f

(k−1

∑i=0

xkk

)− f (x∗)

)

≤ αk

(k−1

∑i=0

1k

f (xi)− f (x∗)

)

= αk−1

∑i=0

( f (xi)− f (x∗))

≤ αk−1

∑i=0〈∂ f (xk), xi − x∗〉

≤ α2L( f (y0)− f (yk)) + d(x0, x∗)− d(zk, x∗)

≤ α2Ld + Θ.

Iz izbora α =√

ΘLd slijedi:

f (x)− f (x∗) ≤ 2√

ΘLdk

.

Drugim rijecima, u k = 4√

LΘd koraka mozemo doci do aproksimacije x takve da je f (x)−

f (x∗) ≤ d2 . Ako ovaj postupak ponovno pokrenemo nekoliko puta, prepolavljajuci uda-

ljenost do optimuma, dobivamo ε-aproksimaciju rjesenja u

k = O(√

LΘε

+

√LΘ2ε

+

√LΘ4ε

+ . . .

)= O

(√LΘε

)koraka. Time je tvrdnja dokazana.

Iz posljednjeg dokaza mozemo primijetiti kako se duljina koraka α povecava svakim po-novnim pokretanjem algoritma, dok τ pada. To znaci da sto smo blize optimumu gra-dijentnoj metodi dajemo vecu tezinu. Osim toga, kako bismo dodjelili vrijednosti α i τ,moramo dobro ocijeniti vrijednost Θ, te dobro odabrati pocetnu aproksimaciju i vrijed-nost d. Jos jedna negativna strana ovog algoritma je to sto ga moramo pokretati vise putakako bismo postigli zeljenu preciznost. Sljedeca metoda koju cemo konstruirati pokusatce savladati sve navedene prepreke.

23

Page 24: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

2.5 Uparena metodaPrilikom konstrukcije ove metode zadrzat cemo pretpostavke pojednostavljene uparenemetode. Dodatno cemo zahtijevati da je S 6= Rn konveksan, tj. sada cemo ogranicenjauzeti u obzir.

Iteracija uparene metode slicna je iteraciji pojednostavljene iterativne metode. Ona glasi:• postavimo 3 pocetne iteracije x0 = y0 = z0,

• u svakoj iteraciji k racunamo vrijednosti xk+1, yk+1, zk+1,

• takoder, racunamo αk i τk,

• xk+1 = τkzk + (1− τk)yk,

• yk+1 = Grad(xk+1),

• zk+1 = Mirr(αk∇ f (xk+1)).

Prvo cemo izraziti τk pomocu αk. Nadalje, αk cemo birati tako da τk bude iz intervala(0, 1], sto ce nam osigurati da iteracije ostanu unutar konveksnog skupa S. Sjetimo se, upojednostavljenoj uparenoj metodi duljina koraka τk bila je jednaka 1

αk+1L+1 . U uparenojmetodi, duljinu koraka τk biramo na slican nacin, o cemu govori sljedeca tvrdnja.Teorem 2.8. Ukoliko je τk =

1αk+1L , tada za svaki u iz S vrijedi:

αk+1〈∇ f (xk+1), zk − u〉 ≤ α2k+1LProg(xk+1) + d(zk, u)− d(zk+1, u)

≤ α2k+1L( f (xk+1)− f (yk+1)) + d(zk, u)− d(zk+1, u).

Dokaz. Ekvivalentno dokazu Teorema 2.3, uz promjenu, oznaka imamo:αk+1〈∇ f (xk+1), zk − u〉 = 〈αk+1∇ f (xk+1), zk − zk+1〉+ 〈αk+1∇ f (xk+1), zk+1 − u〉

≤ 〈αk+1∇ f (xk+1), zk − zk+1〉+ 〈−∂2d(zk, zk+1), zk+1 − u〉

= 〈αk+1∇ f (xk+1), zk − zk+1〉+ d(zk, u)− d(zk+1, u)− d(zk, zk+1)

≤ (〈αk+1∇ f (xk+1), zk − zk+1〉 −12‖zk − zk+1‖2) +

+ (d(zk, u)− d(zk+1, u)).

Neka je sad v = τkzk+1 + (1− τk)yk ∈ S. Tada vrijedi:xk+1 − v = (τkzk + (1− τkyk))− v = τk(zk − zk+1).

Koristeci prethodnu jednakost i definiciju od Prog(xk+1) imamo:

〈αk+1∇ f (xk+1), zk − zk+1〉 −12‖zk − zk+1‖2

=αk+1

τk〈∇ f (xk+1), xk+1 − v〉 − 1

2τ2k‖xk+1 − v‖2

= α2k+1L(〈∇ f (xk+1), xk+1 − v〉 − L

2‖xk+1 − v‖2)

≤ α2k+1LProg(xk+1),

24

Page 25: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

iz cega slijedi prva nejednakost tvrdnje teorema. Druga nejednakost slijedi iz analize me-tode gradijentnog spusta za koju vrijedi f (xk+1)− f (yk+1) ≥ Prog(xk+1).

Sljedeca nam tvrdnja donosi ocjenu pogreske iteracije uparene metode. Takoder, mocicemo odrediti duljine koraka αk.

Teorem 2.9. Neka je u ∈ S. Vrijedi:

α2k+1L f (yk+1)− (α2

k+1L− αk+1) f (yk) + d(zk+1, u)− d(zk, u) ≤ αk+1 f (u).

Dokaz. Koristeci prethodni teorem, Propoziciju 1.1, definicije od xk, yk i zk, te izbor τkimamo:

αk+1( f (xk+1)− f (u))

≤ αk+1〈∇ f (xk+1), xk+1 − u〉

= αk+1〈∇ f (xk+1), xk+1 − zk〉+ αk+1〈∇ f (xk+1), zk − u〉

=(1− τk)αk+1

τk〈∇ f (xk+1), yk − xk+1〉+ αk+1〈∇ f (xk+1), zk − u〉

≤ (1− τk)αk+1

τk( f (yk)− f (xk+1)) + αk+1〈∇ f (xk+1), zk − u〉

≤ (1− τk)αk+1

τk( f (yk)− f (xk+1)) + α2

k+1L( f (xk+1)− f (yk+1)) + d(zk, u)− d(zk+1, u)

= (α2k+1L− αk+1) f (yk)− α2

k+1L f (yk+1) + αk+1 f (xk+1) + d(zk, u)− d(zk+1, u).

Time je tvrdnja dokazana.

Kako bismo mogli dokazati sljedeci teorem koji nam osigurava konvergenciju uparenemetode, trebamo odabrati αk tako da je α2

k L ≈ α2k+1L− αk+1. Izaberimo αk =

k+12L . Tada je

α2k L = α2

k+1L− αk+1 +1

4L .

Teorem 2.10. Neka je Θ gornja ocjena vrijednosti d(x0, x∗), gdje je x0 pocetna aproksima-cija, a x∗ optimum. U k-toj iteraciji uparene metode imamo:

f (yk)− f (x∗) ≤ 4ΘL(k + 1)2 .

Dokaz. Teleskopiranjmo prethodni teorem za i = 0, . . . , k. Dobivamo:

α2k L f (yk) +

k−1

∑i=1

14L

f (yk) + d(zk, u)− d(z0, u) ≤k

∑i=0

αk f (u).

Ukoliko uzmemo da je u = x∗, f (yi) ≥ f (x∗), d(zk, u) ≥ 0, te d(z0, u) ≤ Θ imamo:

(k + 1)2

4L2 L f (yk) ≤(

k(k+3)4L − k−1

4L

)f (x∗) + Θ,

f (yk)− f (x∗) ≤ 4ΘL(k + 1)2 .

Time je tvrdnja dokazana.

25

Page 26: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

2 Metode konveksne optimizacije

Jos cemo dati algoritam uparene metode.

Algoritam 2.1. Uparena metodaUlaz: funkcija f , x0 pocetna aproksimacija, k broj korakaIzlaz: yk za koji f (yk)− f (x∗) ≤ 4ΘL

(k+1)2 .

UparenaMetoda( f , x0, k)1. y0 = x02. z0 = x03. za i = 0, . . . , k radi4. τi =

2i+2

5. αi+1 = i+12L

6. xi+1 = τizi + (1− τ)yi7. yi+1 = Grad(xi+1)8. zi+1 = Mirr(αi+1∇ f (xi+1))9. vrati yk

U sljedecem primjeru cemo vidjeti nacin na koji djeluje uparena metoda.Primjer 2.4. Neka je funkcija f jednaka onoj u Primjeru 2.3. Uz jednaku pocetnu aproksi-maciju i ogranicenja na varijable uparenom metodom dobivamo sljedece aproksimacije.

Slika 2.2: Aproksimacije minimuma dobivene uparenom metodom

Na Slici 2.2 vidimo kako uparena metoda zadrzava dobra svojstva gradijentne metode naprvim iteracijama, te zrcalne metode na kasnijim iteracijama.

Aproksimacije uparene metode mogu se azurirati na ekvivalentan nacin i mulitiplikativnotako da (i+ 1)-vu iteraciju gradijentne i zrcalne metode racunamo kao xi+1 = xiec(xi), gdjeje c nekakva funkcija, najcesce ∇ f pomnozena duljinom koraka αi.Primjer 2.5. Korak gradijentne metode bez ogranicenja na Rn ekvivalentno bi glasio xi+1 =

xi · e−1L∇ f (xi).

26

Page 27: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnogproblema pakiranja i pokrivanja

Do sada smo pokazali kako su skupovi ogranicenja relaksiranih problema pakiranja ipokrivanja konveksni. Primijenit cemo metode iz prethodnog poglavlja na takozvanojzagladenoj funkciji cilja koju cemo uvesti radi teorijskog ubrzanja algoritma.

Radi lakseg i brzeg izvrsavanja algoritma na racunalu pokusat cemo poistovjetiti gradi-jentne i zrcalne korake na nacin da ih izvrsavamo na velikim, odnosno malim komponen-tama trenutne aproksimacije kao sto je dano u [1] i [2]. Kako bismo to postigli, aproksi-macije metode zrcalnog i gradijentnog spusta cemo azurirati multiplikativno, na nacin upotpunosti ekvivalentan aditivnom azuriranju iz prethodnog poglavlja.

Nakon iznesenog algoritma, uvjerit cemo se u njegovu korektnost po uzoru na [1] i datinjegovu vremensku slozenost. Na ovom cemo mjestu ponovno napomenuti kako ce al-goritam biti konstruiran tako da pojedine koordinate aproksimacije optimalnog rjesenja usvakom koraku mogu racunati neovisni racunalni procesori, tj. algoritam se moze parale-lizirati. Ta ce nam cinjenica uvelike smanjiti vrijeme izvrsavanja.

Prvo cemo dati algoritam za rjesavanje frakcionalnog problema pakiranja, a potom cemokomentirati algoritam za rjesavanje problema pokrivanja kao u [1].

Vec smo nekoliko puta napomenuli kako cemo probleme pokrivanja i pakiranja rjesavatiaproksimativno. Sljedeca definicija ce nam pomoci klasificirati aproksimacijske algoritmeprema zajamcenoj blizini optimalnom rjesenju. S x∗ cemo oznaciti optimalno rjesenje, a sOPT optimalnu vrijednost funkcije cilja.

Definicija 3.1. Neka je OPT optimalna vrijednost funkcije cilja nekog maksimizacijskogproblema p. Za algoritam koji rjesava problem p kazemo da je ε-aproksimacijski ukolikoza svako rjesenje koje vrati, vrijednost funkcije cilja bude jednaka (1−O(ε)) ·OPT.

Definicija 3.2. Neka je OPT optimalna vrijednost funkcije cilja nekog minimizacijskogproblema p. Za algoritam koji rjesava problem p kazemo da je ε-aproksimacijski uko-liko za svako rjesenje koje vrati, vrijednost funkcije cilja bude jednaka (1 +O(ε)) ·OPT.

Sada cemo dati kratki pregled dosadasnjih polinomijalnih algoritama za rjesavanje frak-cionalnog problema pakiranja i pokrivanja. Napomenimo kako simplex metoda u pravilune spada u ovu klasu ([27]), pa ju nadalje necemo spominjati. Takoder, metoda unutrasnjetocke i elipsoidalna metoda u pravilu cine manje iteracija, no posao koji obavljaju po ite-raciji znatno je veci ([15]). Nadalje cemo se baviti samo brzim algoritmima za rjesavanjefrakcionalnih problema pakiranja i pokrivanja.

27

Page 28: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja

Prvo uvedimo takozvani EREW PRAM (engl. exclusive read, exclusive write parallel randomaccess machine) model. To je model racunala koji pretpostavlja postojanje vise nezavisnihprocesorskih jedinica koje imaju pristup zajednickoj memoriji, dok svaka jedinica ima ivlastitu memoriju. Pristup i pisanje u memoriji odvija se u atomarnom vremenu O(1),dok pristup odredenom dijelu zajednicke memorije istovremeno ne moze imati vise odjednog procesora (odatle dolazi naziv EREW). PRAM model podrazumijeva kako para-lelni procesori obavljaju iste instrukcije na razlicitim podacima, te kako postoji takozvaniprogramski brojac koji vodi racuna da paralelni procesori svoje instrukcije obavljaju sin-krono. Vazni pojmovi vezani uz PRAM model su ukupan posao i dubina.

Ukupan posao se odnosi na sumu instrukcija koju su obavili svi procesori. U PRAM mo-delu, zbog sinkronizacije paralelnih procesora pomocu programskog brojaca, instrukcijese izvrsavaju paralelno na razlicitim podacima jedna po jedna. Broj razlicitih instrukcijaparalelno izvedenih (koji obicno odgovara zadnjem stanju programskog brojaca) nazi-vamo dubina. U praksi imamo ogranicen broj procesora, pa umjesto dubine cesto ko-ristimo ukupan broj paralelizabilnih iteracija, kao sto mozemo vidjeti u [1].

Polinomijalni algoritmi za rjesavanje frakcionalnih problema pakiranja i pokrivanja di-jele se na ovisne i neovisne o sirini ulaznih podataka. Sirina ulaznih podataka ρ oznacavanajveci element matrice A. Algoritmi ovisni o sirini linearno ovise o izrazu ρOPT. Buducida je OPT ≥ 1

ρ , vrijednost ρOPT je barem 1. U praksi, ta velicina moze uciniti algoritamnepolinomijalnim. Broj iteracija ovakvih algoritama je O( ρOPT ln m

ε ), sto mozemo vidjeti u[24] i [22].

Klasa algoritama neovisnih o sirini efikasnija je od prethodne klase. Prvi ovakav algo-ritam predstavljen je u [21], te je radio u O( ln2 N

ε4 ) iteracija, gdje N oznacava broj ne-nulelemenata matrice A (N ≤ mn), dok je svaka iteracija kostala O(N ln N). Kasniji algo-ritmi su imaliO( ln3 N

ε4 ) ([5]),O( ln3 Nε4 ) ([29]), teO( ln4 N

ε5 ) ([4]) iteracija, dok je svaka iteracijakostala O(N). Jos cemo spomenuti sekvencijalne algoritme slozenosti O(N + (n+m) ln N

ε2 )

([18] i [19]),O(N ln Nε2 ) ([30]),O(N ln N ln ε−1

ε ) za pakiranje iO(N ln N ln ε−1

ε1.5 ) za pokrivanje ([2]).Rezultat iz [18] ubrzan je za jedan do dva reda velicine u radu [13].

Primijetimo kako svi dosadasnji paralelni algoritmi imaju ovisnost o clanu ε−4. Algori-tam u ovom radu, koji je dan u [1], ima ovisnost o clanu ε−3, sto je teorijski najbrzi, namapoznati, paralelni algoritam za rjesavanje frakcionalnog problema pakiranja i pokrivanja.

3.1 Zagladivanje funkcije cilja frakcionalnog problemapakiranja

Prisjetimo se generaliziranog oblika problema pokrivanja miny≥01Ty : ATy ≥ 1 i pa-kiranja maxx≥01Tx : Ax ≤ 1, gdje je matrica A ∈ Rm×n

≥0 . Sada cemo funkciju ciljaproblema pakiranja f (x) = 1Tx aproksimirati konveksnom funkcijom fµ(x), gdje je µneki parametar. Bez smanjenja opcenitosti pretpostavimo da je mini∈[n]‖Ai‖∞ = 1. Primi-jetimo kako je to vrlo lako postici skaliranjem matrice A i optimalnog rjesenja x∗ nekomkonstantom.

28

Page 29: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja

Definicija 3.3. Neka je µ = ε4 ln(nm/ε)

. Zagladenu funkciju cilja problema pakiranja de-finiramo s:

fµ(x) = µm

∑j=1

e(Ax)j−1

µ − 1Tx.

Napomena 3.1. Buduci da maksimiziramo funkciju cilja 1Tx, funkciju fµ cemo minimizi-rati.

Sljedeci rezultat ce opravdati odabir funkcije fµ iz prethodne definicije.

Teorem 3.1. Vrijedi:

1. OPT ∈ [1, n],

2. za x = (1− ε2)x∗ ≥ 0 imamo fµ(x) ≤ −(1− ε)OPT,

3. za x0 ≥ 0, gdje x0,i =1− ε/2n‖Ai‖∞

, ∀i ∈ [n] je fµ(x0) ≤ −1− ε

n,

4. za x ≥ 0 takve da fµ(x) ≤ 0 mora biti Ax ≤ (1 + ε)1, te 1Tx ≤ (1 + ε)OPT,

5. za x ≥ 0 takve da fµ(x) ≤ −(1− ε)OPT broj x1 + ε

je (1− O(ε))-aproksimativnorjesenje problema pakiranja,

6. gradijent funkcije fµ je ∇ fµ(x) = ATy(x), gdje je y(x)i = e(Ax)i−1

µ .

Dokaz. Tvrdnje cemo dokazati redom.

(1.) Neka je i∗ indeks stupca matrice A za koji je norma ‖Ai‖∞ najmanja ∀i ∈ [n]. Konstru-irajmo x ∈ Rn takav da je xi∗ = 1, dok je za ostale indekse i 6= i∗ koordinata xi = 0. Buducida smo pretpostavili mini∈[n] ‖Ax‖∞ = 1, x je dopustivo rjesenje problema pakiranja, te jefunkcija cilja 1Tx = 1 iz cega slijedi da je OPT ≥ 1.

Svako dopustivo rjesenje x ∈ Rn, x ≥ 0 mora zadovoljavati xi ≤ 1‖Ai‖∞

, ∀i ∈ [n] jerbismo inace narusili pretpostavku minimuma ∞-norme stupaca matrice A. Zbog toga je1Tx ≤ ∑i

1‖Ai‖∞

≤ n.

(2.) Imamo 1Tx = (1− ε2)OPT. Iz uvjeta Ax∗ ≤ 1 slijedi Ax− 1 ≤ − ε

2 · 1. Zato je

fµ(x) = µm

∑i=1

e(Ax)i−1

µ − 1Tx

≤ µm

∑i=1

e−ε2µ − (1− ε

2)OPT

≤ µm(nm)2 − (1− ε

2)OPT

≤ −(1− ε)OPT.

29

Page 30: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja

(3.) Koristeci cinjenicu da je Ax− 1 ≤ − ε2 · 1, te 1Tx0 ≥ 1−ε/2

n = x0,i, gdje je i takav da je‖Ai‖∞ = 1 imamo:

fµ(x0) = µm

∑j=1

e(Ax0)j−1

µ − 1Tx0

≤ µm

∑j=1

e−ε2µ −

1− ε2

n

≤ µm(nm)2 −

1− ε2

n

≤ −1− ε

n.

(4.) Pretpostavimo da je maxj(Ax)j − 1 ≥ 0. Ukoliko to nije, gotovi smo. Tada imamoAx ≤ (1 + v)1, pa je i 1Tx ≤ (1 + v)OPT, pa slijedi:

fµ(x) ≥ µevµ − (1 + v)OPT

≥ µ((nm

ε

)4) v

ε − (1 + v)n

= ε4 ln( nm

ε )

((nmε

)4) v

ε − (1 + v)n.

Gornja vrijednost je veca od nula za v ≥ ε. Zato, kako bismo ispunili uvjet da je fµ(x) ≤ 0moramo imati v ≤ ε, sto je ekvivalentno Ax ≤ (1 + ε)1. Direktno slijedi i druga tvrdnja.

(5.) Ukoliko je fµ(x) ≤ −(1− O(ε))OPT ≤ 0, prema prethodnoj tvrdnji je x pribliznodopustivo, tj. Ax ≤ (1 + ε)1. Zbog −1Tx ≤ fµ(x) ≤ −(1−O(ε))OPT imamo 1Tx ≥ (1−O(ε))OPT. Ukoliko uzmemo x′ = 1

1+ε x, vrijedi da je Ax′ ≤ 1, te 1Tx′ ≥ (1−O(ε))OPT.

(6.) Funkciju fµ(x) zapisemo na sljedeci nacin.

fµ(x) = µ

(e(Ax)1−1

µ + · · ·+ e(Ax)m−1

µ

)+ (x1 + · · ·+ xn)

Sada imamo:∂ fµ

∂xi(x) = µ

(a1i

µe(Ax)1−1

µ + · · ·+ ami

µe(Ax)m−1

µ

)− 1

= ATi

(e(Ax)1−1

µ , . . . , e(Ax)m−1

µ

)T− 1,

∇ fµ(x) = AT(

e(Ax)1−1

µ , . . . , e(Ax)m−1

µ

)T− 1.

Time je tvrdnja dokazana.

30

Page 31: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja

3.2 Paralelni algoritam za rjesavanje frakcionalnogproblema pakiranja

Zakljucno s prethodnim potpoglavljem imamo svu potrebnu teoriju kako bismo problemupakiranja pristupili metodama konveksne optimizacije, preciznije uparenom metodom.Naime, minimiziramo konveksnu funkciju fµ(x) na konveksnom poliedru. U sljedecojdefiniciji cemo dati funkciju koja ce sluziti distinkciji zrcalnih i gradijentnih koraka, tj.odvajat ce male komponente gradijenta od velikih.

Definicija 3.4. Granicnu funkciju T : [−1, ∞)→ [−1, 1] definiramo s

T(v) =

0, v ∈ [−ε, ε],v, v ∈ [−1, 1] \ [−ε, ε],1, v > 1.

k-ti korak Algoritma 3.2 svodit ce se na xk+1,i = xk,ie−αT(vk,i) gdje ce se svaka od pojedinihkoordinata i moci racunati neovisno o drugima. Vektor v je gradijent funkcije fµ. Duljinukoraka α postavljamo na εµ

4 .

Kako bismo dokazali valjanost Algoritma 3.2 prvo cemo morati pokazati da su njegovikoraci uistinu koraci metode gradijentnog spusta u slucaju velikih gradijenata, te da suto koraci metode zrcalnog spusta u slucaju malih gradijenata. Takoder cemo morati uzetiu obzir cinjenicu da gradijent funkcije fµ ne zadovoljava Lipschitzov uvjet. To ce uvelikeotezati analizu gradijentnih koraka.

Prvo cemo dati Algoritam 3.2 koji rjesava problem pakiranja, a zatim cemo ga detaljnoanalizirati.

31

Page 32: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja

Algoritam 3.2. Algoritam za rjesavanje problema pakiranjaUlaz: matrica A ∈ Rm×n

≥0 , ε ∈ (0, 0.1].Izlaz: rjesenje problema pakiranja x.

Pakiranje(A, ε)

1. µ =ε

4ln(nmε )

2. α =εµ

4

3. x0,i =1− ε

2n‖Ai‖∞

, ∀i ∈ [n]

4. T =6 ln(2n)

αε

5. za k = 0, . . . , T − 1 radi6. za i = 1, . . . , n radi

7. vk,i =m

∑j=1

aji e(Axk)j−1

µ − 1

8. xk+1,i = xk,i e−αT(vk,i)

9. vrati xT

1 + ε, te y =

T−1

∑i=0

y(xi)

3.3 Korektnost algoritma za rjesavanje frakcionalnogproblema pakiranja

U ovom cemo potpoglavlju dati nekoliko rezultata koji ce nam pomoci dokazati Teorem3.6, glavni teorijski rezultat u ovom radu.

3.3.1 Opravdanje koraka metode gradijentnog spustaU ovom cemo potpoglavlju pretpostaviti kako je korak Algoritma 3.2 bio upravo gradi-jentni korak. Sljedeca ce nam propozicija pomoci pri dokazivanju glavnog rezultata kojice garantirati smanjenje vrijednosti funkcije cilja.

Propozicija 3.1. Ukoliko vrijedi fµ(xk) ≤ 0, tada za svaki x = τxk + (1− τ)xk+1 za nekiτ ∈ [0, 1] vrijedi:

1. xi ∈ xk,i ·[1− 4α

3 , 1 + 4α3

],

2. yj(x) ∈ yj(xk) ·[1− ε

2 , 1 + ε2

],

3. Ako je |(∇ fµ(xk))i| ≥ ε, tada je (∇ fµ(x))i ∈[(∇ fµ(xk))i

2 , 3(∇ fµ(xk))i2

].

32

Page 33: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja

Dokaz. Dokazujemo redom.

(1) Koordinatu xi uvjek mozemo zapisati kao xk,i et, za neki t ∈ [−α, α] ⊆ [−14 , 1

4 ]. Zat ∈ [0, 1

4 ] imamo et ≤ 1 + 4t3 , a za t ∈ [−1

4 , 0] imamo et ≥ 1− t ≥ 1− 4t3 . Tada mora biti

xi ∈ xk,i ·[1− 4α

3 , 1 + 4α3

].

(2) Prema Teoremu 3.1 ((Axk)j ≤ 1 + ε), nenegativnosti matrice A i tvrdnji (1.) imamo:

|(Ax)j − (Axk)j| ≤4α

3(Axk)j

≤ 4α

3(1− ε)

≤ 5α

3.

Tada za dovoljno mali ε imamo:

yk(x) ≥ yj(xk) e−5α3µ = yj(xk) e−

5ε12 > yj(xk)

(1− ε

2

),

yk(x) ≤ yj(xk) e5α3µ < yj(xk)

(1 +

ε

2

).

(3.) Prisjetimo se da je (∇ fµ(x))i = (Ay(x))i − 1. Trebamo pokazati da tvrdnja vrijediuz pretpostavke (∇ fµ(xk))i ≥ ε, (∇ fµ(xk))i ≤ −ε. Tvrdnju cemo dokazati samo uz prvupretpostavku jer se uz drugu tvrdnja dokazuje ekvivalentno. Prva pretpostavka ekviva-lentna je izrazu (ATy(xk))i ≥ 1 + ε. Iz tvrdnje (2.) slijedi:

(ATy(xk))i

(1− ε

2

)≤ (ATy(x))i ≤ (ATy(xk))i

(1 +

ε

2

).

Uvedemo li oznaku t = (ATy(xk))i − 1 ≥ ε lagano se pokaze:

(t + 1)(1− ε

2) ≥ 1 +

t2

,

(t + 1)(1 +ε

2) ≥ 1 +

3t2

,

sto povlaci

(∇ fµ(xk))i

2=

t2≤ (ATy(x))i − 1 ≤ 3t

2=

3(∇ fµ(xk))i

2.

Time je tvrdnja dokazana.

Svojstvo gradijenta iz prethodne propozicije nazivamo multiplikativno Lipschitzovo svoj-stvo. Primjenit cemo ga kako bismo dokazali sljedeci teorem.

Teorem 3.2. Za svaki korak k Algoritma 3.2 vrijedi

fµ(xk)− fµ(xk+1) ≥α

4 ∑i∈Bk

xk,i(∇ fµ(xk))i ≥ 0,

gdje je Bk = i ∈ [n] : (∇ fµ(xk))i ≥ 1 skup indeksa. Takoder, imamo fµ(xk) ≤ 0 zasvaki k.

33

Page 34: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja

Dokaz. Dokazujemo metodom matematicke indukcije. Iz Teorema 3.1 slijedi fµ(x0) ≤ 0.Pretpostavimo da isto vrijedi za prvih k tocaka xk. Imamo:

fµ(xk)− fµ(xk+1) =∫ 1

0〈∇ fµ(xk+1 + τ(xk − xk+1)), xk − xk+1〉dτ

= ∑i

∫ 1

0(∇ fµ(xk+1 + τ(xk − xk+1)))i (xk,i − xk+1,i)dτ.

= ∑i

Wi ≥ 0.

Posljednja nejednakost vrijedi iz konstrukcije algoritma i Teorema 3.1. Naime, ukolikoje xk,i − xk+1,i ≥ 0, tada je (∇ fµ(xk))i ≥ ε. Suprotno, ako je xk,i − xk+1,i ≤ 0, tada je(∇ fµ(xk))i ≤ −ε. Prema Teoremu 3.1 tada je ∀τ ∈ [0, 1], (∇ fµ(xk+1 + τ(xk − xk+1)))iistoga predznaka kao i xk,i − xk+1,i sto nas dovodi do zakljucka kako su Wi ≥ 0.

Sjetimo se kako granicna funkcija T za posljedicu ima da koraci algoritma na svaku koor-dinatu iz Bk djeluju tako da xk+1,i = xk,ie−α. Sada imamo:

Wi = (1− e−α) xk,i

∫ 1

0(∇ fµ(xk+1 + τ(xk − xk+1)))i dτ

≥ (1− e−α) xk,i12(∇ fµ(xk))i

≥ α

4xk,i (∇ fµ(xk))i.

Sumiramo li prethodni izraz po svim i imamo:

∑i

Wi ≥α

4 ∑i

xk,i (∇ fµ(xk))i.

3.3.2 Opravdanje koraka metode zrcalnog spustaU ovom cemo potpoglavlju pretpostaviti kako je korak Algoritma 3.2 bio upravo zrcalnikorak. Pokazat cemo da je korak oblika arg miny∈Sd(x, y) + 〈α∂ f (x), y− x〉. S ξk cemooznaciti vektor kojem su koordinate ξk,i = T((∇ fµ(xk))i) ∈ [−1, 1] \ [−ε, ε].

Teorem 3.3. Korak Algoritma 3.2 oblika xk+1,i = xk,i e−αξk,i je korak zrcalne metode, tj.

xk+1 = arg minz≥0

d(xk, z) + 〈αξk, z− xk〉.

Dokaz. Funkciju d birat cemo kao u Primjeru2.2. Argument minimum cemo raspisati pokoordinatama.

xk+1,i = arg minzi≥0

(zi ln

zi

xk,i+ xk,i − zi

)+ αξk,i (zi − xk,i)

= arg min

zi≥0g(zi).

Funkcija g je konveksna i ima jedinstvenu tocku minimuma. Jednostavnom derivacijomdobivamo da je tocka minimuma upravo xk,i e−αξk .

34

Page 35: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja

Sjetimo se da je u Primjeru 2.2 naznaceno kako funkcija φ u definiciji Bregmanove diver-gencije mora biti 1-strogo konveksna na skupu x ≥ 0 : 1Tx = 1. No, u slucaju Algo-ritma 3.2 domena funkcije φ je sira. Zbog toga, dokaz sljedeceg teorema, kljucnog teoremau analizi koraka zrcalnog spusta, malo se razlikuje od dokaza Teorema 2.3 iz klasicne te-orije zrcalnog spusta. Zbog toga, korake identicne onima u dokazu Teorema 2.3 necemoponavljati.

Teorem 3.4. Za svaki u ≥ 0 imamo:

〈αξk, xk − u〉 ≤ α2OPT + d(xk, u)− d(xk+1, u).

Dokaz. Identicno dokazu 2.3 dobivamo prvu nejednakost.

〈αξk, xk − u〉 ≤ 〈αξk, xk − xk+1〉+ d(xk, u)− d(xk+1, u)− d(xk, xk+1)

≤ ∑i

(αξk,i(xk,i − xk+1,i)−

|xk,i − xk+1,i|22 maxxk, xk+1

)+ d(xk, u)− d(xk+1, u)

≤ ∑i

(α2ξk,i)2 maxxk,i, xk+1,i

2+ d(xk, u)− d(xk+1, u)

≤ 23

α21Txk + d(xk, u)− d(xk+1, u)

≤ α2OPT + d(xk, u)− d(xk+1, u).

Druga nejednakost slijedi iz nejednakosti d(x, y) = ∑i yi ln yixi+ xi − yi ≥ ∑i

|xi−yi|22maxxi,yi

,treca iz Cauchy-Schwartz-Bunyakovski nejednakosti, cetvrta zbog xk+1 ≤ 4

3 xk iz Propozi-cije 3.1, te peta zbog 1Txk ≤ 3

2OPT iz Teorema 3.1.

3.3.3 Opravdanje koraka uparene metodeKoristeci rezultate prethodna dva potpoglavlja mozemo dokazati sljedecu tvrdnju. Gra-dijent u trenutnoj aproksimaciji ∇ fµ(x) ∈ [−1, ∞) podijelit cemo na velike (vece od 1),male (iz [−1, 1] \ [−ε, ε]) i zanemarive komponente (iz [−ε, ε]). Na velike cemo koordinateprimijeniti metodu gradijentnog spusta, dok cemo na male koordinate primijeniti metoduzrcalnog spusta.

Teorem 3.5. Neka je u ≥ 0. Vrijedi:

α( fµ(xk)− fµ(u)) ≤ 〈α∇ fµ(xk), xk − u〉≤ 4( fµ(xk)− fµ(xk+1)) + d(xk, u)− d(xk+1, u) + 2αεOPT + αε1Tu.

Dokaz. Gradijent∇ fµ(x)mozemo zapisati kao η(x)+ ξ(x)+ ζ(x), gdje su ξ(x)i = T((∇ fµ(x))i)male koordinate, η(x)i = (∇ fµ(x))i − ξ(x)i za (∇ fµ(x))i ≥ 1, 0 inace, velike koordinate,te ζ(x)i = (∇ fµ(x))i − η(x)i − ξ(x)i zanemarive koordinate. Prema Teoremu 1.1 imamo:

α( fµ(xk)− fµ(u)) ≤ 〈α∇ fµ(xk), xk − u〉≤ 〈αη(xk), xk − u〉+ 〈αξ(xk), xk − u〉+ 〈αζ(xk), xk − u〉.

Zanemarive koordinate za fµ(u) ≤ 0 mozemo omediti s:

35

Page 36: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja

〈αζ(xk), xk − u〉 ≤ αε(1Txk + 1Tu) ≤ αεOPT + αε1Tu.

Male koordinate omedimo pomocu Teorema 3.4. Iz odabira α = εµ4 imamo:

〈αξ(xk), xk − u〉 ≤ α2OPT + d(xk, u)− d(xk+1, u) ≤ αεOPT + d(xk, u)− d(xk+1, u).

Primjetimo kako su po definiciji od T, za (∇ fµ(xk))i ≥ 1 velike koordinate jednake η(xk)i =(∇ fµ(xk))i − 1. Prema Teoremu 3.2 imamo:

4( fµ(xk)− fµ(xk+1))

α≥ ∑

i∈Bk

xk,i(∇ fµ(xk))i ≥ 〈η(xk), xk〉,

pa je 〈αη(xk), xk − u〉 ≤ 〈αη(xk), xk〉 ≤ 4( fµ(xk) − fµ(xk+1)). Kombiniranjem gornje trimede slijedi tvrdnja teorema.

3.3.4 Teorem o pakiranjuSada imamo svu potrebnu teoriju za dokazivanje kljucnog teorema ovog poglavlja koji cejamciti korektnost Algoritma 3.2.

Teorem 3.6. Problem pakiranjaZa T ≥ 6 ln(2n)

αε = Ω(ln n ln nm

ε

ε3 ) vrijedi fµ(xT) ≤ −(1 − 5ε)OPT, te je Algoritam 3.2 ε-aproksimacijski s aproksimacijom x = xT

1+ε .

Dokaz. U Teoremu 3.5 izaberemo u = (1− ε2)x∗, te ga teleskopiramo za k = 0, . . . , T − 1.

Prema definiciji od x∗ imamo 1Tu ≤ OPT, pa je

αT−1

∑k=0

( fµ(xk)− fµ(u)) ≤ 4( fµ(x0)− fµ(xT)) + d(x0, u)− d(xT, u) + 3αTεOPT.

Primjetimo kako je ui ≤ 1‖Ai‖∞

jer Au ≤ 1, pa vrijedi:

d(x0, u)− d(xT, u) ≤ d(x0, u)

≤ ∑i

ui lnui

x0,i+ x0,i

≤ ∑i

ui ln1

‖Ai‖∞

(1− ε2)/n‖Ai‖∞

+1− ε

2‖Ai‖∞

≤ 1Tu ln(2n) + 1

≤ 2OPT ln(2n).

Kontradikcijom pokazimo kako je fµ(xT) ≤ −(1− 5ε)OPT. Pretpostavimo kako je fµ(xT) >−(1− 5ε)OPT. Tada imamo fµ(x0)− fµ(xT) ≤ (1− 5ε)OPT ≤ OPT. Koristeci prethodnenejednakosti dobivamo:

1T

T−1

∑k=0

( fµ(xk)− fµ(u)) ≤4

αT( fµ(x0)− fµ(xT)) +

d(x0, u)− d(xT, u)αT

+ 3εOPT

≤ 4OPTαT

+2OPT ln(2n)

αT+ 3εOPT.

36

Page 37: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

3 Algoritmi za rjesavanje frakcionalnog problema pakiranja i pokrivanja

Ako izaberemo T ≥ 6 ln(2n)αε , desna strana gornje nejednakosti nije veca od 4OPT. Tada

postoji k ∈ 0, . . . , T − 1 takav da prema Teoremu 3.1 imamo fµxk ≤ fµ(u) + 4εOPT ≤−(1− 5ε)OPT, sto se kosi s pretpostavkom jer je fµ(xk) ≥ fµ(xT). Cinjenica da je Algori-tam 3.2 ε-aproksimacijski slijedi iz Teorema 3.1.

Pokazali smo kako algoritam za rjesavanje frakcionalnog problema pakiranja imaO( ln(nm/ε) ln nε3 )

iteracija. Kao sto je navedeno u [1], mnozenje matrice i vektora u svakom koraku se mozeimplementirati s ukupnim poslom O(N) operacija dubine O(ln(N)), te je stoga ukupanposao algoritma O(N ln(nm/ε) ln n

ε3 ).

3.4 Paralelni algoritam za rjesavanje frakcionalnogproblema pokrivanja

Algoritam 3.2 rjesava frakcionalni problem pakiranja, no vraca i y, priblizno rjesenje pro-blema pokrivanja. Nazalost, nemamo garanciju dopustivosti od y. Kako bismo osiguralidopustivost, potrebno je pokrenuti sljedeci algoritam.

Algoritam 3.3. Algoritam za konstrukciju dopustivog rjesenja problema pokrivanjaUlaz: matrica A ∈ Rm×n

≥0 , ε ∈ (0, 0.1], y ∈ Rm≥0.

Izlaz: dopustivo rjesenje problema pokrivanja y.

Pokrivanje(A, ε, y)1. y′ = y2. za i takve da λi = (AT y)i − 1 + ε ≤ −ε radi3. j = arg maxk∈[m] ‖aik‖∞

4. y′j = y′j −λjAij

5. vrati y = y′1−2ε

Na kraju cemo bez dokaza navesti kljucni teorem problema pokrivanja. Dokaz, kao idodatne informacije o algoritmu za rjesavanje problema pokrivanja mogu se naci u [1].

Teorem 3.7. Problem pokrivanjaZa svaki T ≥ max 6

αε ,ln(4n2 maxi,j |Aij|)

αε = Ω(

ln(n maxi,j |Aij|) ln( nmε )

ε3

), uparivanjem Algori-

tama 3.2 i 4.4 dobivamo (1 +O(ε))-aproksimacijski algoritam za rjesavanje problema po-krivanja koji vraca rjesenje y = y′

1−2ε .

37

Page 38: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

4 Testiranje algoritma za rjesavanjeproblema pakiranja

U ovom cemo poglavlju testirati Algoritam 3.2. Prvo cemo diskutirati detalje oko imple-mentacije, a zatim cemo dati rezultate testiranja, te ih usporediti s onima dobivenima u[1].

4.1 ImplementacijaAlgoritam 3.2 u svom izvornom obliku nepogodan je za implementaciju. Kako bi rezultatidobiveni nasom implementacijom bili usporedivi s onima u [1], bilo je potrebno uraditinekoliko prilagodbi i izmjena.

Prva prakticna prepreka bila je odredivanje duljine koraka α. Primjetimo kako u Algo-ritmu 3.2 za uneseni maksimalni ε = 0.1, te matricu A dimenzija 2× 2 moramo odraditiT > 4 · 105 iteracija, dok bi za primjer dimenzija 60× 40 kao u [1] bilo potrebno T > 4 · 106.Zbog toga moramo odabrati α > 0 takve da svaki korak algoritma napreduje vise od teorij-skog koraka. Prema kontrapozicija tocke 4. Teorema 3.1 slijedi da ukoliko je Ax < (1+ ε)1,tada je fµ(x) > 0, pa metoda ne konvergira, sto slijedi iz tocke 5. Primjetimo da ukolikoje pocetna aproksimacija x0 > 0, tada su i sve sljedece aproksimacije vece od nule jer ihdobivamo mnozenjem iskljucivo pozitivnim brojevima (eksponencijalna funkcija).

Zbog toga pri odabiru duljine koraka moramo paziti da je aproksimacija rjesenja koje do-bivamo pomocu nje dopustiva. No, to nije dovoljno. Takoder, zelimo da svaka sljedecaaproksimacija smanjuje vrijednost zagladene funkcije cilja (prisjetimo se kako za maksi-mizacijski frakcionalni problem pakiranja, minimiziramo zagladenu funkciju cilja). Sma-njenje vrijednosti funkcije cilja se dogada ukoliko su vrijednosti gradijenata u trenutnoj isljedecoj iteraciji istog predznaka, tj. ukoliko je vk,i · vk+1,i ≥ 0, ∀i ∈ [n]. Duljine koraka αcemo odabirati tako da pocnemo od koraka duljine 1, te ga prepolavljamo dok ne ispuniuvjete dane u ovom paragrafu.

Sada cemo dati Algoritam 4.4 za odabir duljine koraka.

38

Page 39: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

4 Testiranje algoritma za rjesavanje problema pakiranja

Algoritam 4.4. Odabir duljine korakaUlaz: Matrica A ∈ Rm×n

≥0 , aproksimacija xk.Izlaz: Duljina koraka α.

DuljinaKoraka(A, xk)1. α = 12. dok je α >= µε

2 radi3. ako Axk+1 ≤ (1 + ε)1 i vk,i · vk+1,i ≥ 0, ∀i ∈ [n] radi4. prekini petlju5. inace radi6. α = α

27. vrati α

Slozenost Algoritma 4.4 je ln( 2µ )O(mn), te kao takva ne narusava teorijski rezultat iz

Teorema 3.6. Prakticna implementacija Algoritma 4.4 moze se izvesti na efikasan nacinkoristeci sljedece smjernice. Buduci da za izracun gradijenta vk+1 trebamo produkt Axk,njega cemo prvog izracunati. Ukoliko je bilo koja komponenta vektora Ax veca od 1 + ε,prekidamo izracun i prepolavljamo α. Na isti nacin pristupamo produktima koordinatagradijenata. Prilikom odredivanja α u privremenim varijablama mozemo spremati vrijed-nosti xk+1, Axk+1 i vk+1, te ih iskoristiti kada je povoljan α pronaden. Minimalni α koji ovametoda vrati priblizno je jednak teorijskoj vrijednosti. Medutim, u praksi se to vrlo rijetkodogada.

Jos nam preostaje izabrati povoljan zaustavni kriterij. Naime, broj iteracija T dan algorit-mom 3.2 je najmanji broj iteracija koji nam garantira tocnost danu teoremom 3.6. No, goreopisanim odabirom duljine koraka nas se algoritam potencijalno u svakom koraku priblizioptimumu vise nego izvorni algoritam. Zbog toga smo kao mjeru broja prijedenih korakaodabrali kvocjent izmedu duljine koraka u trenutnoj iteraciji i teorijske duljine koraka µε

4 .Drugim rijecima, pratimo koliko koraka Algoritma 3.2 prijedemo u jednom koraku te pre-kidamo algoritam kada smo ukupno presli T teorijskih koraka.

4.2 RezultatiModifikaciju Algoritma 3.2 smo implementirali paralelno na grafickoj kartici koristeci sus-tav CUDA (engl. Compute Unified Device Architecture) koji omogucuje koristenje velikogbroja paralelnih procesorskih jezgri dostupnih na grafickim karticama. Vise o sustavuCUDA zainteresirani citatelj moze pronaci u [26]. Pomocu CUDA-e smo racunali vrijed-nosti funkcija s neovisnim komponentama poput produkta vektora i matrice (Axk), gradi-jenta (vk), i sljedece iteracije (xk+1).

Racunalo na kojemu smo testirali nas algoritam sadrzi cetverojezgreni Intel-core i7-4700HQ@2400MHz procesor, te nVidia 750m graficku karticu s 1GB DDR5 memorije i mogucnostiizvrsavanja 2048 paralelnih niti.

Prvo cemo dati rezultate vezane uz broj koraka i vrijeme izvrsavanja, a potom cemo ko-mentirati udaljenost dobivenog od optimalnog rjesenja.

39

Page 40: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

4 Testiranje algoritma za rjesavanje problema pakiranja

U Tablici 4.1 cemo navesti broj potrebnih koraka izvrsavanja algoritma na matricama na-sumicnih brojeva u rasponu od 0 do 10 razlicite dimenzije, gustoce (omjer broja ne-nulelemenata i ukupnog broja elemenata), te vrijednosti parametra ε. Kako bismo procijenilisvaku od vrijednosti, algoritam smo pokrenuli 25 puta.

Dimenzija ε Gustoca Broj koraka Dimenzija ε Gustoca Broj koraka

30 x 20 0.1 0.25 2754 30 x 20 0.075 0.25 475130 x 20 0.1 0.5 3340 30 x 20 0.075 0.5 491330 x 20 0.1 0.75 3656 30 x 20 0.075 0.75 511530 x 20 0.1 1.0 3940 30 x 20 0.075 1.0 5763

30 x 20 0.05 0.25 7998 30 x 20 0.025 0.25 2294030 x 20 0.05 0.5 9092 30 x 20 0.025 0.5 2418230 x 20 0.05 0.75 11879 30 x 20 0.025 0.75 3159630 x 20 0.05 1.0 13304 30 x 20 0.025 1.0 37592

60 x 40 0.1 0.25 4958 60 x 40 0.075 0.25 855960 x 40 0.1 0.5 5606 60 x 40 0.075 0.5 903160 x 40 0.1 0.75 5959 60 x 40 0.075 0.75 1029860 x 40 0.1 1.0 6189 60 x 40 0.075 1.0 12409

60 x 40 0.05 0.25 14783 60 x 40 0.025 0.25 4409160 x 40 0.05 0.5 17451 60 x 40 0.025 0.5 4772560 x 40 0.05 0.75 20572 60 x 40 0.025 0.75 5159560 x 40 0.05 1.0 24566 60 x 40 0.025 1.0 73800

120 x 80 0.1 0.25 9461 120 x 80 0.075 0.25 14728120 x 80 0.1 0.5 10343 120 x 80 0.075 0.5 17908120 x 80 0.1 0.75 10733 120 x 80 0.075 0.75 19505120 x 80 0.1 1.0 11247 120 x 80 0.075 1.0 20670

120 x 80 0.05 0.25 29509 120 x 80 0.025 0.25 76569120 x 80 0.05 0.5 33086 120 x 80 0.025 0.5 101128120 x 80 0.05 0.75 35211 120 x 80 0.025 0.75 126692120 x 80 0.05 1.0 45631 120 x 80 0.025 1.0 163356

Tablica 4.1: Broj koraka algoritma

U Tablici 4.1 mozemo vidjeti kako je broj koraka algoritma proporcionalan gustoci i di-menziji matrice, te obrnuto proporcionalan parametru ε. Takoder mozemo vidjeti kako

40

Page 41: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

4 Testiranje algoritma za rjesavanje problema pakiranja

nas algoritam konvergira u manje koraka nego onaj u [1]. Dalje cemo dati graf koji po-kazuje ovisnost prosjecnog broja koraka o razlicitim parametrima ε dobivenih na temeljupodataka iz Tablice 4.1.

Slika 4.1: Ovisnost prosjecnog broja koraka o parametru ε za razlicite dimenzije

Na Slici 4.1 vidimo kako se povecanjem parametra ε broj koraka povecava. Takoder, vi-dimo kako broj koraka raste brze s povecanjem dimenzije problema.

U Tablici 4.2 cemo usporediti vrijeme izvrsavanja na procesoru i grafickoj kartici za pro-bleme vecih dimenzija.

Dimenzija Vrijeme procesor Vrijeme graficka kartica Vrijeme procesorVrijeme graficka kartica Broj koraka

240 x 160 80.876s 123.818s 0.65 24110320 x 240 140.298s 172.165s 0.81 28869400 x 320 427.599s 456.44s 0.94 40463480 x 400 766.01s 728.76s 1.05 48815560 x 480 1128.02s 985.76s 1.14 51991

1000 x 1000 8754.29s 4837.81s 1.81 870892000 x 2000 33588.7s 13829.7s 2.43 104663

Tablica 4.2: Vrijeme izvrsavanja algoritma

41

Page 42: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

4 Testiranje algoritma za rjesavanje problema pakiranja

Kao sto mozemo vidjeti u Tablici 4.2, vrijeme izvrsavanja nase implementacije, cak i uzmodifikacije, bitno je vece od vremena izvrsavanja algoritma prezentiranog u npr. [13].Vise je mogucih razloga za to. Moguce je kako nasa implementacija nije adekvatna (sto bipovlacilo kako je implementacija istog algoritma u [1] jos sporija). Druga je mogucnostkako algoritam zaista brze radi na dimenzijama problema koje jos uvijek ne mozemoracunati na osobnim racunalima (zbog nedostatka memorije ili procesorske snage), nasto nas upucuje teorijski rezultat. Neovisno o razlogu, otvorio nam se novi smjer u kojembismo mogli nastaviti istrazivanje s ciljem poboljsanja prakticnog vremena izvrsavanja.

U sljedecoj ce tablici biti dani sustavi dimenzija n2 cije optimalne vrijednosti funkcije ciljaiznose OPT = 5n. Prikazat cemo aproksimacije x dobivene nasom implementacijom, tecemo izraziti multiplikativnu gresku ξ takvu da je 1Tx = (1− ξ)OPT.

Dimenzija ε OPT Aproksimacija Multiplikativna greska ξ

60 x 40 0.001 200 199.808 0.0009660 x 40 0.002 200 199.617 0.0019160 x 40 0.003 200 199.427 0.0028660 x 40 0.004 200 199.238 0.0038160 x 40 0.005 200 199.049 0.0047660 x 40 0.006 200 198.860 0.0057060 x 40 0.007 200 198.672 0.0066460 x 40 0.008 200 198.485 0.0075860 x 40 0.009 200 198.298 0.0085160 x 40 0.01 200 198.112 0.0094460 x 40 0.02 200 196.270 0.0186560 x 40 0.03 200 194.469 0.0276660 x 40 0.04 200 192.704 0.0364860 x 40 0.05 200 190.974 0.0451360 x 40 0.06 200 189.287 0.0535760 x 40 0.07 200 187.615 0.0619360 x 40 0.08 200 186.007 0.0699660 x 40 0.09 200 184.395 0.0780360 x 40 0.1 200 182.829 0.08585

Tablica 4.3: Aproksimacije optimalnog rjesenja

Tablica 4.3 sugerira kako je algoritam korektan u smislu optimalnosti. Naime, za gornjepodatke vrijedi (1− ε)OPT ≤ (1− ξ)OPT ≤ OPT, sto nas upucuje na ispravnost teorijskogrezultata danog u Teoremu 3.6. Buduci da pogreska algoritma opada priblizno linearnopovecanjem koeficijenta ε, dok broj koraka raste polinomijalno (ε−3), ne smijemo odabratiprevise maleni koeficijent ε. Na sljedecem cemo grafu moci vidjeti prikaz podataka izTablice 4.3 koji bi nam prakticno mogao pomoci pri odabiru koeficijenta ε.

42

Page 43: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

4 Testiranje algoritma za rjesavanje problema pakiranja

Slika 4.2: Ovisnost aproksimacije optimalne vrijednosti funkcije cilja o parametru ε

Na temelju Slike 4.2 mozemo zakljuciti kako se za koeficijente ε ≤ 0.01 dovoljno pri-blizavamo optimumu. Za vecinu primjena nije potrebna veca tocnost, dok je manji brojkoraka pozeljan, sto se postize biranjem vecih koeficijenata ε.

43

Page 44: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

5 ZakljucakFrakcionalni problemi pakiranja i pokrivanja posebni su medusobno dualni slucajevi re-laksiranih cjelobrojnih programa. Opisuju probleme na koje nailazimo u sirokom spektruprimjena kao sto su ekonomija, industrija, informatika, itd. Uobicajeno se ovakvi problemirjesavaju generalnim metodama za rjesavanje linearnog programiranja poput simplex me-tode ili metode unutrasnje tocke. S ciljem iskoristavanja strukture frakcionalnih problemapokrivanja i pakiranja, u svrhu razvitka teorijski brzeg algoritma za njihovo rjesavanje,problemu smo pristupili uparivanjem metoda konveksne optimizacije: metodom gradi-jentnog spusta i metodom zrcalnog spusta.

Metoda gradijentnog spusta jedna je od najsire upotrebljivanih metoda konveksne opti-mizacije. Karakteristicna joj je brza konvergencija ukoliko je vrijednost gradijenta funkcijekoju minimiziramo u trenutnoj iteraciji velika. Suprotna metodi gradijentnog spusta jemetoda zrcalnog spusta koja brzo konvergira ako je vrijednost gradijenta funkcije kojuminimiziramo u trenutnoj iteraciji malena. Spojem ove dvije metode dobili smo teorijskibrzu uparenu metodu koja konvergira neovisno o velicini gradijenta.

Funkciju cilja frakcionalnog problema pakiranja transformirali smo u takozvanu zagladenufunkciju cilja koja teorijski jamci brzu konvergenciju gore navedene uparene metode. Po-tom smo formulirali algoritam za rjesavanje frakcionalnog problema pakiranja koji mini-mizira zagladenu funkciju cilja, te smo mu dokazali brzinu konvergencije koja je najboljiteorijski, nama poznati, rezultat. Takoder smo komentirali potrebne modifikacije koje jepotrebno uciniti na algoritmu kako bi on rjesavao i frakcionalni problem pokrivanja.

Algoritam za rjesavanje frakcionalnog problema pakiranja smo modificirali s clijem re-dukcije broja koraka izvrsavanja. Krajnji rezultat bio je efikasniji od izvornog algoritmauz zadrzavanje svojstva optimalnosti. No, sa strane prakticnog vremena izvrsavanja, nasalgoritam se izvrsava sporije od nekih algoritama koji rjesavaju isti problem (npr. [13]).

Prakticno vrijeme izvrsavanja algoritma, koje je dulje od zeljenog, otvorilo nam je novismjer za daljnje istrazivanje. Naime, dodatna redukcija broja potrebnih koraka, kao i sma-njenje broja operacija izvrsenih po koraku dobre su teme za nastavak rada u ovom po-drucju.

44

Page 45: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

Bibliografija[1] Z. Allen-Zhu, L. Orecchia, Using optimization to break the epsilon barrier: a faster and

simpler width-independent algorithm for solving positive linear programms in parallel, ArXive-prints, abs/1407.1925, 2014.

[2] Z. Allen-Zhu, L. Orecchia, Nearly-linear time packing and covering LP solver with fasterconvergence rate than O(1/ε2), ArXiv e-prints, abs/1411.1124, 2014.

[3] Z. Allen-Zhu, L. Orecchia, Linear coupling: an ultimate unification of gradient and mirrordescent, ArXiv e-prints, abs/1407.1537, 2015.

[4] B. Awerbuch, R. Kahendekar, Stateless distributed gradient descent for positive linear pro-grams, Proceedings of the fourtieth annual ACM symposium on Theory of computing- STOC 08, 2008., 691.

[5] Y. Bartal, J.W. Byers, D. Raz, Fast, distributed approximation algorithms for positive linearprogramming with applications to flow control, SIAM Journal on Computing 33(2004.),1261-1279.

[6] A. Ben-Tal, A.Nemirovski, Lectures on modern convex optimization, Society for industrialand applied mathematics, 2013.

[7] C. Bentz, D. Cornaz, B. Ries, Packing and covering with linear programming: a survey,European Journal of Operational Research 227(2013.), 409–422.

[8] D. Bertsimas, J. N. Tsitsiklis, Introduction to linear optimization, Athena Scientific, 1997.

[9] S. Boyd, L. Vandenberghe, Convex optimization, Cambridge University Press, 2004.

[10] T.H. Cormen, C.E. Leiserson, R.L. Rivest., Introduction to algorithms, MIT Press, 2001.

[11] G.B. Dantzig, Linear programming, Applied Mathematics 15(1951.), 18-21.

[12] G.B. Dantzig, M.N. Thapa, Linear programming 2: theory and extensions, Springer, 2003.

[13] S. Jelic, S. Laue, D. Matijevic, P. Wijerama, A fast parallel implementation of a PTAS forfractional packing and covering linear programs, International Journal of Parallel Program-ming 43(2015.), 840-875.

[14] D.S. Johnson, The NP-completeness column: an ongoing guide, J. ALGORITHMS11(1990.), 144-151.

[15] N. Karmarkar, A new polynomial-time algorithm for linear programming, Combinatorica4(1984.), 373-395.

[16] J. A. Kelner, Y. T. Lee, L. Orecchia, A. Sidford, An almost linear-time algorithm for approxi-mate max flow in undirected graphs, and its multicommodity generalizations, Proceedings ofthe 25th Annual ACM-SIAM Symposium on Discrete Algorithms - SODA ‘14, 2014.

45

Page 46: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

Bibliografija

[17] L. Khachiyan, A polynomial algorithm in linear programming, Soviet Mathematics Dok-lady 20(1979.), 191–194.

[18] C. Koufogiannakis, N.E. Young, Beating simplex for fractional packing and covering linearprograms, Data Structures and Algorithms, abs/0801.1, 2008., 494–504.

[19] C. Koufogiannakis, N.E. Young, A nearly linear-time PTAS for explicit fractional packingand covering linear programs, Algorithmica 70(2013.), 494-506.

[20] S. Kurepa, Matematicka analiza 3: funkcije vise varijabli, Tehnicka knjiga, Zagreb, 1975.

[21] M. Luby, N. Nisan, A parallel approximation algorithm for positive linear programming,Proceedings of the twenty-fifth annual ACM symposium on Theory of computing -STOC ‘10, 1993., 121.

[22] A. Nemirovski, Prox-method with rate of convergence O(1/t) for variational inequalitieswith Lipschitz continous monotone operators and smooth convex-concave saddle point pro-blems, SIAM Journal on Optimization 15(2004.), 229-251.

[23] Y. Nesterov, Introductory lectures on convex programming volume: a basic course, KluwerAcademic Publishers, 2004.

[24] Y. Nesterov, Smooth minimization of non-smooth functions, Mathematical programming103(2005.), 127-152.

[25] Y. Nesterov, Primal-dual subgradient methods for convex problems, Mathematical pro-gramming, 120(2007.), 221-259.

[26] J. Nickolls, I. Buck, M. Garland, K. Skadron, Scalable parallel programming with CUDA,ACM Queue 6(2008.), 40-53.

[27] S. Smale, On the average number of steps of the simplex method of linear programming,Mathematical Programming 27(1983.), 241-262.

[28] D.P. Williamson and D.B. Shmoys, The design of approximation algorithms, CambridgeUniversity Press, 2010.

[29] N.E.Young, Sequential and parallel algorithms for mixed packing and covering, 42nd An-nual IEEE Symposium on Foundations of Computer Science (FOCS ‘01), 2001., 538-546.

[30] N.E.Young, Nearly linear time approximation schemes for mixed packing/covering andfacility-location linear problems, ArXiv e-prints, abs/1407.3015, 2014.

46

Page 47: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

Sazetak

Problemi pakiranja i pokrivanja su specijalni slucajevi problema cjelobrojnog programi-ranja sa sirokom primjenom u praksi. Cilj ovog rada je bio razvoj efikasnih algoritamakoji aproksimacijski rjesavaju te probleme. To smo postigli relaksacijom cjelobrojnog pro-grama u linearni program, te primjenom metoda konveksne optimizacije na zagladenufunkciju cilja. Takozvana uparena metoda, koja spaja gradijentne i zrcalne korake, razvi-jena je u svrhu povecavanja efikasnosti algoritama.

Na pocetku rada je dan kratki pregled generalne teorije linearnog programiranja. Potomsu opisani problemi pakiranja i pokrivanja. Naposlijetku, pomocu osnovne teorije konvek-sne optimizacije razvijen je upareni optimizacijski algoritam koji je potom primijenjen urazvoju algoritama za rjesavanje problema pakiranja i pokrivanja.

Razvijeni algoritmi za rjesavanje problema pakiranja i pokrivanja su teorijski efikasnijiod generalnih metoda poput elipsiodalne metode ili metode unutrasnje tocke kojima serjesavaju generalni linearni i relaksirani cjelobrojni programi, te od svih nama poznatihmetoda za rjesavanje frakcionalnog problema pakiranja i pokrivanja. Takoder, algoritamrazvijen u ovome radu je paralelizabilan, sto znaci da mu se efikasnost na prirodan nacinmoze povecati koristenjem vise od jedne procesorske jedinice.

Kljucne rijeci: Cjelobrojno programiranje, problemi pakiranja i pokrivanja, konveksnaoptimizacija, metoda gradijentnog spusta, metoda zrcalnog spusta

47

Page 48: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

Abstract

Packing and covering problems are special cases of the whole-number programming pro-blems with wide practical application. The aim of this thesis was to develop efficientalgorithms which offer an approximate solution to these two problems. That has beenachieved by relaxing the initial problem into a linear program and applying the convexoptimization methods on the smoothened objective. We developed a so called coupledmethod which exploits both the gradient descent and the mirror descent steps in order toachieve greater efficiency.

First chapter deals with the basics of linear programming theory. Afterwards, problemsof packing and covering are introduced. Finally, using the basic convex optimization tec-hniques, we developed a coupled algorithm which is used in the development of the pac-king and covering solvers.

The packing and covering solvers given in this paper are theoretically more efficient incomparison to the general methods for solving relaxed whole-number programs such asElipsoidal or Interior point methods and all known fractional packing and covering algo-rithms. Another strong point of the algorithm in this thesis would be its parallelizability,which implies that by using additional independent processing units its efficiency natu-rally increases.

Keywords: Whole-number programming, packing and covering problems, convex op-timization, gradient descent method, mirror descent method

48

Page 49: Sveuciliˇ ste J. J. Strossmayera u Osijekuˇ Odjel za ...mdjumic/uploads/diplomski/BOR61.pdf · U Primjeru 1.2 dan je primjer problema linearnog programiranja. Problem linearnog

Zivotopis

Luka Borozan je roden 1991. godine u Osijeku. Pohadao je Osnovnu skolu VladimiraBecica i Osnovnu skolu Antuna Mihanovica u Osijeku, te III. gimnaziju u Osijeku. Tje-kom osnovne i srednje skole sudjelovao je na opcinskim i zupanijskim natjecanjima izmatematike, fizike i informatike. Zavrsio je preddiplomski studij matematike na Odjeluza matematiku u Osijeku s prosjekom 5.0. Nakon zavrsenog preddiplomskog studija upi-sao je diplomski studij matematike i racunarstva na Odjelu za matematiku u Osijeku.

Tokom diplomskog studija radio je kao demonstrator iz kolegija Vektorski prostori koddoc.dr.sc. Ivana Matica. Koautor je znanstvenog rada On parameter estimation by nonlinearleast squares in some special two-parameter exponential type models s doc.dr.sc. Darijom Mar-kovic. Bio je clan znanstvenog projekta Parameter estimation problem in some two-parametermonotonic mathematical models financiranog od strane Sveucilista J.J. Strossmayera u Osi-jeku, cija je voditeljica bila doc.dr.sc Darija Markovic. Takoder, dobitnik je nagrade LIONSkluba za izvrsnost. Tokom srednjoskolskog i fakultetskog obrazovanja primao je stipen-dije Osjecko-Baranjske zupanije, Grada Osijeka i Sveucilista J.J. Strossmayera u Osijeku.

49