pertemuan 12 - ayuanggrianihptik09.files.wordpress.com file · web viewsetiap objek mempunyai nilai...

13
PERTEMUAN 14 METODE GREEDY Metode Greedy digunakan untuk memecahkan persoalan optimasi. Persoalan optimasi adalah persoalan mencari solusi optimum Persoalan optimasi ada 2 Maksimasi Minimasi Contoh Masalah Optimasi: Penukaran Uang Diberikan uang senilai A. Tukar A dengan koin-koin uang yang ada. Berapakah jumlah minimum koin yang diperlukan untuk penukaran uang tersebut. Persoalan Minimasi. Contoh 1: tersedia banyak koin 1, 5, 10, 25 32 = 1 + 1 + … + 1 (32 koin) 32 = 5 + 5 + 5 + 5 + 10 + 1 + 1 (7 koin) 32 = 10 + 10 + 10 + 1 + 1 (5 koin) Minimum: 32 = 25 + 5 + 1 + 1 (4 koin) Greedy = rakus, tamak Algoritma greedy membentuk solusi langkah per langkah (step by step). Pada setiap langkah terdapat banyak pilihan yang perlu dieksplorasi. Sehingga, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan. (keputusan yang telah diambil pada suatu langkah tidak dapat diubah lagi pada langkah selanjutnya). Pada setiap langkah membuat pilihan optimum lokal

Upload: phungthuan

Post on 31-Mar-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PERTEMUAN 12 - ayuanggrianihptik09.files.wordpress.com file · Web viewSetiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. ... Penggunaan 3 strategi diatas tidak

PERTEMUAN 14METODE GREEDY

Metode Greedy digunakan untuk memecahkan persoalan optimasi. Persoalan optimasi adalah persoalan mencari solusi optimum Persoalan optimasi ada 2 Maksimasi

Minimasi

Contoh Masalah Optimasi:Penukaran UangDiberikan uang senilai A. Tukar A dengan koin-koin uang yang ada.Berapakah jumlah minimum koin yang diperlukan untuk penukaran uang tersebut.

Persoalan Minimasi.

Contoh 1: tersedia banyak koin 1, 5, 10, 25

32 = 1 + 1 + … + 1 (32 koin)32 = 5 + 5 + 5 + 5 + 10 + 1 + 1 (7 koin)32 = 10 + 10 + 10 + 1 + 1 (5 koin)Minimum: 32 = 25 + 5 + 1 + 1 (4 koin)

Greedy = rakus, tamak Algoritma greedy membentuk solusi langkah per langkah (step by step). Pada setiap langkah terdapat banyak pilihan yang perlu dieksplorasi. Sehingga, pada setiap langkah harus dibuat keputusan yang terbaik dalam

menentukan pilihan.(keputusan yang telah diambil pada suatu langkah tidak dapat diubah lagi pada langkah selanjutnya).

Pada setiap langkah membuat pilihan optimum lokalDengan harapan bahwa langkah sisanya mengarah kesolusi optimum global.

Metode Greedy digunakan dalam menyelesaikan masalah Optimal Storage on Tapes Problem Knapsack Problem Minimum Spanning Tree Problem Shortest Path Problem

Penjelasan Storage on Tape Problen ada pada SLIDE.

Page 2: PERTEMUAN 12 - ayuanggrianihptik09.files.wordpress.com file · Web viewSetiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. ... Penggunaan 3 strategi diatas tidak

Knapsack Problem

Knapsack dapat diartikan sebagai karung, kantung, atau buntilan. Karung digunakan untuk memuat sesuatu. Dan tentunya tidak semua objek dapat ditampung di dalam karung. Karung tersebut hanya dapat menyimpan beberapa objek dengan total ukurannya (weight) lebih kecil atau sama dengan ukuran kapasitas karung. Setiap objek itupun tidak harus kita masukkan seluruhnya. Tetapi bisa juga sebagian saja. knapsack 0/1, yaitu suatu objek diambil seluruh bagiannya atau tidak sama sekali. Setiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. Tujuan ingin mendapatkan profit yang maksimal. Untuk mendapatkan profit maksimal Belum tentu menggunakan banyak objek yang masuk akan menguntungkan. Bisa saja hal yang sebaliknya yang terjadi. o Cara terbaik agar menguntungkan : bukan hanya dari hasilnya optimal tetapi

juga banyaknya langkah yang dibutuhkan

Knapsack 0/1

Diberikan n buah objek dan sebuah knapsack dengan kapasitas bobot W. Setiap objek memiliki properti bobot (weigth) wi dan keuntungan(profit) pi.

persoalan adalah memilih memilih objek-objek yang dimasukkan ke dalam knapsack sedemikian sehingga memaksimumkan keuntungan. Total bobot objek yang dimasukkan ke dalam knapsack tidak boleh melebihi kapasitas knapsack.

Solusi persoalan dinyatakan sebagai vektor n-tupel: X = {x1, x2, … , xn}

xi = 1 jika objek ke-i dimasukkan ke dalam knapsack, xi = 0 jika objek ke-i tidak dimasukkan.

Persoalan 0/1 Knapsack dapat kita pandang :sebagai mencari himpunan bagian (subset) dari keseluruhan objek yang muat ke dalam knapsack dan memberikan total keuntungan terbesar.

Penyelesaian dengan Greedy:1. Greedy by Profit

Pada setiap langkah Knapsack diisi dengan obyek yang mempunyai keuntungan terbesar.

Page 3: PERTEMUAN 12 - ayuanggrianihptik09.files.wordpress.com file · Web viewSetiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. ... Penggunaan 3 strategi diatas tidak

Strategi ini mencoba memaksimumkan keuntungan dengan memilih objek yang paling menguntungkan terlebih dahulu.

Pertama kali dilakukan adalah menurutkan secara menurun obyek-obyek berdasarkan profitnya . Kemudian obyek-obyek yang dapat ditampung oleh knapsack diambil satu persatu sampai knapsack penuh atau (sudah tidak ada obyek lagi yang bisa dimasukan).

Data awal : w1 = 6; p1 = 12 w2 = 5; p2 = 15 w3 = 10; p3 = 50 w4 = 5; p4 = 10 Kapasitas knapsack W = 16

2. Greedy by WightPada setiap langkah, knapsack diisi dengan objek yang mempunyai berat paling ringan. Strategi ini mencoba memaksimumkan keuntungan dengan memasukan sebanyak mungkin objek kedalam knapsack.

Pertama kali yang dilakukan adalah mengurutkan secara menaik objek-objek berdasarkan weight-nya. Kemudian obyek-obyek yang dapat ditampung oleh knapsack diambil satu persatu sampai knapsack penuh atau (sudah tidak ada obyek lagi yang bisa dimasukan).

Page 4: PERTEMUAN 12 - ayuanggrianihptik09.files.wordpress.com file · Web viewSetiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. ... Penggunaan 3 strategi diatas tidak

3. Greedy By DensityPada setiap langkah, knapsack diisi dengan obyek yang mempunyai densitas terbesar (perbandingan nilai dan berat terbesar).Strategi ini mencoba memaksimumkan keuntungan dengan memilih objek yang mempunyai keuntungan per unit berat terbesar.Pertama kali yang dilakukan adalah mencari nilai profit per unit/ density dari tiap-tiap objek. Kemudian obyek-obyek diurutkan berdasarkan densitasnya.Kemudian obyek-obyek yang dapat ditampung oleh knapsack diambil satu persatu sampai knapsack penuh atau (sudah tidak ada obyek lagi yang bisa dimasukan).

Perbandingan hasil:

Penggunaan 3 strategi diatas tidak menjamin akan memberikan solusi optimal.

CONTOH 2:

Kapasitas M=20, dengan jumlah barang =3Berat Wi masing-masing barang (W1,W2,W3) (18,15,,10)Nilai Profit masing-masing barang (P1,P2,P3) (25,24,15)

Pilih Barang dengan nilai profit maksimal P1=25 x1=1. batas atas nilaiP2=24 x2=2/15.P3=15 x3 =0. batas bawah nilai.

Page 5: PERTEMUAN 12 - ayuanggrianihptik09.files.wordpress.com file · Web viewSetiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. ... Penggunaan 3 strategi diatas tidak

Pilih barang dengan berat minimalW1 = 18 x1=0. batas bawahW2=15 x2 = 2/3W3=10 x3=1. batas atas.

Pilih barang dengan menghitung perbandingan yang terbesar dari profit dibagi Berat (Pi/Wi) diurut secara tidak naik.

P1/w1=25/18 (1.38) x1=0. karena terkecil x1=0P2/w2=24/ 15 (1.6) x2=1. karena terbesar x2=1P3/w3=15/10 (1.5) x3=1/2 dicari dengan fungsi pembatas x3=1/2.

Buat TabelSolusi (x1,x2,x3) Σwixi ΣpixiPi max 1,2/15,0 20 28.2Wi min 0,2/3,1 20 31.0Pi/Wi max 0,1,1/2 20 31.5

Nilai profit maksimal = 31.5.

Page 6: PERTEMUAN 12 - ayuanggrianihptik09.files.wordpress.com file · Web viewSetiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. ... Penggunaan 3 strategi diatas tidak

PERTEMUAN 13PENYELESAIAN DENGAN ALGORITMA PEMROGRAMAN GREEDY

PROSEDUR DALAM SLIDE

PROCEDURE GREEDY KNAPSACK (P, W, x, n)REAL P(1 : n), W(1 : n),x(1 : n),M,isi;INTEGER i, n;x(1 : n) ß 0 ; isi ß M ;FOR i ß 1 TO n DO

IF W(i) > Isi THEN EXIT ENDIFx(i) ß 1isi ß isi - W(i)

REPEATIF i £ n THEN x(i) ß isi/W(i) ENDIFEND_GREEDY KNAPSACK

Penjelasan program ada pada slide.

Model Graph Dalam metode GreedyGraphteori graph terdiri dari titik-titik. Bila dirangkaikan, titik-titk tersebut mebentuk suatu object yang kita kenal sebagai grafis.

Graph : Terdiri dari node dan Terdiri dari link

node disebut vertex link disebut edge informasi penting dlm graph adalah koneksi antar vertex

Page 7: PERTEMUAN 12 - ayuanggrianihptik09.files.wordpress.com file · Web viewSetiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. ... Penggunaan 3 strategi diatas tidak

Graph Berbobot

Contoh salah satu representasi visual dari graf adalah peta. representasi dari peta antara lain:

menentukan jalur terpendek dari satu tempat ke tempat lain menggambarkan 2 kota yang bertetangga dengan warna yang berbeda pada

peta menentukan tata letak jalur transportasi

Salah satu konsep graph yang banyak digunakan adalah konsep pohon.

Pohon adalah graf tak-berarah dan tidak berbentuk sirkuitT = ( V,E ) +

Keterangan : T : Tree V : Vertices atau node atau vertex atau simpul, V merupakan himpunan tidak kosong. V = {v1,v2,…,vn}E : Edges atau sisi yang menghubungkan simpul E = {e1,e2,…,en}

Minimum Spanning Tree

Page 8: PERTEMUAN 12 - ayuanggrianihptik09.files.wordpress.com file · Web viewSetiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. ... Penggunaan 3 strategi diatas tidak

Contoh kasus pada pemeliharaan jalan raya. Dengan Spanning Tree, pemerintah dapat mengalokasikan dana secara optimal dengan mencari jalur pemeliharaan dengan bobot biaya yang minimum.MST lintasan pada graf berbobot dengan jumlah bobot yang paling kecil. digunakan untuk memilih jalur dengan bobot terkrcil yang akan meminimalkan cost.

Algoritma Prim untuk membentuk pohon merentang dari Graph :1. Ambil sisi dari graf G yang berbobot merentang. ,masukkan kedalam T. 2. Pilih sisi (u,v) yang mempunyai bobot minimum dan bersisian dengan simpul di T,

tetapi (u,v) tidak membentuk sirkuit di T. Tambahkan(u,v)ke dalamT3. Ulangi langkah 2 sebanyak n 2 kali.

Proses pembentukan pohon merentang (spanning tree).

Page 9: PERTEMUAN 12 - ayuanggrianihptik09.files.wordpress.com file · Web viewSetiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. ... Penggunaan 3 strategi diatas tidak

Pada setiap langkah dipilih sisi graf G yang mempunyai bobot minimum dan terhubung dengan MST yang telah terbentukKriteria2 dr spanning tree, yakni :

1. Setiap ruas pada graph harus terhubung (conected)2. Setiap ruas pd graph hrs mpy nilai (label graph)

3. Setiap ruas pd graph tdk mpy arah (graph tdk berarah)

Page 10: PERTEMUAN 12 - ayuanggrianihptik09.files.wordpress.com file · Web viewSetiap objek mempunyai nilai keuntungan atau yang disebut dengan profit. ... Penggunaan 3 strategi diatas tidak

Proses.Total minimum cost terbentuknya graph dgn tahapan sbb:• Dari graph yg tetbentuk, apakah memenuhi kriteria MST.• Lakukan secara urut dr simpul ruas awal s/d ruas akhir• Pada setiap simpul ruas perhatikan nilai/cost dr tiap-tiap ruas• Ambil nilai yg paling kecil (jarak tertpendek setiap ruas).• Lanjutkan s/d semua simpul ruas tergambar pd spanning tree• Jumlahkan nilai/cost yg dipilih tadi.

Contoh :

SHORTEST PATH PROBLEM

• Permasalahan= menghitung jalur terpendek dari sebuah graph berarah. • bagaimana mencari sebuah jalur pada graf yang meminimalkan jumlah bobot

sisi pembentuk jalur tersebut.

Ada beberapa macam persoalan lintasan terpendek,antara lain:a. Lintasan terpendek antara dua buah simpul tertentu (a pair shortets path).b. Lintasan terpendek antara semua pasangan simpul (all pairs shortest path). c. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain (single-source shoertes

path).d. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu

(intermediate shortest path).

Kriteria utk permasalahan jalur terpendek/SP problem tsb :1. Setiap ruas pd graph hrs mpy nilai (label graph)2. Setiap ruas pd graph tdk hrs terhubung (unconnected)3. Setiap ruas pd graph tsb hrs mempunyai arah (graph berarah).