Problem Trgovačkog Putnika

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 56

Problem

trgovakog
putnika
Prototip problema
kombinatorne
optimizacije
1

Opis problema
Trgovaki putnik krene iz jednog
grada, na svom putu posjeti
preostale gradove tono jednom i
vrati se u mjesto polaska. Potrebno
je nai kruni put minimalne duljine.
n broj gradova
cij direktna udaljenost grada i od
grada j
2

Vanost problema
Karl Menger- problem glasnika
(1931)
Problem redoslijeda operacija u
proizvodnji
Problem tekue vrpce

Jedan kruni put izmeu tri


grada

Grad2

Grad 1

Grad 3
4

Ako imamo tri grada,


imamo dva kruna puta
1-2-3-1
Grad 1 je
prethodnik od
grada 2, grad 2 je
sljedbenik od
grada1
Jo se koristi
terminologija otacsin

1-3-2-1
Grad 1 je
prethodnik od
grada 3, grad 3 je
sljedbenik od
grada1

Broj krunih putova


n gradova
(n-1)! krunih putova

0.5 (n-1)! krunih putova ako je
matrica udaljenosti simetrina

Bez gubitka openitosti


pretpostavljamo da je grad1
mjesto polaska
1 - 2 - 3 - 4 -- n 1
1 - 3 - 2 - 4 -- n 1

1- n - -321

Varijabla odluke
x ij = 1 ako je grad
i direktni
prethodnik grada j
x ij = 0 ako grad i
nije direktni
prethodnik grada j
(inae)

Ogranienja
Prva grupa- svaki grad je direktni
prethodnik tono jednog grada.
Druga grupa- svaki grad je direktni
sljedbenik tono jednog grada.
Trea grupa- spreavanje zatvaranja
krunog puta prije nego to su se
obili svi gradovi.
9

Matematiki model
n

min
i 1

x
j 1

ij

x
i 1

ij

c
j 1

ij

xij

1,(i 1,..., n)
1, ( j 1,..., n)

xi1i2 ... xir i1 r 1, r n,


(i1 ,..., ir ) P
xij {0,1}, (i, j )

Pojanjenje
(i1,,ir) je jedna permutacija brojeva
(1,,r)
P je skup svih permutacija brojeva
(1,,r)
Velik broj ogranienja u treoj grupi

Primjedbe
Razlikuje se od problema asignacije
jer ima vie ogranienja (trea grupa
ogranienja)
Svako mogue rjeenje problema
trgovakog putnika je mogue
rjeenje problema asignacije, ali ne
vrijedi obratna tvrdnja.

12

Primjer 1
Izraunajte duljinu najkraeg
krunog puta izmeu etiri grada ako
je poznata tablica njihovih direktnih
udaljenosti.

13

Tablica direktnih udaljenosti


gradovi

20

20

32

10

14

20

10

32

8
8
14

Postupakprva reducirana
matrica
Ako elimo sprijeiti neku vezu meu
gradovima stavljamo na
odgovarajue polje velik pozitivan
broj (M ili ).
Traimo najmanji broj u svakom
retku (ui), potom od svakog retka
oduzmemo njegov minimalni
element.
15


Traimo najmanji broj u svakom
stupcu (vj), potom od svakog stupca
oduzmemo njegov minimalni
element.
Izraunamo cij-(ui+vj), za svako (i,j)
Dobivamo prvu reduciranu matricu
koja ima barem jednu nulu u svakom
retku i svakom stupcu.
16


Polja s nulama su
kandidati za
uspostavljanje
direktne veze
meu gradovima.
Donja ograda na
duljinu svih krunih
putova je

u v
i 1

j 1

17

Postupak
Grad

ui

20

20

32

20

14

10

20

10

32

vj

48
18

Prva reducirana matrica


Grad

ui

12

20

18

vj

()
19

Pridruivanje polja s *
Grad

ui

0*

12

20

0*

0*

18

0*

vj

()
20


Ako na kandidatima (polja s nulama)
za uspostavljanje veze meu
gradovima dobijemo kruni put, on
je minimalne duljine i ta duljina je
48.

21

Rjeenje
Optimalan kruni put je 1-3-4-2-1.
Duljina optimalnog krunog puta je
20+8+6+14=48

22

Tablica i rjeenje
gradovi

20

20*

32

10

14*

20

10

32

6*

8*
8
23

Primjer 2

24

Grafiko rjeenje

25

Rjeenje

26

Primjer3
Na jednom stroju treba obaviti 5 poslova u
jednom proizvodnom ciklusu. Nakon
obavljenog jednog posla stroj treba
podesiti (prilagoditi) za obavljanje drugog
posla. Vrijeme podeavanja (set-up time)
dano je u tablici. Odredite redoslijed
obavljanja ovih 5 poslova tako da ukupno
vrijeme podeavanja bude najmanje.
Napomena: nakon jednog ciklusa nastavlja
se drugi s istim redoslijedom poslova.
27

Tablica
P1

P2

P3

P4

P5

P1

15

10

30

P2

20

14

P3

12

40

P4

11

15

32

25

P5

35

22

13

16

0
28

Tablica

29

Optimalno rjeenje

30

Optimalno rjeenje

31

Broj krunih putova je


(n-1)!
Problem trgovakog putnika
rjeavamo metodom grananja i
ograivanja (Branch and Bound).
Traveling Salesman Problem.

32

Ideja metode grananja i


ograivanja
Skup svih moguih krunih putova podijeli
se u dva podskupa koji imaju prazan
presjek. Za svaki od njih izrauna se donja
ograda na duljinu krunog puta.
Podskup s manjom donjom ogradom dijeli
se na dva podskupa
Proces podjele se nastavlja dok se ne nae
kruni put ija donja ograda nije vea od
donjih ograda ostalih krunih putova.

33


Dobiveni kruni put je optimalan a
njegova duljina najkraa.
Skupovi krunih putova prikazani su
kao vorovi jednog stabla a proces
podjele kao njihovo grananje.
Ovo stablo zove se stablo
odluivanja.
34

1.
2.

3.

Ako elimo sprijeiti neku vezu meu gradovima


na odgovarajue polje stavljamo velik pozitivan
broj (M)
Potom raunamo prvu reduciranu matricu -(kao
kod problema asignacije)- traimo minimalan broj
u svakom retku (ui) te od svakog retka
oduzmemo njegov minimalni element. Nakon
toga traimo minimalan broj u stupcu (vj) i od
svakog stupca oduzmemo njegov minimalni
element. Ovim postupkom smo dobili barem
jednu nulu u svakom retku i svakom stupcu. Polja
s nulama su kandidati za uspostavljanje veza
meu gradovima.
Donja ograda na duljinu svih krunih putova je
u1+ u2++un+v1+v2++vn
35

Kazne
Za svako polje s nulom rauna se
kazna za nekoritenje predloene
veze meu gradovima.
Kazna na polju (i,j)= minimalan broj
u retku i bez polja (i,j)+ minimalan
broj u stupcu j bez polja (i,j).
Prvo pridruivanje gradova je na
polju s maksimalnom kaznom.
36

Razne verzije TSP


i je direktni prethodnik od j (xij=1)
i je poetni grad, obiu se svi
gradovi tono jednom i ne vraa se u
grad i
Polazi iz bilo kojeg grada, obiu se
svi gradovi tono jednom i ne vraa
se u mjesto polaska
37

Primjer
Problem
trgovakog putnika
dan je tablicom.
Koliko ovaj
problem ima
krunih putova?
Odredite najkrai
kruni put.

1
1
2

7
10

8
38

Odgovori
Ima dva kruna puta
1-2-3-1, duljina je 4+10+7=21.
1-3-2-1, duljina je 7+8+5=20.

39

Jo malo pitanja
Odredite najkrau duljinu puta ako
se svaki grad mora posjetiti tono
jednom i trgovaki putnik se ne
vraa u mjesto polaska.
1. Ako polazi iz grada 1.
2. Ako polazi iz grada 2.
3. Ako polazi iz grada 3.
4. Ako polazi iz bilo kojeg grada.
40

Odgovori

1-2-3, duljina je 14.


1-3-2, duljina je 15.

Umjesto nabrajanja svih moguih


putova, stavljamo ci1=0 i koristimo
postupak za problem trgovakog putnika
s povratkom u grad 1.
Ostali problemi rjeavaju se analogno,
osim zadnjeg.
41

4. Ako polazi iz bilo kojeg


grada
Uvodimo fiktivni grad 0, direktna
udaljenost grada 0 do svakog od
preostalih gradova je 0, odnosno
c0j=0, (j=1,,n) i svodimo na
prethodni problem.
Rijeimo problem trgovakog putnika
s n+1 gradova.
42

43

44

Polazi iz grada 1 i ne vraa


se u grad 1

45

46

Uvodi se fiktivni grad 0

47

Optimalno rjeenje

48

Rijeite problem tako da je 2


sljedbenik od 1
Tablica direktnih udaljenosti
P1

P2

P3

P4

P5

P1

15

10

30

P2

20

14

P3

12

40

P4

11

15

32

25

P5

35

22

13

16

0
49

Priprema za
x12=1, iz 1 ide u 2, izostavljamo prvi
redak i drugi stupac.
Spreavamo zatvaranje krunog puta
prije nego to su se posjetili svi
gradovi.
Na polje u kojem iz grada 2 se ide u
grad 1 stavljamo velik broj (M).
50

Briemo prvi redak i drugi stupac i


polje (2,1) ima veliku duljinu
P1

P2

P3

P4

P5

P1

15

10

30

P2

1000

14

P3

12

40

P4

11

15

32

25

P5

35

22

13

16

0
51

Rijeimo problem s 4 grada

52

53

Moramo preimenovati
vorove i dobivamo
1-2-5-3-4-1, duljina je 15+72 =87
15+8+13+40+11=87

54

Primjer
Koliko krunih putova ima slijedei problem?
grado
vi
1

55

Odgovor
Jedan je kruni put, 1-3-4-2-5-1,
njegova duljina je 2+4+1+3+1=11

56

You might also like