Sulaiman

Anda mungkin juga menyukai

Anda di halaman 1dari 8

Nama

: SULAIMAN

NIM

: 127021013

MATA KULIAH

: Heuristik

TUGAS

:1

Soal:
Implementasikan Algoritma Nearest Neighbor dalam menyelesaikan permasalahan TSP.

Penyelesaian:

Pertama membuat program di MATLAB


Nama file tsp.m

% Tugas 1 Heuristik
% Nama : Sulaiman
% NIM : 127021013

% Program Implementasi Algoritma Nearest Neighbor Dalam TSP


function[jaraknya, rutenya]=tsp(Z,a)
[m,m]=size(Z);
save=0; lalui1=0; min=inf;
awal_mulai=a;

% Input titik awal


lalui(1)=a;

for i=1:m
Z(i,a)=inf;
end

% Cari titik lain k sehingga

% jarak a ke k minimal
for j=1:m-1
for k=1:m
if(Z(a,k)<min)
min=Z(a,k);
lalui1=k;
end
end
for i=1:m
Z(i,lalui1)=inf;
end
save=save+min;
min=inf;
a=lalui1;
lalui(j+1)=lalui1;
end

jaraknya=save;
melintasi_rute=lalui

Command windows MATLAB

To get started, select "MATLAB Help" from the Help menu.

>> Z=[0 8 5 9 12 14 12 16 17 22; 8 0 9 15 17 8 11 18 14 22; 5 9 0 7 9 11 7 12 12 17; 9 15 7 0 3


17 10 7 15 18; 12 17 9 3 0 8 10 6 15 15; 14 8 11 17 8 0 9 14 8 16; 12 11 7 10 10 9 0 8 6 11; 16
18 12 7 6 14 8 0 11 11; 17 14 12 15 15 8 6 11 0 10; 22 22 17 18 15 16 11 11 10 0]

Z=

12

14

12

16

17

22

15

17

11

18

14

22

11

15

17

12

17

14

11

17

12

11

16

18

12

17

14

12

15

22

22

17

18

12

12

17

10

15

18

10

15

15

14

16

10 10

11

14

11

11

15

11

10

15

16

11

11

10

10

>> tsp(Z,1)

melintasi_rute =

ans =

73

>> tsp(Z,2)

melintasi_rute =

10

10

10

ans =

67

>> tsp(Z,3)

melintasi_rute =

ans =

63

>> tsp(Z,4)

melintasi_rute =

ans =

69

>> tsp(Z,5)

melintasi_rute =

10

10

10

ans =

64
>> tsp(Z,6)

melintasi_rute =

ans =

61

>> tsp(Z,7)

melintasi_rute =

ans =

62

>> tsp(Z,8)

melintasi_rute =

10

10

ans =

62

>> tsp(Z,9)

melintasi_rute =

ans =

63

>> tsp(Z,10)

melintasi_rute =

10

ans =

62

>>

Dari hasil run dengan MATLAB, diperoleh jarak minimum dengan titik awal 6 yaitu 61
6

10

Rutenya 6 2 1 3 4 5 8 7 9 10

Anda mungkin juga menyukai