Programa Dinamis Definisi Programa dinamis adalah suatu teknik

  • Slides: 23
Download presentation
Programa Dinamis

Programa Dinamis

Definisi • Programa dinamis adalah suatu teknik matematis yang biasanya digunakan untuk membuat suatu

Definisi • Programa dinamis adalah suatu teknik matematis yang biasanya digunakan untuk membuat suatu keputusan dari serangkaian keputusan yang saling berkaitan • Pemecahan persoalan dengan programa dinamis ini dimulai dengan mengambil bagian kecil dari suatu persoalan dan mencari solusi optimumnya. Kemudian bagian persoalan itu diperluas sedikit demi sedikit, dan dicari solusi optimumnya yang baru

Contoh Karakteristik Dasar Problem DP 2 5 8 1 3 6 10 9 4

Contoh Karakteristik Dasar Problem DP 2 5 8 1 3 6 10 9 4 Tahap 1 7 Tahap 2 Tahap 3 Tahap 4

Data ongkos 5 6 7 8 9 2 7 4 6 3 3 2

Data ongkos 5 6 7 8 9 2 7 4 6 3 3 2 4 4 4 1 5 5 1 4 6 6 3 7 3 3 1 2 3 4 2 4 3 10 8 3 9 4

 • Stage n (n=1, 2, 3, 4) • Xn adalah variabel keputusan pada

• Stage n (n=1, 2, 3, 4) • Xn adalah variabel keputusan pada stage n. Menotasikan tempat 2 persinggahan pada tiap stage • Sehingga rute terbaik nanti adalah 1 x 2 x 3 x 4 • X 4 = 10

Notasi Lain • fn(s, xn) = ongkos total yang harus dibayar jika salesman itu

Notasi Lain • fn(s, xn) = ongkos total yang harus dibayar jika salesman itu berada di kota s dan memilih xn sebagai tempat persinggahan berikutnya • Untuk s dan n tertentu, nilai xn* adalah nilai xn yang meminimumkan fn(s, xn) • fn*(S)=nilai minimum dari fn(s, xn) sehingga fn(s)=fn(s, xn*)

 • Tujuan persoalan programa dinamis di atas adalah untuk mendapatkan f 1(1) dengan

• Tujuan persoalan programa dinamis di atas adalah untuk mendapatkan f 1(1) dengan cara mencari f 4*(s), f 3*(s) dan f 2*(s) terlebih dahulu • Jadi, programa dinamis menyelesaikan persoalan dengan melakukan perhitungan mundur walaupun untuk persoalan tertentu bisa dengan perhitungan maju

S F 4*(s) X 4* 8 3 10 9 4 10 X 3 S

S F 4*(s) X 4* 8 3 10 9 4 10 X 3 S F 3(s, x 3)=cs, x 3 +f 4*(x 3) F 3*(s) X 3* 8 9 5 4 (=1+3) 8 (=4+4) 4 8 6 9 (=6+3) 7 (=3+4) 7 9 7 6 (=3+3) 7 (=3+4) 6 8

X 2 S F 2(s, x 2) = cs, x 2+f 3*(x 2) 5

X 2 S F 2(s, x 2) = cs, x 2+f 3*(x 2) 5 6 F 2*(s) 7 X 2* 2 11 (=7+4) 11 (=4+7) 12 (=6+6) 11 5 atau 6 3 7 (=3+4) 9 (=2+7) 10 (=4+6) 7 5 4 8 (=4+4) 8 (=1+7) 11 (=5+6) 8 5 atau 6 X 1 S 1 F 2(s, x 1) = cs, x 1+f 2*(x 1) 2 13 (=2+11) 3 11 (=4+7) F 1*(s) 4 11 (=3+8) 11 X 1* 3 atau 4

 • Rute optimal: – 1 -3 -5 -8 -10 – 1 -4 -6

• Rute optimal: – 1 -3 -5 -8 -10 – 1 -4 -6 -9 -10 • Ongkos total f 1*(1) = 11

Karakteristik Persoalan Programa Dinamis • Persoalan dapat dibagi menjadi beberapa tahap (stage), yang pada

Karakteristik Persoalan Programa Dinamis • Persoalan dapat dibagi menjadi beberapa tahap (stage), yang pada masing-masing stage diperlukan adanya satu keputusan • Masing-masing stage terdiri atas sejumlah state yang berhubungan dengan stage yang bersangkutan (jumlah state bisa terbatas, bisa pula tidak terbatas) • Hasil dari keputusan yang diambil di tiap stage, ditransformasikan dari state yang bersangkutan ke state berikutnya pada stage berikutnya pula • Keputusan terbaik pada suatu stage bersifat independen terhadap keputusan yang dilaakukan pada stage sebelumnya

 • Prosedur pemecahan persoalan dimulai dengan mendapatkan cara (keputusan) terbaik untuk setiap state

• Prosedur pemecahan persoalan dimulai dengan mendapatkan cara (keputusan) terbaik untuk setiap state dari stage terakhir • Ada suatu hubungan timbal balik yang mengidentifikasi keputusan terbaik untuk setiap state pada stage n, berdasarkan keputusan terbaik untuk setiap state pada stage (n+1). Pada ilustrasi di atas, hubungan ini adalah:

Oleh karena itu, untuk mendapatkan keputusan terbaik jika akan bergerak dari state s pada

Oleh karena itu, untuk mendapatkan keputusan terbaik jika akan bergerak dari state s pada stage n, terlebih dahulu harus didapatkan nilai terbaik dari xn pada stage (n+1) Dalam hal ini tetapkanlah: – Variabel xn sebagai variabel keputusan pada stage n (n=1, 2, 3, . . . , n) – Fn(s, xn) sebagai nilai fungsi tujuan yang akan dimaksimumkan atau diminimumkan, dengan catatan bahwa sistem akan berawal di state s pada stage n dan xn terpilih sehingga fn(s, xn)=cs, xn + fn+1*(xn)

– Fn*(s) sebagai nilai maksimum/minimum dari fn(s, xn) untuk seluruh nilai xn yang mungkin.

– Fn*(s) sebagai nilai maksimum/minimum dari fn(s, xn) untuk seluruh nilai xn yang mungkin. Maka bentuk hubungan timbal baliknya adalah: • Dengan menggunakan hubungan timbal balik ini, prosedur penyelesaian persoalan bergerak mundur stage demi stage, pada setiap stage berusaha diperoleh keputusan optimum untuk masing-masing state hingga akhirnya diperoleh keputusan optimum yang menyeluruh, mulai dari stage awal

Programa Dinamis Deterministik • Adalah programa dinamis dimana state pada stage berikutnya sepenuhnya ditentukan

Programa Dinamis Deterministik • Adalah programa dinamis dimana state pada stage berikutnya sepenuhnya ditentukan oleh state dan keputusan pada stage saat ini Stage n+1 sn Sn+1 Kontribusi dari xn Fn(sn, xn) fn+1 *(sn+1)

Contoh 2 Pertumbuhan Umur (ribuan tahun – orang) Jumlah Tim yang Dialokasikan Negara 1

Contoh 2 Pertumbuhan Umur (ribuan tahun – orang) Jumlah Tim yang Dialokasikan Negara 1 Negara 2 Negara 3 0 0 1 45 20 50 2 70 45 70 3 90 75 80 4 105 110 100 5 120 150 130

 • Apakah yang berubah dari satu stage ke stage berikutnya? • Berdasarkan keputusan-keputusan

• Apakah yang berubah dari satu stage ke stage berikutnya? • Berdasarkan keputusan-keputusan yang telah dibuat di stage sebelumnya, bagaimanakah status situasi pada state berikutnya dapat ditentukan? • Informasi apa tentang suatu state yang diperlukan untuk menentukan keputusan optimum berikutnya?

Formulasi Masalah • Maksimasi: • Berdasarkan pembatas: Xi= integer nonnegatif

Formulasi Masalah • Maksimasi: • Berdasarkan pembatas: Xi= integer nonnegatif

Sehingga Xi integer nonnegatif N = 1, 2, 3 Xn = 0, 1, .

Sehingga Xi integer nonnegatif N = 1, 2, 3 Xn = 0, 1, . . . , s

Stage n State: Stage n+1 S S-Xn Pn(Xn) Fn(s, xn) = pn(xn) + fn+1*(S-Xn)

Stage n State: Stage n+1 S S-Xn Pn(Xn) Fn(s, xn) = pn(xn) + fn+1*(S-Xn) Fn+1*(s-xn)

N=3 S F 3*(s) X 3* 0 0 0 1 50 1 2 70

N=3 S F 3*(s) X 3* 0 0 0 1 50 1 2 70 2 3 80 3 4 100 4 5 130 5

N=2 X 2 F 2(s, x 2)=p 2(x 2) + f 3*(s-x 2) S

N=2 X 2 F 2(s, x 2)=p 2(x 2) + f 3*(s-x 2) S 0 1 2 3 4 0 0 1 50 20 2 70 70 45 3 80 90 95 75 4 100 115 125 110 5 130 125 145 160 N=1 X 1 5 150 F 1(s, x 1)=p 1(x 1) + f 2*(s-x 1) S 0 1 2 3 4 5 5 160 170 165 160 155 120 F 2*(s) X 2* 0 0 50 0 70 0, 1 95 2 125 3 160 4 F 1*(s) 170 X 1* 1

Solusi Optimum • X 1* = 1, sehingga s 2 = 5 -1 =

Solusi Optimum • X 1* = 1, sehingga s 2 = 5 -1 = 4, x 2* = 3, sehingga s 3 = 5 – 4 = 1, x 3* = 1 • F 1*(5) = 170