You are on page 1of 34

Operations Research

Industrial engineering
DYNAMIC PROGRAMMING
01/04/2013 Operations Research 2
Characteristics Of Dynamic
Programming Problem
The problem can be divided into stages, with a policy
decision required at each stage
1
Each stage has a number of states associated with it
2
The effect of the policy decision at each stage is to
transform the current state into a state associated
with the next stage (possibly according to a
probability distribution)
3
01/04/2013 Operations Research 3
Characteristics Of Dynamic
Programming Problem
The solution procedure is designed to find an optimal
policy for the overall problem, i.e., a prescription of
the optimal policy decision at each stage for each of
the possible states
4
Given the current state, an optimal policy for the
remaining stages is independent of the policy adopted
in precious stages (this is the principle of the
optimality for dynamic programming)
5
01/04/2013 Operations Research 4
Characteristics of dynamic programming
problem: forward recursive
The solution procedure begins by finding
the optimal policy for the first stage
7
A recursive relationship that identifies the
optimal policy for stage n, given the
optimal policy for stage (n - 1), is available
8
01/04/2013 Operations Research 5
Characteristics of dynamic programming
problem: backward recursive
The solution procedure begins by finding
the optimal policy for the last stage
7
A recursive relationship that identifies the
optimal policy for stage n, given the
optimal policy for stage (n + 1), is available
8
01/04/2013 Operations Research 6
N = number of stages
n = label for current stage (n = 1, 2, , N)
S
n
= current state for stage n
X
n
= decision variable for stage n
X
n
* = optimal value of X
n
(given S
n
)
01/04/2013 Operations Research 7

n n SX
X
n
X f c S f
n
n
*
1
*
min


= contribution of stage n, n + 1,
, N to the objective function if the system
starts in state Sn at stage n, the immediate
decision id Xn, and optimal decisions are
made thereafter

01/04/2013 Operations Research 8

n n n
X S f ,

* *
,
n n n n n
X S f S f

n n SX
X
n
X f c S f
n
n
*
1
*
min


The recursive relationship will always be of the
form
01/04/2013 Operations Research 9


n n n
X
n n
n n n
X
n n
X S f S f
or
X S f S f
n
n
, min
, max
*
*


n n SX
X
n
X f c S f
n
n
*
1
*
min


Characteristics of dynamic
programming problem
When we use this recursive relationship, the solution
procedure moves backward stage by stage each
time finding the optimal policy for that stage until it
finds the optimal policy starting at the initial stage
8.
01/04/2013 Operations Research 10
X1 X2 X3
S1
S2
S3
Xn
Sn
fn(Sn, Xn)
fn*(Sn) Xn*
Contoh 1
Sebuah perusahaan mempunyai usulan dari
ketiga pabriknya untuk kemungkinan
mengembangkan sarana produksi. Perusahaan
tersebut menyediakan anggaran $5 juta untuk
alokasi pada ketiga pabrik. Setiap pabrik
diminta untuk menyampaikan usulannya yang
memberikan jumlah biaya (c) dan jumlah
pendapatan (R) untuk setiap usulan.
01/04/2013 Operations Research 11
Contoh 1
01/04/2013 Operations Research 12
c1 R1 c2 R2 c3 R3
1 0 0 0 0 0 0
2 1 5 2 8 1 3
3 2 6 3 9
4 4 12
Pabrik 2 Pabrik 3
Usulan
Pabrik 1
Contoh 1: stage 1
01/04/2013 Operations Research 13
0 1 2
0 0 0 0
1 0 5 5 1
2 0 5 6 6 2
3 0 5 6 6 2
4 0 5 6 6 2
5 0 5 6 6 2
X1
S1
f1(S1, X1)
f1*(S1) X1*
Contoh 1: Stage 2
01/04/2013 Operations Research 14
0 2 3 4
0 0 0 0
1 5 5 0
2 6 8 8 2
3 6 13 9 13 2
4 6 14 14 12 14 2 atau 3
5 6 14 15 17 17 4
X2*
X2
S2 f2*(S2)
f2(S2, X2)
Contoh 1: Stage 3
01/04/2013 Operations Research 15




Dana yang tersedia $5 juta dimanfaatkan semua
Alokasi dana pabrik 1 pabrik 2 pabrik 3
1 4 0
1 3 1
2 2 1
Total pendapatan = $17 juta
0 1
5 17 17 17 0 atau 1
X3
S3 X3*
f3(S3, X3)
f3*(S3)
Contoh 1: Rekursif Mundur
01/04/2013 Operations Research 16
0 1
0 0 0 0
1 0 3 3 1
2 0 3 3 1
3 0 3 3 1
4 0 3 3 1
5 0 3 3 1
X3
S3
f3(S3, X3)
f3*(S3) X3*
Contoh 1: Rekursif Mundur
01/04/2013 Operations Research 17
0 2 3 4
0 0 0 0
1 3 3 0
2 3 8 8 2
3 3 11 9 11 2
4 3 11 12 12 12 3 atau 4
5 3 11 12 15 15 4
X2*
X2
S2
f2(S2, X2)
f2*(S2)
Contoh 1: Rekursif Mundur
01/04/2013 Operations Research 18




Dana yang tersedia $5 juta dimanfaatkan semua
Alokasi dana pabrik 1 pabrik 2 pabrik 3
1 3 1
1 4 0
2 2 1
Total pendapatan = $17 juta
0 1 2
5 15 17 17 17 1 atau 2
X1
S1
f1(S1, X1)
f1*(S1) X1*
Contoh 2
Suatu organisasi kesehatan dunia menyelenggarakan program
peningkatan kepedulian pada kesehatan dan memberikan
pendidikan kesehatan di beberapa negara terbelakang
Organisasi tersebut memiliki 5 tim medis yang siap ditugaskan
di 3 negara
Satu negara paling tidak harus didatangi 1 tim medis
Performansi diukur dengan penambahan umur hidup
01/04/2013 Operations Research 19
Contoh 2
01/04/2013 Operations Research 20
1 2 3
1 45 20 50
2 70 45 70
3 90 75 80
4 105 110 100
5 120 150 130
Number of
Medical Teams
Thousands of Additional Person-
Years of Life
Country
Contoh 2: Stage 3
01/04/2013 Operations Research 21
1 2 3
1 45 45 1
2 45 70 70 2
3 45 70 90 90 3
X3
S3
f3(S3, X3)
f3*(S3) X3*
Contoh 2: Stage 2
01/04/2013 Operations Research 22
1 2 3
2 65 65 1
3 90 90 90 1 atau 2
4 110 115 120 120 3
X2
S2
f2(S2, X2)
f2*(S2) X2*
Contoh 2: Stage 1



Alokasi Tim Medis
1 3 1
Total additional person-years of life = 170.000

01/04/2013 Operations Research 23
1 2 3
5 170 160 145 170 1
X1
S1
f1(S1, X1)
f1*(S1) X1*
Contoh 2: asumsi suatu negara boleh
tidak dikunjungi tim medis sama sekali
01/04/2013 Operations Research 24
0 1 2 3 4 5
0 0 0 0
1 0 45 45 1
2 0 45 70 70 2
3 0 45 70 90 90 3
4 0 45 70 90 105 105 4
5 0 45 70 90 105 120 120 5
f3*(S3) X3*
X3
S3
f3(S3, X3)
0 1 2 3 4 5
0 0 0 0
1 45 20 45 1
2 70 65 45 70 1
3 90 90 90 75 90 0 atau 1 atau 2
4 105 110 115 120 110 120 3
5 120 125 135 145 155 150 155 4
X2
S2
f2(S2, X2)
f2*(S2) X2*
Contoh 2: asumsi suatu negara boleh
tidak dikunjungi tim medis sama sekali



Alokasi tim medis
1 3 1
Total additional person-years of life = 170.000
01/04/2013 Operations Research 25
0 1 2 3 4 5
5 155 170 160 150 145 130 170 1
X1
S1
f1(S1, X1)
f1*(S1) X1*
Soal 1
A college student has 7 days remaining before final
examinations begin in her four courses, and she wants
to allocate this study time as effectively as possible.
She needs at least 1 day on each course, and she likes
to concentrate on just one course each day, so she
wants to allocate 1, 2, 3, or 4 days to each course.
Having recently taken an operations research course,
she decides to use dynamic programming to make
these allocations to maximize the total grade points to
be obtained from four courses. She estimates that the
alternative allocations for each course would yield the
number of grade points shown in the table. Solve this
problem by dynamic programming.
01/04/2013 Operations Research 26
Soal 1
01/04/2013 Operations Research 27
1 2 3 4
1 3 5 2 6
2 5 5 4 7
3 6 6 7 9
4 7 9 8 9
number of
study days
estimated grade points
courses
Soal 2
Sebuah lembaga penelitian merencanakan suatu proyek
penelitian. Terdapat tiga tim yang akan menyelesaikan proyek
tersebut dengan pendekatan yang berbeda. Ketiga tim
mempunyai kemungkinan gagal berturut-turut sebesar 0,4;
0,6; dan 0,8 sehingga kemungkinan proyek tersebut gagal
adalah sebesar 0,4 x 0,6 x 0,8 = 0,192.
Untuk mengurangi tingkat kegagalan proyek, ada dua pakar
yang ditugaskan untuk membantu kerja tim peneliti. Seorang
pakar hanya bisa bergabung di satu tim. Tapi satu tim boleh
dibantu oleh lebih dari satu pakar.
01/04/2013 Operations Research 28
Soal 2
Data perkiraan tingkat kegagalan tim apabila
dibantu oleh pakar:




Tujuan: minimasi tingkat kegagalan
01/04/2013 Operations Research 29
Jumlah pakar
yang bergabung
Tingkat kegagalan
Tim 1 Tim 2 Tim 3
0 0,40 0,60 0,80
1 0,20 0,40 0,50
2 0,15 0,20 0,30
Soal 3
Selama satu horizon perencanaan produksi yang terdiri dari tiga
bulan, permintaan akan produk A adalah satu unit produk per
bulan
Jika inventory di awal dan akhir horizon perencanaan harus nol
dan tidak diijinkan terjadi stok kosong pada saat permintaan
datang, maka dalam tiap bulannya minimal harus tersedia satu
unit produk. Pada bulan pertama harus diproduksi minimal satu
unit produk. Stok pada bulan ketiga harus nol.
01/04/2013 Operations Research 30
Soal 3
Untuk memenuhi permintaan selama tiga bulan
tersebut, produk dapat diproduksi sekaligus
dalam satu bulan tertentu dengan resiko biaya
simpan tinggi atau diproduksi dalam tiap bulan
dengan resiko biaya setup tinggi
Tujuan: menentukan kebijakan produksi yang
menghasilkan ongkos total minimum.
01/04/2013 Operations Research 31
Soal 3
Rincian biaya
01/04/2013 Operations Research 32
Biaya
Bulan ke-
1 2 3
Setup cost/run production
14 8 12
Production cost/unit
10 8 10
Holding cost/unit ending
in inventory
4 2 6
Soal 4
Perusahaan X mempunyai data kebutuhan
produksi dari produk A untuk 3 periode ke
depan:

01/04/2013 Operations Research 33
Periode Kebutuhan Produksi
1 2 unit
2 2 unit
3 3 unit
Soal 4
Setiap kali run produksi dihasilkan 1 unit produk A. Biaya setup untuk run
pertama (1 unit pertama) adalah $20 dalam setiap periode dan naik sebesar
$2 untuk setiap tambahan 1 unit yang diproduksi pada periode tersebut.
Biaya produksi + overhead untuk tiap periode konstan
Biaya simpan untuk setiap 1 unit kelebihan produk adalah $3 per periode
Kapasitas maksimum gudang adalah 3 unit per periode
Inventori awal periode 1 = 0
Tujuan: menentukan kebijakan produksi yang menghasilkan ongkos total
minimum
01/04/2013 Operations Research 34