Simülasyon ile Modelleme Prof.Dr. Aydın Ulucan İş dünyasında cevabı aranan karar problemlerinin çoğunda modeli oluşturan bileşenlerin değerleri kesin olarak belirli değildir. Böyle bir durumda karar verici, kesin olarak belirli olmayan model bileşenlerini istatistiksel dağılımlarla tanımlayarak karar problemini analiz edecektir. Bu tipteki rassal değişkenlerin bulunduğu karar problemlerinin analizinde kullanılanılan önemli bir teknik de simülasyondur. Karar ver, x Rassal Olay, r Kar, f(x,r) Bugün Gelecek • Karar vericinin rassal olaylar hakkında bir yönlendirmesi yoktur: – Finansal Riskler: hisse fiyatları, faiz oranları, döviz kurları... – Pazar Riskleri: talep, girdi fiyatları, satış fiyatı... – Politik Riskler – Doğal Riskler – ... Zaman • İş dünyasında cevabı aranan karar problemlerinin çoğunda modeli oluşturan bileşenlerin değerleri kesin olarak belirli değildir. Böyle bir durumda karar verici, kesin olarak belirli olmayan model bileşenlerini istatistiksel dağılımlarla tanımlayarak karar problemini analiz edecektir. Bu tipteki rassal değişkenlerin bulunduğu karar problemlerinin analizinde kullanılanılan önemli bir teknik de simülasyondur. • Simülasyon, en basit tanımıyla, bir gerçek hayat durumunun bilgisayar destekli modellerle taklit edilmesidir. İçinde bazı girdilerinin belirsizlik içerdiği simülasyon modeli çalıştırıldığında, belirsizlik içeren girdiler uygun oldukları dağılımdan bir değer alır ve model çalıştırılarak sonuçlar elde edilir. Bir deney olarak adlandırabileceğimiz bu işlem, her seferinde modeldeki belirsizlik içeren girdilerin değerleri uygun dağılımlardan çekilerek defalarca tekrarlanır ve kurulan modelin davranışı izlenir. Bu sonuçlar istatistiksel olarak analiz edilerek karar vericinin simülasyon modeli ile karara ulaşması hedeflenmiştir. • Bir simülasyon modeli sonucunda karar verici tek bir sonuç yerine bir sonuç dağılımına ulaşır. Bu özellik bir dezavantaj gibi algılansa da, aslında farklı senaryolarda modelin nasıl davranacağını ortaya koymasından dolayı önemli bir avantajdır. • Öte yandan matematiksel olarak model kurmanın güç olduğu sistemler kolaylıkla simüle edilerek gözlenebilir. • Ayrıca herhangi bir sistem fiziksel olarak oluşturulmadan önce simülasyon modeli oluşturularak sistemin temel karakteristikleri çok daha az maliyetli bir yolla analiz edilebilir. • Ancak simülasyon modeli ile optimal sonuca ulaşılacağı garanti edilemez. Fakat deney sayısı arttıkça optimale çok yakın bir sonuçla sistemin analiz edileceği söylenebilir. Monte Carlo Simülasyonu ve Rassal Sayı Üretilmesi • Rassal değişkenler, değeri kesin olarak tahmin edilemeyen değişkenlerdir. Rassal değişkenlere örnek verilmek istenirse; gelecekteki maliyetler, faiz oranları, döviz kurları, talep değerleri sayıabilir. Bu şekilde rassa değişkenler içeren modellerle uğraşan karar verici, rassal değişkeni bir dağılımla tanımlamaya çalışıp, ardından bu dağılıma uyan rassal sayılar üretecektir. Üretilen bu rassal sayılar modelde yerine konulup modelin davranışı gözlenecektir. Bu yaklaşım Monte Carlo Simülasyonu olarak adlandırılır. • Excel’de bulunan =RAND() fonksiyonu 0 ile 1 arasında rassal sayı üreten bir fonksiyondur. Bu fonksiyonla üretilen rassal sayılar çeşitli transformasyonlarla modelde istenilen forma dönüştürülüp kullanılır. • =RAND() fonksiyonu her çalıştırıldığında, üretilen sayının 0 ile 1 arasında aldığı değerin farklı bir değer alması ile olasılığı eşittir. Daha açık bir ifade ile üretilen sayının 0.5 ile 0.6 arasında bir değer alma olasılığı %10’dur. Dolayısıyla bu fonksiyon düzgün (uniform) dağılıma uygun sayı üretmektedir. 1) Modelde belirsizlik içeren parametreleri belirle. 2) Uygun rassal sayı üret. 3) Modeli n kez çalıştırıp, sonuçları kaydet. 4) Sonuçları istatistiksel olarak analiz et. • Yazı Tura: =IF(RAND()<0.5;’’Yazı’’;’’Tura’’) • Zar: =INT(6*RAND())+1 Örnek • Teknokomp bilgisayar şirketi uzakdoğudan ithal ettiği isimsiz bilgisayarların montajını yapıp TKom markasıyla pazarlamaktadır. Şirket yöneticisi şu anda uzakdoğuda büyük bir bilgisayar fuarındadır ve yılbaşına kadar olan önümüzdeki üç aylık dönem için sipariş verecektir. Fuarda sipariş vereceği her bilgisayarı 500 dolardan indirimli olarak alacaktır. Önümüzdeki üç aylık dönem için talebin aşağıdaki olasılık dağılımına uygun gerçekleşmesi beklenmektedir. Talep 200 250 300 350 400 450 500 Olasılık 0.10 0.25 0.20 0.15 0.15 0.10 0.05 • Şirket bilgisayarları 750 dolardan satmaktadır. Şirket yönetiminin bu bilgisayarlardan daha sonra aynı fiyattan sipariş verme şansı yoktur. Yıl sonuna kadar satılmayan bilgisayarlar, yeni çıkacak modeller nedeniyle 350 dolardan elden çıkarılacaktır. Şirket yöneticisinin kaç adet bilgisayar sipariş vermesi gerektiğini belirleyen simülasyon modelini kurunuz. Bu sipariş miktarı için %95 güvece aralığındaki beklenen karı belirleyiniz. Şekil 13.1. TKom simülasyon modeli • Artık karar verici 500 birim sipariş vermesi halinde oluşacak karının yapısı hakkında karar verebilecek düzeyde fikir sahibidir. Karar verici tüm bu süreci 200-500 arasındaki farklı sipariş miktarları için tekrarlayarak en karlı olduğu sipariş miktarını belirleyebilir. • =RAND() fonksiyonu 0-1 arasında rassal sayı üretir. Excel’de her yaptığınız işlemden sonra bu fonksiyon otomatik olarak çalışmakta ve yeni sayılar üretmektedir. Dolayısıyla sonuçlar her işlemden sonra değişecektir. • Ancak deney sayısı bizim örneğimizde olduğu gibi yüksek tutulursa sayılar değişse bile ortalama beklenen karlarda çok büyük bir değişiklik beklenmez. • Modeli geliştirme ve yorumlama esnasında rassal sayıların sürekli yeniden hesaplanmasını önlemek için B20:B1019 aralığında rassal sayılar bir kere hesaplanıp ardından o aralık seçilip kopyalanır ve aynı yere “Özel Yapıştır (Paste Special)” komutu kullanılıp, sadece “Değerler (Values)” seçilerek yapıştırılırsa bir daha değişmeyecektir. Excel’de Sürekli Dağılımlara Uygun Rassal Sayı Üretilmesi • Bir önceki kısımda uygulanan örnekteki rassal değişkenin olasılık dağılımı kesikli düzgün bir dağılım olduğu için =RAND() fonksiyonu ile uygun rassal sayılar üretilmişti. Buna ek olarak sürekli olasılık dağılımına sahip rassal değişkenler için de Excel’de simülasyon modelleri kurulabilir. • Normal dağılıma uygun rassal sayı üreten formül : =NORMINV(RAND(),m,s) ifadesidir. Burada m dağılımın ortalamasını, s’da standart sapmasını göstermektedir. • Üstel dağılıma uygun rassal sayı üreten formül : =-LN(1-RAND())/m ifadesidir. • Benzer şekilde, Beta dağılımına uygun rassal sayılar BETAINV, Ki Kare dağılımına uygun rassal sayılar CHINV, Gamma dağılımına uygun rassal sayılar GAMMAINV, F dağılımına uygun rassal sayılar FINV, Lognormal dağılıma uygun rassal sayılar LOGINV fonksiyonları kullanılarak Excel’de üretilebilir. Specialty Steel Products Co. Example B.1 • Specialty Steel Products Company produces items such as machine tools, gears, automobile parts, and other specialty items in small quantities to customer order. • Demand is measured in machine hours. – Orders are translated into required machine-hours. • Management is concerned about capacity in the lathe department. • Assemble the data necessary to analyze the addition of one more lathe machine and operator. Specialty Steel Products Co. Example B.1 Historical records indicate that lathe department demand varies from week to week as follows: Weekly Production Requirements (hr) Relative Frequency 200 250 300 350 400 450 500 550 600 Total 0.05 0.06 0.17 0.05 0.30 0.15 0.06 0.14 0.02 1.00 Specialty Steel Products Co. Example B.1 Average weekly production is determined by multiplying each production requirement by its frequency of occurrence. Weekly Production Requirements (hr) Relative Frequency 200 250 300 350 400 450 500 550 600 Total 0.05 0.06 0.17 0.05 0.30 0.15 0.06 0.14 0.02 1.00 Average weekly production requirements = 200(0.05) + 250(0.06) + 300(0.17) + … + 600(0.02) = 400 hours Specialty Steel Products Co. Example B.1 Weekly Production Requirements (hr) Relative Frequency 200 250 300 350 400 450 500 550 600 Total 0.05 0.06 0.17 0.05 0.30 0.15 0.06 0.14 0.02 1.00 Average weekly production requirements = 400 hours Regular Capacity (hr) 320 (8 machines) 360 (9 machines) 400 (10 machines) Relative Frequency 0.30 0.40 0.30 The average number of operating machine-hours in a week is: 320(0.30) + 360(0.40) + 400(0.30) = 360 hours Specialty Steel Products Co. Weekly Production Requirements (hr) Relative Frequency 200 250 300 350 400 450 500 550 600 Total 0.05 0.06 0.17 0.05 0.30 0.15 0.06 0.14 0.02 1.00 Average weekly production requirements = 400 hours Example B.1 © 2007 Pearson Education Regular Capacity (hr) 320 (8 machines) 360 (9 machines) 400 (10 machines) Relative Frequency 0.30 0.40 0.30 The average number of operating machine-hours in a week = 360 Hrs. Experience shows that with 11 machines, the distribution would be: Regular Capacity (hr) 360 (9 machines) 400 (10 machines) 440 (11 machines) Relative Frequency 0.30 0.40 0.30 Specialty Steel Products Co. Assigning Random Numbers • Random numbers must now be assigned to represent the probability of each demand event. • Random Number: A number that has the same probability of being selected as any other number. • Since the probabilities for all demand events add up to 100 percent, we use random numbers between (and including) 00 and 99. • Within this range, a random number in the range of 0 to 4 has a 5% chance of selection. • We can use this to represent our first weekly demand of 200 which has a 5% probability. Specialty Steel Products Co. Assigning Random Numbers Random numbers in the range of 0-4 have a 5% chance of occurrence. Event Weekly Demand (hr) Probability 200 250 300 350 400 450 500 550 600 0.05 0.06 0.17 0.05 0.30 0.15 0.06 0.14 0.02 Random numbers in the range of 5-10 have a 6% chance of occurrence. Random numbers in the range of 11-27 have a 17% chance of occurrence. Random numbers in the range of 28-32 have a 5% chance of occurrence. Specialty Steel Products Co. Assigning Random Numbers If we randomly choose numbers in the range of 00-99 enough times, 5 percent of the time they will fall in the range of 00-04, 6% of the time they will fall in the range of 05-10, and so forth. Event Weekly Demand (hr) Probability Random Numbers 200 250 300 350 400 450 500 550 600 0.05 0.06 0.17 0.05 0.30 0.15 0.06 0.14 0.02 00–04 05–10 11–27 28–32 33–62 63–77 78–83 84–97 98–99 Existing Weekly Capacity (hr) Probability Random Numbers 320 360 400 0.30 0.40 0.30 00–29 30–69 70–99 Specialty Steel Products Co. Model Formulation • Formulating a simulation model entails specifying the relationship among the variables. • Simulation models consist of decision variables, uncontrollable variables and dependent variables. • Decision variables: Variables that are controlled by the decision maker and will change from one run to the next as different events are simulated. • Uncontrollable variables are random events that the decision maker cannot control. Specialty Steel Products Co. Example B.2 Simulating a particular capacity level 1. 2. 3. 4. 5. 6. Using the Appendix 2 random number table, draw a random number from the first two rows of the table. Start with the first number in the first row, then go to the second number in the first row. Find the random-number interval for production requirements associated with the random number. Record the production hours (PROD) required for the current week. Draw another random number from row three or four of the table. Find the random-number interval for capacity (CAP) associated with the random number. Record the capacity hours available for the current week. Specialty Steel Products Co. Example B.2 Simulating a particular capacity level 7. If CAP > PROD, then IDLE HR = CAP – PROD 8. If CAP < PROD, then SHORT = PROD – CAP If SHORT < 100 then OVERTIME HR = SHORT and SUBCONTRACT HR = 0 If SHORT > 100 then OVERTIME HR = 100 and SUBCONTRACT HR = SHORT – 100 9. Repeat steps 1 - 8 until you have simulated 20 weeks. Specialty Steel Products Co. 20week simulation 10 Machines Week Demand Random Number Weekly Production (hr) Capacity Random Number 1 2 3 4 5 6 7 . . . 20 71 68 48 99 64 13 36 . . . 37 450 450 400 600 450 300 400 . . . 400 50 54 11 36 82 87 41 . . . 19 © 2007 Pearson Education Existing Weekly Capacity Idle Overtime (hr) Hours Hours 360 360 320 360 400 400 360 . . . 320 Total Weekly average 90 90 80 100 50 Subcontract Hours 140 100 . . . 490 24.5 40 . . . 80 830 41.5 . . . 360 18.0 Capital Bank An example of queuing system simulation • Capital Bank is considering opening the bank on Saturdays morning from 9:00 a.m. • Management would like to determine the waiting time on Saturday morning based on the following data: • Data: • There are 5 teller positions of which only two will be staffed. • Ann Doss is the head teller, experienced, and fast. • Bill Lee is associate teller less experienced and slower. 26 Capital Bank • Data: – Service time distributions: • • • • • • • • Ann’s Service Time 0.5 minutes 1 1.5 2 2.5 3 3.5 Bill’s Probability Service Time 0.05 1 minute 0.10 1.5 0.20 2 0.30 2.5 0.20 3 0.10 3.5 0.05 4 4.5 Probability 0.05 0.15 0.20 0.30 0.10 0.10 0.05 0.05 27 Capital Bank • Data: – Customer inter-arrival time distribution: – – • Inter-arrival time 1Minutes 1.5 2 2.5 Probability 0.65 0.15 0.15 0.05 Service priority rule is first come first served A simulation model is required to analyze the service. 28 Capital Bank – Solution • Calculating expected values: • E (inter-arrival time) = 1 (0.65) + 1.5 (0.15) + 2 (0.15) + 2.5 (0.05) • = 1.3minutes • [75 customers arrive per hour on the average, (60 / 1.3 = 46.15)] • E (service time for Ann) = 0.1 (0.05) + 1 (0.10) +…+ 3.5 (0.05) • = 2 minutes • [Ann can serve 60 / 2 = 30 customers per hour on the average] • E (Service time for Bill and Carla) = 1 (0.05) + 1.5 (0.15) +…+ 4.5 (0.05) • = 2.5 minutes • [Bill and Carla can serve 60 / 2.5 = 24 customers per hour on the average] • To reach a steady state the bank needs to employ all the three tellers • (30 + 24 = 54 > 46) 29 Capital Bank – Simulation Logic • If no customer waits in line, an arriving customer seeks service by a free teller in the following order: Ann, Bill. • If all the tellers are busy the customer waits in line and takes then the next available teller. • The waiting time is the time a customer spends in line, and is calculated by • [Time service begins] minus [Arrival Time] 30 CAPITAL – Simulation Demonstration 1.5 1.5 Mapping Interarrival time 80 – 94 1.5 minutes 1.5 1.5 1.5 1.5 1.5 Bill 1.5 1.5 Ann 3.5 Mapping Ann’s Service time 35 – 64 2 minutes 31 CAPITAL – Simulation Demonstration Bill Ann 1.5 Mapping Interarrival time 80 – 94 1.5 minutes 3 5.5 3.5 Mapping Bill’s Service time 40 – 69 2.5 minutes 32 CAPITAL – Simulation Demonstration 3 time Waiting 3.5 33 CAPITAL – 1000 Customer Simulation Average Waiting Time in Line = Average Waiting Time in System = 1.670 3.993 Ann Waiting Waiting Random Arrival Random Time Time Customer Number Time Number Start Finish Start Finish Start Finish Line System 1 2 3 4 5 6 7 8 0.87 0.18 0.49 0.86 0.54 0.61 0.91 0.64 1.5 2.0 2.5 4.0 4.5 5.0 6.5 7.0 0.96 0.76 0.78 0.49 0.85 0.55 0.90 0.62 1.5 Bill 5 2 5 5 2.5 5.5 5.5 8 8 10.5 7 5 7 Carla 8.5 10 0 0 0 1 0.5 0.5 0.5 1 3.5 3.0 3.0 3.0 4.0 3.0 3.5 3.5 34 CAPITAL – 1000 Customer Simulation Average Waiting Time in Line = Average Waiting Time in System = 1.670 3.993 Ann Bill Carla Waiting Waiting Random Arrival Random Time Time Customer Number Time Number Start Finish Start Finish Start Finish Line System This simulation estimates two performance measures: 1 2 3 4 5 6 7 8 0.87 1.5 0.96 1.5 0 inter-arrival 3.5 Average Average waiting time in line (Wq)5 = 1.67 minutes 0.18 2.0 0.76 2 5 0 3.0 time = .80 minutes. Average waiting time in the system W = 3.993 minutes 0.49 2.5 0.78 2.5 5.5 0 3.0 0.86 4.0 0.49the other 5 7 1 use 3.0 • To determine performance measures, we can 0.54 4.5 0.85 5 8.5 0.5 4.0 Little’s formulas: 0.61 5.0 0.55 5.5 8 0.5 3.0 number in line Lq =(1/.80)(1.67) = 3.5 0.91 – Average 6.5 0.90 7 of customers 10 0.5 0.64 7.0 0.62 8 10.5 1 3.5 2.0875 customers – Average number of customers in the system = (1/.80)(3.993) = 4.99 customers. 35 Problemler 1. Ankara şehirlerarası otobüs terminaline yaz sezonunda gelen otobüslerin gelişlerarası geçen süreleri aşağıdaki tabloda verilmiştir. Gelişlerarası Süre 0 dakika 6 dakika 12 dakika 18 dakika Olasılık 0.15 0.30 0.35 0.20 Otogara gelen otobüsler öncelikle giriş işlemlerini yaptırırlar ve ardından yolcu indirme ya da yolcu alma peronlarına yanaşırlar. Giriş işlemleri ortalaması 6 dakika olan üstel dağılım yapısı göstermektedir. Yaz sezonunda gelen otobüslerin %60’ı yolcu bindirme %40’ı da yolcu indirme peronlarına yanaşmaktadırlar. Otobüsler yolcu bindirme ya da indirme süreçlerini sonlandırdıktan sonra çıkış işlemlerini yaptırırlar. Otogarda yolcu alan ve yolcu indiren otobüsler için iki ayrı çıkış gişesi bulunmaktadır. Otogarda harcanan süreler şu şekildedir: Yolcu Bindirme Süre Olasılık 4 dakika 0.35 8 dakika 0.35 12 dakika 0.30 Yolcu İndirme Süre Olasılık 4 dakika 0.15 8 dakika 0.45 12 dakika 0.25 16 dakika 0.15 Çıkış İşlemleri Süre Olasılık 4 dakika 0.15 8 dakika 0.40 12 dakika 0.20 16 dakika 0.20 20 dakika 0.05 Bir günlük bir zaman dilimi için otobüslerin terminalde harcadıkları ortalama süreyi tahmin eden bir simülasyon modeli geliştiriniz. Otobüslerin terminalde harcadıkları ortalama süre %95 güvence aralığında ne kadardır? 1. İstanbul metrosunda çeşitli noktalara konulan jetonlu gazoz makinelerinde günlük talep, geçmiş satışlar gözönünde bulundurulduğunda her bir makine için 65 ile 200 kutu arasında aşağıdaki olasılıklar oranında değişmektedir. Talep 65 90 105 120 135 150 165 180 200 Olasılık 0.05 0.10 0.15 0.15 0.20 0.25 0.05 0.03 0.02 Makine 650 kutu gazoz alabilmektedir. Gazozların maliyeti 0.25 YTL ve satış fiyatı da 0.6 YTL’dir. Makineyi doldurmanın ortalama işçilik ve nakliye maliyeti 15 YTL’dir. Makine boş olduğu anlarda talebi karşılanmayan bir müşterinin maliyetinin 1 YTL olduğu tahmin edilmektedir. Dolu bir makinanın ortalama olarak kaç günde boşalacağını simüle ediniz. Makinanın bir önceki şıkta belirlenen gün sayısında yeniden doldurulduğunu varsayarsak bir makineden günlük ne kadar kar elde edilir?
© Copyright 2024