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