You are on page 1of 19
MODULI PROGRAM DINAMIS 14 Tujuan Praktikum Program dinamis merupakan modul pertama yang dipelajari dalam Proktikum Stokastik. Adapun yong menjadi tujuan praktikum dalapt“modul program dinamis adalah sebagai berikut . 1, Mengetabui dan memahami konsep dasar program dingmtig (@namic programming) yang menjadi dasar dalam kajian ilmu_mengegi penelitian operasional. . Mengetabui persoalan dan mampu_ mengidentifikasi maalah-masalah yang berkaitan dengan program dinamis dalam kehidupan sehari-hari. 3. Mengetalmi cara menghitung dan menganglisis solusi yang diperoleh terhadap masalah-masalah yang terkait dengan progfim dinamis, baik menggunakan teori dan perhitungan manuaf*dengan rumus-rumus yang ada, maupun menggunakan sofware 1.2 Pengertian Progen Dinamis Program dinamii® @hnamic programming) merupakan suatu teknik analisa ‘kvantitatif untuk mémbvat tabapan keputusan yang saling berhubungan, Teknik ini menghaSilkan) prosedur yang sistematis untuk mencari keputusan dengan kombinagi? yang optimal. Program dinamis (dynamic programming) adalah nfétode petiecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkalt (step) atau tahapan (stage) sedemikian sebingga solusi dari persoalan dapat dipandang dari serangkaian keputusan yang saling berkaitan (Binus, 2009). Program dinamis adalah suatu teknik matematika yang digunakan untuk nda. Pada mengoptimalkan proses pengambilan keputusan secara bertahap-g teknik ini, keputusan yang menyangkut suatu persoalan dioptimalkan secara bertahap dan bukan secara serentak. Jadi inti dari teknik ini adalah membagi suatu persoalan atas beberapa bagian persoalan yang dalam program dinamik disebut tabap, kemudian memecahikan tiap tahap dengan mengoptimalkan keputusan atas tiap tahap sampai seluruh persoalan telah terpecahkan, Keputusan optimal atas seluruh persoalan ialah kumpulan dari sejumlah keputusan optimal atas seluruh tahap yang kemudian disebut sebagai kebijakan optimal (Siagian, 1987). Penemn dan orang yang bertanggung jawab atas kepopuleran program dinamis adalah Richard Bellman. Penerapan pendekatan program dinamis telah dikabarkan mampu untuk menyelesaikan aneka masalab, seperti: alokesi,muatan (Gnapsack), capital budgeting, pengawasan, persediaan, dan lain-lain (Mfulyono, 2007). Pendekatan program dinamik didasarkan pada prinsip-éptithisa8t Bellman (2950) yang mengatakan “Suatu kebijakan optimal meispiifai sifat babwa apapun keadaan dan keputusan awal, keputusan berikwifiya-harus membentuk suatu kebijakan optimal dengan memperhatikan ‘keadaa dari hasil keputusan pertama’, prinsip ini mengandung arti baba Siggian, 987) 1. Kita diperkenankan untuk nnenganiiteepisan yang layak bagi tahap Persoalan yang masih tersisa tampa smelihat Kembali keputusan-keputusan masalaln atau tahap-tahap tet dt Dalam rangkaian keputisan yang telah diambil, hasil dari masing-masing tergantung pada hasthkepdtusansebelumaya dalam rangkaian. Prinsip itu-pada'dastinya menentukan bagaimana suatu masalah yang diuraikan dengan ‘benar dapat dijawab dalam tahap-tahap melalui pemakaian pevirungorh ssi Pemecahan masalah dengan menggunakan dimamic programing ‘iempunyai empat tabapan yaitu (Bins, 2009): 1A \ Ment permasalahan asli menjadi bagian permasalahan yang juga disebut 3ebdeai tahapan dengan aturan keputusan ditiap ~tiap tabapaa Memecahkan tahapan terakhir dari permasalahan dengan semua kondisi dan keadaan yang memungkinkan, 3. Bekerja mundur dari tahapan terakhir dan memecahkan tiap tahap. Hal ini dikerjakan dengan mencari keputusan optimal dari tahap tersebut sampai dengan tahap terakhir. 4. Solusi optimal dari permasalahan didapatkan jika semua tahap sudah terpecahkan. 13 Konsep Program Dinamis Penyelesaian masalah dalam program dinamis harus memenuhi beberapa syarat, Berikut ini adalah beberapa persyaratan dalam penyelesaian persoalan dengan program dinamis: A (1) Terdapat sejumlah berhingga pilihan yang mungkin, a (2) Solusi pada setiap tahap dibangun dari hasil solusi tabap sebelufuny: (3) Menggunakan persyaratan optimasi dan kendala untuk miemBatasi“Sejumlah pili yang harus dipertimbangkan pada suatu tahap. “\& Berilcut ini adalah tinjauan grafik dari program duiamis'yang ditunjukkan pada Gambar 1.1. Masalah yang terjedi adalah thenenmkan lintasan terpendek dari | ke 10. YS Gambar 1.1 Grafik Untuk Persoalan Lintasan Terpendek A. Pada program dinamis, rangkaian keputusan yang optimal dibuat dengan menggpfiakan prinsip optimalitas. Prinsip Optimalitas memberi arti jika sotusi total optimal, maka bagian solusi sampai tahap ke-k juga optimal. Prinsip optimalitas berarti bahwa jika kita bekerja dari tahap * ke tahap k+ 1, kita dapat menggunakan hasil optimal dari tahap £ tanpa harus kembali ke tahap awal. Berikut ini adalah langkah-langkah penyelesaian masalah menggunakan program dinamis: ° i bahwa: Ongkos pada tahap & +1 ~ (ongkos yang dihasilkan pada tahap #) + (ongkos dari tahap & ke tabap & + 1) + Dengan prinsip optimalitas ini dijamin bahwa peagambilan keputusan pada pada setiap tahap kita menghitung ongkos (cost), maka dapat dirumuskan suatu tahap adalah keputusan yang benar untuk tahap-tahap selanjutnya. + Pada metode greedy hanya satu rangkaian keputusan yang pernah dibasilkan, sedangkan pada metode program dinamis lebih dari satu rangkaian Kepiysan. Hanya rangkaian keputusan yang memenubi prinsip optimalitas yamg akan dihasilkan, 14 Karakteristik Persoalan Program Dinamis —\>*y’ Program dinamis memiliki beberapa karakietgtik Wri persoalan yang akan dipecabkan. Berikut ini adalah karakteristik peMagalan yang harus dipeuhi dalam program dinamis: Aan” 1. Persoalan dapat dibagi menjadi‘beberap tahap (stage), yang pada setiap tahap hanya diambil satu kepuftiSan’) 2. Masing-masing tahap_teftigi dasi‘sejumlah status (state) yang berhubungan dengan tahap race) Secara umum, status merupakan bermacam kemungkinan fmasultan” yang ada pada tahap tersebut. Graf multitahap (mutistage grép))>Tiap simpul di dalam graf tersebut menyatakan status, sedanghan!Y%, V2, ... menyatakan tahap. lo SS ~~ . §) i 3 ~ \kan Tahap (Stage) dan Status (State) 3. Hasil dari keputusan yang diambil pada setiap tahap itrsformasikan dari status yang bersangkutan ke status berikuttiya pad@tahap berikutaya 4. Ongkos (cost) pada suatu tahap menipekat Secara teratur (steadily) dengan bertambahnya jumlah tahapan. (\ y 5. Ongkos pada suatu tahap befggatung ‘pada ongkos tahap-tahap yang sudah berjalan dan ongkos padaitahap s3xS@but 6. Keputusan terbaik pQda"Syatt tahap bersifat independen terhadap keputusan ‘hap sebelumnya Adanya hubtingart rekursif yang mengidentifikasikan keputusan terbaik untuk yang dilakukan pa setiap stétijs pad tahap & memberikan keputusan terbaik untuk setiap status padajahapye 1. 8.,Prinsip optimalitas berlaku pada persoalan tersebut. 15 — Pendekatan Program Dinamis Dalam program dinamis terdapat dua pendekatan yang digunakan yaitu maju (forward atau up-down) dan mundur (backward atau bottom-up). Berikut ini akan dijelaskan mengenai keduanya + Misalkan x1,.x2, .....%, menyatakan peubah (variable) keputusan yang harus dibuat masing-masing untuk tahap 1, 2, ..., 71. Maka, a. Program dinamis maju. Program dinamis bergerak mulai dari tahap 1, ters maju ke tahap 2, 3, dan seterusnya sampai tahap n. Runtunan peubah keputusan adalah xy, .. Xe b, Program dinamis mundur, Program dinamis bergerak mulai dari tahap 1, terus mundur ke tabap 1 — 1, 1 — 2, dan seterusnya sampai tabap 1. Runtunan peubah keputusan adalah xy, + Secara umum, ada empat langkah yang dilakukan dalam mengembangkana algoritma program dinamis: 1. Karakteristikkan struktur solusi optimal. Definisikan secara rekursif nilai solusi optimal. 3. Hitung nilai solusi optimal secara maju atau mundar, 4, Konstruksi solusi optimal. Ds’ 1.6 Studi Kasus Lintasan Terpendek. (Stagecduet) ‘ Perusahaan ELITE adalah perusahaghabesar ying bergerak di bidang otomotif dengan memproduksi sparepart motor dan mobil. Perusahaan ingin meminimalkan biaya operasional pendistribusian spareparfwessebut Ke satu tujuan yaitu vendor terbesar PT. ELITE, Dalam realitanya, PT. BLITE hats menghadapi beberapa jalur distribusi dengan biaya yang berbeda-bedgy Teatays, pemilihan jalur distribusi yang tepat akan meminimalkan biaya Spetiga! pendsitribusian. Di sisi lain, minimalisasi biaya operasional akan. 7 0 Catatan: x;° adalah nilai x yang meminimumkan fi(s, x,). Tahap 3: A (s)=minie,, +6, (%)} Ai(s)=minlen, +f, (5) 3 | Al. 33) = Ges + Alas) Solusi Optimum s\8 9 fi x 5 4 8 4 8 6 9 7 7 9 7 6 7 6 8 Tahap 2: o [A sat fla) A 6 7 2 i i 12 3 7 9 10 4 8 8 IL Tahap 1: c (8) = minte,, +A Gd) a [Ala Gn HAG ~ Solusi Optimum s\ fa 3 ya Ai) M 7 yas A i TT Fatand Y Solusi opting ap dibaca pada tabel di bawah ini SSaF Panjang Lintasan Terpendek 7 Y X s > 4 6 8 —+]10 s——+ | 10 9—>| 10 ir ul u Jadi ada tiga lintasan terpendek dari 1 ke 10, yaitu 133355810 134555810 1456910 yang mana panjang ketiga lintasan tersebut sama, yaitu 11 1.7 Studi Kasus Muatan 0/1 (Knapsack) Sehubungan dengan kasus di atas mengenai pendistribusian sparepart PT. ELITE. Masalah lain yang terjadi pada PT. ELITE mengenai proses moisten sparepart ke dalam kontainer untuk didistribusikan ke vendor PT, BLITE, ditiana prosesnya itu terdiri dari tiga tahap. Tahap (§) adalah proses memasnitkeh barang ke dalam kontainer (ada 3 tahap), Status (y) menyatakan kaPasitadniuat kontainer ‘yang tersisa setelah memasukkan barang pada tahap sebelitimaya” Penyelesaian dengan Program Dinamis Maju “\. Dari tahap ke-1, kita masukskan objek Ke-1 ke dalam karung untuk setiap satuan kapasitas karung sampai batas pits maksimumnya. Karena kapasitas karung adalah bilangan bulat, maké Pendeltitan ini praktis. Misalkan ketika memasukkan objek pada tahap A, fapasitss “muat karung sekarang adalah y — 1), Untuk mensisi kapasitas sishgya, fit ‘menerapkan prinsip optimalitas dengan mengacu pada nilai orsign Yat fahap sebelumnya untuk kapasitas sisa y — we ( yaitu fis(? — 12). ‘ Selanjutnyae kita, ban kan nilai keuntungan dari objek pada tahap & (yaitu p,) phis ailai f(y — w.) dengan keuntungan pengisian hanya k — 1 macam objek; fealy) kd pe + fest ws) lebih kecil dari fex(v), maka objek yang ke-k tidak dimasukkan ke dalam karung, tetapi jika lebih besar, maka objek yang ke-k dimadubtan Relasi rekurens untuk persoalan ini adalal fly)-0, y= 01,2, (basis) fi)=-©, y<0 (basis) fily) = max (fal). Pe fiily— we}, (rekurens) ke1Qon ‘yang dalam hal ini, Aly) adalah keuntungan optimum dari persoalan 0/1 Knapsack pada tahap & untuk kapasitas karung sebesat y. fd) = 0 adalah nilai dari persoalan Inapsack kosong (tidak ada persoalan inapscat) dengan kapasitas y. Aly) = -© adalah nilai dari persoalan knapsack untuk kapasitas negatif. Solusi optimam dari persoalan 0/1 Knapsack adalah f.(M). Contoh: n=3,.= 5 Barngkei dw P T 2 oS 2 3 30 3 T 30, Tahap 1: “ , flo) = max oly). ps + fwd} = max (flo). 655+ fel 204 } SehesiOptimim » [eo [eee at Nor Grome) 0 “= ~ 0 (0.0.0) T yo ©.0.0) 2 - 6 7.0.0) 3 6 7.0.0) 7 6 G00) 3 e T.0.0) Tap 2 AO) aaa fio). p2 + fly —w9)} = max FiO), 80+ fi-3)} Sohasi Optinmam fig) 80+ fir AG) (eas) 7 To 80+ 0 0,0) 1 {o 80+ 6) 0 (@.0,0) 2 |e 0+ S 0,0) 3 [6s 30+0=80 80 (0, 1, 0) + [6 3070 80 @1.0 cn 30+ 65 = 145 145 1.0) > -1) ). ps + fil —ws)} = max. Solusi Optima y [AG 30+ fly) AO) Ce oye 30+ (=) === 0 ©.0,0) 1 0 30 + (-2) —-0 0 (0,0, 0) 2 [@ 30+0=30 6 7.00) 3 [x0 3076595 95 Geo) Z| x0 30=80=110 110 O10 5 145 30+80=110 145 (1, 1,0) Solusi optimum X= (1, 1, 0) dengan Xp =f= 45 18 Pengolahan Software Kasus Lintasalt Terpendek (Stagecoach) Pengolahan software meripakan pshgolahan data yang dilakukan menggunakan komputer dengan software QM, Berikyt ini adalah pemecahan software dati kasus yang terjadi di atas mengenai jalttqpendistribusian PT. ELITE: 1. Buka softvare QMolaln.aben muncul tampilan seperti di bawah ini 2B nnd 2. Sefelah itu, pilih dynamic programming, maka akan muncul kotak dialog seperti di bawalh ini ‘TB 0 cotwore\QM\Q XE na Perey oa ey eee Ceara foe eS Berikutnya pilih stagecoach, Karena asus yang“Skan djpecahkan mengenai jatur pendist usian yang optimal masuk ke tipe stagecoach? Maka akan muncul tampilan seperti di bawah ini Fh ocotwaregngMne) bers cme y Block © 4. Berikutnya pili new untuk membuka lembar data baru, maka akan muncul kotak an dialog seperti di bawah ini. Lalu, masukkan data sesuai dengan kasus yai tetjadi pada PT. ELITE. Dsoftnare\QM QM rea see eres ecco Setelalt data dimasuitken, teken enter maka akan muncyl tampilan Seperti di bawal ini, Kenmdian, masukkan lagi data yang diperlukan pada kptailédialog tersebut. Dich aa TERETE [Problen Title : Pendistrilweian Sparepart sn ee Oe oS eee rT) ro (NN | tombol S 6. Setelatpity tekan tombol ese, kemudian apabila mau menyimpan file tekan dan masukkan nama filenya, lalu enter. Apabila ada kesalahan dalam memasukkan iq, tekan tombol E untuk mengubah data, Setelah disave, tekan tombol R untuk run atau melakukan pengolaban data software. 1p 0 \cottare(Qvn EXE . o—z Setelah di run, maka akan muncul output seperti di bawal Ini "BB dicate Qn QMEE - — (ov em” Paeeaee sd peered iar sees 4 eee tam recom tras eee Taree ond Ponies ce er ts foe OMe gcse Return Function Type to eemend Bp o:corwareiQiQnibe Bh sorwareiQQue Ts eee ea fd 8 i Fa a 2 gi 1 2 7.000 Emory Pad Pa oars) remo rere Cee ieee) (a 1.9 Pengolaha Software Kasus Muatan 0/1 (Knapsack) Pehgalglian software merupakan pengolalian data ya 2 dilakukan menggunakan kofaputer dengan software QM. Berikut ini adalah pemecahan software dati kasus yang terjadi datas mengenai proses pemasukan barang PT. ELITE 1. Buka software QM, lalu an muncul tampilan seperti di bawab ini software OMQMEXE oan eraser) ig a E Pear tes Fyenyrearty Sree er toe ree Parana d Setelah itu, pilih dynamic programming, maka akan muncul kotalGialog seperti di bawab ini “IB D\coftware\Qv\ QM. CSc Pareren Cosa te 3. Berlffimaya'pilih knapsack, Karena kasus yang akan dipecahkan mengenai proses ‘memasukkan sparepart PT. ELITE yang memiliki banyak tahap. Maka akan muncul taufilan seperti di bawah ini Bp Dicottare MQM EXE (bs Ta | [feip Nov load fave Edit Tun Print Testa 9 4. Berikutnya pili new untuk membuka lembar data baru, maka akan muncul kotak dialog seperti di bawah ini. Lalu, masukkan data yang se8bai‘dengan kasus yang tetjadi pada PT. ELITE _———— — BB d\cottoreiQnQubxe [F? IneRow 1) Delew 17 5.4 Setelsh itu tekan tombol esc, kemmudia n apabila mau menyimpan file tekan tombol S dan’masukkan nama filenya, lalu enter. Apabila ada kesalahan dalam memasukkan data, tekan tombol E untuk mengubah data, Setelah disave, tekan tombol R untuk ‘run atau melakukan pengolahan data software FB ovcoteareiQnngune et een ees ura srr re eS rd Sorc 6. Setelah di run, maka akan muncul output seperti di baal ini. BD d:corware QMQMBE PI Tred Leeeerum ieserom tes OR ERRNO e SOM Kina Co meCdS oattee Coe ee or SECM COMME ULERY SSeS eee Sart BB 0 otearetQuiQune Bh O\cotmae QigMBe aco SE Stage aes rey Pras er

You might also like