Post on 13-Feb-2018
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 2/18
Pada persoalan ini,1. Tahap (k ) adalah proses memasukkan barang ke dalam
karung (knapsack ).2. Status ( y ) menyatakan kapasitas muat karung yang tersisa
setelah memasukkan barang pada tahap sebelumnya.
Dari tahap ke-1, kita masukkan objek ke-1 ke dalam karunguntuk setiap satuan kapasitas karung sampai batas
kapasitas maksimumnya. Karena kapasitas karung adalahbilangan bulat, maka pendekatan ini praktis.
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 3/18
Pertimbangkan untuk memuat sebuah kapaldengan persediaan barang N
Setiap unit barang I memiliki beban w i dan nilai v i (i=1, 2, , …, N)
Beban muatan maksimum adalahW Hal itu diperlukan untuk menentukan muatan
barang yang paling bernilai tanpa melebihi bebanmaksimum kapal Secara khusus, pertimbangkan kasus khusus
tentang tiga barang berikut ini dan asumsikan
bahwa W =5
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 4/18
Contoh:
i wi vi
1 2 65
2 3 80
3 1 30
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 5/18
Pertimbangkan masalah umum barang N terlebih dahulu.
Jika k i adalah adalah jumlah unit barang i,
maka masalah menjadi:
Maksimumkan v1k 1 + v2k 2+…. + v Nk N
Dengan batasan
w1k 1 + w2k 2 + ….. + w Nk N ≤W
k i integer nonnegative
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 6/18
Model DP disusun dengan terlebih dahulu mempertimbangkan
ketiga unsur
1.
Tahap j diwakili oleh barang j, j=1,2,…., N
2. Keadaan y j pada tahap j adalah jumlah beban yang
diberikan pada tahap j, j+1,….,N ; y1=W dan y j=0, 1, …,
untuk j=2,3, …,N
3. k j alternatif pada tahap j adalah jumlah unit barang j
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 7/18
ersamaan rekursif mundur
f N (y N )=max{v N k N } basis
f j(y j )=max{v jk j+f j+1(y j-w jk j )} rekurens
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 8/18
Tahap 3
f 3(y3 )=max{30k 3 } max k 3=[5/1]=5
y3 30k 3 Solusi Optimalk 3=0 1 2 3 4 5 f 3(y3 ) k 3*
v3k 3=0 30 60 90 120 150
0 0 0 0
1 0 30 30 1
2 0 30 60 60 23 0 30 60 90 90 3
4 0 30 60 90 120 120 4
5 0 30 60 90 120 150 150 5
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 9/18
Tahap 2
f 2(y2 )=max{80k 2+f 3(y2-3k 2 )} max k 2=[5/3]=1
y2 80k 2+f 3(y2-3k 2 ) SolusiOptimal
k 2=0 1 f 2(y2 ) k 2*
v2k 2=0 80
0 0+0=0 0 0
1 0+30=30 30 0
2 0+60=60 60 0
3 0+90=90 80+0=80 90 0
4 0+120=120 80+30=110 120 0
5 0+150=150 80+60=140 150 0
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 10/18
Tahap 1
f 1(y1 )=max{65k 1+f 2(y1-2k 1 )} max k 1=[5/2]=2
y1 65k 1+f 2(y1-2k 1 ) SolusiOptimal
k 1=0 1 2 f 1(y1 ) k 1*
v1k 1=0 65 130
5 0+150=150 65+90=155 130+30=160
160 2
Pemecahan Optimum yang berhubungan [k 1* , k 2
* k 3* ]=[2,0,1]
jumlah nilai 160
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 11/18
Contoh:
i wi pi
1 2 65
2 3 80
3 1 30
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 12/18
Misalkan ketika memasukkan objek pada
tahap k , kapasitas muat karung sekarang
adalah y – w k .
Untuk mengisi kapasitas sisanya, kita
menerapkan prinsip optimalitas dengan
mengacu pada nilai optimum dari tahapsebelumnya untuk kapasitas sisa
y – w k ( yaitu f k -1( y – w k )).
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 13/18
Selanjutnya, kita bandingkan nilai
keuntungan dari objek pada tahap k (yaitu pk )
plus nilai f k -1( y – w k ) dengan keuntungan
pengisian hanya k –
1 macam objek, f k -1( y ).
Jika pk + f k -1( y – w k ) lebih kecil dari f k -1( y ),
maka objek yang ke-k tidak dimasukkan kedalam karung, tetapi jika lebih besar, maka
objek yang ke-k dimasukkan.
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 14/18
Relasi rekurens untuk persoalan ini adalah
f 0( y) = 0, y = 0, 1, 2, …, M (basis)
f k ( y) = -, y < 0 (basis)
f k ( y) = max{ f k -1( y), pk + f k -1( y – wk )}, (rekurens)k = 1, 2, …, n
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 15/18
f k ( y ) adalah keuntungan optimum dari persoalan0/1 Knapsack pada tahap k untuk kapasitas karungsebesar y .
f 0( y ) = 0 adalah nilai dari persoalan knapsack kosong(tidak ada persoalan knapscak ) dengan kapasitas y ,
f k ( y ) = - adalah nilai dari persoalan knapsack untuk
kapasitas negatif. Solusi optimum dari persoalan 0/1Knapsack adalah f n(M).
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 16/18
Tahap 1:
f 1( y) = max{ f 0( y), p1}
= max{ f 0( y), 65 }
y
Solusi Optimum
f 0( y) 65 f 1( y) x1*
0 0 0 0
1 0 0 0
2 0 65 65 1
3 0 65 65 1
4 0 65 65 1
5 0 65 65 1
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 17/18
Tahap 2:
f 2( y) = max{ f 1( y), p2 + f 1( y – w2)}
= max{ f 1( y), 80 + f 1( y – 3)}
y
Solusi Optimum
f 1( y) 80 + f 1( y – 3) f 2( y) x2*
0 0 0 01 0 0 0
2 65 65 0
3 65 80 + 0 = 80 80 1
4 6580 + 0 =
80
80 1
5 65 80 + 65 = 145 145 1
7/23/2019 Program Dinamis 17042014
http://slidepdf.com/reader/full/program-dinamis-17042014 18/18
Tahap 3:
f 3( y) = max{ f 2( y), p3 + f 2( y – w3)}
= max{ f 2( y), 30 + f 2( y – 1)}
y
Solusi Optimum
f 2( y) 30 + f 2( y – 1) f 3( y) x3*
5 145 30 + 80 = 110 145 0
Solusi optimum X = (1, 1, 0) dengan p = f = 145.