Project Analisa Jalur Terpendek Gojek, Bluebird, Grab untuk Evakuasi Bencana Tsunami dan Gunung Merapi di Yogyakarta – Matlab

Assalamualaikum warohmatullohi wabarokatuh temen-temen dan sahabat Whitecyber semua di seluruh tanah air, pagi malam hari ini saya mewakili Whitecyber Team akan berbagi hasil penelitian kami dalam ilmu Mathematika Science dalam Analisa Jalur Terpendek Gojek, Bluebird, Grab untuk Evakuasi Bencana Tsunami dan Gunung Berapi di Yogyakarta.

Manfaat dari metode ini adalah Pembuatan Jalur Evakuasi Bencana dan Titik Kumpul.

.

.

Metode yang akan kita pakai kali ini saya namakan dengan Metode JALUR TERCEPAT. Boleh kan kita namai sendiri tehnik yang kita lakukan ini. Yuk sekarang kita akan bahas.

Syntaxs

P = shortestpath(G,s,t)
P = shortestpath(G,s,t,'Method',algorithm)
[P,d] = shortestpath(___)
[P,d,edgepath] = shortestpath(___)

.

Keterangan :

Metode 1

P = shortestpath(G,s,t) computes the shortest path starting at source node s and ending at target node t. If the graph is weighted (that is, G.Edges contains a variable Weight), then those weights are used as the distances along the edges in the graph. Otherwise, all edge distances are taken to be 1.

Metode 2

P = shortestpath(G,s,t,'Method',algorithm) optionally specifies the algorithm to use in computing the shortest path. For example, if G is a weighted graph, then shortestpath(G,s,t,'Method','unweighted') ignores the edge weights in G and instead treats all edge weights as 1.

Metode 3

[P,d] = shortestpath(___) additionally returns the length of the shortest path, d, using any of the input arguments in previous syntaxes.

Metode 4

[P,d,edgepath] = shortestpath(___) additionally returns the edge indices edgepath of all edges on the shortest path from s to t.

Kita akan ulas metode ini satu persatu yuk, sabar ya …

Metode 1 : Jalur Terpendek Antar Node Tertentu

Yang harus kita lakukan adalah menganalisa ukuran jalan yang akan dilalui oleh warga yang akan kita evakuasi menggunakan Grab, Gojek, atau Bluebird. Setelah panjang jalur kita peroleh dalam ukuran kilometer maka kita akan buat Buat dan plot grafik berarah dengan cara sebagai berikut :

Code

s = [1 1 2 3 3 4 4 6 6 7 8 7 5];
t = [2 3 4 4 5 5 6 1 8 1 3 2 8];
G = digraph(s,t);
plot(G)

.

.

lalu kita Hitung jalur terpendek antara node 7 dan 8.

P = shortestpath(G,7,8)

.

Hasilnya adalah sebagai berikut :

P = 1×5

     7     1     3     5     8

.

Metode 2 : Metode Jalur Terpendek dalam Grafik Tertimbang

Yang harus kita lakukan adalah menganalisa ukuran jalan yang akan dilalui oleh warga yang akan kita evakuasi menggunakan Grab, Gojek, atau Bluebird. Setelah panjang jalur kita peroleh dalam ukuran kilometer maka kita akan buat Buat dan plot grafik berbobot dengan cara sebagai berikut :

Code

s = [1 1 1 2 2 6 6 7 7 3 3 9 9 4 4 11 11 8];
t = [2 3 4 5 6 7 8 5 8 9 10 5 10 11 12 10 12 12];
weights = [10 10 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1];
G = graph(s,t,weights);
plot(G,'EdgeLabel',G.Edges.Weight)

.

.

Temukan jalur terpendek antara node 3 dan 8, dan tentukan dua output untuk juga mengembalikan panjang jalur.

.

[P,d] = shortestpath(G,3,8)

.

Hasilnya adalah sebagai berikut :

P =

     3     9     5     7     8


d =

     4

.

Karena sisi-sisi di tengah grafik mempunyai bobot yang besar, maka jalur terpendek antara node 3 dan 8 mengelilingi batas grafik yang bobot sisinya paling kecil. Jalur ini memiliki total panjang 4.

.

Metode 3 : Metode Jalur Terpendek Mengabaikan Bobot Tepi

Yang harus kita lakukan adalah menganalisa ukuran jalan yang akan dilalui oleh warga yang akan kita evakuasi menggunakan Grab, Gojek, atau Bluebird. Setelah panjang jalur kita peroleh dalam ukuran kilometer maka kita akan buat Buat dan plot grafik dengan tepi berbobot, menggunakan koordinat simpul khusus. dengan cara sebagai berikut :

Code

s = [1 1 1 1 1 2 2 7 7 9 3 3 1 4 10 8 4 5 6 8];
t = [2 3 4 5 7 6 7 5 9 6 6 10 10 10 11 11 8 8 11 9];
weights = [1 1 1 1 3 3 2 4 1 6 2 8 8 9 3 2 10 12 15 16];
G = graph(s,t,weights);

x = [0 0.5 -0.5 -0.5 0.5 0 1.5 0 2 -1.5 -2];
y = [0 0.5 0.5 -0.5 -0.5 2 0 -2 0 0 0];
p = plot(G,'XData',x,'YData',y,'EdgeLabel',G.Edges.Weight);

.

.

Temukan jalur terpendek antara node 6 dan 8 berdasarkan bobot tepi grafik. Sorot jalur ini dengan warna hijau.
.
Code
[path1,d] = shortestpath(G,6,8)

.

Hasilnya adalah sebagai berikut :

path1 = 1×5

     6     3     1     4     8

d = 14

.

highlight(p,path1,'EdgeColor','g')

.

Hasilnya adalah sebagai berikut :

.

.

Tetapkan Metode sebagai tidak berbobot untuk mengabaikan bobot tepi, alih-alih memperlakukan semua tepi seolah-olah memiliki bobot 1. Metode ini menghasilkan jalur berbeda antar node, yang sebelumnya memiliki panjang jalur terlalu besar untuk dijadikan jalur terpendek. Sorot jalur ini dengan warna merah.
.
[path2,d] = shortestpath(G,6,8,'Method','unweighted')

.

path2 = 1×3

     6     9     8

d = 2

.

highlight(p,path2,'EdgeColor','r')

.

.

Metode 4 : Jalur Terpendek di Multigraph

Plot jalur terpendek antara dua node dalam multigraf dan sorot tepi spesifik yang dilalui.

Buat multigraf berbobot dengan lima node. Beberapa pasang node memiliki lebih dari satu sisi di antara mereka. Plot grafik untuk referensi.

.

G = grafik([1 1 1 1 1 2 2 3 3 3 4 4],[2 2 2 2 2 3 4 4 5 5 5 2],[2 4 6 8 10 5 3 1 5 6 8 9]); 
p = plot(G, 'EdgeLabel' ,G.Edges.Weight);

.

.

Temukan jalur terpendek antara node 1 dan node 5. Karena beberapa pasangan node memiliki lebih dari satu sisi di antara keduanya, tentukan tiga output untuk shortestpathmengembalikan sisi spesifik yang dilalui oleh jalur terpendek.

.

[P,d,edgepath] = shortestpath(G,1,5)

.

P = 1×5 
     1 2 4 3 5
d = 11
jalur tepi = 1×4
     1 7 9 10

.

Hasilnya menunjukkan bahwa jalur terpendek mempunyai panjang total 11 dan mengikuti rusuk yang diberikan oleh G.Edges(edgepath,:).

.

G.Edges(edgepath,:)

.

ans=4×2 table
    EndNodes    Weight
    ________    ______

     1    2       2   
     2    4       3   
     3    4       1   
     3    5       5   
.

Sorot jalur tepi ini dengan menggunakan highlightfungsi dengan 'Edges' pasangan nama-nilai untuk menentukan indeks tepi yang dilalui.

.

highlight(p,'Edges',edgepath)

.

.

Leave a Reply

Your email address will not be published. Required fields are marked *