• Tidak ada hasil yang ditemukan

DETERMINISTIC DYNAMIC PROGRAMMING

N/A
N/A
Protected

Academic year: 2017

Membagikan "DETERMINISTIC DYNAMIC PROGRAMMING"

Copied!
63
0
0

Teks penuh

(1)

DETERMINISTIC DYNAMIC

PROGRAMMING

(2)

Dynamic programming problems adalah

masalah multi tahap(multistage) dimana keputusan dibuat secara berurutan (in sequence)

Beberapa aplikasi dari dynamic programming

antara lain:

 Network

 Resource allocation

(3)

NETWORK PROBLEM

 Untuk menemukan shortest (longest) path yang

menghubungkan dua titik dalam network

 Contoh:

Joe tinggal di new York dan akan pergi ke LA. Dia berencana menginap di rumah temannya dalam perjalanan tersebut. Joe punya teman di Columbus, Nashville, Louisville, Kansas,

Omaha, Dallas, San Antonio, dan Denver. Joe tahu setelah satu hari perjalanan dia akan mencapai Columbus, Nashville atau Louisville. Setelah perjalanan 2 hari akan mencapai

Kansas, Omaha, atau Dallas. Setelah 3 hari perjalanan akan mencapai Denver atau San Antonio. Setelah 4 hari akan

(4)
(5)

THE RECURSION

Ide bekerja secara backward adalah kita mulai

menyelesaikan masalah dari yang paling sederhana untuk menyelesaikan masalah yang kompleks.

Jadi kita mulai dari kota yang hanya membutuhkan perjalanan satu hari ke LA yaitu kota Denver dan San Antonio (kota pada stage 4)

Kemudian kita gunakan informasi dari stage 4 untuk menemukan jarak terpendek dari kota pada stage 3 ( yang membutuhkan 2 hari) ke LA

(6)

SOLUSI

 Tentukan Cij = jarak kota i ke kota j

 Tentukan Ft(i) = panjang shortest path

dari kota i ke kota LA dimana kota i adalah kota pada stage t

 Tentukan shortest path ke LA dari

(7)

STAGE 4 COMPUTATION

Karena hanya ada satu path dari kota pada stage 4 ke LA maka kita dapat langsung menentukan

Jarak terpendek dari kota Denver ke kota LA adalah

F4(8) = 1030

(8)

STAGE 3 COMPUTATION

 Terdapat tiga kota pada stage 3 yaitu

kota Kansas, Omaha dan Dallas

 Dari kota Kansas terdapat 2 path

menuju kota LA yaitu

Path 1. Kansas – Denver – kemudian

mengambil shortest path dari Denver ke LA

Path 2. Kansas – San Antonio – kemudian mengambil shortest path dari San

(9)

Panjang Path 1 didapatkan dari C58 + F4(8)

Panjang Path 2 didapatkan dari C59 + F4(9)

Sehingga Jarak terpendek dari kota 5 ke kota 10 adalah

(10)

Dengan cara yang sama, jarak terpendek dari kota Omaha(6) ke LA adalah

Jarak terpendek dari kota Dallas ke LA adalah

(11)

STAGE 2 COMPUTATION

Pada stage 2 terdapat 3 kota yaitu Columbus, Nashville, dan Louisville

Terdapat 3 path dari Coulumbus ke LA yaitu Path 1. Columbus – Kansas – kemudain

mengambil shortest path dari Kansas

(12)

 Panjang Path 1. adalah

C25+F3(5)

 Panjang Path 2. adalah

C26+F3(6)

 Panjang Path 3. adalah

C27+F3(7)

Sehingga Jarak terpendek dari kota 2(Columbus ) ke LA adalah

(13)

 Dengan cara yang sama, jarak

terpendek dari kota Nashville(3) ke LA adalah

Jarak terpendek dari kota Louisville(4) ke LA adalah

(14)

STAGE 1 COMPUTATION

 Dari kota 1(New York) terdapat 3 Path

ke kota LA yaitu

Path 1. New York – Columbus – kemudian mengikuti shortest path dari Columbus

Path 2. new York – Nashville – kemudian mengikuti shortest pat dari Nashville

(15)

Jarak terpendek dari kota New york (1) ke LA (10) adalah

Penentuan Path optimal Dari Stage 1 kota 1: 1 – 2 Dari Stage 2 kota 2 : 2 – 5

Dari Stage 3 kota 5 : 5 – 8 – 10

Jadi Path Optimal adalah 1 – 2 – 5 – 8 – 10 dengan jarak 2870

(16)

KARAKTERISTIK APLIKASI DYNAMIC PROGRAMMING

 Karakteristik 1

 Problem dapat dibagi menjadi beberapa stage dan

dibutuhkan sebuah keputusan pada setiap stage.  Karakteristik 2

 Setiap stage memiliki beberapa state.

state, adalah informasi yang dibutuhkan pada setiap stage untuk membuat keputusan optimal.

 Karakteristik 3

 Keputusan yang dipilih pada setiap stage

(17)

 Karakteristik 4

 Diberikan state sekarang, keputusan optimal untuk

setiap stage yang tersisa harus tidak tergantung pada state yang dicapai sebelumnya atau keputusan yang diambil sebelumnya.

 Ide ini dikenal sebagai the principle of optimality.

 Karakteristik 5

 Jika state untuk suatu problem telah diklasifikasikan ke

(18)

PRODUCTION AND INVENTORY

PROBLEM

 Dynamic programming dapat digunakan

untuk menyelesaikan masalah inventory dengan karakteristik berikut:

1. Waktu dibagi menjadi beberapa periode. Periode

sekarang adalah periode 1, berikutnya periode 2 dan terakhir adalah periode T. Pada awal periode 1, permintaan selama setiap periode diketahui.

2. Pada awal setiap periode, perusahaan harus

(19)

3. Permintaan pada setiap periode harus dipenuhi

tepat waktu dari inventory ataau produksi sekarang. Selama setiap periode dimana dilakukan produksi maka akan timbul fixed cost dan variabel cost.

4. Perusahaan memiliki kapasitas penyimpanan yang

terbatas. Hal ini mencerminkan batas pada end-of-period inventory. Holding cost per unit timbul pada setiap period’s ending inventory.

5. Tujuan perusahaan adalah menentukan jadwal

produksi untuk meminimumkan total cost dari

(20)

 Pada model ini, posisi inventory perusahaan

direview pada akhir setiap periode dan kemudian keputusan produksi dibuat.

 Model seperti ini dinamakan periodic

review model.

 Model ini berlawanan dengan the continuous

review model dimana perusahaan

mengetahui posisi inventory setiap saat dan memesan order atau memulai produksi

(21)

21

PRODUCTION AND INVENTORY

PROBLEMS

 MJ berencana memproduksi 15 mobil

(22)

22

 Maximum level produksi adalah 3 untuk Juli, dan 4 untuk setiap bulan yang lain.

 Kapasitas penyimpanan adalah 2 mobil dengan

holding cost adalah $2,500 per bulan ($3,000 untuk Mei).

 Fixed costs (untuk asuransi dan lain – lain) hanya terjadi jika mobil benar – benar diproduksi

(23)

23

Membuat jadwal produksi yang

meminimumkan total cost

(24)

24

Stage variable j: Bulan ke - j.

State variable Xj: Banyaknya

mobil di inventory pada awal bulan ke - j

Decision variable Dj: Jumlah

produksi untuk bulan ke – j

(25)

25

• Production costs PCj(Dj) dalam bulan j proporsional

dengan jumlah mobil yang diproduksi

PCj(Dj) = PjDj

• Holding (storage) costs HCj(Dj) dalam bulan ke j

dibayarkan untuk mobil yang tidak terjual di akhir bulan ke j.

Untuk bulan j =1: HC1(D1) = 3000(X1 + D1 - C1)= 3000D1 – 9000

Untuk bulan j = 2, 3, 4, 5: HCj(Dj ) =2500(Xj+Dj - Cj)

Stage cost function:

 Fixed costs FCj(Dj) terjadi jika dalam bulan ke j terdapat produksi

mobil. Sehingga

FCj(Dj) = Sj jika Dj > 0

FCj(0) = 0 jika Dj = 0

MJ - DEFINISI

(26)

26

 The optimal value function Fj(Xj) dalam bulan j

adalah minimum total cost yang terjadi dari bulan ke

j sampai 5( September), jika terdapat Xj mobil pada

inventory di awal bulan ke-j

 Boundary conditions F5(X5):

F5(0) = 2,000 + 23,000(4) = $94,000; D5 = 4

F5(1) = 2,000 + 23,000(3) = $71,000; D5 = 3

F5(2) = 2,000 + 23,000(2) = $48,000; D5 = 2

 Optimal solution F1(0) adalah minimum total cost dari bulan Mei sampai September jika tidak ada inventory awal

(27)

27

Fj(Xj) = Min{FCj(Dj) + PCj(Dj) + HCj(Dj) + Fj+1(Xj +Dj - Cj)},

Dj feasible hanya jika memenuhi kondisi berikut :

Dj + Xj  Cj ;

D3  3 for July; Dj  4 for j = 1, 2, 4, 5; Dj + Xj - Cj  2;

Dj  0

Pada semua Dj yang feasible.

(28)

28

RECURSIVE CALCULATIONS – STAGE 4: AUGUST

(29)

29

RECURSIVE CALCULATIONS – STAGE 3:

JULY

Bulan Fixed Production Holding Permintaan Kap Produksi Kap inv

jJulyCosts Sj ($) Costs Pj ($) Cost s Hc ($) Cj4000 9,000 2,500 1 3

(30)

RECURSIVE CALCULATIONS – STAGE 2: JUNI

Cost Optimal Value

(31)

RECURSIVE CALCULATIONS – STAGE 1: MEI

Cost Optimal Value

(32)

SOLUSI

Jadwal Produksi MJ yang meminimumkan total cost

- Bulan May : 3 Mobil

- Bulan Juni : 2 Mobil

- Bulan Juli : 3 Mobil

- Bulan Agustus: 4 Mobil

- Bulan September : 3 Mobil

(33)

33

 Kementrian tenaga kerja memiliki dana

sebesar 5 juta dollar untuk digunakan oleh kementrian – kementrian yang lain untuk menciptakan tenaga kerja

 Terdapat 4 kementrian yang mengajukan

permohonan dana untuk kepentingan penciptaan tenaga kerja.

 Kementrian tenaga kerja ingin

mengalokasikan dana untuk memaksimalkan banyaknya tenaga kerja yang diciptakan

RESOURCE ALLOCATION PROBLEM

(34)

34

 Data

(35)

35

SOLUSI

 Kementrian tenaga kerja ingin :

 Memaksimumkan total banyaknya

tenaga kerja baru

(36)

36

 Notasi

Dj = jumlah dana yang dialokasikan ke kementrian j, di mana j adalah :

1 - Pendidikan, 2 - Keuangan, 3 – Perhubungan , 4 - Pertanian.

Rj(Dj) = banyaknya pekerjaan baru yang tercipta jika Kementrian j dibiayai sebesar $Dj juta.

(37)

37

 Definisikan F

j(Xj) adalah maksimum

banyaknya pekerjaan baru yang

diciptakan oleh kementrian (stage)

j,j+1,…, 4, jika tersedia dana sebesar $Xj juta (state) untuk kementrian j

sampai 4.

THE BACKWARD DYNAMIC PROGRAMMING

(38)

38

 Stage 4: Kementrian Pertanian,(KPt)

 Mulailah dengan tahap terakhir j = 4 (Kementrian

Pertanian, KPt).

 Alokasikan dana yang memaksimalkan jumlah

pekerjaan baru yang diciptakan untuk kementrian ini.

 Jelas, solusi optimal untuk kementrian terakhir

adalah menggunakan semua jumlah yang tersedia pada stage ini).

 Solusi optimal untuk stage terakhir disebut “The

boundary condition”

THE BACKWARD DYNAMIC PROGRAMMING

(39)

39

 Stage 4: Tabel Kementrian Pertanian

States

Ingat: untuk Kementrian Pertanian

(40)

40

 Stage 3: Kementrian Perhubungan, (KPh)

 Pada stage ini kita mempertimbangkan

pendanaan untuk Kementrian Perhubungan dan Kementrian Pertanian

 Untuk jumlah dana tertentu yang tersedia untuk kedua kementrian ini, keputusan

besarnya dana yang diberikan untuk

kementrian KPh akan berpengaruh pada dana yang tersedia untuk KPt

(41)

41

Stage 3: Tabel Kementrian Perhubungan

(42)

42

SOLUSI

(43)

43

 Stage 2: Kementrian Keuangan, (KKu)

 Pada stage ini kita memikirkan pendanaan

untukKementrian Keuangan dan dua Kementrian sebelumnya yaitu Kementrian Perhubngan dan Pertanian

 Untuk state tertentu (jumlah dana yang tersedia

untuk ketiga Kementrian ), keputusan mengalokasikan sejumlah dana untuk

Kementrian Keuangan berpengaruh pada jumlah dana yang tersedia untuk Kementrian

Perhubungan dan Pertanian (state pada stage j = 3).

(44)

44

(45)

45

 Stage 1: Kementrian Pendidikan (KPd)

 Pada stage ini kita memikirkan pendanaan untuk Kementrian Pendidikan dan semua kementrian sebelumnya.

 Perhatikan bahwa pada stage 1 masih

terdapat $5 juta untuk dialokasikan (X1 = 5).

(46)

46

 Stage 1: Kementrian Pendidikan hanya

mengusulkan satu proposal yaitu sebesar $4 juta, sehingga

(D1 = 0, 4).

Tidak didanai Proposal didanai

(47)

47 Alokasi pendanaan optimal untuk memaksimalkan

banyaknya pekerjaan yang diciptakan adalah :

Pendidikan = $0

Keuangan = $3 million

Perhubungan = $2 million

Pertanian = $0

Maximum banyaknya pekerjaan yang diciptakan= 290

Alokasi pendanaan optimal untuk memaksimalkan banyaknya pekerjaan yang diciptakan adalah :

Pendidikan = $0

Keuangan = $3 million

Perhubungan = $2 million Pertanian = $0

Maximum banyaknya pekerjaan yang diciptakan= 290

(48)

48

(49)

49

 Dynamic programming adalah proses rekursif

 Recursive relationship berikut menggambarkan proses untuk resource allocation

 Definisikan F

j(Xj) sebagai maksimum banyaknya

pekerjaan baru yang diciptakan oleh kementrian (stage j, j+1, …, 4, jika tersedia $Xj juta untuk pendanaan

kementrian (stage) j sampai 4.

Fj(Xj) = Max {(Rj(Xj) + Fj+1(Xj - Dj)}

Untuk semua Xj yang feasible

(50)

50

Bentuk dari recursion relation berbeda beda dari satu problem ke problem yang lain, tapi secara umum idenya sama :

Lakukan yang terbaik untuk stage yang tersisa dengan resource sisa yang tersedia.

(51)

51

Jaringan (Networks) dapat digunakan untuk

memodelkan multistage decision problems yang

diselesaikan dengan dynamic programming approach.

 Setiap node merepresentasikan nilai state variable pada

setiap stage.

 Setiap arc merepresentasikan keputusan yang mungkin

pada state tertentu.

 Stage return adalah nilai (panjang) pada setiap arc.

 Tujuannya adalah menemukan path terpanjang(terpendek).

(52)

52

NETWORK

(53)

FORMULATING DYNAMIC PROGRAMMING RECURSIONS

 Pada banyak dynamic programming problems,

stage tertentu terdiri atas semua state yang mungkin

 Jika kasusnya adalah seperti ini maka dynamic

programming recursion dapat dituliskan dalam bentuk berikut:

Ft(i) = min{(cost during stage t) + ft+1 (new stage at stage t +1)}

dimana minimum pada persamaan di atas

(54)

 Formulasi yang benar menghasruskan kita

mengidentifikasi tiga aspek penting dari masalah tersebut :

 Aspect 1: Sekumpulan keputusan yang feasible untuk

state dan stage tertentu.

 Aspect 2: Kita harus menentukan bagaimana biaya

selama periode waktu sekarang (stage t) tergantung pada nilai t, state yang sekarang dan keputusan yang dipilih pada stage t.

 Aspect 3: Kita harus menentukan bagaimana state pada

stage t+1 tergantung pada nilai t, state pada stage t dan keputusan yang diambil pada stage t.

 Tidak semua recursi merupakan bentuk dari yang

(55)

A FISHERY EXAMPLE

 Pemilik danau harus memutuskan berapa

banyak bass yang harus ditangkap dan dijual setiap tahun.

 Jika dia menjual x bass selama tahun t, maka

pendapatan r(x) didapatkan.

 Biaya menangkap x bass selama setahun

adalah fungsi c(x, b) dari banyaknya bass

(56)

A FISHERY EXAMPLE

 Untuk memodelkan masalah ini, kita

asumsikan bahwa banyaknya bass didalam danau pada awal tahun adalah 20% lebih banyak dari banyaknya bass yang tersisa didanau pada akhir tahun sebelumnya.

 Asumsikan bahwa terdapat 10,000 bass di

danau pada awal tahun pertama.

 Bentuklah dynamic programming recursion

(57)

A FISHERY EXAMPLE

 Dalam suatu masalah dimana keputusan harus

dibuat pada beberapa titik waktu. Seringkali terdapat trade off dari keuntungan sekarang dan keuntungan masa datang.

 Pada awal tahun T, pemilik danau tidak perlu

khawatir tentang efek bahwa penangkapan bass akan berpengaruh pada populasi di danau pada masa datang.

 Jadi, masalah pada awal tahun T relative lebih

mudah diselesaikan. Untuk alasan ini, kita pilih waktu sebagai stage.

 Pada setiap stage, pemilik danau harus memutuskan

(58)

A FISHERY EXAMPLE

 Kita tentukan xt adalah banyaknya bass yang

ditangkap selama tahun t.

 Untuk menentukan nilai optimal dari xt, pemilik

danau hanya perlu tahu berapa banyak bass

(sebut sebagai bt) di danau pada awal tahun ke-

t. sehinggastate pada awal tahun t adalah bt.

 Kita tentukan ft (bt) adalah maximum net profit

yang dapat diperoleh dari bass yang ditangkap

selama tahun t, t+1, …T jika terdapat bt bass di

(59)

A FISHERY EXAMPLE

 Sekarang kita bahas aspek 1-3 dari rekursi.

 Aspect 1: apakah keputusan yang diijinkan?

Selama setiap tahun kita tidak dapat menangkap

 Bass lebih banyak dari yang ada di danau.

Sehungga, dalam setiap state dan untuk semua t 0 ≤ xt ≤ bt harus terpenuhi.

 Aspect 2: berapakah net profit yang didapatkan

selama tahun t ? Jika xt bass ditangkap selama

satu tahunyang dimulai bt bass di danau, maka

net profit adalah r(xt) – c(xt, bt).

 Aspect 3: Apakah state selama t+1? State tahun

(60)

A FISHERY EXAMPLE

 Setelah tahun T, tidak ada future profit yang

harus dipertimbangkan, sehingga ft(bt)=max{r(xt)

– c(xt,bt)+ft+1[1.2(bt-xt)]} dimana 0 ≤ xt ≤ bt.

 Kita gunakan persamaan ini untuk bekerja

backward sampai f1(10,000) selesai dihitung.

 Kemudian untuk menentukan optimal fishing

policy, kita pilih x1 adalah nilai yang mencapai

maksimum dalam persamaan untuk f1(10,000).

 Kemudian tahun 2 akan mulai dengan 1.2(10,000

(61)

A FISHERY EXAMPLE

 Artinya x2 harus dipilih nilai yang

mencapai maximum di persamaan untuk f2(1.2(10,000-x1)).

 Lanjutkan terus sampai nilai optimal x3,

(62)

62

 Dynamic programming problems

biasanya diselesaikan menggunakan program komputer.

 Karena dynamic problem berbeda -

beda, tidak ada universal code untuk menyelesaikan semua masalah

tersebut.

(63)

63

DYNAMIC PROGRAMMING - EXAMPLES

 Dalam setiap permasalahan dynamic

programming kita harus dapat menentukan / mengidentifikasi hal – hal berikut: :

 The stage variable.  The state variable.

 The decision variable.

 The stage return or cost function(s).  The optimal value function.

 The boundary conditions.

Referensi

Dokumen terkait

Siswa yang lulus KKM pada kelas eksperimen lebih banyak setelah diterapkan multimedia interaktif sebanyak 16 siswa dibandingkan dengan kelas kontrol yang hanya 4 siswa,

Jika anda ingin memindahkan persegi tersebut ke koordinat 60 unit ke kanan dan 80 unit kebawah, pada pemikiran pertama adalah bahwa anada langsung memindahkan objek kearea

Penelitian observasi ini dilakukan untuk mengetahui pola aliran dan produksi lateks pada beberapa waktu pengumpulan hasil tanaman karet klon PB 260 berumur 12 tahun selama

Sejarah telah mencatat pada prinsipnya Nabi Muhammad SAW telah berhasil mengajarkan tiga prinsip pemasaran modern yang terkenal yaitu branding dengan membangun merek pribadi

Untuk itu, diperlukan penelitian mengenai respons pemberian pakan buatan pada larva cobia (Rachycentron canadum) pada umur yang berbeda untuk mendapatkan informasi mengenai

yang bermakna bukan, jadi kata sabil pada konteks ayat di atas bermakna yang tidak baik, yakni bukan jalan orang mukmin, pada akhir ayat dijelaskan bahwa jalan

Jadi secara keseluruhan kesimpulan dari eksplorasi di atas dapat ditentukan bahwa dapur yang cocok untuk orang tuna netra adalah denagn bebrapa ketentuan-ketentuan

meningkatkan peristaltik di kolon distal dan menstimulasi peristaltik diikuti dengan evakuasi feses yang lunak. Pemberian 20 mg senna per hari selama 6 bulan oleh pasien berusia