You are on page 1of 56

1

Problem
trgovakog
putnika
Prototip problema
kombinatorne
optimizacije
2
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
c
ij
direktna udaljenost grada i od
grada j
3
Vanost problema
Karl Menger- problem glasnika
(1931)
Problem redoslijeda operacija u
proizvodnji
Problem tekue vrpce
4
Jedan kruni put izmeu tri
grada
Grad2
Grad 3
Grad 1
5
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 otac-
sin
1-3-2-1
Grad 1 je
prethodnik od
grada 3, grad 3 je
sljedbenik od
grada1

6
Broj krunih putova
n gradova
(n-1)! krunih putova

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


7
Bez gubitka openitosti
pretpostavljamo da je grad1
mjesto polaska
1 - 2 - 3 - 4 -- n 1
1 - 3 - 2 - 4 -- n 1

1 - n - - 3 2 1

8
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)

9
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.
Matematiki model
) , ( }, 1 , 0 {
) ,..., (
, , 1 ...
) ,..., 1 ( , 1
) ,..., 1 ( , 1
min
1
1
1
1 1
1 2 1
j i x
P i i
n r r x x
n j x
n i x
x c
ij
r
i i i i
n
i
ij
n
j
ij
n
j
ij ij
n
i
r





Pojanjenje
(i
1
,,i
r
) je jedna permutacija brojeva
(1,,r)
P je skup svih permutacija brojeva
(1,,r)
Velik broj ogranienja u treoj grupi
12
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.

13
Primjer 1
Izraunajte duljinu najkraeg
krunog puta izmeu etiri grada ako
je poznata tablica njihovih direktnih
udaljenosti.
14
Tablica direktnih udaljenosti
gradovi 1 2 3 4
1 20 20 32
2 14 10 6
3 20 10 8
4 32 6 8
15
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 (u
i
), potom od svakog retka
oduzmemo njegov minimalni
element.

16

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

17

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



4
1
4
1 j
j
i
i
v u
18
Postupak
Grad 1 2 3 4 u
i

1 20 20 32 20
2 14 10 6 6
3 20 10 8 8
4 32 6 8 6
v
j
8 0 0 0 48
19
Prva reducirana matrica
Grad 1 2 3 4 u
i

1 0 0 12 20
2 0 4 0 6
3 4 2 0 8
4 18 0 2 6
v
j
8 0 0 0 ()
20
Pridruivanje polja s *
Grad 1 2 3 4 u
i

1 0 0* 12 20
2 0* 4 0 6
3 4 2 0* 8
4 18 0* 2 6
v
j
8 0 0 0 ()
21

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

22
Rjeenje
Optimalan kruni put je 1-3-4-2-1.
Duljina optimalnog krunog puta je
20+8+6+14=48
23
Tablica i rjeenje
gradovi 1 2 3 4
1 20 20* 32
2 14* 10 6
3 20 10 8*
4 32 6* 8
24
Primjer 2
25
Grafiko rjeenje
26
Rjeenje
27
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.
28
Tablica
P1 P2 P3 P4 P5
P1 0 15 10 8 30
P2 20 0 9 14 8
P3 12 7 0 40 8
P4 11 15 32 0 25
P5 35 22 13 16 0
29
Tablica
30
Optimalno rjeenje
31
Optimalno rjeenje
32
Broj krunih putova je
(n-1)!
Problem trgovakog putnika
rjeavamo metodom grananja i
ograivanja (Branch and Bound).
Traveling Salesman Problem.
33
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.
34

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.
35
1. Ako elimo sprijeiti neku vezu meu gradovima
na odgovarajue polje stavljamo velik pozitivan
broj (M)
2. Potom raunamo prvu reduciranu matricu -(kao
kod problema asignacije)- traimo minimalan
broj u svakom retku (u
i
) te od svakog retka
oduzmemo njegov minimalni element. Nakon
toga traimo minimalan broj u stupcu (v
j
) 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.
3. Donja ograda na duljinu svih krunih putova je
u
1
+ u
2
++u
n
+v
1
+v
2
++v
n


36
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.
37
Razne verzije TSP
i je direktni prethodnik od j (x
ij
=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

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

1 2 3
1 4 7
2 5 10
3 7 8
39
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.
40
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.


41
Odgovori
1-2-3, duljina je 14.
1-3-2, duljina je 15.

Umjesto nabrajanja svih moguih
putova, stavljamo c
i1
=0 i koristimo
postupak za problem trgovakog putnika
s povratkom u grad 1.
Ostali problemi rjeavaju se analogno,
osim zadnjeg.
42
4. Ako polazi iz bilo kojeg
grada
Uvodimo fiktivni grad 0, direktna
udaljenost grada 0 do svakog od
preostalih gradova je 0, odnosno
c
0j
=0, (j=1,,n) i svodimo na
prethodni problem.
Rijeimo problem trgovakog putnika
s n+1 gradova.
43

44
45
Polazi iz grada 1 i ne vraa
se u grad 1
46
47
Uvodi se fiktivni grad 0
48
Optimalno rjeenje
49
Rijeite problem tako da je 2
sljedbenik od 1
Tablica direktnih udaljenosti
P1 P2 P3 P4 P5
P1 0 15 10 8 30
P2 20 0 9 14 8
P3 12 7 0 40 8
P4 11 15 32 0 25
P5 35 22 13 16 0
50
Priprema za
x
12
=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).


51
Briemo prvi redak i drugi stupac i
polje (2,1) ima veliku duljinu
P1 P2 P3 P4 P5
P1 0 15 10 8 30
P2 1000 0 9 14 8
P3 12 7 0 40 8
P4 11 15 32 0 25
P5 35 22 13 16 0
52
Rijeimo problem s 4 grada
53
54
Moramo preimenovati
vorove i dobivamo
1-2-5-3-4-1, duljina je 15+72 =87
15+8+13+40+11=87
55
Primjer
Koliko krunih putova ima slijedei problem?
grado
vi
1 2 3 4 5
1 - - 2 - -
2 3 - 8 7 3
3 2 - - 4 4
4 - 1 - - -
5 1 2 7 - -
56
Odgovor
Jedan je kruni put, 1-3-4-2-5-1,
njegova duljina je 2+4+1+3+1=11

You might also like