1. PROGRAM DINAMIK
PENDAHULUAN
Definisi 1.1:
Program dinamik adalah suatu teknik matematik untuk menentukan serangkaian
keputusan yang saling terkait, serta memberikan suatu
prosedur yang sistematik untuk menentukan kombinasi
optimal dari keputusan yang hendak ditentukan itu.
CONTOH PROTOTYPE
Contoh 1.2:
Ada seorang pengembara yang hendak berjalan dari Kota A menuju Kota J,
ditangannya terbentang sehelai peta yang mengambarkan arah perjalanan beserta
jaraknya. Jalan-jalan yang manakah yang harus dipilih oleh pengembara ini agar
jarak tempuh yang akan dilaluinya sependek mungkin.
7
B E
4 1
6 4
H 3
2 3 6
A 4 C 2 F
4 3 J
3
4
I
3
state 4 1 G 3
D 5
Penyelesaian
Permasalahan di atas dapat dibagi menjadi 4 tahapan (stage) seperti terlihat pada
gambar. Pada tiap tahapan ini akan ditentukan :
Peubah keputusan : xn (n = 1,2,3,4) adalah tujuan langsung pada stage n
Jalur yang dipilih : A x1 x2 x3 x4 = J
Misalkan fn(s,xn) adalah total jarak yang terpendek ditempuh dari seluruh
kebijakan (polcy) untuk tahapan-tahapan yang tersisa, pada saat pengembara
ini berada di state s dan siap untuk memulai tahapan ke-n serta memilih xn
sebagai tujuan berikutnya.
Diberikan s dan n
Misalkan xn* menunjukkan nilai xn yang meminimumkan fn(s,xn) dan
fn*(s) adalah nilai minimumnya, yaitu :
*
fn*(s) = min fn(s,xn) = fn(s,xn ) dimana
Xn
fn(s,xn) = Biaya pada tahapan ke-n + Biaya minimum pada tahapan ke-n+1
(x )
=C + f*
sxn n+1 n
karena tujuan akhir (state J) dicapai pada tahapan terakhir yaitu tahapan ke-4,
maka f* (J)
5 =0
*
Tujuan : mendapatkan f 1(A) dan jalur-jalur yang bersesuaian.
Ada dua kemungkinan, yaitu :
Prosedur Penyelesaian
n=4
S f4*(s) x4*
H 3 J
I 4 J
n=3
x3 f3(s,x3)=csx3 + f4*(x3) f3*(s) x3*
s 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
n=2
x2 f2(s,x2)=csx2 + f3*(x2) f2*(s) x2*
S 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
n=1
x1 f1(s,x1)=csx1 + f2*(x1) f1*(s) x1*
S B C D
A 2+11=13 4+7=11 3+8=11 11 C/D
(2) Tiap tahapan memiliki sejumlah state yang bersesuaian dengannya. Secara
umum, state memiliki berbagai macam kemungkinan kondisi tergantung pada
sistem yang ada pada tahapan masalah tersebut. Jumlah dari state mungkin
terbatas mungkin pula tak terbatas.
(3) Efek dari kebijakan keputusan yang diambil pada tiap tahapan adalah untuk
mentransformasikan state pada saat itu ke state yang bersesuaian pada tahapan
berikutnya (dimungkinkan juga sebuah sebuah distribusi probabilitas)
(5) Diberikan state saat ini, kebijakan optimal untuk tahapan yang tersisa
independen terhadap kebijakan yang diambil pada tahapan-tahapan
sebelumnya. (Principle of optimality for dinamic programming)
(8) Jika relasi rekursif ini digunakan, prosedur penyelesaian berpindah mundur
tahapan demi tahapan. Tiap kali mendapatkan kebijakan optimal untuk
tahapan tersebut hingga didapat kebijakan optimal yang diawali pada tahapan
mula-mula.
State : Sn Sn
Kontribusi dari xn
fn(sn,xn) f*n+1(sn+1 )
Contoh 1.3:
WHO bermaksud untuk menyempurnakan pelayanan kesehatan di negara-negara
yang sedang berkembang. Saat ini WHO mempunyai 5 team kesehatan yang
harus ditempatkan di 3 negara. WHO harus menentukan berapa team yang harus
ditempatkan di tiap-tiap negara, sehingga keefektifan total dari kelima tim ini
dapat dimaksimumkan. Sebagai alat ukur dari keefektifan ini ialah pertambahan
umur (ribuan orang/tahun) jika tim ini datang ke negara itu.
Penyelesaian
Tahapan : Negara (1,2,3)
Peubah keputusan : xn = jumlah team yang akan dialokasikan di negara n
(n = 1,2,3)
State dari sistem : sn = jumlah team medis yang masih tersedia untuk
dialokasikan pada negara-negara yang belum
menerima bantuan, yaitu n,,3
x s
i1
i n , xi nonnegatif integer, n = 1,2,3
selanjutnya :
state Sn xn
Sn - Xn
*
fn(sn,xn) pn(xn) f n+1
= pn(xn) + f *n+1
(sn-xn)
Prosedur
n=3
s3 f3*(s3) x3*
0 0 0
1 50 1
2 70 2
3 80 3
4 100 4
5 130 5
n=2
n=1
Penyelesaian optimal :
x1* = 1, s2 = 5 -1 = 4
x2* = 3, s2 = 4 -3 = 1
x3* = 1, dengan f1*(s) = 170
Contoh 1.4:
Nasa sedang mengadakan riset untuk mengatasi masalah rekayasa tertentu yang
harus diselesaikan sebelum orang dapat terbang ke planet Mars dengan selamat.
Tiga team ilmuwan sedang mencoba tiga pendekatan untuk menyelesaikan
masalah ini. Diberikan tabel estimasi probabilitas yang menyatakan kegagalan
bila ditambahkan 0,1,2 ilmuwan pada team tersebut.
Jumlah ilmuwan Probabilitas Kegagalan
baru Team
1 2 3
0 0.40 0.60 0.80
1 0.20 0.40 0.50
2 0.15 0.20 0.30
Bagaimana cara mengalokasikan ilmuwan-ilmuwan baru ini agar didapat
probabilitas kegagalan minimum dengan menggunakan metode programa
dinamis?
Contoh 1.5
Beban kerja pada suatu perusahaan yang menerapkan local job shop berfluktuasi
secara musiman. Namun demikian, terdapat kesulitan untuk mempekerjakan
operator-operator mesin dan biaya trainingnya mahal. Karena itu pihak manajer
agak segan untuk mengurangi jumlah pekerja selama jumlah permintaan sedikit.
Dia lebih menyukai untuk mengeluarkan pembayaran seperti pada saat jumlah
permintaan banyak walaupun hal ini tidak diperlukan. Dia juga tidak menyukai
kerja lembur. Karena seluruh pekerjaan dilakukan dengan cara-cara biasa,
tidaklah dimungkinkan adanya inventori selama jumlah permintaan sedikit.
Bagaimana kebijakan yang harus diambil oleh manajer ini dengan menggunakan
metode programa dinamis?
Jumlah pekerja tidak boleh lebih rendah dari kebutuhan di atas. Jika jumlah
pekerja melebihi kebutuhan, akan terjadi pemborosan sebesar
$2000/orang/musim. Estimasi dari biaya mengangkat dan memecat pegawai
sedemikian hingga total biaya dari perubahan jumlah pekerja dari satu musim ke
musim berikutnya adalah $200 kali kuadrat beda jumlah / level pekerja. Jumlah
pekerja ini mungkin berupa pecahan, karena adanya pekerja paruh waktu,
demikian juga dengan upahnya.