Anda di halaman 1dari 36

1

BAB V
PEMODELAN DENGAN PROGRAM DINAMIK

Program dinamik adalah suatu teknik matematik yang sering berguna untuk membuat
suatu urutan keputusan yang saling terkait. Program dinamik memerlukan prosedur sistematik
untuk menentukan kombinasi keputusan yang memaksimumkan keefektifan secara
menyeluruh.
Kebalikan dengan program linier, pada program dinamik tidak ada suatu formulasi
matematik yang standar terhadap masalah yang diselesaikan. Program dinamik cenderung
merupakan suatu tipe pendekatan umum pada suatu penyelesaian masalah, persamaan khusus
yang digunakan harus dikembangkan untuk memenuhi setiap situasi secara individual. Karena
itu suatu tingkat kepandaian dan pengetahuan tertentu dalam struktur umum dari
permasalahan/problem program dinamik diperlukan untuk mengenalkan kapan suatu masalah
dapat dipecahkan dengan prosedur program dinamik dan bagaimana prosedur tersebut
dikerjakan. Kemampuan-kemampuan ini mungkin dapat dikembangkan dengan sangat baik
dengan suatu pada suatu perolehan pada keragaman yang luas dari penerapan program
dinamik, dan studi karakteristik yang mana bersifat umum untuk semua situasi ini.
1. Contoh prototipe
Suatu masalah yang disusun secara khusus untuk mengilustrasikan sifat-sifat dan
mengenalkan terminologi dari program dinamik adalah masalah “stagecoach”. Masalah ini
bercerita tentang “salesman” yang harus berpergian ke arah barat dengan “stagecoach” melalui
negara indian yang tidak bersahabat kira-kira 125 tahun yang lalu. Walaupun titik
pemberangkatan dan tujuannya telah ditentukan, dia telah memilih tingkat (stage) untuk
bepergian dengan jalan darat. Rute-rute yang mungkin ditunjukan pada Gambar di bawah
dimana setiap kedudukan (state) ditampilkan dalam angka. Jadi ada 4 stage (tingkat) yang
diperlukan untuk berpergian dari titik pemberangkatannya dalam state (kedudukan) (1)
sampai pada tujuannya pada state (kedudukan) (10).
Salesman ini adalah orang yang hati-hati dan benar-benar memperhitungkan
keamanannya dalam perjalanannya. Setelah berpikir beberapa saat, suatu cara untuk
menentukan rute-nya yang paling aman telah tersusun untuknya. Kebijakan asuransi jiwa
2

telah ditawarkan pada penumpang stagecoach. Karena biaya setiap kebijakan didasarkan pada
evaluasi keamanan yang baik, rute yang paling aman harus satu dengan kebijakan asuransi
jiwa yang paling murah.
Biaya untuk standar kebijakan pada stagecoach dari state i ke state j yang mana akan
dinotasikan dengan cij adalah sebagai berikut :

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

Rute yang bagaimana yang dapat meminimalkan biaya total kebijakan ?


Pemecahan:
Pertama mencatat bahwa pendekatan singkat untuk pemilihan perjalanan yang paling
murah yang ditawarkan oleh setiap tingkat yang berurutan tidak menghasilkan suatu
keputusan optimal yang menyeluruh. Berikut ini strategi akan memberikan rute 1  2  6
 9  10 pada biaya total sama dengan 13. Meski demikian, dengan
mengorbankan/memotong sedikit pada satu stage dapat memberikan penghematan yang lebih
besar. Sebagai contoh 1  4 6 adalah lebih murah secara keseluruhan dari pada 1  2  6

Stage 1 x1 Stage 2 x2 Stage 3 x3 Stage 4 x4


2 5

1 3 6 10

4 7

Gambar 7.1. Sistem perjalanan untuk permasalahan stagecoach


3

Suatu pendekatan yang mungkin untuk memecahkan masalah ini adalah menggunakan metoda
coba-coba (trial and error). Namun demikian, jumlah rute yang mungkin adalah besar (18),
dan menghitung berapa biaya total untuk setiap rute adalah suatu tugas yang tidak disarankan.
Untungnya program dinamik menyediakan suatu cara penyelesaian dengan usaha yang
lebih sedikit dari pada penomeran secara keseluruhan (penghematan perhitungan akan besar
untuk versi yang lebih besar pada masalah ini). Program dinamik memulai dengan bagian
yang kecil dari masalah dan mendapatkan pemecahan secara optimal untuk problem yang
lebih kecil ini, maka secara gradual memperbesar permasalahan dengan mendapatkan
pemecahan arus secara keseluruhan. Detail yang terlibat dalam mengimplementasikan
philosopi umum ini diberikan sebagai berikut:
Bila variable-variable keputusan xn (n = 1,2,3,4) adalah tujuan segera pada “stage” n.
Jadi rute yang diseleksi akan 1  x1  x2  x3  x4, dimana x4 = 10. Bila fn (s, xn) adalah
biaya total dari semua kebijakan yang baik untuk stage yang tersisa, maka salesman pada stage
s siap untuk memulai stage n dan menseleksi xn sebagai tujuan segera. Diberikan s dan n, bila
x8n menunjukan nilai xn yang meminimumkan fn(s, xn), dan bila f*(s) adalah nilai minimum
yang bersesuaian dari fn (s, xn). Jadi f*(s) = fn(s, xn). Tujuannya adalah untuk mendapatkan
f1* (1) dan kebijakan yang bersesuaian.
Program dinamik melakukan hal ini secara suksesi dengan mendapatkan f 4*(s), f3*(s),
f2*(s) dan f1*(s).
Bila salesman hanya mempunyai satu stage untuk berjalan, rutenya ditentukan secara
keseluruhan dengan tujuan akhirnya sehingga penyelesaian segera pada problem satu stage
adalah
s f4* (s) x4*
8 3 10
9 4 10

Bila salesman memiliki dua lebih stage untuk berjalan, pemecahan memerlukan sedikit
perhitungan. Sebagai contoh, mengasumsikan salesman pada stage no 5. Untuk selanjutnya
dia harus pergi harus ke stage 8 atau 9 pada biaya masing-masing 1 atau 4. Jika dia memilih
stage 8, biaya penambahan minimum diberikan pada tabel di atas adalah 3, sehingga biaya
4

total untuk keputusan ini adalah 1 + 3 = 4. Biaya total jika dia memilih stage 9 adalah 4 + 4 =
8. Sehingga dia harus memilih stage 8 karena memberikan biaya total minimum, f 5*(5) = 4.
Dengan cara yang sama, untuk s = 6 dan s = 7 didapatkan hasil sebagai berikut untuk problem
2 stage
x3 f3(s, x3) = csx3 + f4*(x3)
s 8 9 f3* (s) x3*
5 4 8 4 8
6 9 7 7 9
7 6 7 6 8

Pemecahan untuk problem 3 stage diperoleh dalam bentuk yang sama. Dalam hal ini, f2 (x, x2)
= ssx2 + f3* (x2). Sebagai contoh jika salesman ada pada stage 2 dan memilih pergi ke stage 5
untuk berikutnya, total biaya minimum f2 (2.5) akan sama dengan biaya stage pertama c25 = 7
ditambah biaya minimum stage 5, f3* (5) = 4, sehingga f2 (2,5) = 7 + 4 = 11. Dengan cara
yang sama, f2 (2,6) = 4 + 7 = 11 dan f 2 (2,7) = 6 + 6 = 12, sehingga biaya total minimum dari
stage 2 adalah f2* (2) = 11 dan tujuan segera seharusnya x 2* = 5 atau 6. Hasil lengkap dari
prblem 3 stage adalah:
x2 f2(s, x2) = csx3 + f3*(x3)
S 5 6 7 f2*(s) x2*
2 11 11 12 11 5 atau 6
3 7 9 10 7 5
4 8 8 11 8 5 atau 6

Dengan menggerakan ke problem 4 stage, baiay kebijakan optimal yang diberikan tujuan
segera adalah sekali lagi jumlah dari biaya stage pertama ditambah dengan biaya minimal
sesudahnya. Hasil konsekuensinya adalah
x1 f1(s, x1) = csx1 + f2*(x1)
s 2 3 4 f1*(s) x1*
1 13 11 11 11 3 atau 4

Pemecahan optimal sekarang dapat didefinisikan. Hasil untuk problem 4 stage menunjukkan
bahwa salesman , pada tahap awal seharusnya pergi apakah ke stage 3 atau 4. Seandainya dia
memilih x1* = 3, masalah 3 stage menghasilkan x 2* = 5 untuk s = 3. Hal ini memberikan x 3*
= 8 untuk masalah 2 stage dan S = 5, dan masalag 1 stage menghasilkan x 4* = 10 untuk s = 8
5

sehingga satu rute optimal adalah 1  3  5  8  10. Dengan memilih x1* = 4 membawa
rute optimal yang lain 1  4  5  8  10 dan 1  4  6  9  10. Semuanya
memberikan biaya total f1* (1) = 11.
Kita akan melihat pada bagian selanjutnya bahwa bentuk spesial yang menggambarkan
hubungan khusus dari permasalahan ini stage(tingkatan), state (kedudukan), policy (kebijakan)
sebenarnya adalah bagian dari terminology umum dari program dinamik dengan suatu
interpretasi analog dalam kontek yang lain.
2. Karakteristik Dari Permasalahan Program Dinamik.
Permasalahan “stagecoach” adalah suatu prototype harfiah dari permasalahan program
dinamik. Sesungguhnya, permasalahan ini utamanya telah ditujukan untuk menghasilkan
suatu interpretasi secara phisik dari pada interpretasi secara abtrak dari permasalahan program
dinamik. Maka satu cara untuk mengenal suatu situasi dimana dapat diformulasikan sebagai
suatu permasalahan program dinamik adalah untuk memberitahukan bahwa dasar strukturnya
adalah analog dengan dasar dari permasalahan “stagecoach”.
Corak dasar yang mencirikan permasalahan program dinamik dipresentasikan dan
didiskusikan dibawah :
a. Permasalahan dapat dibagi menjadi 2 tingkat/langkah (stage), dengan suatu keputusan
kebijakan yang dibutuhkan pada setiap langkah. Permasalahan “stagecoach” secara
harfiah telah dibagi menjadi 4 langkah pada 4 kaki perjalanan. Keputusan kebijakan pada
setiap langkah adalah tujuan untuk keputusan stagecoach khusus (yang mana untuk
memilih asuaransi jiwa. Permasalahan program dinamik yang lain seperti membentuk
keputusan saling berkaitan yang berurutan.
b. Setiap langkah mempunyai sejumlah kedudukan yang digabungkan dengan langkah
tersebut. Kedudukan yang terkait dengan langkah dalam permasalahan “stagecoach”
adalah kedudukan (atau daerah) dimana salesman dapat ditempatkan pada waktu
pemberangkatan perjalanan yang khusus. Umumnya kedudukan adalah pada kondisi
yang beragam dimana system mungkin pada langkah permasalahan tersebut. Jumlah
kedudukan bisa tertentu seperti dalam permasalahan stagecoach) atau tidak tertentu
(seperti pada contoh didalam bab berikutnya).
6

c. Pengaruh dari keputusan kebijakan pada setiap langkah adalah untuk mentransformasi
kedudukan yang ada kedalam kedudukan yang terkait dengan langkah berikutnya
(memungkinkan yang bergantung pada suatu distribusi peluang).
Keputusan salesman seperti pada tujuan selanjutnya telah mengarahkannya dari
kedudukan sekarang kekedudukan selanjutnya dalam perjalanannya. Hal ini
menyarankan bahwa permasalahan program dinamik dapat diinterpretasikan dalam bentuk
jaringan kerja yang digambarkan dalam Bab 5. Setiap simpul akan berhubungan pada
suatu kedudukan. Jaringan kerja akan terdiri dari kolom simpul, dengan setiap simpul
berhubungan pada suatu langkah, sehingga aliran dari suatu simpul dapat berjalan hanya
pada suatu simpul dalam kolom selanjutnya kearah kanan. Nilai yang ditandai pada setiap
cabang yang menghubungkan 2 simpul kadang-kadang dapat diinterpretasikan sebagai
kontribusi pada fungsi tujuan yang dibuat dengan melakukan dari satu kedudukan
kekedudukan yang lain yang berhubungan dengan simpul-simpul ini. Jika hal ini adalah
kasus, tujuan sebenarnya untuk memperoleh apakah lintasan yang paling panjang atau
yang paling pendek dari jaringan kerja.
d. Diberikan kedudukan yang ada, suatu kebijakan yang optimal untuk derajat yang tersisa
adalah bebas dari kebijakan yang diadopsi pada tingkatan selanjutnya.
Diberikan kedudukan dimana salesman ditempatkan dengan benar, kebijakan
asuransi kehidupan yang optimal (dan lintasan gabungannya) dari titik ini adalah bebas
dari bagaimana dia mendapatkan disana. Untuk permasalahan-permasalahan program
dinamik pada umumnya, pengetahuan kedudukan yang ada dari system membawakan
semua informasi tentang tingkah laku sebelumnya yang perlu untuk menentukan
kebijakan henceforth yang optimal. (Hal ini adalah sifat-sifat Markovian yang
didiskusikan dalam sub-bagian 9.18). Sifat ini kadang-kadang direferensikan sebagai
prinsip optimasi.
e. Prosedur penyelesaian mulai dengan mendapatkan kebijakan yang optimal untuk setiap
kedudukan dari tingkatan yang paling akhir.
f. Suatu hubungan yang terbalik yang menunjukan kebijakan yang optimal untuk setiap
kedudukan pada tingkat ke-n, diberikan kebijakan yang optimal untuk untuk setiap
kedudukan pada tingkat ke-(n + 1), adalah bermanfaat.
7

Untuk Stagecoach, hubungan terbalik ini adalah :



f n*  s   min c sx n  f n*1  x n 
xn

Maka dengan mendapatkan kebijakan yang optimal bila dengan memulai pada
kedudukan s pada tingkatan ke n perlu dengan mendapatkan nilai minimal dari xn. Nilai
kebijakan ini akan menggunakan nilai xn ini dsn kemudian dengan menyertakan kebijakan
optimal bila dengan memulai dalam kedudukan xn, pada tingkat n + 1.
Bentuk yang tepat dari hubungan yang terbalik berbeda dengan beberapa hubungan
diantara permasalahan-permasalahan program dinamik. Namun demikian, analogi analog pada
analogi yang dikenalkan pada bagian sebelumnya akan berlanjut untuk digunakan disini. Jadi
bila variable (atau vector) xn adalah variable keputusan pada tingkat ke n ( n = 1, 2, 3,…..,N).
Bila fn(s,xn) nilai maksimal atau minimal dari fungsi tujuan, yang diberikan bahwa system
memulai pada kedudukan (state) s pada stage (tingkat) n dan xn dipilih. [Jadi fn(s, xn) = csxn +
fn+1 *(xn) untuk permasalahan stagecoach]. Bila f n*  s  adalah nilai maksimum atau minimum
dari fn(s,xn) untuk semua nilai xn yang mungkin. Hubungan terbalik akan selalu dalam
bentuk :
f n*  s   max/ min f n  s, x n 
xn xn

dimana fn(s, xn) akan dituliskan dalam bentuk s,xn, f n*1  . dan mungkin beberapa ukuran dari
keefektifan atau ketidakefektifan tingkat pertama.
g. Dengan menggunakan hubungan yang terbalik ini, prosedur penyelesaian bergerak
kebelakang, tingkat pertingkat-setiap waktu mendapatkan kebijakan optimal untuk setiap
kedudukan dari tingkat tersebut sampai proses ini memperoleh kebijakan yang optimal
pada saat memulai pada tingkat yang awal.
Hal ini telah didemonstrasikan oleh permasalahan ”stagecoach”, dimana kebijakan yang
optimal secara berurutan telah didapatkan bila dengan memulai setiap kedudukan pada
masing-masing tingkat 4, 3, 2, dan 1. Untuk semua permasalahan dalam program dinamik,
table dalam bentuk berikut akan didapatkan untuk setiap tingkat ( n = N, N-1,……,1) :
s f n*  s  x *n
8

Bila table ini akhirnya didapatkan untuk tingkat yang awal (n = 1), permasalahan yang
dimaksud telah terpecahkan. Bila kedudukan awal dapat diketahui, keputusan awal ditandai
dengan x 1* dalam table ini. Nilai optimal dari variable-variabel keputusan yang lain maka
akan dispesifikasikan oleh table yang lain menurut kedudukan dari system yang merupakan
hasil dari keputusan sebelumnya.
3. Program Dinamik Deterministik
Selanjutnya bagian ini membahas tentang pendekatan program dinamik pada
permasalahan deterministic, dimana kedudukan pada langkah (tingkat) berikutnya secara
keseluruhan ditentukan oleh kedudukan dan keputusan kebijakan pada langkah atau tingkat
yang sedang berjalan. Dalam masalah probabilistic, dimana ada suatu distribusi peluang,
untuk peluang tersebut kedudukan selanjutnya akan didiskusikan dalam bagian selanjutnya.
Program dinamik deterministic dapat digambarkan secara diagram seperti ditunjukan
dalam gambar 7.2. Jadi pada langkah (tingkat) ke n, proses akan dalam beberapa kedudukan
sn. Dengan membuat keputusan kebijakan xn kemudian menggerakan proses pada beberapa
kedudukan sn+1 pada langkah/tingkat n+1. Dari titik tersebut kedepan nilai fungsi tujuan
untuk kebijakan yang optimal sebelumnya telah dihitung sama dengan f n+1 *(sn+1). Keputusan
kebijakan xn juga membuat beberapa kontribusi pada fungsi tujuan. Dengan menggabungkan
dua besaran ini dalam suatu cara yang sesuai menghasilkan nilai fungsi tujuan fn(s, xn) dengan
memulai pada langkah (tingkat) n. Dengan mengoptimalkan terhadap x n maka memberikan

f n*  s n   f n  s n , x *n  . Setelah melakukan hal ini untuk setiap nilai kemungkinan sn, prosedur
penyelesaian adalah siap untuk bergerak kebelakang satu langkah.
Satu cara pengkatogarian permasalahan program dinamik deterministic adalah dengan
pembentukan fungsi tujuan. Sebagai contoh, tujuan mungkin berupa meminimalkan
penjumlahan kontribusi dari langkah-langkah secara individual (seperti pada permasalahan
Stagecoach), atau memaksimalkan penjumlahan , atau untuk meminimalkan perkalian dari
bentuk-bentuk dll. Kategori yang lain adalah dalam bentuk keaslian dari susunan kedudukan
untuk langkah (tingkat) yang dimaksud. Dalam hal yang khusus, kedudukan s nmungkin dapat
diwakili dengan suatu variable yang diskret ( seperti pada permasalahan stagecoach), atau oleh
9

suatu variable kedudukan yang bersifat kontinyu, atau mungkin suatu vector kedudukan
( lebih dari sdatu variable) adalah diperlukan.
Beberapa contoh akan disajikan untuk menggambarkan kemungkinan-kemungkinan
variasi ini. Namun demikian, lebih penting, contoh-contoh tersebut menggambarkan bahwa
perbedaan yang paling besar yang nampak ini adalah benar-benar inconsequential ( kecuali
dalam bentuk kesulitan perhitungan) karena struktur dasar yang menggarisbawahi yang
ditunjukan dalam gambar 7.2 selalu tetap sama.
Stage n Stage n + 1

Stage Sn Sn +
1
Kontribusi Xn
fn (Sn, Xn) fn+1* (Sn, Xn)
Gambar 7.2. Struktur dasar untuk Program Dinamik Deterministik

Contoh pertama muncul dalam banyak kontek yang berbeda dari permasalahan
stagecoach, tetapi hal ini mempunyai formulasi matematik yang sama kecuali formulasi tujuan
adalah untuk memaksimalkan daripada meminimalkan suatu penjumlahan.
Contoh 2. Badan kesehatan dunia ditugaskan untuk meningkatkan perawatan kesehatan pada
negara-negara yang belum berkembang. Sekarang badan tersebut mempunyai 5 tim medis
yang tersedia untuk membantu tiga negara tersebut untuk meningkatkan layanan kesehatan
mereka, pendidikan kesehatan, dan program pelatihan. Maka badan tersebut perlu untuk
menentukan berapa banyak tim (jika ada) untuk membantu setiap negara-negara ini untuk
memaksimalkan total keefektifan dari ke 5 tim tersebut. Ukuran keefektifan yang digunakan
adalah penambahan jumlah orang yang hidup pertahun. (Untuk suatu Negara tertentu, ukuran
ini sama dengan peningkatan harapan hidup negara dalam 1 tahun kali dengan populasinya)
Tabel 7.1 memberikan tambahan orang hidup per tahun yang diperkirakan ( dikalikan 1000)
untuk setiap negara untuk setiap kemungkinan penempatan tim medis.
10

Tabel 7.1. Data badan kesehatan dunia.


Jumlah tim medis Ribuan dari tambahan orang terselamatkan pertahun
Negara 1 Negara 2 Negara 3
0 0 0 0
1 45 20 50
2 70 45 70
3 90 75 80
4 105 110 100
5 120 150 130

Penyelesaian : Permasalahan ini perlu untuk membuat 3 keputusan yang saling berhubungan,
singkatnya, berapa banyak tim medis berada pada setiap dari 3 negara tersebut. Maka,
walaupun tidak ada urutan yang pasti, tiga negara ini dapat dipertimbangkan sebagai tingkat
dalam suatu formulasi program dinamik. Variabel keputusan xn ( n = 1, 2, 3) adalah jumlhah
tim berada pada tingkat (negara) n.
Identifikasi dari kedudukan tidak dapat nampak dengan cepat. Untuk menentukan ini,
pertanyaan berikut seperti berikut seharusnya ditanyakan. Apa yang berubah dari satu tingkat
ke tingkat berikutnya?. Diberikan bahwa keputusan-keputusan telah dibuat pada tingkat-
tingkat sebelumnya, bagaimana status dari situasi pada tingkat yang berjalan dapat
digambarkan?. Informasi tentang kedudukan yang berjalan apa dari tugasadalah perlu untuk
menentukan kebijakan optimal setelahnya? Pada dasar ini, suatu pilihan yang sesuai untuk
kedudukan dari sistem adalah jumlah dari tim medis tetap tersedia untuk pengalokasian.
(jumlah tim medis belum teralokasi pada tingkat sebelumnya).
Bila pi(xi) adalah ukuran keefektifan dari mengalokasikan xi tim medis pada negara i,
sebagaimana digambarkn dalam Tabel 7.1. Jadi tujuan dari permaslahan ini adalah untuk
memilih x1,.....,x2, sehingga

Memaksimalkan : 3i 1 p i  x i  ,
Subyek pada

3i 1 x i  5
dan
xi adalah integer non negatif.
Dengan menggunakan notasi yang dipresentasikan pada sub-bagian 7.2, fn(sn, xn) maka adalah
11

fn(sn, xn) = pn(xn) + maksimum 3i n 1 p i  x i 


sehingga 3i n x i  s
xi = integer non negatif
Untuk n = 1,2,3. Tambahan :
f n*  s   max f n  s, x n 
x n  0 ,1,..,s

Maka
fn(sn, xn) = pn(xn) + f n*1  s  x n 

Dengan f 4* didefinisikan sama dengan nol. Hubungan dasar ini dirangkumkan dalam Gambar
7.3.
Sebagai konsekuensi, hubungan terbalik yang menghubungkan fungsi-fungsi
f 1* , f 2* dan f 3* untuk permasalahan ini adalah :

f n*  s   max p n  x n   f n*1  s  x n  untuk n = 1,2


x n  0,1,...,s

Untuk tingkat/langkah yang terakhir (n = 3),


f 3*  s   max p 3  x 3 
x 3  0 ,1,..,s

Stage n Stage n + 1

State : S S-
Xn
pn (xn)
fn (S, Xn) fn+1* (S - Xn)

= pn (Xn) + fn+1* (S - Xn)

Gambar 7.3. Struktur dasar untuk permasalahan badan kesehatan dunia

Hasil perhitungan program dinamik diberikan dibawah, dengan memulai pada tingkat/langkah
yang terakhir (n=3) dan dengan memproses kebelakang sampai ke tingkat/langkah pertama
(n=1).
12

n = 3 (hanya mempertimbangkan negara no 3 saja dalam menentukan fungsi keefektifan dari


permasalahan yang ada)
s f 3*  s  *
x3
0 0 0
1 50 1
2 70 2
3 80 3
4 100 4
5 130 5

n = 2 (mempertimbangkan negara no 2 dan 3 dalam menentukan fungsi keefektifan dari


permasalahan).
x2 f 2  s, x 2   p 2  x 2   f 3*  s  x 2  f 2*  s  x *2
s 0 1 2 3 4 5
0 0 0 0
1 50 20 50 0
2 70 70 45 70 0,1
3 80 90 95 75 95 2
4 100 100 115 125 110 125 3
5 130 120 125 145 160 150 160 4

n = 1 (mempertimbangkan negara no 1,2 dan 3 dalam menentukan fungsi keefektifan dari


permasalahan)
x1 f 1  s, x 1   p1  x 1   f 2*  s  x 1  f 1*  s  x 1*
s 0 1 2 3 4 5
5 160 170 165 160 155 120 170 1

Jadi penyelesaian yang optimal mampunyai x 1* = 1, yang mana menjadikan s = 5 -1 = 4 untuk

n = 2 maka x *2 = 3, yang mana menjadikan s = 4-3 = 1 untuk n =3. Karena f 1*  5 = 170,


pengalokasian tim medis (1,3,1) ini pada 3 negara yang dimaksud akan menghasilkan suatu
perkiraan total 170000 tambahan orang yang hidup setiap tahun, yang mana paling sedikit
5000 lebih banyak dari pengalokasian yang lain.
13

Kajian pada contoh selanjutnya adalah beberapa serupa dengan contoh untuk
permasalahan badan kesehatan dunia. Namun demikian, formulasi matematik berbeda yang
mana fungsi tujuannya adalah minimasi dari suatu perkalian dari bentuk untuk tingkat/langkah
yang bersangkutan. Pada glance pertama, contoh ini akan menampilkan bukan suatu
permasalahan program dinamik deterministik karena peluang dilibatkan. Namun demikian,
hal ini memenuhi definisi kita karena kedudukan pada langkah berikutnya ditentukan secara
penuh oleh kedudukan dan keputusan kebejakan pada langkah yang sedang berjalan.

Contoh 3.
Suatu proyek ruang angkasa pemerintah sedang melakukan penelitian pada suatu
permasalahan teknik tertentu yang harus dipecahkan sebelum manusia dapat terbang secara
aman ke Planet Mars. Tiga tim peneliti sedang mencoba tiga pendekatan yang berbeda untuk
memecahkan permasalahan tersebut. Dibawah kondisi-kondisi yang ada, perkiraan telah
dibuat bahwa peluang masing-masing tim, sebut tim 1,2 dan 3 akan tidak berhasil masing-
masing adalah 0.40, 0.60 dan 0.80. Jadi peluang yang terjadi bahwa semua tim akan gagal
adalah (0.40)(0.60)(0.80) = 0.192. Karena tujuannya adalah meminimasi peluang ini,
keputusan telah dibuat untuk mengontrak dua atau lebih ilmuwan diantara 3 tim tsb untuk
merendahkan peluang kegagalan tersebut sebanyak mungkin.
Tabel 7.2 memberikan peluang yang diperkirakan bahwa masing-masing tim akan
gagal bila 0,1 atau 2 tambahan ilmuwan pada tim tersebut. Permasalahannya adalah
menentukan bagaimana mengalokasikan 2 tambahan ilmuwan untuk meminimalkan peluang
ketiga tim tersebut akan gagal.

Tabel 7.2. Data pada permasalahan proyek ruang angkasa pemerintah.


Peluang kegagalan
Team Peneliti
Jumlah ilmuwan baru
1 2 3
0 0.40 0.60 0.80
1 0.20 0.40 0.50
2 0.15 0.20 0.30
14

Penyelesaian :
Struktur yang menggarisbawahi permasalahan ini secara aktual adalah sangat sama pada
permasalahan pada contoh 2. Dalam kasus ini, ilmuwan menggantikan tim medis dan tim
peneliti menggantikan negara. Maka sebagai pengganti pengalokasian tim medis kenegara,
ilmuwan dialokasikan ke tim peneliti. Hanya perbedaan dasar antara dua permasalahan adalah
dalam hal fungsi tujuannya.
Dengan begitu sedikit ilmuwan dan tim peneliti, permasalahan ini dapat diselesaikan
sangat mudah dengan suatu proses exhaustive enumerations. Namun demikian, penyelesaian
program dinamik disajikan untuk maksud yang bersifat ilustrasi. Dalam hal ini
tingkat/langkah berhubungan dengan tim peneliti dan kedudukan, s, adalah jumlah dari
ilmuwan yang masih tersedia untuk penugasan pada tingkat tersebut. Variabel keputusan x n (n
= 1,2,3) adalah jumlah dari ilmuwan tambahan yang dialokasikan pada tingkat (tim) ke n. Bila
pi(xi) menunjukan peluang kegagalan untuk tim ke i jika tim tersebut dibantu ilmuwan
tambahan xi, seperti diberikan pada Tabel 7.2. Dengan menggunakan П menunjukan
perkalian, Pengatur fungsi tujuan adalah memilih x1,x2,x3 sehingga menjadikan :

Minimalisasi  3i 1 p i ( x i )  p1 ( x 1 )p 2 ( x 2 )p 3 ( x 3 )
Subyek pada
3
 xi  2
i 1

dan
xi = adalah integer non negatif
Sebagai konsekwensi :
3
f n  s, x n   p n  x n   min imum  p i  x i 
i  n 1

3
sehingga :  x i  s
in

xi adalah integer non negatif


Untuk n = 1,2,3 Maka
f n*  s   min f n  s, x n 
x n s
15

Maka
f n  s, x n   p n ( x n )  f n*1  s  x n 

dengan f 4* didefinisikan sama dengan 1. Gambar 7.4 merangkumkan hubungan dasar ini

Stage n Stage n + 1

Stage : S S-
Xn
pn (xn)
fn (S, Xn) fn+1* (S - Xn)

= pn (Xn) . fn+1* (S - Xn)


Gambar 7.4. Struktur dasar untuk permasalahan proyek ruang angkasa pemerintah.
Jadi hubungan terbalik yang menghubungkan fungsi-fungsi f 1* , f 2* dan f 3* dalam kasus ini
adalah
f n*  s   minp n  x n   f n*1  s  x n  untuk n = 1,2
x n s

dan, bila n = 3
f 3*  s   min p 3  x 3 
x 3 s

Hasil perhitungan program dinamik adalah


16

n=3
s f 3*  s  *
x3
0 0.80 0
1 0.50 1
2 0.30 2

Untuk n =2
x2 f 2  s, x 2   p 2  x 2   f 3*  s  x 2  f 2*  s  x *2
s 0 1 2
0 0.48 0.48 0
1 0.30 0.32 0.30 0
2 0.18 0.20 0.16 0.16 2

Untuk n = 1
x1 f1  s, x1   p1  x1   f 2*  s  x1  f1*  s  x1*
s 0 1 2
0 0.064 0.060 0.072 0.060 1

Maka penyelesaian optimal harus mempunyai x1* = 1, yang mana membuat s = 1 pada

*
langkah ke 2, sehingga x *2 = 0, yang mana membuat s = 1 pada langkah 3, sehingga x3 = 1.

Jadi tim 1 dan 3 masing-masing seharusnya mendapatkan 1 tambahan ilmuwan. Peluang baru
bahwa ke 3 tim semuanya akan gagal adalah sama dengan 0.060.
Jadi semua contoh telah mempunyai suatu variabel diskret s. Lebih lanjut, variabel
tersebut semuanya adalah reversible dalam arti bahwa prosedur penyelesaian sebenarnya dapat
bergerak baik mundur atau maju tingkat per tingkat atau langkah per langkah. Contoh berikut
adalah berbeda dalam dua tinjauan; lebih dibatasi pada nilai integer, variabel kedudukan s
adalah variabel kontinyu yang dapat bernilai sembarang pada interval tertentu. Karena s
sekarang mempunyai suatu bilangan bernilai yang tidak terbatas, variabel tesebut mungkin
tidak lebih panjang untuk mempertimbangkan masing-masing nilai layaknya secara individual.
Agak berbeda, penyelesaian untuk f n*  x  dan x *n harus diexpresikan sebagai fungsi dari s.
17

Lebih lanjut, contoh ini tidak reversible karena tingkat/langkahnya berhubungan denga
periode waktu jadi prosedure penyelesaiannya harus proses mundur.
Contoh 4.
Beban pekerjaan untuk penyedia pekerjaan yang bersifat lokal adalah subyek pada
fluktuasi musiman yang dapat dipertimbangkan. Namun demikian adalah sulit menggaji dan
melatih dengan biaya yang tinggi untuk operator mesin, sehingga pengelola (manajer) enggan
untuk memberhentikan pekerja selama waktu yang tidak menguntungkan (kurang order). Bila
tidak dibutuhkan, pengelola senang dengan cara ini untuk mempertahankan upah pada musim
puncaknya. Lebih lanjut, pengelola tersebut tertantang secara nyata kerja lembur pada dasar
yang bersifat regular. Karena semua pekerjaan dilakukan pada aturan yang umum, adalah
tidak mungkin untuk meningkatkan penggudangan pada waktu yang tidak menuntungkan.
Maka pengelola menghadapi suatu dilema pada kebijakannya apa yang harus dengan menjaga
tingkat pekerjaan.
Perkiraan berikut diberikan untuk kebutuhan tenaga kerja selama 4 musim tahunan
untuk dapat memperkirakan waktu berikutnya.
Season Spring Summer Autum Winter Spring
Requirements 255 220 240 200 255

Pekerjaan tidak akan diijinkan turun dibawah tingkat ini. Pekerjaan diatas tingkat ini
boros pada perkiraan biaya $2000/orang/musim. Juga diperkirakan bahwa biaya untuk
penyewaan dan biaya untuk pemecatan merupakan biaya total perubahan tingkat dari pekerja
dari satu musim ke musim selanjutnya adalah $200 kali kuadrat perbedaan tingkat pekerjaan.
Fraksi tingkatan dari pekerjaan adalah memungkinkan karena sedikitnya waktu luang dari
pekerja dan data biaya diatas berlaku pada dasar yang bersifat fraksional.
Pengelola butuh untuk menentukan level pekerjaan apa seharusnya dalam setiap
musim untuk meminimalkan biaya total.
Penyelesaian :
Berdasarkan data yang ada, tidak akan berguna/berfaedah untuk level pekerjaan diatas
kebutuhan titik puncak 255. Maka pekerjaan musim spring harus pada nilai 255, dan
permasalahan menurunkan untuk mendapatkan level pekerjaan untuk tiga musim yang lain.
18

Untuk suatu formulasi program dinamik, musim merupakan suatu tingkat(langkah).


Sebenarnya ada suatu jumlah tingkat yang tidak terbatas karena permasalahan berkembang
pada waktu yang tidak terbatas. Namun demikian, setiap tahun mulai pada siklus yang sama,
dan karena pekerjaan musim spring diketahui, adalah mungkin hanya mempertimbangkan satu
siklus dari 4 musim dengan berakhir pada musim spring
Variabel keputusan xn (n = 1,2,3,4) adalah level pekerjaan pada tingkat ke-n. Adalah
perlu bahwa musim spring merupakan tingkat yang terakhir karena nilai yang optimal dari
variabel keputusan untuk setiap kedudukan pada akhir langkah harus diketahui atau dapat
diperoleh tanpa mempertimbangkan tingkat-tingkat yang lain. Untuk setiap musim yang lain,
penyelesaian untuk level pekerjaan yang optimal harus mempertimbangkan pengaruh pada
biaya dalam musim berikutnya. Maka x1, x2, x3 dan x4 adalah level pekerjaan masing-masing
untuk musim summer, autumn, winter dan spring, dimana x4 = 255.
Biaya pada pada tingkat yang sedang berjalan bergantung hanya pada keputusan xn
yang sedang berjalan dan pekerjaan dalam musim sebelumnya. Level pekerjaan sebelumnya
menentukan kebijakan yang optimal. Maka kedudukan s digambarkan oleh level pekerjaan
pada tingkat sebelumnya. Jadi pada tingkat n kedudukan s = xn-1 ( dimana x0 = x4 = 255).
Bila rn menunjukan level kebutuhan tenaga kerja minimum pada tingkat n, maka r 1 = 220, r2 =
240, r3 = 200 dan r4 = 255. Tujuan dari permasalahan adalah memilih x1, x2, x3, x4 sehingga
4

i 1

Minimasi  200 x i  x i 1   2000( x i  ri )
2

Berlaku pada
ri ≤ xi ≤ 255, untuk i = 1,2,3,4
Jadi untuk tingkat n kedepan (n = 1,2,3,4),
4

fn(s, xn) = 200(xn – s)2 + 2000(xn – rn) + minimal  200 x i  x i 1   2000( x i  ri )
i 1
2

dimana ri ≤ xi ≤255
Karena s = xn-1. Juga,
f n*  s   min f n  s, x n 
rn  x n  255

Maka
19

fn(s, xn) = 200(xn – s)2 + 2000(xn – rn) + f n*1  x n 

Stage n Stage n + 1

State : s xn

200(xn – s)2 +
fn (s, xn) 2000(xn – rn) fn+1* (xn)
= sum

Gambar 7.5. Struktur dasar untuk permasalahan penyalur pekerjaan lokal


(dengan f 5* didefinisikan sama dengan 0 karena biaya setelah langkah ke 4 adalah tidak
relevan dengan dasar analisis). Ringkasan dari hubungan dasar ini diberikan pada Gambar
7.5.
Sebagai konsekuensi, hubungan yang terbaling yang menghubungkan fungsi f n*
adalah sebagai berikut :


f n*  s   min 200(x n - s)2 + 2000(x n - rn ) + f n*1  x n 
rn  x n  255

Pendekatan program dinamik adalah menggunakan hubungan ini untuk mengidendifikasi
fungsi-fungsi f 4*  s  , f 3*  s  , f 2*  s  , f1*  s  ini secara berurutan dan dengan meminimasikan
yang berkaitan dengan xn.
Dengan memulai pada langkah yang terakhir (n=4) , hal ini telah disimpulkan bahwa
x *4 = 255, jadi hasil yang didapatkan adalah :

n=4
s f 4*  s  x *4
200 ≤ s ≤ 255 200(255-s)2 255

Untuk permasalahan yang hanya terdiri dari 2 tingkat/langkah (n = 3), hubungan


terbalik ini berkurang menjadi :
f 3*  s   min f 3  s, x 3 
200 x n  255
20

= min
200 x n  255
200(x n - s) 2 + 2000(x n - rn ) + 200 255  x 3 
2

Satu cara memecahkan nilai minimum dari f3(s, x3) untuk suatu nilai s tertentu adalah
pendekatan secara grafik yang diilustrasikan pada Gambar 7.6. Namun demikian, suatu cara
yang lebih cepat adalah menggunakan calculus. Dengan cara khusus, menyakan turunan
pertama (parsial) dari f3(s, x3) terhadap x3,

f 3  s, x 3   400 x 3  s   2000  400 255  x 3   400 2 x 3  s  250  0
x 3

yang mana menghasilkan


s  250
x *3 
2
Karena terunan kedua adalah positif, dan penyelesaian ini dalam interval untuk x 3 yang layak,
hal ini tentu saja nilai minimum yang diharapkan. Dengan menggunakan persamaan :
2 2
 s  250 s  250   s  250
f 3*  s   f 3  s, x *3   200
  
 s   200 255    2000  200 
 2   2   2 

dan dengan menyederhanakan persamaan ini secara aljabar dan kemudian menghitung hasil
yang diinginkan untuk permasalahan 2 langkah diringkas dibawah ini :
n=3
s f 3*  s  x *3
240 ≤ s ≤ 255 50(250 – s)2 + 50(260 – s)2 + 1000(s – 150) s  250
2

Permasalahan 3 langkah (n = 2) dan 4 langkah (n = 1) dipecahkan dalam cara yang sama. Jadi
untuk n = 2,
21

f 2  s, x 2   200 x 2  s   2000 x 2  s   f 3*  x 2   200 x 2  s   2000( x 2  240)  50 250  x 2 


2 2 2

 50 260  x 2   1000 x 2  150


2

Gambar 7.6. Penyelesaian secara grafik untuk f 3*  s  permaslahan penyalur pekerjaan lokal.

Dalam daerah yang layak 240 ≤ x 2 ≤ 255. Permasalahan adalah untuk mendapatkan nilai
minimal dari x2 dalam daerah ini, sehingga :
f 2*  s   min f 2  s, x 2 
240 x 2  255

dengan mengatur :


f 2  s, x 2   0  400( x 2  s)  2000  100( 250  x 2 )  100(260  x 2 )  1000  200(3x 2  2s  240)
x 2

menghasilkan :
22

2s  240
x2 
3
karena

2
f  s, x 2   600  0
2 2
x 2
Hasil ini adalah nilai mimal yang diinginkan jika s ≥ 240. Jika s < 240 ( maka nilai x 2 diatas
adalah tidak layak), maka

f 2  s, x 2   0, untuk 240 ≤ x2 ≤ 255,
x 2
Maka x2 = 240 akan meminimalkan nilai. Tahap selanjutnya adalah memasukan nilai x 2 ini
kedalam f2(s, x2)untuk mendapatkan f 2*  s  untuk s ≥ 240 dan s < 240. Setelah beberapa
manipulasi aljabar, hasil berikut didapatkan :
n=2
s f 2*  s  x *2
220 ≤ s ≤ 240 200(240 – s)2 + 115000 240
240 ≤ s ≤ 255 200
9

2 250  s    265  s   30 3s  575
2 2
 2s  240
3

Untuk permasalahan 4 langkah (n = 1)

f 1  s, x 1   200 x 1  s   2000 x 1  s   f 2*  x 1 
2

Karena r1 = 220, daerah yang layak adalah 220 ≤ x1 ≤ 255. expresi untuk f 2*  x 1  akan berbeda
dalam 2 bagian 220 ≤ x1 ≤ 240 dan 240 ≤ x1 ≤ 255 dari daerah ini. Maka :
f1  s, x 1   200 x 1  s   2000 x 1  220  200 240  x 1   115000 jika 220  x 1  240
2 2

f1  s, x 1   200 x 1  s   2000 x 1  220  


2 200
9

2 250  x 1    265  x 1   30 3x 1  575
2 2

jika 240  x 1  255

Dengan mempertimbangkan kasus pertama, dimana x1 ≤ 240,



f 1  s, x 1   400( x 1  s)  2000  400(240  x 1 )  400(2 x 1  s  235)
x 1
23

diketahui bahwa s = 255 (pekerjaan pada musim spring), maka


f1  s, x 1   800 x 1  245  0
x 1
untuk semua x1 ≤ 240. Maka, x1 = 240 adalah nilai minimal dari fungsi f1(s, x1) pada daerah x1
≤ 240.
Bila 240 ≤ x1 ≤ 255

 200
f 1  s, x 1   400( x 1  s)  2000   4 250  x 1   2 265  x 1   90  400  4x 1  3s  225
x 1 9 3

Karena :

2
f  s, x1   0, untuk semua x1
2 1
x1
Mejadikan :

f 1  s, x 1   0,
x 1

yang menghasilkan
3s  255
x1 
4
Karena s = 255, x1 = 247.5 maka meminimalkan f1(s, x1) pada daerah 240 ≤ x1 ≤ 255. Karena
daerah ini mencakup x1 = 240, yang mana meminimalkan f1(s, x1) pada daerah dimana x1 ≤
240, selanjutnya bahwa x1 = 247.5 juga meminimalkan f1(s, x1) pada keseluruhan daerah yang
layak 220 ≤ x1 ≤ 255. Maka

f 1  255  200 247.5  255  2000 247.5  220 


* 2 200
9

2 250  247.5   265  247.5  30 742.5  575
2 2

= 185000
Hasil ini diringkaskan dalam table dibawah :
n=1
s f 1*  s  x *2
255 185000 247.5
24

Maka kebijakan optimal yang didapatkan dari penyelesaian ini adalah x1 = 247.5, x2 = 245, x3
= 247.5, x4 = 255, dengan total biaya yang diestimasi sama dengan $ 185000.
Untuk mengakhiri ilustrasi dari program dinamik deterministik, kita memberikan satu
contoh yang memerlukan lebih dari 1 variabel untuk menggambarkan kedudukan pada setiap
langkah/tingkat.
Contoh 5.
Memperhatikan permasalahan pada program linier
Maksimasi Z = 3x1 + 5x2
Pada fungsi pembatas :
x1 ≤ 4
2 x2 ≤ 12
3x1 + 2x2 ≤ 18
dan x1 ≥ 0, x2 ≥ 0.
Salah satu cara untuk penyelesaian permasalahan program linier (atau yang non linier) yang
kecil adalah dengan program dinamik, yang akan digambarkan dibawah ini.
Penyelesaian. Permasalahan ini perlu membuat dua keputusan yang saling berhubungan,
dinamakan level aktivitas 1, x1, dan level aktivitas 2, x2. Maka 2 aktivitas ini dapat
diinterpretasikan sebagai dua langkah/tingkat dalam formulasi program dinamik. Namun
demikian keduanya dapat diambil dalam susunan yang sembarang, bila langkah/tingkat n =
aktivitas n (n = 1,2). Jadi xn adalah variabel keputusan pada langkah/tingkat n.
Apa yang menjadi kedudukan?. Dengan kata lain, diberikan hal tersebut keputusan
telah dibuat pada langkah/tingkat 1, informasi apa yang diperlukan terhadap kedudukan
sekarang sebelum membuat keputusan pada langkah/tingkat ke 2?. Dengan refleksi dapat
menyarankan bahwa informasi yang diperlukan adalah jumlah kekurangan disebelah kiri
dalam fungsi pembatas. Untuk memperkuat, menginterpretasikan sisi kanan dari pembatas-
pembatas ini (4, 6 dan 18) sebagai jumlah total dari sumber daya yang ada masing-masing 1, 2
dan 3 (sebagaimana digambarkan dalam Bab pemodelan linier). Kemudian kedudukan s
adalah sisa sumber daya yang dimaksud yang dialokasikan. ( Catatan bahwa hal ini adalah
25

analog dengan contoh-contoh no 2 dan 3 kecuali bahwa sekarang ada 3 sumber daya yang
dialokasikan pengganti dari yang hanya satu sumber daya). Maka
s = (R1, R2, R3)
dimana Ri adalah sisa jumlah sumberdaya ke-i yang dialokasikan (i = 1, 2 , 3).
Maka, hal yang kontras pada contoh-contoh sebelumnya, permasalahan ini mempunyai
3 variabel kedudukan (seperti vektor dengan 3 komponen) lebih dari satu. Dari sudut pandang
secara teoritis, hal ini adalah bukan suatu yang benar-benar serius. Hal ini hanya berarti
bahwa, pengganti dari semua pertimbangan nilai-nilai yang mungkin dari satu variabel
kedudukan, perlu mempertimbangkan semua kombinasi nilai-nilai yang mungkin dari
beberapa variabel kedudukan. Namun demikian, dari sudut pandang efisiensi perhitungan, hal
ini menemukan komplikasi yang sangat serius. Umumnya, Karena jumlah kombinasi dapat
sebesar perkalian dari jumlah nilai yang mungkin dari variabel yang dimaksud, jumlah
perhitungan yang dibutuhkan cenderung membesar secara cepat bila variabel kedudukan
tambahan di tambahkan. (Phenomena ini telah diberi nama yang cocok).
Setiap dari tiga variabel kedudukan tersebut adalah kontinyu. Daripada
mempertimbangkan setiap kombinasi dari nilai yang mungkin secara terpisah, maka perlu
menggunakan pendekatan yang dikenalkan dalam contoh 4, penyelesaian untuk informasi
yang dibutuhkan sebagai fungsi dari kedudukan sistem.
Meskipun komplikasi ini, permasalahan ini adalah cukup kecil sehingga permasalahan
ini dapat diselesaikan tanpa kesulitan yang besar. Untuk melakukan hal ini, notasi program
dinamik yang umum perlu dikenalkan. Jadi, dengan menginterpretasikan Z sebagai
keuntungan, fn(R1, R2, R3, xn) adalah total keuntungan maksimumdari tingkat n kedepan, yang
mana diberikan bahwa masing-masing keputusan kebijakan dan kedudukan pada tingkat ke n
adalah (R1, R2, R3, xn). Dengan menggunakan notasi umum dari program linier (Lihat pad
bagian 2.2).

f n  R 1 , R 2 , R 3 , x n   c n x n  maksimum  c j x j
2

j n 1

sedemikian sehingga
26

2
 a ij x j  R i 1  1,2,3
j n

xj  0

Tambahan, untuk n = 1, 2
f n*  R 1 , R 2 , R 3   max f n  R 1 , R 2 , R 3 , x n  ,
xn

dimana nilai maksimum ini diambil pada nilai xn yang layak. Maka
f n  R 1 , R 2 , R 3 , x n   c n x n  f n*1  R 1  a 1n x n , R 2  a 2 n x n , R 3  a 3n x n 

(Dengan didefinisikan f 3* sama dengan nol). Hubungan dasar ini diringkas seperti dalam
Gambar 7.7.
Karena dua persamaan terakhir bersama-sama mendefinisikan hubungan yang terbalik
yang menghubungkan f 1* dan f 2* , persiapan untuk membentuk perhitungan program dinamik
dipenuhi. Untuk menyelesaikan pada tingkat/langkah yang terakhir (n = 2), tertulis bahwa :
f2(R1, R2, R3, x2) = 5x2

Gambar 7.7. Struktur dasar untuk permasalahan program linier pada ”Wyndor Glass Co”.

Dimana nilai-nilai yang layak untuk x2 adalah nilai-nilai yang memenuhi sekumpulan
pembatas 2x2 ≤ R2, 2x2 ≤ R3, x2 ≥ 0. Maka

f 2*  R1 , R 2 , R 3   max 5x 2 ,
2 x 2 R 2
2 x 2 R 3
x 2 0
Jadi, hasil penyelesaian adalah :
n=2
27

R1, R2, R3 f 2*  R1 , R 2 , R 3  x *2
Ri ≥ 0 R R  R R 
5 min  2 , 3  min  2 , 3 
 2 2  2 2

Untuk permasalahan langkah/tingkat ke-2 (n = 1),


f1  R1 , R 2 , R 3 , x1   3x1  f 2*  R1  x1 , R 2 , R 3  3x1 

dimana nilai-nilai x1 yang layak adalah nilai-nilai yang memenuhi sekumpulan pembatas x1 ≤
R1, 3x1 ≤ R3, x1 ≥ 0. Maka, karena diketahui bahwa R1 = 4, R2 = 12, R3 = 18 pada langkah
pertama, hubungan terbalik yang diinginkan adalah


f1*  4,8,12  max 3x1  f2*  4  x1,12,18  x1  ,
x1  4

3x1 18
x1  0

 12 18  3x1 
= max 3x1  5 min  , ,
0  x1  4
 2 2 
Catatan bahwa :
6, if 0  x1  2
12 18  3x1 
min  ,  3
2 2  9  x1 , if 2  x1  4
2
sehingga :
3x1  30, jika 0  x1  2
12 18  3x1 
3x1  5 min  , 
2 2  9
45  x1 , jika 2  x1  4
2
Karena kedua persamaan

max  3x1  30 dan max 45  9 x1 


0 x1  2 2
2 x  4 1  
mencapai nilai maksimumnya pada x1 = 2, hal ini memenghasilkan x1* = 2, sebagaimana
dirangkumkan pada tabel dibawah :
n=1
28

R1, R2, R3 f1*  R1 , R 2 , R 3  x1*


4,8,12 36 2

Maka penyelesaian optimal untuk permaslahan ini adalah :


 18  3(2) 
x1 = 2 dan x2 = min 6,   6 dengan total keuntungan 36.
 2 

4. PROGRAM DINAMIK PROBABILISTIK.


Program dinamik probabilistik berbeda dengan program dinamik deterministik, dalam
program dinamik probabilistik kedudukan pada langkah/tingkat selanjutnya tidak secara penuh
ditentukan oleh kedudukan dan keputusan kebijakan pada langkah/tingkat yang sedang
berjalan. Lebih lagi, ada suatu distribusi peluang untuk menetapkan kedudukan selanjutnya.
Namun demikian, distribusi peluang ini masih ditentukan secara penuh oleh kedudukan dan
keputusan kebijakan pada tingkat/langkah yang sedang berjalan. Hasil struktur dasar untuk
program dinamik probabilistik digambarkan secara skematis dalam Gambar 7.8, dimana N
menunjukan jumlah kemungkinan dari kemungkinan kedudukan pada n + 1 : (p 1, p2, ....., pn)
adalah distribusi peluang dari distribusi tersebut kedudukan akan ditentukan, diberikan
kedudukan sn dan keputusan xn pada langkah/tingkat ke-n; dan Ci adalah distribusi hasil pada
fungsi tujuan dari langkah /tingkat ke-n jika kedudukan berakhir pada kedudukan i.
Bila Gambar 7.8 dikembangkan untuk mencakup semua kedudukan dan keputusan
yang mungkin pada semua langkah/tingkat, gambar ini kadang direferensikan sebagai suatu
pohon keputusan. Jika pohon keputusan tidak terlalu besar, hal ini menghasilkan suatu cara
penjumlahan berbagai kemungkinan yang dapat terjadi.
Karena struktur peluang, keterkaitan antara fn(sn, xn) dan f n*1  s n 1  adalah agak
komplek dari pada program dinamik deterministik. Bentuk yang teliti dari hubungan ini akan
tergantung pada bentuk dari fungsi tujuan keseluruhan.
29

Gambar 7.8. Struktur dasar untuk program dinamik probabilistik


Untuk menggambarkan, andaikata bahwa tujuannya adalah untuk meminimalkan jumlah
kontribusi yang diharapkan dari langkah/tingkat secara individual. Dalam hal ini f n(sn, xn)
akan merepresentasikan jumlah minimum yang diharapkan dari langkah/tingkat n kedepan,
diberikan bahwa kedudukan dan keputusan kebijakan pada langkah/tingkat n masing-masing
adalah sn dan xn. Dengan konsekwensi :


f n  s n , x n    pi Ci  f n*1  i 
N

i 1

dengan
f n*1  s n 1   min f n 1  s n 1 , x n 1 
x n 1

dimana minimasi ini dilakukan pada nilai-nilai xn+1 yang layak. Contoh no 6 mempunyai
bentuk yang sama seperti ini, contoh 7 akan menggambarkan bentuk yang lain.
Contoh 6. Hit and Miss Manufacturing Company telah menerima order untuk mensuplai satu
bagian dari suatu tipe barang yang bersifat khusus. Namun demikian pemesan telah
mempunyai spesifikasi seperti kebutuhan kualitas kekerasan yang mana si pembuat produk
harus memproduksi lebih dari satu bentuk dari tipe ini untuk mendapatkan suatu produk yang
dapat diterima. Si pembuat produk memperkirakan bahwa setiap barang dari tipe ini yang ia
hasilkan akan dapat diterima dengan peluang ½ dan yang tidak diterima, tanpa ada
kemungkinan diperbaiki, dengan peluang ½. Jadi jumlah barang yang dapat diterima yang
30

dihasilkan dengan jumlah L akan mempunyai suatu distribusi bersifat binomial, peluang
produksi barang yang diterima dengan jumlah ini adalah (1/2)L..
Biaya produksi marginal untuk produk ini ditentukan sama dengan $100 per item
(meskipun jika produk tersebut tidak diterima), dan barang lebih adalah barang yang jelek.
Tambahan, biaya “set-up” mesin $300 harus diadakan bilamana proses produksi digunakan
untuk produk ini. Jika pemeriksa mengungkapkan bahwa jumlah barang yang diselesaikan
belum menghasilkan suatu barang yang dapat diterima, proses produksi harus di”set-up”
dengan biaya tambahan $300. Manufacturer (pembuat barang) mempunyai waktu untuk
membuat tidak lebih dari tiga kali jalannya produksi. Jika satu barangpun tidak dapat diterima
pada akhir produksi yang ketiga, biaya pada manufacturer termasuk kehilangan pendapatan
dari penjualan dan biaya denda adalah $1,600.
Tujuan adalah untuk menentukan kebijakan yang memperhatikan ukuran jumlah untuk
keperluan jalannya produksi yaitu memperkecil total biaya yang diharapkan untuk si pembuat
barang tersebut.
Penyelesaian : Tahap/tingkat program dinamik adalah jalannya produksi. Variabel keputusan
xn (n = 1, 2, 3) merupakan ukuran banyak produksi pada tahap ke-n. Banyak barang yang
dapat diterima diperoleh (satu atau nol) akan membantu menggambarkan kedudukan system
pada suatu tahap. Jadi kedudukan s = 1 pada tahap 1. Jika sedikitnya ada satu barang yang
dapat diterima diperoleh secara berurutan, kedudukan berubah untuk s = 0, setelah kedudukan
tersebut tidak ada biaya tambahan yang terjadi.

Walaupun pernyataan yang rumit dapat diberikan untuk keseluruhan fungsi tujuan, hal ini
secara langsung lebih menggambarakan fn(s, xn). Dalam kasus fn(s, xn) merupakan total
minimum biaya yang diharapkan untuk tahap ke-n ke depan, diberikan bahwa kedudukan dan
keputusan kebijakan pada tahap ke-n masing-masing adalah s dan x n secara berturut-turut.
Selanjutnya,

Fn* (s) = min fn(s, xn),


xn = 0, 1, ...
dimana fn*(0) = 0. Dengan menggunakan $100 sebagai satuan uang, kontribusi untuk biaya
dari tahap ke-n adalah (K + xn) dengan tanpa melihat tahap selanjutnya, dimana
31

0 jika x n  0
K
 3 jika x n 0

Oleh karena itu, untuk s =1

fn(1, xn) = K + xn + ( ½ )Xn fn+1*(1) + [1 - ( ½)Xn] fn+1*(0)


= K + xn + ( ½ ) Xn fn+1*(1)
[dimana f4* (1) ditentukan sama dengan 16, biaya akhir jika tidak ada barang yang dapat
diterima telah didapatkan]. Ringkasan dari hubungan dasar ini ditunjukan dalam Gambar. 7.9.
Dengan konsekwensi, hubungan kebelakang untuk perhitungan program dinamik
adalah

fn*(1) = min {K + xn + ( ½ )Xn fn+1*(1)}

untuk n = 1, 2, 3. Perhitungan diringkas pada bagian bawah ini.

x3 f3(1,x3) = K + x3 + 16( ½ )x3

s 0 1 2 3 4 5 f3*(s) x3*
n=3
0 0 0 0

1 16 12 9 8 8 8½ 8 3 atau 4

x2 f2(1,x2) = K + x2 + ( ½ )x2 f3*(1)

s 0 1 2 3 4 f2*(s) x2*
n=2
0 0 0 0

1 8 8 7 7 7.5 7 2 atau 3

x1 f1(1,x1) = K + x1 + ( ½ )x2 f2*(1)

n=1 s 0 1 2 3 4 f1*(s) x1*

1 7 7½ 6¾ 6 7/8 7 7/16 6¾ 2
32

Gambar 7.9 Struktur dasar untuk masalah Manufakturing Co Hit-and-Miss.

Jadi kebijakan optimal adalah untuk memproduksi dua barang pada proses produksi
yang pertama; jika tidak ada yang diterima, kemudian memproduksi dua atau tiga barang pada
proses produksi yang kedua; jika tidak ada yang diterima, kemudian memproduksi tiga atau
empat barang pada proses produksi yang ketiga.. Total biaya yang diharapkan untuk kebijakan
ini adalah $675.

Contoh 7
Seorang ahli statistik hiburan yang masih muda percaya bahwa dia telah
mengembangkan sistem untuk memenangkan permainan popular Las Vegas. Koleganya tidak
percaya bahwa hal itu adalah mungkin, jadi mereka membuat taruhan besar, memulai dengan
tiga chips, dia tidak akan memiliki lima chip setelah tiga permainan. Masing-masing
permainan melibatkan suatu jumlah taruhan yang diinginkan dari chip yang tersedia dan
kemudian apakah memenangkan atau kehilangan jumlah chip tersebut. Ahli statistik tersebut
33

percaya bawa sistem ini akan memberikannya kemungkinan 2/3 kemenangan berkaitan
dengan permainan ini.
Dengan mengasumsikan ahli statistik adalah benar, tentukan kebijakan optimalnya
dengan melihat berapa banyak chip yang ditaruhkan (jika ada) pada masing-masing tiga
permainan ini. Keputusan pada masing-masing permainan harus memperhitungkan hasil
permainan yang lebih awal. Tujuannya adalah untuk memaksimalkan kemungkinan
kemenangan taruhannya dengan koleganya.

Pemecahan : Permainan melibatkan tahap-tahap dalam perumusan program dinamik. Variabel


keputusan xn (n = 1, 2, 3) merupakan jumlah chip untuk taruhan pada tahap ke-n. Kedudukan
sistem pada suatu tahap merupakan jumlah chip yang tersedia untuk taruhan pada tahap
tersebut karena informasi ini diperlukan untuk membuat keputusan yang optimal tentang
berapa banyak chip yang dipertaruhkan.
Karena tujuannya adalah untuk memaksimumkan kemungkinan bahwa ahli statistik
akan memenangkan taruhannya, fungsi tujuan yang dimaksimumkan pada setiap
tahap/langkah harus merupakan kemungkinan menyelesaikan tiga permainan dengan paling
sedikitnya lima chip. Oleh karena itu, f n(s, xn) merupakan maksimum dari kemungkinan yang
diberikan bahwa ahli statistik tersebut memulai permainan (tahap ke n) dengan chip s yang
tersedia. Selanjutnya,

fn*(s) = max fn (s,xn)


xn = 0, 1,…,s

Pernyataan untuk fn(s, xn) harus mencerminkan kenyataan bahwa hal ini tetap mungkin untuk
mengakumulasikan lima chip secara cepat meskipun ahli statistik harus kalah pada permainan
berikutnya. Jika dia harus kalah, kedudukan pada tahap selanjutnya akan menjadi (s - xn), dan
kemungkinan penyelesaian dengan paling sedikit lima chip maka akan menjadi fn+1*(s - xn).
Sebaliknya jika dia memenangkan permainan selanjutnya, kedudukannya akan menjadi (s +
xn), dan kemungkinan yang sesuai akan menjadi fn+1*(s + xn). Karena diduga bahwa
kemungkinan menang yang diberikan dalam permainan ini adalah 2/3, maka fungsi tujuannya
sekarang adalah sebagai berikut:
34

fn(s, xn) = 1/3 fn+1*(s - xn) + 2/3 fn+1*(s + xn)


[dimana f4 *(s) digambarkan sebagai nol untuk s < 5 dan 1 untuk s  5]. Jadi tidak ada
kontribusi secara langsung untuk fungsi tujuan dari tahapan n yang ditambahkan untuk
mempengaruhi tahapan selanjutnya. Hubungan dasar ini dirangkum dalam Gambar 7.10.

Gambar.7.10 Struktur dasar untuk permasalahan Las Vegas

Oleh karena itu hubungan yang berulang untuk masalah ini adalah

fn*(s) = max {1/3 fn+1*(s - xn) + 2/3 fn+1*(s + xn)}


xn = 0, 1, …, s

untuk n = 1, 2, 3. Persamaan ini memberikan hasil perhitungan yang disajikan pada tabel di
bawah
n=3

S F3*(s) x*3
0 0 ……………….

1 0 ……………….

2 0 ……………….

3 2/3 2 (atau lebih)


35

4 2/3 1(atau lebih)

5 1 0(atau  s - 5

n=2

x2 f2(s,x2) = 1/3 f3*(s – x2) + 2/3 f3*(s + x2)

s 0 1 2 3 4 f2*(s) x2*
0 0 0 …………

1 0 0 0 …………

2 0 4/9 4/9 4/9 1, 2

3 2/3 4/9 2/3 2/3 2/3 0, 2, 3

4 2/3 8/9 2/3 2/3 2/3 8/9 1

5 1 1 0 (atau  s - 5)

n=1

x1 f1(s,x1) = 1/3 f2*(s – x1) + 2/3 f2*(s + x1)

s 0 1 2 3 f1*(s) x1*

3 2/3 20/27 2/3 2/3 20/27 1

Oleh karena itu kebijakan optimal adalah


36

 *  jika menang , x 3*  0
 jika menang , x 1
2  jika kalah , x *  2,3
  3

*    2,3 ( untuk x *2
x  1  1)
1 *  jika menang , x 3  
*
 jika kalah , x 1 atau 2 
2 1, 2 , 3, 4 ( untuk x
*
2
 2)
 
  jika kalah , taruhan hilang

Kebijakan ini memberikan kemungkinan kemenangan sebesar 20/27 kepada ahli statistik
bertaruh dengan koleganya.

7.5 Kesimpulan
Program dinamik merupakan teknik yang sangat bermanfaat untuk membuat rangkaian
keputusan yang bersangkut-paut. Ini memerlukan rumusan yang berulang yang sesuai untuk
masing-masing permasalahan secara individu. Bagaimanapun juga, program ini memberikan
penghematan perhitungan yang besar daripada menggunakan penyebutan satu persatu untuk
mendapatkan kombinasi keputusan yang terbaik, khususnya untuk permasalahan yang besar.
Sebagai contoh, jika sebuah permasalahan memiliki 10 tahapan dengan 10 kedudukan dan 10
kemungkinan keputusan pada masing-masing tahapan, maka secara menyeluruh satu per satu
penyebutan harus mempertimbangkan sampai kombinasi 1010, sedangkan program dinamik
memerlukan pembuatan tidak lebih dari 103 perhitungan (10 untuk masing-masing kedudukan
pada masing-masing tahap).
Bab ini hanya mempertimbangkan program dinamik dengan jumlah tahapan yang
terbatas. Bab 13 menyediakan bermacam model umum untuk program dinamik probabilistik
dimana melanjutkan tahapan terulang yang tak terbatas yaitu: dinamakan Proses Pengambilan
Keputusan Markovian.

Anda mungkin juga menyukai