Anda di halaman 1dari 31

Isnaini Nurisusilawati

Metode pemecahan masalah dengan cara menguraikan


solusi menjadi sekumpulan langkah (step) atau
tahapan (stage) sehingga solusi dari persoalan dapat
dipandang dari serangkaian keputusan yang saling
berkaitan
Mahasiswa dapat memahami setiap keputusan optimal yang akan
diambil dengan menggunakan banyak tahapan
Mahasiswa dapat memahami keterkaitan alur tahapan-tahapan
dalam menyelesaikan permasalahan sehingga dapat memperoleh
keputusan yang optimal
 Metode ini tidak memiliki rumusan matematika yang standar untuk
memecahkan masalah. Setiap masalah dalam pemrograman dinamis memerlukan
pola pendekatan atau penyelesaian yang berbeda satu sama lainnya.
 Terdapat kesamaan dari setiap penyelesaian masalah, dimana setiap keputusan
optimal yang diambil diperoleh dari banyak tahap.
 Hasil dari sebuah tahap akan berdampak atau menjadi masukan bagi tahap
berikutnya. Stage dan state berikutnya sepenuhnya ditentukan oleh state dan
keputusan pada stage saat itu.
Model keputusan pemrograman dinamis terdiri atas:
1. Tahap (stage) : titik suatu keputusan
2. Status (state) : parameter masukan (possible decision)
3. Transformasi (transformation) : aturan yang mengarahkan
keputusan
Keputusan

Masukan Tahap Keluaran

Transformasi
Model Keputusan dengan Tahap Tunggal
Xn Keputusan
(decision)

Sn n 𝑆𝑛
Status input Status output
(input state) (output state)

gn = r n(sn, xn)

Fungsi kontribusi
(contribution function)
Model Keputusan dengan Tahap Majemuk

Tahap … Tahap Tahap Tahap … Tahap


1 n-1 n n+1 N
Dua pendekatan Pemrograman Dinamis
1. Pemrograman dinamis Maju (forward atau up-down)
Pemrograman dinamis bergerak mulai dari tahap 1, terus maju ke tahap 2, 3,
dan seterusnya sampai tahap n. Runtunan peubah keputusan adalah X1, X2,
…, Xn.

X1 Xn-1 Xn Xn+1 XN

Tahap S1 Tahap Sn-1 Tahap Sn Tahap Sn+1 SN Tahap


1 𝑆𝑛 − 1 n-1 𝑆𝑛 n 𝑆𝑛 n+1 N 𝑆𝑁
𝑆1 +1

g1 gn-1 gn g1 gN
Dua pendekatan Pemrograman Dinamis
2. Pemrograman dinamis Mundur (backward atau bottom-up)
Pemrograman dinamis bergerak mulai dari tahap n, terus mundur ke tahap
n-1, n-2, dan seterusnya sampai tahap 1. Runtutan peubah keputusan adalah
Xn, Xn-1, …, X1.
X1 Xn-1 Xn Xn+1 XN

S1 Tahap Sn-1 Tahap Sn Tahap Sn+1 Tahap SN Tahap


1 𝑆1 n-1 𝑆𝑛 − 1 n 𝑆𝑛 n+1 𝑆𝑛 + 1 N 𝑆𝑁

g1 gn-1 gn g1 gN
Tahap (n)

Variabel Status
(Sn)
Variabel
Keputusan (Xn)
Komponen .
Fungsi
Pemrograman dinamis

Kontribusi
Maju
deterministik

Prosedur
Fungsi Transisi
Pemecahan
Mundur
Hubungan
Minimasi rekursif
Ongkos
Maksimasi
Tipe Persoalan
Income

Penugasan
1. Tentukan prosedur pemecahan (maju atau mundur)

2. Definisikan tahap (n)

3. Definisikan variabel status pada tiap tahap (Sn)

4. Definisikan variabel keputusan pada tiap tahap (Xn)

5. Definisikan fungsi kontribusi pada tiap tahap


gn = rn(sn, xn)

6. Definisikan fungsi transisi


Prosedur maju : Sn-1 =t(sn, xn)
Rekursif mundur : Sn+1 =t(sn, xn)

7. Definisikan hubungan rekursif

8. Lakukan perhitungan

9. Tentukan kebijakan optimal


Hubungan rekursif maju Hubungan rekursif mundur
+ fn(sn, xn) = gn + fn-1(sn-1)* fn(sn, xn) = gn + fn+1(sn+1)*
x fn(sn, xn) = gn x fn-1(sn-1)* fn(sn, xn) = gn x fn+1(sn+1)*
max fn(sn, xn) = max{gn , fn-1(sn-1)*} fn(sn, xn) = max{gn , fn+1(sn+1)*}
min fn(sn, xn) = min{gn , fn-1(sn-1)*} fn(sn, xn) = max{gn , fn-1(sn-1)*}

Keterangan:
fn(sn, xn) = harga max (atau min) dari fungsi tujuan bila berada di tahap n dan
memilih xn sebagai variabel keputusan.
gn = fungsi kontribusi (hubungan antara tahap-tahap keputusan)
fn-1(sn-1)* =harga max (atau min) dari fn-1(sn-1, xn-1) di antara berbagai xn
Seorang pembisnis akan pergi dari kota A ke kota J dengan menggunakan
kendaraan umum. Banyak kemungkinan jalan yang dapat digunakan dari A menuju J.
Pebisnis tersebut menginginkan perjalanan dari A menuju J dengan biaya paling
murah. Besar biaya dan rute dari A menuju J disajikan dengan gambar berikut:
 Definisi Masalah
1. Pemecahan mundur
2. Tahap  n = daerah simpul
3. Status/kondisi tahap n  sn = kota asal pada tahap n
4. Keputusan pada tahap n  xn = kota yang harus ditempuh (yang dipilih)
5. Fungsi transisi  sn+1 = xn (status pada tahap 4 adalah pilihan pada tahap 3)
6. Fungsi kontribusi pada tahap n  gn = cs(xn) (cost pada setiap pilihan)
7. Hubungan rekursif  fn*(sn) = min fn(sn, xn) (minimasi fungsi ongkos)
Dengan:
fn(sn, xn) = cs(xn) ; n = 4 (ongkos ketika di tahap 4)
fn(sn, xn) = cs(xn) + fn+1*(sn) ; n = 1, 2, 3
n=1 n=2 n=3 n=4
 Pilih variabel keputusan xn (n= 1,2,3,4) sebagai kota
yang harus ditempuh pada tahap n. Sehingga, rute
keseluruhannya adalah x1  x2  x3  x4 (dengan x1 =
A dan x4 = J).
 Pilih fn(sn, xn) sebagai biaya total sampai pada kondisi s,
siap berangkat ke tahap n, dengan memilih xn sebagai
kota tujuan berikutnya.
 Pada kondisi s dan tahap n, gunakan xn* sebagai
sembarang nilai yang meminimumkan fn(sn, xn),
gunakan fn*(sn) sebagai nilai minimum dari fn(sn, xn).
 fn*(sn) = min fn(sn, xn) = fn(sn, xn*) dengan fn(sn, xn)
adalah biaya sekarang (tahap n) + minimum biaya
(tahap n+1 dan selanjutnya) atau fn(sn, xn) = cs(xn) +
fn+1*(xn)
 Tahap 4
Pada tahap akhir n=4, maka perjalanannya hanya ditentukan oleh kondisi sekarang s
(H atau I) dan tujuan akhir J sehingga f4*(s) = f4(s, J) = cs(J)

n=1 n=2 n=3 n=4


n=4

s f 4 = c4 f4*(s) x4*
J
H 3 3 J
I 4 4 J

Tabel pada tahap akhir n=4

s f4*(s) x4*

H 3 J
I 4 J

Tabel diatas menyajikan fakta bahwa jika pebisnis sudah


sampai di H maupun I, maka solusi feasible nya adalah x4* = J
 Tahap 3
Pada tahap n=3, maka perjalanannya memerlukan beberapa perhitungan. Misalkan
dia sudah sampai di kota F, maka dia bisa melaju ke kota H atau I, dengan biaya pada
tahap ini adalah cf(H) = 6 atau cf(I) = 3.
n=1 n=2 n=3 n=4
n=3
s f3 = c3 + f4* f3*(s) x3*
H I
E 1+3 = 4 4+4 = 8 4 H
F 6+3 = 9 3+4 = 7 7 I
G 3+3 = 6 3+4 = 7 6 H

E, H  4 = 1+3
E, I  8 = 4+4
F, H  9 = 6+3
s f4*(s) x4* F, I  7 = 3+4
G, H  6 = 3+3
H 3 J G, I  7 = 3+4
I 4 J
Tahap 2
n=2
s f2 = c2 + f3* f2*(s) x2*
E F G
B 7+4 = 11 4+7 = 11 6+6 = 12 11 E,F
C 3+4 = 7 2+7 = 9 4+6 = 10 7 E
D 4+4 = 8 1+7 = 8 5+6 = 11 8 E,F

B, E  11 = 7+4
B, F  11 = 4+7
B, G  12 = 6+6
s f3 = c3 + f4* f3*(s) x3* C, E  7 = 3+4
C, F  9 = 2+7
H I
C, G  10 = 4+6
E 4 8 4 H D, E  8 = 4+4
F 9 7 7 I D, F  8 = 1+7
G 6 7 6 H D, G  11 = 5+6
Tahap 1
n=1
s f1 = c1 + f2* f1*(s) x1*
B C D
A 2+11 = 13 4+7 = 11 3+8 = 11 11 C, D

A, B  13 = 2+11
A, C  11 = 4+7
A, D  11 = 3+8

s f2 = c2 + f3* f2*(s) x2*


E F G
B 11 11 12 11 E,F
C 7 9 10 7 E
D 8 8 11 8 E,F
x1 f1 = c1 + f2* f1*(s) x1* x2 f2 = c2 + f3* f2*(s) x2*
s B C D s E F G
A 13 11 11 11 C, D B 11 11 12 11 E,F
C 7 9 10 7 E
D 8 8 11 8 E,F
x3 f3 = c3 + f4* f3*(s) x3*
s H I
x4 f4 = c4 f4*(s) x4*
E 4 8 4 H s J
F 9 7 7 I
H 3 3 J
G 6 7 6 H
I 4 4 J

Lintasan 1 : A  C  E  H  J
Lintasan 2 : A  D  E  H  J
Lintasan 3 : A  D  F  I  J
 Sebuah perusahaan memiliki kapasitas produksi sebesar 700 ton per bulan. Distribusi
produk dilakukan melalui transportasi darat untuk menghemat biaya pengiriman. Pasar
yang dituju adalah pasar A, B, dan C. Dari pengalaman yang ada, return dari setiap
pasar dapat dilihat pada tabel berikut:

Jumlah produk Return dari Return dari Return dari


(ratus ton) kota A (Rp) kota B (Rp) kota C (Rp)
0 0 0 0
1 0,8 0,6 0,6
2 1,5 1,2 1,2
3 2,3 2 1,9
4 3 2,8 2,8
5 3,6 3,6 3,6
6 4 4 4,7
7 4,4 4,3 5,4

 Bagaimana distribusi produk harus dilakukan oleh perusahaan agar diperoleh


hasil atau return yang optimal?
 Definisi masalah
1. Pemecahan maju
2. Tahap  n = pasar yang dituju
3. Status/kondisi tahap n  sn = jumlah hasil produksi yang masih tersisa pada
tahap n
4. Keputusan pada tahap n  xn = jumlah (dalam ratus ton) yang harus dikirim ke
tiap-tiap pasar
5. Fungsi transisi  sn-1 = sn - xn
6. Fungsi kontribusi pada tahap n  gn = r n(xn) (return pada tahap n)
7. Hubungan rekursif  fn*(sn) = max fn(sn, xn) (maksimasi income)
Dengan:
fn(sn, xn) = rn(xn) ; n = 1 (return ketika di tahap 1)
fn(sn, xn) = rn(xn) + fn-1*(sn-1) ; n = 2, 3
Perhitungan akan dimulai dari pasar A, B, dan diakhiri dengan perhitungan return di
pasar C. Persamaan dasar yang dipakai adalah
fn(x) = max {r n(xn) + fn-1(x-xn)
Dari persamaan dasar diatas, berarti nilai f1(x) akan menentukan nilai f2(x) dan nilai
f2(x) ini akan menentukan nilai f3(x).
 Tahap 1
 Tahap 2
 Tahap 3
 Bila terdapat nilai f(x) optimal yang diperoleh dari 2 atau lebih nilai x, maka
seluruh nilai x yang menghasilkan f(x) optimal tersebut dituliskan dalam tabel.
 Pengambilan keputusan dilakukan dengan melihat mulai dari tahap terakhir yang
dilakukan, yaitu tahap 3 (pasar C). Pada tahap ini, seluruh jumlah pengiriman
masih dapat digunakan sehingga status sistemnya adalah s=7. Pada pasar C untuk
s=7, nilai optimalnya adalah 5,5. Nilai x optimal untuk f(x)=5,5 adalah 6
pengiriman.
 Dilakukannya 6 pengiriman ke kota C menyebabkan perubahan state di tahap 2
(pasar B). Penggunaan 6 pengiriman di kota C menyebabkan sisa pengiriman
menjadi 7-6=1. Maka, status di kota B adalah s=1. Bila s=1 di kota B, maka nilai f(x)
optimal adalah 0,8 dengan nilai x optimal adalah 0 pengiriman.
 Penggunaan 0 pengiriman di kota B menyebabkan status di kota A adalah s=1.
Maka, nilai f(x) optimal adalah 0,8 dengan nilai optimal adalah 1. Sehingga,
penggunaan 6 pengiriman di kota C dan 1 kiriman di kota A menjadi suatu
keinginan positif.
 Nilai keuntungan maksimal yang diperoleh adalah:
keuntungan 6 pengiriman di kota C + keuntungan 1 pengiriman di kota A
4,7 + 0,8 = 5,5
 Kesimpulan:
 Bila kapasitas produksi perusahaan dimaksimalkan sehingga dapat berproduksi
sebanyak 700 ton dan akan dikirimkan dalam 7 kali pengiriman, maka agar hasilnya
optimal, distribusi yang paling baik adalah 6 pengiriman ditujukan untuk kota C dan 1
pengiriman ditujukan untuk kota A.
 Hasil optimal dengan model distribusi tersebut adalah RP 5,5 dan ini adalah tertinggi
dibandingkan dengan alternative-alternative distribusi pengiriman yang lainnya.
 Dalam kasus ini, terdapat lebih dari satu f(x) yang memiliki lebih dari satu nilai optimal.
Maka, seluruh nilai x optimal dituliskan dalam tabel dan seluruh x yang ada dapat
dikombinasikan sehingga akan terdapat beberapa alternatif solusi yang menghasilkan
nilai keuntungan yang sama.
 Sebuah perusahaan memiliki kapasitas produksi sebesar 400 ton per bulan.
Distribusi produk dilakukan melalui transportasi darat dan laut untuk menghemat
biaya pengirimannya. Pasar yang dituju adalah pasar A, B, dan C.

Jumlah produk Return dari kota Return dari kota Return dari kota
(ratus ton) A (Rp) B (Rp) C (Rp)
0 0 0 0
1 8 6 6
2 10 12 17
3 23 15 18
4 30 27 25

 Tentukan solusi optimum pseroalan diatas dengan cara penugasan!


 Sebuah kapal bermuatan 3 jenis barang. Setiap jenis barang (i) mempunyai berat
(wi) dan nilai (vi). Maksimal berat muatan yang dapat dibawa kapal adalah 5
dengan detail dari 3 item adalah sebagai berikut:

i wi vi
1 1 30
2 3 80
3 2 65

Kembangkan persamaan rekursif untuk kasus di atas dan temukan beban muatan
dengan nilai maksimal tanpa melebihi berat maksimal muatan dengan
menggunakan pemograman dinamis!

Anda mungkin juga menyukai