Dynamic Programming - TSP
Dynamic Programming - TSP
Problem (TSP)
2
• Misalkan G = (V, E) adalah graf lengkap berarah
dengan sisi-sisi yang diberi harga cij > 0.
3
• Setiap tur pasti terdiri dari sisi (1, k) untuk
beberapa k V – {1} dan sebuah lintasan
dari simpul k ke simpul 1.
4
• Misalkan f(i, S) adalah bobot lintasan
terpendek yang berawal pada simpul i,
yang melalui semua simpul di dalam S
dan berakhir pada simpul 1.
5
Hubungan rekursif:
f (i , ) c i ,1
, 2in (basis)
0 10 15 20
5 0 9 10
6 13 0 12
8 8 9 0
Tahap 1: f (i, ) c i ,1
, 2in
Diperoleh:
f(2, ) = c21 = 5;
f(3, ) = c31 = 6;
f(4, ) = c41 = 8;
7
Tahap 2:
f (i, S ) min{c f ( j, S { j})} untuk S = 1
jS ij
Diperoleh:
f(2, {3}) = min{c23 + f(3, )} = min{9 + 6} = min{15} = 15
f(2, {4}) = min{c24 + f(4, )} = min{10 + 8} = min{18} = 18
f(3, {2}) = min{c32 + f(2, )} = min{13 + 5} = min{18} = 18
f(3, {4}) = min{c34 + f(4, )} = min{12 + 8} = min{20} = 20
f(4, {2}) = min{c42 + f(2, )} = min{8 + 5} = min{13} = 13
f(4, {3}) = min{c43 + f(3, )} = min{9 + 6} = min{15} = 15
8
Tahap 3:
f (i, S ) min{c f ( j, S { j})}
j S ij
Diperoleh:
f(2, {3, 4}) = min{c23 + f(3, {4}), c24 + f(4, {3})}
= min{9 + 20, 10 + 15}
= min{29, 25} = 25
f(1, {2, 3, 4}) = min{c12 + f(2, {3, 4}), c13 + f(3, {2, 4}),
c14 + f(4, {2, 3})}
= min{10 + 25, 15 + 25, 20 + 23}
= min{35, 40, 43} = 35
10
• Misalkan J(i, S) adalah nilai yang dimaksudkan
tersebut. Maka, J(1, {2, 3, 4}) = 2. Jadi, tur mulai
dari simpul 1 selanjutnya ke simpul 2.