MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako...

20
MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA 5. ČAS Hamiltonovi putevi i problem trgovačkog putnika problem Trgovačkog putnika predstavlja jedan od najpoznatijih problema kombinatorne optimizacije pripada teško rešivim problemima obzirom da je njegovo rešavanje eksponencijalnog karaktera Definicija: Hamiltonov put je put koji prolazi kroz sve čvorove grafa TAČNO JEDANPUT. Put koji se završava u istom čvoru a kroz sve ostale čvorove prolazi tačno jedanput naziva se zatvoren Hamiltonov put ( Hamiltonov put formira konturu koja sadrži sve čvorove grafa pa se umesto pojma Hamiltonov put čće korsiti pojam Hamiltonove konture). Graf koji ima Hamiltonovu konturu se naziva Hamiltonovim grafom . Hamilton je 1856. godine predstavio problem: Trgovački putnik treba da obiđe određeni broj gradova i da se vrati na mesto polaska, tako da u toku putovanja obiđe svaki grad tačno jedanput. Sličan problem je problem Konjičkog skoka (konj kao šahovska figura): Da li je moguće skakanjem obići sva polja šahovske table tako da se svako polje obiđe tačno jedanput. Analogan problem Hamiltonovog puta je problem nalaženja Ojlerovog puta (kroz svaku GRANU grafa se prolazi tačno jedanput). Egzistencija Ojlerovog puta zavisi samo od stepena čvorova dok kod Hamiltonovog to ne mora biti slučaj. Egzistencija Hamiltonovog puta zavisi pre svega od strukture grafa i ovaj problem u opštem slučaju nije rešen. Problem trgovačkog putnika možemo da formulišemo na sledeći način: Od svih Hamiltonovih puteva odabrati onaj koji je prema zadatom kriterijumu optimalan (kriterijum optimalnosti može npr. biti dužina ili cena puta). Primer primene Hamiltonove putanje: Zanatsko preduzeće ima na raspolaganju n stanova u kojima mora da završi vodoinstalaterske i molerske radove. U i-tom stanu vodoinstalateri treba da rade i a a u moleri i b vremena. Kojim redosledom treba vodoinstalateri i moleri da rade kako bi se celokupna zgrada završila za što kraće vreme. o Prvi uslov koji treba ispoštovati je da vodoinstalateri treba da rade u stanu i pre nego u stanu j ako važi da je ( ) ( ) min , min , i j j i ab a b

Transcript of MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako...

Page 1: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA

5. ČAS

Hamiltonovi putevi i problem trgovačkog putnika ♦ problem Trgovačkog putnika predstavlja jedan od najpoznatijih problema

kombinatorne optimizacije ♦ pripada teško rešivim problemima obzirom da je njegovo rešavanje

eksponencijalnog karaktera Definicija: Hamiltonov put je put koji prolazi kroz sve čvorove grafa TAČNO JEDANPUT. Put koji se završava u istom čvoru a kroz sve ostale čvorove prolazi tačno jedanput naziva se zatvoren Hamiltonov put ( Hamiltonov put formira konturu koja sadrži sve čvorove grafa pa se umesto pojma Hamiltonov put češće korsiti pojam Hamiltonove konture). Graf koji ima Hamiltonovu konturu se naziva Hamiltonovim grafom.

♦ Hamilton je 1856. godine predstavio problem: Trgovački putnik treba da obiđe određeni broj gradova i da se vrati na mesto polaska, tako da u toku putovanja obiđe svaki grad tačno jedanput.

♦ Sličan problem je problem Konjičkog skoka (konj kao šahovska figura): Da li je moguće skakanjem obići sva polja šahovske table tako da se svako polje obiđe tačno jedanput.

♦ Analogan problem Hamiltonovog puta je problem nalaženja Ojlerovog puta (kroz svaku GRANU grafa se prolazi tačno jedanput). Egzistencija Ojlerovog puta zavisi samo od stepena čvorova dok kod Hamiltonovog to ne mora biti slučaj. Egzistencija Hamiltonovog puta zavisi pre svega od strukture grafa i ovaj problem u opštem slučaju nije rešen.

♦ Problem trgovačkog putnika možemo da formulišemo na sledeći način: Od svih Hamiltonovih puteva odabrati onaj koji je prema zadatom kriterijumu optimalan (kriterijum optimalnosti može npr. biti dužina ili cena puta).

♦ Primer primene Hamiltonove putanje: Zanatsko preduzeće ima na raspolaganju n stanova u kojima mora da završi vodoinstalaterske i molerske radove. U i-tom stanu vodoinstalateri treba da rade ia a u moleri ib vremena. Kojim redosledom treba vodoinstalateri i moleri da rade kako bi se celokupna zgrada završila za što kraće vreme.

o Prvi uslov koji treba ispoštovati je da vodoinstalateri treba da rade u

stanu i pre nego u stanu j ako važi da je ( ) ( )min , min ,i j j ia b a b≤

Page 2: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Teorema (Redei): U digrafu u kojem između dva proizvoljno izabrana čvora i ix jx

postoji jedna od grana ( ),i jx x i ( ),j ix x , postoji i Hamilton-ov put.

da je svaki takmičar, osim prvog, pobeđen od onog sa neposredno manjim brojem.

stepen d svakog čvora

♦ Teorema se može primeniti na turnire u kojima svaki tim igra sa svakim timom i

ne postoje nerešeni rezultati. Na kraju turnira se takmičari mogu numerisati tako

Teorema (Redei): Ako u povezanom grafu sa n ( 3≥ ) čvorova za

12

d n≥važi nejednakost , graf poseduje Hamiltonovu konturu.

) čvorovi grafa G a dva važi

Teorema (Dirac): Neka su 1 2, ,..., nx x x ( 3n ≥ 2,..., nd njihovi stepeni. Ako za svaka

1,d d1n nesusedna čvora ,i jx x i jd d+ > − graf G sadrži

amiltnovu konturu. H

Teorema (Ore): Neka je G graf sa n ( 3n ≥ ) čvorova. Ako je za svako k ( 112

k n −≤ ≤ )

broj čvorova stepena ne većeg od k manji od k i ako za neparno n, broj čvorova

ćeg od 12

n − nije veći od 12

n − , graf G ima Hamilton-ovu konturu. stepena ne ve

Page 3: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Problem trgovačkog putnika

roškovi puta

nom kom

Neka je dato n gradova koje treba da obiđe trgovački putnik tako da tbudu minimalni. Postoje dve varijante ovog problema:

1. Putnik mora da se vrati u grad iz kojeg je pošao (sedište peduzeća) 2. Početni i završni grad puta trgovačkog putnika mogu da se razlikuju.

♦ Problem Trgovačkog putnika može da se interpretira na potpu težins

grafu G sa čvorovima 1,2,...,n i sa matricom težina (dužina) grana ij m nD d

×⎡ ⎤= ⎣ ⎦ .

♦ Obzirom da je Hamiltonova putanja put koji kroz svaki čvor grafa G prolazi tačno jednom, put Trgovačkog putnika možemo da posmatramo upravo kao Hamiltonovu

blem 1: Odrediti najkraći Hamilton-ov put (konturu) u potpunom težinskom grafu

vačkog putnika rešavamo kao problem (0,1) celobrojnog programiranja:

(1)

n (2)

put. ProG. Problem Trgo

1

minn

ij iji j i

d x= >∑∑

( )2 1,2,...,ji ijj i j i

x x i< >

+ = =∑ ∑

1, , , iji S j S

x S S X S S X∈ ∈

≤ − ⊂ ≠ ∅ ≠∑∑ (3)

Gde je ij m n

D d×

⎡ ⎤= ⎣ ⎦ (simetrična) matrica težina grana i { }1,2,...,X n= . Ovde je 1ijx =

ako i samo ako grana izmđu čvorova pripada rešenju problema, tj. najkraćoj Hamiltonovoj konturi. Funkcija cilja koja se minimizira u (1) predstavlja dužinu delimičnog podgrafa određenog vrednostima promenljivih ijx . Ograničenje (2) obezbeđuje da je stepen svakog čvora pomenutog delimičnog podgrafa jednak 2.

f i zadati broj L utvrditi da li postoji amilton-ov put čija dužina nije veća od L.

- Ha

Ograničenja (3) eliminišu mogućnost da se u rešenju pojavi više od jedne konture. Problem2: Za zadati potpuni težinski graH

miltonov put u grafu sa n čvorova predstavlja jednu permutaciju skupa { }1,2,...,n i obrnuto, permutacija određuje Hamilton-ov put. Sada se problem

Trgovačkog putnika može rečiti generisanjem svih permutacija skupa { }1,2,...,n i izračunavanjem dužina svih Hamilton-ovih puteva i odabirom najkraćeg puta. Ovako formiran algoritam je neefikasan jer je broj permutacija n! što predstavlja eksponencijalnu funkciju od n.

- Za problem Trgovačkog putnika može da se formira greedy algoritam tako da Trgovački putnik posećuje onaj grad koji mu je najbliži. Međutim, mogu se

Page 4: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

forimrati kontraprimeri kojima bi se moglo pokazati da se ovako ne dobijaju uvek dobra rešenja.

- Za rešavanje problema Trgovačkog putnika koristi se algoritam grananja i ograničavanja.

- Metoda grananja i ograničavanja predstavlja metodu implicitne enumeracije dok je metoda probanja svih permutacija ekspliticna enumeracija. Prostor mogućih rešenja se deli na manje delove (grananje) i to više puta pri čemu se pojedini delovi prostora rešenja odbacuje na osnovu procene vrednosti funkcije koja se minimizira (ograničavanje).

laksacioni

ono sadrži bar jedan čvor stepena većeg ili x

Algoritam

Neka je H skup svih Hamiltonovih puteva u težinskog grafu G i neka je S skup svih razapinjujućih stabala u G. Pošto ovaj put predstavlja stablo, važi relacija H S⊂ . Problem minimalnog razapinjujućeg stabla se naziva reproblem za problem trgovačkog putnika. Problem trgovačkog putnika se može svesti na više problema nalaženja minimalnog razapinjujućeg stabla.

♦ Prvo se odredi minimalno razapinjujuće stablo u grafu G. Ako je ovo stablo put, to je Hamiltonov put i ujedno rešenje problema trgovačkog putnika.

♦ Ako dobijeno stablo nije put,jednakog 3. Neka je čvor stepena d (d je najmanje 3) i neka su 1 2, ,..., du u u grane koje se sriču u čvoru x.

♦ Bar jedna od grana 1 2, ,..., du u u ne pripada optimalnom rešenju problema trgovačkog putnika, ako težinu ( )1d u grane 1u modifikujemo tako da ona postane vrlo velika i ponovo rešimo problem minimalnog razapinjujućeg stabla, grana 1u se neće nalaziti u tom stablu. Početni problem se iz ovog razloga može razgranati na d potproblema i u svakom od tih potproblema težina jedne od grana je postala +∞ . Na svakom pod potproblema se može poNa taj način dobijamo strukturu porproblema oblika stabla.

noviti ovaj proces.

mi, Hamiltonov čkog putnika.

♦ Ovo su NP poptuni problemi i imaju eksponencijalnu složenost.

♦ Pretraživanje stabla se dalje može vršiti u dubinu ili u širinu

♦ Ako je dužina minimalnog razapinjujućeg stabla veča od dužine ranije nađenog Hamiltonovog puta, taj pozproblem se više ne razgranava obzirom da nam on neće omogućiti optimalno rešenje. Ako se u nekom potproblemu dobije Haimltonov put koji je manji od dužine ranije pronađenog Hamiltonovog puta,pamti se novi put a raniji zaboravlja. Kada se iscrpe svi probleput koji je ostao zapamćen predstavlja i rešenje problema Trgova

Page 5: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Heuristike: Heuristika bazirana na idejama greedy algoritma ne daje optimalne rezultate. Na

a uvek da ide u najbliži grad u

Problem trgovačkog putnika je NP težak problem. ♦ Jed

osmatramo problem trgovačkog putnika u kojem se traži najkraća Hamilton-ova kontura u zadatom potpunom težinskom grafu.

osnovu jedne takve heuristike, trgovački putnik trebkome do tada nije bio. ♦

na od najboljih heuristika za ovaj problem je 3-optimalna heuristika

P

Prvo se određuje jedna Hamil kontura (slučajno/proizvoljno) H.

Posmatramo tri međusobno nesusedne grane sa konture H. Udaljavanjem tih grana kontura H se raspada na tri puta 1 2 3, ,P P P . Posmatramo čvorove 1,2,3,4,5,6 koji predstavlj

tonova

aju krajnje tačke udaljenih grana . Ovi čvorovi se odadavanjem tri ove grane mogu na različite načine spojiti tako da se ponovo zatvori Hamilton-ova

Mogući načini spajanja su:

, ,u v w

, ,u v wnkontura.

( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( )

1,2 , 3,4 , 5,6 ; 1,2 , 3,5 , 4,6 ;

1,3 , 2,4 , 5,6 ; 1,3 , 2,5 , 4,6 ;

1,4 , 2,5 , 3,6 ; 1,4 , 2,6 , 3,5 ;

( ) ( ) ( ) ( ) ( ) ( )1,5 , 2,4 , 3,6 ; 1,5 , 2,6 , 3,4 ; Na ovaj način dobijamo 8 Hamilton-ovih kontura. Prvi način spajanja daje

ponovo r konu u H. Od tih 8 kontura izaberemo onu najmanje dužine. Dobijena kontu

iz konture H ponavljamo za svaki izbor grana . Od svih tako rmiranih kontura biramo onu najmanje dužine. Time se završava 3-optimalna

na heuristika daje dobre rezultate i ima polinomijalnu kompleksnost.

ra je najbolje rešenje koje se može postići polazeći od konture H i uklanjanjem grana .

Opisani postupak poboljšanja rešenja na osnovu izbacivanja tri nesusedne grane , ,u v w

, ,u v w

, ,u v wfoheuristika. ♦ 3-optimal

Page 6: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

PRIMER 1: Naći Hamiltonovu putanju minimalne dužine u grafu ako je data matrica rastojanja čvorova:

1 2 3 4 5 6 2 5

1 2 1 2 3 2 5 4 4 2 5 9 2 6 2 2

Rešenje: Možemo da konstruišemo graf na osnovu date matrice.

-6-5 ranamo problem na 3 potproblema sa matricama:

Optimalnim rešenjima odgovaraju cikli

Primetićemo da se ovde mogu izdvojiti cikli: 1-2-3 i 4G

P1:

1 2 3 4 5 6

1 5 2 1 2 3 2 5 4 4 2 5 9 2

P2:

1 2 3 4 5 6

1 2 5 2 2 3 2 5 4 4 2 5 9 2

6 2 2 6 2 2

P3:

1 2 3 4 5 6

1 2 5 2 1 2 3 5 4 4 2 5 9 2

6 2 2

Page 7: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

vrednost funkcije je 21 vrednost funkcije je 12 vrednost funkcije je 16. PRIMER 2: Rešiti problem trgovačkog putnika ako je graf dat matrično:

A 1 2 3 4 5 6 7 8 1 76 43 38 51 42 19 80 2 42 49 26 78 52 39 87 3 48 28 36 53 44 68 61 4 72 31 29 42 49 50 38 5 30 52 38 47 64 75 82 6 66 51 83 51 22 37 71 7 77 62 93 54 69 38 26 8 52 58 66 76 41 52 83

Rešenje: Možemo da izdvojimo dva cikla (2,4,3) i (1,7,8,6,5) a cena je 232. Odgovarajuće drvo odlučivanja je sledeće (pored svakog čvora se nalaze cena potproblema, cikli):

Page 8: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Ako eliminišemo cikl (2,4,3) dobijamo tri potproblema (poddrveta) B, C i D i njihove odgovarajuće matrice su:

C 1 2 3 4 5 6 7 8 1 76 43 38 51 42 19 80 2 42 49 26 78 52 39 87 3 48 53 44 68 61 4 72 31 29 42 49 50 38 5 30 52 38 47 64 75 82 6 66 51 83 51 22 37 71 7 77 62 93 54 69 38 26 8 52 58 66 76 41 52 83

B 1 2 3 4 5 6 7 8 1 76 43 38 51 42 19 80 2 42 78 52 39 87 3 48 28 36 53 44 68 61 4 72 31 29 42 49 50 38 5 30 52 38 47 64 75 82 6 66 51 83 51 22 37 71 7 77 62 93 54 69 38 26 8 52 58 66 76 41 52 83

D 1 2 3 4 5 6 7 8 1 76 43 38 51 42 19 80 2 42 49 26 78 52 39 87 3 48 28 36 53 44 68 61 4 72 42 49 50 38 5 30 52 38 47 64 75 82 6 66 51 83 51 22 37 71 7 77 62 93 54 69 38 26 8 52 58 66 76 41 52 83

Potproblem B je hamiltonova putanja dužine 264 dok problemi C i D to nisu. Trenutno najkraću vrednost ima problem B. Problemi C i D imaju cikle i zato se oni granaju na potprobleme. Posmatramo prvo problem C (ima nižu vrednost, min[248,250]=248). U problemu C prvo eliminišemo granu (2,4). Dobijamo dva nova potproblema E i F. Odgovarajuće matrice su

E 1 2 3 4 5 6 7 8 1 76 43 38 51 42 19 80 2 42 49 78 52 39 87 3 48 53 44 68 61 4 72 31 29 42 49 50 38 5 30 52 38 47 64 75 82 6 66 51 83 51 22 37 71 7 77 62 93 54 69 38 26 8 52 58 66 76 41 52 83

F 1 2 3 4 5 6 7 8 1 76 43 38 51 42 19 80 2 42 49 26 78 52 39 87 3 48 53 44 68 61 4 72 29 42 49 50 38 5 30 52 38 47 64 75 82 6 66 51 83 51 22 37 71 7 77 62 93 54 69 38 26 8 52 58 66 76 41 52 83

A vrednosti potroblema su 280 i 254. Problem F ima Hamiltonovu putanju dužine 254 koja je manja od vrednosti prethodno dobijene Hamiltonove putanje (problem B dužine 264). Sada je problem F problem koji ima najbolju vrednost.

Page 9: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Problemi E i D još uvek nemaju Hamiltonovu putanju, zato rešavamo ta dva problema. Kako problem E ima vrednost 280 (manju od 254 koliko ima problem F) teško da će se dobiti bolje rešenje daljim računom. Rešavamo problem D. Problem D ima vrednost 250 što je manje od trenutno najboljeg rešenja (254) pa je moguće da se tu nalazi i naše optimalno rešenje. Problem D ima cikl (1,7,8) čije ćemo veze prekinuti i posmatrati tri nova problema, G, H i I. Odgovarajuće matrice su:

G 1 2 3 4 5 6 7 8 H 1 2 3 4 5 6 7 8 1 76 43 38 51 42 1 76 43 38 51 42 19 80 2 42 49 26 78 52 39 87 2 42 49 26 78 52 39 87 3 48 28 36 53 44 68 61 3 48 28 36 53 44 68 61 4 72 42 49 50 38 4 72 42 49 50 38 5 30 52 38 47 64 75 82 5 30 52 38 47 64 75 82 6 66 51 83 51 22 37 71 6 66 51 83 51 22 37 71 7 77 62 93 54 69 38 26 7 62 93 54 69 38 8 52 58 66 76 41 52 83 8 52 58 66 76 41 52 83

D 1 2 3 4 5 6 7 8 1 76 43 38 51 42 19 80 2 42 49 26 78 52 39 87 3 48 28 36 53 44 68 61 4 72 42 49 50 38 5 30 52 38 47 64 75 82 6 66 51 83 51 22 37 71 7 77 62 93 54 69 38 26 8 58 66 76 41 52

Primetićemo da problem H ima Hamiltonovu putanju dužine 251 što je bolje od problema F i zato sada H postaje najbolje rešenje. Kako je H bolje i od rešenja G i I, smatramo da je problem rešen i da je H optimalno rešenje. Putanja (1,7,6,5,3,2,4,8) je najkraća putanja trgovačkog putnika dužine 251 za zadat problem.

Page 10: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Problem k trgovačkih putnika ♦ Problem trgovačkog putnika može da se uopšti na zadatak sa k trgovačkih

putnika. Pri tom se postavljaju dodatna ograničenja kao što su: svaki trgovački putik treba da obiđe određeni broj gradova ili da pređe određeno rastojanje itd. Problem u kome svi trgovački putnici polaze iz istog grada i vraćaju se u njega, a pri tom obilaze određeni broj gradova se naziva problemom rutiranja vozila VRP (vechile routing problem). Za ovaj problem se planiraju maršute vozila i raspoređivanje vozila.

♦ Posmatramo problem u kome umesto jednog Trgovačkog putnika, gradove obilazi k Trgovačkih putnika.

♦ Neka je dat graf G sa n=km (k,m su prirodni brojevi) čvorova bez petlji. Numerisaćemo čvorove brojevima 1,2,...,n. Svakoj grani (i,j) dodeljujemo pozitivan broj ijd koji predstavlja dužinu (ili težinu/cenu) grane. Dužina proizvoljnog delimičnog podgrafa G se definiše kao zbir dužina grana koje se nalaze u tom podgrafu. Put sa s čvorova nazivamo s-put.

♦ Problem k trgovačkih putnika se primenjuje u planiranju maršuta vozila kada imamo ograničenja po pitanju broja vozila ili koja vozila mogu da voze koju maršutu zbog ograničenja kapaciteta težine. Problem 1: Odrediti k disjunktnih m-puteva minimalne dužine u digrafu G. - Čvorove digrafa G posmatramo kao gradove, dužine grana kao rastojanje

između gradova. Problem je naći minimalni put, kao put k trgovačkih putnika čiji je zadatak da obiđu sve gradove (prilikom obilaska gradova svaki putnik treba da obiđe isti broj gradova i nijedan grad ne posećuje više od jednog putnika). Početni i završni gradovi putnika nisu unapred određeni. Neka je 0G potpuni digraf bez petlji sa čvorovima 0,1,2,..,n bez ograničenja n=km. Ostale konvencije su iste kao kod grafa G. Dati su pozitivni brojevi m m m ( ).

1 2, ,.. k

1 2 ... 1km m m n k+ + + = + −- Na primer: Imamo jedno skladište i km prodavnica koje treba snabdeti

proizvodima iz tog skladišta. (slika niže). Problem je rasporediti kamione tako da svako od njih pređe minimalno rastojanje.

o Problem može da se proširi ako kamioni nisu istog kapaciteta. Dakle, rasporediti kamione tako da prelaze najkraću maršutu i tako da kapacitet robe koju kamioni prenose ne prelazi njihova ograničenja.

Page 11: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Problem 2: U digrafu odrediti k kontura koje sve prolaze kroz čvor O i nemaju

drugih zajedničkih čvorova, tako da je zbir dužina kontura minimalan. 0G

- Ovaj problem se naziva problemom k Trgovačkih putnika. Svi putnici polaze iz

jednog grada (sedište kompanije) i obilazeći određen broj gradova vraćaju se u svoju početnu poziciju. Moguće je da u optimalnom rešenju neko od putnika ine krene na put.

- Umesto da paralelno posmatramo k kamiona, problem k trgovačkih putnika može da se rešava i kao problem jednog trgovačkog putnika koji ne može da prenese robu do svih prodavnica odjednom, već mora da se k puta vraća do skladišta po robu koristeći uvek različite puteve.

Problem 3: U digrafu odrediti konture dužina koje sve prolaze kroz

čvor O i nemaju drugih zajedničkih čvorova tako da je zbir dužina kontura minimalan.

0G 1 2, ,.. km m m

- Ovaj problem predstavlja verziju 2.problema sa dodatnim ograničenjima na dužine

puteva putnika. - Ako stavimo da je i ako su dužine svih grana koje ulaze i izlaze iz

čvora O međusobno jednake, problem 3 postaje problem 1. (problem 1 je specijalni slučaj problema 3).

1 2 .. km m m= = =

- Ako stavimo da je k=1 problem predstavlja klasični problem trgovačkog putnika. Dalje, ako stavimo da je m=1 problem je trivijalan, ako je m=2 rešavamo problem najkraćeg sparivanja

- Problem trgovačkog putnika je NP-težak problem Algoritam za nalaženje optimalnog rešenja:

Jedan od načina rešavanja problema k trgovačkih putnika je da koristimo metodu grananja i odlučivanja (tražimo razapinjuće stablo najkraće dužine u grafu). Putnici obrazuju šumu sa n-k grana. Pretpostavimo da šuma jednog digrafa sadrži sve čvorove grafa.

Neka je H skup svih Hamiltonovih puteva u težinskog grafu G i neka je S skup svih šuma u G. Rešavamo problem nalaženja s-šume najkraće dužine, s n (s je broj grana u putevima k trgovačkih putnika)

k= −

Grananje se vrši tako što se u s-šumi uništavaju čvorovi koji imaju stepen 2 ili stepen veći od 2. Ako se problem rešava bez ograničenja koliko koji trgovački putnik može da pređe onda je ovakav kriterijum grananja dovoljan obzirom da će se dobiti najkraća od svih s šuma koje se sastoje od puteva.

Ako je uslov da sve s-šume budu jednakih dužina, uništavaju se one šume koje to nisu.

Page 12: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Drugi način je da posmatramo mrežu datu grafom, G=(X,U) i matricom rastojanja . Indeks čvora i=1 posmatramo kao skladište. Problem rutiranja vozila se

sastoji u određivanju puta (ruta) vozila tako da se minimizira njihova ukupna dužina (troškovi) a koje su takve da:

( )ijC c=

1. Svaki grad (osim skladišta) se posećuje tačno jedanput samo jednim vozilom

2. Sve rute počinju i završavaju se u skladištu

3. Zadovoljena su neka dodatna ograničenja

a) Ograničenja kapaciteta: svakom čvoru (gradu) i>1 pridružujeu se nenegativna težina iq , a zbir težina na bilo kojoj ruti ne sme da bude veći od kapaciteta vozila Q.

b) Broj gradova na proizvoljnoj ruti je ograničen sa P (u ovom slučaju je iq =1 za i>1 i Q = P )

c) Ograničenje na ukupnu dužinu rute (vreme putovanja): ukupna dužina rute je ograničena sa Λ . Ova dužina se dobija na osnovu vremena putovanja između gradova i vremena zadržavanja u gradovima.

d) Vremenski prozori: grad i treba da bude posećen u vremenskom intervalu [ ],i ia b , a postoje i zadržavanja (čekanja) u gradu i.

e) Odnosi prethođenja između parova čvorova, grad i ne može biti posećen pre grada j.

Problem k trgovačkih putnika može da se rešava kao problem linearnog celobrojnog programiranja. Prvo ćemo ovaj problem da prevedemo na problem jednog trgovačkog putnika:

i. Povećavamo broj čvorova uvođenjem veštačkih skladišta. Neka je, 1 povećava se i broj grana, ’n n m= + −

( ){ }' , | ', , '\ '\U U i j j X i j i X X j X X= ∪ ∈ ≠ ∈ ∨ ∈

ii. Definiše se proširena matrica rastojanja, ( )' 'ijC c= koja odgovara skupu X’:

{ }{ } { }

( ) { }

1

1

, , , \ 1 , '\

', '\ 1 , \ 1 , '\ 1

ij

iij

j

c i j Xc i X j X X

cc i X j X

i j X Xγ

∈⎧⎪ ∈ ∈⎪= ⎨ ∈ ∈⎪⎪ , ∈ ∪⎩

Vrednosti zavise od problema koji posmatramo

, traži se minimalna dužina za m vozila

0, traži se minimalna dužina za najviše m vozila , traži se minimalna dužina za najmanji broj vozila

γ∞⎧

⎪= ⎨⎪−∞⎩

Page 13: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Sada ćemo problem rutiranja vozila da formulišemo kao optimizacioni problem:

Neka je x i(ij )j≠ binarna promenljiva jednaka 1 akko je grana (i,j) iz skupa X’ u optimalnom rešenju. Rešavamo zadatak

( )

1

1

min (1)

1, 1,..., ' (2). .

1, 1,..., '

ij iji j

ijj

iji

c x

x i np o

x j n

=

=

= =

= =

∑∑∑

( ){ }

,

(3)

| | , '\ {1}, | | 2 (4)

0,1 , , 1,..., ', (5) i j S

ij

S v S S X S

x i j n i j∈≤ − ⊂ ≥

∈ = ≠

Formule (1), (2), (3) i (5) definišu modifikovan problem dodeljivanja (asignacije) u kome je na glavnoj dijagonali zabranjeno dodeljivanje. Ograničenja (4) su za eliminaciju pokontura, a sa je određena donja granica broja vozila potrebnih da se u optimalnom rešenju posete svi čvorovi u S. Ova ograničenja se dobijaju sledećim razmatranjem

( )v S

Za bilo koje mora biti { }'\ 1 , | | 2, '\S X S S X X−

⊂ ≥ =

( )iji S j S

x v S−∈ ∈

≥∑∑

Pored toga važi sledeća jednakost:

,

| | ij iji j Si S j S

S x−

∈∈ ∈

= +∑ ∑∑ x

U nastavku će biti izložen heuristički algoritam za rešavanje problema rutiranja vozila. Algoritam polazi od početnog rešenja u kojem ima n-1 ruta koje se formiraju tako što se po jedno vozilo upućuje iz skladišta do jednog potrošača i vraća u skladište. Ovo rešenje se matematički zapisuje

{ }1 1, \ 1

0, 1 1i

ij

x i Xx i j

= ∀ ∈

= ∀ ≠ ∧ ≠

Zatim se interaktivno, iz koraka u korak spajaju po dve putanje koje donose najveću uštedu, a zadovoljavaju ograničenja zadatka (slika).

Pojam uštede objašnjavamona sledećem primeru.

Page 14: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

U prvom slučaju vozilo se kreće iz skladišta do čvora i, zatim se vraća u skladište, ide do čvora j i ponovo vraća. Pri tom pravi ukupne troškove . U drugom slučaju vozilo se kreće iz skladišta, ide do čvora i, zatim iz čvora i ide do čvora j i onda se vraća u skladište. Pri tom pravi ukupne troškove . Ako se umesto plana pod a) primeni plan b) ostvariće se ušteda:

1 1 1 1i i jC c c c c= + + +

2 1 1i ij jC c c c= + +

1j

( )1 2 1 1 1 1 1 1 1 1ij i i j j i ij j i jS C C c c c c c c c c c c= − = + + + − + + = + − ij

Pojam uštede se može koristiti i pri spajanju dve rute u jednu. Treba primetiti da ušteda može biti veća, manja ili jednaka nuli. Ima smisla spajati dve rute samo ako je ušteda veća od nule i ako su zadovoljena ostala ograničenja zadatka (kapacitet vozila).

ijS

Algoritam:

1. Kreirati n-1 ruta (1,i,1) i=2,…,n tj. odrediti početno rešenje na sledeći način

{ }( ) { }( )( )

1, za 1, \ 1 1, \ 1

0, za 1 1 ij

i j X j i Xx

i j

⎧ = ∈ ∨ = ∈⎪= ⎨∀ ≠ ∧ ≠⎪⎩

2. Izračunati moguće uštede ( )1 1 , ,ij i j ijS c c c i j U= + − ∀ ∈

3. Sve pozitivne uštede sortirati u nerastući niz

4. Idući od prve ka poslednjoj uštedi iz niza, pokušati naprviti moguće uštede na sledeći način:

Posmatrati dve rute koje sadrže grane (i,1) i (1,j). Privremeno spojiti ove dve rute uvodeći granu (i,j) i brišući grane (i,1) i (1,j). Ako je dobijena ruta dopustiva (zadovoljava ograničenja kapaciteta) iskoristit granu (i,j), formirati rutu i pokušati sa sledećom mogućom uštedom iz niza. Ako privremena ruta nije dopustiva, odbaciti granu (i,j), ne formirati novu rutu, skinuti iz niza i preći na sledeću potencijalnu uštedu.

ijS

Page 15: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Primer 3: Rešiti problem rutiranja vozila ako su date tražnje potrošača, kapacitet

vozila je Q = 200 i udaljenost potrošača:

2

3

4

5

6

7

8

40,20,25,70,45,50,100

qqqqqqq

=

=

=====

Rešenje: Pratimo zadat algoritam: Početno rešenje ima oblik:

( )

0 1 1 1 1 1 1 11 0 0 0 0 0 0 01 0 0 0 0 0 0 01 0 0 0 0 0 0 01 0 0 0 0 0 0 01 0 0 0 0 0 0 01 0 0 0 0 0 0 01 0 0 0 0 0 0 0

ijX x

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥= = ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

Moguće uštede su: 23

34

56

78

4266

SSSS

=

===

24

38

57

051

SSS

=

= −= −

27

45

67

3811

SSS

= −

==

27

45

67

3811

SSS

= −

==

28

46

68

44

1

SSS

=

= −=

Kada sve pozitivne uštede sortiramo u nerastući niz, dobijamo sledeću listu:

Page 16: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

67

45

56

78

23

28

34

68

118664421

SSSSSSSS

==

===

=

==

Svakoj od ušteda odgovara spajanje ruta koje je moguće uraditi samo ako su zadovoljena ograničenja kapaciteta:

1. (6-7): 6 7 61 17 6745 50 90 200 0, 0, 1q q x x x+ = + = < ⇒ = = =2. (4-5): 4 5 41 15 4570 25 95 200 0, 0, 1q q x x x+ = + = < ⇒ = = =3. (5,6): ovom vezom se spajaju ruta (1,4,5) i ruta (1,6,7)

4 5 6 7 51 16 5670 25 190 200 0, 0, 1q q q q x x x+ + + = + = < ⇒ = = = Možemo da precrtamo grane (1,5) i (1,6).

4. (7,8): ⇒nedopustivo povezivanje, ušteda 78S se ne može iskoristiti.

190 100 390 200 + = >

5. (2,3): 21 13 2340 20 60 200 0, 0, 1x x x+ + < ⇒ = = =6. (2,8): 81 12 8260 100 160 200 0, 0, 1x x x+ = < ⇒ = = =

Kao i u trećem koraku, možemo da uklonimo granu (1,2) 7. (3,4): ⇒ nedopustivo 160 190 350 200 + = >8. (6,8): Pošto je ovu uštedu ne možemo da ostvarimo. 16 61 0x x= =Dobili smo konačno rešenje (slika).

Potrebno je da izračunamo dužinu puta koju vozilo treba da pređe.

12 13 14 15 16 17 18 67 45 56 23 282 2 2 2 2 2 2* 88 33 55

f c c c c c c c S S S S Sf= + + + + + + − − − − −

= − =

Page 17: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

Problem ranca

♦ Problem ranca definišemo na sledeći način:

Pretpostavimo da je dat neki ranac zapremine i skup predmeta kojima se ranac puni. Svaki predmet ima svoju zapreminu i vrednost . Napuniti ranac sadržajem najveće vrednosti tako da je ukupna vrednost koja se nosi u rancu maksimalna:

0b ≥0ja ≥

0jc ≥

1

1

1 2

max

,

, ,...,

n

j jj

n

j jj

n

c x

a x b

x x x

=

=

∈ Ζ

♦ Problem možemo da prevedemo na situaciju kada neka kompanije iz svog budžeta veličine b finansira n projekta. Ako je poznata cena ja i korist jc istraživanja jednog istraživača na j-tom projektu, zadatak je da se odredi broj istraživača jx na j-tom projektu tako da korist bude maksimalna.

♦ Ovaj problem se rešava tako što se podeli na etape. ♦ Uvodimo pomoćnu funkciju F definisanu na sledeći način:

( ) { }1 1 1 1 1 1 2max ... | ... , ,..., 0, , ,...,k k k k k kF y c x c x a x a x y x x x x x= + + + + ≤ ≥ n ∈ Ζ

Za rešavanje pomoćne funkcije koristimo sledeće rekurentne formule:

1. ( ) [ ]( ) ( ) [ ]{ }{ }

1 1 1

1

/

max | 0,1,..., / za k 2k k k k k k k k

F y c y a

F y c x F y a x x y c−

=

= + − ∈ ≥

Ako punimo ranac jednim predmetom sledi da je

( ) { } [ ]1 1 1 1 1 1 1max | 0 /F 1y c x a x y x c y a= ≤ ≥ = čime smo potvrdili početni uslov.

2. ( ) ( ) ( ){ }1 1max , k k k kF ky F y F y a c− −= − + gde je ( )nF y = −∞ za 0y < .

U ovom slučaju za k-tu koordinatu optimalnog rešenja važi ili 0kx = ( ( ) ( )1k kF y F y−= ) ili (1kx ≥ ( ) ( )1k k kF ky F y a c−= − + ). 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.

3. ( ) { }10 za 0 min ,...,n nF y y a a= ≤ ≤ a za { }1min ,..., ny a a≥ je

( ) ( ){ }max | 1,2,.., n k n kF y c F y a k n= + − =

Page 18: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

ukoliko se definiše za ( )nF y = −∞ 0y < . Ako nula nije optimalno rešenje, bar jedna njegova koordinata, npr. je veća ili

jednaka od 1 (kx

( ) ( )n k nF ky c F y a= + − ).

- Navedene rekurzivne forumle se mogu koristiti za određivanje optimalne vrednosti ( )nF 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.

- Kod 2. formule uvodimo još jednu pomoćnu veličinu ( )ki y koja pamti

najveći indeks j takav da je j-ta promenljiva optimalnog rešenja u ( )kF y pozitivna. Ukoliko je nula optimalno rešenje, definišimo ovaj indeks sa nulom. Važi rekurzija:

( )( ) ( ) ( )

( ) ( )1 1

1

ako

ako k k k k

kk k k

i y c F y F yi y

k c F y F y− −

+ <⎧⎪= ⎨+ ≥⎪⎩

, ( )( )( )

11

1

0 ako 0

1 ako 0

F yi y

F y

=⎧⎪= ⎨≠⎪⎩

Na osnovu vrednosti dobijene za ( )ni y možemo detektujemo optimalno rešenje

iz smisla indeksa i vrednosti ( )ni b , ( )( )1n bi .. n b a−

Kako upisujemo rešenja?

( )

( )1

1, 0,

, , ispitujemo za , 1, 0, 1

nn

n

k kn k

e e k

k x n ki y

k x n k

k x k y ai y a

e x x x+

= =⎧= ⎨≠ = ≠⎩

≥ −⎧− = ⎨ = = =⎩

PRIMER 4: Rešiti problem ranca koristeći rekurentnu formulu unapred.

( )

[ ]

1 2 3

1 2 3

max 10 2 3 3 3 4 0,1 , 1,2,3,4i

x x x xx x x

x i

+ − +

+ + ≤

∈ =

4

=Rešenje:

1 2 3 4

1 2 3

10, 2, 1, 33, 1, 3

c c c ca a a

= = = −

= = =

možemo da stavimo da je 4 1x = ( uzima svoju maksimalnu vrednost obzirom da tada neće narušiti početna ograničenja)

4x

Formiramo tablice ( )kF y i ( )ki y Korišćenjem rekurentni formula

Page 19: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

( ) [ ] [ ]( ) ( ) ( ){ }

( ) ( ){ }( ) ( ) ( ){ }

( ) ( ){ }

1 1 1

2 1 2 2

1 2

3 2 3 3

2 3

/ 10 /3

max ,

max ,2 1

max ,

max , 1 3

F y c y a y

F y F y c F y a

F y F y

F y F y c F y a

F y F y

= =

= +

+ −

= +

− + −

2

3−

( )−

( ) ( ) (( )

( )( ) ( ) ( )

( )

1 1 22

1 2

2 2 33

2 3

, 2 1

2, 2 1

, 1 3

2, 1 3

i y F y F yi y

F F y

i y F y F yi y

F F y

> + −⎧⎪= ⎨≤ + −⎪⎩

> − + −⎧⎪= ⎨≤ − + −⎪⎩

)

k\y 0 1 2 3 4 i\y 0 1 2 3 4 1 0 0 0 10 10 1 0 0 0 1 1 2 0 2 4 10 12 2 0 2 2 1 2 3 0 2 4 10 12 3 0 2 2 1 2

Konačno, imamo da je

( )( ) ( ) ( )( ) ( )( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )

3 3

3 2 3 3 2

3 3 2

3 2 3 3

3 2 3 3 2

3 2 3 3 1

1 4 2 3

max

4 2 0

4 4 1 3 2

4 3 1 2 2

3 3 1 2 2

2 2 1 1 2,

1 1 1 0 0 0, 1, 4, 0

11

i n k x

i a i i x

i i x

i a i i

i a i i x

i a i i xx x x xf

= ⇒ ≠ ⇒ =

− = − = = ⇒ ≥

− = = ⇒ ≥

− = − = =

2

4

0

− = − = = ⇒ =

− = − = = ⇒ =

= = = =

=

PRIMER 5: Rešiti problem ranca koristeći rekurentnu formulu unazad.

( )

[ ]

1 2 3 4 5

1 2 3 4 5

max 3 7 2 5 4 2 3 6 8 0,1 , 1,2,3,4,5i

x x x x xx x x x x

x i

+ + + +

+ + + + ≤

∈ =

Rešenje:

( ) ( ){ } ( ) ( ){ }( ) ( ){ } ( ) ( ){ }( ) ( ){ } ( ){ }

5

4

4

5 5 4 5 4 40 1

4 4 3 4 3 30 1

4 4 3 4 30 1

8 max 5 8 6 max 8 , 5+ 2 . . ..... = 12

8 max 2 8 3 max 8 , 2+ 5 ........ = 11

2 max 2 2 3 max 2 ........

x

x

x

F x F x F F

F x F x F F

F x F x F

≤ ≤

≤ ≤

≤ ≤

= + − = =

= + − = =

= + − = =

( ) ( ){ } ( ) ( ){ } { }

( ) ( ){ } ( ) ( ){ } { }3

3

3 3 2 3 2 20 1

3 3 2 3 2 20 1

= 7

8 max 7 8 2 max 8 , 7+ 6 = ...= max 4,11 =11

5 max 7 5 2 max 5 , 7+ 3 =max 4,8 =8x

x

F x F x F F

F x F x F F≤ ≤

≤ ≤

= + − =

= + − = =

Page 20: MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA_k_trgovackih_putnika_i_problem_ranca).pdf · putnik tako da t budu minimalni. Postoje dve varijante ovog problema: 1. Putnik mora da se vrati

( ) ( ){ } ( ) ( ){ } { }

( ) ( ){ } ( ) ( ){ } { }

( ) ( ){ } ( ) ( ){ }( )

3

2

2

2

3 3 2 3 2 20 1

2 2 1 2 2 20 1

2 2 1 2 1 10 1

2 20 1

2 max 7 2 2 max 2 , 7+ 0 ....... =max 1,7 =7

8 max 8 max 8 , 7+ 6 ...... =max 4,11 =11

6 max 6 max 6 , 1+ 5 = . ..= 4

5 max

x

x

x

x

F x F x F F

F x F x F F

F x F x F F

F x

≤ ≤

≤ ≤

≤ ≤

≤ ≤

= + − = =

= + − = =

= + − =

= ( ){ } ( ) ( ){ }( ) ( ){ } ( ) ( ){ }( ) ( ){ } ( ) ( ){ }( )

2

2

1 2 1 1

2 2 1 2 1 10 1

2 2 1 2 1 10 1

2

5 max 5 , 1+ 4 = ..= 4

3 max 3 max 3 , 1+ 2 = ... ..= 1

2 max 2 max 2 , 1+ 1 = ..... ..= 1

0 m

x

x

F x F F

F x F x F F

F x F x F F

F

≤ ≤

≤ ≤

+ − =

= + − = =

= + − =

= ( ){ } ( )

( ) [ ]( ) [ ]( ) [ ]( ) [ ]( ) [ ]( ) [ ]( ) [ ]( ) [ ]

( ) [ ]

22 1 2 10 1

1

1

1

1

1

1

1

1

1

ax 0 0 =0

0 3 * 0 /4 0

1 3 * 1/4 0

2 3 * 2/4 0

3 3 * 3/4 0

4 3 * 4/4 3

5 3 * 5 /4 3

6 3 * 6/4 3

7 3 * 7 /4 3

Obratiti pažnju da je8 3 * 8 /4 3

xx F x F

F

F

F

F

F

F

F

F

F

≤ ≤+ − = =

= =

= =

= =

= =

= =

= =

= =

= =

= =1

1

1

ovde a on može imati samo vrednosti 0 i 1, zato pišemo da je 1 odnosno

3 *1 !!!!!

xx

F

⎛ ⎞⎜ ⎟=⎜ ⎟⎜ ⎟=⎝ ⎠

Vraćamo vrednost nazad:

( )

( )

( )

( )

( )

5

5

4

4

3

3

2

2

1

1

8 1

2 0

2 1

0 0

0 0

Fx

Fx

Fx

Fx

Fx

=

=

=

=

=