Anda di halaman 1dari 17

Rangkuman

Teor Pengambilan Keputusan

“Dynamic Programming”

Disusun Oleh :

MUH. TASRIF HASBI

A021181349

UNIVERSITAS HASANUDDIN

FAKULTAS EKONOMI DAN BISNIS

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.

Masalah Rute Terpendek Dipecahkan Dengan Menggunakan Pemrograman


Dinamis
George Yates akan melakukan perjalanan dari Rice, Georgia (1), ke Dixieville, Georgia (7).
George ingin mencari rute terpendek. Sayangnya, ada sejumlah kota kecil antara Rice dan
Dixieville. Peta jalannya ditampilkan pada Gambar M2.1.

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.

Terminologi Pemrograman Dinamis


Terlepas dari jenis atau ukuran masalah pemrograman dinamis, ada beberapa istilah dan
konsep penting yang melekat pada setiap masalah. Beberapa yang lebih penting di antaranya
adalah sebagai berikut: 1. Tahap: periode atau subproblem logis. 2. Variabel status: mungkin
Situasi atau kondisi awal suatu tahapan. Ini juga disebut variabel input. 3. Variabel keputusan:
alternatif atau kemungkinan keputusan yang ada pada setiap tahap 4. Kriteria keputusan:
pernyataan mengenai tujuan masalah 5. Kebijakan optimal: seperangkat aturan keputusan,
dikembangkan sebagai hasil dari kriteria keputusan, yang memberikan keputusan optimal untuk
setiap kondisi yang memasuki pada setiap tahap 6. Transformasi: biasanya, pernyataan aljabar
yang mengungkapkan hubungan antar tahapan Dalam masalah rute terpendek, berikut ini
transformasi dapat diberikan:
Jarak dari awal mula diberikan node terakhir = Jarak dari awal tahapan sebelumnya ke node
terakhir + Jarak dari tahap tertentu ke tahap sebelumnya

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

1. Variabel status untuk tahap 2 adalah node yang masuk, yaitu


(a) node 2
(b) node 3
(c) node 4
2. Variabel keputusan untuk tahap 2 adalah busur atau rute berikut:
(a) 4–5
(b) 3–5
(c) 3–6
(d) 2–5
(e) 2–6
3 Kriteria keputusan adalah minimalisasi jarak total yang ditempuh
4. Kebijakan optimal untuk setiap kondisi awal ditunjukkan pada Gambar M2. 6 dan tabel
berikut:
Gambar M2.6 juga dapat membantu dalam memahami beberapa terminologi yang digunakan
dalam diskusi pemrograman dinamis.

Notasi Pemrograman Dinamis


Selain terminologi pemrograman dinamis, kita juga dapat menggunakan notasi matematika
untuk mendeskripsikan masalah pemrograman dinamis apa pun. Ini membantu kita untuk
menyiapkan dan memecahkan masalah. Pertimbangkan tahap 2 dalam masalah pemrograman
dinamis George Yates yang pertama kali dibahas di Bagian M2. 2. Tahap ini dapat diwakili oleh
diagram yang ditunjukkan pada Gambar M2.7 (seperti halnya tahap tertentu dari masalah
pemrograman dinamis tertentu)
Seperti yang Anda lihat, untuk setiap tahap, kita memiliki masukan, keputusan, keluaran, dan
pengembalian. Perhatikan kembali pada tahap 2 untuk masalah George Yates pada Gambar
M2.6. Input untuk tahap ini adalah s2 yang terdiri dari node 2, 3, dan 4. Keputusan pada tahap 2,
atau memilih arc mana yang akan menuju ke tahap 1, diwakili oleh d 2 Busur atau keputusan yang
mungkin adalah 4–5, 3–5, 3–6, 2–5, dan 2–6. Keluaran ke tahap 2 menjadi masukan ke tahap 1.
Keluaran dari tahap 2 adalah s1 Keluaran yang mungkin dari tahap 2 adalah node keluar, node 5
dan 6. Akhirnya, setiap tahap memiliki pengembalian. Untuk tahap 2, putaran kembali diwakili
oleh r 2. Masalah rute terpendek Anda, kembalinya adalah jarak sepanjang busur di tahap 2. Jarak
ini adalah 10 mil untuk busur 4–5, 12 mil untuk busur 3–5, 6 mil untuk busur 3–6, 4 mil untuk
busur 2–5 , dan 10 mil untuk busur 2–6. Notasi yang sama berlaku untuk tahapan lain dan dapat
digunakan pada setiap tahapan. Secara umum, kami menggunakan notasi berikut untuk konsep
penting ini :

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).

Hal ini mengarah pada persamaan berikut:

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 Layanan Transportasi Udara RolRob


Roller memiliki dan mengoperasikan Layanan Transportasi Udara Rol, yang mengirimkan
kargo dengan pesawat ke sebagian besar kota-kota besar di Amerika Serikat dan Kanada.
Kapasitas yang tersisa untuk salah satu penerbangan dari Seattle ke Vancouver adalah 10 ton.
Ada empat item berbeda yang dapat dikirim Rob antara Seattle dan Vancouver. Setiap item
memiliki berat dalam ton, laba bersih dalam ribuan dolar, dan jumlah total item itu Itu tersedia
untuk pengiriman Informasi ini telah dikirim sebelumnya pada Tabel M2.2.

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:

Perhatikan bahwa a n, b n dan c n adalah koefisien untuk fungsi pengembalian. Dengan


menggunakan bentuk umum dari fungsi pengembalian ini, kita dapat meletakkan nilai fungsi
pengembalian dalam tabel berikut:
Nilai yang lebih rendah untuk setiap keputusan adalah nol, dan nilai teratas adalah jumlah total
yang tersedia. Koefisien b n adalah keuntungan per item yang dikirim. Fungsi pengembalian
aktual adalah:

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

juga dapat ditentukan menggunakan fungsi transformasi, yaitu s1=¿ s 2−¿3 d2 ¿ ¿

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.

Anda mungkin juga menyukai