Simülasyon motoru nasıl çalışır
Simülasyon motorunu anlama
ProcessMind, süreçlerinizi modellemek için ayrık olay simülasyonu (DES) motoru kullanır. Bu motorun nasıl çalıştığını anlamanız, simülasyonları daha etkili yapılandırmanıza ve sonuçları doğru yorumlamanıza yardımcı olur.
Ayrık olay simülasyonu nedir?
Ayrık olay simülasyonunda sistem durumu yalnızca belirli olaylarda değişir. Saat bir olaydan diğerine atlar ve olaylar arasında hiçbir şey gerçekleşmez. Bu yaklaşım iş süreçleri için idealdir, çünkü:
- Etkinliklerin belirli başlangıç ve bitiş zamanları vardır
- Kaynaklar belirli anlarda tahsis edilir ve serbest bırakılır
- Vakalar tanımlı noktalarda gelir ve tamamlanır
Neden ayrık olaylar?
Fizik veya akışkan dinamiğinde kullanılan sürekli simülasyonun aksine, iş süreçlerini anbean modellemek gerekmez. Bir kredi başvurusu “gönderildi” durumundan “onaylandı” durumuna kademeli olarak geçmez. Durum, belirli olaylarda değişir.
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ü | Ne olur |
|---|---|
| Vaka gelişi | Yeni bir vaka başlangıç olayından 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 gelişi
Vakalar, BPMN modelinizdeki Start Event üzerinden simülasyona girer. Geliş örüntüsünü vaka oluşturma dağılımı belirler.
Varsayılan geliş örüntüsü
Varsayılan olarak vakalar, saatte 1 vaka hızındaki Poisson dağılımını izleyerek gelir. Bu, birçok iş sürecinde görülen gerçekçi ve rastgele vakalar arası geliş süreleri oluşturur.
Gelişleri özelleştirme
Farklı geliş örüntülerini, Dağılımlar belgelerinde açıklanan dağılımları kullanarak yapılandırabilirsiniz.
Süreç boyunca vaka akışı
Sequence Flowlar
Bir vaka bir öğeyi tamamladığında, çıkan Sequence Flowu hemen izler. Yalnızca bir çıkış yolu varsa vaka bu yolu otomatik olarak izler.
Gateway davranışı
Gatewayler vakaların dallanma ve birleşme biçimini kontrol eder:
| 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 ele alınır ve otomatik olarak normalleştirilir. |
| AND (Parallel) | Tüm çıkış yolları aynı anda izlenir. Vaka paralel tokenlara ayrılır. |
| OR (Inclusive) | En az bir yolun seçilmesi garanti edilerek yollar arasından rastgele seçim yapılır. |
| Event-Based | Kullanılabilir olaylar arasından rastgele seçim yapılır. |
Olasılıkları ayarlama
XOR Gatewayler için her çıkış akışına olasılık atarsınız. Bunlar göreli ağırlıklardır:
- Akışları 70, 20 ve 10 olarak ayarlarsanız bunlar %70, %20 ve %10 olarak normalleştirilir
- Akışları 7, 2 ve 1 olarak ayarlarsanız aynı sonucu elde edersiniz
- Atanmamış akışlar kalan yüzdeyi kullanır
Etkinlik yürütme
Bir vaka bir Taska, yani etkinliğe ulaştığında motor şu sırayı izler:
1. Kaynak kullanılabilirliğini kontrol edin
Gerekli kaynakta kullanılabilir kapasite var mı?
2. Gerekirse kuyruğa alın
Kaynaklar kullanılabilir değilse vaka bekleme kuyruğuna girer. ProcessMind varsayılan olarak FIFO (First In, First Out) sıralamasını kullanır. Vakalar geliş sırasına göre işlenir.
3. Kaynakları tahsis edin
Kullanılabilir olduğunda gerekli kaynak birimleri bu vaka için ayrılır.
4. İşlem süresini örnekleyin
Motor, yapılandırılmış 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 döner.
Minimum işlem süresi
Benzersiz zaman damgaları ve gerçekçi davranış sağlamak için tüm etkinliklerin minimum süresi 1 saniyedir. Süresi sıfır olan bir dağılımda bile etkinlikler en az bu kadar sürer.
Atlanma olasılığı
Etkinlikler için atlanma olasılığı (%0-100) yapılandırılabilir. Bir etkinlik atlandığında:
- Vaka hemen sonraki öğeye ilerler
- Kaynak tüketilmez
- Minimum 1 saniye dışında zaman geçmez
- Etkinlik, günlükte minimum süreyle görünür
Bu özellik, adımların zaman zaman atlandığı gerçek dünya senaryolarını modeller.
Zaman yönetimi
Simülasyon saati
Simülasyon, olaydan olaya ayrık biçimde ilerleyen sanal bir saat kullanır. Sonraki olay 10:35te ve geçerli saat 10:30sa saat doğrudan 10:35e atlar.
Zaman birimleri
Tüm zamanlar dahili olarak tutarlı birimlere dönüştürülür. Süreleri şu birimlerle belirtebilirsiniz:
- Saniye
- Dakika
- Saat
- Gün
Geliş oranları ayrıca saat, gün, hafta, ay veya yıl başına belirlenir.
Periyodiklik 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ı geliş oranları
- 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 belgelerine bakın.
Kaynak yönetimi
Kaynak havuzları
Her kaynak için, aynı anda işleyebileceği vaka sayısını belirleyen bir kapasite tanımlanır.
Kuyruk yönetimi
Talep kapasiteyi aştığında vakalar kuyrukta bekler. ProcessMind varsayılan olarak FIFO (First In, First Out) sıralamasını kullanır ve vakaların geliş sırasına göre işlenmesini sağlar.
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 |
| Etkinlik | BPMN öğesinin adı |
| Başlangıç zaman damgası | Etkinliğin başladığı zaman |
| Tamamlanma zaman damgası | Etkinliğin tamamlandığı zaman |
| Kaynak | Etkinliği gerçekleştiren kaynak |
| Öznitelikler | O andaki vaka öznitelikleri |
Bu günlük standart Event Log biçimlerini izler ve tüm ProcessMind araçlarıyla analiz edilebilir.
Simülasyon sınırları
| Sınır | Değer | Amaç |
|---|---|---|
| Maksimum olay | 5.000.000 | Kontrolden çıkan simülasyonları önler |
| Minimum süre | 1 saniye | Benzersiz zaman damgaları sağlar |
Önce küçük başlayın, sonra ölçeklendirin
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 davrandığından emin olduğunuzda daha uzun dönemlere geçin.