Simülasyon motoru nasıl çalışır?
Simülasyon motorunu tanıyın
ProcessMind, süreçlerinizi modellemek için kesikli olay simülasyonu (DES) motoru kullanır. Motorun nasıl çalıştığını anlamak, simülasyonları daha doğru yapılandırmanıza ve sonuçları doğru yorumlamanıza yardımcı olur. Motoru kendi sürecinizde ücretsiz denemeyle deneyebilirsiniz.
Kesikli olay simülasyonu nedir?
Kesikli olay simülasyonunda sistemin durumu yalnızca belirli olaylarda değişir: saat bir olaydan diğerine atlar, iki olay arasında hiçbir şey olmaz. Bu yaklaşım iş süreçleri için uygundur çünkü:
- Etkinliklerin belirgin başlangıç ve bitiş zamanları vardır
- Kaynaklar belirli anlarda tahsis edilir ve serbest bırakılır
- Vakalar belirli noktalarda sürece girer ve süreci tamamlar
Neden kesikli olaylar?
Fizik veya akışkanlar dinamiğinde kullanılan sürekli simülasyonun aksine, iş süreçlerini her anı modelleyerek incelemek gerekmez. Bir kredi başvurusu “gönderildi” durumundan “onaylandı” durumuna aşamalı olarak geçmez; belirli olaylarda durum değiştirir.
Temel olay döngüsü
Simülasyon motoru basit bir döngü izler:
1. Initialize: Set up starting conditions
2. Get Next Event: Find the earliest scheduled event from the priority queue
3. Advance Time: Move simulation clock to that event's time
4. Process Event: Handle the event (start activity, complete activity, etc.)
5. Schedule New Events: Based on what happened, add new events
6. Repeat: Continue until end time or max events reached (5,000,000)
7. Output: Generate the complete event log Olay türleri
Simülasyon çeşitli olay türleri oluşturur ve işler:
| Olay türü | Gerçekleşen işlem |
|---|---|
| Vaka girişi | Yeni bir vaka, başlangıç olayında sürece girer |
| Etkinlik başlangıcı | Vaka bir etkinliği yürütmeye başlar (kaynaklar tahsis edilir) |
| Etkinlik tamamlanması | Vaka bir etkinliği tamamlar (kaynaklar serbest bırakılır) |
| Gateway değerlendirmesi | Bir karar noktası, izlenecek yolu veya yolları belirler |
| Vaka tamamlanması | Vaka bir bitiş olayına ulaşır |
Vaka oluşturma ve sürece giriş
Vakalar, BPMN modelinizdeki Start Events aracılığıyla simülasyona girer. Giriş örüntüsünü vaka oluşturma dağılımı belirler.
Varsayılan giriş örüntüsü
Varsayılan olarak vakalar, saatte 1 vaka hızında Poisson dağılımına göre gelir. Böylece birçok iş sürecinde görülen, gerçekçi ve rastgele vakalar arası süreler oluşur.
Girişleri özelleştirme
Farklı vaka geliş örüntülerini, Dağılımlar dokümantasyonunda açıklanan dağılımlarla yapılandırabilirsiniz.
Süreçte vaka akışı
Sequence Flow akışları
Bir vaka bir öğeyi tamamladığında, hemen giden Sequence Flow akışını izler. Yalnızca bir çıkış yolu varsa vaka bu yolu otomatik olarak izler.
Gateway davranışı
Gatewayler, vakaların dallanma ve birleşme biçimini belirler:
| Gateway türü | Davranış |
|---|---|
| XOR (Exclusive) | Olasılık ağırlıklı rastgele seçimle tam olarak bir çıkış yolu seçilir. Olasılıklar göreli ağırlık olarak değerlendirilir ve otomatik olarak normalize edilir. |
| AND (Parallel) | Tüm çıkış yolları aynı anda izlenir. Vaka, paralel tokenlara ayrılır. |
| OR (Inclusive) | Yollar rastgele seçilir ve en az bir yolun izlenmesi garanti edilir. |
| Event-Based | Kullanılabilir olaylar arasından rastgele seçim yapılır. |
Olasılıkları ayarlama
XOR gatewaylerde her çıkış akışı için olasılık belirlersiniz. Bu değerler göreli ağırlıklardır:
- Akışlara 70, 20 ve 10 değerlerini verirseniz, bunlar %70, %20 ve %10 olarak normalize edilir
- Akışlara 7, 2 ve 1 değerlerini verirseniz de aynı sonucu elde edersiniz
- Atanmamış akışlar için kalan yüzde kullanılır
Etkinlik yürütme
Bir vaka bir göreve (etkinliğe) ulaştığında motor şu adımları izler:
1. Kaynak kullanılabilirliğini kontrol edin
Gerekli kaynağın kullanılabilir kapasitesi var mı?
2. Gerekirse kuyruğa alın
Kaynaklar kullanılabilir değilse vaka bekleme kuyruğuna girer. ProcessMind, varsayılan olarak FIFO (ilk giren, ilk çıkar) sıralamasını kullanır: vakalar geliş sırasına göre işlenir.
3. Kaynakları tahsis edin
Gerekli kaynak birimleri kullanılabilir olduğunda bu vaka için ayrılır.
4. İşlem süresini belirleyin
Motor, yapılandırılan işlem süresi dağılımından bir değer seçer. Bu değer, etkinliğin ne kadar süreceğini belirler.
5. Tamamlanma olayını planlayın
Olay kuyruğuna current_time + processing_time zamanında bir tamamlanma olayı eklenir.
6. Kaynakları serbest bırakın
Tamamlanma olayı gerçekleştiğinde kaynaklar, diğer vakaların kullanabilmesi için havuza geri verilir.
En düşük işlem süresi
Benzersiz zaman damgaları ve gerçekçi davranış sağlamak için tüm etkinliklerin süresi en az 1 saniyedir. Dağılım sıfır süre üretse bile etkinlikler en az bu kadar sürer.
Atlama olasılığı
Etkinlikler için atlama olasılığı (%0-100) yapılandırılabilir. Bir etkinlik atlandığında:
- Vaka hemen sonraki öğeye geçer
- Kaynak kullanılmaz
- En az 1 saniyelik süre dışında zaman geçmez
- Etkinlik, günlükte çok kısa bir süreyle görünür
Bu ayar, bazı adımların zaman zaman atlandığı gerçek durumları modeller.
Zamanı işleme
Simülasyon saati
Simülasyon, olaydan olaya kesikli biçimde ilerleyen sanal bir saat kullanır. Örneğin, sıradaki olay 10:35’te ve geçerli saat 10:30’da ise saat doğrudan 10:35’e atlar.
Zaman birimleri
Tüm süreler, sistem içinde tutarlı birimlere dönüştürülür. Süreleri şu birimlerle belirtebilirsiniz:
- Saniye
- Dakika
- Saat
- Gün
Giriş hızları ayrıca saat, gün, hafta, ay veya yıl başına olacak şekilde belirlenir.
Dönemsellik ve zaman aralıkları
Parametreler, simülasyon zamanına göre değişebilir. Örneğin:
- Hafta içi ve hafta sonu için farklı giriş hızları
- Sabah ve öğleden sonra vardiyaları için farklı işlem süreleri
- Yoğun saatlerde farklı kaynak kapasitesi
Yapılandırma ayrıntıları için Periyodiklik dokümantasyonuna göz atın.
Kaynak yönetimi
Kaynak havuzları
Her kaynak için, aynı anda işleyebileceği vaka sayısını belirten bir kapasite tanımlanır.
Kuyruk yönetimi
Talep kapasiteyi aştığında vakalar kuyrukta bekler. ProcessMind, varsayılan olarak FIFO (ilk giren, ilk çıkar) sıralamasını kullanır; böylece vakalar geliş sırasına göre işlenir.
Event Log oluşturma
Simülasyon çalışırken her etkinlik yürütmesi, çıktı Event Loguna kaydedilir:
| Alan | Açıklama |
|---|---|
| Vaka kimliği | Her vaka için benzersiz tanımlayıcı (sıralı olarak oluşturulur) |
| Aktivite | BPMN öğesinin adı |
| Başlangıç zaman damgası | Etkinliğin başladığı zaman |
| Tamamlanma zaman damgası | Etkinliğin tamamlandığı zaman |
| Kaynak | Etkinliği yürüten kaynak |
| Öznitelikler | O noktadaki vaka öznitelikleri |
Bu günlük, standart Event Log biçimlerini kullanır ve ProcessMind araçlarının tümüyle analiz edilebilir.
Simülasyon sınırları
| Sınır | Değer | Amaç |
|---|---|---|
| En fazla olay | 5.000.000 | Simülasyonun kontrolsüz biçimde uzamasını önler |
| En düşük süre | 1 saniye | Benzersiz zaman damgaları sağlar |
Önce küçük başlayın, sonra ölçeği büyütün
Yeni bir simülasyon kurarken yapılandırmanızı doğrulamak için kısa bir zaman aralığıyla (birkaç gün veya hafta) başlayın. Modelin doğru çalıştığından emin olduğunuzda daha uzun aralıklara geçin.
Sonraki adımlar
Süreçlerinizi daha iyi tasarlayın. Bağlantılı bir mimari kurun. Kontrolü elinizde tutun.
Kredi kartı gerekmeden, beklemeden hemen erişin. Kuruluşunuzdaki çalışma biçimini net ve birbiriyle bağlantılı süreç tasarımlarına dönüştürün.
Süreç mimarinizi oluşturun, sahiplik ve kontrolleri tanımlayın; rol ve sorumlulukları her düzeyde uyumlu hâle getirin.
Ücretsiz denemeyi başlatın; süreçlerinizi yönetmek ve sürekli iyileştirmek için güvenilir bir temel oluşturun.