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
• 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)
Simulasi Monte Carlo …
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 …
Pilihan Investasi Sebaran tingkat pengembalian (%)
Risiko rendah RL ~ Normal (3,1)
Risiko sedang RM ~ Normal (5,5)
Risiko tinggi RH ~ Normal (10,15)
Tabel 1
•Setelah satu tahun nilai investasinya diberikan oleh rumus berikut
V = SL(1+RL) + SM(1+RM) + SH(1+RH)
• 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 : Pendugaan Keuntungan
• 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 2 : PendugaanKeuntungan
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
• 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
Contoh 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.
• 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 …
Contoh 3 … Skenario 1 Skenario 2
Hari Angka
Acak
Permintaan Jumlah pesanan
Penjualan Jumlah
pesanan
Penjualan
0 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
• 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
Contoh 3 …
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 Profit ($)
1 80
2 60
3 50
4 70
5 40
6 60
7 80
8 90
9 50
10 60
Rata-rata
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 ($) Probabilitas Frekuensi
150 0.1 1
210 0.2 2
270 0.7 7
7. Buat grafik fungsi frekuensi profit
0
1
2
3
4
5
6
7
8
PROFIT
$150
$210
$270
• 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 40 50 60 70 80 90
Average
Profit ($)