Anda di halaman 1dari 4

Algorithm Design and Analysis

Nama : Muhammad Rizal Ariyanto


NIM : 2402008573
Kelas : LNCA
Diskusi : Forum Session 5

Knapsack Problem
Metode Greedy menyelesaikan masalah tanpa melihat keseluruhan permasalahan, tetapi
lebih mengutamakan hasil yang maksimal untuk ruang lingkup yang kecil-kecil. Knapsack
Problem adalah contoh problem yang bisa diselesaikan dengan metode ini, dimana dalam
masalah ini kita diharapkan untuk membawa barang bernilai semaksimal mungkin dengan
kapasitas kantong yang terbatas. Di thread ini silakan berikan contoh2 dari variasi problem
knapsack (salah satu saja) dan jelaskan apakah penyelesaiannya dengan metode greedy
bisa optimal atau tidak.

JAWABAN

 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.
 Cara terbaik agar menguntungkan : bukan hanya dari hasilnya optimal tetapi juga
banyaknya langkah yang dibutuhkan
Algorithm Design and Analysis

Knapsack 0/1

Diberikan n buah objek dan sebuah knapsack dengan kapasitas bobot W.


Setiap objek memiliki properti bobot (weight) Wi dan keuntungan(profit) Pi.
Persoalan adalah 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.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
Algorithm Design and Analysis

w2 = 5; p2 = 15
w3 = 10; p3 = 50
w4 = 5; p4 = 10
Kapasitas knapsack W = 16

2. Greedy by Weight
Pada 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).
Algorithm Design and Analysis

3. Greedy By Density
Pada 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.

Anda mungkin juga menyukai