ie 303t sistem benzetimi · 2016-10-07 · ders 1 ie 303t sistem benzetimi “a very large part of...
TRANSCRIPT
D E R S 1
IE 303T Sistem Benzetimi
“A very large part of space-time must be investigated, if reliable results are to be obtained”, A. Turing
07-Oct-16
1
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Simulasyona Giriş
Dersin İçeriği
Geçen Dersin Tekrarı
Banka Şubesi Simulasyonu
Sistem ve Bileşenleri.
Algoritma ve Pseudo-Kod
Kesikli veya Sürekli Sistemler
Basit Bir Örnek: Bakkal
07-Oct-16
2
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Geçen Ders...
Simulasyon gerçek sistemin, onun önemli bileşenleri ile (bilgisayar üzerindeki) dinamik bir benzerini kurmaktır.
Sistemin temsilini kullanarak, “eğer...” ile başlayan sorular sorarak sistemi çalışıyoruz.
07-Oct-16
3
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Geçen Ders
Benzetim modelleri sistem üzerinde çeşitli deneyler yaparak, sistemi anlama ve onunla ilgili sonuçlar çıkartma uğraşıdır.
Sistemin yapay bir tarihçesini yaratıp zaman üzerindeki davranışını çalışıyoruz.
07-Oct-16
4
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Banka Şubesi Örneği
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
5
Endüstri Mühendisi olarak, bekleme zamanlarından şikayet eden müşterilerin olduğu bir banka şubesinin servis kalitesinde iyileştirme yapacak bir çalışmaya atandınız.
Bankada 2 adet gişe bulunmakta Gişe 1: Deneyimli Gişe 2: Genç ve deneyimsiz
Gelen müşteriler Karmaşık, uzun zaman alan işlemli (L) Basit, kısa zaman alan işlemli (S)
olarak ikiye ayrıldı.
Banka Şubesi Örneği
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
6
Sistemdeki karar kriteri: Müşterilerin ortalama bekleme zamanı
Yeni gelen müşteri en kısa bulduğu kuyruğa katılır, eğer iki kuyruk da eşitse rastgele seçer (R.S.)
Müşteri Populasyonu
Gişe 1
Gişe 2
Banka Şubesi Örneği
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
7
Gelecek 8 müşterinini varış ver servis zamanlarını bildiğimizi varsaysalım…
Müşterilerin rastgele kuyruk seçimleri: 1,2,1,1,2
Müşteri İnkdeksi
Varış Müşteri Tip Servis Zaman Kısa Uzun
1 9:04 L 4 6 2 9:06 S 5 5 3 9:10 L 11 15 4 9:13 S 5 5 5 9:16 S 7 7 6 9:17 L 9 16 7 9:25 S 5 5 8 9:28 L 10 15
Banka Şubesi Örneği
Müşterilerin varış zamanları ve servis sürlerini bir zaman çizgisi üzerinde gösterirsek....
Kuyruklardaki müşteri sayısını bir grafikte gösterirsek...
Sadece müşterilerin rassal seçimlerinin (R.S.) değişmesi bile yeni bir yapay tarihçe yaratır!
07-Oct-16
8
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Banka Şubesi Örneği
R. S: 1,2,1,1,1,2 R.S: 2,2,2,2,2,
0
1
2
3
9.00 9.05 9.10 9.15 9.20 9.25 9.30 9.35 9.40
Ku
yr
uk
ta B
ek
ley
en
Kiş
i
Gişe#1
0
1
2
3
9.00 9.05 9.10 9.15 9.20 9.25 9.30 9.35 9.40
Ku
yr
uk
ta B
ek
ley
en
Kiş
i
Gişe#2
0
1
2
3
9.00 9.05 9.10 9.15 9.20 9.25 9.30 9.35 9.40
Ku
yr
uk
tak
Be
ke
ley
n K
işi
Gişe#1
0
1
2
3
9.00 9.05 9.10 9.15 9.20 9.25 9.30 9.35 9.40
Ku
yr
uk
ta B
ek
ele
yn
Kiş
i
Gişe#2
9
Banka Şubesi Örneği
R.S.: 1,2,1,1,1,2, toplam bekleme zamanı 10 dk.
R.S.: 2,2,2,2,2, toplam bekleme zamanı 14 dk….
Hangi seçim dizisinin gerçekleşeceğini nereden biliyoruz??
07-Oct-16
10
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Banka Şubesi Örneği
Bilemeyiz... Dolayısıyla sistemi N defa simüle etmeliyiz...
0
1
2
3
4
9.00 9.05 9.10 9.15 9.20 9.25 9.30 9.35 9.40
Ku
yr
uk
tak
i İn
sa
n S
ay
ısı
Gişe#1
SP1
SP2
SP3
SP4
SP5
SP6
SP7
SP8
SP9
SP10
Aynı sistemin 10 farklı R.S. ile tarihçesi (N=10)
07-Oct-16
11
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
SP: Sample path (tarihçe)
Banka Şubesi Örneği
Ayrıca örneğimizde müşterilerin geliş ve servis zamanlarını biliyoruz diye varsaydık...
Ama gerçekten biliyor muyuz??
07-Oct-16
12
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Müşteri İnkdeksi
Varış Müşteri Tip Servis Zaman Kısa Uzun
1 9:04 L 4 6 2 9:06 S 5 5 3 9:10 L 11 15 4 9:13 S 5 5 5 9:16 S 7 7 6 9:17 L 9 16 7 9:25 S 5 5 8 9:28 L 10 15
Sistem Bileşenleri (Simülasyon Modelinde)
Entity (birim, obje): sistemdeki ilgilenilen objedir. Attribute (özellik): objenin bir özelliğidir Activity (aktivite): verilen bir uzunluktaki zaman periyodudur. state (durum): verilen bir anda sistemin fotoğrafıdır
Model her zaman İLK DURUMda başlar (INITIAL STATE). state variables (durum değişkenleri): sistemi betimlemek için
kullanılan değişkenlerdir event (olay): sistemin dutumda oluşan ani değişimlerdir endogenous events (endojen olaylar): sistem içinde değişen ve
değiştirilebilen olaylardır Exogenous events (egzojen olaylar): sistemi etkileyen fakat
değiştirileyen olaylardır. Sistem sınırının dışındadırlar.
07-Oct-16
13
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Sistem Bileşenleri (Simülasyon Modelinde)
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
14
Sistemin bileşenlerini banka şubesi örneğinde gösterelim:
Sistem Bileşenleri (Simülasyon Modelinde)
Sistemin bileşenlerini banka şubesi örneğinde gösterelim: obje: bankadaki müşterileri
Özellik: müşteri tipi (uzun vs kısa)
aktivite: müşterilere servis
durum: kuyrukta bekleyen müşteri
Durum değişkenleri: kuyrukta bekleyen sayısı ve zaman…
olay: müşterilerin varması ve ayrılması
Endojen olay: Müşterilerin servis alıp ayrılması
Egzojen olay: Müşteri varışları…
07-Oct-16
15
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Simulasyon Ne Zaman Uygundur?
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
16
1. Simulasyon bir sistemdeki içsel etkileşimlerin çalışılmasını ve
üzerinde deneyler yapılabilmesini sağlar. 2. Organizasyonel, bilgisel ve çevresel değişiklikler simule
edilebilir. 3. Simülasyon modeli geliştirilirken ekstra bilgi kazanılabilir. 4. Simülasyon girdilerini değiştirip sonuçları gözlemek sistem
hakkında öğreticidir. 5. Simülasyon ile yeni dizayn ve politikaların olası sonuçları
hakkında bilgi toplanabilir. 6. Simülasyon modelleri insanları maliyetsiz bir şekilde
eğitebilmek için kullanılır. 7. Modern sistemlerin karmaşıklığından dolayı, bir çok sistem
ancak simülasyon ile modellenebilir.
Simülasyon Ne Zaman Kullanılmaz?
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
17
1. Sistem basitçe çözülebiliyor veya cevabı aşikar ise
2. Problem analitik olarak çözülebiliryorsa
3. Direkt olarak deneyler yapmak daha kolaysa
4. Maliyetlerdeki düşüş, çalışmanın maliyetinden fazla ise
5. Kaynaklar veya zaman musait değilse
6. Girdi verisi yoksa
7. Doğrulama ve sağlama (validation and verification) için zaman ve kaynak yoksa
8. Eğer sistem davranışı tanımlanamaz biçimde karmaşıksa
Simülasyonun Avantajları
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
18
Simülasyon çıtkıları direk olarak gerçek sistem ile eşleştirilebilir
Sistem üzerinde farklı senaryolar denenerek iyi bir politika ve yönetim kuralı önerilebilir.
Yeni politika ve kurallar, makina ve prosedürler denenebilir.
“eğer...” soruları cevaplanabilir
Simülasyonun Dezavantajları
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
19
Simülasyon modeli kurma özel bir eğitim gerektirmektedir. Genel olarak simülasyon zamanla ve deneyimle öğrenilir. İki farklı kişinin kurduğu model aynı olmaz.
Benzetim sonuçlarının yorumlanması zor olabilir.
Simülasyon modellemesi ve analizi zaman alıcı ve pahalı olabilir.
Algoritma & Pseudo-Kod
Algoritma bilgisayar tarafından yapılan mantıksal ifade ve hesaplamalardır.
Pseudo-kod ise bilgisayar programının uygulamasını programlama dillerinden bağımsız olarak verir...
07-Oct-16
20
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Algoritma
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
21
Algoritm 780-850 MS. arasında yaşamış İranlı matematikçi El-Harezmi’nin isminden gelmektedir.
Algoritmalar genelde detaylara girmeden programın genel yapısını verir. Genelde akış şemaları ile ifade edilirler:
Akış Çizgisi
Terminal
Karar Noktası
Girdi-Çıktı Noktası
Algoritma
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
22
Örnek 1: 32 fonksiyonunun değerini hesaplayacak programın algoritmasını yazalım
Örnek 2: sin(x) fonksiyonun x=kπ/4,
için çözen programın algoritmasını yazalım.
Örnek 3: Verilan a, b ve c>0 değerleri için
[-c,∞) aralığındaki tüm tamsayıları deneyerek çözümü veren tamsayıları bulacak programın algoritmasını yazalım.
Banka Şubesi Simülasyonu Algoritması
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
23
Banka şubesi örneğini N defa simüle edecek bir algoritmayı yazalım.
İki temel işlem var: 1) Her bir müşteri için
geliş zamanı ve servis zamanı yaratılması
2) Kuyruğun durumuna
göre servisin başlama ve bitiş zamanının hesaplanması
Banka Şubesi Simülasyonu Pseudo-Kodu
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
24
Başla; For i=1 to N Müşteri(i) İçin Geliş ve Servis Zamanı Yarat; Eğer Gişe 1 veya Gişe 2 Boş mu?
Evet: {Servise Başla; Çıkış Zamanını Hesapla;} Hayır:
{Kuyruklarda Bekleyen Kişileri Say; Kuyruklarda Bekleyenler Eşit mi?
• Evet: Rastgele Bir Kuyruk Seç; • Hayır: En kısa kuyruğa katıl;
Servise Başlama Zamanını Hesapla; Çıkış Zamanını Hesapla;}
End For; Tüm Müşteriler İçin Ortalama Bekleme Zamanı Hesapla; Bitir;
Banka Şubesi Simülasyonu (N Tekrar)
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
25
0
1
2
3
4
9.00 9.05 9.10 9.15 9.20 9.25 9.30 9.35 9.40
Nu
mb
er
of
Pe
op
le
Teller#1 SP1
SP2
SP3
SP4
SP5
SP6
SP7
SP8
SP9
1. Simülasyon parametrelerini ayarla 2. For i=1 to M,
a. N Müşteri için Yapay Tarihçe Yarat b. Ortalama Bekleme Zamanı(i) Hesapla;
3. End For 4. Ortalama Bekleme Zamanlarının Ortalamasını
Al.
ALGORİTMA PSEUDO-KOD
Kesikli ve Sürekli Sistemler
Kesikli sistemler sadece kesikli anlarda durum değişkeninin değiştiği sistemlerdir.
“olaylar” sistemi oluşturur.
Örn: Banka Şubesi örneği bir kesikli sistemdir
07-Oct-16
26
IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
Kesikli ve Sürekli Sistemler
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
27
Sürekli sistem durum değişkeninin sürekli olarak değiştiği sistemlerdir.
Zaman içindeki dinamikler sistemi yönetir
Barajdaki su miktarı sürekli bir değişkendir.
Pratikte sistemler nadiren sadece kesikli veya sürekli karakter gösterirler. Bu sınıflandırma daha çok sistemin en önemli bileşenlerine göre yapılır.
Bakkal Örneği
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
28
Tek bir kasası olan küçük bir bakkalı ele alalım. Müşteriler rassal zamanlarda varmakta ve her bir müşteri gene rassal bir zaman harcayarak sistemi terk etmektedir.
Rassal geliş ve servis zamanlarını oluşturmak için dağılım tabloları ve bir sayı dizisi kullanılacaktır.
Bakkal Örneği
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
29
Varışlar için 3 hane, servisler için ise 2 hane kullanıp aşağıdaki tablolardan varış ve servis zamanları yaratacağız:
Bakkal Örneği
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
30
Gözlemlenecekler:
Bakkal Örneği
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
31
Simülasyon tablosunu verilen sayı dizisine göre dolduralım: 78129893466612313846
Bakkal Örneği
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
32
Şimdi de bizim belirleyeceğimiz sayı dizisi için simülasyon tablosu oluşturalım:
Bakkal Örneği
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
33
Olaylar arasındaki matematiksel ilişki aşağıdaki gibi verilebilir:
Bakkal Örneği: Gözlemlenebilecek Çıktılar
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
34
Performans ölçütleri Ortalama bekleme zamanı= Toplam bekleme zamanı / müşteri
sayısı
Kuyruklama Oranı= Kuyrukta bekleyen müşteri/ Toplam Müşteri
Kullanım Oranı: Toplam Meşgul Zaman/ Toplam Zaman
Ort. Servis Süresi= Toplam Servis Süresi/ Toplam Müşteri
Ort. Varışlar Arası Süre
Ort. Bekleme Zamanı
Ort. Sistemde Kalma Süresi
Ort. Sistemde Kalma Süresi= Ort. Bekleme Zamanı + Ort.Servis Süresi
07-Oct-16 IE-303, Güz 2016, Yrd Doç. Dr. M. Hekimoglu
35
Ders Sonu
Sonraki Ders: Chapter 2: Simulation Examples in a Spread Sheet