1106104 SİSTEM SİMÜLASYONU

advertisement
1106104 SİSTEM SİMÜLASYONU
Yrd Doç. Dr. Sırma Yavuz
Pazartesi 13:00 - 15:50 (F-19)
Ofis: B Blok - Kat 7
Ofis Saatleri : Çarşamba 14:00 - 15:00
İletişim
http://www.ce.yildiz.edu.tr
http://www.yildiz.edu.tr/~smyavuz
sirma@ce.yildiz.edu.tr
Ders İçeriği
{
{
{
{
{
{
{
{
{
Simülasyona Giriş: Simülasyonun avantaj ve
dezavantajları, uygulama alanları
Sistem-sistem modeli tipleri - Ayrık-olay simülasyonu
Simülasyon Örnekleri: Kuyruk sistemleri - Envanter
sistemleri
Genel Prensipler Simülasyon Yazılımları- İstatiksel
analiz araçları
Matematiksel ve İstatiksel Modeller: Simülasyonda
istatiksel modeller -Kuyruk modelleri
Rasgele Sayı ve Rasgele Değişken Üretme Teknikleri
Simülasyon Verilerinin Analizi - Girişlerin
modellenmesi –
Simülasyon modelleri için doğrulama ve sağlama Çıktı analizi
Bilgisayar Ağlarının Simülasyonu
Kaynaklar ve Değerlendirme
{
{
Banks, Carson, Nelson and Nicol - Discrete
Event System Simulation - 4th Edition Prentice Hall
Ödevler %10
Vize %20
Proje Önerisi %10
Proje Modeli %20
Final Proje (rapor+sunum)%40
Ödev soruları/konuları sınıfta tartışılacaktır, herkesin
buna hazırlıklı olarak derse gelmesi beklenmektedir.
Haftalık Program
1
6 Ekim 08 Ders
2
13 Ekim 08 Ders
3
20 Ekim 08 Ders
4
27 Ekim 08 Ders
5
3 Kasım 08 Ders – Proje Önerilerinin verilmesi
6
10 Kasım 08 Ders
7
17 Kasım 08 Vize
8
24 Kasım 08 Ön sunumlar - Projenizde kullanılan modeller
9
10
1 Aralık 08 Ders
8 Aralık 08 Kurban Bayramı
11
15 Aralık 08 Final Raporlar- Sunumlar
12
22 Aralık 08 Sunumlar
13
29 Aralık 08 Sunumlar
Proje Önerisi - 3 Kasım 2008
{
{
{
{
Gerçeklemeyi düşündüğünüz
Projenin Konusu, Amacı, Kullanım
Alanı,
Daha önce yapılmış benzer
çalışmalara ait literatür taraması,
Girdileriniz ve Çıktılarınızın Neler
Olacağını
Ne tür modeller kullanmayı
planladığınız belirtmeli.
Proje Modeli – 24 Kasım 2008
{
{
{
{
Önerinizde meydana gelen değişiklikler
eksik noktalar varsa tamamlanmış olmalı.
Bu raporda ek olarak modellerinizi
oluşturmuş ve detaylı olarak açıklamış
olmalısınız.
Model seçimini neye göre yaptığınız
belirtilmeli başka çalışmalarla
kıyaslamalar yapılmalı.
Belirtilen tarihte sınıfta 15 dakikalık
sunumlar ile projenizi tanıtmanız
gerekmektedir.
Final Proje Raporu – 15 Aralık 2008
{
{
{
{
{
Bu aşamada kodunuz büyük ölçüde tamamlanmış
olmalı.
Modelinize ait onaylama çalışmaları yapılmalı.
Çıktıların analizi sonuçların değerlendirilmesi fnal
raporunuzda yer almalı.
Tüm projeler için proje kodlarının doxygen veya
benzeri araçlar yardımı ile detaylı olarak
dökümante edilmesi gerekmektedir.
Buna uygun olarak başlangıçtan itibaren
kodlarınızda uygun açıklama satırlarını eklemeyi
unutmayınız.
Sınıf içi sunumlar - 15–22–29 Aralık
{
Belirtilen günlerde size ayrılan 3040 dakikalık sürede projenizi ve
kodunuzu sınıf içinde sunmanız
beklenmektedir.
Final sınavı – Projlerin Bilgisayar
Başında Gösterilmesi
{
Final Haftasında yapılacaktır takvim ilan edilecektir
Ders İçeriği
{
{
{
{
{
{
{
{
{
Simülasyona Giriş: Simülasyonun avantaj ve
dezavantajları, uygulama alanları
Sistem-sistem modeli tipleri - Ayrık-olay simülasyonu
Simülasyon Örnekleri: Kuyruk sistemleri - Envanter
sistemleri
Genel Prensipler Simülasyon Yazılımları- İstatiksel
analiz araçları
Matematiksel ve İstatiksel Modeller: Simülasyonda
istatiksel modeller -Kuyruk modelleri
Rasgele Sayı ve Rasgele Değişken Üretme Teknikleri
Simülasyon Verilerinin Analizi - Girişlerin
modellenmesi –
Simülasyon modelleri için doğrulama ve sağlama Çıktı analizi
Bilgisayar Ağlarının Simülasyonu
Kaynaklar ve Değerlendirme
{
{
Banks, Carson, Nelson and Nicol - Discrete
Event System Simulation - 4th Edition Prentice Hall
Ödevler %10
Vize %20
Proje Önerisi %10
Proje Modeli %20
Final Proje (rapor+sunum)%40
Ödev soruları/konuları sınıfta tartışılacaktır, herkesin
buna hazırlıklı olarak derse gelmesi beklenmektedir.
Simülasyon Nedir ?
{
{
Simülasyon, gerçek hayattaki bir
sitemin veya sürecin çalışmasının
taklit edilmesidir (genellikle bilgisayar
üzerinde).
Simülasyon, sistemin yapay
geçmişinin üretilmesine ve gerçek
sistemin karakteristik özelliklerine
dair çıkarımlar yapmak üzere bu
geçmişin gözlemlenmesine olanak
verir.
Simülasyon Nedir ?
{
{
Simülasyon gerçek hayattaki pek
çok sorun için vazgeçilmez bir
problem çözme aracıdır.
Simülasyon sistemin davranışını
tanımlamak ve analiz etmek ve
“...olursa ne olur? ” sorularına
cevap vermek için kullanılır.
Simülasyon Nedir ?
{
{
Simülsyonun gerçek gücü analitik
bir model oluşturmayı düşünmenin
bile imkansız olduğu karmaşık
sitemler üzerinde görülebilir.
Sistemin belli bölümleri analitik
olarak ifade edilebilirken diğer
bölümleri deneysel verileri
kullanabilir...
Farklı Simülasyon Tipleri
Statik – Dinamik
Zamanın model içinde rolü var mı ?
{ Sürekli – Ayrık
“Durum” sürekli mi değişiyor yoksa
zamanda ayrık noktalardamı ?
{ Deterministik – Rasgele (stokastik)
Herşey kesin mi, belirsizliğe yer var mı?
{ En işlevsel modeller:
Dinamik, ayrık, rasgele
{
Simülasyonda Kullanılan Araçlar
Genel-Amaçlı programlama dilleri
(C, Java, Fortran, Pascal vs. ...)
Tamamen esnek, hata ihtimali var,
vakit alıcı
{ Destek paketleri, alt rutinler
{
{
Tablolama programları
Simülasyonda Kullanılan Araçlar
{
{
{
{
{
{
Simülasyon Dilleri, Özel Amaçlı ve
Diğer Simülatörler:
AutoMod
Arena, Extend, Flexsim...
CSIM (C, C++ tabanlı)
SimPy (Python tabanlı, açık kaynak)
GPSS, SIMSCRIPT, SLAM, SIMAN...
Ne zaman Simülasyon iyi bir fikir
değildir ?
1- Problem Sağduyulu bir Analiz ile
Çözülebiliyorsa:
Arabaları için taşıt vergisi ödemek
isteyen saatte 100 müşteri, rasgele
olarak bankaya varmaktadır. İlgili
memurun her müşteri için harcadığı
süre değişmekle birlikte ortalama 5
dakikadır.
Durumu kontrol altında tutabilmek için
en az kaç görevli gereklidir ?
Ne zaman Simülasyon iyi bir fikir
değildir ?
{
{
Durumu kontrol altında tutabilmek için en
az 9 görevli gerekir. (5dk*100/60dk)
Daha fazla görevli olursa müşterilerin
bekleme süresi kısalacaktır.
Bu problem simülasyonla da
Çözülebilirdi ama bu çözüm için kod
yazmak ve çalıştırmak daha uzun
sürerdi !
Ne zaman Simülasyon iyi bir fikir
değildir ?
2- Problem Analitik Olarak
Çözülebiliyorsa:
Kararlı hal kuyruk modelleri,
raslantısal envanter modelleri gibi
kapalı form denklemler ile çözülebilen
durumlarda simülasyon daha pahalı
bir yöntemdir.
Ne zaman Simülasyon iyi bir fikir
değildir ?
3- Gerçek Sistem Üzerinde Değişiklik ve
Deney yapmak Daha Kolaysa:
Bu seçenek bariz görünmekle birlikte gözden kaçabilir:
Arabaya servis seçeneği olan bir restoran için detaylı
bir model oluşturulup ikinci bir servis penceresi
açmanın servis süresine ne kadar katkı sağlayacağını
belirlemek için bir çalışma yapılmış ve modelin
tamamlanması haftalar sürmüştür. Öte yandan rakip
bir restoran aynı fikri test etmek için ikinci bir
elemanına uzaktan ses iletişimi kuracak bir cihaz
vererek çalışmayı birkaç gün içinde tamamlamıştır.
Ne zaman Simülasyon iyi bir fikir
değildir ?
4- Simülasyon Maliyeti
Sağlanacak Kazancın Üzerinde
ise:
Hemen hemen tüm simülasyon
projelerinin nitel faydaları olmakla
birlikte mliyetler elde edilmesi
umulan maddi fayda ile
kıyaslanmalıdır.
Ne zaman Simülasyon iyi bir fikir
değildir ?
Simülasyon projelerinin maliyetlerinin
hesabında göz önüne alınması
gereken faktörler:
{ Proje planlama, problem tanımlama ve
sürecin dökümante edilmesi,
{ Model geliştirme ve test etme,
{ Veri toplama, gözden geçirme,
formatlama,
{ Deneme ve analizler,
{ Modelde olası yeniliklerin ve
genişletmelerin yapılması
{ Projenin dökümante edilmesi ve sunumu
Ne zaman Simülasyon iyi bir fikir
değildir ?
5- Proje için Yeterli
Kaynaklar Mevcut Değilse:
Başarılı bir simülasyon projesinin
tamamlanması için gerekli ana
kaynaklar:
İnsan-Yazılım-Bilgisayar-Para
En önemli bileşen doğru detay
seviyesini seçecek ve modeli oluşturacak
insan(lar)dır.
Ne zaman Simülasyon iyi bir fikir
değildir ?
6- Model sonuçlarından
Faydalanmaya Yetecek Süre
Yoksa:
Proje süresi çok kısa,
Modelin geliştirilmesi ve testi çok uzun.
Simülasyon modeli istenen cevapları
verebilecek kadar detaylı olmalı ama
çok detaylı da olmamalı!
Ne zaman Simülasyon iyi bir fikir
değildir ?
7- Gerekli Veriler Hatta
Tahmin Bile Yoksa:
Simülasyon projesinin tasarım
aşamasında projeden beklentileri
karşılayacak ve proje için planlanan
detay seviyesini karşılayacak verilerin
var olup olmadığı, yoksa nasıl elde
edilebileceği araştırılmalıdır.
Ne zaman Simülasyon iyi bir fikir
değildir ?
8- Modelin Doğrulanması ve
Sağlaması Yapılamıyorsa:
Validate (onay-ispat)
Verify (onay-denetleme)
Modeli test senaryoları karşısında
doğrulamak için kullanışlı veriler
mevcut olmayabilir. Yeterli zaman
olmayabilir...
Ne zaman Simülasyon iyi bir fikir
değildir ?
9- Projeden Beklentiler
Karşılanabilir Düzeyde
Değilse:
Modeller ancak gözönüne aldıkları problemler
ile ilgili sorulara cevap verebilir.
Deneyimsiz yöneticiler sistem bir kez
modellendiğinde sordukları tüm sorulara
cevap alabileceklerini düşünebilirler !
Ne zaman Simülasyon iyi bir fikir
değildir ?
10- Sistem Davranışı çok
Karmaşık ise veya Sistem
Modellenebilir değilse:
Özellikle insan davranışının sistemin önemli bir
parçası olması durumunda karşımıza çıkar.
Normal bir günün simülasyonu yapıldığında model
sonuçları sağlıklı iken acil durum senaryolarının
Tümüyle tanımlanması veya modellenmesi
İmkansız olabilir.
Tanımlar
{
{
{
Simülasyon, gerçek hayattaki bir
sitemin veya sürecin çalışmasının
taklit edilmesidir (genellikle
bilgisayar üzerinde).
Model sistemi tanımlayan
kavramsal bir çerçeve oluşturur.
Bir sistemin davranışının zaman
içindeki değişimi bir Simülasyon
Modeli geliştirilerek incelenebilir.
Tanımlar
{
{
Böyle bir model genellikle sistemin
çalışmasını ilglendiren bir grup
tahminlerden oluşur.
Bu tahminler sistemde ilgilenilen
varlık veya nesneler arasındaki
matematiksel, mantıksal ve
sembolik ilişkiler ile ifade edilir
Modelleme ve Simülasyonun Amacı
{
Simülasyon modeli bir kez
geliştirildikten sonra pek çok
“...olursa ne olur? ” sorusunu
incelemek için kullanılabilir.
Modelleme ve Simülasyonun Amacı
{
{
Simülasyon henüz tasarım
aşamasındaki sistemlerin değişik
koşullar altındaki performansını
tahmin etmek üzere kullanılabilir.
Veya varolan bir sistemde
yapılması düşünülen potansiyel
değişiklikler gerçeklenmeden önce
yaratacakları etkiyi tahmin
edebilmek üzere kullanılabilir.
Modelleme ve Simülasyonun Amacı
Yani Simülasyon,
{ Değişikliklerin etkisini tahmin etmek
için bir Analiz Aracı veya
{ Yeni bir sistemin performansını
tahmin etmek için bir Tasarım
Aracı
olarak kullanılabilir...
Model Ne Şekilde Geliştirilebilir
Matematiksel Yöntemler
{ Olasılık teorisi, cebirsel yöntemler…
{ Sonuçları güvenilirdir
{ Az sayıda parametre içerirler
{ Karmaşık sistemler için geliştirilmeleri
imkansızdır
Nümerik bilgisayar-tabanlı simülasyon
{ Basittir
{ Karmaşık sistemler için kullanışlıdır
Simülasyon Ne Zaman Uygun bir
Araçtır
{
{
{
{
{
Simülasyon bir alt sistemin karmaşık ana
sistemle etkileşimini gözlemlememize
olanak verir.
Bilgi niteliğindeki veriler, kurumsal veya
ortam değişiklikleri etkilerinin
incelenebilmesi için simüle edileblir.
Simülasyon modeli sistemin iyileştirilmesi
için gerekli değişiklikler hakkında bilgi
edinmemize yardımcı olur.
Simülasyon giriş parametreleri
değiştirilerek önemli olan girdiler tesbit
edilebilir.
Yeni tasarımlar ve kurallar uygulanmadan
önce simülasyon ile denenebilir.
Simülasyon Ne Zaman Uygun bir
Araçtır
{
{
{
{
Bir makine için farklı güç ve kapasitelerin
simülasyon ile gözlemlenmesi ihtiyacı
belirlemede yardımcı olabilir.
Eğitim amacı ile geliştirilen simülasyon
modelleri büyük zararlar yaratmadan
öğrenmeyi mümkün kılar.
Anime edilmiş simülasyonlar ile planlar
daha kolay göz önünde canlandırılabilir.
Fabrika, üretim tesisi gibi modern
sistemlerin iç etkileşimleri çok karmaşıktır
ve ancak simülasyon yolu ile
gözlemlenebilir.
Simülasyonun Avantaj ve
Dezavantajları
{
{
Öncelikle optimizasyon modellerinin
tersine simülasyon modellerinin
çözülmek yerine çalıştırıldığını
unutmamak gerekir.
Bir grup girdi ve model
karakteristikleri verildiğinde model
çalışır ve simüle edilen davranış
gözlenir.
Simülasyonun Avantajları
{
{
{
{
{
{
{
Gerçek sistemin işleyişini rahatsız etmeden yeni
işletme prosedürleri, kurallar denenebilir.
Yeni donanımsal tasarımlar, fiziksel yerleşimler,
taşıma sistemleri gibi değişikliklerin kazanımları bu
işler için kaynak ayırmadan test edilebilir.
İncelenen olayı hızlandırmak veya yavaşlatmak
mümkündür (zaman kontrol edilebilirdir).
Performansı etkileyen önemli değişkenlerin ne olduğu
ve değişkenlerin birbirleri ile etkileşimi hakkında bilgi
edinilebilir.
Çalışmanın ya da sistemin nerede gecikmeler
yaşadığını belirlemek için darboğaz analizi yapılabilir.
Simülasyon çalışması sistemin nasıl çalıştığını
anlamaya yardım eder.
“...olursa ne olur? ” sorularına cevap bulunabilir.
Simülasyonun Dezavantajları
{
Model geliştirme eğitim ve tecrübe gerektirir :
Simülasyon yazılımı geliştiren firmalar aktif olarak
sadece girdilere ihtiyaç duyan paketler geliştirmek
için çalışıyor.
{
{
Simülasyon sonuçlarının yorumlanması güç
olabilir,
Simulasyon modelleme ve analiz çok zaman alıcı
ve pahalı olabilir:
Pek çok simülasyon yazılımı çıktı-analizi de
içermektedir.
Uygulama Alanları
Üretim uygulamaları (yarıiletken üretimi)
{ İnşaat mühendisliği ve proje yönetimi
{ Askeri uygulamalar
{ Lojistik, tedarik zinciri ve dağıtım uygulamaları
{ Taşıma ve trafik modelleri
{ İş süreci simülasyonları
{ Sağlık hizmetleri
{ Otomatik malzeme yükleme taşıma boşaltma
sistemleri
{ Risk analizi, sigortacılık
{ Bilgisayar simülasyonları (CPU, Memory,…)
{ Network simülasyonları:
Internet altyapısı, LAN (Switch/Router), Wireless, PSTN
(çağrı merkezi),...
{
Sonraki Ders için Ödev
http://www.wintersim.org/
{
{
Sol menüde “Past WSC Conference Programs
and Full Papers” sekmesinden önceki
konferanslardan ilgi alanınıza giren uygulama
örneklerini bulup 3 tanesini listeleyin, bir tanesi
için derste bahsedilen simülasyon adımlarını (akış
diagramı) yazarın nasıl gerçekleştirdiğini anlatan
kısa bir rapor yazın.
Sizce en sıradışı görünen bir uygulamayı seçip
sınıfta tartışmak üzere kısa notlar alın ?
Sistem
Sistem, bir amacı gerçekleştirmek
üzere düzenli bir etkileşim içinde
olan nesneler grubudur.
{
Otomobil fabrikası: makinalar,
parçalar ve işçiler montaj hattı
etrafında birlikte iş görürler.
Sistem Ortamı (Çevresel Etkenler)
Sistem çoğu zaman sistemin dışında
oluşan değişikliklerden de etkilenir:
Sistem ortamı (çevresel etkenler)
{
Fabrika: Gelen siparişler, Talebe göre
tedariğin etkisi: gelen talep ile fabrika çıktısı
arasındaki ilişki (sistem hareketliliği-aktivitesi)
Banka: Müşterilerin varışı
Sistemin Bileşenleri
Varlık (Entity):
Sistemde ilgilenilen bir nesne (fabrikadaki
makineler)
{ Nitelik (Attribute)
Bir varlığa ait özellik (hız, kapasite)
{ Aktivite, Faaliyet (Activity)
Belirli uzunluktaki bir zaman periyodu
(kaynaklama, presleme)
{ Durum (State)
Herhangi bir anda sistemi tanımlayan
değişkenler topluluğu (makine durumu: boş,
meşgul, bozuk)
{
Sistemin Bileşenleri
Olay (Event)
Sistemin durumunu değiştirebilecek aniden
vuku bulan şeyler (bozulma, çökme)
{
İç kaynaklı- endojen (Endogenous)
Sistemle birlikte oluşan olaylar ve faaliyetler
{ Dış Kaynaklı-ekzojen (Exogenous)
Ortamla birlikte oluşan olaylar ve faaliyetler
{
Ayrık ve Sürekli Sistemler
Ayrık sistem, durum değişkenlerinin sadece zamanda
ayrık noktalarda değiştiği sistemlerdir: Banka örneği
Kuyrukta bekleyen veya
hizmet verilen müşteri
adedi
{
Zaman
Ayrık ve Sürekli Sistemler
Sürekli sistem, durum değişkenlerinin zaman içinde
sürekli değiştiği sistemlerdir: Baraj örneği
Barajdaki su seviyesi
{
Zaman
Bir Sistemin Modeli
Bir sistemin davranışının zaman
içindeki değişimini incelemek, sistemi
anlamak için:
Gerçek sistem üzerinde denemeler
yapılabilir
{
herzaman mümkün değildir..
Bir Simülasyon Modeli geliştirilerek
sistem incelenebilir
{
Bir Sistemin Modeli
Sistemi tanımlayan model oluştururken;
Sistemin incelenmek istenen problemi
etkileyen yönlerini dikkate almak
gerekir.
Önemsiz detaylar kaldırılmalıdır...
Model Tipleri
SİSTEM
Gerçek sistem
üzerindeki
Denemeler
Sistem modeli
üzerindeki
Denemeler
Fiziksel Model
Matemetiksel
Model
Analitik Çözüm
Simülasyon
Simülasyon Modelinin Tanımlanması
Deterministik veya Stokastik
Model rasgele bileşenler içeriyormu ?
Ayrık Olay Simülasyonunda rasgele
bileşenlerin eklenmesi kolaydır
{ Statik veya Dinamik
Zaman önemli bir değişken mi ?
{ Sürekli veya Ayrık
Sistem durumu süreklimi değişiyor yoksa
zaman içinde ayrık noktalarda mı?
{
Ayrık-Olay Simülasyon Modeli
Stokastik: bazı durum değişkenleri
rasgeledir
{
{
Dinamik: zaman değişimi önemlidir
Ayrık-Olay: Zamanda ayrık
noktalarda önemli değişiklikler olur
{
Model Sınıflaması
Sistem Modeli
Deterministik
Statik
Stokastik
Dinamik
Sürekli
Statik
Ayrık
Dinamik
Sürekli
Ayrık
Ayrık-Olay
Simülasyonu
Ayrık-Olay Simülasyon Modelinin
Geliştirilmesi
1)
2)
3)
4)
5)
6)
Hedeflerin belirlenmesi
Kavramsal bir model oluşturulması
Ayrıntılı bir modele dönüştürün
Sayısal bir modele dönüştürün
Sağlamasını yapın (Verify)
Onaylanmasını yapın (Validate)
Bu tipik olarak iteratif bir süreçtir
Model Seviyeleri
Kavramsal
- Üst Düzey
- Model ne kadar kapsamlı olmalı ?
- Durum değişkenleri neler: hangileri dinamik ve
hangileri önemli ?
{ Ayrıntılı
- Kağıt Üzerinde
- Denklemler, pseudo kod vs. İçerebilir
- Model girdileri nasıl alacak ?
{ Sayısal
- Bilgisayar programı
- Genel amaçlı programlama dili mi yoksa özel bir
simülasyon dili mi?
{
Sağlama & Doğrulama
Sağlama - Verification
- Sayısal model ayrıntılı model ile tutarlı
olmalı
- Modeli doğru oluşturduk mu ?
{ Doğrulama - Validation
- Sayısal model analiz edilen sistem ile
tutarlı olmalı
- Doğru modeli oluşturduk mu ?
- Uzman biri sistem çıktılarını simülaasyon
çıktılarından ayırabilir mi ?
- Etkileşimli grafikler faydalı olabilir
{
Simülasyon
Çalışmasının
Adımları
Ayrık-Olay Simülasyonu Kavramları
Sistem
Bir veya daha fazla amaç için zaman içinde
birbiri ile etkileşim içinde olan varlıklar
topluluğu (insanlar ve makineler..)
{
Model
Sistemi, o sistemi oluşturan varlıklar, varlıklara ait
nitelikler, kümeler, süreçler türünden
tanımlayan, genellikle yapısal, mantıksal veya
matematiksel ilişkiler içeren özet gösterim
{
Sistem Durumu
Herhangi bir anda sistemi tanımlayan
değişkenler topluluğu
{
Ayrık-Olay Simülasyonu Kavramları
Varlık
Sistemde özel olarak temsil edilmesi gereken
nesne veya bileşen (görevli, müşteri ..)
{
Nitelikler
Belirli bir müşterinin özellikleri
{
Liste
Mantıksal bir sıra ile dizilmiş ilişkili varlıklar
topluluğu (FIFO, öncelik...)
{
Ayrık-Olay Simülasyonu Kavramları
Olay
Sistemin durumunu değiştiren ani oluşum
{
Olay İhbarı
Şimdiki veya gelecek zamanda oluşacak bir olay
kaydı (tipi ve zamanı)
{
Olay Listesi
FEL (future event list – gelecek olay listesi
{
Ayrık-Olay Simülasyonu Kavramları
Aktivite (koşulsuz bekleme)
Belirtilen uzunlukta bir süre (servis süresi,
varışlar arası süre)
Deterministik, istatiksel ve fonksiyonel
{
Gecikme (koşullu bekleme)
Belirsiz uzunlukta, bitene kadar uzunluğu
bilinmeyen bir süre (kuyruktaki müşterinin
gecikmesi)
{
Saat (Clock)
Simüle edilen süreyi temsil eden değişken
{
Able-Baker Çağrı Merkezi
Sistem durumu
LQ(t): Servis bekleyen arayan kişi sayısı
LA(t): Able’ın meşgul veya boşta olduğunu gösteriyor
(0 veya 1)
LB(t): Baker’ın meşgul veya boşta olduğunu gösteriyor
(0 veya 1)
{ Varlıklar
Arayan Kişiler
{ Olaylar
Varış olayı, Able veya Baker’ın hizmeti tamamlaması
{ Aktiviteler
Able ve Baker’ın servis süreleri ve çağrılar arası geçen
süre
{ Gecikme
Arayan kişinin Able veya Baker serbest kalana kadar
kuyrukta bekleme süresi
{
Olay Çizelgeleme (planlama)
Her olay sistemin durumunu nasıl
etkiliyor, nitelikler ?
{ Aktiviteler nasıl tanımlanmış
(deterministik, olasıksal, ...?)
{ Herbir gecikmeyi tetikleyen olaylar
hangileri ?
{ 0 anında sistem durumu nedir ?
{
Olay Çizelgeleme (planlama)
Saat
(Clock)
Sistem
Durumu
t
(x,y,z,...)
Nitelikler
Gelecek Olay
Listesi (FEL)
Kümülatif istatistikler ve
sayaçlar
(3,t1) Æ t1 anında
gerçekleşecek
3 tipli olay
(1,t2)
(4,tn)
Clock=t, t<t1<t2<…<tn
Gelecek olay listesi olay zamanına
göre sıralanmıştır
Olay Çizelgeleme/ Zaman Artımı
(Time-advance) Algoritması
t1 anında yeni olay ihbarı
üretilmiş olabilir , eğer böyle bir
ihbar varsa gelecek olay
listesinde bu olaylar için uygun
bir konuma olay ihbarı eklenmeli
t2<t*<t3
Önyükleme (Bootstrapping) ile Varış
Akışının Üretilmesi
Gelecek olay listesinin üretilmesinde
ikinci örnek kuyruk simülasyonunda
servisin tamamlanması olayı ile
üretilebilir:
{
Önyükleme (Bootstrapping) ile Varış
Akışının Üretilmesi
n. müşterinin geldiği
varsayılan t anında servis
süresini (a* ) üret, t*=t+a*
zamanını hesapla ve gelecek
t* anına gelecek servisin
başlangıcını programla
Ardarda gelen olaylar
arasında sistem durumunun
değişmesine neden
olabilecek başka olaylar
oluşabilir
Olay Çizelgeleme
{
{
{
{
Servisin tamamlanması olayı birincil bir
olaydır (n. müşteri), sadece boşta bir servis
elemanı olması halinde varış anına
programlanacaktır.
Servisin başlaması olayı koşulludur (n+1.
müşteri), çünki oluşumu ancak müşteri mevcut
ise ve boşta servis elemanı varsa tetiklenecektir.
Koşullu olay ancak birincil bir olayın oluşumu ve
belirli koşulların sağlanması ile tetiklenir.
Sadece birincil olaylar gelecek olaylar listesinde
yer alır.
Simülasyon Durma Zamanı
{
{
{
{
Tüm simülasyonlar için bir durma olayı
(E) olmalıdır. Bu olay simülasyonun ne
kadar süre ile çalışacağını belirler.
0 anında belirli bir TE anı için simülasyon
durma olayı planlanırsa simülasyon [0,TE]
aralığı boyunca çalışacaktır.
Simülasyonu çalışma süresi olan TE
simülasyonun kendisi tarafından belirlenir.
TE karmaşık bir sistem için bir makinenin
bozulması olayı veya çarpışma
simülasyonu için tüm savaşçıların ölmesi
gibi bir olay anı olabilir.
Simülasyon Modeli Yaklaşımları
Olay çizelgeleme-planlama yaklaşımı
Olaylar ve bunların sistem üzerindeki etkilerine
yoğunlaşılır.
{
Proses etkileşimleri yaklaşımı (işletim
sistemlerindeki prosesler gibi)
- Model varlıklar veya objeler türünden tanımlanır.
İçgüdüsel bir yanı vardır.
- Prosesleri üst düzey bloklar veya bağlantılarla
tanımlamaya olanak verir.
- Olay planlama gizlidir.
{
Her iki yaklaşım da değişken zaman artımı (variable
time advance) kullanır.
Simülasyon Modeli Yaklaşımları
{
Aktivite tarama yaklaşımı
- Hangi aktivitenin başlayabileceğine karar vermek için
sabit zaman artımı ve kural tabanlı
yaklaşım kullanılır.
- Her zaman artımında her bir aktivite için koşullar
kontrol edilir ve gerekli koşullar sağlanırsa
aktivite başlar.
- Küçük sistemler için uygundur.
- Oldukça hızlıdır.
Download