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 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 ... Bugün Gelecek Zaman Karar ver, x Rassal Olay, r Kar, f(x,r)
İş 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.
Yazı Tura: =IF(RAND()<0.5;’’Yazı’’;’’Tura’’) Zar: =INT(6*RAND())+1 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 Olasılık 200 0.10 250 0.25 300 0.20 350 0.15 400 450 500 0.05
Şirket bilgisayarları 750 dolardan satmaktadır Ş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 dağılımın ortalamasını, ’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 Relative Requirements (hr) Frequency 200 0.05 250 0.06 300 0.17 350 0.05 400 0.30 450 0.15 500 0.06 550 0.14 600 0.02 Total 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 Relative Requirements (hr) Frequency 200 0.05 250 0.06 300 0.17 350 0.05 400 0.30 450 0.15 500 0.06 550 0.14 600 0.02 Total 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 Relative Requirements (hr) Frequency 200 0.05 250 0.06 300 0.17 350 0.05 400 0.30 450 0.15 500 0.06 550 0.14 600 0.02 Total 1.00 Regular Relative Capacity (hr) Frequency 320 (8 machines) 0.30 360 (9 machines) 0.40 400 (10 machines) 0.30 The average number of operating machine-hours in a week is: 320(0.30) + 360(0.40) + 400(0.30) = 360 hours Average weekly production requirements = 400 hours
Specialty Steel Products Co. © 2007 Pearson Education Specialty Steel Products Co. Weekly Production Relative Requirements (hr) Frequency 200 0.05 250 0.06 300 0.17 350 0.05 400 0.30 450 0.15 500 0.06 550 0.14 600 0.02 Total 1.00 Regular Relative Capacity (hr) Frequency 320 (8 machines) 0.30 360 (9 machines) 0.40 400 (10 machines) 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 Relative Capacity (hr) Frequency 360 (9 machines) 0.30 400 (10 machines) 0.40 440 (11 machines) 0.30 Average weekly production requirements = 400 hours Example B.1
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 0.05 250 0.06 300 0.17 350 0.05 400 0.30 450 0.15 500 0.06 550 0.14 600 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 Existing Weekly Random Weekly Random Demand (hr) Probability Numbers Capacity (hr) Probability Numbers 200 0.05 00–04 320 0.30 00–29 250 0.06 05–10 360 0.40 30–69 300 0.17 11–27 400 0.30 70–99 350 0.05 28–32 400 0.30 33–62 450 0.15 63–77 500 0.06 78–83 550 0.14 84–97 600 0.02 98–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 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 If CAP > PROD, then IDLE HR = CAP – PROD 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 Repeat steps 1 - 8 until you have simulated 20 weeks.
Specialty Steel Products Co. 20-week simulation © 2007 Pearson Education Specialty Steel Products Co. 20-week simulation 10 Machines Existing Demand Weekly Capacity Weekly Sub- Random Production Random Capacity Idle Overtime contract Week Number (hr) Number (hr) Hours Hours Hours 1 71 450 50 360 90 2 68 450 54 360 90 3 48 400 11 320 80 4 99 600 36 360 100 140 5 64 450 82 400 50 6 13 300 87 400 100 7 36 400 41 360 40 . . . . . . . . . . . . . . . . . . . . . . . . 20 37 400 19 320 80 Total 490 830 360 Weekly average 24.5 41.5 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.
Capital Bank Data: Service time distributions: Ann’s Bill’s Service Time Probability Service Time Probability 0.5 minutes 0.05 1 minute 0.05 1 0.10 1.5 0.15 1.5 0.20 2 0.20 2 0.30 2.5 0.30 2.5 0.20 3 0.10 3 0.10 3.5 0.10 3.5 0.05 4 0.05 4.5 0.05
Capital Bank Data: Customer inter-arrival time distribution: Inter-arrival time Probability 1Minutes 0.65 1.5 0.15 2 0.15 2.5 0.05 Service priority rule is first come first served A simulation model is required to analyze the service.
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)
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]
CAPITAL – Simulation Demonstration 1.5 1.5 1.5 1.5 1.5 1.5 Bill 1.5 Ann 1.5 1.5 1.5 3.5 Mapping Interarrival time 80 – 94 1.5 minutes Mapping Ann’s Service time 35 – 64 2 minutes
CAPITAL – Simulation Demonstration Bill 3 5.5 Ann 1.5 3.5 Mapping Interarrival time 80 – 94 1.5 minutes Mapping Bill’s Service time 40 – 69 2.5 minutes
CAPITAL – Simulation Demonstration Waiting time 3 3.5
CAPITAL – 1000 Customer Simulation
CAPITAL – 1000 Customer Simulation This simulation estimates two performance measures: Average waiting time in line (Wq) = 1.67 minutes Average waiting time in the system W = 3.993 minutes Average inter-arrival time = .80 minutes. To determine the other performance measures, we can use Little’s formulas: Average number of customers in line Lq =(1/.80)(1.67) = 2.0875 customers Average number of customers in the system = (1/.80)(3.993) = 4.99 customers.
Problemler