Simulasi Monte Carlo
Simulasi Monte Carlo • Simulasi monte carlo melibatkan penggunaan angka acak untuk memodelkan sistem, dimana waktu tidak memegang peranan yang substantif (model statis) • Pembangkitan data buatan (artificial data) dengan menggunakan pembangkit angka acak (pseudo random numbers generator) dan sebaran komulatif yang menjadi interes
Simulasi Monte Carlo … • Pembangkit Angka Acak • Membangkitkan peubah acak (random variable) yang menyebar uniform pada interval 0 sampai 1 (U(0,1), contohnya adalah fungsi rand() pada excel) • Adalah tidak mungkin membangkitkan angka acak yang sebenarnya (truly random numbers) dengan suatu algoritma komputer
Simulasi Monte Carlo … • Angka acak U(0,1) ini, kemudian ditransformasikan sehingga akan mengikuti suatu sebaran peluang yang diinginkan • Uniform (a,b) • Normal (, ) • Simetrik Triangular (a,b)
Langkah-langkah metode Monte Carlo • Mendefinisikan distribusi probabilitas dati data masa lalu atau dari distribusi teoritis. • Mengkonversikan distribusi kedalam frekuensi kumulatif • Melakukan simulasi dengan bilangan acak • Menganalisa keluaran simulasi
Contoh 1 - Nilai Investasi • Anda merencanakan untuk menginvestasikan Rp.150 juta dana yang anda miliki, dan tersedia tiga instrumen investasi yang dapat dipilih • Tingkat pengembalian masing-masing instrumen investasi ini merupakan peubah acak (berturut-turut RL, RM dan RH) dan sebaran masing-masing peubah acak tersebut diberikan oleh tabel 1 • Gunakan simulasi monte carlo untuk menentukan distribusi nilai investasi setelah akhir satu tahun, berdasarkan alokasi dana awal yang telah ditentukan
Contoh 1 - Nilai Investasi … Tabel 1 Pilihan Investasi
Sebaran tingkat pengembalian (%)
Risiko rendah
RL ~ Normal (3,1)
Risiko sedang Risiko tinggi
RM ~ Normal (5,5) RH ~ Normal (10,15)
•Setelah satu tahun nilai investasinya diberikan oleh rumus berikut V = SL(1+RL) + SM(1+RM) + SH(1+RH)
Contoh 2 : Pendugaan Keuntungan • Suatu perusahaan bermaksud memproduksi dan menjual produk baru dibawah pasar yang bersaing sempurna • Total keuntungan diberikan oleh persamaan berikut ini TP = (Q x P) – (Q x V + F) • Dimana • • • •
Q adalah banyaknya unit yang terjual V adalah biaya variabel per unit P adalah harga jual per unit F adalah biaya tetap untuk memproduksi produk itu
Contoh 2 : PendugaanKeuntungan • Pada produk ini, Q, P dan V merupakan peubah acak dengan sebaran peluang berikut: • Q ~ Uniform (80.000, 120.000) • P ~ Normal (22, 5) • V ~ Normal (12, 8)
• F diduga besarnya adalah 300.000 • Gunakan simulasi monte carlo untuk menentukan sebaran total keuntungan dari produk yang direncanakan tersebut
Contoh 3- simulasi monte carlo dengan sebaran empiris • Toko roti X memesan sejumlah roti setiap hari; disimpan dalam persediaan • Toko itu bermaksud menentukan berapa banyak roti yang harus dipesan setiap hari, agar keuntungannya maksimal • Diasumsikan bahwa semua roti yang tidak terjual pada hari itu tidak dapat dijual kembali pada hari berikutnya, dan dihitung sebagai kerugian
Contoh 3 … • Toko X mengumpulkan data harian permintaan rotinya selama 100 hari, dan frekuensi permintaannya sebagai berikut: Permintaan (roti)
Nilai Tengah
Frekuensi
20 –24
22
5
25 – 29
27
10
30 – 34
32
20
35 – 39
37
30
40 – 44
42
20
45 – 49
47
10
50 – 54
52
5
Contoh 3 … •
Ada dua skenario yang ingin dievaluasi, yang mana yang akan memberikan keuntungan maksimal 1. Memesan sejumlah roti sama dengan permintaan pada hari sebelumnya 2. Memesan 37 roti setiap hari tanpa memandang permintaan yang lalu
• •
Misalkan roti dijual Rp.500,- per buah dan harga pembelian dari pabrik adalah Rp.250,- per buah Manakah skenario yang memberikan keuntungan maksimal berdasarkan 15 hari simulasi
Contoh 3 … • Penyelesaian • Berdasarkan tabel sebaran frekuensi yang diperoleh sebelumnya, dibuat tabel rentang angka acak. Lebar rentang angka acak didasarkan pada frekuensi relatif tiap permintaan • Titik tengah (midpoint) permintaan mewakili nilai permintaan yang akan dibangkitkan. Hasilnya ditunjukkan oleh Tabel 3.
Contoh 3 … • Tabel 3 Nilai Tengah permintaan
Frek
df
Rentang angka acak
22
5
0,05
0 - 0,049
27
10
0,10
0,05 - 0,149
32
20
0,20
0,15 - 0,349
37
30
0,30
0,35 – 0,649
42
20
0,20
0,65 – 0,849
47
10
0,10
0,85 – 0,949
52
5
0,05
0,95 – 1,000
Angka acak 0,173 akan bersesuaian dengan permintaan 32 roti, dan seterusnya.
Contoh 3 … • Bangkitkan 15 buah angka acak, bersesuaian dengan 15 hari simulasi (dapat menggunakan calculator, sehingga diperoleh angka acak dengan tiga digit dibelakang koma) • Misalkan angka acak yang diperoleh (anda mungkin akan mendapatkan angka-angka acak yang berbeda) adalah: 0,272 0,433 0,851 0,882 0,298 0,697 0,940 0,639 0,323 0,488 0,136 0,139 0,544 0,152 0,475
Contoh 3 … Skenario 1 Hari
Angka Acak 0
Permintaan
Jumlah pesanan
Penjualan
Skenario 2 Jumlah pesanan
Penjualan
37
1
0,272
32
37
32
37
32
2
0,433
37
32
32
37
37
3
0,851
47
37
37
37
37
4
0,882
47
47
47
37
37
5
0,298
32
47
32
37
32
6
0,697
42
32
32
37
37
7
0,940
47
42
42
37
37
8
0,639
37
47
37
37
37
9
0,323
32
37
32
37
32
10
0,488
37
32
32
37
37
11
0,136
27
37
27
37
27
12
0,139
27
27
27
37
27
13
0,544
37
27
27
37
37
14
0152
32
37
32
37
32
15
0,475
37
32
32
37
37
Jumlah =>
587
550
500
555
515
Contoh 3 … • Pada simulasi ini permintaan merupakan peubah acak yang nilai-nilainya dibangkitkan (data artifisial) • Penjualan = minimum nilai permintaan dan pemesanan. • Skenario 1: • Keuntungan = 500 (500) – 250 (550) = Rp.112.500
• Skenario 2: • Keuntungan = 500 (515) – 250 (555) = Rp.118.750
APLIKASI SIMULASI MONTE CARLO
Contoh: • Sebuah perusahaan permen coklat memberikan penawaran khusus pada event-event spesial seperti hari valentine. Untuk keperluan tersebut perusahaan memesan paket spesial dari supplier berupa coklat massacre. Coklat jenis ini dibeli dengan harga $7.5/unit dan dijual $12/unit. Jika tidak terjual pada tanggal 14 Februari, maka produk ini akan dijual dengan harga 50% dari harga semula. • Perusahaan ini mengalami dilema dalam menentukan berapa kotak yang harus dipesan supaya menghasilkan keuntungan (profit) maksimum. • Jika diasumsikan demand berfluktuasi antara 40, 50, 60,70,80, 90 unit dan perusahaan memutuskan untuk memesan sebanyak 60 unit, maka tentukan profit yang akan didapat perusahaan.
Penyelesaian 1. Tentukan komponen-komponen sistem yang significant. Beberapa diantaranya yaitu: • Demand (kebutuhan) D. Variabel ini merupakan variabel yang tidak dapat dikontrol (uncontrollable) • Pesanan Q. Variabel ini merupakan variabel yang memerlukan keputusan (decision variabel). • Profit merupakan variabel tidak bebas (dependent variabel).
2. Tentukan hubungan antar komponen sistem. Dalam menentukan hubungan harus benar-benar dipelajari bagaimana mekanisme sistemnya. Pada sistem ini terdapat dua kondisi yaitu: a. Kondisi dimana demand < pesanan (D < Q) Pada kondisi ini hubungan antar variabel dapat dirumuskan sebagai berikut: Profit = 12D – 7.5 Q + 6 (Q-D) b. Kondisi dimana demand > pesanan (D >= Q) Pada kondisi ini hubungan antar variabel dapat dirumuskan sebagai berikut: Profit = (12 – 7.5) Q
3. Tentukan jumlah trial yang diinginkan. 4. Buat kemungkinan demand untuk tiap trial. 5. Hitung Profit untuk tiap trial. Contoh perhitungan profit untuk D = 40 unit dan Q = 60 unit. Profit = 12D - 7.5 Q + 6(Q-D) = 12(40) - 7.5(60) + 6(60-40) = $ 150
Silakan hitung profit untuk tiap trial pada tabel berikut: Trial
Demand
1
80
2
60
3
50
4
70
5
40
6
60
7
80
8
90
9
50
10
60 Rata-rata
Profit ($)
Hasil perhitungan profit untuk tiap trial dapat dilihat pada tabel berikut: Trial
Demand
Profit ($)
1
80
270
2
60
270
3
50
210
4
70
270
5
40
150
6
60
270
7
80
270
8
90
270
9
50
210
10
60
270
Rata-rata
246
6. Buat distribusi frekuensi dari setiap probabilitas profit
Profit ($) 150 210 270
Probabilitas 0.1 0.2 0.7
Frekuensi 1 2 7
7. Buat grafik fungsi frekuensi profit 8 7 6 5 $150
4
$210
3
$270
2 1 0 PROFIT
• Untuk mendapatkan solusi terbaik, kita harus melakukan eksperimen dengan menggunakan order quantity 40, 50, 60, 70 dan 90. • Hitung average profit untuk tiap order quantity yang berbeda. • Cari yang memberikan keuntungan paling besar
Order Quantity Average Profit ($)
40
50
60
70
80
90