Pemrograman Dinamis
(Dynamic Programming)
MATEMATIKA ITS
MASALAH STAGECOACH
MASALAH STAGECOACH adalah masalah yang dibuat untuk mengilustrasikan fitur dan untuk
memperkenalkan terminologi pemrograman dinamis. Ini menyangkut mitos pencari keberuntungan di Missouri
yang memutuskan untuk pergi ke barat untuk bergabung dengan Tambang emas di California selama pertengahan
abad ke-19. Perjalanan menggunakan kereta pos negara yang tidak aman di mana ada bahaya serangan para
perampok. Meskipun titik awal dan tujuan telah ditetapkan dan memiliki banyak pilihan untuk negara bagian
mana untuk dilalui dalam perjalanan. Kemungkinan rute ditunjukkan pada Gambar 1, di mana setiap negara
bagian diwakili oleh huruf yang dilingkari dan arah perjalanan selalu dari kiri ke kanan dalam diagram. Jadi,
empat tahap (kereta pos berjalan) harus melakukan perjalanan dari titik embarkasinya di negara bagian A
(Missouri) ke tujuannya di negara bagian J (California). Pencari keberuntungan ini adalah orang yang bijaksana
yang sangat memperhatikan keselamatannya. Setelah beberapa pemikiran, dia datang dengan cara yang agak
cerdik untuk menentukan rute teraman. Polis asuransi ditawarkan kepada penumpang kereta pos. Biaya polis
untuk mengambil rute teraman harus menjadi pilihan karena biaya polis asuransi jiwa total termurah.
Perhatikan bahwa pendekatan Greedy dalam memilih jalur termurah yang ditawarkan oleh masing-
masing tahap berikutnya, tidak perlu menghasilkan keputusan yang optimal secara keseluruhan.
Mengikuti strategi ini akan berikan rute:
• Pilihan awal : A ke B didapat rute A B
• Pilihan berikutnya : B ke F didapat rute A B F
• Pilihan berikutnya : F ke I didapat rute A B F I
• Pilihan berikutnya : I ke J didapat rute A B F I J
Total biaya 13.
Namun, mengorbankan sedikit satu tahap kemungkinkan penghematan yang lebih besar
setelahnya. Misalnya, A D F lebih murah secara keseluruhan dari A B F.
Misalkan menjadi total biaya dari keseluruhan polis terbaik untuk tahapan yang tersisa, diberikan bahwa pencari
keberuntungan berada di negara bagian S, siap untuk memulai tahap n, dan memilih sebagai tujuan. Diberikan S
dan n, misalkan menunjukkan nilai apa pun dari (tidak harus unik) hal ini meminimalkan , dan misalkan
menjadi nilai minimum yang sesuai dari .
Jadi,
Dimana
Nilai diberikan oleh tabel sebelumnya untuk dengan menetapkan (keadaan saat ini) dan (tujuan langsung).
Karena tujuan akhir (negara bagian J) tercapai pada akhir tahap 4, .
Prosedur Solusi.
Saat pencari keberuntungan hanya memiliki satu tahap lagi (), rutenya setelah itu ditentukan
sepenuhnya oleh keadaannya saat ini (baik H atau I) dan finalnya tujuan , jadi rute perjalanan kereta
pos terakhir ini adalah . Oleh karena itu, sejak solusi langsung untuk n = 4 masalah adalah
Saat pencari keberuntungan memiliki dua tahap lagi (n =3), prosedur solusi membutuhkan
beberapa kalkulasi. Misalkan pencari keberuntungan berada di negara bagian F. Kemudian, seperti
yang digambarkan di bawah, selanjutnya harus pergi ke salah satu negara bagian H atau I dengan
biaya langsung sebesar atau . Jika memilih negara bagian H, biaya tambahan minimum setelahnya
mencapai sana diberikan dalam tabel sebelumnya sebagai , seperti yang ditunjukkan di atas H.
simpul dalam diagram. Oleh karena itu, total biaya untuk keputusan ini adalah 6 + 3 = 9. Jika dia
memilih sebutkan saya sebagai gantinya, total biaya adalah 3 + 4 = 7, yang lebih kecil. Oleh karena
itu, pilihan yang optimal adalah yang terakhir ini, , karena memberikan biaya minimum
Selanjutnya harus menyatakan E, F, atau G dengan biaya langsung , , atau , Setelah sampai di sana,
biaya tambahan minimal untuk tahap 3 ke ujung diberikan oleh tabel n = 3 sebagai , atau , sebagai
ditunjukkan di atas node E dan F dan di bawah node G pada diagram sebelumnya. Hasilnya
perhitungan untuk ketiga alternatif dirangkum di bawah ini.
Minimal ketiga angka ini adalah 7, jadi total biaya minimum dari negara bagian C ke ujungnya
adalah , dan tujuan langsungnya harus .
Pada baris pertama dan ketiga tabel ini, perhatikan bahwa E dan F sama sebagai nilai minimalisasi ,
jadi tujuan langsung dari salah satu negara bagian B atau D harus .
Karena 11 adalah minimum, dan , seperti yang ditunjukkan pada tabel berikut
Solusi optimal untuk seluruh masalah sekarang dapat diidentifikasi dari empat tabel.Hasil untuk
masalah n = 1 menunjukkan bahwa pencari keberuntungan harus pergi terlebih dahulu baik
menyatakan C atau keadaan D. Misalkan dia memilih . Untuk n = 2, hasil untuk S = C adalah . Hasil
ini mengarah ke masalah n = 3, yang menghasilkan untuk S = E, dan n = 4 masalah menghasilkan
untuk S = H. Oleh karena itu, satu rute optimal adalah A C E H J.
Tabel berikut meringkaskan nilai c dan R untuk masing-masing proposal proyek. Proposal proyek
bernilai-nol sengaja dicantumkan yang berarti tidak ada alokasi dana yang diberikan untuk setiap
pabrik. Tujuan Perusahaan adalah memperoleh keuntungan yang maksimum dari pengalokasian
dana sebesar Rp 5 milyar tersebut. Selesaikan persoalan ini dengan program dinamis.
𝑥3
𝑥2
𝑥1
Tahap 1 Tahap 2 Tahap 3
Catatan:
MATEMATIKA ITS
Tahap 1
𝑓 1 ( 𝑥 1 )= max
𝑐 (𝑝 )≤ 𝑥
[ 𝑅 1( 𝑝1 ) ]
1 𝑖 1
𝑝1=1,2,3
Solusi Optimal
0 0 - - 0 1
1 0 5 - 5 2
2 0 5 6 6 3
3 0 5 6 6 3
4 0 5 6 6 3
5 0 5 6 6 3
4 𝑝 =1,2,3
1
- - 4 12 - 3
Solusi Optimal
0 0+0=0 - - - - 1
1 0+5=5 - - - - 1
2 0+6=6 8+0=8 6 - - 2
3 0+6=6 8 + 5 = 13 6 9+0=9 - 2
4 0+6=6 8 + 6 = 14 6 9 + 5 = 14 12 + 0 = 12 2 atau 3
5 0+6=6 8 + 6 = 14 6 9 + 6 = 15 12 + 5 = 17 4
Solusi Optimal
5 0 + 17 = 17 3 + 14 = 17 17 1 atau 2
Rekontruksi Solusi
1 (5 – 0 = 5) 4 (5 – 4 = 1) 2
1 2 (4 –2 = 2) 3
2 (5 – 1 = 4)
3 (4 – 3 = 1) 3
Misalkan G = (V, E) adalah graf lengkap berarah dengan sisi-sisi yang diberi harga .
Misalkan |V| = n dan n > 1. Setiap simpul diberi nomor 1, 2, …, n.
Asumsikan perjalanan (tur) dimulai dan berakhir pada simpul 1.
Setiap tur pasti terdiri dari sisi (1, k) untuk beberapa dan sebuah lintasan dari simpul k ke simpul
1.
Lintasan dari simpul k ke simpul 1 tersebut melalui setiap simpul di dalam V – {1, k} tepat hanya
sekali.
P rinsip Optimalitas: jika tur tersebut optimal maka lintasan dari simpul kvke simpul 1 juga
menjadi lintasan k ke 1 terpendek yang melalui simpul-simpul di dalam V – {1, k}.
Misalkan f(i, S) adalah bobot lintasan terpendek yang berawal pada simpul i, yang melalui semua
simpul di dalam S dan berakhir pada simpul 1.
Nilai f(1, V–{1}) adalah bobot tur terpendek.
Gunakan persamaan (2) untuk memperoleh f (i,S) untuk |S| = 1, f (i,S) untuk |S| = 2, dan seterusnya
sampai untuk |S| = n – 1
[ ]
0 10 1 5 20 5 8
5 0 9 10 1 4
6 13 0 12
8 8 9 0 13 9
15 9
6 12
Tahap 1:
3
Diperoleh:
Diperoleh:
Diperoleh:
Penyelesaian
Stage dalam persoalan ini adalah jumlah barang yang harus diangkut tidak melebih kapasitas truk
dan mendapat hasil yang optimal. Berarti ada 3tahapan (stage)
Ringkasan
Tahap 1 2 3 Jumlah
Bawa Barang A=6 B=0 C=1
Tonase 12 0 3 15 Ton
Rupiah 396 0 96 492 Juta