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 [email protected] 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.