“Dynamic Programming”
Disusun Oleh :
A021181349
UNIVERSITAS HASANUDDIN
PRODI MANAJEMEN
MAKASSAR
2020
Dynamic Programming
Pemrograman dinamis adalah teknik analisis kuantitatif yang telah diterapkan pada masalah
besar dan kompleks yang memiliki urutan keputusan yang akan dibuat.Pemrograman dinamis
membagi masalah menjadi beberapa tahap keputusan; hasil keputusan pada satu tahap
mempengaruhi keputusan di Masing-masing tahap berikutnya. Teknik ini berguna dalam
sejumlah besar masalah bisnis multiperiod, seperti memperlancar lapangan kerja produksi,
mengalokasikan dana modal, mengalokasikan tenaga penjual ke area pemasaran, dan
mengevaluasi peluang investasi.
Lingkaran pada peta, yang disebut node, mewakili kota-kota seperti Rice, Dixieville, Brown,
dan seterusnya. Panah, yang disebut busur, mewakili jalan raya antar kota. Jarak dalam mil
ditentukan di sepanjang setiap busur. masalah dapat, tentu saja, diselesaikan dengan inspeksi.
Namun melihat seberapa dinamis pemrograman dapat digunakan pada masalah sederhana ini
akan mengajarkan Anda bagaimana memecahkan masalah yang lebih besar dan lebih kompleks
Langkah 1: Langkah pertama adalah membagi masalah menjadi subproblem atau tahapan. M2.2
mengungkapkan tahapan dari masalah ini.
Dalam pemrograman dinamis, kita biasanya memulai dari bagian terakhir dari masalah, tahap 1,
dan bekerja mundur ke awal masalah atau jaringan, yaitu tahap 3 dalam masalah ini. Tabel M2.1
merangkum busur dan jarak busur untuk setiap tahap.
Langkah 2: Selanjutnya kita menyelesaikan tahap 1, bagian terakhir dari jaringan. Biasanya, ini
sepele. Kami menemukan jalur terpendek ke ujung jaringan, node 7 dalam masalah ini. Pada
tahap 1, jalur terpendek, dari node 5 ke node 6, ke node 7 adalah satu-satunya jalur. Perhatikan
juga pada Gambar M2.3 bahwa jarak minimum tertutup dalam kotak dengan memasukkan node
ke tahap 1, node 5 dan node 6.
Tujuannya adalah untuk menemukan jarak terpendek ke node 7. Tabel berikut merangkum
prosedur untuk tahap 1. Seperti disebutkan sebelumnya, jarak terpendek adalah satu-satunya
jarak di tahap 1.
Langkah 3: Bergerak mundur, sekarang kita menyelesaikan untuk tahap 2 dan 3. Pada tahap 2
kita akan menggunakan Gambar M2.4.
Jika kita berada di simpul 4, rute terpendek dan satu-satunya ke simpul 7 adalah busur 4–5 dan
5–7. Di simpul 3, rute terpendek adalah busur 3–6 dan 6–7 dengan total jarak minimum 8 mil.
Informasi ini dirangkum dalam tabel tahap 2: berada di simpul 2, rute terpendek adalah busur 2–
6 dan 6–7 dengan jarak total minimal 12 mil.
Langkah 4: Untuk mendapatkan solusi optimal di setiap tahap, yang kita pertimbangkan
hanyalah busur ke tahap berikutnya dan solusi optimal di tahap berikutnya. Untuk tahap 3, kita
hanya perlu mempertimbangkan ketiga busur ke tahap 2 (1–2, 1) –3, dan 1–4) dan kebijakan
optimal pada tahap 2, diberikan pada tabel sebelumnya. Ini adalah bagaimana kita sampai pada
solusi sebelumnya. Ketika prosedurnya dipahami, kita dapat melakukan semua kalkulasi pada
satu jaringan. Anda mungkin ingin mempelajari hubungan antara jaringan dan tabel karena
masalah yang lebih kompleks biasanya diselesaikan dengan menggunakan tabel saja.
Hubungan ini menunjukkan bagaimana kita dapat melangkah dari satu tahap ke tahap
berikutnya dalam menyelesaikan solusi optimal untuk masalah rute terpendek. Dalam masalah
yang lebih kompleks, kita dapat menggunakan simbol untuk menunjukkan hubungan antar
tahapan. Variabel status, variabel keputusan, keputusan kriteria, dan kebijakan optimal dapat
ditentukan untuk setiap tahap dari masalah pemrograman dinamis. Hal ini dilakukan di sini untuk
tahap 2 dari masalah rute terpendek George Yates
Perlu diperhatikan juga bahwa input ke satu tahap juga merupakan keluaran dari tahap lain,
misalnya masukan ke tahap 2, juga keluaran dari tahap 3 (lihat Gambar M2.7).
Konsep terakhir adalah transformasi. Fungsi transformasi memungkinkan kita untuk berpindah
dari satu tahap ke tahap lainnya. Fungsi transformasi untuk tahap 2, t 2, mengubah masukan ke
tahap 2, s2 dan keputusan yang dibuat pada tahap 2, d 2, ke keluaran dari tahap 2, s1. Karena
fungsi transformasi tergantung pada input dan keputusan di setiap tahap, itu dapat
direpresentasikan sebagai t 2 ( s2 , d 2). Secara umum, fungsi transformasi dapat direpresentasikan
sebagai berikut:
Rumus umum berikut memungkinkan kita untuk beralih dari satu tahap ke tahap lainnya
menggunakan fungsi transformasi:
Meskipun persamaan ini mungkin tampak kompleks, ini sebenarnya hanya pernyataan matematis
dari fakta bahwa keluaran dari suatu tahapan adalah fungsi dari masukan ke tahapan dan setiap
keputusan yang dibuat pada tahap itu. Dalam masalah rute terpendek George Yates, fungsi
transformasi Tabel ini menunjukkan bagaimana kita bisa maju dari satu tahap ke tahap lainnya
untuk menyelesaikan masalah. Untuk masalah yang lebih kompleks, kita perlu menggunakan
notasi pemrograman dinamis daripada tabel. Kuantitas lain yang berguna adalah pengembalian
total pada setiap tahap. Pengembalian total memungkinkan kita untuk melacak total keuntungan
atau biaya pada setiap tahap saat kita memecahkan masalah pemrograman dinamis. Dapat
diberikan sebagai berikut:
Masalah Knapsack
“Masalah knapsack” melibatkan maksimalisasi atau minimisasi nilai, seperti profit atau
biaya. Seperti dalam masalah pemrograman linier, ada batasan dalam masalah knapsack.
Bayangkan sebuah tas ransel atau kantong yang hanya dapat menampung beban tertentu Atau
volume. Kami dapat menempatkan berbagai jenis barang di ransel. Tujuan kami adalah untuk
menempatkan barang di ransel untuk memaksimalkan nilai total tanpa merusak ransel karena
terlalu banyak berat atau batasan yang serupa.
Jenis Masalah Knapsack
Banyak jenis masalah dapat diklasifikasikan sebagai masalah ransel. Memilih item untuk
ditempatkan di kompartemen kargo pesawat dan memilih muatan mana yang akan diletakkan di
NASA SpaceShuttle berikutnya adalah contohnya. Pembatasan dapat berupa volume, berat, atau
keduanya. Beberapa masalah penjadwalan juga Misalnya, kami mungkin ingin menentukan
pekerjaan mana yang akan diselesaikan dalam dua minggu ke depan. Periode dua minggu adalah
ransel, dan kami ingin memuatnya dengan pekerjaan sedemikian rupa untuk memaksimalkan
Pembatasan adalah jumlah hari atau jam selama periode dua minggu.
MASALAH SETUP Masalah Angkutan Udara Roller merupakan masalah yang ideal untuk
diselesaikan dengan menggunakan dynamic programming, Tahap 4 akan menjadi butir 1, Tahap
3 akan menjadi butir 2, Tahap 2 akan menjadi butir 3, dan Tahap 1 akan menjadi butir 4. Hal ini
ditunjukkan pada Tabel M2. 3.
Dalam penyelesaiannya, kita akan menggunakan stagenumbers Masalah Transportasi Udara Rol
dapat direpresentasikan secara grafis (lihat Gambar
M2.8)
Seperti yang Anda lihat, setiap item diwakili oleh sebuah tahap Lihat tahap 4, yaitu item 1. Total
berat yang dapat digunakan diwakili oleh s4 . Jumlah ini adalah 10 karena kami belum
menetapkan unit apa pun untuk dikirim saat ini. Keputusan pada tahap ini adalah d 4 (jumlah unit
item 1 yang akan kami kirim). Jika d 4 adalah 1, untuk Contoh, kita akan mengirimkan 1 unit
item 1. Perhatikan juga bahwa pengembalian atau keuntungan pada tahap 4 (item 1). Jika kita
mengirim 1 unit item 1, keuntungannya adalah $ 3 (lihat Tabel M2.2). Seperti yang telah
disebutkan sebelumnya, variabel keputusan d n merepresentasikan jumlah unit dari setiap item
(tahapan) yang dapat dikirimkan. Melihat kembali masalah aslinya, kita melihat bahwa
masalahnya dibatasi oleh jumlah unit. Ini diringkas dalam tabel berikut:
FUNGSI TRANSFORMASI Selanjutnya, kita perlu melihat fungsi transformasi, berikut adalah
fungsi transformasi umum untuk masalah knapsack:
Perhatikan bahwa a n, b n dan c n adalah koefisien untuk masalah dan yang mewakili keputusan
pada tahap n Ini adalah jumlah unit yang akan dikirim pada tahap sn.
Bagan berikut menunjukkan koefisien transformasi untuk masalah transportasi Rob Roller :
Pertama perhatikan s4 adalah 10, berat total yang bisa dikirim. Karena s4 mewakili barang
pertama maka 10 ton semuanya bisa digunakan. Persamaan transformasi untuk keempat tahapan
tersebut adalah sebagai berikut :
Pertimbangkan tahap 3. Persamaan b mengungkapkan bahwa jumlah ton masih tersedia setelah
tahap 3, s2, sama dengan jumlah ton yang tersedia sebelum tahap 3, s3, dikurangi jumlah ton
yang dikirim di tahap 4d 3. Dalam persamaan ini, 4d 3 berarti setiap item pada tahap 3 memiliki
berat 4 ton FUNGSI RETURN Selanjutnya, kita akan melihat fungsi return untuk setiap tahapan,
ini adalah bentuk umum dari fungsi return:
SOLUSI TAHAP DEMI TAHAP Seperti yang Anda harapkan, pengembalian pada setiap tahap
r n sama dengan keuntungan per unit pada tahap itu dikalikan dengan jumlah unit yang dikirim
pada tahap d n. Dengan informasi ini, kita dapat menyelesaikan masalah Transportasi Udara Rol,
dimulai dengan tahap 1 (item 4) Tabel berikut menunjukkan solusi untuk tahap pertama. Anda
mungkin ingin mengacu pada Gambar M2.8 untuk pembahasan ini.
Karena kita tidak tahu berapa ton yang akan tersedia pada tahap 1, maka kita harus
mempertimbangkan semua kemungkinan. Jadi, jumlah ton yang tersedia pada tahap 1, s1, dapat
bervariasi dari 1 sampai 10. Hal ini terlihat pada kolom pertama angka untuk tahap 1. Jumlah
unit yang kami kirim pada tahap 1, d 1, dapat bervariasi dari 0 hingga 2. Kita tidak dapat melebihi
2 karena jumlah yang tersedia hanya 2. Untuk keputusan apa pun kami menghitung
pengembalian pada tahap 1, r 1 dengan mengalikan jumlah item yang dikirim oleh 5, item
profitper. Keuntungan pada tahap ini akan menjadi 0, 5, atau 10, tergantung pada apakah 0, 1,
atau 2 item dikirim. Perhatikan bahwa total pengembalian pada tahap ini, f 1 sama dengan r 1
karena hanya stage ini yang kita pertimbangkan sejauh ini. Perhatikan juga bahwa total
pengembalian sebelum tahap 1, f 0 adalah 0 karena ini adalah awal dari solusi dan kami tidak
mengirimkan apa-apa pada saat ini.
Solusi untuk tahap 1 menunjukkan keputusan terbaik, pengembalian untuk tahap ini, dan total
kembali, mengingat semua kemungkinan jumlah ton yang tersedia (0 hingga 10 ton). Dengan
menggunakan hasil tahap 1, sekarang kita dapat melanjutkan ke tahap 2 Solusi untuk tahap 2
adalah sebagai berikut:
Solusi untuk tahap 2 ditemukan dengan cara yang sama persis dengan tahap 1. Pada tahap 2
kita masih harus mempertimbangkan semua kemungkinan jumlah ton yang tersedia (dari 0
sampai 10) Lihat kolom s2 (kolom pertama). Pada tahap 2 (item 3) kami masih hanya memiliki 2
unit yang dapat dikirim, sehingga d 2 (kolom kedua) dapat berkisar dari 0 hingga maksimal 2.
Pengembalian untuk masing-masing s2dan d 2 berkombinasi pada tahap 2, ditampilkan di kolom
ketiga. Angka-angka ini adalah keuntungan per item pada tahap ini, 8, dikalikan jumlah item
yang dikirim. Karena item yang dikirim pada tahap 2 bisa 0, 1, atau 2, keuntungan pada tahap ini
bisa 0, 8, atau 16. Pengembalian untuk tahap 2 dapat juga dihitung dari fungsi kembali: r 2 = 8 d 2
Sekarang lihat kolom keempat, s1yang mencantumkan jumlah item yang tersedia setelah tahap 2.
Ini juga jumlah item yang tersedia untuk tahap 1. Untuk mendapatkan nomor ini, kita harus
mengurangi jumlah ton yang kami kirim pada tahap 2 (yaitu tonase per unit dikalikan jumlah
unit) dari jumlah ton yang tersedia sebelum tahap 2 ( s2). Lihat baris yang mana s2 adalah 6 dan
d 21. Kami memiliki 6 ton yang tersedia sebelum tahap 2, dan kami mengirimkan 1 item, yang
beratnya 3 ton. Jadi kami akan memiliki 3 ton yang masih tersedia setelah tahap ini. Nilai-nilai s1
Dua kolom terakhir dari tahap 2 berisi pengembalian total. Pengembalian afterstage 1 dan
beforestage 2 adalah f 1 .Nilai yang sama yang muncul di bawah kolom f 1 untuk tahap 1.
Pembalikan kembali setelah tahap 2 adalah f 2. Ini sama dengan pengembalian dari tahap 2
ditambah total pengembalian sebelum tahap 2. Tahap 3 diselesaikan dengan cara yang sama
seperti tahap 1 dan 2. Tabel berikut menyajikan solusi untuk tahap 3; lihat setiap baris dan
pastikan Anda memahami artinya dari setiap nilai.
Sekarang kita menyelesaikan tahap terakhir dari masalah, tahap 4. Tabel berikut menunjukkan
prosedur solusi:
Hal pertama yang perlu diperhatikan adalah kita hanya perlu mempertimbangkan satu nilai
karena kita tahu jumlah ton yang tersedia untuk tahap 4; s4 harus 10 karena kita memiliki semua
10 ton yang tersedia. Ada enam kemungkinan keputusan pada tahap ini, atau enam kemungkinan
nilai untuk d 4 . Karena jumlah unit yang tersedia adalah 6. Kolom lain dihitung dengan cara yang
sama Perhatikan bahwa pengembalian setelah tahap 4, f 4, adalah pengembalian total untuk
masalah tersebut. Kita melihat bahwa keuntungan tertinggi adalah 28. Kita juga melihat bahwa
ada Ada tiga kemungkinan keputusan yang akan memberikan tingkat keuntungan ini, pengiriman
4, 5, atau 6 item. Jadi kami memiliki solusi optimal alternatif.Salah satu solusi yang mungkin
adalah sebagai berikut:
Kita mulai dengan mengirimkan 6 unit pada tahap 4. Perhatikan bahwa s3 adalah 4 dari
perhitungan tahap 4, mengingat d 4 adalah 6. Kami menggunakan nilai ini dari 4 dan pergi ke
perhitungan tahap 3. Kami menemukan baris di mana s3adalah 4 dan memilih baris dengan total
return tertinggi, f 3. pada baris ini d 3 ada 0 item dengan total return ( f 3) dari 10. Hasilnya, jumlah
unit yang tersedia masih 4. Selanjutnya kita lanjut ke perhitungan untuk tahap 2 dan kemudian
tahap 1 dengan cara yang sama. memberi kami solusi optimal yang sudah siap dijelaskan. Lihat
apakah Anda dapat menemukan salah satu solusi optimal alternatif.