Periyodiklik ve zamana bağlı parametreler
Periyodiklik nedir?
Gerçek süreçler her zaman aynı şekilde işlemez. Müşteri hizmetleri, mesai saatlerinde daha fazla çağrı alır. Üretimde farklı vardiyalarda farklı sayıda çalışan görev yapar. Perakendede ise mevsimsel yoğunluklar görülür.
Periyodiklik, belirli simülasyon kurallarının ne zaman uygulanacağını tanımlamanızı sağlar. Tek bir genel değer kullanmak yerine farklı zaman aralıkları için farklı parametreler belirleyebilirsiniz:
- Hafta içi ve hafta sonu
- Sabah ve akşam vardiyası
- Yoğun sezon ve sezon dışı dönem
- Mesai saatleri ve mesai saatleri dışı
Böylece simülasyon, farklı zaman koşullarında gerçekçi biçimde çalışır.
Periyodiklik neden önemlidir?
Müşteri girişlerini modellemeye ilişkin basit bir örneği ele alalım.
Periyodiklik olmadan:
- 7 gün 24 saat boyunca saatte 10 müşteri
Periyodiklik kullanıldığında:
- Hafta içi 09:00-18:00 arasında saatte 25 müşteri
- Hafta içi 18:00-21:00 arasında saatte 15 müşteri
- Hafta sonu saatte 5 müşteri
- Gece boyunca saatte 2 müşteri
İkinci model, kuyrukları, kaynak kullanımını ve işlem hacmini etkileyen gerçekçi talep örüntülerini yansıtır.
Kullanılabilir periyodiklik türleri
ProcessMind, her biri bir kuralın ne zaman uygulanacağını belirleyen dokuz periyodiklik türünü destekler:
| Tür | Parametreler | Açıklama |
|---|---|---|
| Her zaman | (yok) | Kural her zaman uygulanır, değişiklik olmaz |
| Varsayılan | (yok) | Zamana bağlı başka bir kuralla eşleşme olmadığında uygulanan yedek kural |
| Sabit dönem | startDateTime, endDateTime | Tek seferlik dönem (tekrarlanmaz) |
| Her gün | startTime, endTime | Her gün aynı saatler |
| Her hafta içi günü | startTime, endTime | Yalnızca pazartesiden cumaya |
| Her hafta sonu günü | startTime, endTime | Yalnızca cumartesi ve pazar |
| Her hafta | startDay, startTime, endDay, endTime | Haftalık olarak tekrarlanır, birkaç güne yayılabilir |
| Her ay | startDayOfMonth, startTime, endDayOfMonth, endTime | Aylık olarak tekrarlanan örüntü |
| Her yıl | startMonth, startDayOfMonth, startTime, endMonth, endDayOfMonth, endTime | Yıllık veya mevsimsel örüntü |
Periyodiklik türleri ayrıntılı olarak
Her zaman
En basit seçenek: Kural, hiçbir değişiklik olmadan her zaman uygulanır.
Şu durumlarda kullanın: Parametre zamana göre gerçekten değişmiyorsa veya basit bir temel simülasyon oluşturuyorsanız.
Varsayılan
Geçerli simülasyon zamanıyla eşleşen başka bir zamana bağlı kural olmadığında yedek kural olarak uygulanır.
Şu durumlarda kullanın: Belirli zamanlar için istisnalar tanımlayıp diğer tüm zamanlarda varsayılan bir değer kullanmak istiyorsanız.
Her zaman bir Varsayılan kural ekleyin
Birden fazla periyodiklik kuralı kullanırken, kuralların kapsamadığı zaman aralıkları için mutlaka bir Varsayılan kural ekleyin. Böylece belirli bir kuralla eşleşme olmadığında beklenmedik davranışlar önlenir.
Her gün
Kural, haftanın her günü belirli saatlerde uygulanır.
Parametreler:
startTime: Kuralın başlama saati (ör. 09:00)endTime: Kuralın bitiş saati (ör. 17:00)
Örnek: Genel çalışma saatleri olan 09:00-17:00, hafta sonları dahil her gün uygulanır.
Her hafta içi günü
Kural, yalnızca pazartesiden cumaya belirli saatlerde uygulanır.
Parametreler:
startTime: Kuralın başlama saatiendTime: Kuralın bitiş saati
Örnek: Müşteri hizmetleri hafta içi 08:00-18:00 arasında çalışır; hafta sonları için farklı kurallar uygulanır.
Her hafta sonu günü
Kural, yalnızca cumartesi ve pazar belirli saatlerde uygulanır.
Parametreler:
startTime: Kuralın başlama saatiendTime: Kuralın bitiş saati
Örnek: Hafta sonları destek saatleri 10:00-16:00 ile sınırlıdır.
Her hafta
Kural, her hafta birkaç güne yayılabilen bir zaman aralığında uygulanır. Bu seçenek, tek bir güne sığmayan örüntüler için kullanışlıdır.
Parametreler:
startDay: Kuralın başladığı gün (pazartesi, salı vb.)startTime: Başlangıç günündeki saatendDay: Kuralın bittiği günendTime: Bitiş günündeki saat
Örnek: Yoğun dönem çarşamba 14:00’te başlar ve cuma 12:00’ye kadar sürer.
Her ay
Kural, her ayın belirli günlerinde uygulanır.
Parametreler:
startDayOfMonth: Kuralın başladığı ayın günü (1-31)startTime: Başlangıç günündeki saatendDayOfMonth: Kuralın bittiği ayın günüendTime: Bitiş günündeki saat
Örnek: Ay sonu işlem yoğunluğu her ayın 25’inde 08:00’de başlar ve ayın son günü 23:59’a kadar sürer.
Her yıl
Kural, her yıl belirli tarihlerde uygulanır.
Parametreler:
startMonth: Kuralın başladığı aystartDayOfMonth: Başlangıç ayındaki günstartTime: Başlangıç günündeki saatendMonth: Kuralın bittiği ayendDayOfMonth: Bitiş ayındaki günendTime: Bitiş günündeki saat
Örnek: Tatil dönemi perakende yoğunluğu 15 Kasım 00:00’da başlar ve 31 Aralık 23:59’a kadar sürer.
Sabit dönem
Kural, belirli bir tarih ve saat aralığında uygulanır ve tekrarlanmaz. Tek seferlik olaylar için kullanın.
Parametreler:
startDateTime: Kesin başlangıç tarihi ve saatiendDateTime: Kesin bitiş tarihi ve saati
Örnek: Ürün lansmanı haftasında, 15-22 Mart 2025 tarihleri arasında özel kurallar uygulayın.
Birden fazla kuralı bir arada kullanma
Periyodiklikten en iyi şekilde, birden fazla kuralı bir arada kullanarak yararlanabilirsiniz. Farklı zaman koşulları için ayrı parametreler tanımlayın; simülasyon da her an için geçerli kuralı belirlesin.
Örnek: Birden fazla vardiyada işlem süresi
Vardiyaya göre işlem sürelerinin değiştiği bir üretim sürecini ele alalım:
| Kural adı | Periyodiklik | İşlem süresi dağılımı |
|---|---|---|
| Gündüz vardiyası | Her hafta içi, 08:00-16:00 | Normal(30 dk, 5 dk) |
| Akşam vardiyası | Her hafta içi, 16:00-00:00 | Normal(45 dk, 10 dk) |
| Hafta sonu ekibi | Her hafta sonu günü, 10:00-18:00 | Normal(60 dk, 15 dk) |
| Gece/Varsayılan | Varsayılan | Normal(90 dk, 20 dk) |
Gündüz vardiyası en hızlıdır (tam kadro, dinlenmiş çalışanlar). Akşam vardiyası daha yavaştır (daha az gözetim). Hafta sonu en yavaş dönemdir (asgari kadro). Varsayılan kural gece saatlerini kapsar.
Kural önceliği
Birden fazla kural eşleşebilecek durumlarda:
- Kurallar, yapılandırmanızda tanımlandıkları sırayla değerlendirilir
- İlk eşleşen kural uygulanır (en üstteki önceliklidir)
- Varsayılan kurallar yalnızca başka hiçbir kural uygulanmadığında eşleşir
İpucu: Daha özel kuralları genel kuralların üstüne yerleştirin. Hafta içi ve hafta sonu için farklı davranışlar istiyorsanız “Her hafta içi günü” kuralını “Her gün” kuralından önce ekleyin.
Periyodiklik nerelerde kullanılır?
Periyodiklik birçok simülasyon parametresine uygulanabilir:
| Parametre | Periyodiklik kullanım alanı |
|---|---|
| Vaka girişleri | Mesai saatlerinde daha yüksek, gece daha düşük giriş oranları |
| İşlem süreleri | Tam kadroyla daha hızlı, çalışma saatleri kısaldığında daha yavaş işlem |
| Kaynak kapasitesi | Yoğun saatlerde daha fazla çalışan, gece asgari kadro |
| Atlama olasılıkları | Hafta sonları veya tatillerde farklı yönlendirme kuralları |
| Gateway olasılıkları | Günün saatine göre farklı karar örüntüleri |
Uygulamalı örnek: Müşteri destek merkezi
Müşteri desteği simülasyonunda periyodikliğin birden fazla parametrede nasıl çalıştığını gösteren gerçekçi bir örnek:
Giriş oranı yapılandırması
| Periyodiklik | Giriş oranı |
|---|---|
| Her hafta içi 09:00-18:00 | Poisson(saatte 50) |
| Her hafta içi 18:00-22:00 | Poisson(saatte 20) |
| Her hafta sonu günü 10:00-16:00 | Poisson(saatte 15) |
| Varsayılan | Poisson(saatte 5) |
Mesai saatlerinde yoğun, akşamları orta düzeyde, hafta sonu ve gece saatlerinde ise düşük giriş olur.
İşlem süresi yapılandırması
| Periyodiklik | Dağılım |
|---|---|
| Her hafta içi 09:00-17:00 | Üçgensel(10, 20, 45 dk) |
| Her hafta sonu günü | Üçgensel(20, 40, 90 dk) |
| Varsayılan | Üçgensel(30, 60, 120 dk) |
Tam kadro çalışılan yoğun saatlerde işlemler en hızlı, hafta sonları ve mesai saatleri dışında daha yavaştır.
Personel kapasitesi yapılandırması
| Periyodiklik | Kullanılabilir temsilci sayısı |
|---|---|
| Her hafta içi 09:00-18:00 | 10 temsilci |
| Her hafta içi 18:00-22:00 | 4 temsilci |
| Her hafta sonu günü 10:00-16:00 | 3 temsilci |
| Varsayılan | 1 temsilci |
Mesai saatlerinde tam kadro, diğer zamanlarda daha sınırlı personel bulunur.
Kurallar birlikte nasıl işler?
Salı günü saat 10:00’da:
- Girişler saatte 50 oranını kullanır
- İşlemler hızlı üçgensel dağılıma göre gerçekleşir
- 10 temsilci kullanılabilir
Salı günü saat 20:00’de:
- Girişler saatte 20’ye düşer
- İşlemler varsayılan, daha yavaş dağılıma göre gerçekleşir
- Yalnızca 4 temsilci kullanılabilir
Cumartesi günü saat 14:00’te:
- Girişler saatte 15 olur
- İşlemler hafta sonu dağılımına göre gerçekleşir
- 3 temsilci kullanılabilir
En iyi uygulamalar
1. Varsayılan kuralla başlayın
Önce mutlaka Varsayılan kuralı tanımlayın. Böylece diğer kuralların açıkça kapsamadığı tüm zamanlar için bir kuralınız olur.
2. Genelden özele ilerleyin
Önce genel örüntülerle başlayın (hafta içi ve hafta sonu), ardından ihtiyaç duydukça daha özel kurallar ekleyin (tek tek vardiya saatleri).
3. Başlangıçta basit tutun
Saatlik veya mevsimsel ayrıntılar eklemeden önce hafta içi ve hafta sonu ayrımını yapın. Karmaşıklığı daha sonra artırabilirsiniz.
4. Örüntüleri verilere dayandırın
Mümkün olduğunda gerçek örüntüleri anlamak için geçmiş verilerinizi analiz edin. Giriş oranlarını, işlem sürelerini ve personel sayısını saatlere ve haftanın günlerine göre inceleyin.
5. Sınır durumlarını test edin
Kurallarınızın geçiş saatlerini doğru ele aldığını doğrulayın:
- Vardiya değişirken tam 17:00’de ne olur?
- Gece yarısı doğru şekilde ele alınıyor mu?
- Ay sonu kuralları, gün sayısı farklı aylarda da çalışıyor mu?
6. Kurallarınızı belgeleyin
Karmaşık periyodiklik yapılandırmalarını sonradan anlamak zor olabilir. Her kuralın neden var olduğunu ve hangi iş örüntüsünü temsil ettiğini belgeleyin.
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.