TUGAS PENELITIAN OPRASIONAL II TUGAS PENELITIAN OPRASIONAL II
PROGRAMA DINAMIS
PROGRAMA DINAMIS
Oleh : Oleh : RAGA FIANDITA RAGA FIANDITA 131022021 131022021 TEKNIK INDUSTRI TEKNIK INDUSTRIFAKULTAS TEKNOLOGI INDUSTRI FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT SAINS DAN TEKNOLOGI AKPRIND INSTITUT SAINS DAN TEKNOLOGI AKPRIND
YOGYAKARTA YOGYAKARTA
2014 2014
BAB I
PENDAHULUAN 1.1. Latar Belakang
Dalam kehidupan nyata sering dijumpai masalah pengambilan keputusan yang meliputi beberapa periode waktu. Program Dinamis adalah teknik untuk pengambilan keputusan yang digunakan untuk pengambilan keputusan yang terdiri dari beberapa tahapan. Permasalalahan yang akan diselesaikan diuraikan menjadi sub persoalan yang saling berhubungan. Tujuan Program Dinamis adalah mengoptimalkan urutan keputusan.
Program Dinamis diterapkan pada persoalan bisnis dan industri, a.l. masalah penjadualan produksi, pengendalian persediaan, analisa jaringan, dan lain sebagainya. Contohnya seorang produsen menjadualkan tingkat produksi tahunannya ke dalam mingguan, bulanan atau triwulanan agar dapat memenuhi permintaan tahunan. Jika dia memproduksi lebih dari permintaan, dia harus mengeluarkan biaya persediaan, karena menyimpan kelebihan produksi. Sebaliknya jika produksi dibawah jumlah permintaan, dia akan mengalami kerugian dalam kesempatan membuat untung dan juga kehilangan kepercayaan pembeli. Dia mungkin juga harus membayar penalti karena tidak dapat memenuhi kontrak. Pimpinan produksi harus membuat urutan keputusan untuk setiap periode, yang akan berdampak pada keputusan berikutnya. Masalah optimasi pada kasus ini adalah meminimalkan keseluruhan biaya produksi dan persediaan (dua penalti, jika ada) yang memenuhi kebutuhan permintaan.
Teknik pemecahan pada programa dinamis ini beragam, tergantung pada sifat dan struktur dari masalah yang diselesaikan. Hal ini lain dari programa linier, dimana setiap masalah dipecahkan dalam pola yang spesifik.
1.2. Tujuan
Programa dinamis yang dipelajari ini bertujuan untuk melatih kemampuan dalam menyelesaikan permasalahan dengan mengoptimalkan urutan masalah tersebut.
1.3. Manfaat
a. Mahasiswa dapat mengurutkan tahapan dari suatu masalah.
b. Mahasiswa dapat mengambil keputusan dari tahapan permasalahan secara optimal.
BAB II
LANDASAN TEORI 2.1. Programa Dinamis
Pemrograman dinamis ini pertama kali dikembangkan oleh seorang ilmuwan benama Richard Bellman pada tahun 1957. Apabila dalam riset operasional yang lain, memiliki formulasi standar untuk memecahkan masalah, maka dalam pemrograman dinamis ini tidak ada formulasi yang standar, artinya setiap masalah dalam pemrograman dinamis memerlukan pola pendekatan atau penyelesaian yang berbeda satu dengan lainnya. Oleh karena itu perlu berlatih soal sebanyak mungkin untuk mendapatkan banyak bentuk penyelesaian kasus yang berbeda-beda.
Pemrograman dinamis adalah teknik matematik yang dapat diterapkan pada berbagai jenis persoalan. Ia dapat digunakan untuk menyelesaikan pesoalan dalam area seperti alokasi, pemuatan kargo, penggantian, pembuatan jadwal, dan inventory. Meskipun demikian, program dinamik adalah 'pendekatan' untuk penyelesaian persoalan dan bukan algoritma tunggal yang dapat digunakan untuk menyelesaikan semua jenis persoalan. Jadi, diperlukan algoritma terpisah untuk menyelesaikan setiap jenis persoalan.
Pendekatan program dinamik meliputi optimisasi proses keputusan multi tahap, yaitu membagi suatu persoalan ke dalam tahap-tahap atau sub problem dan kemudian menyelesaikan sub problem itu secara berurutan sampai persoalan awal akhirnya dapat diselesaikan. Jantung pendekatan program dinamik adalah asas optimalitas Bellman yang mengatakan bahwa suatu kebijaksanaan optimal mempunyai sifat bahwa apapun keadaan awal atau keputusan awal,keputusan tersisa harus merupakan kebijaksanaan optimal terhadap keadaan yang dihasilkan keputusan pertama.
Karakteristik persoalan program dinamis adalah sebagai berikut :
1. Persoalan dapat dibagi menjadi beberapa tahap (stage), yang pada setiap tahap hanya diambil satu keputusan.
2. Masing-masing tahap terdiri dari sejumlah status (state) yang berhubungan dengan tahap tersebut. Secara umum, status merupakan bermacam kemungkinan masukan yang ada pada tahap tersebut.
3. Hasil dari keputusan yang diambil pada setiap tahap ditransformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya.
4. Ongkos (cost) pada suatu tahap meningkat secara teratur (steadily) dengan bertambahnya jumlah tahapan.
5. Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah berjalan dan ongkos pada tahap tersebut.
6. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan pada tahap sebelumnya.
7. Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik untuk setiap status pada tahap k memberikan keputusan terbaik untuk setiap status pada tahap k + 1.
8. Prinsip optimalitas berlaku pada persoalan tersebut.
Pemrograman dinamis dibedakan menjadi pemrograman dinamis masalah deterministik dan probabilistik :
1. Pemrograman dinamis deterministik dicirikan dimana keadaan pada tahap berikutnya ditentukan sepenuhnya oleh keadaan dan keputusan pada tahap sekarang. Masalah deterministik dapat dibedakan antara kasus
maksimum dan minimum
2. Pemrograman dinamis probabalistik, dimana keadaan berikutnya memiliki suatu distribusi probabilitas tertentu.
2.2. Pemrograman Dinamis Determistik
Pemrograman dinamis determistik adalah pendekatan pemrograman dinamis ke masalah yang deterministik, di mana keadaan pada tahap selanjutnya ditentukan sepenuhnya oleh keadaan dan keputusan kebijakan pada tahap sekarang. Untuk lebih jelasnya, pemrograman dinamis deterministik dijelaskan dengan diagram yang ditunjukkan pada gambar berikut ini :
Pada tahap n proses akan berada pada suatu keadaan . Pembuatan keputusan kebijakan selanjutnya menggerakkan proses ke keadaan +1 pada
tahap (n+1). Kontribusi sesudahnya terhadap fungsi tujuan di bawah kebijakan optimal telah dihitung sebelumnya sebagai ∗+1(+1). Keputusan kebijakan juga memberi beberapa kontribusi kepada fungsi tujuan. Kombinasi kedua nilai ini dengan benar akan memberikan (,), yaitu kontribusi n tahap ke depan kepada fungsi tujuan. Pengoptimalan terhadap , ∗()= (,∗). Setelah ditemukan ∗dan ∗() untuk setiap nilai , prosedur penyelesaian sekarang siap begerak mundur satu tahap. Salah satu cara mengkategorikan masalah pemrograman dinamis deterministik adalah dengan bentuk fungsi tujuan. Sebagai contoh, tujuannya mungkin adalah meminimumkan jumlah kontribusi dari tahap-tahap individual, atau untuk memaksimumkan jumlah tersebut, atau untuk meminimumkan suatu produk, dan sebagainya. Pengkategorian lain adalah dalam bentuk sifat alamiah dari kumpulan keadaan untuk tahap yang bersesuaian. Khususnya keadaan dapat dinyatakan oleh peubah keadaan diskret, atau oleh peubah keadaan kontinu, atau mungkin diperlukan suatu vektor keadaan (lebih
BAB III PEMBAHASAN 3.1. Contoh Kasus
Perwakilan badan kesehatan dunia mendapat tugas untuk meningkatkan perawatan kesehatan dinegara-negara sedang berkembang. Badan tersebut
memiliki 5 tim medis yang tersedia untuk dialokasikan diantara 3 negara sedang berkembang untuk meningkatkan perawatan kesehatan pendidikan kesehatan dan program-program pelatihan. Oleh karena itu badan tersebut perlu untuk menentukan berapa banyak tim (jika ada) untuk dialokasikan pada masing-masing negara tersebut untuk memaksimumkan efektifitas total dari kelima tim medis. Tim-tim tersebut harus tetap lengkap sehingga jumlah yang dialokasikan pada tiap-tiap negara adalah integer. Ukuran performance yang digunakan adalah penambahan tahun umur kehidupan orang (untuk beberapa negara, ukuran ini sama dengan ekspetasi penambahan umur kehidupan di negara tersebut dalam tahun dikalikan dengan populasinya).
Table dibawah ini memberikan tambahan umur kehidupan orang / penduduk (dalam perkalian peribuan) untuk tiap-tiap Negara untuk setiap alikasi
tim medis yang memungkinkan. Jumlah tim yang akan dialokaskan
Pertambahan umur (ribuan orang/tahun)
1 2 3 0 0 0 0 1 45 20 50 2 70 45 70 3 90 75 80 4 105 110 100 5 120 150 130 3.2. Penyelesaian
Tahapan : Negara (1,2,3)Peubah keputusan : xn = jumlah tim 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
Membangun fungsi obyektif, berupa fungsi rekursifMisalnya : pI(xi) = ukuran performansi dari pengalokasian xi tim medis ke negara-i.
Fungsi obyektif : max ∑
Kendala : ∑ = 5 , xi nonnegatif integer dengan
menggunakan stuktur dasar program dinamik, dibentuk :
f
n(s
n,
xn) = p
n(
xn) + max ∑
dimana nilai max diambil untuk seluruh xn+1, … , x3 sedemikian hingga ∑ nonnegatif integer, n = 1,2,3
selanjutnya :
karena itu :
Prosedur penyelesaian : n=3 S3 f 3*(s3) x3* 0 0 0 1 50 1 2 70 2 3 80 3 4 100 4 5 130 5 n=3 x2 s2 f 2(s2,x2) = p2(x2) + f*3(s2+x2) f 2*(s2) x2* 0 1 2 3 4 5 0 0 - - - 0 0 1 50 20 - - - - 50 0 2 70 70 15 - - - 70 0/1 3 80 90 95 75 - - 95 2 4 100 100 115 125 110 - 125 3 5 130 120 125 145 160 150 160 4 n=3 x1 s1 f 1(s1,x1) = p1(x1) + f*2(s1+x1) f 1*(s1) s1* 0 1 2 3 4 5 5 160 170 165 160 155 120 170 1Dengan demikian, maka solusi optimumnya adalah x1* = 1, sehingga s =
5 – 1 = 4 untuk n = 2. akibatnya x2* = 3. selanjutnya s = 4 – 3 = 1 untuk n = 3
sehingga x3* = 1. Karena f 1* (5) = 170, maka alokasi (1, 3, 1) dari tim kesehatan
pada tiga negara ini akan menghasilkan taksiran total 170.000 penambahan umur tahun kehidupan penduduk.
BAB IV PENUTUP 4.1. Simpulan
Programa dinamis deterministik dapat digunakan untuk optimasi keputusan. Dalam hal ini, optimasi keputusan diterapkan dalam menentukan jumlah tim yang akan kesehatan dari badan kesehatan dunia yang dialokasikan ke beberapa negara.