Algoritam najbližeg suseda za konstrukciju rute trgovačkog putnika Algoritam najbližeg ubacivanja za konstrukciju rute trgovačkog putnika

Σχετικά έγγραφα
DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

3.1 Granična vrednost funkcije u tački

Računarska grafika. Rasterizacija linije

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Računarska grafika. Rasterizacija linije

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

SISTEMI NELINEARNIH JEDNAČINA

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Preda d va v nje X 1

Operacije s matricama

Elementi spektralne teorije matrica

18. listopada listopada / 13

Ispitivanje toka i skiciranje grafika funkcija

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Teorijske osnove informatike 1

Osnovne teoreme diferencijalnog računa

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

41. Jednačine koje se svode na kvadratne

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

numeričkih deskriptivnih mera.

APROKSIMACIJA FUNKCIJA

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

ELEKTROTEHNIČKI ODJEL

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

IZVODI ZADACI (I deo)

III VEŽBA: FURIJEOVI REDOVI

Skup svih mogućih ishoda datog opita, odnosno skup svih elementarnih događaja se najčešće obeležava sa E. = {,,,... }

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

Zavrxni ispit iz Matematiqke analize 1

5. Karakteristične funkcije

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

4 Numeričko diferenciranje

MATEMATIČKO PROGRAMIRANJE I OPTIMIZACIJA

5 Ispitivanje funkcija

7 Algebarske jednadžbe

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

1. OPTIMIZACIJA NA MREŽAMA Uvod

Sortiranje prebrajanjem (Counting sort) i Radix Sort

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

Mravlje kolonije (Ant Colony Optimization - ACO)

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Zadaci iz Osnova matematike

radni nerecenzirani materijal za predavanja

PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ).

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

1 Promjena baze vektora

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić

Minimalno povezujuće stablo

( , 2. kolokvij)

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Algoritmi i strukture podataka - 1.cas

Program testirati pomoću podataka iz sledeće tabele:

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

Numerička matematika 2. kolokvij (1. srpnja 2009.)

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Dijagonalizacija operatora

Kaskadna kompenzacija SAU

TRIGONOMETRIJSKE FUNKCIJE I I.1.

KONVEKSNI SKUPOVI. Definicije: potprostor, afin skup, konveksan skup, konveksan konus. 1/5. Back FullScr

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

1 Afina geometrija. 1.1 Afini prostor. Definicija 1.1. Pod afinim prostorom nad poljem K podrazumevamo. A - skup taqaka

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i

U raznim oblastima se često javlja potreba da se izmed u izvesnih objekata uspostave izvesne veze, odnosi ili relacije.

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

Linearna algebra 2 prvi kolokvij,

Matematka 1 Zadaci za drugi kolokvijum

POGLAVLJE 1 BEZUSLOVNA OPTIMIZACIJA. U ovom poglavlju proučavaćemo problem bezuslovne optimizacije:

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

Neka su A i B proizvoljni neprazni skupovi. Korespondencija iz skupa A u skup B definiše se kao proizvoljan podskup f Dekartovog proizvoda A B.

Riješeni zadaci: Nizovi realnih brojeva

Trigonometrijske nejednačine

Funkcija gustoće neprekidne slučajne varijable ima dva bitna svojstva: 1. Nenegativnost: f(x) 0, x R, 2. Normiranost: f(x)dx = 1.

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

π π ELEKTROTEHNIČKI ODJEL i) f (x) = x 3 x 2 x + 1, a = 1, b = 1;

10. STABILNOST KOSINA

Prvi kolokvijum. y 4 dy = 0. Drugi kolokvijum. Treći kolokvijum

6 Polinomi Funkcija p : R R zadana formulom

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

Obrada signala

Klasifikacija blizu Kelerovih mnogostrukosti. konstantne holomorfne sekcione krivine. Kelerove. mnogostrukosti. blizu Kelerove.

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

Ministarstvo prosvete i sporta Republike Srbije Druxtvo matematiqara Srbije Prvi razred A kategorija

RIJEŠENI ZADACI I TEORIJA IZ

SEMINAR IZ KOLEGIJA ANALITIČKA KEMIJA I. Studij Primijenjena kemija

Dvanaesti praktikum iz Analize 1

Transcript:

ANALIZA TRANSPORTNIH MREŽA PREDAVANJE VII 1

PREDAVANJE VII Problem trgovačkog putnika Računarska složenost i kvalitet algoritama za rešavanje problema trgovačkog putnika Heuristički algoritmi za rešavanje problema trgovačkog putnika Proždrljivi (Greedy) heuristički algoritmi Algoritam najbližeg suseda za konstrukciju rute trgovačkog putnika Algoritam najbližeg ubacivanja za konstrukciju rute trgovačkog putnika 2

1. Problem trgovačkog putnika Pretpostavimo da trgovački putnik želi da obidje izvestan broj gradova. Kojim redosledom trgovački putnik treba da obilazi gradove, tako da svaki grad obidje jedanput, da se po obilasku svih gradova vrati upočetnigrad i da pri tome predje najmanje moguće rastojanje? Naznačeni problem poznat je u literaturi kao problem trgovačkog putnika. 3

1. Problem trgovačkog putnika Neka trgovački putnik treba da obiñe n gradova. Kada zeli da napusti početni čvor trgovački put se susreće sa dilemom u koji od (n-1) gradova da se uputi. U sledećem koraku trgovački putnik treba da se odluči za jedan od preostalih (n-2) gradova, i td. Ukupan broj različitih ruta koje može da generiše trgovački putnik je jednak (n-1)!/2 4

1. Problem trgovačkog putnika Sa problemom trgovačkog putnika susrećemo se pri vršenju distribucije, sakupljanja ili neke druge opsluge na transportnoj mreži. Pod trgovačkim putnikom mogu da se podrazumevaju avioni, brodovi, kamioni, autobusi, posade itd. U čvorovima koje posećuju saobraćajna sredstva mogu se isporučivati ili preuzimati roba ili putnici itd. 5

1. Problem trgovačkog putnika Dantzig, Fulkerson i Johnson su 1954 godine rešili problem trgovačkog putnika koji je imao 49 gradova. Pedeset godina kasnije (2004 godine), D. Applegate, R. Bixby, V. Chvátal, W. Cook i K. Helsgaun su uspeli da reše problem trgovačkog putnika sa 24978 gradova. 6

1. Problem trgovačkog putnika Problem TP je jedan od najznačajnijih problema kombinatorne optimizacije. Problem kombinatorne optimizacije podrazumeva nalaženje minimuma funkcije f na skupu S, tj.: min x S f ( x gde je S diskretan, konačan ili prebrojivo beskonačan skup. Skup S se naziva dopustivim skupom, funkcija f kriterijumskom funkcijom, a tačke x dopustivim rešenjima. ) 7

1. Problem trgovačkog putnika Razmotrimo asimetrični problem TP-a (U asimetričnom problemu TP-a rastojanje d(i,j) izmeñu čvorova i i j je različito od rastojanja d(j,i)). Neka je broj gradova koje treba da poseti TP jednak m. Redosled kojim TP obilazi gradove naziva se rutom trgovačkog putnika. Prilikom konstruisanja rute TP neophodno je sprečiti stvaranje ciklusa koji ne predstavljaju potpunu rutu TP-a. 8

1. Problem trgovačkog putnika Uvedimo u razmatranje promenljivu x ij koju ćemo definisati na sledeći način: xij = 1 0 ukoliko grana ( i, j) u sup rotnom slucaju pripadaoptimalnoj turi trgovackog putnika 9

1. Problem trgovačkog putnika Minimizirati m m i = 1 j = 1 d ij x ij pri ograničenjima: m j= 1 xij = 1 i = 1,2,..., m m i= 1 xij = 1 j = 1,2,..., m 10

1. Problem trgovačkog putnika i S, j S { 1,2 m} xij S 1 S,..., = 0 ili 1 i, xij j gde je S bilo koji podskup gradova 1,2,,m. 11

1. Problem trgovačkog putnika Prva dva ograničenja vode računa o kretanju TP-a i ukazuju da iz svakog čvora koji poseti TP može da izlazi samo jedna grana, odnosno da u svaki čvor u ruti TP-a moze da dolazi samo jedna grana. Ograničenje { } xij S 1 S 1,2,..., m sprečavai S, stvaranje j S ciklusa koji ne predstavljaju potpunu rutu TP. 12

2. Računarska složenost i kvalitet algoritama za rešavanje problema trgovačkog putnika Sve algoritme kojima se rešavaju problemi kombinatorne optimizacije možemo u osnovi podeliti na egzaktne i heurističke. Uz pretpostavku da imamo na raspolaganju dovoljno računarskog vremena, primenom nekog od egzaktnih algoritama dobićemo uvek optimalno rešenje. 13

2. Računarska složenost i kvalitet algoritama za rešavanje problema trgovačkog putnika Naziv heuristički ima koren u grčkoj reči (`ευρισκω) koja znači otkriti ili pronaći. Heuristički algoritam podrazumeva pronalaženje metoda koji će da u okviru prihvatljivog vremena rada računara proizvede dobro rešenje blisko optimalnom. 14

2. Računarska složenost i kvalitet algoritama za rešavanje problema trgovačkog putnika Heuristički algoritmi se primenjuju za rešavanje problema u slučajevima kada bi, zbog dimenzija problema, egzaktni algoritam doveo do eksponencijalnog vremena rada računara. Ukoliko, na primer, u razmatranom problemu imamo 1000 binarnih promenljivih (koje mogu da uzmu vrednost 0 ili 1), ukupan broj svih mogućih resenja je jednak. 2 1000 15

2. Računarska složenost i kvalitet algoritama za rešavanje problema trgovačkog putnika U odreñenim situacijama troškovi korišćenja egzaktnog algoritma znatno veći od potencijalnih koristi od iznalaženja optimalnog rešenja. Samim tim, u ovakvim situacijama istraživači koriste različite heurističke algoritme. 16

2. Računarska složenost i kvalitet algoritama za rešavanje problema trgovačkog putnika Neka je, na primer, broj čvorova u odrñenoj mreži jednak n. Broj čvorova n je najčešći reprezentant dimenzija razmatranog problema. Pretpostavimo da je ukupan broj elementarnih operacija E, koje je potrebno obaviti prilikom primene odreñenog algoritma jednak: 4 3 E = 4 n + 5 n + 2 n + 7 17

2. Računarska složenost i kvalitet algoritama za rešavanje problema trgovačkog putnika Za veće vrednosti n najveći uticaj na ukupan broj elementarnih operacija ima n 4. Računarska složenost algoritma je proporcionalna n 4, odnosno da je algoritam O(n 4 ) (čita se kao o od n na četvrti ). Uz pretpostavku da svaka elementarna operacija zahteva jednu jedinicu vremena možemo da kažemo da algoritam zahteva O(n 4 ) vremena. 18

2. Računarska složenost i kvalitet algoritama za rešavanje problema trgovačkog putnika Pod lošim algoritmima podrazumevaju se eksponencijalni (ne-polinomijalni) algoritmi. (algoritmi koji zahtevaju O(3 n ) ili O(n!) vremena). Kvalitet generisanih rešenja i vreme rada računara predstavljaju dva dominantna kriterijuma na osnovu kojih se vrednuju svi heuristički algoritmi. 19

3. Heuristički algoritmi za rešavanje problema trgovačkog putnika Trgovački putnik koji započinje i završava svoju turu u odredjenom čvoru, mora da poseti n-1 čvor. Transportna mreža koja povezuje ovih n čvorova je potpuno povezana. Drugim rečima, u ovoj mreži je moguće iz svakog čvora stići u bilo koji čvor, direktno bez prolaženja kroz ostale čvorove. Najkraća rastojanja izmedju pojedinih čvorova jednaka su dužini grana izmedju tih čvorova. 20

3. Heuristicki algoritmi zasnovani na slučajnom izboru Korak 1: Proizvoljno odabrati početni čvor rute. Korak 2: Na slučajan način odabrati sledeći čvor i uključiti ga u rutu. Korak 3: Ponavljti korak 2 sve dok se svi čvorovi ne uključe u rutu. Spojiti prvi i poslednji čvor rute. 21

3. Heuristicki algoritmi zasnovani na slučajnom izboru

4. Proždrljivi (Greedy) heuristički algoritmi Proždrljivi (Greedy) algoritmi generišu rešenje uočenog problema u proceduri korak po korak. U svakom koraku greedy algoritama se jednoj od promenljivih dodeljuje vrednost. 23

4. Proždrljivi (Greedy) heuristički algoritmi Ovi algoritmi biraju u svakom koraku odgovarajuću promenljivu i odgovarajuću vrednost tako da maksimalno moguće u okviru tog koraka povećaju (u problemima maksimizacije), odnosno smanje (u problemima minimizacije) trenutnu vrednost definisane kriterijumske funkcije. 24

5. Algoritam najbližeg suseda za konstrukciju rute trgovačkog putnika KORAK 1: Proizvoljno odabrati početni čvor rute. KORAK 2: Pronaći čvor najbliži poslednjem čvoru uključenom u rutu. Ovaj najbliži čvor uključiti u rutu. KORAK 3: Ponavljti korak 2 sve dok se svi čvorovi ne uključe u rutu. Spojiti prvi i poslednji čvor rute. 25

Primer: Odrediti rutu TP primenom algoritma najbližeg suseda 3 2 1 7 4 5 6 26

Primer: Odrediti rutu TP primenom algoritma najbližeg suseda Matrica rastojanja: 1 2 3 4 5 6 7 1 0 75 135 165 135 180 90 2 75 0 90 105 135 210 150 3 135 90 0 150 210 300 210 4 165 105 150 0 135 210 210 5 135 135 210 135 0 90 105 6 180 210 300 210 90 0 120 7 90 150 210 210 105 120 0 27

Primer: Odrediti rutu TP primenom algoritma najbližeg suseda 3 2 1 7 4 5 6 28

6. Algoritam ubacivanja za konstrukciju rute trgovačkog putnika Rosenkrantz, Stearns i Lewis (1977) su razvili veći broj heurističkih algoritama za rešavanje problema trgovačkog putnika. U k-tom prolazu algoritma ubacivanja ovi autori su razmatrali delimičnu rutu trgovačkog putnika sastavljenu od k čvorova i odredjivali sledeći čvor koji treba ubaciti u rutu i poziciju u ruti gde ovaj čvor treba da bude ubačen. 29

6. Algoritam ubacivanja za konstrukciju rute trgovačkog putnika KORAK 1: Konstruisati podgraf koji se sastoji samo od čvora i. KORAK 2: Naći čvor k za koji je veličina c ik najmanja (c ik predstavlja rastojanje izmeñu čvora i i čvora k). Drugim rečima, pronaći čvor k najbliži čvoru i. Formirati delimičnu rutu trgovačkog putnika. Ova ruta glasi (i, k, i). 30

6. Algoritam ubacivanja za konstrukciju rute trgovačkog putnika KORAK 3: Pronaći čvor k koji nije uključen u delimičnu rutu trgovačkog putnika koji je najbliži delimičnoj ruti. (Čvor je najbliži delimičnoj ruti ukoliko je rastojanje izmeñu njega i njemu najbližeg čvora već uključenog u rutu manje od bilo kog rastojanja izmedju čvorova koji nisu uključeni u rutu i njima najbližih čvorova uključenih u rutu). 31

6. Algoritam ubacivanja za konstrukciju rute trgovačkog putnika KORAK 4: Pronaći granu (i, j) koja je deo delimične rute za koju je najmanja vrednost veličine c ik + c kj - c ij. Ubaciti čvor k izmedju čvorova i i j. KORAK 5:Završiti sa algoritmom kada su svi čvorovi uključeni u rutu. U slučaju da postoji još čvorova koji nisu uključeni u rutu trgovačkog putnika vratiti se na korak 3.

Primer: Odrediti rutu TP primenom algoritma najbližeg ubacivanja 5 6 2 1 3 4 14 30 20 14 58 54 28 30 58 28 20 54 33

Primer: Odrediti rutu TP primenom algoritma najbližeg ubacivanja 6 5 1 2 4 14 30 20 14 58 54 28 30 58 28 20 54 3 Delimična ruta (1, 2, 1) 34

Primer: Odrediti rutu TP primenom algoritma najbližeg ubacivanja Posmatra se čvor najbliži čvorovima 1 i 2. 3 - min {, } = sledi 3-2 4 - min {, } = sledi 4-1(2) 5 - min {30, } = 30 sledi 5-1 6 - min {20, } = 20 sledi 6-1 14 30 20 14 58 54 28 30 58 28 20 54 min {,,30,20} = 20 sledi da je sledeći čvor koji se ubacuje u rutu čvor 6. 35

Primer: Odrediti rutu TP primenom algoritma najbližeg ubacivanja 6 5 1 2 4 14 30 20 14 58 54 28 30 58 28 20 54 3 Delimična ruta (1,2,6,1). Ovde se bira proizvoljan smer, tj. moguće je i (1,6,2,1).

Primer: Odrediti rutu TP primenom algoritma najbližeg ubacivanja Posmatra se čvor najbliži čvorovima 1,2 i 6. 3 - min {,,54} = sledi 3-2 4 - min {,,} = sledi 4-1(2) 5 - min {30,,} = 30 sledi 5-1 14 30 20 14 58 54 28 30 58 28 20 54 min {,,30} =, sledi da je sledeći čvor koji se ubacuje u rutu čvor 3. 37

Primer: Odrediti rutu TP primenom algoritma najbližeg ubacivanja (1,2,6,1) C ik 3 + C kj C ij = C 13 + C C 12 = + 14 = 44 C 23 + C C 26 = + 54 = 44 14 30 20 14 58 54 28 30 58 28 20 54 C 63 + C 31 C 61 = 54 + 53 20 = 70 min {44,44,70} = 44, sledi da se uključuje izmeñu čvorova 1 i 2. 38

Primer: Odrediti rutu TP primenom algoritma najbližeg ubacivanja 6 5 1 2 4 14 30 20 14 58 54 28 30 58 28 20 54 3 Nova delimična ruta (1,3,2,6,1) 39

Primer: Odrediti rutu TP primenom algoritma najbližeg ubacivanja 6 5 1 2 4 14 30 20 14 58 54 28 30 58 28 20 54 3 Konačna ruta (1,5,4,3,2,6,1) 40