Simülasyonun Temelleri DERS : SİMÜLASYONUN TEMELLERİ VE SİMÜLASYONDA BİLGİSAYAR KULLANIMI Bölüm : Simülasyon Model Çeşitleri, Simülasyon Modelleme Süreci Girdiler: Karar değişkenleri Simülasyon Modeli Çıktılar: Performans veya davranış ölçümleri: Çıktı değişkenleri Simülasyon Model Çeşitleri Simülasyon Model Çeşitleri (Devam) Simülasyon modelleri üç ana grupta toplanabilir; Statik (Static) veya Dinamik (Dynamic), Simülasyon çalışmasında zamanın rolü nedir? Belirli (Deterministic) veya Olasılıklı (Stochastic), Simülasyon çalışmasında herşey kesin midir yoksa rassallık bulunmakta mıdır? Sürekli (Continuous) veya Kesikli (Discrete), Simülasyon çalışmasında durum sürekli olarak mı, yoksa zamanın kesikli bir noktasında mı değişmektedir? Statik vs. Dinamik Belirli vs. Olasılıklı Kesikli vs. Sürekli Statik vs. Dinamik Simülasyon Modeli Belirli vs. Olasılık Simülasyon Modelleri Statik Simülasyon Modeli Sistemin belirli bir anındaki gösterimidir. Monte-Carlo simülasyon modelleri bu türe uygun modellerdir. (Montaj hattı dengeleme, işletmelerin fiziksel konumunu düzenleme) Dinamik Simülasyon Modeli Sistemin çalışma zamanına göre (bir aralık veya tüm çalışma zamanı dikkate alınarak) yapılan modellemedir. Örneğin; bir banka için kurulan bir simülasyon modeli 8 saatlik bir çalışma zamanı dikkate alınarak çalıştırılır. (Sipariş sistemleri, stok sistemleri, kuyruk sistemleri) Belirli Simülasyon Modeli Rassal değişken içermeyen simülasyon modelidir. Bu modellerde verilen GİRDİ seti için bir ÇIKTI seti vardır. Örnek olarak, tüm hastaların randevu saatlerine göre geldikleri bir dişçi muayenehanesi Olasılıklı Simülasyon Modeli Bir veya birden fazla rassal değişken içeren simülasyon modelidir. Stokastik simülasyon modeli kullanılarak elde edilen çıktı rassal olup modelin karakteristiklerinin tahminidir. Banka örneğinde, varışlar arası zaman aralığı ve servis zamanları rassal değişkenlerdir. Yrd.Doç.Dr..Ceyda ŞEN-Üretimde Simülasyon ve Uygulamaları
Sürekli vs. Kesikli Simülasyon Modelleri Sürekli vs. Kesikli Simülasyon Modelleri (Devam) Bu modeller, kesikli ve sürekli sistemlerin tanımlarına benzer şekilde tanımlanabilir. Kesikli sistemlerde, durum değişkenleri zaman içinde yalnızca kesikli noktalarda değişir. Örnek: Banka Müşteri sayısı, sisteme müşteri geldiğinde veya müşteri servisi tamamlandığında değişir. Sürekli sistemlerde, durum değişkenleri zaman boyunca sürekli olarak değişir. Örnek: Uçak örneğinde, durum değişkenleri hız ve pozisyon sürekli olarak değişir. Bir sıvının bir borudan akması veya nüfusun değişimi vb. Kesikli bir simülasyon modeli, her zaman kesikli bir sistemin simülasyonu için kullanılmaz. Belirli bir sistem için kesikli veya sürekli modelin kullanılacağına dair karar, sistem karakteristiklerinin ve çalışma amacının bir fonksiyonudur. Örneğin; çevre yolunda trafik akışının modellenmesi, arabaların hareketi ve özellikleri önemli ise kesikli bir modeldir. Arabaların hareketi bir bütün olarak dikkate alınıyorsa, trafik akışı; sürekli bir model olarak tanımlanabilir. Örneğin; her mesajın karakteristiğinin ve hareketinin çok önemli olduğu bir iletişim kanalı kesikli olarak modellenebilir. Aynı şekilde, kanaldaki mesajların akışı önemli olduğunda, sürekli simülasyon kullanarak sistem modelleme daha uygun olmaktadır. Kesikli-Sürekli Simülasyon Modelleri Simülasyon Modelleme Süreci Kesikli Sürekli Simülasyon: Gerçek hayatta karşılaşılan bazı sistemler ne tam olarak sürekli, ne de tam olarak kesiklidir. Bu nedenle hem kesikli-olay simülasyon modeli hem de sürekli simülasyon modeli ile model kurma ihtiyacı zaman zaman ortaya çıkar. Bu durumda, düzenlenen simülasyona kesikli-sürekli bileşik simülasyon modeli adı verilir. (bir üretim prosesinde sürekli bir üretim yapılırken saat. de öğle paydosu olması gibi) Problem Formüle Edilir Ve Çalışma Planlanır. Veri Toplama Bilgisayar Programını Kodla Ve Doğrula Model Kurulur Pilot Çalışma Yap N o Geçerli mi? Yes N o Yes Geçerli mi? 7 8 9 Deney Tasarımı Programı Çalıştır Çıktı Analizi Uygulama Raporlama, Sunuş ve Sonuçlar ) Problemin Tanımı ve Çalışma Planı: Simülasyon çalışması, problemin ve amacının tanımlanması ile başlamalıdır. açık olarak Alternatif sistem tasarımları ve bu alternatiflerin etkinliğini değerlendirmekiçin kriterler belirlenmelidir. Hangi aşamada hangi ekibin nasıl çalışacağı, zaman ve maliyet dikkate alınarak planlanmalıdır. ) Veri Toplama ve Model Tanımı: Üzerinde çalışılan sistemden bilgi ve veri toplanır. Bu veriler, modelde varolan rassal proseslerin olasılık dağılımlarının ve çalışma prosedürlerinin belirlenmesi için kullanılır. Örnek: BANKA Bir bankanın simülasyon çalışmasında, modelde kullanılacak varışlar arası zaman ve servis zamanı dağılımlarını belirlemek için, varış servis zamanları kaydedilir. Yrd.Doç.Dr..Ceyda ŞEN-Üretimde Simülasyon ve Uygulamaları
Ayrıca, mümkünse, sistem performans ölçütü olarak kullanılacak çıktı parametresi ile karşılaştırmak amacıyla (. adımdaki simülasyon modelinin geçerliliğinin kontrolü), müşterilerin kuyruktaki bekleme zamanları tutulmalıdır. Kurulan model sistemi tanımlayacak yeterli detaya sahip olmalıdır. Ancak, sistem elemanlarıyla model elemanları arasında birebir bir eşleme gerekli değildir. Çok detaylı bir modelin programlanması ve çalıştırılması çok pahalı olabilir. ) Geçerli mi (ModelVerification)? Modelin kurulması aşamasında, model kurucunun sistemin çalışması hakkında bilgi sahibi olan kişilerle birlikte çalışması önemlidir. Aynı zamanda, model kurucunun karar verici ile iletişim halinde olması gerekir. Modelin geçerliliğinin sağlanması ve karar vericinin modele güvenilirliğini artırmak için bu önemlidir. ) Bilgisayar programının kodlanması vedoğrulama: Model, genel amaçlı bir dil (FORTRAN, PASCAL, C v.b.) veya uygun bir simülasyon dili (SIMAN, GPSS, SLAM, v.b.) kullanılarak kodlanır. Programın doğru çalışıp çalışmadığı çeşitli yöntemler kullanılarak test edilir. ) Programın Pilot Deneyleri: Doğrulanan programın pilot denemeleri, adım daki geçerlilik testi için kullanılır. ) Geçerli mi? (Model Validation): Pilot deneylerle, bir girdi parametresinde küçük değişiklikler yapılarak modelin çıktısının duyarlılığı test edilir. Model çıktısında çok fazla değişiklik elde edilirse, girdi parametresinin tahmini yeniden, doğru bir şekilde yapılmalıdır. Pilot deneyler ile elde edilen çıktılar ile gerçek sistemden toplanan veriler istatistiksel metotlar yardımı ile karşılaştırılır. Karşılaştırma sonucu anlamlı bir farklılık bulunmaz ise, simülasyon modelinin sistemin doğru bir modellemesi olduğu söylenebilir. Değilse, model üzerinde gerekli düzenlemeler yeniden yapılmalıdır. Verification- Model doğrulama Sayısal model ayrıntılı model ile tutarlı olmalı Modeli doğru oluşturduk mu? Simülasyonun çalıştırılması ve işlemlerin gözlemlenmesi Sistemdeki parçaların veya müşterilerin hareketlerinin sağlıklı olarak görülebileceği bir hızda animasyon yapılması Model yapısının bir başka kurucu tarafından incelenmesi Modelin her adımının izlenmesi Validation Model Geçerliliği Sayısal model analiz edilen sistem ile tutarlı olmalı Doğru modeli oluşturduk mu? Sistem çıktıları simülasyon çıktılarından ayırılabilir mi? Giriş verilerini değiştirerek, kurulan modelin sonuçlarıyla sistemin kendi çıktılarını karşılaştırmak, Sistemi çok iyi bilen uzmanların sistemle model arasındaki benzerlik ve farklılıkları bulmaları, Geçmiş verilerin model üzerinde denenerek, model sonuçlarının gerçek sisteme ait sonuçlarla karşılaştırılması. 7) Deney Tasarımı : Model kurulduktan sonra, alternatif senaryolar detaylı olarak belirlenir. Deney sayısı, modeli çalıştırma süresi, deneyin tekrarlanma sayısı belirlenmelidir. 8) Deneyler : Deneylerin, oluşturulan deney tasarımına uygun olarak bilgisayar ortamında koşturulması çıktıların elde edilmesidir. 9) Çıktı Analizi : 8. adımda yapılan deneylerden elde edilen çıktıların istatistiksel analizi yapılır. Çıktı analizinde amaç; Bir sistem için - performans ölçüsünün güven aralığını oluşturmak Birden fazla sistem için- en iyi performans ölçütüne sahip olan alternatif sistemi belirlemek ) Raporlar, Sonuçlar : Modelin çalıştırılması ve sonuçlarının elde edilmesinden sonra, toplanan bilgilerin ve varılan sonuçların karar vericiye sunulması. Yrd.Doç.Dr..Ceyda ŞEN-Üretimde Simülasyon ve Uygulamaları
Elle Simülasyon DERS : SİMÜLASYONUN TEMELLERİ VE SİMÜLASYONDA BİLGİSAYAR KULLANIMI Bölüm : Elle Simülasyon Simülasyon modellerinin çoğu kuyrukları içermektedir. Şekilde bir üretim tesisinin bir kısmını gösteren basit bir model örneği görülmektedir. Parçalar sisteme geldikten sonra tek bir makinede işlem görmekte ve sistemden ayrılmaktadır. Başlangıçta (t=) sistemde parça bulunmamakta ve makine boş (empty and idle assumption) Zaman birimi: dakika dakikalık simülasyon Çıktı Performans Ölçümleri Çıktı Performans Ölçümleri (devam) Üretilen toplam parça sayısı (Total production of parts over the run) (P) Kuyruktaki parçaların ortalama bekleme süresi (Average waiting time of parts in queue): N N = kuyrukta beklemesi tamamlanmış parça sayısı (no. WQi of parts completing queue wai i WQ i = i. parçanın kuyrukta bekleme süresi (waiting N time in queue of ith par Kuyrukta bekleyen parçaların maksimum bekleme süresi (Maximum waiting time of parts in queue): max WQi i,..., N Kuyrukta bekleyen ortalama parça sayısı (Time-average number of parts in queue): Q( dt Q( = t anında kuyruktaki parça sayısı (number of parts in queue at time Kuyruktaki maksimum parça sayısı (Maximum number of parts in queue): max Q( t Parçaların sistemde geçirdiği ortalama ve maksimum toplam süre (Average and maximum total time in system of parts): P TSi TS i = i parçasının sistemde geçirdiği toplam süre i, max TS (time in system of part i) i P i,..., P Çıktı Performans Ölçümleri (devam) Elle Simülasyon: Hazırlık Makine kullanımı (Utilization of the machine) B( Q( Arrival times of custs. in queue Event calendar (Entity No, Time, Type) B( dt, B( t anında makine meşgulse t anında makine boşsa (N) Q( graph B( graph ( WQ) Q( B( Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Yrd.Doç.Dr..Ceyda ŞEN-Üretimde Simülasyon ve Uygulamaları
Elle Simülasyon: t=. Başlangıç Elle Simülasyon: t=.. Parçanın gelişi. B( Q(. custs. in queue [,., Arr] <empty> [,., End] Q(. B(.. B( Q(. custs. in queue [,.7, Arr] <empty> [,.9, Dep] [,., End] Q(. B(. Q( graph Q( graph B( graph B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Elle Simülasyon: t=.7. Parçanın gelişi.7 B( Q(. custs. in queue [,.9, Dep] (.7) [,.8, Arr] [,., End] Q(. B(.7 Elle Simülasyon: t=.9. Parçanın ayrılışı.9 B( Q(.7 custs. in queue [,.8, Arr] <empty> [,., Dep] [,., End] Q(.7 B(.9 Q( graph Q( graph B( graph B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Elle Simülasyon: t=.8. Parçanın gelişi Elle Simülasyon: t=.79. Parçanın gelişi.8 B( Q(.7 custs. in queue [,.79, Arr] (.8) [,., Dep] [,., End] Q(.7 B(.8.79 B( Q(.7 custs. in queue [,., Arr] (.79,.8) [,., Dep] [,., End] Q(.88 B(.79 Q( graph Q( graph B( graph B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Yrd.Doç.Dr..Ceyda ŞEN-Üretimde Simülasyon ve Uygulamaları
Elle Simülasyon: t=.. Parçanın gelişi. B( Q(.7 custs. in queue [,., Dep] (.,.79,.8) [, 8.9, Arr] [,., End] Q(. B(. Elle Simülasyon: t=.. Parçanın ayrılışı. B( Q(.7 custs. in queue [, 8., Dep] (.,.79) [, 8.9, Arr] [,., End] Q(.87 B(. Q( graph Q( graph B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Elle Simülasyon: t=8.. Parçanın ayrılışı 8. B( Q( 7. custs. in queue [,.7, Dep] (.) [, 8.9, Arr] [,., End] Q(. B( 8. Elle Simülasyon: t=.7. Parçanın ayrılışı.7 B( Q(.7 custs. in queue [, 7., Dep] () [, 8.9, Arr] [,., End] Q(.7 B(.7 Q( graph Q( graph B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Elle Simülasyon: t=7.. Parçanın ayrılışı Elle Simülasyon: t=8.9. Parçanın gelişi 7. B( Q(.7 Arrival times of custs. in queue () Q(.7 Event calendar [, 8.9, Arr] [,., End] B( 7. 8.9 B( Q(.7 Arrival times of custs. in queue () Q(.7 Event calendar [7, 9.9, Arr] [,., End] [,., Dep] B( 7. Q( graph Q( graph B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Yrd.Doç.Dr..Ceyda ŞEN-Üretimde Simülasyon ve Uygulamaları
Elle Simülasyon: t=9.9 7. Parçanın gelişi Elle Simülasyon: t=. ; The End 7 9.9 B( Q(.7 custs. in queue [,., End] (9.9) [,., Dep] [8,.9, Arr] Q(.7 B( 7.7 7. B( Q(.7 custs. in queue [,., Dep] (9.9) [8,.9, Arr] Q(.78 B( 8. Q( graph Q( graph B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... B( graph Interarrival times.7,.,.7,.,.8,.7,.,.,.7,.,... Service times.9,.7,.9,.,.,.,.7,.,.7,.8,... Elle Simülasyon Tamamlanmış Tablo Elle Simülasyon: Bitiriş Ortalama kuyrukta bekleme süresi (Average waiting time in queue): Totalof timesin queue No.of partsin queue.7. minutes per part Kuyruktaki ortalama parça sayısı (Time-average number in queue): Q( curve.78.79 part Final clock value Makine kullanım oranı: B( curve 8..9 Final clock value Yrd.Doç.Dr..Ceyda ŞEN-Üretimde Simülasyon ve Uygulamaları 7