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 0/1
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.
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.
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: