teori permainan - E-learning UPN JATIM

advertisement
TEORI PERMAINAN
 Teori permainan adalah teori matematik bagi suatu situasi persaingan dimana
penekanan dalam teori ini adalah pengambilan keputusan yang dilakukan oleh para
pesaing dalam usahanya untuk menang sebesar mungkin (maximasi kemenangan)
atau kalah sekecil mungkin (minimasi kekalahan)
 Masing-masing pesaing disebut pemain, dan pilihan tindakan untuk mendapatkan
kemenangan dis Amt strategi. Setiap kombinasi strategi menghasilkan outcomes yang
berbeda bagi pihak-pihak yang bersaing.
Contoh
1. Kasus persaingan dalam pemasaran suatu produk. Pesaing adalah perusahaan
penghasil produk sejenis. Strategi adalah berbagai teknikadvertensi. Outcome
perolehan pangsa pasar.
2. Kasus perencanaan taktik pertempuran. Pesaing adalah kekuatan militer yang
saling bermusuhan. Strategi adalah berbagai pilihan tindakan menyerang.
Outcome perolehan kemenangan (misal: daei ah yang ditaklukkan, persenjataan
lawan yang dilumpuhkan, dsb)
Two Person Zero Sum Game:
Suatu permainan yang melibatkan persaingan antara 2 orang (pihak) dimana kemenangan
pihak yang satu sama besamya dengan kekalahan pihak yang lain (sehingga jumlah total
perolehan ke dua pihak adalat nol)
Contoh:
Pertaruhan dengan melemper mata uang antara A dan B. Bila sisi yang di atas sama, A
menang Rp. 1.000,- dan B .kalah serta harus membayar Rp. 1.000,- . Sebaliknya bila sisi
yang di atas berbeda, A kalah dan membayar Rp 1.000,- dan B menang memperoleh Rp.
1.000,-. Matriks pay-off dari permainan di atas adalah:
B
A
I
II
I
1.000
-1.000
II
-1.000
1.000
Karakteristik permainan two person zero sum:
1. Strategi pemain I
2. Strategi pemain II
3. Tabel pay-off
Kedua pemain diasumsikan rasional dan cerdas sehingga selalu berusaha untuk menang
atau kalaupun kabh maka kekalahannya sesedikit mungkin. Terdapat 2 kasus:
1. Permainan sederhana
Selalu terdapat satu buah (saja) strategi murni yang dipilih oleh masing-masing
pihak untuk optimalkan keuntungannya.
2. Permainan complex
Terdapat sejumlah strategi yang hal-us dimainkan oleh masing-masing pihak
untuk (ptimalkan keuntungannya (strategi campuran)
Contoh:
Dua orang politikus melakukan kampanye uatuk pemilihan anggota senat. Kampanye
hanya dapat dilakukan 2 hari sebelum hari pemilihan. Keduanya memutuskan untuk
menggunakan 2 hari tersebut untuk meraih suara sebanyak-banyaknya di 2 kota X dan Y.
Untuk menghemat waktu mereka melakukan perjalanan dari satu kota ke kota yang lain
di malam hari dan menggunakan 1 hari penuh untuk berkampanye di masing-masing
kota. Mereka jugs dapat memilih untuk berkampanye 2 hari berturutturut di salah satu
kota. Rencana kampanye harus dilaporkan ke aparat keamanan dan kedua pihak tidak
tahu rencana lawannya sampai akhirnya diumumkan di media massa oleh aparat
keamanan. Dengan demikian kedua politikus harus menduga berbagai kemunkinan
kombinasi kampanye yang terjadi di kedua kota beserta akibatnya terhadap perolehan
suara yang diharapkan. Berdasarkan informasi (dugaan) ini is harus mengoptimalkan
penggunaan hari kampanyenya.
Formulasi ke dalam bentuk permainati two person zerosum adalah sbb:
- Dua pemain adalah politikus A dan politikus B
- Masing-masing memp.unyai 3 strategi sbb:
 Strategi 1: berkampanye di kedua kota masing-masing 1 hari.
 Strategi 2: berkampanye di kota X saja selama 2 hari
 Strategi 3: berkampanye di kota Y saja selama 2 hari.
Pihak B
Strtg 1 Strtg 2 Strtg 3
Strtg 1 …….. …….. ……..
Pihak
Strtg 2 …….. …….. ……..
A
Strtg 3 …….. …….. ……..
 Pay-off matrixnya akan berbentuk seperti tabel di atas dimana isis dari matrikx tsb
adalah utilitas masing-masing kombinasi strategi bagi A.
 Misalnya bila A berkampanye 2 hari di kota X akan memperoleh 2 juta suara dan B
dengan berkampanye 2 hari di kota X akan memperoleh 3 juta suara, maka total
kemenangan bersit A terhadap B (bila menggunakan strategi 2 dan lawannya juga
demikian) adalah 2 – 3 = -1 (juta). Dengan demikian baris ke 2 dan kolom ke 2 dari
matrix tersebut isinya -1. Dengan cara yang sama elemen matrix yang lain diisi.
KASUS I
 Bila setelah dilengkapi pay-off matrix nya berbentuk sbb:
Pihak
A
Strtg 1
Strtg 2
Strtg 3
Strtg 1
1
1
0
Pihak B
Strtg 2 Strtg 3
2
4
0
5
1
-1
 Karena A rasional, ia selalu lebih mengutamakan strategi 1 dibandingkan strategi 3
(strategi A memberikan outcome dalam bentuk baris dari matrix pay-off). “Strategi 3
didominasi strategi 1”
Pihak B
Strtg 1 Strtg 2 Strtg 3
Strtg 1
1
2
4
Pihak A
Strtg 2
1
0
5
 B juga rasional dan tahu bahwa A tidak akan pernah menggunakan strategi 3, dan ia
juga menyadari bahwa strategi 3 miliknya selalu memberikan kerugian lebih besar
dibanding strategi 1 (Strategi B memberikan outcome dalam bentuk kolom)
Pihak A
Strtg 1
Strtg 2
Pihak B
Strtg 1 Strtg 2
1
2
1
0
 Strategi 3 didominasi strategi 1 sehingga B tidak pernah memilih strategi 3.
selanjutnya A yang juga mengetahui taktik tersebut melihat bahwa memilih strategi 1
lebih mcnguntungkan dari strategi 2. (strategi 2 didominasi strategi 1)
Pihak A
Strtg 1
Pihak B
Strtg 1 Strtg 2
1
2
 B yang ingin kekalahannya sesedikit mungkin akan memilih strategi 1 (strategi 2
didominasi strategi 1)
 Dengan demikian kedua pihak akan memilih strategi 1 dan politikus A akan selalu
memperoleh 1 juta suara dari politikus B. Keadaan ini disebut permainan yang stabil
(masing-masing akan selalu menggunakan strategi tertentu saja) dan nilai
permainannya. (value of the game) adalah 1. Suatu permainan disebut fair bila nilai
permainannya sama dengan nol.
KASUS II
A
1
2
3
B
1
2
3
-3
-2
6
2
0
2
5
-2
-4
5
0
6
Strategi minimax
min dari max kolom
-3
0
-4
Strategi maximum
max dari min baris
 Politikus A: bila ia memilih strtg 1 ia mungkin menang 6 atau kalah 3. B akan
berusaha mengalahkannya dengan memilih strtg 1. Bila ia memilih strtg 3 mungkin
menang 5 atau kalah 4. Sebaliknya bila ia memilih strtg 2 dijamin ia tidak akan
pernak kalah, bahkan mungkin menang. Strtg 2 merupakan pilihan yang rasional.
 Hal yang sama berlaku bagi B. Dengan memilih strtg 2 ia dijamin tidak akan kalah,
bahkan mungkin menang.
Strategi minimax
 Meminimumkan maximum dari kekalahanya.
 Value of the game = 0 ← fair game
 Batas atas permainan = batas bawah permainan ← permainan mempunyai titik
saddle.
PERMAINAN DENGAN STRATEGI CAMPURAN
 Bila suatu permainan tidak memiliki saddle point, (menggunakan kriteria minimax
ternyata batas atas permainan batas bawahnya) teori permainan mengoptitmalkan
kemenangan dengan cara menetapkan distribusi kemungkinan bagi setiap strategi.
 Untuk tabel pay-off berukuran m x n, maka jumlah strategi pihak I adalah m buah dan
strategi pihak II n buah.
xi : kemungkinan pemain I menggunakan strtg i (i = 1, 2, …, m)
yj : kemungkinan pemain II menggunakan strtg j (j = 1, 2, …, n)
m
 xi  1
i 1
n
;vj  1
j 1
xi , v j  0
Dengan demikian:
P(main di strtg 1, main di strtg 2, …, main di strtg m) = (x1, x2, ……,Xm)
P(main di strtg 1, main di strtg 2, …, main di strtg n) = (y1, y2, ……..,yn)
disebut strategi campuran (mixed strategi)
Contoh:
yj
y1
y2
y3
1
2
3
x1
1
0
-2
2
-2
xi
x2
2
5
4
-3
-3 Lower value
x3
3
2
3
-4
-4
5
4
2
Upper value
Pada tabel pay-off tersebut, batas atas batas bawah permainan tidak memiliki saddle
point. Bila pihak I memiliki strategi campuran
(x1, x2, x3) = (1/2, 1/2, 0)
dan pihak II (y1, y2, y3) = (0, 1/2, 1/2)
maka pemain I akan menggunakan strtg 1 dan strtg 2 dengan kemungkinan yang sama
besarnya sedangkan strtg 3 tidak pernah digunakan. Demikian pula pihak II hanya
menggunakan strtg 2 dan strtg 3 saja.
 Untuk strategi campuran, expektasi dari pay-off adalah:
m
Expect. Pay off =
n
 p
i 1 j 1
x yj
ij i
dimana Pij : Pay off bila pihak I nienggutmakan strategi (murni) i dan pihak II
menggunakan strategi (murni) j.
 Expect. pay off memberikan kecenderungan perolehan dari pihak I bila permainan
diulang berkali-kali menggunakan strategi campuran tersebut.
yj
y1= 0
y2= 1/2 y3= 1/2
1
2
3
x1 = 1/2
1
0
-2
2
-2
x2 = 1/2
2
5
4
-3
-3
xi
Maximin V
x3 = 0
3
2
3
-4
-4
5
4
2
Minimax V
Karena strtg 3 pihak I dan strtg 1 pihak II tidak pemah dimainkan, maka outcome yang
mungkin muncul adalah (-2, 2, 4, -3)
dengan kemungkinan sebesar (x1y2, x1y3, x2y2, x2y3) = (1/4, 1/4, 1/4, 1/4) sehingga
expected pay offnya = 1/4*-2 + 1/4*2 + 1/4*4 + 1/4*-3 = ¼
KRITERIA MINIMAX : strategi campuran dipilih untuk memaximumkan minimum
perolehan (atau meminimumkan max kekalahan)
V : maxiniin expected pay off (strategi I) = batas bawah permainan
V : minimax expected pay off (strategi II) = batas atas permainan
V : value of the game (nilai permainan)
Strategi campuran yang optimal akan memberikan :
V=V= V
Terdapat 2 cara untuk memperoleh xi dan yj yang optimal:
1. Cara Grafis
2. Linier Programming
1. CARA GRAFIS
II
Kemungk
y1
y2
y3
kemungk
Strtg Murni
1
2
3
Strategi 3 pihak I didominasi oleh
x1
1
0
-2
2
strategi 2 sehingga diabaikan
I
x2 = (1 - x1)
2
5
4
-3
Berdasarkan tabel di atas maka untuk setiap strategi murni pihak II expected pay off pihak
I adalah sbb:
y1
y2
y3
Expected pay off
(1,
0,
0)
0x1 + 5(1 - x1) = 5 - 5 x1
(0,
1,
0) -2x1 + 4(1 - x1) = 4 - 6 x1
(0,
0,
1) 2x1 – 3(1 - x1) = -3 + 5 x1
Total expected pay off = y1 (5 - 5 x1) + y2 (4 - 6 x1) + y3 (-3 + 5 x1)
y1 + y2 + y3 = 1
Solusi optimal diperoleh dari kondisi pihak II hanya menggunakan strtg 2 dan strtg 3.
Exp.Pay Off pihak I digambarkan pada grafik di atas. Dengan kriteria maximin
(memaksimumkan harga minimum perolehan) maka titik optimal diperoleh dari
(perpotongan) garis-garis yang berada "di bawah", yakni garis (-3 + 5x1 , 4 – 6x1)
V = V = max (min (-3 + 5x1 , 4 – 6x1))
0 < xl <1
Solusi optimal = perpotongan ke2 garis tersebut: -3, + 5x1 = 4 – 6x1
x  7 / 11

Diperoleh 1
( x1 , x2 )  (7 / 11,4 / 11)
x2  1  x1  4 / 11
Nilai permainan = V = -3 + 5(7/11) = 2/11
→ Strategi optimal pihak I = (x1, x2, x3) = (7/11, 4/11, 0)
Strategi optimal pihak II diperoleh dan persamaan expect. Pay off. Misal: strategi
optimalnya adalah (y1*, Y2*, y3*) maka y1*(5 – 5x1) + y2*(4 – 6x1) Y3*(-3 + 5x1) ≤
V = 2/11 untuk 0 ≤ x1 ≤ 1 dimana kondisi optimal untuk pihak I x1 = 7/11 yang
memberikan bentuk ketidaksamaan di atas menjadi persamaan (dalam kondisi optimal
batas atas = batas bawah = Zopt)
→ value of the game
2. LINIER PROGRAMMING
Pemecahan Persoalan Permainan dengan Programa Linier
m
Expected pay off=
n
 pij xi y j atau
i 1 j 1
m
n
 a x y
i 1 j 1
ij i
j
Bagi pihak I (A) strategi campuran (x1, x2, ..., xm) telah optimal apabila :
m
n
 a
i 1 j 1
x y j ≥ V = V (maximin)
ij i
Kriteria dapat diformulasikan sebagai:
n
n

 n

max min   ai1 xi ,  ai 2 xi , ,  ain xi 
xi
i 1
i 1
 i1


n
dimana  xi  1 dan xi ≥ 0
i = 1, …, m
i 1
n
n
 n

Jika V  min   ai1 xi ,  ai 2 xi , ,  ain xi 
i 1
i 1
 i1

Maks x0 = V
Kendala :
n
a
i 1
, j  1,2,  , n
x
ij i
(1)
n
x
i 1
(2)
i
xi  0
, i  1,2,  , n
(3)
Asumsikan bahwa V > 0 sehingga kendala (1) bisa dituliskan sebagai:
n
x
aij i  1
, j  1,2,  , n

V
i 1
Atau lengkapnya
x
x
x
a11 1  a21 2    am1 m  1
V
V
V
x
x
x
a12 1  a22 2    am 2 m  1
V
V
V

x
x1
x
 a2 n 2    amn m
V
V
V
n
x1

Karena  xi  1 maka
V
i 1
x
Notasikan 1 sebagai Xi
V
a1n
1
x
x2
1
 m 
V
V
V
(1)
I = 1, 2, …, m, sehingga:
1
(2)
V
Sudah diketahui bahwa, maksimasi A ekivalen dengan minimasi 1/A atau minimasi (-A).
karena itu, fungsi tujuan maks V = min 1/ V.
X1  X 2    X m 
Dengan melihat pada (1) dan (2), maka fungsi tujuan di atas dapat ditulis sebagai :
min X2 + X2 + … + Xm. Formulasi selengkapnya adalah:
Min
x0 = X1 + X2 + … + Xm.
Kendala:
a11 X 1  a21 X 2    am1 X m  1
a12 X 1  a22 X 2    am 2 X m  1

a1n X 1  a2 n X 2    amn X m  1
X1  X 2    X m  0
Bagi pihak II (B) digunakan kriteria minimaks dengan formulasi sebagai berikut:
n
n

 n

min max   a1 j y j ,  a2 j y j ,  ,  anj y j 
yj

j 1
j 1
 j 1

n
Dengan
y
j 1
j
 1 dan yj ≥ 0
j = 1, 2, …, n
Dengan cara yang sama seperti yang dilakukan pada kriteria maksimm, maka formulasi
programa linier untuk kriteria minimaks adalah sebagai berikut:
Min
y0 = Y1 + Y2 + … + Ym.
Kendala:
a11Y1  a21Y2    am1Ym  1
a12Y1  a22Y2    am 2Ym  1

a1nY1  a2 nY2    amnYm  1
Y1  Y2    Ym  0
Yj
1
Di mana y0  ,
Yj 
j  1, , n
V
V
Persoalan optimasi strategi kedua pihak merupakan huhungan primal dual.
Contoh:
II
Pihak I
Pihak II
0
-2
2
Var
kep:
x
,
x
y1, y2, y3
1
2
I
5
4
-3
Value of the game: Z = x0
Z = y0
I. Min :
Z = X1 + X2
Terhadap :
-5X2 ≥ -1
2X1 + 4X2 ≥ -1
-2X1 + 3X2 ≥ -1
X1, X2 ≥ 0
I. Min :
Z = X1 + X2
Terhadap :
-5X2 ≤ -1
2X1 + 4X2 ≤ -1
-2X1 + 3X2 ≤ -1
X1, X2 ≥ 0
II.
Max : Z = Y1 + Y2 + Y3
Terhadap :
-2Y2 + 2Y3
5Y1 + 4Y2 – 3Y3
Y1, Y2, Y3
≤ -1
≤ -1
≥0
Z
X3
X4
X5
Z
X3
X2
X5
Z
X3
X2
X1
Z
1
0
0
0
1
0
0
0
1
0
0
0
X1
-1
0
2
-2
-3/2
-5/2
-1/2
-1/2
0
0
0
1
X2
-1
-5
-4
3
0
0
1
0
0
0
1
0
y1*  0
Y2 5 / 2
5


Z 11 / 2 11
Y
3
6
y3*  3 

Z 11 / 2 11
y2* 
X5
0
0
0
1
0
0
0
1
-3
-5
-1
-2
RHS
0
-1
-1
-1
1/4
1/4
1/4
-7/7
11/2
2
7/2
Y4
0
1
0
0
1
0
7/2
2
3/2
Y5
0
0
1
1/4
1/2
1/4
2
1
1
RHS
0
1
1
1/4
3/2
1/4
11/2
3
5/2
y1* 
II Max :
Z = Y1 + Y2 + Y3
Terhadap :
-2Y2 + 2Y3
5Y1 + 4Y2 – 3Y3
Y1, Y2, Y3
Z
Y4
Y5
Z
Y4
Y2
Z
Y3
Y2
X4
0
0
1
0
-1/4
-5/4
-1/4
3/4
-5/2
-5
-1
-3/2
 Z 3  C3 
0

0
Z
11 / 2
 Z 4  C4  5 / 2
5
y2* 


Z
11 / 2 11
 Z 5  C5 
3
6
y3* 


Z
11 / 2 11
X1 7 / 2
7


Z 11 / 2 11
X
2
4
x2*  2 

Z
11 / 2 11
x1* 
Z
1
0
0
1
0
0
1
0
0
X3
0
1
0
0
0
1
0
0
0
1
0
0
Y1
-1
0
5
1/4
5/2
5/4
9
5
5
≤ -1
≤ -1
≥0
Y2
-1
-2
4
0
0
1
0
0
1
Z 4  C4  
Y3
-1
2
-3
-7/4
1/2
-3/4
0
1
0
7/2
7

Z
11 / 2 11
Z  C5   2  4
x1*  5
Z
11 / 2 11
x1* 
PEMROGRAMAN DINAMIS


Teknik matematis untuk membuat suatu rangkaian keputusan yang berhubungan satu
sama lain. Teknik ini dilengkapi dengan prosedur sistematis untuk memperoleh
kombinasi dari keputusan- keputusan yang memaksimumkan efektivitas keseluruhan
persoalan.
Contoh untuk ilustrasi:
Perjalanan dari 1 ke 10 bisa ditempuh melalui berbagai rute. Terdapat 4 stage (tahap)
untuk mencapai 10
2
5
8
1
3
10
6
9
I


j
1



7
II
III
IV
stage
Pada setiap stage terdapat beberapa states (status) yang mungkin.
Stage I : status 1
stage III : status 5, 6, 7
Stage II : status 2, 3, 4
stage IV : status 8, 9
Terdapat biaya tranportasi untuk perjalanan dari i ke j dalam tabel berikut:
i

4
2
2
3
3
4
4
i
j
2
3
4
5
7
3
4
6
4
2
1
7
6
4
5
i
j
5
6
7
8
1
6
3
9
4
3
3
i
j
8
9
10
3
4
Terdapat rangkaian keputusan di setiap stage untuk memilih state mana yang akan
dituju pada stage berikutnya agar total ongkos minimum.
Dengan ongkos termurah di setiap stage tidak (menjamin perolehan ongkos termurah
bagi persoalan secara menyeluruh.
Contoh: 1 → 2 → 6 → 9 → 10
total ongkos 13
Perhatikan bahwa rute 1→ 4 → 6 :total ongkos 5, lebih murah dari
rute 1→ 2 → 6 : total ongkos 6.
Tabel keputusan : xn (n = 1, 2, 3, 4): tujuan yang hendak dicapai pada saat berada di
stage n
Rute yang ditempuh adalah 1 x1 → x2 → x3 → x4 , dimana x4 = 10.
fn(s, xn) : total ongkos terbaik untuk menempuh stages berikutnya bila saat ini berada
di stage n dengan status s dan memilih xn sebagai tujuan berikutnya.
xn* adalah xn yang memberikan fn(s, xn) minimum.
fn*(s) : harga fn(s, xn) minimum
f n* s  min ( s, xn )  f n ( s, xn* )



xn

Dalam soal contoh:
fn(s, xn) = ongkos di stage n + ongkos minimum di stage n+1
dengan status s ke xn.
(dengan status xn) ke stages berikutnya
*
= Csxn  f n1 ( xn )
C sxn  Cij = dimana i = s (status saat ini), j = xn (status yang akan dituju)
Solusi terbaik untuk menempuh 1 ke 10 adalah f1*(s). pemrograman dinamis mencari
f1*(s) dengan cara melangkah mundur yakni mencari f4 (s), f3(s), f2(s) untuk setiap s
yang mungkin menggunakan f2 (s) untuk memperoleh f1*(s).
Di tahap 4 akan menentukan tujuan berikutnya (x4)
 n = 4 → x4 hanya mempunyai 1 pilihan yakni 10. Status yang mungkin di tahap 4
adalah 8 dan 9, sehingga solusi di tahap 4 adalah:
f 4* ( s)  Cix 4
3
4
s
8
9
X4*
10
10
f 4* ( s )  Cix4  f 5 ( x4 )
Dimana f 5 ( x4 )  0
f 4 (s, x4 )  Cij  f 5* ( x4 )
( s , x4 )
 n=3
x3
s
5
6
7
status yang mungkin: 5, 6, 7
x3 yang mungkin: 8, 9
f 3 s, x3   C sx3  f 4* x3 
f 3* ( s)
8
9
4
8
4
9
7
7
6
7
6
x3*
8
9
8
 n=2
x2
s
2
3
4
status yang mungkin: 2, 3, 4
x2 yang mungkin: 5, 6, 7
f 2 s, x2   C sx 2  f 3*  x2 
f 2* (s)
5
6
7
11
11
12
11
7
9
10
7
8
8
11
8
x 2*
5 atau 6
5
5 atau 6
 n=1
x2
s
1


status yang mungkin: 1,
x1 yang mungkin: 2, 3, 4
f1 s, x1   C sx1  f 2*  x1 
f1* (s)
2
3
4
13
10
11
10
x1*
3 atau 4
Biaya termurah 11, dari 1 ke 3 atau ke 4
 Bila ke 3 seterusnya ke 5, 8 dan 10
 Bila ke 4 seterusnya ke 5, atau ke 8
- Bila ke 5 seterusnya ke 8 dan 10
- Bila ke 6 seterusnya ke 9 dan 10
Karakteristik Persoalan Programa Dinamis
1. Persoalan dapat dipecah dalam beberapa stages (tahap) dimana di setiap stage
perlu pengambilan keputusan.
2. Setiap stage memiliki beberapa states (status)
3. Keputusan tiap stage berakibat pada status di stage berikutnya.
4. Prosedur pemecahan dirancang untuk memperoleh suatu kebijaksanaan optimal
untuk persoalan keseluruhan.
5. Pada suatu status kebijaksanaan optimal pada stages berikutnya adalah tidak
tergantung pada kebijaksanaan yang diambil pada stages berikutnya.
6. Prosedur solusi diperoleh dengan mencari kebijaksanaan optimal dari stage
terakhir.
7. Terdapat hubungan rekursif yang memberikan kebijaksanaan optimal di stage n
berdasarkan kebijaksanaan optimal di stage (n+1). Bentuk hubungan ini
(selanjutnya disebut persamaan rekursif) berbeda untuk masing-masing persoalan
pemrograman dinamis, meskipun demikian notasi yang digunakan tetap sama:
xn
: variabel keputusan di tahap n (n = 1, 2, ,.., N)
fn(s, xn) : harga max (atau min) dari fungsi tujuan bila berada di tahap n dan
memilih sebagai variabel keputusan.
fn*(s)
: harga max (atau min) dari fn(s, xn) diantara berbagai xn.
Persamaan rekursif selalu berbentuk fn*(s) = max {fn(s, xn)}
atau fn*(s) = min {fn(s, xn)}
8. Persamaan rekursif digunakan dalam prosedur pemecahan yang berjalan mundur
dari stage terakhir sampai diperoleh solusi optimal stage pertama.
PROGRAMA DINAMIS DETERMINISTIK


Status yang mungkin terjadi pada stage berikutnya sepenuhnya ditentukan oleh statusstatus pilihan keputusan di stage sekarang.
Contoh:
Badan kesehatan dunia ingin mengalokasian 5 tim medis pada 3 negara berkembang,
sedemikian rupa sehingga hasil kerja mereka max. ukuran hasil kerja berupa
peningkatan harapan hidup dari populasi dalam tahun (misal: ada 10 orang yang
diharapkan umurnya 5 tahun lebih panjang → 50 tahun orang dst) Tabel berikut
memberikan angka peningkatan harapan hidup di tiap negara untuk tiap kemungkinan
alokasi tim medis.
Peningkatan harapan hidup dalam ribu di negara
n :1
n:2
n:3
0
0=pn(xn)
0=f3*(s)
xn :0
1
45
20
50
2
70
45
70
3
90
75
80
4
105
110
100
5
120
150
130
xi : jumlah tim medis dialokasikan di negara i
Jml.
tim
3
 p (x )
Max :
i
i 1
3
x
i 1
i
i
 5 ; xi  0 dan bulat
fn(s, xn) = pn(xn) + fn + 1*(s – xn)
fn* = max { pn(xn) + fn + 1*(s – xn)}
 n=3
s
f3*(s)
x3*
0
0
0
1
50
1
2
70
2
3
80
3
4
100
4
5
130
5
 n=2
x2
s
0
1
2
3
4
5
f2*(s, x2) = P2(x2) + f3*(s – x2)
0
1
2
3
4
5
0
50
20
70
70
45
80
90
95
75
100
100
115
125
110
130
120
125
145
160
150
f2*(s)
x2*
0
50
70
95
125
160
0
0
0 atau 1
2
3
4
f1*(s)
x1*
170
1
 n=1
f1*(s, x1) = P1(x1) + f2*(s – x1)
X1
0
s
5
160
Soluasi optimal:
1
2
3
4
5
170
165
160
155
120

1 tim di negara 1
3 tim di negara 2
1 tim di negara 3
dengan tingkat harapan hidup max = 170
Contoh:
Behan kerja berfluktuasi sesuai dengan musin sehingga operator yang diperlukan di
suatu bengkel bervariasi sbb:
Musim
Kebutuhan

Panas
Rontok
Salju
Semi
220
240
200
255
n=1
n=2
n=3
n=4
Kebutuhan ini harus dipenuhi. Setiap kelebihan tenaga kerja mengakibatkan
pemborosan 2 juta/orang/musim. Biaya untuk melatih operator baru / memberi
pesangon operator yang diberhentikan 200 ribu * (jumlah operator)2. Jumlah operator
dalam angka pecahan diijinkan karena dianggap sebagai pekerja part time. Tentukan
berapa orang pekerja yang dipertahankan di setiap musim?
Solusi : jumlah operator tidak boleh kurang dari kebutuhan di tiap musim. Max di
musim semi 255 orang → tidak mungkin untuk pekerjaan lebih dari 255
orang di musim tersebut. Ke-4 musim dapat dianggap sebagai 1 siklus
dengan musim semi sebagai musim terakhir (n = 4).
xn : jumlah operator yang dipakai di musim i, n = 1, 2, 3, 4 dan x4 = 255.
rn : jumlah operator minimum yang dibutuhkan di stage n
r4 = 255; r3 = 200; r2 = 240; r1= 220
→ nilai xn yang mungkin r ≤ n ≤ 255
Status yang mungkin dipertimbangkan di tahap n
rn-1 ≤ s ≤ 255
 200x
4
Min :
i 1
i
Semi
255

 xi 1   2000xi  ri 
2
ri ≤ xj ≤ 255 ; i=1, 2, 3, 4
untuk setiap tahap n : fn(s, xn) = 200(xn – s)2 + 2000(xn – rn) + fn + 1*(xn)
2
fn*(s) = min 200xn  s   2000xn  rn   f n*1 xn 


rn  xn  255
Stage
n+1
Stage n
Status
s
f n s, xn 
200x
n
Status yang mungkin antara 200 – 255
 n=4
s
x4*
f 4* (s)
200 ≤ s ≤ 255
200(255 – s)2
255
 n=3

 s   2000xn  rn 
2
xn
f n1 xn 
*
f 3 ( s, x3)  200( x3  s) 2  2000( x3  200)  200(255  x3 ) 2
f 3* ( s)  min
200x
200 x3  255
Harga
min
200 x3 255
3
f 4* ( x3 )

 s   2000x3  200  200(255  x3 )
2
f 3 (s, x3 ) diperoleh dengan membuat
f 3
( s, x3 )  0
x3
f 3
( s, x3 )  400( x3  s )  2000  400(255  x3 )
x3
 400(2 x3  s  250)  0
s  250
2 x3  s  250  x3 
; turunan ke I = 0, solusi terletak di daerah fisible.
2
s  250 
 s  250

 s  250
 
f s*  f 3 ( s, x3* )  200
 s   2000
 200    255 

2 
 2

 2
 
Maka untuk n = 3 bentuk hubungan status f rekursif dan keputusan optimal:
f 3* ( s)
s
x3*
s  250
240 ≤ s ≤ 255 50(250 – s)2 + 50(260 – s)2 + 1000(s – 150)
2
2
2
2
 n=2
f 2 ( s, x2 )  200( x2  s) 2  2000( x2  240)  f 3* ( x2 )
 200( x2  s) 2  2000( x2  240)  50(250  x2 ) 2  50(260  x2 ) 2  1000( x2  150)

f 2 ( s , x2 )  0
f 2* ( s)  min f 2 ( s, x2 ) dan diperoleh dengan membuat
240 x2 255
x2
3
f 2 ( s, x2 )  400( x2  s )  2000  100(250  x2 )  100(260  x2 )  1000
x2
 200(3 x2  2 s  240)
2s  240
 kebutuhan minimum r2 = 240
3
Perhatikan bahwa bila s < 240 → x2 < 240 ≈ tidak fisibel
Untuk itu bila s ≤ 240 maka x2 = 240 ← 220 ≤ s ≤ 240
2 s  240
S > 240 maka
3
Dengan demikian untuk n = 2 tabelnya sebagai berikut:
f 3* ( s)
s
x3 *
220 ≤ s ≤ 240
200(240 – s)2 + 115.000
240
240 ≤ s ≤ 255 200/9[2(250 – s)2 + (265 – s)2 + 30(3s – 575) (2s + 240)/3
3x2  2s  240  x2
 n=1
r1 = 220; 220 ≤ x1 ≤ 255 (x1 menjadi s di n = 3 → dibedakan untuk:
220 ≤ x1 ≤ 240 (i) dan 240 ≤ x1 ≤ 255 (ii)
200( x1  s ) 2  2000( x1  220)  200(240  x1 ) 2  11.50000
...i )

f ( s, x1 )  
200
2
[2(250  x1 ) 2  (265  x1 ) 2  30(3x1  575)] ...ii )
200( x1  s )  2000( x1  220) 
9

→ untuk kasus i) …… 220 ≤ x1 ≤ 240
f ( s : x1 )
 400( x1  s )  2000  400(240  x1 )
x1
 400(2 x1  s  235)
S pada n = 1 adalah 255 (jumlah operator musim semi)
f ( s : x1 )
 400(2 x1  490)  800( x1  245)  selalu (-) untuk x1 ≤ 240
x1
→ x1 = 240 adalah nilai yang meminimumkan f1(s, x1) delam selang tersebut
Untuk kasus ii): 240 ≤ x1 ≤ 255
f ( s : x1 )
200
 400( x1  s) 
(4(250  x1 )  2(265  x1 )  90)
x1
9
400
(4 x1  3s  225)
3
S = 255 → xi = 247,5 → memberikan harga minimum f1 (s, x1) dalam selang
220 ≤ x1 ≤ 255
Dengan demikian n = 1 tabelnya adalah sebagai berikut:
s
x1*
f1* (s)
255
185.000
247,5
Dengan mensubstitisikan kedalam tabel untuk n = 2 dan n = 3 dan s = x*n-1 diperoleh:
x1*= 247,5; x2* = 245; x3*.= 247,5; x4* = 255 dengan total ongkos pengadaan operator
selama 4 musim (1 siklus) = 185.000

PEMROGRAMAN DINAMIS PROBABILISTIK
 Status pada suatu tahap ditentukan oleh distribusi kemungkinan tertentu, dimana
distribusi ini tergantung pada keputusan yang diambil pada tahap sebelumnya.
Tahap n+1
sn+1
Tahp n
Kontribusi
dari stage n
C1
Status
sn
keputusan
Kemungkinan
P1
P2
1
fn+1*(1)
2
fn+1*(2)
C2
xn
PN
fn(sn, xn)
CN
N
fn+1*(N)
 Hubungan antara fn(sn, xn) dengan fn+1*( sn+1) tergantung pada struktur probabilitas.
Misal: tujuan untuk meminimumkan jumlah ekspektasi kontribusi setiap tahap.
fn(sn, xn) : jumlah ekspektasi dari tahap n dan seterusnya, (sampai ke N) bila
berada di tahap n dengan status s dan memilih xn sebagai keputusan di
tahap tersebut.
N
  pi [ci  f n*1 ]
t 1
f
*
n 1
( sn1 )  min f n1 ( sn1 , xn1 )
xn 1
Contoh:
Perusahaan mendapat order untuk memproduksi satu produk dengan spesifikasi yang
sangat sulit sehingga produsen harus membuat lebih dari 1 buah produk untuk dapat
memperoIeh 1 buah yang memenuhi spesifikasi tersebut. Diperkirakan setiap unit
produk yang dibuat memiliki kemungkinan dapat diterima (acceptable) sebesar 1/2
dan kemungkinan ditolak karena gagal sebesar 1/2. Setiap produk yang gagal tidak
dapat diperbaiki. Dengan demikian jumlah produk yang dapat diterima dari sejumlah
L yang diproduksi dalam suatu lot memiliki distribusi binomial, yakni kemungkinan
untuk memperoleh nol buah produk yang maupun yang gagal; kelebihan produk yang
acceptable tidak ada gunanya, karena tidak laku.Terdapat biaya setup sebesar 300
ribu dan bila produk yang dihasilkan gagal maka diperlukan setup ulang dengan biaya
yang sama. Waktu yang diberikan oleh konsumen hanya memungkinkan untuk
melakukan 3x run produksi. Bila diakhir run ke-3 tidak didapatkan produk yang
acceptable terdapat ongkos penalti sebesar 1600 ribu. Tentukan jumlah lot di setiap
run produksi agar ekspektasi ongkos yang dikeluarkan oleh produsen minimal.
Jawab
n : stage : run produksi n = 1, 2, 3.
xn : variabel keputusan: ukuran lot di setiap run
s : status: jumlah produk yang acceptable yang masih harus diperoleh pada suatu
stage ( s = 0 atau 1). Jadi pada run ke-1 s = 1 dan bila ada run tersebut diperoleh
1 buah produk yang acceptable pada run ke-2 s = 0 dan seterusnya
fn(sn, xn) : ekspektasi ongkos minimum di tahap n ke tahap berikut bila mempunyai
status s dan memproduksi xn.
fn(s) = min fn(sn, xn)
ongkos di setiap tahap n : K + 100xn
bila xn  0
0;
dimana K  
300; bila xn  0
Selanjutnya ongkos dituliskan dalam ratusan.
Dengan demikian untuk s = 1
xn
  1  xn 
1
f n (1, xn )  K  xn    f n*1 (1)  1     f n*1 (0)
2
  2  
xn
1
 K  xn    f n*1 (1)
2
dimana bila n = 4 masih harus diperoleh 1 acceptable product terdapat pinalti
16 → f4*(1) = 16
Hubungan antara setiap stage adalah sebagai berikut:
0
K+xn
fn+1*(0) = 0
1-(1/2)xn
Status
1
keputusan
xn
(1/2)xn
K+xn
Kemungkinan
Kontribusi
dari stage n
1
fn+1*(1)
 n=3
x3
s
0
0
16
0
1
f 3 (1, x3 )  K  x3  16(1 / 2) x3
1
2
3
4
12
9
8
8
5
f 3* ( s)
x3*
0
8
0
3 atau 4
8½
Catatan untuk n = 3, x3 yang mungkin diproduksi adalah → ~, meskipun demikian
harga f 3 (1, x3 ) untuk setiap x3:
x3 = 0
f 3 (1, x3 ) = 0 + 0 + 16(1/2)0 = 16
x3 = 1
f 3 (1, x3 ) = 3 + 14 – 16(1/2)1 = 12
x3 = 2
f 3 (1, x3 ) = 3 + 2 + 16(1/2)2 = 9
x3 = 3
x3 = 4
f 3 (1, x3 ) = 8
f 3 (1, x3 ) = 8
x3 = 5
x3 = 6
f 3 (1, x3 ) =8 ½
f 3 (1, x3 ) = 9 1/4 dan seterusnya semakin besar sehingga harga minimum
f 3 (1, x3 ) tidak mungkin diperoleh untuk x3 > 5. Hal
tersebut juga diberlakukan untuk n = 2 dan n = 1.
 n=2
x2
s
0
1
f 2 (1, x2 )  K  x2  (1 / 2) x2 f 3* (1)
0
1
2
3
4
0
8
8
7
7
7½
f 2* (s)
x 2*
0
7
0
2 atau 3
f1* (s)
x1*
6¾
2
 n=1
x1
s
1
f1 (1, x1 )  K  x1  (1 / 2) x1 f 2* (1)
0
1
2
3
4
7
7 ½ 6 ¾ 6 7/8 7 7/16
→ Kebijaksanaan terbaik adalah membuat 2 produk pada run ke-1, bila tidak ada
yang acceptable buat lagi 2 atau 3 pada run ke-2 bila masih tidak ada yang
acceptable buat lagi 3 atau 4 dengan ekspektasi ongkos terbesar 675 ribu.
Contoh:
1. Seorang ahli statistik menyatakan telah berhasil mengembangkan cara untuk
memenangkan pertaruhan. Dia raendapat tantangan untuk bermain dengan
mempertaruhkan 3 buah keping dan bertaruh 3 x. Bila jumlah kepingnya
kemudian kurang dari 5 buah ia akan dinyatakan kalah. Dalam tiap pertaruhan
sejumlah keping dipasang dan bila menang, keping lawan menjadi miliknya
serta sebaliknya. Ia yakin bahwa sistem game tersebut memberikan
kemungkinan menang 2/3. Tentukan jumlah keping yang harus dipertaruhkan
di setiap putaran agar kemungkinan menangnya terbesar.
Jawab:
n : stage : putaran permainan , n 1, 2, 3.
xn : variabel keputusan : jumlah keping yang dipertaruhkan di putaran
n. s : status : jumlah keping yang masih dimiliki pada suatu putaran.
fn(s, xn) : kemungkinan terbesar untuk memenangkan pertaruhan bila pada putaran n
masih mempunyai s buah keping dan memasang xn buah.
f n* ( s)  max f n ( s, xn )
xn 0,1,..., s
fn(s, xn) harus mencerminkan kemungkinan untuk menang, yakni memiliki sedikitnya 5
buah keping diakhir putaran ke-3. Pada tahap tersebut bila kalah maka
kepingnya menjadi s – xn (menjadi status pada tahap n+1) sehingga untuk tahap
n+1 kemungkinan untuk kalah adalah f n*1 ( s  xn ) . Sebaliknya bila menang
untuk tahap n+1 kemungkinannya adalah f n*1 ( s  xn ) .
Bila P(menang) = 2/3 maka
1
2
f n ( s, xn )  f n*1 ( s  xn )  f n*1 ( s  xn )
3
3
Dimana untuk s < 5 maka f 4* (s) = 0 ← artinya P(menang) = 0
dan untuk s ≥ 5 maka f 4* (s) = 1
(s–xn)
0
f n*1 ( s  xn )
fn+1*(0) = 0
1/3
Status
s
keputusan
xn
2/3
0
fn(sn, xn)
Kemungkinan
Kontribusi
dari stage n

1 *
2
f n1 ( s  xn )  f n*1 ( s  xn )
3
3
(s+xn)
f n*1 ( s  xn )
Persamaan rekursifnya:
2
1

f n ( s )  max  f n*1 ( s  xn )  f n*1 ( s  xn )
xn 0 ,1,..., s 3
3


Untuk n = 3
1
2
f 3 ( s )  f 4* ( s  x3 )  f 4* ( s  x3 )
s
3
3
0
1
2
3
4
0
0
1
0
2
0
3
0
0
2/3
2/3
4
≥5
0
1
2/3
2/3
2/3
2/3
2/3
2/3
Untuk n = 2
x2
s
0
1
2
3
4
≥5
Untuk n = 1
x2
s
3
f 2 ( s) 
0
0
0
0
2/3
2/3
1
1 *
2
f 3 ( s  x2 )  f 3* ( s  x2 )
3
3
1
2
3
4
4/9
4/9
8/9
f1 ( s ) 
0
2/3
2/3
2/3
4/9
2/3
2/3
2/3
2/3
2/3
1 *
2
f 2 ( s  x1 )  f 2* ( s  x1 )
3
3
1
2
3
20/27
2/3
2/3
f 3* ( s)
x3*
0
0
0
-
2/3
2 (atau lebih)
2/3
1
1(atau lebih)
0 (atau ≤ s – 5)
f 2* (s)
x 2*
0
0
0
2/3
2/3
1
1 atau 2
0 atau 2 atau 3
1
0 (atau ≤ s – 5)
f1* (s)
x1*
20/27
1
Soal Latihan/ Kuis :
Suatu perusahaan mempunyai 5 orang tenaga pemasasaran dengan 3 daerah pemasaran
yang berbeda(misal daerah A,B dan C).Profitabilitas untuk tiap tenaga pemasaran serta
jumlah tenaga pemasaran di ketiga daerah tersebut sbb :
Jumlah tenaga pemasaran :
Daerah A
0
1
2
3
4
5
Daearah B
5
4
3
2
1
0
Daearah C
0
1
2
3
4
5
Profitabilitas (dalam jutaan rupiah) :
Daerah A
20
32
47
50
K
L
Daearah B
M
N
120
115
75
80
Daearah C
40
35
80
95
R
S
Tentukan alokasi pemasaran yang optimum supaya diperoleh keuntungan maksimum !.
Nilai : K,L,M,N,R dan S silahkan ditentukan sendiri bebas .
Download