Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

Слични документи
6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

VEŽBE IZ OPERACIONIH ISTRAŽIVANJA

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K.

1. Vrednost izraza jednaka je: Rexenje Direktnim raqunom dobija se = 4 9, ili kra e S = 1 ( 1 1

Skripte2013

Орт колоквијум

Орт колоквијум

My_ST_FTNIspiti_Free

My_P_Trigo_Zbir_Free

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun

MAT KOL (Banja Luka) ISSN (p), ISSN (o) Vol. XX (2)(2014), PELLOVA JEDNAČINA I PITAGORIN

Microsoft Word - 6ms001

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www.

1 Konusni preseci (drugim rečima: kružnica, elipsa, hiperbola i parabola) Definicija 0.1 Algebarska kriva drugog reda u ravni jeste skup tačaka opisan

Analiticka geometrija

ФАКУЛТЕТ ОРГАНИЗАЦИОНИХ НАУКА

СТРАХИЊА РАДИЋ КЛАСИФИКАЦИJА ИЗОМЕТРИJА И СЛИЧНОСТИ Према књизи [1], свака изометриjа σ се може представити ком позици - jом неке транслациjе за векто

Microsoft Word - SIORT1_2019_K1_resenje.docx

Талесова 1 теорема и примене - неки задаци из збирке Дефинициjа 1: Нека су a и b две дужи чиjе су дужине изражене преко мерне jединице k > 0, тако да

SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK Ivana Šore REKURZIVNOST REALNIH FUNKCIJA Diplomski rad Voditelj rada: doc.

Microsoft Word - Ispitivanje toka i grafik funkcije V deo

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

PITANJA I ZADACI ZA II KOLOKVIJUM IZ MATEMATIKE I Pitanja o nizovima Nizovi Realni niz i njegov podniz. Tačka nagomilavanja niza i granična vrednost(l

Dinamičko programiranje Primer 1: Za dati niz naći njegov najduži neopadajući podniz. Defnicija: podniz nekog niza je niz koji se dobija izbacivanjem

P1.1 Analiza efikasnosti algoritama 1

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3

Teorija igara

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr

Орт колоквијум

(Microsoft Word - MATB - kolovoz osnovna razina - rje\232enja zadataka)

Test iz Linearne algebre i Linearne algebre A qetvrti tok, U zavisnosti od realnog parametra λ rexiti sistem jednaqina x + y + z = λ x +

Matrice. Algebarske operacije s matricama. - Predavanje I

PowerPoint Presentation

Natjecanje 2016.

Slide 1

Slide 1

Ravno kretanje krutog tela

Microsoft Word - 4.Ucenik razlikuje direktno i obrnuto proporcionalne velicine, zna linearnu funkciju i graficki interpretira n

Matematika 1 - izborna

Microsoft Word - KVADRATNA FUNKCIJA.doc

PRIRODNO-MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA MATEMATIKU I INFORMATIKU ZADACI SA REŠENJIMA SA PRIJEMNOG ISPITA IZ MATEMATIKE, JUN Odrediti

kvadratna jednačina - zadaci za vežbanje (Vladimir Marinkov).nb 1 Kvadratna jednačina 1. Rešiti jednačine: a x 2 81 b 2 x 2 50 c 4 x d x 1

LAB PRAKTIKUM OR1 _ETR_

1. GRUPA Pismeni ispit iz MATEMATIKE Prezime i ime broj indeksa 1. (15 poena) Rexiti matriqnu jednaqinu 3XB T + XA = B, pri qemu

Орт колоквијум

9. : , ( )

Microsoft Word - 14Celobrojno.doc

Microsoft Word - MATRICE ZADACI III deo.doc

Испит из Основа рачунарске технике OO /2018 ( ) Р е ш е њ е Задатак 5 Асинхрони RS флип флопреализован помоћу НИ кола дат је на следећ

Microsoft Word - NULE FUNKCIJE I ZNAK FUNKCIJE.doc

Matematiqki fakultet Univerzitet u Beogradu Iracionalne jednaqine i nejednaqine Zlatko Lazovi 29. mart 2017.

Vjezbe 1.dvi

(Microsoft Word - Dr\236avna matura - studeni osnovna razina - rje\232enja)

Испит из Основа рачунарске технике OO /2018 ( ) Р е ш е њ е Задатак 5 Асинхрони RS флип флопреализован помоћу НИЛИ кола дат је на след

JEDNAKOSTI I JEDNAČINE,

1

Microsoft Word - IZVOD FUNKCIJE.doc

Програмирај!

Microsoft Word - 15ms261

DR DRAGOŚ CVETKOVIC DR SLOBODAN SIMIC DISKRETNA MATEMATIKA MATEMATIKA ZA KOMPJUTERSKE NAUKĘ DRUGO ISPRAYLJENO I PROSIRENO IZDANJE HMUJ

Microsoft Word - TAcKA i PRAVA3.godina.doc

MAT-KOL (Banja Luka) XXIII (4)(2017), DOI: /МК Ž ISSN (o) ISSN (o) ЈЕДНА

Математика 1. Посматрај слику и одреди елементе скуупова: а) б) в) средњи ниво А={ } B={ } А B={ } А B={ } А B={ } B А={ } А={ } B={ } А B={ } А B={ }

2015_k2_z12.dvi

Microsoft Word - 1.Operacije i zakoni operacija

Osnovni pojmovi teorije verovatnoce

Microsoft Word - 7. cas za studente.doc

Optimizacija

My_P_Red_Bin_Zbir_Free

Microsoft PowerPoint - ravno kretanje [Compatibility Mode]

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra

Funkcije predavač: Nadežda Jakšić

Analiticka geometrija

7. predavanje Vladimir Dananić 14. studenoga Vladimir Dananić () 7. predavanje 14. studenoga / 16

Analiticka geometrija

3.Kontrlne (upravlja~ke) strukture u Javi

Рачунарска интелигенција

Задатак 4: Центрифугална пумпа познате карактеристике при n = 2900 min -1 ради на инсталацији приказаној на слици и потискује воду из резервоара А у р

Microsoft Word - Algebra i funkcije- napredni nivo doc

ПРИРОДА И ЗНАК РЕШЕЊА 2 b ax bx c 0 x1 x2 2 D b 4ac a ( сви задаци су решени) c b D xx 1 2 x1/2 a 2a УСЛОВИ Решења реална и различита D>0 Решења реалн

Microsoft Word - Domacii zadatak Vektori i analiticka geometrija OK.doc

Veeeeeliki brojevi

Hej hej bojiš se matematike? Ma nema potrebe! Dobra priprema je pola obavljenog posla, a da bi bio izvrsno pripremljen tu uskačemo mi iz Štreberaja. D

Slide 1

JMBAG IME I PREZIME BROJ BODOVA 1. (ukupno 20 bodova) MJERA I INTEGRAL Popravni ispit 7. rujna (Knjige, bilježnice, dodatni papiri i kalkulatori

vjezbe-difrfv.dvi

RG_V_05_Transformacije 3D

Microsoft Word - ASIMPTOTE FUNKCIJA.doc

Microsoft PowerPoint - Predavanje3.ppt

Pitanja iz geometrije za pismeni i usmeni (I smer, druga godina) Srdjan Vukmirović, Tijana Šukilovic, Marijana Babić januar Teorijska pitanja

Microsoft Word - predavanje8

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ и технолошког развоја ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ НА КРАЈУ ОСНОВН

Slide 1

Teorija skupova - blog.sake.ba

TEORIJA SIGNALA I INFORMACIJA

Транскрипт:

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica dimenzije m n, b Z m, c Z n. Takođe, očekuje se da su koordinate x celobrojne. U slučaju da se zahteva celobronost samo nekih koordinata, govorimo o problemu mešovitog celobrojnog linearnog programiranja. Naredni časovi posvećeni su sledećim problemima: Transporni problem Problem raspoređivanja (asignacije) Problem ranca (formula unapred/unazad, ranac na grupi) Gomorijev rez, Metod granjanja i odsecanja Implicitno prebrojavanje, itd. DEFINICIJA Za celobrojnu kvadratnu matricu V kažemo da je unimodularnaako je detv {1, 1}. Ako je V unimodularna matrica, tada je V 1 takođe unimodularna, obzirom da je V 1 = adjv celobrojna matrica i det detv V 1 = 1 detv {1, 1}. TEOREMA Ako je matrica A = [a ij ] m,n celobrojna matrica ranga r > 0 onda postoje takve unimodularne matrice U i V da je UAV = d 1 0 0 d 2 0 0 [ 0 0 0 0 0 0 0 ] pri čemu su d 1, d 2,.., d r prirodni brojevi takvi da d i deli d i+1 a i = 1,.., r 1. Dijagonalna matrica koja ima osobine iskazane teoremom, ima Smith-ovu formu. d r 7

PRIMER 57 Rešiti sistem celobrojnih jednačina: 5x + 4y + 9z = 1 4x + 2y + 6z = 2 Matricu sistema A = [ 5 4 9 ] transformišemo elementarnim transformacijama u Smith-ov normalni oblik D. 4 2 6 U cilju istovromenog određivanja unimodularnih matrica U i V tako da je UAV = D stavimo kao početne vrednosti U = [ 1 0 1 0 0 0 1 ] i V = [ 0 1 0] i sve transformacije nad vrstama ponovimo na tekućoj matrici U dok sve transformacije nad kolonama ponovimo na tekućoj matrici V. Kada matrica A bude dovedena na Smith-ov oblik (A novo = UAV = D) matrice U i V dobiće svoju pravu vrednost. Obeležimo kolone matrice A sa k 1, k 2 i k, odnosno vrste sa v 1 i v 2. Nove vrednosti su nadvučene. U A V 1 0 5 4 9 1 0 0 rotiramo kolone k 1 i k 2 0 1 4 2 6 0 1 0 k 1 = k 2 k 2 = k 1 1 0 4 5 9 0 1 0 rotiramo vrste v 1 i v 2 0 1 2 4 6 1 0 0 v 1 = v 2 v 2 = v 1 0 1 2 4 6 1 0 0 1 0 4 5 9 0 1 0 0 1 2 0 0 1 0 4 - - 1-2 - 0 1 2 0 0 1-2 0 - - 1-2 - 0 1 2 0 0 0-1 -1 1-2 0 0 1 2-1 0 1 2 2 0 0-1 -1 1-2 0 0 1-1 0 1 2 2 0 0-1 -1 1 - -2 1 0 1-1 1 - -2 1 0 0-1 -1 0 1 2 2 0 1-1 1-1 -2 0-1 0-1 0 1 2 2 0 1-1 k 2 = k 2 2k 1 k = k k 1 v 2 = v 2 2v 1 k 2 = k 2 k = k k 2 k 2 = k 2 + k 1 v 2 = v 2 v 1 v 2 = v 1 v 1 = v 2 k 1 = k 2 k 2 = k 1 k 2 = k 2 + 2k 1 74

1-1 0 0-1 -2-1 0 1 2 6 0 7-1 v 2 = v 2 + 2v 1 1-1 0 0-1 -2-1 -2 7 0 6 0 7-1 Opisanim postupkom dobijamo matrice D = [ 1 0 0 1 2 1 1 ], U = [ 0 6 0 2 7 ], V = [ 7 1]. Kako je polazni sistem oblika AX = b, množenjem sa matricom U sa leve strane, dobijamo relaciju UAX = Ub. Uvodimo smenu promenljive X = VY. Na ovaj način dobijamo UAVY = Ub. Neka je sada UAV = D. Rešavamo sisteme DY = Ub i X = VY. Neka je, npr. Y = [a b c] T. DY = Ub [ 1 0 0 a 0 6 0 ] [ b] = [ 1 c 2 7 ] [1 2 ] = [ 5 12 ] x 1 2 1 a X = VY [ y] = [ 7 1] [ b] z c Iz prvog sistema sledi da je a = 5, b = 2, c Z. Zamenom u drugi sistem, nalazimo da je x = 1 c, y = 1 c, z = c, c Z. PRIMER 58 Dovesti na Smith-ov oblik matricu: A = [ 4 4 5 7 6 ] Analogno prethodnom zadatku formiramo matricu D = UAV. U A V 1 0 4-4 1 0 0 0 1 5-7 6 0 1 0 k 1 = k 2 k 2 = k 1 1 0-4 4 0 1 6-7 5 0 1 0 1 0 0 k 2 = 2k 1 + k 2 k = k k 1 1 0 2 1 0 1 6 5-1 0 1 0 1 2-1 k 1 = k k = k 1 1 0 1 2 1 0 0 0 1-1 5 6 0 1 0-1 2 1 k 2 = k 2 2k 1 k = k k 1 1 0 1-2 - 0 1-1 7 9 0 1 0-1 4 4 v 2 = v 2 + v 1 75

1 0 1-2 - 1 1 0 7 9 0 1 0-1 4 4 k = k k 2 1 0 1-2 -1 1 1 0 7 2 0 1-1 -1 4 0 k 2 = k k = k 2 1 0 1-1 -2 1 1 0 2 7 0-1 1-1 0 4 k = k k 2 1 0 1-1 1 1 1 0 2 1 0-1 4-1 0 4 k 2 = k k = k 2 1 0 1 1-1 1 1 0 1 2 0 4-1 -1 4 0 k = k 2k 2 1 0 1 1-1 1 0 1 0 0 4-9 -1 4-8 Provera: UAV = D (za svaki slučaj, nije obavezna) Rešavamo sistem: 4x 4y + z = α 5x 7y + 6z = β odnosno [ 4 4 x 5 7 6 ] [ y] = [ α β ] z Analogno prethodnom zadatku rešavamo sisteme DY = Ub i X = VY. Uvodimo smenu promenljivih Y = [a b c] T. [ 1 0 0 a 0 1 0 ] [ b] = [ 1 0 c 1 1 ] [α β ] = [ α α + β ] x 1 1 a [ y] = [ 0 4 9] [ b] z 1 4 8 c odnosno, a = α, b = α + β, z = c Z Za svako α, β Z sistem x 1 1 α [ y] = [ 0 4 9] [ α + β] z 1 4 8 c ima rešenje i to su sva rešenja. 76

Problem ranca Problem ranca definišemo na sledeći način: Pretpostavimo da je dat neki ranac zapremine b 0 i skup predmeta kojima se ranac puni. Svaki predmet ima svoju zapreminu a j 0 i vrednost c j 0. Napuniti ranac sadržajem najveće vrednosti tako da je ukupna vrednost koja se nosi u rancu maksimalna: max n j=1 n j=1 c j x j a j x j b x 1, x 2,, x n Z Problem se ekvivalentno može posmatrati kao problem određivanja maksimalnog profita kompanije koja treba da finansira n projekata iz svog budžeta veličine b ako su poznazi troškovi i dobit za svaki projekat. Tada bi promenljiva x j mogla da se interpetira kao promenljiva odlučivanja kojom se određuje procenat učešća kompanije u tom projektu. Problem ranca se rešava tako što se podeli na etape. Uvodimo pomoćnu funkciju F definisanu na sledeći način: F k (y) = max{c 1 x 1 + + c k x k a 1 x 1 + + a k x k y, x 1,.., x k 0, x 1,, x k Z} Za rešavanje pomoćne funkcije koristimo sledeće rekurentne formule: 1. F 1 (y) = c 1 [y/a 1 ] F k (y) = max{c k x k + F k 1 (y a k x k ) x k {0,1,, [y/a k ]}} k 2 Ako punimo ranac jednim predmetom sledi da je F 1 (y) = max{c 1 x 1 a 1 x 1 y, x 1 0 } = c 1 [y/a 1 ] čime smo potvrdili početni uslov. 2. F k (y) = max {F k 1 (y), F k 1 (y a k ) + c k } gde je F n (y) = za y < 0. U ovom slučaju za k-tu koordinatu optimalnog rešenja važi ili x k = 0 (F k (y) = F k 1 (y) ili x k 1 (F k (y) = F k 1 (y a k ) + c k ). Optimalna vrednost je svakako uvek jednaka boljoj od navedenih vrednosti. Navedena formula se naziva još formulom unapred i ona je najpogodnija za kompjutersko izračunavanje. F n (y) = 0 za 0 y min {a 1,, a n } a za y min {a 1,, a n } je F n (y) = max{c k + F n (y a k ) k = 1,2,.., n} ukoliko se definiše F n (y) = za y < 0. Ako nula nije optimalno rešenje, bar jedna njegova koordinata, npr. x k je veća ili jednaka od 1 (F n (y) = c k + F n (y a k )). - Navedene rekurzivne forumle se mogu koristiti za određivanje optimalne vrednosti F n (b) problema kao i odgovarajućeg optimalnog rešenja. - Ako koristimo formulu 1 potrebno je da se pamte svi koraci dok je kod formule 2 dovoljno da se pamte samo poslednja dva rešenja. 77

- Kod druge formule uvodimo još jednu pomoćnu veličinu i k (y) koja pamti najveći indeks j takav da je j-ta promenljiva optimalnog rešenja u F k (y) pozitivna. Ukoliko je nula optimalno rešenje, definišimo ovaj indeks sa nulom. Važi rekurzija: i k (y) = { i k 1(y) c k + F k (y) < F k 1, i k c k + F k (y) F 1 (y) = { 0 F 1(y) = 0 k 1 1 F 1 (y) 0 Na osnovu vrednosti dobijene za i n (y) možemo rekonstruišemo optimalno rešenje iz smisla indeksa i vrednosti i n (b) i i n (b a in (b)). Kako upisujemo rešenja? i n (y) = { k k x n = 1, n = k x n = 0, n k i n (y a in (b)) = { k x k a in (b), ispitujemo za y a in (b) e x e = 1, x e+1 = 0, x k = 1 PRIMER 59 Rešiti problem ranca koristeći rekurentnu formulu unapred. max 10x 1 + 2x 2 x + x 4 x 1 + x 2 + x 4 x i [0,1], i = 1,2,,4. Prvo odredimo kapacitete: c 1 = 10, c 2 = 2, c = 1, c 4 =, a 1 =, a 2 = 1, a =. Možemo da stavimo da je x 4 = 1 (x 4 uzima svoju maksimalnu vrednost obzirom da tada neće narušiti početna ograničenja). Budući da vrednost promenljive x 4 ne utiče na ograničenja možemo uzeti da je x 4 = 1 i tražiti max F(x) = 10x 1 + 2x 2 x +. Izborom x 4 = 0 se dobija lošije rešenje. Formiramo tablice F k (y) i i k (y) korišćenjem rekurentnih formula: F 1 (y) = c 1 [y/a 1 ] = 10[y/] F 2 (y) = max{f 1 (y), c 2 + F 1 (y a 2 )} = max {F 1 (y), 2 + F 1 (y 1)} F (y) = max{f 2 (y), c + F 2 (y a )} = max {F 2 (y), 1 + F 2 (y )} i 2 (y) = { i 1(y) F 1 (y) > 2 + F 1 (y 1) 2 F 1 2 + F 1 (y 1) i (y) = { i 2(y) F 2 (y) > 2 + F 2 (y ) F 2 1 + F 2 (y ) k\y 0 1 2 4 i\y 0 1 2 4 1 0 0 10 1 0 1 2 0 2 2 10 12 2 0 2 2 1 2 0 2 2 10 12 0 2 2 1 2 U tablici sa leve strane vidimo da se maksimum dostiže za F (4) = 12. Rekonstruisaćemo raspored pakovanja: Kako je i (4) = 2 x 2 = 1. Dalje gledamo za F (4 a 2 ) =, i () = 1 x 1 = 1, a zatim F ( a 1 ) = 0, i (0) = 0 x = 0. Konačno: x 1 = 1, x 4 = 0, x 2 = 1, x = 0. Dakle, f max = 12 + = 15 78

PRIMER 60 Rešiti problem ranca koristeći rekurentnu formulu unapred. max x 1 + x 2 + 7x + 2x 4 + 5x 5 4x 1 + x 2 + 2x + x 4 + 6x 5 8 x i [0,1], i = 1,2,,4, 5. Prvo odredimo kapacitete: c 1 =, c 2 = 1, c = 7, c 4 = 2, c 5 = 5, a 1 = 4, a 2 = 1, a = 2, a 4 =, a 5 = 6. Formiramo tablice F k (y) i i k (y) Korišćenjem rekurentnih formula: F 1 (y) = c 1 [y/a 1 ] = [y/4] F 2 (y) = max{f 1 (y), c 2 + F 1 (y a 2 )} = max {F 1 (y), 1 + F 1 (y 1)} F (y) = max{f 2 (y), c + F 2 (y a )} = max {F 2 (y), 7 + F 2 (y 2)} F 4 (y) = max{f (y), c 4 + F (y a 4 )} = max {F (y), 2 + F (y )} F 5 (y) = max{f 4 (y), c 5 + F 4 (y a 5 )} = max {F 4 (y), 5 + F 4 (y 6)} i 2 (y) = { i 1(y) F 1 (y) > 1 + F 2 (y 1) 2 F 1 1 + F 2 (y 1) i (y) = { i 2(y) F 2 (y) > 7 + F (y 2) F 2 7 + F (y 2) k\y 0 1 2 4 5 6 7 8 i\y 0 1 2 4 5 6 7 8 1 0 0 0 0 6 1 0 0 1 1 1 1 2 0 1 1 1 4 4 4 6 2 0 2 2 2 1 2 2 2 1 0 1 7 8 8 8 10 11 11 0 2 4 0 1 7 8 8 9 10 11 11 4 0 2 4 5 0 1 7 8 8 9 10 11 12 5 0 2 4 5 Konačno, imamo da se maksimum dostiže za F 5 (8) = 12 i 5 (8) = 5 x 5 = 1. Dalje imamo da je i 5 (8 a 5 ) = i 5 (2) = x = 1. Zatim i 5 (2 a ) = i 5 (0) = 0 x 1 = 0, x 2 = 0, x 4 = 0. f max = 12 za x = (0,0,1,0,1) NAPOMENA U slučaju da je skup rešenja Z i da smo tokom rekonstrukcije rešenja imali i k (y j ) = s, j = 1,2,, m promenljiva x s dobija vrednost m. Videti zadatak 62. PRIMER 61 Rešiti problem ranca koristeći rekurentnu formulu unazad. max x 1 + x 2 + 7x + 2x 4 + 5x 5 4x 1 + x 2 + 2x + x 4 + 6x 5 8 x i [0,1], i = 1,2,,4,5. F 5 (8) = max 0 x 5 1 {5x 5 + F 4 (8 6x 5 )} = max{f 4 (8), 5 + F 4 (2)} =.. = 12 F 4 (8) = max 0 x 4 1 {2x 4 + F (8 x 4 )} = max{f (8), 2 + F (5)} =.. = 11 F 4 (2) = max 0 x 4 1 {2x 4 + F (2 x 4 )} = max{f (2)} =.. = 7 F (8) = max 0 x 1 {7x + F 2 (8 2x )} = max{f 2 (8), 7 + F 2 (6)} =.. = 11 F (5) = max 0 x 1 {7x + F 2 (5 2x )} = max{f 2 (5), 7 + F 2 ()} =.. = 8 F (2) = max 0 x 1 {7x + F 2 (2 2x )} = max{f 2 (2), 7 + F 2 (0)} =.. = max{1, 7} = 7 79

F 2 (8) = max 0 x 2 1 {x 2 + F 1 (8 x 2 )} = max{f 2 (8), 7 + F 2 (6)} =.. = max{4, 11} = 11 F 2 (6) = max 0 x 2 1 {x 2 + F 1 (6 x 2 )} = max{f 1 (6), 1 + F 1 (5)} =. = 4 F 2 (5) = max 0 x 2 1 {x 2 + F 1 (5 x 2 )} = max{f 1 (5), 1 + F 1 (4)} =. = 4 F 2 () = max 0 x 2 1 {x 2 + F 1 ( x 2 )} = max{f 1 (), 1 + F 1 (2)} =. = 1 F 2 (2) = max 0 x 2 1 {x 2 + F 1 (2 x 2 )} = max{f 1 (2), 1 + F 1 (2)} =. = 1 F 2 (0) = max 0 x 2 1 {x 2 + F 1 (0 x 2 )} = F 2 (0) = 0 F 1 (0) = [ 0 4 ] = 0 F 1 (1) = [ 1 4 ] = 0 F 1 () = [ 4 ] = 0 F 1 (4) = [ 4 4 ] = 1 F 1 (6) = [ 6 4 ] = 1 F 1 (7) = [ 7 4 ] = 1 F 1 (2) = [ 2 4 ] = 0 F 1 (5) = [ 5 4 ] = 1 F 1 (8) = [ 8 4 ] = 1 Obratiti pažnju da x 1 može imati samo vrednosti 0 i 1, te stoga pišemo da je F 1 (8) = 1 = 1!!! Vraćamo vrednost nazad: F 5 (8) x 5 = 1 F (2) x = 1 F 1 (0) x 1 = 0 F 4 (2) x 4 = 0 F 2 (0) x 2 = 0 PRIMER 62 Rešiti problem ranca koristeći rekurentnu formulu unazad. max x 1 + 4x 2 + 5x + 2x 4 2x 1 + x 2 + 4x + 5x 4 9 x i Z, i = 1,2,,4. F 4 (9) = max {2x 4 + F (9 5x 4 )} = max{f (9), 2 + F (4)} = 1 0 x 4 1 // tražimo maksimum za svaku potencijalnu vrednost promenljive x 4 F (9) = max {5x + F 2 (9 4x )} = max{f 2 (9), 5 + F 2 (5), 10 + F 2 (1)} = max{1,12,10} = 1 0 x 2 F (4) = max {5x + F 2 (4 4x )} = max{f 2 (4), 5 + F 2 (0)} = max{6,5} = 6 (0 x 1) F 2 (9) = max {4x 2 + F 1 (9 x 2 )} = max{f 1 (9), 4 + F 1 (6), 8 + F 1 (), 12 + F 1 (0)} = max{12,1,11,12} = 11 0 x 2 F 2 (5) = max {4x 2 + F 1 (5 x 2 )} = max{f 1 (5), 4 + F 1 (2)} = max{6,7} = 7 0 x 2 1 F 2 (4) = max {4x 2 + F 1 (4 x 2 ) = max{f 1 (4), 4 + F 1 (1)} = max{6,4} = 6 0 x 2 1 F 2 (1) = max {4x 2 + F 1 (1 x 2 )} = max{f 1 (1)} = 0 0 x 2 0 F 2 (0) = max { 4x 2 + F 1 (0 x 2 )} = max {F 1 (0)} = 0 0 x 2 0 F 1 (0) = [ 0 2 ] = 0 F 1 (2) = [ 2 2 ] = F 1 (4) = [ 4 2 ] = 6 F 1 (6) = [ 6 2 ] = 9 F 1 (1) = [ 1 2 ] = 0 F 1 () = [ 2 ] = F 1 (5) = [ 5 2 ] = 6 F 1 (9) = [ 9 2 ] =12 Rekonstruišemo raspored: Maximalna vrednost ranca je 1 i postignuta je za x 4 = 0 a dostiže se za F (9) koje svoju maksimalnu vrednost dobija kada je x = 0. Poslednja vrednost dostiže se za F 2 (9) koji svoj maksimum dostiže za x 2 = 1, odnosno za maksimalno F 1 (6) koje, opet, svojm maksimum dostiže za x 1 =. Konačno, traženo rešenje je oblika : (,1,0,0) 80

Slično rešenje dobićemo i formulom unapred. U nastavku slede tablice i rekonstrukcija rešenja. k\y 0 1 2 4 5 6 7 8 9 i\y 0 1 2 4 5 6 7 8 9 1 0 0 6 6 9 9 12 12 1 1 1 1 1 1 1 1 2 0 0 4 6 7 9 10 12 1 2 2 1 2 1 2 1 2 0 0 4 6 7 9 10 12 1 2 1 2 1 2 1 2 4 0 0 4 6 7 9 10 12 1 4 2 1 2 1 2 1 2 F max = F (9) = 1 i (9) = 2 x 2 = 1, i (9 ) = i (6) = 1 x 1 = 1 i (6 2) = i (4) = 1 x 1 += 1 x 1 = 2 i (4 2) = i (2) = 1 x 1 += 1 x 1 = 1 i (2 2) = i (0) = 0 x = 0, x 4 = 0 Slično rešenje bi dobili kada bi rekonstrukciju rešenja počeli od F 2 (9), odnosno F 4 (9). Svodjenje asimptotskog problema na problem ranca na grupi PRIMER 6 Rešiti problem ranca na grupi min x 1 + 11x 2 + 1x + 5x 4 g 1 x 1 g 2 x 2 g x g 4 x 4 = g 5 x i 0, x i Z, i = 1,..,4 5 2 6 1 4 0 g i S = {g 1 = ( 1), g 2 = ( 6), g = ( 2), g 4 = ( 4), g 5 = ( ), g 6 = ( 5), g 7 = ( 0)} 2 5 4 1 6 0 Gde je grupa određena po modulu 7. F 4 (g 5 ) = min {5x 4 + F (g 5 g 4 x 4 )} = min{5x 4 + F (g 5 ( g 4 )x 4 )} = min {5x 4 + F (g 5 g 5 x 4 )} (0 x 4 6) = min{f (g 5 ), 5 + F (2g 5 ), 10 + F (g 5 ), 15 + F (4g 5 ), 20 + F (5g 5 ), 25 + F (6g 5 ), 0 + F (7g 5 )} = min {F (g 5 ), 5 + F (g 2 ), 10 + F (g ), 15 + F (g 6 ), 20 + F (g 1 ), 25 + F (g 4 ), 0 + F (g 7 )} 2 2 2g 5 = ( 6 ) = (mod 7) = ( 6) = g 2 5g 5 = g 1 12 5 g 5 = ( 9 ) = (mod 7) = ( 2) = g 6g 5 = g 4 18 5 4 4 4g 5 = ( 12) = (mod 7) = ( 5) = g 6 7g 5 = g 7 24 F (g 5 ) = min + F 2 (g 5 g x } = min{1x g 6 x } = 0 x 6 min {F 2 (g 5 ), 1 + F 2 (g 5 g 6 ), 26 + F 2 (g 5 2g 6 ),9 + F 2 (g 5 g 6 ), 52 + F 2 (g 5 4g 6 ), 65 + F 2 (g 5 5g 6 ), 78 + F 2 (g 5 6g 6 )} = min{f 2 (g 2 ), 1 + F 2 (g 1 ), 26 + F 2 (g ), 9 + F 2 (g 4 ), 52 + F 2 (g ), 65 + F 2 (g 7 ), 78 + F 2 (g 1 )} = 1 4 5 5 1 8 9 2 g 5 g 6 = ( ) + ( 5) = ( 8) = ( 1) = g 1 g 5 2g 6 = ( ) + ( 10) = ( 1) = ( 6) = g 2 6 9 2 6 6 12 5 81

1 12 1 6 g 5 g 6 = ( ) + ( 15) = ( 18) = ( 4) = g 4 6 9 15 1 1 16 17 g 5 4g 6 = ( ) + ( 20) = ( 2) = ( 2) = g 6 12 18 4 1 20 21 0 g 5 5g 6 = ( ) + ( 25) = ( 28) = ( 0) = g 7 6 15 21 0 1 24 25 4 g 5 6g 6 = ( ) + ( 0) = ( ) = ( 5) = g 6 6 18 24 F (g 2 ) = = min{f 2 (g 2 ), 1 + F 2 (g 4 ), 26 + F 2 (g ), 9 + F 2 (g 7 ), 52 + F 2 (g 6 ), 65 + F 2 (g 2 ), 78 + F 2 (g 1 )} = 11 F (g ) = = min{f 2 (g ), 1 + F 2 (g 7 ), 26 + F 2 (g 6 ), 9 + F 2 (g 7 ), 52 + F 2 (g 1 ), 65 + F 2 (g 2 ), 78 + F 2 (g 4 )} = 6 F (g 6 ) = = 15 F (g 1 ) = = F (g 4 ) = = 12 F (g 7 ) = = 0 F 1 (g 1 ) = {x 1 x 1 g 1 = g 1 } x 1 ( Analogno: F 1 (g 2 ) = {x 1 x 1 g 1 = g 2 } x 1 ( F 1 (g ) = {x 1 x 1 g 1 = g } x 1 ( F 1 (g 4 ) = 12 F 1 (g 5 ) = 9 F 1 (g 6 ) = 15 F 1 (g 7 ) = 0 Rekonstruišimo rešenje: f min = 9 za x 4 = 0, x = 0, x 2 = 0, x 1 =. F 2 (g 1 ) = = F 2 (g 2 ) =... = 2 F 2 (g ) = = 6 5 5 1) = ( 1) x 1 = 1 F 1 (g 1 ) = 2 2 5 2 1) = ( 6 2 5 5 1) = ( 2) x 1 = 2 F 1 (g ) = 6 2 4 F 2 (g 4 ) = = 12 F 2 (g 5 ) = = 9 F 2 (g 6 ) = = 15 ) x 1 = 6 F 1 (g 2 ) = 18 F 2 (g 7 ) = = 0 PRIMER 64 Napisati asimptotski problem i svesti ga na problem ranca na grupi: min x 2 x 1 + 2x 2 6 x 1 + 2x 2 0 x 1, x 2 0, x 1, x 2 Z Rešenje Uvodimo izravnajuće promenljive, dobijamo problem: x 1 + 2x 2 + x = 6 x 1 + 2x 2 + x 4 = 0 Posmatramo baze A = [A B A N ]: A B = [ 2 2 ], A B 1 = 1 2 [2 2 ], A N = [ 1 0 0 1 ]. Dalje, polazni sistem Ax = b prevodimo na problem A B x B + A N x N = b i rešavamo ga po bazičnim promenljivim x B, dobijamo x B = A B 1 (b A N x N ). Zamenom u polazni sistem dobija se novi problem u kome figurišu samo nebazične promenljive min c N T c B T A B 1 A N pri ograničenjima A B 1 (b A N x N ) 0, A B 1 (b A N x N ) Z m, x N 0, x N Z n m Uzimajući da je Smitova forma matrice A: D = UA B V, A B 1 = VD 1 U sledi da je vektor A B 1 = D 1 (Ub UA N x N ) celobrojan. Ako se još uvede da je Ub = (k 1, k 2,, k m ) i u UA N = [v ij ] a poslednji izraz će biti zadovoljen ako za svako i za koje je d i > 1, d deli j N r ij x j k i. Asimptotski problem dobija formu. 82

Smitova forma matrice A je S = [ 1 0 0 ], U = [1 0 12 5 1 ], V = [ 1 2 ], a dalje imamo da je 1 D 1 (Ub UA N x n )celo Ub = [ 1 0 5 1 ] [6 ] = [6 0] 0 UА N x n = [ 1 0 5 1 ] [1 0 0 1 ] [x x x ] = [ 4 5x + x ] 4 Konačno, [ 1 0 0 1/12 ] ([ 6 0 ] [ x 5x + x ]) = [ 1 0 4 0 1/12 ] [ 6 x 0 5x x 4 ] = [6 x 1/12(0 5x x 4 )] treba da je celo, dakle ograničenja su 0 5x x 4 0 (mod 12) odnosno 5x + x 4 6 (mod 12) Ostaje funkcija cilja: r T N = c T N c B A 1 B A N = [0 0] [0 1] 1 2 [2 2 ] [1 0 0 1 ] = = [ 2 Konačno, možemo zapisati početni problem kao problem ranca na grupi min 2 (x + x 4 ) 5x + x 4 6 (mod 12) x, x 4 Z n 2 ] = 2 [1 1], tj. min 2 (x + x 4 ) PRIMER 65 Napisati asimptotski problem i svesti ga na problem ranca na grupi: min x 1 2x 2 x 1 + 2x 2 5 2x 1 + x 2 6 x 1, x 2 0, x 1, x 2 Z Rešenje Pratimo algoritam iz prethodnog primera. Uvodimo izravnajuće promenljive prvo x 1 + 2x 2 + x = 5 2x 1 + x 2 + x 4 = 6 A B = [ 1 2 2 1 ], A 1 B = 1 [ 1 2 2 1 ], A N = [ 1 0 0 1 ] Smith-ova forma matrice A je D = [ 1 0 0 ], U = [ 1 0 2 ], V = [1 2 1 0 1 ] Ub = [ 1 0 2 1 ] [5 6 ] = [ 5 4] T UA N x N = [ 1 0 2 1 ] [1 0 0 1 ] [ x x 4 ] T = [ 2x + x ] 4 1 0 5 x D 1 (Ub UA N x N ) = [ 0 1 5 x ] [ ] = [ 1 4 + 2x x 4 ( 4 + 2x x 4 ) ] Dakle, treba da važi 2x x 4 4 (mod ) I konačno, funkcija cilja r T N = c T N c B A 1 B A N = [ 2] 1 [ 1 2 2 1 ] [1 0 0 1 ] = 1 [ 1 4] Konačno, dobili smo problem ranca na grupi min 1 4 (x + 4x 4 ) 2x x 4 4 (mod ) x, x 4 Z n x 8

PRIMER 66 Rešiti problem Ovo je problem ranca na grupi (G, ) min x + 8y x 0 (mod 2) x + y 1 (mod 4) x, y 0, x, y Z min x + 8y x [ 1 1 ] y [0 ] = [0 1 ] x, y 0, x, y Z sa G = {[ a ], a {0,1}, b {0,1,2,}} i operacijom definisanom sa b [ a b ] [c d ] = [a+ 2c b+ 4 d ] Prema rekurentnoj relaciji imamo da je Dalje je F 2 ([ 0 1 ]) = min {8 0 + F 1 ([ 0 1 ]), 8 1 + F 1 ([ 0 2 ]), 8 2 + F 1 ([ 0 ]), 8 + F 1 ([ 0 0 ])} F 1 ([ 0 1 ]) = min{x x [1 1 ] = [0 1 ]} = F 1 ([ 0 2 ]) = min{x x [1 1 ] = [0 2 ]} = 2 = 6 F 1 ([ 0 ]) = min{x x [1 1 ] = [0 ] } = F 1 ([ 0 0 ]) = min{x x [1 1 ] = [0 0 ]} = 0 Zamenom se iz F 2 ([ 0 1 ]) = min{, 14,, 24} = 14 i F 1 ([ 0 ]) = 6 dobija da je x = 2, y = 1. 2 Dijagram koji odgovara ovom problemu je Najkraći put koji spaja [ 0 0 ] i [0 ] ima dve grane dužine i jednu granu dužine 8. 1 84