Operations Research Industrial engineering
Dec 26, 2015
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)
• Sn = current state for stage n
• Xn = decision variable for stage n
• Xn* = optimal value of Xn (given Sn)
01/04/2013 Operations Research 7
nnSXX
n XfcSfn
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
nnn XSf ,
** , nnnnn XSfSf
nnSXX
n XfcSfn
n
*
1
* min
• The recursive relationship will always be of the form
01/04/2013 Operations Research 9
nnnX
nn
nnnX
nn
XSfSf
or
XSfSf
n
n
,min
,max
*
*
nnSXX
n XfcSfn
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 R31 0 0 0 0 0 02 1 5 2 8 1 33 2 6 3 94 4 12
Pabrik 2 Pabrik 3Usulan
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