Bu Sayfada

Simülasyon Motoru Nasıl Çalışanşır?

Simülasyon Engine’ini Anlamak

ProcessMind, süreçlerinizi modellemek için discrete event simulation (DES) motoru kullanır. Engine’in nasıl çalıştığını bilmek, simülasyonu daha iyi yapılandırıp sonuçları doğru yorumlamanızı sunar.


Discrete Event Simulation Nedir?

Discrete event simulation’da sistem sadece belli event’larla değişir — saat bir event’ten diğerine atlar, arada hiçbir şey olmaz. Bu yöntem iş süreçleri için idealdir, çünkü:

  • Aktivitelerin belirgin başlangıç ve bitiş zamanları olur
  • Resource’lar belli anlarda atanır ve bırakılır
  • Case’ler belli anlarda başlar ve biter

Neden Discrete Event?

Sürekli simülasyondan (ör. fizik, akışkanlar dinamiği) farklı olarak, iş süreçlerinde anlık modelleme gerekmez. Bir kredi başvurusu “submitted”dan “approved”a yavaşça geçmez; durumu belirli event’lerle bir anda değişir.


Temel Event Döngüsü

Simülasyon motoru’i basit ama güçlü bir döngüyü takip eder:

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 (2,000,000)
7. Output: Generate the complete event log

Event Türleri

Simülasyon aşağıdaki event türlerini üretir ve işler:

Event TipiNe Olur
Case ArrivalBir case process’e start event ile giriş yapar
Activity StartCase bir aktiviteyi başlatır (resource atanır)
Activity CompleteCase bir aktiviteyi bitirir (resource boşa çıkar)
Gateway EvaluationKarar noktasında yol seçilir
Case CompleteCase end event’e ulaşır

Case Oluşumu ve Gelişi

Case’ler simülasyona BPMN modelinizdeki Başlangıç Olayıs ile girer. Geliş modeli, case generation distribution ile belirlenir.

Varsayılan Geliş Modeli

Varsayılan olarak case’ler Poisson distribution ile saatte 1 case olarak gelir. Bu, çoğu iş sürecindeki rastgele ve gerçekçi gelişleri yansıtır.

Gelişleri Özelleştir

Farklı geliş modellerini Distributions  sayfasında anlatılan dağılımlarla ayarlayabilirsiniz.


Process İçindeki Case Akışı

Sequence Flow’lar

Bir case bir elemanı tamamladığında hemen çıkış akış bağlantısı’unu kullanır. Tek bir yol varsa otomatik gider.

Gateway Davranışı

Gateway’ler, case’lerin nasıl ayrılıp birleştiğini belirler:

Gateway TipiDavranış
XOR (Exclusive)Olasılık ağırlıklı random seçimle tek bir çıkış yolu seçilir. Olasılıklar ağırlık olarak alınır ve otomatik normalleştirilir.
AND (Parallel)Tüm çıkışlar aynı anda seçilir. Case paralel token’lara ayrılır.
OR (Inclusive)Rastgele çıkış seçilir ve en az bir yol mutlaka kullanılır.
Event-BasedUygun event’ler arasında rastgele seçim yapılır.

Olasılıkları Ayarlama

XOR gateway’lerde her çıkışa olasılık verebilirsiniz. Bunlar göreceli ağırlık olarak çalışır:

  • 70, 20, 10 derseniz; %70, %20, %10 olur
  • 7, 2, 1 derseniz sonuç aynıdır
  • Tüm çıkışlar için olasılık girilmeli; boş bırakılırsa kalan değer atanır

Aktivite Yürütme

Bir case bir göreve (aktiviteye) ulaştığında, engine şu adımları izler:

1. Kaynak Uygunluğunu Kontrol Edin

Gerekli resource için kapasite var mı?

2. Gerekirse Kuyruğa Alın

Resource yoksa, case bekleme sırasına girer. ProcessMind, FIFO (First In, First Out) sıralama ile case’leri geliş sırasına göre işler.

3. Kaynak Ayırın

Resource hazır olduğunda, gerekli resource birimleri bu vaka için ayrılır.

4. İşlem Süresi Seçin

Engine, ayarlanan işlem süresi dağılımından bir süre seçer. Bu, aktivitenin süresini belirler.

5. Completion Event Zamanla

Completion event, event kuyruğuna current_time + processing_time anında eklenir.

6. Kaynağı Serbest Bırakın

Completion event gerçekleşince, resource diğer case’ler için serbest kalır.

Minimum İşlem Süresi

Benzersiz zaman damgası (zaman damgası) ve gerçekçi simülasyon için tüm aktiviteler en az 1 saniye sürer. Süre sıfır bile olsa aktivite bu sürede çalışır.


Atlanma İhtimali

Aktiviteler için atlanma olasılığı (0-100%) ayarlanabilir. Bir aktivite atlandığında:

  • Case direkt olarak bir sonraki elemana geçer
  • Resource kullanılmaz
  • Zaman geçmez (sadece minimum 1 saniye)
  • Aktivite log’da minimum süreyle görünür

Bu, pratikte bazı adımların zaman zaman atlandığı gerçek durumları modellemeye yarar.


Zaman Yönetimi

Simülasyon Saati

Simülasyon event’ten event’e atlayan sanal bir saat içerir. Mesela sonraki event 10:35’teyse ve şu an 10:30 ise, saat direkt 10:35’e gider.

Zaman Birimleri

Tüm zamanlar sistemde tek birime çevrilir. Süreleri şunlarla verebilirsiniz:

  • Saniye
  • Dakika
  • Saat
  • Gün
  • Hafta
  • Ay

Periyodiklik ve Zaman Dilimleri

Parametreler simülasyon zamanına göre farklılık gösterebilir. Örneğin:

  • Hafta içi ve hafta sonu için farklı geliş temposu
  • Sabah ve öğleden sonra vardiyalarına göre değişen işlem süresi
  • Yoğun saatlerde farklı resource kapasitesi

Ayrıntılar için Periyodiklik  dokümantasyonuna bakabilirsiniz.


Resource Yönetimi

Resource Pool’lar

Her resource’un belirli bir capacity’si vardır—aynı anda kaç case işleyebileceğini belirtir.

Kuyruk Yönetimi

Talep kapasiteyi aşınca case’ler sırada bekler. ProcessMind, FIFO (First In, First Out) sırası ile işlemi sürdürür.


Event Log Oluşturulması

Simülasyon ilerlerken, her aktivite yürütmesi otomatik olarak event log’da kaydedilir:

AlanAçıklama
Case IDHer bir vaka için benzersiz tanımlayıcı (ardışık üretilir)
ActivityBPMN elemanının adı
Start zaman damgası (zaman damgası)Aktivitenin başladığı zaman
Complete zaman damgası (zaman damgası)Aktivitenin tamamlandığı zaman
ResourceAktiviteyi yapan resource
AttributesO anki case nitelik’ları

Bu log sektör standartlarında event log formatındadır ve ProcessMind araçları ile analiz edilebilir.


Simülasyon Limitleri

LimitDeğerAmaç
Max Events2.000.000Kontrolsüz simülasyonları engeller
Min Duration1 saniyeBenzersiz zaman damgası (zaman damgası) sunar

Küçük Başlayın, Sonra Ölçekleyin

Yeni bir simülasyon kurarken, önce kısa bir zaman diliminde (birkaç gün ya da hafta) çalıştırıp ayarlarınızı test edin. Modelin doğru çalıştığına emin olduktan sonra süreyi uzatabilirsiniz.


Sonraki Adımlar

Resources
Resource ve kapasite kısıtlarını modellemeyi öğrenin.