Chu kỳ và tham số thay đổi theo thời gian
Chu kỳ là gì?
Quy trình thực tế không vận hành giống nhau mọi lúc. Bộ phận chăm sóc khách hàng nhận nhiều cuộc gọi hơn trong giờ làm việc. Nhà máy bố trí các ca làm với số nhân sự khác nhau. Bán lẻ thường có mùa cao điểm.
Chu kỳ cho phép bạn xác định thời điểm áp dụng từng quy tắc mô phỏng. Thay vì dùng một giá trị chung, bạn có thể đặt tham số khác nhau cho từng khoảng thời gian:
- Ngày trong tuần và cuối tuần
- Ca sáng và ca tối
- Mùa cao điểm và mùa thấp điểm
- Giờ làm việc và ngoài giờ
Nhờ vậy, mô phỏng phản ánh sát thực tế hơn trong các khung thời gian khác nhau.
Vì sao chu kỳ quan trọng?
Hãy xem ví dụ đơn giản về mô hình hóa lượt khách đến.
Không dùng tính chu kỳ:
- 10 khách mỗi giờ, suốt ngày đêm
Có dùng tính chu kỳ:
- 25 khách mỗi giờ, ngày trong tuần từ 9:00 đến 18:00
- 15 khách mỗi giờ, ngày trong tuần từ 18:00 đến 21:00
- 5 khách mỗi giờ vào cuối tuần
- 2 khách mỗi giờ vào ban đêm
Mô hình thứ hai thể hiện nhu cầu thực tế hơn, ảnh hưởng đến hàng chờ, mức sử dụng tài nguyên và lưu lượng xử lý.
Các loại chu kỳ hiện có
ProcessMind hỗ trợ chín loại chu kỳ, mỗi loại xác định thời điểm áp dụng quy tắc:
| Loại | Tham số | Mô tả |
|---|---|---|
| Luôn luôn | (không có) | Quy tắc áp dụng mọi lúc, không thay đổi |
| Mặc định | (không có) | Quy tắc dự phòng khi không có quy tắc theo thời gian nào khác phù hợp |
| Kỳ cố định | startDateTime, endDateTime | Khoảng thời gian diễn ra một lần, không lặp lại |
| Mỗi ngày | startTime, endTime | Cùng khung giờ mỗi ngày |
| Mỗi ngày trong tuần | startTime, endTime | Chỉ từ thứ Hai đến thứ Sáu |
| Mỗi ngày cuối tuần | startTime, endTime | Chỉ thứ Bảy và Chủ nhật |
| Mỗi tuần | startDay, startTime, endDay, endTime | Lặp hằng tuần, có thể kéo dài nhiều ngày |
| Mỗi tháng | startDayOfMonth, startTime, endDayOfMonth, endTime | Mẫu lặp hằng tháng |
| Mỗi năm | startMonth, startDayOfMonth, startTime, endMonth, endDayOfMonth, endTime | Mẫu hằng năm hoặc theo mùa |
Chi tiết các loại chu kỳ
Always
Đây là lựa chọn đơn giản nhất: quy tắc áp dụng mọi lúc và không thay đổi.
Dùng khi: Tham số thực sự không thay đổi theo thời gian hoặc bạn đang tạo mô phỏng cơ bản.
Default
Đây là quy tắc dự phòng khi không có quy tắc theo thời gian nào khác khớp với thời điểm mô phỏng hiện tại.
Dùng khi: Bạn muốn đặt ngoại lệ cho một số thời điểm cụ thể và dùng giá trị mặc định cho các thời điểm còn lại.
Luôn thêm quy tắc Default
Khi dùng nhiều quy tắc chu kỳ, hãy luôn thêm quy tắc Default để xử lý những khoảng thời gian chưa được quy tắc nào bao phủ. Nhờ đó, mô phỏng không hoạt động ngoài dự kiến khi không có quy tắc cụ thể nào khớp.
Each Day
Quy tắc áp dụng trong một số khung giờ nhất định vào mọi ngày trong tuần.
Tham số:
startTime: Thời điểm quy tắc bắt đầu (ví dụ: 09:00)endTime: Thời điểm quy tắc kết thúc (ví dụ: 17:00)
Ví dụ: Giờ làm việc thông thường từ 09:00 đến 17:00, áp dụng hằng ngày kể cả cuối tuần.
Each Weekday
Quy tắc áp dụng trong một số khung giờ nhất định, chỉ từ thứ Hai đến thứ Sáu.
Tham số:
startTime: Thời điểm quy tắc bắt đầuendTime: Thời điểm quy tắc kết thúc
Ví dụ: Bộ phận chăm sóc khách hàng làm việc từ 08:00 đến 18:00 vào các ngày trong tuần, với quy tắc riêng cho cuối tuần.
Each Weekend Day
Quy tắc áp dụng trong một số khung giờ nhất định, chỉ vào thứ Bảy và Chủ nhật.
Tham số:
startTime: Thời điểm quy tắc bắt đầuendTime: Thời điểm quy tắc kết thúc
Ví dụ: Giờ hỗ trợ rút ngắn, từ 10:00 đến 16:00 vào cuối tuần.
Each Week
Quy tắc áp dụng trong một khoảng thời gian có thể kéo dài nhiều ngày trong tuần. Loại này phù hợp với các mẫu thời gian không gói gọn trong một ngày.
Tham số:
startDay: Ngày quy tắc bắt đầu (thứ Hai, thứ Ba, v.v.)startTime: Giờ bắt đầu trong ngày đóendDay: Ngày quy tắc kết thúcendTime: Giờ kết thúc trong ngày đó
Ví dụ: Giai đoạn có lượng công việc cao bắt đầu lúc 14:00 thứ Tư và kết thúc lúc 12:00 thứ Sáu.
Each Month
Quy tắc áp dụng vào những ngày cụ thể mỗi tháng.
Tham số:
startDayOfMonth: Ngày trong tháng quy tắc bắt đầu (1-31)startTime: Giờ bắt đầu trong ngày đóendDayOfMonth: Ngày trong tháng quy tắc kết thúcendTime: Giờ kết thúc trong ngày đó
Ví dụ: Cao điểm xử lý cuối tháng bắt đầu lúc 08:00 ngày 25 và kết thúc lúc 23:59 ngày cuối tháng.
Each Year
Quy tắc áp dụng vào những ngày cụ thể hằng năm.
Tham số:
startMonth: Tháng quy tắc bắt đầustartDayOfMonth: Ngày trong tháng bắt đầustartTime: Giờ bắt đầu trong ngày đóendMonth: Tháng quy tắc kết thúcendDayOfMonth: Ngày trong tháng kết thúcendTime: Giờ kết thúc trong ngày đó
Ví dụ: Cao điểm bán lẻ dịp lễ bắt đầu lúc 00:00 ngày 15 tháng 11 và kết thúc lúc 23:59 ngày 31 tháng 12.
Fixed Period
Quy tắc áp dụng trong một khoảng ngày giờ cụ thể và không lặp lại. Dùng loại này cho sự kiện chỉ diễn ra một lần.
Tham số:
startDateTime: Ngày và giờ bắt đầu chính xácendDateTime: Ngày và giờ kết thúc chính xác
Ví dụ: Tuần ra mắt sản phẩm từ ngày 15 đến 22 tháng 3 năm 2025, áp dụng các quy tắc xử lý đặc biệt.
Kết hợp nhiều quy tắc
Chu kỳ phát huy tác dụng khi bạn kết hợp nhiều quy tắc. Bạn có thể đặt tham số khác nhau cho từng khung thời gian, rồi để mô phỏng xác định quy tắc áp dụng tại mỗi thời điểm.
Ví dụ: thời gian xử lý theo nhiều ca
Xét một quy trình sản xuất có thời gian xử lý khác nhau tùy theo ca:
| Tên quy tắc | Chu kỳ | Phân phối thời gian xử lý |
|---|---|---|
| Ca ngày | Each Weekday, 08:00-16:00 | Normal(30 min, 5 min) |
| Ca tối | Each Weekday, 16:00-00:00 | Normal(45 min, 10 min) |
| Nhân sự cuối tuần | Each Weekend Day, 10:00-18:00 | Normal(60 min, 15 min) |
| Ban đêm/Mặc định | Default | Normal(90 min, 20 min) |
Ca ngày nhanh nhất vì có đủ nhân sự và nhân viên tỉnh táo. Ca tối chậm hơn do ít người giám sát. Cuối tuần chậm nhất vì chỉ có nhóm nhân sự tối thiểu. Quy tắc mặc định áp dụng vào ban đêm.
Độ ưu tiên của quy tắc
Khi nhiều quy tắc có thể cùng khớp:
- Các quy tắc được xét theo thứ tự bạn khai báo trong cấu hình
- Hệ thống áp dụng quy tắc khớp đầu tiên (quy tắc ở trên được ưu tiên)
- **Quy tắc ** mặc định chỉ khớp khi không có quy tắc nào khác áp dụng
Mẹo: Đặt quy tắc cụ thể lên trên quy tắc chung. Đặt “Each Weekday” trước “Each Day” nếu bạn muốn ngày trong tuần có cách xử lý khác cuối tuần.
Dùng chu kỳ ở đâu?
Bạn có thể áp dụng chu kỳ cho nhiều tham số mô phỏng:
| Tham số | Trường hợp sử dụng theo chu kỳ |
|---|---|
| Trường hợp đến | Tỷ lệ trường hợp đến cao hơn trong giờ làm việc, thấp hơn vào ban đêm |
| Thời gian xử lý | Xử lý nhanh hơn khi đủ nhân sự, chậm hơn khi giảm giờ làm |
| Năng lực tài nguyên | Nhiều nhân sự hơn vào giờ cao điểm, ít nhân sự trực vào ban đêm |
| Khả năng bỏ qua | Quy tắc định tuyến khác nhau vào cuối tuần hoặc ngày lễ |
| Xác suất cổng | Mẫu quyết định thay đổi theo thời điểm trong ngày |
Ví dụ thực tế: trung tâm hỗ trợ khách hàng
Ví dụ dưới đây cho thấy cách chu kỳ áp dụng cho nhiều tham số trong mô phỏng hỗ trợ khách hàng:
Cấu hình tốc độ lượt đến
| Chu kỳ | Tốc độ lượt đến |
|---|---|
| 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) |
Lượng khách cao trong giờ làm việc, vừa phải vào buổi tối và thấp vào cuối tuần cũng như ban đêm.
Cấu hình thời gian xử lý
| Chu kỳ | Phân phối |
|---|---|
| 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) |
Xử lý nhanh nhất khi có đủ nhân sự vào giờ cao điểm, chậm hơn vào cuối tuần và ngoài giờ.
Cấu hình năng lực nhân sự
| Chu kỳ | Số nhân viên sẵn sàng |
|---|---|
| Each Weekday 09:00-18:00 | 10 nhân viên |
| Each Weekday 18:00-22:00 | 4 nhân viên |
| Each Weekend Day 10:00-16:00 | 3 nhân viên |
| Default | 1 nhân viên |
Đủ nhân sự trong giờ làm việc, ít người trực hơn vào các khung giờ còn lại.
Các quy tắc phối hợp ra sao?
Lúc 10:00 sáng thứ Ba:
- Lượt đến áp dụng tốc độ 50 mỗi giờ
- Thời gian xử lý dùng phân phối tam giác nhanh
- Có 10 nhân viên sẵn sàng
Lúc 20:00 thứ Ba:
- Lượt đến giảm còn 20 mỗi giờ
- Thời gian xử lý dùng phân phối mặc định, chậm hơn
- Chỉ có 4 nhân viên sẵn sàng
Lúc 14:00 thứ Bảy:
- Lượt đến là 15 mỗi giờ
- Thời gian xử lý dùng phân phối cuối tuần
- Có 3 nhân viên sẵn sàng
Cách làm nên áp dụng
1. Bắt đầu với Default
Trước tiên, hãy luôn tạo quy tắc Default. Quy tắc này bao phủ mọi thời điểm chưa được các quy tắc khác xử lý.
2. Đi từ tổng quát đến cụ thể
Bắt đầu với các mẫu rộng (ngày trong tuần và cuối tuần), rồi thêm quy tắc cụ thể hơn (giờ của từng ca) khi cần.
3. Ban đầu, hãy giữ mọi thứ đơn giản
Trước tiên, hãy phân biệt ngày trong tuần với cuối tuần, rồi mới thêm chi tiết theo giờ hoặc mùa. Bạn có thể bổ sung quy tắc phức tạp hơn sau.
4. Dựa vào dữ liệu để xác định mẫu
Nếu có thể, hãy phân tích dữ liệu lịch sử để hiểu các mẫu thực tế. Xem tốc độ lượt đến, thời gian xử lý và số nhân sự theo giờ cũng như theo ngày trong tuần.
5. Kiểm tra các trường hợp biên
Kiểm tra để bảo đảm quy tắc xử lý đúng các thời điểm chuyển tiếp:
- Điều gì xảy ra đúng 17:00 khi đổi ca?
- Mốc nửa đêm có được xử lý đúng không?
- Quy tắc cuối tháng có hoạt động đúng trong các tháng dài ngắn khác nhau không?
6. Ghi lại các quy tắc
Cấu hình chu kỳ phức tạp có thể khó hiểu khi xem lại sau này. Hãy ghi rõ lý do của từng quy tắc và mẫu hoạt động thực tế mà quy tắc đó thể hiện.
Các bước tiếp theo
Thiết kế quy trình tốt hơn. Kết nối các quy trình. Luôn chủ động kiểm soát.
Truy cập ngay, không cần thẻ tín dụng hay chờ đợi. Biến cách tổ chức của bạn vận hành thành các thiết kế quy trình rõ ràng, liên kết với nhau.
Xây dựng kiến trúc quy trình, xác định quyền sở hữu và cơ chế kiểm soát, đồng thời thống nhất vai trò và trách nhiệm ở mọi cấp.
Bắt đầu dùng thử miễn phí để tạo nền tảng đáng tin cậy cho việc quản trị, quản lý và cải tiến quy trình liên tục.