400(0.30)

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?