Periodicity และพารามิเตอร์ที่เปลี่ยนแปลงตามเวลา
Periodicity คืออะไร?
กระบวนการจริงไม่ได้ทำงานเหมือนกันตลอดเวลา ฝ่ายบริการลูกค้ารับสายมากขึ้นในเวลาทำการ โรงงานจัดกะทำงานต่างกันและมีจำนวนพนักงานไม่เท่ากัน ส่วนธุรกิจค้าปลีกมักมีช่วงที่ลูกค้าใช้บริการมากตามฤดูกาล.
ความถี่ช่วยกำหนดช่วงเวลาที่กฎการจำลองกระบวนการแต่ละข้อมีผล แทนที่จะใช้ค่าเดียวกับทุกช่วงเวลา คุณสามารถกำหนดพารามิเตอร์ต่างกันตามช่วงเวลาได้:
- วันทำงานกับวันหยุดสุดสัปดาห์
- กะเช้ากับกะเย็น
- ช่วงฤดูกาลที่มีลูกค้ามากกับช่วงนอกฤดูกาล
- เวลาทำการกับนอกเวลาทำการ
การตั้งค่านี้ช่วยให้การจำลองสะท้อนการทำงานจริงในช่วงเวลาต่างๆ ได้.
เหตุใด Periodicity จึงสำคัญ
ลองดูตัวอย่างง่ายๆ ของการจำลองจำนวนลูกค้าที่เข้ามาใช้บริการ.
หากไม่ใช้ Periodicity:
- ลูกค้า 10 รายต่อชั่วโมง ตลอด 24 ชั่วโมงทุกวัน
หากใช้ Periodicity:
- ลูกค้า 25 รายต่อชั่วโมง ในวันทำงาน 9:00-18:00
- ลูกค้า 15 รายต่อชั่วโมง ในวันทำงาน 18:00-21:00
- ลูกค้า 5 รายต่อชั่วโมง ในวันหยุดสุดสัปดาห์
- ลูกค้า 2 รายต่อชั่วโมง ในช่วงกลางคืน
แบบจำลองที่สองสะท้อนรูปแบบความต้องการที่ใกล้เคียงความเป็นจริง ซึ่งส่งผลต่อคิว การใช้ทรัพยากร และปริมาณงานที่ดำเนินการได้.
ประเภท Periodicity ที่ใช้ได้
ProcessMind รองรับ Periodicity 9 ประเภท โดยแต่ละประเภทกำหนดช่วงเวลาที่กฎมีผล:
| ประเภท | พารามิเตอร์ | คำอธิบาย |
|---|---|---|
| เสมอ | (ไม่มี) | ใช้กฎตลอดเวลา โดยไม่มีการเปลี่ยนแปลง |
| ค่าเริ่มต้น | (ไม่มี) | กฎสำรองเมื่อไม่มีกฎตามเวลาข้ออื่นตรงตามเงื่อนไข |
| รอบบัญชีที่กำหนด | startDateTime, endDateTime | ช่วงเวลาครั้งเดียว ไม่เกิดซ้ำ |
| ทุกวัน | startTime, endTime | เวลาเดียวกันทุกวัน |
| ทุกวันธรรมดา | startTime, endTime | เฉพาะวันจันทร์ถึงวันศุกร์ |
| ทุกวันหยุดสุดสัปดาห์ | startTime, endTime | เฉพาะวันเสาร์และวันอาทิตย์ |
| ทุกสัปดาห์ | startDay, startTime, endDay, endTime | เกิดซ้ำทุกสัปดาห์และอาจครอบคลุมหลายวัน |
| ทุกเดือน | startDayOfMonth, startTime, endDayOfMonth, endTime | รูปแบบที่เกิดซ้ำทุกเดือน |
| ทุกปี | startMonth, startDayOfMonth, startTime, endMonth, endDayOfMonth, endTime | รูปแบบรายปีหรือตามฤดูกาล |
รายละเอียดประเภท Periodicity
Always
ตัวเลือกที่ง่ายที่สุด กฎนี้ใช้ตลอดเวลาโดยไม่มีการเปลี่ยนแปลง.
ใช้เมื่อ: พารามิเตอร์ไม่เปลี่ยนแปลงตามเวลา หรือคุณต้องการสร้างแบบจำลองพื้นฐานอย่างง่าย.
Default
ใช้เป็นกฎสำรองเมื่อไม่มีกฎตามเวลาข้ออื่นตรงกับเวลาปัจจุบันในการจำลอง.
ใช้เมื่อ: คุณต้องการกำหนดข้อยกเว้นสำหรับบางช่วงเวลา และให้ช่วงเวลาอื่นใช้ค่าเริ่มต้น.
กำหนด Default ไว้เสมอ
หากใช้กฎ Periodicity หลายข้อ ให้ใส่กฎ Default ไว้เสมอเพื่อครอบคลุมช่วงเวลาที่ไม่มีกฎอื่นกำหนด วิธีนี้ช่วยป้องกันการทำงานที่ไม่คาดคิดเมื่อไม่มีกฎเฉพาะที่ตรงกับช่วงเวลานั้น.
Each Day
กฎนี้ใช้ในช่วงเวลาที่กำหนด ทุกวันในสัปดาห์.
พารามิเตอร์:
startTime: เวลาเริ่มใช้กฎ (เช่น 09:00)endTime: เวลาสิ้นสุดการใช้กฎ (เช่น 17:00)
ตัวอย่าง: เวลาทำการทั่วไป 09:00-17:00 ใช้ทุกวัน รวมถึงวันหยุดสุดสัปดาห์.
Each Weekday
กฎนี้ใช้ในช่วงเวลาที่กำหนด เฉพาะวันจันทร์ถึงศุกร์.
พารามิเตอร์:
startTime: เวลาเริ่มใช้กฎendTime: เวลาสิ้นสุดการใช้กฎ
ตัวอย่าง: ฝ่ายบริการลูกค้าเปิดทำการ 08:00-18:00 ในวันทำงาน และใช้กฎอื่นในวันหยุดสุดสัปดาห์.
Each Weekend Day
กฎนี้ใช้ในช่วงเวลาที่กำหนด เฉพาะวันเสาร์และวันอาทิตย์.
พารามิเตอร์:
startTime: เวลาเริ่มใช้กฎendTime: เวลาสิ้นสุดการใช้กฎ
ตัวอย่าง: ลดเวลาทำการของฝ่ายสนับสนุนเหลือ 10:00-16:00 ในวันหยุดสุดสัปดาห์.
Each Week
กฎนี้ใช้ในช่วงเวลาที่ ครอบคลุมหลายวันในแต่ละสัปดาห์ เหมาะกับรูปแบบที่ไม่ตรงกับวันใดวันหนึ่งโดยเฉพาะ.
พารามิเตอร์:
startDay: วันที่เริ่มใช้กฎ (วันจันทร์ วันอังคาร ฯลฯ)startTime: เวลาในวันเริ่มต้นendDay: วันที่สิ้นสุดการใช้กฎendTime: เวลาในวันสิ้นสุด
ตัวอย่าง: ช่วงที่มีปริมาณงานสูงเริ่มวันพุธเวลา 14:00 และสิ้นสุดวันศุกร์เวลา 12:00.
Each Month
กฎนี้ใช้ในวันที่กำหนด ของทุกเดือน.
พารามิเตอร์:
startDayOfMonth: วันที่เริ่มใช้กฎในแต่ละเดือน (1-31)startTime: เวลาในวันเริ่มต้นendDayOfMonth: วันที่สิ้นสุดการใช้กฎในแต่ละเดือนendTime: เวลาในวันสิ้นสุด
ตัวอย่าง: งานเร่งช่วงสิ้นเดือนเริ่มวันที่ 25 เวลา 08:00 และสิ้นสุดวันสุดท้ายของเดือนเวลา 23:59.
Each Year
กฎนี้ใช้ในวันที่กำหนด ของทุกปี.
พารามิเตอร์:
startMonth: เดือนที่เริ่มใช้กฎstartDayOfMonth: วันที่ในเดือนที่เริ่มต้นstartTime: เวลาในวันเริ่มต้นendMonth: เดือนที่สิ้นสุดการใช้กฎendDayOfMonth: วันที่ในเดือนที่สิ้นสุดendTime: เวลาในวันสิ้นสุด
ตัวอย่าง: ช่วงที่ลูกค้าซื้อสินค้าในเทศกาลมาก เริ่มวันที่ 15 พฤศจิกายน เวลา 00:00 และสิ้นสุดวันที่ 31 ธันวาคม เวลา 23:59.
Fixed Period
กฎนี้ใช้ใน ช่วงวันที่และเวลาที่กำหนด โดยไม่เกิดซ้ำ เหมาะสำหรับเหตุการณ์ที่เกิดขึ้นครั้งเดียว.
พารามิเตอร์:
startDateTime: วันและเวลาเริ่มต้นที่แน่นอนendDateTime: วันและเวลาสิ้นสุดที่แน่นอน
ตัวอย่าง: สัปดาห์เปิดตัวผลิตภัณฑ์วันที่ 15-22 มีนาคม 2025 พร้อมกฎการจัดการพิเศษ.
การรวมกฎหลายข้อ
Periodicity มีประโยชน์มากเมื่อนำกฎหลายข้อมารวมกัน คุณกำหนดพารามิเตอร์ให้ต่างกันตามช่วงเวลาได้ แล้วการจำลองจะเลือกใช้กฎที่ตรงกับแต่ละช่วงเวลา.
ตัวอย่าง: เวลาประมวลผลในแต่ละกะ
ตัวอย่างกระบวนการผลิตที่ใช้เวลาประมวลผลต่างกันตามกะ:
| ชื่อกฎ | Periodicity | การแจกแจงเวลาประมวลผล |
|---|---|---|
| กะกลางวัน | Each Weekday, 08:00-16:00 | Normal(30 min, 5 min) |
| กะเย็น | Each Weekday, 16:00-00:00 | Normal(45 min, 10 min) |
| ทีมวันหยุดสุดสัปดาห์ | Each Weekend Day, 10:00-18:00 | Normal(60 min, 15 min) |
| กลางคืน/Default | Default | Normal(90 min, 20 min) |
กะกลางวันทำงานได้เร็วที่สุด เพราะมีพนักงานครบและพนักงานสดชื่น ส่วนกะเย็นทำงานช้าลงเพราะมีผู้ดูแลน้อยลง ขณะที่วันหยุดสุดสัปดาห์ช้าที่สุดเพราะมีพนักงานประจำกะน้อย กฎ Default ใช้กับช่วงกลางคืน.
ลำดับความสำคัญของกฎ
เมื่อมีกฎหลายข้อที่อาจตรงกับช่วงเวลาเดียวกัน:
- ระบบประเมินกฎตามลำดับที่กำหนดไว้ในการตั้งค่า
- ระบบใช้กฎข้อแรกที่ตรงกัน โดยเริ่มจากข้อบนสุด
- กฎ Default จะตรงกันเมื่อไม่มีกฎข้ออื่นใช้ได้เท่านั้น
เคล็ดลับ: วางกฎที่เจาะจงไว้เหนือกฎทั่วไป หากต้องการให้วันทำงานมีรูปแบบต่างจากวันหยุดสุดสัปดาห์ ให้วาง “Each Weekday” ไว้ก่อน “Each Day”.
ใช้ Periodicity ได้ที่ใดบ้าง
คุณใช้ Periodicity กับพารามิเตอร์การจำลองได้หลายรายการ:
| พารามิเตอร์ | ตัวอย่างการใช้ความถี่ |
|---|---|
| จำนวนเคสที่เข้ามา | เคสเข้ามามากขึ้นในเวลาทำการ และน้อยลงในช่วงกลางคืน |
| เวลาประมวลผล | ประมวลผลเร็วขึ้นเมื่อมีพนักงานครบ และช้าลงเมื่อมีพนักงานน้อยลง |
| กำลังรองรับของทรัพยากร | มีพนักงานมากขึ้นในช่วงที่มีงานสูง และมีพนักงานเท่าที่จำเป็นในช่วงกลางคืน |
| โอกาสข้าม | ใช้กฎการกำหนดเส้นทางต่างกันในวันหยุดสุดสัปดาห์หรือวันหยุดนักขัตฤกษ์ |
| ความน่าจะเป็นของเกตเวย์ | ใช้รูปแบบการตัดสินใจต่างกันตามช่วงเวลาของวัน |
ตัวอย่างการใช้งาน: ศูนย์บริการลูกค้า
ตัวอย่างนี้แสดงการใช้ Periodicity กับพารามิเตอร์หลายรายการในการจำลองศูนย์บริการลูกค้า:
การตั้งค่าอัตราการมาถึง
| Periodicity | อัตราการมาถึง |
|---|---|
| Each Weekday 09:00-18:00 | Poisson(50 per hour) |
| Each Weekday 18:00-22:00 | Poisson(20 per hour) |
| Each Weekend Day 10:00-16:00 | Poisson(15 per hour) |
| Default | Poisson(5 per hour) |
ปริมาณงานสูงในเวลาทำการ ปานกลางในช่วงเย็น และน้อยในวันหยุดสุดสัปดาห์กับช่วงกลางคืน.
การตั้งค่าเวลาประมวลผล
| Periodicity | การแจกแจง |
|---|---|
| Each Weekday 09:00-17:00 | Triangular(10, 20, 45 min) |
| Each Weekend Day | Triangular(20, 40, 90 min) |
| Default | Triangular(30, 60, 120 min) |
ประมวลผลได้เร็วที่สุดเมื่อมีพนักงานครบ และช้าลงในวันหยุดสุดสัปดาห์กับนอกเวลาทำการ.
การตั้งค่ากำลังรองรับของพนักงาน
| Periodicity | จำนวนเจ้าหน้าที่ที่พร้อมให้บริการ |
|---|---|
| Each Weekday 09:00-18:00 | เจ้าหน้าที่ 10 คน |
| Each Weekday 18:00-22:00 | เจ้าหน้าที่ 4 คน |
| Each Weekend Day 10:00-16:00 | เจ้าหน้าที่ 3 คน |
| Default | เจ้าหน้าที่ 1 คน |
มีพนักงานครบในเวลาทำการ และลดจำนวนพนักงานในช่วงเวลาอื่น.
เมื่อนำกฎมาใช้ร่วมกัน
วันอังคาร เวลา 10:00:
- ใช้อัตราการมาถึง 50 รายต่อชั่วโมง
- ใช้การแจกแจงแบบสามเหลี่ยมที่มีเวลาประมวลผลเร็ว
- มีเจ้าหน้าที่พร้อมให้บริการ 10 คน
วันอังคาร เวลา 20:00:
- อัตราการมาถึงลดเหลือ 20 รายต่อชั่วโมง
- ใช้การแจกแจง Default ซึ่งมีเวลาประมวลผลช้ากว่า
- มีเจ้าหน้าที่พร้อมให้บริการเพียง 4 คน
วันเสาร์ เวลา 14:00:
- อัตราการมาถึงอยู่ที่ 15 รายต่อชั่วโมง
- ใช้การแจกแจงสำหรับวันหยุดสุดสัปดาห์
- มีเจ้าหน้าที่พร้อมให้บริการ 3 คน
แนวทางปฏิบัติที่แนะนำ
1. เริ่มจาก Default
กำหนดกฎ Default ก่อนเสมอ เพื่อให้ครอบคลุมช่วงเวลาที่ไม่ได้ระบุไว้ในกฎข้ออื่น.
2. เริ่มจากกฎทั่วไปแล้วค่อยเจาะจง
เริ่มจากรูปแบบกว้างๆ เช่น วันทำงานกับวันหยุดสุดสัปดาห์ แล้วค่อยเพิ่มกฎที่เจาะจงขึ้น เช่น เวลาในแต่ละกะตามต้องการ.
3. เริ่มต้นด้วยการตั้งค่าอย่างง่าย
เริ่มจากแยกวันทำงานกับวันหยุดสุดสัปดาห์ ก่อนเพิ่มรายละเอียดรายชั่วโมงหรือตามฤดูกาล คุณสามารถเพิ่มความซับซ้อนได้ภายหลัง.
4. ใช้ข้อมูลกำหนดรูปแบบ
หากทำได้ ให้วิเคราะห์ข้อมูลย้อนหลังเพื่อดูรูปแบบที่เกิดขึ้นจริง ตรวจสอบอัตราการมาถึง เวลาประมวลผล และจำนวนพนักงานในแต่ละชั่วโมงและวันในสัปดาห์.
5. ทดสอบกรณีขอบ
ตรวจสอบว่ากฎรองรับช่วงเปลี่ยนผ่านได้ถูกต้อง:
- เมื่อเปลี่ยนกะตอน 17:00 พอดี ระบบทำงานอย่างไร?
- ระบบจัดการช่วงเที่ยงคืนได้ถูกต้องหรือไม่?
- กฎสิ้นเดือนทำงานได้ถูกต้องในเดือนที่มีจำนวนวันต่างกันหรือไม่?
6. บันทึกรายละเอียดกฎ
การตั้งค่า Periodicity ที่ซับซ้อนอาจทำความเข้าใจได้ยากในภายหลัง จดบันทึกเหตุผลของแต่ละกฎและรูปแบบทางธุรกิจที่กฎนั้นใช้แทน.
ขั้นตอนถัดไป
ออกแบบกระบวนการให้ดีขึ้น วางโครงสร้างที่เชื่อมโยงกัน และควบคุมได้.
เริ่มใช้งานได้ทันที ไม่ต้องใช้บัตรเครดิตและไม่ต้องรอ เปลี่ยนวิธีทำงานขององค์กรให้เป็นแบบจำลองกระบวนการที่ชัดเจนและเชื่อมโยงกัน.
สร้างสถาปัตยกรรมกระบวนการ กำหนดเจ้าของและการควบคุม พร้อมจัดบทบาทและความรับผิดชอบให้สอดคล้องกันในทุกระดับ.
เริ่มทดลองใช้ฟรี แล้วสร้างรากฐานที่เชื่อถือได้สำหรับกำกับดูแล จัดการ และปรับปรุงกระบวนการอย่างต่อเนื่อง.